@quantiya/codevibe-core 2.0.75 → 2.0.77

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.
@@ -28,6 +28,7 @@ import { runShellResumeInShell } from '../session-resume/shell-resume-io';
28
28
  import type { ShellResumeOutcome } from '../session-resume/shell-resume';
29
29
  import { type RelaunchRequest } from '../session-resume/relaunch';
30
30
  export { executeGitStatusSummary } from './git-status-summary';
31
+ export { probeWorkspaceTreeFingerprint } from './context-store';
31
32
  import { type ContinuationCliResult, type ContinuationCliDeps } from './slash-routes/continuation';
32
33
  import { loadReviewerWizardData } from './slash-routes/reviewers';
33
34
  import { createShellEventEmitter } from './emit-shell-event';
@@ -46,6 +47,7 @@ import type { LocalExecutor } from '../local-executor';
46
47
  import type { WorkItemInput, DisjointnessRejection, RevertManifestStore } from '../local-executor';
47
48
  import type { QuorumLoop } from './quorum-loop';
48
49
  import { type InvocationUsageSnapshot } from '../reviewer/token-usage';
50
+ import { buildImplementorArgv } from '../local-executor/implementor-argv';
49
51
  import { ensureFreshContextStore } from './context-store';
50
52
  import type { EnsureFreshResult } from './context-store';
51
53
  import { contextItemOccurrence, type ContextDurabilityReceipt } from './context-items';
@@ -611,7 +613,22 @@ export declare function readOnlyAgentPrompt(args: {
611
613
  allowRepositoryTools: boolean;
612
614
  hasRetainedPage?: boolean;
613
615
  }): string;
616
+ export declare function readOnlyAdvisoryAllowsRepositoryTools(_input: string): boolean;
617
+ export declare function applyReadOnlyAdvisoryToolPolicy(agent: LocalExecutorAgentKind, plan: ReturnType<typeof buildImplementorArgv>, allowRepositoryTools: boolean, workingDir?: string, attachments?: readonly string[]): ReturnType<typeof buildImplementorArgv>;
614
618
  export declare const BRAINSTORM_PANEL_ADVISORY_TIMEOUT_MS = 1800000;
619
+ /**
620
+ * [#637] The Claude CLI reports a usage-limit INSIDE its stdout result envelope
621
+ * (`{"type":"result","result":"You've reached your usage limit…"}`) — NOT on
622
+ * stderr (`classifyImplementorQuotaFailure`) and NOT as the `error`/`turn.failed`
623
+ * JSONL events `classifyFailureFromStdout` reads — so a real Claude quota-wall
624
+ * used to render the generic 'failed' label. Locate the result envelope
625
+ * (tolerates pre-envelope warning lines; never throws) and run the SAME closed
626
+ * usage-limit patterns (`classifyFailureMessage`) against its `result` field.
627
+ * FAILURE PATH ONLY: the caller invokes this exclusively on the exit!==0 /
628
+ * empty-output branch, so the parsed answer of a SUCCESSFUL run is never
629
+ * classified. Only the closed label is ever surfaced, never the raw text.
630
+ */
631
+ export declare function classifyClaudeResultStdoutQuota(stdout: string): boolean;
615
632
  export declare function routeReadOnlyAgentMention(args: {
616
633
  store: OrchestrationStore;
617
634
  shellArgs: RunOrchestrationShellArgs;
@@ -1271,6 +1288,10 @@ export declare function resetTurnAuthoringStateForTests(): void;
1271
1288
  * on any exit path. Non-throwing (delete on a Map/Set never throws).
1272
1289
  */
1273
1290
  export declare function clearTurnAuthoringSessionState(sessionId: string): void;
1291
+ /**
1292
+ * Returns the set of quota-walled agents for the given session.
1293
+ */
1294
+ export declare function getBrainstormQuotaWalled(sessionId: string): ReadonlySet<BrainstormPanelActiveAgent>;
1274
1295
  /**
1275
1296
  * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1, DL-2) — `/rule <text>`: pin the text
1276
1297
  * verbatim (capped) as a durable `user_rule` decision with source `explicit`,
@@ -111,7 +111,12 @@ extraWriteDirs?: readonly string[],
111
111
  * file-authed model call reaches its vendor directly). See
112
112
  * {@link SubstrateSpec.networkPosture}.
113
113
  */
114
- networkPosture?: 'loopback' | 'open'): string;
114
+ networkPosture?: 'loopback' | 'open',
115
+ /**
116
+ * When false, denies writes to the worktree, establishing a hard read-only boundary (R5-F1).
117
+ * Default true (writes permitted to workdir).
118
+ */
119
+ writableWorkdir?: boolean): string;
115
120
  /**
116
121
  * A5 macOS `sandbox-exec` substrate (`egressFidelity: 'coarse'`). See file
117
122
  * header. NOT the default — the LE selects it as the macOS Docker-fallback.
@@ -134,6 +134,11 @@ export interface SubstrateSpec {
134
134
  * construction still compiles (absent → loopback, byte-identical profile).
135
135
  */
136
136
  networkPosture?: "loopback" | "open";
137
+ /**
138
+ * When false, the workdir is mounted/granted read-only (writes to workdir are denied).
139
+ * Default true (writes permitted to workdir).
140
+ */
141
+ writableWorkdir?: boolean;
137
142
  }
138
143
  /**
139
144
  * A structural `ChildProcess` subset. The LE widens its internal child
@@ -41,6 +41,11 @@ export interface EngageSubstrateInput {
41
41
  * legacy behavior for every existing caller.
42
42
  */
43
43
  requireConfined?: boolean;
44
+ /**
45
+ * When false, the workdir is mounted/granted read-only (writes to workdir are denied) (R5-F1).
46
+ * Default true (writes permitted to workdir).
47
+ */
48
+ writableWorkdir?: boolean;
44
49
  /** F-P46a-4 — the implementor spawn's process-tree id (descendant reaping marker). */
45
50
  processTreeId?: string;
46
51
  /** Ladder deps (injectable for tests). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.75",
3
+ "version": "2.0.77",
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",