Server : LiteSpeed
System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64
User : saleoqej ( 6848)
PHP Version : 8.0.30
Disable Function : NONE
Directory :  /home/saleoqej/public_html/wp-content/plugins/extendify/src/Draft/api/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /home/saleoqej/public_html/wp-content/plugins/extendify/src/Draft/api/Data.js
import { __ } from '@wordpress/i18n';
import { AI_HOST } from '../../constants.js';

// Optionally add items to request body
const denyList = ['nonce', 'api'];
const extraBody = {
	...Object.fromEntries(
		Object.entries(window.extDraftData).filter(
			([key]) => !denyList.includes(key),
		),
	),
};

export const completion = async (prompt, promptType, systemMessageKey) => {
	const response = await fetch(`${AI_HOST}/api/draft/completion`, {
		method: 'POST',
		headers: { 'Content-Type': 'application/json' },
		body: JSON.stringify({
			prompt,
			promptType,
			systemMessageKey,
			...extraBody,
		}),
	});

	if (!response.ok) {
		if (response.status === 429) {
			throw new Error(__('Service temporarily unavailable', 'extendify-local'));
		}
		throw new Error(`Server error: ${response.status}`);
	}

	return response;
};