@quantiya/codevibe-core 2.0.49 → 2.0.51

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.
@@ -325,7 +325,7 @@ export { reducer } from './reducer';
325
325
  export { createOrchestrationStore, type OrchestrationStore } from './store';
326
326
  export { routeBrowse, RETAINED_PAGE_MAX_CHARS, type RouteBrowseDeps, type RetainedBrowsePage, } from './route-browse';
327
327
  export { composeBrainstormPanelBrief, fitTextToBudget, MAX_BRAINSTORM_PAGE_CHARS, MAX_BRAINSTORM_PAGE_TOKENS, MAX_BRAINSTORM_PAGE_BYTES, } from './brainstorm-quorum';
328
- export { extractQueryRelevantSnippets, htmlToText } from './web/extract';
328
+ export { extractQueryRelevantSnippets, isPromptRelevantToRetainedPage, htmlToText } from './web/extract';
329
329
  export { validateAgyArgPrompt, AGY_ARG_PROMPT_MAX_UTF8_BYTES, } from '../agy-cli-contract';
330
330
  export type { Mode, Tier, PlannerDecision, AgentKind, PlannerHealthState, RunningTaskState, ReviewerSeatState, GateState, ExecutionEventEntry, RefusalEventEntry, BypassEventEntry, MobileEventEntry, EventStreamEntry, ConversationEntry, QueuedTask, PendingClarification, OrchestrationState, OrchestrationAction, LastModeFile, TeamState, TeamTrackEntry, TeamTrackState, TeamMergeGateStatus, LiveProgress, } from './types';
331
331
  export { formatElapsed, isSpinnerPhase, renderProgressLine, type TaskProgressEvent, type OnProgress, } from './task-progress';
@@ -925,9 +925,10 @@ export declare function routeAdvisory(deps: {
925
925
  */
926
926
  attemptedImages?: number;
927
927
  /**
928
- * 2026-09-12 — the page the `browse` route read most recently in this session.
929
- * Rendered as untrusted source material the model uses ONLY when the request is
930
- * about that page (the model decides relevance, the shell does not).
928
+ * 2026-09-12 (updated 2026-09-23) — the page the `browse` route read most recently in this session.
929
+ * Rendered as untrusted source material injected ONLY when the shell determines via
930
+ * `isPromptRelevantToRetainedPage` that the request is relevant to that page (preventing
931
+ * over-grounding and false refusals on unrelated technical follow-ups like A* algorithm).
931
932
  */
932
933
  retainedPage?: RetainedBrowsePage;
933
934
  }): Promise<void>;
@@ -44,3 +44,15 @@ export declare function extractQueryTokens(query: string): string[];
44
44
  * NEVER throws.
45
45
  */
46
46
  export declare function extractQueryRelevantSnippets(fullText: string, query: string, options?: ExtractQuerySnippetsOptions): string;
