@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.
- package/README.md +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +26 -8
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +19 -0
- package/dist/agent/engine/builder-engine.d.ts.map +1 -0
- package/dist/agent/engine/builder-engine.js +430 -0
- package/dist/agent/engine/builder-engine.js.map +1 -0
- package/dist/agent/engine/builtin.d.ts.map +1 -1
- package/dist/agent/engine/builtin.js +26 -10
- package/dist/agent/engine/builtin.js.map +1 -1
- package/dist/agent/engine/index.d.ts +1 -1
- package/dist/agent/engine/index.d.ts.map +1 -1
- package/dist/agent/engine/index.js +1 -1
- package/dist/agent/engine/index.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +20 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +49 -1
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/engine/types.d.ts +30 -0
- package/dist/agent/engine/types.d.ts.map +1 -1
- package/dist/agent/engine/types.js +19 -1
- package/dist/agent/engine/types.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +65 -7
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +11 -1
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +4 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +1 -0
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +8 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/checkpoints/service.d.ts +1 -0
- package/dist/checkpoints/service.d.ts.map +1 -1
- package/dist/checkpoints/service.js +26 -2
- package/dist/checkpoints/service.js.map +1 -1
- package/dist/cli/create.d.ts +30 -0
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +25 -13
- package/dist/cli/create.js.map +1 -1
- package/dist/client/AgentPanel.js +1 -1
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +49 -10
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ConnectBuilderCard.d.ts +1 -7
- package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
- package/dist/client/ConnectBuilderCard.js +30 -132
- package/dist/client/ConnectBuilderCard.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +30 -9
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/analytics.d.ts +5 -8
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +53 -11
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/builder-mark.d.ts +9 -0
- package/dist/client/builder-mark.d.ts.map +1 -0
- package/dist/client/builder-mark.js +10 -0
- package/dist/client/builder-mark.js.map +1 -0
- package/dist/client/components/ui/popover.d.ts +8 -0
- package/dist/client/components/ui/popover.d.ts.map +1 -0
- package/dist/client/components/ui/popover.js +11 -0
- package/dist/client/components/ui/popover.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts +2 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.js +244 -0
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -0
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +9 -5
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +4 -2
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/error-format.d.ts +2 -0
- package/dist/client/error-format.d.ts.map +1 -0
- package/dist/client/error-format.js +31 -0
- package/dist/client/error-format.js.map +1 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/observability/ObservabilityDashboard.d.ts +5 -0
- package/dist/client/observability/ObservabilityDashboard.d.ts.map +1 -0
- package/dist/client/observability/ObservabilityDashboard.js +169 -0
- package/dist/client/observability/ObservabilityDashboard.js.map +1 -0
- package/dist/client/observability/ThumbsFeedback.d.ts +8 -0
- package/dist/client/observability/ThumbsFeedback.d.ts.map +1 -0
- package/dist/client/observability/ThumbsFeedback.js +64 -0
- package/dist/client/observability/ThumbsFeedback.js.map +1 -0
- package/dist/client/observability/index.d.ts +4 -0
- package/dist/client/observability/index.d.ts.map +1 -0
- package/dist/client/observability/index.js +4 -0
- package/dist/client/observability/index.js.map +1 -0
- package/dist/client/observability/useObservability.d.ts +128 -0
- package/dist/client/observability/useObservability.d.ts.map +1 -0
- package/dist/client/observability/useObservability.js +109 -0
- package/dist/client/observability/useObservability.js.map +1 -0
- package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +34 -92
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts +33 -0
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -0
- package/dist/client/org/RequireActiveOrg.js +63 -0
- package/dist/client/org/RequireActiveOrg.js.map +1 -0
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +50 -15
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +1 -0
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +1 -0
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +3 -3
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/settings/AutomationsSection.js +1 -1
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/BrowserSection.js +1 -1
- package/dist/client/settings/BrowserSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +112 -12
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +10 -4
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +26 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +128 -4
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +2 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +6 -2
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts +9 -0
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -0
- package/dist/client/transcription/BuilderTranscriptionCta.js +18 -0
- package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -0
- package/dist/client/transcription/use-live-transcription.d.ts +29 -0
- package/dist/client/transcription/use-live-transcription.d.ts.map +1 -0
- package/dist/client/transcription/use-live-transcription.js +156 -0
- package/dist/client/transcription/use-live-transcription.js.map +1 -0
- package/dist/client/use-builder-enabled.d.ts +17 -0
- package/dist/client/use-builder-enabled.d.ts.map +1 -0
- package/dist/client/use-builder-enabled.js +36 -0
- package/dist/client/use-builder-enabled.js.map +1 -0
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +4 -2
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/useProductionAgent.d.ts.map +1 -1
- package/dist/client/useProductionAgent.js +3 -1
- package/dist/client/useProductionAgent.js.map +1 -1
- package/dist/db/migrations.d.ts +9 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +75 -10
- package/dist/db/migrations.js.map +1 -1
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +11 -4
- package/dist/file-upload/builder.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +137 -161
- package/dist/jobs/tools.js.map +1 -1
- package/dist/notifications/actions.d.ts +2 -2
- package/dist/notifications/actions.d.ts.map +1 -1
- package/dist/notifications/actions.js +77 -69
- package/dist/notifications/actions.js.map +1 -1
- package/dist/observability/evals.d.ts +22 -0
- package/dist/observability/evals.d.ts.map +1 -0
- package/dist/observability/evals.js +371 -0
- package/dist/observability/evals.js.map +1 -0
- package/dist/observability/experiments.d.ts +24 -0
- package/dist/observability/experiments.d.ts.map +1 -0
- package/dist/observability/experiments.js +274 -0
- package/dist/observability/experiments.js.map +1 -0
- package/dist/observability/feedback.d.ts +14 -0
- package/dist/observability/feedback.d.ts.map +1 -0
- package/dist/observability/feedback.js +256 -0
- package/dist/observability/feedback.js.map +1 -0
- package/dist/observability/index.d.ts +6 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/plugin.d.ts +2 -0
- package/dist/observability/plugin.d.ts.map +1 -0
- package/dist/observability/plugin.js +12 -0
- package/dist/observability/plugin.js.map +1 -0
- package/dist/observability/routes.d.ts +68 -0
- package/dist/observability/routes.d.ts.map +1 -0
- package/dist/observability/routes.js +301 -0
- package/dist/observability/routes.js.map +1 -0
- package/dist/observability/store.d.ts +77 -0
- package/dist/observability/store.d.ts.map +1 -0
- package/dist/observability/store.js +976 -0
- package/dist/observability/store.js.map +1 -0
- package/dist/observability/traces.d.ts +37 -0
- package/dist/observability/traces.d.ts.map +1 -0
- package/dist/observability/traces.js +182 -0
- package/dist/observability/traces.js.map +1 -0
- package/dist/observability/types.d.ts +159 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +16 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/onboarding/default-steps.d.ts.map +1 -1
- package/dist/onboarding/default-steps.js +6 -5
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/onboarding/types.d.ts +10 -1
- package/dist/onboarding/types.d.ts.map +1 -1
- package/dist/org/context.d.ts +8 -1
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +163 -6
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +49 -30
- package/dist/org/handlers.js.map +1 -1
- package/dist/progress/actions.d.ts +3 -0
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +86 -110
- package/dist/progress/actions.js.map +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/progress/routes.js +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/scripts/agent-engines/manage-agent-engine.d.ts +10 -0
- package/dist/scripts/agent-engines/manage-agent-engine.d.ts.map +1 -0
- package/dist/scripts/agent-engines/manage-agent-engine.js +47 -0
- package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -0
- package/dist/scripts/agent-engines/set-agent-engine.js +2 -2
- package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +39 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +707 -443
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.js +1 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/analytics.d.ts +5 -6
- package/dist/server/analytics.d.ts.map +1 -1
- package/dist/server/analytics.js +6 -14
- package/dist/server/analytics.js.map +1 -1
- package/dist/server/app-name.d.ts +5 -2
- package/dist/server/app-name.d.ts.map +1 -1
- package/dist/server/app-name.js +14 -3
- package/dist/server/app-name.js.map +1 -1
- package/dist/server/app-url.d.ts.map +1 -1
- package/dist/server/app-url.js +10 -1
- package/dist/server/app-url.js.map +1 -1
- package/dist/server/auth.d.ts +2 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +153 -2
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +2 -0
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +4 -0
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/builder-browser.d.ts +59 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +127 -11
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +208 -6
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +7 -0
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +10 -0
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +29 -4
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +46 -5
- package/dist/server/poll.js.map +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +2 -1
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +44 -5
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/styles/agent-native.css +11 -2
- package/dist/templates/default/.agents/skills/progress/SKILL.md +14 -12
- package/dist/templates/default/app/root.tsx +7 -0
- package/dist/transcription/builder-transcription.d.ts +27 -0
- package/dist/transcription/builder-transcription.d.ts.map +1 -0
- package/dist/transcription/builder-transcription.js +41 -0
- package/dist/transcription/builder-transcription.js.map +1 -0
- package/dist/triggers/actions.d.ts +3 -0
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +189 -213
- package/dist/triggers/actions.js.map +1 -1
- package/docs/content/agent-mentions.md +1 -1
- package/docs/content/automations.md +22 -19
- package/docs/content/cloneable-saas.md +2 -2
- package/docs/content/deployment.md +21 -61
- package/docs/content/getting-started.md +1 -1
- package/docs/content/key-concepts.md +1 -1
- package/docs/content/{enterprise-workspace.md → multi-app-workspace.md} +3 -3
- package/docs/content/multi-tenancy.md +1 -1
- package/docs/content/progress.md +11 -11
- package/docs/content/template-dispatch.md +3 -3
- package/docs/content/workspace-management.md +1 -1
- package/package.json +9 -2
- package/src/templates/default/.agents/skills/progress/SKILL.md +14 -12
- package/src/templates/default/app/root.tsx +7 -0
package/dist/progress/actions.js
CHANGED
|
@@ -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
|
-
"
|
|
12
|
+
"manage-progress": {
|
|
10
13
|
tool: {
|
|
11
|
-
description:
|
|
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: '
|
|
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:
|
|
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
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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":"AAAA
|
|
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 `
|
|
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
|
*/
|
package/dist/progress/routes.js
CHANGED
|
@@ -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 `
|
|
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:
|
|
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,
|
|
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:
|
|
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
|
|
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,
|
|
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;
|
|
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"}
|