@agent-native/core 0.94.3 → 0.95.1
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 +2 -2
- package/corpus/core/CHANGELOG.md +16 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +13 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +18 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +16 -0
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +17 -0
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +16 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +17 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +15 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +16 -0
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +11 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +12 -0
- package/corpus/core/docs/content/pr-visual-recap.mdx +20 -12
- package/corpus/core/docs/content/template-design.mdx +16 -0
- package/corpus/core/package.json +2 -2
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +3 -0
- package/corpus/core/src/agent/engine/registry.ts +6 -1
- package/corpus/core/src/agent/engine/types.ts +2 -0
- package/corpus/core/src/agent/production-agent.ts +20 -0
- package/corpus/core/src/agent/thread-data-builder.ts +41 -17
- package/corpus/core/src/cli/code-agent-executor.ts +61 -1
- package/corpus/core/src/cli/pr-visual-recap-workflow.ts +1 -1
- package/corpus/core/src/cli/recap.ts +262 -25
- package/corpus/core/src/client/AssistantChat.tsx +250 -25
- package/corpus/core/src/client/chat/tool-call-display.tsx +1 -1
- package/corpus/core/src/client/chat/use-reconnect-reader-owner.ts +28 -0
- package/corpus/core/src/client/guided-questions.tsx +9 -1
- package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +6 -7
- package/corpus/core/src/client/settings/UsageSection.tsx +26 -5
- package/corpus/core/src/client/sse-event-processor.ts +90 -21
- package/corpus/core/src/connections/catalog.ts +2 -2
- package/corpus/core/src/deploy/build.ts +3 -0
- package/corpus/core/src/index.ts +2 -0
- package/corpus/core/src/integrations/catalog.ts +2 -2
- package/corpus/core/src/server/auth.ts +1 -1
- package/corpus/core/src/server/credential-provider.ts +7 -3
- package/corpus/core/src/shared/cache-control.ts +10 -4
- package/corpus/core/src/usage/store.ts +82 -20
- package/corpus/templates/analytics/app/lib/data-sources.ts +5 -4
- package/corpus/templates/analytics/changelog/2026-07-10-slack-token-setup-marked-legacy.md +6 -0
- package/corpus/templates/analytics/server/lib/credential-keys.ts +6 -2
- package/corpus/templates/brain/changelog/2026-07-10-slack-backfill-token-marked-legacy.md +6 -0
- package/corpus/templates/brain/server/register-secrets.ts +2 -2
- package/corpus/templates/clips/app/components/library/library-layout.tsx +7 -1
- package/corpus/templates/clips/app/components/library/page-header.tsx +19 -3
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +16 -12
- package/corpus/templates/clips/changelog/2026-07-10-new-recording-appears-once-when-the-library-sidebar-is-open.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-slack-token-fallback-guidance.md +6 -0
- package/corpus/templates/clips/server/register-secrets.ts +1 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +0 -66
- package/corpus/templates/content/app/routes/_app.local-files.tsx +7 -47
- package/corpus/templates/content/changelog/2026-07-10-local-folders-now-wait-for-an-explicit-pull-before-content-r.md +6 -0
- package/corpus/templates/content/package.json +1 -1
- package/corpus/templates/design/actions/generate-design.ts +128 -31
- package/corpus/templates/design/actions/present-design-variants.ts +37 -9
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +9 -3
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +32 -10
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +2 -2
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +9 -1
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +7 -5
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +3 -0
- package/corpus/templates/design/app/global.css +10 -0
- package/corpus/templates/design/app/hooks/use-question-flow.ts +9 -2
- package/corpus/templates/design/app/i18n/zh-TW.ts +1 -0
- package/corpus/templates/design/app/i18n-data.ts +21 -11
- package/corpus/templates/design/changelog/2026-07-10-editor-panels-are-easier-to-distinguish-and-design-intake-qu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-interact-mode-now-stays-on-the-full-canvas-matches-edit-visu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-web-designs-open-at-desktop-size-and-adapt-across-mobile.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-tweaks-now-link-to-full-documentation.md +6 -0
- package/corpus/templates/design/server/plugins/agent-chat.ts +2 -0
- package/corpus/templates/mail/app/i18n/ar-SA.ts +3 -3
- package/corpus/templates/mail/app/i18n/de-DE.ts +3 -3
- package/corpus/templates/mail/app/i18n/en-US.ts +4 -3
- package/corpus/templates/mail/app/i18n/es-ES.ts +3 -3
- package/corpus/templates/mail/app/i18n/fr-FR.ts +3 -3
- package/corpus/templates/mail/app/i18n/hi-IN.ts +3 -3
- package/corpus/templates/mail/app/i18n/ja-JP.ts +3 -3
- package/corpus/templates/mail/app/i18n/ko-KR.ts +3 -3
- package/corpus/templates/mail/app/i18n/pt-BR.ts +3 -3
- package/corpus/templates/mail/app/i18n/zh-CN.ts +3 -3
- package/corpus/templates/mail/app/i18n/zh-TW.ts +3 -3
- package/corpus/templates/mail/changelog/2026-07-10-slack-intake-marked-legacy.md +6 -0
- package/corpus/templates/mail/server/lib/env-config.ts +5 -4
- package/corpus/templates/plan/actions/record-recap-usage-cost.ts +49 -0
- package/corpus/templates/plan/actions/record-recap-usage.ts +15 -22
- package/corpus/templates/plan/package.json +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +3 -0
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +1 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +2 -0
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/engine/types.d.ts +2 -0
- package/dist/agent/engine/types.d.ts.map +1 -1
- package/dist/agent/engine/types.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +20 -0
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +36 -18
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts +2 -0
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +52 -3
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.js +1 -1
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.d.ts +22 -2
- package/dist/cli/recap.d.ts.map +1 -1
- package/dist/cli/recap.js +199 -22
- package/dist/cli/recap.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +3 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +200 -28
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/chat/tool-call-display.js +1 -1
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/chat/use-reconnect-reader-owner.d.ts +11 -0
- package/dist/client/chat/use-reconnect-reader-owner.d.ts.map +1 -0
- package/dist/client/chat/use-reconnect-reader-owner.js +21 -0
- package/dist/client/chat/use-reconnect-reader-owner.js.map +1 -0
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +5 -1
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.js +5 -7
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
- package/dist/client/settings/UsageSection.d.ts.map +1 -1
- package/dist/client/settings/UsageSection.js +12 -3
- package/dist/client/settings/UsageSection.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +67 -20
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/connections/catalog.d.ts +2 -2
- package/dist/connections/catalog.js +2 -2
- package/dist/connections/catalog.js.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +3 -1
- package/dist/deploy/build.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/catalog.js +2 -2
- package/dist/integrations/catalog.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.js +1 -1
- package/dist/server/auth.js.map +1 -1
- package/dist/server/credential-provider.d.ts +5 -3
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +7 -3
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/shared/cache-control.d.ts +8 -6
- package/dist/shared/cache-control.d.ts.map +1 -1
- package/dist/shared/cache-control.js +8 -3
- package/dist/shared/cache-control.js.map +1 -1
- package/dist/usage/store.d.ts +21 -0
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +54 -19
- package/dist/usage/store.js.map +1 -1
- package/docs/content/locales/ar-SA/template-design.mdx +13 -0
- package/docs/content/locales/de-DE/template-design.mdx +18 -0
- package/docs/content/locales/es-ES/template-design.mdx +16 -0
- package/docs/content/locales/fr-FR/template-design.mdx +17 -0
- package/docs/content/locales/hi-IN/template-design.mdx +16 -0
- package/docs/content/locales/ja-JP/template-design.mdx +17 -0
- package/docs/content/locales/ko-KR/template-design.mdx +15 -0
- package/docs/content/locales/pt-BR/template-design.mdx +16 -0
- package/docs/content/locales/zh-CN/template-design.mdx +11 -0
- package/docs/content/locales/zh-TW/template-design.mdx +12 -0
- package/docs/content/pr-visual-recap.mdx +20 -12
- package/docs/content/template-design.mdx +16 -0
- package/package.json +2 -2
|
@@ -19,6 +19,8 @@ const DEFAULT_COMMAND_TIMEOUT_MS = 120_000;
|
|
|
19
19
|
const MAX_TOOL_OUTPUT_CHARS = 50_000;
|
|
20
20
|
const MAX_FILE_READ_CHARS = 120_000;
|
|
21
21
|
const CODEX_CLI_ENGINE_NAME = "codex-cli";
|
|
22
|
+
const RECAP_SOURCE_TOOL_PROFILE = "recap-source";
|
|
23
|
+
const RECAP_SOURCE_OUTPUT_FILE = "recap-source.json";
|
|
22
24
|
/**
|
|
23
25
|
* Number of most-recent transcript events reconstructed as native
|
|
24
26
|
* EngineMessage objects (with proper tool-call / tool-result pairing).
|
|
@@ -134,6 +136,7 @@ export async function executeCodeAgentRun(options) {
|
|
|
134
136
|
const reasoningEffort = options.reasoningEffort ?? metadataReasoningEffort(existing);
|
|
135
137
|
const cwd = existing.cwd || process.cwd();
|
|
136
138
|
const permissionMode = existing.permissionMode ?? "full-auto";
|
|
139
|
+
const toolProfile = resolveCodeAgentToolProfile(process.env.AGENT_NATIVE_CODE_TOOL_PROFILE);
|
|
137
140
|
// Holds structured metadata emitted by the coding tools side-channel.
|
|
138
141
|
// Keyed by tool name; consumed when the matching tool_start / tool_done fires.
|
|
139
142
|
const pendingToolMeta = new Map();
|
|
@@ -143,8 +146,10 @@ export async function executeCodeAgentRun(options) {
|
|
|
143
146
|
}, (chunk) => {
|
|
144
147
|
// Stream incremental bash output to stdout for the terminal smoother
|
|
145
148
|
options.stdout?.write(chunk);
|
|
146
|
-
});
|
|
147
|
-
const mcpManager =
|
|
149
|
+
}, toolProfile);
|
|
150
|
+
const mcpManager = toolProfile
|
|
151
|
+
? null
|
|
152
|
+
: await startCodeAgentMcpManager(existing.id);
|
|
148
153
|
if (mcpManager) {
|
|
149
154
|
Object.assign(actions, mcpToolsToActionEntries(mcpManager, {
|
|
150
155
|
invocationPolicy: codeAgentMcpInvocationPolicy(permissionMode),
|
|
@@ -267,6 +272,7 @@ export async function executeCodeAgentRun(options) {
|
|
|
267
272
|
reasoningEffort,
|
|
268
273
|
}));
|
|
269
274
|
loopUsage = usageResult ?? null;
|
|
275
|
+
writeCodeAgentUsageSnapshot(cwd, loopUsage);
|
|
270
276
|
// Persist cumulative token totals from this turn into the run record so
|
|
271
277
|
// the UI can display per-run usage statistics.
|
|
272
278
|
if (loopUsage) {
|
|
@@ -1334,7 +1340,7 @@ Current run mode: ${mode} mode (${permissionMode}).
|
|
|
1334
1340
|
- No emojis or em dashes unless the user used them first.
|
|
1335
1341
|
- AGENTS.md files take precedence over these defaults on conflict. More deeply nested AGENTS.md files take precedence over shallower ones — check for them in directories you work in.${repoSection}${skillsSection}`;
|
|
1336
1342
|
}
|
|
1337
|
-
function createLocalCodeAgentActions(cwd, permissionMode, runId, onToolMetadata, onBashOutputChunk) {
|
|
1343
|
+
function createLocalCodeAgentActions(cwd, permissionMode, runId, onToolMetadata, onBashOutputChunk, toolProfile) {
|
|
1338
1344
|
const actions = createCodingToolRegistry({
|
|
1339
1345
|
cwd,
|
|
1340
1346
|
restrictToCwd: true,
|
|
@@ -1374,6 +1380,23 @@ function createLocalCodeAgentActions(cwd, permissionMode, runId, onToolMetadata,
|
|
|
1374
1380
|
return null;
|
|
1375
1381
|
},
|
|
1376
1382
|
});
|
|
1383
|
+
if (toolProfile === RECAP_SOURCE_TOOL_PROFILE) {
|
|
1384
|
+
const allowedOutput = path.resolve(cwd, RECAP_SOURCE_OUTPUT_FILE);
|
|
1385
|
+
const writeAction = actions.write;
|
|
1386
|
+
return {
|
|
1387
|
+
read: actions.read,
|
|
1388
|
+
write: {
|
|
1389
|
+
...writeAction,
|
|
1390
|
+
run: async (args, context) => {
|
|
1391
|
+
const requestedPath = args && typeof args.path === "string" ? args.path : "";
|
|
1392
|
+
if (path.resolve(cwd, requestedPath) !== allowedOutput) {
|
|
1393
|
+
return `Error: only ${RECAP_SOURCE_OUTPUT_FILE} may be written in the recap-source tool profile.`;
|
|
1394
|
+
}
|
|
1395
|
+
return writeAction.run(args, context);
|
|
1396
|
+
},
|
|
1397
|
+
},
|
|
1398
|
+
};
|
|
1399
|
+
}
|
|
1377
1400
|
if (permissionMode === "read-only") {
|
|
1378
1401
|
return {
|
|
1379
1402
|
bash: actions.bash,
|
|
@@ -1382,6 +1405,14 @@ function createLocalCodeAgentActions(cwd, permissionMode, runId, onToolMetadata,
|
|
|
1382
1405
|
}
|
|
1383
1406
|
return actions;
|
|
1384
1407
|
}
|
|
1408
|
+
function resolveCodeAgentToolProfile(value) {
|
|
1409
|
+
const normalized = value?.trim();
|
|
1410
|
+
if (!normalized)
|
|
1411
|
+
return undefined;
|
|
1412
|
+
if (normalized === RECAP_SOURCE_TOOL_PROFILE)
|
|
1413
|
+
return normalized;
|
|
1414
|
+
throw new Error(`Unsupported Agent-Native Code tool profile: ${normalized}`);
|
|
1415
|
+
}
|
|
1385
1416
|
export function classifyCodeAgentCommandPermission(command) {
|
|
1386
1417
|
const normalized = command.trim().toLowerCase();
|
|
1387
1418
|
if (!normalized)
|
|
@@ -1509,6 +1540,24 @@ function getPendingApproval(runId) {
|
|
|
1509
1540
|
: "full-auto",
|
|
1510
1541
|
};
|
|
1511
1542
|
}
|
|
1543
|
+
export function writeCodeAgentUsageSnapshot(cwd, usage) {
|
|
1544
|
+
const configuredPath = process.env.AGENT_NATIVE_CODE_USAGE_FILE?.trim();
|
|
1545
|
+
if (!configuredPath || !usage)
|
|
1546
|
+
return;
|
|
1547
|
+
const outputPath = path.isAbsolute(configuredPath)
|
|
1548
|
+
? configuredPath
|
|
1549
|
+
: path.resolve(cwd, configuredPath);
|
|
1550
|
+
try {
|
|
1551
|
+
fs.writeFileSync(outputPath, `${JSON.stringify(usage)}\n`, {
|
|
1552
|
+
encoding: "utf8",
|
|
1553
|
+
mode: 0o600,
|
|
1554
|
+
});
|
|
1555
|
+
}
|
|
1556
|
+
catch {
|
|
1557
|
+
// Usage reporting is best-effort and must not turn a completed agent run
|
|
1558
|
+
// into a failed recap when the optional sidecar cannot be written.
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1512
1561
|
function accumulateTokenUsage(existing, next) {
|
|
1513
1562
|
const prev = existing && typeof existing === "object" && !Array.isArray(existing)
|
|
1514
1563
|
? existing
|