47
+ /**
48
+ * Detect whether a user prompt in an advisory turn is relevant to the retained browse page.
49
+ *
50
+ * Prevents over-grounding where an unrelated technical question (e.g. "Can you explain A* algorithm to me?")
51
+ * after a web search (e.g. for "iPhone Duo availability") is flooded with 24,000 characters of unrelated web text
52
+ * and rigid "take facts ONLY from the page text" rules, causing false refusals.
53
+ */
54
+ export declare function isPromptRelevantToRetainedPage(prompt: string, retainedPage?: {
55
+ url?: string;
56
+ title?: string;
57
+ text?: string;
58
+ } | null): boolean;
@@ -29,6 +29,7 @@ export interface PlannerAppSyncTransport {
29
29
  generatePlannerAdvisory?(input: {
30
30
  sessionId: string;
31
31
  prompt: string;
32
+ images?: string[];
32
33
  maxTokens?: number;
33
34
  temperature?: number;
34
35
  }): Promise<{
@@ -4,6 +4,7 @@ export interface CompositeAdvisoryRunnerOptions {
4
4
  localRunner?: AdvisoryRunner | null;
5
5
  hostedRunner: AdvisoryRunner;
6
6
  tier: Tier;
7
+ onNotice?: (message: string) => void;
7
8
  onFallbackToHosted?: (error: Error) => void;
8
9
  }
9
10
  /**
@@ -4,6 +4,7 @@ export interface HostedAdvisoryTransport {
4
4
  generatePlannerAdvisory(input: {
5
5
  sessionId: string;
6
6
  prompt: string;
7
+ images?: string[];
7
8
  maxTokens?: number;
8
9
  temperature?: number;
9
10
  }): Promise<{
@@ -24,7 +25,9 @@ export interface HostedGemmaAdvisoryRunnerDeps {
24
25
  * HostedGemmaAdvisoryRunner executes advisory text generation (browse synthesis,
25
26
  * brainstorm, etc.) against Google Gemma 3 12B on AWS Bedrock via AppSync planner proxy.
26
27
  *
27
- * Wire payload is encrypted end-to-end with AES-256-GCM under the session key.
28
+ * Wire payload is encrypted in transit under the session key via AES-256-GCM to
29
+ * the planner proxy Lambda in us-east-1, and decrypted server-side for AWS Bedrock Gemma 3 12B.
30
+ * Multimodal image attachments (options.images) are encrypted under the session key.
28
31
  */
29
32
  export declare class HostedGemmaAdvisoryRunner implements AdvisoryRunner {
30
33
  private readonly deps;
@@ -71,11 +71,11 @@ export declare const ToolActivityGroupSchema: z.ZodObject<{
71
71
  ts: string;
72
72
  }[];
73
73
  tool: string;
74
- target?: string | undefined;
75
74
  detail?: {
76
75
  i: number;
77
76
  digest: string;
78
77
  }[] | undefined;
78
+ target?: string | undefined;
79
79
  }, {
80
80
  count: number;
81
81
  occurrences: {
@@ -83,11 +83,11 @@ export declare const ToolActivityGroupSchema: z.ZodObject<{
83
83
  ts: string;
84
84
  }[];
85
85
  tool: string;
86
- target?: string | undefined;
87
86
  detail?: {
88
87
  i: number;
89
88
  digest: string;
90
89
  }[] | undefined;
90
+ target?: string | undefined;
91
91
  }>;
92
92
  export type ToolActivityGroup = z.infer<typeof ToolActivityGroupSchema>;
93
93
  /**
@@ -135,11 +135,11 @@ export declare const ToolActivityManifestSchema: z.ZodObject<{
135
135
  ts: string;
136
136
  }[];
137
137
  tool: string;
138
- target?: string | undefined;
139
138
  detail?: {
140
139
  i: number;
141
140
  digest: string;
142
141
  }[] | undefined;
142
+ target?: string | undefined;
143
143
  }, {
144
144
  count: number;
145
145
  occurrences: {
@@ -147,11 +147,11 @@ export declare const ToolActivityManifestSchema: z.ZodObject<{
147
147
  ts: string;
148
148
  }[];
149
149
  tool: string;
150
- target?: string | undefined;
151
150
  detail?: {
152
151
  i: number;
153
152
  digest: string;
154
153
  }[] | undefined;
154
+ target?: string | undefined;
155
155
  }>, "many">;
156
156
  continues: z.ZodOptional<z.ZodBoolean>;
157
157
  }, "strip", z.ZodTypeAny, {
@@ -162,11 +162,11 @@ export declare const ToolActivityManifestSchema: z.ZodObject<{
162
162
  ts: string;
163
163
  }[];
164
164
  tool: string;
165
- target?: string | undefined;
166
165
  detail?: {
167
166
  i: number;
168
167
  digest: string;
169
168
  }[] | undefined;
169
+ target?: string | undefined;
170
170
  }[];
171
171
  trackId?: string | null | undefined;
172
172
  windowStart?: string | undefined;
@@ -181,11 +181,11 @@ export declare const ToolActivityManifestSchema: z.ZodObject<{
181
181
  ts: string;
182
182
  }[];
183
183
  tool: string;
184
- target?: string | undefined;
185
184
  detail?: {
186
185
  i: number;
187
186
  digest: string;
188
187
  }[] | undefined;
188
+ target?: string | undefined;
189
189
  }[];
190
190
  trackId?: string | null | undefined;
191
191
  windowStart?: string | undefined;
@@ -252,11 +252,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
252
252
  ts: string;
253
253
  }[];
254
254
  tool: string;
255
- target?: string | undefined;
256
255
  detail?: {
257
256
  i: number;
258
257
  digest: string;
259
258
  }[] | undefined;
259
+ target?: string | undefined;
260
260
  }, {
261
261
  count: number;
262
262
  occurrences: {
@@ -264,11 +264,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
264
264
  ts: string;
265
265
  }[];
266
266
  tool: string;
267
- target?: string | undefined;
268
267
  detail?: {
269
268
  i: number;
270
269
  digest: string;
271
270
  }[] | undefined;
271
+ target?: string | undefined;
272
272
  }>, "many">;
273
273
  continues: z.ZodOptional<z.ZodBoolean>;
274
274
  }, "strip", z.ZodTypeAny, {
@@ -279,11 +279,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
279
279
  ts: string;
280
280
  }[];
281
281
  tool: string;
282
- target?: string | undefined;
283
282
  detail?: {
284
283
  i: number;
285
284
  digest: string;
286
285
  }[] | undefined;
286
+ target?: string | undefined;
287
287
  }[];
288
288
  trackId?: string | null | undefined;
289
289
  windowStart?: string | undefined;
@@ -298,11 +298,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
298
298
  ts: string;
299
299
  }[];
300
300
  tool: string;
301
- target?: string | undefined;
302
301
  detail?: {
303
302
  i: number;
304
303
  digest: string;
305
304
  }[] | undefined;
305
+ target?: string | undefined;
306
306
  }[];
307
307
  trackId?: string | null | undefined;
308
308
  windowStart?: string | undefined;
@@ -322,11 +322,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
322
322
  ts: string;
323
323
  }[];
324
324
  tool: string;
325
- target?: string | undefined;
326
325
  detail?: {
327
326
  i: number;
328
327
  digest: string;
329
328
  }[] | undefined;
329
+ target?: string | undefined;
330
330
  }[];
331
331
  trackId?: string | null | undefined;
332
332
  windowStart?: string | undefined;
@@ -348,11 +348,11 @@ export declare const ToolActivityOutboxEnvelopeSchema: z.ZodObject<{
348
348
  ts: string;
349
349
  }[];
350
350
  tool: string;
351
- target?: string | undefined;
352
351
  detail?: {
353
352
  i: number;
354
353
  digest: string;
355
354
  }[] | undefined;
355
+ target?: string | undefined;
356
356
  }[];
357
357
  trackId?: string | null | undefined;
358
358
  windowStart?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.49",
3
+ "version": "2.0.51",
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",