@humwick/server 0.0.0-stage → 0.130.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/CLA.md +66 -0
- package/CONTRIBUTING.md +144 -0
- package/LICENSE +167 -0
- package/README.md +511 -2
- package/SECURITY.md +67 -0
- package/THIRD_PARTY_NOTICES.md +144 -0
- package/bundled/prompts/README.md +10 -0
- package/bundled/prompts/context.advisory.compact.md +1 -0
- package/bundled/prompts/context.advisory.warn.md +1 -0
- package/bundled/prompts/continuation.envelope.md +18 -0
- package/bundled/prompts/manifest.json +838 -0
- package/bundled/prompts/memory.capture.boundary.post.md +1 -0
- package/bundled/prompts/memory.capture.boundary.pre.md +1 -0
- package/bundled/prompts/memory.charter.md +3 -0
- package/bundled/prompts/memory.native-off.md +0 -0
- package/bundled/prompts/notify.agent.exited.md +1 -0
- package/bundled/prompts/notify.agent.never-ready.md +1 -0
- package/bundled/prompts/notify.agent.ready.md +1 -0
- package/bundled/prompts/notify.automation.budget-warning.md +1 -0
- package/bundled/prompts/notify.land.failure.md +1 -0
- package/bundled/prompts/notify.land.steward-taken.coordinator.md +1 -0
- package/bundled/prompts/notify.land.steward-taken.md +1 -0
- package/bundled/prompts/notify.land.success.md +1 -0
- package/bundled/prompts/notify.routing.policy-changed.md +2 -0
- package/bundled/prompts/notify.spawn.failed.md +1 -0
- package/bundled/prompts/notify.spawn.queued.md +1 -0
- package/bundled/prompts/notify.spawn.recovered.md +1 -0
- package/bundled/prompts/notify.spawn.unconfirmed.md +1 -0
- package/bundled/prompts/profile.coordinator.charter.md +17 -0
- package/bundled/prompts/profile.debugger.system.md +12 -0
- package/bundled/prompts/profile.device-qa.system.md +10 -0
- package/bundled/prompts/profile.image-gen.append.0.md +2 -0
- package/bundled/prompts/profile.image-gen.system.md +4 -0
- package/bundled/prompts/profile.ops-assistant.brief.md +4 -0
- package/bundled/prompts/profile.probe.system.md +5 -0
- package/bundled/prompts/profile.qa.system.md +10 -0
- package/bundled/prompts/profile.sec-ops.system.md +14 -0
- package/bundled/prompts/profile.social-media.system.md +7 -0
- package/bundled/prompts/profile.software-design.system.md +26 -0
- package/bundled/prompts/profile.sub-coordinator.charter.md +2 -0
- package/bundled/prompts/profile.worker-gui.system.md +7 -0
- package/bundled/prompts/profile.worker.system.md +2 -0
- package/bundled/prompts/relay.agent-core.delivery.md +13 -0
- package/bundled/prompts/relay.agent-core.engineering.md +13 -0
- package/bundled/prompts/relay.agent-core.md +22 -0
- package/bundled/prompts/relay.context.claude.md +1 -0
- package/bundled/prompts/relay.context.claude.readonly.md +3 -0
- package/bundled/prompts/relay.context.codex.md +1 -0
- package/bundled/prompts/relay.context.opencode.md +1 -0
- package/bundled/prompts/relay.manual.claude.md +8 -0
- package/bundled/prompts/relay.search.fff.md +1 -0
- package/bundled/prompts/relay.temp-dir.md +1 -0
- package/bundled/prompts/relay.web.brave.md +1 -0
- package/bundled/prompts/relay.web.fetch.md +1 -0
- package/bundled/prompts/skill.device-lane.md +20 -0
- package/bundled/prompts/skill.security-code-review.md +10 -0
- package/bundled/prompts/skill.security-hardening.md +10 -0
- package/bundled/prompts/skill.security-host-audit.md +11 -0
- package/bundled/prompts/spawn.primer.md +6 -0
- package/bundled/prompts/spawn.reportup.child.md +3 -0
- package/bundled/prompts/spawn.reportup.coordinator.md +2 -0
- package/bundled/prompts/spawn.reportup.workflow-step.md +4 -0
- package/bundled/prompts/spawn.validation.delivery.md +1 -0
- package/bundled/prompts/spawn.validation.iterate.generic.md +1 -0
- package/bundled/prompts/spawn.validation.iterate.imperative.md +1 -0
- package/bundled/prompts/spawn.validation.landgates.header.md +1 -0
- package/bundled/prompts/steward.merge-stall.md +1 -0
- package/bundled/prompts/steward.prompt.md +20 -0
- package/bundled/prompts/steward.wake.md +1 -0
- package/bundled/prompts/task.claim.instruction.md +1 -0
- package/bundled/prompts/task.hydration.md +23 -0
- package/bundled/prompts/user.response.brief.md +1 -0
- package/bundled/prompts/user.response.normal.md +1 -0
- package/bundled/prompts/user.style.neutral.md +1 -0
- package/bundled/prompts/user.style.warm.md +1 -0
- package/bundled/prompts/workspace.deps.command.md +1 -0
- package/bundled/prompts/workspace.deps.none.md +1 -0
- package/bundled/prompts/workspace.deps.symlink.md +1 -0
- package/bundled/prompts/workspace.lifecycle.md +4 -0
- package/bundled/prompts/workspace.mcp.instructions.md +7 -0
- package/bundled/prompts/workspace.phase.abandoned.headline.md +1 -0
- package/bundled/prompts/workspace.phase.abandoned.hint.md +1 -0
- package/bundled/prompts/workspace.phase.active.headline.md +1 -0
- package/bundled/prompts/workspace.phase.active.hint.md +1 -0
- package/bundled/prompts/workspace.phase.conflict.headline.md +1 -0
- package/bundled/prompts/workspace.phase.conflict.hint.md +1 -0
- package/bundled/prompts/workspace.phase.merge-planned.headline.md +1 -0
- package/bundled/prompts/workspace.phase.merge-planned.hint.md +1 -0
- package/bundled/prompts/workspace.phase.merged.headline.md +1 -0
- package/bundled/prompts/workspace.phase.merged.hint.md +1 -0
- package/bundled/prompts/workspace.phase.ready.headline.md +1 -0
- package/bundled/prompts/workspace.phase.ready.hint.md +1 -0
- package/bundled/prompts/workspace.ready.contract.md +6 -0
- package/bundled/prompts/workspace.symlinks.md +1 -0
- package/bundled/roles/builder.md +18 -0
- package/bundled/roles/design-reviewer.md +13 -0
- package/bundled/roles/designer.md +11 -0
- package/bundled/roles/plan-auditor.md +29 -0
- package/bundled/roles/reviewer.md +36 -0
- package/bundled/roles/slice-qa.md +13 -0
- package/bundled/roles/verifier.md +13 -0
- package/bundled/skills/agent-browser/SKILL.md +72 -0
- package/bundled/skills/test-audit/SKILL.md +75 -0
- package/bundled/workflows/build-review.yaml +8 -0
- package/bundled/workflows/design-review.yaml +60 -0
- package/bundled/workflows/plan-conformance.yaml +5 -0
- package/bundled/workflows/slice-proof.yaml +85 -0
- package/bundled/workflows/verify-deployed.yaml +140 -0
- package/docs/guides/sub-coordinators.md +114 -0
- package/docs/guides/tools-administration.md +84 -0
- package/docs/guides/tools-agents.md +137 -0
- package/docs/guides/tools-coordination.md +228 -0
- package/docs/guides/tools-execution.md +48 -0
- package/docs/guides/tools-issues.md +69 -0
- package/docs/guides/tools-memory.md +150 -0
- package/docs/guides/tools-messages.md +192 -0
- package/docs/guides/tools-operations.md +133 -0
- package/docs/guides/tools-tasks.md +235 -0
- package/docs/guides/workflows.md +324 -0
- package/docs/license-faq.md +37 -0
- package/docs/openapi.json +18531 -0
- package/examples/integrations/github-issue.ts +48 -0
- package/examples/integrations/ops-alert.sh +27 -0
- package/examples/integrations/prometheus-alertmanager.ts +55 -0
- package/examples/integrations/support-ticket.sh +28 -0
- package/node_modules/@humwick/kernel/LICENSE +167 -0
- package/node_modules/@humwick/kernel/async-entity-persistence.ts +344 -0
- package/node_modules/@humwick/kernel/async-event-log.ts +107 -0
- package/node_modules/@humwick/kernel/automations.pilot.ts +147 -0
- package/node_modules/@humwick/kernel/config.ts +111 -0
- package/node_modules/@humwick/kernel/contract.ts +572 -0
- package/node_modules/@humwick/kernel/control-authz.ts +281 -0
- package/node_modules/@humwick/kernel/control.ts +645 -0
- package/node_modules/@humwick/kernel/effects.ts +493 -0
- package/node_modules/@humwick/kernel/event-log.ts +319 -0
- package/node_modules/@humwick/kernel/http-transport.ts +384 -0
- package/node_modules/@humwick/kernel/identity-grammar.ts +20 -0
- package/node_modules/@humwick/kernel/identity.ts +248 -0
- package/node_modules/@humwick/kernel/index.ts +28 -0
- package/node_modules/@humwick/kernel/kernel-persistence.ts +181 -0
- package/node_modules/@humwick/kernel/landing-incident.ts +306 -0
- package/node_modules/@humwick/kernel/landing.ts +953 -0
- package/node_modules/@humwick/kernel/manifest-validation.ts +460 -0
- package/node_modules/@humwick/kernel/mcp-transport.ts +109 -0
- package/node_modules/@humwick/kernel/message-authority-chaos-worker.ts +200 -0
- package/node_modules/@humwick/kernel/message-authority.ts +281 -0
- package/node_modules/@humwick/kernel/module-host.ts +722 -0
- package/node_modules/@humwick/kernel/openapi-init.ts +14 -0
- package/node_modules/@humwick/kernel/package.json +39 -0
- package/node_modules/@humwick/kernel/persistence-schema.ts +248 -0
- package/node_modules/@humwick/kernel/persistence.ts +510 -0
- package/node_modules/@humwick/kernel/registry.ts +60 -0
- package/node_modules/@humwick/kernel/sqlite-kernel-persistence.ts +499 -0
- package/node_modules/@humwick/kernel/sqlite-module-host.ts +87 -0
- package/node_modules/@humwick/kernel/timers-chaos-worker.ts +186 -0
- package/node_modules/@humwick/kernel/timers.pilot.ts +1411 -0
- package/node_modules/@humwick/kernel/workflow-activation.ts +25 -0
- package/node_modules/@humwick/kernel/workflow-backstop.ts +40 -0
- package/node_modules/@humwick/kernel/workflow-cancel-tree.ts +20 -0
- package/node_modules/@humwick/kernel/workflow-chaos-worker.ts +213 -0
- package/node_modules/@humwick/kernel/workflow-composition.ts +231 -0
- package/node_modules/@humwick/kernel/workflow-container.ts +72 -0
- package/node_modules/@humwick/kernel/workflow-control.test-fixture.ts +42 -0
- package/node_modules/@humwick/kernel/workflow-control.ts +178 -0
- package/node_modules/@humwick/kernel/workflow-definition.ts +507 -0
- package/node_modules/@humwick/kernel/workflow-dispatch.ts +60 -0
- package/node_modules/@humwick/kernel/workflow-foreach.ts +167 -0
- package/node_modules/@humwick/kernel/workflow-journal-codec.ts +339 -0
- package/node_modules/@humwick/kernel/workflow-journal.ts +922 -0
- package/node_modules/@humwick/kernel/workflow-lane.ts +48 -0
- package/node_modules/@humwick/kernel/workflow-lease-owner.ts +60 -0
- package/node_modules/@humwick/kernel/workflow-recovery.test-fixture.ts +19 -0
- package/node_modules/@humwick/kernel/workflow-runtime.ts +938 -0
- package/node_modules/@humwick/kernel/workflow-script.ts +11 -0
- package/node_modules/@humwick/kernel/workflow-state.ts +299 -0
- package/node_modules/@humwick/kernel/workflow-step-commit.ts +195 -0
- package/node_modules/@humwick/kernel/workflow-transitions.ts +317 -0
- package/node_modules/@humwick/kernel/workflow-values.ts +153 -0
- package/node_modules/@humwick/kernel/workflow.pilot.ts +376 -0
- package/node_modules/@humwick/offload/LICENSE +167 -0
- package/node_modules/@humwick/offload/README.md +57 -0
- package/node_modules/@humwick/offload/dist/async-runner.d.ts +18 -0
- package/node_modules/@humwick/offload/dist/async-runner.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/async-runner.js +158 -0
- package/node_modules/@humwick/offload/dist/async-runner.js.map +1 -0
- package/node_modules/@humwick/offload/dist/envelope.d.ts +25 -0
- package/node_modules/@humwick/offload/dist/envelope.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/envelope.js +80 -0
- package/node_modules/@humwick/offload/dist/envelope.js.map +1 -0
- package/node_modules/@humwick/offload/dist/fixtures/worker-task.d.ts +10 -0
- package/node_modules/@humwick/offload/dist/fixtures/worker-task.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/fixtures/worker-task.js +59 -0
- package/node_modules/@humwick/offload/dist/fixtures/worker-task.js.map +1 -0
- package/node_modules/@humwick/offload/dist/index.d.ts +5 -0
- package/node_modules/@humwick/offload/dist/index.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/index.js +5 -0
- package/node_modules/@humwick/offload/dist/index.js.map +1 -0
- package/node_modules/@humwick/offload/dist/subprocess-runner.d.ts +62 -0
- package/node_modules/@humwick/offload/dist/subprocess-runner.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/subprocess-runner.js +295 -0
- package/node_modules/@humwick/offload/dist/subprocess-runner.js.map +1 -0
- package/node_modules/@humwick/offload/dist/types.d.ts +111 -0
- package/node_modules/@humwick/offload/dist/types.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/types.js +176 -0
- package/node_modules/@humwick/offload/dist/types.js.map +1 -0
- package/node_modules/@humwick/offload/dist/worker-pool.d.ts +23 -0
- package/node_modules/@humwick/offload/dist/worker-pool.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/worker-pool.js +435 -0
- package/node_modules/@humwick/offload/dist/worker-pool.js.map +1 -0
- package/node_modules/@humwick/offload/dist/worker-runtime.d.ts +2 -0
- package/node_modules/@humwick/offload/dist/worker-runtime.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/worker-runtime.js +27 -0
- package/node_modules/@humwick/offload/dist/worker-runtime.js.map +1 -0
- package/node_modules/@humwick/offload/dist/worker.d.ts +5 -0
- package/node_modules/@humwick/offload/dist/worker.d.ts.map +1 -0
- package/node_modules/@humwick/offload/dist/worker.js +1 -0
- package/node_modules/@humwick/offload/dist/worker.js.map +1 -0
- package/node_modules/@humwick/offload/package.json +42 -0
- package/node_modules/@humwick/offload/src/async-runner.ts +170 -0
- package/node_modules/@humwick/offload/src/envelope.ts +92 -0
- package/node_modules/@humwick/offload/src/fixtures/worker-task.ts +49 -0
- package/node_modules/@humwick/offload/src/index.ts +4 -0
- package/node_modules/@humwick/offload/src/subprocess-runner.ts +334 -0
- package/node_modules/@humwick/offload/src/types.ts +235 -0
- package/node_modules/@humwick/offload/src/worker-pool.ts +463 -0
- package/node_modules/@humwick/offload/src/worker-runtime.ts +32 -0
- package/node_modules/@humwick/offload/src/worker.ts +5 -0
- package/package.json +229 -4
- package/public/assets/MessageBubble-BWpoBjl4.js +4 -0
- package/public/assets/PlanGraphPanel-C0auck3n.js +2 -0
- package/public/assets/TraceView-DBnOx7AQ.js +5 -0
- package/public/assets/VaultDecisionCard-0kp2oNBC.js +2 -0
- package/public/assets/activity-TMzFOdh2.js +2 -0
- package/public/assets/activity-yLztXEBt.js +2 -0
- package/public/assets/agent-lineage-BbJDR1dW.js +2 -0
- package/public/assets/agent-liveness-DyqxfB-t.js +2 -0
- package/public/assets/agent-name-CTZBrSD9.js +2 -0
- package/public/assets/agent-profiles-BpI_jTxq.js +2 -0
- package/public/assets/agent-project-badge-9TqzUUYE.js +2 -0
- package/public/assets/agent-tools-D4n40pn8.js +2 -0
- package/public/assets/agent-type-icon-D6FUarOf.js +2 -0
- package/public/assets/agents-BYDslkJc.js +2 -0
- package/public/assets/analytics-B-XSbEMC.js +910 -0
- package/public/assets/andromeeda-vGVdxbeo.js +2 -0
- package/public/assets/angular-html-BVBpGdXr.js +2 -0
- package/public/assets/angular-ts-BfdufMKP.js +2 -0
- package/public/assets/api-CIIVBtAV.js +10 -0
- package/public/assets/archive-CIuPSvmx.js +2 -0
- package/public/assets/arrow-right-vFsRqG8V.js +2 -0
- package/public/assets/arrow-up-a-z-CKC2RCjD.js +2 -0
- package/public/assets/artifact-viewer-DdWIfV6M.js +2 -0
- package/public/assets/artifacts-DPN1q4pA.js +2 -0
- package/public/assets/artifacts-oBOqks-2.js +2 -0
- package/public/assets/astro-JKRPP03v.js +2 -0
- package/public/assets/aurora-x-CDeNXAV0.js +2 -0
- package/public/assets/automation-4KcRFXEu.js +2 -0
- package/public/assets/ayu-dark-DluEY0Gj.js +2 -0
- package/public/assets/ayu-light-C3h-C4tm.js +2 -0
- package/public/assets/ayu-mirage-Bqwy1Gya.js +2 -0
- package/public/assets/backlog-Cw9xPTCF.js +2 -0
- package/public/assets/badge-DqJRtj_p.js +2 -0
- package/public/assets/bell-_Yzbxxrt.js +2 -0
- package/public/assets/blade-DA8yMPsw.js +2 -0
- package/public/assets/bot-B0NpDNhr.js +2 -0
- package/public/assets/boxes-Cv7Wq3h4.js +2 -0
- package/public/assets/braces-BOks9SsY.js +2 -0
- package/public/assets/brain-CagXMEKE.js +2 -0
- package/public/assets/brain-circuit-CpQeSmp3.js +2 -0
- package/public/assets/bundle-web-ifbJd0t-.js +14 -0
- package/public/assets/busy-health-CTu32MZt.js +2 -0
- package/public/assets/button-Do6Z3vvn.js +2 -0
- package/public/assets/c-Wt1voDr2.js +2 -0
- package/public/assets/calendar-QJjoZ1JU.js +2 -0
- package/public/assets/calendar-clock-CDG_KBhx.js +2 -0
- package/public/assets/card-C4QJ4hCW.js +2 -0
- package/public/assets/catppuccin-frappe-3VR1Za6u.js +2 -0
- package/public/assets/catppuccin-latte-DwIHMF0Q.js +2 -0
- package/public/assets/catppuccin-macchiato-DYnBP6_5.js +2 -0
- package/public/assets/catppuccin-mocha-DYhrFGRu.js +2 -0
- package/public/assets/channels-BiXzg1G9.js +2 -0
- package/public/assets/chart-column-S02ZGfTR.js +2 -0
- package/public/assets/chat-Ctk2qwvA.js +6 -0
- package/public/assets/check-B3M9Ug1P.js +2 -0
- package/public/assets/chevron-down-BoG3JCZn.js +2 -0
- package/public/assets/chevron-right-iljytE0x.js +2 -0
- package/public/assets/chevron-up-Bv3yC5ma.js +2 -0
- package/public/assets/circle-UESLMi2-.js +2 -0
- package/public/assets/circle-alert-CryagaZd.js +2 -0
- package/public/assets/circle-arrow-up-B432r0Kk.js +2 -0
- package/public/assets/circle-check-CkUkN96J.js +2 -0
- package/public/assets/circle-x-CZ0erS7Q.js +2 -0
- package/public/assets/clipboard-list-W2YeUsxT.js +2 -0
- package/public/assets/clock-3-BH47318N.js +2 -0
- package/public/assets/clock-BWPPBh1_.js +2 -0
- package/public/assets/code-preview-Bm1wWqAp.js +3 -0
- package/public/assets/coffee-CThvmt4R.js +2 -0
- package/public/assets/connectors-C36ax4Vw.js +2 -0
- package/public/assets/copy-DFxhHRtV.js +2 -0
- package/public/assets/copy-button-CjOj4HEf.js +2 -0
- package/public/assets/cosmos-Dn8XrlnS.css +1 -0
- package/public/assets/cosmos-Jj9LK2Wf.js +3993 -0
- package/public/assets/cpp-C5WNSHb9.js +2 -0
- package/public/assets/cpu-Dndy84IU.js +2 -0
- package/public/assets/crate-agent-H6S7-B9T.js +2 -0
- package/public/assets/css-DJp_X0uY.js +2 -0
- package/public/assets/csv-Dx-8-gkx.js +2 -0
- package/public/assets/dark-plus-Cs2F2srj.js +2 -0
- package/public/assets/dependency-graph-Cd1E23wa.js +2 -0
- package/public/assets/deploys-Bwfq146q.js +2 -0
- package/public/assets/dialog-uuJ9_geR.js +6 -0
- package/public/assets/display-CfO7rTuF.js +3 -0
- package/public/assets/dist-B2h2GeWt.js +2 -0
- package/public/assets/dist-BeVYU67E.js +2 -0
- package/public/assets/dist-Bmm-RKub.js +2 -0
- package/public/assets/dist-C1xmD7qJ.js +2 -0
- package/public/assets/dist-C2J943E6.js +2 -0
- package/public/assets/dist-C6lpJDoA.js +2 -0
- package/public/assets/dist-CoWL6B0c.js +2 -0
- package/public/assets/dist-D93SmTNC.js +2 -0
- package/public/assets/dist-Da7HrHNA.js +2 -0
- package/public/assets/dist-DeW2Y1R5.js +2 -0
- package/public/assets/dist-DwBdqQ6H.js +2 -0
- package/public/assets/dist-Dz182zaW.js +2 -0
- package/public/assets/dist-H3DLHJ0C.js +2 -0
- package/public/assets/dist-RrY9C4SI.js +2 -0
- package/public/assets/download-KgtpDbt5.js +2 -0
- package/public/assets/dracula-BHWKrbxM.js +2 -0
- package/public/assets/dracula-soft-5eyTD99u.js +2 -0
- package/public/assets/dropdown-menu-BXiNephE.js +2 -0
- package/public/assets/es2015-DMmZ8vbD.js +42 -0
- package/public/assets/esm-ZSuD7QuY.js +2 -0
- package/public/assets/everforest-dark-sB-x3p7T.js +2 -0
- package/public/assets/everforest-light-Df2xbC6M.js +2 -0
- package/public/assets/external-link-BRfu-fHG.js +2 -0
- package/public/assets/eye-BAP6fHrX.js +2 -0
- package/public/assets/file-code-corner-CXhIR1vB.js +2 -0
- package/public/assets/file-pen-Crunre5f.js +2 -0
- package/public/assets/file-text-CKuoMR2U.js +2 -0
- package/public/assets/files-DhhZI2Ih.js +3 -0
- package/public/assets/flag-CnEG9PH-.js +2 -0
- package/public/assets/flame-CxBuz46L.js +2 -0
- package/public/assets/fleet-B_rFEbnL.js +2 -0
- package/public/assets/fleet-metrics-BkHP-P3R.js +2 -0
- package/public/assets/folder-git-2-CJOmTT06.js +2 -0
- package/public/assets/folder-open-CBUCMSlu.js +2 -0
- package/public/assets/folder-tree-BG3Y9nqH.js +2 -0
- package/public/assets/formatted-body-Cm1RrzmN.js +3 -0
- package/public/assets/formatted-body-impl-DQiOuOD1.js +3 -0
- package/public/assets/gauge-BIODY-BQ.js +2 -0
- package/public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
- package/public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
- package/public/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
- package/public/assets/git-branch-yxhV0m8E.js +2 -0
- package/public/assets/git-commit-horizontal-DS1pJ_SS.js +2 -0
- package/public/assets/git-merge-C7eIG425.js +2 -0
- package/public/assets/github-dark-C-LZuMrd.js +2 -0
- package/public/assets/github-dark-default-DXG-b-1a.js +2 -0
- package/public/assets/github-dark-dimmed-Bx1FflLF.js +2 -0
- package/public/assets/github-dark-high-contrast-B_tTalzw.js +2 -0
- package/public/assets/github-light-EUqPIrTm.js +2 -0
- package/public/assets/github-light-default-BXViO-2h.js +2 -0
- package/public/assets/github-light-high-contrast-B68TUdTA.js +2 -0
- package/public/assets/globe-Cl5fXtqs.js +2 -0
- package/public/assets/glsl-Dv5r7kPw.js +2 -0
- package/public/assets/graphql-CcFwQwm0.js +2 -0
- package/public/assets/gruvbox-dark-hard-C820rvS2.js +2 -0
- package/public/assets/gruvbox-dark-medium-BPjhmG05.js +2 -0
- package/public/assets/gruvbox-dark-soft-MrdJrrXF.js +2 -0
- package/public/assets/gruvbox-light-hard-BC_s9l72.js +2 -0
- package/public/assets/gruvbox-light-medium-BAWPOn9u.js +2 -0
- package/public/assets/gruvbox-light-soft-BSMLrYjP.js +2 -0
- package/public/assets/haml-Bg4I2hiD.js +2 -0
- package/public/assets/handlebars-DnwbnL5R.js +2 -0
- package/public/assets/hash-CbtKih3g.js +2 -0
- package/public/assets/horizon-CE9ld1lL.js +2 -0
- package/public/assets/horizon-bright-DSNQnXHK.js +2 -0
- package/public/assets/host-mTgRw7xh.js +2 -0
- package/public/assets/host-providers-dialog-CHqwXTov.js +2 -0
- package/public/assets/hourglass-txu4ax6n.js +2 -0
- package/public/assets/houston-CsvMBhTu.js +2 -0
- package/public/assets/html-C8UlPnhE.js +2 -0
- package/public/assets/html-derivative-CY6NRz-J.js +2 -0
- package/public/assets/http-CoW620Fi.js +2 -0
- package/public/assets/humwick-lockup-on-dark-Ds44Y7BK.svg +19 -0
- package/public/assets/humwick-lockup-on-light-ClALZAHt.svg +19 -0
- package/public/assets/hurl-CSSETujw.js +2 -0
- package/public/assets/imba-DsUTQ-LC.js +2 -0
- package/public/assets/inbox-Dfwk3Gt8.js +2 -0
- package/public/assets/index-B7ZerHLY.css +2 -0
- package/public/assets/index-BU3uWo2t.js +15 -0
- package/public/assets/input-CsTB6jIx.js +2 -0
- package/public/assets/insights-fH1EL-qZ.js +2 -0
- package/public/assets/integrations-C5Oix6ng.js +2 -0
- package/public/assets/issue-ref-chip-ODyondIa.js +3 -0
- package/public/assets/java-CGc3VwQr.js +2 -0
- package/public/assets/javascript-CUt1pgmJ.js +2 -0
- package/public/assets/jinja-CD-Z-FLd.js +2 -0
- package/public/assets/jison-imPNup1l.js +2 -0
- package/public/assets/json-qhed-kSA.js +2 -0
- package/public/assets/json5-BR5RXkoi.js +2 -0
- package/public/assets/jsonc-CYpm1nAK.js +2 -0
- package/public/assets/jsonl-CmCQp5Yx.js +2 -0
- package/public/assets/jsx-CY6oMTks.js +2 -0
- package/public/assets/julia-CjffhBEM.js +2 -0
- package/public/assets/kanagawa-dragon-CXtmUGW6.js +2 -0
- package/public/assets/kanagawa-lotus-BN08jTvb.js +2 -0
- package/public/assets/kanagawa-wave-CTweb8Dz.js +2 -0
- package/public/assets/kernel-Bqr0CZGv.js +2 -0
- package/public/assets/key-round-CcSxl5qr.js +2 -0
- package/public/assets/keyboard-DcmEulph.js +2 -0
- package/public/assets/label-BPBzm9FJ.js +2 -0
- package/public/assets/laserwave-C_8bwKvT.js +2 -0
- package/public/assets/layers-DEfClY-v.js +2 -0
- package/public/assets/legacy-storage-carry-C-tBSxRA.js +2 -0
- package/public/assets/less-DVTAwKKz.js +2 -0
- package/public/assets/lib-D7DTGM1F.js +2 -0
- package/public/assets/lib-G-25QXXf.js +30 -0
- package/public/assets/light-plus-DVQuIRkW.js +2 -0
- package/public/assets/lightbulb-RDhZ4p-D.js +2 -0
- package/public/assets/link-2-off-DfRF9Hwb.js +2 -0
- package/public/assets/link-6RR7Hy3-.js +2 -0
- package/public/assets/list-checks-CwnS3hly.js +2 -0
- package/public/assets/list-ordered-D8nCM7rT.js +2 -0
- package/public/assets/list-todo-9qT0fgxZ.js +2 -0
- package/public/assets/loader-circle-BfPd4kOD.js +2 -0
- package/public/assets/lock-BW8MPKw_.js +2 -0
- package/public/assets/log-viewer-Cvfy6PW7.js +4 -0
- package/public/assets/mail-DyaDmwfY.js +2 -0
- package/public/assets/maintenance-D8CDH5wZ.js +2 -0
- package/public/assets/managed-agents-egllbpij.js +4 -0
- package/public/assets/markdown-BYOwaDjH.js +2 -0
- package/public/assets/markdown-preview-CYSFgVgK.js +3 -0
- package/public/assets/markdown-preview-impl-BteVIjX4.js +2 -0
- package/public/assets/marko-DvhNOisQ.js +2 -0
- package/public/assets/material-theme-Bm3Qr25_.js +2 -0
- package/public/assets/material-theme-darker-2IIEA8gg.js +2 -0
- package/public/assets/material-theme-lighter-uhdI0v04.js +2 -0
- package/public/assets/material-theme-ocean-CHQ94UKr.js +2 -0
- package/public/assets/material-theme-palenight-B5W6OYN7.js +2 -0
- package/public/assets/mdc-CazklSAj.js +2 -0
- package/public/assets/mdx-DQZ5AkYe.js +2 -0
- package/public/assets/memory-C8WmXsyr.js +2 -0
- package/public/assets/message-circle-wjztgHBe.js +2 -0
- package/public/assets/message-square-C-1G8dMM.js +2 -0
- package/public/assets/message-square-reply-B9Z4cbQx.js +2 -0
- package/public/assets/messages-BzQdqlO6.js +2 -0
- package/public/assets/messages-square-DVM1ZtcI.js +2 -0
- package/public/assets/min-dark-BSWPekZh.js +2 -0
- package/public/assets/min-light-DDpmG2fV.js +2 -0
- package/public/assets/minimize-2-BkK6XoMP.js +2 -0
- package/public/assets/monokai-CdkpiU2Y.js +2 -0
- package/public/assets/night-owl-DhmEMT88.js +2 -0
- package/public/assets/night-owl-light-eJ-hLW7d.js +2 -0
- package/public/assets/nord-Cb4Vim4T.js +2 -0
- package/public/assets/octagon-x-B5lnUY-8.js +2 -0
- package/public/assets/one-dark-pro-CLwyXe_n.js +2 -0
- package/public/assets/one-light-D7Lr4KcI.js +2 -0
- package/public/assets/orchestrators-B1HxzkNw.js +2 -0
- package/public/assets/overview-DCUnI4Z7.js +2 -0
- package/public/assets/package-open-ckPgcjpv.js +2 -0
- package/public/assets/package-plus-C1AKMjsl.js +2 -0
- package/public/assets/pairs-ftCd2XcD.js +2 -0
- package/public/assets/paperclip-CNpKZKum.js +2 -0
- package/public/assets/pause-DttnHD4c.js +2 -0
- package/public/assets/pencil-B1Hf2V_J.js +2 -0
- package/public/assets/php-CBqsN0ai.js +2 -0
- package/public/assets/pin-DcsKeXxr.js +2 -0
- package/public/assets/plastic-DQwYfKfQ.js +2 -0
- package/public/assets/play-BbT8m7A0.js +2 -0
- package/public/assets/plug-vIyO9_P8.js +2 -0
- package/public/assets/plug-zap-V0wMDJ-G.js +2 -0
- package/public/assets/plus-D5Ek4e2S.js +2 -0
- package/public/assets/poimandres-DRFjx7u4.js +2 -0
- package/public/assets/popover-8w1TWKMG.js +2 -0
- package/public/assets/postcss-BXeXVLqQ.js +2 -0
- package/public/assets/power-6tZOhYPg.js +2 -0
- package/public/assets/preload-helper-HclGiUj8.js +1 -0
- package/public/assets/profile-icon-B2zH8DMH.js +2 -0
- package/public/assets/projects-B_lmcqfO.js +2 -0
- package/public/assets/prompt-settings-Bftq9czX.js +2 -0
- package/public/assets/provider-brand-icon-_67JR7Zh.js +2 -0
- package/public/assets/provider-display-DbLWpP3j.js +2 -0
- package/public/assets/pug-C5hz5LQ7.js +2 -0
- package/public/assets/python-gzcpVVnB.js +2 -0
- package/public/assets/r-Dzep-lPg.js +2 -0
- package/public/assets/radio-Bn0_qc0G.js +2 -0
- package/public/assets/react-dom-DSFxiC7T.js +2 -0
- package/public/assets/red-CJ3rzSJv.js +2 -0
- package/public/assets/refresh-cw-CfpvQcUn.js +2 -0
- package/public/assets/regexp-Omp9DhTb.js +2 -0
- package/public/assets/registry-DWCU5c8q.js +4 -0
- package/public/assets/repeat-hl4p_Klo.js +2 -0
- package/public/assets/rocket-BmO1qSu-.js +2 -0
- package/public/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/public/assets/rose-pine-BthvhNj6.js +2 -0
- package/public/assets/rose-pine-dawn-Dg85fqjY.js +2 -0
- package/public/assets/rose-pine-moon-hon4tzzS.js +2 -0
- package/public/assets/rotate-ccw-CtD77qkX.js +2 -0
- package/public/assets/rotate-cw-FPtkDewA.js +2 -0
- package/public/assets/run-card-CO_bguQf.js +2 -0
- package/public/assets/sass-DXrisJhu.js +2 -0
- package/public/assets/save-B_PGqSm4.js +2 -0
- package/public/assets/scroll-area-CIN4KQse.js +2 -0
- package/public/assets/scss-DdSxiZKl.js +2 -0
- package/public/assets/search-DjzbnTbf.js +2 -0
- package/public/assets/secrets-C7GIUATz.js +2 -0
- package/public/assets/security-BUFau5-N.js +3 -0
- package/public/assets/select-DTQMP4Dk.js +2 -0
- package/public/assets/separator-t1cLZErD.js +2 -0
- package/public/assets/server-CZIRjFyY.js +2 -0
- package/public/assets/service-access-settings-C3aujqTG.js +2 -0
- package/public/assets/settings-C6sZ9eBa.js +6 -0
- package/public/assets/shellscript-CLZ0U2zV.js +2 -0
- package/public/assets/shield-CtXNUA0i.js +2 -0
- package/public/assets/shield-alert-B9jCWcKW.js +2 -0
- package/public/assets/shipping-Bu8p1gEw.js +2 -0
- package/public/assets/shipping-stats-BiMTsA4A.js +2 -0
- package/public/assets/slack-dark-DnToyrRv.js +2 -0
- package/public/assets/slack-ochin-B2OO5cIa.js +2 -0
- package/public/assets/smile-plus-q6EQBXHZ.js +2 -0
- package/public/assets/snazzy-light-4G7pJPwS.js +2 -0
- package/public/assets/solarized-dark-DV17i1UV.js +2 -0
- package/public/assets/solarized-light-DSh2HLQt.js +2 -0
- package/public/assets/sparkles-CzwR10ZU.js +2 -0
- package/public/assets/sql-DNssxck8.js +2 -0
- package/public/assets/square-Bqly37YM.js +2 -0
- package/public/assets/stats-V9Z-GxUd.js +2 -0
- package/public/assets/status-dot-CVv0iGHL.js +2 -0
- package/public/assets/stethoscope-SCBrnQQ8.js +2 -0
- package/public/assets/store-BvtFdlGX.js +9 -0
- package/public/assets/stylus-B6D30XZt.js +2 -0
- package/public/assets/svelte-DOdLCIlh.js +2 -0
- package/public/assets/switch-DuCA7mrB.js +2 -0
- package/public/assets/synthwave-84-nFMaYfgc.js +2 -0
- package/public/assets/tabs-jZgNvNHr.js +2 -0
- package/public/assets/task-chip-CYj0mpoL.js +2 -0
- package/public/assets/tasks-BIyeAaPC.js +2 -0
- package/public/assets/tasks-CXU75HRF.js +11 -0
- package/public/assets/teams-BPf976zb.js +2 -0
- package/public/assets/terminal-Bl2u7KxT.js +2 -0
- package/public/assets/terminal-viewer-DE9BOe-8.js +3 -0
- package/public/assets/terminal-viewer-impl-BrP-ENHg.css +1 -0
- package/public/assets/terminal-viewer-impl-D04pjmGh.js +143 -0
- package/public/assets/textarea-hs6Mpyfl.js +2 -0
- package/public/assets/themes-G5j9m1Ji.js +2 -0
- package/public/assets/tokyo-night-oM2G3aXe.js +2 -0
- package/public/assets/trash-2-FbcSq927.js +2 -0
- package/public/assets/triangle-alert-BBNhfgMi.js +2 -0
- package/public/assets/ts-tags-Ca73dJJY.js +2 -0
- package/public/assets/tsx-5Eka4NBX.js +2 -0
- package/public/assets/typescript-DOu2WMV5.js +2 -0
- package/public/assets/use-agent-terminal-B1yR456R.js +2 -0
- package/public/assets/use-decisions-D-S4tpDf.js +2 -0
- package/public/assets/use-project-list-B-T2Bnnn.js +2 -0
- package/public/assets/use-selectors-CnrAk2YP.js +6 -0
- package/public/assets/user-avatar-nBFIcR4M.js +2 -0
- package/public/assets/user-cog-CKcouW1J.js +2 -0
- package/public/assets/user-plus-D9749q73.js +2 -0
- package/public/assets/users-C7B3u9jv.js +2 -0
- package/public/assets/versioned-prompt-editor-Diu8BIaM.js +8 -0
- package/public/assets/vesper-DdrHHSXu.js +2 -0
- package/public/assets/vitesse-black-fwtXNY1n.js +2 -0
- package/public/assets/vitesse-dark-BZCL-v6S.js +2 -0
- package/public/assets/vitesse-light-VbXTXTou.js +2 -0
- package/public/assets/volume-2-XrcRKD9Z.js +2 -0
- package/public/assets/vue-Bfx0ffIq.js +2 -0
- package/public/assets/vue-html-BeluIYX0.js +2 -0
- package/public/assets/vue-vine-DGUAbOCX.js +2 -0
- package/public/assets/warehouse-BanzOanY.js +2 -0
- package/public/assets/wasm-BnjxR4X6.js +2 -0
- package/public/assets/wasm-ByWQv1Qj.js +2 -0
- package/public/assets/waypoints-CIzINtLT.js +2 -0
- package/public/assets/wgsl-BsKzXJz4.js +2 -0
- package/public/assets/wit-DdvCle-K.js +2 -0
- package/public/assets/work-queue-TCjJxeT-.js +2 -0
- package/public/assets/workflow-marker-Cf3Hf2fN.js +2 -0
- package/public/assets/workflows-CXQX20Qj.js +6 -0
- package/public/assets/workspaces-qSYzKYMA.js +3 -0
- package/public/assets/wrench-C7-4CgnY.js +2 -0
- package/public/assets/x-Bge17hWJ.js +2 -0
- package/public/assets/xml-DIqSwXR3.js +2 -0
- package/public/assets/yaml-rwi0_p6S.js +2 -0
- package/public/assets/zap-DGuDTw4w.js +2 -0
- package/public/assets/zoom-in-Bs8Qv8VL.js +2 -0
- package/public/assets/zoomable-image-B3Og53nj.js +2 -0
- package/public/cosmos/audio/README.md +50 -0
- package/public/cosmos/audio/alert.mp3 +0 -0
- package/public/cosmos/audio/ambient-bed.mp3 +0 -0
- package/public/cosmos/audio/comet.mp3 +0 -0
- package/public/cosmos/audio/cross-galaxy.mp3 +0 -0
- package/public/cosmos/audio/deploy.mp3 +0 -0
- package/public/cosmos/audio/galaxy-dissipate.mp3 +0 -0
- package/public/cosmos/audio/galaxy-form.mp3 +0 -0
- package/public/cosmos/audio/land.mp3 +0 -0
- package/public/cosmos/audio/reap.mp3 +0 -0
- package/public/cosmos/audio/spawn.mp3 +0 -0
- package/public/cosmos.html +34 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +10 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/humwick-192.png +0 -0
- package/public/icons/humwick-512.png +0 -0
- package/public/icons/humwick.svg +19 -0
- package/public/index.html +188 -0
- package/public/manifest.webmanifest +45 -0
- package/public/sw.js +160 -0
- package/recipes/code-review.yaml +26 -0
- package/recipes/debug.yaml +20 -0
- package/recipes/feature.yaml +26 -0
- package/recipes/refactor.yaml +20 -0
- package/recipes/test.yaml +20 -0
- package/runner/LICENSE +167 -0
- package/runner/agent-bin/agent-relay-browser +10 -0
- package/runner/agent-bin/humwick +10 -0
- package/runner/hooks/fff-search-redirect/fff-search-redirect.cjs +161 -0
- package/runner/hooks/fff-search-redirect/hooks.json +13 -0
- package/runner/hooks/rg-r-guard/hooks.json +18 -0
- package/runner/hooks/rg-r-guard/rg-r-guard.cjs +144 -0
- package/runner/hooks/web-tools-redirect/hooks.json +13 -0
- package/runner/hooks/web-tools-redirect/web-tools-redirect.cjs +84 -0
- package/runner/plugins/browser/skills/playwright-cli/SKILL.md +53 -0
- package/runner/plugins/claude/.claude-plugin/plugin.json +8 -0
- package/runner/plugins/claude/claude-statusline-probe.cjs +144 -0
- package/runner/plugins/claude/hooks/gate-run-guard.provisioned.mjs +914 -0
- package/runner/plugins/claude/hooks/gate-run-guard.sh +9 -0
- package/runner/plugins/claude/hooks/gate-run-guard.ts +237 -0
- package/runner/plugins/claude/hooks/hooks.json +158 -0
- package/runner/plugins/claude/hooks/kill-guard.provisioned.mjs +7027 -0
- package/runner/plugins/claude/hooks/kill-guard.sh +341 -0
- package/runner/plugins/claude/hooks/kill-guard.ts +337 -0
- package/runner/plugins/claude/hooks/permission-request.sh +22 -0
- package/runner/plugins/claude/hooks/post-compact.sh +10 -0
- package/runner/plugins/claude/hooks/post-tool-use.sh +8 -0
- package/runner/plugins/claude/hooks/pre-compact.sh +12 -0
- package/runner/plugins/claude/hooks/read-only-bash-guard.sh +587 -0
- package/runner/plugins/claude/hooks/relay-status.sh +373 -0
- package/runner/plugins/claude/hooks/session-end.sh +26 -0
- package/runner/plugins/claude/hooks/session-start.sh +31 -0
- package/runner/plugins/claude/hooks/shell-trust.ts +28 -0
- package/runner/plugins/claude/hooks/stop-failure.sh +47 -0
- package/runner/plugins/claude/hooks/stop.sh +48 -0
- package/runner/plugins/claude/hooks/subagent-guard.cjs +26 -0
- package/runner/plugins/claude/hooks/subagent-skill-policy.cjs +160 -0
- package/runner/plugins/claude/hooks/subagent-start.sh +13 -0
- package/runner/plugins/claude/hooks/subagent-stop.sh +19 -0
- package/runner/plugins/claude/hooks/user-prompt-submit.sh +18 -0
- package/runner/plugins/claude/hooks/wait-loop-guard.ts +120 -0
- package/runner/plugins/claude/monitors/monitors.json +7 -0
- package/runner/plugins/claude/monitors/relay-monitor.provisioned.mjs +786 -0
- package/runner/plugins/claude/monitors/relay-monitor.ts +58 -0
- package/runner/plugins/claude/skills/disconnect/SKILL.md +16 -0
- package/runner/plugins/claude/skills/label/SKILL.md +23 -0
- package/runner/plugins/claude/skills/message/SKILL.md +40 -0
- package/runner/plugins/claude/skills/pair/SKILL.md +30 -0
- package/runner/plugins/claude/skills/react/SKILL.md +18 -0
- package/runner/plugins/claude/skills/read-message/SKILL.md +24 -0
- package/runner/plugins/claude/skills/reply/SKILL.md +44 -0
- package/runner/plugins/claude/skills/send-claimable/SKILL.md +39 -0
- package/runner/plugins/claude/skills/slice-first/SKILL.md +32 -0
- package/runner/plugins/claude/skills/slice-first/references/plan-recipe.md +46 -0
- package/runner/plugins/claude/skills/status/SKILL.md +16 -0
- package/runner/plugins/claude/skills/tags/SKILL.md +25 -0
- package/runner/plugins/claude/skills/task/SKILL.md +28 -0
- package/runner/plugins/claude-output-style/.claude-plugin/plugin.json +5 -0
- package/runner/plugins/claude-output-style/output-styles/agent-relay.md +5 -0
- package/runner/plugins/codex/skills/disconnect/SKILL.md +15 -0
- package/runner/plugins/codex/skills/guide/SKILL.md +15 -0
- package/runner/plugins/codex/skills/label/SKILL.md +22 -0
- package/runner/plugins/codex/skills/message/SKILL.md +40 -0
- package/runner/plugins/codex/skills/pair/SKILL.md +29 -0
- package/runner/plugins/codex/skills/react/SKILL.md +17 -0
- package/runner/plugins/codex/skills/read-message/SKILL.md +23 -0
- package/runner/plugins/codex/skills/reply/SKILL.md +44 -0
- package/runner/plugins/codex/skills/send-claimable/SKILL.md +39 -0
- package/runner/plugins/codex/skills/slice-first/SKILL.md +32 -0
- package/runner/plugins/codex/skills/slice-first/references/plan-recipe.md +46 -0
- package/runner/plugins/codex/skills/status/SKILL.md +15 -0
- package/runner/plugins/codex/skills/tags/SKILL.md +24 -0
- package/runner/plugins/codex/skills/task/SKILL.md +28 -0
- package/runner/src/adapter.ts +1061 -0
- package/runner/src/adapters/__fixtures__/codex-app-server.ts +47 -0
- package/runner/src/adapters/claude-api.ts +243 -0
- package/runner/src/adapters/claude-context-command.ts +16 -0
- package/runner/src/adapters/claude-credentials.ts +22 -0
- package/runner/src/adapters/claude-delivery-lanes.ts +28 -0
- package/runner/src/adapters/claude-delivery.ts +166 -0
- package/runner/src/adapters/claude-effort.ts +94 -0
- package/runner/src/adapters/claude-exit.ts +290 -0
- package/runner/src/adapters/claude-headless-mirror.ts +88 -0
- package/runner/src/adapters/claude-headless-refusal.ts +51 -0
- package/runner/src/adapters/claude-headless.ts +617 -0
- package/runner/src/adapters/claude-monitor-delivery-plan.ts +317 -0
- package/runner/src/adapters/claude-permission.ts +243 -0
- package/runner/src/adapters/claude-prompt-gates.ts +269 -0
- package/runner/src/adapters/claude-prompt-hook.ts +145 -0
- package/runner/src/adapters/claude-session-capture.ts +293 -0
- package/runner/src/adapters/claude-session-probe.ts +414 -0
- package/runner/src/adapters/claude-shutdown.ts +190 -0
- package/runner/src/adapters/claude-status-detectors.ts +426 -0
- package/runner/src/adapters/claude-subagents.ts +93 -0
- package/runner/src/adapters/claude-submit-confirmation.ts +287 -0
- package/runner/src/adapters/claude-tmux.ts +548 -0
- package/runner/src/adapters/claude-token-usage-capture.ts +253 -0
- package/runner/src/adapters/claude-tool-policy.ts +165 -0
- package/runner/src/adapters/claude-transcript-tail.ts +193 -0
- package/runner/src/adapters/claude-transcript.ts +812 -0
- package/runner/src/adapters/claude.ts +1097 -0
- package/runner/src/adapters/codex-agent-message-capture.ts +189 -0
- package/runner/src/adapters/codex-app-server.ts +70 -0
- package/runner/src/adapters/codex-client.ts +362 -0
- package/runner/src/adapters/codex-effective-config.ts +87 -0
- package/runner/src/adapters/codex-launch-config.ts +153 -0
- package/runner/src/adapters/codex-rollout-context.ts +272 -0
- package/runner/src/adapters/codex-skill-discovery.ts +18 -0
- package/runner/src/adapters/codex-token-usage-capture.ts +163 -0
- package/runner/src/adapters/codex-tool-output.ts +53 -0
- package/runner/src/adapters/codex-turn-outcome.ts +27 -0
- package/runner/src/adapters/codex-version.ts +64 -0
- package/runner/src/adapters/codex.ts +1442 -0
- package/runner/src/adapters/incremental-file.ts +110 -0
- package/runner/src/adapters/opencode-api.ts +71 -0
- package/runner/src/adapters/opencode-context.ts +277 -0
- package/runner/src/adapters/opencode-model-registry.ts +126 -0
- package/runner/src/adapters/opencode-provider.ts +169 -0
- package/runner/src/adapters/opencode-server-retry.ts +50 -0
- package/runner/src/adapters/opencode-soft-steer.ts +302 -0
- package/runner/src/adapters/opencode-spawn.ts +145 -0
- package/runner/src/adapters/opencode-subscribe.ts +62 -0
- package/runner/src/adapters/opencode-token-usage-capture.ts +187 -0
- package/runner/src/adapters/opencode-tool-events.ts +302 -0
- package/runner/src/adapters/opencode-tools-config.ts +17 -0
- package/runner/src/adapters/opencode.ts +2264 -0
- package/runner/src/adapters/project-shell.ts +80 -0
- package/runner/src/adapters/provider-launch-config.ts +21 -0
- package/runner/src/adapters/provider-quota-harvest.ts +127 -0
- package/runner/src/adapters/service-access.ts +153 -0
- package/runner/src/adapters/tmux-offload.ts +207 -0
- package/runner/src/adapters/tool-summary.ts +214 -0
- package/runner/src/agent-redact.ts +75 -0
- package/runner/src/agent-runner/commands/dispatch.ts +185 -0
- package/runner/src/agent-runner/commands/lifecycle.ts +84 -0
- package/runner/src/agent-runner/commands/prompt.ts +284 -0
- package/runner/src/agent-runner/credentials.ts +208 -0
- package/runner/src/agent-runner/http-liveness.ts +85 -0
- package/runner/src/agent-runner/lifecycle-milestones.ts +207 -0
- package/runner/src/agent-runner/lifecycle-phase.ts +80 -0
- package/runner/src/agent-runner/registration.ts +163 -0
- package/runner/src/agent-runner/runner-context.ts +158 -0
- package/runner/src/agent-runner/session-mirror.ts +278 -0
- package/runner/src/agent-runner/task-claims.ts +116 -0
- package/runner/src/agent-runner/token-usage-coverage.ts +54 -0
- package/runner/src/agent-runner/turn-report.ts +269 -0
- package/runner/src/api-budget-accounting.ts +91 -0
- package/runner/src/area-memory.ts +255 -0
- package/runner/src/artifact-path-materialize.ts +52 -0
- package/runner/src/async-guard.ts +35 -0
- package/runner/src/attachment-cache-sweep.ts +31 -0
- package/runner/src/attachment-cache.ts +195 -0
- package/runner/src/background-script-reconcile.ts +106 -0
- package/runner/src/bounded-log.ts +59 -0
- package/runner/src/bounded-spawn-sync.ts +18 -0
- package/runner/src/busy-reconciler.ts +282 -0
- package/runner/src/claim-tracker.ts +140 -0
- package/runner/src/claude-settings.ts +167 -0
- package/runner/src/claude-workspace-trust.ts +289 -0
- package/runner/src/config.ts +547 -0
- package/runner/src/context-boundary.ts +101 -0
- package/runner/src/context-command.ts +151 -0
- package/runner/src/context-probe-state.ts +6 -0
- package/runner/src/continuation-archive.ts +179 -0
- package/runner/src/control-server.ts +730 -0
- package/runner/src/delivery-policy.ts +9 -0
- package/runner/src/delivery-result.ts +24 -0
- package/runner/src/effort-command.ts +125 -0
- package/runner/src/empty-turn.ts +816 -0
- package/runner/src/free-port.ts +25 -0
- package/runner/src/fs-offload.ts +26 -0
- package/runner/src/gate-run-config.ts +35 -0
- package/runner/src/gate-run-lease-probe.ts +38 -0
- package/runner/src/host-asset-plan.ts +450 -0
- package/runner/src/host-claude-config-worker.ts +34 -0
- package/runner/src/host-sources.ts +40 -0
- package/runner/src/inbox-carrier.ts +7 -0
- package/runner/src/index.ts +386 -0
- package/runner/src/launch-assembly.ts +955 -0
- package/runner/src/liveness.ts +105 -0
- package/runner/src/logger.ts +108 -0
- package/runner/src/mcp-outbox.ts +204 -0
- package/runner/src/mcp-preflight.ts +86 -0
- package/runner/src/mcp-source-selection.ts +54 -0
- package/runner/src/mcp-tool-deferral.ts +35 -0
- package/runner/src/mcp-vault-env.ts +25 -0
- package/runner/src/message-body-config/config.ts +16 -0
- package/runner/src/message-body-config.ts +1 -0
- package/runner/src/mid-turn-delivery.ts +43 -0
- package/runner/src/native-memory-lever.ts +329 -0
- package/runner/src/native-self-resume.ts +244 -0
- package/runner/src/outbox.ts +453 -0
- package/runner/src/park-post.ts +17 -0
- package/runner/src/pending-permission-store.ts +148 -0
- package/runner/src/process-meta.ts +9 -0
- package/runner/src/profile-home.ts +419 -0
- package/runner/src/profile-projection.ts +411 -0
- package/runner/src/project-hooks.ts +65 -0
- package/runner/src/project-instructions.ts +119 -0
- package/runner/src/provider-double.ts +59 -0
- package/runner/src/provider-hold.ts +228 -0
- package/runner/src/provider-home-marker.ts +3 -0
- package/runner/src/provider-home-tombstone.ts +4 -0
- package/runner/src/provider-input-queue.ts +134 -0
- package/runner/src/provider-integration.ts +93 -0
- package/runner/src/provider-processes.ts +17 -0
- package/runner/src/provider-submit-failure.ts +15 -0
- package/runner/src/providers.ts +35 -0
- package/runner/src/provisioning.ts +703 -0
- package/runner/src/question-decision.ts +18 -0
- package/runner/src/quota.ts +22 -0
- package/runner/src/rate-limit.ts +351 -0
- package/runner/src/refused-prompt-store.ts +36 -0
- package/runner/src/relay-injection-events.ts +161 -0
- package/runner/src/relay-instructions.ts +107 -0
- package/runner/src/relay-mcp-proxy.long-turn-e2e.ts +183 -0
- package/runner/src/relay-mcp-proxy.ts +704 -0
- package/runner/src/relay-mcp.ts +583 -0
- package/runner/src/reply-obligation-cache.ts +211 -0
- package/runner/src/response-capture-report.ts +111 -0
- package/runner/src/response-routing.ts +6 -0
- package/runner/src/runner-core.ts +2955 -0
- package/runner/src/runner-exit.ts +12 -0
- package/runner/src/runner-helpers.ts +582 -0
- package/runner/src/runner-insights.ts +105 -0
- package/runner/src/runner-mcp-proxy.ts +46 -0
- package/runner/src/runner-spawn-config.ts +68 -0
- package/runner/src/runner-stale-scratch-sweep.ts +21 -0
- package/runner/src/runner.ts +9 -0
- package/runner/src/runtime-token-file.ts +45 -0
- package/runner/src/runtime-token-remint.ts +56 -0
- package/runner/src/service-access.ts +88 -0
- package/runner/src/session-destroy.ts +27 -0
- package/runner/src/session-insights.ts +118 -0
- package/runner/src/session-scratch.ts +296 -0
- package/runner/src/spawn-input.ts +147 -0
- package/runner/src/startup-config-fetch.ts +48 -0
- package/runner/src/subreaper.ts +113 -0
- package/runner/src/template-resolver.ts +29 -0
- package/runner/src/test-run-dedup.ts +435 -0
- package/runner/src/transcript-context.ts +99 -0
- package/runner/src/transport-errors.ts +48 -0
- package/runner/src/turn-opener.ts +55 -0
- package/runner/src/turn-reconcile-event.ts +88 -0
- package/runner/src/vault-proxy-hop.ts +99 -0
- package/runner/src/version.ts +44 -0
- package/runner/src/web-tool-call-proxy.ts +128 -0
- package/runner/src/web-tools.ts +59 -0
- package/runner/test-support/codex-web-config-proof.ts +149 -0
- package/runner/test-support/effective-launch.ts +189 -0
- package/runner/test-support/native-context-sources.ts +77 -0
- package/runner/test-support/provisioning-context.ts +55 -0
- package/runner/test-support/recorder-double.ts +130 -0
- package/runner/test-support/recording-provider.ts +242 -0
- package/runner/test-support/runner-harness.ts +249 -0
- package/runner/test-support/service-access-fixture.ts +12 -0
- package/scripts/agent-vault/bootstrap.py +87 -0
- package/scripts/agent-vault/install.py +200 -0
- package/scripts/agent-vault/install_refresh.py +98 -0
- package/scripts/agent-vault/refresh.py +116 -0
- package/scripts/agent-vault/refresh_provision.py +109 -0
- package/scripts/agent-vault/refresh_store.py +54 -0
- package/scripts/agent-vault/runtime.py +253 -0
- package/scripts/agent-vault/sec-ops-activation.json +23 -0
- package/scripts/artifact-checkout-gc.ts +51 -0
- package/scripts/cd-config.ts +237 -0
- package/scripts/cd-deploy-debounce.ts +94 -0
- package/scripts/cd-deploy-worktree-gc.ts +235 -0
- package/scripts/cd-fleet-membership.ts +48 -0
- package/scripts/cd-host-epochs.ts +101 -0
- package/scripts/cd-hub-wake.ts +40 -0
- package/scripts/cd-land-boundary.ts +49 -0
- package/scripts/cd-watcher.ts +985 -0
- package/scripts/dashboard-build-marker.ts +71 -0
- package/scripts/fleet-sha-coverage.ts +66 -0
- package/scripts/gate-run-lease.ts +329 -0
- package/scripts/gate-slot +9 -0
- package/scripts/gate-slot-fleet-health.ts +60 -0
- package/scripts/gate.sh +6 -0
- package/scripts/install-bin-shim.cjs +149 -0
- package/scripts/orchestrator-spawn-smoke.ts +398 -0
- package/scripts/provisioning-matrix.ts +72 -0
- package/scripts/release-cd-stamp.ts +146 -0
- package/scripts/release-health.ts +133 -0
- package/scripts/release-report.ts +102 -0
- package/scripts/release-upgrade.ts +1296 -0
- package/scripts/steward-policy-cleanup.ts +73 -0
- package/scripts/wait-for-deploy.ts +43 -0
- package/src/agent-authz.ts +219 -0
- package/src/agent-branch-state.ts +45 -0
- package/src/agent-busy-health.ts +158 -0
- package/src/agent-card-projection.ts +86 -0
- package/src/agent-channel-binding.ts +49 -0
- package/src/agent-command-activity.ts +39 -0
- package/src/agent-core.ts +29 -0
- package/src/agent-death-diagnosis.ts +314 -0
- package/src/agent-drive-arbiter.ts +112 -0
- package/src/agent-exit-alarm.ts +10 -0
- package/src/agent-exit-cleanup-async.ts +69 -0
- package/src/agent-exit-cleanup.ts +99 -0
- package/src/agent-exit-report.ts +28 -0
- package/src/agent-issue-repo.ts +53 -0
- package/src/agent-launch-shape-redaction.ts +72 -0
- package/src/agent-lifecycle-events.ts +428 -0
- package/src/agent-principal.ts +14 -0
- package/src/agent-profile-catalog.ts +188 -0
- package/src/agent-ref.ts +340 -0
- package/src/agent-spawn.ts +45 -0
- package/src/agent-status-events.ts +41 -0
- package/src/agent-system-tags.ts +38 -0
- package/src/artifact-media.ts +34 -0
- package/src/artifact-storage.ts +245 -0
- package/src/artifact-text.ts +31 -0
- package/src/async-deadline.ts +59 -0
- package/src/auth/admin-routes.ts +36 -0
- package/src/auth/index.ts +23 -0
- package/src/auth/login-rate-limiter.ts +153 -0
- package/src/auth/password.ts +142 -0
- package/src/auth/provider.ts +60 -0
- package/src/auth/role-scopes.ts +15 -0
- package/src/auth/session-cookie.ts +35 -0
- package/src/auth/session-refresh.ts +61 -0
- package/src/auth/session.test-fixture.ts +10 -0
- package/src/auth/session.ts +107 -0
- package/src/authority-audit.ts +56 -0
- package/src/authz-meta-keys.ts +64 -0
- package/src/auto-spawn-dispatch.ts +154 -0
- package/src/automations/constants.ts +14 -0
- package/src/automations/cron.ts +129 -0
- package/src/automations/crud.ts +129 -0
- package/src/automations/dispatch.ts +299 -0
- package/src/automations/index.ts +5 -0
- package/src/automations/precheck.ts +124 -0
- package/src/automations/reconcile.ts +314 -0
- package/src/automations/storage.ts +200 -0
- package/src/automations/types.ts +16 -0
- package/src/automations/validation.ts +216 -0
- package/src/automations.ts +1 -0
- package/src/branch-landed.ts +761 -0
- package/src/browser-authz.ts +18 -0
- package/src/browser-config.ts +31 -0
- package/src/bundled-workflows.ts +48 -0
- package/src/bus-outbox-async.ts +16 -0
- package/src/bus-outbox.ts +265 -0
- package/src/bus-resume-commands.ts +18 -0
- package/src/bus.ts +792 -0
- package/src/canonical-repo-root.ts +131 -0
- package/src/cd-deploy-notify.ts +59 -0
- package/src/cd-host-deferrals.ts +23 -0
- package/src/cd-host-lag-notify.ts +36 -0
- package/src/cd-repository.ts +49 -0
- package/src/channel-output-control.ts +43 -0
- package/src/channel-output-validation.ts +11 -0
- package/src/channel-policy-health.ts +20 -0
- package/src/channel-target.ts +40 -0
- package/src/channels-host-service.ts +219 -0
- package/src/ci/bun-test-log.ts +41 -0
- package/src/ci/failed-test-files.ts +52 -0
- package/src/ci/gate-history.ts +66 -0
- package/src/ci/github-actions.ts +145 -0
- package/src/ci/incidents.ts +175 -0
- package/src/ci/index.ts +6 -0
- package/src/ci/job-verdict.ts +27 -0
- package/src/ci/land-boundary-ci.ts +104 -0
- package/src/ci/monitor.ts +528 -0
- package/src/ci/not-triggered.ts +116 -0
- package/src/ci/notifications.ts +234 -0
- package/src/ci/provider.ts +87 -0
- package/src/ci/root-missing.ts +35 -0
- package/src/ci/transition-notify.ts +279 -0
- package/src/ci-monitor.ts +7 -0
- package/src/claude-api-budget-async.ts +11 -0
- package/src/claude-api-budget-config.ts +23 -0
- package/src/claude-api-expiry.ts +70 -0
- package/src/claude-api-overflow.ts +146 -0
- package/src/claude-app/config.ts +13 -0
- package/src/claude-app/oauth-http.ts +127 -0
- package/src/claude-app/oauth-provider.ts +136 -0
- package/src/claude-app/passphrase.ts +14 -0
- package/src/claude-app-auth.ts +65 -0
- package/src/claude-app-gateway.ts +68 -0
- package/src/cli/_shared.ts +136 -0
- package/src/cli/agent-detect.ts +175 -0
- package/src/cli/agent-guide.ts +152 -0
- package/src/cli/agent-keep.ts +37 -0
- package/src/cli/agent-meta.ts +111 -0
- package/src/cli/artifact.ts +154 -0
- package/src/cli/browser.ts +56 -0
- package/src/cli/channel-output.ts +17 -0
- package/src/cli/channels-host.ts +13 -0
- package/src/cli/channels.ts +16 -0
- package/src/cli/claude-api-budget.ts +41 -0
- package/src/cli/context-probe.ts +90 -0
- package/src/cli/credentials.ts +1 -0
- package/src/cli/daemon.ts +125 -0
- package/src/cli/dev.ts +185 -0
- package/src/cli/ephemeral.ts +159 -0
- package/src/cli/hosts.ts +41 -0
- package/src/cli/index.ts +442 -0
- package/src/cli/introspect.ts +74 -0
- package/src/cli/maintenance.ts +24 -0
- package/src/cli/merges.ts +78 -0
- package/src/cli/message.ts +229 -0
- package/src/cli/orchestrator.ts +384 -0
- package/src/cli/pair.ts +135 -0
- package/src/cli/profile.ts +35 -0
- package/src/cli/project.ts +52 -0
- package/src/cli/prompts.ts +23 -0
- package/src/cli/provider-enablement.ts +42 -0
- package/src/cli/provider.ts +230 -0
- package/src/cli/recipe.ts +110 -0
- package/src/cli/reply.ts +130 -0
- package/src/cli/roles.ts +60 -0
- package/src/cli/routing-policy.ts +20 -0
- package/src/cli/run.ts +96 -0
- package/src/cli/secrets-backup.ts +85 -0
- package/src/cli/secrets.ts +55 -0
- package/src/cli/service-access.ts +23 -0
- package/src/cli/setup.ts +57 -0
- package/src/cli/shutdown.ts +16 -0
- package/src/cli/spawn.ts +31 -0
- package/src/cli/state.ts +73 -0
- package/src/cli/steward.ts +58 -0
- package/src/cli/task.ts +151 -0
- package/src/cli/team.ts +18 -0
- package/src/cli/timers.ts +53 -0
- package/src/cli/token.ts +72 -0
- package/src/cli/upgrade.ts +200 -0
- package/src/cli/web-tool-calls.ts +17 -0
- package/src/cli/workflow.ts +46 -0
- package/src/cli/workspace.ts +544 -0
- package/src/cli.ts +4 -0
- package/src/codex-reset-consume.ts +274 -0
- package/src/codex-wham-quota.ts +177 -0
- package/src/command-events.ts +69 -0
- package/src/command-secrets.ts +198 -0
- package/src/command-ttl.ts +63 -0
- package/src/commands-db.ts +1200 -0
- package/src/commands-landing-async.ts +166 -0
- package/src/commands-write.ts +168 -0
- package/src/comment-blocks.ts +84 -0
- package/src/compaction-watch.ts +259 -0
- package/src/config-model-selection.ts +14 -0
- package/src/config-store-write.ts +39 -0
- package/src/config-store.ts +1253 -0
- package/src/config.ts +939 -0
- package/src/connector-boot-health.ts +27 -0
- package/src/connector-paths.ts +47 -0
- package/src/connectors.ts +547 -0
- package/src/content-security.ts +12 -0
- package/src/context-advisory.ts +279 -0
- package/src/context-block-rendered-at.ts +33 -0
- package/src/context-injection-channel.ts +49 -0
- package/src/context-router.ts +121 -0
- package/src/context-threshold-config.ts +52 -0
- package/src/continuation-replay-edge.ts +30 -0
- package/src/continuity-working-state.ts +107 -0
- package/src/contracts.ts +109 -0
- package/src/coordinator-authority.ts +100 -0
- package/src/coordinator-digest-config.ts +20 -0
- package/src/cosmos-events.ts +164 -0
- package/src/daemon.ts +570 -0
- package/src/dashboard-notifications.ts +169 -0
- package/src/dashboard-presence.ts +86 -0
- package/src/db/activity-async.ts +58 -0
- package/src/db/activity-read-ops.ts +42 -0
- package/src/db/activity-write-ops.ts +44 -0
- package/src/db/activity.ts +454 -0
- package/src/db/agent-card-read.ts +98 -0
- package/src/db/agent-effort-state.ts +146 -0
- package/src/db/agent-exit-cleanup.ts +94 -0
- package/src/db/agent-exit-report.ts +33 -0
- package/src/db/agent-gate-runs-write-ops.ts +7 -0
- package/src/db/agent-gate-runs.ts +96 -0
- package/src/db/agent-identity-archive.test-fixture.ts +12 -0
- package/src/db/agent-identity-archive.ts +75 -0
- package/src/db/agent-keep.ts +21 -0
- package/src/db/agent-lifecycle-write-ops.ts +93 -0
- package/src/db/agent-meta.ts +74 -0
- package/src/db/agent-outstanding-work.ts +154 -0
- package/src/db/agent-ownership-async.ts +45 -0
- package/src/db/agent-ownership-read-ops.ts +12 -0
- package/src/db/agent-ownership-write-ops.ts +54 -0
- package/src/db/agent-ownership.ts +200 -0
- package/src/db/agent-predicates.ts +64 -0
- package/src/db/agent-read.ts +39 -0
- package/src/db/agent-search-async.ts +21 -0
- package/src/db/agent-search-read-ops.ts +8 -0
- package/src/db/agent-search.ts +162 -0
- package/src/db/agent-shutdown-in-flight.ts +21 -0
- package/src/db/agents-async.ts +337 -0
- package/src/db/agents-prune-write-op.ts +37 -0
- package/src/db/agents-read-ops.ts +33 -0
- package/src/db/agents-write-ops.ts +188 -0
- package/src/db/agents.ts +1284 -0
- package/src/db/api-budget-schema.ts +144 -0
- package/src/db/api-budget-usage-migration.ts +31 -0
- package/src/db/api-budget-usage.ts +40 -0
- package/src/db/artifact-browse.ts +145 -0
- package/src/db/artifact-retention.ts +115 -0
- package/src/db/artifacts-async.ts +81 -0
- package/src/db/artifacts-read-ops.ts +24 -0
- package/src/db/artifacts-write-ops.ts +51 -0
- package/src/db/artifacts.ts +307 -0
- package/src/db/auth-identities.ts +128 -0
- package/src/db/backlog.ts +172 -0
- package/src/db/blackboard.ts +171 -0
- package/src/db/broadcast-scope.ts +63 -0
- package/src/db/broker-memory-migration.ts +71 -0
- package/src/db/browser-sessions.ts +89 -0
- package/src/db/budget-lineage.ts +26 -0
- package/src/db/bus-outbox-read-ops.ts +29 -0
- package/src/db/bus-outbox-write-ops.ts +58 -0
- package/src/db/bus-prune-async.ts +16 -0
- package/src/db/busy-regression.worker.ts +48 -0
- package/src/db/caller-lifecycle.ts +24 -0
- package/src/db/carry-pending-marker.ts +129 -0
- package/src/db/carry-pending.ts +145 -0
- package/src/db/channel-binding-delete.ts +15 -0
- package/src/db/channel-egress-allowlist.ts +200 -0
- package/src/db/channel-identity.ts +38 -0
- package/src/db/channel-runtime.ts +19 -0
- package/src/db/channels-async.ts +55 -0
- package/src/db/channels-read-ops.ts +13 -0
- package/src/db/channels-session-fence.ts +18 -0
- package/src/db/channels-write-ops.ts +46 -0
- package/src/db/channels.ts +654 -0
- package/src/db/checkout-refresh.ts +36 -0
- package/src/db/ci-gate-runs.ts +92 -0
- package/src/db/ci-incidents-async.ts +76 -0
- package/src/db/ci-incidents-read-ops.ts +15 -0
- package/src/db/ci-incidents-write-ops.ts +57 -0
- package/src/db/ci-incidents.ts +667 -0
- package/src/db/ci-sha-observations-schema.ts +33 -0
- package/src/db/claim-sql.ts +44 -0
- package/src/db/claude-api-budget-ops.ts +15 -0
- package/src/db/claude-api-budget-reconcile.ts +39 -0
- package/src/db/claude-api-budget.ts +198 -0
- package/src/db/claude-app-oauth.ts +74 -0
- package/src/db/claude-catalog-reconcile.ts +27 -0
- package/src/db/codex-reset-consumes-async.ts +9 -0
- package/src/db/codex-reset-consumes-read-ops.ts +5 -0
- package/src/db/codex-reset-consumes-write-ops.ts +22 -0
- package/src/db/codex-reset-consumes.ts +122 -0
- package/src/db/command-agent-profiles.ts +58 -0
- package/src/db/command-row.ts +88 -0
- package/src/db/command-terminal-status.ts +33 -0
- package/src/db/command-vault-pruning.ts +30 -0
- package/src/db/commands-cancel-write.ts +45 -0
- package/src/db/commands-claim-admission.ts +144 -0
- package/src/db/commands-effort-read.ts +58 -0
- package/src/db/commands-host-land-admission.ts +106 -0
- package/src/db/commands-kernel-landing.ts +268 -0
- package/src/db/commands-land-occupancy.ts +40 -0
- package/src/db/commands-land-wait.ts +38 -0
- package/src/db/commands-landing-completeness.ts +66 -0
- package/src/db/commands-landing-tuples.ts +22 -0
- package/src/db/commands-landing.ts +1046 -0
- package/src/db/commands-leaseless-sweep.ts +72 -0
- package/src/db/commands-list-query.ts +47 -0
- package/src/db/commands-planner-stats.test-fixture.ts +97 -0
- package/src/db/commands-read-ops.ts +49 -0
- package/src/db/commands-scheduler-recovery.ts +71 -0
- package/src/db/commands-spawn-read.ts +33 -0
- package/src/db/commands-write-ops.ts +307 -0
- package/src/db/config-store-write-ops.ts +60 -0
- package/src/db/connection-instrumentation.ts +76 -0
- package/src/db/connection.ts +532 -0
- package/src/db/context-reset-carry.ts +144 -0
- package/src/db/continuation-archive-purge.ts +48 -0
- package/src/db/continuation-archive-search.ts +249 -0
- package/src/db/continuation-archives-async.ts +59 -0
- package/src/db/continuation-archives-read-ops.ts +10 -0
- package/src/db/continuation-archives-write-ops.ts +17 -0
- package/src/db/continuation-archives.ts +158 -0
- package/src/db/continuations.ts +201 -0
- package/src/db/coordinator-delivery.ts +10 -0
- package/src/db/coordinator-digest-async.ts +13 -0
- package/src/db/coordinator-digest-flush.ts +6 -0
- package/src/db/coordinator-digest.ts +145 -0
- package/src/db/coordinator-seat.ts +130 -0
- package/src/db/crash-reports.ts +115 -0
- package/src/db/db-error-registry.ts +290 -0
- package/src/db/db-reader-worker.ts +91 -0
- package/src/db/db-writer-worker.ts +66 -0
- package/src/db/deferred-lineage-report-queries.ts +28 -0
- package/src/db/deferred-lineage-reports.ts +44 -0
- package/src/db/delivery-async.ts +102 -0
- package/src/db/delivery-expiration-health.ts +97 -0
- package/src/db/delivery-expiration.ts +52 -0
- package/src/db/delivery-quality-async.ts +23 -0
- package/src/db/delivery-quality.ts +116 -0
- package/src/db/delivery-read-ops.ts +26 -0
- package/src/db/delivery-report-echo.ts +53 -0
- package/src/db/delivery-write-ops.ts +77 -0
- package/src/db/delivery.ts +545 -0
- package/src/db/deploy-events-async.ts +66 -0
- package/src/db/deploy-events-read-ops.ts +25 -0
- package/src/db/deploy-events-write-ops.ts +81 -0
- package/src/db/deploy-events.ts +554 -0
- package/src/db/deploy-task-completion.ts +48 -0
- package/src/db/drive-leases.ts +165 -0
- package/src/db/durable-payloads.ts +92 -0
- package/src/db/fixtures/writer-shutdown.ts +28 -0
- package/src/db/fts-query.ts +8 -0
- package/src/db/gate-policy.ts +27 -0
- package/src/db/gate-runs.ts +181 -0
- package/src/db/gateway.ts +513 -0
- package/src/db/generation-launch.ts +82 -0
- package/src/db/guides-search.ts +18 -0
- package/src/db/history-delivery-settle.ts +57 -0
- package/src/db/hosts-async.ts +150 -0
- package/src/db/hosts-backfill.ts +91 -0
- package/src/db/hosts-read-ops.ts +21 -0
- package/src/db/hosts-registration.ts +452 -0
- package/src/db/hosts-views.ts +259 -0
- package/src/db/hosts-write-ops.ts +108 -0
- package/src/db/hosts.ts +251 -0
- package/src/db/human-address.ts +6 -0
- package/src/db/idle-digest.ts +54 -0
- package/src/db/idle-self-care.ts +100 -0
- package/src/db/inbox-async.ts +29 -0
- package/src/db/inbox-read-ops.ts +8 -0
- package/src/db/inbox-write-ops.ts +29 -0
- package/src/db/inbox.ts +197 -0
- package/src/db/index.ts +147 -0
- package/src/db/injection-attempts.ts +41 -0
- package/src/db/insights-read-ops.ts +12 -0
- package/src/db/insights-write-ops.ts +16 -0
- package/src/db/integrations.ts +297 -0
- package/src/db/issue-associations.ts +136 -0
- package/src/db/issue-lifecycle.ts +199 -0
- package/src/db/issue-refs.ts +312 -0
- package/src/db/kernel-event-log-schema.ts +14 -0
- package/src/db/kernel-landing-admission.ts +15 -0
- package/src/db/kernel-landing-command-authority.ts +222 -0
- package/src/db/kernel-persistence-async.ts +48 -0
- package/src/db/kernel-persistence-read-ops.ts +24 -0
- package/src/db/kernel-persistence-write-ops.ts +43 -0
- package/src/db/land-boundaries.ts +138 -0
- package/src/db/land-executing.ts +147 -0
- package/src/db/land-gate-attestations.ts +161 -0
- package/src/db/land-incident-eligibility.ts +44 -0
- package/src/db/land-queue-trace.ts +28 -0
- package/src/db/land-stack.ts +80 -0
- package/src/db/land-telemetry-schema.ts +50 -0
- package/src/db/land-telemetry-write-ops.ts +16 -0
- package/src/db/land-telemetry.ts +114 -0
- package/src/db/land-withdrawal-state.ts +26 -0
- package/src/db/landed-merge-evidence.ts +72 -0
- package/src/db/landed-task-attribution.ts +23 -0
- package/src/db/landing-audit.ts +18 -0
- package/src/db/landing-controllers.ts +67 -0
- package/src/db/landing-ingress-async.ts +102 -0
- package/src/db/landing-ingress-read-ops.ts +8 -0
- package/src/db/landing-ingress-write-ops.ts +42 -0
- package/src/db/landing-ingress.ts +380 -0
- package/src/db/landing-read-ops.ts +18 -0
- package/src/db/landing-receipts.ts +206 -0
- package/src/db/landing-schema.ts +479 -0
- package/src/db/launch-facts.ts +60 -0
- package/src/db/legacy-landing-publication.ts +103 -0
- package/src/db/legacy-message-backfill.ts +90 -0
- package/src/db/lifecycle-seq.ts +127 -0
- package/src/db/lifecycle-write-window.ts +216 -0
- package/src/db/lineage-pair-dedupe-sql.ts +80 -0
- package/src/db/lineage-startup-captures.ts +43 -0
- package/src/db/long-running-work-async.ts +12 -0
- package/src/db/long-running-work-write-ops.ts +8 -0
- package/src/db/long-running-work.ts +78 -0
- package/src/db/macos-privacy.ts +72 -0
- package/src/db/main-connection-writes.ts +44 -0
- package/src/db/main-thread-state.ts +38 -0
- package/src/db/maintenance-health.ts +560 -0
- package/src/db/maintenance-indexes.ts +37 -0
- package/src/db/maintenance-job-runs-async.ts +15 -0
- package/src/db/maintenance-job-runs.ts +62 -0
- package/src/db/maintenance-job-write-ops.ts +10 -0
- package/src/db/maintenance-pauses.ts +224 -0
- package/src/db/maintenance-worker.ts +111 -0
- package/src/db/mappers.ts +422 -0
- package/src/db/memory-preamble-read.ts +13 -0
- package/src/db/memory-resolve.ts +209 -0
- package/src/db/memory-retirement-plan.ts +31 -0
- package/src/db/memory-retirement.ts +15 -0
- package/src/db/merge-drain-async.ts +8 -0
- package/src/db/merge-lease.ts +225 -0
- package/src/db/message-claims.ts +16 -0
- package/src/db/message-queries.ts +16 -0
- package/src/db/message-read-mark.ts +32 -0
- package/src/db/message-reads-async.ts +46 -0
- package/src/db/message-reads-read-ops.ts +35 -0
- package/src/db/message-reads-write-ops.ts +27 -0
- package/src/db/message-reads.ts +553 -0
- package/src/db/message-send-suppression.ts +58 -0
- package/src/db/message-send.ts +76 -0
- package/src/db/message-thread.ts +15 -0
- package/src/db/message-write-ops.ts +100 -0
- package/src/db/messages-async.ts +31 -0
- package/src/db/messages-read-ops.ts +14 -0
- package/src/db/messages.ts +1201 -0
- package/src/db/migration-marker.ts +13 -0
- package/src/db/migrations.ts +1761 -0
- package/src/db/notification-subscriptions.ts +282 -0
- package/src/db/on-loop-write-transaction.ts +34 -0
- package/src/db/operator-actions-schema.ts +10 -0
- package/src/db/operator-decisions.ts +180 -0
- package/src/db/orchestrators-async.ts +61 -0
- package/src/db/orchestrators-read-ops.ts +7 -0
- package/src/db/orchestrators-write-ops.ts +58 -0
- package/src/db/orchestrators.ts +497 -0
- package/src/db/outbox-codec.ts +16 -0
- package/src/db/pair-maintenance.ts +9 -0
- package/src/db/pairs-async.ts +10 -0
- package/src/db/pairs-write-ops.ts +8 -0
- package/src/db/pairs.ts +264 -0
- package/src/db/pending-relay-runs.ts +73 -0
- package/src/db/plan-blurb-migration.ts +158 -0
- package/src/db/plan-ci-blocks.ts +28 -0
- package/src/db/plan-completion.ts +55 -0
- package/src/db/plan-conformance.ts +104 -0
- package/src/db/plan-dispatch-schema.ts +17 -0
- package/src/db/plan-dispatch-store.ts +112 -0
- package/src/db/plan-external.ts +79 -0
- package/src/db/plan-graph-async.ts +23 -0
- package/src/db/plan-graph-read-ops.ts +16 -0
- package/src/db/plan-graph-write-ops.ts +37 -0
- package/src/db/plan-graph.ts +403 -0
- package/src/db/plan-import-schema.ts +19 -0
- package/src/db/plan-import.ts +211 -0
- package/src/db/plan-task-create.ts +44 -0
- package/src/db/planner-stats.ts +123 -0
- package/src/db/plans-async.ts +22 -0
- package/src/db/plans-read-ops.ts +11 -0
- package/src/db/plans-write-ops.ts +9 -0
- package/src/db/plans.ts +385 -0
- package/src/db/policy-runtime.ts +14 -0
- package/src/db/presence-buffer.ts +111 -0
- package/src/db/presence-loop.ts +58 -0
- package/src/db/presence-write-ops.ts +28 -0
- package/src/db/presence-write.ts +38 -0
- package/src/db/profile-artifact-backfill-migration.ts +32 -0
- package/src/db/profile-host-sources-migration.ts +150 -0
- package/src/db/profile-legacy-project-instructions-migration.ts +41 -0
- package/src/db/profile-name-case-migration.ts +46 -0
- package/src/db/profile-override-migration.ts +200 -0
- package/src/db/profile-project-ack-migration.ts +55 -0
- package/src/db/profile-slim-migration.ts +125 -0
- package/src/db/profile-slim-plan.ts +190 -0
- package/src/db/project-entries-async.ts +18 -0
- package/src/db/project-entries-read-ops.ts +28 -0
- package/src/db/project-entries.ts +514 -0
- package/src/db/project-entry-search.ts +63 -0
- package/src/db/project-identity.ts +16 -0
- package/src/db/project-journal.ts +256 -0
- package/src/db/project-lifecycle.ts +80 -0
- package/src/db/project-memory-group-migration.ts +76 -0
- package/src/db/project-phantom-merge.ts +228 -0
- package/src/db/project-root-schema.ts +30 -0
- package/src/db/project-trust-approvals.ts +98 -0
- package/src/db/projects-async.ts +50 -0
- package/src/db/projects-read-ops.ts +59 -0
- package/src/db/projects-write-ops.ts +74 -0
- package/src/db/projects.ts +629 -0
- package/src/db/prompt-templates-schema.ts +23 -0
- package/src/db/prompt-templates.ts +138 -0
- package/src/db/prompt-version-migration.ts +115 -0
- package/src/db/prompt-versions-ops.ts +17 -0
- package/src/db/prompt-versions.ts +167 -0
- package/src/db/provider-catalog-async.ts +31 -0
- package/src/db/provider-catalog-read-ops.ts +8 -0
- package/src/db/provider-catalog-write-ops.ts +16 -0
- package/src/db/provider-config-history.ts +49 -0
- package/src/db/provider-config-secrets.ts +117 -0
- package/src/db/provider-flap-messages-async.ts +6 -0
- package/src/db/provider-flap-messages-write-ops.ts +13 -0
- package/src/db/provider-flap-messages.ts +19 -0
- package/src/db/provider-quota-advisory-types.ts +39 -0
- package/src/db/provider-quota-burn.ts +322 -0
- package/src/db/provider-quota-effect-occurrences.ts +13 -0
- package/src/db/provider-quota-lease-write-ops.ts +24 -0
- package/src/db/provider-quota-leases-async.ts +35 -0
- package/src/db/provider-quota-leases.ts +174 -0
- package/src/db/provider-quota-matrix-cache.ts +85 -0
- package/src/db/provider-quota-matrix-fetch.ts +85 -0
- package/src/db/provider-quota-merge.ts +90 -0
- package/src/db/provider-quota-notification-write.ts +98 -0
- package/src/db/provider-quota-prune.ts +35 -0
- package/src/db/provider-quota-read-async.ts +77 -0
- package/src/db/provider-quota-read-ops.ts +56 -0
- package/src/db/provider-quota-recipients.ts +38 -0
- package/src/db/provider-quota-state.ts +139 -0
- package/src/db/provider-quota-visibility.ts +22 -0
- package/src/db/provider-quota-write-ops.ts +71 -0
- package/src/db/provider-quotas.ts +726 -0
- package/src/db/provider-secret-scrub.ts +64 -0
- package/src/db/provisioning-assets-migration.ts +85 -0
- package/src/db/provisioning-async.ts +116 -0
- package/src/db/provisioning-callmux.ts +184 -0
- package/src/db/provisioning-github-api.ts +16 -0
- package/src/db/provisioning-github-import-target.ts +29 -0
- package/src/db/provisioning-mcp-validation.ts +103 -0
- package/src/db/provisioning-read-ops.ts +23 -0
- package/src/db/provisioning-registry.ts +1122 -0
- package/src/db/provisioning-resolve.ts +321 -0
- package/src/db/provisioning-write-ops.ts +44 -0
- package/src/db/qa-skill-seed.ts +27 -0
- package/src/db/quota-lease-busy.worker.ts +62 -0
- package/src/db/read-op-marshaling-fixtures.ts +724 -0
- package/src/db/read-ops.ts +266 -0
- package/src/db/reader-pool.ts +252 -0
- package/src/db/recipe-read-ops.ts +15 -0
- package/src/db/recipe-write-ops.ts +68 -0
- package/src/db/reply-obligations.ts +265 -0
- package/src/db/report-suppression.ts +126 -0
- package/src/db/restart-epoch-admin-async.ts +14 -0
- package/src/db/restart-epoch-admin.ts +67 -0
- package/src/db/restart-epoch-admission.ts +114 -0
- package/src/db/restart-epoch-async.ts +80 -0
- package/src/db/restart-epoch-begin.ts +177 -0
- package/src/db/restart-epoch-read-ops.ts +40 -0
- package/src/db/restart-epoch-release.ts +248 -0
- package/src/db/restart-epoch-write-ops.ts +117 -0
- package/src/db/restart-epoch.test-fixture.ts +37 -0
- package/src/db/restart-epoch.ts +623 -0
- package/src/db/restart-sensitive.ts +81 -0
- package/src/db/retention.ts +423 -0
- package/src/db/review-ref-cleanups.ts +306 -0
- package/src/db/routing-policy.ts +64 -0
- package/src/db/scheduled-timer-projection.ts +123 -0
- package/src/db/scheduled-timer-quota-chaos-worker.ts +84 -0
- package/src/db/scheduled-timers.ts +521 -0
- package/src/db/schema.ts +1472 -0
- package/src/db/scoped-message-reads.ts +31 -0
- package/src/db/secrets-broker-async.ts +31 -0
- package/src/db/secrets-broker-read-ops.ts +8 -0
- package/src/db/secrets-broker-write-ops.ts +23 -0
- package/src/db/secrets-broker.ts +221 -0
- package/src/db/secrets-vault-import.ts +37 -0
- package/src/db/secrets-vault-key-lifecycle.ts +64 -0
- package/src/db/secrets-vault-metadata.ts +37 -0
- package/src/db/secrets-vault-migration.ts +53 -0
- package/src/db/secrets-vault-write.ts +97 -0
- package/src/db/secrets-vault.ts +69 -0
- package/src/db/self-effort-permissions.ts +50 -0
- package/src/db/service-access-read-ops.ts +10 -0
- package/src/db/services-async.ts +29 -0
- package/src/db/services-read-ops.ts +134 -0
- package/src/db/services-write-ops.ts +74 -0
- package/src/db/shared.ts +7 -0
- package/src/db/shipping-board-async.ts +6 -0
- package/src/db/shipping-board.ts +319 -0
- package/src/db/shipping-stats-async.ts +24 -0
- package/src/db/shipping-stats-histogram.ts +45 -0
- package/src/db/shipping-stats-schema.ts +8 -0
- package/src/db/shipping-stats.ts +265 -0
- package/src/db/snapshot-ledger-prune.ts +53 -0
- package/src/db/spawn-budget.ts +145 -0
- package/src/db/spawn-command-busy.worker.ts +71 -0
- package/src/db/spawn-delegation-state.ts +124 -0
- package/src/db/spawn-delegation.ts +114 -0
- package/src/db/spawn-host-cap.ts +29 -0
- package/src/db/spawn-in-flight-count.ts +37 -0
- package/src/db/spawn-in-flight.ts +15 -0
- package/src/db/spawn-process-evidence.ts +68 -0
- package/src/db/spawn-project-target.ts +57 -0
- package/src/db/spawn-registration-confirmed-backfill.ts +71 -0
- package/src/db/spawn-request-id-migration.ts +36 -0
- package/src/db/spawn-request-id.ts +35 -0
- package/src/db/spawn-request-reuse.ts +28 -0
- package/src/db/spawn-tree-cleanup.ts +92 -0
- package/src/db/spawn-tree.ts +29 -0
- package/src/db/sql-audit-indexes.ts +77 -0
- package/src/db/stalled-message-delivery.ts +52 -0
- package/src/db/startup-write-lock.ts +36 -0
- package/src/db/stats-async.ts +235 -0
- package/src/db/stats-health-read-model.ts +225 -0
- package/src/db/stats-read-ops.ts +25 -0
- package/src/db/stats.ts +633 -0
- package/src/db/target-host.ts +25 -0
- package/src/db/task-async.ts +165 -0
- package/src/db/task-comment-through-async.ts +14 -0
- package/src/db/task-comment-through-read-ops.ts +4 -0
- package/src/db/task-comment-through-write-ops.ts +7 -0
- package/src/db/task-comment-through.ts +123 -0
- package/src/db/task-core.ts +44 -0
- package/src/db/task-deliverables-async.ts +60 -0
- package/src/db/task-deliverables-read-ops.ts +4 -0
- package/src/db/task-deliverables-write-ops.ts +37 -0
- package/src/db/task-deliverables.ts +387 -0
- package/src/db/task-dependency-cycle.worker.ts +43 -0
- package/src/db/task-detail-projection.ts +91 -0
- package/src/db/task-entity-async.ts +252 -0
- package/src/db/task-entity-read-ops.ts +51 -0
- package/src/db/task-entity-write-ops.ts +197 -0
- package/src/db/task-entity.ts +1143 -0
- package/src/db/task-execution.ts +20 -0
- package/src/db/task-issue-relation.ts +23 -0
- package/src/db/task-issue-source.ts +46 -0
- package/src/db/task-land-withdraw-async.ts +10 -0
- package/src/db/task-land-withdraw-read-ops.ts +13 -0
- package/src/db/task-land-withdraw-read.ts +47 -0
- package/src/db/task-land-withdraw-write-ops.ts +31 -0
- package/src/db/task-land-withdraw.ts +423 -0
- package/src/db/task-list.ts +113 -0
- package/src/db/task-maintenance.ts +25 -0
- package/src/db/task-memory-async.ts +19 -0
- package/src/db/task-memory-read-ops.ts +9 -0
- package/src/db/task-memory-write-ops.ts +23 -0
- package/src/db/task-memory.ts +170 -0
- package/src/db/task-owner.ts +126 -0
- package/src/db/task-read-ops.ts +44 -0
- package/src/db/task-review-hold-async.ts +20 -0
- package/src/db/task-review-hold-delivery.ts +58 -0
- package/src/db/task-review-hold-write-ops.ts +26 -0
- package/src/db/task-review-hold.ts +615 -0
- package/src/db/task-state-reconcile-async.ts +12 -0
- package/src/db/task-state-reconcile.ts +163 -0
- package/src/db/task-validation.ts +71 -0
- package/src/db/task-write-ops.ts +145 -0
- package/src/db/tasks.ts +528 -0
- package/src/db/team-epics.ts +37 -0
- package/src/db/team-idle.ts +35 -0
- package/src/db/team-project.ts +69 -0
- package/src/db/team-spawn-delegation-read.ts +36 -0
- package/src/db/team-spawn-delegation.ts +49 -0
- package/src/db/teams-async.ts +58 -0
- package/src/db/teams-read-ops.ts +27 -0
- package/src/db/teams-write-ops.ts +17 -0
- package/src/db/teams.ts +504 -0
- package/src/db/terminal-events.ts +113 -0
- package/src/db/timer-async.ts +523 -0
- package/src/db/timer-cutover-core.ts +545 -0
- package/src/db/timer-cutover-report-read-ops.ts +211 -0
- package/src/db/timer-cutover-write-ops.ts +282 -0
- package/src/db/timer-ingress-payload.ts +160 -0
- package/src/db/timer-ingress-read-ops.ts +39 -0
- package/src/db/timer-ingress-request-keys.ts +282 -0
- package/src/db/timer-ingress-write-ops.ts +154 -0
- package/src/db/timer-ingress.ts +515 -0
- package/src/db/timer-message-cutover.ts +322 -0
- package/src/db/timer-message-fire-deadletter.ts +136 -0
- package/src/db/timer-message-fire.ts +209 -0
- package/src/db/timer-message-flip-chaos-worker.ts +89 -0
- package/src/db/timer-message-flip-consistency.ts +147 -0
- package/src/db/timer-message-flip.ts +676 -0
- package/src/db/timer-message-participant.ts +138 -0
- package/src/db/timer-migrate-input.ts +92 -0
- package/src/db/timer-operator-async.ts +177 -0
- package/src/db/timer-operator-read-ops.ts +21 -0
- package/src/db/timer-operator-stage10.ts +119 -0
- package/src/db/timer-operator-write-ops.ts +116 -0
- package/src/db/timer-operator.ts +393 -0
- package/src/db/timer-read-ops.ts +147 -0
- package/src/db/timer-transfer-errors.ts +10 -0
- package/src/db/timer-transfer-write-ops.ts +43 -0
- package/src/db/timer-verifier-schema.ts +29 -0
- package/src/db/timer-verifier.ts +379 -0
- package/src/db/timer-write-ops.ts +291 -0
- package/src/db/token-db-write-ops.ts +96 -0
- package/src/db/token-standing.ts +84 -0
- package/src/db/token-usage-read-ops.ts +8 -0
- package/src/db/token-usage-write-ops.ts +35 -0
- package/src/db/token-usage.ts +338 -0
- package/src/db/tool-groups-empty-migration.ts +59 -0
- package/src/db/urgent-intake.ts +30 -0
- package/src/db/user-invites.ts +107 -0
- package/src/db/user-settings-read-ops.ts +19 -0
- package/src/db/user-settings-write-ops.ts +43 -0
- package/src/db/users.ts +173 -0
- package/src/db/vault-backup.ts +59 -0
- package/src/db/vault-expiry.ts +71 -0
- package/src/db/vault-health.ts +99 -0
- package/src/db/vault-token-launch.ts +77 -0
- package/src/db/vault-token-ops.ts +14 -0
- package/src/db/vault-tokens.ts +101 -0
- package/src/db/viewer-scope.ts +117 -0
- package/src/db/wal-checkpointer-worker.ts +48 -0
- package/src/db/wal-checkpointer.ts +107 -0
- package/src/db/wal-index.ts +53 -0
- package/src/db/wal-live-log.ts +68 -0
- package/src/db/wal-reclaim-async.ts +45 -0
- package/src/db/wal-reclaim.ts +140 -0
- package/src/db/web-tool-call-ops.ts +15 -0
- package/src/db/web-tool-calls.ts +87 -0
- package/src/db/withdraw-land-error.ts +18 -0
- package/src/db/work-evidence.ts +43 -0
- package/src/db/workflow-budget.ts +44 -0
- package/src/db/workflow-contact.ts +173 -0
- package/src/db/workflow-execution.ts +10 -0
- package/src/db/workflow-journal-async.ts +64 -0
- package/src/db/workflow-journal-prune.ts +71 -0
- package/src/db/workflow-journal-read-ops.ts +21 -0
- package/src/db/workflow-journal-schema.ts +9 -0
- package/src/db/workflow-journal-write-ops.ts +33 -0
- package/src/db/workflow-journal.ts +324 -0
- package/src/db/workflow-spawn-quota.ts +57 -0
- package/src/db/workflow-stats-read-ops.ts +177 -0
- package/src/db/workflow-step-tasks.ts +74 -0
- package/src/db/workflow-task-read-ops.ts +187 -0
- package/src/db/workspace-land-state.ts +65 -0
- package/src/db/workspace-merge-hold.ts +28 -0
- package/src/db/workspace-persistence.ts +77 -0
- package/src/db/workspace-rekey-write-ops.ts +11 -0
- package/src/db/workspace-rekey.ts +148 -0
- package/src/db/workspace-steward-cancel.ts +85 -0
- package/src/db/workspace-steward-fence.ts +30 -0
- package/src/db/workspace-write-ops.ts +26 -0
- package/src/db/workspace-writes-async.ts +46 -0
- package/src/db/workspace-writes.ts +196 -0
- package/src/db/workspaces.ts +617 -0
- package/src/db/write-ops.ts +602 -0
- package/src/db/writer-drain.ts +27 -0
- package/src/db/writer-fault-seam.ts +104 -0
- package/src/db/writer-gateway.ts +843 -0
- package/src/db/writer-ledger.ts +56 -0
- package/src/db.ts +4 -0
- package/src/deploy-executor.ts +139 -0
- package/src/dev.ts +541 -0
- package/src/dispatch-availability.ts +55 -0
- package/src/dispatch-match.ts +21 -0
- package/src/ephemeral/host-landing-slots-proof-worker.ts +45 -0
- package/src/ephemeral/index.ts +58 -0
- package/src/ephemeral/instance.ts +832 -0
- package/src/ephemeral/landing-ingress-proof-worker.ts +30 -0
- package/src/ephemeral/ports.ts +40 -0
- package/src/ephemeral/profile.ts +323 -0
- package/src/ephemeral/rehearsal-stamps.ts +149 -0
- package/src/ephemeral/rehearsal.ts +213 -0
- package/src/ephemeral/snapshot-kernel.ts +41 -0
- package/src/ephemeral/snapshot.ts +753 -0
- package/src/ephemeral/sweep.ts +40 -0
- package/src/event-loop-lag.ts +584 -0
- package/src/event-loop-yield.ts +27 -0
- package/src/events.ts +140 -0
- package/src/execution-mode.ts +63 -0
- package/src/fleet-convergence.ts +123 -0
- package/src/gate-resolver.ts +151 -0
- package/src/gate-run-capture.ts +71 -0
- package/src/git-sha.ts +58 -0
- package/src/guides.ts +73 -0
- package/src/host/capacity.ts +79 -0
- package/src/host/gate-capacity-alert.ts +90 -0
- package/src/host/identity.ts +128 -0
- package/src/host/presentation.ts +234 -0
- package/src/host/pressure-details.ts +89 -0
- package/src/host/pressure.ts +216 -0
- package/src/host/state.ts +132 -0
- package/src/host/utilization-buffer.ts +71 -0
- package/src/host-awareness.ts +57 -0
- package/src/host-identity.ts +39 -0
- package/src/host-provider-enablement.ts +75 -0
- package/src/host-provider-store.ts +102 -0
- package/src/host-tools.ts +39 -0
- package/src/http-body.ts +49 -0
- package/src/http-compression.ts +16 -0
- package/src/hub-metrics-report.ts +67 -0
- package/src/hub-metrics.ts +166 -0
- package/src/idle-digest-config.ts +40 -0
- package/src/idle-self-care.ts +58 -0
- package/src/index.ts +35 -0
- package/src/injection-sweep-pacing.ts +24 -0
- package/src/insights-async.ts +16 -0
- package/src/insights-db.ts +188 -0
- package/src/internal-spawn-model.ts +18 -0
- package/src/invite-link.ts +11 -0
- package/src/issue-tracker/adapter.ts +58 -0
- package/src/issue-tracker/github.ts +342 -0
- package/src/issue-tracker/index.ts +12 -0
- package/src/issue-tracker/registry.ts +26 -0
- package/src/journal-preamble.ts +350 -0
- package/src/kernel-correlation.ts +28 -0
- package/src/land-authorization.ts +73 -0
- package/src/land-block.ts +59 -0
- package/src/land-failure-event-key.ts +8 -0
- package/src/land-gate-failure-routing.ts +69 -0
- package/src/land-gate-notifications.ts +173 -0
- package/src/land-gate-queue-progress.ts +54 -0
- package/src/land-gates-source.ts +126 -0
- package/src/land-gates.ts +29 -0
- package/src/land-lifecycle-drives.ts +15 -0
- package/src/land-settle-dispatch.ts +134 -0
- package/src/land-stack-depth.ts +11 -0
- package/src/land-telemetry.ts +40 -0
- package/src/landing-base-ref.ts +3 -0
- package/src/landing-host-safety.ts +38 -0
- package/src/landing-lane-key.ts +74 -0
- package/src/launch-mode-support.ts +11 -0
- package/src/launch-mode.ts +58 -0
- package/src/legacy-landing.test-fixture.ts +56 -0
- package/src/lifecycle-context-pressure.ts +134 -0
- package/src/lifecycle-manager.ts +831 -0
- package/src/lifecycle-signal-registry.ts +87 -0
- package/src/live-runs-section.ts +38 -0
- package/src/loop-block-attribution.ts +442 -0
- package/src/loop-block-regression-alarm.ts +156 -0
- package/src/loop-task-stamps.ts +62 -0
- package/src/main-thread-clock.ts +95 -0
- package/src/maintenance/agent-identity-archive-job.ts +15 -0
- package/src/maintenance/artifact-checkout-gc-job.ts +14 -0
- package/src/maintenance/artifact-checkout-gc.ts +33 -0
- package/src/maintenance/artifact-sweep.ts +23 -0
- package/src/maintenance/breaker.ts +200 -0
- package/src/maintenance/cd-watcher.ts +176 -0
- package/src/maintenance/checkout-refresh.ts +83 -0
- package/src/maintenance/ci-monitor.ts +14 -0
- package/src/maintenance/claude-api-budget-job.ts +16 -0
- package/src/maintenance/constants.ts +134 -0
- package/src/maintenance/continuation-archive-search-job.ts +27 -0
- package/src/maintenance/critical-job-watchdog.ts +252 -0
- package/src/maintenance/db-planner-stats-job.ts +19 -0
- package/src/maintenance/db-wal-reclaim-job.ts +82 -0
- package/src/maintenance/events.ts +28 -0
- package/src/maintenance/gate-capacity-sample-job.ts +16 -0
- package/src/maintenance/index.ts +10 -0
- package/src/maintenance/jobs.ts +857 -0
- package/src/maintenance/long-running-work.ts +41 -0
- package/src/maintenance/orphaned-sessions.ts +126 -0
- package/src/maintenance/pauses.ts +174 -0
- package/src/maintenance/provider-secret-scrub-job.ts +16 -0
- package/src/maintenance/queued-message-expiration.ts +23 -0
- package/src/maintenance/red-main-controller-job.ts +22 -0
- package/src/maintenance/reply-obligation-parity-job.ts +27 -0
- package/src/maintenance/restart-epoch-hold-health.ts +62 -0
- package/src/maintenance/run-registry.ts +194 -0
- package/src/maintenance/scheduler.ts +778 -0
- package/src/maintenance/service-access-job.ts +31 -0
- package/src/maintenance/shipping-stats-rollup-job.ts +23 -0
- package/src/maintenance/snapshot-ledger-prune-job.ts +17 -0
- package/src/maintenance/stalled-delivery-pager.ts +125 -0
- package/src/maintenance/steward-handback.ts +11 -0
- package/src/maintenance/task-state-reconcile-job.ts +22 -0
- package/src/maintenance/teams.ts +426 -0
- package/src/maintenance/types.ts +124 -0
- package/src/maintenance/vault-backup-job.ts +34 -0
- package/src/maintenance/vault-expiry-job.ts +29 -0
- package/src/maintenance/web-tool-call-prune-job.ts +13 -0
- package/src/maintenance/workflow-backstop-job.ts +12 -0
- package/src/maintenance/workflow-journal-prune-job.ts +29 -0
- package/src/maintenance/workspaces.ts +784 -0
- package/src/maintenance.ts +1 -0
- package/src/managed-policy-escalation.ts +123 -0
- package/src/managed-policy.ts +236 -0
- package/src/managed-provider-gate.ts +27 -0
- package/src/managed-spawn-reservation.ts +23 -0
- package/src/markdown-frontmatter.ts +14 -0
- package/src/mcp/activity-output.ts +57 -0
- package/src/mcp/artifact-upload.ts +53 -0
- package/src/mcp/context-output.ts +73 -0
- package/src/mcp/dispatch-shape-schema.ts +13 -0
- package/src/mcp/guides.ts +33 -0
- package/src/mcp/http.ts +27 -0
- package/src/mcp/identity-projection.ts +121 -0
- package/src/mcp/identity.ts +235 -0
- package/src/mcp/index.ts +355 -0
- package/src/mcp/issue-selector-schema.ts +12 -0
- package/src/mcp/message-read.ts +87 -0
- package/src/mcp/output-descriptions.ts +72 -0
- package/src/mcp/output-levels.ts +71 -0
- package/src/mcp/output-projection.ts +88 -0
- package/src/mcp/plan-presentation.ts +166 -0
- package/src/mcp/presentation-values.ts +11 -0
- package/src/mcp/presentation.ts +653 -0
- package/src/mcp/project-entry-search-schema.ts +7 -0
- package/src/mcp/prompts.ts +36 -0
- package/src/mcp/runtime-output.ts +84 -0
- package/src/mcp/schema-budget.ts +28 -0
- package/src/mcp/self-care-visibility.ts +23 -0
- package/src/mcp/service-access.ts +18 -0
- package/src/mcp/spawn-targets-matrix.ts +68 -0
- package/src/mcp/spawn-targets.test-fixture.ts +21 -0
- package/src/mcp/task-validation-presentation.ts +19 -0
- package/src/mcp/tool-generation.ts +8 -0
- package/src/mcp/tool-groups.ts +136 -0
- package/src/mcp/tools-artifacts.ts +82 -0
- package/src/mcp/tools-messaging.ts +541 -0
- package/src/mcp/tools-permission.ts +88 -0
- package/src/mcp/tools-run.ts +73 -0
- package/src/mcp/tools-scheduler.ts +156 -0
- package/src/mcp/tools-spawn.ts +418 -0
- package/src/mcp/tools-web-tool-calls.ts +28 -0
- package/src/mcp/tools-workspace.ts +260 -0
- package/src/mcp/types.ts +68 -0
- package/src/mcp/validation.ts +66 -0
- package/src/mcp-agent-action.ts +96 -0
- package/src/mcp-agent-keep.ts +37 -0
- package/src/mcp-backlog-tools.ts +137 -0
- package/src/mcp-blackboard-tools.ts +131 -0
- package/src/mcp-channel-binding-tools.ts +27 -0
- package/src/mcp-claude-api-budget.ts +35 -0
- package/src/mcp-codex-reset.ts +43 -0
- package/src/mcp-decision-tools.ts +96 -0
- package/src/mcp-dispatch-tools.ts +142 -0
- package/src/mcp-egress-tools.ts +168 -0
- package/src/mcp-errors.ts +7 -0
- package/src/mcp-host-tools.ts +61 -0
- package/src/mcp-interrupt-agent.ts +47 -0
- package/src/mcp-issue-activity-tools.ts +114 -0
- package/src/mcp-issue-association-tools.ts +103 -0
- package/src/mcp-issue-lifecycle-tools.ts +49 -0
- package/src/mcp-issue-ref-tools.ts +214 -0
- package/src/mcp-maintenance-tools.ts +113 -0
- package/src/mcp-merge-tools.ts +66 -0
- package/src/mcp-notification-subscription-tools.ts +297 -0
- package/src/mcp-output-levels.test-fixture.ts +95 -0
- package/src/mcp-plan-tools.ts +347 -0
- package/src/mcp-profile-trust-tools.ts +47 -0
- package/src/mcp-project-journal-tools.ts +160 -0
- package/src/mcp-project-tools.ts +420 -0
- package/src/mcp-provider-catalog.ts +9 -0
- package/src/mcp-release-tools.ts +33 -0
- package/src/mcp-routing-policy-tools.ts +35 -0
- package/src/mcp-secrets-tools.ts +87 -0
- package/src/mcp-task-deliver-tools.ts +166 -0
- package/src/mcp-task-land-withdraw-tools.ts +49 -0
- package/src/mcp-task-memory-tools.ts +119 -0
- package/src/mcp-task-review-hold-tools.ts +57 -0
- package/src/mcp-task-tools.ts +342 -0
- package/src/mcp-task-validation-tools.ts +30 -0
- package/src/mcp-task-weave-tools.ts +63 -0
- package/src/mcp-team-template-tools.ts +141 -0
- package/src/mcp-team-tools.ts +197 -0
- package/src/mcp-tool-allowlist.ts +88 -0
- package/src/mcp-workflow-tools.ts +158 -0
- package/src/mcp.ts +1 -0
- package/src/memory-admission-rank.ts +55 -0
- package/src/memory-area-injection.ts +216 -0
- package/src/memory-boundary-capture.ts +206 -0
- package/src/memory-entry-safety.ts +28 -0
- package/src/memory-inject-filter.ts +190 -0
- package/src/memory-injection.ts +954 -0
- package/src/memory-preamble-admission.ts +158 -0
- package/src/memory-preamble-async.ts +13 -0
- package/src/memory-preamble.ts +1142 -0
- package/src/memory-retirement.ts +11 -0
- package/src/memory-seam.ts +273 -0
- package/src/memory-tokens.ts +91 -0
- package/src/merge-drain.ts +101 -0
- package/src/merge-pause-maintenance.ts +19 -0
- package/src/message-visibility.ts +50 -0
- package/src/messaging-policy.ts +94 -0
- package/src/native-memory.ts +59 -0
- package/src/notification-prefs.ts +25 -0
- package/src/notification-role-policy.ts +14 -0
- package/src/notification-router.ts +329 -0
- package/src/notification-rules.ts +390 -0
- package/src/notification-settings-store.ts +47 -0
- package/src/notification-settings.ts +166 -0
- package/src/notification-subscription-rules.ts +11 -0
- package/src/notification-types.ts +312 -0
- package/src/notify.ts +55 -0
- package/src/observed-reset-boundary.ts +23 -0
- package/src/observed-reset-refresh.ts +21 -0
- package/src/operator-alarm.ts +41 -0
- package/src/operator-decisions-section.ts +29 -0
- package/src/orchestrator-lookup.ts +29 -0
- package/src/orchestrator-self-report-authz.ts +34 -0
- package/src/package-pack.ts +249 -0
- package/src/post-bind-startup.ts +58 -0
- package/src/process-guard.ts +31 -0
- package/src/profile-cells.ts +305 -0
- package/src/profile-effective-survey.ts +121 -0
- package/src/profile-host-sources.ts +73 -0
- package/src/profile-instruction-blocks.ts +11 -0
- package/src/profile-project-validation.ts +23 -0
- package/src/profile-provider-options.ts +59 -0
- package/src/profile-role-templates.ts +26 -0
- package/src/profile-workflow-policy.ts +14 -0
- package/src/project-claudemd-sweep.ts +176 -0
- package/src/project-file-source.ts +54 -0
- package/src/project-ingest.ts +195 -0
- package/src/project-instructions.ts +700 -0
- package/src/project-mcp.ts +18 -0
- package/src/project-role-assets.ts +109 -0
- package/src/project-roles-validate.ts +53 -0
- package/src/project-roles.ts +364 -0
- package/src/project-settings.ts +5 -0
- package/src/project-skills.ts +5 -0
- package/src/project-toolchain.ts +58 -0
- package/src/project-trust-fingerprint.ts +174 -0
- package/src/project-trust.ts +262 -0
- package/src/project-workflows.ts +185 -0
- package/src/prompt-resolver.ts +697 -0
- package/src/prompt-template-fallback.ts +15 -0
- package/src/prompt-version-errors.ts +13 -0
- package/src/provider-catalog-store.ts +393 -0
- package/src/provider-config-store.ts +308 -0
- package/src/provider-enablement.ts +36 -0
- package/src/provider-home-gc.ts +58 -0
- package/src/provider-model-seed.ts +18 -0
- package/src/provider-quota-async.ts +152 -0
- package/src/provider-quota-config-store.ts +60 -0
- package/src/provider-secrets.test-fixture.ts +34 -0
- package/src/provider-state.ts +93 -0
- package/src/provider-timeline-event.ts +76 -0
- package/src/quota-advisory.ts +359 -0
- package/src/quota-band-delivery.ts +13 -0
- package/src/quota-band-projection.ts +149 -0
- package/src/quota-band-transition.ts +316 -0
- package/src/quota-pacing.ts +46 -0
- package/src/quota-threshold-config.ts +46 -0
- package/src/quota.ts +61 -0
- package/src/ratchet-files.ts +202 -0
- package/src/recipe-async.ts +50 -0
- package/src/recipe-db.ts +260 -0
- package/src/recipe-loader.ts +132 -0
- package/src/recipe-runner.ts +259 -0
- package/src/recipe-validator.ts +107 -0
- package/src/relay-event-drain.ts +39 -0
- package/src/relay-host-locality.ts +20 -0
- package/src/relay-run-lease.ts +17 -0
- package/src/repo-config-source.ts +209 -0
- package/src/report-verbosity.ts +5 -0
- package/src/restart-epoch-deploy-hold.ts +221 -0
- package/src/retention-config-store.ts +32 -0
- package/src/retention-config.ts +70 -0
- package/src/reviewer-pipeline.ts +238 -0
- package/src/routes/_route.ts +70 -0
- package/src/routes/_shared.ts +513 -0
- package/src/routes/activity.ts +70 -0
- package/src/routes/agent-effort.ts +69 -0
- package/src/routes/agent-keep.ts +27 -0
- package/src/routes/agent-profiles.ts +169 -0
- package/src/routes/agent-reporting.ts +19 -0
- package/src/routes/agent-self-effort.ts +51 -0
- package/src/routes/agent-sessions.ts +650 -0
- package/src/routes/agent-sharing.ts +23 -0
- package/src/routes/agents-spawn.ts +258 -0
- package/src/routes/agents.ts +452 -0
- package/src/routes/artifacts.ts +340 -0
- package/src/routes/auth.ts +123 -0
- package/src/routes/authority-audit.ts +14 -0
- package/src/routes/automations.ts +83 -0
- package/src/routes/backlog.ts +112 -0
- package/src/routes/blackboard.ts +54 -0
- package/src/routes/browser.ts +73 -0
- package/src/routes/channel-binding-delete.ts +21 -0
- package/src/routes/channel-output.ts +17 -0
- package/src/routes/claude-api-budget.ts +65 -0
- package/src/routes/commands-listing.ts +50 -0
- package/src/routes/commands.ts +586 -0
- package/src/routes/config.ts +75 -0
- package/src/routes/connectors.ts +108 -0
- package/src/routes/context-resets.ts +35 -0
- package/src/routes/continuation-archives.ts +37 -0
- package/src/routes/coordinator-teams.ts +14 -0
- package/src/routes/decisions.ts +82 -0
- package/src/routes/deploys.ts +15 -0
- package/src/routes/fleet-convergence.ts +5 -0
- package/src/routes/guides.ts +13 -0
- package/src/routes/host-providers.ts +73 -0
- package/src/routes/host-resource-control.ts +48 -0
- package/src/routes/host-secret-files.ts +38 -0
- package/src/routes/hosts.ts +240 -0
- package/src/routes/inbox.ts +151 -0
- package/src/routes/index.ts +614 -0
- package/src/routes/insights.ts +86 -0
- package/src/routes/integrations.ts +636 -0
- package/src/routes/issue-activity.ts +78 -0
- package/src/routes/issue-associations.ts +76 -0
- package/src/routes/issue-lifecycle.ts +34 -0
- package/src/routes/issue-refs.ts +163 -0
- package/src/routes/kernel-timers-operator.ts +57 -0
- package/src/routes/memory.ts +25 -0
- package/src/routes/merges.ts +109 -0
- package/src/routes/message-viewer.ts +4 -0
- package/src/routes/messages.ts +621 -0
- package/src/routes/notifications.ts +36 -0
- package/src/routes/orchestrator-bootstrap.ts +101 -0
- package/src/routes/orchestrator-host-registration.ts +125 -0
- package/src/routes/orchestrator-host-utilization.ts +255 -0
- package/src/routes/orchestrator-proxy.ts +174 -0
- package/src/routes/orchestrator.ts +699 -0
- package/src/routes/pairs.ts +214 -0
- package/src/routes/plans.ts +98 -0
- package/src/routes/project-onboarding.ts +56 -0
- package/src/routes/project-trust.ts +73 -0
- package/src/routes/projects.ts +296 -0
- package/src/routes/prompt-templates.ts +106 -0
- package/src/routes/provider-config.ts +233 -0
- package/src/routes/provider-quota-config.ts +48 -0
- package/src/routes/provider-quotas.ts +312 -0
- package/src/routes/provisioning-registry.ts +192 -0
- package/src/routes/recipes.ts +129 -0
- package/src/routes/restart-epochs.ts +98 -0
- package/src/routes/routing-policy.ts +30 -0
- package/src/routes/run-command.ts +25 -0
- package/src/routes/secrets-backup.ts +53 -0
- package/src/routes/secrets-import.ts +32 -0
- package/src/routes/secrets-page.ts +98 -0
- package/src/routes/secrets-vault.ts +121 -0
- package/src/routes/secrets.ts +165 -0
- package/src/routes/service-access.ts +57 -0
- package/src/routes/settings.ts +191 -0
- package/src/routes/shipping.ts +56 -0
- package/src/routes/spawn-policy.ts +299 -0
- package/src/routes/spec.ts +58 -0
- package/src/routes/sse.ts +18 -0
- package/src/routes/stats.ts +159 -0
- package/src/routes/steward.ts +49 -0
- package/src/routes/task-graph.ts +30 -0
- package/src/routes/task-http.ts +27 -0
- package/src/routes/task-issues.ts +81 -0
- package/src/routes/task-reads.ts +139 -0
- package/src/routes/task-validation.ts +22 -0
- package/src/routes/tasks.ts +553 -0
- package/src/routes/team-templates.ts +65 -0
- package/src/routes/teams-config.ts +15 -0
- package/src/routes/teams.ts +141 -0
- package/src/routes/token-usage.ts +167 -0
- package/src/routes/tokens.ts +393 -0
- package/src/routes/users.ts +248 -0
- package/src/routes/viewer-read.ts +27 -0
- package/src/routes/web-tool-calls.ts +38 -0
- package/src/routes/workflows.ts +142 -0
- package/src/routes/workspaces.ts +642 -0
- package/src/routes.ts +3 -0
- package/src/routing-eligibility.ts +42 -0
- package/src/routing-model-aliases.ts +21 -0
- package/src/routing-policy-normalize.ts +412 -0
- package/src/routing-policy-push.ts +154 -0
- package/src/routing-policy-service.ts +19 -0
- package/src/routing-policy-store.ts +16 -0
- package/src/routing-preferences.ts +82 -0
- package/src/routing-step-defaults.ts +31 -0
- package/src/runtime-grant.ts +164 -0
- package/src/runtime-prefix.ts +8 -0
- package/src/runtime-tokens.ts +404 -0
- package/src/search-query.ts +10 -0
- package/src/secret-keys.ts +24 -0
- package/src/secrets-broker/config.ts +53 -0
- package/src/secrets-broker/error.ts +8 -0
- package/src/secrets-broker/infisical.ts +259 -0
- package/src/secrets-broker/reader-infisical.ts +41 -0
- package/src/secrets-broker/reader.ts +101 -0
- package/src/secrets-broker/service.ts +242 -0
- package/src/secrets-broker/tool-credentials.ts +9 -0
- package/src/secrets-vault/backend-conformance.ts +26 -0
- package/src/secrets-vault/backend.ts +102 -0
- package/src/secrets-vault/backup.ts +103 -0
- package/src/secrets-vault/config.ts +7 -0
- package/src/secrets-vault/expiry.ts +10 -0
- package/src/secrets-vault/identity.ts +27 -0
- package/src/secrets-vault/import.ts +90 -0
- package/src/secrets-vault/key-files.ts +91 -0
- package/src/secrets-vault/keys.ts +79 -0
- package/src/secrets-vault/metadata.ts +51 -0
- package/src/secrets-vault/provider-env.ts +25 -0
- package/src/secrets-vault/resolve.ts +101 -0
- package/src/secrets-vault/restore.ts +57 -0
- package/src/secrets-vault/scope.ts +25 -0
- package/src/secrets-vault/service.ts +192 -0
- package/src/secrets-vault/shared.ts +10 -0
- package/src/security.ts +772 -0
- package/src/self-effort-rule.ts +36 -0
- package/src/self-resume-carry.ts +131 -0
- package/src/self-resume-command.ts +24 -0
- package/src/self-resume-config.ts +54 -0
- package/src/self-resume-identity.ts +40 -0
- package/src/self-resume-supersede.ts +19 -0
- package/src/self-resume.ts +884 -0
- package/src/server-background.ts +24 -0
- package/src/server.ts +726 -0
- package/src/service-access/config.ts +3 -0
- package/src/service-access/health.ts +151 -0
- package/src/service-access/host-health.ts +62 -0
- package/src/service-access/host.ts +63 -0
- package/src/service-access/operations.ts +21 -0
- package/src/service-access/policy.ts +30 -0
- package/src/service-access/probe.ts +62 -0
- package/src/service-access/request-logs.ts +93 -0
- package/src/service-access/scope.ts +7 -0
- package/src/service-access/service.ts +185 -0
- package/src/service-access/tokens.ts +174 -0
- package/src/service-access/validation.ts +75 -0
- package/src/service-access/vault.ts +59 -0
- package/src/services/agent-action.ts +238 -0
- package/src/services/agent-control-host.ts +74 -0
- package/src/services/agent-effort.ts +60 -0
- package/src/services/agent-hang-watchdog-job.ts +513 -0
- package/src/services/agent-hang-watchdog-wiring.ts +487 -0
- package/src/services/agent-hang-watchdog.ts +395 -0
- package/src/services/agent-keep.ts +72 -0
- package/src/services/agent-message-fanout.ts +91 -0
- package/src/services/agent-outstanding-work.ts +66 -0
- package/src/services/agent-reporting.ts +27 -0
- package/src/services/artifact-access.ts +39 -0
- package/src/services/artifact-multipart.ts +70 -0
- package/src/services/artifact-path-host.ts +55 -0
- package/src/services/artifact-read.ts +88 -0
- package/src/services/artifact-write.ts +25 -0
- package/src/services/auth-context.ts +117 -0
- package/src/services/automatic-disposal.ts +33 -0
- package/src/services/backlog.ts +149 -0
- package/src/services/browser-inventory.ts +52 -0
- package/src/services/browser-session-state.ts +41 -0
- package/src/services/browser-session.ts +167 -0
- package/src/services/bus-command-update.ts +84 -0
- package/src/services/bus-expiration-death.ts +57 -0
- package/src/services/canonical-root.ts +284 -0
- package/src/services/captured-delivery-gate.ts +12 -0
- package/src/services/carry-pending.ts +5 -0
- package/src/services/channel-binding-delete.ts +20 -0
- package/src/services/channel-suppression-receipt.ts +28 -0
- package/src/services/checkout-refresh-state.ts +18 -0
- package/src/services/checkout-refresh.test-fixture.ts +12 -0
- package/src/services/child-work-evidence.ts +77 -0
- package/src/services/claude-app.ts +91 -0
- package/src/services/command-claim-rejection.ts +23 -0
- package/src/services/command-host.ts +42 -0
- package/src/services/coordinator-digest.ts +30 -0
- package/src/services/decision-audience.ts +26 -0
- package/src/services/delivery-gate-policy.ts +98 -0
- package/src/services/delivery-tip.test-fixture.ts +25 -0
- package/src/services/diff-gate.ts +110 -0
- package/src/services/dispatch-command.ts +388 -0
- package/src/services/effective-launch-driver.ts +240 -0
- package/src/services/effective-launch-harness.ts +257 -0
- package/src/services/errors.ts +31 -0
- package/src/services/git-process.ts +176 -0
- package/src/services/git-remote.ts +100 -0
- package/src/services/harness-subagents.ts +12 -0
- package/src/services/host-changed-paths.test-fixture.ts +134 -0
- package/src/services/host-landing-placement.ts +65 -0
- package/src/services/host-project-readiness.ts +49 -0
- package/src/services/host-providers.ts +114 -0
- package/src/services/host-utilization.ts +70 -0
- package/src/services/idle-agent-digest.ts +318 -0
- package/src/services/idle-epics.ts +105 -0
- package/src/services/idle-self-care.ts +47 -0
- package/src/services/interrupt-agent.ts +146 -0
- package/src/services/isolated-workspace-placement.ts +258 -0
- package/src/services/issue-activity.ts +23 -0
- package/src/services/issue-associations.ts +72 -0
- package/src/services/issue-completion-drain.ts +24 -0
- package/src/services/issue-completion.ts +24 -0
- package/src/services/issue-lifecycle-comments.ts +12 -0
- package/src/services/issue-lifecycle.ts +620 -0
- package/src/services/issue-refs.ts +65 -0
- package/src/services/kernel-command-bridge.ts +219 -0
- package/src/services/kernel-control-host.ts +78 -0
- package/src/services/kernel-control-http.ts +119 -0
- package/src/services/kernel-control-mcp.ts +193 -0
- package/src/services/kernel-landing-command.ts +28 -0
- package/src/services/kernel-landing-ingress.ts +65 -0
- package/src/services/kernel-timers-authoritative-ingress.ts +48 -0
- package/src/services/kernel-timers-authz.ts +229 -0
- package/src/services/kernel-timers-command.ts +182 -0
- package/src/services/kernel-timers-cutover-chaos-worker.ts +211 -0
- package/src/services/kernel-timers-cutover.ts +39 -0
- package/src/services/kernel-timers-ingress-apply.ts +39 -0
- package/src/services/kernel-timers-ingress-chaos-worker.ts +312 -0
- package/src/services/kernel-timers-ingress.ts +702 -0
- package/src/services/kernel-timers-message-authority-chaos-worker.ts +97 -0
- package/src/services/kernel-timers-migrate.ts +158 -0
- package/src/services/kernel-timers-operator-chaos-worker.ts +259 -0
- package/src/services/kernel-timers-operator-preflight.ts +18 -0
- package/src/services/kernel-timers-operator.ts +424 -0
- package/src/services/kernel-timers-outbox.ts +138 -0
- package/src/services/kernel-timers-request-key-migration-chaos-worker.ts +80 -0
- package/src/services/kernel-timers-stage10-operator.ts +210 -0
- package/src/services/kernel-timers-stage10.ts +85 -0
- package/src/services/kernel-timers-stage9.ts +57 -0
- package/src/services/kernel-timers-transfer-chaos-worker.ts +118 -0
- package/src/services/kernel-timers-transfer.ts +525 -0
- package/src/services/kernel-timers-verifier.ts +39 -0
- package/src/services/kernel-timers.ts +247 -0
- package/src/services/land-boundary-settle.ts +32 -0
- package/src/services/land-gate-placement.ts +60 -0
- package/src/services/land-issue-relations.ts +46 -0
- package/src/services/land-restart-retry.ts +77 -0
- package/src/services/landed-ancestry.ts +417 -0
- package/src/services/landed-task-attribution.ts +14 -0
- package/src/services/landing-terminal-report.ts +119 -0
- package/src/services/legacy-landing-backfill.ts +159 -0
- package/src/services/legacy-landing-host.ts +291 -0
- package/src/services/legacy-landing-publication.ts +35 -0
- package/src/services/legacy-landing-recovery.ts +111 -0
- package/src/services/macos-privacy.ts +34 -0
- package/src/services/managed-running.ts +189 -0
- package/src/services/memory-areas.ts +172 -0
- package/src/services/memory-identity.ts +162 -0
- package/src/services/merge-pause.ts +37 -0
- package/src/services/message-delivery-actions.ts +11 -0
- package/src/services/operator-decisions.ts +260 -0
- package/src/services/orchestrator-landing-recovery.ts +55 -0
- package/src/services/orchestrator-registration-recovery.ts +12 -0
- package/src/services/orchestrator-upgrade.ts +83 -0
- package/src/services/parity-harness.ts +141 -0
- package/src/services/permission-decision.ts +129 -0
- package/src/services/plan-ci-recovery.ts +76 -0
- package/src/services/plan-conformance.ts +105 -0
- package/src/services/plan-dispatch-policy.ts +79 -0
- package/src/services/plan-dispatch.ts +372 -0
- package/src/services/plan-external-view.ts +7 -0
- package/src/services/plan-frontier.ts +34 -0
- package/src/services/plan-graph.ts +703 -0
- package/src/services/plan-import.ts +66 -0
- package/src/services/plan-live-bindings.ts +139 -0
- package/src/services/plan-task-create.ts +80 -0
- package/src/services/plan-terminal-refs.ts +83 -0
- package/src/services/plan-wake-digest.ts +88 -0
- package/src/services/plan-wake-policy.ts +12 -0
- package/src/services/profile-trust.ts +54 -0
- package/src/services/project-checkout-binding.ts +65 -0
- package/src/services/project-checkout-enrollment.ts +27 -0
- package/src/services/project-cwd.ts +41 -0
- package/src/services/project-onboarding.ts +165 -0
- package/src/services/project-repo-create.ts +27 -0
- package/src/services/project-role.test-fixture.ts +74 -0
- package/src/services/project.ts +191 -0
- package/src/services/prompt-templates.ts +46 -0
- package/src/services/prompt-version-writer.ts +42 -0
- package/src/services/provider-catalog.ts +7 -0
- package/src/services/provider-hold-flap.ts +130 -0
- package/src/services/provider-hold-nudge.ts +191 -0
- package/src/services/provider-hold-record.ts +137 -0
- package/src/services/provider-state-audit.ts +214 -0
- package/src/services/provisioning-harness/analyze.ts +285 -0
- package/src/services/provisioning-harness/budget-baseline.json +391 -0
- package/src/services/provisioning-harness/capture.ts +197 -0
- package/src/services/provisioning-harness/config.ts +55 -0
- package/src/services/provisioning-harness/context-sources.ts +85 -0
- package/src/services/provisioning-harness/driver.ts +156 -0
- package/src/services/provisioning-harness/expect.ts +81 -0
- package/src/services/provisioning-harness/fixture-matrix.ts +38 -0
- package/src/services/provisioning-harness/fixtures/project/.agent-relay/land-gates.json +1 -0
- package/src/services/provisioning-harness/fixtures/project/.claude/skills/harness-skill/SKILL.md +6 -0
- package/src/services/provisioning-harness/fixtures/project/.mcp.json +1 -0
- package/src/services/provisioning-harness/fixtures/project/AGENTS.md +1 -0
- package/src/services/provisioning-harness/fixtures/project/CLAUDE.md +1 -0
- package/src/services/provisioning-harness/fixtures/project/mcp-server.ts +33 -0
- package/src/services/provisioning-harness/fixtures/provider-home/AGENTS.md +1 -0
- package/src/services/provisioning-harness/fixtures/provider-home/CLAUDE.md +1 -0
- package/src/services/provisioning-harness/host-fixtures.ts +25 -0
- package/src/services/provisioning-harness/index.ts +4 -0
- package/src/services/provisioning-harness/inventory-types.ts +8 -0
- package/src/services/provisioning-harness/inventory.ts +33 -0
- package/src/services/provisioning-harness/lifecycle.ts +193 -0
- package/src/services/provisioning-harness/live.ts +61 -0
- package/src/services/provisioning-harness/manifests.ts +118 -0
- package/src/services/provisioning-harness/prepare.ts +113 -0
- package/src/services/provisioning-harness/redundancy-report.ts +32 -0
- package/src/services/provisioning-harness/redundancy.ts +137 -0
- package/src/services/provisioning-harness/report.ts +129 -0
- package/src/services/provisioning-harness/types.ts +174 -0
- package/src/services/provisioning-registry.ts +15 -0
- package/src/services/rate-limit-resume.ts +220 -0
- package/src/services/reap-verdict.ts +52 -0
- package/src/services/red-main-auto-revert.ts +103 -0
- package/src/services/red-main-controller-deps.ts +80 -0
- package/src/services/red-main-controller.ts +262 -0
- package/src/services/red-main-incident.ts +44 -0
- package/src/services/red-main-quarantine.ts +92 -0
- package/src/services/register-agent.ts +447 -0
- package/src/services/release-readiness.ts +219 -0
- package/src/services/reported-exit-death.ts +29 -0
- package/src/services/response-report-admission.ts +17 -0
- package/src/services/restart-epoch-driver.ts +290 -0
- package/src/services/restart-epoch-reconciler.ts +326 -0
- package/src/services/restart-epoch-stale-command-recovery.ts +133 -0
- package/src/services/restart-instructions.ts +86 -0
- package/src/services/restart-project-role.ts +74 -0
- package/src/services/restart-secret-refs.ts +14 -0
- package/src/services/restart-spawn.ts +510 -0
- package/src/services/review-publish.ts +76 -0
- package/src/services/review-ref-reconcile.ts +337 -0
- package/src/services/run-command-input.ts +22 -0
- package/src/services/run-command.ts +510 -0
- package/src/services/run-completion-message.ts +70 -0
- package/src/services/run-log.ts +212 -0
- package/src/services/run-queue.ts +63 -0
- package/src/services/scheduler-command-cancel.ts +49 -0
- package/src/services/scheduler-command.ts +590 -0
- package/src/services/scheduler-create.ts +25 -0
- package/src/services/scheduler-plan.ts +202 -0
- package/src/services/scheduler-recovery.ts +31 -0
- package/src/services/scheduler.ts +406 -0
- package/src/services/self-care-state.ts +10 -0
- package/src/services/self-effort-grant.ts +93 -0
- package/src/services/self-effort.ts +152 -0
- package/src/services/send-message.ts +548 -0
- package/src/services/server-credentials.ts +53 -0
- package/src/services/shipping-board.ts +111 -0
- package/src/services/shipping-project-config.ts +86 -0
- package/src/services/shipping-stats.ts +86 -0
- package/src/services/shutdown-agent.ts +463 -0
- package/src/services/shutdown-watchdog.ts +119 -0
- package/src/services/spawn-agent.ts +967 -0
- package/src/services/spawn-approval.ts +26 -0
- package/src/services/spawn-brief.ts +39 -0
- package/src/services/spawn-chain-inspector.ts +286 -0
- package/src/services/spawn-cwd-placement.ts +250 -0
- package/src/services/spawn-identity.ts +127 -0
- package/src/services/spawn-instruction-inputs.ts +114 -0
- package/src/services/spawn-issue-activity.ts +102 -0
- package/src/services/spawn-launch-decision.ts +32 -0
- package/src/services/spawn-launch.ts +116 -0
- package/src/services/spawn-loss-escalation.ts +253 -0
- package/src/services/spawn-placement.test-fixture.ts +30 -0
- package/src/services/spawn-project-role.ts +133 -0
- package/src/services/spawn-registration-watchdog.ts +352 -0
- package/src/services/spawn-replay.ts +61 -0
- package/src/services/spawn-repo-probe.ts +118 -0
- package/src/services/spawn-tree-cleanup.ts +37 -0
- package/src/services/spawn-warnings.ts +13 -0
- package/src/services/steward-reaper.ts +244 -0
- package/src/services/task-context-hydration.ts +413 -0
- package/src/services/task-delivery-close.ts +26 -0
- package/src/services/task-delivery-event.ts +11 -0
- package/src/services/task-delivery-land-policy.ts +35 -0
- package/src/services/task-delivery-summary.ts +38 -0
- package/src/services/task-delivery.ts +762 -0
- package/src/services/task-dependency-graph.ts +116 -0
- package/src/services/task-dispatch.ts +178 -0
- package/src/services/task-done-when.ts +45 -0
- package/src/services/task-entity.ts +758 -0
- package/src/services/task-from-issue.ts +80 -0
- package/src/services/task-issue-digest.ts +45 -0
- package/src/services/task-issue-link.ts +158 -0
- package/src/services/task-issue-weave.ts +570 -0
- package/src/services/task-land-withdraw.ts +462 -0
- package/src/services/task-lifecycle.ts +668 -0
- package/src/services/task-nothing-to-land.ts +37 -0
- package/src/services/task-plan-view.ts +172 -0
- package/src/services/task-review-hold.ts +244 -0
- package/src/services/task-semantic-events.ts +396 -0
- package/src/services/task-stage-wake.ts +15 -0
- package/src/services/task-state-reconcile.ts +169 -0
- package/src/services/task-validation.ts +42 -0
- package/src/services/team-claim-race.worker.ts +72 -0
- package/src/services/team-spawn-delegation.ts +30 -0
- package/src/services/team-templates.ts +172 -0
- package/src/services/team.ts +320 -0
- package/src/services/terminal-provider-exit.ts +57 -0
- package/src/services/timer-message-fire-chaos-worker.ts +29 -0
- package/src/services/timer-message-fire-outbox.ts +184 -0
- package/src/services/transient-agent-reaper.ts +412 -0
- package/src/services/turn-reconcile-audit.ts +236 -0
- package/src/services/user-onboarding.ts +98 -0
- package/src/services/user-profile.ts +57 -0
- package/src/services/web-search.ts +83 -0
- package/src/services/web-tool-calls.ts +65 -0
- package/src/services/withdraw-steward.ts +57 -0
- package/src/services/work-finality.ts +34 -0
- package/src/services/workflow-agent-obligation.ts +35 -0
- package/src/services/workflow-auto-start.ts +126 -0
- package/src/services/workflow-backstop.ts +38 -0
- package/src/services/workflow-budget.test-fixture.ts +10 -0
- package/src/services/workflow-caller.ts +32 -0
- package/src/services/workflow-catalog.ts +43 -0
- package/src/services/workflow-child-proof-worker.ts +76 -0
- package/src/services/workflow-child.test-fixture.ts +51 -0
- package/src/services/workflow-ci-main.ts +93 -0
- package/src/services/workflow-control-proof-worker.ts +149 -0
- package/src/services/workflow-coordinator-decision-proof-worker.ts +123 -0
- package/src/services/workflow-coordinator.ts +8 -0
- package/src/services/workflow-decision-answer.ts +18 -0
- package/src/services/workflow-decision-proof-worker.ts +92 -0
- package/src/services/workflow-decision.test-fixture.ts +58 -0
- package/src/services/workflow-decisions.ts +107 -0
- package/src/services/workflow-deferred-cleanup.ts +40 -0
- package/src/services/workflow-dispatch-result.ts +20 -0
- package/src/services/workflow-effect-driver.ts +165 -0
- package/src/services/workflow-effects.ts +544 -0
- package/src/services/workflow-foreach-proof-worker.ts +209 -0
- package/src/services/workflow-land-notice.ts +18 -0
- package/src/services/workflow-land.ts +105 -0
- package/src/services/workflow-notice.ts +32 -0
- package/src/services/workflow-overdue-notice.ts +19 -0
- package/src/services/workflow-pins.ts +162 -0
- package/src/services/workflow-reconcile.ts +210 -0
- package/src/services/workflow-resume-pins.ts +30 -0
- package/src/services/workflow-run-chaos-worker.ts +67 -0
- package/src/services/workflow-run-view.ts +71 -0
- package/src/services/workflow-run.test-fixture.ts +165 -0
- package/src/services/workflow-runs.ts +370 -0
- package/src/services/workflow-scripts.ts +100 -0
- package/src/services/workflow-slice-proof.ts +14 -0
- package/src/services/workflow-stats.ts +208 -0
- package/src/services/workflow-supervisor-state.ts +117 -0
- package/src/services/workflow-supervisor.ts +122 -0
- package/src/services/workflow-verification.ts +68 -0
- package/src/services/workspace-recovery.ts +168 -0
- package/src/services/workspace-task-binding.ts +22 -0
- package/src/settings/modules.ts +149 -0
- package/src/settings/registry.ts +629 -0
- package/src/settings/user-settings.ts +81 -0
- package/src/setup.ts +199 -0
- package/src/shared-mcp.ts +87 -0
- package/src/shutdown.ts +33 -0
- package/src/spawn-admission.ts +48 -0
- package/src/spawn-budget.ts +18 -0
- package/src/spawn-command.ts +373 -0
- package/src/spawn-env.ts +27 -0
- package/src/spawn-intent.ts +17 -0
- package/src/spawn-lease.ts +41 -0
- package/src/spawn-models.ts +22 -0
- package/src/spawn-placement.ts +348 -0
- package/src/spawn-profile-errors.ts +9 -0
- package/src/spawn-quota.ts +15 -0
- package/src/spawn-targets.ts +679 -0
- package/src/sse-agent-status.ts +35 -0
- package/src/sse-outbox-cursor.ts +28 -0
- package/src/sse-visibility.ts +36 -0
- package/src/sse.ts +684 -0
- package/src/startup-context-injection.ts +518 -0
- package/src/startup-timing.ts +30 -0
- package/src/state-adoption/artifacts.ts +27 -0
- package/src/state-adoption/cd-cutover.ts +125 -0
- package/src/state-adoption/files.ts +31 -0
- package/src/state-adoption/index.ts +166 -0
- package/src/state-adoption/linux-plan.ts +67 -0
- package/src/state-adoption/linux.ts +104 -0
- package/src/state-adoption/macos-plan.ts +58 -0
- package/src/state-adoption/macos.ts +112 -0
- package/src/steward-claim-release.ts +38 -0
- package/src/steward-handoff.ts +28 -0
- package/src/steward-identity.ts +54 -0
- package/src/steward-policy-cleanup.ts +222 -0
- package/src/steward-policy-model-reconcile.ts +33 -0
- package/src/steward-policy-name.ts +13 -0
- package/src/steward-provenance.ts +59 -0
- package/src/steward-queue.ts +85 -0
- package/src/steward-slot-recovery.ts +34 -0
- package/src/steward-spawn-guard.ts +344 -0
- package/src/steward.test-fixture.ts +11 -0
- package/src/steward.ts +199 -0
- package/src/stream-proxy.ts +84 -0
- package/src/task-authz.ts +40 -0
- package/src/task-completion.ts +39 -0
- package/src/task-dispatch-live.ts +70 -0
- package/src/task-dispatcher-ranking.ts +136 -0
- package/src/task-dispatcher.ts +841 -0
- package/src/task-owner-notices.ts +35 -0
- package/src/task-owner.ts +63 -0
- package/src/task-plan-status.ts +21 -0
- package/src/task-verification.ts +35 -0
- package/src/team-idle-tracker.ts +39 -0
- package/src/team-template-config.ts +100 -0
- package/src/teams-config-store.ts +22 -0
- package/src/terminal-authz.ts +49 -0
- package/src/token-db-write.ts +44 -0
- package/src/token-db.ts +487 -0
- package/src/token-usage-async.ts +40 -0
- package/src/transport-subscriptions.ts +57 -0
- package/src/types.ts +1 -0
- package/src/upgrade-install-verify.ts +179 -0
- package/src/upgrade-local-id.ts +3 -0
- package/src/upgrade-services.ts +125 -0
- package/src/upgrade.ts +1006 -0
- package/src/user-awaiting-reply.ts +42 -0
- package/src/user-path.ts +246 -0
- package/src/user-settings-async.ts +33 -0
- package/src/user-settings-store.ts +106 -0
- package/src/user-style.ts +83 -0
- package/src/utils.ts +42 -0
- package/src/validation.ts +324 -0
- package/src/vault-backup-config.ts +28 -0
- package/src/vault-expiry-config.ts +12 -0
- package/src/versioned-prompts.ts +57 -0
- package/src/workflow-capabilities.ts +10 -0
- package/src/workflow-prompt-templates.ts +20 -0
- package/src/workspace-action-audit.ts +42 -0
- package/src/workspace-actions.ts +689 -0
- package/src/workspace-auto-merge.ts +1055 -0
- package/src/workspace-changed-paths-client.ts +97 -0
- package/src/workspace-claim.ts +45 -0
- package/src/workspace-cleanup-settle.ts +51 -0
- package/src/workspace-cleanup-stale.ts +231 -0
- package/src/workspace-command-settle.ts +589 -0
- package/src/workspace-config.ts +7 -0
- package/src/workspace-conflict-resolver.ts +182 -0
- package/src/workspace-dead-owner-recovery.ts +19 -0
- package/src/workspace-delivery-tip.ts +51 -0
- package/src/workspace-escalation.ts +107 -0
- package/src/workspace-git-state-client.ts +42 -0
- package/src/workspace-host-client.ts +86 -0
- package/src/workspace-host-target.ts +5 -0
- package/src/workspace-host.ts +61 -0
- package/src/workspace-human-escalation.ts +70 -0
- package/src/workspace-land-gate-watchdog.ts +76 -0
- package/src/workspace-land-gate.ts +99 -0
- package/src/workspace-land-result.ts +12 -0
- package/src/workspace-land-retry.ts +82 -0
- package/src/workspace-land-stopped.ts +57 -0
- package/src/workspace-merge-dispatch.ts +27 -0
- package/src/workspace-merge-progress.ts +369 -0
- package/src/workspace-merge-retry-policy.ts +59 -0
- package/src/workspace-merge.ts +614 -0
- package/src/workspace-nothing-to-land-notice.ts +27 -0
- package/src/workspace-orphans.ts +927 -0
- package/src/workspace-phase.ts +507 -0
- package/src/workspace-pr-completion.ts +285 -0
- package/src/workspace-probe.ts +212 -0
- package/src/workspace-recorded-land.ts +47 -0
- package/src/workspace-recovery-authz.ts +88 -0
- package/src/workspace-rekey.ts +106 -0
- package/src/workspace-steward-authority.ts +16 -0
- package/src/workspace-steward-failure.ts +42 -0
- package/src/workspace-steward-wake.ts +150 -0
- package/src/workspace-steward-watchdog.ts +240 -0
package/package.json
CHANGED
|
@@ -1,6 +1,231 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@humwick/server",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.130.1",
|
|
4
|
+
"description": "Lightweight HTTP message relay for inter-agent communication across machines",
|
|
5
|
+
"module": "src/index.ts",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"workspaces": [
|
|
8
|
+
"sdk",
|
|
9
|
+
"offload",
|
|
10
|
+
"client",
|
|
11
|
+
"codex",
|
|
12
|
+
"kernel",
|
|
13
|
+
"providers",
|
|
14
|
+
"runner",
|
|
15
|
+
"orchestrator",
|
|
16
|
+
"claude",
|
|
17
|
+
"connectors/voice",
|
|
18
|
+
"channels-host"
|
|
19
|
+
],
|
|
20
|
+
"bin": {
|
|
21
|
+
"agent-relay": "src/index.ts",
|
|
22
|
+
"agent-relay-claude-statusline": "runner/plugins/claude/claude-statusline-probe.cjs",
|
|
23
|
+
"humwick": "src/index.ts",
|
|
24
|
+
"humwick-claude-statusline": "runner/plugins/claude/claude-statusline-probe.cjs"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"src/**/*.ts",
|
|
28
|
+
"!src/**/*.test.ts",
|
|
29
|
+
"src/services/provisioning-harness/budget-baseline.json",
|
|
30
|
+
"src/services/provisioning-harness/fixtures/**",
|
|
31
|
+
"examples/**",
|
|
32
|
+
"recipes/**",
|
|
33
|
+
"bundled/**",
|
|
34
|
+
"scripts/install-bin-shim.cjs",
|
|
35
|
+
"scripts/agent-vault/*.py",
|
|
36
|
+
"!scripts/agent-vault/test_*.py",
|
|
37
|
+
"!scripts/agent-vault/*proof*.py",
|
|
38
|
+
"!scripts/agent-vault/shared-load.py",
|
|
39
|
+
"!scripts/agent-vault/refresh_probe.py",
|
|
40
|
+
"scripts/agent-vault/sec-ops-activation.json",
|
|
41
|
+
"scripts/gate.sh",
|
|
42
|
+
"scripts/wait-for-deploy.ts",
|
|
43
|
+
"scripts/gate-slot",
|
|
44
|
+
"scripts/gate-run-lease.ts",
|
|
45
|
+
"scripts/gate-slot-fleet-health.ts",
|
|
46
|
+
"scripts/orchestrator-spawn-smoke.ts",
|
|
47
|
+
"scripts/provisioning-matrix.ts",
|
|
48
|
+
"scripts/cd-watcher.ts",
|
|
49
|
+
"scripts/cd-land-boundary.ts",
|
|
50
|
+
"scripts/cd-host-epochs.ts",
|
|
51
|
+
"scripts/release-cd-stamp.ts",
|
|
52
|
+
"scripts/cd-hub-wake.ts",
|
|
53
|
+
"scripts/cd-deploy-worktree-gc.ts",
|
|
54
|
+
"scripts/cd-deploy-debounce.ts",
|
|
55
|
+
"scripts/cd-spawn-drain-deferral.ts",
|
|
56
|
+
"scripts/dashboard-build-marker.ts",
|
|
57
|
+
"scripts/cd-config.ts",
|
|
58
|
+
"scripts/cd-merge-drain.ts",
|
|
59
|
+
"scripts/cd-fleet-membership.ts",
|
|
60
|
+
"scripts/fleet-sha-coverage.ts",
|
|
61
|
+
"scripts/release-upgrade.ts",
|
|
62
|
+
"scripts/release-health.ts",
|
|
63
|
+
"scripts/release-report.ts",
|
|
64
|
+
"scripts/steward-policy-cleanup.ts",
|
|
65
|
+
"scripts/artifact-checkout-gc.ts",
|
|
66
|
+
"runner/src/**/*.ts",
|
|
67
|
+
"runner/test-support/**/*.ts",
|
|
68
|
+
"runner/plugins/**",
|
|
69
|
+
"runner/hooks/**",
|
|
70
|
+
"runner/agent-bin/**",
|
|
71
|
+
"!runner/**/*.test.ts",
|
|
72
|
+
"!runner/**/*.test-fixture.ts",
|
|
73
|
+
"public/**",
|
|
74
|
+
"!public/**/*.map",
|
|
75
|
+
"docs/openapi.json",
|
|
76
|
+
"docs/guides/*.md",
|
|
77
|
+
"README.md",
|
|
78
|
+
"SECURITY.md",
|
|
79
|
+
"CONTRIBUTING.md",
|
|
80
|
+
"LICENSE",
|
|
81
|
+
"CLA.md",
|
|
82
|
+
"THIRD_PARTY_NOTICES.md",
|
|
83
|
+
"docs/license-faq.md"
|
|
84
|
+
],
|
|
85
|
+
"dependencies": {
|
|
86
|
+
"age-encryption": "0.3.1",
|
|
87
|
+
"@humwick/channels-host": "0.130.1",
|
|
88
|
+
"@humwick/kernel": "0.0.0",
|
|
89
|
+
"@humwick/offload": "0.0.0",
|
|
90
|
+
"@humwick/providers": "0.104.7",
|
|
91
|
+
"@humwick/sdk": "0.2.136",
|
|
92
|
+
"ajv": "^8.20.0",
|
|
93
|
+
"@modelcontextprotocol/sdk": "1.32.0",
|
|
94
|
+
"express": "^5.2.1",
|
|
95
|
+
"busboy": "^1.6.0",
|
|
96
|
+
"unbash": "6.0.0",
|
|
97
|
+
"@hono/zod-openapi": "^1.4.0",
|
|
98
|
+
"hono": "^4.12.0",
|
|
99
|
+
"zod": "^4.4.3",
|
|
100
|
+
"jsep": "^1.4.0",
|
|
101
|
+
"p-queue": "^9.3.3"
|
|
102
|
+
},
|
|
103
|
+
"scripts": {
|
|
104
|
+
"public:gate": "bun run scripts/public-gate.ts",
|
|
105
|
+
"public:gate:setup": "bun run scripts/public-gate/setup.ts",
|
|
106
|
+
"public:surface": "bun run scripts/public-surface-scan.ts",
|
|
107
|
+
"prepack": "bun run build:claude-monitor >&2 && bun run build:dashboard:bundle >&2",
|
|
108
|
+
"postinstall": "node scripts/install-bin-shim.cjs && ( [ ! -f dashboard/package.json ] || [ -x dashboard/node_modules/.bin/vite ] || bun install --cwd dashboard --frozen-lockfile )",
|
|
109
|
+
"start": "bun run src/index.ts",
|
|
110
|
+
"dev": "PUBLIC_DIR=$PWD/public bun --watch run src/index.ts",
|
|
111
|
+
"dev:dashboard": "cd dashboard && bun run dev",
|
|
112
|
+
"build:sdk": "cd sdk && bun run build",
|
|
113
|
+
"build:runtime-workspaces": "bun run build:sdk && cd offload && bun run build",
|
|
114
|
+
"build:claude-monitor": "bun run scripts/build-claude-monitor.ts",
|
|
115
|
+
"build:claude-monitor:check": "bun run scripts/build-claude-monitor.ts --check",
|
|
116
|
+
"build:dashboard": "bun run build:dashboard:bundle && bun run deploy:dashboard",
|
|
117
|
+
"build:dashboard:bundle": "sh scripts/gate.sh sh -c 'bun run build:sdk && cd dashboard && bun run build'",
|
|
118
|
+
"deploy:dashboard": "bun run scripts/deploy-dashboard.ts",
|
|
119
|
+
"ci:land": "sh scripts/gate.sh bun run scripts/ci-land.ts",
|
|
120
|
+
"ci:release": "sh scripts/gate.sh sh -c 'bun run build:dashboard:bundle && bun run build:claude-monitor:check && bun run lint:import-boundaries && bun run lint:provider-contract && bun run typecheck && bun run docs:api:check && AGENT_RELAY_RELEASE_TESTS=1 bun test --timeout 30000 --bail && bun --config=bunfig.integration.toml test --isolate --timeout 30000 --bail dashboard/src'",
|
|
121
|
+
"ci": "bun run ci:land",
|
|
122
|
+
"test": "sh scripts/gate.sh sh -c 'bun run test:guards && bun test --timeout 30000 --bail'",
|
|
123
|
+
"steward:cleanup": "bun run scripts/steward-policy-cleanup.ts",
|
|
124
|
+
"test:affected": "sh scripts/gate.sh bun run scripts/test-affected.ts",
|
|
125
|
+
"test:harness:provisioning": "bun test --timeout 30000 src/services/provisioning-harness.test.ts",
|
|
126
|
+
"harness:provisioning-matrix": "bun run scripts/provisioning-matrix.ts",
|
|
127
|
+
"test:delivery": "bun run scripts/delivery-gate.ts",
|
|
128
|
+
"test:guards": "bun run scripts/guard-tests.ts",
|
|
129
|
+
"test:integration": "bun --config=bunfig.integration.toml test --timeout 60000 integration.test",
|
|
130
|
+
"test:nightly-only": "sh scripts/gate.sh bun run scripts/test-nightly-only.ts",
|
|
131
|
+
"test:nightly": "bun --config=bunfig.integration.toml test --timeout 60000",
|
|
132
|
+
"nightly": "sh scripts/gate.sh bun run scripts/nightly-group.ts",
|
|
133
|
+
"nightly:integration": "sh scripts/gate.sh bun run scripts/nightly-group.ts integration",
|
|
134
|
+
"nightly:e2e": "sh scripts/gate.sh bun run scripts/nightly-group.ts e2e",
|
|
135
|
+
"nightly:provider": "sh scripts/gate.sh bun run scripts/nightly-group.ts provider",
|
|
136
|
+
"nightly:gui": "sh scripts/gate.sh bun run scripts/nightly-group.ts gui",
|
|
137
|
+
"nightly:flaky": "sh scripts/gate.sh bun run scripts/nightly-group.ts flaky",
|
|
138
|
+
"test:gui": "bun --config=bunfig.integration.toml test --isolate --timeout 60000 dashboard/src",
|
|
139
|
+
"test:onboarding-parity": "bun --config=bunfig.onboarding-parity.toml test --timeout 30000 dashboard/src/components/views/project-onboarding.parity.render.test.tsx",
|
|
140
|
+
"test:gui:affected": "sh scripts/gate.sh bun run scripts/test-gui-affected.ts",
|
|
141
|
+
"test:worker-seam": "sh scripts/gate.sh bun run scripts/worker-seam-gate.ts",
|
|
142
|
+
"dupes": "bun run scripts/dupes.ts",
|
|
143
|
+
"dupes:check": "jscpd . --reporters console,json --output .dupes --baseline .jscpd-baseline.json --fail-on-new-clones --fail-on-empty --no-tips",
|
|
144
|
+
"dupes:baseline": "bun run dupes:check && jscpd . --reporters json --output .dupes --baseline .jscpd-baseline.json --update-baseline --fail-on-empty --no-tips",
|
|
145
|
+
"deadcode": "bun run scripts/deadcode.ts",
|
|
146
|
+
"deadcode:check": "bun run scripts/deadcode-check.ts",
|
|
147
|
+
"smoke:spawn": "bun run scripts/orchestrator-spawn-smoke.ts",
|
|
148
|
+
"dev:sweep-orphans": "bun run scripts/dev-sweep-orphans.ts",
|
|
149
|
+
"gate-slot:health": "bun run scripts/gate-slot-fleet-health.ts",
|
|
150
|
+
"publish:smoke": "bun run scripts/publish-smoke.ts",
|
|
151
|
+
"lint:provider-contract": "bun run scripts/check-provider-contract.ts",
|
|
152
|
+
"lint:import-boundaries": "bun run scripts/check-import-boundaries.ts",
|
|
153
|
+
"contract:real-agents": "bun run scripts/provider-contract-real-agents.ts",
|
|
154
|
+
"contract:real-agents:required": "bun run scripts/provider-contract-real-agents.ts --required",
|
|
155
|
+
"typecheck": "sh scripts/gate.sh tsc --noEmit --incremental --tsBuildInfoFile tsconfig.typecheck.tsbuildinfo",
|
|
156
|
+
"docs:api": "bun run scripts/extract-api-spec.ts",
|
|
157
|
+
"deps:check": "bun run scripts/deps-check.ts",
|
|
158
|
+
"docs:api:check": "bun run scripts/extract-api-spec.ts --check",
|
|
159
|
+
"release": "bun run scripts/release.ts",
|
|
160
|
+
"publish:ci": "bun run scripts/publish-ci.ts",
|
|
161
|
+
"release:dry-run": "bun run scripts/release-dry-run.ts",
|
|
162
|
+
"publish:bootstrap": "bun run scripts/publish-bootstrap.ts",
|
|
163
|
+
"e2e:memory": "bun run dashboard/e2e/memory-probe.ts",
|
|
164
|
+
"e2e:memory:install": "playwright install chromium",
|
|
165
|
+
"e2e:keystroke": "bun run dashboard/e2e/keystroke-profile.ts",
|
|
166
|
+
"e2e:idle-heat": "bun run dashboard/e2e/idle-heat-profile.ts",
|
|
167
|
+
"e2e:idle-cpu": "bun run dashboard/e2e/idle-cpu-profile.ts",
|
|
168
|
+
"e2e:heap-over-time": "bun run dashboard/e2e/heap-over-time-profile.ts",
|
|
169
|
+
"e2e:keystroke-load": "bun run dashboard/e2e/keystroke-under-load-profile.ts",
|
|
170
|
+
"e2e:scroll": "playwright test --config=dashboard/e2e/playwright.config.ts",
|
|
171
|
+
"e2e:phone": "bun run scripts/e2e-phone.ts",
|
|
172
|
+
"e2e:scroll:install": "playwright install --with-deps chromium webkit"
|
|
173
|
+
},
|
|
174
|
+
"keywords": [
|
|
175
|
+
"humwick",
|
|
176
|
+
"agent",
|
|
177
|
+
"agents",
|
|
178
|
+
"ai",
|
|
179
|
+
"ai-agents",
|
|
180
|
+
"coding-agents",
|
|
181
|
+
"relay",
|
|
182
|
+
"message-bus",
|
|
183
|
+
"claude-code",
|
|
184
|
+
"codex",
|
|
185
|
+
"multi-agent",
|
|
186
|
+
"inter-agent",
|
|
187
|
+
"inter-agent-communication",
|
|
188
|
+
"agent-communication",
|
|
189
|
+
"task-queue",
|
|
190
|
+
"work-queue",
|
|
191
|
+
"automation",
|
|
192
|
+
"webhooks",
|
|
193
|
+
"monitoring",
|
|
194
|
+
"dashboard",
|
|
195
|
+
"daemon",
|
|
196
|
+
"developer-tools",
|
|
197
|
+
"bun",
|
|
198
|
+
"sqlite"
|
|
199
|
+
],
|
|
200
|
+
"repository": {
|
|
201
|
+
"type": "git",
|
|
202
|
+
"url": "git+https://github.com/edimuj/agent-relay.git"
|
|
203
|
+
},
|
|
204
|
+
"bugs": {
|
|
205
|
+
"url": "https://github.com/edimuj/agent-relay/issues"
|
|
206
|
+
},
|
|
207
|
+
"homepage": "https://github.com/edimuj/agent-relay#readme",
|
|
208
|
+
"license": "PolyForm-Shield-1.0.0",
|
|
209
|
+
"author": "Edin Mujkanovic",
|
|
210
|
+
"devDependencies": {
|
|
211
|
+
"@playwright/test": "^1.55.0",
|
|
212
|
+
"@types/bun": "1.4.2",
|
|
213
|
+
"@types/busboy": "^1.5.5",
|
|
214
|
+
"@types/express": "^5.0.6",
|
|
215
|
+
"@types/node": "^22",
|
|
216
|
+
"callmux": "0.25.0",
|
|
217
|
+
"fast-xml-parser": "^5.11.2",
|
|
218
|
+
"jscpd": "5.4.0",
|
|
219
|
+
"knip": "6.39.0",
|
|
220
|
+
"oxlint": "1.90.0",
|
|
221
|
+
"typescript": "7.0.2",
|
|
222
|
+
"typescript5": "npm:typescript@5.9.3"
|
|
223
|
+
},
|
|
224
|
+
"engines": {
|
|
225
|
+
"bun": ">=1.4.4"
|
|
226
|
+
},
|
|
227
|
+
"bundleDependencies": [
|
|
228
|
+
"@humwick/kernel",
|
|
229
|
+
"@humwick/offload"
|
|
230
|
+
]
|
|
231
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{o as t,p as n,u as r}from"./dist-DeW2Y1R5.js";import{t as i}from"./react-dom-DSFxiC7T.js";import{Nt as a,jt as o,t as s}from"./store-BvtFdlGX.js";import{O as c}from"./provider-display-DbLWpP3j.js";import{o as l}from"./artifacts-oBOqks-2.js";import{F as u,J as d,S as f,_ as p,p as ee}from"./display-CfO7rTuF.js";import{n as m}from"./api-CIIVBtAV.js";import{n as h,t as g}from"./radio-Bn0_qc0G.js";import{t as _}from"./arrow-right-vFsRqG8V.js";import{D as v,G as y,I as te,N as ne,O as b,T as x,c as S,h as C,j as re,k as w,m as ie,n as T,p as E,v as D,w as O}from"./TraceView-DBnOx7AQ.js";import{t as k}from"./brain-CagXMEKE.js";import{t as A}from"./chevron-right-iljytE0x.js";import{t as j}from"./circle-alert-CryagaZd.js";import{t as M}from"./file-text-CKuoMR2U.js";import{t as N}from"./git-merge-C7eIG425.js";import{t as P}from"./loader-circle-BfPd4kOD.js";import{t as ae}from"./plug-zap-V0wMDJ-G.js";import{t as oe}from"./smile-plus-q6EQBXHZ.js";import{t as F}from"./triangle-alert-BBNhfgMi.js";import{t as I}from"./agent-type-icon-D6FUarOf.js";import{t as se}from"./volume-2-XrcRKD9Z.js";import{t as L}from"./zoom-in-Bs8Qv8VL.js";import{n as R,t as z}from"./task-chip-CYj0mpoL.js";import{t as B}from"./formatted-body-Cm1RrzmN.js";import{t as ce}from"./user-avatar-nBFIcR4M.js";var V=e(n(),1),H=e(i(),1),U=`[data-testid="chat-scroller"]`,W=`data-anchor-step`,G=e=>({[W]:e}),K=90,q=15,J=[`wheel`,`touchstart`,`pointerdown`,`keydown`],Y=new Map;function X(e,t){return Y.set(e,t),()=>void Y.delete(e)}var Z=(e,t)=>e.getBoundingClientRect().top-t.getBoundingClientRect().top;function le(e,t){let n=e.getBoundingClientRect(),r=null,i=Array.from(e.querySelectorAll(`[${W}]`)).filter(e=>e.getAttribute(W)!==t).map(e=>({el:e,top:e.getBoundingClientRect().top,bottom:e.getBoundingClientRect().bottom})).sort((e,t)=>e.top-t.top),a=null;for(let e of i){if(e.bottom>n.top&&e.top<n.bottom){a=e;break}e.bottom<=n.top&&(!r||e.bottom>r.bottom)&&(r=e)}if(a??=r,!a)return null;let o=a.el;return{find:()=>o.isConnected?o:null,offset:a.top-n.top}}function ue(e){let t=e.getBoundingClientRect(),n=t.top+t.height/2,r=new Set;return Array.from(e.querySelectorAll(`[data-msg-id]`)).filter(e=>!r.has(e.dataset.msgId)&&!!r.add(e.dataset.msgId)).map(e=>{let r=e.getBoundingClientRect();return{id:e.dataset.msgId,offset:r.top-t.top,distance:Math.abs((r.top+r.bottom)/2-n)}}).sort((e,t)=>e.distance-t.distance)}function de(e,t,n){let r=()=>{let r=n.find();if(!r)return!1;let i=Z(r,e)-n.offset;return Math.abs(i)<=.5?!1:(t.nudge(i),!0)};r();let i=0,a=()=>{cancelAnimationFrame(i),t.pin(null);for(let t of J)e.removeEventListener(t,a)};for(let t of J)e.addEventListener(t,a,{passive:!0});let o=0,s=0,c=()=>{if(o=r()?0:o+1,!e.isConnected||!n.find()||o>=q||++s>=K)return a();i=requestAnimationFrame(c)};i=requestAnimationFrame(c)}function fe(e,t,n){let r=e.closest(U),i=r&&Y.get(r),a=r&&i&&r.dataset.scrollMode===`anchored`?le(r,t):null;(0,H.flushSync)(n),r&&i&&a&&de(r,i,a)}function pe(e){let t=Array.from(Y,([e,t])=>({scroller:e,owner:t,rows:e.dataset.scrollMode===`anchored`?ue(e):[]})).filter(({rows:e})=>e.length);for(let{owner:e,rows:n}of t)e.pin(n.map(({id:e})=>Number(e)));(0,H.flushSync)(e);for(let{scroller:e,owner:n,rows:r}of t){let t=t=>()=>e.querySelector(`[data-msg-id="${CSS.escape(t)}"]`),i=r.find(({id:e})=>t(e)());i?de(e,n,{find:t(i.id),offset:i.offset}):n.pin(null)}}var Q=r();function me(e){let t=new Set,n=(()=>{try{return window.localStorage.getItem(e)===`on`}catch{return!1}})(),r=()=>t.forEach(e=>e());return typeof window<`u`&&window.addEventListener(`storage`,t=>{t.key===e&&(n=t.newValue===`on`,r())}),{subscribe(e){return t.add(e),()=>t.delete(e)},get:()=>n,toggle(){n=!n;try{window.localStorage.setItem(e,n?`on`:`off`)}catch{}r()}}}var he=me(`humwick:chat-hide-tools`),ge=me(`humwick:chat-hide-reasoning`);function _e(e){return[(0,V.useSyncExternalStore)(e.subscribe,e.get,()=>!1),e.toggle]}function ve(e){return e.split(`
|
|
2
|
+
`).find(e=>e.trim())?.trim()??`thinking`}function ye({step:e,issueRepo:t}){return(0,Q.jsx)(ie,{id:`reasoning-step-${e.id}`,icon:k,label:`thinking`,summary:ve(e.text),tone:`border-tone-neutral/25 bg-tone-neutral/10 text-tone-neutral-fg`,children:(0,Q.jsx)(B,{text:e.text,issueRepo:t,className:`italic break-words min-w-0 text-xs leading-relaxed`})})}function be({hidden:e,count:n,kind:r,onToggle:i}){return(0,Q.jsxs)(`button`,{...G(`control`),onClick:t=>fe(t.currentTarget,e?null:r,i),className:`flex items-center gap-1 text-[11px] text-muted-foreground/50 hover:text-muted-foreground transition-colors text-left`,children:[(0,Q.jsx)(A,{className:t(`w-3 h-3 shrink-0 transition-transform`,!e&&`rotate-90`)}),(0,Q.jsx)(`span`,{children:e?`show ${n} ${r} step${n===1?``:`s`}`:`hide ${r} steps`})]})}function xe({steps:e,showReasoning:t,issueRepo:n}){let[r,i]=_e(he),[a,o]=_e(ge),s=t?e:e.filter(e=>e.kind!==`reasoning`);if(!s.length)return null;let c=s.filter(e=>e.kind===`tool`).length,l=s.filter(e=>e.kind===`reasoning`).length;return(0,Q.jsx)(`div`,{className:`flex justify-start mb-2`,children:(0,Q.jsxs)(`div`,{className:`max-w-[85%] md:max-w-[75%] min-w-0 space-y-1.5`,children:[s.map(e=>(e.kind===`reasoning`?a:e.kind===`tool`&&r)?null:(0,Q.jsx)(`div`,{...G(e.kind),children:e.kind===`narration`?(0,Q.jsx)(B,{text:e.text,issueRepo:n,className:`text-sm leading-relaxed break-words text-foreground/90 min-w-0`}):e.kind===`reasoning`?(0,Q.jsx)(ye,{step:e,issueRepo:n}):(0,Q.jsx)(E,{step:e})},e.id)),l>0&&(0,Q.jsx)(be,{hidden:a,count:l,kind:`reasoning`,onToggle:o}),c>0&&(0,Q.jsx)(be,{hidden:r,count:c,kind:`tool`,onToggle:i})]})})}var Se={memory:`memories`,"memory-area":`memories`,instructions:`startup`,context:`startup`,tools:`injected`,comms:`injected`,knowledge:`injected`},Ce={narration:`narration`,tool:`tools`,reasoning:`reasoning`};function we(e){return e.startsWith(`workflow.`)||e.startsWith(`plan.`)?`workflow`:e===`branch.landed`||e===`landed-failure`||e===`task.steward-rekey`||e.startsWith(`workspace.`)||e.startsWith(`ci.`)||e.startsWith(`cd.`)?`land`:e.startsWith(`task.`)?`task`:e.startsWith(`agent.`)||e.startsWith(`team.`)||e.startsWith(`managed-policy.`)?`agents`:`other`}function Te(e){let t=e.payload??{};return typeof t.notificationKind==`string`?t.notificationKind:typeof t.kind==`string`?t.kind:``}function Ee(e,t){if(D(e))return we(Te(e));if(e.kind===`session`){let t=e.payload?.session;return t?.type===`relay-injection`?Se[t.relayInjection?.category]??`injected`:Ce[t?.type??``]??null}let n=e.from===t?e.to:e.from;return n&&n!==`system`&&!c(n)?`agentMessages`:null}function De(e,t,n){if(e.kind!==`session`&&e.deliveryStatus===`history`&&!n.undelivered)return!1;let r=Ee(e,t);return r===null||n[r]}var Oe={"branch.landed":N,"context.warning":F,"agent.context_threshold":F,"agent.rate_limit_resume":ae},ke={"branch.landed":`branch landed`,"context.warning":`context warning`,"agent.context_threshold":`context threshold reached`,"task.status-pulse":`Status Pulse`};function Ae(e){return e.payload?.kind===`agent.self_resume_continuation`?e.payload.delivery?.state===`ingested`?`self-resume continuation ingested`:`self-resume continuation stored / recoverable`:null}function je(e){return e.replace(/[._-]+/g,` `).trim()}function Me(e,t,n){return Ae(e)??ke[t]??(je(t)||e.subject?.trim()||n||`notice #${e.id}`)}function Ne(e,t){return t===e?``:t.startsWith(`${e}:`)?t.slice(e.length+1).trim():t}function Pe(e){return e.length?e.map(e=>[e.taskId==null?null:`T${e.taskId}`,e.transition,e.title].filter(Boolean).join(` `)).join(` · `):`update`}var $=e=>typeof e==`string`?e:``,Fe=[`sha`,`landedSha`,`newHeadSha`,`sourceHeadSha`,`greenHeadSha`,`gitSha`],Ie=[`taskId`,`runId`,`agentId`,`author`,`workspaceId`,`branch`,`base`,`commandId`,...Fe];function Le(e){let t=e.payload??{},n=Te(e),r=typeof t.taskId==`number`&&Number.isSafeInteger(t.taskId)?t.taskId:void 0,i=Fe.map(e=>$(t[e])).find(Boolean)??``,a=e.body.split(`
|
|
3
|
+
`).find(e=>e.trim())?.replace(/`/g,``).trim()??``;return n===`branch.landed`&&$(t.branch)&&(a=`${$(t.branch)} → ${$(t.base)||`base`}`),n===`task.status-pulse`&&(a=Pe(Array.isArray(t.events)?t.events:[])),{kind:n,summary:a,agentId:$(t.agentId)||$(t.author)||$(t.memberId),taskId:r,taskLabel:$(t.taskLabel)||void 0,runId:$(t.runId),sha:i}}function Re(e){let t=e.payload?.routing;return!t||typeof t!=`object`||Array.isArray(t)?``:$(t.reason)}function ze({msg:e}){let t=e.payload??{},{routing:n,...r}=t,i=Re(e),a=Ie.flatMap(e=>t[e]==null||t[e]===``?[]:[[e,String(t[e])]]);return(0,Q.jsxs)(`div`,{className:`mt-2 space-y-2 border-t border-current/10 pt-2`,children:[e.body.trim()&&(0,Q.jsx)(B,{text:e.body,className:`break-words text-xs leading-relaxed text-foreground/85`}),(0,Q.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5 text-[11px]`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`message`}),(0,Q.jsxs)(`dd`,{className:`font-mono`,children:[`#`,e.id,` · `,e.deliveryStatus??`pending`]}),a.map(([e,t])=>(0,Q.jsxs)(`div`,{className:`contents`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:e}),(0,Q.jsx)(`dd`,{className:`break-all font-mono`,children:t})]},e)),i&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`why here`}),(0,Q.jsx)(`dd`,{children:i})]})]}),(0,Q.jsx)(C,{value:r,className:`max-h-72 overflow-auto rounded-md border border-border/60 bg-background/75`,compact:!0})]})}function Be({msg:e}){let n=Le(e),r=`notice-${e.id}`,i=s(e=>e.chatExpandedItems.includes(r)),a=s(e=>e.toggleChatItemExpanded),o=s(e=>e.openTaskDetailById),c=s(e=>e.showWorkflowRun),l=Oe[n.kind]??g,u=Me(e,n.kind,n.summary),d=Ne(u,n.summary),f=n.kind===`branch.landed`,p=e.deliveryStatus===`history`;return(0,Q.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,Q.jsxs)(`div`,{"data-testid":`chat-notice`,"data-notice-kind":n.kind,className:t(`w-full min-w-0 max-w-full rounded-lg border px-2.5 py-1.5 text-xs md:max-w-[85%]`,f?`border-tone-success/35 bg-tone-success/10 text-tone-success-fg`:`border-border bg-muted/20 text-muted-foreground`,p&&`border-dashed opacity-80`),children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1`,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(r),className:`flex min-w-0 flex-1 basis-full items-center gap-1.5 text-left @2xl/chat:basis-56`,children:[(0,Q.jsx)(A,{className:t(`h-3.5 w-3.5 shrink-0 transition-transform`,i&&`rotate-90`)}),(0,Q.jsx)(l,{className:`h-3.5 w-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`shrink-0 font-medium`,children:u}),d&&(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/75`,children:d})]}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-1`,children:[n.agentId&&(0,Q.jsx)(T,{agentId:n.agentId,className:`text-current`}),n.taskId!=null&&(0,Q.jsx)(z,{id:n.taskId,title:n.taskLabel,compact:!0,onClick:()=>o(n.taskId)}),n.runId&&(0,Q.jsx)(R,{label:n.runId,compact:!0,title:`Workflow run ${n.runId}`,ariaLabel:`Open workflow run ${n.runId}`,onClick:()=>void c(n.runId)}),n.sha&&(0,Q.jsx)(`span`,{className:`rounded bg-current/10 px-1 font-mono text-[10px]`,title:n.sha,children:n.sha.slice(0,7)}),f&&e.payload?.pushed===!1&&(0,Q.jsx)(`span`,{className:`text-tone-warning-fg`,title:`Local-only land — not pushed to origin`,children:`local only`}),p&&(0,Q.jsx)(`span`,{className:`rounded border border-current/30 px-1 text-[10px]`,title:`Settled as history: this notice never reached the agent's turn`,children:`not delivered`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground/70`,children:x(e.occurredAt??e.createdAt)})]})]}),i&&(0,Q.jsx)(ze,{msg:e})]})})}function Ve(){return(0,V.useSyncExternalStore)(e=>o.subscribe(e),()=>o.getPlayingKey(),()=>null)}function He({msg:e,peer:t}){return(0,Q.jsx)(S,{msg:e,issueRepo:s(e=>e.agentsById[t]?.issueRepo)})}function Ue({agent:e,onClick:n}){let r=!!(n&&e);return(0,Q.jsx)(`button`,{type:`button`,title:e?e.label||e.name||e.id:void 0,onClick:n,disabled:!r,className:t(`shrink-0 self-end transition-opacity`,r?`cursor-pointer hover:opacity-80`:`cursor-default opacity-60`),children:(0,Q.jsx)(I,{agent:e})})}function We({agentId:e,onOpen:t}){let n=s(t=>t.agentsById[e]??null);return(0,Q.jsx)(Ue,{agent:n,onClick:n?()=>t(n):void 0})}function Ge({attachment:e,outbound:n}){let r=e.title||e.artifactId;return e.kind===`image`?(0,Q.jsx)(Ke,{artifactId:e.artifactId,title:r}):(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>l(e.artifactId),className:t(`mt-2 flex w-full items-center gap-2 rounded-md border px-2.5 py-2 text-left text-xs transition-colors`,n?`border-primary-foreground/20 bg-primary-foreground/10 hover:bg-primary-foreground/15`:`border-border bg-background hover:bg-muted`),children:[(0,Q.jsx)(M,{className:`h-4 w-4 shrink-0`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:r}),(0,Q.jsx)(A,{className:`h-3.5 w-3.5 shrink-0`})]})}function Ke({artifactId:e,title:n}){let[r,i]=(0,V.useState)(null),[a,o]=(0,V.useState)(null);return(0,V.useEffect)(()=>{let t=!1,n=null;return o(null),i(null),m(`/artifacts/${encodeURIComponent(e)}/content`).then(e=>{t||(n=URL.createObjectURL(e),i(n))},e=>{t||o(e.message)}),()=>{t=!0,n&&URL.revokeObjectURL(n)}},[e]),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>l(e),className:`group/img mt-2 block overflow-hidden rounded-md border border-foreground/10 bg-black/10 text-left relative`,children:r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`img`,{src:r,alt:n,loading:`lazy`,className:`block max-h-72 max-w-full object-contain`}),(0,Q.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center bg-black/0 group-hover/img:bg-black/30 transition-colors`,children:(0,Q.jsx)(L,{className:`w-6 h-6 text-white opacity-0 group-hover/img:opacity-100 transition-opacity drop-shadow-md`})})]}):(0,Q.jsxs)(`span`,{className:t(`flex min-h-20 items-center gap-2 px-3 py-2 text-xs`,a?`text-tone-danger-fg`:`text-muted-foreground`),children:[a?(0,Q.jsx)(j,{className:`h-4 w-4`}):(0,Q.jsx)(P,{className:`h-4 w-4 animate-spin`}),a||`Loading image`]})})}function qe({open:e,onToggle:n,onReact:r}){return(0,Q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Q.jsx)(`button`,{type:`button`,title:`Add reaction`,onClick:n,className:t(`inline-flex h-5 w-6 items-center justify-center rounded-full border border-border bg-popover text-muted-foreground shadow-sm transition hover:bg-muted hover:text-foreground`,e?`opacity-100`:`opacity-0 pointer-events-none md:group-hover/msg:opacity-100 md:group-hover/msg:pointer-events-auto`),children:(0,Q.jsx)(oe,{className:`h-3 w-3`})}),e&&(0,Q.jsx)(`div`,{className:`absolute bottom-full left-0 z-30 mb-1 flex gap-0.5 rounded-full border border-border bg-popover p-0.5 shadow-md`,children:O.map(e=>(0,Q.jsx)(`button`,{type:`button`,title:`React ${e}`,onClick:()=>r(e),className:`inline-flex h-6 w-7 items-center justify-center rounded-full text-xs transition-colors hover:bg-muted`,children:e},e))})]})}function Je({msg:e,peer:n}){let[r,i]=(0,V.useState)(!1),a=s(e=>e.agentsById),o=s(e=>e.openAgentDetail),c=e.from===n,l=(c?e.to:e.from)||``,d=a[c?n:l]?.issueRepo??a[n]?.issueRepo,f=!l||l===`broadcast`||l.includes(`:`),p=u(e),m=x(e.occurredAt??e.createdAt),g=c?_:h,v=a[e.from??``]??null;function y(e){e.stopPropagation(),v&&o(v)}return(0,Q.jsx)(`div`,{"data-msg-id":e.id,className:`flex justify-center mb-1.5`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-[94%] rounded-md border border-border/50 bg-muted/15 px-2.5 py-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs cursor-pointer select-none`,onClick:()=>i(e=>!e),children:[(0,Q.jsx)(A,{className:t(`h-3 w-3 shrink-0 text-muted-foreground/60 transition-transform`,r&&`rotate-90`)}),(0,Q.jsx)(`button`,{type:`button`,title:v?v.label||v.name||v.id:void 0,disabled:!v,onClick:y,className:t(`shrink-0 transition-opacity`,v?`cursor-pointer hover:opacity-80`:`cursor-default opacity-60`),children:(0,Q.jsx)(I,{agent:v,className:`!w-4 !h-4 !rounded-sm opacity-70`})}),(0,Q.jsx)(g,{className:`h-3 w-3 shrink-0 text-muted-foreground/70`}),(0,Q.jsxs)(`span`,{className:`shrink-0 text-muted-foreground`,children:[`Message `,c?`to`:`from`]}),f?(0,Q.jsx)(`span`,{className:`shrink-0 font-medium text-muted-foreground`,children:ee(l,a)}):(0,Q.jsx)(T,{agentId:l,className:`shrink-0 px-0.5 text-foreground/80`,noIcon:!0}),!r&&(0,Q.jsx)(`span`,{className:`min-w-24 flex-1 truncate text-muted-foreground/50`,children:p}),(0,Q.jsx)(`span`,{className:`ml-auto shrink-0 text-muted-foreground/40`,children:m})]}),r&&(0,Q.jsx)(`div`,{className:`mt-1.5 pl-5`,children:(0,Q.jsx)(B,{text:p,rawBody:e.body,issueRepo:d,className:`text-sm leading-relaxed text-foreground/90`})})]})})}var Ye=(0,V.memo)(function({msg:e,peer:n,showAvatar:r=!1,onOpenReferencedPath:i,onPreviewReferencedPath:l,onPreviewReferencedPathEnd:ee}){if(!c(e.from)&&!c(e.to))return(0,Q.jsx)(Je,{msg:e,peer:n});let m=e.kind===`session`?e.payload?.session:void 0;if(m?.type===`prompt`&&m?.origin===`provider`)return(0,Q.jsx)(He,{msg:e,peer:n});let h=c(e.from),g=s(e=>e.reactToMessage),_=s(e=>e.voiceTtsEnabled),S=Ve(),C=s(e=>{let t=e.agentsById[n]?.meta?.cwd;return typeof t==`string`?t:``}),ie=s(e=>e.agentsById[n]?.issueRepo),T=s(e=>e.usersById),E=s(e=>e.users.length>1),D=h?d(e.from,T):void 0,O=s(e=>e.openAgentDetail);s(e=>e.openTaskDetailById);let[k,A]=(0,V.useState)(!1),j=(0,V.useRef)(null),M=(0,V.useRef)(null),N=(0,V.useRef)(!1),P=u(e),ae=x(e.occurredAt??e.createdAt),oe=re(e),F=v(e,a(s(e=>e.sessionUser))),I=h?ne(e,n):null,L=I?.icon,z=S===String(e.id),H=_&&!h&&!w(e)&&P.trim().length>0;function U(t){t.stopPropagation(),z?o.bargeIn():o.speak(e.body,String(e.id))}(0,V.useEffect)(()=>{if(!k)return;function e(e){b()||j.current&&!j.current.contains(e.target)&&A(!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[k]);function W(e){return te(C||`/`,e)}function G(e,t){let n=W(e);i?.(n,t)}function K(e,t,n){let r=W(e);l?.(r,t,n)}function q(t){g(e,t),A(!1)}function J(e){e.button===0&&(M.current={x:e.clientX,y:e.clientY},N.current=!1)}function Y(e){let t=M.current;t&&(Math.abs(e.clientX-t.x)>3||Math.abs(e.clientY-t.y)>3)&&(N.current=!0)}function X(t){if(!(w(e)||h)&&!t.target.closest(`a,button,input,textarea,select,[role="button"]`)){if(N.current||b()){N.current=!1;return}A(e=>!e)}}let Z=r&&!w(e);return(0,Q.jsxs)(`div`,{"data-msg-id":e.id,className:t(`group/msg flex mb-3 items-end`,h?`justify-end`:`justify-start`,Z&&`gap-1.5`),children:[!h&&Z&&(0,Q.jsx)(We,{agentId:n,onOpen:O}),(0,Q.jsxs)(`div`,{ref:j,className:t(`relative`,h?`max-w-full md:max-w-[75%]`:`max-w-[calc(100%-2rem)] md:max-w-[calc(75%-2rem)]`),children:[H&&(0,Q.jsx)(`button`,{type:`button`,title:z?`Stop playback`:`Play aloud`,onClick:U,className:t(`absolute -top-2 -right-2 z-20 inline-flex h-6 w-6 items-center justify-center rounded-full border bg-popover shadow-sm transition`,z?`border-primary/50 text-primary opacity-100`:`border-border text-muted-foreground opacity-70 hover:bg-muted hover:text-foreground hover:opacity-100 [@media(hover:hover)]:md:opacity-0 [@media(hover:hover)]:md:group-hover/msg:opacity-100`),children:z?(0,Q.jsx)(y,{className:`h-3.5 w-3.5 animate-pulse`}):(0,Q.jsx)(se,{className:`h-3.5 w-3.5`})}),(0,Q.jsxs)(`div`,{className:t(`rounded-2xl px-3.5 py-2 text-sm select-text`,!h&&!w(e)&&`cursor-pointer`,h?`tone-on-primary bg-primary text-primary-foreground rounded-br-sm`:`bg-card ring-1 ring-foreground/10 rounded-bl-sm`),onPointerDown:J,onPointerMove:Y,onClick:X,children:[h&&E&&(0,Q.jsx)(`p`,{className:`text-[11px] font-semibold mb-0.5 text-right`,children:f(e.from,T)}),e.subject&&(0,Q.jsx)(`p`,{className:t(`text-xs font-semibold mb-1`,h?`text-primary-foreground`:`text-muted-foreground`),children:e.subject}),(0,Q.jsx)(B,{text:P,rawBody:e.body,issueRepo:ie,className:`leading-relaxed`,onPrimary:h,onOpenPath:G,onPreviewPath:K,onPreviewPathEnd:ee,resolvePathTitle:(e,t)=>`${W(e)}${t?`:${t}`:``}`}),oe.map(t=>(0,Q.jsx)(Ge,{attachment:t,outbound:h},`${e.id}-${t.artifactId}-${t.role||``}`)),(0,Q.jsxs)(`p`,{className:t(`text-xs mt-1 flex items-center gap-1.5`,h?`justify-end text-primary-foreground`:`justify-end text-muted-foreground`),children:[(0,Q.jsx)(R,{label:p(e.id),title:`Message id`,compact:!0}),(0,Q.jsx)(`span`,{children:ae}),I&&L&&(0,Q.jsxs)(`span`,{className:t(`inline-flex items-center gap-1`,I.tone!==`muted`&&`text-primary-foreground`,I.tone===`danger`&&`font-semibold`),title:I.title,children:[(0,Q.jsx)(L,{className:`h-3 w-3`}),I.label]})]})]}),!w(e)&&F.length>0&&(0,Q.jsxs)(`div`,{className:t(`flex flex-wrap items-center gap-0.5 -mt-1 relative z-10`,h?`justify-end pr-2`:`justify-start pl-2`),children:[!h&&(0,Q.jsx)(qe,{open:k,onToggle:()=>A(e=>!e),onReact:q}),F.map(e=>(0,Q.jsxs)(`button`,{type:`button`,title:e.actors.join(`, `),onClick:()=>q(e.emoji),className:t(`inline-flex h-5 items-center gap-0.5 rounded-full border px-1.5 text-[11px] shadow-sm transition-colors`,e.mine?`border-primary/40 bg-primary/10 text-primary`:`border-border bg-background hover:bg-muted text-foreground`),children:[(0,Q.jsx)(`span`,{children:e.emoji}),e.count>1&&(0,Q.jsx)(`span`,{children:e.count})]},e.emoji))]}),!w(e)&&!h&&F.length===0&&(0,Q.jsx)(`div`,{className:`absolute -bottom-2.5 left-1 z-20`,children:(0,Q.jsx)(qe,{open:k,onToggle:()=>A(e=>!e),onReact:q})})]}),h&&Z&&(0,Q.jsx)(`span`,{className:`shrink-0 self-end opacity-60`,children:(0,Q.jsx)(ce,{user:D,address:e.from,distinct:E})})]})});export{pe as a,xe as i,Be as n,X as o,De as r,Ye as t};
|
|
4
|
+
//# sourceMappingURL=MessageBubble-BWpoBjl4.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{o as t,p as n,u as r}from"./dist-DeW2Y1R5.js";import{Ct as i,St as a,d as o,f as s,p as c,t as l}from"./store-BvtFdlGX.js";import"./provider-display-DbLWpP3j.js";import{ct as u,et as d,h as f,v as p,vt as m}from"./display-CfO7rTuF.js";import{t as h}from"./api-CIIVBtAV.js";import{i as ee,n as g,r as _,t as v}from"./list-todo-9qT0fgxZ.js";import{t as y}from"./archive-CIuPSvmx.js";import{t as b}from"./check-B3M9Ug1P.js";import{t as x}from"./chevron-down-BoG3JCZn.js";import{t as S}from"./chevron-up-Bv3yC5ma.js";import{t as C}from"./issue-ref-chip-ODyondIa.js";import{t as w}from"./circle-UESLMi2-.js";import{t as te}from"./git-branch-yxhV0m8E.js";import{r as T}from"./workflow-marker-Cf3Hf2fN.js";import{t as E}from"./x-Bge17hWJ.js";import{t as D}from"./task-chip-CYj0mpoL.js";import{t as O}from"./agent-name-CTZBrSD9.js";var k=[`reserved`,`running`,`escalated`,`ci-blocked`];function A(e){return k.includes(e)}var j=e(n(),1);function M(e){if(typeof window>`u`)return()=>{};let t=window.matchMedia(m);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function N(){return(0,j.useSyncExternalStore)(M,()=>typeof window<`u`&&window.matchMedia(m).matches,()=>!1)}var P=r(),F={open:{label:`open`,className:`border-border bg-muted/40 text-muted-foreground`},"conformance-pending":{label:`conformance pending`,className:`border-tone-warning/40 bg-tone-warning/10 text-tone-warning-fg`},done:{label:`done`,className:`border-tone-success/40 bg-tone-success/10 text-tone-success-fg`}};function I({completion:e}){let n=F[e];return(0,P.jsx)(`span`,{className:t(`shrink-0 rounded border px-1.5 py-0.5 text-[10px] font-medium`,n.className),children:n.label})}function ne({plan:e,onArchive:t}){let n=e.nodes.length;if(!n||e.nodes.some(e=>e.status!==`landed`))return null;let r=`${n} node${n===1?``:`s`}`;return e.completion===`conformance-pending`?(0,P.jsxs)(`div`,{role:`status`,className:`mb-2 rounded-md border border-tone-warning/30 bg-tone-warning/10 px-2.5 py-1.5 text-[11px] text-tone-warning-fg`,children:[`All `,r,` landed — conformance pending. The plan is not done until its acceptance check passes.`]}):e.completion&&e.completion!==`done`?null:(0,P.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 rounded-md border border-tone-success/30 bg-tone-success/10 px-2.5 py-1.5`,children:[(0,P.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-tone-success-fg`,children:[e.completion===`done`?`Acceptance passed`:`All ${r} landed`,` — archive this plan?`]}),(0,P.jsx)(`button`,{type:`button`,onClick:t,className:`shrink-0 rounded border border-tone-success/40 bg-tone-success/15 px-2 py-0.5 text-[10px] font-medium text-tone-success-fg hover:bg-tone-success/20 hover:text-tone-success-fg`,children:`Archive plan`})]})}function L({check:e}){let t=`command`in e;return(0,P.jsx)(`code`,{className:`block max-w-full truncate rounded-sm bg-muted/60 px-1 py-px font-mono text-[10px] text-muted-foreground`,title:t?e.command:e.path,children:t?`$ ${e.command}`:e.path})}function re({plan:e}){let n=e.acceptance??[];if(!n.length)return null;let r=e.conformance,i=r?r.planVersion!==e.version:!1,a=new Map(r?.items.map(e=>[e.id,e])??[]),o=n.filter(e=>a.get(e.id)?.status===`met`).length;return(0,P.jsxs)(`section`,{"aria-label":`Plan acceptance`,className:`mt-2 rounded-md border border-border bg-background/60 px-2.5 py-2`,children:[(0,P.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,P.jsx)(`h3`,{className:`text-[11px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Acceptance`}),(0,P.jsx)(`span`,{className:`text-[10px] tabular-nums text-muted-foreground`,children:r?`${o}/${n.length} met`:`${n.length} item${n.length===1?``:`s`} · not checked yet`})]}),r&&(0,P.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-0.5 text-[10px] text-muted-foreground`,children:[(0,P.jsx)(`span`,{children:`Last verdict`}),(0,P.jsx)(`span`,{className:t(`rounded-sm px-1 py-px font-semibold uppercase tracking-wide`,r.verdict===`pass`?`bg-tone-success/15 text-tone-success-fg`:`bg-tone-danger/15 text-tone-danger-fg`),children:r.verdict}),(0,P.jsxs)(`span`,{children:[`on main `,(0,P.jsx)(`code`,{className:`font-mono`,children:r.mainSha.slice(0,9)})]}),(0,P.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`by `,r.by]}),(0,P.jsx)(`span`,{title:p(r.at),children:d(Date.now(),r.at)}),i&&(0,P.jsxs)(`span`,{className:`rounded-sm bg-tone-warning/15 px-1 py-px text-tone-warning-fg`,title:`The plan changed after this verdict; a new check is needed.`,children:[`stale · v`,r.planVersion,`, plan now v`,e.version]})]}),(0,P.jsx)(`ul`,{className:`max-h-48 space-y-1 overflow-auto`,children:n.map(e=>{let n=a.get(e.id);return(0,P.jsxs)(`li`,{className:t(`flex min-w-0 gap-1.5`,i&&`opacity-70`),children:[(0,P.jsx)(`span`,{className:`mt-px shrink-0`,"aria-label":n?.status??`not checked`,children:n?.status===`met`?(0,P.jsx)(b,{className:`h-3.5 w-3.5 text-tone-success-fg`}):n?.status===`unmet`?(0,P.jsx)(E,{className:`h-3.5 w-3.5 text-tone-danger-fg`}):(0,P.jsx)(w,{className:`h-3 w-3 text-muted-foreground`})}),(0,P.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,P.jsxs)(`div`,{className:`text-[11px] leading-snug text-foreground`,children:[(0,P.jsx)(`span`,{className:`mr-1.5 font-mono text-[10px] text-muted-foreground`,children:e.id}),e.text]}),e.check&&(0,P.jsx)(L,{check:e.check}),n?.note&&(0,P.jsx)(`div`,{className:`text-[10px] leading-snug text-muted-foreground`,children:n.note})]})]},e.id)})})]})}function ie({listId:e,plans:n,shownId:r,open:i,onToggle:a}){let o=n.findIndex(e=>e.id===r)+1;return(0,P.jsxs)(`button`,{type:`button`,onClick:a,"aria-expanded":i,"aria-controls":e,"aria-label":`Switch plan (${n.length} active)`,title:`${n.length} active plans`,className:t(`flex h-6 shrink-0 items-center gap-0.5 rounded border border-border px-1.5 text-[10px] font-medium tabular-nums`,`text-muted-foreground hover:bg-muted/60 hover:text-foreground`,i&&`bg-muted/60 text-foreground`),children:[o>0?`${o}/${n.length}`:n.length,(0,P.jsx)(_,{className:`h-3 w-3`})]})}function R({listId:e,plans:n,shownId:r,onChoose:a,className:o}){let s=i();return(0,P.jsx)(`ul`,{id:e,"aria-label":`Active plans`,className:t(`overflow-hidden rounded-md border border-border bg-background/95`,o),children:n.map(e=>{let n=e.id===r,i=`${e.nodeCount} node${e.nodeCount===1?``:`s`}`;return(0,P.jsx)(`li`,{className:`border-b border-border last:border-b-0`,children:(0,P.jsxs)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-current":n?`true`:void 0,className:t(`flex min-h-11 w-full min-w-0 items-center gap-2 px-2.5 py-1.5 text-left sm:min-h-0`,n?`bg-muted/50`:`hover:bg-muted/40`),children:[(0,P.jsx)(b,{className:t(`h-3.5 w-3.5 shrink-0 text-foreground`,!n&&`invisible`),"aria-hidden":`true`}),(0,P.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,P.jsx)(`span`,{className:`block truncate text-[12px] font-medium leading-tight text-foreground`,children:e.title||`Untitled plan`}),(0,P.jsxs)(`span`,{className:`block truncate text-[10px] leading-tight text-muted-foreground`,children:[i,` · updated `,d(s,e.updatedAt)]})]}),e.completion&&(0,P.jsx)(I,{completion:e.completion})]})},e.id)})})}function z(e){return new Map((e.dispatch?.slots??[]).flatMap(e=>e.runId?[[e.taskId,e.runId]]:[]))}function B({runId:e,label:n,className:r}){let i=l(e=>e.showWorkflowRun);return(0,P.jsxs)(`button`,{type:`button`,onClick:()=>void i(e),title:`Open workflow run ${e}`,"aria-label":`Open workflow run ${e}`,className:t(`wf-marker inline-flex min-w-0 items-center gap-0.5 rounded-sm border border-border/70 px-1 py-px text-[9px] font-medium text-muted-foreground hover:text-foreground`,r),children:[(0,P.jsx)(T,{className:`h-2.5 w-2.5 shrink-0`}),(0,P.jsx)(`span`,{className:`truncate`,children:n??e})]})}function ae({plan:e}){let t=e.dispatch;if(!t)return null;let n=t.slots.filter(e=>A(e.status)).length;return(0,P.jsxs)(`div`,{"data-testid":`plan-dispatch`,className:`mb-2 flex flex-wrap items-center gap-1.5 text-[10px] text-muted-foreground`,children:[(0,P.jsxs)(`span`,{className:`font-medium text-foreground`,children:[`Autopilot `,t.state]}),(0,P.jsxs)(`span`,{children:[n,`/`,t.concurrency,` running`]}),t.slots.filter(e=>e.ciBlock).map(e=>(0,P.jsxs)(`span`,{className:`text-tone-warning-fg`,title:e.ciBlock.sha,children:[`T`,e.taskId,` CI blocked · `,e.ciBlock.sha.slice(0,12),` · `,e.ciBlock.incidentIds.join(`, `),` · `,e.ciBlock.retriedAt===void 0?`retry on clearance`:`exact SHA retried; awaiting pass`]},e.taskId)),t.audit&&(0,P.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[`audit T`,t.audit.taskId,t.audit.verdict?` · ${t.audit.verdict}`:``,t.audit.runId&&(0,P.jsx)(B,{runId:t.audit.runId,label:`audit run`})]})]})}var V=4,H={satisfied:`text-tone-success-fg`,waiting:`text-tone-warning-fg`,unreachable:`text-tone-danger-fg`};function U(e){return e.verdict.state===`unreachable`?`unreachable · ${e.verdict.reason}`:e.verdict.state}function W({entry:e,now:n,nodeLabels:r}){let i=l(e=>e.openTaskDetailById),a=e.waitingSince===void 0?``:f(n,e.waitingSince);return(0,P.jsxs)(`li`,{"data-testid":`plan-external`,"data-verdict":e.verdict.state,title:e.projectId?`Project ${e.projectId}`:void 0,className:`min-w-0 rounded-md border border-dashed border-border bg-background/60 px-2 py-1.5`,children:[(0,P.jsxs)(`button`,{type:`button`,onClick:()=>i(e.taskId),className:`flex w-full min-w-0 items-baseline gap-1.5 text-left`,title:`Open T${e.taskId}`,children:[(0,P.jsxs)(`span`,{className:`shrink-0 text-[11px] font-semibold tabular-nums text-foreground`,children:[`T`,e.taskId]}),(0,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-muted-foreground`,children:e.title??`title hidden`})]}),(0,P.jsxs)(`div`,{className:`mt-0.5 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-0.5 text-[10px] text-muted-foreground`,children:[(0,P.jsx)(`span`,{className:t(`font-medium`,H[e.verdict.state]),children:U(e)}),(0,P.jsxs)(`span`,{children:[`stage `,e.stage]}),(0,P.jsxs)(`span`,{children:[`needs `,e.requiredStage]}),a&&(0,P.jsxs)(`span`,{title:`How long this plan has waited on it`,children:[`waiting `,a]}),(0,P.jsxs)(`span`,{className:`truncate`,children:[`→ `,e.dependents.map(e=>r.get(e)??e).join(`, `)]})]})]})}function G({plan:e}){let[t,n]=(0,j.useState)(!1),r=a(e=>e.now),i=e.external;if(!i?.length)return null;let o=e.externalCount??i.length,s=t?i:i.slice(0,V),c=new Map(e.nodes.map(e=>[e.id,e.label])),l=i.length-s.length,u=o-i.length;return(0,P.jsxs)(`div`,{"data-testid":`plan-externals`,className:`mb-2`,children:[(0,P.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:[(0,P.jsx)(g,{className:`h-3 w-3`}),(0,P.jsxs)(`span`,{children:[`Waits on other work (`,o,`)`]})]}),(0,P.jsx)(`ul`,{className:`grid gap-1.5 sm:grid-cols-2`,children:s.map(e=>(0,P.jsx)(W,{entry:e,now:r,nodeLabels:c},e.taskId))}),(l>0||t&&i.length>V||u>0)&&(0,P.jsxs)(`div`,{className:`mt-1 flex items-center gap-2 text-[10px] text-muted-foreground`,children:[(l>0||t)&&i.length>V&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>n(!t),"aria-expanded":t,className:`rounded border border-border bg-muted/30 px-1.5 py-0.5 font-medium hover:bg-muted/50 hover:text-foreground`,children:t?`Show fewer`:`+ ${l} more`}),u>0&&(0,P.jsxs)(`span`,{children:[u,` more not listed`]})]})]})}var K=196,q=84,J=52,Y=16,X=14,Z=[`landed`,`in-progress`,`pending`,`blocked`],Q={landed:{label:`landed`,dot:`bg-tone-success`,accent:`border-l-tone-success`,text:`text-tone-success-fg`,wire:`#34d399`},"in-progress":{label:`in progress`,dot:`bg-tone-sky`,accent:`border-l-tone-sky`,text:`text-tone-sky-fg`,wire:`#38bdf8`},pending:{label:`pending`,dot:`bg-tone-warning`,accent:`border-l-tone-warning`,text:`text-tone-warning-fg`,wire:`#fbbf24`},blocked:{label:`blocked`,dot:`bg-tone-danger`,accent:`border-l-tone-danger`,text:`text-tone-danger-fg`,wire:`#f87171`}},oe=new Set([...u,`completed`]);function $(e){return oe.has(e.status)}function se(e,t){return t?e:e.filter(e=>!$(e))}function ce(e){return e?e.label||(e.policyName?`policy:${e.policyName}`:e.agentId||``):``}function le({owner:e}){let t=l(t=>e?.agentId?t.agentsById[e.agentId]:void 0),n=ce(e);return!t&&!n?null:(0,P.jsx)(O,{agent:t,fallback:n,className:`text-[10px] text-muted-foreground`})}function ue(e){let t=new Map(e.nodes.map(e=>[e.id,e])),n=new Map(e.nodes.map((e,t)=>[e.id,t])),r=new Map,i=new Map(e.nodes.map(e=>[e.id,0]));for(let n of e.edges)!t.has(n.from)||!t.has(n.to)||(r.set(n.from,[...r.get(n.from)??[],n.to]),i.set(n.to,(i.get(n.to)??0)+1));let a=new Map(e.nodes.map(e=>[e.id,0])),o=e.nodes.filter(e=>(i.get(e.id)??0)===0).map(e=>e.id),s=new Set;for(;o.length;){let e=o.shift();s.add(e);let t=a.get(e)??0;for(let n of r.get(e)??[])a.set(n,Math.max(a.get(n)??0,t+1)),i.set(n,(i.get(n)??0)-1),(i.get(n)??0)===0&&o.push(n)}let c=Math.max(0,...Array.from(a.values()))+1;for(let t of e.nodes)s.has(t.id)||a.set(t.id,c++);let l=new Map;for(let t of e.nodes){let e=a.get(t.id)??0;l.set(e,[...l.get(e)??[],t])}let u=[...l.entries()].sort(([e],[t])=>e-t),d=Math.max(1,...u.map(([,e])=>e.length)),f=[];u.forEach(([e,t],r)=>{let i=[...t].sort((e,t)=>(e.lane||``).localeCompare(t.lane||``)||(n.get(e.id)??0)-(n.get(t.id)??0)),a=(d-i.length)*100/2;i.forEach((t,n)=>{f.push({node:t,layer:e,x:X+r*248,y:X+a+n*100})})});let p=u.length;return{nodes:f,width:Math.max(320,X*2+p*K+Math.max(0,p-1)*J),height:Math.max(112,X*2+d*q+Math.max(0,d-1)*Y)}}function de(e,t){let n=e.x+K,r=e.y+q/2,i=t.x,a=t.y+q/2,o=n+Math.max(20,(i-n)/2);return`M ${n} ${r} C ${o} ${r}, ${o} ${a}, ${i} ${a}`}function fe({threadId:e,teamId:n,channel:r}){let i=n?s(n,r):e?o(e,r):``,a=l(e=>n?c(e,i):i?e.plansByThread[i]:null),u=l(e=>n?e.planListsByTeam[i]?.plans:void 0),d=l(e=>e.fetchPlan),f=l(e=>e.fetchTeamPlanList),p=l(e=>e.chooseTeamPlan),[m,h]=(0,j.useState)(!1),g=(0,j.useId)(),_=l(e=>e.setPlanArchived),v=l(e=>e.planCollapsed),b=l(e=>e.setPlanCollapsed),w=l(e=>e.issueRefsById),T=l(e=>e.deliverableTasks),E=l(e=>e.openTaskDetailById),O=N(),[k,A]=(0,j.useState)(!1),M=v??O;(0,j.useEffect)(()=>{if(n){d({teamId:n,channel:r}),f({teamId:n,channel:r});return}e&&d({threadId:e,channel:r})},[r,d,f,n,e]);let F=(0,j.useMemo)(()=>a?ue(a):null,[a]),L=(0,j.useMemo)(()=>a?z(a):new Map,[a]),V=(0,j.useMemo)(()=>new Map(F?.nodes.map(e=>[e.node.id,e])??[]),[F]),H=(0,j.useMemo)(()=>{if(!a)return[];let e=new Map;for(let t of a.nodes)e.set(t.status,(e.get(t.status)??0)+1);return Z.filter(t=>e.has(t)).map(t=>({status:t,count:e.get(t)??0}))},[a]);if(!a||!F)return null;if(a.archived&&!k)return(0,P.jsx)(`section`,{className:`shrink-0 border-b border-border bg-card/45 px-3 py-2`,children:(0,P.jsxs)(`button`,{type:`button`,onClick:()=>A(!0),className:`flex min-w-0 items-center gap-2 text-left text-muted-foreground hover:text-foreground`,"aria-expanded":`false`,children:[(0,P.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded bg-muted/60`,children:(0,P.jsx)(y,{className:`h-3 w-3`})}),(0,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] font-semibold uppercase tracking-wider`,children:`Show archived plan (1)`}),(0,P.jsx)(x,{className:`h-3.5 w-3.5 shrink-0`})]})});if(a.archived)return(0,P.jsx)(`section`,{className:`shrink-0 border-b border-border bg-card/45 px-3 py-2`,children:(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded bg-muted/60`,children:(0,P.jsx)(y,{className:`h-3 w-3 text-muted-foreground`})}),(0,P.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,P.jsx)(`div`,{className:`truncate text-[13px] font-semibold leading-tight text-muted-foreground`,children:a.title||`Plan`}),(0,P.jsx)(`div`,{className:`truncate text-[11px] leading-tight text-muted-foreground`,children:`Archived plan`})]}),(0,P.jsx)(`span`,{className:`shrink-0 rounded border border-border bg-muted/40 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground`,children:`archived`}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>A(!1),className:`shrink-0 rounded border border-border bg-muted/40 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground hover:bg-muted/60 hover:text-foreground`,"aria-expanded":`true`,children:`Hide`}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>void _(a.id,!1),title:`Unarchive plan`,"aria-label":`Unarchive plan`,className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted/60 hover:text-foreground`,children:(0,P.jsx)(ee,{className:`h-3.5 w-3.5`})})]})});let U=a.nodes.length,W=H.find(e=>e.status===`landed`)?.count??0,J=`${U} node${U===1?``:`s`}${W>0?` · ${W} landed`:``}`,Y=n&&u&&u.length>1?u:null,X=!!(Y&&m);return(0,P.jsxs)(`section`,{className:`shrink-0 border-b border-border bg-card/45 px-3 py-2`,children:[(0,P.jsx)(ne,{plan:a,onArchive:()=>void _(a.id,!0)}),(0,P.jsx)(ae,{plan:a}),(0,P.jsxs)(`div`,{className:t(`flex min-w-0 items-center gap-2`,(!M||X)&&`mb-2`),children:[(0,P.jsxs)(`button`,{type:`button`,onClick:()=>b(!M),"aria-expanded":!M,"aria-label":M?`Expand plan graph`:`Collapse plan graph`,className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,P.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded bg-muted/60`,children:(0,P.jsx)(te,{className:`h-3 w-3 text-muted-foreground`})}),(0,P.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,P.jsx)(`div`,{className:`truncate text-[13px] font-semibold leading-tight text-foreground`,children:a.title||`Plan`}),(0,P.jsx)(`div`,{className:`truncate text-[11px] leading-tight text-muted-foreground`,children:M?J:a.objective||J})]})]}),H.length>0&&(0,P.jsx)(`div`,{className:`hidden shrink-0 items-center gap-2.5 sm:flex`,children:H.map(({status:e,count:n})=>(0,P.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-muted-foreground`,children:[(0,P.jsx)(`span`,{className:t(`h-1.5 w-1.5 rounded-full`,Q[e].dot)}),(0,P.jsx)(`span`,{className:t(`font-medium tabular-nums`,Q[e].text),children:n}),(0,P.jsx)(`span`,{children:Q[e].label})]},e))}),a.completion&&(0,P.jsx)(I,{completion:a.completion}),Y&&(0,P.jsx)(ie,{listId:g,plans:Y,shownId:a.id,open:m,onToggle:()=>h(!m)}),(0,P.jsxs)(`span`,{className:`shrink-0 rounded bg-muted/60 px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-muted-foreground`,children:[`v`,a.version]}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>void _(a.id,!0),title:`Archive plan`,"aria-label":`Archive plan`,className:`flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted/60 hover:text-foreground`,children:(0,P.jsx)(y,{className:`h-3.5 w-3.5`})}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>b(!M),"aria-expanded":!M,"aria-label":M?`Expand plan graph`:`Collapse plan graph`,className:`flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted/60 hover:text-foreground`,children:M?(0,P.jsx)(x,{className:`h-3.5 w-3.5`}):(0,P.jsx)(S,{className:`h-3.5 w-3.5`})})]}),Y&&X&&(0,P.jsx)(R,{listId:g,className:M?void 0:`mb-2`,plans:Y,shownId:a.id,onChoose:e=>{h(!1),p({teamId:n,channel:r},e)}}),!M&&(0,P.jsx)(G,{plan:a}),M?null:a.nodes.length===0?(0,P.jsx)(`div`,{className:`rounded-md border border-dashed border-border px-3 py-3 text-center text-xs text-muted-foreground`,children:`No nodes yet — the plan graph fills in as the team is composed.`}):(0,P.jsx)(`div`,{className:`max-h-[min(46vh,360px)] overflow-auto`,children:(0,P.jsxs)(`div`,{className:`relative`,style:{width:F.width,height:F.height},children:[(0,P.jsxs)(`svg`,{className:`pointer-events-none absolute inset-0`,width:F.width,height:F.height,"aria-hidden":`true`,children:[(0,P.jsx)(`defs`,{children:Z.map(e=>(0,P.jsx)(`marker`,{id:`plan-arrow-${e}`,viewBox:`0 0 8 8`,refX:`6.5`,refY:`4`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,P.jsx)(`path`,{d:`M0 0 L8 4 L0 8 z`,fill:Q[e].wire})},e))}),a.edges.map(e=>{let t=V.get(e.from),n=V.get(e.to);if(!t||!n)return null;let r=Q[t.node.status];return(0,P.jsx)(`path`,{d:de(t,n),stroke:r.wire,strokeOpacity:.7,strokeWidth:2,fill:`none`,strokeLinecap:`round`,markerEnd:`url(#plan-arrow-${t.node.status})`},`${e.from}->${e.to}`)})]}),F.nodes.map(({node:e,x:n,y:r})=>{let i=Q[e.status],a=e.refs?.issueId?w[e.refs.issueId]:null,o=e.refs?.taskId?parseInt(e.refs.taskId,10):null,s=o==null?void 0:T.find(e=>e.id===o)?.title,c=o==null?void 0:L.get(o);return(0,P.jsxs)(`article`,{className:t(`group absolute flex flex-col justify-between rounded-md border border-l-[3px] bg-background/95 p-2`,`shadow-sm transition-all hover:-translate-y-px hover:border-border hover:shadow-md hover:bg-background`,i.accent),style:{left:n,top:r,width:K,height:q},title:e.scopeBlurb||e.label,children:[(0,P.jsx)(`div`,{className:`truncate text-xs font-semibold leading-tight text-foreground`,children:e.label}),(e.scopeBlurb||e.id)&&(0,P.jsx)(`div`,{className:`truncate text-[10px] leading-tight text-muted-foreground`,children:e.scopeBlurb||e.id}),(a||o!=null)&&(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-wrap gap-1`,children:[a&&(0,P.jsx)(C,{issueRef:a,compact:!0,className:`max-w-full`}),o!=null&&(0,P.jsx)(D,{id:o,title:s,onClick:()=>E(o),className:`max-w-full`}),c&&(0,P.jsx)(B,{runId:c,label:`run`})]}),(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-1.5`,children:[(0,P.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,P.jsx)(`span`,{className:t(`h-1.5 w-1.5 shrink-0 rounded-full`,i.dot)}),(0,P.jsx)(`span`,{className:t(`text-[10px] font-medium`,i.text),children:i.label})]}),(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,P.jsx)(le,{owner:e.ownerRef}),e.lane&&(0,P.jsx)(`span`,{className:`shrink-0 rounded-sm bg-muted/70 px-1 py-px text-[9px] font-medium uppercase tracking-wide text-muted-foreground`,children:e.lane})]})]})]},e.id)})]})}),!M&&(0,P.jsx)(re,{plan:a})]})}function pe({agentId:e}){let n=l(e=>e.openTaskDetailById),r=l(e=>e.sessionTasksCollapsed),i=l(e=>e.setSessionTasksCollapsed),a=l(e=>e.deliverableTasks),[o,s]=(0,j.useState)([]),[c,u]=(0,j.useState)(!1);(0,j.useEffect)(()=>{let t=!1;return h(`GET`,`/task-entities?createdBy=`+encodeURIComponent(e)+`&limit=500`).then(e=>{t||s(e)}).catch(()=>{}),()=>{t=!0}},[e]);let d=new Map(o.map(e=>[e.id,e]));for(let t of a)t.createdBy===e&&(!d.has(t.id)||Number(t.updatedAt)>=Number(d.get(t.id).updatedAt))&&d.set(t.id,t);let f=[...d.values()];if(f.length===0)return null;let p=f.filter($).length,m=se(f,c);return(0,P.jsxs)(`section`,{className:`shrink-0 border-b border-border bg-card/45 px-3 py-2`,children:[(0,P.jsxs)(`button`,{type:`button`,onClick:()=>i(!r),"aria-expanded":!r,"aria-label":r?`Expand session tasks`:`Collapse session tasks`,className:t(`flex w-full min-w-0 items-center gap-2 text-left`,!r&&`mb-1.5`),children:[(0,P.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded bg-muted/60`,children:(0,P.jsx)(v,{className:`h-3 w-3 text-muted-foreground`})}),(0,P.jsxs)(`span`,{className:`flex-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground`,children:[`Tasks from this session (`,m.length,`)`]}),(0,P.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted/60 hover:text-foreground`,children:r?(0,P.jsx)(x,{className:`h-3.5 w-3.5`}):(0,P.jsx)(S,{className:`h-3.5 w-3.5`})})]}),!r&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(me,{tasks:m,onOpen:n}),p>0&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>u(!c),className:`mt-1.5 rounded border border-border bg-muted/30 px-2 py-0.5 text-[10px] font-medium text-muted-foreground hover:bg-muted/50 hover:text-foreground`,"aria-pressed":c,children:c?`Hide ${p} closed`:`+ ${p} closed`})]})]})}function me({tasks:e,onOpen:t}){return(0,P.jsx)(`div`,{className:`space-y-2`,children:[{label:`In progress`,tasks:e.filter(e=>e.status===`in_progress`||e.status===`claimed`)},{label:`Needs validation`,tasks:e.filter(e=>e.status===`validating`)},{label:`Waiting`,tasks:e.filter(e=>![`in_progress`,`claimed`,`validating`].includes(e.status)&&!$(e))},{label:`Closed`,tasks:e.filter($)}].filter(e=>e.tasks.length).map(e=>(0,P.jsxs)(`section`,{"aria-label":e.label,children:[(0,P.jsxs)(`h3`,{className:`mb-1 text-[10px] text-muted-foreground`,children:[e.label,` (`,e.tasks.length,`)`]}),(0,P.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.tasks.map(e=>(0,P.jsx)(D,{id:e.id,title:e.title,status:e.status,onClick:()=>t(e.id),compact:!0},e.id))})]},e.label))})}export{pe as n,N as r,fe as t};
|
|
2
|
+
//# sourceMappingURL=PlanGraphPanel-C0auck3n.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,o as n,p as r,u as i}from"./dist-DeW2Y1R5.js";import{d as a,t as o}from"./store-BvtFdlGX.js";import{O as s,S as c,y as l}from"./provider-display-DbLWpP3j.js";import{B as u,E as d,F as f,W as p,Y as m,_ as h,f as g,j as _,mt as v,tt as y,z as b}from"./display-CfO7rTuF.js";import{n as x,t as S}from"./radio-Bn0_qc0G.js";import{t as C}from"./brain-CagXMEKE.js";import{t as w}from"./check-B3M9Ug1P.js";import{t as T}from"./chevron-down-BoG3JCZn.js";import{t as E}from"./chevron-right-iljytE0x.js";import{t as D}from"./chevron-up-Bv3yC5ma.js";import{t as O}from"./circle-alert-CryagaZd.js";import{t as k}from"./circle-check-CkUkN96J.js";import{t as ee}from"./circle-UESLMi2-.js";import{t as te}from"./clock-BWPPBh1_.js";import{t as ne}from"./file-pen-Crunre5f.js";import{t as A}from"./file-text-CKuoMR2U.js";import{t as re}from"./list-checks-CwnS3hly.js";import{t as ie}from"./plus-D5Ek4e2S.js";import{t as ae}from"./plug-vIyO9_P8.js";import{t as oe}from"./search-DjzbnTbf.js";import{t as se}from"./sparkles-CzwR10ZU.js";import{t as ce}from"./agent-type-icon-D6FUarOf.js";import{t as le}from"./users-C7B3u9jv.js";import{t as j}from"./wrench-C7-4CgnY.js";import{t as ue}from"./agent-name-CTZBrSD9.js";import{t as de}from"./code-preview-Bm1wWqAp.js";import{t as M}from"./formatted-body-Cm1RrzmN.js";var fe=t(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),N=t(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),pe=t(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),me=t(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),he=t(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),ge=t(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),P=t(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),F=t(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),I=t(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),L=e(r(),1);function _e(e,t){if(t.startsWith(`/`))return t;let n=`${e.replace(/\/+$/,``)}/${t}`.split(`/`),r=[];for(let e of n)!e||e===`.`||(e===`..`?r.pop():r.push(e));return`/`+r.join(`/`)}function ve(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n>0?t.slice(0,n):`/`}function ye(e,t){return e.filter(e=>e.status===`online`&&p(t,e.baseDir)).sort((e,t)=>b(t.baseDir).length-b(e.baseDir).length)[0]||e.find(e=>e.status===`online`)}function be(){return typeof window<`u`&&window.matchMedia(`(min-width: 1280px)`).matches}function xe(){return typeof window<`u`&&!!window.getSelection()?.toString()}function Se(e){let t=e.payload?.attachments;return Array.isArray(t)?t.filter(e=>!!(e&&typeof e==`object`&&typeof e.artifactId==`string`)):[]}var Ce=[`👍`,`❤️`,`✅`,`👀`];function we(e,t=v){let n=new Map;for(let r of e.reactions||[]){let e=u(r.emoji),i=n.get(e)??{emoji:e,count:0,mine:!1,actors:[]};i.count+=1,i.mine=i.mine||r.actorId===t,i.actors.push(r.actorId),n.set(e,i)}return[...n.values()].sort((e,t)=>t.count-e.count||e.emoji.localeCompare(t.emoji))}function Te(e){return _(e)}function Ee(e,t){let n=e.readBy||[],r=e.resolvedToAgent||t||e.to,i=r?n.includes(r):!1,a=n.some(e=>!s(e));if(i||a){let e=i?r:n.find(e=>!s(e));return{label:`read`,title:e?`Read by ${e}`:`Read by agent`,tone:`ok`,icon:N}}if(e.deliveryStatus===`delivered`)return{label:`delivered`,title:`Delivered to agent inbox`,tone:`ok`,icon:N};if(e.deliveryStatus===`queued`)return{label:`queued`,title:`Queued until the target agent is available`,tone:`warn`,icon:te};if(e.deliveryStatus===`failed`||e.deliveryStatus===`dead`){let t=e.deliveryPoisonReason||e.deliveryLastError||e.deliveryStatus;return{label:e.deliveryStatus,title:t,tone:`danger`,icon:O}}return{label:`sent`,title:`Accepted by Relay`,tone:`muted`,icon:w}}function De(e){let t=y(e.createdAt);return(e.reactions||[]).reduce((e,t)=>Math.max(e,y(t.updatedAt||t.createdAt)),t)}function Oe(e){return e?e.messages.reduce((e,t)=>Math.max(e,De(t)),0):0}function ke(e,t,n){return(e-t)*n}function Ae(e){if(!e)return 0;let t=0;for(let n of e.messages)d(n)&&(t=Math.max(t,y(n.createdAt)));return t}function R(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function je(e){for(let t of e)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}function Me(e,t,n,r){if(e?.teamId)return{teamId:e.teamId};let i=[...t];n&&!i.some(e=>e.id===n.id)&&i.push(n);let o=i.filter(e=>e.threadId).reverse(),s=o.find(e=>!!r[a(e.threadId,e.channel)])??o[0];return s?.threadId?{threadId:s.threadId,...s.channel?{channel:s.channel}:{}}:null}var Ne={online:`came online`,offline:`went offline`,shutdown:`shut down`,restarted:`restarted`,"compaction-requested":`compaction requested`,compacting:`compaction started`,compacted:`context compacted`,"compaction-stalled":`compaction stalled — may need manual intervention`,"clear-requested":`clear requested`,"clearing-context":`clear started`,"context-cleared":`context cleared`,"clear-stalled":`context clear stalled — may need manual intervention`,"shutting-down":`shutting down`},Pe=new Set(Object.keys(Ne)),Fe=3e3;function z(e){return new Date(e.occurredAt??e.createdAt).getTime()}function B(e){return typeof e.seq==`number`&&Number.isFinite(e.seq)?e.seq:void 0}function Ie(e){if(e.kind!==`session`)return null;let t=e.payload?.session;return!t||t.type!==`narration`&&t.type!==`reasoning`&&t.type!==`tool`?null:{id:e.id,kind:t.type,label:typeof t.label==`string`?t.label:void 0,text:e.body,ts:z(e),turnId:typeof t.turnId==`string`?t.turnId:void 0,...t.type===`tool`?{category:t.toolCategory??`generic`,...t.status===`running`||t.status===`completed`||t.status===`failed`||t.status===`cancelled`?{status:t.status}:{},...t.params===void 0?{}:{params:t.params}}:{}}}function Le(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`notice`)return null;let n=typeof t.label==`string`&&t.label?t.label:`compacted`;return{id:`notice-${e.id}`,status:n,timestamp:z(e)}}function Re(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`relay-injection`)return null;let n=t.relayInjection&&typeof t.relayInjection==`object`&&!Array.isArray(t.relayInjection)?t.relayInjection:{},r=c(n.category)?n.category:`context`,i=typeof n.timestamp==`number`&&Number.isFinite(n.timestamp)?n.timestamp:z(e),a=n.detail&&typeof n.detail==`object`&&!Array.isArray(n.detail)?n.detail:{};return{id:e.id,category:r,summary:typeof n.summary==`string`&&n.summary.trim()?n.summary:e.body,detail:a,agentId:typeof n.agentId==`string`&&n.agentId?n.agentId:e.from,timestamp:i}}function ze(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`prompt-resolution`)return null;let n=t.promptResolution&&typeof t.promptResolution==`object`&&!Array.isArray(t.promptResolution)?t.promptResolution:{},r=n.kind===`questions`||n.kind===`plan`||n.kind===`command`||n.kind===`tool`?n.kind:`tool`,i=typeof n.title==`string`&&n.title.trim()?n.title:`Prompt resolved`,a=typeof n.decisionLabel==`string`&&n.decisionLabel.trim()?n.decisionLabel:typeof t.label==`string`&&t.label.trim()?t.label:`Resolved`,o=n.answers&&typeof n.answers==`object`&&!Array.isArray(n.answers)?n.answers:{};return{id:e.id,title:i,kind:r,body:typeof n.promptBody==`string`?n.promptBody:typeof n.body==`string`?n.body:e.body,toolName:typeof n.toolName==`string`&&n.toolName.trim()?n.toolName:i,decisionLabel:a,questions:Be(n.questions,o,a),timestamp:z(e)}}function Be(e,t,n){let r=(Array.isArray(e)?e:[]).map((e,r)=>{let i=e&&typeof e==`object`&&!Array.isArray(e)?e:{},a=typeof i.question==`string`&&i.question.trim()?i.question.trim():typeof i.header==`string`&&i.header.trim()?i.header.trim():`Question ${r+1}`,o=t[a]??t[String(i.question??``)]??t[String(i.header??``)];return{question:a,answer:typeof o==`string`&&o.trim()?o.trim():n}});return r.length?r:Object.entries(t).map(([e,t])=>({question:e,answer:t}))}function V(e,t){let n=e.trim();for(let e of t){let t=e.trim();if(t){if(n===t)break;n.startsWith(`${t}\n\n`)&&(n=n.slice(t.length+2).trimStart())}}return n.trim()||e.trim()}function H(e){return e.kind===`system`&&e.from===`system`}var Ve=new Set([`agent.ready`,`agent.exited`,`agent.spawn_failed`]);function U(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function He(e){let t=e.filter(e=>Pe.has(e.status)).slice().sort((e,t)=>e.timestamp-t.timestamp),n=[];for(let e of t)n.some(t=>t.id===e.id)||n.some(t=>t.status===e.status&&Math.abs(t.timestamp-e.timestamp)<=Fe)||n.push(e);return n}function Ue(e){if(!l(e.payload))return null;let{windowId:t,groupOrder:n,source:r}=e.payload.finality,i=e.payload.session??e.payload.responseCapture;return{msg:e,windowId:t,groupOrder:n,source:r,confidence:i?.confidence===`definitive`||i?.confidence===`reconstructed`?i.confidence:void 0}}function We(e){let t=new Map;if(e.forEach((e,n)=>{if(e.type!==`message`)return;let r=Ue(e.msg);if(!r)return;let i=t.get(r.windowId)??[];i.push(n),t.set(r.windowId,i)}),t.size===0)return e;let n=new Map,r=new Set;for(let[i,a]of t){let t=new Set(a.map(t=>e[t].msg.id)),o=a.filter(n=>{let r=e[n].msg.sourceMessageId;return!(typeof r==`number`&&t.has(r))}),s=o.length>0?o:a,c=s.map(t=>Ue(e[t].msg)).sort((e,t)=>e.groupOrder-t.groupOrder),l=Math.min(...s),u=Math.min(...s.map(t=>z(e[t].msg)));n.set(l,{type:`work-final`,keyMessageId:e[l].msg.id,windowId:i,members:c,timestamp:u});for(let e of a)e!==l&&r.add(e)}let i=[];return e.forEach((e,t)=>{r.has(t)||i.push(n.get(t)??e)}),i}function Ge(e,t,n,r=[],i){let a=i?.historyStart!==!1,o=[];for(let e of r){let t=e.entries.reduce((e,t)=>Math.min(e,y(t.originalCreatedAt)),1/0),n=Number.isFinite(t)?t-1:e.importedAt;o.push({ts:n,entry:{type:`import-boundary`,history:e,timestamp:n}});for(let t of e.entries)o.push({ts:y(t.originalCreatedAt),entry:{type:`imported-message`,history:e,entry:t}})}if(n){let e=new Date(n).getTime();Number.isFinite(e)&&o.push({ts:e,entry:{type:`created`,timestamp:e}})}if(i?.spawnedBy){let e=n?new Date(n).getTime():0,t=Number.isFinite(e)?e:0;o.push({ts:t,entry:{type:`agent-action`,direction:`spawned-by`,agentId:i.spawnedBy.agentId,provider:i.spawnedBy.provider,status:`ready`,timestamp:t}})}let c=i?.spawnedBy?.agentId,u=null,d=1/0;if(a)for(let t of e){if(t.id<0||t.kind===`session`||H(t)||_(t)||!(s(t.from)||c!==void 0&&t.from===c)||!f(t).trim())continue;let e=z(t);e<d&&(d=e,u=t.id)}let p=new Map,h=new Map,g=[],v=new Map;for(let t of e){if(t.kind!==`session`)continue;let e=t.payload?.session;if(e?.type===`narration`&&typeof e.turnId==`string`){let n={id:t.id,body:t.body.trim()},r=h.get(e.turnId)??[];r.push(n),h.set(e.turnId,r),g.push(n)}else if(e?.type===`response`&&typeof e.turnId==`string`){let n=p.get(e.turnId)??[];n.push(t.body.trim()),p.set(e.turnId,n)}}let b=new Map;for(let[e,t]of p){let n=(h.get(e)??[]).map(e=>e.body);b.set(e,t.map(e=>V(e,n)))}for(let t of e){if(t.kind!==`session`)continue;let e=t.payload?.session;if(e?.type!==`response`||typeof e.turnId!=`string`)continue;let n=V(t.body,(h.get(e.turnId)??[]).map(e=>e.body));n&&n!==t.body&&v.set(t.id,n)}let x=new Set;for(let[e,t]of b){let n=h.get(e)??[];for(let e of t)for(let t=n.length-1;t>=0;t--){let r=n[t];if(!x.has(r.id)&&m(e,r.body)){x.add(r.id);break}}}let S=[],C=new Map;for(let t of e){if(!l(t.payload))continue;let e=f(t).trim();if(!e)continue;S.push(e);let n=C.get(t.from)??new Set;n.add(e),C.set(t.from,n)}for(let e of g)x.has(e.id)||S.some(t=>m(t,e.body))&&x.add(e.id);let w=new Map,T=[];for(let t of e){if(i?.include&&t.id!==u&&!i.include(t))continue;if(H(t)){let e=typeof t.payload?.kind==`string`?t.payload.kind:``;if(Ve.has(e)){let n=t.payload,r=typeof n.agentId==`string`?n.agentId:``,i=z(t);if(!r){o.push({ts:i,seq:B(t),id:t.id,entry:{type:`notice`,msg:t}});continue}let a=e===`agent.ready`?`ready`:e===`agent.exited`?`exited`:`failed`,s=w.get(r);if(s)s.entry.status=a,typeof n.reason==`string`&&(s.entry.reason=n.reason),s.entry.timestamp=i,s.ts=i,s.seq=B(t),s.id=t.id;else{let e={ts:i,seq:B(t),id:t.id,entry:{type:`agent-action`,direction:`spawned-child`,agentId:r,provider:typeof n.provider==`string`?n.provider:void 0,status:a,reason:typeof n.reason==`string`?n.reason:void 0,timestamp:i}};w.set(r,e),o.push(e)}continue}o.push({ts:z(t),seq:B(t),id:t.id,entry:{type:`notice`,msg:t}});continue}let e=Le(t);if(e){T.push(e);continue}let n=Ie(t);if(n){if(n.kind===`narration`&&x.has(n.id))continue;o.push({ts:n.ts,seq:B(t),id:t.id,entry:{type:`activity`,steps:[n],timestamp:n.ts}});continue}let r=Re(t);if(r){o.push({ts:r.timestamp,seq:B(t),id:t.id,entry:{type:`relay-injection`,event:r}});continue}let a=ze(t);if(a){o.push({ts:a.timestamp,seq:B(t),id:t.id,entry:{type:`prompt-resolution`,event:a}});continue}if(!l(t.payload)&&C.get(t.from)?.has(f(t).trim()))continue;if(t.kind===`session`){let e=t.payload?.session;if(e?.type===`response`&&typeof e.turnId==`string`&&!l(t.payload)){let e=v.get(t.id);if(e&&e!==t.body){o.push({ts:z(t),seq:B(t),id:t.id,entry:{type:`message`,msg:{...t,body:e}}});continue}}}let s=t.id===u?`initial-prompt`:`message`;o.push({ts:z(t),seq:B(t),id:t.id,entry:{type:s,msg:t}})}for(let e of He([...t,...T]))o.push({ts:e.timestamp,entry:{type:`status`,event:e}});for(let e of i?.effortChanges??[])o.push({ts:e.at,entry:{type:`effort-change`,change:e}});let E={created:0,date:1,"import-boundary":2,"imported-message":3,"initial-prompt":4,message:4,activity:4,notice:4,"agent-action":4,"relay-injection":4,"prompt-resolution":4,status:5,"effort-change":4,"work-final":4};o.sort((e,t)=>{let n=e.ts-t.ts;return n===0?e.seq!==void 0&&t.seq!==void 0&&e.seq!==t.seq?e.seq-t.seq:E[e.entry.type]-E[t.entry.type]||(e.id??0)-(t.id??0):n});let D=a?0:o.findIndex(e=>e.id!==void 0),O=[],k=a||D<0?``:U(o[D].ts);for(let{ts:e,entry:t}of D<0?[]:o.slice(D,i?.historyEnd===!1?o.map(e=>e.id!==void 0).lastIndexOf(!0)+1:o.length)){if(t.type===`created`){O.push(t);continue}let n=U(e);if(n!==k&&(O.push({type:`date`,date:n,timestamp:e}),k=n),t.type===`activity`){let e=O[O.length-1];if(e&&e.type===`activity`&&Qe(e,t)){e.steps.push(...t.steps);continue}}O.push(t)}return We(O)}function W(e){return e.type===`message`||e.type===`initial-prompt`?`msg-${e.msg.id}`:e.type===`notice`?`notice-${e.msg.id}`:e.type===`relay-injection`?`relay-injection-${e.event.id}`:e.type===`prompt-resolution`?`prompt-resolution-${e.event.id}`:e.type===`agent-action`?`agent-action-${e.direction}-${e.agentId}`:e.type===`activity`?`act-${e.steps[0]?.id??e.timestamp}`:e.type===`import-boundary`?`import-${e.history.id}`:e.type===`imported-message`?`import-msg-${e.history.id}-${e.entry.originalMessageId}-${e.entry.position}`:e.type===`status`?`status-${e.event.id}`:e.type===`effort-change`?`effort-${e.change.commandId}`:e.type===`date`?`date-${e.date}`:e.type===`work-final`?`msg-${e.keyMessageId??Math.min(...e.members.map(e=>e.msg.id))}`:`created-${e.timestamp}`}function Ke(e,t){if(e===t)return!0;if(e.type!==t.type)return!1;switch(e.type){case`message`:case`initial-prompt`:case`notice`:return e.msg===t.msg;case`relay-injection`:return e.event===t.event;case`prompt-resolution`:return e.event===t.event;case`agent-action`:{let n=t;return e.direction===n.direction&&e.agentId===n.agentId&&e.provider===n.provider&&e.status===n.status&&e.reason===n.reason&&e.timestamp===n.timestamp}case`activity`:{let n=t;return e.steps===n.steps&&e.timestamp===n.timestamp}case`import-boundary`:{let n=t;return e.history===n.history&&e.timestamp===n.timestamp}case`imported-message`:{let n=t;return e.history===n.history&&e.entry===n.entry}case`status`:return e.event===t.event;case`effort-change`:return e.change===t.change;case`date`:{let n=t;return e.date===n.date&&e.timestamp===n.timestamp}case`created`:return e.timestamp===t.timestamp;case`work-final`:{let n=t;return e.windowId===n.windowId&&e.members===n.members&&e.timestamp===n.timestamp}}}function qe(e){return e.type===`initial-prompt`?[`initprompt-${e.msg.id}`]:e.type===`work-final`?[`work-final-${e.windowId}`]:[]}function G(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Je(e){if(e.type===`message`||e.type===`initial-prompt`||e.type===`notice`){let t=G(e.msg.id);return t===null?[]:[t]}if(e.type===`relay-injection`||e.type===`prompt-resolution`)return[e.event.id];if(e.type===`activity`)return e.steps.map(e=>e.id).filter(Number.isFinite);if(e.type===`imported-message`){let t=G(e.entry.message?.id);return t===null?[]:[t]}return e.type===`work-final`?e.members.map(e=>e.msg.id).filter(e=>G(e)!==null):[]}function K(e){let t=Je(e);return t.length?{messageId:Math.min(...t),endMessageId:Math.max(...t)}:null}function Ye(e,t,n){let r=[...t].sort((e,t)=>e.dataIndex-t.dataIndex),i=r.findIndex(e=>e.bottom>n+1);if(i<0)return null;let a=t=>e[r[t].dataIndex],o=e=>{let t=a(e);return!!t&&K(t)!==null},s=-1;o(i)&&(s=i);for(let e=i-1;s<0&&e>=0;--e)o(e)&&(s=e);for(let e=i+1;s<0&&e<r.length;e+=1)o(e)&&(s=e);if(s<0){let e=a(i);return{topKey:e?W(e):null,offset:Math.max(0,Math.round(n-r[i].top))}}let c=a(s),l=K(c);return{topKey:W(c),anchorMessageId:l.messageId,anchorEndMessageId:l.endMessageId,offset:Math.round(n-r[s].top)}}function Xe(e,t){let n=G(t.messageId);if(n!==null){let r=G(t.endMessageId),i=r!==null&&r>=n?r:n,a=-1,o=-1/0;for(let t=0;t<e.length;t+=1){let r=Je(e[t]);if(r.some(e=>e>=n&&e<=i))return t;let s=r.filter(e=>e<=n).sort((e,t)=>t-e)[0];s!==void 0&&s>o&&(o=s,a=t)}if(a>=0)return a}if(t.topKey){let n=e.findIndex(e=>W(e)===t.topKey||qe(e).includes(t.topKey));if(n>=0)return n}return-1}function Ze(e){return e.type===`message`||e.type===`initial-prompt`||e.type===`notice`?(e.msg.subject?`${e.msg.subject} `:``)+f(e.msg):e.type===`imported-message`?f(e.entry.message):e.type===`activity`?e.steps.map(e=>[e.label,e.text].filter(Boolean).join(` `)).join(`
|
|
2
|
+
`):e.type===`relay-injection`?`${e.event.category} ${e.event.summary}\n${JSON.stringify(e.event.detail)}`:e.type===`prompt-resolution`?[e.event.title,e.event.decisionLabel,e.event.body,...e.event.questions.map(e=>`${e.question} ${e.answer}`)].filter(Boolean).join(`
|
|
3
|
+
`):e.type===`work-final`?e.members.map(e=>f(e.msg)).join(`
|
|
4
|
+
`):e.type===`effort-change`?`Effort ${e.change.previousEffort} → ${e.change.effort} ${e.change.reason??``}`:``}function Qe(e,t){let n=e.steps[e.steps.length-1]?.turnId,r=t.steps[0]?.turnId;return n&&r?n===r:!n&&!r}var q=i(),$e=5;function J(e,t=0){if(t>=$e)return e;if(typeof e==`string`){let n=e.trim();if(!(n.startsWith(`{`)&&n.endsWith(`}`)||n.startsWith(`[`)&&n.endsWith(`]`)))return e;try{return J(JSON.parse(n),t+1)}catch{return e}}if(Array.isArray(e))return e.map(e=>J(e,t+1));if(e&&typeof e==`object`){let n={};for(let[r,i]of Object.entries(e))n[r]=J(i,t+1);return n}return e}function et(e){try{return JSON.stringify(J(e),null,2)}catch{return typeof e==`string`?e:String(e)}}function Y({value:e,compact:t=!0,className:n}){return(0,q.jsx)(`div`,{className:n,children:(0,q.jsx)(de,{content:(0,L.useMemo)(()=>et(e),[e]),path:`payload.json`,mediaType:`application/json`,compact:t})})}function X({id:e,icon:t,label:r,summary:i,trailing:a,children:s,tone:c,defaultExpanded:l=!1,expanded:u,onExpandedChange:d,wrapHeader:f=!1,className:p}){let m=u!==void 0,[h,g]=(0,L.useState)(l),_=o(t=>e?t.chatExpandedItems.includes(e):!1),v=o(e=>e.toggleChatItemExpanded),y=m?u:e?_:h;function b(){m?d?.(!y):e?v(e):g(e=>!e)}let x=(t||r)&&(0,q.jsxs)(`span`,{className:n(`flex gap-1.5`,f?`min-w-0 max-w-full items-start`:`shrink-0 items-center`),children:[t&&(0,q.jsx)(t,{className:n(`h-3.5 w-3.5 shrink-0`,f&&`mt-px`)}),r&&(0,q.jsx)(`span`,{className:n(`font-medium`,!f&&`shrink-0`),children:r})]});return(0,q.jsxs)(`div`,{className:n(`w-full rounded-lg border px-2.5 py-1.5 text-xs shadow-sm`,f&&`@container/ci`,c,p),children:[(0,q.jsxs)(`button`,{type:`button`,className:n(`flex w-full min-w-0 items-center gap-1.5 text-left`,f&&`relative flex-wrap gap-y-1 pr-5`),"aria-expanded":y,onClick:b,children:[x,(0,q.jsx)(`span`,{className:n(`min-w-0 flex-1 truncate text-foreground/80`,f&&`@max-[30rem]/ci:basis-full`),children:i}),a&&(0,q.jsx)(`span`,{className:n(`text-muted-foreground/60`,f?`min-w-0`:`shrink-0`),children:a}),(0,q.jsx)(E,{className:n(`h-3.5 w-3.5 transition-transform`,f?`absolute right-0 top-[3px]`:`shrink-0`,y&&`rotate-90`)})]}),y&&(0,q.jsx)(`div`,{className:`mt-2`,children:s})]})}function Z(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function Q(e,t=``){return typeof e==`string`?e:t}function tt(e,t){return e===`memory`&&!!t&&typeof t==`object`&&t.source===`memory-preamble`}function nt(e){let t=Array.isArray(e.entries)?e.entries:[],n=Array.isArray(e.scopes)?e.scopes:[],r=Array.isArray(e.filtered)?e.filtered:[],i=Array.isArray(e.instructionSlugs)?e.instructionSlugs:[];return{event:Q(e.event)||void 0,skipped:Q(e.skipped)||void 0,projectMemoryEnabled:typeof e.projectMemoryEnabled==`boolean`?e.projectMemoryEnabled:void 0,tokens:Z(e.tokens),omitted:Z(e.omitted),omittedByReason:e.omittedByReason??void 0,demoted:Z(e.demoted),demotedByReason:e.demotedByReason??void 0,budgets:e.budgets??void 0,instructionTokens:Z(e.instructionTokens),instructionSlugs:i.map(e=>{let t=e??{};return{slug:Q(t.slug,`(unnamed)`),resolved:Q(t.resolved)||void 0,status:Q(t.status,`unknown`),tokens:Z(t.tokens)}}),entries:t.map(e=>{let t=e??{};return{id:Q(t.id)||void 0,title:Q(t.title,`(untitled)`),cell:Q(t.cell,`—`),kind:Q(t.kind)||void 0,tier:t.tier===`pinned`?`pinned`:`indexed`,tokens:Z(t.tokens),fullTokens:typeof t.fullTokens==`number`?t.fullTokens:void 0,rendered:t.rendered===!0,demoted:t.demoted===!0,demotedReason:t.demotedReason===`total`?`total`:t.demotedReason===`budget`?`budget`:void 0,omittedReason:t.omittedReason===`index`?`index`:void 0}}),scopes:n.map(e=>{let t=e??{};return{cell:Q(t.cell,`—`),budget:Z(t.budget),candidates:Z(t.candidates),rendered:Z(t.rendered),tokens:Z(t.tokens),omitted:Z(t.omitted)}}),filtered:r.map(e=>{let t=e??{};return{id:Q(t.id)||void 0,title:Q(t.title)||void 0,cell:Q(t.cell,`—`),reason:Q(t.reason,`unknown`)}}),content:Q(e.content)||void 0,injectedCount:typeof e.injectedCount==`number`?e.injectedCount:void 0,pinnedTokens:typeof e.pinnedTokens==`number`?e.pinnedTokens:void 0,indexedTokens:typeof e.indexedTokens==`number`?e.indexedTokens:void 0,filteredCount:typeof e.filteredCount==`number`?e.filteredCount:void 0,entriesTotal:typeof e.entriesTotal==`number`?e.entriesTotal:void 0,contentTruncated:e.contentTruncated===!0||void 0}}var rt={status:`not active`,sensitive:`sensitive — never injected`,never:`retrieval-only (inject:never)`,expired:`expired`,audience:`addressed to other profiles`},it={budget:`demoted — over its cell budget`,total:`demoted — over the whole-block cap`};function $({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:e}),(0,q.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:t})]})}function at({detail:e}){let t=nt(e),n=t.entries.filter(e=>e.rendered),r=t.entries.filter(e=>!e.rendered),i=t.injectedCount??n.length,a=t.pinnedTokens??n.filter(e=>e.tier===`pinned`).reduce((e,t)=>e+t.tokens,0),o=t.indexedTokens??n.filter(e=>e.tier===`indexed`).reduce((e,t)=>e+t.tokens,0),s=t.filteredCount??t.filtered.length,c=t.entriesTotal??t.entries.length,l=Math.max(0,c-t.entries.length),u=Math.max(0,s-t.filtered.length);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-md border border-border/60 bg-background/75 p-3 text-xs`,children:[t.skipped&&(0,q.jsxs)(`div`,{className:`rounded border border-tone-warning/25 bg-tone-warning/10 px-2 py-1 text-tone-warning-fg`,children:[`not injected — `,t.skipped===`unchanged`?`the resolved set is unchanged since the last injection, so the block already in context was not re-sent`:t.skipped===`inject-unsupported`?`this provider does not accept context injection; the spawn-time block is all it has`:`nothing resolved for this identity`]}),t.projectMemoryEnabled===!1&&(0,q.jsx)(`div`,{className:`w-fit rounded-full border border-tone-warning/25 bg-tone-warning/10 px-2 py-0.5 text-[10px] font-medium text-tone-warning-fg`,children:`Project memory excluded · Project Instructions is off`}),(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-x-6 gap-y-2`,children:[(0,q.jsx)($,{label:`Total cost`,value:`${t.tokens+t.instructionTokens}t`}),t.instructionSlugs.length>0&&(0,q.jsx)($,{label:`Instructions`,value:[`${t.instructionTokens}t`,t.instructionSlugs.filter(e=>e.status!==`rendered`).map(e=>`${e.slug} ${e.status}`).join(` · `)].filter(Boolean).join(` · `)}),(0,q.jsx)($,{label:`Injected`,value:`${i} ${i===1?`entry`:`entries`}`}),(0,q.jsx)($,{label:`Pinned / indexed`,value:`${a}t / ${o}t`}),t.budgets?.total?(0,q.jsx)($,{label:`Block cap`,value:t.budgets.baseReserved?`${t.budgets.total}t · ${t.budgets.baseReserved}t base reserve`:`${t.budgets.total}t`}):null,t.demoted?(0,q.jsx)($,{label:`Demoted to index`,value:[`${t.demoted}`,t.demotedByReason?.budget?`${t.demotedByReason.budget} cell`:``,t.demotedByReason?.total?`${t.demotedByReason.total} cap`:``].filter(Boolean).join(` · `)}):null,t.omitted>0&&(0,q.jsx)($,{label:`Omitted`,value:[`${t.omitted}`,t.omittedByReason?.index?`${t.omittedByReason.index} index cap`:``].filter(Boolean).join(` · `)}),s>0&&(0,q.jsx)($,{label:`Not injectable`,value:`${s}`})]}),t.filtered.length>0&&(0,q.jsxs)(`details`,{className:`flex flex-col gap-1`,children:[(0,q.jsxs)(`summary`,{className:`cursor-pointer text-[10px] uppercase tracking-wide text-muted-foreground`,children:[`Filtered before budgeting (`,s,`)`]}),(0,q.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[t.filtered.map((e,t)=>(0,q.jsxs)(`span`,{className:`rounded border border-border/60 bg-muted/40 px-2 py-0.5 text-muted-foreground`,children:[(0,q.jsx)(`span`,{className:`font-medium`,children:e.title??e.id??`(withheld)`}),` `,(0,q.jsx)(`span`,{className:`text-muted-foreground/80`,children:e.cell}),` · `,rt[e.reason]??e.reason]},e.id??`${e.reason}-${t}`)),u>0&&(0,q.jsxs)(`span`,{className:`rounded border border-dashed border-border/60 px-2 py-0.5 text-muted-foreground/80`,children:[`… `,u,` more`]})]})]}),t.scopes.length>0&&(0,q.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.scopes.map(e=>(0,q.jsxs)(`span`,{className:`rounded border border-border/60 bg-muted/40 px-2 py-0.5 tabular-nums`,children:[(0,q.jsx)(`span`,{className:`font-medium`,children:e.cell}),` `,e.rendered,`/`,e.candidates,` · `,e.tokens,`t`,(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[`/`,e.budget,`t`]})]},e.cell))}),t.entries.length>0&&(0,q.jsx)(`div`,{className:`overflow-x-auto`,children:(0,q.jsxs)(`table`,{className:`w-full min-w-[24rem] border-collapse text-left`,children:[(0,q.jsx)(`thead`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{className:`py-1 pr-2 font-normal`,children:`Entry`}),(0,q.jsx)(`th`,{className:`py-1 pr-2 font-normal`,children:`Cell`}),(0,q.jsx)(`th`,{className:`py-1 pr-2 font-normal`,children:`Tier`}),(0,q.jsx)(`th`,{className:`py-1 pr-2 text-right font-normal`,children:`Tokens`})]})}),(0,q.jsxs)(`tbody`,{children:[[...n,...r].map((e,t)=>(0,q.jsxs)(`tr`,{className:e.rendered?``:`text-muted-foreground/70 line-through decoration-muted-foreground/40`,children:[(0,q.jsxs)(`td`,{className:`py-0.5 pr-2`,children:[e.title,e.rendered&&e.demoted&&e.demotedReason&&(0,q.jsxs)(`span`,{className:`ml-1 no-underline text-tone-sky-fg`,children:[`(`,it[e.demotedReason],`)`]}),!e.rendered&&(0,q.jsx)(`span`,{className:`ml-1 no-underline text-tone-warning-fg`,children:`(omitted — over the index cap)`})]}),(0,q.jsx)(`td`,{className:`py-0.5 pr-2`,children:e.cell}),(0,q.jsx)(`td`,{className:`py-0.5 pr-2`,children:e.tier}),(0,q.jsxs)(`td`,{className:`py-0.5 pr-2 text-right tabular-nums`,children:[e.tokens,`t`,e.tier===`indexed`&&e.fullTokens?(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[` / `,e.fullTokens,`t full`]}):null]})]},e.id??`${e.title}-${t}`)),l>0&&(0,q.jsx)(`tr`,{className:`text-muted-foreground/70`,children:(0,q.jsxs)(`td`,{className:`py-0.5 pr-2`,colSpan:4,children:[`… `,l,` more`]})})]})]})}),t.content&&(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:[`Injected block`,t.contentTruncated?` (truncated)`:``]}),(0,q.jsx)(`pre`,{className:`mt-1 max-h-64 overflow-auto whitespace-pre-wrap break-words rounded border border-border/60 bg-muted/30 p-2`,children:t.content})]})]})}var ot={online:`text-tone-success-fg`,offline:`text-tone-neutral-fg`,shutdown:`text-tone-neutral-fg`,restarted:`text-tone-info-fg`,"compaction-requested":`text-tone-neutral-fg`,compacting:`text-tone-warning-fg`,compacted:`text-tone-warning-fg`,"compaction-stalled":`text-tone-danger-fg`,"clear-requested":`text-tone-neutral-fg`,"clearing-context":`text-tone-warning-fg`,"context-cleared":`text-tone-warning-fg`,"clear-stalled":`text-tone-danger-fg`,"shutting-down":`text-tone-neutral-fg`};function st(e){let t=new Date,[n,r,i]=e.split(`-`).map(Number),a=new Date(n,r-1,i);if(e===U(t.getTime()))return`Today`;let o=new Date(t);return o.setDate(o.getDate()-1),e===U(o.getTime())?`Yesterday`:a.toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:a.getFullYear()===t.getFullYear()?void 0:`numeric`})}function ct({event:e}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,q.jsx)(ee,{className:n(`w-2 h-2 fill-current`,ot[e.status]||`text-tone-neutral-fg`)}),(0,q.jsx)(`span`,{children:Ne[e.status]||e.status}),(0,q.jsx)(`span`,{className:`text-muted-foreground/60`,children:R(e.timestamp)})]}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function lt({agentId:e,fallbackLabel:t,className:r,noIcon:i}){let a=o(t=>t.agentsById[e])||null,s=o(e=>e.openInboxThread),c=o(e=>e.switchView),l=a?g(a):t||e;return(0,q.jsxs)(`button`,{type:`button`,className:n(`inline-flex max-w-full items-center gap-1 rounded px-1 text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,r),onClick:t=>{t.stopPropagation(),s(e),c(`chat`)},title:`Open chat for ${l}`,children:[!i&&(0,q.jsx)(ce,{agent:a,className:`w-4 h-4 text-[10px]`}),i?(0,q.jsx)(ue,{agent:a,fallback:l,className:`max-w-[160px]`}):(0,q.jsx)(`span`,{className:`max-w-[160px] truncate`,children:l})]})}var ut={"spawned-child":{ready:`spawned`,exited:`spawned · exited`,failed:`spawn failed`},"spawned-by":{ready:`spawned by`,exited:`spawned by`,failed:`spawned by`}},dt={"spawned-child-ready":ie,"spawned-child-exited":P,"spawned-child-failed":O,"spawned-by-ready":x,"spawned-by-exited":x,"spawned-by-failed":x},ft={"spawned-child-ready":`text-tone-success-fg`,"spawned-child-exited":`text-tone-neutral-fg`,"spawned-child-failed":`text-tone-danger-fg`,"spawned-by-ready":`text-tone-info-fg`,"spawned-by-exited":`text-tone-info-fg`,"spawned-by-failed":`text-tone-info-fg`};function pt({entry:e}){let t=`${e.direction}-${e.status}`,r=ut[e.direction]?.[e.status]??e.direction,i=dt[t]??S,a=ft[t]??`text-muted-foreground`,o=e.status===`failed`;return(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,q.jsxs)(`div`,{className:n(`flex items-center gap-1.5 rounded-full border bg-muted/30 px-2.5 py-1 text-xs`,o?`border-tone-danger/30`:`border-border`),children:[(0,q.jsx)(i,{className:n(`h-3 w-3 shrink-0`,a)}),(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,q.jsx)(lt,{agentId:e.agentId}),e.reason&&o&&(0,q.jsxs)(`span`,{className:`text-tone-danger-fg max-w-[120px] truncate`,title:e.reason,children:[`— `,e.reason]}),(0,q.jsx)(`span`,{className:`text-muted-foreground/60 shrink-0`,children:R(e.timestamp)})]}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}var mt={memory:C,"memory-area":F,instructions:A,tools:j,comms:S,knowledge:fe,context:he},ht={memory:`border-tone-success/25 bg-tone-success/10 text-tone-success-fg`,"memory-area":`border-tone-success/25 bg-tone-success/10 text-tone-success-fg`,instructions:`border-tone-sky/25 bg-tone-sky/10 text-tone-sky-fg`,tools:`border-tone-warning/25 bg-tone-warning/10 text-tone-warning-fg`,comms:`border-tone-violet/25 bg-tone-violet/10 text-tone-violet-fg`,knowledge:`border-tone-cyan/25 bg-tone-cyan/10 text-tone-cyan-fg`,context:`border-tone-neutral/25 bg-tone-neutral/10 text-tone-neutral-fg`};function gt({entry:e}){let t=e.event,n=mt[t.category]??se,r=ht[t.category]??ht.context,i=tt(t.category,t.detail);return(0,q.jsx)(`div`,{className:`flex justify-center py-2 my-1`,children:(0,q.jsx)(X,{id:`relay-injection-${t.id}`,icon:n,label:t.category,summary:t.summary,trailing:R(t.timestamp),tone:r,className:`max-w-[85%] md:max-w-[75%]`,children:i?(0,q.jsx)(at,{detail:t.detail}):(0,q.jsx)(Y,{value:t.detail,className:`max-h-72 overflow-auto rounded-md border border-border/60 bg-background/75`,compact:!0})})})}var _t={"mcp-tool-search":oe,"mcp-tool-call":ae,"cli-bash":I,edit:ne,read:A,plan:re,"ask-user-question":pe,"agent-spawn":le,generic:j},vt={"mcp-tool-search":`border-tone-sky/25 bg-tone-sky/10 text-tone-sky-fg`,"mcp-tool-call":`border-tone-violet/25 bg-tone-violet/10 text-tone-violet-fg`,"cli-bash":`border-tone-success/25 bg-tone-success/10 text-tone-success-fg`,edit:`border-tone-warning/25 bg-tone-warning/10 text-tone-warning-fg`,read:`border-tone-cyan/25 bg-tone-cyan/10 text-tone-cyan-fg`,plan:`border-tone-indigo/25 bg-tone-indigo/10 text-tone-indigo-fg`,"ask-user-question":`border-tone-rose/25 bg-tone-rose/10 text-tone-rose-fg`,"agent-spawn":`border-tone-orange/25 bg-tone-orange/10 text-tone-orange-fg`,generic:`border-tone-neutral/25 bg-tone-neutral/10 text-tone-neutral-fg`};function yt(e){let t=(e.label??``).trim(),n=e.text.trim();return t&&n&&n!==t?`${t} — ${n}`:t||n||`tool`}function bt(e){let t={tool:e.label||`tool`,category:e.category??`generic`};return e.status&&(t.status=e.status),e.text.trim()&&(t.command=e.text),e.params!==void 0&&(t.params=e.params),t}var xt={failed:`border-tone-danger/30 bg-tone-danger/10 text-tone-danger-fg`,cancelled:`border-tone-neutral/30 bg-tone-neutral/10 text-tone-neutral-fg`};function St({step:e}){let t=e.category??`generic`,n=_t[t]??j,r=e.status&&xt[e.status]||vt[t]||vt.generic,i=e.status===`failed`?`${t} · failed`:e.status===`cancelled`?`${t} · cancelled`:t;return(0,q.jsx)(X,{id:`tool-step-${e.id}`,icon:n,label:i,summary:yt(e),tone:r,children:(0,q.jsx)(Y,{value:bt(e),className:`max-h-72 overflow-auto rounded-md border border-border/60 bg-background/75`,compact:!0})})}function Ct({blockedLabel:e,onInterrupt:t,activityKey:n}){return e?(0,q.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,q.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-tone-danger/30 px-4`,children:[(0,q.jsx)(O,{className:`w-3.5 h-3.5 text-tone-danger-fg`}),(0,q.jsxs)(`span`,{className:`text-xs text-tone-danger-fg`,children:[`blocked: `,e]})]})}):(0,q.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,q.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-foreground/10 px-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-tone-yellow motion-safe:animate-[pulse_1.4s_ease-in-out_3]`}),(0,q.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-tone-yellow motion-safe:animate-[pulse_1.4s_ease-in-out_0.2s_3]`}),(0,q.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-tone-yellow motion-safe:animate-[pulse_1.4s_ease-in-out_0.4s_3]`})]},n??void 0),(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`working`}),t&&(0,q.jsxs)(`button`,{onClick:t,title:`Interrupt`,className:`ml-1 flex items-center gap-1 rounded-full px-1.5 py-0.5 text-xs text-muted-foreground hover:text-tone-danger-fg hover:bg-tone-danger/10 transition-colors`,children:[(0,q.jsx)(me,{className:`w-3.5 h-3.5`}),`Stop`]})]})})}function wt({entry:e}){let{event:t}=e,n=t.kind===`questions`,r=n?t.title:t.kind===`plan`?`Plan prompt`:`${t.toolName} permission`;return(0,q.jsx)(`div`,{className:`flex justify-center py-1.5`,children:(0,q.jsxs)(`div`,{className:`w-full max-w-2xl rounded-md border border-border bg-muted/20 px-3 py-2 text-sm`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,q.jsx)(k,{className:`h-3.5 w-3.5 text-tone-success-fg`}),(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),(0,q.jsx)(`span`,{children:t.decisionLabel}),(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-muted-foreground/60`,children:R(t.timestamp)})]}),n&&t.questions.length>0?(0,q.jsx)(`div`,{className:`mt-2 space-y-1.5`,children:t.questions.map((e,t)=>(0,q.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.question}),(0,q.jsx)(`div`,{className:`text-sm text-foreground`,children:e.answer})]},`${e.question}-${t}`))}):t.body.trim()?(0,q.jsx)(`div`,{className:`mt-2 max-h-48 overflow-auto rounded border border-border/70 bg-background/40 px-2 py-1.5 text-sm`,children:(0,q.jsx)(M,{text:t.body})}):null]})})}function Tt({date:e}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-3 my-1`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:st(e)}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Et({timestamp:e}){let t=new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`});return(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground/60`,children:[`created `,t]}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Dt({history:e}){let t=e.sourceAgentLabel||e.sourcePeerId,n=e.entries.length;return(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-dashed border-border bg-muted/30 px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,q.jsx)(ge,{className:`h-3 w-3`}),(0,q.jsxs)(`span`,{children:[`forked history from `,t]}),(0,q.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n,` `,n===1?`entry`:`entries`]})]}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Ot({entry:e,sourceLabel:t,issueRepo:r}){let i=e.message,a=f(i),o=s(e.originalFrom);return(0,q.jsx)(`div`,{className:n(`flex mb-3 opacity-80`,o?`justify-end`:`justify-start`),children:(0,q.jsx)(`div`,{className:`max-w-full md:max-w-[75%]`,children:(0,q.jsxs)(`div`,{className:n(`rounded-2xl border border-dashed px-3.5 py-2 text-sm select-text`,o?`border-primary/25 bg-primary/10 text-foreground rounded-br-sm`:`border-border bg-card/70 rounded-bl-sm`),children:[(0,q.jsxs)(`div`,{className:n(`mb-1 text-[10px] uppercase tracking-normal`,o?`text-primary/70`:`text-muted-foreground`),children:[`forked history · `,o?`you`:t||e.originalFrom]}),(0,q.jsx)(M,{text:a,rawBody:i.body,issueRepo:r,className:`leading-relaxed`}),(0,q.jsxs)(`p`,{className:n(`mt-1 flex items-center justify-end gap-1.5 text-xs`,o?`text-primary/60`:`text-muted-foreground`),children:[(0,q.jsx)(`span`,{className:`opacity-40`,children:h(e.originalMessageId)}),(0,q.jsx)(`span`,{children:R(e.originalCreatedAt)})]})]})})})}function kt({msg:e,issueRepo:t}){let n=f(e),r=R(e.occurredAt??e.createdAt);return(0,q.jsx)(`div`,{"data-msg-id":e.id,className:`mb-3`,children:(0,q.jsxs)(`div`,{className:`rounded-xl border border-primary/30 bg-primary/[0.06] px-3.5 py-2.5 shadow-sm`,children:[(0,q.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary/80`,children:[(0,q.jsx)(se,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`span`,{children:`Initial prompt`}),(0,q.jsx)(`span`,{className:`ml-auto text-[10px] font-normal normal-case text-muted-foreground/60`,children:r})]}),(0,q.jsx)(M,{text:n,rawBody:e.body,issueRepo:t,className:`text-sm leading-relaxed text-foreground`})]})})}function At({scrollEl:e,timeline:t,issueRepo:r,onScrollToOriginal:i}){let[a,o]=(0,L.useState)(!0),[c,l]=(0,L.useState)(!0),[u,d]=(0,L.useState)(null),[p,m]=(0,L.useState)(null),[h,g]=(0,L.useState)(null),[_,v]=(0,L.useState)(!1),y=(0,L.useMemo)(()=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(!(!n||n.type!==`message`&&n.type!==`initial-prompt`)&&s(n.msg.from))return{id:n.msg.id,body:f(n.msg),rawBody:n.msg.body,key:W(n)}}return null},[t]);if((0,L.useEffect)(()=>{if(!y||!e){o(!0);return}let t=null,n=null,r=()=>{l(e.scrollTop<(u?.offsetHeight??0));let r=e.querySelector(`[data-msg-id="${y.id}"]`);if(!r){t?.disconnect(),t=null,n=null,o(!1);return}let i=r.getBoundingClientRect(),a=e.getBoundingClientRect();v(i.top<a.top),r!==n&&(t?.disconnect(),n=r,t=new IntersectionObserver(([e])=>{e&&o(e.isIntersecting)},{root:e,threshold:0}),t.observe(r))};return r(),e.addEventListener(`scroll`,r,{passive:!0}),()=>{t?.disconnect(),e.removeEventListener(`scroll`,r)}},[y?.id,e,u]),!y||!y.body.trim())return null;let b=p?.id===y.id&&p.value,x=h?.id!==y.id||h.value;function S(){y&&i?.(y.key)}let C=_?`↑`:`↓`,w=a||c;return x?(0,q.jsx)(`div`,{ref:d,"aria-hidden":w,className:n(`absolute inset-x-0 top-0 z-10 flex border-b border-border bg-card/90 backdrop-blur`,w&&`invisible`),children:(0,q.jsxs)(`button`,{type:`button`,className:`w-full flex items-center justify-center gap-1.5 py-1 text-[11px] text-primary/60 hover:text-primary transition-colors`,onClick:()=>g({id:y.id,value:!1}),children:[(0,q.jsx)(`span`,{children:`Your prompt`}),(0,q.jsx)(T,{className:`w-3 h-3`})]})}):(0,q.jsxs)(`section`,{ref:d,"aria-hidden":w,className:n(`absolute inset-x-0 top-0 z-10 flex flex-col border-b border-border bg-card/90 px-3 py-2 backdrop-blur`,w&&`invisible`),children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted-foreground mb-0.5`,children:[(0,q.jsx)(`span`,{className:`font-medium text-primary/70`,children:`Your prompt`}),(0,q.jsxs)(`button`,{type:`button`,className:`ml-auto hover:text-foreground transition-colors`,onClick:S,children:[C,` scroll to original`]}),(0,q.jsx)(`button`,{type:`button`,className:`hover:text-foreground transition-colors`,onClick:()=>g({id:y.id,value:!0}),title:`Minimize`,children:(0,q.jsx)(D,{className:`w-3 h-3`})})]}),(0,q.jsx)(`div`,{className:n(`cursor-pointer`,b?`max-h-48 overflow-y-auto`:`line-clamp-2`),onClick:()=>m({id:y.id,value:!b}),children:(0,q.jsx)(M,{text:y.body,rawBody:y.rawBody,issueRepo:r,className:`text-sm text-foreground leading-snug`})})]})}var jt=(0,L.memo)(At);export{Ae as A,I as B,Ze as C,we as D,ke as E,Me as F,me as G,P as H,_e as I,fe as J,pe as K,je as L,ye as M,Ee as N,xe as O,ve as P,be as R,W as S,R as T,ge as U,F as V,he as W,Ye as _,Tt as a,Ke as b,kt as c,ct as d,jt as f,Ge as g,Y as h,Et as i,Se as j,Te as k,wt as l,X as m,lt as n,Dt as o,St as p,N as q,Ct as r,Ot as s,pt as t,gt as u,H as v,Ce as w,K as x,Xe as y,Oe as z};
|
|
5
|
+
//# sourceMappingURL=TraceView-DBnOx7AQ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as e,u as t}from"./dist-DeW2Y1R5.js";import{Ct as n,X as r,Z as i,q as a,t as o}from"./store-BvtFdlGX.js";import{et as s,h as c,v as l}from"./display-CfO7rTuF.js";import{s as u}from"./api-CIIVBtAV.js";import{t as d}from"./external-link-BRfu-fHG.js";import{t as f}from"./key-round-CcSxl5qr.js";import{t as p}from"./lock-BW8MPKw_.js";import{t as m}from"./x-Bge17hWJ.js";import{t as h}from"./button-Do6Z3vvn.js";import{t as g}from"./badge-DqJRtj_p.js";import{t as _}from"./agent-name-CTZBrSD9.js";import{t as v}from"./formatted-body-Cm1RrzmN.js";var y=t();function b({decision:t,className:b}){let x=n(),S=o(e=>e.agentsById[t.filedBy]),C=o(e=>e.declineVaultRequest),{name:w,scope:T}=i(t.title),E=a(t,x);return(0,y.jsxs)(`div`,{"data-testid":`decision-card-${t.id}`,"data-kind":`vault`,className:e(`rounded-xl bg-card ring-1 ring-tone-sky/40 px-3.5 py-3 text-sm`,b),children:[(0,y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,y.jsx)(f,{className:`mt-0.5 h-4 w-4 shrink-0 text-tone-sky-fg`}),(0,y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,y.jsxs)(`div`,{className:`font-medium text-foreground break-words`,children:[`Set secret `,(0,y.jsx)(`code`,{className:`break-all`,children:w})]}),(0,y.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,y.jsx)(g,{variant:`outline`,className:`h-4 border-tone-sky/50 px-1 text-[10px] text-tone-sky-fg`,children:`Secret`}),(0,y.jsx)(g,{variant:`outline`,className:`h-4 px-1 text-[10px]`,children:T}),(0,y.jsxs)(`span`,{children:[`#`,t.id]}),(0,y.jsxs)(`span`,{children:[`· asked by `,(0,y.jsx)(_,{agent:S,fallback:t.filedBy})]}),(0,y.jsxs)(`span`,{children:[`· `,s(x,t.createdAt)]}),t.expiresAt!==void 0&&t.status===`open`&&(0,y.jsxs)(`span`,{"data-testid":`vault-expiry`,title:l(t.expiresAt),className:E?`text-tone-warning-fg`:void 0,children:[`· `,E?`expired ${s(x,t.expiresAt)}`:`expires in ${c(t.expiresAt,x)}`]})]})]})]}),t.context&&(0,y.jsx)(v,{text:t.context,rawBody:t.context,className:`mt-2 text-[13px] leading-relaxed text-foreground/90`}),(0,y.jsxs)(`p`,{className:`mt-2 flex items-start gap-1.5 text-xs text-muted-foreground`,children:[(0,y.jsx)(p,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,y.jsx)(`span`,{children:`Enter the value on the one-time page. It does not go through chat and the agent never sees it.`})]}),(0,y.jsxs)(`div`,{className:`mt-2.5 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[t.formUrl&&t.status===`open`&&!E?(0,y.jsxs)(`a`,{href:r(t.formUrl,u()),target:`_blank`,rel:`noreferrer noopener`,className:`inline-flex h-11 w-full items-center justify-center gap-1.5 rounded-lg bg-primary px-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 sm:h-8 sm:w-auto`,children:[(0,y.jsx)(d,{className:`h-3.5 w-3.5`}),`Open secure form`]}):(0,y.jsx)(`p`,{"data-testid":`vault-form-unavailable`,className:`text-xs text-tone-warning-fg`,children:E?`This request expired. Ask the agent to request the secret again.`:t.status===`open`?`The form link is only shown to the operator token.`:`This request is closed.`}),t.status===`open`&&(0,y.jsxs)(h,{type:`button`,variant:`ghost`,onClick:()=>{C(t.id)},className:`h-11 w-full text-muted-foreground sm:h-8 sm:w-auto`,children:[(0,y.jsx)(m,{className:`h-3.5 w-3.5`}),`Decline`]})]})]})}export{b as t};
|
|
2
|
+
//# sourceMappingURL=VaultDecisionCard-0kp2oNBC.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{o as t,p as n,u as r}from"./dist-DeW2Y1R5.js";import{t as i,wt as a}from"./store-BvtFdlGX.js";import{et as o,mt as s,v as c}from"./display-CfO7rTuF.js";import{t as l}from"./scroll-area-CIN4KQse.js";import{t as u}from"./activity-TMzFOdh2.js";import{t as d}from"./radio-Bn0_qc0G.js";import{K as f,a as p,d as m,g as h,t as g}from"./TraceView-DBnOx7AQ.js";import{t as _}from"./braces-BOks9SsY.js";import{t as v}from"./clipboard-list-W2YeUsxT.js";import{n as y,t as b}from"./flame-CxBuz46L.js";import{t as x}from"./link-6RR7Hy3-.js";import{t as S}from"./message-circle-wjztgHBe.js";import{t as C}from"./message-square-reply-B9Z4cbQx.js";import{n as w}from"./agent-type-icon-D6FUarOf.js";import{t as T}from"./button-Do6Z3vvn.js";import{t as E}from"./badge-DqJRtj_p.js";import{t as D}from"./task-chip-CYj0mpoL.js";import{n as O}from"./agent-name-CTZBrSD9.js";import{r as k,t as A}from"./card-C4QJ4hCW.js";import{i as j,n as M,t as N}from"./MessageBubble-BWpoBjl4.js";var P=e(n(),1),F=r(),I={question:f,reply:C,message:S,operator:w,pair:x,task:v,state:d},L={question:`bg-tone-info/10 text-tone-info-fg border-tone-info/20`,reply:`bg-tone-success/10 text-tone-success-fg border-tone-success/20`,message:`bg-tone-neutral/10 text-tone-neutral-fg border-tone-neutral/20`,operator:`bg-tone-purple/10 text-tone-purple-fg border-tone-purple/20`,pair:`bg-tone-yellow/10 text-tone-yellow-fg border-tone-yellow/20`,task:`bg-tone-orange/10 text-tone-orange-fg border-tone-orange/20`,state:`bg-tone-cyan/10 text-tone-cyan-fg border-tone-cyan/20`},R=[`question`,`reply`,`message`,`operator`,`pair`,`task`,`state`],z=[`chat`,`session`,`system`,`task`];function B(e){let t=e?.surface;if(!t||typeof t!=`object`)return null;let n=t,r=[];return typeof n.component==`string`&&r.push(n.component),typeof n.view==`string`&&n.view!==n.component&&r.push(n.view),typeof n.session==`string`&&r.push(`tab ${n.session.slice(0,6)}`),typeof n.client==`string`&&r.push(`client ${n.client.slice(0,6)}`),r.length?r.join(` · `):null}function V({entry:e,agentsById:t}){if(e.type===`notice`)return(0,F.jsx)(`div`,{className:`px-1`,children:(0,F.jsx)(M,{msg:e.msg})});if(e.type===`agent-action`)return(0,F.jsx)(`div`,{className:`px-1`,children:(0,F.jsx)(g,{entry:e})});if(e.type===`activity`)return(0,F.jsx)(`div`,{className:`px-1 opacity-60`,children:(0,F.jsx)(j,{steps:e.steps,showReasoning:!1})});if(e.type===`status`)return(0,F.jsx)(`div`,{className:`px-1`,children:(0,F.jsx)(m,{event:e.event})});if(e.type===`date`)return(0,F.jsx)(`div`,{className:`px-1`,children:(0,F.jsx)(p,{date:e.date})});if(e.type===`created`||e.type===`import-boundary`||e.type===`imported-message`||e.type!==`message`)return null;let{msg:n}=e;return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 mb-0.5`,children:[(0,F.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground truncate max-w-[140px]`,title:n.from,children:(0,F.jsx)(O,{target:n.from,agentsById:t})}),(0,F.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:`→`}),(0,F.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground truncate max-w-[140px]`,title:n.to,children:(0,F.jsx)(O,{target:n.to,agentsById:t})}),(0,F.jsx)(E,{variant:`outline`,className:`text-[10px] px-1 py-0 shrink-0 ml-1`,children:n.kind})]}),(0,F.jsx)(N,{msg:n,peer:s})]})}function H(){let e=i(e=>e.messages),t=i(e=>e.agentsById),[n,r]=(0,P.useState)(``),[a,o]=(0,P.useState)(``),s=(0,P.useMemo)(()=>{let t=e;if(n){let e=n.toLowerCase();t=t.filter(t=>t.from.toLowerCase().includes(e)||t.to.toLowerCase().includes(e))}return a&&(t=t.filter(e=>e.kind===a)),t},[e,n,a]),c=(0,P.useMemo)(()=>h(s,[]),[s]);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,F.jsx)(`input`,{type:`text`,className:`rounded-md border border-input bg-background px-3 py-1.5 text-sm w-44`,placeholder:`Filter by agent…`,value:n,onChange:e=>r(e.target.value)}),(0,F.jsxs)(`select`,{className:`rounded-md border border-input bg-background px-3 py-1.5 text-sm`,value:a,onChange:e=>o(e.target.value),children:[(0,F.jsx)(`option`,{value:``,children:`All kinds`}),z.map(e=>(0,F.jsx)(`option`,{value:e,children:e},e))]}),(0,F.jsx)(E,{variant:`secondary`,className:`ml-auto`,children:s.length})]}),(0,F.jsx)(l,{className:`h-[calc(100dvh-13rem)]`,children:(0,F.jsxs)(`div`,{className:`space-y-1 pr-2`,children:[c.length===0&&(0,F.jsx)(`div`,{className:`text-center text-muted-foreground py-16 text-sm`,children:`No messages yet`}),c.map((e,n)=>(0,F.jsx)(V,{entry:e,agentsById:t},n))]})})]})}function U(){let e=a(),t=i(e=>e.activityFilter),n=i(e=>e.activityEvents),r=i(e=>e.operatorActivity),s=i(e=>e.set),d=i(e=>e.openActivityItem),f=i(e=>e.openTaskDetailById),p=i(e=>e.exportActivity),m=(0,P.useMemo)(()=>{let e=[...n,...r],t=new Set,i=[];for(let n of e){let e=n.clientId||String(n.id);t.has(e)||(t.add(e),i.push(n))}return i.map(e=>({...e,ts:e.ts??new Date(e.createdAt).getTime()})).sort((e,t)=>(t.ts??0)-(e.ts??0))},[n,r]),h=(0,P.useMemo)(()=>t?m.filter(e=>e.kind===t):m,[m,t]);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,F.jsxs)(`select`,{className:`rounded-md border border-input bg-background px-3 py-1.5 text-sm`,value:t,onChange:e=>s({activityFilter:e.target.value}),children:[(0,F.jsx)(`option`,{value:``,children:`All types`}),R.map(e=>(0,F.jsx)(`option`,{value:e,children:e},e))]}),(0,F.jsxs)(T,{size:`sm`,variant:`outline`,onClick:()=>p(`markdown`),children:[(0,F.jsx)(y,{className:`w-4 h-4 mr-1`}),` Markdown`]}),(0,F.jsxs)(T,{size:`sm`,variant:`outline`,onClick:()=>p(`json`),children:[(0,F.jsx)(_,{className:`w-4 h-4 mr-1`}),` JSON`]}),(0,F.jsx)(E,{variant:`secondary`,className:`ml-auto`,children:h.length})]}),(0,F.jsx)(l,{className:`h-[calc(100dvh-13rem)]`,children:(0,F.jsxs)(`div`,{className:`space-y-2 pr-2`,children:[h.length===0&&(0,F.jsx)(`div`,{className:`text-center text-muted-foreground py-16 text-sm`,children:`No activity yet`}),h.map(t=>{let n=I[t.kind]||u,r=L[t.kind]||L.message,i=B(t.metadata);return(0,F.jsx)(A,{className:`cursor-pointer hover:bg-accent/40 transition-colors`,onClick:()=>d(t),children:(0,F.jsxs)(k,{className:`p-3 flex gap-3`,children:[(0,F.jsx)(`span`,{className:`inline-flex items-center justify-center w-7 h-7 rounded-md border shrink-0 mt-0.5 ${r}`,children:(0,F.jsx)(n,{className:`w-3.5 h-3.5`})}),(0,F.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,F.jsx)(`span`,{className:`font-medium text-sm truncate`,children:t.title}),(0,F.jsx)(E,{variant:`outline`,className:`text-xs px-1.5 py-0 border ${r}`,children:t.kind}),(0,F.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto shrink-0`,title:c(t.ts??t.createdAt),children:o(e,t.ts??t.createdAt)})]}),t.body&&(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 line-clamp-2`,children:t.body}),t.meta&&(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground/60 mt-0.5 font-mono truncate`,children:t.meta}),i&&(0,F.jsxs)(`p`,{className:`text-xs text-muted-foreground/60 mt-0.5 truncate`,title:i,children:[(0,F.jsx)(`span`,{className:`opacity-70`,children:`via`}),` `,i]}),t.taskId!=null&&(0,F.jsx)(`div`,{className:`mt-1`,children:(0,F.jsx)(D,{id:t.taskId,onClick:()=>f(t.taskId)})})]})]})},t.clientId||t.id)})]})})]})}function W(){let[e,n]=(0,P.useState)(`firehose`);return(0,F.jsxs)(`div`,{className:`space-y-4`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between flex-wrap gap-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e===`firehose`?(0,F.jsx)(b,{className:`w-5 h-5 text-muted-foreground`}):(0,F.jsx)(u,{className:`w-5 h-5 text-muted-foreground`}),(0,F.jsx)(`h2`,{className:`text-lg font-semibold`,children:e===`firehose`?`Firehose`:`Events`})]}),(0,F.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-input overflow-hidden`,children:[(0,F.jsx)(`button`,{className:t(`px-3 py-1.5 text-sm transition-colors`,e===`firehose`?`bg-primary text-primary-foreground`:`hover:bg-accent`),onClick:()=>n(`firehose`),children:`Firehose`}),(0,F.jsx)(`button`,{className:t(`px-3 py-1.5 text-sm transition-colors`,e===`events`?`bg-primary text-primary-foreground`:`hover:bg-accent`),onClick:()=>n(`events`),children:`Events`})]})]}),e===`firehose`?(0,F.jsx)(H,{}):(0,F.jsx)(U,{})]})}export{W as ActivityView};
|
|
2
|
+
//# sourceMappingURL=activity-yLztXEBt.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,u as t}from"./dist-DeW2Y1R5.js";import{P as n}from"./provider-display-DbLWpP3j.js";import{Z as r,f as i,t as a}from"./display-CfO7rTuF.js";import{t as o}from"./agent-liveness-DyqxfB-t.js";import{t as s}from"./cpu-Dndy84IU.js";import{t as c}from"./eye-BAP6fHrX.js";import{t as l}from"./git-branch-yxhV0m8E.js";import{t as u}from"./layers-DEfClY-v.js";import{t as d}from"./lock-BW8MPKw_.js";import{t as f}from"./rocket-BmO1qSu-.js";import{t as p}from"./terminal-Bl2u7KxT.js";import{t as m}from"./badge-DqJRtj_p.js";var h=e(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),g=e(`arrow-up-narrow-wide`,[[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}],[`path`,{d:`M11 16h7`,key:`uosisv`}],[`path`,{d:`M11 20h10`,key:`jvxblo`}]]),_=e(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),v=e(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),y=e(`lock-open`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`,key:`1mm8w8`}]]),b=e(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),x=t();function S({agent:e,compact:t=!1}){let n=N(e);return n.length===0?null:(0,x.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.slice(0,t?4:void 0).map(e=>(0,x.jsx)(m,{variant:`outline`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))})}function C({agent:e,compact:t=!1,className:n=``}){let r=T(e);return(0,x.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 ${n}`,children:r.map(e=>{let n=e.Icon;return(0,x.jsxs)(`span`,{title:e.title,className:`inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-md border px-1.5 text-[10px] leading-none ${e.className}`,children:[(0,x.jsx)(n,{className:`h-3 w-3 shrink-0`}),!t&&(0,x.jsx)(`span`,{children:e.label})]},e.key)})})}function w({agent:e}){let t=e.context;if(!t)return null;let n=I(t);if(n===null)return(0,x.jsxs)(`div`,{className:`space-y-1`,title:L(t),children:[(0,x.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,x.jsx)(`span`,{children:`collecting`}),(0,x.jsx)(`span`,{children:`--`})]}),(0,x.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,x.jsx)(`div`,{className:`h-full w-0 bg-muted-foreground/30`})})]});let r=Math.round(n*100),i=r>=80?`bg-tone-danger`:r>=60?`bg-tone-yellow`:`bg-tone-success`;return(0,x.jsxs)(`div`,{className:`space-y-1`,title:L(t),children:[(0,x.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,x.jsx)(`span`,{children:t.lifecycleState}),(0,x.jsxs)(`span`,{children:[r,`%`]})]}),(0,x.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,x.jsx)(`div`,{className:`h-full ${i}`,style:{width:`${Math.max(0,Math.min(100,r))}%`}})})]})}function T(e){let t=D(e),n=O(e),r=k(e);return[{key:`origin`,label:t?`Relay`:`External`,title:t?`Humwick spawned this agent`:`Externally started agent registered with Humwick`,Icon:t?f:_,className:t?`border-tone-sky/30 bg-tone-sky/10 text-tone-sky-fg`:`border-tone-neutral/30 bg-tone-neutral/10 text-tone-neutral-fg`},n,...E(e),r]}function E(e){let t=e.meta?.launchMode;return t===`headless`?[{key:`launchMode`,label:`Headless`,title:`Launch mode: headless (persistent pipe, no terminal)`,Icon:s,className:`border-tone-fuchsia/30 bg-tone-fuchsia/10 text-tone-fuchsia-fg`}]:t===`interactive`?[{key:`launchMode`,label:`Interactive`,title:`Launch mode: interactive (terminal)`,Icon:p,className:`border-tone-teal/30 bg-tone-teal/10 text-tone-teal-fg`}]:[]}function D(e){return typeof e.meta?.spawnRequestId==`string`||typeof e.meta?.policyName==`string`||typeof e.meta?.automationRunId==`string`}function O(e){let t=String(e.providerCapabilities?.session?.approvalMode||e.meta?.approvalMode||`guarded`).toLowerCase();return t===`open`?{key:`approval`,label:`Open`,title:`Approval mode: open`,Icon:y,className:`border-tone-success/30 bg-tone-success/10 text-tone-success-fg`}:t===`read-only`?{key:`approval`,label:`Read-only`,title:`Approval mode: read-only`,Icon:c,className:`border-tone-info/30 bg-tone-info/10 text-tone-info-fg`}:{key:`approval`,label:`Guarded`,title:`Approval mode: guarded`,Icon:d,className:`border-tone-warning/30 bg-tone-warning/10 text-tone-warning-fg`}}function k(e){let t=A(e.meta?.workspace),r=n(t.requestedMode)||n(e.meta?.workspaceMode),i=n(t.mode),a=r&&r!==`inherit`?r:i&&r!==`inherit`?i:`default`;return a===`isolated`?{key:`workspace`,label:`Isolated`,title:`Workspace: isolated worktree`,Icon:l,iconColor:`text-tone-violet-fg`,className:`border-tone-violet/30 bg-tone-violet/10 text-tone-violet-fg`}:a===`shared`?{key:`workspace`,label:`Shared`,title:`Workspace: shared repo checkout`,Icon:b,iconColor:`text-tone-cyan-fg`,className:`border-tone-cyan/30 bg-tone-cyan/10 text-tone-cyan-fg`}:{key:`workspace`,label:`Default`,title:i?`Workspace: default/inherit, resolved to ${i}`:`Workspace: default/inherit`,Icon:u,iconColor:`text-tone-neutral-fg`,className:`border-tone-neutral/30 bg-tone-neutral/10 text-tone-neutral-fg`}}function A(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function j(e){let t=A(e.meta?.workspace),i=n(e.branchWorkspaceProjectRoot)||n(t.repoRoot)||n(t.sourceCwd)||n(e.meta?.cwd);return i?r(i,2):``}function M(e){return!!(e.context||e.providerCapabilities?.context)}function N(e){let t=e.providerCapabilities,n=e.context,r=[];t?.lifecycle.managed?r.push(`managed`):t&&r.push(`bridge`),t?.session?.approvalMode===`read-only`?r.push(`read-only`):t?.session?.fileWrite&&r.push(`write`),t?.session?.shell&&r.push(`shell`),(t?.model?.alias||t?.model?.id)&&r.push(String(t.model.alias||t.model.id));let i=a(e).length;if(i&&r.push(i===1?`1 subagent`:`${i} subagents`),n){let e=I(n);r.push(e===null?`ctx collecting`:`${Math.round(e*100)}% ctx`)}return r}function P({context:e,expected:t=!!e,size:n=26,className:r}){let i=I(e);if(i===null&&!t)return null;let a=n>=24?3:2.5,o=n/2,s=o-a,c=2*Math.PI*s,l=i===null?c:c*(1-i),u=i===null,d=u?`text-muted-foreground`:i>.8?`text-tone-danger-fg`:i>.5?`text-tone-yellow-fg`:`text-tone-success-fg`,f=u?null:Math.round(i*100);return(0,x.jsxs)(`div`,{className:`relative shrink-0 ${u?`opacity-70`:``} ${r??``}`,style:{width:n,height:n},title:L(e),children:[(0,x.jsxs)(`svg`,{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:`rotate-[-90deg]`,children:[(0,x.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,className:`stroke-muted-foreground/20`}),(0,x.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,strokeDasharray:c,strokeDashoffset:l,strokeLinecap:`round`,className:`${d} stroke-current transition-all duration-500`})]}),(0,x.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center font-semibold leading-none ${u?`text-muted-foreground`:d}`,style:{fontSize:n>=24?8:7},children:u?`?`:f})]})}function F(e){let t=e.context;return!t?.tokensUsed&&!t?.tokensMax?null:t.tokensUsed&&t.tokensMax?`${R(t.tokensUsed)} / ${R(t.tokensMax)}`:t.tokensUsed?R(t.tokensUsed):t.tokensMax?R(t.tokensMax):null}function I(e){return!e||typeof e.utilization!=`number`||!Number.isFinite(e.utilization)?null:Math.min(1,Math.max(0,e.utilization))}function L(e){if(!e)return`Context: collecting; provider has not reported usage yet`;let t=I(e),n=`${e.source}/${e.confidence}`,r=Number.isFinite(e.lastUpdatedAt)?new Date(e.lastUpdatedAt).toLocaleString():`unknown`;return t===null?`Context: unknown; ${n}; updated ${r}`:`Context: ${Math.round(t*100)}%; ${n}; updated ${r}`}function R(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${Math.round(e/1e3)}K`:String(e)}function z(e,t){return!!e.spawnedBy&&o(t,e)}function B(e,t){let n=new Map;for(let r of e){if(!r.spawnedBy||!z(r,t))continue;let e=n.get(r.spawnedBy);e?e.push(r):n.set(r.spawnedBy,[r])}return n}function V(e,t,n,r=new Set){let i=B(e,n),a=[],o=new Set,s=U(e,n).map(e=>({agent:e,depth:0,parent:e.spawnedBy?t[e.spawnedBy]??null:null})).reverse();for(;s.length;){let e=s.pop();if(o.has(e.agent.id))continue;o.add(e.agent.id);let t=i.get(e.agent.id)??[];if(r.has(e.agent.id))a.push({...e,children:t,folded:t.length?H(e.agent.id,i):void 0});else{a.push({...e,children:t});for(let n=t.length-1;n>=0;n--)s.push({agent:t[n],depth:e.depth+1,parent:e.agent})}}return a}function H(e,t){let n=[],r=new Set([e]),i=[...t.get(e)??[]].reverse();for(;i.length;){let e=i.pop();if(r.has(e.id))continue;r.add(e.id),n.push(e);let a=t.get(e.id)??[];for(let e=a.length-1;e>=0;e--)i.push(a[e])}return n}function U(e,t){let n=new Set(e.map(e=>e.id));return e.filter(e=>e.spawnedBy&&!z(e,t)?!1:!z(e,t)||!e.spawnedBy||!n.has(e.spawnedBy))}function W(e){return[...e].sort((e,t)=>i(e).localeCompare(i(t)))}export{g as _,S as a,P as c,k as d,F as f,_ as g,v as h,U as i,M as l,y as m,B as n,C as o,b as p,W as r,w as s,V as t,j as u,h as v};
|
|
2
|
+
//# sourceMappingURL=agent-lineage-BbJDR1dW.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as e,u as t}from"./dist-DeW2Y1R5.js";import{$ as n,f as r,p as i}from"./display-CfO7rTuF.js";import{t as a}from"./workflow-marker-Cf3Hf2fN.js";var o=t();function s({agent:t,fallback:n,className:i}){return(0,o.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 align-bottom`,children:[(0,o.jsx)(`span`,{className:e(`truncate`,i),children:t?r(t):n??`?`}),(0,o.jsx)(a,{agent:t})]})}function c({target:t,agentsById:r,className:a}){let c=n(t,r);return c?(0,o.jsx)(s,{agent:c,className:a}):(0,o.jsx)(`span`,{className:e(`truncate`,a),children:i(t,r)})}export{c as n,s as t};
|
|
2
|
+
//# sourceMappingURL=agent-name-CTZBrSD9.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{p as t,u as n}from"./dist-DeW2Y1R5.js";import{t as r}from"./store-BvtFdlGX.js";import{M as i,r as a,t as o}from"./provider-display-DbLWpP3j.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dialog-uuJ9_geR.js";import{t as m}from"./copy-DFxhHRtV.js";import{t as h}from"./download-KgtpDbt5.js";import{t as g}from"./eye-BAP6fHrX.js";import{n as _,t as v}from"./user-cog-CKcouW1J.js";import{t as y}from"./loader-circle-BfPd4kOD.js";import{t as b}from"./pencil-B1Hf2V_J.js";import{t as x}from"./plus-D5Ek4e2S.js";import{t as S}from"./trash-2-FbcSq927.js";import{t as C}from"./button-Do6Z3vvn.js";import{t as w}from"./badge-DqJRtj_p.js";var T=e(t(),1),E=n();function D(e){let t=o(),n=e.provider??``;return n&&n!==`any`&&t.includes(n)?n:t[0]??n}function O(e){if(Array.isArray(e))return e.map(O);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))n===`files`&&Array.isArray(r)?t[n]=r.map(e=>{if(e&&typeof e==`object`&&typeof e.content==`string`){let t=e.content;return{...e,content:`<${t.length} chars elided>`}}return O(e)}):t[n]=O(r);return t}return e}function k({profile:e,open:t,onOpenChange:n}){let m=r(e=>e.apiCall),[g,_]=(0,T.useState)(()=>D(e)),[v,b]=(0,T.useState)(!1),[x,S]=(0,T.useState)(null),[w,k]=(0,T.useState)(null),A=(0,T.useCallback)(async t=>{b(!0),S(null);try{let n=await m(`GET`,`/agent-profiles/${encodeURIComponent(e.name)}/resolved?provider=${t}`);k(n.profile)}catch(e){k(null),S(i(e))}finally{b(!1)}},[m,e.name]);(0,T.useEffect)(()=>{if(t){let t=D(e);_(t),A(t)}},[t,e,A]);function j(e){e!==g&&(_(e),A(e))}function M(){if(!w)return;let t=new Blob([JSON.stringify(w,null,2)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${e.name}.${g}.resolved.json`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}let N=w?JSON.stringify(O(w),null,2):``;return(0,E.jsx)(p,{open:t,onOpenChange:n,children:(0,E.jsxs)(d,{className:`max-w-3xl`,children:[(0,E.jsxs)(u,{children:[(0,E.jsxs)(f,{className:`font-mono text-sm`,children:[e.name,` — resolved projection`]}),(0,E.jsxs)(c,{children:[`The fully-resolved agent-profile projection (`,(0,E.jsx)(`code`,{children:`withResolvedProvisioning`}),`) for the selected provider. File contents are elided below; download the full JSON for the complete bundle.`]})]}),(0,E.jsxs)(l,{className:`space-y-3`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Provider`}),(0,E.jsx)(`div`,{className:`flex items-center gap-1`,children:o().map(e=>(0,E.jsx)(C,{variant:e===g?`default`:`outline`,size:`sm`,className:`h-7 px-3 text-xs`,disabled:v,onClick:()=>j(e),children:a(e)},e))}),(0,E.jsx)(`div`,{className:`flex-1`}),(0,E.jsxs)(C,{size:`sm`,className:`h-7 gap-1 text-xs`,disabled:v||!w,onClick:M,children:[(0,E.jsx)(h,{className:`h-3.5 w-3.5`}),`Download full JSON`]})]}),(0,E.jsx)(`div`,{className:`min-h-[16rem] rounded-md border border-border bg-muted/30 p-3`,children:v?(0,E.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,E.jsx)(y,{className:`h-3.5 w-3.5 animate-spin`}),`Resolving projection…`]}):x?(0,E.jsx)(`div`,{className:`text-xs text-destructive`,children:x}):w?(0,E.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed`,children:N}):(0,E.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No projection available.`})})]}),(0,E.jsx)(s,{children:(0,E.jsx)(C,{variant:`outline`,size:`sm`,onClick:()=>n(!1),children:`Close`})})]})})}function A({relay:e}){return(0,E.jsx)(`div`,{className:`flex items-center gap-1`,children:[{key:`ctx`,on:e.context},{key:`skl`,on:e.skills},{key:`plg`,on:e.plugins},{key:`stl`,on:e.statusLine}].map(e=>(0,E.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full ${e.on?`bg-tone-success`:`bg-muted-foreground/30`}`,title:`${e.key}: ${e.on?`on`:`off`}`},e.key))})}function j({profile:e}){let t=r(e=>e.openProfileModal),n=r(e=>e.deleteProfile),i=e.builtIn===!0,[a,o]=(0,T.useState)(!1);return(0,E.jsxs)(`div`,{className:`group flex flex-col gap-3 rounded-lg border border-border bg-card p-4`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-2 gap-y-1`,children:[(0,E.jsxs)(`div`,{className:`min-w-[10rem] flex-1`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,E.jsx)(`span`,{className:`text-base leading-none`,"aria-hidden":!0,children:e.icon?.trim()||`•`}),(0,E.jsx)(`span`,{className:`min-w-0 font-mono text-sm font-medium [overflow-wrap:anywhere]`,children:e.name}),i&&(0,E.jsx)(w,{variant:`secondary`,className:`text-[10px]`,children:`Built-in`}),e.overridden&&(0,E.jsx)(w,{variant:`outline`,className:`text-[10px] border-tone-warning/30 bg-tone-warning/10 text-tone-warning-fg`,children:`Overridden`})]}),e.description&&(0,E.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground line-clamp-2`,children:e.description})]}),(0,E.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-0.5 opacity-100 transition-opacity [@media(hover:hover)]:sm:opacity-0 [@media(hover:hover)]:sm:group-hover:opacity-100 [@media(hover:hover)]:sm:group-focus-within:opacity-100`,children:[(0,E.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7`,title:`View`,onClick:()=>t(`view`,e),children:(0,E.jsx)(g,{className:`h-3.5 w-3.5`})}),(0,E.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7`,title:`Edit`,onClick:()=>t(`edit`,e),children:(0,E.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,E.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7`,title:`Duplicate`,onClick:()=>t(`duplicate`,e),children:(0,E.jsx)(m,{className:`h-3.5 w-3.5`})}),(0,E.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7`,title:`Resolved projection`,onClick:()=>o(!0),children:(0,E.jsx)(_,{className:`h-3.5 w-3.5`})}),(!i||e.overridden)&&(0,E.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 text-destructive`,title:i?`Reset to default`:`Delete`,onClick:()=>n(e),children:(0,E.jsx)(S,{className:`h-3.5 w-3.5`})})]})]}),(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-[10px]`,children:[(0,E.jsx)(w,{variant:`outline`,children:e.provider||`any`}),(0,E.jsxs)(w,{variant:`outline`,children:[`fs: `,e.permissions.filesystem]}),e.permissions.mode&&(0,E.jsx)(w,{variant:`outline`,children:e.permissions.mode})]}),(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-[10px] text-muted-foreground`,children:[(0,E.jsxs)(`span`,{className:`flex items-center gap-1`,children:[`Relay `,(0,E.jsx)(A,{relay:e.relay})]}),e.instructions.globalInstructions===`ignore`&&(0,E.jsx)(`span`,{className:`text-tone-warning-fg`,children:`global: ignore`}),Object.keys(e.env||{}).length>0&&(0,E.jsxs)(`span`,{children:[Object.keys(e.env).length,` env vars`]})]}),(0,E.jsx)(k,{profile:e,open:a,onOpenChange:o})]})}function M(){let e=r(e=>e.agentProfiles),t=r(e=>e.openProfileModal),n=e.filter(e=>e.builtIn),i=e.filter(e=>!e.builtIn);return(0,E.jsxs)(`div`,{className:`space-y-4`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2 text-lg font-semibold`,children:[(0,E.jsx)(v,{className:`h-5 w-5 text-primary`}),`Agent Profiles`]}),(0,E.jsx)(w,{variant:`outline`,children:e.length}),(0,E.jsx)(`div`,{className:`flex-1`}),(0,E.jsxs)(C,{size:`sm`,className:`gap-1`,onClick:()=>t(`create`),children:[(0,E.jsx)(x,{className:`h-3.5 w-3.5`}),`Create Profile`]})]}),n.length>0&&(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`h3`,{className:`mb-2 text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Built-in`}),(0,E.jsx)(`div`,{className:`grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,children:n.map(e=>(0,E.jsx)(j,{profile:e},e.name))})]}),i.length>0&&(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`h3`,{className:`mb-2 text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Custom`}),(0,E.jsx)(`div`,{className:`grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(e=>(0,E.jsx)(j,{profile:e},e.name))})]}),e.length===0&&(0,E.jsx)(`div`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`No agent profiles found. Create one to configure agent behavior.`})]})}export{M as AgentProfilesView};
|
|
2
|
+
//# sourceMappingURL=agent-profiles-BpI_jTxq.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,p as n,u as r}from"./dist-DeW2Y1R5.js";import{t as i}from"./store-BvtFdlGX.js";import{t as a}from"./boxes-Cv7Wq3h4.js";var o=t(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),s=e(n(),1),c=r();function l({agent:e,className:t=``,onNavigate:n}){let r=typeof e.meta?.cwd==`string`?e.meta.cwd:``,o=i(e=>r?e.projectByCwd[r]:null),l=i(e=>e.fetchProjectForCwd),u=i(e=>e.openProjectFocus);return(0,s.useEffect)(()=>{r&&l(r)},[r,l]),o?(0,c.jsxs)(`button`,{type:`button`,title:`Project: ${o.title||o.slug} — open in Projects`,onClick:e=>{e.stopPropagation(),n?.(),u(o.id)},className:`inline-flex h-5 max-w-full items-center gap-1 rounded-full border border-tone-indigo/30 bg-tone-indigo/10 px-1.5 text-[10px] font-medium text-tone-indigo-fg transition-colors hover:bg-tone-indigo/20 ${t}`,children:[(0,c.jsx)(a,{className:`h-3 w-3 shrink-0`}),(0,c.jsx)(`span`,{className:`truncate`,children:o.title||o.slug})]}):null}export{o as n,l as t};
|
|
2
|
+
//# sourceMappingURL=agent-project-badge-9TqzUUYE.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{o as t,p as n,u as r}from"./dist-DeW2Y1R5.js";import{t as i,wt as a}from"./store-BvtFdlGX.js";import{et as o,v as s,y as c}from"./display-CfO7rTuF.js";import{t as l}from"./api-CIIVBtAV.js";import{t as u}from"./globe-Cl5fXtqs.js";import{t as d}from"./refresh-cw-CfpvQcUn.js";import{t as f}from"./button-Do6Z3vvn.js";import{t as p}from"./badge-DqJRtj_p.js";import{n as m}from"./agent-name-CTZBrSD9.js";var h=e(n(),1),g={total:0,perDay:[],perBackend:[],topErrors:[],agents:[],statuses:[]};function _(e){let[t,n]=(0,h.useState)([]),[r,i]=(0,h.useState)(null),[a,o]=(0,h.useState)(g),[s,c]=(0,h.useState)(null),[u,d]=(0,h.useState)(null),[f,p]=(0,h.useState)(!1),m=(0,h.useRef)([]),_=(0,h.useRef)(!1),v=(0,h.useRef)(0),{tool:y,windowMs:b,status:x,agentId:S,backend:C}=e,w=(0,h.useCallback)(async e=>{if(_.current)return;_.current=!0;let t=++v.current;p(!0);let r=Date.now()-b,a=new URLSearchParams({since:String(r),limit:`1000`});for(let[e,t]of Object.entries({tool:y,status:x,agentId:S,backend:C}))t&&a.set(e,t);let s=m.current.filter(e=>e.time>=r);e&&(a.set(`beforeTime`,String(e.beforeTime)),a.set(`beforeId`,e.beforeId));try{let u=async()=>{let n=await l(`GET`,`/web-tool-calls?${a}`),r=[...n.calls];for(;!e&&s[0]&&n.nextCursor&&!n.calls.some(e=>e.id===s[0].id)&&n.calls.at(-1).time>=s[0].time;)if(a.set(`beforeTime`,String(n.nextCursor.beforeTime)),a.set(`beforeId`,n.nextCursor.beforeId),n=await l(`GET`,`/web-tool-calls?${a}`),r.push(...n.calls),t!==v.current)return{calls:[],nextCursor:null};return{calls:r,nextCursor:n.nextCursor}},f=new URLSearchParams({since:String(r)});y&&f.set(`tool`,y);let[p,h,g]=await Promise.all([u(),e?Promise.resolve(null):l(`GET`,`/web-tool-calls/summary?${f}`),e?Promise.resolve(null):l(`GET`,`/web-search/budget`)]);if(t!==v.current)return;let _=new Map(s.map(e=>[e.id,e]));for(let e of p.calls)_.set(e.id,e);let b=[..._.values()].sort((e,t)=>t.time-e.time||(e.id<t.id?1:e.id>t.id?-1:0));m.current=b,n(b),e||s.length===0?i(p.nextCursor):i(e=>e&&e.beforeTime>=r?e:null),h&&o(h),g&&c(g),d(null)}catch(e){t===v.current&&d(e.message)}finally{t===v.current&&(_.current=!1,p(!1))}},[y,b,x,S,C]);return(0,h.useEffect)(()=>{w();let e=setInterval(()=>{document.visibilityState!==`hidden`&&w()},1e4);return()=>{clearInterval(e),v.current++,_.current=!1}},[w]),{calls:t,cursor:r,summary:a,budget:s,error:u,loading:f,refresh:()=>w(),loadOlder:()=>r?w(r):Promise.resolve()}}var v=r(),y=1440*60*1e3,b=[[`24h`,y],[`7d`,7*y],[`30d`,30*y]],x=[[``,`All web tools`],[`search`,`Web search`],[`fetch`,`Web fetch`]],S=`h-8 min-w-0 rounded-md border border-input bg-background px-2 text-sm`;function C({budget:e}){if(!e)return null;let n=Math.min(100,Math.round(e.requests/e.cap*100)),r=n>=100?`danger`:n>=80?`warning`:`success`;return(0,v.jsxs)(`div`,{className:`rounded-md border border-border p-3`,"data-testid":`brave-budget`,children:[(0,v.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Brave budget · `,e.month,` (UTC)`]}),(0,v.jsxs)(`div`,{className:`mt-1 text-lg font-semibold`,children:[e.requests,` / `,e.cap,` `,(0,v.jsxs)(`span`,{className:`text-sm font-normal text-muted-foreground`,children:[`requests (`,n,`%)`]})]}),(0,v.jsx)(`div`,{className:`mt-2 h-2 overflow-hidden rounded-full bg-muted`,children:(0,v.jsx)(`div`,{className:t(`h-full`,`bg-tone-${r}`),style:{width:`${n}%`}})})]})}function w({summary:e,budget:n}){let r=Math.max(1,...e.perDay.map(e=>e.calls));return(0,v.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,v.jsx)(C,{budget:n}),(0,v.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Calls per day`}),(0,v.jsxs)(`ul`,{className:`mt-1 space-y-1`,children:[e.perDay.slice(0,7).map(e=>(0,v.jsxs)(`li`,{className:`flex items-center gap-2 text-xs`,children:[(0,v.jsx)(`span`,{className:`w-20 shrink-0 font-mono text-muted-foreground`,children:e.day.slice(5)}),(0,v.jsx)(`span`,{className:`h-2 rounded-full bg-tone-info`,style:{width:`${Math.max(2,e.calls/r*60)}%`}}),(0,v.jsx)(`span`,{children:e.calls})]},e.day)),e.perDay.length===0&&(0,v.jsx)(`li`,{className:`text-xs text-muted-foreground`,children:`No calls`})]})]}),(0,v.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Error rate per backend`}),(0,v.jsxs)(`ul`,{className:`mt-1 space-y-1`,children:[e.perBackend.map(e=>(0,v.jsxs)(`li`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,v.jsx)(`span`,{className:`truncate font-mono`,children:e.backend}),(0,v.jsxs)(`span`,{className:t(e.errors>0&&`font-semibold text-tone-danger-fg`),children:[Math.round(e.errors/e.calls*100),`% · `,e.errors,`/`,e.calls]})]},e.backend)),e.perBackend.length===0&&(0,v.jsx)(`li`,{className:`text-xs text-muted-foreground`,children:`No calls`})]})]}),(0,v.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Top errors`}),(0,v.jsxs)(`ul`,{className:`mt-1 space-y-1`,children:[e.topErrors.map(e=>(0,v.jsxs)(`li`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,v.jsx)(`span`,{className:`truncate font-mono text-tone-danger-fg`,children:e.status}),(0,v.jsx)(`span`,{children:e.count})]},e.status)),e.topErrors.length===0&&(0,v.jsx)(`li`,{className:`text-xs text-muted-foreground`,children:`No errors`})]})]})]})}function T({label:e,children:t}){return(0,v.jsxs)(`div`,{className:`min-w-0`,children:[(0,v.jsx)(`dt`,{className:`text-muted-foreground`,children:e}),(0,v.jsx)(`dd`,{className:`break-words font-mono`,children:t})]})}function E({call:e,now:n,open:r,onToggle:a}){let l=i(e=>e.agentsById),u=e.status===`success`;return(0,v.jsxs)(`li`,{className:t(`rounded-md border border-border`,!u&&`border-tone-danger/40 bg-tone-danger/5`),"data-testid":`tool-call-row`,children:[(0,v.jsxs)(`button`,{type:`button`,className:`block w-full min-w-0 px-3 py-2 text-left`,"aria-expanded":r,onClick:a,children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs`,children:[(0,v.jsx)(p,{className:t(`border`,u?`border-tone-success/30 bg-tone-success/10 text-tone-success-fg`:`border-tone-danger/40 bg-tone-danger/10 text-tone-danger-fg`),children:e.status}),(0,v.jsx)(`span`,{className:`font-medium`,children:e.tool}),(0,v.jsx)(`span`,{className:`font-mono text-muted-foreground`,children:e.backend}),(0,v.jsx)(`span`,{className:`min-w-0 max-w-[10rem] truncate`,children:(0,v.jsx)(m,{target:e.agentId,agentsById:l})}),(0,v.jsxs)(`span`,{className:`ml-auto text-muted-foreground`,title:s(e.time),children:[o(n,e.time),` · `,e.durationMs,` ms`]})]}),(0,v.jsx)(`div`,{className:`mt-1 truncate text-sm`,title:e.input,children:e.input})]}),r&&(0,v.jsxs)(`dl`,{className:`grid gap-2 border-t border-border px-3 py-2 text-xs sm:grid-cols-2`,children:[(0,v.jsx)(T,{label:`Time`,children:s(e.time)}),(0,v.jsx)(T,{label:`Provider / model / effort`,children:[e.provider,e.model,e.effort].map(e=>e??`–`).join(` / `)}),(0,v.jsx)(T,{label:`Input`,children:e.input}),(0,v.jsx)(T,{label:`Result size`,children:c(e.resultSize)}),(0,v.jsx)(T,{label:`Cache hit`,children:e.cacheHit===null?`unknown`:e.cacheHit?`yes`:`no`}),(0,v.jsx)(T,{label:`Fallback chain`,children:e.fallbackChain.length?e.fallbackChain.join(` → `):`–`}),e.error&&(0,v.jsx)(T,{label:`Error`,children:e.error}),(0,v.jsx)(T,{label:`Call id`,children:e.id})]})]})}function D(){let[e,t]=(0,h.useState)({tool:``,windowMs:y,status:``,agentId:``,backend:``});return(0,v.jsx)(O,{filters:e,onFilters:t},JSON.stringify(e))}function O({filters:e,onFilters:n}){let r=a(),{tool:i,windowMs:o,status:s,agentId:c,backend:l}=e,{calls:m,cursor:g,summary:y,budget:C,error:T,loading:D,refresh:O,loadOlder:k}=_(e),[A,j]=(0,h.useState)(null),M=y.perBackend.reduce((e,t)=>e+t.errors,0);return(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,v.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(u,{className:`h-5 w-5 text-muted-foreground`}),(0,v.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Agent Tools`}),(0,v.jsx)(p,{variant:`secondary`,children:y.total}),M>0&&(0,v.jsxs)(p,{variant:`destructive`,children:[M,` errors`]})]}),(0,v.jsxs)(f,{size:`sm`,variant:`outline`,disabled:D,onClick:()=>void O(),children:[(0,v.jsx)(d,{className:`h-3.5 w-3.5`}),` Refresh`]})]}),(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,v.jsx)(`select`,{"aria-label":`Tool`,className:S,value:i,onChange:t=>n({...e,tool:t.target.value}),children:x.map(([e,t])=>(0,v.jsx)(`option`,{value:e,children:t},e))}),(0,v.jsx)(`select`,{"aria-label":`Time window`,className:S,value:o,onChange:t=>n({...e,windowMs:Number(t.target.value)}),children:b.map(([e,t])=>(0,v.jsx)(`option`,{value:t,children:e},e))}),(0,v.jsxs)(`select`,{"aria-label":`Status`,className:S,value:s,onChange:t=>n({...e,status:t.target.value}),children:[(0,v.jsx)(`option`,{value:``,children:`Any status`}),(0,v.jsx)(`option`,{value:`error`,children:`All errors`}),y.statuses.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{"aria-label":`Agent`,className:t(S,`max-w-[10rem]`),value:c,onChange:t=>n({...e,agentId:t.target.value}),children:[(0,v.jsx)(`option`,{value:``,children:`Any agent`}),y.agents.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{"aria-label":`Backend`,className:S,value:l,onChange:t=>n({...e,backend:t.target.value}),children:[(0,v.jsx)(`option`,{value:``,children:`Any backend`}),y.perBackend.map(e=>(0,v.jsx)(`option`,{value:e.backend,children:e.backend},e.backend))]})]}),T&&(0,v.jsx)(`div`,{className:`rounded-md border border-tone-danger/40 bg-tone-danger/10 px-3 py-2 text-sm text-tone-danger-fg`,children:T}),(0,v.jsx)(w,{summary:y,budget:C}),m.length===0?(0,v.jsx)(`div`,{className:`rounded-md border border-border px-3 py-12 text-center text-sm text-muted-foreground`,children:D?`Loading calls…`:`No tool calls match`}):(0,v.jsx)(`ul`,{className:`space-y-2`,children:m.map(e=>(0,v.jsx)(E,{call:e,now:r,open:A===e.id,onToggle:()=>j(A===e.id?null:e.id)},e.id))}),g&&(0,v.jsx)(`div`,{className:`text-center`,children:(0,v.jsx)(f,{size:`sm`,variant:`outline`,disabled:D,onClick:()=>void k(),children:`Load older calls`})})]})}export{D as AgentToolsView};
|
|
2
|
+
//# sourceMappingURL=agent-tools-D4n40pn8.js.map
|