@fayz-ai/sdk 0.8.4 → 0.9.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/agent.d.ts +46 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +1 -1
  4. package/dist/{chunk-CTQGNKJD.js → chunk-LSBVNW75.js} +2 -2
  5. package/dist/chunk-LSBVNW75.js.map +1 -0
  6. package/dist/{chunk-SKARZBEH.js → chunk-YZQW3BJA.js} +59 -59
  7. package/dist/{chunk-SKARZBEH.js.map → chunk-YZQW3BJA.js.map} +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/release-channels.js +1 -1
  12. package/dist/vite.js +1 -1
  13. package/dist/vite.js.map +1 -1
  14. package/package.json +15 -24
  15. package/src/agent.ts +49 -0
  16. package/src/index.ts +3 -0
  17. package/src/release-channels.json +57 -57
  18. package/src/vite.ts +1 -1
  19. package/dist/agent.cjs +0 -16
  20. package/dist/agent.cjs.map +0 -1
  21. package/dist/ai-builder.cjs +0 -20
  22. package/dist/ai-builder.cjs.map +0 -1
  23. package/dist/app-params.cjs +0 -16
  24. package/dist/app-params.cjs.map +0 -1
  25. package/dist/chunk-B6FHOO34.cjs +0 -63
  26. package/dist/chunk-B6FHOO34.cjs.map +0 -1
  27. package/dist/chunk-CTQGNKJD.js.map +0 -1
  28. package/dist/chunk-DAUDGR5N.cjs +0 -88
  29. package/dist/chunk-DAUDGR5N.cjs.map +0 -1
  30. package/dist/chunk-DK3ZA6NA.cjs +0 -139
  31. package/dist/chunk-DK3ZA6NA.cjs.map +0 -1
  32. package/dist/chunk-ENWSXKQE.cjs +0 -125
  33. package/dist/chunk-ENWSXKQE.cjs.map +0 -1
  34. package/dist/chunk-EUC3F4WH.cjs +0 -773
  35. package/dist/chunk-EUC3F4WH.cjs.map +0 -1
  36. package/dist/chunk-F547THSH.cjs +0 -142
  37. package/dist/chunk-F547THSH.cjs.map +0 -1
  38. package/dist/chunk-WMH7SIER.cjs +0 -140
  39. package/dist/chunk-WMH7SIER.cjs.map +0 -1
  40. package/dist/chunk-ZMHI2XGY.cjs +0 -68
  41. package/dist/chunk-ZMHI2XGY.cjs.map +0 -1
  42. package/dist/client.cjs +0 -22
  43. package/dist/client.cjs.map +0 -1
  44. package/dist/index.cjs +0 -103
  45. package/dist/index.cjs.map +0 -1
  46. package/dist/release-channels.cjs +0 -24
  47. package/dist/release-channels.cjs.map +0 -1
  48. package/dist/runtime.cjs +0 -16
  49. package/dist/runtime.cjs.map +0 -1
  50. package/dist/shop.cjs +0 -20
  51. package/dist/shop.cjs.map +0 -1
  52. package/dist/supported-surface.cjs +0 -24
  53. package/dist/supported-surface.cjs.map +0 -1
  54. package/dist/types.cjs +0 -4
  55. package/dist/types.cjs.map +0 -1
  56. package/dist/vite.cjs +0 -101
  57. package/dist/vite.cjs.map +0 -1
