@cleocode/contracts 2026.5.60 → 2026.5.62

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 (75) hide show
  1. package/dist/__tests__/nexus-scope-map.test.d.ts +8 -0
  2. package/dist/__tests__/nexus-scope-map.test.d.ts.map +1 -0
  3. package/dist/__tests__/nexus-scope-map.test.js +145 -0
  4. package/dist/__tests__/nexus-scope-map.test.js.map +1 -0
  5. package/dist/branch-lock.d.ts +11 -0
  6. package/dist/branch-lock.d.ts.map +1 -1
  7. package/dist/branch-lock.js +11 -0
  8. package/dist/branch-lock.js.map +1 -1
  9. package/dist/config.d.ts +21 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/data-accessor.d.ts +2 -0
  12. package/dist/data-accessor.d.ts.map +1 -1
  13. package/dist/data-accessor.js.map +1 -1
  14. package/dist/engine-result.d.ts +170 -0
  15. package/dist/engine-result.d.ts.map +1 -0
  16. package/dist/engine-result.js +123 -0
  17. package/dist/engine-result.js.map +1 -0
  18. package/dist/errors.d.ts +24 -0
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +31 -0
  21. package/dist/errors.js.map +1 -1
  22. package/dist/exit-codes.d.ts +8 -1
  23. package/dist/exit-codes.d.ts.map +1 -1
  24. package/dist/exit-codes.js +7 -0
  25. package/dist/exit-codes.js.map +1 -1
  26. package/dist/graph.d.ts +88 -0
  27. package/dist/graph.d.ts.map +1 -1
  28. package/dist/graph.js +35 -0
  29. package/dist/graph.js.map +1 -1
  30. package/dist/index.d.ts +10 -5
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +6 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/operations/nexus-scope-map.d.ts +540 -0
  35. package/dist/operations/nexus-scope-map.d.ts.map +1 -0
  36. package/dist/operations/nexus-scope-map.js +556 -0
  37. package/dist/operations/nexus-scope-map.js.map +1 -0
  38. package/dist/operations/nexus-scope.d.ts +185 -0
  39. package/dist/operations/nexus-scope.d.ts.map +1 -0
  40. package/dist/operations/nexus-scope.js +9 -0
  41. package/dist/operations/nexus-scope.js.map +1 -0
  42. package/dist/operations/session.d.ts +79 -0
  43. package/dist/operations/session.d.ts.map +1 -1
  44. package/dist/operations/tasks.d.ts +38 -0
  45. package/dist/operations/tasks.d.ts.map +1 -1
  46. package/dist/operations/worktree.d.ts +33 -0
  47. package/dist/operations/worktree.d.ts.map +1 -1
  48. package/dist/spawn.d.ts +94 -0
  49. package/dist/spawn.d.ts.map +1 -1
  50. package/dist/spawn.js +65 -1
  51. package/dist/spawn.js.map +1 -1
  52. package/dist/task.d.ts +17 -2
  53. package/dist/task.d.ts.map +1 -1
  54. package/dist/task.js +11 -1
  55. package/dist/task.js.map +1 -1
  56. package/dist/tasks.d.ts +0 -2
  57. package/dist/tasks.d.ts.map +1 -1
  58. package/package.json +2 -2
  59. package/src/__tests__/nexus-scope-map.test.ts +183 -0
  60. package/src/branch-lock.ts +11 -0
  61. package/src/config.ts +22 -0
  62. package/src/data-accessor.ts +3 -0
  63. package/src/engine-result.ts +220 -0
  64. package/src/errors.ts +34 -0
  65. package/src/exit-codes.ts +8 -0
  66. package/src/graph.ts +112 -0
  67. package/src/index.ts +49 -2
  68. package/src/operations/nexus-scope-map.ts +597 -0
  69. package/src/operations/nexus-scope.ts +217 -0
  70. package/src/operations/session.ts +87 -0
  71. package/src/operations/tasks.ts +40 -0
  72. package/src/operations/worktree.ts +33 -0
  73. package/src/spawn.ts +141 -0
  74. package/src/task.ts +30 -1
  75. package/src/tasks.ts +0 -2
