@desplega.ai/agent-swarm 1.157.0 → 1.159.0
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/{acp-adapter-qhqrk4q0.js → acp-adapter-qhch0n2v.js} +1 -1
- package/dist/{actions-9rrg0zxm.js → actions-dtsh1mfb.js} +33 -29
- package/dist/{anthropic-messages-51pz26qe.js → anthropic-messages-f2h06k64.js} +8 -3
- package/dist/{app-enysy1zd.js → app-y1b9srva.js} +10 -9
- package/dist/{artifact-td4q4dch.js → artifact-3v5t9jtg.js} +1 -1
- package/dist/{assistant-zegamy48.js → assistant-31hwy5xj.js} +34 -30
- package/dist/{azure-openai-responses-8gksqtmz.js → azure-openai-responses-0k1mfax5.js} +12 -13
- package/dist/{boot-reembed-zfxb937k.js → boot-reembed-48d2qpkt.js} +11 -11
- package/dist/{boot-reembed-r6shx5qx.js → boot-reembed-w0bryhkr.js} +12 -12
- package/dist/{boot-scrub-logs-k5y0se6r.js → boot-scrub-logs-t65wbrn7.js} +9 -8
- package/dist/boot-seeds-h7c32hvm.js +27 -0
- package/dist/{claude-adapter-5yc7hxwv.js → claude-adapter-1t6611ne.js} +26 -21
- package/dist/{claude-managed-adapter-ea2aga6w.js → claude-managed-adapter-werp659j.js} +4 -2
- package/dist/{claude-managed-setup-60g8aazx.js → claude-managed-setup-y6rdgbc1.js} +11 -2
- package/dist/claude-sdk-session-zhkyk8yw.js +29319 -0
- package/dist/{cli-vj6h9kc2.js → cli-0m7wct0d.js} +59 -1
- package/dist/{cli-xf5b7y1f.js → cli-0n2e4x49.js} +13 -5
- package/dist/cli-0xqde53b.js +176 -0
- package/dist/{cli-nbp6m6gp.js → cli-10ym38qc.js} +53 -28
- package/dist/{cli-5b6b62tz.js → cli-13hw4z91.js} +1 -1
- package/dist/{cli-tpv97m71.js → cli-20035trh.js} +286 -84
- package/dist/{cli-k0g1sjzm.js → cli-31nkw3g3.js} +3 -3
- package/dist/cli-3gvrr8vj.js +1422 -0
- package/dist/{cli-sgyqyyxe.js → cli-48527fpw.js} +10 -8
- package/dist/{cli-24k806sc.js → cli-4aj25szq.js} +2 -2
- package/dist/{cli-s98skd5r.js → cli-4tvgz99m.js} +7 -7
- package/dist/cli-503ya656.js +455 -0
- package/dist/{cli-cw9zck8j.js → cli-5f2hq128.js} +8 -4
- package/dist/{cli-p37sg0a9.js → cli-68bmme5p.js} +11078 -27833
- package/dist/{cli-01vfmq8c.js → cli-79aq9cgb.js} +1318 -644
- package/dist/cli-7cxw8b60.js +14910 -0
- package/dist/cli-7kyk9jr3.js +22 -0
- package/dist/cli-7zttzetj.js +324 -0
- package/dist/{cli-y95wp3tg.js → cli-96qd5psa.js} +1 -1
- package/dist/{cli-ytxs7mn1.js → cli-9yg65c1j.js} +39 -0
- package/dist/{cli-3gmcwfyx.js → cli-ardpzhjm.js} +5 -5
- package/dist/{cli-y3nxwx0t.js → cli-b6thtzac.js} +20 -13
- package/dist/{cli-00w2c66p.js → cli-bgv70kym.js} +13 -2
- package/dist/{cli-r9ee9c4w.js → cli-bv0a38v9.js} +162 -42
- package/dist/cli-ca2w7zv7.js +115 -0
- package/dist/cli-cpvsaqsw.js +333 -0
- package/dist/cli-cygyqj3b.js +754 -0
- package/dist/{cli-5j7bm4tb.js → cli-dvjpkkjd.js} +6 -6
- package/dist/{cli-005pze6s.js → cli-e0ndxhtk.js} +4 -4
- package/dist/{cli-h0wdadsx.js → cli-e4xnc0qp.js} +21 -5
- package/dist/{cli-jytrw2na.js → cli-eg7cdg68.js} +8 -8
- package/dist/cli-ejpygnqz.js +3815 -0
- package/dist/{cli-c41wjx0r.js → cli-fjtp3463.js} +1917 -134
- package/dist/{cli-zt1227k1.js → cli-fkqhbg8g.js} +5 -3
- package/dist/{cli-awwphhcs.js → cli-g9df2m37.js} +765 -288
- package/dist/cli-gzyh0j0g.js +8455 -0
- package/dist/cli-hgqfttfc.js +183 -0
- package/dist/cli-hj65wsts.js +17755 -0
- package/dist/cli-j9z8mfx3.js +476 -0
- package/dist/{cli-aehm1rbq.js → cli-kc3dp84d.js} +1135 -61
- package/dist/{cli-h38x0qhg.js → cli-kdnehe0t.js} +4 -3
- package/dist/{cli-yscm6cv8.js → cli-m4excttz.js} +1993 -2216
- package/dist/{cli-74h6f2bp.js → cli-mg24hkt4.js} +2 -2
- package/dist/{cli-vx9p3qdt.js → cli-mzkqpxee.js} +1 -1
- package/dist/{cli-tjmghmm5.js → cli-phsaj4xq.js} +29 -4
- package/dist/{cli-pw9rj5t9.js → cli-pqetb83f.js} +1 -176
- package/dist/{cli-n6zq3kbd.js → cli-qjxy52w7.js} +1 -1
- package/dist/{cli-wb2zvbfg.js → cli-qv4jv8bx.js} +1 -1
- package/dist/cli-qvnnx4ct.js +1051 -0
- package/dist/cli-rb9m6rpe.js +4980 -0
- package/dist/{cli-tt9k8r35.js → cli-rfezr056.js} +476 -909
- package/dist/{cli-ggm92wcn.js → cli-rgjprct3.js} +1 -0
- package/dist/{cli-9n76jszt.js → cli-rrqmqr1s.js} +1 -1
- package/dist/cli-rykfmgwg.js +102 -0
- package/dist/cli-t1ze64h3.js +811 -0
- package/dist/{cli-eetrvv91.js → cli-t3p77qk1.js} +1 -1
- package/dist/{cli-scwq51gn.js → cli-vn0qv9cj.js} +25 -82
- package/dist/{cli-wsed24mk.js → cli-vwbbaecp.js} +2 -2
- package/dist/cli-wd9hz40d.js +69 -0
- package/dist/{cli-9p33cz9h.js → cli-wgjx0q33.js} +90 -32
- package/dist/cli-xgpf00sk.js +2149 -0
- package/dist/{cli-mcnhgnn1.js → cli-ykk5jaax.js} +184 -26
- package/dist/{cli-f3va018d.js → cli-z9x0sh1t.js} +26 -93
- package/dist/{cli-58rgvkt4.js → cli-zw65mab6.js} +5 -5
- package/dist/cli.js +56 -33
- package/dist/cloudflare-workers-ai-system-one-1sg586qv.js +46 -0
- package/dist/{codex-adapter-gns3s6c3.js → codex-adapter-jqfqqa21.js} +20 -13
- package/dist/{codex-hook-9hptmdhj.js → codex-hook-5eys3dya.js} +2 -2
- package/dist/{codex-session-runner-gqnxys5w.js → codex-session-runner-zd341dsm.js} +20 -13
- package/dist/{commands-hxy2y2sp.js → commands-vfsysz4s.js} +9 -8
- package/dist/{db-w8ghhsgf.js → db-s3znhvbn.js} +29 -10
- package/dist/{dispatcher-cp1rknjz.js → dispatcher-5xn0c7rf.js} +32 -28
- package/dist/{dsh-adapter-1dwg97zv.js → dsh-adapter-894mgfvs.js} +3 -3
- package/dist/{e2b-93x1k0j5.js → e2b-ez07znam.js} +4 -3
- package/dist/execute-71ysgv35.js +965 -0
- package/dist/{google-generative-ai-bxmv50nc.js → google-generative-ai-1nfcdphp.js} +5 -4
- package/dist/{google-vertex-809af514.js → google-vertex-1tqcd7b1.js} +5 -4
- package/dist/{handlers-egfhr351.js → handlers-5w4jwycr.js} +35 -31
- package/dist/{hook-x4kftwzt.js → hook-853bxrr6.js} +32 -21
- package/dist/{hook-fbxjqfjz.js → hook-z0hbxj85.js} +16 -13
- package/dist/{http-c7jfx990.js → http-akc3wy3m.js} +989 -275
- package/dist/{index-f6cryxwe.js → index-4a5njnm1.js} +2 -59
- package/dist/{index-jtvpgb8f.js → index-5sz16ksh.js} +208 -65
- package/dist/{index-dc2ek6bw.js → index-bjmjh9h4.js} +11 -11
- package/dist/{index-yy07ef2s.js → index-cd151qkq.js} +32 -28
- package/dist/{index-r6bty6tb.js → index-k661dzzr.js} +33 -29
- package/dist/{index-4k9hct21.js → index-ttpbhnjg.js} +32 -28
- package/dist/{keepalive-f7ekefyc.js → keepalive-8p9rpvz5.js} +11 -10
- package/dist/{lead-h053syts.js → lead-jp69z5h3.js} +49 -45
- package/dist/llama-cpp-classify-t2tccams.js +335 -0
- package/dist/{maintenance-a3w6zs54.js → maintenance-fwx4ev0k.js} +12 -12
- package/dist/{mistral-conversations-zx0kn554.js → mistral-conversations-bhvwqcnk.js} +14 -17
- package/dist/{oauth-refresh-sweep-vra1dhkd.js → oauth-refresh-sweep-cwcq1ctx.js} +10 -9
- package/dist/{onboard-mfgzeqxs.js → onboard-2b4q0t84.js} +282 -84
- package/dist/{openai-codex-responses-4vjqzvjp.js → openai-codex-responses-nekthgks.js} +21 -8
- package/dist/{openai-completions-9hjrqbw8.js → openai-completions-hxtzwj0s.js} +8 -11
- package/dist/{openai-responses-7b1pn0xt.js → openai-responses-w4r118w7.js} +22 -17
- package/dist/{opencode-adapter-z64xjzec.js → opencode-adapter-zz7xvjj6.js} +6 -4
- package/dist/{openrouter-images-9f9ek4rw.js → openrouter-images-b6sqqjgn.js} +4 -6
- package/dist/{otel-impl-2ez6xk57.js → otel-impl-g8rs4vwr.js} +416 -301
- package/dist/{pi-messages-txpjj39q.js → pi-messages-vxdt8v7j.js} +2 -1
- package/dist/{pi-mono-adapter-2b7mw16r.js → pi-mono-adapter-n0me28wt.js} +29 -17
- package/dist/pricing-refresh-0v77385v.js +39 -0
- package/dist/{rbac-roles-nm6924sy.js → rbac-roles-krjyazbj.js} +10 -9
- package/dist/{render-v2-f026j6c4.js → render-v2-3wjsp9aw.js} +10 -9
- package/dist/runtime-ktjysacx.js +24 -0
- package/dist/{setup-w606fr1q.js → setup-yeqryke6.js} +6 -5
- package/dist/typesafe-system-one-96960jxp.js +27 -0
- package/dist/{virtual-modules-8qheft18.js → virtual-modules-dzdeq1sf.js} +21 -13
- package/dist/{work-objects-ezmggdne.js → work-objects-3pakpkw0.js} +35 -31
- package/dist/{worker-1mbyv29k.js → worker-85testgj.js} +49 -45
- package/openapi.json +3288 -1442
- package/package.json +10 -8
- package/src/apps/catalog.generated.json +229 -0
- package/src/apps/page-validator.ts +71 -16
- package/src/apps/row-store.ts +66 -11
- package/src/apps/sync.ts +59 -17
- package/src/artifact-sdk/browser-sdk.ts +436 -2
- package/src/be/approval-sweeps.ts +109 -0
- package/src/be/boot-seeds.ts +40 -0
- package/src/be/chunking.ts +1 -1
- package/src/be/db/agents.ts +40 -0
- package/src/be/db/approvals.ts +78 -0
- package/src/be/db/tasks/human-free.ts +442 -0
- package/src/be/db/tasks/read.ts +252 -39
- package/src/be/db/tasks/write.ts +148 -20
- package/src/be/db-client.ts +107 -48
- package/src/be/db.ts +308 -241
- package/src/be/events.ts +33 -1
- package/src/be/harness-model-support.ts +182 -0
- package/src/be/human-free-drain.ts +67 -0
- package/src/be/memory/graph-expansion.ts +10 -3
- package/src/be/memory/providers/sqlite-store.ts +55 -13
- package/src/be/memory/raters/retrieval.ts +5 -2
- package/src/be/memory/reranker.ts +26 -2
- package/src/be/memory/types.ts +2 -0
- package/src/be/migrations/166_approval_request_auto_cancellation.sql +9 -0
- package/src/be/migrations/171_memory_retrieval_relevance.sql +8 -0
- package/src/be/migrations/175_workflow_runs_list_index.sql +11 -0
- package/src/be/migrations/177_events_event_agent_created_index.sql +11 -0
- package/src/be/migrations/182_task_human_free_flag.sql +63 -0
- package/src/be/migrations/183_human_free_reclassify_queue.sql +25 -0
- package/src/be/migrations/184_model_catalog.sql +120 -0
- package/src/be/model-catalog-store.ts +644 -0
- package/src/be/model-tier-keys.ts +31 -0
- package/src/be/model-tier-resolution.ts +489 -0
- package/src/be/model-validation.ts +112 -0
- package/src/be/models-catalog.ts +63 -7
- package/src/be/modelsdev-cache.json +1939 -0
- package/src/be/modelsdev-cache.ts +16 -1
- package/src/be/pricing-normalize.ts +2 -0
- package/src/be/pricing-refresh.ts +154 -12
- package/src/be/scripts/typecheck.ts +16 -0
- package/src/be/seed-pricing.ts +3 -1
- package/src/be/seed-scripts/catalog/task-failure-audit.ts +61 -9
- package/src/be/seed-skills/bundled-files.generated.json +1 -1
- package/src/be/steering.ts +53 -3
- package/src/be/swarm-config-guard.ts +9 -0
- package/src/be/task-citations.ts +29 -0
- package/src/cli.tsx +24 -1
- package/src/commands/claude-managed-setup.ts +3 -1
- package/src/commands/onboard/compose-generator.ts +8 -3
- package/src/commands/onboard/container-engine.ts +220 -0
- package/src/commands/onboard/manifest.ts +1 -0
- package/src/commands/onboard/steps/health-check.tsx +4 -1
- package/src/commands/onboard/steps/prereq-check.tsx +50 -54
- package/src/commands/onboard/steps/start.tsx +31 -16
- package/src/commands/onboard/types.ts +7 -2
- package/src/commands/onboard.tsx +39 -4
- package/src/commands/profile-sync.ts +79 -26
- package/src/commands/runner.ts +84 -3
- package/src/extensions/catalog.generated.json +17 -0
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/heartbeat/heartbeat.ts +323 -114
- package/src/heartbeat/templates.ts +2 -2
- package/src/hooks/hook.ts +21 -12
- package/src/http/agents.ts +84 -1
- package/src/http/approval-requests.ts +136 -64
- package/src/http/apps.ts +14 -3
- package/src/http/config.ts +15 -1
- package/src/http/events.ts +62 -2
- package/src/http/index.ts +14 -4
- package/src/http/memory.ts +21 -7
- package/src/http/models-catalog.ts +357 -8
- package/src/http/poll.ts +45 -2
- package/src/http/schedules.ts +37 -7
- package/src/http/session-data.ts +11 -9
- package/src/http/sessions.ts +25 -18
- package/src/http/stats.ts +25 -15
- package/src/http/status.ts +11 -1
- package/src/http/tasks.ts +66 -9
- package/src/http/usage-cache.ts +56 -15
- package/src/http/webhooks.ts +67 -46
- package/src/http/workflows.ts +50 -28
- package/src/linear/outbound.ts +37 -15
- package/src/otel-impl.ts +151 -1
- package/src/otel.ts +14 -3
- package/src/prompts/memories.ts +19 -2
- package/src/prompts/session-templates.ts +1 -0
- package/src/providers/claude-managed-models.ts +47 -153
- package/src/providers/codex-adapter.ts +4 -4
- package/src/providers/codex-models.ts +65 -198
- package/src/providers/reasoning-effort.ts +44 -140
- package/src/rbac/legacy-policy.ts +41 -0
- package/src/rbac/permissions.ts +14 -0
- package/src/scheduler/schedule-task.ts +3 -0
- package/src/scripts-runtime/sdk-allowlist.ts +5 -0
- package/src/scripts-runtime/swarm-sdk.ts +9 -0
- package/src/scripts-runtime/types/stdlib.d.ts +16 -0
- package/src/scripts-runtime/types/swarm-extension.d.ts +4 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +16 -0
- package/src/server.ts +18 -7
- package/src/slack/app.ts +35 -4
- package/src/slack/connection-state.ts +17 -0
- package/src/slack/message-text.ts +56 -2
- package/src/slack/thread-buffer.ts +10 -2
- package/src/tasks/context-key.ts +1 -0
- package/src/tasks/worker-follow-up.ts +6 -2
- package/src/tests/agent-task-activity.test.ts +74 -0
- package/src/tests/agents-list-model-display.test.ts +9 -6
- package/src/tests/approval-auto-cancellation-migration.test.ts +104 -0
- package/src/tests/approval-requests.test.ts +395 -0
- package/src/tests/approval-sweeps-config.test.ts +47 -0
- package/src/tests/approval-sweeps.test.ts +508 -0
- package/src/tests/apps-kibo-blocks.test.ts +77 -0
- package/src/tests/apps-spike.test.ts +56 -1
- package/src/tests/apps-sync-engine.test.ts +20 -9
- package/src/tests/base-prompt.test.ts +3 -0
- package/src/tests/boot-seeds.test.ts +170 -0
- package/src/tests/cancel-approval-request-tool.test.ts +115 -0
- package/src/tests/claude-adapter.test.ts +10 -0
- package/src/tests/claude-managed-adapter.test.ts +17 -17
- package/src/tests/codex-adapter.test.ts +2 -1
- package/src/tests/codex-gpt6-release.test.ts +66 -5
- package/src/tests/config-key-filter.test.ts +80 -0
- package/src/tests/context-window.test.ts +8 -5
- package/src/tests/db-client-busy-retry.test.ts +96 -0
- package/src/tests/db-client.test.ts +60 -1
- package/src/tests/db-extraction-contract.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +15 -1
- package/src/tests/db-task-write-contract.test.ts +13 -1
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/events-http.test.ts +103 -0
- package/src/tests/explicit-model-validation.test.ts +332 -0
- package/src/tests/extensions-catalog.test.ts +22 -17
- package/src/tests/extensions-pre-task.test.ts +107 -0
- package/src/tests/fixtures/kibo-blocks-definition.json.txt +105 -0
- package/src/tests/follow-up-config-inheritance.test.ts +260 -0
- package/src/tests/harness-model-support.test.ts +374 -0
- package/src/tests/heartbeat-checklist-config.test.ts +71 -0
- package/src/tests/heartbeat-checklist.test.ts +4 -2
- package/src/tests/heartbeat-orphan-resume.test.ts +132 -0
- package/src/tests/heartbeat-reboot-live.test.ts +95 -0
- package/src/tests/heartbeat-stall-cas.test.ts +80 -0
- package/src/tests/heartbeat.test.ts +99 -3
- package/src/tests/hook-mcp-config.test.ts +29 -0
- package/src/tests/http-api-integration.test.ts +16 -2
- package/src/tests/human-free-flag.test.ts +279 -0
- package/src/tests/human-free-oracle.ts +57 -0
- package/src/tests/human-free-reclassify.test.ts +669 -0
- package/src/tests/kv-storage.test.ts +62 -0
- package/src/tests/linear-outbound-sync.test.ts +120 -5
- package/src/tests/list-endpoint-slimming.test.ts +91 -0
- package/src/tests/memory-graph-organic-route.test.ts +155 -0
- package/src/tests/memory-http-recall-gating.test.ts +14 -4
- package/src/tests/memory-hybrid.test.ts +161 -1
- package/src/tests/memory-prompt-recall-crowdout.test.ts +297 -0
- package/src/tests/memory.test.ts +22 -0
- package/src/tests/migration-046-budgets.test.ts +3 -3
- package/src/tests/model-catalog-migration.test.ts +134 -0
- package/src/tests/model-catalog-table.test.ts +249 -0
- package/src/tests/model-catalog-write-access.test.ts +387 -0
- package/src/tests/model-tier-resolution.test.ts +519 -0
- package/src/tests/models-catalog.test.ts +1 -1
- package/src/tests/multi-runtime-enabled-stats.test.ts +65 -1
- package/src/tests/onboard-container-engine.test.ts +240 -0
- package/src/tests/otel-event-loop-and-logs.test.ts +99 -0
- package/src/tests/package-publish.test.ts +137 -36
- package/src/tests/pricing-routes.test.ts +16 -2
- package/src/tests/profile-sync-warning.test.ts +8 -4
- package/src/tests/promote-draft-task-route.test.ts +19 -0
- package/src/tests/provider-registration.test.ts +296 -42
- package/src/tests/rbac-engine.test.ts +72 -2
- package/src/tests/reasoning-effort.test.ts +117 -0
- package/src/tests/refresh-modelsdev-carryforward.test.ts +5 -5
- package/src/tests/runtime-model-catalog.test.ts +86 -0
- package/src/tests/script-connections.test.ts +12 -0
- package/src/tests/sdk-allowlist.test.ts +39 -0
- package/src/tests/seed-scripts.test.ts +89 -0
- package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
- package/src/tests/session-costs.test.ts +14 -11
- package/src/tests/sessions-detail-batch.test.ts +250 -0
- package/src/tests/sessions.test.ts +118 -0
- package/src/tests/slack-config.test.ts +22 -0
- package/src/tests/slack-message-text.test.ts +101 -0
- package/src/tests/slack-thread-buffer-context.test.ts +93 -0
- package/src/tests/sonnet-5-5-registry.test.ts +44 -0
- package/src/tests/status.test.ts +36 -1
- package/src/tests/swarm-diff.test.ts +316 -10
- package/src/tests/task-cascade-fail.test.ts +148 -2
- package/src/tests/task-completion-idempotency.test.ts +2 -1
- package/src/tests/tasks-requested-by-filter.test.ts +3 -1
- package/src/tests/tool-annotations.test.ts +1 -1
- package/src/tests/ui-list-slim-projections.test.ts +158 -0
- package/src/tests/usage-cache.test.ts +166 -0
- package/src/tests/webhooks-task-blocked.test.ts +127 -0
- package/src/tests/workflow-approval-recovery.test.ts +203 -0
- package/src/tests/workflow-executors.test.ts +5 -2
- package/src/tests/workflow-hitl-routing.test.ts +22 -1
- package/src/tests/workflow-hitl-slack-card.test.ts +52 -0
- package/src/tests/workflow-http-v2.test.ts +99 -8
- package/src/tests/workflow-retry-validation.test.ts +56 -0
- package/src/tests/workflow-system-one-decision-review.test.ts +1021 -0
- package/src/tests/workflow-system-one-decision-save-warnings.test.ts +365 -0
- package/src/tests/workflow-system-one-decision.test.ts +2063 -0
- package/src/tests/workflow-tla-races.test.ts +389 -0
- package/src/tests/workflow-validation-port-routing.test.ts +113 -1
- package/src/tools/cancel-approval-request.ts +57 -0
- package/src/tools/memory-search.ts +1 -0
- package/src/tools/model-catalog/index.ts +137 -0
- package/src/tools/request-human-input.ts +4 -2
- package/src/tools/schedules/create-schedule.ts +16 -1
- package/src/tools/schedules/patch-schedule.ts +17 -0
- package/src/tools/schedules/update-schedule.ts +17 -0
- package/src/tools/send-task.ts +18 -0
- package/src/tools/task-action.ts +12 -0
- package/src/tools/templates.ts +19 -0
- package/src/tools/tool-config.ts +5 -2
- package/src/tools/workflows/create-workflow.ts +9 -2
- package/src/tools/workflows/list-workflow-runs.ts +1 -0
- package/src/tools/workflows/patch-workflow-node.ts +17 -7
- package/src/tools/workflows/patch-workflow.ts +9 -2
- package/src/tools/workflows/update-workflow.ts +9 -2
- package/src/types.ts +68 -1
- package/src/utils/context-window.ts +47 -52
- package/src/utils/harness-cli-version.ts +115 -0
- package/src/utils/harness-model-error.ts +33 -0
- package/src/utils/runtime-model-catalog.ts +137 -0
- package/src/workflows/approval-cancel.ts +152 -0
- package/src/workflows/approval-notifications.ts +84 -0
- package/src/workflows/approval-resolution.ts +39 -0
- package/src/workflows/checkpoint.ts +10 -5
- package/src/workflows/definition.ts +28 -0
- package/src/workflows/engine.ts +221 -22
- package/src/workflows/executors/agent-task.ts +9 -0
- package/src/workflows/executors/base.ts +53 -0
- package/src/workflows/executors/human-in-the-loop.ts +9 -9
- package/src/workflows/executors/index.ts +1 -0
- package/src/workflows/executors/registry.ts +2 -0
- package/src/workflows/executors/system-one-decision.ts +1232 -0
- package/src/workflows/executors/system-one-providers.ts +301 -0
- package/src/workflows/executors/workflow-llm.ts +13 -1
- package/src/workflows/readiness.ts +86 -0
- package/src/workflows/recovery.ts +100 -45
- package/src/workflows/resume.ts +71 -26
- package/src/workflows/retry-poller.ts +71 -21
- package/templates/extensions/README.md +1 -0
- package/templates/extensions/github-sender-allowlist/README.md +18 -0
- package/templates/extensions/github-sender-allowlist/hooks.ts +55 -0
- package/templates/extensions/github-sender-allowlist/manifest.json +8 -0
- package/templates/schedules/daily-blocker-digest/content.md +4 -5
- package/templates/skills/agent-browser/SKILL.md +6 -5
- package/templates/skills/agent-browser/content.md +6 -5
- package/templates/skills/apps/content.md +20 -1
- package/templates/skills/code-quality/content.md +26 -1
- package/templates/skills/heartbeat-runbook/config.json +1 -1
- package/templates/skills/heartbeat-runbook/content.md +2 -2
- package/templates/skills/pages/content.md +16 -4
- package/templates/skills/pages/files/examples/multiplayer-board.html +3 -12
- package/templates/skills/swarm-scripts/SKILL.md +1 -1
- package/templates/skills/swarm-scripts/content.md +1 -1
- package/templates/skills/workflow-iterate/content.md +81 -1
- package/templates/workflows/claude-code-changelog-watch/content.md +2 -0
- package/templates/workflows/pr-review-status-sweep/content.md +2 -0
- package/dist/claude-sdk-session-j4ywn3xf.js +0 -39108
- package/dist/cli-2daksqps.js +0 -378
- package/dist/cli-6jjzxv3b.js +0 -246
- package/dist/cli-avkd6mqv.js +0 -6052
- package/dist/cli-aw1jwp1r.js +0 -14075
- package/dist/cli-e781c6f9.js +0 -60
- package/dist/cli-v53rbqp3.js +0 -1101
- package/dist/cli-vapyk8sw.js +0 -20
- package/dist/pricing-refresh-6sw65tck.js +0 -27
- package/dist/rbac-roles-3gxmnb20.js +0 -37
- package/dist/seed-pricing-vqxa06qf.js +0 -26
- package/src/providers/modelsdev-reasoning.json +0 -5902
- package/dist/{codex-login-x3jk4etn.js → codex-login-he9vrn90.js} +3 -3
- package/dist/{index-f24115ge.js → index-2wsdsnmm.js} +3 -3
|
@@ -3594,6 +3594,64 @@ var require_javascript = __commonJS(function(exports, module) {
|
|
|
3594
3594
|
module.exports = javascript;
|
|
3595
3595
|
});
|
|
3596
3596
|
|
|
3597
|
+
// node_modules/highlight.js/lib/languages/json.js
|
|
3598
|
+
var require_json = __commonJS(function(exports, module) {
|
|
3599
|
+
function json(hljs) {
|
|
3600
|
+
const LITERALS = {
|
|
3601
|
+
literal: "true false null"
|
|
3602
|
+
};
|
|
3603
|
+
const ALLOWED_COMMENTS = [
|
|
3604
|
+
hljs.C_LINE_COMMENT_MODE,
|
|
3605
|
+
hljs.C_BLOCK_COMMENT_MODE
|
|
3606
|
+
];
|
|
3607
|
+
const TYPES = [
|
|
3608
|
+
hljs.QUOTE_STRING_MODE,
|
|
3609
|
+
hljs.C_NUMBER_MODE
|
|
3610
|
+
];
|
|
3611
|
+
const VALUE_CONTAINER = {
|
|
3612
|
+
end: ",",
|
|
3613
|
+
endsWithParent: true,
|
|
3614
|
+
excludeEnd: true,
|
|
3615
|
+
contains: TYPES,
|
|
3616
|
+
keywords: LITERALS
|
|
3617
|
+
};
|
|
3618
|
+
const OBJECT = {
|
|
3619
|
+
begin: /\{/,
|
|
3620
|
+
end: /\}/,
|
|
3621
|
+
contains: [
|
|
3622
|
+
{
|
|
3623
|
+
className: "attr",
|
|
3624
|
+
begin: /"/,
|
|
3625
|
+
end: /"/,
|
|
3626
|
+
contains: [hljs.BACKSLASH_ESCAPE],
|
|
3627
|
+
illegal: "\\n"
|
|
3628
|
+
},
|
|
3629
|
+
hljs.inherit(VALUE_CONTAINER, {
|
|
3630
|
+
begin: /:/
|
|
3631
|
+
})
|
|
3632
|
+
].concat(ALLOWED_COMMENTS),
|
|
3633
|
+
illegal: "\\S"
|
|
3634
|
+
};
|
|
3635
|
+
const ARRAY = {
|
|
3636
|
+
begin: "\\[",
|
|
3637
|
+
end: "\\]",
|
|
3638
|
+
contains: [hljs.inherit(VALUE_CONTAINER)],
|
|
3639
|
+
illegal: "\\S"
|
|
3640
|
+
};
|
|
3641
|
+
TYPES.push(OBJECT, ARRAY);
|
|
3642
|
+
ALLOWED_COMMENTS.forEach(function(rule) {
|
|
3643
|
+
TYPES.push(rule);
|
|
3644
|
+
});
|
|
3645
|
+
return {
|
|
3646
|
+
name: "JSON",
|
|
3647
|
+
contains: TYPES,
|
|
3648
|
+
keywords: LITERALS,
|
|
3649
|
+
illegal: "\\S"
|
|
3650
|
+
};
|
|
3651
|
+
}
|
|
3652
|
+
module.exports = json;
|
|
3653
|
+
});
|
|
3654
|
+
|
|
3597
3655
|
// node_modules/highlight.js/lib/languages/kotlin.js
|
|
3598
3656
|
var require_kotlin = __commonJS(function(exports, module) {
|
|
3599
3657
|
var decimalDigits = "[0-9](_*[0-9])*";
|
|
@@ -6721,4 +6779,4 @@ var require_typescript = __commonJS(function(exports, module) {
|
|
|
6721
6779
|
module.exports = typescript;
|
|
6722
6780
|
});
|
|
6723
6781
|
|
|
6724
|
-
export { require_core, require_bash, require_c, require_cpp, require_csharp, require_dart, require_go, require_groovy, require_java, require_javascript, require_kotlin, require_lua, require_nix, require_perl, require_php, require_python, require_ruby, require_rust, require_scala, require_swift, require_typescript };
|
|
6782
|
+
export { require_core, require_bash, require_c, require_cpp, require_csharp, require_dart, require_go, require_groovy, require_java, require_javascript, require_json, require_kotlin, require_lua, require_nix, require_perl, require_php, require_python, require_ruby, require_rust, require_scala, require_swift, require_typescript };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getDb,
|
|
3
3
|
init_db
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-g9df2m37.js";
|
|
5
5
|
|
|
6
6
|
// src/be/seed-pricing.ts
|
|
7
7
|
init_db();
|
|
@@ -10,6 +10,7 @@ init_db();
|
|
|
10
10
|
import { readFileSync } from "node:fs";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
var MODELSDEV_CACHE_PATH = path.join("src", "be", "modelsdev-cache.json");
|
|
13
|
+
var parsedCaches = new Map;
|
|
13
14
|
function loadModelsDevCache() {
|
|
14
15
|
const explicitPath = process.env.MODELSDEV_CACHE_PATH;
|
|
15
16
|
const candidates = [
|
|
@@ -19,8 +20,13 @@ function loadModelsDevCache() {
|
|
|
19
20
|
path.join("/app", MODELSDEV_CACHE_PATH)
|
|
20
21
|
];
|
|
21
22
|
for (const candidate of candidates) {
|
|
23
|
+
const memoized = parsedCaches.get(candidate)?.deref();
|
|
24
|
+
if (memoized)
|
|
25
|
+
return memoized;
|
|
22
26
|
try {
|
|
23
|
-
|
|
27
|
+
const parsed = JSON.parse(readFileSync(candidate, "utf-8"));
|
|
28
|
+
parsedCaches.set(candidate, new WeakRef(parsed));
|
|
29
|
+
return parsed;
|
|
24
30
|
} catch {}
|
|
25
31
|
}
|
|
26
32
|
return null;
|
|
@@ -35,7 +41,8 @@ var ROUTING_PREFIXES_BY_PROVIDER = {
|
|
|
35
41
|
"claude-managed": [],
|
|
36
42
|
devin: [],
|
|
37
43
|
gemini: [],
|
|
38
|
-
acp: []
|
|
44
|
+
acp: [],
|
|
45
|
+
dsh: []
|
|
39
46
|
};
|
|
40
47
|
function normalizeModelKey(provider, model) {
|
|
41
48
|
if (!model)
|
|
@@ -90,11 +97,12 @@ var ANTHROPIC_SHORTNAME_TO_MODELSDEV = {
|
|
|
90
97
|
fable: "claude-fable-5-1",
|
|
91
98
|
mythos: "claude-mythos-5-1",
|
|
92
99
|
opus: "claude-opus-5-5",
|
|
93
|
-
sonnet: "claude-sonnet-5",
|
|
100
|
+
sonnet: "claude-sonnet-5-5",
|
|
94
101
|
haiku: "claude-haiku-4-5"
|
|
95
102
|
};
|
|
96
103
|
var ANTHROPIC_SHORTNAME_PRICING_FALLBACKS = {
|
|
97
104
|
"claude-opus-5-5": { input: 4, output: 20, cache_read: 0.2, cache_write: 5 },
|
|
105
|
+
"claude-sonnet-5-5": { input: 2, output: 10, cache_read: 0.2, cache_write: 2.5 },
|
|
98
106
|
"claude-fable-5-1": { input: 10, output: 50, cache_read: 0.25, cache_write: 12.5 },
|
|
99
107
|
"claude-mythos-5-1": { input: 10, output: 50, cache_read: 0.25, cache_write: 12.5 }
|
|
100
108
|
};
|
|
@@ -231,4 +239,4 @@ function seedPricingFromModelsDev(opts) {
|
|
|
231
239
|
return { inserted, modelsdevFound: !!cache };
|
|
232
240
|
}
|
|
233
241
|
|
|
234
|
-
export { loadModelsDevCache, normalizeModelKey, buildModelsDevSeedRows,
|
|
242
|
+
export { loadModelsDevCache, normalizeModelKey, buildModelsDevSeedRows, seedPricingFromModelsDev };
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS,
|
|
3
|
+
__require
|
|
4
|
+
} from "./cli-bc05qbss.js";
|
|
5
|
+
|
|
6
|
+
// node_modules/signal-exit/signals.js
|
|
7
|
+
var require_signals = __commonJS(function(exports, module) {
|
|
8
|
+
module.exports = [
|
|
9
|
+
"SIGABRT",
|
|
10
|
+
"SIGALRM",
|
|
11
|
+
"SIGHUP",
|
|
12
|
+
"SIGINT",
|
|
13
|
+
"SIGTERM"
|
|
14
|
+
];
|
|
15
|
+
if (process.platform !== "win32") {
|
|
16
|
+
module.exports.push("SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
|
|
17
|
+
}
|
|
18
|
+
if (process.platform === "linux") {
|
|
19
|
+
module.exports.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// node_modules/signal-exit/index.js
|
|
24
|
+
var require_signal_exit = __commonJS(function(exports, module) {
|
|
25
|
+
var process2 = global.process;
|
|
26
|
+
var processOk = function(process3) {
|
|
27
|
+
return process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
|
|
28
|
+
};
|
|
29
|
+
if (!processOk(process2)) {
|
|
30
|
+
module.exports = function() {
|
|
31
|
+
return function() {};
|
|
32
|
+
};
|
|
33
|
+
} else {
|
|
34
|
+
assert = __require("assert");
|
|
35
|
+
signals = require_signals();
|
|
36
|
+
isWin = /^win/i.test(process2.platform);
|
|
37
|
+
EE = __require("events");
|
|
38
|
+
if (typeof EE !== "function") {
|
|
39
|
+
EE = EE.EventEmitter;
|
|
40
|
+
}
|
|
41
|
+
if (process2.__signal_exit_emitter__) {
|
|
42
|
+
emitter = process2.__signal_exit_emitter__;
|
|
43
|
+
} else {
|
|
44
|
+
emitter = process2.__signal_exit_emitter__ = new EE;
|
|
45
|
+
emitter.count = 0;
|
|
46
|
+
emitter.emitted = {};
|
|
47
|
+
}
|
|
48
|
+
if (!emitter.infinite) {
|
|
49
|
+
emitter.setMaxListeners(Infinity);
|
|
50
|
+
emitter.infinite = true;
|
|
51
|
+
}
|
|
52
|
+
module.exports = function(cb, opts) {
|
|
53
|
+
if (!processOk(global.process)) {
|
|
54
|
+
return function() {};
|
|
55
|
+
}
|
|
56
|
+
assert.equal(typeof cb, "function", "a callback must be provided for exit handler");
|
|
57
|
+
if (loaded === false) {
|
|
58
|
+
load();
|
|
59
|
+
}
|
|
60
|
+
var ev = "exit";
|
|
61
|
+
if (opts && opts.alwaysLast) {
|
|
62
|
+
ev = "afterexit";
|
|
63
|
+
}
|
|
64
|
+
var remove = function() {
|
|
65
|
+
emitter.removeListener(ev, cb);
|
|
66
|
+
if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) {
|
|
67
|
+
unload();
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
emitter.on(ev, cb);
|
|
71
|
+
return remove;
|
|
72
|
+
};
|
|
73
|
+
unload = function unload2() {
|
|
74
|
+
if (!loaded || !processOk(global.process)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
loaded = false;
|
|
78
|
+
signals.forEach(function(sig) {
|
|
79
|
+
try {
|
|
80
|
+
process2.removeListener(sig, sigListeners[sig]);
|
|
81
|
+
} catch (er) {}
|
|
82
|
+
});
|
|
83
|
+
process2.emit = originalProcessEmit;
|
|
84
|
+
process2.reallyExit = originalProcessReallyExit;
|
|
85
|
+
emitter.count -= 1;
|
|
86
|
+
};
|
|
87
|
+
module.exports.unload = unload;
|
|
88
|
+
emit = function emit2(event, code, signal) {
|
|
89
|
+
if (emitter.emitted[event]) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
emitter.emitted[event] = true;
|
|
93
|
+
emitter.emit(event, code, signal);
|
|
94
|
+
};
|
|
95
|
+
sigListeners = {};
|
|
96
|
+
signals.forEach(function(sig) {
|
|
97
|
+
sigListeners[sig] = function listener() {
|
|
98
|
+
if (!processOk(global.process)) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
var listeners = process2.listeners(sig);
|
|
102
|
+
if (listeners.length === emitter.count) {
|
|
103
|
+
unload();
|
|
104
|
+
emit("exit", null, sig);
|
|
105
|
+
emit("afterexit", null, sig);
|
|
106
|
+
if (isWin && sig === "SIGHUP") {
|
|
107
|
+
sig = "SIGINT";
|
|
108
|
+
}
|
|
109
|
+
process2.kill(process2.pid, sig);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
module.exports.signals = function() {
|
|
114
|
+
return signals;
|
|
115
|
+
};
|
|
116
|
+
loaded = false;
|
|
117
|
+
load = function load2() {
|
|
118
|
+
if (loaded || !processOk(global.process)) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
loaded = true;
|
|
122
|
+
emitter.count += 1;
|
|
123
|
+
signals = signals.filter(function(sig) {
|
|
124
|
+
try {
|
|
125
|
+
process2.on(sig, sigListeners[sig]);
|
|
126
|
+
return true;
|
|
127
|
+
} catch (er) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
process2.emit = processEmit;
|
|
132
|
+
process2.reallyExit = processReallyExit;
|
|
133
|
+
};
|
|
134
|
+
module.exports.load = load;
|
|
135
|
+
originalProcessReallyExit = process2.reallyExit;
|
|
136
|
+
processReallyExit = function processReallyExit2(code) {
|
|
137
|
+
if (!processOk(global.process)) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
process2.exitCode = code || 0;
|
|
141
|
+
emit("exit", process2.exitCode, null);
|
|
142
|
+
emit("afterexit", process2.exitCode, null);
|
|
143
|
+
originalProcessReallyExit.call(process2, process2.exitCode);
|
|
144
|
+
};
|
|
145
|
+
originalProcessEmit = process2.emit;
|
|
146
|
+
processEmit = function processEmit2(ev, arg) {
|
|
147
|
+
if (ev === "exit" && processOk(global.process)) {
|
|
148
|
+
if (arg !== undefined) {
|
|
149
|
+
process2.exitCode = arg;
|
|
150
|
+
}
|
|
151
|
+
var ret = originalProcessEmit.apply(this, arguments);
|
|
152
|
+
emit("exit", process2.exitCode, null);
|
|
153
|
+
emit("afterexit", process2.exitCode, null);
|
|
154
|
+
return ret;
|
|
155
|
+
} else {
|
|
156
|
+
return originalProcessEmit.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
var assert;
|
|
161
|
+
var signals;
|
|
162
|
+
var isWin;
|
|
163
|
+
var EE;
|
|
164
|
+
var emitter;
|
|
165
|
+
var unload;
|
|
166
|
+
var emit;
|
|
167
|
+
var sigListeners;
|
|
168
|
+
var loaded;
|
|
169
|
+
var load;
|
|
170
|
+
var originalProcessReallyExit;
|
|
171
|
+
var processReallyExit;
|
|
172
|
+
var originalProcessEmit;
|
|
173
|
+
var processEmit;
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
export { require_signal_exit };
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
IDENTITY_FIELD_BUDGETS,
|
|
7
7
|
init_identity_field_budget,
|
|
8
8
|
init_templates
|
|
9
|
-
} from "./cli-
|
|
9
|
+
} from "./cli-ardpzhjm.js";
|
|
10
10
|
import {
|
|
11
11
|
init_resolver,
|
|
12
12
|
init_steering_enabled,
|
|
13
13
|
isSteeringEnabled,
|
|
14
14
|
resolveTemplateAsync
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-rgjprct3.js";
|
|
16
16
|
import {
|
|
17
17
|
MAX_PROFILE_FILE_LENGTH,
|
|
18
18
|
init_constants
|
|
@@ -415,33 +415,58 @@ async function renderProfileSyncRejectionBanner(event) {
|
|
|
415
415
|
});
|
|
416
416
|
return result.skipped ? null : result.text;
|
|
417
417
|
}
|
|
418
|
+
function profileSyncHeaders(config) {
|
|
419
|
+
return { Authorization: `Bearer ${config.apiKey}`, "X-Agent-ID": config.agentId };
|
|
420
|
+
}
|
|
421
|
+
async function fetchLatestProfileSyncEventsBatched(config, fetchImpl) {
|
|
422
|
+
const query = new URLSearchParams({
|
|
423
|
+
events: `${PROFILE_SYNC_REJECTED},${PROFILE_SYNC_RECONCILED}`,
|
|
424
|
+
dataFields: Object.keys(IDENTITY_FIELD_BUDGETS).join(","),
|
|
425
|
+
agentId: config.agentId,
|
|
426
|
+
latestPerDataField: "true"
|
|
427
|
+
});
|
|
428
|
+
const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
|
|
429
|
+
headers: profileSyncHeaders(config)
|
|
430
|
+
});
|
|
431
|
+
if (!response.ok)
|
|
432
|
+
return null;
|
|
433
|
+
const payload = await response.json();
|
|
434
|
+
if (payload.latestPerDataField !== true || !Array.isArray(payload.events))
|
|
435
|
+
return null;
|
|
436
|
+
const events = payload.events;
|
|
437
|
+
const latest = (event, field) => events.find((candidate) => candidate.event === event && candidate.data?.field === field) ?? null;
|
|
438
|
+
return Object.keys(IDENTITY_FIELD_BUDGETS).map((field) => ({
|
|
439
|
+
rejection: latest(PROFILE_SYNC_REJECTED, field),
|
|
440
|
+
reconciliation: latest(PROFILE_SYNC_RECONCILED, field)
|
|
441
|
+
}));
|
|
442
|
+
}
|
|
443
|
+
async function fetchLatestProfileSyncEventsPerField(config, fetchImpl) {
|
|
444
|
+
return await Promise.all(Object.keys(IDENTITY_FIELD_BUDGETS).map(async (field) => {
|
|
445
|
+
const fetchLatestEvent = async (event) => {
|
|
446
|
+
const query = new URLSearchParams({
|
|
447
|
+
event,
|
|
448
|
+
agentId: config.agentId,
|
|
449
|
+
dataField: field,
|
|
450
|
+
limit: "1"
|
|
451
|
+
});
|
|
452
|
+
const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
|
|
453
|
+
headers: profileSyncHeaders(config)
|
|
454
|
+
});
|
|
455
|
+
if (!response.ok)
|
|
456
|
+
return null;
|
|
457
|
+
const payload = await response.json();
|
|
458
|
+
return payload.events?.[0] ?? null;
|
|
459
|
+
};
|
|
460
|
+
const [rejection, reconciliation] = await Promise.all([
|
|
461
|
+
fetchLatestEvent(PROFILE_SYNC_REJECTED),
|
|
462
|
+
fetchLatestEvent(PROFILE_SYNC_RECONCILED)
|
|
463
|
+
]);
|
|
464
|
+
return { rejection, reconciliation };
|
|
465
|
+
}));
|
|
466
|
+
}
|
|
418
467
|
async function fetchProfileSyncRejectionBanner(config, fetchImpl = fetch, readFile = readFileIfExists) {
|
|
419
468
|
try {
|
|
420
|
-
const responses = await
|
|
421
|
-
const fetchLatestEvent = async (event) => {
|
|
422
|
-
const query = new URLSearchParams({
|
|
423
|
-
event,
|
|
424
|
-
agentId: config.agentId,
|
|
425
|
-
dataField: field,
|
|
426
|
-
limit: "1"
|
|
427
|
-
});
|
|
428
|
-
const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
|
|
429
|
-
headers: {
|
|
430
|
-
Authorization: `Bearer ${config.apiKey}`,
|
|
431
|
-
"X-Agent-ID": config.agentId
|
|
432
|
-
}
|
|
433
|
-
});
|
|
434
|
-
if (!response.ok)
|
|
435
|
-
return null;
|
|
436
|
-
const payload = await response.json();
|
|
437
|
-
return payload.events?.[0] ?? null;
|
|
438
|
-
};
|
|
439
|
-
const [rejection, reconciliation] = await Promise.all([
|
|
440
|
-
fetchLatestEvent("system.profile_sync_rejected"),
|
|
441
|
-
fetchLatestEvent("system.profile_sync_reconciled")
|
|
442
|
-
]);
|
|
443
|
-
return { rejection, reconciliation };
|
|
444
|
-
}));
|
|
469
|
+
const responses = await fetchLatestProfileSyncEventsBatched(config, fetchImpl) ?? await fetchLatestProfileSyncEventsPerField(config, fetchImpl);
|
|
445
470
|
const latestEvents = responses.flatMap(({ rejection, reconciliation }) => rejection ? [{ rejection, reconciliation }] : []);
|
|
446
471
|
if (latestEvents.length === 0)
|
|
447
472
|
return "";
|
|
@@ -743,7 +768,7 @@ async function syncProfileFilesToServer(opts) {
|
|
|
743
768
|
}
|
|
744
769
|
}
|
|
745
770
|
}
|
|
746
|
-
var SOUL_MD_PATH = "/workspace/SOUL.md", IDENTITY_MD_PATH = "/workspace/IDENTITY.md", TOOLS_MD_PATH = "/workspace/TOOLS.md", HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md", SETUP_SCRIPT_PATH = "/workspace/start-up.sh", IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json", PROFILE_FIELD_DETAILS, CLAUDE_MD_PATH, CLAUDE_MD_LINEAGE_PATH, CLAUDE_MD_LOCK_PATH, CLAUDE_MD_SYNC_TIMEOUT_MS = 1e4, RUNNER_LOCK_WAIT_MS = 15000, SHA256_HEX, WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md", IDENTITY_FILE_MIN_LENGTH = 500, SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===", SETUP_MARKER_END = "# === End agent-managed setup ===";
|
|
771
|
+
var SOUL_MD_PATH = "/workspace/SOUL.md", IDENTITY_MD_PATH = "/workspace/IDENTITY.md", TOOLS_MD_PATH = "/workspace/TOOLS.md", HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md", SETUP_SCRIPT_PATH = "/workspace/start-up.sh", IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json", PROFILE_FIELD_DETAILS, PROFILE_SYNC_REJECTED = "system.profile_sync_rejected", PROFILE_SYNC_RECONCILED = "system.profile_sync_reconciled", CLAUDE_MD_PATH, CLAUDE_MD_LINEAGE_PATH, CLAUDE_MD_LOCK_PATH, CLAUDE_MD_SYNC_TIMEOUT_MS = 1e4, RUNNER_LOCK_WAIT_MS = 15000, SHA256_HEX, WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md", IDENTITY_FILE_MIN_LENGTH = 500, SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===", SETUP_MARKER_END = "# === End agent-managed setup ===";
|
|
747
772
|
var init_profile_sync = __esm(() => {
|
|
748
773
|
init_resolver();
|
|
749
774
|
init_constants();
|