@desplega.ai/agent-swarm 1.122.0 → 1.122.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{actions-k3bwtmgy.js → actions-rd8p2zqb.js} +6 -6
- package/dist/{app-knevny0f.js → app-v839gywt.js} +4 -4
- package/dist/{assistant-as8087ft.js → assistant-qjp128zg.js} +9 -9
- package/dist/{boot-reembed-j305cpdr.js → boot-reembed-3fjfyz1h.js} +4 -4
- package/dist/{boot-reembed-1dcc1yyk.js → boot-reembed-e4b9xsa1.js} +3 -3
- package/dist/{boot-scrub-logs-w9qkjzkm.js → boot-scrub-logs-x3vrw472.js} +2 -2
- package/dist/{claude-adapter-vxvcym3r.js → claude-adapter-zvzp4x76.js} +1 -1
- package/dist/{claude-managed-adapter-g807894s.js → claude-managed-adapter-g92bcm1a.js} +1 -1
- package/dist/{cli-9fhxk91h.js → cli-2rcegy4e.js} +11 -6
- package/dist/{cli-bxdb36d2.js → cli-2y473tja.js} +2 -2
- package/dist/{cli-mjxnr12j.js → cli-31163xvp.js} +398 -26
- package/dist/{cli-x4apc9t3.js → cli-36dctyg8.js} +139 -23
- package/dist/{cli-tc8xk5zh.js → cli-3m3ysn1f.js} +1 -1
- package/dist/{cli-wwsaj97q.js → cli-4pcxkk69.js} +10 -0
- package/dist/{cli-ma04faw5.js → cli-5arfywtm.js} +2 -0
- package/dist/{cli-qnmj37m5.js → cli-9pv05nba.js} +3 -2
- package/dist/{cli-00yr0kxv.js → cli-ctzr9apr.js} +1 -1
- package/dist/{cli-8x745f40.js → cli-ea6b2m9a.js} +3 -3
- package/dist/{cli-zweca3q3.js → cli-exfs8aym.js} +1 -1
- package/dist/{cli-8sv69q06.js → cli-fdbt8m8y.js} +26 -4
- package/dist/{cli-fc1gvt9c.js → cli-g279mtbs.js} +1 -1
- package/dist/{cli-3ptjc655.js → cli-h4kjb2qy.js} +1 -1
- package/dist/{cli-z3hcrghs.js → cli-h7209ted.js} +1 -1
- package/dist/{cli-j89ph4c4.js → cli-jc23g2g2.js} +2 -2
- package/dist/{cli-5c4327dx.js → cli-jj1arm18.js} +15 -1
- package/dist/{cli-haeq79yf.js → cli-jjcd495f.js} +1 -1
- package/dist/{cli-m7dmk462.js → cli-mwp9asnz.js} +8 -8
- package/dist/{cli-60q15ncp.js → cli-ndv6ftj4.js} +2 -2
- package/dist/{cli-586x669g.js → cli-nqxvcvnv.js} +4 -4
- package/dist/{cli-16dv125e.js → cli-peaqed7c.js} +20 -3
- package/dist/{cli-y3an9mk7.js → cli-pw04m0wb.js} +362 -140
- package/dist/{cli-wmx631p8.js → cli-spsg6mqp.js} +148 -20
- package/dist/{cli-kpfsabp2.js → cli-th8jh1rm.js} +85 -7
- package/dist/{cli-hjq6c6vz.js → cli-v2e8jdb6.js} +2 -2
- package/dist/{cli-tyfxrrdd.js → cli-w5r4wfm5.js} +11 -1
- package/dist/{cli-w48hgc2y.js → cli-xdv1vntm.js} +1 -1
- package/dist/{cli-7jb8mk4n.js → cli-xpveay6y.js} +1 -1
- package/dist/{cli-zpa6gjwq.js → cli-ydcfdmcz.js} +1 -1
- package/dist/{cli-qf0qxzw5.js → cli-zrc5k1rd.js} +1 -1
- package/dist/cli.js +10 -10
- package/dist/{codex-adapter-0kv2meed.js → codex-adapter-vcseqpwf.js} +1 -1
- package/dist/{codex-session-runner-m1e1v4r0.js → codex-session-runner-jec9e9t1.js} +1 -1
- package/dist/{commands-6j54dz62.js → commands-jfmtpvvy.js} +2 -2
- package/dist/{db-gcnz2tqx.js → db-vn5met8v.js} +24 -2
- package/dist/{devin-adapter-pe1cgpd4.js → devin-adapter-8nmsgff3.js} +1 -1
- package/dist/{handlers-c43sm2h1.js → handlers-0s7dn9ma.js} +36 -10
- package/dist/{hook-y1p25vm5.js → hook-b2293dx1.js} +1 -1
- package/dist/{http-bsz1rze1.js → http-4hmtrrpx.js} +418 -47
- package/dist/{index-8m5gd1vs.js → index-4bcr1r09.js} +11 -11
- package/dist/{index-7swcv6rv.js → index-cmee5q4s.js} +7 -7
- package/dist/{index-qyzfh62q.js → index-gxj7sbzx.js} +10 -10
- package/dist/{index-03zn2rz7.js → index-zy9smn2h.js} +9 -9
- package/dist/{keepalive-69v93p45.js → keepalive-2htbn1j9.js} +5 -5
- package/dist/{lead-xn8kfchy.js → lead-p9s142mj.js} +26 -26
- package/dist/{maintenance-g2x7q13q.js → maintenance-x8jgt9fd.js} +4 -4
- package/dist/{oauth-refresh-sweep-j80szsyr.js → oauth-refresh-sweep-9m7qmm1m.js} +4 -4
- package/dist/{onboard-e3xcjt8b.js → onboard-jsy93b12.js} +2 -2
- package/dist/{opencode-adapter-s3nhtp9m.js → opencode-adapter-44z93505.js} +1 -1
- package/dist/{otel-impl-24egvjaa.js → otel-impl-z2w4phcp.js} +1 -1
- package/dist/{pi-mono-adapter-k3z6e5fn.js → pi-mono-adapter-2syx1x4d.js} +21 -1
- package/dist/{pricing-refresh-01kg9gky.js → pricing-refresh-cjjd6ayt.js} +4 -4
- package/dist/{rbac-roles-f9bdj93y.js → rbac-roles-166rf7ba.js} +3 -3
- package/dist/{rbac-roles-jqfp0zza.js → rbac-roles-v3xrhv48.js} +4 -4
- package/dist/{seed-pricing-z2t7rank.js → seed-pricing-f4xrjref.js} +3 -3
- package/dist/{setup-kw2ps002.js → setup-58jmv2vm.js} +2 -2
- package/dist/{worker-336w8930.js → worker-95x5vnx4.js} +26 -26
- package/openapi.json +311 -16
- package/package.json +1 -1
- package/src/be/db.ts +286 -1
- package/src/be/migrations/121_task_steering_messages.sql +24 -0
- package/src/be/migrations/122_steering_handled_note.sql +4 -0
- package/src/be/scripts/typecheck.ts +1 -0
- package/src/be/steering.ts +251 -0
- package/src/commands/context-preamble.ts +68 -8
- package/src/commands/provider-credentials.ts +2 -2
- package/src/commands/runner.ts +134 -1
- package/src/heartbeat/heartbeat.ts +36 -2
- package/src/http/active-sessions.ts +1 -1
- package/src/http/core.ts +3 -0
- package/src/http/memory.ts +2 -2
- package/src/http/schedules.ts +2 -2
- package/src/http/script-runs.ts +1 -1
- package/src/http/sessions.ts +5 -1
- package/src/http/stats.ts +5 -1
- package/src/http/tasks.ts +407 -13
- package/src/prompts/base-prompt.ts +15 -0
- package/src/prompts/session-templates.ts +31 -0
- package/src/providers/claude-adapter.ts +208 -26
- package/src/providers/claude-managed-adapter.ts +20 -1
- package/src/providers/codex-adapter.ts +2 -1
- package/src/providers/devin-adapter.ts +18 -1
- package/src/providers/opencode-adapter.ts +32 -0
- package/src/providers/pi-mono-adapter.ts +33 -1
- package/src/providers/types.ts +11 -1
- package/src/rbac/legacy-policy.ts +2 -0
- package/src/rbac/permissions.ts +8 -0
- package/src/scripts-runtime/sdk-allowlist.ts +1 -0
- package/src/scripts-runtime/types/stdlib.d.ts +6 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +6 -0
- package/src/server-user.ts +22 -0
- package/src/server.ts +11 -0
- package/src/slack/HEURISTICS.md +7 -0
- package/src/slack/blocks.ts +2 -0
- package/src/slack/handlers.ts +33 -1
- package/src/slack/steering.ts +67 -0
- package/src/slack/thread-buffer.ts +39 -0
- package/src/slack/watcher.ts +5 -0
- package/src/tests/claude-adapter-binary.test.ts +5 -0
- package/src/tests/claude-managed-adapter.test.ts +61 -0
- package/src/tests/devin-adapter.test.ts +41 -0
- package/src/tests/mcp-user-route.test.ts +14 -2
- package/src/tests/opencode-adapter.test.ts +176 -1
- package/src/tests/pi-mono-adapter.test.ts +80 -0
- package/src/tests/prompt-template-session.test.ts +5 -4
- package/src/tests/provider-steering-capabilities.test.ts +44 -0
- package/src/tests/rbac-engine.test.ts +2 -1
- package/src/tests/sdk-allowlist.test.ts +7 -0
- package/src/tests/slack-steering.test.ts +227 -0
- package/src/tests/status.test.ts +20 -0
- package/src/tests/steer-task-tool.test.ts +200 -0
- package/src/tests/steering-core.test.ts +601 -0
- package/src/tests/steering-enabled.test.ts +343 -0
- package/src/tests/steering-promotion.test.ts +205 -0
- package/src/tests/steering-transport.test.ts +338 -0
- package/src/tests/tool-output-agent-id.test.ts +182 -0
- package/src/tests/user-token-rest-auth.test.ts +31 -30
- package/src/tools/accept-steer.ts +148 -0
- package/src/tools/cancel-task.ts +1 -1
- package/src/tools/context-diff.ts +1 -1
- package/src/tools/context-history.ts +2 -3
- package/src/tools/create-channel.ts +2 -2
- package/src/tools/credential-bindings/tool.ts +1 -1
- package/src/tools/delete-channel.ts +1 -1
- package/src/tools/get-swarm.ts +1 -1
- package/src/tools/get-task-details.ts +4 -1
- package/src/tools/get-tasks.ts +4 -1
- package/src/tools/inject-learning.ts +1 -1
- package/src/tools/join-swarm.ts +1 -1
- package/src/tools/kv/kv-delete.ts +1 -1
- package/src/tools/kv/kv-get.ts +1 -1
- package/src/tools/kv/kv-incr.ts +1 -1
- package/src/tools/kv/kv-list.ts +1 -1
- package/src/tools/kv/kv-set.ts +1 -1
- package/src/tools/list-channels.ts +1 -1
- package/src/tools/list-services.ts +2 -2
- package/src/tools/mcp-servers/mcp-server-create.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-delete.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-get.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-install.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-list.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-uninstall.ts +1 -1
- package/src/tools/mcp-servers/mcp-server-update.ts +1 -1
- package/src/tools/memory-delete.ts +1 -1
- package/src/tools/memory-edit.ts +1 -1
- package/src/tools/memory-get.ts +1 -1
- package/src/tools/memory-search.ts +27 -22
- package/src/tools/my-agent-info.ts +1 -1
- package/src/tools/poll-task.ts +1 -1
- package/src/tools/post-message.ts +2 -2
- package/src/tools/prompt-templates/delete.ts +1 -1
- package/src/tools/prompt-templates/get.ts +1 -1
- package/src/tools/prompt-templates/list.ts +1 -1
- package/src/tools/prompt-templates/preview.ts +1 -1
- package/src/tools/prompt-templates/set.ts +1 -1
- package/src/tools/read-messages.ts +1 -1
- package/src/tools/register-agentmail-inbox.ts +1 -1
- package/src/tools/register-kapso-number.ts +2 -3
- package/src/tools/register-service.ts +1 -1
- package/src/tools/request-human-input.ts +1 -1
- package/src/tools/schedules/create-schedule.ts +2 -6
- package/src/tools/schedules/delete-schedule.ts +1 -1
- package/src/tools/schedules/list-schedules.ts +1 -1
- package/src/tools/schedules/patch-schedule.ts +2 -2
- package/src/tools/schedules/run-schedule-now.ts +1 -1
- package/src/tools/schedules/update-schedule.ts +2 -2
- package/src/tools/script-connections/tool.ts +1 -1
- package/src/tools/send-task.ts +4 -2
- package/src/tools/skills/skill-create.ts +1 -1
- package/src/tools/skills/skill-delete.ts +1 -1
- package/src/tools/skills/skill-get-file.ts +1 -1
- package/src/tools/skills/skill-get.ts +1 -1
- package/src/tools/skills/skill-install-remote.ts +1 -1
- package/src/tools/skills/skill-install.ts +1 -1
- package/src/tools/skills/skill-list.ts +1 -1
- package/src/tools/skills/skill-publish.ts +1 -1
- package/src/tools/skills/skill-search.ts +1 -1
- package/src/tools/skills/skill-sync-remote.ts +1 -1
- package/src/tools/skills/skill-uninstall.ts +1 -1
- package/src/tools/skills/skill-update.ts +1 -1
- package/src/tools/steer-task.ts +149 -0
- package/src/tools/store-progress.ts +17 -12
- package/src/tools/swarm-config/delete-config.ts +1 -1
- package/src/tools/swarm-config/get-config.ts +1 -2
- package/src/tools/swarm-config/list-config.ts +2 -2
- package/src/tools/swarm-config/set-config.ts +1 -2
- package/src/tools/task-action.ts +1 -1
- package/src/tools/tool-config.ts +3 -1
- package/src/tools/unregister-service.ts +1 -1
- package/src/tools/update-profile.ts +1 -2
- package/src/tools/update-service-status.ts +1 -1
- package/src/tools/whatsapp-message.ts +1 -1
- package/src/types.ts +106 -22
- package/src/utils/steering-enabled.ts +11 -0
- package/src/workflows/executors/agent-task.ts +3 -1
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
init_package,
|
|
7
7
|
package_default
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-xdv1vntm.js";
|
|
9
9
|
import {
|
|
10
10
|
init_secret_scrubber,
|
|
11
11
|
scrubSecrets
|
|
@@ -803,7 +803,7 @@ function resolveTaskModelSelection(opts) {
|
|
|
803
803
|
function isTerminalTaskStatus(status) {
|
|
804
804
|
return TERMINAL_TASK_STATUSES.includes(status);
|
|
805
805
|
}
|
|
806
|
-
var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, ProviderNameSchema, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, TaskAttachmentKindSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, RetryPolicySchema, ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
|
|
806
|
+
var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, ProviderNameSchema, SteerModeSchema, SteeringStatusSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, TaskAttachmentKindSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, RetryPolicySchema, ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
|
|
807
807
|
var init_types = __esm(() => {
|
|
808
808
|
init_zod();
|
|
809
809
|
init_key();
|
|
@@ -916,7 +916,7 @@ var init_types = __esm(() => {
|
|
|
916
916
|
]);
|
|
917
917
|
InboxMessageSchema = object({
|
|
918
918
|
id: uuid(),
|
|
919
|
-
agentId:
|
|
919
|
+
agentId: string(),
|
|
920
920
|
content: string().min(1),
|
|
921
921
|
source: _enum(["slack", "agentmail"]).default("slack"),
|
|
922
922
|
status: InboxMessageStatusSchema.default("unread"),
|
|
@@ -951,13 +951,56 @@ var init_types = __esm(() => {
|
|
|
951
951
|
"claude-managed",
|
|
952
952
|
"opencode"
|
|
953
953
|
]);
|
|
954
|
+
SteerModeSchema = _enum(["steer", "queue"]);
|
|
955
|
+
SteeringStatusSchema = _enum([
|
|
956
|
+
"pending",
|
|
957
|
+
"delivered",
|
|
958
|
+
"handled",
|
|
959
|
+
"promoted",
|
|
960
|
+
"cancelled"
|
|
961
|
+
]);
|
|
962
|
+
SteeringSourceSchema = _enum(["ui", "mcp", "script", "slack", "api"]);
|
|
963
|
+
SteeringMessageSchema = object({
|
|
964
|
+
id: uuid(),
|
|
965
|
+
taskId: uuid(),
|
|
966
|
+
body: string().min(1),
|
|
967
|
+
mode: SteerModeSchema,
|
|
968
|
+
status: SteeringStatusSchema,
|
|
969
|
+
deliveredMode: SteerModeSchema.optional(),
|
|
970
|
+
source: SteeringSourceSchema,
|
|
971
|
+
createdByKind: _enum(["user", "agent", "system"]),
|
|
972
|
+
createdByUserId: string().optional(),
|
|
973
|
+
createdByAgentId: string().optional(),
|
|
974
|
+
promotedTaskId: uuid().optional(),
|
|
975
|
+
createdAt: exports_iso.datetime(),
|
|
976
|
+
deliveredAt: exports_iso.datetime().optional(),
|
|
977
|
+
handledAt: exports_iso.datetime().optional(),
|
|
978
|
+
handledNote: string().optional()
|
|
979
|
+
});
|
|
980
|
+
SteerOutcomeSchema = _enum(["steered", "queued", "promoted"]);
|
|
981
|
+
OnUnsupportedSchema = _enum(["degrade", "fail"]).default("degrade");
|
|
982
|
+
SteerResultSchema = object({
|
|
983
|
+
outcome: SteerOutcomeSchema,
|
|
984
|
+
steeringMessageId: uuid().optional(),
|
|
985
|
+
promotedTaskId: uuid().optional(),
|
|
986
|
+
effectiveMode: SteerModeSchema,
|
|
987
|
+
degradedFrom: SteerModeSchema.optional()
|
|
988
|
+
});
|
|
989
|
+
PROVIDER_STEER_CAPABILITIES = {
|
|
990
|
+
pi: ["steer", "queue"],
|
|
991
|
+
"claude-managed": ["steer", "queue"],
|
|
992
|
+
devin: ["queue"],
|
|
993
|
+
opencode: ["queue"],
|
|
994
|
+
claude: ["queue"],
|
|
995
|
+
codex: []
|
|
996
|
+
};
|
|
954
997
|
FollowUpConfigSchema = object({
|
|
955
998
|
disabled: boolean().optional(),
|
|
956
999
|
onCompleted: string().max(4000).optional(),
|
|
957
1000
|
onFailed: string().max(4000).optional()
|
|
958
1001
|
});
|
|
959
1002
|
RoutingAffinitySchema = object({
|
|
960
|
-
sourceAgentId:
|
|
1003
|
+
sourceAgentId: string().optional(),
|
|
961
1004
|
role: string().max(100).optional(),
|
|
962
1005
|
harnessProvider: ProviderNameSchema.optional(),
|
|
963
1006
|
capabilities: array(string()).default([])
|
|
@@ -965,8 +1008,8 @@ var init_types = __esm(() => {
|
|
|
965
1008
|
AgentTaskSchema = object({
|
|
966
1009
|
id: uuid(),
|
|
967
1010
|
key: AssetKeySchema,
|
|
968
|
-
agentId:
|
|
969
|
-
creatorAgentId:
|
|
1011
|
+
agentId: string().nullable(),
|
|
1012
|
+
creatorAgentId: string().optional(),
|
|
970
1013
|
task: string().min(1),
|
|
971
1014
|
title: string().optional(),
|
|
972
1015
|
status: AgentTaskStatusSchema,
|
|
@@ -975,7 +1018,7 @@ var init_types = __esm(() => {
|
|
|
975
1018
|
tags: array(string()).default([]),
|
|
976
1019
|
priority: number().int().min(0).max(100).default(50),
|
|
977
1020
|
dependsOn: array(uuid()).default([]),
|
|
978
|
-
offeredTo:
|
|
1021
|
+
offeredTo: string().optional(),
|
|
979
1022
|
offeredAt: exports_iso.datetime().optional(),
|
|
980
1023
|
acceptedAt: exports_iso.datetime().optional(),
|
|
981
1024
|
rejectionReason: string().optional(),
|
|
@@ -1074,7 +1117,7 @@ var init_types = __esm(() => {
|
|
|
1074
1117
|
TaskAttachmentSchema = object({
|
|
1075
1118
|
id: uuid(),
|
|
1076
1119
|
taskId: uuid(),
|
|
1077
|
-
agentId:
|
|
1120
|
+
agentId: string().nullable(),
|
|
1078
1121
|
name: string(),
|
|
1079
1122
|
kind: TaskAttachmentKindSchema,
|
|
1080
1123
|
url: string().optional(),
|
|
@@ -1175,7 +1218,7 @@ var init_types = __esm(() => {
|
|
|
1175
1218
|
})
|
|
1176
1219
|
]);
|
|
1177
1220
|
AgentSchema = object({
|
|
1178
|
-
id:
|
|
1221
|
+
id: string(),
|
|
1179
1222
|
name: string().min(1),
|
|
1180
1223
|
isLead: boolean().default(false),
|
|
1181
1224
|
status: AgentStatusSchema,
|
|
@@ -1251,12 +1294,12 @@ var init_types = __esm(() => {
|
|
|
1251
1294
|
]);
|
|
1252
1295
|
ContextVersionSchema = object({
|
|
1253
1296
|
id: uuid(),
|
|
1254
|
-
agentId:
|
|
1297
|
+
agentId: string(),
|
|
1255
1298
|
field: VersionableFieldSchema,
|
|
1256
1299
|
content: string(),
|
|
1257
1300
|
version: number().int().min(1),
|
|
1258
1301
|
changeSource: ChangeSourceSchema,
|
|
1259
|
-
changedByAgentId:
|
|
1302
|
+
changedByAgentId: string().nullable(),
|
|
1260
1303
|
changeReason: string().nullable(),
|
|
1261
1304
|
contentHash: string(),
|
|
1262
1305
|
previousVersionId: uuid().nullable(),
|
|
@@ -1268,24 +1311,24 @@ var init_types = __esm(() => {
|
|
|
1268
1311
|
name: string().min(1).max(100),
|
|
1269
1312
|
description: string().max(500).optional(),
|
|
1270
1313
|
type: ChannelTypeSchema.default("public"),
|
|
1271
|
-
createdBy:
|
|
1272
|
-
participants: array(
|
|
1314
|
+
createdBy: string().optional(),
|
|
1315
|
+
participants: array(string()).default([]),
|
|
1273
1316
|
createdAt: exports_iso.datetime()
|
|
1274
1317
|
});
|
|
1275
1318
|
ChannelMessageSchema = object({
|
|
1276
1319
|
id: uuid(),
|
|
1277
1320
|
channelId: uuid(),
|
|
1278
|
-
agentId:
|
|
1321
|
+
agentId: string().nullable(),
|
|
1279
1322
|
agentName: string().optional(),
|
|
1280
1323
|
content: string().min(1).max(4000),
|
|
1281
1324
|
replyToId: uuid().optional(),
|
|
1282
|
-
mentions: array(
|
|
1325
|
+
mentions: array(string()).default([]),
|
|
1283
1326
|
createdAt: exports_iso.datetime()
|
|
1284
1327
|
});
|
|
1285
1328
|
ServiceStatusSchema = _enum(["starting", "healthy", "unhealthy", "stopped"]);
|
|
1286
1329
|
ServiceSchema = object({
|
|
1287
1330
|
id: uuid(),
|
|
1288
|
-
agentId:
|
|
1331
|
+
agentId: string(),
|
|
1289
1332
|
name: string().min(1).max(50),
|
|
1290
1333
|
port: number().int().min(1).max(65535).default(3000),
|
|
1291
1334
|
description: string().optional(),
|
|
@@ -1308,6 +1351,7 @@ var init_types = __esm(() => {
|
|
|
1308
1351
|
"task_created",
|
|
1309
1352
|
"task_status_change",
|
|
1310
1353
|
"task_progress",
|
|
1354
|
+
"task_steering",
|
|
1311
1355
|
"task_offered",
|
|
1312
1356
|
"task_accepted",
|
|
1313
1357
|
"task_rejected",
|
|
@@ -1357,7 +1401,7 @@ var init_types = __esm(() => {
|
|
|
1357
1401
|
id: uuid(),
|
|
1358
1402
|
sessionId: string(),
|
|
1359
1403
|
taskId: uuid().optional(),
|
|
1360
|
-
agentId:
|
|
1404
|
+
agentId: string(),
|
|
1361
1405
|
totalCostUsd: number().min(0),
|
|
1362
1406
|
inputTokens: number().int().min(0).default(0),
|
|
1363
1407
|
outputTokens: number().int().min(0).default(0),
|
|
@@ -1434,11 +1478,11 @@ var init_types = __esm(() => {
|
|
|
1434
1478
|
taskType: string().max(50).optional(),
|
|
1435
1479
|
tags: array(string()).default([]),
|
|
1436
1480
|
priority: number().int().min(0).max(100).default(50),
|
|
1437
|
-
targetAgentId:
|
|
1481
|
+
targetAgentId: string().optional(),
|
|
1438
1482
|
enabled: boolean().default(true),
|
|
1439
1483
|
lastRunAt: exports_iso.datetime().optional(),
|
|
1440
1484
|
nextRunAt: exports_iso.datetime().optional(),
|
|
1441
|
-
createdByAgentId:
|
|
1485
|
+
createdByAgentId: string().optional(),
|
|
1442
1486
|
timezone: string().default("UTC"),
|
|
1443
1487
|
consecutiveErrors: number().int().min(0).default(0),
|
|
1444
1488
|
lastErrorAt: exports_iso.datetime().optional(),
|
|
@@ -1519,7 +1563,7 @@ var init_types = __esm(() => {
|
|
|
1519
1563
|
]);
|
|
1520
1564
|
AgentMemorySchema = object({
|
|
1521
1565
|
id: string().uuid(),
|
|
1522
|
-
agentId: string().
|
|
1566
|
+
agentId: string().nullable(),
|
|
1523
1567
|
scope: AgentMemoryScopeSchema,
|
|
1524
1568
|
key: string().nullable().optional(),
|
|
1525
1569
|
name: string().min(1).max(500),
|
|
@@ -1542,7 +1586,7 @@ var init_types = __esm(() => {
|
|
|
1542
1586
|
});
|
|
1543
1587
|
ActiveSessionSchema = object({
|
|
1544
1588
|
id: uuid(),
|
|
1545
|
-
agentId:
|
|
1589
|
+
agentId: string(),
|
|
1546
1590
|
taskId: string().nullable(),
|
|
1547
1591
|
triggerType: string(),
|
|
1548
1592
|
inboxMessageId: string().nullable(),
|
|
@@ -1705,7 +1749,7 @@ var init_types = __esm(() => {
|
|
|
1705
1749
|
triggerSchema: record(string(), unknown()).optional(),
|
|
1706
1750
|
dir: string().min(1).startsWith("/").optional(),
|
|
1707
1751
|
vcsRepo: string().min(1).optional(),
|
|
1708
|
-
createdByAgentId: string().
|
|
1752
|
+
createdByAgentId: string().optional(),
|
|
1709
1753
|
createdAt: string(),
|
|
1710
1754
|
lastUpdatedAt: string(),
|
|
1711
1755
|
createdBy: string().optional(),
|
|
@@ -1717,7 +1761,7 @@ var init_types = __esm(() => {
|
|
|
1717
1761
|
workflowId: string().uuid(),
|
|
1718
1762
|
version: number().int().min(1),
|
|
1719
1763
|
snapshot: WorkflowSnapshotSchema,
|
|
1720
|
-
changedByAgentId: string().
|
|
1764
|
+
changedByAgentId: string().optional(),
|
|
1721
1765
|
createdAt: string()
|
|
1722
1766
|
});
|
|
1723
1767
|
PageContentTypeSchema = _enum(["text/html", "application/json"]);
|
|
@@ -2130,7 +2174,7 @@ var init_types = __esm(() => {
|
|
|
2130
2174
|
ContextSnapshotSchema = object({
|
|
2131
2175
|
id: uuid(),
|
|
2132
2176
|
taskId: uuid(),
|
|
2133
|
-
agentId:
|
|
2177
|
+
agentId: string(),
|
|
2134
2178
|
sessionId: string(),
|
|
2135
2179
|
contextUsedTokens: number().int().min(0).optional(),
|
|
2136
2180
|
contextTotalTokens: number().int().min(0).optional(),
|
|
@@ -3132,6 +3176,29 @@ The same applies to \`store-progress\` output — never include raw secret value
|
|
|
3132
3176
|
variables: [],
|
|
3133
3177
|
category: "system"
|
|
3134
3178
|
});
|
|
3179
|
+
registerTemplate({
|
|
3180
|
+
eventType: "system.agent.steering",
|
|
3181
|
+
header: "",
|
|
3182
|
+
defaultBody: `
|
|
3183
|
+
#### Live Task Steering
|
|
3184
|
+
|
|
3185
|
+
You may receive steering messages while this task is running. Each one arrives wrapped in a \`[steering <id>]\` marker that carries its steering message ID. Incorporate the message into your current work, then call \`accept-steer\` with that ID. Do not acknowledge a message before acting on it.
|
|
3186
|
+
`,
|
|
3187
|
+
variables: [],
|
|
3188
|
+
category: "system"
|
|
3189
|
+
});
|
|
3190
|
+
registerTemplate({
|
|
3191
|
+
eventType: "system.agent.steering.delivery",
|
|
3192
|
+
header: "",
|
|
3193
|
+
defaultBody: `[steering {{steeringMessageId}}] {{body}}
|
|
3194
|
+
|
|
3195
|
+
(Once you have acted on this, call \`accept-steer\` with steeringMessageId "{{steeringMessageId}}".)`,
|
|
3196
|
+
variables: [
|
|
3197
|
+
{ name: "steeringMessageId", description: "ID of the steering message being delivered" },
|
|
3198
|
+
{ name: "body", description: "The steering message text as the sender wrote it" }
|
|
3199
|
+
],
|
|
3200
|
+
category: "system"
|
|
3201
|
+
});
|
|
3135
3202
|
registerTemplate({
|
|
3136
3203
|
eventType: "system.agent.worker.slack",
|
|
3137
3204
|
header: "",
|
|
@@ -4128,6 +4195,155 @@ var init_seed_prompt_templates = __esm(() => {
|
|
|
4128
4195
|
init_templates2();
|
|
4129
4196
|
});
|
|
4130
4197
|
|
|
4198
|
+
// src/utils/steering-enabled.ts
|
|
4199
|
+
function isSteeringEnabled(env = process.env) {
|
|
4200
|
+
const enabled = env.STEERING_ENABLED;
|
|
4201
|
+
return enabled === "true" || enabled === "1";
|
|
4202
|
+
}
|
|
4203
|
+
var init_steering_enabled = () => {};
|
|
4204
|
+
|
|
4205
|
+
// src/be/steering.ts
|
|
4206
|
+
function isSteeringEnabled2() {
|
|
4207
|
+
return isSteeringEnabled();
|
|
4208
|
+
}
|
|
4209
|
+
function providerForTask(task) {
|
|
4210
|
+
const agent = task.agentId ? getAgentById(task.agentId) : null;
|
|
4211
|
+
return agent?.harnessProvider ?? agent?.provider ?? task.provider ?? "claude";
|
|
4212
|
+
}
|
|
4213
|
+
function getTaskSteeringFields(task) {
|
|
4214
|
+
const agent = task.agentId ? getAgentById(task.agentId) : null;
|
|
4215
|
+
const provider = agent?.harnessProvider ?? agent?.provider ?? task.provider;
|
|
4216
|
+
return {
|
|
4217
|
+
isLeadTask: agent?.isLead ?? false,
|
|
4218
|
+
supportedSteerModes: provider ? PROVIDER_STEER_CAPABILITIES[provider] : []
|
|
4219
|
+
};
|
|
4220
|
+
}
|
|
4221
|
+
function promoteSteeringToTask(task, message) {
|
|
4222
|
+
return createTaskExtended(message.body, {
|
|
4223
|
+
agentId: task.agentId,
|
|
4224
|
+
creatorAgentId: message.createdByAgentId,
|
|
4225
|
+
source: message.source === "script" ? "api" : message.source,
|
|
4226
|
+
taskType: "follow-up",
|
|
4227
|
+
parentTaskId: task.id,
|
|
4228
|
+
requestedByUserId: message.createdByUserId ?? task.requestedByUserId,
|
|
4229
|
+
bypassTrackerContextDedup: true
|
|
4230
|
+
});
|
|
4231
|
+
}
|
|
4232
|
+
function promotePendingSteeringForTask(taskId, reason) {
|
|
4233
|
+
if (!reason.trim()) {
|
|
4234
|
+
throw new SteeringRequestError("Promotion reason must not be empty", 400);
|
|
4235
|
+
}
|
|
4236
|
+
const results = [];
|
|
4237
|
+
for (const message of getPendingSteeringForTask(taskId)) {
|
|
4238
|
+
try {
|
|
4239
|
+
results.push(markSteeringUndeliverable(message.id, reason));
|
|
4240
|
+
} catch (error) {
|
|
4241
|
+
console.error(`[steering] Failed to promote pending message ${message.id} for task ${taskId}:`, scrubSecrets(error instanceof Error ? error.message : String(error)));
|
|
4242
|
+
}
|
|
4243
|
+
}
|
|
4244
|
+
return results;
|
|
4245
|
+
}
|
|
4246
|
+
function markSteeringUndeliverable(id, reason) {
|
|
4247
|
+
if (!reason.trim()) {
|
|
4248
|
+
throw new SteeringRequestError("Undeliverable reason must not be empty", 400);
|
|
4249
|
+
}
|
|
4250
|
+
return getDb().transaction(() => {
|
|
4251
|
+
const message = getSteeringMessageById(id);
|
|
4252
|
+
if (!message) {
|
|
4253
|
+
throw new SteeringRequestError("Steering message not found", 404);
|
|
4254
|
+
}
|
|
4255
|
+
if (message.status !== "pending") {
|
|
4256
|
+
return {
|
|
4257
|
+
message,
|
|
4258
|
+
promotedTaskId: message.promotedTaskId
|
|
4259
|
+
};
|
|
4260
|
+
}
|
|
4261
|
+
const task = getTaskById(message.taskId);
|
|
4262
|
+
if (!task) {
|
|
4263
|
+
throw new SteeringRequestError("Task not found", 404);
|
|
4264
|
+
}
|
|
4265
|
+
const promotedTask = promoteSteeringToTask(task, message);
|
|
4266
|
+
const promotedMessage = markSteeringPromoted(message.id, promotedTask.id);
|
|
4267
|
+
if (!promotedMessage) {
|
|
4268
|
+
throw new SteeringRequestError("Failed to promote steering message", 500);
|
|
4269
|
+
}
|
|
4270
|
+
return {
|
|
4271
|
+
message: promotedMessage,
|
|
4272
|
+
promotedTaskId: promotedTask.id
|
|
4273
|
+
};
|
|
4274
|
+
})();
|
|
4275
|
+
}
|
|
4276
|
+
function requestSteering(args) {
|
|
4277
|
+
if (!isSteeringEnabled2()) {
|
|
4278
|
+
throw new SteeringRequestError("Steering is disabled on this server (set STEERING_ENABLED=true to enable)", 403);
|
|
4279
|
+
}
|
|
4280
|
+
const task = getTaskById(args.taskId);
|
|
4281
|
+
if (!task) {
|
|
4282
|
+
throw new SteeringRequestError("Task not found", 404);
|
|
4283
|
+
}
|
|
4284
|
+
if (!args.message.trim()) {
|
|
4285
|
+
throw new SteeringRequestError("Steering message must not be empty", 400);
|
|
4286
|
+
}
|
|
4287
|
+
const requestedMode = args.mode ?? "queue";
|
|
4288
|
+
const onUnsupported = args.onUnsupported ?? "degrade";
|
|
4289
|
+
const provider = providerForTask(task);
|
|
4290
|
+
const supportedModes = PROVIDER_STEER_CAPABILITIES[provider];
|
|
4291
|
+
if (onUnsupported === "fail" && !supportedModes.includes(requestedMode)) {
|
|
4292
|
+
const supported = supportedModes.length > 0 ? supportedModes.join(", ") : "none";
|
|
4293
|
+
throw new SteeringRequestError(`Harness provider '${provider}' does not support steering mode '${requestedMode}' (supported modes: ${supported})`, 422);
|
|
4294
|
+
}
|
|
4295
|
+
const activeTask = task.status === "paused" ? resumeTask(task.id) : task;
|
|
4296
|
+
if (!activeTask) {
|
|
4297
|
+
throw new SteeringRequestError("Failed to resume paused task", 500);
|
|
4298
|
+
}
|
|
4299
|
+
const body = scrubSecrets(args.message);
|
|
4300
|
+
const preStart = activeTask.status === "unassigned" || activeTask.status === "offered" || activeTask.status === "pending";
|
|
4301
|
+
const degradedFrom = requestedMode === "steer" && supportedModes.length > 0 && (!supportedModes.includes("steer") || preStart) ? requestedMode : undefined;
|
|
4302
|
+
const effectiveMode = degradedFrom ? "queue" : requestedMode;
|
|
4303
|
+
const steeringMessage = createSteeringMessage({
|
|
4304
|
+
taskId: activeTask.id,
|
|
4305
|
+
body,
|
|
4306
|
+
mode: requestedMode,
|
|
4307
|
+
source: args.source ?? "api",
|
|
4308
|
+
createdByKind: args.createdByKind ?? "system",
|
|
4309
|
+
createdByUserId: args.createdByUserId,
|
|
4310
|
+
createdByAgentId: args.createdByAgentId
|
|
4311
|
+
});
|
|
4312
|
+
const canReachLiveSession = supportedModes.length > 0 && (activeTask.status === "in_progress" || preStart);
|
|
4313
|
+
if (!canReachLiveSession) {
|
|
4314
|
+
const promotedTask = promoteSteeringToTask(activeTask, steeringMessage);
|
|
4315
|
+
markSteeringPromoted(steeringMessage.id, promotedTask.id);
|
|
4316
|
+
return {
|
|
4317
|
+
outcome: "promoted",
|
|
4318
|
+
steeringMessageId: steeringMessage.id,
|
|
4319
|
+
promotedTaskId: promotedTask.id,
|
|
4320
|
+
effectiveMode,
|
|
4321
|
+
degradedFrom
|
|
4322
|
+
};
|
|
4323
|
+
}
|
|
4324
|
+
return {
|
|
4325
|
+
outcome: effectiveMode === "steer" ? "steered" : "queued",
|
|
4326
|
+
steeringMessageId: steeringMessage.id,
|
|
4327
|
+
effectiveMode,
|
|
4328
|
+
degradedFrom
|
|
4329
|
+
};
|
|
4330
|
+
}
|
|
4331
|
+
var SteeringRequestError;
|
|
4332
|
+
var init_steering = __esm(() => {
|
|
4333
|
+
init_types();
|
|
4334
|
+
init_secret_scrubber();
|
|
4335
|
+
init_steering_enabled();
|
|
4336
|
+
init_db();
|
|
4337
|
+
SteeringRequestError = class SteeringRequestError extends Error {
|
|
4338
|
+
statusCode;
|
|
4339
|
+
constructor(message, statusCode) {
|
|
4340
|
+
super(message);
|
|
4341
|
+
this.statusCode = statusCode;
|
|
4342
|
+
this.name = "SteeringRequestError";
|
|
4343
|
+
}
|
|
4344
|
+
};
|
|
4345
|
+
});
|
|
4346
|
+
|
|
4131
4347
|
// src/be/swarm-config-guard.ts
|
|
4132
4348
|
function isReservedConfigKey(key) {
|
|
4133
4349
|
return RESERVED_KEYS.has(key.toUpperCase());
|
|
@@ -4504,6 +4720,9 @@ __export(exports_db, {
|
|
|
4504
4720
|
maskSecrets: () => maskSecrets,
|
|
4505
4721
|
markTasksNotified: () => markTasksNotified,
|
|
4506
4722
|
markTaskSlackReplySent: () => markTaskSlackReplySent,
|
|
4723
|
+
markSteeringPromoted: () => markSteeringPromoted,
|
|
4724
|
+
markSteeringHandled: () => markSteeringHandled,
|
|
4725
|
+
markSteeringDelivered: () => markSteeringDelivered,
|
|
4507
4726
|
markKeyRateLimited: () => markKeyRateLimited,
|
|
4508
4727
|
markInboxMessageResponded: () => markInboxMessageResponded,
|
|
4509
4728
|
markInboxMessageRead: () => markInboxMessageRead,
|
|
@@ -4543,6 +4762,7 @@ __export(exports_db, {
|
|
|
4543
4762
|
incrementEmptyPollCount: () => incrementEmptyPollCount,
|
|
4544
4763
|
incrKv: () => incrKv,
|
|
4545
4764
|
heartbeatActiveSession: () => heartbeatActiveSession,
|
|
4765
|
+
hasPendingSteering: () => hasPendingSteering,
|
|
4546
4766
|
hasNonTerminalResumeChild: () => hasNonTerminalResumeChild,
|
|
4547
4767
|
hasNonTerminalRerouteDecisionChild: () => hasNonTerminalRerouteDecisionChild,
|
|
4548
4768
|
hasFirstCompletedTask: () => hasFirstCompletedTask,
|
|
@@ -4585,6 +4805,8 @@ __export(exports_db, {
|
|
|
4585
4805
|
getStuckApprovalRuns: () => getStuckApprovalRuns,
|
|
4586
4806
|
getStepCountForNode: () => getStepCountForNode,
|
|
4587
4807
|
getStepByIdempotencyKey: () => getStepByIdempotencyKey,
|
|
4808
|
+
getSteeringMessagesForTask: () => getSteeringMessagesForTask,
|
|
4809
|
+
getSteeringMessageById: () => getSteeringMessageById,
|
|
4588
4810
|
getStalledInProgressTasks: () => getStalledInProgressTasks,
|
|
4589
4811
|
getStaleUnassignedAffinityTasks: () => getStaleUnassignedAffinityTasks,
|
|
4590
4812
|
getStalePinnedResumes: () => getStalePinnedResumes,
|
|
@@ -4624,6 +4846,8 @@ __export(exports_db, {
|
|
|
4624
4846
|
getPricingRows: () => getPricingRows,
|
|
4625
4847
|
getPendingWaitsByEvent: () => getPendingWaitsByEvent,
|
|
4626
4848
|
getPendingTaskForAgent: () => getPendingTaskForAgent,
|
|
4849
|
+
getPendingSteeringForTask: () => getPendingSteeringForTask,
|
|
4850
|
+
getPendingSteeringForAgent: () => getPendingSteeringForAgent,
|
|
4627
4851
|
getPendingEventWaitNames: () => getPendingEventWaitNames,
|
|
4628
4852
|
getPausedTasksForAgent: () => getPausedTasksForAgent,
|
|
4629
4853
|
getPageVersions: () => getPageVersions,
|
|
@@ -4650,6 +4874,7 @@ __export(exports_db, {
|
|
|
4650
4874
|
getLatestTaskByContextKey: () => getLatestTaskByContextKey,
|
|
4651
4875
|
getLatestStepForNode: () => getLatestStepForNode,
|
|
4652
4876
|
getLatestPageBySlug: () => getLatestPageBySlug,
|
|
4877
|
+
getLatestLeadTaskInThread: () => getLatestLeadTaskInThread,
|
|
4653
4878
|
getLatestContextVersion: () => getLatestContextVersion,
|
|
4654
4879
|
getLatestActiveTaskInThread: () => getLatestActiveTaskInThread,
|
|
4655
4880
|
getLastSuccessfulRun: () => getLastSuccessfulRun,
|
|
@@ -4766,6 +4991,7 @@ __export(exports_db, {
|
|
|
4766
4991
|
createTaskExtended: () => createTaskExtended,
|
|
4767
4992
|
createTask: () => createTask,
|
|
4768
4993
|
createSwarmRepo: () => createSwarmRepo,
|
|
4994
|
+
createSteeringMessage: () => createSteeringMessage,
|
|
4769
4995
|
createSkill: () => createSkill,
|
|
4770
4996
|
createSessionLogs: () => createSessionLogs,
|
|
4771
4997
|
createSessionCost: () => createSessionCost,
|
|
@@ -4809,6 +5035,7 @@ __export(exports_db, {
|
|
|
4809
5035
|
checkDependencies: () => checkDependencies,
|
|
4810
5036
|
cascadeFailDependents: () => cascadeFailDependents,
|
|
4811
5037
|
cancelTask: () => cancelTask,
|
|
5038
|
+
cancelPendingSteeringForTask: () => cancelPendingSteeringForTask,
|
|
4812
5039
|
buildRoutingAffinityFromAgent: () => buildRoutingAffinityFromAgent,
|
|
4813
5040
|
backfillSupersedeTaskResumeTaskId: () => backfillSupersedeTaskResumeTaskId,
|
|
4814
5041
|
autoEncryptLegacyPlaintextSecrets: () => autoEncryptLegacyPlaintextSecrets,
|
|
@@ -5914,6 +6141,18 @@ function getLatestActiveTaskInThread(channelId, threadTs) {
|
|
|
5914
6141
|
LIMIT 1`).get(channelId, threadTs);
|
|
5915
6142
|
return row ? rowToAgentTask(row) : null;
|
|
5916
6143
|
}
|
|
6144
|
+
function getLatestLeadTaskInThread(channelId, threadTs) {
|
|
6145
|
+
const row = getDb().prepare(`SELECT t.*
|
|
6146
|
+
FROM agent_tasks t
|
|
6147
|
+
JOIN agents a ON a.id = t.agentId
|
|
6148
|
+
WHERE t.source = 'slack'
|
|
6149
|
+
AND t.slackChannelId = ?
|
|
6150
|
+
AND t.slackThreadTs = ?
|
|
6151
|
+
AND a.isLead = 1
|
|
6152
|
+
ORDER BY t.createdAt DESC, t.rowid DESC
|
|
6153
|
+
LIMIT 1`).get(channelId, threadTs);
|
|
6154
|
+
return row ? rowToAgentTask(row) : null;
|
|
6155
|
+
}
|
|
5917
6156
|
function getMostRecentTaskInThread(channelId, threadTs) {
|
|
5918
6157
|
const row = getDb().prepare(`SELECT * FROM agent_tasks
|
|
5919
6158
|
WHERE slackChannelId = ?
|
|
@@ -5997,6 +6236,11 @@ function completeTask(id, output) {
|
|
|
5997
6236
|
});
|
|
5998
6237
|
});
|
|
5999
6238
|
} catch {}
|
|
6239
|
+
try {
|
|
6240
|
+
promotePendingSteeringForTask(id, "Task completed before steering was delivered");
|
|
6241
|
+
} catch (error) {
|
|
6242
|
+
console.error("[completeTask] pending steering promotion error:", scrubSecrets(error instanceof Error ? error.message : String(error)));
|
|
6243
|
+
}
|
|
6000
6244
|
}
|
|
6001
6245
|
return row ? rowToAgentTask(row) : null;
|
|
6002
6246
|
}
|
|
@@ -6039,6 +6283,11 @@ function failTask(id, reason) {
|
|
|
6039
6283
|
});
|
|
6040
6284
|
});
|
|
6041
6285
|
} catch {}
|
|
6286
|
+
try {
|
|
6287
|
+
promotePendingSteeringForTask(id, "Task failed before steering was delivered");
|
|
6288
|
+
} catch (error) {
|
|
6289
|
+
console.error("[failTask] pending steering promotion error:", scrubSecrets(error instanceof Error ? error.message : String(error)));
|
|
6290
|
+
}
|
|
6042
6291
|
try {
|
|
6043
6292
|
cascadeFailDependents(id, "failed");
|
|
6044
6293
|
} catch (err) {
|
|
@@ -6085,6 +6334,11 @@ function cancelTask(id, reason) {
|
|
|
6085
6334
|
});
|
|
6086
6335
|
});
|
|
6087
6336
|
} catch {}
|
|
6337
|
+
try {
|
|
6338
|
+
promotePendingSteeringForTask(id, "Task was cancelled before steering was delivered");
|
|
6339
|
+
} catch (error) {
|
|
6340
|
+
console.error("[cancelTask] pending steering promotion error:", scrubSecrets(error instanceof Error ? error.message : String(error)));
|
|
6341
|
+
}
|
|
6088
6342
|
try {
|
|
6089
6343
|
cascadeFailDependents(id, "cancelled");
|
|
6090
6344
|
} catch (err) {
|
|
@@ -6684,6 +6938,123 @@ function replaceTaskAttachment(id, input) {
|
|
|
6684
6938
|
function getTaskAttachments(taskId) {
|
|
6685
6939
|
return getDb().prepare("SELECT * FROM task_attachments WHERE task_id = ? ORDER BY created_at ASC, rowid ASC").all(taskId).map(rowToTaskAttachment);
|
|
6686
6940
|
}
|
|
6941
|
+
function rowToSteeringMessage(row) {
|
|
6942
|
+
return {
|
|
6943
|
+
id: row.id,
|
|
6944
|
+
taskId: row.task_id,
|
|
6945
|
+
body: row.body,
|
|
6946
|
+
mode: row.mode,
|
|
6947
|
+
status: row.status,
|
|
6948
|
+
deliveredMode: row.delivered_mode ?? undefined,
|
|
6949
|
+
source: row.source,
|
|
6950
|
+
createdByKind: row.created_by_kind,
|
|
6951
|
+
createdByUserId: row.created_by_user_id ?? undefined,
|
|
6952
|
+
createdByAgentId: row.created_by_agent_id ?? undefined,
|
|
6953
|
+
promotedTaskId: row.promoted_task_id ?? undefined,
|
|
6954
|
+
createdAt: row.created_at,
|
|
6955
|
+
deliveredAt: row.delivered_at ?? undefined,
|
|
6956
|
+
handledAt: row.handled_at ?? undefined,
|
|
6957
|
+
handledNote: row.handled_note ?? undefined
|
|
6958
|
+
};
|
|
6959
|
+
}
|
|
6960
|
+
function createSteeringMessage(args) {
|
|
6961
|
+
const id = crypto.randomUUID();
|
|
6962
|
+
const row = getDb().prepare(`INSERT INTO task_steering_messages
|
|
6963
|
+
(id, task_id, body, mode, source, created_by_kind,
|
|
6964
|
+
created_by_user_id, created_by_agent_id)
|
|
6965
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
6966
|
+
RETURNING *`).get(id, args.taskId, args.body, args.mode, args.source, args.createdByKind, args.createdByUserId ?? null, args.createdByAgentId ?? null);
|
|
6967
|
+
if (!row)
|
|
6968
|
+
throw new Error("Failed to create steering message");
|
|
6969
|
+
try {
|
|
6970
|
+
createLogEntry({
|
|
6971
|
+
eventType: "task_steering",
|
|
6972
|
+
taskId: args.taskId,
|
|
6973
|
+
agentId: args.createdByAgentId,
|
|
6974
|
+
newValue: "pending",
|
|
6975
|
+
metadata: {
|
|
6976
|
+
steeringMessageId: id,
|
|
6977
|
+
mode: args.mode,
|
|
6978
|
+
source: args.source
|
|
6979
|
+
}
|
|
6980
|
+
});
|
|
6981
|
+
} catch {}
|
|
6982
|
+
return rowToSteeringMessage(row);
|
|
6983
|
+
}
|
|
6984
|
+
function getSteeringMessagesForTask(taskId, opts) {
|
|
6985
|
+
const rows = opts?.status ? getDb().prepare(`SELECT * FROM task_steering_messages
|
|
6986
|
+
WHERE task_id = ? AND status = ?
|
|
6987
|
+
ORDER BY created_at ASC, rowid ASC`).all(taskId, opts.status) : getDb().prepare(`SELECT * FROM task_steering_messages
|
|
6988
|
+
WHERE task_id = ?
|
|
6989
|
+
ORDER BY created_at ASC, rowid ASC`).all(taskId);
|
|
6990
|
+
return rows.map(rowToSteeringMessage);
|
|
6991
|
+
}
|
|
6992
|
+
function getSteeringMessageById(id) {
|
|
6993
|
+
const row = getDb().prepare(`SELECT * FROM task_steering_messages
|
|
6994
|
+
WHERE id = ?`).get(id);
|
|
6995
|
+
return row ? rowToSteeringMessage(row) : null;
|
|
6996
|
+
}
|
|
6997
|
+
function getPendingSteeringForTask(taskId) {
|
|
6998
|
+
return getSteeringMessagesForTask(taskId, { status: "pending" });
|
|
6999
|
+
}
|
|
7000
|
+
function getPendingSteeringForAgent(agentId) {
|
|
7001
|
+
return getDb().prepare(`SELECT m.*
|
|
7002
|
+
FROM task_steering_messages m
|
|
7003
|
+
JOIN agent_tasks t ON t.id = m.task_id
|
|
7004
|
+
WHERE t.agentId = ? AND m.status = 'pending'
|
|
7005
|
+
ORDER BY m.created_at ASC, m.rowid ASC`).all(agentId).map(rowToSteeringMessage);
|
|
7006
|
+
}
|
|
7007
|
+
function markSteeringDelivered(id, deliveredMode) {
|
|
7008
|
+
const row = getDb().prepare(`UPDATE task_steering_messages
|
|
7009
|
+
SET status = 'delivered',
|
|
7010
|
+
delivered_mode = ?,
|
|
7011
|
+
delivered_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
|
|
7012
|
+
WHERE id = ? AND status = 'pending'
|
|
7013
|
+
RETURNING *`).get(deliveredMode, id);
|
|
7014
|
+
if (row) {
|
|
7015
|
+
try {
|
|
7016
|
+
createLogEntry({
|
|
7017
|
+
eventType: "task_steering",
|
|
7018
|
+
taskId: row.task_id,
|
|
7019
|
+
newValue: "delivered",
|
|
7020
|
+
metadata: {
|
|
7021
|
+
steeringMessageId: id,
|
|
7022
|
+
requestedMode: row.mode,
|
|
7023
|
+
deliveredMode
|
|
7024
|
+
}
|
|
7025
|
+
});
|
|
7026
|
+
} catch {}
|
|
7027
|
+
}
|
|
7028
|
+
return row ? rowToSteeringMessage(row) : null;
|
|
7029
|
+
}
|
|
7030
|
+
function markSteeringHandled(id, note) {
|
|
7031
|
+
const row = getDb().prepare(`UPDATE task_steering_messages
|
|
7032
|
+
SET status = 'handled',
|
|
7033
|
+
handled_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now'),
|
|
7034
|
+
handled_note = ?
|
|
7035
|
+
WHERE id = ? AND status = 'delivered'
|
|
7036
|
+
RETURNING *`).get(note ?? null, id);
|
|
7037
|
+
return row ? rowToSteeringMessage(row) : null;
|
|
7038
|
+
}
|
|
7039
|
+
function markSteeringPromoted(id, promotedTaskId) {
|
|
7040
|
+
const row = getDb().prepare(`UPDATE task_steering_messages
|
|
7041
|
+
SET status = 'promoted',
|
|
7042
|
+
promoted_task_id = ?
|
|
7043
|
+
WHERE id = ? AND status = 'pending'
|
|
7044
|
+
RETURNING *`).get(promotedTaskId, id);
|
|
7045
|
+
return row ? rowToSteeringMessage(row) : null;
|
|
7046
|
+
}
|
|
7047
|
+
function cancelPendingSteeringForTask(taskId) {
|
|
7048
|
+
return getDb().run(`UPDATE task_steering_messages
|
|
7049
|
+
SET status = 'cancelled'
|
|
7050
|
+
WHERE task_id = ? AND status = 'pending'`, [taskId]).changes;
|
|
7051
|
+
}
|
|
7052
|
+
function hasPendingSteering(taskId) {
|
|
7053
|
+
return getDb().prepare(`SELECT 1 AS present
|
|
7054
|
+
FROM task_steering_messages
|
|
7055
|
+
WHERE task_id = ? AND status = 'pending'
|
|
7056
|
+
LIMIT 1`).get(taskId) !== null;
|
|
7057
|
+
}
|
|
6687
7058
|
function getAgentWithTasks(id) {
|
|
6688
7059
|
const txn = getDb().transaction(() => {
|
|
6689
7060
|
const agent = getAgentById(id);
|
|
@@ -6841,7 +7212,7 @@ function createTaskExtended(task, options) {
|
|
|
6841
7212
|
}
|
|
6842
7213
|
}
|
|
6843
7214
|
}
|
|
6844
|
-
const existingTrackerWork = findExistingLinearTrackerContextWork(options?.contextKey);
|
|
7215
|
+
const existingTrackerWork = options?.bypassTrackerContextDedup ? null : findExistingLinearTrackerContextWork(options?.contextKey);
|
|
6845
7216
|
if (existingTrackerWork) {
|
|
6846
7217
|
console.log(`[task-dedup] Skipping Linear tracker task creation for ${options?.contextKey}: ${existingTrackerWork.reason} ${existingTrackerWork.task.id.slice(0, 8)} already exists`);
|
|
6847
7218
|
return existingTrackerWork.task;
|
|
@@ -11465,6 +11836,7 @@ var init_db = __esm(() => {
|
|
|
11465
11836
|
init_runner();
|
|
11466
11837
|
init_oauth_encryption_backfill();
|
|
11467
11838
|
init_seed_prompt_templates();
|
|
11839
|
+
init_steering();
|
|
11468
11840
|
init_swarm_config_guard();
|
|
11469
11841
|
init_task_lifecycle_events();
|
|
11470
11842
|
init_defaults();
|
|
@@ -11561,4 +11933,4 @@ var init_db = __esm(() => {
|
|
|
11561
11933
|
};
|
|
11562
11934
|
});
|
|
11563
11935
|
|
|
11564
|
-
export { normalizeAssetKey, parseAssetKey, canWriteAssetKey, init_key, interpolate, deepInterpolate, init_template, registerTemplate, getTemplateDefinition, getAllTemplateDefinitions, init_registry, configureHttpResolver, resolveTemplate, resolveTemplateAsync, init_resolver, slackContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, checkSlackRoutingCoherence, init_slack_routing, initTelemetry, telemetry, init_telemetry, AssetKeySchema, AssetEntityTypeSchema, ModelTierSchema, ReasoningEffortSchema, splitLegacyModelAlias, resolveTaskModelSelection, AgentTaskStatusSchema, isTerminalTaskStatus, AgentTaskSourceSchema, ProviderNameSchema, FollowUpConfigSchema, AgentTaskSchema, AttachmentInputSchema, TaskAttachmentSchema, InboxItemTypeSchema, InboxItemStatusSchema, FavoriteItemTypeSchema, TaskTemplateKindSchema, AgentAvatarSchema, AgentSchema, AgentLatestModelSchema, AgentCredStatusSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, ResumeReasonSchema, AgentLogSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, ScheduledTaskTargetTypeSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, PageContentTypeSchema, PageAuthModeSchema, MetricDefinitionSchema, MetricVersionSchema, WorkflowRunStatusSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptApiAuthModeSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, KvValueTypeSchema, KvNamespaceSchema, KvKeySchema, KvEntrySchema, init_types, setRequestAuth, getRequestAuth, getCurrentRequestAuth, init_request_auth_context, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, normalizeDate, normalizeDateRequired, init_date_utils, init_session_templates, init_templates, init_templates2 as init_templates1, isReservedConfigKey, reservedKeyError, validateConfigValue, init_swarm_config_guard, onTaskStarted, init_task_lifecycle_events, generateDefaultClaudeMd, generateDefaultSoulMd, generateDefaultIdentityMd, generateDefaultToolsMd, init_defaults, isSqliteVecAvailable, initDb, getDb, closeDb, computeContentHash, createContextVersion, getLatestContextVersion, getContextVersion, getContextVersionHistory, agentQueries, updateAgentCredentialState, createAgent, getAgentById, getAllAgents, getLeadAgent, updateAgentStatus, updateAgentMaxTasks, updateAgentProvider, setAgentHarnessProvider, updateAgentCredStatus, listAgentsWithCredStatusByProvider, getAgentHarnessProviders, updateAgentActivity, MAX_EMPTY_POLLS, incrementEmptyPollCount, resetEmptyPollCount, shouldBlockPolling, deleteAgent, getActiveTaskCount, hasCapacity, getRemainingCapacity, updateAgentStatusFromCapacity, isPoolAffinityEnforcementEnabled, buildRoutingAffinityFromAgent, isAgentEligibleForTask, taskQueries, createTask, getPendingTaskForAgent, assignUnassignedTaskPending, startTask, getTaskById, markTaskSlackReplySent, setSlackMessageTracking, getChildTasks, hasNonTerminalResumeChild, hasNonTerminalRerouteDecisionChild, updateTaskClaudeSessionId, updateTaskTitle, updateTaskVcs, getTasksByAgentId, getAgentCurrentTask, getTasksByStatus, findTaskByVcs, findTaskByGitHub, getAllTasks, getTasksCount, getTaskStats, getCompletedSlackTasks, getRecentlyFinishedWorkerTasks, markTasksNotified, resetTasksNotified, getInProgressSlackTasks, getInProgressTasksByContextKey, findExistingLinearTrackerContextWork, getLatestTaskByContextKey, getAgentWorkingOnThread, getLatestActiveTaskInThread, getMostRecentTaskInThread, findCompletedTaskInThread, findRecentCancelledTaskInThread, completeTask, failTask, cancelTask, supersedeTask, backfillSupersedeTaskResumeTaskId, pauseTask, resumeTask, getPausedTasksForAgent, getOrphanedInProgressTasksForAgent, resetOrphanedInProgressTasksForAgent, getRecentlyCancelledTasksForAgent, deleteTask, updateTaskProgress, insertTaskAttachment, getAssetKeyMappingByProvider, upsertAssetKeyMapping, getAssetKeyMapping, listAssetSummaries, moveAssetKey, deleteTaskAttachment, replaceTaskAttachment, getTaskAttachments, getAgentWithTasks, getAllAgentsWithTasks, logQueries, createLogEntry, getLogsByAgentId, getLogsByTaskId, getLogsByTaskIdChronological, getLogsByEventType, getAllLogs, findRecentSimilarTasks, createTaskExtended, claimTask, releaseTask, acceptTask, rejectTask, moveTaskToBacklog, moveTaskFromBacklog, releaseStaleReviewingTasks, getOfferedTasksForAgent, claimOfferedTask, getUnassignedTasksCount, getUnassignedTaskIds, getUnassignedTaskIdsForAgent, checkDependencies, getDependentTasks, cascadeFailDependents, updateAgentProfile, updateAgentName, createChannel, getMessageById, getChannelById, getChannelByName, getAllChannels, deleteChannel, postMessage, getChannelMessages, updateReadState, getLastReadAt, getUnreadMessages, getMentionsForAgent, getInboxSummary, claimMentions, releaseMentionProcessing, releaseStaleMentionProcessing, createService, getServiceById, getServiceByAgentAndName, getServicesByAgentId, getAllServices, updateServiceStatus, deleteService, upsertService, deleteServicesByAgentId, sessionLogQueries, createSessionLogs, getSessionLogsByTaskId, getSessionLogsBySession, createSessionCost, getSessionCostsByTaskId, getSessionCostsByAgentId, getAllSessionCosts, getSessionCostsFiltered, getSessionCostSummary, getDashboardCostSummary, createInboxMessage, getInboxMessageById, getUnreadInboxMessages, claimInboxMessages, markInboxMessageRead, markInboxMessageResponded, markInboxMessageDelegated, releaseStaleProcessingInbox, getConcurrentContext, getScheduledTasks, getScheduledTaskById, getScheduledTaskByName, createScheduledTask, updateScheduledTask, deleteScheduledTask, getDueScheduledTasks, autoEncryptLegacyPlaintextSecrets, maskSecrets, getSwarmConfigs, getInjectableGlobalConfigs, getSwarmConfigById, getSwarmConfigLookupById, upsertSwarmConfig, deleteSwarmConfig, deleteSwarmConfigByKey, getResolvedConfig, getSwarmRepos, getSwarmRepoById, getSwarmRepoByName, getSwarmRepoByUrl, createSwarmRepo, updateSwarmRepo, deleteSwarmRepo, getAgentMailInboxMapping, getAgentMailInboxMappingsByAgent, getAllAgentMailInboxMappings, createAgentMailInboxMapping, deleteAgentMailInboxMapping, findTaskByAgentMailThread, insertActiveSession, deleteActiveSession, deleteActiveSessionById, getActiveSessions, heartbeatActiveSession, cleanupStaleSessions, cleanupAgentSessions, updateActiveSessionProviderSessionId, getActiveSessionForTask, reassociateSessionLogs, getStalledInProgressTasks, getStalePinnedResumes, failPendingResumeIfUnclaimed, getIdleWorkersWithCapacity, getUnassignedPoolTasks, getStaleUnassignedAffinityTasks, getRecentFailedTasks, getRecentCompletedCount, getRecentFailedCount, createWorkflow, getWorkflow, listWorkflows, updateWorkflow, deleteWorkflow, getWorkflowsByScheduleId, createWorkflowRun, getWorkflowRun, updateWorkflowRun, listWorkflowRuns, createWorkflowRunStep, getWorkflowRunStep, updateWorkflowRunStep, getWorkflowRunStepsByRunId, getStuckWorkflowRuns, getLastSuccessfulRun, getLastRunStart, getRetryableSteps, getCompletedStepNodeIds, getTaskByWorkflowRunStepId, getStepByIdempotencyKey, getStepCountForNode, getLatestStepForNode, createWorkflowVersion, getWorkflowVersions, getWorkflowVersion, createPage, getPage, getPageBySlug, getLatestPageBySlug, listPagesByAgent, listAllPages, countAllPages, countPagesByAgent, updatePage, deletePage, incrementPageViewCount, createPageVersion, getPageVersions, getPageVersion, createMetric, getMetric, getMetricBySlug, listMetricsByAgent, listAllMetrics, countAllMetrics, countMetricsByAgent, updateMetric, deleteMetric, createMetricVersion, getMetricVersions, getMetricVersion, getPromptTemplates, getPromptTemplateById, upsertPromptTemplate, deletePromptTemplate, resetPromptTemplateToDefault, getPromptTemplateHistory, resolvePromptTemplate, checkoutPromptTemplate, getAllChannelActivityCursors, getChannelActivityCursor, upsertChannelActivityCursor, createApprovalRequest, getApprovalRequestById, resolveApprovalRequest, updateApprovalRequestNotifications, listApprovalRequests, getStuckApprovalRuns, getApprovalRequestByStepId, getExpiredPendingApprovals, createWaitState, getWaitStateById, getWaitStateByStepId, getDueWaitStates, getPendingEventWaitNames, getPendingWaitsByEvent, resolveWaitState, getStuckWaitRuns, SKILL_FILE_LIMITS, normalizeSkillFilePath, createSkill, updateSkill, listSkillFileManifest, getSkillFiles, getSkillFile, upsertSkillFile, upsertSkillFiles, deleteSkillFile, deleteSkill, getSkillById, getSkillByName, listSkills, searchSkills, installSkill, getSystemDefaultSkills, installSystemDefaultSkillsForAgent, uninstallSkill, getAgentSkills, toggleAgentSkill, createMcpServer, updateMcpServer, deleteMcpServer, getMcpServerById, getMcpServerByName, listMcpServers, installMcpServer, uninstallMcpServer, getAgentMcpServers, createContextSnapshot, getContextSnapshotsByTaskId, getContextSnapshotsBySessionId, getContextSummaryByTaskId, getAvailableKeyIndices, recordKeyUsage, markKeyRateLimited, recordKeyRateLimitWindows, setApiKeyName, clearKeyRateLimit, getKeyStatuses, getKeyCostSummary, getUserById, getAllUsers, createUser, updateUser, deleteUser, listInboxState, upsertInboxState, listFavorites, listUserFavorites, getFavoriteItemIdSet, setFavorite, setUserFavorite, withFavoriteFlags, listTaskTemplates, getRootTaskChain, listRecentSessions, countSessions, getBudget, getBudgets, upsertBudget, deleteBudget, getAllPricingRows, getPricingRows, getActivePricingRow, insertPricingRow, deletePricingRow, getDailySpendForAgent, getDailySpendGlobal, getDailySpendForUser, recordBudgetRefusalNotification, getBudgetRefusalNotification, getRecentBudgetRefusalNotifications, hasBudgetRefusalNotificationToday, setBudgetRefusalFollowUpTaskId, getLiveAgentCounts, getInstanceActivity, getSwarmMetrics, hasFirstCompletedTask, getKv, upsertKv, deleteKv, KvTypeCollisionError, incrKv, listKv, countKv, createScriptRun, recordInlineScriptRun, getScriptRun, getScriptRunByIdempotencyKey, listScriptRuns, countScriptRuns, countActiveScriptRuns, updateScriptRun, getRunningScriptRuns, getScriptRunJournalStep, upsertScriptRunJournalStep, listScriptRunJournalSteps, countScriptRunJournalSteps, countScriptRunJournalAgentTaskSteps, exports_db, init_db };
|
|
11936
|
+
export { normalizeAssetKey, parseAssetKey, canWriteAssetKey, init_key, interpolate, deepInterpolate, init_template, registerTemplate, getTemplateDefinition, getAllTemplateDefinitions, init_registry, configureHttpResolver, resolveTemplate, resolveTemplateAsync, init_resolver, slackContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, checkSlackRoutingCoherence, init_slack_routing, initTelemetry, telemetry, init_telemetry, AssetKeySchema, AssetEntityTypeSchema, ModelTierSchema, ReasoningEffortSchema, splitLegacyModelAlias, resolveTaskModelSelection, AgentTaskStatusSchema, isTerminalTaskStatus, AgentTaskSourceSchema, ProviderNameSchema, SteerModeSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, FollowUpConfigSchema, AgentTaskSchema, AttachmentInputSchema, TaskAttachmentSchema, InboxItemTypeSchema, InboxItemStatusSchema, FavoriteItemTypeSchema, TaskTemplateKindSchema, AgentAvatarSchema, AgentSchema, AgentLatestModelSchema, AgentCredStatusSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, ResumeReasonSchema, AgentLogSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, ScheduledTaskTargetTypeSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, PageContentTypeSchema, PageAuthModeSchema, MetricDefinitionSchema, MetricVersionSchema, WorkflowRunStatusSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptApiAuthModeSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, KvValueTypeSchema, KvNamespaceSchema, KvKeySchema, KvEntrySchema, init_types, setRequestAuth, getRequestAuth, getCurrentRequestAuth, init_request_auth_context, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, normalizeDate, normalizeDateRequired, init_date_utils, init_session_templates, init_templates, init_templates2 as init_templates1, isSteeringEnabled, init_steering_enabled, SteeringRequestError, isSteeringEnabled2 as isSteeringEnabled1, getTaskSteeringFields, promotePendingSteeringForTask, markSteeringUndeliverable, requestSteering, init_steering, isReservedConfigKey, reservedKeyError, validateConfigValue, init_swarm_config_guard, onTaskStarted, init_task_lifecycle_events, generateDefaultClaudeMd, generateDefaultSoulMd, generateDefaultIdentityMd, generateDefaultToolsMd, init_defaults, isSqliteVecAvailable, initDb, getDb, closeDb, computeContentHash, createContextVersion, getLatestContextVersion, getContextVersion, getContextVersionHistory, agentQueries, updateAgentCredentialState, createAgent, getAgentById, getAllAgents, getLeadAgent, updateAgentStatus, updateAgentMaxTasks, updateAgentProvider, setAgentHarnessProvider, updateAgentCredStatus, listAgentsWithCredStatusByProvider, getAgentHarnessProviders, updateAgentActivity, MAX_EMPTY_POLLS, incrementEmptyPollCount, resetEmptyPollCount, shouldBlockPolling, deleteAgent, getActiveTaskCount, hasCapacity, getRemainingCapacity, updateAgentStatusFromCapacity, isPoolAffinityEnforcementEnabled, buildRoutingAffinityFromAgent, isAgentEligibleForTask, taskQueries, createTask, getPendingTaskForAgent, assignUnassignedTaskPending, startTask, getTaskById, markTaskSlackReplySent, setSlackMessageTracking, getChildTasks, hasNonTerminalResumeChild, hasNonTerminalRerouteDecisionChild, updateTaskClaudeSessionId, updateTaskTitle, updateTaskVcs, getTasksByAgentId, getAgentCurrentTask, getTasksByStatus, findTaskByVcs, findTaskByGitHub, getAllTasks, getTasksCount, getTaskStats, getCompletedSlackTasks, getRecentlyFinishedWorkerTasks, markTasksNotified, resetTasksNotified, getInProgressSlackTasks, getInProgressTasksByContextKey, findExistingLinearTrackerContextWork, getLatestTaskByContextKey, getAgentWorkingOnThread, getLatestActiveTaskInThread, getLatestLeadTaskInThread, getMostRecentTaskInThread, findCompletedTaskInThread, findRecentCancelledTaskInThread, completeTask, failTask, cancelTask, supersedeTask, backfillSupersedeTaskResumeTaskId, pauseTask, resumeTask, getPausedTasksForAgent, getOrphanedInProgressTasksForAgent, resetOrphanedInProgressTasksForAgent, getRecentlyCancelledTasksForAgent, deleteTask, updateTaskProgress, insertTaskAttachment, getAssetKeyMappingByProvider, upsertAssetKeyMapping, getAssetKeyMapping, listAssetSummaries, moveAssetKey, deleteTaskAttachment, replaceTaskAttachment, getTaskAttachments, createSteeringMessage, getSteeringMessagesForTask, getSteeringMessageById, getPendingSteeringForTask, getPendingSteeringForAgent, markSteeringDelivered, markSteeringHandled, markSteeringPromoted, cancelPendingSteeringForTask, hasPendingSteering, getAgentWithTasks, getAllAgentsWithTasks, logQueries, createLogEntry, getLogsByAgentId, getLogsByTaskId, getLogsByTaskIdChronological, getLogsByEventType, getAllLogs, findRecentSimilarTasks, createTaskExtended, claimTask, releaseTask, acceptTask, rejectTask, moveTaskToBacklog, moveTaskFromBacklog, releaseStaleReviewingTasks, getOfferedTasksForAgent, claimOfferedTask, getUnassignedTasksCount, getUnassignedTaskIds, getUnassignedTaskIdsForAgent, checkDependencies, getDependentTasks, cascadeFailDependents, updateAgentProfile, updateAgentName, createChannel, getMessageById, getChannelById, getChannelByName, getAllChannels, deleteChannel, postMessage, getChannelMessages, updateReadState, getLastReadAt, getUnreadMessages, getMentionsForAgent, getInboxSummary, claimMentions, releaseMentionProcessing, releaseStaleMentionProcessing, createService, getServiceById, getServiceByAgentAndName, getServicesByAgentId, getAllServices, updateServiceStatus, deleteService, upsertService, deleteServicesByAgentId, sessionLogQueries, createSessionLogs, getSessionLogsByTaskId, getSessionLogsBySession, createSessionCost, getSessionCostsByTaskId, getSessionCostsByAgentId, getAllSessionCosts, getSessionCostsFiltered, getSessionCostSummary, getDashboardCostSummary, createInboxMessage, getInboxMessageById, getUnreadInboxMessages, claimInboxMessages, markInboxMessageRead, markInboxMessageResponded, markInboxMessageDelegated, releaseStaleProcessingInbox, getConcurrentContext, getScheduledTasks, getScheduledTaskById, getScheduledTaskByName, createScheduledTask, updateScheduledTask, deleteScheduledTask, getDueScheduledTasks, autoEncryptLegacyPlaintextSecrets, maskSecrets, getSwarmConfigs, getInjectableGlobalConfigs, getSwarmConfigById, getSwarmConfigLookupById, upsertSwarmConfig, deleteSwarmConfig, deleteSwarmConfigByKey, getResolvedConfig, getSwarmRepos, getSwarmRepoById, getSwarmRepoByName, getSwarmRepoByUrl, createSwarmRepo, updateSwarmRepo, deleteSwarmRepo, getAgentMailInboxMapping, getAgentMailInboxMappingsByAgent, getAllAgentMailInboxMappings, createAgentMailInboxMapping, deleteAgentMailInboxMapping, findTaskByAgentMailThread, insertActiveSession, deleteActiveSession, deleteActiveSessionById, getActiveSessions, heartbeatActiveSession, cleanupStaleSessions, cleanupAgentSessions, updateActiveSessionProviderSessionId, getActiveSessionForTask, reassociateSessionLogs, getStalledInProgressTasks, getStalePinnedResumes, failPendingResumeIfUnclaimed, getIdleWorkersWithCapacity, getUnassignedPoolTasks, getStaleUnassignedAffinityTasks, getRecentFailedTasks, getRecentCompletedCount, getRecentFailedCount, createWorkflow, getWorkflow, listWorkflows, updateWorkflow, deleteWorkflow, getWorkflowsByScheduleId, createWorkflowRun, getWorkflowRun, updateWorkflowRun, listWorkflowRuns, createWorkflowRunStep, getWorkflowRunStep, updateWorkflowRunStep, getWorkflowRunStepsByRunId, getStuckWorkflowRuns, getLastSuccessfulRun, getLastRunStart, getRetryableSteps, getCompletedStepNodeIds, getTaskByWorkflowRunStepId, getStepByIdempotencyKey, getStepCountForNode, getLatestStepForNode, createWorkflowVersion, getWorkflowVersions, getWorkflowVersion, createPage, getPage, getPageBySlug, getLatestPageBySlug, listPagesByAgent, listAllPages, countAllPages, countPagesByAgent, updatePage, deletePage, incrementPageViewCount, createPageVersion, getPageVersions, getPageVersion, createMetric, getMetric, getMetricBySlug, listMetricsByAgent, listAllMetrics, countAllMetrics, countMetricsByAgent, updateMetric, deleteMetric, createMetricVersion, getMetricVersions, getMetricVersion, getPromptTemplates, getPromptTemplateById, upsertPromptTemplate, deletePromptTemplate, resetPromptTemplateToDefault, getPromptTemplateHistory, resolvePromptTemplate, checkoutPromptTemplate, getAllChannelActivityCursors, getChannelActivityCursor, upsertChannelActivityCursor, createApprovalRequest, getApprovalRequestById, resolveApprovalRequest, updateApprovalRequestNotifications, listApprovalRequests, getStuckApprovalRuns, getApprovalRequestByStepId, getExpiredPendingApprovals, createWaitState, getWaitStateById, getWaitStateByStepId, getDueWaitStates, getPendingEventWaitNames, getPendingWaitsByEvent, resolveWaitState, getStuckWaitRuns, SKILL_FILE_LIMITS, normalizeSkillFilePath, createSkill, updateSkill, listSkillFileManifest, getSkillFiles, getSkillFile, upsertSkillFile, upsertSkillFiles, deleteSkillFile, deleteSkill, getSkillById, getSkillByName, listSkills, searchSkills, installSkill, getSystemDefaultSkills, installSystemDefaultSkillsForAgent, uninstallSkill, getAgentSkills, toggleAgentSkill, createMcpServer, updateMcpServer, deleteMcpServer, getMcpServerById, getMcpServerByName, listMcpServers, installMcpServer, uninstallMcpServer, getAgentMcpServers, createContextSnapshot, getContextSnapshotsByTaskId, getContextSnapshotsBySessionId, getContextSummaryByTaskId, getAvailableKeyIndices, recordKeyUsage, markKeyRateLimited, recordKeyRateLimitWindows, setApiKeyName, clearKeyRateLimit, getKeyStatuses, getKeyCostSummary, getUserById, getAllUsers, createUser, updateUser, deleteUser, listInboxState, upsertInboxState, listFavorites, listUserFavorites, getFavoriteItemIdSet, setFavorite, setUserFavorite, withFavoriteFlags, listTaskTemplates, getRootTaskChain, listRecentSessions, countSessions, getBudget, getBudgets, upsertBudget, deleteBudget, getAllPricingRows, getPricingRows, getActivePricingRow, insertPricingRow, deletePricingRow, getDailySpendForAgent, getDailySpendGlobal, getDailySpendForUser, recordBudgetRefusalNotification, getBudgetRefusalNotification, getRecentBudgetRefusalNotifications, hasBudgetRefusalNotificationToday, setBudgetRefusalFollowUpTaskId, getLiveAgentCounts, getInstanceActivity, getSwarmMetrics, hasFirstCompletedTask, getKv, upsertKv, deleteKv, KvTypeCollisionError, incrKv, listKv, countKv, createScriptRun, recordInlineScriptRun, getScriptRun, getScriptRunByIdempotencyKey, listScriptRuns, countScriptRuns, countActiveScriptRuns, updateScriptRun, getRunningScriptRuns, getScriptRunJournalStep, upsertScriptRunJournalStep, listScriptRunJournalSteps, countScriptRunJournalSteps, countScriptRunJournalAgentTaskSteps, exports_db, init_db };
|