@quantiya/codevibe-claude-plugin 2.0.38 → 2.0.40
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/.claude-plugin/plugin.json +1 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/scrubber.d.ts +8 -0
- package/node_modules/@quantiya/codevibe-core/dist/index.js +441 -432
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +12 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +763 -155
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts +111 -2
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-items.d.ts +21 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-store.d.ts +44 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +60 -7
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +41 -5
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/slash-router.d.ts +8 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/team-decompose.d.ts +17 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/user-rules.d.ts +83 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/fetch.d.ts +14 -0
- package/node_modules/@quantiya/codevibe-core/package.json +4 -3
- package/package.json +2 -2
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/cp-5-baseline-invariants.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/gate-ux-regressions.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/mobile-prompt-input.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/no-raw-control-bytes-in-source.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/prompt-parser.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/terminal-menu.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/capabilities.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/contract-conformance.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/packets.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/progress.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/registry.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/claude.smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/codex.smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/gemini.smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-apply-user-decision.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-classb.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-context-items.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-event-source-filter.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-flag-locator.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-planner.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-task-group.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/cleanup-subscription.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/coerce-awsjson-and-review-summary.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/cp1f-quorum-sdk.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/dispose-watcher-socket.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/event-throttle.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/group-operation-result.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/heartbeat-active.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/orphan-sweep-null-heartbeat.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/refresh-open-prompt-ttl-chunk.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/supervision-subscription.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/audit-keys/__tests__/audit-keys-parity.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/auth-telemetry.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/keychain-cli-nudge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/keychain-cli.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/vendor-key-cli.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/mode-selected-emit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/persist-preference.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/private-launcher-detection.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/private-launcher-path.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/resolve-agent.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/dirty-state-collector.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/packet-reader.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/packet-writer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/parity.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/status-cli.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker-c4.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker-streaming.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/canonical.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/chatgpt-config.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/oauth-account-lock.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/oauth-refresh.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/scrubber.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/upstream-client.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/upstream-result-helpers.d.ts +0 -21
- package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/vendor-key-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/crypto-service.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/encrypt-for-emit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/open-prompt-id.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/daemon/__tests__/process-guards.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-publication.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-raise.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-backend.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-manager.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-migrate.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/migrate-nudge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-disposable-repo.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-resolve.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-resolver-flag.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/anchored-fs.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/authority-symlink-fixture.d.ts +0 -15
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/authority.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-directory.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-output.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-a-emit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-a-sign.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-b-consumer.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-b-consumer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class1-reconcilers.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class2-resolver.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/confined-model-caller.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-classifier.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-resolution-durable-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-resolution-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/cp1f-quorum-consumer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/cp7-audit-writer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-directory.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/git-lock-retry.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hook-bridge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hosted-class-a-sink.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/implementor-argv.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor-teams-summary.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor-teams.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-extract.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-git.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-resolve-agentic.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-resolve.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-journal-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-agentic-recovery.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-w3.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-waveb.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-identity.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-tree.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/promote-wal-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/protocol-backlog-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/protocol-backlog.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/publication-authority-capability.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/revert-reconcile.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/revert-runner.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/reviewer-rationale-flag.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/shared-contract-detector.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/snapshot-merge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/spawn.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/substrate-engage.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/team-execution-flag.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/track-registry.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/verification-runner.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/wb2-review-bundle.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/wb2-substrate-spawn.live.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority-fixture.d.ts +0 -3
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-cleanup-audit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-materializer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-shadow.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/worktree-merge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/installer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/manager.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/ollama-context-window.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/ollama.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/runtime.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/state.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration/__tests__/detect-agents.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration/__tests__/v1-options.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a1a-planner-offers.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a6-cli-surface.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachment-journal.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachments-dir-race.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-multi-mention-panel.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-panel-attachments.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-quota-stdout-result.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/agent-turn-context-batch.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/attachments.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-browser.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-buffer-join.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-normalization.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-summary.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audited-path-fixes.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/bounded-shutdown.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/bracketed-paste.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/browse-prompt-urls.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-authority-bridge.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-group-halt-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-orchestration-session-bootstrap.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-planner-stack.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-probe-group-status.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-quorum-loop-tier.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-singleton-enforcement.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-team-session-key.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-verdict-classifier-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/command-intent.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/companion-turn-mirror.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/components.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-compaction.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-hosted-sync.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-accept-echo-target.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-loop.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-prompts.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp12-w2b-team-loop.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp12-w4-team-recovery.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp1f-quorum-loop.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp606-team-track-user-resolved.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp7-reviewer-substrate.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-full-team-events.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-team-decomposed-zk.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-live-handoff.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-recovery.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-session-serialization.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-effect.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-map-lifecycle.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/declared-test-runner.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/destructive-request.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/emit-shell-event.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/explicit-tty-exit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/familiarize-routing.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/flag-command.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-decision-submit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-details-panel.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-prompts.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-resolution-event.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-verdict-details-dispatch.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/group-decision-submit.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/halt-message-wire-content.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/hostile-grep.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/image-attach-e2e.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/input-bar-autocomplete.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/live-region-cap.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/live-static-order.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mention-suggest.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mobile-user-prompt-return.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mode-selection.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/model-cli.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/non-gate-prompt-routing.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/o5-diagnostics.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/orchestration-app-group-decision-transport.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/orchestration-app-layout.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-confirmation-routing.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-offer-e1.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/process-markers.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/query_audit_tier_gate.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-fail-safe.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-outcome-recency.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-summary.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reducer.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reissue-team-retained-spec.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/review-summary-render.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reviewer-wizard.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reviewers-format.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/root-discovery.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/route-browse-multi-result.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/route-browse-summarize-recovery.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-browse-cancel.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-classify-dispatch.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-planner-wiring.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-session-retire.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-signal.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/serialize-submissions.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/slash-router.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/slash-suggest.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/status-format.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/sticky-preference.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/supervision-catch-up.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/task-progress.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose-routing.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose-types.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-e2e-smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/tier2-reviewer-selection.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/web-browsing.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-outcome.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-shutdown.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-terminal-coordinator.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/ordinal-presentation.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/cache-clarification-bypass.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/cache.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/client.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/health-machine-transitions.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma-browse-regression.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma-followup-hotfix.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/types-zod.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/url-protect.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/antigravity-provider.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/claude-provider-json.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/cp7-reviewer-sandbox.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/mocks.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/output-parser-classifier-helpers.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/output-parser.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/registry.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/round-scope.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/subprocess.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/verdict-classifier.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/claude-live-smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/claude.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/codex-live-smoke.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/codex.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/failure-classifier.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/device-registration-lease.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/pending-session-create.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/prepare-event-timestamp.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-rekey-fingerprint.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-key-reconciliation.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-pending-first.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-service-keys.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/__fixtures__/fixture-helpers.d.ts +0 -11
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/assembler.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/generator.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/language-detect.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/cargo.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/gomod.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/gradle.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/index.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/npm.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/podfile.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/pyproject.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/opt-in-store.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/privacy-filter.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/safe-file-read.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/user-ignore-matcher.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/walker.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/command-runner.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/docker.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/forwarder.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/sandbox-exec.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/substrate-e2e.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/apikey-bootstrap.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/creditless-loop.integration.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/engage-substrate.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/fallback-ladder.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/le-env-scrub.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/reviewer-credential-preflight.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/sanitized-env.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/test-publication-authority-setup.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/consolidator.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/digest.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/flock-rollout-lock.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/ledger.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/outbox.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/replay-cursor.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/session-map.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/socket-rollout-lock.test.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/track-presentation.test.d.ts +0 -1
package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts
CHANGED
|
@@ -45,6 +45,25 @@ export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_CLASSIFY = 6000;
|
|
|
45
45
|
* between multi-agent deliberation turns while preserving the overall budget.
|
|
46
46
|
*/
|
|
47
47
|
export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_BRAINSTORM = 4800;
|
|
48
|
+
/**
|
|
49
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1 "Budget") — the user-context list's
|
|
50
|
+
* budgets. Pins are placed first, newest first; messages then fill their own
|
|
51
|
+
* budget, newest first, each message's text capped with an ends-preserving
|
|
52
|
+
* cut. Implementors and the decomposer get the larger budgets (their list rides
|
|
53
|
+
* the stdin, outside the 4,800-char dispatch block); the planner's
|
|
54
|
+
* classification render and the brainstorm panel get the smaller ones inside
|
|
55
|
+
* their section, plus a message floor reserved before the hot tail.
|
|
56
|
+
*/
|
|
57
|
+
export declare const USER_CONTEXT_PIN_MAX_CHARS_IMPLEMENTOR = 2400;
|
|
58
|
+
export declare const USER_CONTEXT_MESSAGE_MAX_CHARS_IMPLEMENTOR = 2000;
|
|
59
|
+
export declare const USER_CONTEXT_PIN_MAX_CHARS_PLANNER = 1600;
|
|
60
|
+
export declare const USER_CONTEXT_MESSAGE_MAX_CHARS_PLANNER = 1500;
|
|
61
|
+
export declare const USER_CONTEXT_MESSAGE_FLOOR_CHARS = 600;
|
|
62
|
+
export declare const USER_CONTEXT_MESSAGE_LINE_MAX_CHARS = 300;
|
|
63
|
+
/** §3.2 — the implementor (and decomposer) header: the wording tested in E12. */
|
|
64
|
+
export declare const USER_CONTEXT_HEADER_IMPLEMENTOR = "The user's own words from earlier in this session, oldest first: rules the shell pinned and the user's recent messages. Follow every standing rule, convention or preference they state; where two conflict, the later one wins. They take precedence over the repository context and any codebase overview below. Other requests in these messages are context only; the TASK above is what to do now.";
|
|
65
|
+
/** §3.2 — the planner and panel header; the lines below it stay self-describing if trimming cuts it (E6). */
|
|
66
|
+
export declare const USER_CONTEXT_HEADER_PLANNER = "The user's own words from earlier in this session, oldest first, including the latest ones shown above; where two entries conflict, the later one wins:";
|
|
48
67
|
/**
|
|
49
68
|
* A1f Stage-1 R1 HIGH + Stage-2 R1 (H1/M2/M3/M5) — one distilled FACT:
|
|
50
69
|
* - `body` — the source item's COMPLETE typed payload, verbatim (M3:
|
|
@@ -243,7 +262,15 @@ export declare function maybeFireCompactionSafetyValve(sessionId: string): Promi
|
|
|
243
262
|
* `null` = the chain failed verification — fail-closed, rehydrate NOTHING
|
|
244
263
|
* (the A1e projection contract).
|
|
245
264
|
*/
|
|
246
|
-
export declare function rehydrateSessionContext(deps:
|
|
265
|
+
export declare function rehydrateSessionContext(deps: RehydrateSessionContextDeps,
|
|
266
|
+
/**
|
|
267
|
+
* M7 — receives the verified items this rehydration read, so the user list
|
|
268
|
+
* (rendered from the log, not the cache — §3.2) needs no second read.
|
|
269
|
+
*/
|
|
270
|
+
observe?: {
|
|
271
|
+
verifiedItems?: (items: readonly ContextItem[]) => void;
|
|
272
|
+
}): Promise<RehydratedSessionContext | null>;
|
|
273
|
+
export interface RehydrateSessionContextDeps {
|
|
247
274
|
sessionId: string;
|
|
248
275
|
role: ContextItemProjectionRole;
|
|
249
276
|
clearance: ContextItemSensitivity;
|
|
@@ -253,7 +280,7 @@ export declare function rehydrateSessionContext(deps: {
|
|
|
253
280
|
* dispatch. ABSENT (e.g. the decomposer, pre-task) → session-scoped only.
|
|
254
281
|
*/
|
|
255
282
|
scope?: DispatchScope;
|
|
256
|
-
}
|
|
283
|
+
}
|
|
257
284
|
/**
|
|
258
285
|
* Render the rehydrated session context as ONE bounded prompt section (fed
|
|
259
286
|
* to `composeDispatchContextBlock`'s `renderSessionContextFn` seam —
|
|
@@ -271,6 +298,88 @@ export declare function renderRehydratedSessionContext(deps: {
|
|
|
271
298
|
/** Classifier control state comes from the current request, not prior decisions. */
|
|
272
299
|
purpose?: 'classification';
|
|
273
300
|
}): Promise<string>;
|
|
301
|
+
/** One live pinned rule the list may show. */
|
|
302
|
+
export interface UserContextPin {
|
|
303
|
+
seq: string;
|
|
304
|
+
id: string;
|
|
305
|
+
/** `- [pinned rule] …` — redacted, on one line. */
|
|
306
|
+
line: string;
|
|
307
|
+
}
|
|
308
|
+
/** One earlier message the list may show. */
|
|
309
|
+
export interface UserContextMessage {
|
|
310
|
+
seq: string;
|
|
311
|
+
id: string;
|
|
312
|
+
/** `- [earlier message] …` — redacted, on one line, text capped. */
|
|
313
|
+
line: string;
|
|
314
|
+
}
|
|
315
|
+
export interface UserContextCandidates {
|
|
316
|
+
/** Live pins, oldest first. */
|
|
317
|
+
pins: UserContextPin[];
|
|
318
|
+
/** Messages eligible for the list (after the request-part exclusion and the merge rule), oldest first. */
|
|
319
|
+
messages: UserContextMessage[];
|
|
320
|
+
}
|
|
321
|
+
/** A live pin for `/rules` and the revocation guard (label-permitted for the planner). */
|
|
322
|
+
export interface LiveUserRule {
|
|
323
|
+
id: string;
|
|
324
|
+
seq: string;
|
|
325
|
+
text: string;
|
|
326
|
+
source: 'turn' | 'explicit';
|
|
327
|
+
}
|
|
328
|
+
/** True for a pinned-rule or a pin-retirement `decision` body. */
|
|
329
|
+
export declare function isUserRuleBody(body: unknown): boolean;
|
|
330
|
+
/** §3.1 DL-2 — every live pin, oldest first (the `/rules` numbering). */
|
|
331
|
+
export declare function liveUserRules(items: readonly ContextItem[]): LiveUserRule[];
|
|
332
|
+
/** The session's live pins from the VERIFIED log; `null` when the chain does not verify. */
|
|
333
|
+
export declare function readLiveUserRules(sessionId: string): Promise<LiveUserRule[] | null>;
|
|
334
|
+
/**
|
|
335
|
+
* §3.1 — select what the list may show for a role: the label floor
|
|
336
|
+
* (`projectItemsForRole`), live pins, and the user's own messages (human
|
|
337
|
+
* `turn` items only — never agent, conductor or panel turns). With
|
|
338
|
+
* `requestText` (implementors and the decomposer), a message the brief's
|
|
339
|
+
* request part already carries is left out. Merge rule (R2-F1): a listed
|
|
340
|
+
* message whose WHOLE text is its pin appears once, as the pin; otherwise the
|
|
341
|
+
* message and its pin both appear, ordered by `seq`. A retired pin (`/rules
|
|
342
|
+
* forget`) takes its words out of its message: a whole-text message leaves the
|
|
343
|
+
* list, and a longer message stays without the pinned sentence(s) — or leaves
|
|
344
|
+
* too when they cannot be cut out (implementation gate R1-F2) — so the rule's
|
|
345
|
+
* words stop reaching agents. Pure; exported for tests.
|
|
346
|
+
*/
|
|
347
|
+
export declare function selectUserContextCandidates(items: readonly ContextItem[], opts: {
|
|
348
|
+
role: ContextItemProjectionRole;
|
|
349
|
+
clearance: ContextItemSensitivity;
|
|
350
|
+
requestText?: string;
|
|
351
|
+
}): UserContextCandidates;
|
|
352
|
+
/**
|
|
353
|
+
* §3.1 presentation — the newest `keptPinCount` pins and `keptMessageCount`
|
|
354
|
+
* messages merged by `seq`, oldest first. Older pins that did not fit collapse
|
|
355
|
+
* into one `[N older pinned rules omitted — /rules lists them all]` line at the
|
|
356
|
+
* top; messages that did not fit become `[N earlier messages omitted]` exactly
|
|
357
|
+
* where they were, between the shown entries. Pure; exported for tests.
|
|
358
|
+
*/
|
|
359
|
+
export declare function presentUserContext(candidates: UserContextCandidates, keptPinCount: number, keptMessageCount: number): string[];
|
|
360
|
+
/**
|
|
361
|
+
* §3.2 — the implementor (and decomposer) list from verified items: pins
|
|
362
|
+
* within 2,400 chars, then messages within 2,000, newest first, presented
|
|
363
|
+
* oldest first under the binding header. Returns '' when there is nothing to
|
|
364
|
+
* show. Pure; exported for tests.
|
|
365
|
+
*/
|
|
366
|
+
export declare function renderUserContextFromItems(items: readonly ContextItem[], opts: {
|
|
367
|
+
role: ContextItemProjectionRole;
|
|
368
|
+
clearance: ContextItemSensitivity;
|
|
369
|
+
requestText?: string;
|
|
370
|
+
}): string;
|
|
371
|
+
/**
|
|
372
|
+
* §3.2/§3.3 — the implementor's and the decomposer's user-context section,
|
|
373
|
+
* read from the VERIFIED log. `requestText` is the round's (or the
|
|
374
|
+
* decomposer's) brief. Fail-closed to '' (one warning per session) — the
|
|
375
|
+
* dispatch proceeds without it. Never throws.
|
|
376
|
+
*/
|
|
377
|
+
export declare function renderUserContextSection(deps: {
|
|
378
|
+
sessionId: string;
|
|
379
|
+
role: ContextItemProjectionRole;
|
|
380
|
+
clearance: ContextItemSensitivity;
|
|
381
|
+
requestText?: string;
|
|
382
|
+
}): Promise<string>;
|
|
274
383
|
/**
|
|
275
384
|
* §6 Eviction/GC — TTL-only retention sweep of the per-session log dirs
|
|
276
385
|
* under `~/.codevibe/context-items/`: a session dir whose NEWEST file mtime
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { loadContextStore, resolveContextRef, probeWorkspaceGitHead } from './context-store';
|
|
1
|
+
import { loadContextStore, resolveContextRef, probeWorkspaceGitHead, probeWorkspaceTreeFingerprint } from './context-store';
|
|
2
2
|
import type { StructuralSummaryGenerator, RepoSummary } from '../structural-summary/types';
|
|
3
3
|
import type { Tier } from './types';
|
|
4
4
|
/** AppSync's pinned blind-hold ciphertext ceiling (ASCII base64 characters). */
|
|
@@ -285,6 +285,12 @@ export interface RepoStateBody {
|
|
|
285
285
|
summary: string;
|
|
286
286
|
/** The workspace git HEAD recorded AT READ TIME (§8.3 freshness). */
|
|
287
287
|
gitHead?: string;
|
|
288
|
+
/**
|
|
289
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5) — the working-tree fingerprint
|
|
290
|
+
* recorded AT READ START (`probeWorkspaceTreeFingerprint`). A record without
|
|
291
|
+
* one (written before M7) never projects fresh at an unchanged HEAD.
|
|
292
|
+
*/
|
|
293
|
+
worktreeFingerprint?: string;
|
|
288
294
|
producedAt: string;
|
|
289
295
|
}
|
|
290
296
|
export type RepoStateProjection = {
|
|
@@ -337,6 +343,16 @@ export declare const NON_GIT_REPO_STATE_MAX_AGE_MS: number;
|
|
|
337
343
|
* error, git missing, unborn HEAD) proves nothing and borrows NOTHING:
|
|
338
344
|
* never fresh (no F5 allowance) and NO re-delegation (a re-read under a
|
|
339
345
|
* failing probe records no head → a permanent loop) — stale, no-fire.
|
|
346
|
+
* - M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5, DL-4) — an UNCHANGED HEAD is
|
|
347
|
+
* necessary but no longer sufficient: Accept applies a diff without
|
|
348
|
+
* committing, so the overview can contradict the tree while HEAD stays
|
|
349
|
+
* put. The record's `worktreeFingerprint` must equal a fresh
|
|
350
|
+
* `probeWorkspaceTreeFingerprint`. A differing fingerprint (applied,
|
|
351
|
+
* uncommitted edits), a record without one (written before M7) or a
|
|
352
|
+
* failed / timed-out probe is STALE with NO re-delegation — a re-read per
|
|
353
|
+
* Accept would be a frontier read of the whole codebase; the overview
|
|
354
|
+
* returns at the next commit (HEAD moves → re-read) or familiarize. Each
|
|
355
|
+
* probe's duration is logged (the per-dispatch cost on a dirty tree).
|
|
340
356
|
*/
|
|
341
357
|
export declare function projectRepoStateForDispatch(deps: {
|
|
342
358
|
sessionId: string;
|
|
@@ -346,6 +362,8 @@ export declare function projectRepoStateForDispatch(deps: {
|
|
|
346
362
|
onStaleRedelegate?: () => void;
|
|
347
363
|
/** Test seam — defaults to the real git probe. */
|
|
348
364
|
probeGitHeadFn?: typeof probeWorkspaceGitHead;
|
|
365
|
+
/** Test seam — defaults to the real working-tree fingerprint probe (M7). */
|
|
366
|
+
probeTreeFingerprintFn?: typeof probeWorkspaceTreeFingerprint;
|
|
349
367
|
}): Promise<RepoStateProjection>;
|
|
350
368
|
/**
|
|
351
369
|
* The deterministic-emitter write path for a freshly-delegated codebase
|
|
@@ -359,6 +377,8 @@ export declare function appendRepoStateItem(deps: {
|
|
|
359
377
|
/** The LE AgentKind that authored the read (e.g. 'CLAUDE'). */
|
|
360
378
|
agentId: string;
|
|
361
379
|
gitHead?: string;
|
|
380
|
+
/** M7 §3.5 — the working-tree fingerprint at read start. */
|
|
381
|
+
worktreeFingerprint?: string;
|
|
362
382
|
producedAt?: string;
|
|
363
383
|
}): Promise<ContextItem | null>;
|
|
364
384
|
/**
|
|
@@ -87,6 +87,11 @@ export interface RepoStateRecord {
|
|
|
87
87
|
producedAt: string;
|
|
88
88
|
/** The git HEAD the overview was produced at, when captured cheaply. */
|
|
89
89
|
gitHead?: string;
|
|
90
|
+
/**
|
|
91
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5) — the working-tree fingerprint at
|
|
92
|
+
* read start (`probeWorkspaceTreeFingerprint`). Absent on older records.
|
|
93
|
+
*/
|
|
94
|
+
worktreeFingerprint?: string;
|
|
90
95
|
}
|
|
91
96
|
/**
|
|
92
97
|
* §5.4 — `slice_selector` is FORMALLY TYPED so the writer and the
|
|
@@ -359,6 +364,45 @@ export type WorkspaceGitHeadProbe = {
|
|
|
359
364
|
* the sound handling, pinned by test.
|
|
360
365
|
*/
|
|
361
366
|
export declare function probeWorkspaceGitHead(workspaceRoot: string): Promise<WorkspaceGitHeadProbe>;
|
|
367
|
+
/**
|
|
368
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5, DL-4) — the dirty-tree fingerprint
|
|
369
|
+
* probe outcome. `durationMs` feeds the per-dispatch log line.
|
|
370
|
+
*/
|
|
371
|
+
export type WorkspaceTreeFingerprintProbe = {
|
|
372
|
+
kind: 'fingerprint';
|
|
373
|
+
value: string;
|
|
374
|
+
entries: number;
|
|
375
|
+
durationMs: number;
|
|
376
|
+
} | {
|
|
377
|
+
kind: 'probe-failed';
|
|
378
|
+
durationMs: number;
|
|
379
|
+
};
|
|
380
|
+
/** §3.5 — the whole probe's budget; running past it is a failed probe (R1-F9). */
|
|
381
|
+
export declare const WORKSPACE_TREE_FINGERPRINT_TIMEOUT_MS = 3000;
|
|
382
|
+
/**
|
|
383
|
+
* M7 §3.5 — a lock-free fingerprint of the working tree's applied-but-
|
|
384
|
+
* uncommitted state: SHA-256 over every entry of
|
|
385
|
+
* `git --no-optional-locks status --porcelain=v1 -z --untracked-files=all`
|
|
386
|
+
* (run with `LC_ALL=C`, from the repository root) with the `lstat` size and
|
|
387
|
+
* mtime of each listed path.
|
|
388
|
+
* - `--no-optional-locks` never takes or rewrites `.git/index` (a plain
|
|
389
|
+
* `git status` refreshes it — design E7);
|
|
390
|
+
* - `--untracked-files=all` lists every untracked file on its own, so an edit
|
|
391
|
+
* inside an untracked directory moves the value (`=normal` collapses the
|
|
392
|
+
* directory to one entry — E7);
|
|
393
|
+
* - the stat half catches a second edit to an already-modified file, whose
|
|
394
|
+
* porcelain line does not change;
|
|
395
|
+
* - a rename/copy entry's source-path field is skipped, and a listed path that
|
|
396
|
+
* no longer exists hashes as `absent` (R1-F15).
|
|
397
|
+
* A clean tree hashes the empty string. A timeout, a git failure or a
|
|
398
|
+
* non-repository is `probe-failed`, which the freshness projection treats as
|
|
399
|
+
* stale without a re-read. Known limit: a further edit inside an already-dirty
|
|
400
|
+
* submodule does not move the value (git reports one entry for it). Never
|
|
401
|
+
* throws.
|
|
402
|
+
*/
|
|
403
|
+
export declare function probeWorkspaceTreeFingerprint(workspaceRoot: string, options?: {
|
|
404
|
+
timeoutMs?: number;
|
|
405
|
+
}): Promise<WorkspaceTreeFingerprintProbe>;
|
|
362
406
|
/**
|
|
363
407
|
* Hash the generation inputs (§4.2 conjunct (d)). A `StructuralSummary` is a
|
|
364
408
|
* pure function of `tree content × generation inputs`; this hashes the
|
|
@@ -207,6 +207,16 @@ export interface RunOrchestrationShellArgs {
|
|
|
207
207
|
agent: string;
|
|
208
208
|
roundNumber: number;
|
|
209
209
|
}) => Promise<string>;
|
|
210
|
+
/**
|
|
211
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.3) — the user's own words for every
|
|
212
|
+
* implementor round; `runOrchestrationShell` installs `renderUserContextSection`.
|
|
213
|
+
*/
|
|
214
|
+
userContextFn?: (input: {
|
|
215
|
+
taskId: string;
|
|
216
|
+
agent: string;
|
|
217
|
+
roundNumber: number;
|
|
218
|
+
brief: string;
|
|
219
|
+
}) => Promise<string>;
|
|
210
220
|
};
|
|
211
221
|
/**
|
|
212
222
|
* PHASE-589/469 W3.2 — the two-phase group-escalation decision deps, built in
|
|
@@ -676,8 +686,25 @@ export declare function routeTeamDecompose(deps: {
|
|
|
676
686
|
/** Stage-2 R3 HIGH — the loop's durable store, so the live launch persists the retained spec + attachments. */
|
|
677
687
|
durableStore?: RevertManifestStore;
|
|
678
688
|
}): Promise<void>;
|
|
679
|
-
/** Test seam — reset the module-level A1e
|
|
689
|
+
/** Test seam — reset the module-level A1e and M7 composers (vitest-gated). */
|
|
680
690
|
export declare function resetDispatchContextComposerForTests(): void;
|
|
691
|
+
/** Test seam — install the M7 decomposer user-context composer (vitest-gated). */
|
|
692
|
+
export declare function setUserContextComposerForTests(composer: ((brief: string) => Promise<string>) | null): void;
|
|
693
|
+
/**
|
|
694
|
+
* A1e §8.3 (design "Freshness" bullet) — the QUIET background re-delegation
|
|
695
|
+
* of the codebase read, fired when a `repo_state` projection finds the
|
|
696
|
+
* workspace git-HEAD diverged from the record. Mirrors `routeFamiliarize`'s
|
|
697
|
+
* frontier-delegation half but renders NOTHING (no advisory, no spinner) —
|
|
698
|
+
* it only refreshes the persisted `repo_state` (legacy record + typed
|
|
699
|
+
* ContextItem, both stamped with the HEAD probed AT READ TIME) so the NEXT
|
|
700
|
+
* projection is fresh. Best-effort: every failure is logged and dropped —
|
|
701
|
+
* a background refresh must never affect the dispatch that triggered it.
|
|
702
|
+
* Exported for tests.
|
|
703
|
+
*/
|
|
704
|
+
export declare function redelegateRepoStateReadQuietly(deps: {
|
|
705
|
+
args: RunOrchestrationShellArgs;
|
|
706
|
+
workspaceRoot: string;
|
|
707
|
+
}): Promise<void>;
|
|
681
708
|
/**
|
|
682
709
|
* CP-4 §4.1 (#600) — `familiarize` desktop route: the context-priming task.
|
|
683
710
|
*
|
|
@@ -1092,6 +1119,28 @@ export declare function resetTurnAuthoringStateForTests(): void;
|
|
|
1092
1119
|
* on any exit path. Non-throwing (delete on a Map/Set never throws).
|
|
1093
1120
|
*/
|
|
1094
1121
|
export declare function clearTurnAuthoringSessionState(sessionId: string): void;
|
|
1122
|
+
/**
|
|
1123
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1, DL-2) — `/rule <text>`: pin the text
|
|
1124
|
+
* verbatim (capped) as a durable `user_rule` decision with source `explicit`,
|
|
1125
|
+
* and return the acknowledgement once the append is durable. The fail-soft
|
|
1126
|
+
* floor (no at-rest key) pins nothing and says so. Exported for tests.
|
|
1127
|
+
*/
|
|
1128
|
+
export declare function pinExplicitUserRule(sessionId: string, commandText: string): Promise<string>;
|
|
1129
|
+
/**
|
|
1130
|
+
* M7 DL-2 — `/rules` lists every live pin, numbered oldest first; `/rules
|
|
1131
|
+
* forget <n>` retires pin n with an append-only `user_rule_retired` decision
|
|
1132
|
+
* whose `refs` names it and whose body carries its `seq` — identical texts share
|
|
1133
|
+
* a content address, so the `seq` names this occurrence (implementation gate
|
|
1134
|
+
* Stage 1 R1-F1). The renderer drops that pin and takes its words out of the
|
|
1135
|
+
* message it came from (R1-F2). Reads the VERIFIED log; an unverifiable chain
|
|
1136
|
+
* lists nothing. Exported for tests.
|
|
1137
|
+
*/
|
|
1138
|
+
export declare function runUserRulesCommand(sessionId: string, commandText: string): Promise<string>;
|
|
1139
|
+
/** What `authorTurnContextItems` authored that the turn mirror still needs. */
|
|
1140
|
+
export interface TurnContextAuthoringResult {
|
|
1141
|
+
/** M7 — the pin acknowledgements shown this turn (dispatched and added to the delta). */
|
|
1142
|
+
pinAcknowledgements: string[];
|
|
1143
|
+
}
|
|
1095
1144
|
/**
|
|
1096
1145
|
* A1f (design §6 + the A1e-deferred full-vocabulary authoring) — author this
|
|
1097
1146
|
* turn's typed ContextItems at the ONE per-turn chokepoint: the turn mirror
|
|
@@ -1100,12 +1149,16 @@ export declare function clearTurnAuthoringSessionState(sessionId: string): void;
|
|
|
1100
1149
|
* turn's conversation delta.
|
|
1101
1150
|
*
|
|
1102
1151
|
* Deterministic emitter-assigned labels (§4.2 — never the conductor):
|
|
1103
|
-
* - human `turn` (DURABLE per Finding-2) —
|
|
1104
|
-
*
|
|
1105
|
-
*
|
|
1106
|
-
*
|
|
1107
|
-
*
|
|
1152
|
+
* - human `turn` (DURABLE per Finding-2) — labeled planner/brainstorm AND
|
|
1153
|
+
* implementor (M7, SHARED-CONTEXT-M7-ADDENDUM.md §3.1 "Labels", DL-1
|
|
1154
|
+
* design-locked 2026-09-14, replacing Stage-2 R1 H1's planner/brainstorm-
|
|
1155
|
+
* only label): implementors receive the user's own earlier messages,
|
|
1156
|
+
* bounded and redacted, through `renderUserContextSection`; reviewer and
|
|
1157
|
+
* resolver stay out (DL-3). Nothing already written is relabelled.
|
|
1108
1158
|
* An answering turn carries `refs` to the question item it answers (M5).
|
|
1159
|
+
* - `decision` `{action:'user_rule'}` when the turn states a standing rule
|
|
1160
|
+
* (the M7 pin grammar) — authored after the durable human turn, `refs`
|
|
1161
|
+
* naming it, and acknowledged once durable (step 1b).
|
|
1109
1162
|
* - `decision` per planner-decision entry (author `conductor`; durable) —
|
|
1110
1163
|
* broadly visible (task-shaping, §6 distillation payload), task-scoped
|
|
1111
1164
|
* when the decision carries a taskId (H1 scope).
|
|
@@ -1142,7 +1195,7 @@ export declare function authorTurnContextItems(deps: {
|
|
|
1142
1195
|
*/
|
|
1143
1196
|
panelOwnedThisTurn?: boolean;
|
|
1144
1197
|
turnOwnership?: BrainstormTurnOwnership;
|
|
1145
|
-
}): Promise<
|
|
1198
|
+
}): Promise<TurnContextAuthoringResult>;
|
|
1146
1199
|
export declare function emitOrchestrationTurnMirror(deps: {
|
|
1147
1200
|
store: OrchestrationStore;
|
|
1148
1201
|
sessionId: string;
|
|
@@ -100,7 +100,7 @@ export declare function policyRejectionAdvisoryText(info: {
|
|
|
100
100
|
/**
|
|
101
101
|
* Audited-path fix (Fix 5) — select the implementor `AgentKind` for a START.
|
|
102
102
|
*
|
|
103
|
-
* - An explicit `override` (from `/task --agent codex|
|
|
103
|
+
* - An explicit `override` (from `/task --agent claude|codex|antigravity`) wins, BUT only
|
|
104
104
|
* when that agent was actually detected on this host (else fail-closed to the
|
|
105
105
|
* default — we never spawn a binary the host doesn't have).
|
|
106
106
|
* - Otherwise: CLAUDE when it is among the detected agents (the documented
|
|
@@ -371,6 +371,26 @@ export interface QuorumLoopDeps {
|
|
|
371
371
|
agent: AgentKind;
|
|
372
372
|
roundNumber: number;
|
|
373
373
|
}) => Promise<string>;
|
|
374
|
+
/**
|
|
375
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.3, design-locked 2026-09-14) — the
|
|
376
|
+
* user's own words for THIS implementor round: one chronological list of the
|
|
377
|
+
* session's pinned rules and the user's earlier messages, minus any message
|
|
378
|
+
* the round's brief already carries in its request part. Called on EVERY
|
|
379
|
+
* round (round 0, a team track's round 0, revise, continuation) with that
|
|
380
|
+
* round's brief, so a rule stated while a task runs reaches its next revise
|
|
381
|
+
* round. STDIN-only, after the brief and before the prior rationale and the
|
|
382
|
+
* repository context — never `args.brief`/`task_brief`, so reviewers and the
|
|
383
|
+
* hosted engine never see it (DL-3). Wired by `cli.ts` through the
|
|
384
|
+
* dispatch-context tap; `runOrchestrationShell` installs
|
|
385
|
+
* `renderUserContextSection`. Returns `''` for "no section". ABSENT (legacy /
|
|
386
|
+
* companion / tests) → byte-identical stdin.
|
|
387
|
+
*/
|
|
388
|
+
projectUserContext?: (input: {
|
|
389
|
+
taskId: string;
|
|
390
|
+
agent: AgentKind;
|
|
391
|
+
roundNumber: number;
|
|
392
|
+
brief: string;
|
|
393
|
+
}) => Promise<string>;
|
|
374
394
|
/**
|
|
375
395
|
* CP-1.f LOCK RP-6 — this orchestration host's detected coding agents
|
|
376
396
|
* (UPPERCASE `CLAUDE` / `CODEX` / `GEMINI`), computed ONCE by `cli.ts` via
|
|
@@ -656,6 +676,20 @@ export declare class QuorumLoop {
|
|
|
656
676
|
/** Recovery-authored briefs keyed by task/group/index/generation authority. */
|
|
657
677
|
private readonly recoveredBriefsByAuthority;
|
|
658
678
|
private readonly activeBriefByTask;
|
|
679
|
+
/**
|
|
680
|
+
* P45 D1 (M7 E2E step 8, 2026-09-14) — the brief + agent of EVERY single-
|
|
681
|
+
* implementor task this loop started, keyed by task id. `activeTaskId` /
|
|
682
|
+
* `activeBrief` / `activeImplementorAgent` are the LATEST task only: when a
|
|
683
|
+
* second single task started while the first still ran (the planner routed a
|
|
684
|
+
* mid-task turn as a task), the first task's revise round was composed from
|
|
685
|
+
* the second task's request (`buildReviseBrief` fell back to `activeBrief`)
|
|
686
|
+
* and its round-0 dispatch — whose envelope names the FIRST task — would have
|
|
687
|
+
* been mis-read as a team dispatch. Round-0 spawns, revise rounds and the
|
|
688
|
+
* continuation context resolve through this map first; the singletons stay
|
|
689
|
+
* as the legacy fallback (an empty envelope task id, the test seam). Entries
|
|
690
|
+
* are removed with the task's other per-task state at its terminal cleanup.
|
|
691
|
+
*/
|
|
692
|
+
private readonly singleTaskContextByTask;
|
|
659
693
|
/**
|
|
660
694
|
* CP-1.f revise-context fix (dogfood task 2ac68708, 2026-06-11) — the BINDING
|
|
661
695
|
* user-requested changes for a task, accumulated across ALL revise rounds.
|
|
@@ -1088,7 +1122,7 @@ export declare class QuorumLoop {
|
|
|
1088
1122
|
* on `startTask` rejection the active context is rolled back + the buffer
|
|
1089
1123
|
* discarded (a buffered packet whose START failed never spawns).
|
|
1090
1124
|
*/
|
|
1091
|
-
private
|
|
1125
|
+
private readonly startTasksInFlight;
|
|
1092
1126
|
/**
|
|
1093
1127
|
* Stage-2 r2 (Codex) FIX A — GATE_DISPATCH payloads that arrived while
|
|
1094
1128
|
* `startTask` was in flight (single-impl early-packet race), OR (CP-12 W2.b,
|
|
@@ -1317,7 +1351,7 @@ export declare class QuorumLoop {
|
|
|
1317
1351
|
* so the live WS can deliver that round-0 GATE_DISPATCH to the desktop BEFORE
|
|
1318
1352
|
* the SDK `await` below resolves. To avoid spawning before the START is
|
|
1319
1353
|
* confirmed (and to avoid the Stage-1 FIX-3 "drop forever" no-op that hangs the
|
|
1320
|
-
* loop), we ARM the active context + set `
|
|
1354
|
+
* loop), we ARM the active context + set `startTasksInFlight` BEFORE the await;
|
|
1321
1355
|
* an early GATE_DISPATCH is then BUFFERED (not spawned) and DRAINED here once
|
|
1322
1356
|
* the START resolves successfully. On rejection the armed context is rolled
|
|
1323
1357
|
* back + the buffer discarded (a buffered packet whose START failed never
|
|
@@ -2500,8 +2534,10 @@ export declare class QuorumLoop {
|
|
|
2500
2534
|
recordUserNote(taskId: string, note: string): void;
|
|
2501
2535
|
/**
|
|
2502
2536
|
* CP-1.f revise-context fix (dogfood task 2ac68708, 2026-06-11) — build the
|
|
2503
|
-
* CUMULATIVE round-N+1 revise brief from the original task brief
|
|
2504
|
-
*
|
|
2537
|
+
* CUMULATIVE round-N+1 revise brief from the original task brief (the task's
|
|
2538
|
+
* OWN request — `singleTaskContextByTask` for a single task, `activeBriefByTask`
|
|
2539
|
+
* for a team track; `activeBrief` only as the fallback), every BINDING user
|
|
2540
|
+
* note recorded for
|
|
2505
2541
|
* this task, and the current round's reviewer findings. The SAME brief is
|
|
2506
2542
|
* used as the implementor stdin AND the execute-first `task_brief` rendered
|
|
2507
2543
|
* into the reviewer prompts, so reviewers and the implementor share one
|
|
@@ -34,6 +34,14 @@ export interface SlashCommandInfo {
|
|
|
34
34
|
name: string;
|
|
35
35
|
blurb: string;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1, DL-2) — the PENDING markers the
|
|
39
|
+
* `/rule` family returns; `handleShellUserInput` authors / reads the session's
|
|
40
|
+
* pinned rules and rewrites the output (the router stays pure — no store, no log).
|
|
41
|
+
*/
|
|
42
|
+
export declare const USER_RULE_PIN_PENDING = "PENDING \u2014 entrypoint pins the rule";
|
|
43
|
+
export declare const USER_RULES_LIST_PENDING = "PENDING \u2014 entrypoint lists pinned rules";
|
|
44
|
+
export declare const USER_RULES_FORGET_PENDING = "PENDING \u2014 entrypoint retires a pinned rule";
|
|
37
45
|
/** True if `command` is a shell-exit command (`/quit` / `/exit`). */
|
|
38
46
|
export declare function isExitCommand(command: string): boolean;
|
|
39
47
|
/**
|
|
@@ -176,6 +176,23 @@ export declare function appendTestSurfaceGuidance(brief: string, testSurfaces: s
|
|
|
176
176
|
* `unknown_create_error`).
|
|
177
177
|
*/
|
|
178
178
|
export declare function parseDecomposerResult(text: string): DecomposerResult | null;
|
|
179
|
+
/**
|
|
180
|
+
* P45 D2 — why a decomposer reply did not parse, for the warn log that used to say
|
|
181
|
+
* only "unparseable" (the M7 E2E could never tell which stage rejected the reply).
|
|
182
|
+
* `preview` is the reply's head, whitespace-collapsed and secret-shape redacted
|
|
183
|
+
* (`redactSecretShapesInText`), bounded to 240 characters — never the whole text.
|
|
184
|
+
* `provider_error` names a Claude `is_error` envelope (unwrapped to '' by
|
|
185
|
+
* `unwrapClaudeJson`) so it never reads as an empty capture (Stage-1 r1 F6);
|
|
186
|
+
* `unwrapClaudeJson` gives a successful envelope with an EMPTY `.result` the same
|
|
187
|
+
* `provider_error` usage reason, so that case carries this label too (Stage-1 r2 N2).
|
|
188
|
+
*/
|
|
189
|
+
export declare function describeDecomposerReply(text: string, opts?: {
|
|
190
|
+
providerError?: boolean;
|
|
191
|
+
}): {
|
|
192
|
+
reason: 'provider_error' | 'empty' | 'no_json_object' | 'json_parse_error' | 'schema_mismatch';
|
|
193
|
+
length: number;
|
|
194
|
+
preview: string;
|
|
195
|
+
};
|
|
179
196
|
export interface RunLocalDecomposerDeps {
|
|
180
197
|
localExecutor: LocalExecutor;
|
|
181
198
|
/** Canonicalized real working dir (the repo) — the decomposer reads the tree. */
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** `decision` body action of a pinned rule (§3.1 "Item"). */
|
|
2
|
+
export declare const USER_RULE_ACTION = "user_rule";
|
|
3
|
+
/** `decision` body action retiring the pinned rule named in its `refs`. */
|
|
4
|
+
export declare const USER_RULE_RETIRED_ACTION = "user_rule_retired";
|
|
5
|
+
/**
|
|
6
|
+
* The roles a human turn and a pinned rule are labelled for (§3.1 "Labels"):
|
|
7
|
+
* the planner, the brainstorm panel and implementors. Reviewer and resolver
|
|
8
|
+
* are excluded everywhere (DL-3).
|
|
9
|
+
*/
|
|
10
|
+
export declare const USER_WORDS_VISIBLE_TO: readonly ["planner", "brainstorm", "implementor"];
|
|
11
|
+
/** A pinned rule's text is capped at this many chars (ends-preserving cut). */
|
|
12
|
+
export declare const USER_RULE_MAX_CHARS = 600;
|
|
13
|
+
/**
|
|
14
|
+
* The label that opens a brief's background-only handoff section
|
|
15
|
+
* (`composeImplementationBrief`, index.ts). Everything before it is the brief's
|
|
16
|
+
* REQUEST PART: the request, its clarifications and the task review contract.
|
|
17
|
+
*/
|
|
18
|
+
export declare const WORKFLOW_HANDOFF_SECTION_LABEL = "Workflow handoff context:";
|
|
19
|
+
export type PinRule = 'standing-scope' | 'rule-label' | 'revocation';
|
|
20
|
+
export interface PinCapture {
|
|
21
|
+
/** The matching sentence(s), verbatim and in source order, joined by one space. */
|
|
22
|
+
text: string;
|
|
23
|
+
rules: PinRule[];
|
|
24
|
+
}
|
|
25
|
+
export interface PinMatchContext {
|
|
26
|
+
/** True when the session already holds a live pin — only then can a revocation pin. */
|
|
27
|
+
hasPriorPins?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Split into sentences: newlines, then [.!?] followed by whitespace — not after a common abbreviation. */
|
|
30
|
+
export declare function splitSentences(text: string): string[];
|
|
31
|
+
/** Cap a rule's text for storage (the pin grammar's capture and `/rule` share it). */
|
|
32
|
+
export declare function capUserRuleText(text: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* The pin grammar (§3.1 "Pinning (a)"): the standing-rule capture for one human
|
|
35
|
+
* turn, or null. Per sentence, skipping questions and fenced code; the matching
|
|
36
|
+
* sentence plus the one before it when the match has fewer than six words.
|
|
37
|
+
* Slash commands are never captured. A revocation fires only when
|
|
38
|
+
* `ctx.hasPriorPins`.
|
|
39
|
+
*/
|
|
40
|
+
export declare function matchPinRule(turnText: string, ctx?: PinMatchContext): PinCapture | null;
|
|
41
|
+
/** Collapse every whitespace run to one space, trimmed. */
|
|
42
|
+
export declare function collapseWhitespace(text: string): string;
|
|
43
|
+
/** Remove a leading `@agent` mention, as the planner's prompt does. */
|
|
44
|
+
export declare function stripLeadingAgentMention(text: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* The brief's request part (§3.1 "Which messages"): the text before its
|
|
47
|
+
* `Workflow handoff context:` section — the request itself, its clarifications
|
|
48
|
+
* and the task review contract. A brief without that section is all request.
|
|
49
|
+
*/
|
|
50
|
+
export declare function requestPartOf(brief: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Does the brief's request part already carry this message? Exact containment
|
|
53
|
+
* after collapsing whitespace, with and without a leading `@agent` mention. A
|
|
54
|
+
* message the brief no longer carries verbatim (rewritten attachment tokens,
|
|
55
|
+
* renumbered image chips, a hard-cap cut) does not match and stays in the list
|
|
56
|
+
* as context (§3.6).
|
|
57
|
+
*/
|
|
58
|
+
export declare function briefRequestContainsMessage(requestPart: string, message: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* A retired pin's source message without the pinned sentence(s) (implementation
|
|
61
|
+
* gate Stage 1 R1-F2): `/rules forget` must stop the rule's words reaching
|
|
62
|
+
* agents even when the user stated it inside a longer message. The message is
|
|
63
|
+
* split into sentences after collapsing whitespace; each sentence of the pin
|
|
64
|
+
* text must equal one of them, and every equal sentence is removed. Returns null
|
|
65
|
+
* when a pin sentence is not a whole sentence of the message — a pin cut at 600
|
|
66
|
+
* chars, a sentence split around fenced code, or a rule captured from a line
|
|
67
|
+
* that broke mid-sentence, whose continuation would otherwise stay behind
|
|
68
|
+
* (Stage 1 r2 N8) — or when no letter or digit is left; the caller then leaves
|
|
69
|
+
* the whole message out.
|
|
70
|
+
*/
|
|
71
|
+
export declare function messageWithoutRule(message: string, ruleText: string): string | null;
|
|
72
|
+
/** The placeholder for an absolute local path (§3.1 "Text"). */
|
|
73
|
+
export declare const LOCAL_PATH_PLACEHOLDER = "[local path]";
|
|
74
|
+
export declare function redactLocalPaths(text: string): string;
|
|
75
|
+
/** Known secret shapes (core's scrubber patterns) → `[redacted secret]`, then local paths. */
|
|
76
|
+
export declare function redactUserText(text: string): string;
|
|
77
|
+
/** One list line's text: redacted and on one line. */
|
|
78
|
+
export declare function renderUserText(text: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* §3.1 "Acknowledgement" — shown once the pin is durable; the same scrubbed
|
|
81
|
+
* text the agents receive.
|
|
82
|
+
*/
|
|
83
|
+
export declare function renderPinAcknowledgement(pinText: string): string;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as dns from 'node:dns';
|
|
2
|
+
import type * as net from 'node:net';
|
|
1
3
|
export type FetchFailureKind = 'blocked' | 'too_large' | 'timeout' | 'network' | 'bad_content' | 'too_many_redirects' | 'http_error';
|
|
2
4
|
export declare class FetchError extends Error {
|
|
3
5
|
readonly kind: FetchFailureKind;
|
|
@@ -12,6 +14,18 @@ export interface GuardedFetchOptions {
|
|
|
12
14
|
headers?: Record<string, string>;
|
|
13
15
|
allowJson?: boolean;
|
|
14
16
|
}
|
|
17
|
+
/** Resolve a host's records and return the frozen set of validated public IPs, or throw FetchError('blocked'). */
|
|
18
|
+
export declare function resolveValidatedIps(host: string, signal?: AbortSignal, customLookup?: typeof dns.lookup): Promise<{
|
|
19
|
+
addresses: {
|
|
20
|
+
address: string;
|
|
21
|
+
family: number;
|
|
22
|
+
}[];
|
|
23
|
+
}>;
|
|
24
|
+
/** Build a custom `lookup` that returns ONLY from the frozen validated set (no re-resolution). */
|
|
25
|
+
export declare function pinnedLookup(frozen: {
|
|
26
|
+
address: string;
|
|
27
|
+
family: number;
|
|
28
|
+
}[]): net.LookupFunction;
|
|
15
29
|
/**
|
|
16
30
|
* Guarded GET with manual redirect following (full guard re-run per hop). Returns
|
|
17
31
|
* decoded text or throws FetchError. `signal` lets the caller (Esc) abort.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quantiya/codevibe-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.35",
|
|
4
4
|
"description": "Core library for CodeVibe plugins - shared keychain, crypto, AppSync, and auth functionality",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"typecheck": "tsc --noEmit",
|
|
18
|
-
"emit-types": "tsc --emitDeclarationOnly",
|
|
19
|
-
"build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --minify-syntax --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\" && npm run verify-no-test-hooks",
|
|
18
|
+
"emit-types": "tsc -p tsconfig.types.json --emitDeclarationOnly",
|
|
19
|
+
"build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --minify-syntax --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\" && npm run verify-no-test-hooks && npm run verify-no-test-types",
|
|
20
20
|
"verify-no-test-hooks": "if grep -ERl 'CODEVIBE_TEST_FORCE_QUOTA_FAIL|CODEVIBE_TEST_FORCE_IMPLEMENTOR_AGENT|CODEVIBE_ANCHORED_PUBLICATION_AUTHORITY_ROOT|codevibe-anchored-publications-|cv-publication-authority-vitest-|codevibe\\.test\\.publication-authority-|setPublicationAuthorityRootForTestBuild|__CODEVIBE_TEST_BUILD__|_onBeforeLinkForTesting|_onBeforeSummariesLockForTesting|__codevibe_test_on_before_link|__codevibe_test_on_before_summaries_lock' dist; then echo 'ERROR: a test-only hook leaked into a published artifact (prod-unreachability invariant)'; exit 1; fi; echo 'OK — no test-only hooks in published artifacts'",
|
|
21
|
+
"verify-no-test-types": "if find dist -type f \\( -path '*/__tests__/*' -o -name '*.test.d.ts' -o -name 'test-publication-authority-setup.d.ts' \\) | grep -q .; then echo 'verify-no-test-types: test declarations present in dist (tsconfig.types.json must exclude test sources)' >&2; exit 1; fi",
|
|
21
22
|
"clean": "rm -rf dist",
|
|
22
23
|
"prepublishOnly": "npm run build",
|
|
23
24
|
"test": "vitest run",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quantiya/codevibe-claude-plugin",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.40",
|
|
4
4
|
"description": "Control Claude Code from your iPhone and Android — real-time sync, approve file edits, send prompts by voice. Part of CodeVibe.",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"codevibe": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"node": ">=22.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@quantiya/codevibe-core": "^2.0.
|
|
51
|
+
"@quantiya/codevibe-core": "^2.0.35",
|
|
52
52
|
"@quantiya/quorum-core": "^1.0.1",
|
|
53
53
|
"dotenv": "^16.6.1",
|
|
54
54
|
"express": "^5.1.0",
|
package/node_modules/@quantiya/codevibe-core/dist/__tests__/cp-5-baseline-invariants.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/node_modules/@quantiya/codevibe-core/dist/__tests__/no-raw-control-bytes-in-source.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|