@agent-native/core 0.7.12 → 0.7.13

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 (302) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  3. package/dist/agent/engine/ai-sdk-engine.js +26 -8
  4. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  5. package/dist/agent/engine/builder-engine.d.ts +19 -0
  6. package/dist/agent/engine/builder-engine.d.ts.map +1 -0
  7. package/dist/agent/engine/builder-engine.js +430 -0
  8. package/dist/agent/engine/builder-engine.js.map +1 -0
  9. package/dist/agent/engine/builtin.d.ts.map +1 -1
  10. package/dist/agent/engine/builtin.js +26 -10
  11. package/dist/agent/engine/builtin.js.map +1 -1
  12. package/dist/agent/engine/index.d.ts +1 -1
  13. package/dist/agent/engine/index.d.ts.map +1 -1
  14. package/dist/agent/engine/index.js +1 -1
  15. package/dist/agent/engine/index.js.map +1 -1
  16. package/dist/agent/engine/registry.d.ts +20 -1
  17. package/dist/agent/engine/registry.d.ts.map +1 -1
  18. package/dist/agent/engine/registry.js +49 -1
  19. package/dist/agent/engine/registry.js.map +1 -1
  20. package/dist/agent/engine/types.d.ts +30 -0
  21. package/dist/agent/engine/types.d.ts.map +1 -1
  22. package/dist/agent/engine/types.js +19 -1
  23. package/dist/agent/engine/types.js.map +1 -1
  24. package/dist/agent/production-agent.d.ts.map +1 -1
  25. package/dist/agent/production-agent.js +65 -7
  26. package/dist/agent/production-agent.js.map +1 -1
  27. package/dist/agent/run-manager.d.ts.map +1 -1
  28. package/dist/agent/run-manager.js +11 -1
  29. package/dist/agent/run-manager.js.map +1 -1
  30. package/dist/agent/thread-data-builder.d.ts +4 -0
  31. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  32. package/dist/agent/thread-data-builder.js +1 -0
  33. package/dist/agent/thread-data-builder.js.map +1 -1
  34. package/dist/agent/types.d.ts +8 -0
  35. package/dist/agent/types.d.ts.map +1 -1
  36. package/dist/checkpoints/service.d.ts +1 -0
  37. package/dist/checkpoints/service.d.ts.map +1 -1
  38. package/dist/checkpoints/service.js +26 -2
  39. package/dist/checkpoints/service.js.map +1 -1
  40. package/dist/cli/create.d.ts +30 -0
  41. package/dist/cli/create.d.ts.map +1 -1
  42. package/dist/cli/create.js +25 -13
  43. package/dist/cli/create.js.map +1 -1
  44. package/dist/client/AgentPanel.js +1 -1
  45. package/dist/client/AgentPanel.js.map +1 -1
  46. package/dist/client/AssistantChat.d.ts.map +1 -1
  47. package/dist/client/AssistantChat.js +49 -10
  48. package/dist/client/AssistantChat.js.map +1 -1
  49. package/dist/client/ConnectBuilderCard.d.ts +1 -7
  50. package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
  51. package/dist/client/ConnectBuilderCard.js +30 -132
  52. package/dist/client/ConnectBuilderCard.js.map +1 -1
  53. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  54. package/dist/client/MultiTabAssistantChat.js +30 -9
  55. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  56. package/dist/client/analytics.d.ts +5 -8
  57. package/dist/client/analytics.d.ts.map +1 -1
  58. package/dist/client/analytics.js +53 -11
  59. package/dist/client/analytics.js.map +1 -1
  60. package/dist/client/builder-mark.d.ts +9 -0
  61. package/dist/client/builder-mark.d.ts.map +1 -0
  62. package/dist/client/builder-mark.js +10 -0
  63. package/dist/client/builder-mark.js.map +1 -0
  64. package/dist/client/components/ui/popover.d.ts +8 -0
  65. package/dist/client/components/ui/popover.d.ts.map +1 -0
  66. package/dist/client/components/ui/popover.js +11 -0
  67. package/dist/client/components/ui/popover.js.map +1 -0
  68. package/dist/client/composer/ComposerPlusMenu.d.ts +2 -0
  69. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -0
  70. package/dist/client/composer/ComposerPlusMenu.js +244 -0
  71. package/dist/client/composer/ComposerPlusMenu.js.map +1 -0
  72. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  73. package/dist/client/composer/TiptapComposer.js +9 -5
  74. package/dist/client/composer/TiptapComposer.js.map +1 -1
  75. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  76. package/dist/client/composer/useVoiceDictation.js +4 -2
  77. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  78. package/dist/client/error-format.d.ts +2 -0
  79. package/dist/client/error-format.d.ts.map +1 -0
  80. package/dist/client/error-format.js +31 -0
  81. package/dist/client/error-format.js.map +1 -0
  82. package/dist/client/index.d.ts +3 -1
  83. package/dist/client/index.d.ts.map +1 -1
  84. package/dist/client/index.js +3 -1
  85. package/dist/client/index.js.map +1 -1
  86. package/dist/client/observability/ObservabilityDashboard.d.ts +5 -0
  87. package/dist/client/observability/ObservabilityDashboard.d.ts.map +1 -0
  88. package/dist/client/observability/ObservabilityDashboard.js +169 -0
  89. package/dist/client/observability/ObservabilityDashboard.js.map +1 -0
  90. package/dist/client/observability/ThumbsFeedback.d.ts +8 -0
  91. package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -0
  92. package/dist/client/observability/ThumbsFeedback.js +64 -0
  93. package/dist/client/observability/ThumbsFeedback.js.map +1 -0
  94. package/dist/client/observability/index.d.ts +4 -0
  95. package/dist/client/observability/index.d.ts.map +1 -0
  96. package/dist/client/observability/index.js +4 -0
  97. package/dist/client/observability/index.js.map +1 -0
  98. package/dist/client/observability/useObservability.d.ts +128 -0
  99. package/dist/client/observability/useObservability.d.ts.map +1 -0
  100. package/dist/client/observability/useObservability.js +109 -0
  101. package/dist/client/observability/useObservability.js.map +1 -0
  102. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  103. package/dist/client/onboarding/OnboardingPanel.js +34 -92
  104. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  105. package/dist/client/org/RequireActiveOrg.d.ts +33 -0
  106. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -0
  107. package/dist/client/org/RequireActiveOrg.js +63 -0
  108. package/dist/client/org/RequireActiveOrg.js.map +1 -0
  109. package/dist/client/org/hooks.d.ts.map +1 -1
  110. package/dist/client/org/hooks.js +50 -15
  111. package/dist/client/org/hooks.js.map +1 -1
  112. package/dist/client/org/index.d.ts +1 -0
  113. package/dist/client/org/index.d.ts.map +1 -1
  114. package/dist/client/org/index.js +1 -0
  115. package/dist/client/org/index.js.map +1 -1
  116. package/dist/client/resources/ResourcesPanel.js +3 -3
  117. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  118. package/dist/client/settings/AutomationsSection.js +1 -1
  119. package/dist/client/settings/AutomationsSection.js.map +1 -1
  120. package/dist/client/settings/BrowserSection.js +1 -1
  121. package/dist/client/settings/BrowserSection.js.map +1 -1
  122. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  123. package/dist/client/settings/SettingsPanel.js +112 -12
  124. package/dist/client/settings/SettingsPanel.js.map +1 -1
  125. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  126. package/dist/client/settings/VoiceTranscriptionSection.js +10 -4
  127. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  128. package/dist/client/settings/useBuilderStatus.d.ts +26 -0
  129. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  130. package/dist/client/settings/useBuilderStatus.js +128 -4
  131. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  132. package/dist/client/sse-event-processor.d.ts +2 -0
  133. package/dist/client/sse-event-processor.d.ts.map +1 -1
  134. package/dist/client/sse-event-processor.js +6 -2
  135. package/dist/client/sse-event-processor.js.map +1 -1
  136. package/dist/client/transcription/BuilderTranscriptionCta.d.ts +9 -0
  137. package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -0
  138. package/dist/client/transcription/BuilderTranscriptionCta.js +18 -0
  139. package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -0
  140. package/dist/client/transcription/use-live-transcription.d.ts +29 -0
  141. package/dist/client/transcription/use-live-transcription.d.ts.map +1 -0
  142. package/dist/client/transcription/use-live-transcription.js +156 -0
  143. package/dist/client/transcription/use-live-transcription.js.map +1 -0
  144. package/dist/client/use-builder-enabled.d.ts +17 -0
  145. package/dist/client/use-builder-enabled.d.ts.map +1 -0
  146. package/dist/client/use-builder-enabled.js +36 -0
  147. package/dist/client/use-builder-enabled.js.map +1 -0
  148. package/dist/client/use-db-sync.d.ts.map +1 -1
  149. package/dist/client/use-db-sync.js +4 -2
  150. package/dist/client/use-db-sync.js.map +1 -1
  151. package/dist/client/useProductionAgent.d.ts.map +1 -1
  152. package/dist/client/useProductionAgent.js +3 -1
  153. package/dist/client/useProductionAgent.js.map +1 -1
  154. package/dist/db/migrations.d.ts +9 -0
  155. package/dist/db/migrations.d.ts.map +1 -1
  156. package/dist/db/migrations.js +75 -10
  157. package/dist/db/migrations.js.map +1 -1
  158. package/dist/file-upload/builder.d.ts.map +1 -1
  159. package/dist/file-upload/builder.js +11 -4
  160. package/dist/file-upload/builder.js.map +1 -1
  161. package/dist/jobs/tools.d.ts.map +1 -1
  162. package/dist/jobs/tools.js +137 -161
  163. package/dist/jobs/tools.js.map +1 -1
  164. package/dist/notifications/actions.d.ts +2 -2
  165. package/dist/notifications/actions.d.ts.map +1 -1
  166. package/dist/notifications/actions.js +77 -69
  167. package/dist/notifications/actions.js.map +1 -1
  168. package/dist/observability/evals.d.ts +22 -0
  169. package/dist/observability/evals.d.ts.map +1 -0
  170. package/dist/observability/evals.js +371 -0
  171. package/dist/observability/evals.js.map +1 -0
  172. package/dist/observability/experiments.d.ts +24 -0
  173. package/dist/observability/experiments.d.ts.map +1 -0
  174. package/dist/observability/experiments.js +274 -0
  175. package/dist/observability/experiments.js.map +1 -0
  176. package/dist/observability/feedback.d.ts +14 -0
  177. package/dist/observability/feedback.d.ts.map +1 -0
  178. package/dist/observability/feedback.js +256 -0
  179. package/dist/observability/feedback.js.map +1 -0
  180. package/dist/observability/index.d.ts +6 -0
  181. package/dist/observability/index.d.ts.map +1 -0
  182. package/dist/observability/index.js +5 -0
  183. package/dist/observability/index.js.map +1 -0
  184. package/dist/observability/plugin.d.ts +2 -0
  185. package/dist/observability/plugin.d.ts.map +1 -0
  186. package/dist/observability/plugin.js +12 -0
  187. package/dist/observability/plugin.js.map +1 -0
  188. package/dist/observability/routes.d.ts +68 -0
  189. package/dist/observability/routes.d.ts.map +1 -0
  190. package/dist/observability/routes.js +301 -0
  191. package/dist/observability/routes.js.map +1 -0
  192. package/dist/observability/store.d.ts +77 -0
  193. package/dist/observability/store.d.ts.map +1 -0
  194. package/dist/observability/store.js +976 -0
  195. package/dist/observability/store.js.map +1 -0
  196. package/dist/observability/traces.d.ts +37 -0
  197. package/dist/observability/traces.d.ts.map +1 -0
  198. package/dist/observability/traces.js +182 -0
  199. package/dist/observability/traces.js.map +1 -0
  200. package/dist/observability/types.d.ts +159 -0
  201. package/dist/observability/types.d.ts.map +1 -0
  202. package/dist/observability/types.js +16 -0
  203. package/dist/observability/types.js.map +1 -0
  204. package/dist/onboarding/default-steps.d.ts.map +1 -1
  205. package/dist/onboarding/default-steps.js +6 -5
  206. package/dist/onboarding/default-steps.js.map +1 -1
  207. package/dist/onboarding/types.d.ts +10 -1
  208. package/dist/onboarding/types.d.ts.map +1 -1
  209. package/dist/org/context.d.ts +8 -1
  210. package/dist/org/context.d.ts.map +1 -1
  211. package/dist/org/context.js +163 -6
  212. package/dist/org/context.js.map +1 -1
  213. package/dist/org/handlers.d.ts.map +1 -1
  214. package/dist/org/handlers.js +49 -30
  215. package/dist/org/handlers.js.map +1 -1
  216. package/dist/progress/actions.d.ts +3 -0
  217. package/dist/progress/actions.d.ts.map +1 -1
  218. package/dist/progress/actions.js +86 -110
  219. package/dist/progress/actions.js.map +1 -1
  220. package/dist/progress/routes.d.ts +1 -1
  221. package/dist/progress/routes.js +1 -1
  222. package/dist/scripts/agent-engines/list-agent-engines.js +1 -1
  223. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  224. package/dist/scripts/agent-engines/manage-agent-engine.d.ts +10 -0
  225. package/dist/scripts/agent-engines/manage-agent-engine.d.ts.map +1 -0
  226. package/dist/scripts/agent-engines/manage-agent-engine.js +47 -0
  227. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -0
  228. package/dist/scripts/agent-engines/set-agent-engine.js +2 -2
  229. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  230. package/dist/server/agent-chat-plugin.d.ts +39 -0
  231. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  232. package/dist/server/agent-chat-plugin.js +707 -443
  233. package/dist/server/agent-chat-plugin.js.map +1 -1
  234. package/dist/server/agent-teams.js +1 -1
  235. package/dist/server/agent-teams.js.map +1 -1
  236. package/dist/server/analytics.d.ts +5 -6
  237. package/dist/server/analytics.d.ts.map +1 -1
  238. package/dist/server/analytics.js +6 -14
  239. package/dist/server/analytics.js.map +1 -1
  240. package/dist/server/app-name.d.ts +5 -2
  241. package/dist/server/app-name.d.ts.map +1 -1
  242. package/dist/server/app-name.js +14 -3
  243. package/dist/server/app-name.js.map +1 -1
  244. package/dist/server/app-url.d.ts.map +1 -1
  245. package/dist/server/app-url.js +10 -1
  246. package/dist/server/app-url.js.map +1 -1
  247. package/dist/server/auth.d.ts +2 -0
  248. package/dist/server/auth.d.ts.map +1 -1
  249. package/dist/server/auth.js +153 -2
  250. package/dist/server/auth.js.map +1 -1
  251. package/dist/server/better-auth-instance.d.ts +2 -0
  252. package/dist/server/better-auth-instance.d.ts.map +1 -1
  253. package/dist/server/better-auth-instance.js +4 -0
  254. package/dist/server/better-auth-instance.js.map +1 -1
  255. package/dist/server/builder-browser.d.ts +59 -1
  256. package/dist/server/builder-browser.d.ts.map +1 -1
  257. package/dist/server/builder-browser.js +127 -11
  258. package/dist/server/builder-browser.js.map +1 -1
  259. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  260. package/dist/server/core-routes-plugin.js +208 -6
  261. package/dist/server/core-routes-plugin.js.map +1 -1
  262. package/dist/server/credential-provider.d.ts +7 -0
  263. package/dist/server/credential-provider.d.ts.map +1 -1
  264. package/dist/server/credential-provider.js +10 -0
  265. package/dist/server/credential-provider.js.map +1 -1
  266. package/dist/server/onboarding-html.d.ts.map +1 -1
  267. package/dist/server/onboarding-html.js +29 -4
  268. package/dist/server/onboarding-html.js.map +1 -1
  269. package/dist/server/poll.d.ts.map +1 -1
  270. package/dist/server/poll.js +46 -5
  271. package/dist/server/poll.js.map +1 -1
  272. package/dist/server/ssr-handler.d.ts.map +1 -1
  273. package/dist/server/ssr-handler.js +2 -1
  274. package/dist/server/ssr-handler.js.map +1 -1
  275. package/dist/server/transcribe-voice.d.ts.map +1 -1
  276. package/dist/server/transcribe-voice.js +44 -5
  277. package/dist/server/transcribe-voice.js.map +1 -1
  278. package/dist/styles/agent-native.css +11 -2
  279. package/dist/templates/default/.agents/skills/progress/SKILL.md +14 -12
  280. package/dist/templates/default/app/root.tsx +7 -0
  281. package/dist/transcription/builder-transcription.d.ts +27 -0
  282. package/dist/transcription/builder-transcription.d.ts.map +1 -0
  283. package/dist/transcription/builder-transcription.js +41 -0
  284. package/dist/transcription/builder-transcription.js.map +1 -0
  285. package/dist/triggers/actions.d.ts +3 -0
  286. package/dist/triggers/actions.d.ts.map +1 -1
  287. package/dist/triggers/actions.js +189 -213
  288. package/dist/triggers/actions.js.map +1 -1
  289. package/docs/content/agent-mentions.md +1 -1
  290. package/docs/content/automations.md +22 -19
  291. package/docs/content/cloneable-saas.md +2 -2
  292. package/docs/content/deployment.md +21 -61
  293. package/docs/content/getting-started.md +1 -1
  294. package/docs/content/key-concepts.md +1 -1
  295. package/docs/content/{enterprise-workspace.md → multi-app-workspace.md} +3 -3
  296. package/docs/content/multi-tenancy.md +1 -1
  297. package/docs/content/progress.md +11 -11
  298. package/docs/content/template-dispatch.md +3 -3
  299. package/docs/content/workspace-management.md +1 -1
  300. package/package.json +9 -2
  301. package/src/templates/default/.agents/skills/progress/SKILL.md +14 -12
  302. package/src/templates/default/app/root.tsx +7 -0
