zob-harness 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pi/capabilities/zob-public-runtime-capabilities.json +4 -4
- package/.pi/extensions/zob-child-safety/AGENTS.md +12 -0
- package/.pi/extensions/zob-child-safety/index.ts +4 -105
- package/.pi/extensions/zob-child-safety/src/AGENTS.md +10 -0
- package/.pi/extensions/zob-child-safety/src/policy.ts +106 -0
- package/.pi/extensions/zob-harness/AGENTS.md +2 -0
- package/.pi/extensions/zob-harness/index.ts +94 -94
- package/.pi/extensions/zob-harness/src/AGENTS.md +4 -0
- package/.pi/extensions/zob-harness/src/core/AGENTS.md +24 -0
- package/.pi/extensions/zob-harness/src/{constants.ts → core/constants.ts} +10 -1
- package/.pi/extensions/zob-harness/src/core/utils/AGENTS.md +23 -0
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/formatting.ts +1 -1
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/records.ts +1 -1
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/resources.ts +1 -1
- package/.pi/extensions/zob-harness/src/domains/AGENTS.md +23 -0
- package/.pi/extensions/zob-harness/src/domains/autonomy/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{autonomous-runtime.ts → domains/autonomy/autonomous-runtime.ts} +22 -22
- package/.pi/extensions/zob-harness/src/{autonomy-readiness.ts → domains/autonomy/autonomy-readiness.ts} +18 -18
- package/.pi/extensions/zob-harness/src/{daemon-policy.ts → domains/autonomy/daemon-policy.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{daemon-readiness.ts → domains/autonomy/daemon-readiness.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{daemon-runtime.ts → domains/autonomy/daemon-runtime.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{full-autonomy-test.ts → domains/autonomy/full-autonomy-test.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{interactive-autonomy.ts → domains/autonomy/interactive-autonomy.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{compute-profile.ts → domains/compute/compute-profile.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{compute-workflow-shape.ts → domains/compute/compute-workflow-shape.ts} +3 -3
- package/.pi/extensions/zob-harness/src/domains/coms/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/envelope.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/identity.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/ledger-bridge.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/local-transport.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/policy.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/presence.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/registry.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/response-capture.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/transcript-capture.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/zpeer-profile.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/zpeer.ts +3 -3
- package/.pi/extensions/zob-harness/src/{mission-control.ts → domains/coms/mission-control.ts} +8 -8
- package/.pi/extensions/zob-harness/src/{zagents.ts → domains/coms/zagents.ts} +86 -4
- package/.pi/extensions/zob-harness/src/domains/context/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{context-gbrain.ts → domains/context/context-gbrain.ts} +4 -4
- package/.pi/extensions/zob-harness/src/domains/delegation/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{agents.ts → domains/delegation/agents.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{capabilities.ts → domains/delegation/capabilities.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{child-runner.ts → domains/delegation/child-runner.ts} +8 -8
- package/.pi/extensions/zob-harness/src/{output-contracts.ts → domains/delegation/output-contracts.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{prompt-packs.ts → domains/delegation/prompt-packs.ts} +4 -4
- package/.pi/extensions/zob-harness/src/domains/factory/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/agentic-plan.ts +1 -1
- package/.pi/extensions/zob-harness/src/{factory-selector.ts → domains/factory/factory-selector.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/quarantine.ts +5 -5
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/run.ts +5 -5
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/validation.ts +10 -10
- package/.pi/extensions/zob-harness/src/domains/git/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{git-ops.ts → domains/git/git-ops.ts} +3 -3
- package/.pi/extensions/zob-harness/src/domains/goal/AGENTS.md +22 -0
- package/.pi/extensions/zob-harness/src/{goal-room.ts → domains/goal/goal-room.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{goal-todo-imports.ts → domains/goal/goal-todo-imports.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{goal-todo-types.ts → domains/goal/goal-todo-types.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{goal-todos.ts → domains/goal/goal-todos.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{goal.ts → domains/goal/goal.ts} +1 -1
- package/.pi/extensions/zob-harness/src/domains/governance/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{budget-policy.ts → domains/governance/budget-policy.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{governed-requests.ts → domains/governance/governed-requests.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{launch-apply.ts → domains/governance/launch-apply.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{merge-queue.ts → domains/governance/merge-queue.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{rules.ts → domains/governance/rules.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{safety.ts → domains/governance/safety.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{sandbox.ts → domains/governance/sandbox.ts} +5 -5
- package/.pi/extensions/zob-harness/src/{worker-pool.ts → domains/governance/worker-pool.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{workspace-claims.ts → domains/governance/workspace-claims.ts} +6 -6
- package/.pi/extensions/zob-harness/src/domains/models/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{model-availability.ts → domains/models/model-availability.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{model-routing.ts → domains/models/model-routing.ts} +6 -6
- package/.pi/extensions/zob-harness/src/domains/orchestration/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/adaptive-delegation.ts +8 -8
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/adaptive-workflow.ts +4 -4
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/lead-plan.ts +5 -5
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/plan.ts +5 -5
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/room.ts +4 -4
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/run.ts +6 -6
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/supervised-readonly.ts +6 -6
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/widget-readers.ts +2 -2
- package/.pi/extensions/zob-harness/src/domains/project-dna/AGENTS.md +19 -0
- package/.pi/extensions/zob-harness/src/{project-dna.ts → domains/project-dna/project-dna.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/candidate.ts +5 -5
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/coms.ts +3 -3
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/documentation.ts +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/factory.ts +2 -2
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/temp-agent.ts +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/write-lane.ts +3 -3
- package/.pi/extensions/zob-harness/src/domains/telemetry/AGENTS.md +19 -0
- package/.pi/extensions/zob-harness/src/{chronicle.ts → domains/telemetry/chronicle.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{queue.ts → domains/telemetry/queue.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{telemetry.ts → domains/telemetry/telemetry.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/chains.ts +10 -10
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/coms.ts +3 -3
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/orchestration-profiles.ts +8 -8
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/teams.ts +8 -8
- package/.pi/extensions/zob-harness/src/runtime/adaptive-zmode.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/auto-compaction.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/commands.ts +49 -27
- package/.pi/extensions/zob-harness/src/runtime/compaction-policy.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/delegation-feed.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/delegation-monitor.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/events.ts +52 -37
- package/.pi/extensions/zob-harness/src/{goal-runtime.ts → runtime/goal-runtime.ts} +9 -9
- package/.pi/extensions/zob-harness/src/runtime/goal-todo-overlay.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/plan-capture.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/state.ts +15 -13
- package/.pi/extensions/zob-harness/src/runtime/tools-autonomous.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-compute.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-coms.ts +15 -12
- package/.pi/extensions/zob-harness/src/runtime/tools-context.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-delegation.ts +13 -13
- package/.pi/extensions/zob-harness/src/runtime/tools-factory.ts +19 -19
- package/.pi/extensions/zob-harness/src/runtime/tools-goal-room.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-governed-requests.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-merge-queue.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-mission-control.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-orchestration.ts +9 -9
- package/.pi/extensions/zob-harness/src/runtime/tools-project-dna.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-worker-pool.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-workspace-claims.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-zcommit.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/widget.ts +25 -8
- package/.pi/extensions/zob-harness/src/runtime/zobHarness.ts +1 -1
- package/.pi/extensions/zob-harness/src/types.ts +2 -2
- package/.pi/extensions/zob-switch/AGENTS.md +9 -0
- package/.pi/extensions/zob-switch/index.ts +9 -121
- package/.pi/extensions/zob-switch/src/AGENTS.md +8 -0
- package/.pi/extensions/zob-switch/src/autocomplete.ts +12 -0
- package/.pi/extensions/zob-switch/src/paths.ts +8 -0
- package/.pi/extensions/zob-switch/src/settings.ts +25 -0
- package/.pi/extensions/zob-switch/src/snapshot.ts +34 -0
- package/.pi/extensions/zob-switch/src/state.ts +57 -0
- package/.pi/factories/agentic-spec-team/README.md +35 -0
- package/.pi/factories/agentic-spec-team/batch-manifest.json +11 -0
- package/.pi/factories/agentic-spec-team/example-agentic-spec-manifest.json +19 -0
- package/.pi/factories/agentic-spec-team/factory.json +98 -0
- package/.pi/factories/agentic-spec-team/pilot-manifest.json +11 -0
- package/.pi/factories/agentic-spec-team/schemas/final-report.schema.json +15 -0
- package/.pi/factories/agentic-spec-team/schemas/manifest.schema.json +14 -0
- package/.pi/factories/agentic-spec-team/schemas/question.schema.json +18 -0
- package/.pi/factories/agentic-spec-team/schemas/source-register.schema.json +11 -0
- package/.pi/factories/agentic-spec-team/schemas/traceability.schema.json +11 -0
- package/.pi/factories/agentic-spec-team/smoke-manifest.json +11 -0
- package/.pi/skills/zob-agentic-spec-team/SKILL.md +145 -0
- package/.pi/skills/zob-split-refactor/SKILL.md +1 -1
- package/.pi/skills/zob-zagent-creator/SKILL.md +256 -12
- package/.pi/zagents/bdd-writer.json +20 -0
- package/.pi/zagents/data-profile-analyst.json +20 -0
- package/.pi/zagents/domain-modeler.json +20 -0
- package/.pi/zagents/planner-handoff-writer.json +20 -0
- package/.pi/zagents/prompts/agentic-spec-run-role.md +30 -0
- package/.pi/zagents/source-intake-steward.json +20 -0
- package/.pi/zagents/spec-chief.json +21 -0
- package/.pi/zagents/spec-oracle.json +20 -0
- package/.pi/zagents/spec-writer.json +20 -0
- package/.pi/zagents/ux-flow-analyst.json +20 -0
- package/.pi/zteams/agentic-spec-run.json +42 -0
- package/.pi/zteams/agentic-spec-run.tmux.sh +134 -0
- package/SOURCE_INDEX.md +1 -1
- package/package.json +9 -1
- package/scripts/README.md +1 -1
- package/scripts/agentic-spec-team/validate-bdd.mjs +13 -0
- package/scripts/agentic-spec-team/validate-final-report.mjs +14 -0
- package/scripts/agentic-spec-team/validate-manifest.mjs +14 -0
- package/scripts/agentic-spec-team/validate-oracle-ready.mjs +13 -0
- package/scripts/agentic-spec-team/validate-question-loop.mjs +15 -0
- package/scripts/agentic-spec-team/validate-run.mjs +11 -0
- package/scripts/agentic-spec-team/validate-source-register.mjs +17 -0
- package/scripts/agentic-spec-team/validate-traceability.mjs +20 -0
- package/scripts/agentic-spec-team/validate-workgraph.mjs +13 -0
- package/scripts/autonomy/mission-readiness-secret-smoke.mjs +5 -5
- package/scripts/git-ops/commit-policy-smoke.mjs +5 -4
- package/scripts/goal-todo/child-goal-ref-smoke.mjs +2 -2
- package/scripts/path-policy/validate-smoke.mjs +3 -3
- package/scripts/project-dna/AGENTS.md +39 -0
- package/scripts/project-dna/{validate-scaffold.mjs → validation/validate-scaffold.mjs} +7 -7
- package/scripts/spec-run.mjs +365 -0
- package/scripts/worker-pool/static-smoke.mjs +5 -5
- package/scripts/zagent-static-smoke.mjs +35 -6
- package/scripts/zpeer-local-e2e-smoke.mjs +6 -5
- package/scripts/zpeer-static-smoke.mjs +17 -17
- /package/.pi/extensions/zob-harness/src/{types → core/types}/core.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/hashing.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/json.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/paths.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/AGENTS.md +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/pending-replies.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/types.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/ledger.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/types.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/validate.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{schemas-project-dna.ts → runtime/schemas-project-dna.ts} +0 -0
- /package/.pi/extensions/zob-harness/src/{schemas.ts → runtime/schemas.ts} +0 -0
- /package/scripts/project-dna/{bench-smoke.mjs → benchmark/bench-smoke.mjs} +0 -0
- /package/scripts/project-dna/{build-capsules.mjs → capsules/build-capsules.mjs} +0 -0
- /package/scripts/project-dna/{emit-golden-cases.mjs → emit/emit-golden-cases.mjs} +0 -0
- /package/scripts/project-dna/{emit-ontology.mjs → emit/emit-ontology.mjs} +0 -0
- /package/scripts/project-dna/{oracle-review-smoke.mjs → oracle/oracle-review-smoke.mjs} +0 -0
- /package/scripts/project-dna/{query-context.mjs → query/query-context.mjs} +0 -0
- /package/scripts/project-dna/{query-steward.mjs → query/query-steward.mjs} +0 -0
- /package/scripts/project-dna/{build-sample-spec.mjs → sample/build-sample-spec.mjs} +0 -0
- /package/scripts/project-dna/{generate-sample.mjs → sample/generate-sample.mjs} +0 -0
- /package/scripts/project-dna/{validate-sample-project.mjs → sample/validate-sample-project.mjs} +0 -0
- /package/scripts/project-dna/{scan.mjs → scan/scan.mjs} +0 -0
- /package/scripts/project-dna/{validate-scan-artifacts.mjs → scan/validate-scan-artifacts.mjs} +0 -0
- /package/scripts/project-dna/{validate-5of5.mjs → validation/validate-5of5.mjs} +0 -0
- /package/scripts/project-dna/{validate-golden-cases.mjs → validation/validate-golden-cases.mjs} +0 -0
- /package/scripts/project-dna/{validate-ontology.mjs → validation/validate-ontology.mjs} +0 -0
- /package/scripts/project-dna/{plan-workflow.mjs → workflow/plan-workflow.mjs} +0 -0
- /package/scripts/project-dna/{validate-workflow.mjs → workflow/validate-workflow.mjs} +0 -0
|
@@ -2,31 +2,31 @@ import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-a
|
|
|
2
2
|
import { compact, generateBranchSummary, isToolCallEventType } from "@earendil-works/pi-coding-agent";
|
|
3
3
|
import { Text } from "@earendil-works/pi-tui";
|
|
4
4
|
|
|
5
|
-
import { MODE_PROMPTS, ZOB_COMPACTION_CONTINUITY_CONTRACT, ZOB_TOOL_ROUTING_CONTRACT } from "../constants.js";
|
|
6
|
-
import { buildCurrentZobLivePeerCard } from "../coms-v2/identity.js";
|
|
7
|
-
import { buildZobLiveAckEnvelope, buildZobLiveErrorEnvelope, buildZobLivePongEnvelope } from "../coms-v2/envelope.js";
|
|
8
|
-
import { appendLiveCompletedRef } from "../coms-v2/ledger-bridge.js";
|
|
9
|
-
import { bindZobLocalEndpoint, makeZobLocalEndpoint, sendZobLocalEnvelope } from "../coms-v2/local-transport.js";
|
|
10
|
-
import { readZobComsV2Policy } from "../coms-v2/policy.js";
|
|
11
|
-
import { registerCurrentZobLivePeer, touchCurrentZobLivePeer, unregisterCurrentZobLivePeer, writeZobLivePeerCard } from "../coms-v2/registry.js";
|
|
12
|
-
import { clearZpeerNewCarryoverProfile, readZpeerLocalProfile, readZpeerNewCarryoverProfile, writeZpeerLocalProfileFromPeer, writeZpeerNewCarryoverProfile, zpeerProfileIdIsSharedFallback } from "../coms-v2/zpeer-profile.js";
|
|
13
|
-
import {
|
|
14
|
-
import type { ZpeerRoomMembership } from "../coms-v2/types.js";
|
|
15
|
-
import { buildZobLiveResponseEnvelope } from "../coms-v2/response-capture.js";
|
|
16
|
-
import { writeZobComsRedactedCapture } from "../coms-v2/transcript-capture.js";
|
|
17
|
-
import { formatGoalActivationMode, runtimeGoalStatusLine } from "
|
|
18
|
-
import { formatInteractiveAutonomyPromptHint, formatMissionReadinessForUi, scoreMissionReadiness, toMissionReadinessLedgerEntry } from "../interactive-autonomy.js";
|
|
19
|
-
import { formatGoalTodoPromptHint } from "../goal-todos.js";
|
|
20
|
-
import { resolveRuleProfile } from "../rules.js";
|
|
21
|
-
import { loadDamageRules } from "../safety.js";
|
|
22
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
23
|
-
import { loadZagentManifest,
|
|
5
|
+
import { EXTERNAL_PACKAGE_TOOLS_CONTRACT, MODE_PROMPTS, ZOB_COMPACTION_CONTINUITY_CONTRACT, ZOB_TOOL_ROUTING_CONTRACT } from "../core/constants.js";
|
|
6
|
+
import { buildCurrentZobLivePeerCard } from "../domains/coms/coms-v2/identity.js";
|
|
7
|
+
import { buildZobLiveAckEnvelope, buildZobLiveErrorEnvelope, buildZobLivePongEnvelope } from "../domains/coms/coms-v2/envelope.js";
|
|
8
|
+
import { appendLiveCompletedRef } from "../domains/coms/coms-v2/ledger-bridge.js";
|
|
9
|
+
import { bindZobLocalEndpoint, makeZobLocalEndpoint, sendZobLocalEnvelope } from "../domains/coms/coms-v2/local-transport.js";
|
|
10
|
+
import { readZobComsV2Policy } from "../domains/coms/coms-v2/policy.js";
|
|
11
|
+
import { registerCurrentZobLivePeer, touchCurrentZobLivePeer, unregisterCurrentZobLivePeer, writeZobLivePeerCard } from "../domains/coms/coms-v2/registry.js";
|
|
12
|
+
import { clearZpeerNewCarryoverProfile, readZpeerLocalProfile, readZpeerNewCarryoverProfile, writeZpeerLocalProfileFromPeer, writeZpeerNewCarryoverProfile, zpeerProfileIdIsSharedFallback } from "../domains/coms/coms-v2/zpeer-profile.js";
|
|
13
|
+
import { buildZpeerPeerRoomSummaries, ensureZpeerFields, refreshZpeerSelf } from "../domains/coms/coms-v2/zpeer.js";
|
|
14
|
+
import type { ZpeerRoomMembership } from "../domains/coms/coms-v2/types.js";
|
|
15
|
+
import { buildZobLiveResponseEnvelope } from "../domains/coms/coms-v2/response-capture.js";
|
|
16
|
+
import { writeZobComsRedactedCapture } from "../domains/coms/coms-v2/transcript-capture.js";
|
|
17
|
+
import { formatGoalActivationMode, runtimeGoalStatusLine } from "./goal-runtime.js";
|
|
18
|
+
import { formatInteractiveAutonomyPromptHint, formatMissionReadinessForUi, scoreMissionReadiness, toMissionReadinessLedgerEntry } from "../domains/autonomy/interactive-autonomy.js";
|
|
19
|
+
import { formatGoalTodoPromptHint } from "../domains/goal/goal-todos.js";
|
|
20
|
+
import { resolveRuleProfile } from "../domains/governance/rules.js";
|
|
21
|
+
import { loadDamageRules } from "../domains/governance/safety.js";
|
|
22
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
23
|
+
import { loadZagentManifest, readZagentPrompt, resolveZagentRuntimeRoomBindings } from "../domains/coms/zagents.js";
|
|
24
24
|
import type { AssistantLikeMessage } from "../types.js";
|
|
25
|
-
import { blockedFeedback } from "../utils/formatting.js";
|
|
26
|
-
import { sha256 } from "../utils/hashing.js";
|
|
27
|
-
import { buildZcommitPlan, recordZcommitTouchedFile, runGovernedZcommitCommit, runGovernedZcommitPush, type ZcommitCommandResult, type ZcommitOwnedPathRef, type ZcommitPlan } from "../git-ops.js";
|
|
28
|
-
import { pathMatches } from "../utils/paths.js";
|
|
29
|
-
import { isRecord, textFromMessage } from "../utils/records.js";
|
|
25
|
+
import { blockedFeedback } from "../core/utils/formatting.js";
|
|
26
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
27
|
+
import { buildZcommitPlan, recordZcommitTouchedFile, runGovernedZcommitCommit, runGovernedZcommitPush, type ZcommitCommandResult, type ZcommitOwnedPathRef, type ZcommitPlan } from "../domains/git/git-ops.js";
|
|
28
|
+
import { pathMatches } from "../core/utils/paths.js";
|
|
29
|
+
import { isRecord, textFromMessage } from "../core/utils/records.js";
|
|
30
30
|
import { showDelegationOverlay } from "./delegation-overlay.js";
|
|
31
31
|
import { buildDeterministicZobCompactionResult, buildDeterministicZobCompactionSummary, buildZobCompactionInstructions, buildZobCompactionLedgerEntry, withZobCompactionDetails, ZOB_COMPACTION_ENTRY_TYPE, zobCompactionBodyFreeViolations } from "./compaction-policy.js";
|
|
32
32
|
import { buildZcompactPreparation, cancelZcompactPending, maybeTriggerZcompact, runZcompactCompactionHook } from "./auto-compaction.js";
|
|
@@ -78,17 +78,20 @@ function loadActiveZagentById(state: HarnessRuntimeState, repoRoot: string, zage
|
|
|
78
78
|
const loaded = loadZagentManifest(repoRoot, zagentId);
|
|
79
79
|
const manifest = loaded.manifest;
|
|
80
80
|
const prompt = readZagentPrompt(repoRoot, manifest.promptRef);
|
|
81
|
-
const
|
|
81
|
+
const resolved = resolveZagentRuntimeRoomBindings(repoRoot, manifest);
|
|
82
|
+
const rooms = resolved.rooms;
|
|
82
83
|
const activeRoom = manifest.activeRoom ?? rooms.find((room) => room.active)?.id ?? manifest.defaultRoom;
|
|
83
84
|
const errors = [...loaded.errors, ...prompt.errors];
|
|
84
85
|
const nextZagent: ActiveZagentState = {
|
|
85
86
|
id: manifest.id,
|
|
86
|
-
team: manifest.team,
|
|
87
|
+
team: manifest.team ?? resolved.teamIds[0],
|
|
88
|
+
teams: resolved.teamIds,
|
|
87
89
|
role: manifest.role,
|
|
88
90
|
alias: manifest.alias,
|
|
89
91
|
description: manifest.description,
|
|
90
92
|
rooms,
|
|
91
93
|
activeRoom,
|
|
94
|
+
defaultMode: manifest.defaultMode,
|
|
92
95
|
prompt: prompt.body,
|
|
93
96
|
promptRef: manifest.promptRef,
|
|
94
97
|
path: loaded.path,
|
|
@@ -136,7 +139,7 @@ function formatZagentPromptHint(state: HarnessRuntimeState): string {
|
|
|
136
139
|
const policy = zagent.communicationPolicy ? JSON.stringify(zagent.communicationPolicy) : "not specified";
|
|
137
140
|
const errors = zagent.errors.length > 0 ? `\n- load warnings: ${zagent.errors.slice(0, 5).join(" | ")}` : "";
|
|
138
141
|
const promptBody = zagent.prompt?.trim() ? `\n\nZAGENT PROMPT BODY\n${zagent.prompt.trim()}` : "";
|
|
139
|
-
return `\n\nZAGENT RUNTIME ACTIVATION\n- id: ${zagent.id}\n- team: ${zagent.team ?? "default"}\n- role: ${zagent.role ?? "not specified"}\n- alias: ${zagent.alias ? `@${zagent.alias}` : "not specified"}\n- rooms: ${rooms.join(", ") || "none"}\n- activeRoom: ${zagent.activeRoom ?? "not specified"}\n- communicationPolicy: ${policy}\n- promptRef: ${zagent.promptRef ?? "none"}\n- ZAgents are full Pi sessions tied to ZPeer/live coordination, not delegate subagents.${errors}${promptBody}`;
|
|
142
|
+
return `\n\nZAGENT RUNTIME ACTIVATION\n- id: ${zagent.id}\n- team: ${zagent.team ?? "default"}\n- teams: ${zagent.teams?.join(", ") || zagent.team || "default"}\n- role: ${zagent.role ?? "not specified"}\n- alias: ${zagent.alias ? `@${zagent.alias}` : "not specified"}\n- rooms: ${rooms.join(", ") || "none"}\n- activeRoom: ${zagent.activeRoom ?? "not specified"}\n- defaultMode: ${zagent.defaultMode ?? "not specified"}\n- communicationPolicy: ${policy}\n- promptRef: ${zagent.promptRef ?? "none"}\n- ZAgents are full Pi sessions tied to ZPeer/live coordination, not delegate subagents.${errors}${promptBody}`;
|
|
140
143
|
}
|
|
141
144
|
|
|
142
145
|
function zpeerRuntimeProfileId(ctx: ExtensionContext): string {
|
|
@@ -309,13 +312,22 @@ function buildZpeerAwarenessPrompt(state: HarnessRuntimeState, repoRoot: string)
|
|
|
309
312
|
if (!state.zobLive.peerCard) {
|
|
310
313
|
return "\n\nZPEER AWARENESS\n- local peer endpoint: unavailable this turn\n- Use zpeer_ask with mode=\"async\" or /zpeer only when useful or user-requested for peer coordination; avoid spam/loops and do not invent hidden worker-to-worker chat.";
|
|
311
314
|
}
|
|
312
|
-
const
|
|
313
|
-
const
|
|
314
|
-
const
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
315
|
+
const summaries = buildZpeerPeerRoomSummaries(repoRoot, state.zobLive.peerCard);
|
|
316
|
+
const activeSummary = summaries.find((summary) => summary.active) ?? summaries[0];
|
|
317
|
+
const memberships = (state.zobLive.peerCard.zpeerMemberships?.length ?? summaries.length) || 1;
|
|
318
|
+
const roomLines = summaries.slice(0, 6).map((summary) => {
|
|
319
|
+
const selfAlias = summary.selfAlias ?? "?";
|
|
320
|
+
const peerAliases = summary.aliases.filter((alias) => alias !== selfAlias).slice(0, 6).map((alias) => `@${alias}`);
|
|
321
|
+
const unavailable = summary.stale + summary.offline;
|
|
322
|
+
const duplicateText = summary.duplicateAliases.length > 0 ? ` duplicates=${summary.duplicateAliases.map((alias) => `@${alias}`).join(",")}` : "";
|
|
323
|
+
return ` - ${summary.active ? "*" : " "} ${summary.roomId}: self=@${selfAlias}; online=${peerAliases.join(",") || "none"}; unavailable=${unavailable} (stale=${summary.stale}, offline=${summary.offline})${duplicateText}`;
|
|
324
|
+
});
|
|
325
|
+
if (summaries.length > 6) roomLines.push(` - +${summaries.length - 6} more room${summaries.length - 6 === 1 ? "" : "s"}`);
|
|
326
|
+
const activeSelfAlias = activeSummary?.selfAlias ?? "?";
|
|
327
|
+
const activePeerAliases = (activeSummary?.aliases ?? []).filter((alias) => alias !== activeSelfAlias).slice(0, 8).map((alias) => `@${alias}`);
|
|
328
|
+
const activeUnavailable = (activeSummary?.stale ?? 0) + (activeSummary?.offline ?? 0);
|
|
329
|
+
const activeDuplicateLine = activeSummary && activeSummary.duplicateAliases.length > 0 ? `\n- duplicate aliases: ${activeSummary.duplicateAliases.map((alias) => `@${alias}`).join(", ")}` : "";
|
|
330
|
+
return `\n\nZPEER AWARENESS (transient, rebuilt each turn)\n- active room: ${activeSummary?.roomId ?? "default"}\n- memberships: ${memberships}\n- self: @${activeSelfAlias}\n- online peers: ${activePeerAliases.join(", ") || "none"}\n- unavailable peers: ${activeUnavailable} (stale=${activeSummary?.stale ?? 0}, offline=${activeSummary?.offline ?? 0})${activeDuplicateLine}\n- rooms:\n${roomLines.join("\n") || " - none"}\n- Use zpeer_ask with explicit roomId when targeting a non-active room.\n- posture: local_socket-only, room-scoped, hash-only durable ledgers, bodyStored=false, networkEnabled=false\n- For non-trivial review/debug/planning peer coordination, agents may use zpeer_ask with mode=\"async\" so the request is visible, governed, and non-blocking; /zpeer remains the interactive command path.\n- Passive wait rule: if the only remaining action is waiting for ZPeer/coms replies, stop the turn and remain idle; do not poll, call tools, or continue just to wait.\n- Use ZPeer only when useful or user-requested; avoid spam, duplicate asks, and reply loops; do not use it for hidden free chat or to bypass topology/safety gates.\n- Raw ZPeer bodies are transient; durable records must remain hash-only/bodyStored=false.\n- last ZPeer event: ${formatZpeerLastEvent(state.zobLive.lastEvent)}`;
|
|
319
331
|
}
|
|
320
332
|
|
|
321
333
|
const SAME_AGENT_MODE_INTENT_PROMPT = [
|
|
@@ -407,7 +419,7 @@ async function startOrRefreshZobLiveRuntime(pi: ExtensionAPI, state: HarnessRunt
|
|
|
407
419
|
const server = await bindZobLocalEndpoint(endpoint, async (envelope) => {
|
|
408
420
|
if (envelope.type === "ping") return buildZobLivePongEnvelope(envelope);
|
|
409
421
|
if (envelope.type === "response") {
|
|
410
|
-
state.zobLive.pendingReplies.complete(envelope.msgId, envelope);
|
|
422
|
+
const completedActiveWait = state.zobLive.pendingReplies.complete(envelope.msgId, envelope);
|
|
411
423
|
clearPassivePeerWaitForResponse(state, envelope);
|
|
412
424
|
setZpeerLastEvent(state, {
|
|
413
425
|
kind: "reply",
|
|
@@ -425,7 +437,7 @@ async function startOrRefreshZobLiveRuntime(pi: ExtensionAPI, state: HarnessRunt
|
|
|
425
437
|
display: true,
|
|
426
438
|
details: { kind: "reply", roomId: state.zobLive.lastEvent?.roomId, fromAlias: envelope.sender, toAlias: envelope.receiver, status: "reply", msgId: envelope.msgId, taskHash: envelope.taskHash, outputHash: envelope.outputHash, bodyStored: false, localOnly: true, networkEnabled: false },
|
|
427
439
|
}, { triggerTurn: false });
|
|
428
|
-
if (envelope.transientResponse) {
|
|
440
|
+
if (!completedActiveWait && envelope.transientResponse) {
|
|
429
441
|
void pi.sendMessage({
|
|
430
442
|
customType: "zob-zpeer-response",
|
|
431
443
|
content: `ZPeer async reply received from @${envelope.sender ?? "?"} to @${envelope.receiver ?? "?"}. Continue the prior task using this response; do not poll or wait further only for this reply.\n\n${envelope.transientResponse}`,
|
|
@@ -948,7 +960,7 @@ export function registerHarnessEvents(pi: ExtensionAPI, state: HarnessRuntimeSta
|
|
|
948
960
|
if (state.activeMode === "vanilla") {
|
|
949
961
|
return { systemPrompt: `${event.systemPrompt}\n\n${MODE_PROMPTS.vanilla}` };
|
|
950
962
|
}
|
|
951
|
-
const contractHint = `\n\nZOB HARNESS OPERATING CONTRACT\n- Prefer Explore -> Plan -> Implement -> Oracle for non-trivial work.\n- Use the six-part contract for delegated work: TASK / EXPECTED OUTCOME / REQUIRED TOOLS / MUST DO / MUST NOT DO / CONTEXT.\n- Do not claim completion without concrete evidence.\n- If output may truncate, prioritize verdict, blockers, and next steps over exhaustive listings.\n\n${SAME_AGENT_MODE_INTENT_PROMPT}\n\n${ZOB_TOOL_ROUTING_CONTRACT}\n\n${ZOB_COMPACTION_CONTINUITY_CONTRACT}\n\n${MODE_PROMPTS[state.activeMode]}${goalHint}${runtimeGoalHint}${rulesHint}${autonomyHint}${zagentHint}${zpeerHint}`;
|
|
963
|
+
const contractHint = `\n\nZOB HARNESS OPERATING CONTRACT\n- Prefer Explore -> Plan -> Implement -> Oracle for non-trivial work.\n- Use the six-part contract for delegated work: TASK / EXPECTED OUTCOME / REQUIRED TOOLS / MUST DO / MUST NOT DO / CONTEXT.\n- Do not claim completion without concrete evidence.\n- If output may truncate, prioritize verdict, blockers, and next steps over exhaustive listings.\n\n${SAME_AGENT_MODE_INTENT_PROMPT}\n\n${ZOB_TOOL_ROUTING_CONTRACT}\n\n${ZOB_COMPACTION_CONTINUITY_CONTRACT}\n\n${EXTERNAL_PACKAGE_TOOLS_CONTRACT}\n\n${MODE_PROMPTS[state.activeMode]}${goalHint}${runtimeGoalHint}${rulesHint}${autonomyHint}${zagentHint}${zpeerHint}`;
|
|
952
964
|
return { systemPrompt: `${event.systemPrompt}${contractHint}` };
|
|
953
965
|
});
|
|
954
966
|
|
|
@@ -958,6 +970,9 @@ export function registerHarnessEvents(pi: ExtensionAPI, state: HarnessRuntimeSta
|
|
|
958
970
|
state.delegations.runs = [];
|
|
959
971
|
restoreHarnessState(state, ctx);
|
|
960
972
|
loadActiveZagentFromEnv(state, ctx.cwd);
|
|
973
|
+
if (state.zagent.defaultMode && state.zagent.defaultMode !== state.activeMode) {
|
|
974
|
+
applyMode(pi, state, ctx, state.zagent.defaultMode, false);
|
|
975
|
+
}
|
|
961
976
|
state.activeRuleResolution = resolveRuleProfile({ repoRoot: ctx.cwd, mode: state.activeMode });
|
|
962
977
|
await startOrRefreshZobLiveRuntime(pi, state, ctx);
|
|
963
978
|
applyMode(pi, state, ctx, state.activeMode, false);
|
|
@@ -4,12 +4,12 @@ import { StringEnum } from "@earendil-works/pi-ai";
|
|
|
4
4
|
import { Text } from "@earendil-works/pi-tui";
|
|
5
5
|
import { Type } from "typebox";
|
|
6
6
|
|
|
7
|
-
import { parseGoalState, validateGoalState } from "
|
|
7
|
+
import { parseGoalState, validateGoalState } from "../domains/goal/goal.js";
|
|
8
8
|
import {
|
|
9
9
|
importChainRunTodos,
|
|
10
10
|
importFactoryRunTodos,
|
|
11
11
|
importOrchestrationRunTodos,
|
|
12
|
-
} from "
|
|
12
|
+
} from "../domains/goal/goal-todo-imports.js";
|
|
13
13
|
import {
|
|
14
14
|
addGoalTodo,
|
|
15
15
|
formatGoalTodoSummary,
|
|
@@ -28,12 +28,12 @@ import {
|
|
|
28
28
|
type GoalTodoStatus,
|
|
29
29
|
type GoalTodoSummary,
|
|
30
30
|
type ResolveGoalTodoAction,
|
|
31
|
-
} from "
|
|
32
|
-
import type { GoalState } from "
|
|
33
|
-
import type { HarnessRuntimeState } from "./
|
|
34
|
-
import { sha256 } from "
|
|
35
|
-
import { isRecord } from "
|
|
36
|
-
import { buildZobCompactionInstructions } from "./
|
|
31
|
+
} from "../domains/goal/goal-todos.js";
|
|
32
|
+
import type { GoalState } from "../types.js";
|
|
33
|
+
import type { HarnessRuntimeState } from "./state.js";
|
|
34
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
35
|
+
import { isRecord } from "../core/utils/records.js";
|
|
36
|
+
import { buildZobCompactionInstructions } from "./compaction-policy.js";
|
|
37
37
|
|
|
38
38
|
export const ZOB_RUNTIME_GOAL_ENTRY_TYPE = "zob-runtime-goal";
|
|
39
39
|
export const ZOB_GOAL_MODE_ENTRY_TYPE = "zob-goal-mode";
|
|
@@ -755,7 +755,7 @@ export async function handleGoalCommand(pi: ExtensionAPI, state: HarnessRuntimeS
|
|
|
755
755
|
if (text === "todo overlay" || text.startsWith("todo overlay ") || text === "todo view" || text.startsWith("todo view ")) {
|
|
756
756
|
const parts = text.split(/\s+/);
|
|
757
757
|
const initialTodoId = parts[2];
|
|
758
|
-
const { showGoalTodoOverlay } = await import("./
|
|
758
|
+
const { showGoalTodoOverlay } = await import("./goal-todo-overlay.js");
|
|
759
759
|
await showGoalTodoOverlay(ctx, state, initialTodoId);
|
|
760
760
|
render();
|
|
761
761
|
return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ExtensionContext, Theme } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { matchesKey, truncateToWidth, visibleWidth, type Component } from "@earendil-works/pi-tui";
|
|
3
3
|
|
|
4
|
-
import { formatGoalTodoSummary, summarizeGoalTodos, type GoalTodoNode } from "../goal-todos.js";
|
|
4
|
+
import { formatGoalTodoSummary, summarizeGoalTodos, type GoalTodoNode } from "../domains/goal/goal-todos.js";
|
|
5
5
|
import type { HarnessRuntimeState } from "./state.js";
|
|
6
6
|
|
|
7
7
|
function padToWidth(text: string, width: number): string {
|
|
@@ -2,8 +2,8 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
|
|
4
4
|
import type { ModeName } from "../types.js";
|
|
5
|
-
import { sha256 } from "../utils/hashing.js";
|
|
6
|
-
import { safeFileStem } from "../utils/paths.js";
|
|
5
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
6
|
+
import { safeFileStem } from "../core/utils/paths.js";
|
|
7
7
|
import { looksLikeCompletePlanResponse, stripModeIntentMarkup } from "./mode-intent.js";
|
|
8
8
|
|
|
9
9
|
const PLAN_INDEX_SCHEMA = "zob.plan-index.v1";
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import type { TUI } from "@earendil-works/pi-tui";
|
|
3
3
|
|
|
4
|
-
import { DEFAULT_RULES, MODE_PROMPTS } from "../constants.js";
|
|
4
|
+
import { DEFAULT_RULES, MODE_PROMPTS } from "../core/constants.js";
|
|
5
5
|
import type { ChildResult, DamageRules, DelegationFailureKind, GoalState, ModeName, QueueTickResult, RuleResolution } from "../types.js";
|
|
6
|
-
import { validateGoalState, validateStrictGoalSpecAnchor, type StrictGoalSpecAnchor } from "../goal.js";
|
|
7
|
-
import { DEFAULT_GOAL_ACTIVATION_MODE, restoreGoalActivationModeFromBranch, restoreRuntimeGoalFromBranch, type GoalActivationMode, type RuntimeGoal } from "
|
|
8
|
-
import { createGoalTodoState, restoreGoalTodosFromBranch, type GoalTodoState } from "../goal-todos.js";
|
|
9
|
-
import { isRecord } from "../utils/records.js";
|
|
10
|
-
import type { ZobLiveEnvelope } from "../coms-v2/envelope.js";
|
|
11
|
-
import type { ZobLocalTransportServer } from "../coms-v2/local-transport.js";
|
|
12
|
-
import { ZobPendingReplies } from "../coms-v2/pending-replies.js";
|
|
13
|
-
import type { ZobLivePeerCard } from "../coms-v2/types.js";
|
|
6
|
+
import { validateGoalState, validateStrictGoalSpecAnchor, type StrictGoalSpecAnchor } from "../domains/goal/goal.js";
|
|
7
|
+
import { DEFAULT_GOAL_ACTIVATION_MODE, restoreGoalActivationModeFromBranch, restoreRuntimeGoalFromBranch, type GoalActivationMode, type RuntimeGoal } from "./goal-runtime.js";
|
|
8
|
+
import { createGoalTodoState, restoreGoalTodosFromBranch, type GoalTodoState } from "../domains/goal/goal-todos.js";
|
|
9
|
+
import { isRecord } from "../core/utils/records.js";
|
|
10
|
+
import type { ZobLiveEnvelope } from "../domains/coms/coms-v2/envelope.js";
|
|
11
|
+
import type { ZobLocalTransportServer } from "../domains/coms/coms-v2/local-transport.js";
|
|
12
|
+
import { ZobPendingReplies } from "../domains/coms/coms-v2/pending-replies.js";
|
|
13
|
+
import type { ZobLivePeerCard } from "../domains/coms/coms-v2/types.js";
|
|
14
14
|
import { createDelegationMonitorState, trimDelegationRuns, type DelegationMonitorState, type DelegationRunMode, type DelegationRunSource, type DelegationRunStatus, type DelegationRunView } from "./delegation-monitor.js";
|
|
15
|
-
import { DEFAULT_DAEMON_RUNTIME_POLICY, type DaemonLoopSnapshot, type DaemonRuntimePolicy, type DaemonRuntimeState, type DaemonTickPlan } from "../daemon-runtime.js";
|
|
16
|
-
import { createInteractiveAutonomyRuntimeState, restoreInteractiveAutonomyState, type InteractiveAutonomyRuntimeState } from "../interactive-autonomy.js";
|
|
15
|
+
import { DEFAULT_DAEMON_RUNTIME_POLICY, type DaemonLoopSnapshot, type DaemonRuntimePolicy, type DaemonRuntimeState, type DaemonTickPlan } from "../domains/autonomy/daemon-runtime.js";
|
|
16
|
+
import { createInteractiveAutonomyRuntimeState, restoreInteractiveAutonomyState, type InteractiveAutonomyRuntimeState } from "../domains/autonomy/interactive-autonomy.js";
|
|
17
17
|
import type { ZobModeIntent } from "./mode-intent.js";
|
|
18
|
-
import type { ZAgentRoomBinding } from "../zagents.js";
|
|
18
|
+
import type { ZAgentRoomBinding } from "../domains/coms/zagents.js";
|
|
19
19
|
import { createZcompactRuntimeState, restoreZcompactStateFromBranch, type ZcompactRuntimeState } from "./auto-compaction.js";
|
|
20
|
-
import { createZcommitRuntimeState, recordZcommitOwnedPath, type ZcommitLastCommitRecord, type ZcommitOwnershipSource, type ZcommitRuntimeState, type ZcommitToggleState } from "../git-ops.js";
|
|
20
|
+
import { createZcommitRuntimeState, recordZcommitOwnedPath, type ZcommitLastCommitRecord, type ZcommitOwnershipSource, type ZcommitRuntimeState, type ZcommitToggleState } from "../domains/git/git-ops.js";
|
|
21
21
|
|
|
22
22
|
export interface DelegationMouseRuntimeState {
|
|
23
23
|
tui?: TUI;
|
|
@@ -91,11 +91,13 @@ export interface DaemonHarnessRuntimeState {
|
|
|
91
91
|
export interface ZagentRuntimeState {
|
|
92
92
|
id?: string;
|
|
93
93
|
team?: string;
|
|
94
|
+
teams?: string[];
|
|
94
95
|
role?: string;
|
|
95
96
|
alias?: string;
|
|
96
97
|
description?: string;
|
|
97
98
|
rooms: ZAgentRoomBinding[];
|
|
98
99
|
activeRoom?: string;
|
|
100
|
+
defaultMode?: ModeName;
|
|
99
101
|
prompt?: string;
|
|
100
102
|
promptRef?: string;
|
|
101
103
|
path?: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { AutonomousDryRunParams, AutonomousReadOnlySmokeParams, AutonomousValidateRunParams, AutonomousValidateSmokeParams } from "
|
|
4
|
-
import { validateAutonomousReadOnlySmokeRunArtifacts, validateAutonomousRuntimeDryRunArtifacts, writeAutonomousReadOnlySmokeRunReport, writeAutonomousRuntimeDryRunReport } from "../autonomous-runtime.js";
|
|
3
|
+
import { AutonomousDryRunParams, AutonomousReadOnlySmokeParams, AutonomousValidateRunParams, AutonomousValidateSmokeParams } from "./schemas.js";
|
|
4
|
+
import { validateAutonomousReadOnlySmokeRunArtifacts, validateAutonomousRuntimeDryRunArtifacts, writeAutonomousReadOnlySmokeRunReport, writeAutonomousRuntimeDryRunReport } from "../domains/autonomy/autonomous-runtime.js";
|
|
5
5
|
|
|
6
6
|
export function registerAutonomousTools(pi: ExtensionAPI): void {
|
|
7
7
|
pi.registerTool({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { buildComputePreview, resolveComputeProfile, validateComputeProfileArtifacts, writeComputeProfileReports } from "../compute-profile.js";
|
|
4
|
-
import { buildComputeWorkflowShape } from "../compute-workflow-shape.js";
|
|
5
|
-
import { ComputePlanWorkflowParams, ComputePreviewParams, ComputeResolveProfileParams, ComputeValidateProfileParams, ComputeWriteProfileReportsParams } from "
|
|
3
|
+
import { buildComputePreview, resolveComputeProfile, validateComputeProfileArtifacts, writeComputeProfileReports } from "../domains/compute/compute-profile.js";
|
|
4
|
+
import { buildComputeWorkflowShape } from "../domains/compute/compute-workflow-shape.js";
|
|
5
|
+
import { ComputePlanWorkflowParams, ComputePreviewParams, ComputeResolveProfileParams, ComputeValidateProfileParams, ComputeWriteProfileReportsParams } from "./schemas.js";
|
|
6
6
|
|
|
7
7
|
export function registerComputeTools(pi: ExtensionAPI): void {
|
|
8
8
|
pi.registerTool({
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import { readZobComsV2Policy } from "../coms-v2/policy.js";
|
|
3
|
-
import { readZobLiveRegistrySnapshot } from "../coms-v2/registry.js";
|
|
4
|
-
import { peerAliasInRoom, refreshZpeerSelf, safeZpeerAlias, safeZpeerRoomId, sendZpeerPrompt, type ZpeerSendMode, type ZpeerSendResult } from "../coms-v2/zpeer.js";
|
|
5
|
-
import { buildZobLiveEnvelope } from "../coms-v2/envelope.js";
|
|
6
|
-
import { sendZobLocalEnvelope } from "../coms-v2/local-transport.js";
|
|
7
|
-
import { appendLiveDeliveredStatus, appendLiveErrorStatus, appendLiveSendRequestedRef } from "../coms-v2/ledger-bridge.js";
|
|
8
|
-
import { writeZobComsRedactedCapture } from "../coms-v2/transcript-capture.js";
|
|
2
|
+
import { readZobComsV2Policy } from "../domains/coms/coms-v2/policy.js";
|
|
3
|
+
import { readZobLiveRegistrySnapshot } from "../domains/coms/coms-v2/registry.js";
|
|
4
|
+
import { peerAliasInRoom, refreshZpeerSelf, safeZpeerAlias, safeZpeerRoomId, sendZpeerPrompt, type ZpeerSendMode, type ZpeerSendResult } from "../domains/coms/coms-v2/zpeer.js";
|
|
5
|
+
import { buildZobLiveEnvelope } from "../domains/coms/coms-v2/envelope.js";
|
|
6
|
+
import { sendZobLocalEnvelope } from "../domains/coms/coms-v2/local-transport.js";
|
|
7
|
+
import { appendLiveDeliveredStatus, appendLiveErrorStatus, appendLiveSendRequestedRef } from "../domains/coms/coms-v2/ledger-bridge.js";
|
|
8
|
+
import { writeZobComsRedactedCapture } from "../domains/coms/coms-v2/transcript-capture.js";
|
|
9
9
|
import type { TeamDefinition } from "../types.js";
|
|
10
|
-
import { sha256 } from "../utils/hashing.js";
|
|
10
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
11
11
|
import {
|
|
12
12
|
ZobComsAckParams,
|
|
13
13
|
ZobComsAwaitParams,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
ZobComsSendParams,
|
|
18
18
|
ZobComsStatusParams,
|
|
19
19
|
ZpeerAskParams,
|
|
20
|
-
} from "
|
|
20
|
+
} from "./schemas.js";
|
|
21
21
|
import {
|
|
22
22
|
ackZobComsMessage,
|
|
23
23
|
appendZobComsMessage,
|
|
@@ -26,8 +26,8 @@ import {
|
|
|
26
26
|
listZobComsMessages,
|
|
27
27
|
replyZobComsMessage,
|
|
28
28
|
transitionZobComsStatus,
|
|
29
|
-
} from "../topology/coms.js";
|
|
30
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
29
|
+
} from "../domains/topology/coms.js";
|
|
30
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
31
31
|
import type { HarnessRuntimeState } from "./state.js";
|
|
32
32
|
|
|
33
33
|
const SHA256_HEX = /^[a-f0-9]{64}$/i;
|
|
@@ -240,7 +240,10 @@ export function registerComsTools(pi: ExtensionAPI, state?: HarnessRuntimeState)
|
|
|
240
240
|
pi.appendEntry("zob-zpeer", { schema: "zob.zpeer-ask.v1", action: "agent_request", mode, status: result.status, reasonHash: result.reason ? sha256(result.reason) : undefined, msgId: result.msgId, targetAliasHash: result.targetAlias ? sha256(result.targetAlias) : sha256(targetAlias), roomIdHash: sha256(result.roomId ?? requestedRoomId), taskHash: result.taskHash, outputHash: result.outputHash, reasonInputHash: params.reason ? sha256(params.reason) : undefined, localOnly: true, networkEnabled: false, bodyStored: false, promptBodiesStored: false, outputBodiesStored: false, generatedAt: new Date().toISOString() });
|
|
241
241
|
const ok = result.status === "reply" || result.status === "completed" || result.status === "waiting" || result.status === "delivered";
|
|
242
242
|
const passiveWaitSuffix = result.status === "waiting" ? " · idle/passive wait: no follow-up turn queued; stop if no other action is actionable" : "";
|
|
243
|
-
|
|
243
|
+
const transientReplyText = (result.status === "reply" || result.status === "completed") && result.transientResponse
|
|
244
|
+
? `\n\nTransient ZPeer reply (not stored in .pi/coms):\n${result.transientResponse}`
|
|
245
|
+
: "";
|
|
246
|
+
return { content: [{ type: "text", text: ok ? `zpeer_ask ${result.status}: @${result.targetAlias ?? targetAlias}${result.outputHash ? ` outputHash=${result.outputHash}` : ""}${passiveWaitSuffix}${transientReplyText}` : `zpeer_ask ${result.status}: ${result.reason ?? "see metadata"}` }], details: { schema: "zob.zpeer-ask-result.v1", mode, ...result } };
|
|
244
247
|
},
|
|
245
248
|
});
|
|
246
249
|
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
ContextReadinessParams,
|
|
5
5
|
ContextScopeValidateParams,
|
|
6
6
|
ContextWritebackProposalParams,
|
|
7
|
-
} from "
|
|
7
|
+
} from "./schemas.js";
|
|
8
8
|
import {
|
|
9
9
|
buildContextGbrainReadinessAudit,
|
|
10
10
|
buildDefaultContextScope,
|
|
11
11
|
validateContextScope,
|
|
12
12
|
writeContextWritebackProposal,
|
|
13
|
-
} from "../context-gbrain.js";
|
|
13
|
+
} from "../domains/context/context-gbrain.js";
|
|
14
14
|
|
|
15
15
|
export function registerContextTools(pi: ExtensionAPI): void {
|
|
16
16
|
pi.registerTool({
|
|
@@ -4,14 +4,14 @@ import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-a
|
|
|
4
4
|
import { Text } from "@earendil-works/pi-tui";
|
|
5
5
|
|
|
6
6
|
import type { AgentScope, ChildResult, ChildStopCondition, ChildThinkingLevel, DelegationDetails, DelegationFailureKind } from "../types.js";
|
|
7
|
-
import { AwaitDelegationRunParams, DelegateParams, DelegateTaskParams, DelegationCatalogParams, DelegationRunParams } from "
|
|
8
|
-
import { discoverAgents, formatAgentList } from "../agents.js";
|
|
9
|
-
import { applyTodoSplitRequest, extractTodoClaimFromText, extractTodoClaimValidationFromText, extractTodoSplitRequestFromText, isActionableTodoClaimValidation, isActionableTodoSplitRequest, linkGoalTodoDelegation, recordGoalTodoClaimValidationResult, requestGoalTodoClaimValidation, resolveGoalTodoReference, returnGoalTodoClaim, type GoalTodoNode } from "../goal-todos.js";
|
|
10
|
-
import { isFailed, mapWithConcurrency, runChildAgent, validateChildThinkingOverride } from "../child-runner.js";
|
|
11
|
-
import { classifyChildStopCondition, classifyDelegationChronicleCompletion, outputHasEvidenceMarker } from "../chronicle.js";
|
|
12
|
-
import { validateExplicitModelOverride } from "../model-availability.js";
|
|
13
|
-
import { applyChildGates, getOutputContractDefinitions, inferOutputContract, listOutputContracts, validateOutputContractId } from "../output-contracts.js";
|
|
14
|
-
import { captureZcommitChildDirtySnapshot, diffZcommitChildDirtySnapshots, type ZcommitChildChangedPathRef } from "../git-ops.js";
|
|
7
|
+
import { AwaitDelegationRunParams, DelegateParams, DelegateTaskParams, DelegationCatalogParams, DelegationRunParams } from "./schemas.js";
|
|
8
|
+
import { discoverAgents, formatAgentList } from "../domains/delegation/agents.js";
|
|
9
|
+
import { applyTodoSplitRequest, extractTodoClaimFromText, extractTodoClaimValidationFromText, extractTodoSplitRequestFromText, isActionableTodoClaimValidation, isActionableTodoSplitRequest, linkGoalTodoDelegation, recordGoalTodoClaimValidationResult, requestGoalTodoClaimValidation, resolveGoalTodoReference, returnGoalTodoClaim, type GoalTodoNode } from "../domains/goal/goal-todos.js";
|
|
10
|
+
import { isFailed, mapWithConcurrency, runChildAgent, validateChildThinkingOverride } from "../domains/delegation/child-runner.js";
|
|
11
|
+
import { classifyChildStopCondition, classifyDelegationChronicleCompletion, outputHasEvidenceMarker } from "../domains/telemetry/chronicle.js";
|
|
12
|
+
import { validateExplicitModelOverride } from "../domains/models/model-availability.js";
|
|
13
|
+
import { applyChildGates, getOutputContractDefinitions, inferOutputContract, listOutputContracts, validateOutputContractId } from "../domains/delegation/output-contracts.js";
|
|
14
|
+
import { captureZcommitChildDirtySnapshot, diffZcommitChildDirtySnapshots, type ZcommitChildChangedPathRef } from "../domains/git/git-ops.js";
|
|
15
15
|
import {
|
|
16
16
|
parseToolList,
|
|
17
17
|
resolveChildCwd,
|
|
@@ -21,11 +21,11 @@ import {
|
|
|
21
21
|
validateForbiddenPathPolicy,
|
|
22
22
|
validateSixPartContract,
|
|
23
23
|
validateToolList,
|
|
24
|
-
} from "../safety.js";
|
|
25
|
-
import { usageEmpty, writeDelegationTelemetrySummary } from "../telemetry.js";
|
|
26
|
-
import { capOutput, formatChildResultText } from "../utils/formatting.js";
|
|
27
|
-
import { sha256 } from "../utils/hashing.js";
|
|
28
|
-
import { newRunId } from "../utils/paths.js";
|
|
24
|
+
} from "../domains/governance/safety.js";
|
|
25
|
+
import { usageEmpty, writeDelegationTelemetrySummary } from "../domains/telemetry/telemetry.js";
|
|
26
|
+
import { capOutput, formatChildResultText } from "../core/utils/formatting.js";
|
|
27
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
28
|
+
import { newRunId } from "../core/utils/paths.js";
|
|
29
29
|
import {
|
|
30
30
|
delegationDurationMs,
|
|
31
31
|
delegationSignalBadge,
|
|
@@ -2,25 +2,25 @@ import { existsSync, mkdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
|
|
5
|
-
import { buildZobLivePresenceSummary } from "../coms-v2/presence.js";
|
|
6
|
-
import { readZobComsV2Policy } from "../coms-v2/policy.js";
|
|
7
|
-
import { discoverAgents } from "../agents.js";
|
|
8
|
-
import { evaluateStrictBudgetDispatchGate } from "../budget-policy.js";
|
|
9
|
-
import { isFailed, runChildAgent } from "../child-runner.js";
|
|
10
|
-
import { classifyChronicleCompletion, outputHasEvidenceMarker } from "../chronicle.js";
|
|
11
|
-
import { buildAgenticFactoryNoMockFinalGate, factoryLedger, runFactoryRun } from "../factory/run.js";
|
|
12
|
-
import { buildInitialAdaptiveDelegationGovernorState, buildParentDispatchContractForDecision, decideDelegationRequest, extractDelegationRequestsFromText, normalizeAdaptiveDelegationPolicy, updateGovernorState } from "../orchestration/adaptive-delegation.js";
|
|
13
|
-
import { runFactoryQuarantineActivate, runFactoryQuarantineReview, runFactoryQuarantineVerifyActivation } from "../factory/quarantine.js";
|
|
14
|
-
import { evaluateModelRoutingDispatchGate } from "../model-routing.js";
|
|
15
|
-
import { applyChildGates, inferOutputContract, validateOutputContractId } from "../output-contracts.js";
|
|
16
|
-
import { FactoryQuarantineActivateParams, FactoryQuarantineReviewParams, FactoryQuarantineVerifyActivationParams, FactoryRunParams } from "
|
|
17
|
-
import { factoryPhaseSentinelForMode, loadFactoryDefinition, loadFactoryInputManifest } from "../factory/validation.js";
|
|
18
|
-
import { validateToolList } from "../safety.js";
|
|
19
|
-
import { addUsage, usageEmpty, writeFactoryTelemetrySummary } from "../telemetry.js";
|
|
20
|
-
import { sha256 } from "../utils/hashing.js";
|
|
21
|
-
import { parseJsonFile } from "../utils/json.js";
|
|
22
|
-
import { safeFileStem } from "../utils/paths.js";
|
|
23
|
-
import { isRecord } from "../utils/records.js";
|
|
5
|
+
import { buildZobLivePresenceSummary } from "../domains/coms/coms-v2/presence.js";
|
|
6
|
+
import { readZobComsV2Policy } from "../domains/coms/coms-v2/policy.js";
|
|
7
|
+
import { discoverAgents } from "../domains/delegation/agents.js";
|
|
8
|
+
import { evaluateStrictBudgetDispatchGate } from "../domains/governance/budget-policy.js";
|
|
9
|
+
import { isFailed, runChildAgent } from "../domains/delegation/child-runner.js";
|
|
10
|
+
import { classifyChronicleCompletion, outputHasEvidenceMarker } from "../domains/telemetry/chronicle.js";
|
|
11
|
+
import { buildAgenticFactoryNoMockFinalGate, factoryLedger, runFactoryRun } from "../domains/factory/run.js";
|
|
12
|
+
import { buildInitialAdaptiveDelegationGovernorState, buildParentDispatchContractForDecision, decideDelegationRequest, extractDelegationRequestsFromText, normalizeAdaptiveDelegationPolicy, updateGovernorState } from "../domains/orchestration/adaptive-delegation.js";
|
|
13
|
+
import { runFactoryQuarantineActivate, runFactoryQuarantineReview, runFactoryQuarantineVerifyActivation } from "../domains/factory/quarantine.js";
|
|
14
|
+
import { evaluateModelRoutingDispatchGate } from "../domains/models/model-routing.js";
|
|
15
|
+
import { applyChildGates, inferOutputContract, validateOutputContractId } from "../domains/delegation/output-contracts.js";
|
|
16
|
+
import { FactoryQuarantineActivateParams, FactoryQuarantineReviewParams, FactoryQuarantineVerifyActivationParams, FactoryRunParams } from "./schemas.js";
|
|
17
|
+
import { factoryPhaseSentinelForMode, loadFactoryDefinition, loadFactoryInputManifest } from "../domains/factory/validation.js";
|
|
18
|
+
import { validateToolList } from "../domains/governance/safety.js";
|
|
19
|
+
import { addUsage, usageEmpty, writeFactoryTelemetrySummary } from "../domains/telemetry/telemetry.js";
|
|
20
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
21
|
+
import { parseJsonFile } from "../core/utils/json.js";
|
|
22
|
+
import { safeFileStem } from "../core/utils/paths.js";
|
|
23
|
+
import { isRecord } from "../core/utils/records.js";
|
|
24
24
|
import type { DelegationRequestProposal, GovernorDecision, ParentDispatchContract } from "../types.js";
|
|
25
25
|
import type { HarnessRuntimeState } from "./state.js";
|
|
26
26
|
import { strictGoalSpecErrors } from "./state.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { appendGoalRoomMessage, listGoalRoomMessages } from "../goal-room.js";
|
|
4
|
-
import { ZobGoalRoomListParams, ZobGoalRoomSendParams } from "
|
|
5
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
3
|
+
import { appendGoalRoomMessage, listGoalRoomMessages } from "../domains/goal/goal-room.js";
|
|
4
|
+
import { ZobGoalRoomListParams, ZobGoalRoomSendParams } from "./schemas.js";
|
|
5
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
6
6
|
import type { TeamDefinition } from "../types.js";
|
|
7
7
|
|
|
8
8
|
export function registerGoalRoomTools(pi: ExtensionAPI): void {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { appendGovernedRequestsToGoalRoom, extractGovernedRequestsFromText, governedRequestBodyFreeViolations } from "../governed-requests.js";
|
|
4
|
-
import { GovernedRequestExtractParams } from "
|
|
5
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
3
|
+
import { appendGovernedRequestsToGoalRoom, extractGovernedRequestsFromText, governedRequestBodyFreeViolations } from "../domains/governance/governed-requests.js";
|
|
4
|
+
import { GovernedRequestExtractParams } from "./schemas.js";
|
|
5
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
6
6
|
|
|
7
7
|
export function registerGovernedRequestTools(pi: ExtensionAPI): void {
|
|
8
8
|
pi.registerTool({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { decideMergeCandidate, listMergeQueue, mergeQueueBodyFreeViolations, submitMergeCandidate } from "../merge-queue.js";
|
|
4
|
-
import { MergeCandidateSubmitParams, MergeQueueDecideParams, MergeQueueListParams } from "
|
|
5
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
3
|
+
import { decideMergeCandidate, listMergeQueue, mergeQueueBodyFreeViolations, submitMergeCandidate } from "../domains/governance/merge-queue.js";
|
|
4
|
+
import { MergeCandidateSubmitParams, MergeQueueDecideParams, MergeQueueListParams } from "./schemas.js";
|
|
5
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
6
6
|
|
|
7
7
|
export function registerMergeQueueTools(pi: ExtensionAPI): void {
|
|
8
8
|
pi.registerTool({
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
MissionControlProposeCommandParams,
|
|
5
5
|
MissionControlSnapshotParams,
|
|
6
6
|
ZobComsReadinessParams,
|
|
7
|
-
} from "
|
|
7
|
+
} from "./schemas.js";
|
|
8
8
|
import type { TeamDefinition } from "../types.js";
|
|
9
9
|
import {
|
|
10
10
|
buildMissionControlSnapshot,
|
|
11
11
|
buildZobCommunicationReadinessAudit,
|
|
12
12
|
writeMissionControlCommandProposal,
|
|
13
|
-
} from "../mission-control.js";
|
|
14
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
13
|
+
} from "../domains/coms/mission-control.js";
|
|
14
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
15
15
|
|
|
16
16
|
function loadValidTeam(repoRoot: string, teamName: string | undefined): { definition?: TeamDefinition; errors: string[] } {
|
|
17
17
|
const team = loadTeamDefinition(repoRoot, teamName ?? "zob-core");
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { buildZobLivePresenceSummary } from "../coms-v2/presence.js";
|
|
4
|
-
import { readZobComsV2Policy } from "../coms-v2/policy.js";
|
|
5
|
-
import { OrchestrateRunParams, ChainRunParams } from "
|
|
6
|
-
import { createSupervisedReadonlyDispatcher } from "../child-runner.js";
|
|
7
|
-
import { runOrchestrateRun } from "../orchestration/run.js";
|
|
8
|
-
import { runSupervisedReadonlyOrchestration } from "../orchestration/supervised-readonly.js";
|
|
9
|
-
import { runChainPlanOnly } from "../topology/chains.js";
|
|
10
|
-
import { sha256 } from "../utils/hashing.js";
|
|
11
|
-
import { isRecord } from "../utils/records.js";
|
|
3
|
+
import { buildZobLivePresenceSummary } from "../domains/coms/coms-v2/presence.js";
|
|
4
|
+
import { readZobComsV2Policy } from "../domains/coms/coms-v2/policy.js";
|
|
5
|
+
import { OrchestrateRunParams, ChainRunParams } from "./schemas.js";
|
|
6
|
+
import { createSupervisedReadonlyDispatcher } from "../domains/delegation/child-runner.js";
|
|
7
|
+
import { runOrchestrateRun } from "../domains/orchestration/run.js";
|
|
8
|
+
import { runSupervisedReadonlyOrchestration } from "../domains/orchestration/supervised-readonly.js";
|
|
9
|
+
import { runChainPlanOnly } from "../domains/topology/chains.js";
|
|
10
|
+
import { sha256 } from "../core/utils/hashing.js";
|
|
11
|
+
import { isRecord } from "../core/utils/records.js";
|
|
12
12
|
import type { HarnessRuntimeState } from "./state.js";
|
|
13
13
|
import { strictGoalSpecErrors } from "./state.js";
|
|
14
14
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { buildProjectDnaAgenticPlan, buildProjectDnaFederatedQueryResult, buildProjectDnaQueryResult, buildProjectDnaReadinessAudit, writeProjectDnaWritebackProposal } from "../project-dna.js";
|
|
4
|
-
import { ProjectDnaFederatedQueryParams, ProjectDnaPlanWorkflowParams, ProjectDnaQueryParams, ProjectDnaReadinessParams, ProjectDnaWritebackProposalParams } from "
|
|
3
|
+
import { buildProjectDnaAgenticPlan, buildProjectDnaFederatedQueryResult, buildProjectDnaQueryResult, buildProjectDnaReadinessAudit, writeProjectDnaWritebackProposal } from "../domains/project-dna/project-dna.js";
|
|
4
|
+
import { ProjectDnaFederatedQueryParams, ProjectDnaPlanWorkflowParams, ProjectDnaQueryParams, ProjectDnaReadinessParams, ProjectDnaWritebackProposalParams } from "./schemas.js";
|
|
5
5
|
|
|
6
6
|
export function registerProjectDnaTools(pi: ExtensionAPI): void {
|
|
7
7
|
pi.registerTool({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { createWorkerPoolOwnerDecision, createWorkerPoolOwnerRequest, createWorkerPoolPlan, listWorkerPoolPlans, workerPoolBodyFreeViolations } from "../worker-pool.js";
|
|
4
|
-
import { WorkerPoolOwnerDecisionParams, WorkerPoolOwnerRequestParams, WorkerPoolPlanParams, WorkerPoolStatusParams } from "
|
|
5
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
3
|
+
import { createWorkerPoolOwnerDecision, createWorkerPoolOwnerRequest, createWorkerPoolPlan, listWorkerPoolPlans, workerPoolBodyFreeViolations } from "../domains/governance/worker-pool.js";
|
|
4
|
+
import { WorkerPoolOwnerDecisionParams, WorkerPoolOwnerRequestParams, WorkerPoolPlanParams, WorkerPoolStatusParams } from "./schemas.js";
|
|
5
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
6
6
|
|
|
7
7
|
export function registerWorkerPoolTools(pi: ExtensionAPI): void {
|
|
8
8
|
pi.registerTool({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
|
|
3
|
-
import { createWorkspaceClaim, listWorkspaceClaims, releaseWorkspaceClaim, workspaceClaimBodyFreeViolations } from "../workspace-claims.js";
|
|
4
|
-
import { WorkspaceClaimParams, WorkspaceClaimsListParams, WorkspaceReleaseParams } from "
|
|
5
|
-
import { loadTeamDefinition, validateTeamDefinition } from "../topology/teams.js";
|
|
3
|
+
import { createWorkspaceClaim, listWorkspaceClaims, releaseWorkspaceClaim, workspaceClaimBodyFreeViolations } from "../domains/governance/workspace-claims.js";
|
|
4
|
+
import { WorkspaceClaimParams, WorkspaceClaimsListParams, WorkspaceReleaseParams } from "./schemas.js";
|
|
5
|
+
import { loadTeamDefinition, validateTeamDefinition } from "../domains/topology/teams.js";
|
|
6
6
|
|
|
7
7
|
export function registerWorkspaceClaimTools(pi: ExtensionAPI): void {
|
|
8
8
|
pi.registerTool({
|