@quantiya/codevibe-core 2.0.23 → 2.0.24

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.
@@ -239,6 +239,8 @@ export declare function renderRehydratedSessionContext(deps: {
239
239
  clearance: ContextItemSensitivity;
240
240
  /** Stage-2 R1 H1 — the dispatch scope (see `rehydrateSessionContext`). */
241
241
  scope?: DispatchScope;
242
+ /** Classifier control state comes from the current request, not prior decisions. */
243
+ purpose?: 'classification';
242
244
  }): Promise<string>;
243
245
  /**
244
246
  * §6 Eviction/GC — TTL-only retention sweep of the per-session log dirs
@@ -924,21 +924,6 @@ export declare function serializeShellSubmissions(handler: (text: string, images
924
924
  * slash route then reports "unavailable").
925
925
  */
926
926
  export declare function buildContinuationActionDeps(args: RunOrchestrationShellArgs, store: OrchestrationStore): Partial<ContinuationCliDeps>;
927
- /**
928
- * WEB-BROWSING deterministic fast-path detector (docs/WEB-BROWSING-DESIGN.md).
929
- * Returns the http(s) URL(s) to read when the prompt is unambiguously a "read
930
- * this URL" request, else null. Tight by design:
931
- * - SUPPRESSED while a clarification is pending (don't hijack a pending
932
- * start_task whose answer happens to be a URL) — the classifier handles it.
933
- * This is correct for EVERY pending clarification: a `browse` decision never
934
- * emits a clarifying_question (the parser invariant forbids advisory_summary/
935
- * clarifying_question on browse), so a pending clarification is ALWAYS from a
936
- * non-browse route — there is no "pending browse clarification" to preserve.
937
- * - fires ONLY when the prompt is URL-leading OR a read-intent verb governs the
938
- * URL clause (so "fix the CORS bug, API at https://…" stays start_task).
939
- * The URL regex is copied from `protectUrls` (unexported in local-advisory.ts).
940
- */
941
- export declare function detectBrowseFastPath(text: string, pending: PendingClarification | null): string[] | null;
942
927
  /**
943
928
  * Tokenize a command line string respecting single/double quotes and backslash escapes.
944
929
  * Returns tokens array or error if unclosed quote / trailing escape.
@@ -2,7 +2,9 @@ import type { PlannerAdapter } from './adapter';
2
2
  import type { LocalGemmaAdvisoryRunner } from './local-advisory';
3
3
  import type { PlannerDecision, PlannerInput, PlannerProbeResult } from './types';
4
4
  export interface LocalGemmaPlannerRunner {
5
- classify(promptText: string): Promise<string>;
5
+ classify(promptText: string, options?: {
6
+ jsonSchema?: object;
7
+ }): Promise<string>;
6
8
  generateAdvisory?: LocalGemmaAdvisoryRunner['generateAdvisory'];
7
9
  probe?(): Promise<PlannerProbeResult>;
8
10
  /**
@@ -24,16 +26,42 @@ export interface LocalGemmaPlannerRunner {
24
26
  * local Gemma model RESPONDED but its output could not be parsed into a valid
25
27
  * route (out-of-domain prose, truncated JSON, unsupported action/keys, etc.).
26
28
  *
27
- * This is deliberately DISTINCT from an infrastructure failure (Ollama
28
- * unreachable / timeout / budget / tier-gate — those reject out of the runner,
29
- * never reach the parser). The orchestration shell catches THIS class and
30
- * degrades to a safe "general question / not a build request" advisory route
31
- * instead of surfacing a `planner-error`; a genuine infra failure still surfaces
32
- * "Planner unavailable" because retrying would not help.
29
+ * Distinct from infrastructure failure: the shell reports invalid routing data
30
+ * without inventing a successful classification or starting a task.
33
31
  */
34
32
  export declare class PlannerOutputUnparseableError extends Error {
35
33
  constructor(message: string);
36
34
  }
35
+ export declare const LOCAL_GEMMA_DECISION_JSON_SCHEMA: {
36
+ type: string;
37
+ properties: {
38
+ rationale: {
39
+ type: string;
40
+ };
41
+ clarifying_question: {
42
+ type: string;
43
+ };
44
+ advisory_summary: {
45
+ type: string;
46
+ };
47
+ browseUrls: {
48
+ type: string;
49
+ items: {
50
+ type: string;
51
+ pattern: string;
52
+ };
53
+ };
54
+ browseQuery: {
55
+ type: string;
56
+ };
57
+ action: {
58
+ type: string;
59
+ enum: ("start_task" | "summarize_current_status" | "advisory_response" | "ask_user" | "refuse" | "team_decompose" | "familiarize" | "brainstorm" | "browse")[];
60
+ };
61
+ };
62
+ required: string[];
63
+ additionalProperties: boolean;
64
+ };
37
65
  /**
38
66
  * Text-only route classifier prompt. It intentionally excludes repository
39
67
  * paths, summaries, source snippets, file bodies, and the raw structural digest.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.23",
3
+ "version": "2.0.24",
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",
@@ -1,22 +0,0 @@
1
- export interface DirectFileDeleteRequest {
2
- paths: string[];
3
- }
4
- export interface DirectFileDeleteResult {
5
- deleted: string[];
6
- }
7
- /**
8
- * Recognize only a closed, deterministic delete request. Anything ambiguous
9
- * remains on the ordinary planner/implementor path.
10
- *
11
- * Supported examples:
12
- * Delete only a.txt.
13
- * Please delete only `a file.txt` and `b.txt`.
14
- * Delete only a.txt. Do not create, modify, or delete any other file.
15
- */
16
- export declare function parseDirectFileDeleteRequest(text: string): DirectFileDeleteRequest | null;
17
- /**
18
- * Delete only the explicitly named regular files. All targets are validated
19
- * before the first mutation; each unlink is bound to the captured parent and
20
- * file incarnation and directory-fsynced by the anchored helper.
21
- */
22
- export declare function executeDirectFileDelete(cwd: string, request: DirectFileDeleteRequest): Promise<DirectFileDeleteResult>;