@@ -0,0 +1,556 @@
1
+ /**
2
+ * NEXUS_SCOPE_MAP — Single Source of Truth for Nexus operation metadata.
3
+ *
4
+ * Maps every key of {@link NexusOps} to a {@link NexusOperationDescriptor},
5
+ * enabling compile-time exhaustiveness checking (via `_ExhaustivenessCheck`)
6
+ * and runtime helpers (`getNexusDescriptor`, `listOpsByScope`).
7
+ *
8
+ * To add a new Nexus operation:
9
+ * 1. Add the key to `NexusOps` in `nexus.ts`.
10
+ * 2. Add the corresponding entry here — the build will fail until both are present.
11
+ *
12
+ * @task T9145
13
+ * @module operations/nexus-scope-map
14
+ */
15
+ // ---------------------------------------------------------------------------
16
+ // SSoT map
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * Single Source of Truth mapping every NexusOps key to its descriptor.
20
+ *
21
+ * `satisfies Record<keyof NexusOps, NexusOperationDescriptor>` enforces
22
+ * exhaustiveness at compile time — adding a new key to NexusOps without a
23
+ * corresponding entry here is a type error.
24
+ */
25
+ export const NEXUS_SCOPE_MAP = {
26
+ // ── Query / read ops ──────────────────────────────────────────────────────
27
+ status: {
28
+ op: 'status',
29
+ description: 'Check whether nexus.db is open and accessible.',
30
+ scope: 'project',
31
+ effect: 'read',
32
+ stores: ['nexus-graph'],
33
+ requiresProject: true,
34
+ },
35
+ list: {
36
+ op: 'list',
37
+ description: 'List all registered Nexus projects.',
38
+ scope: 'global',
39
+ effect: 'read',
40
+ stores: ['nexus-registry'],
41
+ requiresProject: false,
42
+ },
43
+ show: {
44
+ op: 'show',
45
+ description: 'Show details for a registered project.',
46
+ scope: 'global',
47
+ effect: 'read',
48
+ stores: ['nexus-registry'],
49
+ requiresProject: false,
50
+ },
51
+ resolve: {
52
+ op: 'resolve',
53
+ description: 'Resolve a symbol name to its graph node(s).',
54
+ scope: 'project',
55
+ effect: 'read',
56
+ stores: ['nexus-graph'],
57
+ requiresProject: true,
58
+ },
59
+ deps: {
60
+ op: 'deps',
61
+ description: 'List dependencies of a symbol (callers or callees).',
62
+ scope: 'project',
63
+ effect: 'read',
64
+ stores: ['nexus-graph'],
65
+ requiresProject: true,
66
+ },
67
+ graph: {
68
+ op: 'graph',
69
+ description: 'Return the raw graph (nodes + relations) for a project.',
70
+ scope: 'project',
71
+ effect: 'read',
72
+ stores: ['nexus-graph'],
73
+ requiresProject: true,
74
+ },
75
+ 'path.show': {
76
+ op: 'path.show',
77
+ description: 'Show the shortest graph path between two symbols.',
78
+ scope: 'project',
79
+ effect: 'read',
80
+ stores: ['nexus-graph'],
81
+ requiresProject: true,
82
+ },
83
+ 'blockers.show': {
84
+ op: 'blockers.show',
85
+ description: 'Show symbols that block a given symbol from being resolved.',
86
+ scope: 'project',
87
+ effect: 'read',
88
+ stores: ['nexus-graph'],
89
+ requiresProject: true,
90
+ },
91
+ 'orphans.list': {
92
+ op: 'orphans.list',
93
+ description: 'List graph nodes with no incoming or outgoing edges.',
94
+ scope: 'project',
95
+ effect: 'read',
96
+ stores: ['nexus-graph'],
97
+ requiresProject: true,
98
+ },
99
+ discover: {
100
+ op: 'discover',
101
+ description: 'Discover the codebase structure (file tree + symbol counts).',
102
+ scope: 'project',
103
+ effect: 'read',
104
+ stores: ['nexus-graph', 'fs'],
105
+ requiresProject: true,
106
+ },
107
+ search: {
108
+ op: 'search',
109
+ description: 'Full-text / semantic search over symbol names and docstrings.',
110
+ scope: 'project',
111
+ effect: 'read',
112
+ stores: ['nexus-graph'],
113
+ requiresProject: true,
114
+ },
115
+ augment: {
116
+ op: 'augment',
117
+ description: 'Augment the graph with enriched metadata (embeddings, docs).',
118
+ scope: 'project',
119
+ effect: 'write',
120
+ stores: ['nexus-graph'],
121
+ requiresProject: true,
122
+ },
123
+ 'share.status': {
124
+ op: 'share.status',
125
+ description: 'Check snapshot sharing status for a project.',
126
+ scope: 'project',
127
+ effect: 'read',
128
+ stores: ['nexus-graph'],
129
+ requiresProject: true,
130
+ },
131
+ 'transfer.preview': {
132
+ op: 'transfer.preview',
133
+ description: 'Preview a graph transfer (dry-run diff).',
134
+ scope: 'cross',
135
+ effect: 'read',
136
+ stores: ['nexus-graph'],
137
+ requiresProject: true,
138
+ },
139
+ 'top-entries': {
140
+ op: 'top-entries',
141
+ description: 'Return the top-N highest-centrality nodes.',
142
+ scope: 'project',
143
+ effect: 'read',
144
+ stores: ['nexus-graph'],
145
+ requiresProject: true,
146
+ },
147
+ impact: {
148
+ op: 'impact',
149
+ description: 'Compute the blast radius (upstream/downstream) of a change.',
150
+ scope: 'project',
151
+ effect: 'read',
152
+ stores: ['nexus-graph'],
153
+ requiresProject: true,
154
+ indexSensitive: true,
155
+ },
156
+ 'full-context': {
157
+ op: 'full-context',
158
+ description: 'Return the full 360-degree context for a symbol.',
159
+ scope: 'project',
160
+ effect: 'read',
161
+ stores: ['nexus-graph'],
162
+ requiresProject: true,
163
+ },
164
+ 'task-footprint': {
165
+ op: 'task-footprint',
166
+ description: 'Return graph nodes touched by a given task ID.',
167
+ scope: 'hybrid',
168
+ effect: 'read',
169
+ stores: ['nexus-graph', 'tasks'],
170
+ requiresProject: true,
171
+ },
172
+ 'brain-anchors': {
173
+ op: 'brain-anchors',
174
+ description: 'Return BRAIN memory entries anchored to graph nodes.',
175
+ scope: 'hybrid',
176
+ effect: 'read',
177
+ stores: ['nexus-graph', 'brain'],
178
+ requiresProject: true,
179
+ },
180
+ why: {
181
+ op: 'why',
182
+ description: 'Explain why a symbol exists (provenance + context).',
183
+ scope: 'hybrid',
184
+ effect: 'read',
185
+ stores: ['nexus-graph', 'brain'],
186
+ requiresProject: true,
187
+ },
188
+ 'impact-full': {
189
+ op: 'impact-full',
190
+ description: 'Full multi-hop impact analysis with community context.',
191
+ scope: 'project',
192
+ effect: 'read',
193
+ stores: ['nexus-graph'],
194
+ requiresProject: true,
195
+ indexSensitive: true,
196
+ },
197
+ 'route-map': {
198
+ op: 'route-map',
199
+ description: 'Generate a route map for execution flow tracing.',
200
+ scope: 'project',
201
+ effect: 'read',
202
+ stores: ['nexus-graph'],
203
+ requiresProject: true,
204
+ },
205
+ 'shape-check': {
206
+ op: 'shape-check',
207
+ description: 'Validate that a symbol conforms to a declared contract shape.',
208
+ scope: 'project',
209
+ effect: 'read',
210
+ stores: ['nexus-graph'],
211
+ requiresProject: true,
212
+ },
213
+ 'search-code': {
214
+ op: 'search-code',
215
+ description: 'Search code by pattern across the project graph.',
216
+ scope: 'project',
217
+ effect: 'read',
218
+ stores: ['nexus-graph', 'fs'],
219
+ requiresProject: true,
220
+ },
221
+ wiki: {
222
+ op: 'wiki',
223
+ description: 'Generate a wiki-style description for a symbol or module.',
224
+ scope: 'project',
225
+ effect: 'read',
226
+ stores: ['nexus-graph'],
227
+ requiresProject: true,
228
+ },
229
+ 'contracts-show': {
230
+ op: 'contracts-show',
231
+ description: 'Show the contract compliance record for a symbol.',
232
+ scope: 'project',
233
+ effect: 'read',
234
+ stores: ['nexus-graph'],
235
+ requiresProject: true,
236
+ },
237
+ 'task-symbols': {
238
+ op: 'task-symbols',
239
+ description: 'List graph symbols associated with a task.',
240
+ scope: 'hybrid',
241
+ effect: 'read',
242
+ stores: ['nexus-graph', 'tasks'],
243
+ requiresProject: true,
244
+ },
245
+ // ── Profile ops ───────────────────────────────────────────────────────────
246
+ 'profile.view': {
247
+ op: 'profile.view',
248
+ description: 'View all user profile traits from the living-brain.',
249
+ scope: 'living-brain',
250
+ effect: 'read',
251
+ stores: ['brain'],
252
+ requiresProject: false,
253
+ },
254
+ 'profile.get': {
255
+ op: 'profile.get',
256
+ description: 'Get a single user profile trait.',
257
+ scope: 'living-brain',
258
+ effect: 'read',
259
+ stores: ['brain'],
260
+ requiresProject: false,
261
+ },
262
+ 'profile.import': {
263
+ op: 'profile.import',
264
+ description: 'Import user profile traits from a JSON file.',
265
+ scope: 'living-brain',
266
+ effect: 'write',
267
+ stores: ['brain'],
268
+ requiresProject: false,
269
+ },
270
+ 'profile.export': {
271
+ op: 'profile.export',
272
+ description: 'Export user profile traits to JSON.',
273
+ scope: 'living-brain',
274
+ effect: 'read',
275
+ stores: ['brain'],
276
+ requiresProject: false,
277
+ },
278
+ 'profile.reinforce': {
279
+ op: 'profile.reinforce',
280
+ description: 'Reinforce a user profile trait (increase confidence).',
281
+ scope: 'living-brain',
282
+ effect: 'write',
283
+ stores: ['brain'],
284
+ requiresProject: false,
285
+ },
286
+ 'profile.upsert': {
287
+ op: 'profile.upsert',
288
+ description: 'Upsert a user profile trait.',
289
+ scope: 'living-brain',
290
+ effect: 'write',
291
+ stores: ['brain'],
292
+ requiresProject: false,
293
+ },
294
+ 'profile.supersede': {
295
+ op: 'profile.supersede',
296
+ description: 'Mark a user profile trait as superseded by another.',
297
+ scope: 'living-brain',
298
+ effect: 'write',
299
+ stores: ['brain'],
300
+ requiresProject: false,
301
+ },
302
+ // ── Sigil ops ─────────────────────────────────────────────────────────────
303
+ 'sigil.list': {
304
+ op: 'sigil.list',
305
+ description: 'List code sigils (bookmarks / anchors) in a project.',
306
+ scope: 'project',
307
+ effect: 'read',
308
+ stores: ['nexus-graph'],
309
+ requiresProject: true,
310
+ },
311
+ 'sigil.sync': {
312
+ op: 'sigil.sync',
313
+ description: 'Sync sigils with the current graph state.',
314
+ scope: 'project',
315
+ effect: 'write',
316
+ stores: ['nexus-graph'],
317
+ requiresProject: true,
318
+ },
319
+ // ── Registry / admin ops ──────────────────────────────────────────────────
320
+ init: {
321
+ op: 'init',
322
+ description: 'Initialize a new Nexus project database.',
323
+ scope: 'project',
324
+ effect: 'admin',
325
+ stores: ['nexus-graph', 'nexus-registry'],
326
+ requiresProject: true,
327
+ },
328
+ register: {
329
+ op: 'register',
330
+ description: 'Register a project with the global Nexus registry.',
331
+ scope: 'global',
332
+ effect: 'admin',
333
+ stores: ['nexus-registry'],
334
+ requiresProject: false,
335
+ },
336
+ unregister: {
337
+ op: 'unregister',
338
+ description: 'Remove a project from the global Nexus registry.',
339
+ scope: 'global',
340
+ effect: 'admin',
341
+ stores: ['nexus-registry'],
342
+ requiresProject: false,
343
+ },
344
+ sync: {
345
+ op: 'sync',
346
+ description: 'Re-analyze and sync the project graph with the codebase.',
347
+ scope: 'project',
348
+ effect: 'write',
349
+ stores: ['nexus-graph', 'fs'],
350
+ requiresProject: true,
351
+ },
352
+ 'permission.set': {
353
+ op: 'permission.set',
354
+ description: 'Set access permissions for a Nexus project.',
355
+ scope: 'global',
356
+ effect: 'admin',
357
+ stores: ['nexus-registry'],
358
+ requiresProject: false,
359
+ },
360
+ reconcile: {
361
+ op: 'reconcile',
362
+ description: 'Reconcile graph state with on-disk source files.',
363
+ scope: 'project',
364
+ effect: 'write',
365
+ stores: ['nexus-graph', 'fs'],
366
+ requiresProject: true,
367
+ },
368
+ 'share.snapshot.export': {
369
+ op: 'share.snapshot.export',
370
+ description: 'Export a shareable snapshot of the project graph.',
371
+ scope: 'project',
372
+ effect: 'read',
373
+ stores: ['nexus-graph', 'fs'],
374
+ requiresProject: true,
375
+ },
376
+ 'share.snapshot.import': {
377
+ op: 'share.snapshot.import',
378
+ description: 'Import a shared project graph snapshot.',
379
+ scope: 'project',
380
+ effect: 'write',
381
+ stores: ['nexus-graph'],
382
+ requiresProject: true,
383
+ },
384
+ transfer: {
385
+ op: 'transfer',
386
+ description: 'Transfer graph data between projects.',
387
+ scope: 'cross',
388
+ effect: 'write',
389
+ stores: ['nexus-graph'],
390
+ requiresProject: true,
391
+ },
392
+ 'contracts-sync': {
393
+ op: 'contracts-sync',
394
+ description: 'Sync contract compliance records with the graph.',
395
+ scope: 'project',
396
+ effect: 'write',
397
+ stores: ['nexus-graph'],
398
+ requiresProject: true,
399
+ },
400
+ 'contracts-link-tasks': {
401
+ op: 'contracts-link-tasks',
402
+ description: 'Link contract compliance records to task IDs.',
403
+ scope: 'hybrid',
404
+ effect: 'write',
405
+ stores: ['nexus-graph', 'tasks'],
406
+ requiresProject: true,
407
+ },
408
+ 'conduit-scan': {
409
+ op: 'conduit-scan',
410
+ description: 'Scan Conduit messaging patterns into the graph.',
411
+ scope: 'project',
412
+ effect: 'write',
413
+ stores: ['nexus-graph'],
414
+ requiresProject: true,
415
+ },
416
+ // ── Analytics ops ─────────────────────────────────────────────────────────
417
+ clusters: {
418
+ op: 'clusters',
419
+ description: 'Return detected community clusters in the graph.',
420
+ scope: 'project',
421
+ effect: 'read',
422
+ stores: ['nexus-graph'],
423
+ requiresProject: true,
424
+ },
425
+ flows: {
426
+ op: 'flows',
427
+ description: 'Return detected execution flows (process traces).',
428
+ scope: 'project',
429
+ effect: 'read',
430
+ stores: ['nexus-graph'],
431
+ requiresProject: true,
432
+ },
433
+ context: {
434
+ op: 'context',
435
+ description: 'Return project context summary (node/relation counts, freshness).',
436
+ scope: 'project',
437
+ effect: 'read',
438
+ stores: ['nexus-graph'],
439
+ requiresProject: true,
440
+ indexSensitive: true,
441
+ },
442
+ 'projects.list': {
443
+ op: 'projects.list',
444
+ description: 'List all registered projects (alias: list).',
445
+ scope: 'global',
446
+ effect: 'read',
447
+ stores: ['nexus-registry'],
448
+ requiresProject: false,
449
+ },
450
+ 'projects.register': {
451
+ op: 'projects.register',
452
+ description: 'Register a project (alias: register).',
453
+ scope: 'global',
454
+ effect: 'admin',
455
+ stores: ['nexus-registry'],
456
+ requiresProject: false,
457
+ },
458
+ 'projects.remove': {
459
+ op: 'projects.remove',
460
+ description: 'Remove a project (alias: unregister).',
461
+ scope: 'global',
462
+ effect: 'admin',
463
+ stores: ['nexus-registry'],
464
+ requiresProject: false,
465
+ },
466
+ 'projects.scan': {
467
+ op: 'projects.scan',
468
+ description: 'Scan a project directory and update the registry.',
469
+ scope: 'global',
470
+ effect: 'admin',
471
+ stores: ['nexus-registry', 'fs'],
472
+ requiresProject: false,
473
+ },
474
+ 'projects.clean': {
475
+ op: 'projects.clean',
476
+ description: 'Remove stale project entries from the registry.',
477
+ scope: 'global',
478
+ effect: 'admin',
479
+ stores: ['nexus-registry'],
480
+ requiresProject: false,
481
+ },
482
+ 'refresh-bridge': {
483
+ op: 'refresh-bridge',
484
+ description: 'Refresh the Nexus → BRAIN cross-store bridge.',
485
+ scope: 'hybrid',
486
+ effect: 'write',
487
+ stores: ['nexus-graph', 'brain'],
488
+ requiresProject: true,
489
+ },
490
+ diff: {
491
+ op: 'diff',
492
+ description: 'Diff the graph between two commits or snapshots.',
493
+ scope: 'project',
494
+ effect: 'read',
495
+ stores: ['nexus-graph', 'fs'],
496
+ requiresProject: true,
497
+ indexSensitive: true,
498
+ },
499
+ 'query-cte': {
500
+ op: 'query-cte',
501
+ description: 'Execute a raw CTE query against the Nexus graph DB.',
502
+ scope: 'project',
503
+ effect: 'read',
504
+ stores: ['nexus-graph'],
505
+ requiresProject: true,
506
+ },
507
+ 'hot-paths': {
508
+ op: 'hot-paths',
509
+ description: 'Return the most frequently traversed call paths.',
510
+ scope: 'project',
511
+ effect: 'read',
512
+ stores: ['nexus-graph'],
513
+ requiresProject: true,
514
+ },
515
+ 'hot-nodes': {
516
+ op: 'hot-nodes',
517
+ description: 'Return the highest-degree (most connected) nodes.',
518
+ scope: 'project',
519
+ effect: 'read',
520
+ stores: ['nexus-graph'],
521
+ requiresProject: true,
522
+ },
523
+ 'cold-symbols': {
524
+ op: 'cold-symbols',
525
+ description: 'Return low-usage symbols that may be candidates for removal.',
526
+ scope: 'project',
527
+ effect: 'read',
528
+ stores: ['nexus-graph'],
529
+ requiresProject: true,
530
+ },
531
+ };
532
+ // This assignment triggers the exhaustiveness check at compile time.
533
+ const _check = true;
534
+ void _check;
535
+ // ---------------------------------------------------------------------------
536
+ // Runtime helpers
537
+ // ---------------------------------------------------------------------------
538
+ /**
539
+ * Return the {@link NexusOperationDescriptor} for a given Nexus operation key.
540
+ *
541
+ * @param op - Any key of {@link NexusOps}
542
+ * @returns The corresponding descriptor
543
+ */
544
+ export function getNexusDescriptor(op) {
545
+ return NEXUS_SCOPE_MAP[op];
546
+ }
547
+ /**
548
+ * Return all Nexus operation keys that match a given {@link NexusScope}.
549
+ *
550
+ * @param scope - The scope to filter by
551
+ * @returns Array of matching operation keys
552
+ */
553
+ export function listOpsByScope(scope) {
554
+ return Object.keys(NEXUS_SCOPE_MAP).filter((k) => NEXUS_SCOPE_MAP[k].scope === scope);
555
+ }
556
+ //# sourceMappingURL=nexus-scope-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nexus-scope-map.js","sourceRoot":"","sources":["../../src/operations/nexus-scope-map.ts"],"names":[],"mappings":"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"}