@agent-native/dispatch 0.31.25-nightly-20260826190205 → 0.31.25
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/dist/actions/create-browser-chat-session.js +1 -1
- package/dist/actions/create-browser-chat-session.js.map +1 -1
- package/dist/actions/get-agent-thread-debug.js +1 -1
- package/dist/actions/get-agent-thread-debug.js.map +1 -1
- package/dist/server/lib/app-creation-store.js +1 -1
- package/dist/server/lib/app-creation-store.js.map +1 -1
- package/dist/server/lib/curated-workspace-templates.js +1 -1
- package/dist/server/lib/curated-workspace-templates.js.map +1 -1
- package/dist/server/lib/dispatch-integrations.js +2 -2
- package/dist/server/lib/dispatch-integrations.js.map +1 -1
- package/dist/server/lib/mcp-gateway.d.ts.map +1 -1
- package/dist/server/lib/mcp-gateway.js +12 -2
- package/dist/server/lib/mcp-gateway.js.map +1 -1
- package/dist/server/lib/onboarding-steps.js +1 -1
- package/dist/server/lib/onboarding-steps.js.map +1 -1
- package/package.json +4 -4
- package/src/actions/create-browser-chat-session.spec.ts +1 -1
- package/src/actions/create-browser-chat-session.ts +1 -1
- package/src/actions/get-agent-thread-debug.ts +1 -1
- package/src/server/lib/app-creation-store.ts +1 -1
- package/src/server/lib/curated-workspace-templates.ts +1 -1
- package/src/server/lib/dispatch-integrations.spec.ts +1 -1
- package/src/server/lib/dispatch-integrations.ts +2 -2
- package/src/server/lib/mcp-gateway.ts +23 -9
- package/src/server/lib/onboarding-steps.ts +1 -1
|
@@ -50,7 +50,7 @@ export default defineAction({
|
|
|
50
50
|
const remote = await createRemoteDevice({
|
|
51
51
|
ownerEmail,
|
|
52
52
|
orgId: requestContext?.orgId ?? null,
|
|
53
|
-
label: "Agent
|
|
53
|
+
label: "Agent-Native for Chrome",
|
|
54
54
|
platform: "chrome-extension",
|
|
55
55
|
metadata: {
|
|
56
56
|
browserExtension: { extensionId },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-browser-chat-session.js","sourceRoot":"","sources":["../../src/actions/create-browser-chat-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { createRemoteDevice } from \"@agent-native/core/integrations\";\nimport {\n buildEmbedStartPath,\n createEmbedSessionTicket,\n getRequestContext,\n getRequestUserEmail,\n withConfiguredAppBasePath,\n} from \"@agent-native/core/server\";\nimport { z } from \"zod\";\n\nimport {\n BROWSER_CHAT_NONCE_QUERY_PARAM,\n BROWSER_CHAT_PARENT_ORIGIN_QUERY_PARAM,\n browserChatExtensionIdSchema,\n browserChatNonceSchema,\n} from \"../lib/browser-chat-protocol.js\";\nimport { isBrowserExtensionIdAllowed } from \"../server/lib/browser-extension-allowlist.js\";\n\nexport default defineAction({\n description:\n \"Create a one-time authenticated Dispatch browser-chat embed session for an approved Agent-Native Chrome extension.\",\n schema: z\n .object({\n nonce: browserChatNonceSchema,\n extensionId: browserChatExtensionIdSchema,\n })\n .strict(),\n readOnly: false,\n parallelSafe: true,\n agentTool: false,\n toolCallable: false,\n run: async ({ nonce, extensionId }) => {\n const ownerEmail = getRequestUserEmail()?.trim();\n if (!ownerEmail) {\n throw new Error(\n \"Sign in to Dispatch before connecting the browser extension.\",\n );\n }\n\n const requestContext = getRequestContext();\n const { browserExtensionIds } = await import(\"../server/index.js\").then(\n (module) => module.getDispatchConfig(),\n );\n if (\n !isBrowserExtensionIdAllowed({\n extensionId,\n configIds: browserExtensionIds,\n nodeEnv: process.env.NODE_ENV,\n requestOrigin: requestContext?.requestOrigin,\n })\n ) {\n throw new Error(\n \"This browser extension is not allowed to connect to Dispatch.\",\n );\n }\n\n const parentOrigin = `chrome-extension://${extensionId}`;\n const requestOrigin = requestContext?.requestOrigin;\n if (!requestOrigin) {\n throw new Error(\"Dispatch could not resolve its browser relay URL.\");\n }\n const query = new URLSearchParams({\n [BROWSER_CHAT_NONCE_QUERY_PARAM]: nonce,\n [BROWSER_CHAT_PARENT_ORIGIN_QUERY_PARAM]: parentOrigin,\n });\n const session = await createEmbedSessionTicket({\n ownerEmail,\n orgId: requestContext?.orgId ?? null,\n targetPath: `/browser-chat?${query}`,\n scope: \"browser-chat\",\n ttlSeconds: 60,\n });\n const remote = await createRemoteDevice({\n ownerEmail,\n orgId: requestContext?.orgId ?? null,\n label: \"Agent
|
|
1
|
+
{"version":3,"file":"create-browser-chat-session.js","sourceRoot":"","sources":["../../src/actions/create-browser-chat-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { createRemoteDevice } from \"@agent-native/core/integrations\";\nimport {\n buildEmbedStartPath,\n createEmbedSessionTicket,\n getRequestContext,\n getRequestUserEmail,\n withConfiguredAppBasePath,\n} from \"@agent-native/core/server\";\nimport { z } from \"zod\";\n\nimport {\n BROWSER_CHAT_NONCE_QUERY_PARAM,\n BROWSER_CHAT_PARENT_ORIGIN_QUERY_PARAM,\n browserChatExtensionIdSchema,\n browserChatNonceSchema,\n} from \"../lib/browser-chat-protocol.js\";\nimport { isBrowserExtensionIdAllowed } from \"../server/lib/browser-extension-allowlist.js\";\n\nexport default defineAction({\n description:\n \"Create a one-time authenticated Dispatch browser-chat embed session for an approved Agent-Native Chrome extension.\",\n schema: z\n .object({\n nonce: browserChatNonceSchema,\n extensionId: browserChatExtensionIdSchema,\n })\n .strict(),\n readOnly: false,\n parallelSafe: true,\n agentTool: false,\n toolCallable: false,\n run: async ({ nonce, extensionId }) => {\n const ownerEmail = getRequestUserEmail()?.trim();\n if (!ownerEmail) {\n throw new Error(\n \"Sign in to Dispatch before connecting the browser extension.\",\n );\n }\n\n const requestContext = getRequestContext();\n const { browserExtensionIds } = await import(\"../server/index.js\").then(\n (module) => module.getDispatchConfig(),\n );\n if (\n !isBrowserExtensionIdAllowed({\n extensionId,\n configIds: browserExtensionIds,\n nodeEnv: process.env.NODE_ENV,\n requestOrigin: requestContext?.requestOrigin,\n })\n ) {\n throw new Error(\n \"This browser extension is not allowed to connect to Dispatch.\",\n );\n }\n\n const parentOrigin = `chrome-extension://${extensionId}`;\n const requestOrigin = requestContext?.requestOrigin;\n if (!requestOrigin) {\n throw new Error(\"Dispatch could not resolve its browser relay URL.\");\n }\n const query = new URLSearchParams({\n [BROWSER_CHAT_NONCE_QUERY_PARAM]: nonce,\n [BROWSER_CHAT_PARENT_ORIGIN_QUERY_PARAM]: parentOrigin,\n });\n const session = await createEmbedSessionTicket({\n ownerEmail,\n orgId: requestContext?.orgId ?? null,\n targetPath: `/browser-chat?${query}`,\n scope: \"browser-chat\",\n ttlSeconds: 60,\n });\n const remote = await createRemoteDevice({\n ownerEmail,\n orgId: requestContext?.orgId ?? null,\n label: \"Agent-Native for Chrome\",\n platform: \"chrome-extension\",\n metadata: {\n browserExtension: { extensionId },\n computerCapabilities: {\n browser: {\n observe: true,\n control: true,\n provider: \"agent-native-chrome-extension\",\n },\n },\n },\n });\n\n return {\n startPath: buildEmbedStartPath(session.ticket),\n expiresAt: session.expiresAt,\n parentOrigin,\n remoteDevice: { id: remote.device.id, token: remote.token },\n relayBaseUrl: withConfiguredAppBasePath(requestOrigin),\n };\n },\n});\n"]}
|
|
@@ -18,7 +18,7 @@ export default defineAction({
|
|
|
18
18
|
.string()
|
|
19
19
|
.min(1)
|
|
20
20
|
.optional()
|
|
21
|
-
.describe("Copied Agent
|
|
21
|
+
.describe("Copied Agent-Native request/run ID, usually shown as run-..., to resolve to its owning chat thread."),
|
|
22
22
|
ownerEmail: z
|
|
23
23
|
.string()
|
|
24
24
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-agent-thread-debug.js","sourceRoot":"","sources":["../../src/actions/get-agent-thread-debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,mMAAmM;IACrM,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,wDAAwD,CAAC;QACrE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,qGAAqG,CACtG;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAChE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;KACrE,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QACzD,OAAO,EAAE,mCAAmC;KAC7C,CAAC;IACJ,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACvB,QAAQ,EAAE,IAAI;IACd,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;CACjD,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { z } from \"zod\";\n\nimport { getAgentThreadDebug } from \"../server/lib/thread-debug-store.js\";\n\nexport default defineAction({\n description:\n \"Get a full read-only debug snapshot by chat thread ID or copied request/run ID, including persisted messages, raw thread_data, run events, traces, feedback, evals, and checkpoints when present.\",\n schema: z\n .object({\n sourceId: z\n .string()\n .default(\"current\")\n .describe(\"Thread debug source id from list-agent-thread-sources.\"),\n threadId: z\n .string()\n .min(1)\n .optional()\n .describe(\"Agent chat thread ID to inspect.\"),\n runId: z\n .string()\n .min(1)\n .optional()\n .describe(\n \"Copied Agent
|
|
1
|
+
{"version":3,"file":"get-agent-thread-debug.js","sourceRoot":"","sources":["../../src/actions/get-agent-thread-debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,mMAAmM;IACrM,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,wDAAwD,CAAC;QACrE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,qGAAqG,CACtG;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAChE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;KACrE,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QACzD,OAAO,EAAE,mCAAmC;KAC7C,CAAC;IACJ,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACvB,QAAQ,EAAE,IAAI;IACd,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;CACjD,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { z } from \"zod\";\n\nimport { getAgentThreadDebug } from \"../server/lib/thread-debug-store.js\";\n\nexport default defineAction({\n description:\n \"Get a full read-only debug snapshot by chat thread ID or copied request/run ID, including persisted messages, raw thread_data, run events, traces, feedback, evals, and checkpoints when present.\",\n schema: z\n .object({\n sourceId: z\n .string()\n .default(\"current\")\n .describe(\"Thread debug source id from list-agent-thread-sources.\"),\n threadId: z\n .string()\n .min(1)\n .optional()\n .describe(\"Agent chat thread ID to inspect.\"),\n runId: z\n .string()\n .min(1)\n .optional()\n .describe(\n \"Copied Agent-Native request/run ID, usually shown as run-..., to resolve to its owning chat thread.\",\n ),\n ownerEmail: z\n .string()\n .optional()\n .describe(\"Optional owner email scope for admin cross-user lookups.\"),\n maxRuns: z.coerce.number().int().min(1).max(50).default(20),\n maxEvents: z.coerce.number().int().min(1).max(2000).default(600),\n maxTraceSpans: z.coerce.number().int().min(1).max(2000).default(500),\n })\n .refine((input) => Boolean(input.threadId || input.runId), {\n message: \"Provide either threadId or runId.\",\n }),\n http: { method: \"GET\" },\n readOnly: true,\n run: async (input) => getAgentThreadDebug(input),\n});\n"]}
|
|
@@ -1916,7 +1916,7 @@ function buildWorkspaceAppPrompt(input) {
|
|
|
1916
1916
|
? `Dispatch will create workspace resource grants for the selected resources for appId "${appId}". After the app exists, sync workspace resources so the app receives both global and selected shared resources.`
|
|
1917
1917
|
: "Do not grant any selected-only Dispatch workspace resources unless the user asks later.",
|
|
1918
1918
|
"",
|
|
1919
|
-
"Agent-
|
|
1919
|
+
"Agent-Native rules (these are the framework's contract — not optional):",
|
|
1920
1920
|
`- Persist ALL data in SQL via Drizzle. Add tables to apps/${appId}/server/db/schema.ts and migrations to apps/${appId}/server/plugins/db.ts. NEVER use localStorage, sessionStorage, IndexedDB, or in-memory state for anything the user expects to persist — agent and UI must read the same source of truth.`,
|
|
1921
1921
|
`- Define every create/read/update/delete as an action in apps/${appId}/actions/ using defineAction. The agent calls these as tools and the frontend calls them via useActionQuery / useActionMutation. If you must raw-fetch framework action endpoints, use agentNativePath("/_agent-native/actions/<name>") so mounted apps call the right URL. Don't add /api/* routes for CRUD.`,
|
|
1922
1922
|
"- Build the UI from shadcn/ui components in app/components/ui/ (Button, Input, Dialog, Popover, Card, etc.) and Tailwind utilities. Don't author bespoke CSS classes in global.css unless you genuinely need a primitive that shadcn doesn't ship.",
|