@wrongstack/tools 0.295.1 → 0.296.3

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.
Files changed (132) hide show
  1. package/dist/auto-proceed-loop-guard.d.ts +67 -0
  2. package/dist/auto-proceed-loop-guard.d.ts.map +1 -1
  3. package/dist/auto-proceed-loop-guard.js +95 -0
  4. package/dist/auto-proceed-loop-guard.js.map +2 -2
  5. package/dist/bash.js +53 -18
  6. package/dist/bash.js.map +2 -2
  7. package/dist/browser/artifacts.d.ts +2 -0
  8. package/dist/browser/artifacts.d.ts.map +1 -1
  9. package/dist/browser/index.js +58 -7
  10. package/dist/browser/index.js.map +2 -2
  11. package/dist/browser/network-guard-proxy.d.ts.map +1 -1
  12. package/dist/builtin.d.ts +2 -2
  13. package/dist/builtin.d.ts.map +1 -1
  14. package/dist/builtin.js +9516 -7476
  15. package/dist/builtin.js.map +4 -4
  16. package/dist/codebase-index/background-indexer.d.ts +28 -2
  17. package/dist/codebase-index/background-indexer.d.ts.map +1 -1
  18. package/dist/codebase-index/codebase-index-tool.d.ts.map +1 -1
  19. package/dist/codebase-index/dead-code-scan.d.ts +77 -0
  20. package/dist/codebase-index/dead-code-scan.d.ts.map +1 -0
  21. package/dist/codebase-index/index-service.d.ts +4 -3
  22. package/dist/codebase-index/index-service.d.ts.map +1 -1
  23. package/dist/codebase-index/index.d.ts +11 -8
  24. package/dist/codebase-index/index.d.ts.map +1 -1
  25. package/dist/codebase-index/index.js +5217 -3503
  26. package/dist/codebase-index/index.js.map +4 -4
  27. package/dist/codebase-index/indexer.d.ts +2 -0
  28. package/dist/codebase-index/indexer.d.ts.map +1 -1
  29. package/dist/codebase-index/parser-dispatch.d.ts +8 -0
  30. package/dist/codebase-index/parser-dispatch.d.ts.map +1 -0
  31. package/dist/codebase-index/project-server-cache.d.ts +11 -0
  32. package/dist/codebase-index/project-server-cache.d.ts.map +1 -0
  33. package/dist/codebase-index/project-server-client.d.ts +74 -0
  34. package/dist/codebase-index/project-server-client.d.ts.map +1 -0
  35. package/dist/codebase-index/project-server-endpoint.d.ts +24 -0
  36. package/dist/codebase-index/project-server-endpoint.d.ts.map +1 -0
  37. package/dist/codebase-index/project-server-protocol.d.ts +88 -0
  38. package/dist/codebase-index/project-server-protocol.d.ts.map +1 -0
  39. package/dist/codebase-index/project-server.d.ts +11 -0
  40. package/dist/codebase-index/project-server.d.ts.map +1 -0
  41. package/dist/codebase-index/project-server.js +5136 -0
  42. package/dist/codebase-index/project-server.js.map +7 -0
  43. package/dist/codebase-index/refs-extractor.d.ts +1 -0
  44. package/dist/codebase-index/refs-extractor.d.ts.map +1 -1
  45. package/dist/codebase-index/schema.d.ts +11 -0
  46. package/dist/codebase-index/schema.d.ts.map +1 -1
  47. package/dist/codebase-index/sqlite-runtime.d.ts +9 -0
  48. package/dist/codebase-index/sqlite-runtime.d.ts.map +1 -0
  49. package/dist/codebase-index/ts-parser.d.ts +5 -1
  50. package/dist/codebase-index/ts-parser.d.ts.map +1 -1
  51. package/dist/codebase-index/worker-protocol.d.ts +19 -1
  52. package/dist/codebase-index/worker-protocol.d.ts.map +1 -1
  53. package/dist/codebase-index/worker.js +3927 -3413
  54. package/dist/codebase-index/worker.js.map +4 -4
  55. package/dist/codebase-index/writer-admin.d.ts +16 -0
  56. package/dist/codebase-index/writer-admin.d.ts.map +1 -0
  57. package/dist/codebase-index/writer-bulk-insert.d.ts +25 -0
  58. package/dist/codebase-index/writer-bulk-insert.d.ts.map +1 -0
  59. package/dist/codebase-index/writer-graph-helpers.d.ts +52 -0
  60. package/dist/codebase-index/writer-graph-helpers.d.ts.map +1 -0
  61. package/dist/codebase-index/writer-graph-reader.d.ts +11 -0
  62. package/dist/codebase-index/writer-graph-reader.d.ts.map +1 -0
  63. package/dist/codebase-index/writer-helpers.d.ts +15 -0
  64. package/dist/codebase-index/writer-helpers.d.ts.map +1 -0
  65. package/dist/codebase-index/writer-pragmas.d.ts +3 -0
  66. package/dist/codebase-index/writer-pragmas.d.ts.map +1 -0
  67. package/dist/codebase-index/writer-ref-mapper.d.ts +11 -0
  68. package/dist/codebase-index/writer-ref-mapper.d.ts.map +1 -0
  69. package/dist/codebase-index/writer-schema.d.ts +7 -0
  70. package/dist/codebase-index/writer-schema.d.ts.map +1 -0
  71. package/dist/codebase-index/writer-search-helpers.d.ts +28 -0
  72. package/dist/codebase-index/writer-search-helpers.d.ts.map +1 -0
  73. package/dist/codebase-index/writer-store-pool.d.ts +45 -0
  74. package/dist/codebase-index/writer-store-pool.d.ts.map +1 -0
  75. package/dist/codebase-index/writer.d.ts +72 -89
  76. package/dist/codebase-index/writer.d.ts.map +1 -1
  77. package/dist/exec.js +53 -18
  78. package/dist/exec.js.map +2 -2
  79. package/dist/index.d.ts +2 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +9860 -7824
  82. package/dist/index.js.map +4 -4
  83. package/dist/kanban-board-inputs.d.ts +34 -0
  84. package/dist/kanban-board-inputs.d.ts.map +1 -0
  85. package/dist/kanban-decomposition-actions.d.ts +4 -0
  86. package/dist/kanban-decomposition-actions.d.ts.map +1 -0
  87. package/dist/kanban-detail-actions.d.ts +3 -0
  88. package/dist/kanban-detail-actions.d.ts.map +1 -0
  89. package/dist/kanban-presence.d.ts +10 -0
  90. package/dist/kanban-presence.d.ts.map +1 -0
  91. package/dist/kanban-split-task-handler.d.ts +6 -0
  92. package/dist/kanban-split-task-handler.d.ts.map +1 -0
  93. package/dist/kanban-task-inputs.d.ts +73 -0
  94. package/dist/kanban-task-inputs.d.ts.map +1 -0
  95. package/dist/kanban-tool-results.d.ts +14 -0
  96. package/dist/kanban-tool-results.d.ts.map +1 -0
  97. package/dist/kanban-tool-schema.d.ts +5 -0
  98. package/dist/kanban-tool-schema.d.ts.map +1 -0
  99. package/dist/kanban-tool-types.d.ts +135 -0
  100. package/dist/kanban-tool-types.d.ts.map +1 -0
  101. package/dist/kanban.d.ts +2 -146
  102. package/dist/kanban.d.ts.map +1 -1
  103. package/dist/kanban.js +1030 -825
  104. package/dist/kanban.js.map +4 -4
  105. package/dist/pack.js +9515 -7476
  106. package/dist/pack.js.map +4 -4
  107. package/dist/plan.js +2 -2
  108. package/dist/plan.js.map +2 -2
  109. package/dist/process-registry-persistent.d.ts +1 -0
  110. package/dist/process-registry-persistent.d.ts.map +1 -1
  111. package/dist/ps-slash.js +53 -18
  112. package/dist/ps-slash.js.map +2 -2
  113. package/dist/read.d.ts +31 -0
  114. package/dist/read.d.ts.map +1 -1
  115. package/dist/read.js +5434 -78
  116. package/dist/read.js.map +4 -4
  117. package/dist/replace.js +8 -0
  118. package/dist/replace.js.map +2 -2
  119. package/dist/session-kanban.d.ts.map +1 -1
  120. package/dist/session-kanban.js +15 -20
  121. package/dist/session-kanban.js.map +2 -2
  122. package/dist/task.d.ts.map +1 -1
  123. package/dist/task.js +48 -6
  124. package/dist/task.js.map +2 -2
  125. package/dist/todo.d.ts.map +1 -1
  126. package/dist/todo.js +47 -5
  127. package/dist/todo.js.map +2 -2
  128. package/dist/tool-tier.js +9517 -7477
  129. package/dist/tool-tier.js.map +4 -4
  130. package/package.json +5 -5
  131. package/dist/shim/node-sqlite.d.ts +0 -3
  132. package/dist/shim/node-sqlite.d.ts.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import type { Context } from '@wrongstack/core/agent';
