@quantiya/codevibe-claude-plugin 2.0.40 → 2.0.42

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.
Files changed (24) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/node_modules/@quantiya/codevibe-core/bin/codevibe-web-mcp-bridge.js +91 -0
  3. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/index.d.ts +1 -0
  4. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +4 -1
  5. package/node_modules/@quantiya/codevibe-core/dist/index.js +471 -453
  6. package/node_modules/@quantiya/codevibe-core/dist/local-executor/env-scrub.d.ts +10 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/local-executor/implementor-argv.d.ts +34 -1
  8. package/node_modules/@quantiya/codevibe-core/dist/local-executor/index.d.ts +2 -1
  9. package/node_modules/@quantiya/codevibe-core/dist/local-executor/local-executor-impl.d.ts +1 -0
  10. package/node_modules/@quantiya/codevibe-core/dist/local-executor/types.d.ts +1 -0
  11. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +1 -1
  12. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +2156 -1107
  13. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/command-intent.d.ts +18 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +1 -0
  15. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/team-decompose.d.ts +8 -8
  16. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/agent-web-server.d.ts +44 -0
  17. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/extract.d.ts +17 -0
  18. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/fetch.d.ts +10 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/web-extract-worker.d.ts +12 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web-extract-worker.js +7 -0
  21. package/node_modules/@quantiya/codevibe-core/dist/reviewer/index.d.ts +2 -2
  22. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/engage-substrate.d.ts +2 -0
  23. package/node_modules/@quantiya/codevibe-core/package.json +3 -2
  24. package/package.json +2 -2
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Pinned search API keys that must never be leaked into any subprocess
3
+ * an implementor, reviewer, or verification test script can influence (REQ-08, A-MCP-04).
4
+ */
5
+ export declare const SEARCH_API_KEY_NAMES: readonly string[];
6
+ /**
7
+ * Scrub search API keys from a ProcessEnv object.
8
+ * Returns a shallow clone of the env object with sensitive keys removed.
9
+ */
10
+ export declare function scrubSearchApiKeys(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
@@ -81,6 +81,26 @@ export declare function bindAgyPrintPrompt(argv: readonly string[], prompt: stri
81
81
  * resolver).
82
82
  */
83
83
  export declare function agyWorkdirBriefPreamble(workdir: string): string;
84
+ /**
85
+ * Extracts the MCP bridge server command and arguments from an ephemeral MCP config JSON.
86
+ * Returns null if the configuration is missing, unreadable, or invalid (fail closed).
87
+ */
88
+ export declare function extractMcpServerConfig(mcpConfigPath?: string): {
89
+ command: string;
90
+ args: string[];
91
+ } | null;
92
+ /**
93
+ * Configures an ephemeral Antigravity plugin (.agents/plugins/codevibe-web/)
94
+ * inside the task worktree / shadow directory to expose guarded web MCP tools to agy.
95
+ */
96
+ export declare function setupAgyWebPlugin(workdir: string, server: {
97
+ command: string;
98
+ args: string[];
99
+ }): void;
100
+ /**
101
+ * Removes the ephemeral Antigravity plugin from workdir on CP-7 substrate engagement.
102
+ */
103
+ export declare function stripAgyWebPlugin(workdir: string): void;
84
104
  /**
85
105
  * Build the implementor invocation argv for `agent` in `mode`. The leading
86
106
  * executable name (`claude` / `codex` / `agy`) is the argv[0] so callers can
@@ -96,7 +116,9 @@ export declare function agyWorkdirBriefPreamble(workdir: string): string;
96
116
  * instead of silently no-oping into agy's scratch). The cwd-based agents
97
117
  * ignore it.
98
118
  */
99
- export declare function buildImplementorArgv(agent: AgentKind, mode: ImplementorMode, workdir?: string): ImplementorArgvPlan;
119
+ export declare function buildImplementorArgv(agent: AgentKind, mode: ImplementorMode, workdir?: string, options?: {
120
+ mcpConfigPath?: string;
121
+ }): ImplementorArgvPlan;
100
122
  /**
101
123
  * A1b (Codex summary never-read fix, READ side) — read a Codex implementor's
102
124
  * `--output-last-message` capture file, resolving the HOST path the same way
@@ -252,6 +274,7 @@ export declare function makeImplementorCommandScope(): AuthorityScope;
252
274
  * path after `--output-last-message` is absorbed by the wildcard).
253
275
  */
254
276
  export declare const CODEX_DANGER_FULL_ACCESS_COMMAND = "codex exec --sandbox danger-full-access --skip-git-repo-check --color never --json --ephemeral --output-last-message *";
277
+ export declare const CODEX_DANGER_FULL_ACCESS_WEB_COMMAND = "codex exec --sandbox danger-full-access --skip-git-repo-check --color never --json --ephemeral -c web_search=\"disabled\" -c mcp_servers.codevibe_web.command=\"node\" *";
255
278
  /**
256
279
  * Return a scope that ADDS the boundary-confined Codex `danger-full-access`
257
280
  * command authority (`CODEX_DANGER_FULL_ACCESS_COMMAND`) to `scope`'s
@@ -263,3 +286,13 @@ export declare const CODEX_DANGER_FULL_ACCESS_COMMAND = "codex exec --sandbox da
263
286
  * returns `scope` unchanged if already present.
264
287
  */
265
288
  export declare function withBoundaryConfinedCommandAuthority(scope: AuthorityScope): AuthorityScope;
289
+ /**
290
+ * Strips web-browsing MCP tools and flags from a Claude argv to ensure fail-closed
291
+ * execution on CP-7 substrate paths (REQ-16). Restores standard Claude plan/execute argv.
292
+ */
293
+ export declare function stripClaudeWebArgs(argv: string[]): string[];
294
+ /**
295
+ * Strips web-browsing MCP tools and flags from a Codex argv to ensure fail-closed
296
+ * execution on CP-7 substrate paths (REQ-16). Restores standard Codex plan/execute argv.
297
+ */
298
+ export declare function stripCodexWebArgs(argv: string[]): string[];
@@ -1,11 +1,12 @@
1
1
  export { AuthorityError, AuthorityRefusal, AuthorityRefusalCategory, AuthorityScope, FileNotFound, enforceCommand, enforceNetwork, enforceRead, enforceWrite, safeReadFile, safeWriteFile, } from './authority';
2
2
  export { spawnHealthProbe, spawnImplementor, spawnReviewer } from './spawn';
3
3
  export { AgentKind, AuthorityAction, ClassBInbound, ExecutorError, FailureClass, FileChangeKind, GateDispatchPayload, GateDispatchReviewerSeat, HookEvent, ImplementorHandle, LocalExecutor, MergeGateDispatchPayload, ProbeHandle, ProcessExitedInfo, ProcessRole, ProcessSpawnedInfo, ReviewerHandle, ReviewerDispatchPayload, ReviseFeedbackPayload, ReviseSeatFinding, SignedEnvelope, SpawnArgs, SpawnArgsInvalid, SpawnHandleBase, TaskGroupHaltedPayload, TrackAssignedPayload, TrackConflictContext, } from './types';
4
- export { agyImplementorAllowlistEntries, agyWorkdirBriefPreamble, AGY_IMPLEMENTOR_PRINT_TIMEOUT, buildImplementorArgv, IMPLEMENTOR_COMMAND_ALLOWLIST, makeImplementorCommandScope, resolveAgyModel, type ImplementorArgvPlan, type ImplementorCaptureSurface, type ImplementorMode, } from './implementor-argv';
4
+ export { agyImplementorAllowlistEntries, agyWorkdirBriefPreamble, AGY_IMPLEMENTOR_PRINT_TIMEOUT, buildImplementorArgv, extractMcpServerConfig, setupAgyWebPlugin, stripAgyWebPlugin, stripClaudeWebArgs, stripCodexWebArgs, IMPLEMENTOR_COMMAND_ALLOWLIST, makeImplementorCommandScope, resolveAgyModel, type ImplementorArgvPlan, type ImplementorCaptureSurface, type ImplementorMode, } from './implementor-argv';
5
5
  export { verifyClassBEd25519, classBCanonicalForSigning, ed25519PublicKeyFromRaw, type ClassBCryptoVerifyResult, } from './class-b-verify';
6
6
  export { TrackRegistry, TrackProcess, trackKey } from './track-registry';
7
7
  export { EmitShellEventFn, HookBridge, HookBridgeDeps, } from './hook-bridge';
8
8
  export { LocalExecutorImpl, LocalExecutorImplDeps, MergeGateAppSyncClient, MergeGateContentEncryptor, TEAM_TRACK_HEARTBEAT_INTERVAL_MS, makeEmptyScope, } from './local-executor-impl';
9
+ export { SEARCH_API_KEY_NAMES, scrubSearchApiKeys, } from './env-scrub';
9
10
  export type { SubstrateEngager, SubstrateEngageResult, StrictBadgeSink, } from './local-executor-impl';
10
11
  export { Cp7AuditWriter, CP7_CANONICAL_FORM_VERSION, GENESIS_PREV_HASH, canonicalJson, canonicalEntryBytes, computeEntryHash, verifyChain, } from './cp7-audit-writer';
11
12
  export type { Cp7AuditEntry } from './cp7-audit-writer';
@@ -112,6 +112,7 @@ export type SubstrateEngager = (input: {
112
112
  * applies whenever the row cannot be established).
113
113
  */
114
114
  requireConfined?: boolean;
115
+ webBrowsingActive?: boolean;
115
116
  }) => Promise<SubstrateEngageResult>;
