@agent-native/core 0.155.0 → 0.157.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.
Files changed (192) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/server/jobs/analytics-bigquery-backfill.ts +19 -4
  3. package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +7 -2
  4. package/corpus/templates/assets/app/components/asset/AssetPreviewDialog.tsx +3 -1
  5. package/corpus/templates/assets/app/global.css +4 -0
  6. package/corpus/templates/assets/app/i18n-data.ts +21 -1
  7. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +18 -15
  8. package/corpus/templates/brain/app/routes/sources.tsx +1 -2
  9. package/corpus/templates/calendar/app/hooks/use-bookings.ts +12 -2
  10. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +64 -2
  11. package/corpus/templates/calendar/server/handlers/bookings.ts +219 -93
  12. package/corpus/templates/calendar/server/plugins/auth.ts +0 -2
  13. package/corpus/templates/clips/actions/create-folder.ts +7 -1
  14. package/corpus/templates/clips/actions/create-meeting.ts +6 -2
  15. package/corpus/templates/clips/actions/create-recording.ts +5 -3
  16. package/corpus/templates/clips/actions/finalize-recording.ts +97 -65
  17. package/corpus/templates/clips/actions/import-loom-recording.ts +5 -3
  18. package/corpus/templates/clips/actions/request-recording-access.ts +272 -0
  19. package/corpus/templates/clips/actions/stitch-recordings.ts +5 -3
  20. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +38 -63
  21. package/corpus/templates/clips/app/components/player/share-dialog.tsx +177 -134
  22. package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +3 -21
  23. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +13 -30
  24. package/corpus/templates/clips/app/i18n/en-US.ts +10 -0
  25. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +5 -5
  26. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +24 -17
  27. package/corpus/templates/clips/app/routes/share.$shareId.tsx +151 -20
  28. package/corpus/templates/clips/changelog/2026-08-14-long-resumable-uploads-now-abort-cleanly-and-show-errors.md +6 -0
  29. package/corpus/templates/clips/changelog/2026-08-14-standardized-share-popovers.md +6 -0
  30. package/corpus/templates/clips/chrome-extension/public/manifest.json +11 -3
  31. package/corpus/templates/clips/chrome-extension/src/github-preview-content.ts +37 -8
  32. package/corpus/templates/clips/chrome-extension/src/github-preview.ts +3 -3
  33. package/corpus/templates/clips/chrome-extension/src/offscreen.ts +8 -25
  34. package/corpus/templates/clips/desktop/src/app.tsx +24 -0
  35. package/corpus/templates/clips/desktop/src/lib/media-capture-constraints.ts +42 -13
  36. package/corpus/templates/clips/desktop/src/lib/recorder.ts +11 -18
  37. package/corpus/templates/clips/desktop/src/overlays/onboarding.tsx +1 -0
  38. package/corpus/templates/clips/desktop/src/shared/config.ts +1 -0
  39. package/corpus/templates/clips/desktop/src/styles.css +24 -9
  40. package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +3 -0
  41. package/corpus/templates/clips/desktop/src-tauri/src/config.rs +8 -0
  42. package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +154 -176
  43. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +115 -31
  44. package/corpus/templates/clips/desktop/src-tauri/src/rewind_clip.rs +7 -0
  45. package/corpus/templates/clips/server/db/index.ts +1 -0
  46. package/corpus/templates/clips/server/db/schema.ts +1 -0
  47. package/corpus/templates/clips/server/lib/calendar-event-meetings.ts +6 -1
  48. package/corpus/templates/clips/server/lib/emails.ts +23 -0
  49. package/corpus/templates/clips/server/lib/public-agent-context.ts +55 -0
  50. package/corpus/templates/clips/server/lib/recordings.ts +2 -1
  51. package/corpus/templates/clips/server/lib/resumable-upload-cleanup.ts +49 -0
  52. package/corpus/templates/clips/server/lib/s3-upload-provider.ts +34 -7
  53. package/corpus/templates/clips/server/lib/upload-interruption.ts +15 -1
  54. package/corpus/templates/clips/server/lib/upload-lease.ts +94 -9
  55. package/corpus/templates/clips/server/routes/api/agent-context.json.get.ts +82 -7
  56. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +1 -0
  57. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +71 -12
  58. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/interrupt.post.ts +4 -3
  59. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/reset-chunks.post.ts +19 -0
  60. package/corpus/templates/clips/server/routes/api/uploads/reap.post.ts +8 -1
  61. package/corpus/templates/clips/shared/recording-link.ts +4 -0
  62. package/corpus/templates/clips/shared/share-loader-response.ts +2 -1
  63. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +7 -16
  64. package/corpus/templates/factory/AGENTS.md +5 -1
  65. package/corpus/templates/factory/README.md +6 -2
  66. package/corpus/templates/factory/actions/view-screen.ts +15 -0
  67. package/corpus/templates/factory/app/components/factory/FactoryAgentsView.tsx +58 -189
  68. package/corpus/templates/factory/app/components/layout/Header.tsx +1 -0
  69. package/corpus/templates/factory/app/components/layout/Layout.tsx +1 -1
  70. package/corpus/templates/factory/app/components/layout/Sidebar.tsx +7 -0
  71. package/corpus/templates/factory/app/hooks/use-navigation-state.ts +3 -0
  72. package/corpus/templates/factory/app/i18n/en-US.ts +3 -1
  73. package/corpus/templates/factory/app/routes/agents.tsx +9 -0
  74. package/corpus/templates/mail/server/plugins/auth.ts +0 -2
  75. package/corpus/templates/plan/app/components/plan/LocalCodebasePicker.tsx +50 -14
  76. package/corpus/templates/plan/app/pages/PlansPage.tsx +9 -19
  77. package/corpus/templates/slides/app/components/editor/AddSlidePopover.tsx +98 -29
  78. package/corpus/templates/slides/app/components/editor/EditorActionCluster.tsx +45 -91
  79. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +94 -2
  80. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +17 -29
  81. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +7 -1
  82. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +1 -1
  83. package/corpus/templates/slides/app/context/DeckContext.tsx +108 -19
  84. package/corpus/templates/slides/app/global.css +7 -40
  85. package/corpus/templates/slides/app/i18n/en-US.ts +4 -0
  86. package/corpus/templates/slides/app/lib/editor-shortcuts.ts +46 -0
  87. package/corpus/templates/slides/app/pages/DeckEditor.tsx +143 -45
  88. package/dist/agent/index.d.ts +1 -1
  89. package/dist/agent/production-agent.d.ts +30 -0
  90. package/dist/agent/production-agent.js +100 -8
  91. package/dist/agent/types.d.ts +9 -0
  92. package/dist/client/AgentPanel.d.ts +13 -1
  93. package/dist/client/AgentPanel.js +22 -17
  94. package/dist/client/AssistantChat.d.ts +15 -1
  95. package/dist/client/AssistantChat.js +135 -48
  96. package/dist/client/HighlightedCodeBlock.js +12 -2
  97. package/dist/client/MultiTabAssistantChat.js +44 -27
  98. package/dist/client/agent-chat/index.d.ts +1 -0
  99. package/dist/client/agent-chat/index.js +1 -0
  100. package/dist/client/chat/markdown-renderer.js +20 -5
  101. package/dist/client/chat/message-components.d.ts +2 -2
  102. package/dist/client/chat/message-components.js +69 -35
  103. package/dist/client/chat/run-recovery.d.ts +4 -1
  104. package/dist/client/chat/run-recovery.js +62 -30
  105. package/dist/client/chat/tool-call-display.d.ts +12 -3
  106. package/dist/client/chat/tool-call-display.js +79 -40
  107. package/dist/client/chat/widgets/DataChartRenderer.js +3 -1
  108. package/dist/client/chat/widgets/DataChartWidget.js +8 -2
  109. package/dist/client/chat/widgets/DataInsightsWidget.js +3 -1
  110. package/dist/client/chat/widgets/DataTableWidget.js +23 -9
  111. package/dist/client/chat/widgets/builtin-tool-renderers.js +3 -1
  112. package/dist/client/chat-first/apps-rail.js +1 -1
  113. package/dist/client/components/ui/message-scroller.d.ts +1 -1
  114. package/dist/client/components/ui/message-scroller.js +7 -3
  115. package/dist/client/composer/runtime-adapters.js +3 -2
  116. package/dist/client/context-xray/ContextMeter.js +5 -1
  117. package/dist/client/context-xray/ContextXRayPanel.js +5 -5
  118. package/dist/client/error-format.d.ts +4 -0
  119. package/dist/client/error-format.js +93 -5
  120. package/dist/client/i18n.js +83 -17
  121. package/dist/client/observability/ThumbsFeedback.js +10 -8
  122. package/dist/client/settings/AccountSettingsCard.js +48 -19
  123. package/dist/client/sharing/ShareButton.d.ts +1 -2
  124. package/dist/client/sharing/ShareButton.js +151 -81
  125. package/dist/client/sharing/ShareDialog.js +5 -4
  126. package/dist/client/use-chat-threads.js +10 -14
  127. package/dist/coding-tools/run-code.js +2 -1
  128. package/dist/coding-tools/sandbox/background.d.ts +1 -0
  129. package/dist/coding-tools/sandbox/background.js +8 -1
  130. package/dist/coding-tools/sandbox/executions-store.d.ts +2 -0
  131. package/dist/coding-tools/sandbox/executions-store.js +41 -3
  132. package/dist/collab/routes.d.ts +1 -1
  133. package/dist/collab/struct-routes.d.ts +1 -1
  134. package/dist/index.d.ts +1 -1
  135. package/dist/localization/core-messages/ar-SA.d.ts +3 -0
  136. package/dist/localization/core-messages/ar-SA.js +541 -0
  137. package/dist/localization/core-messages/de-DE.d.ts +3 -0
  138. package/dist/localization/core-messages/de-DE.js +513 -0
  139. package/dist/localization/core-messages/en-US.d.ts +513 -0
  140. package/dist/localization/core-messages/en-US.js +513 -0
  141. package/dist/localization/core-messages/es-ES.d.ts +3 -0
  142. package/dist/localization/core-messages/es-ES.js +520 -0
  143. package/dist/localization/core-messages/fr-FR.d.ts +3 -0
  144. package/dist/localization/core-messages/fr-FR.js +520 -0
  145. package/dist/localization/core-messages/hi-IN.d.ts +3 -0
  146. package/dist/localization/core-messages/hi-IN.js +513 -0
  147. package/dist/localization/core-messages/ja-JP.d.ts +3 -0
  148. package/dist/localization/core-messages/ja-JP.js +506 -0
  149. package/dist/localization/core-messages/ko-KR.d.ts +3 -0
  150. package/dist/localization/core-messages/ko-KR.js +506 -0
  151. package/dist/localization/core-messages/pt-BR.d.ts +3 -0
  152. package/dist/localization/core-messages/pt-BR.js +520 -0
  153. package/dist/localization/core-messages/zh-CN.d.ts +3 -0
  154. package/dist/localization/core-messages/zh-CN.js +506 -0
  155. package/dist/localization/core-messages/zh-TW.d.ts +3 -0
  156. package/dist/localization/core-messages/zh-TW.js +506 -0
  157. package/dist/localization/core-messages.d.ts +524 -0
  158. package/dist/localization/core-messages.js +124 -0
  159. package/dist/localization/default-messages.d.ts +3 -0
  160. package/dist/localization/default-messages.js +3 -0
  161. package/dist/notifications/routes.d.ts +1 -1
  162. package/dist/observability/routes.d.ts +5 -5
  163. package/dist/progress/routes.d.ts +1 -1
  164. package/dist/provider-api/actions/custom-provider-registration.d.ts +11 -11
  165. package/dist/provider-api/actions/provider-api.d.ts +15 -15
  166. package/dist/resources/handlers.d.ts +1 -1
  167. package/dist/secrets/routes.d.ts +9 -9
  168. package/dist/server/agent-chat/plugin-options.d.ts +7 -2
  169. package/dist/server/agent-chat-plugin.d.ts +10 -0
  170. package/dist/server/agent-chat-plugin.js +144 -41
  171. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  172. package/dist/server/agent-run-context.d.ts +7 -1
  173. package/dist/server/agent-run-context.js +9 -2
  174. package/dist/server/agent-teams-run-queue.d.ts +3 -0
  175. package/dist/server/agent-teams.js +38 -9
  176. package/dist/server/auth-marketing.d.ts +1 -0
  177. package/dist/server/auth-marketing.js +0 -2
  178. package/dist/server/auth.d.ts +1 -0
  179. package/dist/server/auth.js +18 -0
  180. package/dist/server/index.d.ts +1 -1
  181. package/dist/server/onboarding-html.d.ts +1 -0
  182. package/dist/server/onboarding-html.js +2 -88
  183. package/dist/server/realtime-token.d.ts +1 -1
  184. package/dist/server/request-context.d.ts +7 -0
  185. package/dist/server/request-context.js +15 -0
  186. package/dist/shared/markdown-block-split.d.ts +16 -0
  187. package/dist/shared/markdown-block-split.js +81 -5
  188. package/dist/styles/agent-native.css +13 -0
  189. package/dist/voice/voice-cleanup-prompt.js +1 -0
  190. package/docs/content/agent-surfaces.mdx +30 -0
  191. package/package.json +2 -2
  192. package/corpus/templates/clips/shared/mic-audio-cleanup.ts +0 -350