2
2
  import type { IndexResult } from './schema.js';
3
+ import { IndexStore } from './writer.js';
3
4
  /**
4
5
  * Parallel parse batch size — see {@link indexParallelBatchSize}.
5
6
  * Re-resolved at the start of each index run so env profile changes apply.
@@ -29,5 +30,6 @@ interface IndexerOptions {
29
30
  }
30
31
  /** Run a full or incremental index and return statistics. */
31
32
  export declare function runIndexer(_ctx: Context, opts: IndexerOptions): Promise<IndexResult>;
33
+ export declare function runIndexerWithStore(store: IndexStore, opts: IndexerOptions): Promise<IndexResult>;
32
34
  export {};
33
35
  //# sourceMappingURL=indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/codebase-index/indexer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAY,WAAW,EAA0C,MAAM,aAAa,CAAC;AAcjG;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAyCD,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE;AA2HD,6DAA6D;AAC7D,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAa1F"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/codebase-index/indexer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,OAAO,KAAK,EAAY,WAAW,EAA0C,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAuID,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE;AAuGD,6DAA6D;AAC7D,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAa1F;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,CAAC,CA8WtB"}
@@ -0,0 +1,8 @@
1
+ import type { FileSymbols, SymbolLang } from './schema.js';
2
+ /**
3
+ * Load only the parser needed for this file. Keeping these imports lazy is
4
+ * important for the project server: TypeScript's compiler API stays out of the
5
+ * SQLite/IPC owner when TS/JS parsing is delegated to parser workers.
6
+ */
7
+ export declare function parseFileContent(file: string, content: string, lang: SymbolLang): Promise<FileSymbols>;
8
+ //# sourceMappingURL=parser-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-dispatch.d.ts","sourceRoot":"","sources":["../../src/codebase-index/parser-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAkCtB"}
@@ -0,0 +1,11 @@
1
+ /** Small generation-scoped LRU used by the detached index server. */
2
+ export declare class GenerationLruCache<T> {
3
+ private readonly maxEntries;
4
+ private readonly entries;
5
+ constructor(maxEntries: number);
6
+ get(key: string, generation: number): T | undefined;
7
+ set(key: string, generation: number, value: T): T;
8
+ clear(): void;
9
+ get size(): number;
10
+ }
11
+ //# sourceMappingURL=project-server-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-server-cache.d.ts","sourceRoot":"","sources":["../../src/codebase-index/project-server-cache.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qBAAa,kBAAkB,CAAC,CAAC;IAGnB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E,YAA6B,UAAU,EAAE,MAAM,EAAI;IAEnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAMlD;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAShD;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -0,0 +1,74 @@
1
+ import { type ProjectIndexServerActivity, type ProjectIndexServerHealth } from './project-server-protocol.js';
2
+ import type { OpName, OpShapes } from './worker-protocol.js';
3
+ export interface ProjectServerCallOptions {
4
+ timeoutMs: number;
5
+ signal?: AbortSignal | undefined;
6
+ onProgress?: ((current: number, total: number) => void) | undefined;
7
+ }
8
+ export interface ProjectIndexServerShutdownResult {
9
+ stopped: boolean;
10
+ pid?: number | undefined;
11
+ reason?: string | undefined;
12
+ }
13
+ export type ProjectIndexServerConnectionStatus = 'unavailable' | 'offline' | 'connecting' | 'connected' | 'degraded' | 'unresponsive' | 'error' | 'stopping';
14
+ export interface ProjectIndexServerClientHealth {
15
+ status: 'healthy' | 'degraded' | 'unresponsive';
16
+ checkedAt: number;
17
+ lastHealthyAt: number | null;
18
+ latencyMs: number | null;
19
+ missedHeartbeats: number;
20
+ server?: ProjectIndexServerHealth | undefined;
21
+ }
22
+ export interface ProjectIndexServerConnectionState {
23
+ status: ProjectIndexServerConnectionStatus;
24
+ connected: boolean;
25
+ projectRoot?: string | undefined;
26
+ indexDir?: string | undefined;
27
+ endpoint?: string | undefined;
28
+ pid?: number | undefined;
29
+ lastError?: string | undefined;
30
+ activity?: ProjectIndexServerActivity | undefined;
31
+ health?: ProjectIndexServerClientHealth | undefined;
32
+ }
33
+ type ProjectIndexServerConnectionListener = (state: ProjectIndexServerConnectionState) => void;
34
+ /**
35
+ * Why the index daemon is or is not usable.
36
+ *
37
+ * A bare `null` cannot distinguish "the operator asked for in-process mode"
38
+ * from "the built server is missing", so callers that degrade on `null` treat a
39
+ * broken build as a supported mode. For the index that means every process
40
+ * quietly builds its own FTS5 database instead of sharing the project's one
41
+ * owner — same data, N copies, none of them authoritative.
42
+ */
43
+ export type ProjectIndexDaemonAvailability = {
44
+ readonly kind: 'available';
45
+ readonly url: URL;
46
+ }
47
+ /** `WRONGSTACK_INDEX_INLINE` / `WRONGSTACK_INDEX_SERVER=0` was set. */
48
+ | {
49
+ readonly kind: 'inline-requested';
50
+ }
51
+ /** No server entry point exists in any known output layout. */
52
+ | {
53
+ readonly kind: 'missing-build';
54
+ };
55
+ export declare function resolveProjectIndexDaemonAvailability(): ProjectIndexDaemonAvailability;
56
+ export declare function projectIndexServerExpectedBuildId(): string | null;
57
+ export declare function isProjectIndexServerAvailable(): boolean;
58
+ export declare function getProjectIndexServerConnectionState(projectRoot?: string, indexDir?: string): ProjectIndexServerConnectionState;
59
+ export declare function onProjectIndexServerConnectionStateChange(listener: ProjectIndexServerConnectionListener): () => void;
60
+ export declare function callProjectIndexServer<O extends OpName>(op: O, args: OpShapes[O]['args'], options: ProjectServerCallOptions): Promise<OpShapes[O]['result']>;
61
+ export declare function ensureProjectIndexServer(options: {
62
+ projectRoot: string;
63
+ indexDir?: string | undefined;
64
+ watchExternal: boolean;
65
+ debounceMs: number;
66
+ }): Promise<void>;
67
+ export declare function checkProjectIndexServerHealth(projectRoot: string, indexDir?: string, options?: {
68
+ timeoutMs?: number | undefined;
69
+ }): Promise<ProjectIndexServerClientHealth>;
70
+ export declare function shutdownProjectIndexServer(projectRoot: string, indexDir?: string, reason?: string): Promise<ProjectIndexServerShutdownResult>;
71
+ /** Disconnect this process from every project server without stopping them. */
72
+ export declare function closeProjectIndexServerClients(): void;
73
+ export {};
74
+ //# sourceMappingURL=project-server-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-server-client.d.ts","sourceRoot":"","sources":["../../src/codebase-index/project-server-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare const PROJECT_INDEX_SERVER_PROTOCOL_VERSION = 1;
2
+ export declare const PROJECT_INDEX_SERVER_METADATA_FILE = "server.json";
3
+ /**
4
+ * Content identity for the actual server artifact.
5
+ *
6
+ * Package versions do not change during a local rebuild, so the handshake
7
+ * hashes the resolved `project-server.js` itself. The stat guard avoids
8
+ * re-reading the bundle on every reconnect while still noticing a rebuild in a
9
+ * long-lived client process.
10
+ */
11
+ export declare function projectIndexServerBuildId(entrypoint: string | URL): string;
12
+ /**
13
+ * Local project identity used by the index transport.
14
+ *
15
+ * The index directory is authoritative rather than the cross-machine project
16
+ * id: worktrees and local clones may share a project id while requiring
17
+ * physically separate SQLite indexes.
18
+ */
19
+ export declare function projectIndexServerKey(projectRoot: string, indexDir?: string): string;
20
+ /** Deterministic per-project local IPC endpoint. */
21
+ export declare function projectIndexServerEndpoint(projectRoot: string, indexDir?: string): string;
22
+ export declare function projectIndexServerMetadataPath(projectRoot: string, indexDir?: string): string;
23
+ export declare function ensureProjectIndexSocketDirectory(endpoint: string): void;
24
+ //# sourceMappingURL=project-server-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-server-endpoint.d.ts","sourceRoot":"","sources":["../../src/codebase-index/project-server-endpoint.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD,eAAO,MAAM,kCAAkC,gBAAgB,CAAC;AAWhE;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAsB1E;AAOD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,oDAAoD;AACpD,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAUzF;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7F;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIxE"}
@@ -0,0 +1,88 @@
1
+ import type { OpName, OpShapes } from './worker-protocol.js';
2
+ /** Hard ceiling for one newline-delimited IPC message (measured as JS characters). */
3
+ export declare const PROJECT_INDEX_SERVER_MAX_FRAME_CHARS: number;
4
+ export interface ProjectIndexServerInfo {
5
+ protocolVersion: number;
6
+ buildId: string;
7
+ pid: number;
8
+ projectRoot: string;
9
+ indexDir: string;
10
+ endpoint: string;
11
+ startedAt: string;
12
+ }
13
+ export interface ProjectIndexServerActivity {
14
+ indexing: boolean;
15
+ currentFile: number;
16
+ totalFiles: number;
17
+ generation: number;
18
+ updatedAt: number | null;
19
+ lastError: string | null;
20
+ }
21
+ export interface ProjectIndexServerHealth {
22
+ checkedAt: number;
23
+ uptimeMs: number;
24
+ memory: {
25
+ rss: number;
26
+ heapUsed: number;
27
+ heapTotal: number;
28
+ external: number;
29
+ };
30
+ clients: number;
31
+ activeRequests: number;
32
+ activeWrites: number;
33
+ queuedWrites: number;
34
+ pendingExternalFiles: number;
35
+ watchingExternal: boolean;
36
+ /** Clients currently requesting ownership of the shared external watcher. */
37
+ watchingClients?: number | undefined;
38
+ /** Server-side heartbeat lease applied to connected clients. */
39
+ clientLeaseTimeoutMs?: number | undefined;
40
+ /** Time since the least recently responsive client sent a message. */
41
+ oldestClientIdleMs?: number | undefined;
42
+ activity: ProjectIndexServerActivity;
43
+ }
44
+ export type ProjectServerClientMessage = {
45
+ type: 'request';
46
+ id: number;
47
+ op: OpName;
48
+ args: OpShapes[OpName]['args'];
49
+ } | {
50
+ type: 'cancel';
51
+ id: number;
52
+ } | {
53
+ type: 'configure';
54
+ id: number;
55
+ watchExternal: boolean;
56
+ debounceMs: number;
57
+ } | {
58
+ type: 'ping';
59
+ id: number;
60
+ } | {
61
+ type: 'shutdown';
62
+ id: number;
63
+ reason?: string | undefined;
64
+ };
65
+ export type ProjectServerMessage = ({
66
+ type: 'hello';
67
+ } & ProjectIndexServerInfo) | {
68
+ type: 'index-state';
69
+ state: ProjectIndexServerActivity;
70
+ } | {
71
+ type: 'response';
72
+ id: number;
73
+ ok: true;
74
+ result: unknown;
75
+ } | {
76
+ type: 'response';
77
+ id: number;
78
+ ok: false;
79
+ error: string;
80
+ errorName?: string | undefined;
81
+ } | {
82
+ type: 'progress';
83
+ id: number;
84
+ current: number;
85
+ total: number;
86
+ };
87
+ export declare function encodeProjectServerMessage(message: object): string;
88
+ //# sourceMappingURL=project-server-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-server-protocol.d.ts","sourceRoot":"","sources":["../../src/codebase-index/project-server-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * One detached codebase-index server per local project index.
4
+ *
5
+ * Every TUI/CLI/WebUI process connects to the deterministic local IPC endpoint
6
+ * for the project's index directory. The OS-level listen operation is the
7
+ * election primitive: when several clients race to spawn a server, exactly one
8
+ * process binds and the other candidates exit on EADDRINUSE.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=project-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-server.d.ts","sourceRoot":"","sources":["../../src/codebase-index/project-server.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}