@@ -1,139 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkENWSXKQE_cjs = require('./chunk-ENWSXKQE.cjs');
4
- var chunkZMHI2XGY_cjs = require('./chunk-ZMHI2XGY.cjs');
5
-
6
- // src/client.ts
7
- var FayzApiError = class extends Error {
8
- constructor(message, status, responseBody) {
9
- super(message);
10
- this.status = status;
11
- this.responseBody = responseBody;
12
- this.name = "FayzApiError";
13
- }
14
- };
15
- function normalizeBaseUrl(baseUrl) {
16
- return baseUrl.replace(/\/+$/, "");
17
- }
18
- function apiPath(path) {
19
- if (/^https?:\/\//.test(path)) return path;
20
- const normalized = path.startsWith("/") ? path : `/${path}`;
21
- return normalized.startsWith("/api/") ? normalized : `/api${normalized}`;
22
- }
23
- async function parseResponse(response) {
24
- if (response.status === 204) return void 0;
25
- const text = await response.text();
26
- let body;
27
- try {
28
- body = text ? JSON.parse(text) : void 0;
29
- } catch {
30
- body = text;
31
- }
32
- if (!response.ok) {
33
- const message = typeof body === "object" && body ? String(body.message ?? body.error ?? `Fayz API request failed with status ${response.status}`) : `Fayz API request failed with status ${response.status}`;
34
- throw new FayzApiError(message, response.status, body);
35
- }
36
- return body;
37
- }
38
- async function resolveToken(token) {
39
- return typeof token === "function" ? token() : token;
40
- }
41
- function unwrapUser(body) {
42
- return typeof body === "object" && body && "user" in body ? body.user : body;
43
- }
44
- function tableRowsPath(options) {
45
- const route = tableRowsRoute(options);
46
- const params = new URLSearchParams();
47
- if (options.schema) params.set("schema", options.schema);
48
- if (options.filters?.length) params.set("filters", JSON.stringify(options.filters));
49
- if (options.sortColumn) params.set("sortColumn", options.sortColumn);
50
- if (options.sortDirection) params.set("sortDirection", options.sortDirection);
51
- if (options.page != null) params.set("page", String(options.page));
52
- if (options.limit != null) params.set("limit", String(options.limit));
53
- const query = params.toString();
54
- return query ? `${route}?${query}` : route;
55
- }
56
- function tableRowsRoute(options) {
57
- const projectId = encodeURIComponent(options.projectId ?? chunkZMHI2XGY_cjs.appParams.projectId ?? "current");
58
- const table = encodeURIComponent(options.table);
59
- return options.runtime ? `/api/v1/runtime/projects/${projectId}/database/tables/${table}/rows` : `/api/projects/${projectId}/database/tables/${table}/rows`;
60
- }
61
- function mutationRowsPath(options) {
62
- const route = tableRowsRoute(options);
63
- const params = new URLSearchParams();
64
- if (options.schema) params.set("schema", options.schema);
65
- const query = params.toString();
66
- return query ? `${route}?${query}` : route;
67
- }
68
- function createFayzClient(options = {}) {
69
- const baseUrl = normalizeBaseUrl(options.baseUrl ?? chunkZMHI2XGY_cjs.appParams.apiBaseUrl);
70
- const fetcher = options.fetcher ?? fetch;
71
- const appId = options.appId ?? chunkZMHI2XGY_cjs.appParams.appId;
72
- const token = options.token ?? chunkZMHI2XGY_cjs.appParams.token;
73
- async function request(path, init = {}) {
74
- const requestToken = init.token ?? await resolveToken(token);
75
- const headers = {
76
- ...init.body ? { "Content-Type": "application/json" } : {},
77
- ...appId ? { "X-App-Id": appId } : {},
78
- ...init.headers,
79
- ...requestToken ? { Authorization: `Bearer ${requestToken}` } : {}
80
- };
81
- const response = await fetcher(`${baseUrl}${apiPath(path)}`, {
82
- ...init,
83
- headers
84
- });
85
- return parseResponse(response);
86
- }
87
- return {
88
- request,
89
- auth: {
90
- async me() {
91
- return unwrapUser(await request("/auth/me"));
92
- }
93
- },
94
- data: {
95
- async listRows(options2) {
96
- return request(tableRowsPath(options2));
97
- },
98
- async countRows(options2) {
99
- const response = await request(tableRowsPath({
100
- ...options2,
101
- page: options2.page ?? 1,
102
- limit: 1
103
- }));
104
- return response.total;
105
- },
106
- async createRow(options2) {
107
- return request(mutationRowsPath(options2), {
108
- method: "POST",
109
- body: JSON.stringify(options2.row)
110
- });
111
- },
112
- async updateRow(options2) {
113
- return request(mutationRowsPath(options2), {
114
- method: "PATCH",
115
- body: JSON.stringify({
116
- primaryKeys: options2.primaryKeys,
117
- data: options2.row
118
- })
119
- });
120
- },
121
- async deleteRows(options2) {
122
- return request(mutationRowsPath(options2), {
123
- method: "DELETE",
124
- body: JSON.stringify({ rows: options2.rows })
125
- });
126
- }
127
- },
128
- runtime: {
129
- createClient: chunkENWSXKQE_cjs.createFayzRuntimeClient
130
- }
131
- };
132
- }
133
- var fayz = createFayzClient();
134
-
135
- exports.FayzApiError = FayzApiError;
136
- exports.createFayzClient = createFayzClient;
137
- exports.fayz = fayz;
138
- //# sourceMappingURL=chunk-DK3ZA6NA.cjs.map
139
- //# sourceMappingURL=chunk-DK3ZA6NA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client.ts"],"names":["appParams","options","createFayzRuntimeClient"],"mappings":"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","file":"chunk-DK3ZA6NA.cjs","sourcesContent":["import { appParams } from './app-params'\nimport { createFayzRuntimeClient } from './runtime'\nimport type { FayzAuthMeResponse, FayzUser } from './types'\n\nexport interface FayzClientOptions {\n baseUrl?: string\n token?: string | (() => string | undefined | Promise<string | undefined>)\n appId?: string\n fetcher?: typeof fetch\n}\n\nexport interface FayzRequestOptions extends Omit<RequestInit, 'headers'> {\n headers?: Record<string, string>\n token?: string\n}\n\nexport type FayzTableFilterOperator =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'lt'\n | 'gte'\n | 'lte'\n | 'like'\n | 'ilike'\n | 'is_null'\n | 'is_not_null'\n\nexport interface FayzTableFilter {\n column: string\n operator: FayzTableFilterOperator\n value?: unknown\n}\n\nexport interface FayzTableListOptions {\n projectId?: string\n table: string\n schema?: string\n filters?: FayzTableFilter[]\n sortColumn?: string\n sortDirection?: 'asc' | 'desc'\n page?: number\n limit?: number\n runtime?: boolean\n}\n\nexport interface FayzTableListResponse<T> {\n rows: T[]\n total: number\n}\n\nexport interface FayzTableMutationOptions {\n projectId?: string\n table: string\n schema?: string\n runtime?: boolean\n}\n\nexport interface FayzTableCreateOptions<T = Record<string, unknown>> extends FayzTableMutationOptions {\n row: T\n}\n\nexport interface FayzTableUpdateOptions<T = Record<string, unknown>> extends FayzTableMutationOptions {\n primaryKeys: Record<string, unknown>\n row: Partial<T>\n}\n\nexport interface FayzTableDeleteOptions extends FayzTableMutationOptions {\n rows: Record<string, unknown>[]\n}\n\nexport interface FayzTableDeleteResponse {\n deletedCount: number\n}\n\nexport class FayzApiError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly responseBody?: unknown,\n ) {\n super(message)\n this.name = 'FayzApiError'\n }\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.replace(/\\/+$/, '')\n}\n\nfunction apiPath(path: string): string {\n if (/^https?:\\/\\//.test(path)) return path\n const normalized = path.startsWith('/') ? path : `/${path}`\n return normalized.startsWith('/api/') ? normalized : `/api${normalized}`\n}\n\nasync function parseResponse<T>(response: Response): Promise<T> {\n if (response.status === 204) return undefined as T\n\n const text = await response.text()\n let body: unknown\n try {\n body = text ? JSON.parse(text) : undefined\n } catch {\n body = text\n }\n\n if (!response.ok) {\n const message = typeof body === 'object' && body\n ? String((body as { message?: unknown; error?: unknown }).message ?? (body as { error?: unknown }).error ?? `Fayz API request failed with status ${response.status}`)\n : `Fayz API request failed with status ${response.status}`\n throw new FayzApiError(message, response.status, body)\n }\n\n return body as T\n}\n\nasync function resolveToken(token: FayzClientOptions['token']): Promise<string | undefined> {\n return typeof token === 'function' ? token() : token\n}\n\nfunction unwrapUser(body: FayzUser | FayzAuthMeResponse): FayzUser {\n return typeof body === 'object' && body && 'user' in body\n ? (body as FayzAuthMeResponse).user\n : body as FayzUser\n}\n\nfunction tableRowsPath(options: FayzTableListOptions): string {\n const route = tableRowsRoute(options)\n const params = new URLSearchParams()\n\n if (options.schema) params.set('schema', options.schema)\n if (options.filters?.length) params.set('filters', JSON.stringify(options.filters))\n if (options.sortColumn) params.set('sortColumn', options.sortColumn)\n if (options.sortDirection) params.set('sortDirection', options.sortDirection)\n if (options.page != null) params.set('page', String(options.page))\n if (options.limit != null) params.set('limit', String(options.limit))\n\n const query = params.toString()\n return query ? `${route}?${query}` : route\n}\n\nfunction tableRowsRoute(options: FayzTableMutationOptions): string {\n const projectId = encodeURIComponent(options.projectId ?? appParams.projectId ?? 'current')\n const table = encodeURIComponent(options.table)\n return options.runtime\n ? `/api/v1/runtime/projects/${projectId}/database/tables/${table}/rows`\n : `/api/projects/${projectId}/database/tables/${table}/rows`\n}\n\nfunction mutationRowsPath(options: FayzTableMutationOptions): string {\n const route = tableRowsRoute(options)\n const params = new URLSearchParams()\n\n if (options.schema) params.set('schema', options.schema)\n\n const query = params.toString()\n return query ? `${route}?${query}` : route\n}\n\nexport function createFayzClient(options: FayzClientOptions = {}) {\n const baseUrl = normalizeBaseUrl(options.baseUrl ?? appParams.apiBaseUrl)\n const fetcher = options.fetcher ?? fetch\n const appId = options.appId ?? appParams.appId\n const token = options.token ?? appParams.token\n\n async function request<T>(path: string, init: FayzRequestOptions = {}): Promise<T> {\n const requestToken = init.token ?? await resolveToken(token)\n const headers: Record<string, string> = {\n ...(init.body ? { 'Content-Type': 'application/json' } : {}),\n ...(appId ? { 'X-App-Id': appId } : {}),\n ...init.headers,\n ...(requestToken ? { Authorization: `Bearer ${requestToken}` } : {}),\n }\n const response = await fetcher(`${baseUrl}${apiPath(path)}`, {\n ...init,\n headers,\n })\n return parseResponse<T>(response)\n }\n\n return {\n request,\n auth: {\n async me(): Promise<FayzUser> {\n return unwrapUser(await request<FayzUser | FayzAuthMeResponse>('/auth/me'))\n },\n },\n data: {\n async listRows<T = Record<string, unknown>>(options: FayzTableListOptions): Promise<FayzTableListResponse<T>> {\n return request<FayzTableListResponse<T>>(tableRowsPath(options))\n },\n async countRows(options: FayzTableListOptions): Promise<number> {\n const response = await request<FayzTableListResponse<unknown>>(tableRowsPath({\n ...options,\n page: options.page ?? 1,\n limit: 1,\n }))\n return response.total\n },\n async createRow<T = Record<string, unknown>>(options: FayzTableCreateOptions<Partial<T>>): Promise<T> {\n return request<T>(mutationRowsPath(options), {\n method: 'POST',\n body: JSON.stringify(options.row),\n })\n },\n async updateRow<T = Record<string, unknown>>(options: FayzTableUpdateOptions<T>): Promise<T> {\n return request<T>(mutationRowsPath(options), {\n method: 'PATCH',\n body: JSON.stringify({\n primaryKeys: options.primaryKeys,\n data: options.row,\n }),\n })\n },\n async deleteRows(options: FayzTableDeleteOptions): Promise<FayzTableDeleteResponse> {\n return request<FayzTableDeleteResponse>(mutationRowsPath(options), {\n method: 'DELETE',\n body: JSON.stringify({ rows: options.rows }),\n })\n },\n },\n runtime: {\n createClient: createFayzRuntimeClient,\n },\n }\n}\n\nexport const fayz = createFayzClient()\n"]}
@@ -1,125 +0,0 @@
1
- 'use strict';
2
-
3
- // src/runtime.ts
4
- var FayzRuntimeError = class extends Error {
5
- constructor(message, status, responseBody) {
6
- super(message);
7
- this.status = status;
8
- this.responseBody = responseBody;
9
- this.name = "FayzRuntimeError";
10
- }
11
- };
12
- function normalizeBaseUrl(baseUrl) {
13
- return baseUrl.replace(/\/+$/, "");
14
- }
15
- function assertRequired(value, field) {
16
- const normalized = value.trim();
17
- if (!normalized) throw new Error(`${field} is required`);
18
- return normalized;
19
- }
20
- function runtimePath(projectId, suffix) {
21
- return `/api/v1/runtime/projects/${encodeURIComponent(projectId)}${suffix}`;
22
- }
23
- function queryString(params) {
24
- const search = new URLSearchParams();
25
- for (const [key, value2] of Object.entries(params)) {
26
- if (value2 !== void 0 && value2 !== "") search.set(key, String(value2));
27
- }
28
- const value = search.toString();
29
- return value ? `?${value}` : "";
30
- }
31
- async function parseResponse(response) {
32
- if (response.status === 204) return void 0;
33
- const text = await response.text();
34
- let body;
35
- try {
36
- body = text ? JSON.parse(text) : void 0;
37
- } catch {
38
- body = text;
39
- }
40
- if (!response.ok) {
41
- const message = typeof body === "object" && body && "message" in body ? String(body.message) : `Fayz runtime request failed with status ${response.status}`;
42
- throw new FayzRuntimeError(message, response.status, body);
43
- }
44
- return body;
45
- }
46
- function createFayzRuntimeClient(options) {
47
- const baseUrl = normalizeBaseUrl(assertRequired(options.baseUrl, "baseUrl"));
48
- const projectId = assertRequired(options.projectId, "projectId");
49
- const runtimeToken = assertRequired(options.runtimeToken, "runtimeToken");
50
- const fetcher = options.fetcher ?? fetch;
51
- async function request(path, token, init = {}) {
52
- const response = await fetcher(`${baseUrl}${path}`, {
53
- ...init,
54
- headers: {
55
- ...init.body ? { "Content-Type": "application/json" } : {},
56
- ...init.headers,
57
- Authorization: `Bearer ${token}`
58
- }
59
- });
60
- return parseResponse(response);
61
- }
62
- async function exchangePluginOAuth(input) {
63
- return request(
64
- runtimePath(projectId, "/oauth/exchange"),
65
- runtimeToken,
66
- {
67
- method: "POST",
68
- body: JSON.stringify({
69
- pluginId: input.pluginId,
70
- environment: input.environment ?? "preview",
71
- ...input.scopes ? { scopes: input.scopes } : {}
72
- })
73
- }
74
- );
75
- }
76
- function googleCalendar(pluginOAuthToken) {
77
- const brokerToken = assertRequired(pluginOAuthToken, "pluginOAuthToken");
78
- const eventsPath = runtimePath(projectId, "/oauth/google-calendar/events");
79
- return {
80
- listEvents(input) {
81
- const calendarId = assertRequired(input.calendarId, "calendarId");
82
- return request(
83
- `${eventsPath}${queryString({
84
- calendarId,
85
- timeMin: input.timeMin,
86
- timeMax: input.timeMax,
87
- maxResults: input.maxResults,
88
- q: input.q
89
- })}`,
90
- brokerToken
91
- );
92
- },
93
- createEvent(calendarId, event) {
94
- return request(
95
- `${eventsPath}${queryString({ calendarId: assertRequired(calendarId, "calendarId") })}`,
96
- brokerToken,
97
- { method: "POST", body: JSON.stringify(event) }
98
- );
99
- },
100
- updateEvent(calendarId, eventId, updates) {
101
- return request(
102
- `${eventsPath}/${encodeURIComponent(assertRequired(eventId, "eventId"))}${queryString({ calendarId: assertRequired(calendarId, "calendarId") })}`,
103
- brokerToken,
104
- { method: "PATCH", body: JSON.stringify(updates) }
105
- );
106
- },
107
- deleteEvent(calendarId, eventId) {
108
- return request(
109
- `${eventsPath}/${encodeURIComponent(assertRequired(eventId, "eventId"))}${queryString({ calendarId: assertRequired(calendarId, "calendarId") })}`,
110
- brokerToken,
111
- { method: "DELETE" }
112
- );
113
- }
114
- };
115
- }
116
- return {
117
- exchangePluginOAuth,
118
- googleCalendar
119
- };
120
- }
121
-
122
- exports.FayzRuntimeError = FayzRuntimeError;
123
- exports.createFayzRuntimeClient = createFayzRuntimeClient;
124
- //# sourceMappingURL=chunk-ENWSXKQE.cjs.map
125
- //# sourceMappingURL=chunk-ENWSXKQE.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/runtime.ts"],"names":["value"],"mappings":"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","file":"chunk-ENWSXKQE.cjs","sourcesContent":["export interface FayzRuntimeClientOptions {\n baseUrl: string\n projectId: string\n runtimeToken: string\n fetcher?: typeof fetch\n}\n\nexport type FayzRuntimeEnvironment = 'preview' | 'production'\n\nexport interface PluginOAuthExchangeInput {\n pluginId: string\n environment?: FayzRuntimeEnvironment\n scopes?: string[]\n}\n\nexport interface RuntimePluginOAuthGrant {\n grantId: string\n provider: string\n scopes: string[]\n}\n\nexport interface PluginOAuthExchangeResponse {\n token: string\n tokenType: 'Bearer'\n expiresIn: number\n projectId: string\n tenantKey: string\n environment: FayzRuntimeEnvironment\n pluginId: string\n grants: RuntimePluginOAuthGrant[]\n}\n\nexport interface GoogleCalendarEventTime {\n dateTime: string\n timeZone?: string\n}\n\nexport interface GoogleCalendarEventInput {\n summary: string\n description?: string\n location?: string\n start: GoogleCalendarEventTime\n end: GoogleCalendarEventTime\n attendees?: Array<{ email: string }>\n}\n\nexport interface GoogleCalendarEvent {\n id: string\n summary?: string\n description?: string\n location?: string\n start: { dateTime?: string; date?: string; timeZone?: string }\n end: { dateTime?: string; date?: string; timeZone?: string }\n status?: string\n htmlLink?: string\n [key: string]: unknown\n}\n\nexport interface ListGoogleCalendarEventsInput {\n calendarId: string\n timeMin?: string\n timeMax?: string\n maxResults?: number\n q?: string\n}\n\nexport class FayzRuntimeError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly responseBody?: unknown,\n ) {\n super(message)\n this.name = 'FayzRuntimeError'\n }\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.replace(/\\/+$/, '')\n}\n\nfunction assertRequired(value: string, field: string): string {\n const normalized = value.trim()\n if (!normalized) throw new Error(`${field} is required`)\n return normalized\n}\n\nfunction runtimePath(projectId: string, suffix: string): string {\n return `/api/v1/runtime/projects/${encodeURIComponent(projectId)}${suffix}`\n}\n\nfunction queryString(params: Record<string, string | number | undefined>): string {\n const search = new URLSearchParams()\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== '') search.set(key, String(value))\n }\n const value = search.toString()\n return value ? `?${value}` : ''\n}\n\nasync function parseResponse<T>(response: Response): Promise<T> {\n if (response.status === 204) return undefined as T\n\n const text = await response.text()\n let body: unknown\n try {\n body = text ? JSON.parse(text) : undefined\n } catch {\n body = text\n }\n\n if (!response.ok) {\n const message = typeof body === 'object' && body && 'message' in body\n ? String((body as { message: unknown }).message)\n : `Fayz runtime request failed with status ${response.status}`\n throw new FayzRuntimeError(message, response.status, body)\n }\n\n return body as T\n}\n\nexport function createFayzRuntimeClient(options: FayzRuntimeClientOptions) {\n const baseUrl = normalizeBaseUrl(assertRequired(options.baseUrl, 'baseUrl'))\n const projectId = assertRequired(options.projectId, 'projectId')\n const runtimeToken = assertRequired(options.runtimeToken, 'runtimeToken')\n const fetcher = options.fetcher ?? fetch\n\n async function request<T>(\n path: string,\n token: string,\n init: Omit<RequestInit, 'headers'> & { headers?: Record<string, string> } = {},\n ): Promise<T> {\n const response = await fetcher(`${baseUrl}${path}`, {\n ...init,\n headers: {\n ...(init.body ? { 'Content-Type': 'application/json' } : {}),\n ...init.headers,\n Authorization: `Bearer ${token}`,\n },\n })\n return parseResponse<T>(response)\n }\n\n async function exchangePluginOAuth(input: PluginOAuthExchangeInput): Promise<PluginOAuthExchangeResponse> {\n return request<PluginOAuthExchangeResponse>(\n runtimePath(projectId, '/oauth/exchange'),\n runtimeToken,\n {\n method: 'POST',\n body: JSON.stringify({\n pluginId: input.pluginId,\n environment: input.environment ?? 'preview',\n ...(input.scopes ? { scopes: input.scopes } : {}),\n }),\n },\n )\n }\n\n function googleCalendar(pluginOAuthToken: string) {\n const brokerToken = assertRequired(pluginOAuthToken, 'pluginOAuthToken')\n const eventsPath = runtimePath(projectId, '/oauth/google-calendar/events')\n\n return {\n listEvents(input: ListGoogleCalendarEventsInput) {\n const calendarId = assertRequired(input.calendarId, 'calendarId')\n return request<{\n provider: 'google-calendar'\n calendarId: string\n timeMin: string\n timeMax: string\n events: GoogleCalendarEvent[]\n }>(\n `${eventsPath}${queryString({\n calendarId,\n timeMin: input.timeMin,\n timeMax: input.timeMax,\n maxResults: input.maxResults,\n q: input.q,\n })}`,\n brokerToken,\n )\n },\n createEvent(calendarId: string, event: GoogleCalendarEventInput) {\n return request<{ provider: 'google-calendar'; calendarId: string; event: GoogleCalendarEvent }>(\n `${eventsPath}${queryString({ calendarId: assertRequired(calendarId, 'calendarId') })}`,\n brokerToken,\n { method: 'POST', body: JSON.stringify(event) },\n )\n },\n updateEvent(calendarId: string, eventId: string, updates: Partial<GoogleCalendarEventInput>) {\n return request<{ provider: 'google-calendar'; calendarId: string; event: GoogleCalendarEvent }>(\n `${eventsPath}/${encodeURIComponent(assertRequired(eventId, 'eventId'))}${queryString({ calendarId: assertRequired(calendarId, 'calendarId') })}`,\n brokerToken,\n { method: 'PATCH', body: JSON.stringify(updates) },\n )\n },\n deleteEvent(calendarId: string, eventId: string) {\n return request<void>(\n `${eventsPath}/${encodeURIComponent(assertRequired(eventId, 'eventId'))}${queryString({ calendarId: assertRequired(calendarId, 'calendarId') })}`,\n brokerToken,\n { method: 'DELETE' },\n )\n },\n }\n }\n\n return {\n exchangePluginOAuth,\n googleCalendar,\n }\n}\n"]}