@@ -0,0 +1,124 @@
1
+ import englishMessages from "./core-messages/en-US.js";
2
+ export const englishAgentChatMessages = englishMessages;
3
+ const legacyAgentChatAliases = [
4
+ ["agentPanel.addOwnKeys", "composer.addOwnKeys"],
5
+ ["agentPanel.builderModelCredits", "composer.builderModelCredits"],
6
+ ["agentPanel.builderOrOwnKeys", "setup.builderOrOwnKeys"],
7
+ ["agentPanel.chat", "shell.chat"],
8
+ ["agentPanel.closeTab", "tabs.closeTab"],
9
+ ["agentPanel.configureProviderKeys", "composer.configureProviderKeys"],
10
+ ["agentPanel.connectAi", "setup.connectAi"],
11
+ ["agentPanel.connectBuilderIo", "composer.connectBuilder"],
12
+ ["agentPanel.connectingBuilder", "composer.connectingBuilder"],
13
+ ["agentPanel.loadingTerminal", "shell.loadingTerminal"],
14
+ ["agentPanel.newChat", "tabs.newChat"],
15
+ ["agentPanel.toggleAgent", "shell.toggleAgent"],
16
+ ["agentPanel.voiceMode", "voiceMode"],
17
+ ["contextXray", "contextXray"],
18
+ ];
19
+ function getNestedMessage(messages, path) {
20
+ let value = messages;
21
+ for (const part of path.split(".")) {
22
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
23
+ return undefined;
24
+ }
25
+ value = value[part];
26
+ }
27
+ return value;
28
+ }
29
+ function setNestedMessage(messages, path, value) {
30
+ const parts = path.split(".");
31
+ let cursor = messages;
32
+ for (const part of parts.slice(0, -1)) {
33
+ const nested = cursor[part];
34
+ if (!nested || typeof nested !== "object" || Array.isArray(nested)) {
35
+ cursor[part] = {};
36
+ }
37
+ cursor = cursor[part];
38
+ }
39
+ cursor[parts.at(-1)] = value;
40
+ }
41
+ function cloneMessages(messages) {
42
+ const cloned = {};
43
+ for (const [key, value] of Object.entries(messages)) {
44
+ cloned[key] =
45
+ value && typeof value === "object" && !Array.isArray(value)
46
+ ? cloneMessages(value)
47
+ : value;
48
+ }
49
+ return cloned;
50
+ }
51
+ function mergeLegacyMessageValue(legacyValue, modernValue) {
52
+ if (modernValue === undefined)
53
+ return legacyValue;
54
+ if (legacyValue &&
55
+ modernValue &&
56
+ typeof legacyValue === "object" &&
57
+ typeof modernValue === "object" &&
58
+ !Array.isArray(legacyValue) &&
59
+ !Array.isArray(modernValue)) {
60
+ const merged = { ...legacyValue };
61
+ for (const [key, value] of Object.entries(modernValue)) {
62
+ merged[key] = mergeLegacyMessageValue(merged[key], value);
63
+ }
64
+ return merged;
65
+ }
66
+ return modernValue;
67
+ }
68
+ export function normalizeCoreMessageOverrides(messages) {
69
+ const normalized = cloneMessages(messages);
70
+ for (const [legacyPath, agentChatPath] of legacyAgentChatAliases) {
71
+ const legacyValue = getNestedMessage(normalized, legacyPath);
72
+ const modernPath = `agentChat.${agentChatPath}`;
73
+ if (legacyValue !== undefined) {
74
+ setNestedMessage(normalized, modernPath, mergeLegacyMessageValue(legacyValue, getNestedMessage(normalized, modernPath)));
75
+ }
76
+ }
77
+ return normalized;
78
+ }
79
+ function nestAgentChatMessages(flatMessages) {
80
+ const agentChat = {};
81
+ for (const [flatKey, message] of Object.entries(flatMessages)) {
82
+ const parts = flatKey.split(".");
83
+ let cursor = agentChat;
84
+ for (const part of parts.slice(0, -1)) {
85
+ const nested = cursor[part];
86
+ if (!nested || typeof nested !== "object" || Array.isArray(nested)) {
87
+ cursor[part] = {};
88
+ }
89
+ cursor = cursor[part];
90
+ }
91
+ cursor[parts.at(-1)] = message;
92
+ }
93
+ const messages = { agentChat };
94
+ for (const [legacyPath, agentChatPath] of legacyAgentChatAliases) {
95
+ const value = getNestedMessage(agentChat, agentChatPath);
96
+ if (value !== undefined)
97
+ setNestedMessage(messages, legacyPath, value);
98
+ }
99
+ return messages;
100
+ }
101
+ const coreMessageLoaders = {
102
+ "en-US": async () => ({ default: englishAgentChatMessages }),
103
+ "zh-CN": () => import("./core-messages/zh-CN.js"),
104
+ "zh-TW": () => import("./core-messages/zh-TW.js"),
105
+ "es-ES": () => import("./core-messages/es-ES.js"),
106
+ "fr-FR": () => import("./core-messages/fr-FR.js"),
107
+ "de-DE": () => import("./core-messages/de-DE.js"),
108
+ "ja-JP": () => import("./core-messages/ja-JP.js"),
109
+ "ko-KR": () => import("./core-messages/ko-KR.js"),
110
+ "pt-BR": () => import("./core-messages/pt-BR.js"),
111
+ "hi-IN": () => import("./core-messages/hi-IN.js"),
112
+ "ar-SA": () => import("./core-messages/ar-SA.js"),
113
+ };
114
+ export async function loadAgentChatMessagesForLocale(locale) {
115
+ return (await coreMessageLoaders[locale]()).default;
116
+ }
117
+ export async function loadCoreMessagesForLocale(locale) {
118
+ return nestAgentChatMessages(await loadAgentChatMessagesForLocale(locale));
119
+ }
120
+ const englishCoreMessages = nestAgentChatMessages(englishAgentChatMessages);
121
+ // Only English is eager. Non-English Core catalogs load with the app catalog.
122
+ export function coreMessagesForLocale(locale) {
123
+ return locale === "en-US" ? englishCoreMessages : {};
124
+ }
@@ -45,6 +45,7 @@ declare const messages: {
45
45
  profileUploading: string;
46
46
  profileChangePhoto: string;
47
47
  profileNameLabel: string;
48
+ profileNameEdit: string;
48
49
  profileNamePlaceholder: string;
49
50
  profileNameDescription: string;
50
51
  profileSave: string;
@@ -427,6 +428,7 @@ declare const messages: {
427
428
  workspace: string;
428
429
  newChat: string;
429
430
  newTerminal: string;
431
+ loadingTerminal: string;
430
432
  panelOptions: string;
431
433
  collapseSidebar: string;
432
434
  widenChat: string;
@@ -680,6 +682,7 @@ declare const messages: {
680
682
  shareLink: string;
681
683
  addPeopleByEmail: string;
682
684
  notifyPeople: string;
685
+ message: string;
683
686
  addMessage: string;
684
687
  hideMessage: string;
685
688
  messagePlaceholder: string;
@@ -51,6 +51,7 @@ const messages = {
51
51
  profileUploading: "Uploading...",
52
52
  profileChangePhoto: "Change photo",
53
53
  profileNameLabel: "Name",
54
+ profileNameEdit: "Edit name",
54
55
  profileNamePlaceholder: "Your name",
55
56
  profileNameDescription: "This name is used when referring to you across Agent-Native apps.",
56
57
  profileSave: "Save changes",
@@ -433,6 +434,7 @@ const messages = {
433
434
  workspace: "Resources",
434
435
  newChat: "New chat",
435
436
  newTerminal: "New terminal",
437
+ loadingTerminal: "Loading terminal...",
436
438
  panelOptions: "Agent panel options",
437
439
  collapseSidebar: "Collapse sidebar",
438
440
  widenChat: "Widen chat",
@@ -686,6 +688,7 @@ const messages = {
686
688
  shareLink: "Share link",
687
689
  addPeopleByEmail: "Add people by email",
688
690
  notifyPeople: "Notify people",
691
+ message: "Message",
689
692
  addMessage: "Add a message",
690
693
  hideMessage: "Hide message",
691
694
  messagePlaceholder: "Add a short note (optional)",
@@ -28,6 +28,6 @@ export declare function createNotificationsHandler(): import("h3").EventHandlerW
28
28
  } | {
29
29
  count?: undefined;
30
30
  updated?: undefined;
31
- ok: boolean;
32
31
  error?: undefined;
32
+ ok: boolean;
33
33
  }>>;
@@ -41,27 +41,27 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
41
41
  thumbsUpRate: number;
42
42
  avgEvalScore: number;
43
43
  } | {
44
+ error?: undefined;
45
+ ok?: undefined;
44
46
  summary: import("./types.js").TraceSummary;
45
47
  spans: import("./types.js").TraceSpan[];
46
48
  id?: undefined;
49
+ } | {
47
50
  error?: undefined;
48
51
  ok?: undefined;
49
- } | {
50
52
  summary?: undefined;
51
53
  spans?: undefined;
52
54
  id: string;
53
- error?: undefined;
54
- ok?: undefined;
55
55
  } | {
56
+ ok?: undefined;
56
57
  summary?: undefined;
57
58
  spans?: undefined;
58
59
  id?: undefined;
59
60
  error: any;
60
- ok?: undefined;
61
61
  } | {
62
+ error?: undefined;
62
63
  summary?: undefined;
63
64
  spans?: undefined;
64
65
  id?: undefined;
65
66
  ok: boolean;
66
- error?: undefined;
67
67
  }>>;
@@ -15,6 +15,6 @@ export declare function createProgressHandler(): import("h3").EventHandlerWithFe
15
15
  error: string;
16
16
  ok?: undefined;
17
17
  } | {
18
- ok: boolean;
19
18
  error?: undefined;
19
+ ok: boolean;
20
20
  }>>;
@@ -75,11 +75,9 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
75
75
  user: "user";
76
76
  }>>;
77
77
  }, z.core.$strip>>, {
78
+ deleted?: undefined;
78
79
  id?: undefined;
79
80
  provider?: undefined;
80
- deleted?: undefined;
81
- found?: undefined;
82
- message?: undefined;
83
81
  providers: {
84
82
  id: string;
85
83
  label: string;
@@ -90,44 +88,46 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
90
88
  updatedAt: number;
91
89
  }[];
92
90
  count: number;
91
+ found?: undefined;
93
92
  registered?: undefined;
94
93
  label?: undefined;
94
+ message?: undefined;
95
95
  } | {
96
- id?: undefined;
97
96
  deleted?: undefined;
98
- message?: undefined;
97
+ id?: undefined;
99
98
  providers?: undefined;
100
99
  count?: undefined;
101
100
  found: boolean;
102
101
  provider: import("../custom-registry.js").CustomProviderConfig;
103
102
  registered?: undefined;
104
103
  label?: undefined;
104
+ message?: undefined;
105
105
  } | {
106
- provider?: undefined;
107
106
  deleted?: undefined;
108
- message?: undefined;
107
+ provider?: undefined;
109
108
  providers?: undefined;
110
109
  count?: undefined;
111
110
  found: boolean;
112
111
  id: string;
113
112
  registered?: undefined;
114
113
  label?: undefined;
114
+ message?: undefined;
115
115
  } | {
116
116
  provider?: undefined;
117
- found?: undefined;
118
- message?: undefined;
119
117
  providers?: undefined;
120
118
  count?: undefined;
119
+ found?: undefined;
121
120
  deleted: boolean;
122
121
  id: string;
123
122
  registered?: undefined;
124
123
  label?: undefined;
124
+ message?: undefined;
125
125
  } | {
126
- provider?: undefined;
127
126
  deleted?: undefined;
128
- found?: undefined;
127
+ provider?: undefined;
129
128
  providers?: undefined;
130
129
  count?: undefined;
130
+ found?: undefined;
131
131
  registered: boolean;
132
132
  id: string;
133
133
  label: string;
@@ -312,7 +312,8 @@ export declare function createProviderApiActions(runtime: Pick<ProviderApiRuntim
312
312
  scope?: "org" | "user" | undefined;
313
313
  }, {
314
314
  id?: undefined;
315
- found?: undefined;
315
+ message?: undefined;
316
+ deleted?: undefined;
316
317
  providers: {
317
318
  id: string;
318
319
  label: string;
@@ -324,46 +325,45 @@ export declare function createProviderApiActions(runtime: Pick<ProviderApiRuntim
324
325
  }[];
325
326
  count: number;
326
327
  provider?: undefined;
327
- deleted?: undefined;
328
+ found?: undefined;
328
329
  registered?: undefined;
329
330
  label?: undefined;
330
- message?: undefined;
331
331
  } | {
332
332
  id?: undefined;
333
- providers?: undefined;
333
+ message?: undefined;
334
334
  count?: undefined;
335
+ deleted?: undefined;
336
+ providers?: undefined;
335
337
  found: boolean;
336
338
  provider: import("../custom-registry.js").CustomProviderConfig;
337
- deleted?: undefined;
338
339
  registered?: undefined;
339
340
  label?: undefined;
340
- message?: undefined;
341
341
  } | {
342
- providers?: undefined;
342
+ message?: undefined;
343
343
  count?: undefined;
344
+ deleted?: undefined;
345
+ providers?: undefined;
344
346
  provider?: undefined;
345
347
  found: boolean;
346
348
  id: string;
347
- deleted?: undefined;
348
349
  registered?: undefined;
349
350
  label?: undefined;
350
- message?: undefined;
351
351
  } | {
352
- found?: undefined;
353
- providers?: undefined;
352
+ message?: undefined;
354
353
  count?: undefined;
354
+ providers?: undefined;
355
355
  provider?: undefined;
356
+ found?: undefined;
356
357
  deleted: boolean;
357
358
  id: string;
358
359
  registered?: undefined;
359
360
  label?: undefined;
360
- message?: undefined;
361
361
  } | {
362
- found?: undefined;
363
- providers?: undefined;
364
362
  count?: undefined;
365
- provider?: undefined;
366
363
  deleted?: undefined;
364
+ providers?: undefined;
365
+ provider?: undefined;
366
+ found?: undefined;
367
367
  registered: boolean;
368
368
  id: string;
369
369
  label: string;
@@ -48,8 +48,8 @@ export declare function handleUpdateResource(event: any): Promise<import("./stor
48
48
  }>;
49
49
  /** DELETE /_agent-native/resources/:id — delete a resource */
50
50
  export declare function handleDeleteResource(event: any): Promise<{
51
- error: string;
52
51
  ok?: undefined;
52
+ error: string;
53
53
  } | {
54
54
  error?: undefined;
55
55
  ok: boolean;
@@ -34,37 +34,37 @@ export declare function createListSecretsHandler(): import("h3").EventHandlerWit
34
34
  /** POST /_agent-native/secrets/:key — write a secret. */
35
35
  export declare function createWriteSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
36
36
  error: string;
37
- status?: undefined;
38
37
  ok?: undefined;
38
+ status?: undefined;
39
39
  } | {
40
+ error?: undefined;
40
41
  ok: boolean;
41
42
  status: string;
42
- error?: undefined;
43
43
  } | {
44
+ ok?: undefined;
44
45
  error: string;
45
46
  removed?: undefined;
46
- ok?: undefined;
47
47
  } | {
48
+ error?: undefined;
48
49
  ok: boolean;
49
50
  removed: boolean;
50
- error?: undefined;
51
51
  }>>;
52
52
  /**
53
53
  * POST /_agent-native/secrets/:key/test — validate an optional candidate value
54
54
  * or the current stored value without changing anything.
55
55
  */
56
56
  export declare function createTestSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
57
+ ok?: undefined;
57
58
  error: string;
58
59
  note?: undefined;
59
- ok?: undefined;
60
60
  } | {
61
+ error?: undefined;
61
62
  ok: boolean;
62
63
  note?: undefined;
63
- error?: undefined;
64
64
  } | {
65
+ error?: undefined;
65
66
  ok: boolean;
66
67
  note: string;
67
- error?: undefined;
68
68
  } | {
69
69
  note?: undefined;
70
70
  ok: boolean;
@@ -95,11 +95,11 @@ export interface AdHocSecretPayload {
95
95
  export declare function createAdHocSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<AdHocSecretPayload[] | {
96
96
  error: string;
97
97
  } | {
98
+ error?: undefined;
98
99
  ok: boolean;
99
100
  key: string;
100
- error?: undefined;
101
101
  } | {
102
+ error?: undefined;
102
103
  ok: boolean;
103
104
  removed: boolean;
104
- error?: undefined;
105
105
  }>>;
@@ -1,5 +1,4 @@
1
- import type { ActionEntry } from "../../agent/production-agent.js";
2
- import type { AgentLoopFinalResponseGuard } from "../../agent/production-agent.js";
1
+ import type { ActionEntry, AgentLoopFinalResponseGuard, ProductionAgentOptions } from "../../agent/production-agent.js";
3
2
  import type { AgentChatAttachment, AgentChatReference, MentionProvider } from "../../agent/types.js";
4
3
  import type { FrameworkToolsConfig } from "../../framework-tools.js";
5
4
  import type { ExternalAgentPolicy } from "../../mcp/external-agent-policy.js";
@@ -164,6 +163,12 @@ export interface AgentChatPluginOptions {
164
163
  displayMessage?: string;
165
164
  attachments?: AgentChatAttachment[];
166
165
  }>;
166
+ /**
167
+ * Resolve the exact native action surface for each interactive chat request.
168
+ * Omitted names are not sent to the model and are not discoverable through
169
+ * tool-search. When configured, every allowed action is loaded directly.
170
+ */
171
+ resolveActionSurface?: ProductionAgentOptions["resolveActionSurface"];
167
172
  /**
168
173
  * Use ONLY the template's `systemPrompt` and the actions list — skip the
169
174
  * framework prompt wrapper, resource loading (AGENTS.md/LEARNINGS.md/
@@ -46,6 +46,16 @@ export declare function createSerializedA2ATaskStatusWriter(taskId: string, writ
46
46
  };
47
47
  export declare function resolveA2ARecoverableArtifactSecret(orgId?: string | null | undefined): Promise<string | undefined>;
48
48
  export declare function buildLeanRunPolicyPrompt(codeEditingSurfaceRestriction: string, prodCodeExecPromptNote: string): string;
49
+ export declare function filterPromptActionsToSurface(actions: Record<string, ActionEntry>, allowedActionNames?: readonly string[]): Record<string, ActionEntry>;
50
+ /** Keep late-bound sandbox and data-program bridges on the current request's
51
+ * authorized registry instead of the plugin's process-wide action catalog. */
52
+ export declare function filterRuntimeActionsToSurface(actions: Record<string, ActionEntry>): Record<string, ActionEntry>;
53
+ /** Remove framework guidance for tools that the request surface does not
54
+ * expose. The default framework prompt is line-oriented, so dropping the
55
+ * affected instruction keeps unrelated behavioral guidance intact without
56
+ * teaching the model names it cannot call. */
57
+ export declare function filterFrameworkPromptToSurface(prompt: string, actions: Record<string, ActionEntry>, allowedActionNames?: readonly string[]): string;
58
+ export declare function resolveProductionCodeExecutionForActionSurface(mode: "off" | "sandboxed" | "trusted", hasRequestScopedSurface: boolean): "off" | "sandboxed" | "trusted";
49
59
  /**
50
60
  * Abort reasons that mean a human asked to stop, so `/runs/:id/abort` escalates
51
61
  * to a turn-wide abort. Watchdog reasons (`no_progress`, `auto_stuck_retry`)