@quantiya/codevibe-core 2.0.48 → 2.0.50

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.
@@ -61,6 +61,22 @@ export declare function markKeytarUsed(): void;
61
61
  * pinned down here rather than only through a (non-deterministic) init path.
62
62
  */
63
63
  export declare function fileStoreHasCredentials(): boolean;
64
+ /**
65
+ * Did keytar fail to load because its NATIVE BINARY is missing? That is the exact
66
+ * 2026-09-23 failure: an installer skipped keytar's install script, so the package
67
+ * was present with no build/Release/keytar.node and require() threw
68
+ * "Cannot find module '../build/Release/keytar.node'". It is an installation
69
+ * defect, not a keyring or sign-in problem, and rebuilding the module repairs it.
70
+ * Deliberately narrow — any other load error keeps its existing message.
71
+ */
72
+ export declare function isKeytarBinaryMissing(loadError: string | null): boolean;
73
+ /**
74
+ * The message for a keytar whose native binary is missing. `codevibe update`
75
+ * repairs the Claude Code plugin; the explicit rebuild works for every install
76
+ * layout (plugin cache and global npm install), fetching keytar's prebuilt
77
+ * binary as a normal install does.
78
+ */
79
+ export declare function keytarBinaryMissingMessage(loadError: string, installRoot: string | null, migratedToKeyring?: boolean): string;
64
80
  /** True if the file backend was auto-selected (no OS keyring service present). */
65
81
  export declare function wasAutoFileFallback(): boolean;
66
82
  /**
@@ -5,7 +5,7 @@ import { type ModeSelectionDeps } from './mode-selection';
5
5
  import { type RunOrchestrationShellArgs } from './index';
6
6
  import { type ShellEventEmit, type ShellEventEmitResult } from './emit-shell-event';
7
7
  import { type ShadowEnv } from '../local-executor/workspace-shadow';
8
- import { BackendPlannerClient, PlannerCacheLayer, PlannerHealthMachine, type LocalGemmaAdvisoryRunner, type LocalGemmaPlannerRunner } from '../planner';
8
+ import { BackendPlannerClient, PlannerCacheLayer, PlannerHealthMachine, HostedGemmaAdvisoryRunner, type AdvisoryRunner, type LocalGemmaAdvisoryRunner, type LocalGemmaPlannerRunner } from '../planner';
9
9
  import type { PlannerAdapter, PlannerInput, PlannerDecision, PlannerProbeResult } from '../planner/adapter';
10
10
  import { keychainManager } from '../keychain';
11
11
  export { keychainManager };
@@ -62,7 +62,7 @@ export declare class CliEntitlementError extends Error {
62
62
  constructor(message: string, cause?: unknown);
63
63
  }
64
64
  /** Both Companion and Orchestration require a verified signed-in account. */
65
- export declare function requireCliAuthentication(client: Pick<AppSyncClient, 'authenticateWithStoredTokens' | 'getLastAuthFailureKind'>): Promise<void>;
65
+ export declare function requireCliAuthentication(client: Pick<AppSyncClient, 'authenticateWithStoredTokens' | 'getLastAuthFailureKind'> & Partial<Pick<AppSyncClient, 'getLastAuthFailureDetail'>>): Promise<void>;
66
66
  export interface ParsedCliArgs {
67
67
  agent?: 'CLAUDE' | 'CODEX' | 'ANTIGRAVITY';
68
68
  help: boolean;
@@ -270,6 +270,7 @@ export interface ProductionPlannerStackResult {
270
270
  adapter: BackendPlannerClient;
271
271
  cache: PlannerCacheLayer;
272
272
  health: PlannerHealthMachine;
273
+ hostedAdvisoryRunner: HostedGemmaAdvisoryRunner;
273
274
  }
274
275
  export declare function buildProductionPlannerStack(appsyncClient: AppSyncClient, emitter: (args: ShellEventEmit) => Promise<unknown>): ProductionPlannerStackResult;
275
276
  export interface ResolvePlannerAdapterArgs {
@@ -284,7 +285,7 @@ export interface ResolvedPlannerResult {
284
285
  adapter: PlannerAdapter;
285
286
  runtimeKind: NonNullable<RunOrchestrationShellArgs['plannerRuntimeKind']>;
286
287
  runtimeLabel: string;
287
- advisoryRunner: LocalGemmaAdvisoryRunner | null;
288
+ advisoryRunner: AdvisoryRunner | null;
288
289
  classifyRunner: LocalGemmaPlannerRunner | null;
289
290
  cache: PlannerCacheLayer | null;
290
291
  health: PlannerHealthMachine | null;
@@ -295,14 +296,15 @@ export interface ResolvedPlannerResult {
295
296
  *
296
297
  * Precedence & Invariants:
297
298
  * 1. Forced hosted mode (`CODEVIBE_FORCE_HOSTED_PLANNER=1` or `CODEVIBE_PLANNER_PROVIDER=hosted`):
298
- * - Allowed for PRO and MAX tiers. Returns the production hosted Bedrock planner stack.
299
+ * - Allowed for PRO and MAX tiers. Returns the production hosted Bedrock planner stack and hosted advisory runner.
299
300
  * - Disallowed for FREE tier (preserves $0 marginal cost invariant). Falls back to local adapter.
300
301
  * 2. Local-first preference:
301
- * - When local Gemma is enabled and operational (`!localPlanner.reason`), returns the local adapter
302
- * (`local_gemma_qat`).
302
+ * - When local Gemma is enabled and operational (`!localPlanner.reason`), returns the composite adapter
303
+ * and composite advisory runner for PRO/MAX (local-first with seamless hosted Bedrock fallback).
304
+ * Returns local adapter/runner for FREE tier.
303
305
  * 3. Unavailable fallback:
304
306
  * - When local Gemma is unavailable (`localPlanner.reason` is truthy):
305
- * - PRO / MAX: Falls back to the hosted Bedrock planner stack (`hosted`).
307
+ * - PRO / MAX: Falls back to the hosted Bedrock planner stack (`hosted`) and hosted advisory runner.
306
308
  * - FREE: Retains the local unavailable adapter (`local_unavailable`), strictly preventing
307
309
  * cloud inference costs.
308
310
  */