@quantiya/codevibe-codex-plugin 2.0.113 → 2.0.115

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.
@@ -0,0 +1,7 @@
1
+ import type { ShellEventEmit } from './emit-shell-event';
2
+ export declare const STRUCTURAL_SUMMARY_TRUNCATED_NOTICE = "This folder is too large to summarize in full \u2014 agents see a partial overview. Start CodeVibe in a smaller folder for a complete one.";
3
+ export declare const STRUCTURAL_SUMMARY_SLOW_NOTICE = "The workspace overview took longer than usual to build.";
4
+ /** §4.7 slow-path audit: the summary walk took longer than its threshold. */
5
+ export declare function structuralSummarySlowEvent(sessionId: string, elapsedMs: number): ShellEventEmit;
6
+ /** The summary hit its privacy budget; `reason` is the dominant cause (file count before body bytes). */
7
+ export declare function structuralSummaryTruncatedEvent(sessionId: string, reason: string): ShellEventEmit;
@@ -0,0 +1,48 @@
1
+ import { SpawnConfinementUnavailable } from '../local-executor/types';
2
+ /** The closed advisory-cell notice (closed set member 6; byte-identical in both apps). */
3
+ export declare const AGY_SIGN_IN_NOTICE = "No answer \u2014 Antigravity isn't signed in. Run `agy` once in a terminal to sign in.";
4
+ /** The task-halt / review-seat reason. */
5
+ export declare const AGY_SIGN_IN_REASON = "Antigravity isn't signed in. Run `agy` once in a terminal to sign in.";
6
+ /** The advisory usage reason that maps to the cell notice (brainstorm-quorum.ts). */
7
+ export declare const AGENT_SIGNED_OUT = "agent_signed_out";
8
+ export declare const AGY_TOKEN_FILE = "antigravity-oauth-token";
9
+ /**
10
+ * E2E seam (production build; recorded in the FU-A ledger): an item NAME in the fixed `codevibe-test-` namespace, e.g. an
11
+ * absent one ("not signed in"). Any other value — including empty — selects an absent test item, never the real one.
12
+ */
13
+ export declare const KEYCHAIN_SERVICE_TEST_ENV = "CODEVIBE_AGY_KEYCHAIN_SERVICE_FOR_TESTS";
14
+ /** A spawn refused because agy has no usable sign-in; a SpawnConfinementUnavailable so every caller halts visibly. */
15
+ export declare class AgentSignInUnavailable extends SpawnConfinementUnavailable {
16
+ readonly why: AgySignInWhy;
17
+ constructor(why: AgySignInWhy);
18
+ }
19
+ export type AgySignInWhy = 'not-signed-in' | 'keychain-absent' | 'keychain-timeout' | 'keychain-error' | 'keychain-invalid';
20
+ export type AgySignIn = {
21
+ source: 'file' | 'keychain';
22
+ data: Buffer;
23
+ } | {
24
+ source: 'none';
25
+ why: AgySignInWhy;
26
+ };
27
+ export interface AgySignInDeps {
28
+ platform?: NodeJS.Platform;
29
+ env?: NodeJS.ProcessEnv;
30
+ securityBin?: string;
31
+ timeoutMs?: number;
32
+ }
33
+ /** The decoded sign-in JSON is usable when `token` holds non-empty string `access_token` and `refresh_token`. */
34
+ export declare function validAgySignInJson(data: Buffer): boolean;
35
+ /** go-keyring's stored form → the decoded JSON bytes, or null unless prefix, canonical base64 and JSON all check. */
36
+ export declare function decodeKeychainValue(value: string): Buffer | null;
37
+ /** The sign-in for an agy spawn: a valid token file, else (macOS) the Keychain item, else none. Never logs values. */
38
+ export declare function readAgySignIn(hostAgyDir: string, deps?: AgySignInDeps): Promise<AgySignIn>;
39
+ /**
40
+ * Seed `<destAgyDir>/antigravity-oauth-token` for one spawn. macOS: exclusive, no-follow, 0600, re-hashed; throws
41
+ * AgentSignInUnavailable when there is no usable sign-in. Elsewhere: the pre-FU-A copy (`legacyCopy`). Returns the source
42
+ * and a short digest for the log, never the value.
43
+ */
44
+ export declare function seedAgySignIn(hostAgyDir: string, destAgyDir: string, deps?: AgySignInDeps): Promise<{
45
+ source: 'file' | 'keychain' | 'legacy-copy' | 'none';
46
+ bytes: number;
47
+ sha256: string;
48
+ }>;
@@ -5,6 +5,7 @@ import type { ProcessRole } from "../local-executor/types";
5
5
  import type { WorkspaceRootAuthority } from "../local-executor/workspace-authority";
6
6
  import type { SubstrateHandle, SubstrateSpec } from "../substrate/types";
7
7
  import { type FallbackLadderDeps } from "./fallback-ladder";
8
+ import { type AgySignInDeps } from "./agy-auth-seed";
8
9
  /** Map the implementor agent to the broker provider (Claude+Codex only, §6 Q4). */
9
10
  export declare function providerForAgent(agentKind: "CLAUDE" | "GEMINI" | "CODEX" | "ANTIGRAVITY"): VendorProvider | null;
10
11
  /** Inputs the LE passes to engage the moat for one implementor session. */
@@ -64,6 +65,8 @@ export interface EngageSubstrateInput {
64
65
  projectRoot?: string;
65
66
  /** Optional home dir override (injectable for tests). */
66
67
  homedir?: string;
68
+ /** FU-A: how an agy spawn's sign-in is read (tests inject the Keychain reader; production uses the defaults). */
69
+ agySignIn?: AgySignInDeps;
67
70
  /** F-P46a-4 — the implementor spawn's process-tree id (descendant reaping marker). */
68
71
  processTreeId?: string;
69
72
  /** Ladder deps (injectable for tests). */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.97",
3
+ "version": "2.0.99",
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",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-codex-plugin",
3
- "version": "2.0.113",
3
+ "version": "2.0.115",
4
4
  "description": "Control OpenAI Codex CLI 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": {
@@ -47,7 +47,7 @@
47
47
  "node": ">=22.0.0"
48
48
  },
49
49
  "dependencies": {
50
- "@quantiya/codevibe-core": "^2.0.97",
50
+ "@quantiya/codevibe-core": "^2.0.99",
51
51
  "@quantiya/quorum-core": "^1.0.1",
52
52
  "chokidar": "^4.0.0",
53
53
  "dotenv": "^16.6.1",