@quantiya/codevibe-claude-plugin 2.0.35 → 2.0.37
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/index.js +421 -413
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/brainstorm-quorum.d.ts +14 -5
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +344 -248
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts +10 -3
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +21 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/route-browse.d.ts +14 -0
- package/node_modules/@quantiya/codevibe-core/package.json +1 -1
- package/package.json +2 -2
package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts
CHANGED
|
@@ -23,7 +23,8 @@ export declare const COMPACTION_KEEP_HOT_RECENT_ITEMS = 16;
|
|
|
23
23
|
export declare const CONTEXT_ITEMS_RETENTION_MS: number;
|
|
24
24
|
/**
|
|
25
25
|
* The rendered session-context section's own budget (inside the F6 total) for
|
|
26
|
-
* the implementor dispatch block
|
|
26
|
+
* the implementor dispatch block (the brainstorm panel uses
|
|
27
|
+
* `SESSION_CONTEXT_SECTION_MAX_CHARS_BRAINSTORM` below): 2,000 chars, every
|
|
27
28
|
* line capped by `capForRender`, stop at the first line that does not fit — the
|
|
28
29
|
* shipped behaviour. The planner's classification render uses
|
|
29
30
|
* `SESSION_CONTEXT_SECTION_MAX_CHARS_CLASSIFY` below (Stage-1 r1 F5 / r2 F2,
|
|
@@ -34,10 +35,16 @@ export declare const SESSION_CONTEXT_SECTION_MAX_CHARS = 2000;
|
|
|
34
35
|
* The planner's CLASSIFICATION render (2026-09-12): hot turns render WHOLE inside
|
|
35
36
|
* a 6,000-char section under the local runner's explicit 16K-token window.
|
|
36
37
|
* Stage-1 r1 F5 — this applies ONLY to `purpose: 'classification'`: the implementor
|
|
37
|
-
* dispatch block (hard 4,800-char total, `DISPATCH_CONTEXT_MAX_CHARS`)
|
|
38
|
-
*
|
|
38
|
+
* dispatch block (hard 4,800-char total, `DISPATCH_CONTEXT_MAX_CHARS`) keeps the
|
|
39
|
+
* 2,000-char section and the per-line cap above.
|
|
39
40
|
*/
|
|
40
41
|
export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_CLASSIFY = 6000;
|
|
42
|
+
/**
|
|
43
|
+
* The BRAINSTORM panel render: hot turns render WHOLE inside a 4,800-char section
|
|
44
|
+
* (aligns with MAX_WORKFLOW_HANDOFF_TOTAL_CHARS). Prevents 400-char sentence-cutting
|
|
45
|
+
* between multi-agent deliberation turns while preserving the overall budget.
|
|
46
|
+
*/
|
|
47
|
+
export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_BRAINSTORM = 4800;
|
|
41
48
|
/**
|
|
42
49
|
* A1f Stage-1 R1 HIGH + Stage-2 R1 (H1/M2/M3/M5) — one distilled FACT:
|
|
43
50
|
* - `body` — the source item's COMPLETE typed payload, verbatim (M3:
|
|
@@ -46,6 +46,7 @@ import { ensureFreshContextStore } from './context-store';
|
|
|
46
46
|
import type { EnsureFreshResult } from './context-store';
|
|
47
47
|
import { contextItemOccurrence, type ContextDurabilityReceipt } from './context-items';
|
|
48
48
|
import { renderRehydratedSessionContext } from './context-compaction';
|
|
49
|
+
import type { AgentKind as LocalExecutorAgentKind } from '../local-executor/types';
|
|
49
50
|
import { type TaskProgressEvent } from './task-progress';
|
|
50
51
|
export declare class OrchestrationShellStartupError extends Error {
|
|
51
52
|
readonly cause?: unknown;
|
|
@@ -483,12 +484,21 @@ export declare function createSubscribedEventDispatcher(deps: {
|
|
|
483
484
|
* #469]). Called from the `teamShellEventTap.fn` installed at startup.
|
|
484
485
|
*/
|
|
485
486
|
export declare function routeTeamShellEventToStore(store: OrchestrationStore, evt: TeamTapEvent): void;
|
|
487
|
+
export declare function readOnlyAgentPrompt(args: {
|
|
488
|
+
agent: LocalExecutorAgentKind;
|
|
489
|
+
intent: AgentMentionIntent;
|
|
490
|
+
advisoryBrief: string;
|
|
491
|
+
workingDir: string;
|
|
492
|
+
allowRepositoryTools: boolean;
|
|
493
|
+
hasRetainedPage?: boolean;
|
|
494
|
+
}): string;
|
|
486
495
|
export declare const BRAINSTORM_PANEL_ADVISORY_TIMEOUT_MS = 1800000;
|
|
487
496
|
export declare function routeReadOnlyAgentMention(args: {
|
|
488
497
|
store: OrchestrationStore;
|
|
489
498
|
shellArgs: RunOrchestrationShellArgs;
|
|
490
499
|
intent: AgentMentionIntent;
|
|
491
500
|
advisoryBrief: string;
|
|
501
|
+
retainedPage?: RetainedBrowsePage | null;
|
|
492
502
|
/**
|
|
493
503
|
* [#637] This turn's validated image attachments + the ordered `[Image #N]`
|
|
494
504
|
* chip-path list — the SAME `turnAttachments`/`turnImagePaths` pair the /task
|
|
@@ -998,8 +1008,19 @@ export declare function tokenizeCommandLine(input: string): {
|
|
|
998
1008
|
error?: string;
|
|
999
1009
|
};
|
|
1000
1010
|
export declare function handleShellUserInput(deps: HandleShellUserInputDeps): Promise<void>;
|
|
1011
|
+
/**
|
|
1012
|
+
* TTL bounding for retained browse pages (15 minutes).
|
|
1013
|
+
* Follow-up mentions within 15 minutes receive the retained page; older pages
|
|
1014
|
+
* expire and are cleared to prevent leaking stale web data into unrelated future turns.
|
|
1015
|
+
*/
|
|
1016
|
+
export declare const RETAINED_PAGE_MAX_AGE_MS: number;
|
|
1017
|
+
export declare function getFreshRetainedBrowsePage(pages: Map<string, RetainedBrowsePage>, sessionId: string, now?: number): RetainedBrowsePage | null;
|
|
1001
1018
|
/** Test seam — clear the per-session retained pages between cases. */
|
|
1002
1019
|
export declare function resetRetainedBrowsePagesForTests(): void;
|
|
1020
|
+
/** Test seam — set a per-session retained page for tests. */
|
|
1021
|
+
export declare function setRetainedBrowsePageForTests(sessionId: string, page: RetainedBrowsePage): void;
|
|
1022
|
+
/** Test seam — get a per-session retained page for tests. */
|
|
1023
|
+
export declare function getRetainedBrowsePageForTests(sessionId: string): RetainedBrowsePage | null;
|
|
1003
1024
|
/**
|
|
1004
1025
|
* [A1g] Stage-2 round-4 (Codex round-3 MEDIUM) — the EXPLICIT per-turn panel-
|
|
1005
1026
|
* ownership token. `serializeShellSubmissions` mints ONE fresh object per
|
|
@@ -33,7 +33,21 @@ export interface RouteBrowseDeps {
|
|
|
33
33
|
guardedFetchFn?: typeof guardedFetch;
|
|
34
34
|
/** Dependency injection for webSearch (for tests / isolation). */
|
|
35
35
|
webSearchFn?: typeof webSearch;
|
|
36
|
+
/**
|
|
37
|
+
* Optional delegation callback when an `@agent` mention is routed through browse.
|
|
38
|
+
* If provided, browse fetches the page(s) and delegates answering to the mentioned agent.
|
|
39
|
+
* Returns true if successfully handled.
|
|
40
|
+
*/
|
|
41
|
+
delegateAnswer?: (args: {
|
|
42
|
+
header: string;
|
|
43
|
+
page?: RetainedBrowsePage;
|
|
44
|
+
}) => Promise<boolean>;
|
|
36
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Strip leading agent mention tokens, common command/browse noise, redact paths,
|
|
48
|
+
* terminal-sanitize, and cap at 200 characters for fallback public web search queries.
|
|
49
|
+
*/
|
|
50
|
+
export declare function deriveSanitizedFallbackSearchQuery(prompt: string): string;
|
|
37
51
|
/**
|
|
38
52
|
* Orchestrate a `browse` route. Fetch an explicit URL, or run a web
|
|
39
53
|
* search and read the top results in parallel, then answer via local Gemma. Mirrors
|
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.37",
|
|
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.32",
|
|
52
52
|
"@quantiya/quorum-core": "^1.0.1",
|
|
53
53
|
"dotenv": "^16.6.1",
|
|
54
54
|
"express": "^5.1.0",
|