116
117
  /** Backend lease is 15 minutes; three renewal opportunities fit inside it. */
117
118
  export declare const TEAM_TRACK_HEARTBEAT_INTERVAL_MS: number;
@@ -18,6 +18,7 @@ export interface SpawnArgs {
18
18
  stdinPayload?: string;
19
19
  signal?: AbortSignal;
20
20
  taskId?: string;
21
+ webTurnActive?: boolean;
21
22
  lifecycleAudit?: 'active_task' | 'none';
22
23
  onProcessSpawned?: ProcessSpawnedHook;
23
24
  onProcessExited?: ProcessExitedHook;
@@ -130,7 +130,7 @@ export declare const ORCHESTRATION_ORPHAN_SWEEP_STALE_THRESHOLD_MS: number;
130
130
  * aborted test runs, or ungraceful terminal closures. Non-blocking best-effort
131
131
  * operation; mirrors companion-plugin startup sweeps.
132
132
  */
133
- export declare function triggerStartupOrphanSweep(appsyncClient: AppSyncClient, currentSessionId: string, staleThresholdMs?: number): Promise<number>;
133
+ export declare function triggerStartupOrphanSweep(appsyncClient: AppSyncClient, currentSessionId: string, staleThresholdMs?: number, tmpRoot?: string): Promise<number>;
134
134
  /**
135
135
  * CP-8 Slice C (#570) — parse a top-level `audit show <task-id> [--json]
136
136
  * [--session <id>]` subcommand from the raw argv. Returns null when the argv is