@agent-native/core 0.99.0 → 0.99.2
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/core/CHANGELOG.md +23 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/agent/production-agent.ts +33 -38
- package/corpus/core/src/audit/config.ts +0 -1
- package/corpus/core/src/chat-threads/store.ts +57 -41
- package/corpus/core/src/cli/pr-visual-recap-workflow.ts +1 -1
- package/corpus/core/src/client/AssistantChat.tsx +1 -2
- package/corpus/core/src/client/analytics.ts +13 -0
- package/corpus/core/src/client/chat/message-components.tsx +15 -3
- package/corpus/core/src/client/chat/tool-call-display.tsx +18 -1
- package/corpus/core/src/client/extensions/EmbeddedExtension.tsx +5 -9
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +0 -133
- package/corpus/core/src/client/index.ts +7 -0
- package/corpus/core/src/client/settings/DemoModeSection.tsx +9 -65
- package/corpus/core/src/client/settings/SettingsPanel.tsx +1 -1
- package/corpus/core/src/client/use-db-sync.ts +3 -15
- package/corpus/core/src/client/use-demo-mode-status.ts +16 -30
- package/corpus/core/src/demo/browser-state.ts +47 -0
- package/corpus/core/src/demo/fetch-interceptor.ts +12 -59
- package/corpus/core/src/deploy/workspace-deploy.ts +2 -2
- package/corpus/core/src/server/action-discovery.ts +0 -1
- package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +13 -0
- package/corpus/core/src/server/agent-teams.ts +17 -0
- package/corpus/core/src/server/core-routes-plugin.ts +0 -30
- package/corpus/core/src/server/google-oauth.ts +6 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +67 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +48 -7
- package/corpus/templates/analytics/AGENTS.md +4 -4
- package/corpus/templates/analytics/actions/compose-dashboard.ts +12 -1
- package/corpus/templates/analytics/actions/dashboard-mutation-api.ts +15 -4
- package/corpus/templates/analytics/actions/mutate-dashboard.ts +2 -1
- package/corpus/templates/analytics/actions/update-dashboard.ts +14 -0
- package/corpus/templates/analytics/app/assets/replay-cursor.svg +17 -0
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +4 -3
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +21 -27
- package/corpus/templates/analytics/app/global.css +17 -9
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +32 -4
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +4 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/interpolate.ts +21 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +14 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/IssueDetail.tsx +1 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +77 -23
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +4 -6
- package/corpus/templates/analytics/changelog/2026-07-13-all-time-dashboard-filters-no-longer-send-invalid-dates-to-b.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-dashboard-charts-now-honor-the-selected-time-range-by-defaul.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-error-issue-titles-wrap-instead-of-overflowing.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-keep-real-authorized-identities-in-analytics-incident-lookup.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-saving-a-new-dashboard-view-no-longer-fails-with-a-server-er.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-session-replay-cursors-stay-hidden-until-their-first-recorde.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-session-replay-links-now-support-cmd-click-and-middle-click-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-the-analytics-agents-tab-is-available-again-from-the-main-na.md +6 -0
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +3 -3
- package/corpus/templates/analytics/server/lib/agent-readable-resource-context.ts +4 -0
- package/corpus/templates/analytics/server/lib/dashboard-time-scope.ts +170 -0
- package/corpus/templates/analytics/server/lib/dashboards-store.ts +43 -4
- package/corpus/templates/analytics/server/lib/error-capture.ts +30 -67
- package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +20 -5
- package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +1 -1
- package/corpus/templates/analytics/server/lib/session-replay.ts +5 -111
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +6 -0
- package/corpus/templates/assets/app/routes/library.tsx +3 -4
- package/corpus/templates/assets/changelog/2026-07-13-internal-library-links-open-in-new-tabs.md +6 -0
- package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +43 -40
- package/corpus/templates/calendar/app/pages/ManageBookingPage.tsx +6 -8
- package/corpus/templates/calendar/changelog/2026-07-13-booking-links-and-previews-open-in-new-tabs.md +6 -0
- package/corpus/templates/clips/app/components/library/recording-card.tsx +27 -26
- package/corpus/templates/clips/app/components/library/space-card.tsx +4 -6
- package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +4 -7
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +19 -9
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +5 -3
- package/corpus/templates/clips/changelog/2026-07-13-recording-links-open-in-new-tabs.md +6 -0
- package/corpus/templates/content/app/components/editor/ContentReferencePreview.tsx +6 -8
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +5 -3
- package/corpus/templates/content/app/components/editor/database/FormView.tsx +6 -9
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +18 -16
- package/corpus/templates/content/changelog/2026-07-13-document-links-open-in-new-tabs.md +6 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +33 -16
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +18 -1
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +4 -4
- package/corpus/templates/design/app/pages/DesignSystems.tsx +8 -10
- package/corpus/templates/design/app/pages/Index.tsx +6 -1
- package/corpus/templates/design/app/pages/Present.tsx +12 -6
- package/corpus/templates/design/changelog/2026-07-13-design-navigation-links-open-in-new-tabs.md +6 -0
- package/corpus/templates/design/changelog/2026-07-13-design-session-replays-include-preview-iframes.md +6 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +11 -11
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +6 -8
- package/corpus/templates/forms/changelog/2026-07-13-form-navigation-links-open-in-new-tabs.md +6 -0
- package/corpus/templates/mail/app/pages/DraftQueuePage.tsx +3 -8
- package/corpus/templates/mail/changelog/2026-07-13-settings-links-open-in-new-tabs.md +6 -0
- package/dist/agent/production-agent.d.ts +9 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +25 -37
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/audit/config.d.ts.map +1 -1
- package/dist/audit/config.js +0 -1
- package/dist/audit/config.js.map +1 -1
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +47 -33
- package/dist/chat-threads/store.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/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +1 -1
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +11 -0
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +9 -3
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +3 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +10 -2
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.js +2 -6
- package/dist/client/extensions/EmbeddedExtension.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +2 -59
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts +1 -13
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +5 -52
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.js +1 -1
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +3 -7
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/use-demo-mode-status.d.ts +3 -4
- package/dist/client/use-demo-mode-status.d.ts.map +1 -1
- package/dist/client/use-demo-mode-status.js +8 -23
- package/dist/client/use-demo-mode-status.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/demo/browser-state.d.ts +10 -0
- package/dist/demo/browser-state.d.ts.map +1 -0
- package/dist/demo/browser-state.js +49 -0
- package/dist/demo/browser-state.js.map +1 -0
- package/dist/demo/fetch-interceptor.d.ts +2 -7
- package/dist/demo/fetch-interceptor.d.ts.map +1 -1
- package/dist/demo/fetch-interceptor.js +12 -56
- package/dist/demo/fetch-interceptor.js.map +1 -1
- package/dist/deploy/workspace-deploy.js +2 -2
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +5 -5
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +0 -1
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.js +11 -1
- package/dist/server/agent-chat/action-filters-a2a.js.map +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +15 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +0 -27
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +6 -2
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +67 -0
- package/package.json +2 -2
- package/src/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +67 -0
- package/corpus/core/src/demo/actions/toggle-demo-mode.ts +0 -23
- package/corpus/core/src/demo/config.ts +0 -57
- package/dist/demo/actions/toggle-demo-mode.d.ts +0 -8
- package/dist/demo/actions/toggle-demo-mode.d.ts.map +0 -1
- package/dist/demo/actions/toggle-demo-mode.js +0 -21
- package/dist/demo/actions/toggle-demo-mode.js.map +0 -1
- package/dist/demo/config.d.ts +0 -9
- package/dist/demo/config.d.ts.map +0 -1
- package/dist/demo/config.js +0 -58
- package/dist/demo/config.js.map +0 -1
|
@@ -3,8 +3,6 @@ import { defineEventHandler, getHeader, setResponseHeader, setResponseStatus, ge
|
|
|
3
3
|
import { isAgentActionStopError } from "../action.js";
|
|
4
4
|
import { readAppState } from "../application-state/script-helpers.js";
|
|
5
5
|
import { isReadOnlyShellCommand } from "../coding-tools/index.js";
|
|
6
|
-
import { isDemoModeEnabled } from "../demo/config.js";
|
|
7
|
-
import { redactDemoData, redactDemoString } from "../demo/redact.js";
|
|
8
6
|
import { extensionIdFromPathname } from "../extensions/path.js";
|
|
9
7
|
import { preUploadAttachments } from "../file-upload/pre-upload-attachments.js";
|
|
10
8
|
import { isMcpActionResult } from "../mcp-client/app-result.js";
|
|
@@ -2680,6 +2678,18 @@ export async function runAgentLoop(opts) {
|
|
|
2680
2678
|
? 1
|
|
2681
2679
|
: Math.max(0, Math.min(3, Math.trunc(guard.maxRetries ?? 1)));
|
|
2682
2680
|
if (finalGuardRetries < maxGuardRetries) {
|
|
2681
|
+
// Compact starter catalogs are an optimization for the first model
|
|
2682
|
+
// request. Once a guard rejects a final answer, preserving that
|
|
2683
|
+
// compact surface can make the corrective instruction impossible to
|
|
2684
|
+
// satisfy: the requested data action may still be behind
|
|
2685
|
+
// tool-search, and some models spend the entire retry narrating the
|
|
2686
|
+
// discovery step instead of calling it. Let guards opt into the
|
|
2687
|
+
// full *already-authorized* run registry for the retry. This is
|
|
2688
|
+
// intentionally handled in the shared loop so A2A/MCP and every
|
|
2689
|
+
// model family get the same recovery behavior.
|
|
2690
|
+
if (typeof guard !== "string" && guard.expandToolSurface) {
|
|
2691
|
+
expandActiveTools([...availableToolMap.keys()]);
|
|
2692
|
+
}
|
|
2683
2693
|
finalGuardRetries += 1;
|
|
2684
2694
|
send({ type: "clear" });
|
|
2685
2695
|
messages.push({
|
|
@@ -3316,48 +3326,26 @@ export async function runAgentLoop(opts) {
|
|
|
3316
3326
|
isError = true;
|
|
3317
3327
|
}
|
|
3318
3328
|
mcpApp = mcpResult?.mcpApp;
|
|
3319
|
-
// Demo mode
|
|
3320
|
-
//
|
|
3321
|
-
|
|
3322
|
-
// intact and follow-up tool calls still work. Gated — the expensive
|
|
3323
|
-
// walk only runs when demo mode is on.
|
|
3324
|
-
let redacted = rawForAgent;
|
|
3325
|
-
const demoMode = await isDemoModeEnabled();
|
|
3326
|
-
if (demoMode) {
|
|
3327
|
-
mcpApp = undefined;
|
|
3328
|
-
if (typeof rawForAgent === "string") {
|
|
3329
|
-
try {
|
|
3330
|
-
redacted = JSON.stringify(redactDemoData(JSON.parse(rawForAgent)), null, 2);
|
|
3331
|
-
}
|
|
3332
|
-
catch {
|
|
3333
|
-
redacted = redactDemoString(rawForAgent);
|
|
3334
|
-
}
|
|
3335
|
-
}
|
|
3336
|
-
else {
|
|
3337
|
-
redacted = redactDemoData(rawForAgent);
|
|
3338
|
-
}
|
|
3339
|
-
}
|
|
3329
|
+
// Demo mode is browser-local presentation state. The agent and MCP
|
|
3330
|
+
// layers always receive the real, access-scoped tool result.
|
|
3331
|
+
let resultForAgent = rawForAgent;
|
|
3340
3332
|
// Vision images for the model: MCP tools return standard `image`
|
|
3341
3333
|
// content parts; first-party actions opt in via the well-known
|
|
3342
3334
|
// `_agentImages` result field (stripped from the JSON the model
|
|
3343
|
-
// reads
|
|
3344
|
-
// text redaction can't scrub pixels, and a screenshot may expose
|
|
3345
|
-
// original visual data. The images array
|
|
3335
|
+
// reads). The images array
|
|
3346
3336
|
// never touches the ledger — only the compact text notes appended
|
|
3347
3337
|
// below are persisted.
|
|
3348
3338
|
let imageNotes = [];
|
|
3349
3339
|
if (mcpResult) {
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
toolResultImages = mcpImages;
|
|
3354
|
-
}
|
|
3340
|
+
const mcpImages = extractMcpToolResultImages(mcpResult.raw);
|
|
3341
|
+
if (mcpImages.length > 0)
|
|
3342
|
+
toolResultImages = mcpImages;
|
|
3355
3343
|
}
|
|
3356
3344
|
else {
|
|
3357
|
-
const extracted = extractAgentImagesFromActionResult(
|
|
3358
|
-
|
|
3345
|
+
const extracted = extractAgentImagesFromActionResult(resultForAgent);
|
|
3346
|
+
resultForAgent = extracted.value;
|
|
3359
3347
|
imageNotes = extracted.notes;
|
|
3360
|
-
if (extracted.images.length > 0
|
|
3348
|
+
if (extracted.images.length > 0) {
|
|
3361
3349
|
toolResultImages = extracted.images;
|
|
3362
3350
|
}
|
|
3363
3351
|
}
|
|
@@ -3367,9 +3355,9 @@ export async function runAgentLoop(opts) {
|
|
|
3367
3355
|
...imageNotes,
|
|
3368
3356
|
];
|
|
3369
3357
|
}
|
|
3370
|
-
let resultStr = typeof
|
|
3371
|
-
?
|
|
3372
|
-
: JSON.stringify(
|
|
3358
|
+
let resultStr = typeof resultForAgent === "string"
|
|
3359
|
+
? resultForAgent
|
|
3360
|
+
: JSON.stringify(resultForAgent, null, 2);
|
|
3373
3361
|
if (resultStr.length > toolMaxResultChars) {
|
|
3374
3362
|
const truncated = resultStr.slice(0, toolMaxResultChars);
|
|
3375
3363
|
resultStr = `${truncated}\n\n...[truncated — full result was ${resultStr.length.toLocaleString()} chars; only first ${toolMaxResultChars.toLocaleString()} shown]`;
|