@agent-native/core 0.165.4 → 0.167.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +1 -1
- package/corpus/templates/analytics/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/analytics/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +93 -56
- package/corpus/templates/analytics/app/i18n-data.ts +23 -20
- package/corpus/templates/analytics/app/pages/Settings.tsx +0 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +0 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +2 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +0 -1
- package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +0 -32
- package/corpus/templates/analytics/server/lib/session-replay.ts +1 -5
- package/corpus/templates/assets/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/assets/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/assets/actions/navigate.ts +2 -2
- package/corpus/templates/assets/actions/save-generated-image.ts +0 -5
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +2 -262
- package/corpus/templates/assets/app/routes/library.tsx +1 -1
- package/corpus/templates/assets/app/routes/settings.tsx +0 -3
- package/corpus/templates/brain/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/brain/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/brain/actions/ask-brain.ts +0 -1
- package/corpus/templates/brain/actions/navigate.ts +2 -2
- package/corpus/templates/brain/app/routes/sources.tsx +0 -4
- package/corpus/templates/brain/server/lib/capture-sanitization.ts +0 -11
- package/corpus/templates/calendar/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/calendar/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +0 -20
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +0 -1
- package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/chat/actions/navigate.ts +2 -2
- package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/clips/CHANGELOG.md +1 -0
- package/corpus/templates/clips/actions/import-loom-recording.ts +16 -4
- package/corpus/templates/clips/actions/navigate.ts +2 -2
- package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +0 -1
- package/corpus/templates/clips/app/components/library/space-dialogs.tsx +0 -1
- package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +0 -1
- package/corpus/templates/clips/app/components/player/clips-share-trigger.tsx +17 -0
- package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +3 -3
- package/corpus/templates/clips/app/components/player/video-player.tsx +2 -2
- package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +0 -1
- package/corpus/templates/clips/app/components/settings/ai-setup-section.tsx +0 -1
- package/corpus/templates/clips/app/global.css +31 -0
- package/corpus/templates/clips/app/hooks/use-playback-position.ts +0 -2
- package/corpus/templates/clips/app/lib/download-release-channel.ts +10 -0
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -3
- package/corpus/templates/clips/app/routes/download.tsx +67 -44
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +7 -12
- package/corpus/templates/clips/app/routes/record.tsx +6 -6
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +26 -29
- package/corpus/templates/clips/changelog/2026-08-20-clip-viewer-share-actions.md +6 -0
- package/corpus/templates/clips/changelog/2026-08-20-preparing-recording-countdown-overlay.md +1 -0
- package/corpus/templates/clips/chrome-extension/src/background.ts +0 -13
- package/corpus/templates/clips/chrome-extension/src/overlay.ts +0 -1
- package/corpus/templates/clips/chrome-extension/src/popup.ts +0 -20
- package/corpus/templates/clips/desktop/src/app.tsx +6 -18
- package/corpus/templates/clips/desktop/src/hooks/useMediaDevices.ts +0 -1
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +0 -8
- package/corpus/templates/content/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/content/actions/_database-source-utils.ts +0 -3
- package/corpus/templates/content/actions/attach-content-database-source.ts +1 -4
- package/corpus/templates/content/actions/navigate.ts +2 -2
- package/corpus/templates/content/actions/prepare-builder-source-execution.ts +1 -1
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +0 -6
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +0 -580
- package/corpus/templates/content/app/components/editor/database/FormView.tsx +2 -2
- package/corpus/templates/content/app/components/editor/database/filter-sort.ts +1 -1
- package/corpus/templates/content/app/components/editor/database/settings.tsx +0 -23
- package/corpus/templates/content/app/components/editor/database/sidebar.tsx +0 -1
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +8 -304
- package/corpus/templates/content/app/hooks/use-documents.ts +0 -1
- package/corpus/templates/content/shared/api.ts +0 -1
- package/corpus/templates/content/shared/builder-mdx.ts +0 -1
- package/corpus/templates/content/shared/nfm.ts +1 -7
- package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/crm/actions/merge-crm-records.ts +0 -4
- package/corpus/templates/crm/app/components/crm/record/RecordLists.tsx +0 -1
- package/corpus/templates/crm/server/crm/hubspot-adapter.ts +0 -1
- package/corpus/templates/crm/server/crm/salesforce-adapter.ts +0 -1
- package/corpus/templates/crm/server/db/crm-store.ts +1 -1
- package/corpus/templates/design/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +1 -14
- package/corpus/templates/design/AGENTS.md +2 -1
- package/corpus/templates/design/actions/apply-component-prop-edit.ts +1 -5
- package/corpus/templates/design/actions/generate-design.ts +0 -1
- package/corpus/templates/design/actions/generate-screens.ts +5 -2
- package/corpus/templates/design/actions/go-to-main-component.ts +2 -2
- package/corpus/templates/design/actions/list-design-systems.ts +10 -0
- package/corpus/templates/design/actions/navigate.ts +2 -2
- package/corpus/templates/design/actions/open-component-source.ts +4 -4
- package/corpus/templates/design/actions/present-design-variants.ts +1 -2
- package/corpus/templates/design/actions/run-design-audit.ts +0 -22
- package/corpus/templates/design/actions/show-design-questions.ts +5 -2
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +19 -8
- package/corpus/templates/design/app/components/design/EditPanel.tsx +11 -183
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +21 -4
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +1 -5
- package/corpus/templates/design/app/components/design/bridge/codegen.ts +1 -1
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +10 -19
- package/corpus/templates/design/app/components/design/edit-panel/appearance-properties.tsx +1 -1
- package/corpus/templates/design/app/components/design/edit-panel/layout-properties.tsx +13 -3
- package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +38 -32
- package/corpus/templates/design/app/components/design/edit-panel/position-layout-properties.tsx +1 -4
- package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +0 -4
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +15 -6
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +2 -2
- package/corpus/templates/design/app/components/visual-editor/NodeRewriteProposal.tsx +0 -1
- package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +1 -1
- package/corpus/templates/design/app/i18n-data.ts +122 -0
- package/corpus/templates/design/app/lib/clipboard-content-lineage.ts +11 -1
- package/corpus/templates/design/app/pages/DesignEditor.tsx +50 -254
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +163 -8
- package/corpus/templates/design/app/pages/Index.tsx +17 -0
- package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +44 -32
- package/corpus/templates/design/app/pages/design-editor/canvas-primitives.ts +10 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +49 -3
- package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +31 -0
- package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +28 -0
- package/corpus/templates/design/app/pages/design-editor/commands/add-auto-layout.ts +3 -3
- package/corpus/templates/design/app/pages/design-editor/commands/align-selection.ts +44 -14
- package/corpus/templates/design/app/pages/design-editor/commands/apply-local-content-update.ts +16 -5
- package/corpus/templates/design/app/pages/design-editor/commands/change-selected-z-index.ts +1 -1
- package/corpus/templates/design/app/pages/design-editor/commands/frame-selection.ts +1 -1
- package/corpus/templates/design/app/pages/design-editor/commands/group-selection.ts +1 -1
- package/corpus/templates/design/app/pages/design-editor/commands/nudge-selection.ts +1 -1
- package/corpus/templates/design/app/pages/design-editor/commands/paste-selection.ts +142 -17
- package/corpus/templates/design/app/pages/design-editor/commands/screen-visual-duplicate-change.ts +1 -0
- package/corpus/templates/design/app/pages/design-editor/commands/ungroup-selection.ts +1 -1
- package/corpus/templates/design/app/pages/design-editor/commands/visual-duplicate-change.ts +1 -0
- package/corpus/templates/design/app/pages/design-editor/cross-screen-text-color.ts +25 -9
- package/corpus/templates/design/app/pages/design-editor/editor-state.ts +1 -0
- package/corpus/templates/design/app/pages/design-editor/measure-child-rects.ts +83 -0
- package/corpus/templates/design/app/pages/design-editor/paste-placement.ts +66 -0
- package/corpus/templates/design/server/routes/[...page].get.ts +0 -1
- package/corpus/templates/design/shared/code-layer.ts +120 -70
- package/corpus/templates/design/shared/design-surface-index.ts +0 -1
- package/corpus/templates/design/shared/pen-path.ts +0 -4
- package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/dispatch/app/routes/integrations.tsx +0 -109
- package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/factory/actions/navigate.ts +2 -2
- package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +0 -13
- package/corpus/templates/factory/app/routes/factory.tsx +0 -1
- package/corpus/templates/factory/server/factory-graph/store.ts +0 -1
- package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +0 -1
- package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/mail/app/components/email/EmailList.tsx +0 -1
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/mail/shared/markdown.ts +3 -0
- package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/slides/actions/add-slide.ts +0 -1
- package/corpus/templates/slides/actions/list-decks.ts +1 -1
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +1 -4
- package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +0 -1
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1 -1
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +1 -6
- package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +5 -1
- package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/corpus/templates/tasks/app/components/layout/Layout.tsx +0 -1
- package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +1 -4
- package/corpus/templates/tasks/server/custom-fields/store.ts +1 -6
- package/corpus/templates/tasks/shared/list-screen-snapshot.ts +2 -2
- package/dist/agent/engine/registry.js +27 -14
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/production-agent.d.ts +19 -6
- package/dist/agent/production-agent.js +57 -16
- package/dist/agent/types.d.ts +3 -0
- package/dist/client/EnvironmentBadge.d.ts +1 -0
- package/dist/client/EnvironmentBadge.js +7 -0
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/routes.d.ts +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +248 -0
- package/dist/deploy/build.js +12 -1
- package/dist/index.d.ts +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +2 -2
- package/dist/progress/routes.d.ts +1 -1
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/server/agent-chat/plugin-options.d.ts +3 -2
- package/dist/server/agent-chat-plugin.js +5 -2
- package/dist/server/index.d.ts +1 -1
- package/dist/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
- package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/dist/templates/chat/actions/navigate.ts +2 -2
- package/dist/templates/default/.agents/skills/secrets/SKILL.md +5 -1
- package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/dist/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
- package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
- package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/dist/vite/agent-native-config-loader.d.ts +1 -0
- package/dist/vite/agent-native-config-loader.js +3 -3
- package/dist/vite/agents-bundle-plugin.d.ts +1 -1
- package/dist/vite/agents-bundle-plugin.js +13 -1
- package/dist/vite/client.js +14 -14
- package/docs/content/agent-native-config.mdx +62 -11
- package/docs/content/agent-surfaces.mdx +6 -0
- package/docs/content/environment-variables.mdx +5 -2
- package/package.json +3 -3
- package/src/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
- package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/src/templates/chat/actions/navigate.ts +2 -2
- package/src/templates/default/.agents/skills/secrets/SKILL.md +5 -1
- package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
- package/src/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
- package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
- package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
|
@@ -14,7 +14,9 @@ import fs from "fs";
|
|
|
14
14
|
* without restarting the server.
|
|
15
15
|
*/
|
|
16
16
|
import path from "path";
|
|
17
|
+
import { loadEnv } from "vite";
|
|
17
18
|
import { getWorkspaceCoreExports } from "../deploy/workspace-core.js";
|
|
19
|
+
import { findWorkspaceRoot } from "../scripts/utils.js";
|
|
18
20
|
import { readAgentsBundleFromFs, resolveAgentInstructionPaths, } from "../server/agents-bundle.js";
|
|
19
21
|
import { createAgentNativeConfigContext, loadResolvedAgentNativeConfig, } from "./agent-native-config-loader.js";
|
|
20
22
|
const VIRTUAL_ID = "virtual:agents-bundle";
|
|
@@ -72,7 +74,17 @@ export function agentsBundlePlugin(options = {}) {
|
|
|
72
74
|
name: "agent-native-agents-bundle",
|
|
73
75
|
async configResolved(config) {
|
|
74
76
|
projectRoot = config.root;
|
|
75
|
-
|
|
77
|
+
const mode = config.mode ?? "development";
|
|
78
|
+
const workspaceRoot = findWorkspaceRoot(projectRoot);
|
|
79
|
+
const environment = {
|
|
80
|
+
...(workspaceRoot && workspaceRoot !== projectRoot
|
|
81
|
+
? loadEnv(mode, workspaceRoot, "")
|
|
82
|
+
: {}),
|
|
83
|
+
...loadEnv(mode, projectRoot, ""),
|
|
84
|
+
...process.env,
|
|
85
|
+
};
|
|
86
|
+
agentConfigPromise = loadResolvedAgentNativeConfig(projectRoot, createAgentNativeConfigContext(config.command, mode), {
|
|
87
|
+
environment,
|
|
76
88
|
loadProjectConfig: options.agentNativeConfig === undefined,
|
|
77
89
|
projectConfig: options.agentNativeConfig,
|
|
78
90
|
});
|
package/dist/vite/client.js
CHANGED
|
@@ -7,7 +7,7 @@ import { renderDesignSystemThemeCss, } from "@agent-native/toolkit/design-system
|
|
|
7
7
|
import { loadEnv, } from "vite";
|
|
8
8
|
import { mergePendingChangelog, parsePendingEntry, } from "../changelog/parse.js";
|
|
9
9
|
import { getViteDevRecoveryScript } from "../client/vite-dev-recovery-script.js";
|
|
10
|
-
import { inferAgentNativeDeploymentEnvironment, mergeAgentNativeConfigs, resolveAgentNativeConfig, } from "../config.js";
|
|
10
|
+
import { inferAgentNativeDeploymentEnvironment, mergeAgentNativeConfigs, readAgentNativeConfigEnv, resolveAgentNativeConfig, } from "../config.js";
|
|
11
11
|
import { writeAgentNativeNitroPresetMarker } from "../deploy/nitro-preset.js";
|
|
12
12
|
import { findWorkspaceRoot } from "../scripts/utils.js";
|
|
13
13
|
import { verifyEmbedSessionToken } from "../server/embed-session.js";
|
|
@@ -2805,7 +2805,19 @@ function createAgentNativeConfig(options = {}, command, userConfig = {}, mode =
|
|
|
2805
2805
|
const cwd = process.cwd();
|
|
2806
2806
|
const configContext = createAgentNativeConfigContext(command, mode);
|
|
2807
2807
|
const projectConfigInput = projectConfig ?? options.agentNativeConfig;
|
|
2808
|
-
|
|
2808
|
+
// Workspace env fallback. If this app is inside a workspace, tell Vite to
|
|
2809
|
+
// also look for .env files at the workspace root. Per-app .env still wins
|
|
2810
|
+
// (Vite's loadEnv merges in precedence order — app dir is loaded after).
|
|
2811
|
+
const workspaceRoot = findWorkspaceRoot(cwd);
|
|
2812
|
+
const envDir = workspaceRoot && workspaceRoot !== cwd ? workspaceRoot : cwd;
|
|
2813
|
+
const runtimeEnv = {
|
|
2814
|
+
...(workspaceRoot && workspaceRoot !== cwd
|
|
2815
|
+
? loadEnv(mode, workspaceRoot, "")
|
|
2816
|
+
: {}),
|
|
2817
|
+
...loadEnv(mode, cwd, ""),
|
|
2818
|
+
...process.env,
|
|
2819
|
+
};
|
|
2820
|
+
const appConfig = resolveAgentNativeConfig(mergeAgentNativeConfigs(mergeAgentNativeConfigs(readAgentNativeJsonConfig(cwd), readAgentNativeConfigEnv(runtimeEnv)), projectConfigInput
|
|
2809
2821
|
? resolveAgentNativeConfig(projectConfigInput, configContext)
|
|
2810
2822
|
: {}), configContext);
|
|
2811
2823
|
const inferredDeploymentEnvironment = appConfig.deployment?.environment ??
|
|
@@ -2823,11 +2835,6 @@ function createAgentNativeConfig(options = {}, command, userConfig = {}, mode =
|
|
|
2823
2835
|
process.env.CF_PAGES_COMMIT_SHA?.trim() ||
|
|
2824
2836
|
process.env.AGENT_NATIVE_BUILD_SHA?.trim() ||
|
|
2825
2837
|
"development";
|
|
2826
|
-
// Workspace env fallback. If this app is inside a workspace, tell Vite to
|
|
2827
|
-
// also look for .env files at the workspace root. Per-app .env still wins
|
|
2828
|
-
// (Vite's loadEnv merges in precedence order — app dir is loaded after).
|
|
2829
|
-
const workspaceRoot = findWorkspaceRoot(cwd);
|
|
2830
|
-
const envDir = workspaceRoot && workspaceRoot !== cwd ? workspaceRoot : cwd;
|
|
2831
2838
|
// Preload workspace-root .env into process.env so Nitro server code sees
|
|
2832
2839
|
// shared keys during dev (Nitro reads process.env, not vite's envDir).
|
|
2833
2840
|
if (workspaceRoot && workspaceRoot !== cwd) {
|
|
@@ -2844,13 +2851,6 @@ function createAgentNativeConfig(options = {}, command, userConfig = {}, mode =
|
|
|
2844
2851
|
}
|
|
2845
2852
|
catch { }
|
|
2846
2853
|
}
|
|
2847
|
-
const runtimeEnv = {
|
|
2848
|
-
...(workspaceRoot && workspaceRoot !== cwd
|
|
2849
|
-
? loadEnv(mode, workspaceRoot, "")
|
|
2850
|
-
: {}),
|
|
2851
|
-
...loadEnv(mode, cwd, ""),
|
|
2852
|
-
...process.env,
|
|
2853
|
-
};
|
|
2854
2854
|
reportRuntimeConfigDiagnostics(appConfig, configContext, mode, runtimeEnv);
|
|
2855
2855
|
const { base } = getConfiguredAppBasePath();
|
|
2856
2856
|
const isWorkspaceChild = isTruthyRuntimeValue(process.env.AGENT_NATIVE_WORKSPACE) ||
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Agent-Native app configuration"
|
|
3
|
-
description: "Configure public Agent-Native app defaults with agent-native.config.ts,
|
|
4
|
-
search: "agent-native.config.ts agent-native.ts agent-native.mts agent-native.config.mts agent-native.json onboarding runtime readiness configuration instructions"
|
|
3
|
+
description: "Configure public Agent-Native app defaults with agent-native.config.ts, deterministic environment aliases, or agent-native.json compatibility."
|
|
4
|
+
search: "agent-native.config.ts agent-native.ts agent-native.mts agent-native.config.mts agent-native.json AGENT_NATIVE_CONFIG onboarding runtime readiness configuration instructions"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Agent-Native app configuration
|
|
@@ -17,10 +17,12 @@ value in these files as public. Put credentials and deployment-specific values
|
|
|
17
17
|
in the environment or the scoped secret store instead.
|
|
18
18
|
|
|
19
19
|
This file is the home for public, app-owned configuration - the values that
|
|
20
|
-
describe how an app should behave or what capabilities it exposes.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
describe how an app should behave or what capabilities it exposes. Prefer it
|
|
21
|
+
for new non-secret app settings. When the same public setting needs a
|
|
22
|
+
deployment-specific value, the framework also accepts a deterministic
|
|
23
|
+
`AGENT_NATIVE_CONFIG*` environment alias. Environment variables still own
|
|
24
|
+
secrets, provider credentials, database URLs, host-specific values, and other
|
|
25
|
+
server-only values that are not part of this public config.
|
|
24
26
|
|
|
25
27
|
## File location and loading
|
|
26
28
|
|
|
@@ -101,6 +103,48 @@ configuration portion of `agent-native.json`:
|
|
|
101
103
|
| `changelog.enabled` | `boolean` | Enables the app changelog workflow and lets agents create user-facing entries. |
|
|
102
104
|
| `harness` | `boolean` or `{ runtimes: string[] }` | Enables the hosted tools-only harness, optionally narrowed to `claude-code`, `codex`, `pi`, or `opencode`. See [Harness Agents](/docs/harness-agents). |
|
|
103
105
|
|
|
106
|
+
## Deterministic environment aliases
|
|
107
|
+
|
|
108
|
+
Every supported public config path has an environment alias under the
|
|
109
|
+
`AGENT_NATIVE_CONFIG` namespace. Convert each lower-camel-case path segment to
|
|
110
|
+
upper snake case and join segments with underscores:
|
|
111
|
+
|
|
112
|
+
| Config path | Environment alias |
|
|
113
|
+
| ---------------------- | ------------------------------------------ |
|
|
114
|
+
| the whole config | `AGENT_NATIVE_CONFIG` |
|
|
115
|
+
| `runtime` | `AGENT_NATIVE_CONFIG_RUNTIME` |
|
|
116
|
+
| `runtime.auth` | `AGENT_NATIVE_CONFIG_RUNTIME_AUTH` |
|
|
117
|
+
| `runtime.auth.enabled` | `AGENT_NATIVE_CONFIG_RUNTIME_AUTH_ENABLED` |
|
|
118
|
+
| `translations.locales` | `AGENT_NATIVE_CONFIG_TRANSLATIONS_LOCALES` |
|
|
119
|
+
|
|
120
|
+
The whole config, an object section, or a deeply nested object can be supplied
|
|
121
|
+
as one JSON string. Arrays also use JSON strings. More-specific aliases are
|
|
122
|
+
applied after broader aliases, so a leaf or nested fragment can refine a
|
|
123
|
+
whole-config value. Objects merge recursively. Arrays and scalar values are
|
|
124
|
+
replaced by the more-specific alias.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
AGENT_NATIVE_CONFIG='{"runtime":{"auth":{"enabled":true}}}'
|
|
128
|
+
AGENT_NATIVE_CONFIG_RUNTIME='{"database":{"required":false}}'
|
|
129
|
+
AGENT_NATIVE_CONFIG_RUNTIME_AUTH_ENABLED=false
|
|
130
|
+
AGENT_NATIVE_CONFIG_TRANSLATIONS_LOCALES='["en-US","es-ES"]'
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Boolean leaves accept `true`, `false`, `1`, `0`, `yes`, `no`, `on`, and `off`.
|
|
134
|
+
Number leaves accept finite decimal values. String leaves accept normal
|
|
135
|
+
environment strings or JSON-quoted strings. Object and array values must be
|
|
136
|
+
valid JSON of the matching shape. An invalid JSON value or an unknown
|
|
137
|
+
`AGENT_NATIVE_CONFIG*` path fails configuration loading with the offending
|
|
138
|
+
variable name. Unknown keys inside fixed-shape JSON fragments fail as well;
|
|
139
|
+
the per-mode `onboarding.firstRun` map is the intentional dynamic-key
|
|
140
|
+
exception.
|
|
141
|
+
|
|
142
|
+
These aliases are for public configuration only. Their resolved values are
|
|
143
|
+
serialized into the browser bundle, just like values from
|
|
144
|
+
`agent-native.config.ts`. Do not put API keys, tokens, passwords, database
|
|
145
|
+
URLs, or other secrets in them. Keep those in deployment configuration or the
|
|
146
|
+
scoped secret and connection stores.
|
|
147
|
+
|
|
104
148
|
## Configuration vs environment variables
|
|
105
149
|
|
|
106
150
|
Use the config file or JSON manifest for stable, non-secret application
|
|
@@ -243,16 +287,21 @@ For a Vite app, the effective shared configuration follows this order:
|
|
|
243
287
|
1. Framework defaults. First-run onboarding defaults to `off`; auth and a
|
|
244
288
|
persistent database default to required in production diagnostics.
|
|
245
289
|
2. `agent-native.json` at the app root.
|
|
246
|
-
3.
|
|
290
|
+
3. `AGENT_NATIVE_CONFIG` and its path aliases from the deployment environment.
|
|
291
|
+
The legacy `AGENT_NATIVE_DEPLOYMENT_ENVIRONMENT` variable remains a
|
|
292
|
+
fallback for deployment inference only; it does not override explicit JSON,
|
|
293
|
+
typed, or canonical config-alias values.
|
|
294
|
+
4. The automatically loaded typed file, if present. The loader checks these
|
|
247
295
|
candidates in order: `agent-native.config.ts`, `agent-native.ts`,
|
|
248
296
|
`agent-native.mts`, `agent-native.config.mts`.
|
|
249
|
-
|
|
297
|
+
5. An explicit `agentNativeConfig` passed to `agentNative()` or the legacy
|
|
250
298
|
`defineConfig()` wrapper. Supplying this option skips automatic typed-file
|
|
251
299
|
loading, while the explicit value still overlays `agent-native.json`.
|
|
252
|
-
|
|
300
|
+
6. For onboarding only, the legacy public Vite variables
|
|
253
301
|
`VITE_AGENT_NATIVE_FIRST_RUN_ONBOARDING` and
|
|
254
302
|
`VITE_AGENT_NATIVE_FIRST_RUN_ONBOARDING_SKIP_INTEGRATIONS` can override the
|
|
255
|
-
resolved onboarding mode. Use the config file
|
|
303
|
+
resolved onboarding mode. Use the config file or its canonical path alias
|
|
304
|
+
for new work.
|
|
256
305
|
|
|
257
306
|
Use only one of the four typed filenames. If more than one exists, the first
|
|
258
307
|
candidate in the loader's order wins, with `agent-native.config.ts` preferred
|
|
@@ -325,7 +374,9 @@ default that never depends on the Vite command or mode:
|
|
|
325
374
|
```
|
|
326
375
|
|
|
327
376
|
For new app-owned configuration, prefer `agent-native.config.ts` when the app needs
|
|
328
|
-
types, a mode-aware factory, or a clear place to evolve public defaults.
|
|
377
|
+
types, a mode-aware factory, or a clear place to evolve public defaults. Use a
|
|
378
|
+
canonical `AGENT_NATIVE_CONFIG_<PATH>` alias only when a non-secret public value
|
|
379
|
+
needs to vary by deployment. Keep
|
|
329
380
|
`agent-native.json` when portability or existing manifest sections are the
|
|
330
381
|
reason to use it. Both formats accept the same shared options shown above.
|
|
331
382
|
|
|
@@ -188,6 +188,12 @@ createAgentChatPlugin({
|
|
|
188
188
|
});
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
+
When the same resolver also handles unrestricted chat, return
|
|
192
|
+
`{ mode: "default" }`. This preserves the normal `initialToolNames` filtering
|
|
193
|
+
and `tool-search` discovery instead of loading every available schema on the
|
|
194
|
+
first model request. The explicit mode is preserved across durable
|
|
195
|
+
continuations.
|
|
196
|
+
|
|
191
197
|
An empty list exposes no native actions. Unknown names fail the request instead
|
|
192
198
|
of widening access. Every allowed action is loaded directly on the first model
|
|
193
199
|
request; include `tool-search` explicitly only when discovery inside the
|
|
@@ -19,8 +19,11 @@ use environment variables for deploy-level configuration.
|
|
|
19
19
|
|
|
20
20
|
For committed, non-secret app defaults such as first-run onboarding, use the
|
|
21
21
|
[Agent-Native app configuration guide](/docs/agent-native-config) instead of
|
|
22
|
-
adding another
|
|
23
|
-
|
|
22
|
+
adding another standalone environment setting. If a public config value must
|
|
23
|
+
vary by deployment, use its deterministic `AGENT_NATIVE_CONFIG_<PATH>` alias,
|
|
24
|
+
which also becomes part of the public browser bundle. Keep credentials and
|
|
25
|
+
user-, organization-, or workspace-scoped values in the appropriate secret or
|
|
26
|
+
connection store.
|
|
24
27
|
|
|
25
28
|
## Common application and deployment variables
|
|
26
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.167.0",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -427,8 +427,8 @@
|
|
|
427
427
|
"y-protocols": "^1.0.7",
|
|
428
428
|
"yjs": "^13.6.32",
|
|
429
429
|
"zod": "^4.3.6",
|
|
430
|
-
"@agent-native/recap-cli": "0.5.
|
|
431
|
-
"@agent-native/toolkit": "^0.16.
|
|
430
|
+
"@agent-native/recap-cli": "0.5.6",
|
|
431
|
+
"@agent-native/toolkit": "^0.16.9"
|
|
432
432
|
},
|
|
433
433
|
"devDependencies": {
|
|
434
434
|
"@ai-sdk/anthropic": "^3.0.71",
|
|
@@ -38,7 +38,11 @@ connection exists:
|
|
|
38
38
|
register a `kind: "oauth"` entry so the shared UI renders Connect and the
|
|
39
39
|
runtime owns status, refresh, and reauthorization.
|
|
40
40
|
- **Deploy- or app-level configuration** - use deployment/runtime
|
|
41
|
-
configuration, not a per-user secret row.
|
|
41
|
+
configuration, not a per-user secret row. For a non-secret public setting
|
|
42
|
+
already represented by `AgentNativeConfig`, put the default in
|
|
43
|
+
`agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
|
|
44
|
+
for a deployment override. Never put a credential or provider key in that
|
|
45
|
+
public namespace.
|
|
42
46
|
- **Account, customer, manager, or other non-secret identifier** - store it as
|
|
43
47
|
scoped connection metadata or app data, not as a masked secret field.
|
|
44
48
|
|
|
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
|
|
|
55
55
|
ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
|
|
56
56
|
storage and persist only URLs, ids, or handles.
|
|
57
57
|
- Store shared runtime configuration in the workspace root `.env`; use
|
|
58
|
-
`apps/<app>/.env` only for app-specific overrides.
|
|
58
|
+
`apps/<app>/.env` only for app-specific overrides. For public app behavior,
|
|
59
|
+
prefer the default in `agent-native.config.ts` and use the deterministic
|
|
60
|
+
`AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
|
|
61
|
+
needs a deployment override. Never hardcode API keys,
|
|
59
62
|
tokens, webhook URLs, signing secrets, private Builder/internal data, customer
|
|
60
63
|
data, or credential-looking literals in source, docs, prompts, fixtures,
|
|
61
64
|
application state, action responses, or generated app content. Use
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
import { defineAction } from "@agent-native/core/action";
|
|
17
|
-
import {
|
|
17
|
+
import { writeAppStateForCurrentTab } from "@agent-native/core/application-state";
|
|
18
18
|
import { z } from "zod";
|
|
19
19
|
|
|
20
20
|
export default defineAction({
|
|
@@ -35,7 +35,7 @@ export default defineAction({
|
|
|
35
35
|
if (args.path) nav.path = args.path;
|
|
36
36
|
if (args.threadId) nav.threadId = args.threadId;
|
|
37
37
|
nav._writeId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
38
|
-
await
|
|
38
|
+
await writeAppStateForCurrentTab("navigate", nav);
|
|
39
39
|
return `Navigating to ${args.view || args.path}`;
|
|
40
40
|
},
|
|
41
41
|
});
|
|
@@ -38,7 +38,11 @@ connection exists:
|
|
|
38
38
|
register a `kind: "oauth"` entry so the shared UI renders Connect and the
|
|
39
39
|
runtime owns status, refresh, and reauthorization.
|
|
40
40
|
- **Deploy- or app-level configuration** - use deployment/runtime
|
|
41
|
-
configuration, not a per-user secret row.
|
|
41
|
+
configuration, not a per-user secret row. For a non-secret public setting
|
|
42
|
+
already represented by `AgentNativeConfig`, put the default in
|
|
43
|
+
`agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
|
|
44
|
+
for a deployment override. Never put a credential or provider key in that
|
|
45
|
+
public namespace.
|
|
42
46
|
- **Account, customer, manager, or other non-secret identifier** - store it as
|
|
43
47
|
scoped connection metadata or app data, not as a masked secret field.
|
|
44
48
|
|
|
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
|
|
|
55
55
|
ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
|
|
56
56
|
storage and persist only URLs, ids, or handles.
|
|
57
57
|
- Store shared runtime configuration in the workspace root `.env`; use
|
|
58
|
-
`apps/<app>/.env` only for app-specific overrides.
|
|
58
|
+
`apps/<app>/.env` only for app-specific overrides. For public app behavior,
|
|
59
|
+
prefer the default in `agent-native.config.ts` and use the deterministic
|
|
60
|
+
`AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
|
|
61
|
+
needs a deployment override. Never hardcode API keys,
|
|
59
62
|
tokens, webhook URLs, signing secrets, private Builder/internal data, customer
|
|
60
63
|
data, or credential-looking literals in source, docs, prompts, fixtures,
|
|
61
64
|
application state, action responses, or generated app content. Use
|
|
@@ -38,7 +38,11 @@ connection exists:
|
|
|
38
38
|
register a `kind: "oauth"` entry so the shared UI renders Connect and the
|
|
39
39
|
runtime owns status, refresh, and reauthorization.
|
|
40
40
|
- **Deploy- or app-level configuration** - use deployment/runtime
|
|
41
|
-
configuration, not a per-user secret row.
|
|
41
|
+
configuration, not a per-user secret row. For a non-secret public setting
|
|
42
|
+
already represented by `AgentNativeConfig`, put the default in
|
|
43
|
+
`agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
|
|
44
|
+
for a deployment override. Never put a credential or provider key in that
|
|
45
|
+
public namespace.
|
|
42
46
|
- **Account, customer, manager, or other non-secret identifier** - store it as
|
|
43
47
|
scoped connection metadata or app data, not as a masked secret field.
|
|
44
48
|
|
|
@@ -38,7 +38,11 @@ connection exists:
|
|
|
38
38
|
register a `kind: "oauth"` entry so the shared UI renders Connect and the
|
|
39
39
|
runtime owns status, refresh, and reauthorization.
|
|
40
40
|
- **Deploy- or app-level configuration** - use deployment/runtime
|
|
41
|
-
configuration, not a per-user secret row.
|
|
41
|
+
configuration, not a per-user secret row. For a non-secret public setting
|
|
42
|
+
already represented by `AgentNativeConfig`, put the default in
|
|
43
|
+
`agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
|
|
44
|
+
for a deployment override. Never put a credential or provider key in that
|
|
45
|
+
public namespace.
|
|
42
46
|
- **Account, customer, manager, or other non-secret identifier** - store it as
|
|
43
47
|
scoped connection metadata or app data, not as a masked secret field.
|
|
44
48
|
|
|
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
|
|
|
55
55
|
ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
|
|
56
56
|
storage and persist only URLs, ids, or handles.
|
|
57
57
|
- Store shared runtime configuration in the workspace root `.env`; use
|
|
58
|
-
`apps/<app>/.env` only for app-specific overrides.
|
|
58
|
+
`apps/<app>/.env` only for app-specific overrides. For public app behavior,
|
|
59
|
+
prefer the default in `agent-native.config.ts` and use the deterministic
|
|
60
|
+
`AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
|
|
61
|
+
needs a deployment override. Never hardcode API keys,
|
|
59
62
|
tokens, webhook URLs, signing secrets, private Builder/internal data, customer
|
|
60
63
|
data, or credential-looking literals in source, docs, prompts, fixtures,
|
|
61
64
|
application state, action responses, or generated app content. Use
|