veryfront 0.1.564 → 0.1.566
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.
- package/esm/cli/shared/project-source-context.d.ts +1 -0
- package/esm/cli/shared/project-source-context.d.ts.map +1 -1
- package/esm/cli/shared/project-source-context.js +3 -2
- package/esm/cli/templates/manifest.js +2 -2
- package/esm/deno.js +1 -1
- package/esm/src/chat/conversation.d.ts.map +1 -1
- package/esm/src/chat/conversation.js +22 -0
- package/esm/src/chat/types.d.ts +1 -1
- package/esm/src/chat/types.d.ts.map +1 -1
- package/esm/src/integrations/_data.js +1 -1
- package/esm/src/jobs/index.d.ts +1 -1
- package/esm/src/jobs/index.d.ts.map +1 -1
- package/esm/src/jobs/jobs-client.d.ts +11 -6
- package/esm/src/jobs/jobs-client.d.ts.map +1 -1
- package/esm/src/jobs/jobs-client.js +8 -4
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ export interface ProjectSourceExecutionContext {
|
|
|
13
13
|
projectId?: string;
|
|
14
14
|
proxyContext?: ProxyProjectSourceContext;
|
|
15
15
|
}
|
|
16
|
+
export declare function getProxyProjectSourceContext(): ProxyProjectSourceContext | null;
|
|
16
17
|
export declare function withProjectSourceContext<T>(projectDir: string, run: (context: ProjectSourceExecutionContext) => Promise<T>): Promise<T>;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=project-source-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-source-context.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/project-source-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAErC,UAAU,yBAAyB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"project-source-context.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/project-source-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAErC,UAAU,yBAAyB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,wBAAgB,4BAA4B,IAAI,yBAAyB,GAAG,IAAI,CAkB/E;AAWD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,CAAC,CAAC,CAwCZ"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { getConfig } from "../../src/config/index.js";
|
|
2
2
|
import { enhanceAdapterWithFS, getEnv, isExtendedFSAdapter, runtime, } from "../../src/platform/index.js";
|
|
3
|
-
function getProxyProjectSourceContext() {
|
|
3
|
+
export function getProxyProjectSourceContext() {
|
|
4
4
|
const projectSlug = getEnv("VERYFRONT_PROJECT_SLUG")?.trim();
|
|
5
5
|
const token = getEnv("VERYFRONT_API_TOKEN")?.trim();
|
|
6
6
|
if (!projectSlug || !token) {
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
9
|
const projectId = getEnv("VERYFRONT_PROJECT_ID")?.trim();
|
|
10
|
-
const branchRef = getEnv("VERYFRONT_BRANCH_REF")?.trim()
|
|
10
|
+
const branchRef = getEnv("VERYFRONT_BRANCH_REF")?.trim() ||
|
|
11
|
+
getEnv("TENANT_BRANCH_ID")?.trim();
|
|
11
12
|
return {
|
|
12
13
|
projectSlug,
|
|
13
14
|
token,
|
|
@@ -197,12 +197,12 @@ export default {
|
|
|
197
197
|
".env.example": "# Atlassian OAuth credentials\n# Get these from: https://developer.atlassian.com/console/myapps/\nATLASSIAN_CLIENT_ID=your_client_id_here\nATLASSIAN_CLIENT_SECRET=your_client_secret_here\n",
|
|
198
198
|
"app/api/auth/confluence/callback/route.ts": "import { confluenceConfig, createOAuthCallbackHandler } from \"veryfront/oauth\";\nimport { tokenStore } from \"../../../../../lib/token-store.ts\";\nimport { oauthMemoryTokenStore } from \"../../../../../lib/oauth-memory-store.ts\";\n\nconst hybridTokenStore = {\n getTokens(serviceId: string, userId: string) {\n return tokenStore.getToken(userId, serviceId);\n },\n async setTokens(\n serviceId: string,\n userId: string,\n tokens: { accessToken: string; refreshToken?: string; expiresAt?: number },\n ) {\n await tokenStore.setToken(userId, serviceId, tokens);\n },\n async clearTokens(serviceId: string, userId: string) {\n await tokenStore.revokeToken(userId, serviceId);\n },\n setState(\n state: string,\n meta: {\n userId: string;\n serviceId: string;\n codeVerifier?: string;\n redirectUri?: string;\n scopes?: string[];\n createdAt: number;\n },\n ) {\n return oauthMemoryTokenStore.setState(state, meta);\n },\n consumeState(state: string) {\n return oauthMemoryTokenStore.consumeState(state);\n },\n};\n\nexport const GET = createOAuthCallbackHandler(confluenceConfig, { tokenStore: hybridTokenStore });\n",
|
|
199
199
|
"app/api/auth/confluence/route.ts": "import { confluenceConfig, createOAuthInitHandler } from \"veryfront/oauth\";\nimport { oauthMemoryTokenStore } from \"../../../../../lib/oauth-memory-store.ts\";\nimport { requireUserIdFromRequest } from \"../../../../../lib/user-id.ts\";\n\nfunction getUserId(request: Request): string {\n return requireUserIdFromRequest(request);\n}\n\nexport const GET = createOAuthInitHandler(confluenceConfig, {\n tokenStore: oauthMemoryTokenStore,\n getUserId,\n});",
|
|
200
|
-
"lib/confluence-client.ts": "import { getAccessToken, getCloudId } from \"./token-store.ts\";\n\nconst CONFLUENCE_API_BASE = \"https://api.atlassian.com/ex/confluence\";\n\ninterface ConfluenceResponse<T> {\n results: T[];\n size
|
|
200
|
+
"lib/confluence-client.ts": "import { getAccessToken, getCloudId } from \"./token-store.ts\";\n\nconst CONFLUENCE_API_BASE = \"https://api.atlassian.com/ex/confluence\";\n\ninterface ConfluenceResponse<T> {\n results: T[];\n size?: number;\n start?: number;\n limit?: number;\n _links?: {\n next?: string;\n base?: string;\n };\n}\n\nexport interface ConfluenceSpace {\n id: string;\n key: string;\n name: string;\n type: string;\n status: string;\n _links: {\n webui: string;\n };\n}\n\nexport type ConfluencePageType = \"page\" | \"blogpost\";\n\nexport interface ConfluencePage {\n id: string;\n type?: ConfluencePageType;\n status: string;\n title: string;\n spaceId?: string;\n parentId?: string;\n version: {\n number: number;\n message?: string;\n };\n body?: {\n storage?: {\n value: string;\n representation: \"storage\";\n };\n view?: {\n value: string;\n representation: \"view\";\n };\n };\n _links: {\n webui: string;\n tinyui?: string;\n };\n}\n\nexport interface ConfluenceSearchResult {\n content: {\n id: string;\n type: string;\n status: string;\n title: string;\n space?: {\n id: string;\n key: string;\n name: string;\n };\n history?: {\n lastUpdated: {\n when: string;\n };\n };\n _links: {\n webui: string;\n };\n };\n excerpt?: string;\n url: string;\n resultGlobalContainer?: {\n title: string;\n };\n}\n\nexport class ConfluenceApiError extends Error {\n constructor(public readonly status: number, message: string) {\n super(message);\n this.name = \"ConfluenceApiError\";\n }\n}\n\nasync function confluenceFetch<T>(endpoint: string, options: RequestInit = {}): Promise<T> {\n const [token, cloudId] = await Promise.all([getAccessToken(), getCloudId()]);\n\n if (!token || !cloudId) {\n throw new Error(\"Not authenticated with Confluence. Please connect your Atlassian account.\");\n }\n\n const url = `${CONFLUENCE_API_BASE}/${cloudId}${endpoint}`;\n\n const response = await fetch(url, {\n ...options,\n headers: {\n Authorization: `Bearer ${token}`,\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n ...options.headers,\n },\n });\n\n if (!response.ok) {\n const error = (await response.json().catch(() => ({}))) as { message?: string };\n throw new ConfluenceApiError(\n response.status,\n `Confluence API error: ${response.status} ${error.message ?? response.statusText}`,\n );\n }\n\n return response.json() as Promise<T>;\n}\n\nfunction buildEndpoint(path: string, params?: URLSearchParams): string {\n const query = params?.toString();\n return `${path}${query ? `?${query}` : \"\"}`;\n}\n\n// Uses Confluence v2 — v1 /wiki/rest/api/space is deprecated alongside /content.\nexport async function listSpaces(options?: {\n limit?: number;\n type?: \"global\" | \"personal\";\n}): Promise<ConfluenceSpace[]> {\n const params = new URLSearchParams();\n\n if (options?.limit) params.set(\"limit\", options.limit.toString());\n if (options?.type) params.set(\"type\", options.type);\n\n const response = await confluenceFetch<ConfluenceResponse<ConfluenceSpace>>(\n buildEndpoint(\"/wiki/api/v2/spaces\", params),\n );\n\n return response.results ?? [];\n}\n\n// Direct key lookup via v2 — avoids the v1 enumeration trap that capped at 250 spaces\n// and silently failed on enterprise tenancies with hundreds of spaces.\nasync function getSpaceIdByKey(spaceKey: string): Promise<string> {\n const params = new URLSearchParams();\n params.set(\"keys\", spaceKey);\n params.set(\"limit\", \"1\");\n\n const response = await confluenceFetch<ConfluenceResponse<ConfluenceSpace>>(\n buildEndpoint(\"/wiki/api/v2/spaces\", params),\n );\n\n const space = response.results?.[0];\n if (!space) {\n throw new Error(`Confluence space not found: ${spaceKey}`);\n }\n return space.id;\n}\n\nexport async function searchContent(\n query: string,\n options?: {\n cql?: string;\n limit?: number;\n spaceKey?: string;\n },\n): Promise<ConfluenceSearchResult[]> {\n const params = new URLSearchParams();\n\n let cqlQuery = options?.cql ?? `title ~ \"${query}\" OR text ~ \"${query}\"`;\n if (options?.spaceKey) cqlQuery += ` AND space = \"${options.spaceKey}\"`;\n\n params.set(\"cql\", cqlQuery);\n if (options?.limit) params.set(\"limit\", options.limit.toString());\n\n const response = await confluenceFetch<ConfluenceResponse<ConfluenceSearchResult>>(\n buildEndpoint(\"/wiki/rest/api/search\", params),\n );\n\n return response.results ?? [];\n}\n\n// v2 splits pages and blogposts into separate resources. Try /pages first;\n// fall back to /blogposts on 404 so search-content → get-page works for both\n// (searchContent returns mixed results and tools/get-page.ts has no type discriminator).\nexport async function getPage(pageId: string): Promise<ConfluencePage> {\n try {\n return await confluenceFetch<ConfluencePage>(\n `/wiki/api/v2/pages/${pageId}?body-format=storage`,\n );\n } catch (error) {\n if (error instanceof ConfluenceApiError && error.status === 404) {\n return await confluenceFetch<ConfluencePage>(\n `/wiki/api/v2/blogposts/${pageId}?body-format=storage`,\n );\n }\n throw error;\n }\n}\n\nexport function getPageContent(pageId: string): Promise<ConfluencePage> {\n return getPage(pageId);\n}\n\nexport async function createPage(options: {\n spaceKey: string;\n title: string;\n content: string;\n parentId?: string;\n type?: ConfluencePageType;\n}): Promise<ConfluencePage> {\n const spaceId = await getSpaceIdByKey(options.spaceKey);\n const type: ConfluencePageType = options.type ?? \"page\";\n\n const body: Record<string, unknown> = {\n spaceId,\n title: options.title,\n status: \"current\",\n body: {\n representation: \"storage\",\n value: options.content,\n },\n };\n\n if (type === \"blogpost\") {\n // v2 blogposts cannot have a parent — surface the user error instead of dropping it silently.\n if (options.parentId) {\n throw new Error(\"Confluence blogposts cannot have a parentId\");\n }\n return confluenceFetch<ConfluencePage>(\"/wiki/api/v2/blogposts\", {\n method: \"POST\",\n body: JSON.stringify(body),\n });\n }\n\n if (options.parentId) body.parentId = options.parentId;\n\n return confluenceFetch<ConfluencePage>(\"/wiki/api/v2/pages\", {\n method: \"POST\",\n body: JSON.stringify(body),\n });\n}\n\n// v2 PUT /pages/{id} is a full replace, not PATCH — title and body are both required.\n// Callers must resolve fallbacks (e.g. from a prior getPage) before invoking this.\n// Mirrors getPage's pages-then-blogposts fallback so update-page works on either resource\n// (createPage with type='blogpost' returns a blogpost id that this must accept).\nexport async function updatePage(\n pageId: string,\n options: {\n title: string;\n content: string;\n version: number;\n versionMessage?: string;\n },\n): Promise<ConfluencePage> {\n const body = {\n id: pageId,\n status: \"current\",\n title: options.title,\n body: {\n representation: \"storage\",\n value: options.content,\n },\n version: {\n number: options.version,\n message: options.versionMessage,\n },\n };\n\n const init: RequestInit = {\n method: \"PUT\",\n body: JSON.stringify(body),\n };\n\n try {\n return await confluenceFetch<ConfluencePage>(`/wiki/api/v2/pages/${pageId}`, init);\n } catch (error) {\n if (error instanceof ConfluenceApiError && error.status === 404) {\n return await confluenceFetch<ConfluencePage>(`/wiki/api/v2/blogposts/${pageId}`, init);\n }\n throw error;\n }\n}\n\nexport function extractPlainText(storageHtml: string): string {\n return storageHtml\n .replace(/<[^>]*>/g, \" \")\n .replace(/ /g, \" \")\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/"/g, '\"')\n .replace(/'/g, \"'\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\nexport function formatAsStorage(text: string): string {\n const paragraphs = text.split(\"\\n\\n\").filter((p) => p.trim());\n return paragraphs.map((p) => `<p>${escapeHtml(p.trim())}</p>`).join(\"\\n\");\n}\n\nfunction escapeHtml(text: string): string {\n return text\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n",
|
|
201
201
|
"tools/create-page.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { createPage, formatAsStorage } from \"../../lib/confluence-client.ts\";\n\nexport default tool({\n id: \"create-page\",\n description:\n \"Create a new page in a Confluence space. Can optionally be created as a child of an existing page.\",\n inputSchema: defineSchema((v) => v.object({\n spaceKey: v\n .string()\n .describe('The key of the space to create the page in (e.g., \"TEAM\", \"DEV\")'),\n title: v.string().describe(\"Title of the new page\"),\n content: v\n .string()\n .describe(\n \"Content for the page (can be plain text or Confluence storage format HTML)\",\n ),\n parentId: v\n .string()\n .optional()\n .describe(\"Optional ID of the parent page to create this as a child page\"),\n type: v\n .enum([\"page\", \"blogpost\"])\n .default(\"page\")\n .describe(\"Type of content to create\"),\n }))(),\n async execute({ spaceKey, title, content, parentId, type }) {\n const trimmedContent = content.trim();\n const storageContent = trimmedContent.startsWith(\"<\")\n ? trimmedContent\n : formatAsStorage(trimmedContent);\n\n const page = await createPage({\n spaceKey,\n title,\n content: storageContent,\n parentId,\n type,\n });\n\n return {\n id: page.id,\n title: page.title,\n type: page.type ?? \"page\",\n url: page._links.webui,\n version: page.version.number,\n spaceId: page.spaceId,\n };\n },\n});\n",
|
|
202
202
|
"tools/get-page.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { extractPlainText, getPageContent } from \"../../lib/confluence-client.ts\";\n\nexport default tool({\n id: \"get-page\",\n description:\n \"Get the content of a specific Confluence page. Returns the page title, content, and metadata.\",\n inputSchema: defineSchema((v) => v.object({\n pageId: v.string().describe(\"The ID of the Confluence page to retrieve\"),\n }))(),\n async execute({ pageId }) {\n const page = await getPageContent(pageId);\n\n const htmlContent = page.body?.storage?.value ?? page.body?.view?.value ?? \"\";\n const content = extractPlainText(htmlContent);\n\n return {\n id: page.id,\n type: page.type ?? \"page\",\n title: page.title,\n content,\n htmlContent,\n version: page.version.number,\n url: page._links.webui,\n spaceId: page.spaceId,\n parentId: page.parentId,\n };\n },\n});\n",
|
|
203
203
|
"tools/list-spaces.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { listSpaces } from \"../../lib/confluence-client.ts\";\n\nexport default tool({\n id: \"list-spaces\",\n description: \"List all accessible Confluence spaces. Returns space keys, names, and links.\",\n inputSchema: defineSchema((v) => v.object({\n type: v\n .enum([\"global\", \"personal\", \"all\"])\n .default(\"all\")\n .describe(\"Type of spaces to list (global, personal, or all)\"),\n limit: v\n .number()\n .min(1)\n .max(100)\n .default(25)\n .describe(\"Maximum number of spaces to return\"),\n }))(),\n async execute({ type, limit }) {\n const spaces = await listSpaces({\n type: type === \"all\" ? undefined : type,\n limit,\n });\n\n return spaces.map(({ id, key, name, type, status, _links }) => ({\n id,\n key,\n name,\n type,\n status,\n url: _links.webui,\n }));\n },\n});\n",
|
|
204
204
|
"tools/search-content.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { searchContent } from \"../../lib/confluence-client.ts\";\n\nexport default tool({\n id: \"search-content\",\n description:\n \"Search for pages and blog posts in Confluence. Returns matching content with titles, excerpts, and links.\",\n inputSchema: defineSchema((v) => v.object({\n query: v.string().describe(\"Search query to find pages or blog posts\"),\n spaceKey: v\n .string()\n .optional()\n .describe(\"Optional space key to limit search to a specific space\"),\n limit: v\n .number()\n .min(1)\n .max(50)\n .default(10)\n .describe(\"Maximum number of results to return\"),\n }))(),\n async execute({ query, spaceKey, limit }) {\n const results = await searchContent(query, { spaceKey, limit });\n\n return results.map((result) => {\n const { content, excerpt, url } = result;\n const space = content.space;\n\n return {\n id: content.id,\n type: content.type,\n title: content.title,\n excerpt,\n url,\n space: space\n ? {\n id: space.id,\n key: space.key,\n name: space.name,\n }\n : undefined,\n lastUpdated: content.history?.lastUpdated.when,\n };\n });\n },\n});\n",
|
|
205
|
-
"tools/update-page.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { formatAsStorage, getPage, updatePage } from \"../../lib/confluence-client.ts\";\n\nfunction toStorageContent(content?: string): string | undefined {\n if (!content) return undefined;\n\n const trimmed = content.trim();\n if (trimmed.startsWith(\"<\")) return content;\n\n return formatAsStorage(content);\n}\n\nexport default tool({\n id: \"update-page\",\n description:\n \"Update the content or title of an existing Confluence page. Requires the current version number.\",\n inputSchema: defineSchema((v) => v.object({\n pageId: v.string().describe(\"The ID of the page to update\"),\n title: v\n .string()\n .optional()\n .describe(\"New title for the page (leave empty to keep current title)\"),\n content: v\n .string()\n .optional()\n .describe(\"New content for the page (can be plain text or Confluence storage format HTML)\"),\n versionMessage: v\n .string()\n .optional()\n .describe(\"Optional message describing the changes made\"),\n }))(),\n async execute({ pageId, title, content, versionMessage }) {\n const currentPage = await getPage(pageId
|
|
205
|
+
"tools/update-page.ts": "import { tool } from \"veryfront/tool\";\nimport { defineSchema } from \"veryfront/schemas\";\nimport { formatAsStorage, getPage, updatePage } from \"../../lib/confluence-client.ts\";\n\nfunction toStorageContent(content?: string): string | undefined {\n if (!content || !content.trim()) return undefined;\n\n const trimmed = content.trim();\n if (trimmed.startsWith(\"<\")) return content;\n\n return formatAsStorage(content);\n}\n\nfunction nonEmpty(value: string | undefined): string | undefined {\n return value && value.trim() ? value : undefined;\n}\n\nexport default tool({\n id: \"update-page\",\n description:\n \"Update the content or title of an existing Confluence page. Requires the current version number.\",\n inputSchema: defineSchema((v) => v.object({\n pageId: v.string().describe(\"The ID of the page to update\"),\n title: v\n .string()\n .optional()\n .describe(\"New title for the page (leave empty to keep current title)\"),\n content: v\n .string()\n .optional()\n .describe(\"New content for the page (can be plain text or Confluence storage format HTML)\"),\n versionMessage: v\n .string()\n .optional()\n .describe(\"Optional message describing the changes made\"),\n }))(),\n async execute({ pageId, title, content, versionMessage }) {\n // v2 PUT /pages/{id} is a full replace — both title and body must be sent on every\n // update. Resolve missing fields from the current page so partial updates work.\n // The schema describes empty values as \"keep current\", so treat empty/whitespace\n // strings as unset (??-fallback would otherwise let \"\" overwrite a real title).\n const currentPage = await getPage(pageId);\n const storageContent = toStorageContent(content);\n const currentBody = currentPage.body?.storage?.value ?? \"\";\n\n const updatedPage = await updatePage(pageId, {\n title: nonEmpty(title) ?? currentPage.title,\n content: storageContent ?? currentBody,\n version: currentPage.version.number + 1,\n versionMessage,\n });\n\n return {\n id: updatedPage.id,\n title: updatedPage.title,\n type: updatedPage.type ?? \"page\",\n url: updatedPage._links.webui,\n version: updatedPage.version.number,\n versionMessage: updatedPage.version.message,\n };\n },\n});\n"
|
|
206
206
|
}
|
|
207
207
|
},
|
|
208
208
|
"integration:discord": {
|
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/src/chat/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/src/chat/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -677,6 +677,26 @@ function convertAssistantMessage(message) {
|
|
|
677
677
|
flushAssistantMessage(deferredAssistantContent);
|
|
678
678
|
return messages;
|
|
679
679
|
}
|
|
680
|
+
function convertToolMessage(message) {
|
|
681
|
+
const rawToolNameMap = buildRawToolNameMap(message.parts);
|
|
682
|
+
const toolResults = [];
|
|
683
|
+
for (const part of message.parts) {
|
|
684
|
+
const rawResult = getRawToolResultPart(part);
|
|
685
|
+
if (!rawResult) {
|
|
686
|
+
continue;
|
|
687
|
+
}
|
|
688
|
+
toolResults.push({
|
|
689
|
+
type: "tool-result",
|
|
690
|
+
toolCallId: rawResult.toolCallId,
|
|
691
|
+
toolName: rawResult.toolName ?? rawToolNameMap.get(rawResult.toolCallId) ?? "unknown",
|
|
692
|
+
output: rawResult.output,
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
if (toolResults.length === 0) {
|
|
696
|
+
return [];
|
|
697
|
+
}
|
|
698
|
+
return [{ role: "tool", content: toolResults }];
|
|
699
|
+
}
|
|
680
700
|
/** Convert UI messages to provider model messages. */
|
|
681
701
|
export function convertUiMessagesToProviderModelMessages(messages) {
|
|
682
702
|
return messages.flatMap((message) => {
|
|
@@ -687,6 +707,8 @@ export function convertUiMessagesToProviderModelMessages(messages) {
|
|
|
687
707
|
return convertUserMessage(message);
|
|
688
708
|
case "assistant":
|
|
689
709
|
return convertAssistantMessage(message);
|
|
710
|
+
case "tool":
|
|
711
|
+
return convertToolMessage(message);
|
|
690
712
|
default:
|
|
691
713
|
return [];
|
|
692
714
|
}
|
package/esm/src/chat/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const textFileExtensions: readonly [".txt", ".md", ".json", ".xml
|
|
|
5
5
|
/** Image media types that chat uploads can display natively. */
|
|
6
6
|
export declare const imageFileTypes: readonly ["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp", "image/bmp", "image/tiff"];
|
|
7
7
|
/** Public API contract for chat UI message role. */
|
|
8
|
-
export type ChatUiMessageRole = "system" | "user" | "assistant";
|
|
8
|
+
export type ChatUiMessageRole = "system" | "user" | "assistant" | "tool";
|
|
9
9
|
/** Public API contract for chat text UI part. */
|
|
10
10
|
export type ChatTextUiPart = {
|
|
11
11
|
type: "text";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAC;AAuClF,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB,gSAA0D,CAAC;AAE1F,gEAAgE;AAChE,eAAO,MAAM,cAAc,yGAQjB,CAAC;AAMX,oDAAoD;AACpD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/chat/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export const connectors = [
|
|
|
33
33
|
{ "name": "snowflake", "displayName": "Snowflake", "icon": "snowflake.svg", "description": "Query and manage your Snowflake data warehouse with SQL operations across databases, schemas, and tables", "auth": { "type": "api-key", "requiredApis": [{ "name": "Snowflake Account", "enableUrl": "https://app.snowflake.com/" }] }, "envVars": [{ "name": "SNOWFLAKE_ACCOUNT", "description": "Your Snowflake account identifier (e.g., xy12345.us-east-1)", "required": true, "sensitive": false, "docsUrl": "https://docs.snowflake.com/en/user-guide/admin-account-identifier" }, { "name": "SNOWFLAKE_USERNAME", "description": "Snowflake username for authentication", "required": true, "sensitive": false, "docsUrl": "https://docs.snowflake.com/en/user-guide/admin-user-management" }, { "name": "SNOWFLAKE_PASSWORD", "description": "Snowflake password for authentication", "required": true, "sensitive": true, "docsUrl": "https://docs.snowflake.com/en/user-guide/admin-user-management" }, { "name": "SNOWFLAKE_WAREHOUSE", "description": "Default warehouse to use for queries (e.g., COMPUTE_WH)", "required": true, "sensitive": false, "docsUrl": "https://docs.snowflake.com/en/user-guide/warehouses" }, { "name": "SNOWFLAKE_DATABASE", "description": "Default database to use for queries", "required": false, "sensitive": false, "docsUrl": "https://docs.snowflake.com/en/user-guide/databases" }, { "name": "SNOWFLAKE_SCHEMA", "description": "Default schema to use for queries (defaults to PUBLIC)", "required": false, "sensitive": false, "docsUrl": "https://docs.snowflake.com/en/user-guide/schemas" }], "tools": [{ "id": "run_query", "name": "Run Query", "description": "Execute a SQL query against your Snowflake data warehouse", "requiresWrite": false }, { "id": "list_databases", "name": "List Databases", "description": "List all databases in your Snowflake account", "requiresWrite": false }, { "id": "list_schemas", "name": "List Schemas", "description": "List all schemas in a Snowflake database", "requiresWrite": false }, { "id": "list_tables", "name": "List Tables", "description": "List all tables in a Snowflake database schema", "requiresWrite": false }, { "id": "describe_table", "name": "Describe Table", "description": "Get detailed column information for a specific table", "requiresWrite": false }], "prompts": [{ "id": "query_data", "title": "Query my data warehouse", "prompt": "Help me query data from my Snowflake data warehouse. Show me specific records or analyze patterns.", "category": "data", "icon": "search" }, { "id": "analyze_tables", "title": "Analyze table structure", "prompt": "Show me the structure of tables in my Snowflake database and help me understand the schema.", "category": "data", "icon": "database" }, { "id": "data_insights", "title": "Generate insights", "prompt": "Analyze my Snowflake data and generate insights about trends, patterns, and anomalies.", "category": "analytics", "icon": "chart" }, { "id": "optimize_queries", "title": "Optimize queries", "prompt": "Help me optimize my SQL queries for better performance in Snowflake.", "category": "analytics", "icon": "lightning" }], "suggestedWith": ["github", "slack", "notion"] },
|
|
34
34
|
{ "name": "stripe", "displayName": "Stripe", "icon": "stripe.svg", "description": "Access Stripe payment data, customers, subscriptions, and balance information", "auth": { "type": "api-key", "requiredApis": [{ "name": "Stripe API", "enableUrl": "https://dashboard.stripe.com/apikeys" }], "keyName": "STRIPE_SECRET_KEY", "headerName": "Authorization", "headerPrefix": "Bearer" }, "envVars": [{ "name": "STRIPE_SECRET_KEY", "description": "Stripe Secret Key (starts with sk_)", "required": true, "sensitive": true, "docsUrl": "https://dashboard.stripe.com/apikeys" }, { "name": "STRIPE_WEBHOOK_SECRET", "description": "Stripe Webhook Secret (optional, for webhook verification)", "required": false, "sensitive": true, "docsUrl": "https://dashboard.stripe.com/webhooks" }], "tools": [{ "id": "list_customers", "name": "List Customers", "description": "List Stripe customers with optional filtering", "requiresWrite": false }, { "id": "get_customer", "name": "Get Customer", "description": "Retrieve detailed information about a specific customer", "requiresWrite": false }, { "id": "list_payments", "name": "List Payments", "description": "List payment intents with optional status filtering", "requiresWrite": false }, { "id": "get_balance", "name": "Get Balance", "description": "Retrieve the current account balance", "requiresWrite": false }, { "id": "list_subscriptions", "name": "List Subscriptions", "description": "List subscriptions with optional status filtering", "requiresWrite": false }], "prompts": [{ "id": "check_balance", "title": "Check account balance", "prompt": "Check my Stripe account balance and provide a summary of available and pending funds.", "category": "finance", "icon": "currency" }, { "id": "recent_payments", "title": "Recent payments", "prompt": "Show me the most recent successful payments in my Stripe account.", "category": "finance", "icon": "payment" }, { "id": "customer_overview", "title": "Customer overview", "prompt": "Give me an overview of my Stripe customers including total count and recent additions.", "category": "analytics", "icon": "users" }, { "id": "subscription_status", "title": "Subscription status", "prompt": "Show me the status of all active subscriptions and any that are expiring soon.", "category": "analytics", "icon": "repeat" }], "suggestedWith": ["slack", "email", "analytics"] },
|
|
35
35
|
{ "name": "supabase", "displayName": "Supabase", "icon": "supabase.svg", "description": "Query and manage your Supabase database with full CRUD operations", "auth": { "type": "api-key", "requiredApis": [{ "name": "Supabase Project", "enableUrl": "https://supabase.com/dashboard/projects" }] }, "envVars": [{ "name": "SUPABASE_URL", "description": "Your Supabase project URL (e.g., https://xxxxx.supabase.co)", "required": true, "sensitive": false, "docsUrl": "https://supabase.com/docs/guides/api#api-url-and-keys" }, { "name": "SUPABASE_ANON_KEY", "description": "Supabase anonymous/public API key for client-side operations", "required": true, "sensitive": true, "docsUrl": "https://supabase.com/docs/guides/api#api-url-and-keys" }, { "name": "SUPABASE_SERVICE_KEY", "description": "Supabase service role key for server-side operations (bypasses RLS)", "required": true, "sensitive": true, "docsUrl": "https://supabase.com/docs/guides/api#api-url-and-keys" }], "tools": [{ "id": "list_tables", "name": "List Tables", "description": "List all tables in your Supabase database", "requiresWrite": false }, { "id": "query_table", "name": "Query Table", "description": "Select rows from a table with optional filters and sorting", "requiresWrite": false }, { "id": "insert_row", "name": "Insert Row", "description": "Insert a new row into a table", "requiresWrite": true }, { "id": "update_row", "name": "Update Row", "description": "Update an existing row in a table", "requiresWrite": true }, { "id": "delete_row", "name": "Delete Row", "description": "Delete a row from a table", "requiresWrite": true }], "prompts": [{ "id": "query_data", "title": "Query my database", "prompt": "Help me query data from my Supabase database. Show me specific records or analyze patterns.", "category": "data", "icon": "search" }, { "id": "create_record", "title": "Create a record", "prompt": "Create a new record in my Supabase database with the information I provide.", "category": "data", "icon": "plus" }, { "id": "update_records", "title": "Update records", "prompt": "Find and update records in my Supabase database based on specific criteria.", "category": "data", "icon": "edit" }, { "id": "database_stats", "title": "Database statistics", "prompt": "Show me statistics and insights about my Supabase database tables and data.", "category": "analytics", "icon": "chart" }], "suggestedWith": ["github", "slack", "linear"] },
|
|
36
|
-
{ "name": "teams", "displayName": "Microsoft Teams", "icon": "teams.svg", "description": "Send messages and manage Teams chats and channels", "auth": { "type": "oauth2", "provider": "microsoft", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", "tokenUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/token", "scopes": ["Chat.Read", "Chat.ReadWrite", "ChannelMessage.Send", "Channel.ReadBasic.All", "Team.ReadBasic.All", "offline_access"], "tokenAuthMethod": "body", "requiredApis": [{ "name": "Microsoft Graph API", "enableUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }] }, "envVars": [{ "name": "MICROSOFT_CLIENT_ID", "description": "Microsoft Azure App Client ID (Application ID)", "required": true, "sensitive": false, "docsUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }, { "name": "MICROSOFT_CLIENT_SECRET", "description": "Microsoft Azure App Client Secret", "required": true, "sensitive": true, "docsUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }], "tools": [{ "id": "list_chats", "name": "List Chats", "description": "List recent Teams chats", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/me/chats", "params": { "$top": { "type": "number", "in": "query", "description": "Maximum chats to return", "default": 50 } }, "response": { "transform": "value" } } }, { "id": "get_messages", "name": "Get Messages", "description": "Get messages from a specific chat", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages", "params": { "chatId": { "type": "string", "in": "path", "description": "Microsoft Teams chat ID", "required": true }, "$top": { "type": "number", "in": "query", "description": "Maximum messages to return", "default": 50 } }, "response": { "transform": "value" } } }, { "id": "send_message", "name": "Send Message", "description": "Send a message to a
|
|
36
|
+
{ "name": "teams", "displayName": "Microsoft Teams", "icon": "teams.svg", "description": "Send messages and manage Teams chats and channels", "auth": { "type": "oauth2", "provider": "microsoft", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", "tokenUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/token", "scopes": ["Chat.Read", "Chat.ReadWrite", "ChannelMessage.Send", "Channel.ReadBasic.All", "Team.ReadBasic.All", "offline_access"], "tokenAuthMethod": "body", "requiredApis": [{ "name": "Microsoft Graph API", "enableUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }] }, "envVars": [{ "name": "MICROSOFT_CLIENT_ID", "description": "Microsoft Azure App Client ID (Application ID)", "required": true, "sensitive": false, "docsUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }, { "name": "MICROSOFT_CLIENT_SECRET", "description": "Microsoft Azure App Client Secret", "required": true, "sensitive": true, "docsUrl": "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" }], "tools": [{ "id": "list_chats", "name": "List Chats", "description": "List recent Teams chats", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/me/chats", "params": { "$top": { "type": "number", "in": "query", "description": "Maximum chats to return", "default": 50 } }, "response": { "transform": "value" } } }, { "id": "get_messages", "name": "Get Messages", "description": "Get messages from a specific chat", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages", "params": { "chatId": { "type": "string", "in": "path", "description": "Microsoft Teams chat ID", "required": true }, "$top": { "type": "number", "in": "query", "description": "Maximum messages to return", "default": 50 } }, "response": { "transform": "value" } } }, { "id": "send_message", "name": "Send Channel Message", "description": "Send a message to a Teams channel", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/messages", "params": { "teamId": { "type": "string", "in": "path", "description": "Microsoft Teams team ID", "required": true }, "channelId": { "type": "string", "in": "path", "description": "Microsoft Teams channel ID", "required": true } }, "body": { "body": { "type": "object", "description": "Message body object with contentType ('text' or 'html') and content fields", "required": true } } } }, { "id": "send_chat_message", "name": "Send Chat Message", "description": "Send a message to a Teams 1:1 or group chat", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages", "params": { "chatId": { "type": "string", "in": "path", "description": "Teams chat ID (from list_chats)", "required": true } }, "body": { "body": { "type": "object", "description": "Message body object with contentType ('text' or 'html') and content fields", "required": true } } } }, { "id": "list_teams", "name": "List Teams", "description": "List all joined Teams", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/me/joinedTeams", "params": { "$top": { "type": "number", "in": "query", "description": "Maximum teams to return", "default": 50 } }, "response": { "transform": "value" } } }, { "id": "list_channels", "name": "List Channels", "description": "List channels in a specific Team", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels", "params": { "teamId": { "type": "string", "in": "path", "description": "Microsoft Teams team ID", "required": true } }, "response": { "transform": "value" } } }], "prompts": [{ "id": "check_messages", "title": "Check my messages", "prompt": "Check my recent Teams messages and summarize any important conversations or action items.", "category": "communication", "icon": "message" }, { "id": "send_update", "title": "Send team update", "prompt": "Send a status update message to a specific Teams channel about project progress.", "category": "communication", "icon": "send" }, { "id": "find_conversation", "title": "Find a conversation", "prompt": "Search through my Teams chats to find discussions about a specific topic.", "category": "communication", "icon": "search" }], "suggestedWith": ["outlook", "slack", "calendar"] },
|
|
37
37
|
{ "name": "trello", "displayName": "Trello", "icon": "trello.svg", "description": "Manage boards, lists, and cards in Trello", "auth": { "type": "oauth2", "provider": "trello", "authorizationUrl": "https://trello.com/1/authorize", "tokenUrl": "https://trello.com/1/OAuthGetAccessToken", "scopes": ["read", "write"], "requiredApis": [{ "name": "Trello Developer Portal", "enableUrl": "https://trello.com/app-key" }] }, "envVars": [{ "name": "TRELLO_CLIENT_ID", "description": "Trello API Key", "required": true, "sensitive": false, "docsUrl": "https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/" }, { "name": "TRELLO_CLIENT_SECRET", "description": "Trello OAuth Secret", "required": true, "sensitive": true, "docsUrl": "https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/" }], "tools": [{ "id": "list_boards", "name": "List Boards", "description": "List all boards accessible to the user", "requiresWrite": false }, { "id": "list_cards", "name": "List Cards", "description": "List cards in a board or list", "requiresWrite": false }, { "id": "get_card", "name": "Get Card", "description": "Get details of a specific card", "requiresWrite": false }, { "id": "create_card", "name": "Create Card", "description": "Create a new card in a list", "requiresWrite": true }, { "id": "update_card", "name": "Update Card", "description": "Update an existing card", "requiresWrite": true }], "prompts": [{ "id": "my_boards", "title": "Show my boards", "prompt": "List all my Trello boards with their lists and card counts.", "category": "productivity", "icon": "grid" }, { "id": "create_card", "title": "Create a card", "prompt": "Create a new card with a title, description, and due date.", "category": "productivity", "icon": "plus" }], "suggestedWith": ["slack", "asana", "notion"] },
|
|
38
38
|
{ "name": "twilio", "displayName": "Twilio", "icon": "twilio.svg", "description": "Send SMS, WhatsApp messages, make calls, and manage communications with Twilio", "auth": { "type": "api-key", "requiredApis": [{ "name": "Twilio API", "enableUrl": "https://console.twilio.com/us1/develop/sms/overview" }], "keyName": "TWILIO_AUTH_TOKEN", "headerName": "Authorization", "headerPrefix": "Basic" }, "envVars": [{ "name": "TWILIO_ACCOUNT_SID", "description": "Twilio Account SID (starts with AC)", "required": true, "sensitive": false, "docsUrl": "https://console.twilio.com/" }, { "name": "TWILIO_AUTH_TOKEN", "description": "Twilio Auth Token", "required": true, "sensitive": true, "docsUrl": "https://console.twilio.com/" }, { "name": "TWILIO_PHONE_NUMBER", "description": "Your Twilio phone number (E.164 format: +1234567890)", "required": true, "sensitive": false, "docsUrl": "https://console.twilio.com/us1/develop/phone-numbers/manage/incoming" }], "tools": [{ "id": "send_sms", "name": "Send SMS", "description": "Send an SMS text message to a phone number", "requiresWrite": true }, { "id": "send_whatsapp", "name": "Send WhatsApp Message", "description": "Send a WhatsApp message to a phone number", "requiresWrite": true }, { "id": "list_messages", "name": "List Messages", "description": "List recent SMS and WhatsApp messages", "requiresWrite": false }, { "id": "get_message", "name": "Get Message", "description": "Get details about a specific message", "requiresWrite": false }, { "id": "list_calls", "name": "List Calls", "description": "List recent phone calls", "requiresWrite": false }], "prompts": [{ "id": "send_notification", "title": "Send SMS notification", "prompt": "Help me send an SMS notification to a customer about their order status.", "category": "communication", "icon": "message" }, { "id": "check_messages", "title": "Check recent messages", "prompt": "Show me the most recent SMS and WhatsApp messages from the last 24 hours.", "category": "communication", "icon": "inbox" }, { "id": "call_summary", "title": "Call summary", "prompt": "Give me a summary of recent calls including duration and status.", "category": "analytics", "icon": "phone" }, { "id": "whatsapp_outreach", "title": "WhatsApp outreach", "prompt": "Help me draft and send a WhatsApp message for customer outreach.", "category": "communication", "icon": "message" }], "suggestedWith": ["slack", "gmail", "calendar"] },
|
|
39
39
|
];
|
package/esm/src/jobs/index.d.ts
CHANGED
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
import "../../_dnt.polyfills.js";
|
|
31
|
-
export { type CreateCronJobInput, type CreateJobInput, createJobsClient, type KnowledgeIngestByUploadIdsInput, type KnowledgeIngestByUploadPathsInput, type KnowledgeIngestByUploadPrefixInput, type KnowledgeIngestJobOptions, type ListBatchJobsOptions, type ListCronJobsOptions, type ListJobEventsOptions, type ListJobsOptions, type ProjectScopedOptions, type UpdateCronJobInput, VeryfrontJobsClient, type VeryfrontJobsClientConfig, } from "./jobs-client.js";
|
|
31
|
+
export { type CreateCronJobInput, type CreateJobInput, createJobsClient, type JobRuntimeTargetKind, type JobRuntimeTargetOptions, type KnowledgeIngestByUploadIdsInput, type KnowledgeIngestByUploadPathsInput, type KnowledgeIngestByUploadPrefixInput, type KnowledgeIngestJobOptions, type ListBatchJobsOptions, type ListCronJobsOptions, type ListJobEventsOptions, type ListJobsOptions, type ProjectScopedOptions, type UpdateCronJobInput, VeryfrontJobsClient, type VeryfrontJobsClientConfig, } from "./jobs-client.js";
|
|
32
32
|
export { type CronJob, CronJobSchema, type CronJobStatus, CronJobStatusSchema, type Job, type JobBatch, type JobBatchResult, JobBatchResultSchema, JobBatchSchema, type JobBatchStatusCounts, JobBatchStatusCountsSchema, type JobEvent, JobEventSchema, type JobEventsResponse, JobEventsResponseSchema, type JobKind, JobKindSchema, type JobListItem, JobListItemSchema, type JobLogsResponse, JobLogsResponseSchema, type JobResult, JobResultSchema, type JobResultSummary, JobResultSummarySchema, JobSchema, type JobStatus, JobStatusSchema, type JobTargetDefinition, JobTargetDefinitionSchema, type JobTargetDefinitionsResponse, JobTargetDefinitionsResponseSchema, type KnowledgeIngestBatchSource, KnowledgeIngestBatchSourceSchema, type KnowledgeIngestBatchSourceWithMessage, KnowledgeIngestBatchSourceWithMessageSchema, type KnowledgeIngestFailedFileResult, KnowledgeIngestFailedFileResultSchema, type KnowledgeIngestFileResult, KnowledgeIngestFileResultSchema, type KnowledgeIngestJobResult, KnowledgeIngestJobResultCountsSchema, KnowledgeIngestJobResultMetadataSchema, KnowledgeIngestJobResultSchema, type KnowledgeIngestSkippedFileResult, KnowledgeIngestSkippedFileResultSchema, PageInfoSchema, type PaginatedCronJobsResponse, PaginatedCronJobsResponseSchema, type PaginatedJobsResponse, PaginatedJobsResponseSchema, type ReservedJobTargetFamily, ReservedJobTargetFamilySchema, } from "./schemas.js";
|
|
33
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,SAAS,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,SAAS,EACT,KAAK,SAAS,EACd,eAAe,EACf,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,sCAAsC,EACtC,cAAc,EACd,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,SAAS,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,SAAS,EACT,KAAK,SAAS,EACd,eAAe,EACf,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,sCAAsC,EACtC,cAAc,EACd,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
|
|
@@ -35,20 +35,26 @@ export interface ListJobEventsOptions extends ProjectScopedOptions {
|
|
|
35
35
|
limit?: number;
|
|
36
36
|
direction?: "forward" | "backward";
|
|
37
37
|
}
|
|
38
|
+
/** Runtime target for a job or cron job definition. */
|
|
39
|
+
export type JobRuntimeTargetKind = "main_branch" | "environment" | "preview_branch";
|
|
40
|
+
/** Runtime target fields accepted by job creation APIs. */
|
|
41
|
+
export interface JobRuntimeTargetOptions {
|
|
42
|
+
runtimeTargetKind?: JobRuntimeTargetKind;
|
|
43
|
+
runtimeTargetEnvironmentId?: string;
|
|
44
|
+
runtimeTargetBranchId?: string;
|
|
45
|
+
}
|
|
38
46
|
/** Input payload for create job. */
|
|
39
|
-
export interface CreateJobInput extends ProjectScopedOptions {
|
|
47
|
+
export interface CreateJobInput extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
40
48
|
name: string;
|
|
41
49
|
target: string;
|
|
42
|
-
environmentId?: string;
|
|
43
50
|
batchId?: string;
|
|
44
51
|
config?: Record<string, unknown>;
|
|
45
52
|
timeoutSeconds?: number;
|
|
46
53
|
backoffLimit?: number;
|
|
47
54
|
}
|
|
48
55
|
/** Options accepted by knowledge ingest job. */
|
|
49
|
-
export interface KnowledgeIngestJobOptions extends ProjectScopedOptions {
|
|
56
|
+
export interface KnowledgeIngestJobOptions extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
50
57
|
name?: string;
|
|
51
|
-
environmentId?: string;
|
|
52
58
|
batchId?: string;
|
|
53
59
|
timeoutSeconds?: number;
|
|
54
60
|
backoffLimit?: number;
|
|
@@ -72,10 +78,9 @@ export interface ListBatchJobsOptions extends ProjectScopedOptions {
|
|
|
72
78
|
status?: JobStatus;
|
|
73
79
|
}
|
|
74
80
|
/** Input payload for create cron job. */
|
|
75
|
-
export interface CreateCronJobInput extends ProjectScopedOptions {
|
|
81
|
+
export interface CreateCronJobInput extends ProjectScopedOptions, JobRuntimeTargetOptions {
|
|
76
82
|
name: string;
|
|
77
83
|
target: string;
|
|
78
|
-
environmentId?: string;
|
|
79
84
|
schedule: string;
|
|
80
85
|
timezone?: string;
|
|
81
86
|
config?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs-client.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/jobs-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4DAA4D,CAAC;AAGpE,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,GAAG,EACR,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAGpB,KAAK,SAAS,EACd,KAAK,mBAAmB,EAExB,KAAK,4BAA4B,EAEjC,KAAK,yBAAyB,EAE9B,KAAK,qBAAqB,EAE3B,MAAM,cAAc,CAAC;AAOtB,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACpC;AAED,
|
|
1
|
+
{"version":3,"file":"jobs-client.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/jobs-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,12 +84,14 @@ export class VeryfrontJobsClient {
|
|
|
84
84
|
this.requestProjectReference = undefined;
|
|
85
85
|
}
|
|
86
86
|
create(input) {
|
|
87
|
-
const { projectReference,
|
|
87
|
+
const { projectReference, runtimeTargetKind, runtimeTargetEnvironmentId, runtimeTargetBranchId, batchId, timeoutSeconds, backoffLimit, ...rest } = input;
|
|
88
88
|
return this.requestProjectJson(projectReference, "/jobs", JobSchema, {
|
|
89
89
|
method: "POST",
|
|
90
90
|
body: {
|
|
91
91
|
...rest,
|
|
92
|
-
|
|
92
|
+
runtime_target_kind: runtimeTargetKind,
|
|
93
|
+
runtime_target_environment_id: runtimeTargetEnvironmentId,
|
|
94
|
+
runtime_target_branch_id: runtimeTargetBranchId,
|
|
93
95
|
batch_id: batchId,
|
|
94
96
|
timeout_seconds: timeoutSeconds,
|
|
95
97
|
backoff_limit: backoffLimit,
|
|
@@ -150,12 +152,14 @@ export class VeryfrontJobsClient {
|
|
|
150
152
|
});
|
|
151
153
|
}
|
|
152
154
|
createCronJob(input) {
|
|
153
|
-
const { projectReference,
|
|
155
|
+
const { projectReference, runtimeTargetKind, runtimeTargetEnvironmentId, runtimeTargetBranchId, timeoutSeconds, backoffLimit, concurrencyPolicy, ...rest } = input;
|
|
154
156
|
return this.requestProjectJson(projectReference, "/cron-jobs", CronJobSchema, {
|
|
155
157
|
method: "POST",
|
|
156
158
|
body: {
|
|
157
159
|
...rest,
|
|
158
|
-
|
|
160
|
+
runtime_target_kind: runtimeTargetKind,
|
|
161
|
+
runtime_target_environment_id: runtimeTargetEnvironmentId,
|
|
162
|
+
runtime_target_branch_id: runtimeTargetBranchId,
|
|
159
163
|
timeout_seconds: timeoutSeconds,
|
|
160
164
|
backoff_limit: backoffLimit,
|
|
161
165
|
concurrency_policy: concurrencyPolicy,
|