@quantiya/codevibe-codex-plugin 2.0.111 → 2.0.112

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.
@@ -1,4 +1,5 @@
1
1
  import type { StructuralSummary, StructuralSummaryGenerator, RepoSummary } from '../structural-summary/types';
2
+ import { type AdvisoryProbeOptions, type AdvisoryWorkspaceFingerprintProbe } from './advisory-fingerprint/walk';
2
3
  import type { Tier } from './types';
3
4
  export declare function setStrictDirectorySyncFaultForTests(fault: {
4
5
  phase: 'open' | 'sync';
@@ -403,63 +404,8 @@ export declare const WORKSPACE_TREE_FINGERPRINT_TIMEOUT_MS = 3000;
403
404
  export declare function probeWorkspaceTreeFingerprint(workspaceRoot: string, options?: {
404
405
  timeoutMs?: number;
405
406
  }): Promise<WorkspaceTreeFingerprintProbe>;
406
- /** Budget of the git-free walk below; past it the probe fails (fail closed). */
407
- export declare const ADVISORY_WALK_FINGERPRINT_TIMEOUT_MS = 10000;
408
- /** Entry cap of the git-free walk below; past it the probe fails (fail closed). */
409
- export declare const ADVISORY_WALK_FINGERPRINT_MAX_ENTRIES = 200000;
410
- export type AdvisoryWorkspaceFingerprintProbe = {
411
- kind: 'fingerprint';
412
- method: 'git' | 'walk';
413
- value: string;
414
- entries: number;
415
- durationMs: number;
416
- } | {
417
- kind: 'probe-failed';
418
- method: 'git' | 'walk' | 'marker';
419
- reason: string;
420
- durationMs: number;
421
- };
422
- /**
423
- * The before/after fingerprint of a read-only advisory turn (`@agent` /
424
- * `@all`), which fails closed when the two differ or cannot be taken.
425
- *
426
- * Inside a git repository (a `.git` entry or git-directory shape in the workspace
427
- * or any ancestor that git accepts, or a repository-locating GIT_* variable) this
428
- * is {@link probeWorkspaceTreeFingerprint}, unchanged. A folder that is not a
429
- * repository — no `.git` at all, a `.git` that git rejects (git's own "not a git
430
- * repository" failure), or no `git` binary (ENOENT; the macOS shim without the
431
- * command-line tools is a git failure, so that case fails closed) — is walked
432
- * instead; with no `.git` marker `git` is never run — 2.0 workspaces are git-free,
433
- * and on a Mac without the command-line tools `/usr/bin/git` opens an install
434
- * dialog. A marker check that cannot conclude refuses the turn. Core 2.0.77 used
435
- * the git probe for every folder, so every advisory turn outside a repository
436
- * failed closed before any agent ran.
437
- *
438
- * The walk records the root's mode and each entry's relative path, type and mode; for files and
439
- * symlinks also size, mtime (rounded to the nearest second) and inode, and a symlink's target.
440
- * ctime is left out and mtime is coarse on purpose: in an iCloud-synced folder
441
- * the sync client moves ctime and file flags without changing content, and a
442
- * file downloaded again because the agent read it comes back with its mtime off
443
- * by nanoseconds; without git's content index the walk cannot tell those apart
444
- * from edits, so they would fail the turn. The cost is that a same-size in-place
445
- * rewrite whose new mtime rounds to the same whole second as the old one (up to
446
- * half a second either side of it), or whose mtime is put back, goes unseen; the agents are read-only by their own
447
- * invocations, and this check is the backstop. Symlinks are not followed. A
448
- * subfolder or entry that cannot be read is recorded with its error code (so
449
- * changes inside it go unseen), but a root that cannot be listed fails the
450
- * probe. A deadline races the asynchronous work — a stalled `readdir` or `lstat`
451
- * cannot hold the turn, though the stalled call itself keeps its libuv worker
452
- * until the OS answers — and an entry cap is applied while a folder is read; past
453
- * either it is `probe-failed`. The final sort and hash are synchronous and cannot
454
- * be interrupted: if they run past the deadline, the result is `probe-failed`
455
- * (`timeout`) when they finish, never a late success. The method is part of the value,
456
- * so a `.git` that appears during the turn also reads as a change. Never
457
- * throws.
458
- */
459
- export declare function probeAdvisoryWorkspaceFingerprint(workspaceRoot: string, options?: {
460
- timeoutMs?: number;
461
- maxEntries?: number;
462
- }): Promise<AdvisoryWorkspaceFingerprintProbe>;
407
+ export { ADVISORY_WALK_FINGERPRINT_TIMEOUT_MS, ADVISORY_WALK_FINGERPRINT_MAX_ENTRIES, type AdvisoryWorkspaceFingerprintProbe, type AdvisoryProbeOptions, } from './advisory-fingerprint/walk';
408
+ export declare const probeAdvisoryWorkspaceFingerprint: (workspaceRoot: string, options?: AdvisoryProbeOptions) => Promise<AdvisoryWorkspaceFingerprintProbe>;
463
409
  /**
464
410
  * Hash the generation inputs (§4.2 conjunct (d)). A `StructuralSummary` is a
465
411
  * pure function of `tree content × generation inputs`; this hashes the
@@ -649,4 +595,3 @@ export declare function resolveContextRef(deps: {
649
595
  * §5.4) — only the `directoryTree` is trimmed to the selected subtrees.
650
596
  */
651
597
  export declare function sliceSummary(summary: StructuralSummary, selector: SliceSelector, workspaceRoot?: string): RepoSummary[];
652
- export {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.95",
3
+ "version": "2.0.96",
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.111",
3
+ "version": "2.0.112",
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.95",
50
+ "@quantiya/codevibe-core": "^2.0.96",
51
51
  "@quantiya/quorum-core": "^1.0.1",
52
52
  "chokidar": "^4.0.0",
53
53
  "dotenv": "^16.6.1",