@@ -2,156 +2,132 @@
2
2
  * Framework-level agent tools for the progress primitive. Registered as
3
3
  * native tools so every template exposes them. Use from long agent loops
4
4
  * to communicate status to the user while work is still in-flight.
5
+ *
6
+ * All operations are consolidated into a single `manage-progress` tool
7
+ * with an `action` discriminator.
5
8
  */
6
9
  import { startRun, updateRunProgress, completeRun, listRuns, } from "./registry.js";
7
10
  export function createProgressToolEntries(getCurrentUser) {
8
11
  return {
9
- "start-run": {
12
+ "manage-progress": {
10
13
  tool: {
11
- description: "Mark the start of a long-running task the user should be able to watch. Returns a runId pass it to `update-run-progress` and `complete-run`. Call this at the top of any task that will take more than a few seconds.",
14
+ description: `Manage long-running task progress visible to the user. Use this whenever a task will take more than a few seconds so the user can watch status in the runs tray.
15
+
16
+ Actions:
17
+ • "start" — Begin tracking a new task. Returns a runId to pass to subsequent calls. Params: title (required), step (optional initial step text), metadataJson (optional JSON string with link/thread/artifact info).
18
+ • "update" — Report progress on a running task. Call frequently during long loops. Params: runId (required), percent (optional 0–100), step (optional current step text). Omitted fields stay unchanged.
19
+ • "complete" — Mark a task as finished. Params: runId (required), status (required: "succeeded" | "failed" | "cancelled"), step (optional final step text). Pairs well with \`notify\` to tell the user the outcome.
20
+ • "list" — List the user's recent runs. Use when the user asks "what is still running" or "what did you do earlier". Params: active (optional boolean, filter to in-progress only), limit (optional number, default 20, max 200).`,
12
21
  parameters: {
13
22
  type: "object",
14
23
  properties: {
24
+ action: {
25
+ type: "string",
26
+ enum: ["start", "update", "complete", "list"],
27
+ description: 'The operation to perform: "start" a new run, "update" progress, "complete" a run, or "list" recent runs.',
28
+ },
15
29
  title: {
16
30
  type: "string",
17
- description: 'Short human-readable title, e.g. "Triage 128 unread emails".',
31
+ description: '[start] Short human-readable title, e.g. "Triage 128 unread emails".',
18
32
  },
19
33
  step: {
20
34
  type: "string",
21
- description: 'Initial step description, e.g. "Fetching inbox".',
35
+ description: '[start/update/complete] Step description, e.g. "Fetching inbox" or "Drafting reply 23/100".',
22
36
  },
23
37
  metadataJson: {
24
38
  type: "string",
25
- description: "Optional JSON metadata: link, thread id, artifact path, etc.",
39
+ description: "[start] Optional JSON metadata: link, thread id, artifact path, etc.",
26
40
  },
27
- },
28
- required: ["title"],
29
- },
30
- },
31
- run: async (args) => {
32
- const owner = getCurrentUser();
33
- if (!args.title)
34
- return "Error: --title is required.";
35
- let metadata;
36
- if (args.metadataJson) {
37
- try {
38
- metadata = JSON.parse(args.metadataJson);
39
- }
40
- catch {
41
- return "Error: metadataJson must be valid JSON.";
42
- }
43
- }
44
- const run = await startRun({
45
- owner,
46
- title: args.title,
47
- step: args.step || undefined,
48
- metadata,
49
- });
50
- return `Run started. runId=${run.id}`;
51
- },
52
- },
53
- "update-run-progress": {
54
- tool: {
55
- description: "Update a running task with progress. Call frequently during long loops so the user can watch status in the runs tray. Any omitted field stays unchanged.",
56
- parameters: {
57
- type: "object",
58
- properties: {
59
41
  runId: {
60
42
  type: "string",
61
- description: "The id returned by `start-run`.",
43
+ description: '[update/complete] The id returned by a "start" action.',
62
44
  },
63
45
  percent: {
64
46
  type: "number",
65
- description: "Progress 0–100. Omit if the task has no known upper bound.",
66
- },
67
- step: {
68
- type: "string",
69
- description: 'Current step, e.g. "Drafting reply 23/100".',
70
- },
71
- },
72
- required: ["runId"],
73
- },
74
- },
75
- run: async (args) => {
76
- const owner = getCurrentUser();
77
- const runId = String(args.runId ?? "");
78
- if (!runId)
79
- return "Error: --runId is required.";
80
- const percent = args.percent == null ? undefined : Number(args.percent);
81
- const run = await updateRunProgress(runId, owner, {
82
- percent,
83
- step: args.step ? String(args.step) : undefined,
84
- });
85
- if (!run)
86
- return `Error: run ${runId} not found.`;
87
- return `Run updated (percent=${run.percent ?? "?"}, step=${run.step ?? ""}).`;
88
- },
89
- },
90
- "complete-run": {
91
- tool: {
92
- description: "Mark a task as finished. Use `succeeded` for a clean finish, `failed` when something went wrong, `cancelled` when the user interrupted. Pairs well with `notify` to tell the user the outcome.",
93
- parameters: {
94
- type: "object",
95
- properties: {
96
- runId: {
97
- type: "string",
98
- description: "The id returned by `start-run`.",
47
+ description: "[update] Progress 0–100. Omit if the task has no known upper bound.",
99
48
  },
100
49
  status: {
101
50
  type: "string",
102
51
  enum: ["succeeded", "failed", "cancelled"],
103
- description: "Terminal status.",
52
+ description: "[complete] Terminal status for the run.",
104
53
  },
105
- step: {
106
- type: "string",
107
- description: "Optional final step text.",
108
- },
109
- },
110
- required: ["runId", "status"],
111
- },
112
- },
113
- run: async (args) => {
114
- const owner = getCurrentUser();
115
- if (!args.runId || !args.status) {
116
- return "Error: --runId and --status are required.";
117
- }
118
- const run = await completeRun(args.runId, owner, args.status, args.step ? { step: args.step } : undefined);
119
- if (!run)
120
- return `Error: run ${args.runId} not found.`;
121
- return `Run ${run.id} completed with status=${run.status}.`;
122
- },
123
- },
124
- "list-runs": {
125
- tool: {
126
- description: "List the user's recent runs. Use when the user asks 'what is still running' or 'what did you do earlier'.",
127
- parameters: {
128
- type: "object",
129
- properties: {
130
54
  active: {
131
55
  type: "boolean",
132
- description: "When true, only return runs still in progress.",
56
+ description: "[list] When true, only return runs still in progress.",
133
57
  },
134
58
  limit: {
135
59
  type: "number",
136
- description: "Max rows (default 20, max 200).",
60
+ description: "[list] Max rows (default 20, max 200).",
137
61
  },
138
62
  },
63
+ required: ["action"],
139
64
  },
140
65
  },
141
66
  run: async (args) => {
142
67
  const owner = getCurrentUser();
143
- const rows = await listRuns(owner, {
144
- activeOnly: args.active === true || args.active === "true",
145
- limit: Math.min(Number(args.limit ?? 20), 200),
146
- });
147
- if (rows.length === 0) {
148
- return args.active ? "No active runs." : "No runs.";
68
+ const action = String(args.action ?? "");
69
+ switch (action) {
70
+ case "start": {
71
+ const title = args.title ? String(args.title) : "";
72
+ if (!title)
73
+ return "Error: title is required for the start action.";
74
+ let metadata;
75
+ if (args.metadataJson) {
76
+ try {
77
+ metadata = JSON.parse(String(args.metadataJson));
78
+ }
79
+ catch {
80
+ return "Error: metadataJson must be valid JSON.";
81
+ }
82
+ }
83
+ const run = await startRun({
84
+ owner,
85
+ title,
86
+ step: args.step ? String(args.step) : undefined,
87
+ metadata,
88
+ });
89
+ return `Run started. runId=${run.id}`;
90
+ }
91
+ case "update": {
92
+ const runId = String(args.runId ?? "");
93
+ if (!runId)
94
+ return "Error: runId is required for the update action.";
95
+ const percent = args.percent == null ? undefined : Number(args.percent);
96
+ const run = await updateRunProgress(runId, owner, {
97
+ percent,
98
+ step: args.step ? String(args.step) : undefined,
99
+ });
100
+ if (!run)
101
+ return `Error: run ${runId} not found.`;
102
+ return `Run updated (percent=${run.percent ?? "?"}, step=${run.step ?? ""}).`;
103
+ }
104
+ case "complete": {
105
+ const runId = String(args.runId ?? "");
106
+ const status = String(args.status ?? "");
107
+ if (!runId || !status) {
108
+ return "Error: runId and status are required for the complete action.";
109
+ }
110
+ const run = await completeRun(runId, owner, status, args.step ? { step: String(args.step) } : undefined);
111
+ if (!run)
112
+ return `Error: run ${runId} not found.`;
113
+ return `Run ${run.id} completed with status=${run.status}.`;
114
+ }
115
+ case "list": {
116
+ const rows = await listRuns(owner, {
117
+ activeOnly: args.active === true || args.active === "true",
118
+ limit: Math.min(Number(args.limit ?? 20), 200),
119
+ });
120
+ if (rows.length === 0) {
121
+ return args.active ? "No active runs." : "No runs.";
122
+ }
123
+ return rows
124
+ .map((r) => `[${r.status}] ${r.title}${r.percent != null ? ` · ${r.percent}%` : ""}${r.step ? ` — ${r.step}` : ""} · ${r.startedAt}`)
125
+ .join("\n");
126
+ }
127
+ default:
128
+ return `Error: unknown action "${action}". Use one of: start, update, complete, list.`;
149
129
  }
150
- return rows
151
- .map((r) => `[${r.status}] ${r.title}${r.percent != null ? ` · ${r.percent}%` : ""}${r.step ? ` — ${r.step}` : ""} · ${r.startedAt}`)
152
- .join("\n");
153
130
  },
154
- readOnly: true,
155
131
  },
156
132
  };
157
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/progress/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/progress/actions.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * GET /_agent-native/runs/:id
8
8
  * DELETE /_agent-native/runs/:id
9
9
  *
10
- * Writes happen through the `update-run-progress` agent tool, not HTTP —
10
+ * Writes happen through the `manage-progress` agent tool, not HTTP —
11
11
  * the agent is the canonical writer, the UI only reads. (We can add write
12
12
  * routes later if a non-agent producer needs them.)
13
13
  */
@@ -7,7 +7,7 @@
7
7
  * GET /_agent-native/runs/:id
8
8
  * DELETE /_agent-native/runs/:id
9
9
  *
10
- * Writes happen through the `update-run-progress` agent tool, not HTTP —
10
+ * Writes happen through the `manage-progress` agent tool, not HTTP —
11
11
  * the agent is the canonical writer, the UI only reads. (We can add write
12
12
  * routes later if a non-agent producer needs them.)
13
13
  */
@@ -4,7 +4,7 @@
4
4
  import { listAgentEngines, registerBuiltinEngines, detectEngineFromEnv, getAgentEngineEntry, isStoredEngineUsable, } from "../../agent/engine/index.js";
5
5
  import { getSetting } from "../../settings/index.js";
6
6
  export const tool = {
7
- description: "List all available AI agent engines (Anthropic, OpenAI, Gemini, Groq, etc.) and the currently selected engine. Use this to check what engines are available before calling set-agent-engine.",
7
+ description: 'List all available AI agent engines (Anthropic, OpenAI, Gemini, Groq, etc.) and the currently selected engine. Use this to check what engines are available before calling manage-agent-engine with action="set".',
8
8
  parameters: {
9
9
  type: "object",
10
10
  properties: {},
@@ -1 +1 @@
1
- {"version":3,"file":"list-agent-engines.js","sourceRoot":"","sources":["../../../src/scripts/agent-engines/list-agent-engines.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,WAAW,EACT,8LAA8L;IAChM,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,sBAAsB,EAAE,CAAC;IAEzB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAE,cAAsD;QACzD,CAAC,CAAC,IAAI,CAAC;IAET,4EAA4E;IAC5E,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,WAAW,GACf,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ;QACjC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW,IAAI,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,YAAY,GAChB,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;YACvB,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,mBAAmB,EAAE;QACrB,SAAS,CAAC;IACZ,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,iBAAiB,GAAG,YAAY,EAAE,IAAI,IAAI,WAAW,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC,CAAC;QACH,OAAO,EAAE;YACP,MAAM,EAAE,iBAAiB;YACzB,KAAK,EACH,YAAY;gBACZ,YAAY,EAAE,YAAY;gBAC1B,2BAA2B;SAC9B;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"list-agent-engines.js","sourceRoot":"","sources":["../../../src/scripts/agent-engines/list-agent-engines.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,WAAW,EACT,mNAAmN;IACrN,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,sBAAsB,EAAE,CAAC;IAEzB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAE,cAAsD;QACzD,CAAC,CAAC,IAAI,CAAC;IAET,4EAA4E;IAC5E,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,WAAW,GACf,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ;QACjC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW,IAAI,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,YAAY,GAChB,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;YACvB,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,mBAAmB,EAAE;QACrB,SAAS,CAAC;IACZ,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,iBAAiB,GAAG,YAAY,EAAE,IAAI,IAAI,WAAW,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC,CAAC;QACH,OAAO,EAAE;YACP,MAAM,EAAE,iBAAiB;YACzB,KAAK,EACH,YAAY;gBACZ,YAAY,EAAE,YAAY;gBAC1B,2BAA2B;SAC9B;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * manage-agent-engine — unified tool for listing, setting, and testing agent engines.
3
+ *
4
+ * Consolidates the former list-agent-engines, set-agent-engine, and test-agent-engine
5
+ * tools into a single tool with an `action` discriminator.
6
+ */
7
+ import type { ActionTool } from "../../agent/types.js";
8
+ export declare const tool: ActionTool;
9
+ export declare function run(args: Record<string, string>): Promise<string>;
10
+ //# sourceMappingURL=manage-agent-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-agent-engine.d.ts","sourceRoot":"","sources":["../../../src/scripts/agent-engines/manage-agent-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,eAAO,MAAM,IAAI,EAAE,UAyBlB,CAAC;AAEF,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAevE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * manage-agent-engine — unified tool for listing, setting, and testing agent engines.
3
+ *
4
+ * Consolidates the former list-agent-engines, set-agent-engine, and test-agent-engine
5
+ * tools into a single tool with an `action` discriminator.
6
+ */
7
+ import { run as runList } from "./list-agent-engines.js";
8
+ import { run as runSet } from "./set-agent-engine.js";
9
+ import { run as runTest } from "./test-agent-engine.js";
10
+ export const tool = {
11
+ description: 'Manage AI agent engines: list available engines, set the active engine/model, or test an engine. Pass action="list" to see options, action="set" to change, action="test" to verify connectivity.',
12
+ parameters: {
13
+ type: "object",
14
+ properties: {
15
+ action: {
16
+ type: "string",
17
+ enum: ["list", "set", "test"],
18
+ description: '"list" — show available engines and current selection. "set" — change the active engine/model. "test" — send a trivial prompt to verify connectivity.',
19
+ },
20
+ engine: {
21
+ type: "string",
22
+ description: 'Engine name (e.g. "anthropic", "ai-sdk:openai", "ai-sdk:google"). Required for "set", optional for "test" (defaults to "anthropic").',
23
+ },
24
+ model: {
25
+ type: "string",
26
+ description: "Model ID (e.g. 'claude-sonnet-4-6', 'gpt-4o'). Optional for \"set\" and \"test\"; defaults to the engine's default model.",
27
+ },
28
+ },
29
+ required: ["action"],
30
+ },
31
+ };
32
+ export async function run(args) {
33
+ const { action } = args;
34
+ switch (action) {
35
+ case "list":
36
+ return runList();
37
+ case "set":
38
+ return runSet(args);
39
+ case "test":
40
+ return runTest(args);
41
+ default:
42
+ return JSON.stringify({
43
+ error: `Unknown action "${action}". Must be one of: list, set, test.`,
44
+ });
45
+ }
46
+ }
47
+ //# sourceMappingURL=manage-agent-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-agent-engine.js","sourceRoot":"","sources":["../../../src/scripts/agent-engines/manage-agent-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,WAAW,EACT,mMAAmM;IACrM,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC7B,WAAW,EACT,uJAAuJ;aAC1J;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,sIAAsI;aACzI;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,2HAA2H;aAC9H;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAA4B;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,OAAO,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,mBAAmB,MAAM,qCAAqC;aACtE,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
@@ -4,13 +4,13 @@
4
4
  import { listAgentEngines, getAgentEngineEntry, registerBuiltinEngines, } from "../../agent/engine/index.js";
5
5
  import { putSetting } from "../../settings/index.js";
6
6
  export const tool = {
7
- description: "Set the active AI agent engine and model. Changes take effect on the next conversation. Use list-agent-engines first to see available options.",
7
+ description: 'Set the active AI agent engine and model. Changes take effect on the next conversation. Use manage-agent-engine with action="list" first to see available options.',
8
8
  parameters: {
9
9
  type: "object",
10
10
  properties: {
11
11
  engine: {
12
12
  type: "string",
13
- description: 'Engine name (e.g. "anthropic", "ai-sdk:openai", "ai-sdk:google"). Use list-agent-engines to see all options.',
13
+ description: 'Engine name (e.g. "anthropic", "ai-sdk:openai", "ai-sdk:google"). Use manage-agent-engine with action="list" to see all options.',
14
14
  },
15
15
  model: {
16
16
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"set-agent-engine.js","sourceRoot":"","sources":["../../../src/scripts/agent-engines/set-agent-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,WAAW,EACT,gJAAgJ;IAClJ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8GAA8G;aACjH;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,2HAA2H;aAC9H;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAA4B;IACpD,sBAAsB,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAE3C,IAAI,CAAC,UAAU;QAAE,OAAO,6BAA6B,CAAC;IAEtD,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,gBAAgB,EAAE;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,kBAAkB,UAAU,mCAAmC,SAAS,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;IAElD,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,cAAc,GAClB,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAClC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,oBAAoB,UAAU,qEAAqE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;IACvL,CAAC;IAED,MAAM,UAAU,CAAC,cAAc,EAAE;QAC/B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,aAAa,mCAAmC,KAAK,CAAC,KAAK,sEAAsE,CAAC;IAElJ,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,uBAAuB,KAAK,CAAC,KAAK,eAAe,aAAa,2CAA2C,UAAU,EAAE;KAC/H,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"set-agent-engine.js","sourceRoot":"","sources":["../../../src/scripts/agent-engines/set-agent-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,WAAW,EACT,oKAAoK;IACtK,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kIAAkI;aACrI;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,2HAA2H;aAC9H;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAA4B;IACpD,sBAAsB,EAAE,CAAC;IAEzB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAE3C,IAAI,CAAC,UAAU;QAAE,OAAO,6BAA6B,CAAC;IAEtD,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,gBAAgB,EAAE;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,kBAAkB,UAAU,mCAAmC,SAAS,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;IAElD,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,cAAc,GAClB,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAClC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,oBAAoB,UAAU,qEAAqE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;IACvL,CAAC;IAED,MAAM,UAAU,CAAC,cAAc,EAAE;QAC/B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,aAAa,mCAAmC,KAAK,CAAC,KAAK,sEAAsE,CAAC;IAElJ,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,uBAAuB,KAAK,CAAC,KAAK,eAAe,aAAa,2CAA2C,UAAU,EAAE;KAC/H,CAAC,CAAC;AACL,CAAC"}
@@ -51,6 +51,10 @@ export interface AgentChatPluginOptions {
51
51
  * Return `null` or an empty string to skip. The string you return is
52
52
  * appended verbatim, so wrap it in your own XML tags (e.g.
53
53
  * `<data-dictionary>…</data-dictionary>`) to keep the prompt scannable.
54
+ *
55
+ * Called on every request in every prompt variant (lean, lazy, full).
56
+ * Templates that want to suppress it in a particular mode should return
57
+ * `null` from the callback based on their own logic.
54
58
  */
55
59
  extraContext?: (event: any, owner: string) => string | null | Promise<string | null>;
56
60
  /**
@@ -69,6 +73,41 @@ export interface AgentChatPluginOptions {
69
73
  * leave this off.
70
74
  */
71
75
  leanPrompt?: boolean;
76
+ /**
77
+ * Use a compact system prompt with on-demand context loading. The system
78
+ * prompt includes essential behavioral rules and action signatures, but
79
+ * defers verbose framework details, SQL schema, skills, learnings, and
80
+ * memory behind tools (`get-framework-context`, `db-schema`,
81
+ * `resources` (action: read)). The agent fetches these on-demand when needed.
82
+ *
83
+ * This reduces the system prompt by ~60-70%, significantly improving
84
+ * time-to-first-token and reducing "thinking" time. The agent retains
85
+ * all capabilities — it just loads context lazily instead of upfront.
86
+ *
87
+ * Defaults to `true`. Set to `false` to use the original full prompt.
88
+ * Ignored when `leanPrompt` is set (lean mode is even more minimal).
89
+ */
90
+ lazyContext?: boolean;
91
+ /**
92
+ * In dev mode, register the template's actions as native tools the agent
93
+ * can call directly with structured JSON args — skipping the default
94
+ * `shell(command="pnpm action <name> ...")` indirection.
95
+ *
96
+ * The default dev behavior shells out because it "mirrors how Claude Code
97
+ * works locally" and reduces empty-object tool calls for templates with
98
+ * simple string args. But templates whose actions take structured data
99
+ * (objects, arrays, nested JSON) can't round-trip those cleanly through
100
+ * the CLI parser — stringified JSON on the way in, loss of type fidelity
101
+ * on the way out.
102
+ *
103
+ * Set to `true` to get the same tool surface in dev that production uses.
104
+ * `leanPrompt: true` implies this already (lean mode has no shell-usage
105
+ * guidance, so actions must be native). Set this flag without
106
+ * `leanPrompt` when you want native actions AND the full system prompt.
107
+ *
108
+ * Defaults to `false`.
109
+ */
110
+ nativeActionsInDev?: boolean;
72
111
  }
73
112
  export declare function createAgentChatPlugin(options?: AgentChatPluginOptions): NitroPluginDef;
74
113
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAUjB,MAAM,wBAAwB,CAAC;AAoiChC,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9C,wCAAwC;IACxC,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9C,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EACH,OAAO,0BAA0B,EAAE,WAAW,GAC9C,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACtD,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,gBAAgB,CAAC,EACb,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,KACV,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsgBD,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CA8oEhB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAwC,CAAC;AAa9E,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAE7D"}
1
+ {"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAUjB,MAAM,wBAAwB,CAAC;AAigChC,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9C,wCAAwC;IACxC,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9C,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EACH,OAAO,0BAA0B,EAAE,WAAW,GAC9C,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACtD,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,gBAAgB,CAAC,EACb,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,CAAC,MACG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,KACV,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA2tBD,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CA2uEhB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAwC,CAAC;AAa9E,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAE7D"}