@agent-native/core 0.32.1 → 0.32.17
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/README.md +3 -1
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +48 -10
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +12 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +104 -6
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/cli/app-skill.js +2 -2
- package/dist/cli/app-skill.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +6 -1
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/code-agent-output-smoother.d.ts +7 -0
- package/dist/cli/code-agent-output-smoother.d.ts.map +1 -0
- package/dist/cli/code-agent-output-smoother.js +111 -0
- package/dist/cli/code-agent-output-smoother.js.map +1 -0
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +5 -0
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +17 -42
- package/dist/cli/migrate.js.map +1 -1
- package/dist/cli/skills.d.ts +23 -2
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +405 -41
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +7 -105
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +41 -7
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts.map +1 -1
- package/dist/client/AgentTaskCard.js +0 -28
- package/dist/client/AgentTaskCard.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +8 -23
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +359 -205
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +254 -14
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +14 -9
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-chat.d.ts +24 -0
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +73 -0
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/assistant-ui-recovery.d.ts +34 -0
- package/dist/client/assistant-ui-recovery.d.ts.map +1 -0
- package/dist/client/assistant-ui-recovery.js +122 -0
- package/dist/client/assistant-ui-recovery.js.map +1 -0
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +7 -1
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +7 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +22 -2
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/frame-protocol.d.ts +6 -2
- package/dist/client/frame-protocol.d.ts.map +1 -1
- package/dist/client/frame-protocol.js.map +1 -1
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +2 -1
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts +13 -3
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +105 -36
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/route-warmup.d.ts +61 -0
- package/dist/client/route-warmup.d.ts.map +1 -0
- package/dist/client/route-warmup.js +456 -0
- package/dist/client/route-warmup.js.map +1 -0
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +2 -1
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +5 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +10 -4
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/use-action.d.ts +1 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +22 -4
- package/dist/client/use-action.js.map +1 -1
- package/dist/code-agents/background-run.d.ts +2 -0
- package/dist/code-agents/background-run.d.ts.map +1 -1
- package/dist/code-agents/background-run.js.map +1 -1
- package/dist/db/client.d.ts +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +25 -1
- package/dist/db/client.js.map +1 -1
- package/dist/deploy/build.d.ts +4 -0
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +171 -14
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/immutable-assets.d.ts +1 -0
- package/dist/deploy/immutable-assets.d.ts.map +1 -1
- package/dist/deploy/immutable-assets.js +1 -0
- package/dist/deploy/immutable-assets.js.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/connect-route.d.ts.map +1 -1
- package/dist/mcp/connect-route.js +118 -82
- package/dist/mcp/connect-route.js.map +1 -1
- package/dist/progress/routes.d.ts.map +1 -1
- package/dist/progress/routes.js +1 -0
- package/dist/progress/routes.js.map +1 -1
- package/dist/progress/store.d.ts +13 -0
- package/dist/progress/store.d.ts.map +1 -1
- package/dist/progress/store.js +18 -0
- package/dist/progress/store.js.map +1 -1
- package/dist/progress/types.d.ts +2 -0
- package/dist/progress/types.d.ts.map +1 -1
- package/dist/progress/types.js.map +1 -1
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +2 -2
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -1
- package/dist/scripts/db/wipe-leaked-builder-keys.js +14 -3
- package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -1
- package/dist/server/action-routes.d.ts +1 -0
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +36 -2
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +123 -25
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts.map +1 -1
- package/dist/server/agent-discovery.js +14 -1
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/agent-teams-run-queue.d.ts +80 -0
- package/dist/server/agent-teams-run-queue.d.ts.map +1 -0
- package/dist/server/agent-teams-run-queue.js +208 -0
- package/dist/server/agent-teams-run-queue.js.map +1 -0
- package/dist/server/agent-teams.d.ts +67 -0
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +607 -180
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/auth-marketing.d.ts.map +1 -1
- package/dist/server/auth-marketing.js +0 -64
- package/dist/server/auth-marketing.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +67 -14
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-browser.d.ts +12 -2
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +24 -0
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +66 -5
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +10 -0
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +82 -3
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +3 -0
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts +1 -0
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +14 -1
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/self-dispatch.d.ts +44 -0
- package/dist/server/self-dispatch.d.ts.map +1 -0
- package/dist/server/self-dispatch.js +113 -0
- package/dist/server/self-dispatch.js.map +1 -0
- package/dist/server/social-og-image.d.ts +14 -0
- package/dist/server/social-og-image.d.ts.map +1 -0
- package/dist/server/social-og-image.js +251 -0
- package/dist/server/social-og-image.js.map +1 -0
- package/dist/server/ssr-handler.d.ts +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +27 -11
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/shared/cache-control.d.ts +7 -0
- package/dist/shared/cache-control.d.ts.map +1 -1
- package/dist/shared/cache-control.js +7 -0
- package/dist/shared/cache-control.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/route-warmup-config.d.ts +28 -0
- package/dist/shared/route-warmup-config.d.ts.map +1 -0
- package/dist/shared/route-warmup-config.js +58 -0
- package/dist/shared/route-warmup-config.js.map +1 -0
- package/dist/shared/social-meta.d.ts +5 -0
- package/dist/shared/social-meta.d.ts.map +1 -1
- package/dist/shared/social-meta.js +36 -2
- package/dist/shared/social-meta.js.map +1 -1
- package/dist/shared/streaming-text-smoothing.d.ts +12 -0
- package/dist/shared/streaming-text-smoothing.d.ts.map +1 -0
- package/dist/shared/streaming-text-smoothing.js +52 -0
- package/dist/shared/streaming-text-smoothing.js.map +1 -0
- package/dist/styles/agent-native.css +4 -4
- package/dist/templates/default/AGENTS.md +9 -4
- package/dist/templates/default/DEVELOPING.md +15 -1
- package/dist/templates/workspace-core/AGENTS.md +7 -3
- package/dist/templates/workspace-root/AGENTS.md +7 -3
- package/dist/vite/client.d.ts +13 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +36 -1
- package/dist/vite/client.js.map +1 -1
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js.map +1 -1
- package/docs/content/client.md +62 -1
- package/docs/content/code-agents-ui.md +6 -13
- package/docs/content/context-awareness.md +186 -21
- package/docs/content/deployment.md +8 -11
- package/docs/content/dispatch.md +1 -1
- package/docs/content/external-agents.md +32 -2
- package/docs/content/migration-workbench.md +4 -21
- package/docs/content/multi-app-workspace.md +1 -1
- package/docs/content/recurring-jobs.md +1 -1
- package/docs/content/security.md +0 -1
- package/docs/content/sharing.md +1 -3
- package/docs/content/skills-guide.md +12 -10
- package/docs/content/template-assets.md +21 -1
- package/docs/content/template-design.md +23 -5
- package/docs/content/template-dispatch.md +1 -1
- package/package.json +2 -1
- package/src/templates/default/AGENTS.md +9 -4
- package/src/templates/default/DEVELOPING.md +15 -1
- package/src/templates/workspace-core/AGENTS.md +7 -3
- package/src/templates/workspace-root/AGENTS.md +7 -3
|
@@ -80,7 +80,8 @@ export default defineNitroPlugin(async (nitroApp) => {
|
|
|
80
80
|
| `readSetting`, `writeSetting` | Read/write settings (from `@agent-native/core/settings`) |
|
|
81
81
|
| `readResource`, `writeResource` | Read/write resources (from `@agent-native/core/resources`) |
|
|
82
82
|
| `defineEventHandler`, `readBody`, `getQuery` | H3 route handler utilities (re-exported) |
|
|
83
|
-
| `sendToAgentChat` | Send messages
|
|
83
|
+
| `sendToAgentChat` | Send or prefill messages in the agent chat from UI (client-side) |
|
|
84
|
+
| `setContextToAgentChat` | Stage keyed context chips for the next agent chat prompt from UI |
|
|
84
85
|
| `agentChat` | Send messages to agent from scripts (server-side) |
|
|
85
86
|
|
|
86
87
|
## Adding a Script
|
|
@@ -101,6 +102,19 @@ sendToAgentChat({
|
|
|
101
102
|
});
|
|
102
103
|
```
|
|
103
104
|
|
|
105
|
+
To add hidden context without submitting or filling the prompt text, stage
|
|
106
|
+
keyed context nuggets. Multiple nuggets stack; using the same `key` replaces the
|
|
107
|
+
previous nugget.
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
import { setContextToAgentChat } from "@agent-native/core";
|
|
111
|
+
setContextToAgentChat({
|
|
112
|
+
key: "selected-record",
|
|
113
|
+
title: "Selected Record",
|
|
114
|
+
context: JSON.stringify(record, null, 2),
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
104
118
|
**From scripts:**
|
|
105
119
|
|
|
106
120
|
```ts
|
|
@@ -14,8 +14,10 @@ agent should know.
|
|
|
14
14
|
- All AI/LLM behavior goes through the app's agent chat. UI and server code
|
|
15
15
|
must not call model providers, AI SDK `generateText()` / `streamText()`, or
|
|
16
16
|
other inline LLM APIs directly. Use `sendToAgentChat()` for local app-agent
|
|
17
|
-
work
|
|
18
|
-
|
|
17
|
+
work. When selected UI data should become hidden context for the user's next
|
|
18
|
+
prompt without submitting anything, use `setContextToAgentChat()` with a
|
|
19
|
+
stable `key`. Read `.agents/skills/delegate-to-agent/SKILL.md` before
|
|
20
|
+
building agent-driven UI or "AI" features.
|
|
19
21
|
- Put shared code in `packages/shared` only when multiple apps need it.
|
|
20
22
|
- Keep app-specific screens, actions, state, and skills inside `apps/<app>`.
|
|
21
23
|
- Store shared runtime configuration in the workspace root `.env`; use
|
|
@@ -74,7 +76,9 @@ create `defineAction` files in `actions/`, mark reads with
|
|
|
74
76
|
`http: { method: "GET" }`, and call them from React with `useActionQuery` /
|
|
75
77
|
`useActionMutation`. Do not add duplicate JSON CRUD routes under `/api/*` for
|
|
76
78
|
the same data unless the route is for uploads, streaming, webhooks, OAuth, or
|
|
77
|
-
another route-only concern.
|
|
79
|
+
another route-only concern. Do not add routes whose main job is to wrap,
|
|
80
|
+
proxy, or re-export an action; the action endpoint already exists at
|
|
81
|
+
`/_agent-native/actions/:name`. Action-backed UI is what makes agent-created or
|
|
78
82
|
agent-edited records appear without a manual refresh.
|
|
79
83
|
|
|
80
84
|
App database code must be provider-agnostic. Define schemas with
|
|
@@ -11,7 +11,9 @@ coding agents can discover the same workspace-wide guidance from the root.
|
|
|
11
11
|
- All AI/LLM behavior goes through the app's agent chat. UI and server code
|
|
12
12
|
must not call model providers, AI SDK `generateText()` / `streamText()`, or
|
|
13
13
|
other inline LLM APIs directly. Use `sendToAgentChat()` for local app-agent
|
|
14
|
-
work
|
|
14
|
+
work. When selected UI data should become hidden context for the user's next
|
|
15
|
+
prompt without submitting anything, use `setContextToAgentChat()` with a
|
|
16
|
+
stable `key`. Read `packages/shared/.agents/skills/delegate-to-agent/SKILL.md`
|
|
15
17
|
before building agent-driven UI or "AI" features.
|
|
16
18
|
|
|
17
19
|
## Workspace Resources
|
|
@@ -101,8 +103,10 @@ coding agents can discover the same workspace-wide guidance from the root.
|
|
|
101
103
|
`http: { method: "GET" }`, and call them from React with `useActionQuery` /
|
|
102
104
|
`useActionMutation`. Do not add duplicate JSON CRUD routes under `/api/*`
|
|
103
105
|
for the same data unless the route is for uploads, streaming, webhooks,
|
|
104
|
-
OAuth, or another route-only concern.
|
|
105
|
-
|
|
106
|
+
OAuth, or another route-only concern. Do not add routes whose main job is to
|
|
107
|
+
wrap, proxy, or re-export an action; the action endpoint already exists at
|
|
108
|
+
`/_agent-native/actions/:name`. Action-backed UI is what makes agent-created
|
|
109
|
+
or agent-edited records appear without a manual refresh.
|
|
106
110
|
- App database code must be provider-agnostic. Define schemas with
|
|
107
111
|
`@agent-native/core/db/schema` helpers and write app reads/writes with
|
|
108
112
|
Drizzle's query builder and portable `drizzle-orm` operators. Do not import
|
package/dist/vite/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UserConfig } from "vite";
|
|
2
|
+
import { type AgentNativeRouteWarmupConfigInput } from "../shared/route-warmup-config.js";
|
|
2
3
|
export interface NitroOptions {
|
|
3
4
|
/** Nitro deployment preset (e.g. "node", "vercel", "netlify", "cloudflare_pages"). Default: "node" */
|
|
4
5
|
preset?: string;
|
|
@@ -30,6 +31,18 @@ export interface ClientConfigOptions {
|
|
|
30
31
|
fsDeny?: string[];
|
|
31
32
|
/** Additional Vite optimizeDeps configuration */
|
|
32
33
|
optimizeDeps?: NonNullable<UserConfig["optimizeDeps"]>;
|
|
34
|
+
/** Additional Vite define constants. */
|
|
35
|
+
define?: UserConfig["define"];
|
|
36
|
+
/**
|
|
37
|
+
* Framework route warmup behavior mounted by AgentSidebar.
|
|
38
|
+
*
|
|
39
|
+
* React Router's native prefetch warms both `.data` and JS, but its `.data`
|
|
40
|
+
* request uses browser link prefetch. Chrome sends `Sec-Purpose: prefetch`
|
|
41
|
+
* on those requests, which some production CDNs reject for dynamic `.data`
|
|
42
|
+
* URLs before our SWR cache headers can help. Agent-Native therefore uses
|
|
43
|
+
* ordinary fetches for `.data` and `modulepreload` for route JS by default.
|
|
44
|
+
*/
|
|
45
|
+
routeWarmup?: AgentNativeRouteWarmupConfigInput;
|
|
33
46
|
/**
|
|
34
47
|
* Whether to auto-inject the Tailwind v4 Vite plugin (`@tailwindcss/vite`).
|
|
35
48
|
* Defaults to true — set to `false` if a template wants to manage Tailwind
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAmB/C,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,kCAAkC,CAAC;AAuZ1C,MAAM,WAAW,YAAY;IAC3B,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,YAAY,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,oGAAoG;IACpG,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,wCAAwC;IACxC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,iCAAiC,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AA+dD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAWT;AAoMD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CA4Q1E"}
|
package/dist/vite/client.js
CHANGED
|
@@ -8,7 +8,8 @@ import { findWorkspaceRoot } from "../scripts/utils.js";
|
|
|
8
8
|
import { getViteDevRecoveryScript } from "../client/vite-dev-recovery-script.js";
|
|
9
9
|
import { verifyEmbedSessionToken } from "../server/embed-session.js";
|
|
10
10
|
import { EMBED_SESSION_COOKIE, EMBED_TOKEN_QUERY_PARAM, MCP_APP_CHAT_BRIDGE_QUERY_PARAM, } from "../shared/embed-auth.js";
|
|
11
|
-
import { isMcpEmbedCorsOrigin, MCP_EMBED_CORS_ALLOW_HEADERS, MCP_EMBED_STATIC_ASSET_HEADERS, mcpEmbedStaticAssetRouteRules, } from "../shared/mcp-embed-headers.js";
|
|
11
|
+
import { isMcpEmbedCorsOrigin, MCP_EMBED_CORS_ALLOW_HEADERS, MCP_EMBED_STATIC_ASSET_HEADERS, mcpEmbedStaticAssetRouteRules, shouldAllowMcpEmbedCredentials, } from "../shared/mcp-embed-headers.js";
|
|
12
|
+
import { normalizeAgentNativeRouteWarmupConfig, } from "../shared/route-warmup-config.js";
|
|
12
13
|
import { fileURLToPath } from "url";
|
|
13
14
|
const require = createRequire(import.meta.url);
|
|
14
15
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -689,6 +690,15 @@ function embedDevFrameHeaders() {
|
|
|
689
690
|
if (isMcpEmbedCorsOrigin(origin)) {
|
|
690
691
|
res.setHeader("Access-Control-Allow-Origin", origin);
|
|
691
692
|
res.setHeader("Vary", "Origin");
|
|
693
|
+
// The desktop app's dev origin (http://localhost:1420) also matches
|
|
694
|
+
// here, and it logs in with `credentials: "include"`. A credentialed
|
|
695
|
+
// request needs this header or the browser discards the response.
|
|
696
|
+
// The OPTIONS short-circuit below means we can't rely on the real
|
|
697
|
+
// auth handler to set it, so set it here too (production already does
|
|
698
|
+
// the same).
|
|
699
|
+
if (shouldAllowMcpEmbedCredentials(origin)) {
|
|
700
|
+
res.setHeader("Access-Control-Allow-Credentials", "true");
|
|
701
|
+
}
|
|
692
702
|
res.setHeader("Access-Control-Allow-Methods", "GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS");
|
|
693
703
|
res.setHeader("Access-Control-Allow-Headers", MCP_EMBED_CORS_ALLOW_HEADERS);
|
|
694
704
|
for (const [name, value] of Object.entries(MCP_EMBED_STATIC_ASSET_HEADERS)) {
|
|
@@ -875,6 +885,22 @@ function portExposer() {
|
|
|
875
885
|
* Vite's own connect pipeline.
|
|
876
886
|
*/
|
|
877
887
|
function silenceConnectionResets() {
|
|
888
|
+
const isClosedWebStreamController = (err) => {
|
|
889
|
+
const e = err;
|
|
890
|
+
const code = e?.code || e?.cause?.code;
|
|
891
|
+
const message = [
|
|
892
|
+
String(e?.message ?? ""),
|
|
893
|
+
String(e?.cause?.message ?? ""),
|
|
894
|
+
].join("\n");
|
|
895
|
+
const stack = [
|
|
896
|
+
String(e?.stack ?? ""),
|
|
897
|
+
String(e?.cause?.stack ?? ""),
|
|
898
|
+
].join("\n");
|
|
899
|
+
return (code === "ERR_INVALID_STATE" &&
|
|
900
|
+
/Controller is already closed/i.test(message) &&
|
|
901
|
+
(!stack ||
|
|
902
|
+
/ReadableStreamDefaultController\.close|internal\/webstreams\/adapters|IncomingMessage\.onclose/.test(stack)));
|
|
903
|
+
};
|
|
878
904
|
const isBenign = (err) => {
|
|
879
905
|
const e = err;
|
|
880
906
|
const code = e?.code || e?.cause?.code;
|
|
@@ -882,6 +908,7 @@ function silenceConnectionResets() {
|
|
|
882
908
|
return (code === "ECONNRESET" ||
|
|
883
909
|
code === "ECONNABORTED" ||
|
|
884
910
|
code === "EPIPE" ||
|
|
911
|
+
isClosedWebStreamController(err) ||
|
|
885
912
|
/^(read ECONNRESET|write ECONNRESET|socket hang up|aborted|write EPIPE)$/i.test(message));
|
|
886
913
|
};
|
|
887
914
|
const isBenignErrorPayload = (payload) => {
|
|
@@ -1024,6 +1051,14 @@ export function defineConfig(options = {}) {
|
|
|
1024
1051
|
logLevel: options.logLevel ?? (isWorkspaceChild ? "warn" : undefined),
|
|
1025
1052
|
envDir,
|
|
1026
1053
|
base,
|
|
1054
|
+
define: {
|
|
1055
|
+
...(options.define ?? {}),
|
|
1056
|
+
// Framework route warmup controls how SSR `.data` routes are fetched:
|
|
1057
|
+
// ordinary fetches keep them CDN-cacheable, while native prefetch headers
|
|
1058
|
+
// can be refused before the CDN/origin sees the request. Keep this value
|
|
1059
|
+
// authoritative even if app config provides its own `define` entries.
|
|
1060
|
+
__AGENT_NATIVE_ROUTE_WARMUP_CONFIG__: JSON.stringify(normalizeAgentNativeRouteWarmupConfig(options.routeWarmup)),
|
|
1061
|
+
},
|
|
1027
1062
|
server: {
|
|
1028
1063
|
host: "::",
|
|
1029
1064
|
port: options.port ?? 8080,
|