@neurcode-ai/cli 0.14.0 → 0.15.0

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 (188) hide show
  1. package/README.md +60 -8
  2. package/dist/api-client.d.ts +284 -0
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +111 -0
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/commands/activate.d.ts +82 -0
  7. package/dist/commands/activate.d.ts.map +1 -0
  8. package/dist/commands/activate.js +551 -0
  9. package/dist/commands/activate.js.map +1 -0
  10. package/dist/commands/admission.d.ts +67 -0
  11. package/dist/commands/admission.d.ts.map +1 -0
  12. package/dist/commands/admission.js +350 -0
  13. package/dist/commands/admission.js.map +1 -0
  14. package/dist/commands/agent.d.ts +3 -0
  15. package/dist/commands/agent.d.ts.map +1 -0
  16. package/dist/commands/agent.js +2045 -0
  17. package/dist/commands/agent.js.map +1 -0
  18. package/dist/commands/demo.d.ts +3 -0
  19. package/dist/commands/demo.d.ts.map +1 -0
  20. package/dist/commands/demo.js +102 -0
  21. package/dist/commands/demo.js.map +1 -0
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +58 -44
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/login.d.ts +1 -1
  26. package/dist/commands/login.d.ts.map +1 -1
  27. package/dist/commands/login.js +44 -22
  28. package/dist/commands/login.js.map +1 -1
  29. package/dist/commands/profile.d.ts +14 -0
  30. package/dist/commands/profile.d.ts.map +1 -0
  31. package/dist/commands/profile.js +118 -0
  32. package/dist/commands/profile.js.map +1 -0
  33. package/dist/commands/quickstart.d.ts +2 -2
  34. package/dist/commands/quickstart.d.ts.map +1 -1
  35. package/dist/commands/quickstart.js +31 -30
  36. package/dist/commands/quickstart.js.map +1 -1
  37. package/dist/commands/remediate-export.d.ts +6 -1
  38. package/dist/commands/remediate-export.d.ts.map +1 -1
  39. package/dist/commands/remediate-export.js +359 -7
  40. package/dist/commands/remediate-export.js.map +1 -1
  41. package/dist/commands/replay.d.ts.map +1 -1
  42. package/dist/commands/replay.js +84 -0
  43. package/dist/commands/replay.js.map +1 -1
  44. package/dist/commands/run.d.ts +3 -0
  45. package/dist/commands/run.d.ts.map +1 -0
  46. package/dist/commands/run.js +98 -0
  47. package/dist/commands/run.js.map +1 -0
  48. package/dist/commands/runtime-adapter.d.ts +8 -0
  49. package/dist/commands/runtime-adapter.d.ts.map +1 -0
  50. package/dist/commands/runtime-adapter.js +375 -0
  51. package/dist/commands/runtime-adapter.js.map +1 -0
  52. package/dist/commands/runtime-doctor.d.ts +6 -0
  53. package/dist/commands/runtime-doctor.d.ts.map +1 -0
  54. package/dist/commands/runtime-doctor.js +478 -0
  55. package/dist/commands/runtime-doctor.js.map +1 -0
  56. package/dist/commands/runtime-report.d.ts +13 -0
  57. package/dist/commands/runtime-report.d.ts.map +1 -0
  58. package/dist/commands/runtime-report.js +81 -0
  59. package/dist/commands/runtime-report.js.map +1 -0
  60. package/dist/commands/runtime-sync.d.ts +17 -0
  61. package/dist/commands/runtime-sync.d.ts.map +1 -0
  62. package/dist/commands/runtime-sync.js +656 -0
  63. package/dist/commands/runtime-sync.js.map +1 -0
  64. package/dist/commands/runtime.d.ts +16 -0
  65. package/dist/commands/runtime.d.ts.map +1 -0
  66. package/dist/commands/runtime.js +380 -0
  67. package/dist/commands/runtime.js.map +1 -0
  68. package/dist/commands/session-hook.d.ts +35 -0
  69. package/dist/commands/session-hook.d.ts.map +1 -0
  70. package/dist/commands/session-hook.js +1297 -0
  71. package/dist/commands/session-hook.js.map +1 -0
  72. package/dist/commands/session.d.ts +91 -0
  73. package/dist/commands/session.d.ts.map +1 -1
  74. package/dist/commands/session.js +1226 -0
  75. package/dist/commands/session.js.map +1 -1
  76. package/dist/commands/whoami.d.ts +7 -4
  77. package/dist/commands/whoami.d.ts.map +1 -1
  78. package/dist/commands/whoami.js +59 -34
  79. package/dist/commands/whoami.js.map +1 -1
  80. package/dist/config.d.ts.map +1 -1
  81. package/dist/config.js +24 -5
  82. package/dist/config.js.map +1 -1
  83. package/dist/daemon/routes.d.ts.map +1 -1
  84. package/dist/daemon/routes.js +8 -0
  85. package/dist/daemon/routes.js.map +1 -1
  86. package/dist/daemon/server.d.ts.map +1 -1
  87. package/dist/daemon/server.js +88 -0
  88. package/dist/daemon/server.js.map +1 -1
  89. package/dist/governance/impact-analysis.d.ts +27 -0
  90. package/dist/governance/impact-analysis.d.ts.map +1 -0
  91. package/dist/governance/impact-analysis.js +274 -0
  92. package/dist/governance/impact-analysis.js.map +1 -0
  93. package/dist/index.js +472 -29
  94. package/dist/index.js.map +1 -1
  95. package/dist/intent-engine/matcher.d.ts.map +1 -1
  96. package/dist/intent-engine/matcher.js +3 -12
  97. package/dist/intent-engine/matcher.js.map +1 -1
  98. package/dist/utils/admission-artifact.d.ts +59 -0
  99. package/dist/utils/admission-artifact.d.ts.map +1 -0
  100. package/dist/utils/admission-artifact.js +410 -0
  101. package/dist/utils/admission-artifact.js.map +1 -0
  102. package/dist/utils/agent-adapter-setup.d.ts +80 -0
  103. package/dist/utils/agent-adapter-setup.d.ts.map +1 -0
  104. package/dist/utils/agent-adapter-setup.js +577 -0
  105. package/dist/utils/agent-adapter-setup.js.map +1 -0
  106. package/dist/utils/agent-guard-supervisor.d.ts +75 -0
  107. package/dist/utils/agent-guard-supervisor.d.ts.map +1 -0
  108. package/dist/utils/agent-guard-supervisor.js +388 -0
  109. package/dist/utils/agent-guard-supervisor.js.map +1 -0
  110. package/dist/utils/agent-guard.d.ts +92 -0
  111. package/dist/utils/agent-guard.d.ts.map +1 -0
  112. package/dist/utils/agent-guard.js +326 -0
  113. package/dist/utils/agent-guard.js.map +1 -0
  114. package/dist/utils/agent-session-launcher.d.ts +89 -0
  115. package/dist/utils/agent-session-launcher.d.ts.map +1 -0
  116. package/dist/utils/agent-session-launcher.js +308 -0
  117. package/dist/utils/agent-session-launcher.js.map +1 -0
  118. package/dist/utils/bash-command-analysis.d.ts +19 -0
  119. package/dist/utils/bash-command-analysis.d.ts.map +1 -0
  120. package/dist/utils/bash-command-analysis.js +295 -0
  121. package/dist/utils/bash-command-analysis.js.map +1 -0
  122. package/dist/utils/consequence-nudges.d.ts +30 -0
  123. package/dist/utils/consequence-nudges.d.ts.map +1 -0
  124. package/dist/utils/consequence-nudges.js +313 -0
  125. package/dist/utils/consequence-nudges.js.map +1 -0
  126. package/dist/utils/drift-intelligence.d.ts.map +1 -1
  127. package/dist/utils/drift-intelligence.js +29 -7
  128. package/dist/utils/drift-intelligence.js.map +1 -1
  129. package/dist/utils/git-coverage.d.ts +57 -0
  130. package/dist/utils/git-coverage.d.ts.map +1 -0
  131. package/dist/utils/git-coverage.js +302 -0
  132. package/dist/utils/git-coverage.js.map +1 -0
  133. package/dist/utils/gitignore.d.ts.map +1 -1
  134. package/dist/utils/gitignore.js +2 -1
  135. package/dist/utils/gitignore.js.map +1 -1
  136. package/dist/utils/governed-intent.d.ts +10 -0
  137. package/dist/utils/governed-intent.d.ts.map +1 -0
  138. package/dist/utils/governed-intent.js +108 -0
  139. package/dist/utils/governed-intent.js.map +1 -0
  140. package/dist/utils/hook-heartbeat.d.ts +55 -0
  141. package/dist/utils/hook-heartbeat.d.ts.map +1 -0
  142. package/dist/utils/hook-heartbeat.js +116 -0
  143. package/dist/utils/hook-heartbeat.js.map +1 -0
  144. package/dist/utils/intent-continuity.d.ts +21 -0
  145. package/dist/utils/intent-continuity.d.ts.map +1 -0
  146. package/dist/utils/intent-continuity.js +192 -0
  147. package/dist/utils/intent-continuity.js.map +1 -0
  148. package/dist/utils/messages.d.ts +1 -1
  149. package/dist/utils/messages.d.ts.map +1 -1
  150. package/dist/utils/messages.js +24 -21
  151. package/dist/utils/messages.js.map +1 -1
  152. package/dist/utils/runtime-companion.d.ts +137 -0
  153. package/dist/utils/runtime-companion.d.ts.map +1 -0
  154. package/dist/utils/runtime-companion.js +231 -0
  155. package/dist/utils/runtime-companion.js.map +1 -0
  156. package/dist/utils/runtime-connection.d.ts +46 -0
  157. package/dist/utils/runtime-connection.d.ts.map +1 -0
  158. package/dist/utils/runtime-connection.js +148 -0
  159. package/dist/utils/runtime-connection.js.map +1 -0
  160. package/dist/utils/runtime-evidence.d.ts +68 -0
  161. package/dist/utils/runtime-evidence.d.ts.map +1 -0
  162. package/dist/utils/runtime-evidence.js +248 -0
  163. package/dist/utils/runtime-evidence.js.map +1 -0
  164. package/dist/utils/runtime-live.d.ts +33 -0
  165. package/dist/utils/runtime-live.d.ts.map +1 -0
  166. package/dist/utils/runtime-live.js +361 -0
  167. package/dist/utils/runtime-live.js.map +1 -0
  168. package/dist/utils/runtime-outbox.d.ts +76 -0
  169. package/dist/utils/runtime-outbox.d.ts.map +1 -0
  170. package/dist/utils/runtime-outbox.js +410 -0
  171. package/dist/utils/runtime-outbox.js.map +1 -0
  172. package/dist/utils/runtime-receipt.d.ts +50 -0
  173. package/dist/utils/runtime-receipt.d.ts.map +1 -0
  174. package/dist/utils/runtime-receipt.js +223 -0
  175. package/dist/utils/runtime-receipt.js.map +1 -0
  176. package/dist/utils/state.d.ts +21 -0
  177. package/dist/utils/state.d.ts.map +1 -1
  178. package/dist/utils/state.js +30 -0
  179. package/dist/utils/state.js.map +1 -1
  180. package/dist/utils/structural-understanding.d.ts +334 -0
  181. package/dist/utils/structural-understanding.d.ts.map +1 -0
  182. package/dist/utils/structural-understanding.js +2316 -0
  183. package/dist/utils/structural-understanding.js.map +1 -0
  184. package/dist/utils/v0-governance.d.ts +197 -0
  185. package/dist/utils/v0-governance.d.ts.map +1 -0
  186. package/dist/utils/v0-governance.js +904 -0
  187. package/dist/utils/v0-governance.js.map +1 -0
  188. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-live.js","sourceRoot":"","sources":["../../src/utils/runtime-live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ export declare const RUNTIME_OUTBOX_SCHEMA_VERSION: "neurcode.runtime-outbox.v1";
2
+ export declare const RUNTIME_DELIVERY_SCHEMA_VERSION: "neurcode.runtime-delivery.v1";
3
+ export declare const MAX_RUNTIME_OUTBOX_EVENTS = 1000;
4
+ export declare const MAX_RUNTIME_DEAD_LETTER_EVENTS = 100;
5
+ export declare const MAX_RUNTIME_DELIVERY_ATTEMPTS = 5;
6
+ export type RuntimeOutboxEventType = 'session_snapshot' | 'approval_ack';
7
+ export interface RuntimeDeliveryEnvelope {
8
+ schemaVersion: typeof RUNTIME_DELIVERY_SCHEMA_VERSION;
9
+ eventId: string;
10
+ sessionId: string;
11
+ sequence: number;
12
+ eventType: RuntimeOutboxEventType;
13
+ generatedAt: string;
14
+ payloadHash: string;
15
+ }
16
+ export interface RuntimeOutboxEvent {
17
+ schemaVersion: typeof RUNTIME_DELIVERY_SCHEMA_VERSION;
18
+ eventId: string;
19
+ sessionId: string;
20
+ sequence: number;
21
+ eventType: RuntimeOutboxEventType;
22
+ generatedAt: string;
23
+ payloadHash: string;
24
+ payload: Record<string, unknown>;
25
+ attemptCount: number;
26
+ nextAttemptAt: string | null;
27
+ lastAttemptAt: string | null;
28
+ lastError: string | null;
29
+ }
30
+ export interface RuntimeDeadLetterEvent extends RuntimeOutboxEvent {
31
+ deadLetteredAt: string;
32
+ deadLetterReason: string;
33
+ }
34
+ export type RuntimeOutboxHealth = 'healthy' | 'queued' | 'retrying' | 'degraded';
35
+ export interface RuntimeOutboxStatus {
36
+ schemaVersion: typeof RUNTIME_OUTBOX_SCHEMA_VERSION;
37
+ health: RuntimeOutboxHealth;
38
+ pendingEvents: number;
39
+ pendingSessionSnapshots: number;
40
+ pendingApprovalAcks: number;
41
+ retryingEvents: number;
42
+ deadLetterEvents: number;
43
+ deadLetterSessionSnapshots: number;
44
+ deadLetterApprovalAcks: number;
45
+ oldestPendingAt: string | null;
46
+ nextRetryAt: string | null;
47
+ lastEnqueuedAt: string | null;
48
+ lastAttemptAt: string | null;
49
+ lastDeliveredAt: string | null;
50
+ lastDeliveredEventId: string | null;
51
+ lastError: string | null;
52
+ lastDeadLetteredAt: string | null;
53
+ lastDeadLetteredEventId: string | null;
54
+ lastDeadLetterError: string | null;
55
+ lastRecoveredAt: string | null;
56
+ }
57
+ export declare function runtimeOutboxPath(repoRoot: string): string;
58
+ export declare function enqueueRuntimeSessionSnapshot(repoRoot: string, sessionId: string, payload: Record<string, unknown>): RuntimeOutboxEvent;
59
+ export declare function enqueueRuntimeApprovalAck(repoRoot: string, sessionId: string, payload: Record<string, unknown>): RuntimeOutboxEvent;
60
+ export declare function runtimeDeliveryEnvelope(event: RuntimeOutboxEvent): RuntimeDeliveryEnvelope;
61
+ export declare function pendingRuntimeOutboxEvents(repoRoot: string, options?: {
62
+ limit?: number;
63
+ force?: boolean;
64
+ nowMs?: number;
65
+ }): RuntimeOutboxEvent[];
66
+ export declare function markRuntimeOutboxDelivered(repoRoot: string, eventId: string): void;
67
+ export declare function markRuntimeOutboxFailed(repoRoot: string, eventId: string, error: string): {
68
+ deadLettered: boolean;
69
+ attemptCount: number;
70
+ };
71
+ export declare function retryRuntimeDeadLetters(repoRoot: string, options?: {
72
+ eventId?: string;
73
+ limit?: number;
74
+ }): number;
75
+ export declare function inspectRuntimeOutbox(repoRoot: string): RuntimeOutboxStatus;
76
+ //# sourceMappingURL=runtime-outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-outbox.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-outbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,410 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_RUNTIME_DELIVERY_ATTEMPTS = exports.MAX_RUNTIME_DEAD_LETTER_EVENTS = exports.MAX_RUNTIME_OUTBOX_EVENTS = exports.RUNTIME_DELIVERY_SCHEMA_VERSION = exports.RUNTIME_OUTBOX_SCHEMA_VERSION = void 0;
4
+ exports.runtimeOutboxPath = runtimeOutboxPath;
5
+ exports.enqueueRuntimeSessionSnapshot = enqueueRuntimeSessionSnapshot;
6
+ exports.enqueueRuntimeApprovalAck = enqueueRuntimeApprovalAck;
7
+ exports.runtimeDeliveryEnvelope = runtimeDeliveryEnvelope;
8
+ exports.pendingRuntimeOutboxEvents = pendingRuntimeOutboxEvents;
9
+ exports.markRuntimeOutboxDelivered = markRuntimeOutboxDelivered;
10
+ exports.markRuntimeOutboxFailed = markRuntimeOutboxFailed;
11
+ exports.retryRuntimeDeadLetters = retryRuntimeDeadLetters;
12
+ exports.inspectRuntimeOutbox = inspectRuntimeOutbox;
13
+ const crypto_1 = require("crypto");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ const gitignore_1 = require("./gitignore");
17
+ exports.RUNTIME_OUTBOX_SCHEMA_VERSION = 'neurcode.runtime-outbox.v1';
18
+ exports.RUNTIME_DELIVERY_SCHEMA_VERSION = 'neurcode.runtime-delivery.v1';
19
+ const OUTBOX_FILE = 'runtime-outbox.json';
20
+ const OUTBOX_LOCK = 'runtime-outbox.lock';
21
+ exports.MAX_RUNTIME_OUTBOX_EVENTS = 1_000;
22
+ exports.MAX_RUNTIME_DEAD_LETTER_EVENTS = 100;
23
+ exports.MAX_RUNTIME_DELIVERY_ATTEMPTS = 5;
24
+ const LOCK_STALE_MS = 10_000;
25
+ const SOURCE_LIKE_KEYS = new Set([
26
+ 'content',
27
+ 'fileContent',
28
+ 'file_content',
29
+ 'sourceText',
30
+ 'source_text',
31
+ 'diff',
32
+ 'diffText',
33
+ 'diff_text',
34
+ 'patch',
35
+ 'before',
36
+ 'after',
37
+ ]);
38
+ function emptyOutbox() {
39
+ return {
40
+ schemaVersion: exports.RUNTIME_OUTBOX_SCHEMA_VERSION,
41
+ nextSequenceBySession: {},
42
+ events: [],
43
+ deadLetters: [],
44
+ state: {
45
+ lastEnqueuedAt: null,
46
+ lastAttemptAt: null,
47
+ lastDeliveredAt: null,
48
+ lastDeliveredEventId: null,
49
+ lastError: null,
50
+ lastDeadLetteredAt: null,
51
+ lastDeadLetteredEventId: null,
52
+ lastDeadLetterError: null,
53
+ lastRecoveredAt: null,
54
+ },
55
+ };
56
+ }
57
+ function runtimeOutboxPath(repoRoot) {
58
+ return (0, path_1.join)(repoRoot, '.neurcode', OUTBOX_FILE);
59
+ }
60
+ function outboxLockPath(repoRoot) {
61
+ return (0, path_1.join)(repoRoot, '.neurcode', OUTBOX_LOCK);
62
+ }
63
+ function sleepSync(ms) {
64
+ const end = Date.now() + ms;
65
+ while (Date.now() < end) {
66
+ // Outbox mutations are tiny. A bounded synchronous wait avoids adding an
67
+ // async lock protocol to hook call sites while still handling overlap.
68
+ }
69
+ }
70
+ function withOutboxLock(repoRoot, action) {
71
+ const lockPath = outboxLockPath(repoRoot);
72
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(lockPath), { recursive: true });
73
+ let acquired = false;
74
+ for (let attempt = 0; attempt < 20; attempt += 1) {
75
+ try {
76
+ (0, fs_1.mkdirSync)(lockPath);
77
+ acquired = true;
78
+ break;
79
+ }
80
+ catch {
81
+ try {
82
+ if (Date.now() - (0, fs_1.statSync)(lockPath).mtimeMs > LOCK_STALE_MS) {
83
+ (0, fs_1.rmSync)(lockPath, { recursive: true, force: true });
84
+ continue;
85
+ }
86
+ }
87
+ catch {
88
+ // Another process may have released the lock between the failed mkdir
89
+ // and stat. Retry normally.
90
+ }
91
+ sleepSync(5);
92
+ }
93
+ }
94
+ if (!acquired)
95
+ throw new Error('runtime outbox is busy; retry the operation');
96
+ try {
97
+ return action();
98
+ }
99
+ finally {
100
+ (0, fs_1.rmSync)(lockPath, { recursive: true, force: true });
101
+ }
102
+ }
103
+ function stablePayloadHash(payload) {
104
+ return (0, crypto_1.createHash)('sha256').update(JSON.stringify(payload)).digest('hex').slice(0, 32);
105
+ }
106
+ function assertSourceFree(value, path = 'payload') {
107
+ if (Array.isArray(value)) {
108
+ value.forEach((item, index) => assertSourceFree(item, `${path}[${index}]`));
109
+ return;
110
+ }
111
+ if (!value || typeof value !== 'object')
112
+ return;
113
+ for (const [key, child] of Object.entries(value)) {
114
+ if (SOURCE_LIKE_KEYS.has(key)) {
115
+ throw new Error(`runtime outbox rejected source-like key ${path}.${key}`);
116
+ }
117
+ assertSourceFree(child, `${path}.${key}`);
118
+ }
119
+ }
120
+ function isRuntimeOutboxEvent(event) {
121
+ if (!event || typeof event !== 'object' || Array.isArray(event))
122
+ return false;
123
+ const candidate = event;
124
+ return candidate.schemaVersion === exports.RUNTIME_DELIVERY_SCHEMA_VERSION
125
+ && typeof candidate.eventId === 'string'
126
+ && typeof candidate.sessionId === 'string'
127
+ && Number.isFinite(candidate.sequence)
128
+ && (candidate.eventType === 'session_snapshot' || candidate.eventType === 'approval_ack')
129
+ && Boolean(candidate.payload)
130
+ && typeof candidate.payload === 'object'
131
+ && !Array.isArray(candidate.payload);
132
+ }
133
+ function isRuntimeDeadLetterEvent(event) {
134
+ return isRuntimeOutboxEvent(event)
135
+ && typeof event.deadLetteredAt === 'string'
136
+ && typeof event.deadLetterReason === 'string';
137
+ }
138
+ function normalizeOutbox(value) {
139
+ if (!value || typeof value !== 'object' || Array.isArray(value))
140
+ return emptyOutbox();
141
+ const input = value;
142
+ if (input.schemaVersion !== exports.RUNTIME_OUTBOX_SCHEMA_VERSION)
143
+ return emptyOutbox();
144
+ return {
145
+ schemaVersion: exports.RUNTIME_OUTBOX_SCHEMA_VERSION,
146
+ nextSequenceBySession: input.nextSequenceBySession && typeof input.nextSequenceBySession === 'object'
147
+ ? { ...input.nextSequenceBySession }
148
+ : {},
149
+ events: Array.isArray(input.events) ? input.events.filter(isRuntimeOutboxEvent) : [],
150
+ deadLetters: Array.isArray(input.deadLetters) ? input.deadLetters.filter(isRuntimeDeadLetterEvent) : [],
151
+ state: {
152
+ lastEnqueuedAt: input.state?.lastEnqueuedAt || null,
153
+ lastAttemptAt: input.state?.lastAttemptAt || null,
154
+ lastDeliveredAt: input.state?.lastDeliveredAt || null,
155
+ lastDeliveredEventId: input.state?.lastDeliveredEventId || null,
156
+ lastError: input.state?.lastError || null,
157
+ lastDeadLetteredAt: input.state?.lastDeadLetteredAt || null,
158
+ lastDeadLetteredEventId: input.state?.lastDeadLetteredEventId || null,
159
+ lastDeadLetterError: input.state?.lastDeadLetterError || null,
160
+ lastRecoveredAt: input.state?.lastRecoveredAt || null,
161
+ },
162
+ };
163
+ }
164
+ function readOutbox(repoRoot) {
165
+ const path = runtimeOutboxPath(repoRoot);
166
+ try {
167
+ if (!(0, fs_1.existsSync)(path))
168
+ return emptyOutbox();
169
+ return normalizeOutbox(JSON.parse((0, fs_1.readFileSync)(path, 'utf8')));
170
+ }
171
+ catch {
172
+ return emptyOutbox();
173
+ }
174
+ }
175
+ function writeOutbox(repoRoot, outbox) {
176
+ const path = runtimeOutboxPath(repoRoot);
177
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(path), { recursive: true });
178
+ (0, gitignore_1.ensureNeurcodeInGitignore)(repoRoot);
179
+ const tmp = `${path}.${process.pid}.${Date.now()}.tmp`;
180
+ (0, fs_1.writeFileSync)(tmp, JSON.stringify(outbox, null, 2) + '\n', 'utf8');
181
+ (0, fs_1.renameSync)(tmp, path);
182
+ }
183
+ function nextSequence(outbox, sessionId) {
184
+ const sequence = Math.max(0, Number(outbox.nextSequenceBySession[sessionId] || 0)) + 1;
185
+ outbox.nextSequenceBySession[sessionId] = sequence;
186
+ return sequence;
187
+ }
188
+ function trimOutbox(events) {
189
+ if (events.length <= exports.MAX_RUNTIME_OUTBOX_EVENTS)
190
+ return events;
191
+ const sorted = [...events].sort((left, right) => left.generatedAt.localeCompare(right.generatedAt));
192
+ const approvalAcks = sorted.filter((event) => event.eventType === 'approval_ack');
193
+ if (approvalAcks.length >= exports.MAX_RUNTIME_OUTBOX_EVENTS) {
194
+ return approvalAcks.slice(-exports.MAX_RUNTIME_OUTBOX_EVENTS);
195
+ }
196
+ const snapshots = sorted.filter((event) => event.eventType === 'session_snapshot');
197
+ const snapshotBudget = exports.MAX_RUNTIME_OUTBOX_EVENTS - approvalAcks.length;
198
+ const retainedSnapshots = snapshotBudget > 0 ? snapshots.slice(-snapshotBudget) : [];
199
+ return [...approvalAcks, ...retainedSnapshots]
200
+ .sort((left, right) => left.generatedAt.localeCompare(right.generatedAt));
201
+ }
202
+ function trimDeadLetters(events) {
203
+ return [...events]
204
+ .sort((left, right) => left.deadLetteredAt.localeCompare(right.deadLetteredAt))
205
+ .slice(-exports.MAX_RUNTIME_DEAD_LETTER_EVENTS);
206
+ }
207
+ function enqueue(repoRoot, sessionId, eventType, payload) {
208
+ assertSourceFree(payload);
209
+ return withOutboxLock(repoRoot, () => {
210
+ const outbox = readOutbox(repoRoot);
211
+ const approvalId = eventType === 'approval_ack' && typeof payload.approvalId === 'string'
212
+ ? payload.approvalId
213
+ : null;
214
+ const approvalStatus = eventType === 'approval_ack'
215
+ && typeof payload.body === 'object'
216
+ && payload.body !== null
217
+ && typeof payload.body.status === 'string'
218
+ ? payload.body.status
219
+ : null;
220
+ if (approvalId) {
221
+ const existing = outbox.events.find((event) => event.eventType === 'approval_ack'
222
+ && event.sessionId === sessionId
223
+ && event.payload.approvalId === approvalId
224
+ && (approvalStatus === null
225
+ || (typeof event.payload.body === 'object'
226
+ && event.payload.body !== null
227
+ && event.payload.body.status === approvalStatus)));
228
+ if (existing)
229
+ return existing;
230
+ }
231
+ const generatedAt = new Date().toISOString();
232
+ const event = {
233
+ schemaVersion: exports.RUNTIME_DELIVERY_SCHEMA_VERSION,
234
+ eventId: `rt_${(0, crypto_1.randomUUID)()}`,
235
+ sessionId,
236
+ sequence: nextSequence(outbox, sessionId),
237
+ eventType,
238
+ generatedAt,
239
+ payloadHash: stablePayloadHash(payload),
240
+ payload,
241
+ attemptCount: 0,
242
+ nextAttemptAt: null,
243
+ lastAttemptAt: null,
244
+ lastError: null,
245
+ };
246
+ const retained = eventType === 'session_snapshot'
247
+ ? outbox.events.filter((candidate) => candidate.eventType !== 'session_snapshot' || candidate.sessionId !== sessionId)
248
+ : outbox.events;
249
+ outbox.events = trimOutbox([...retained, event]);
250
+ outbox.state.lastEnqueuedAt = generatedAt;
251
+ writeOutbox(repoRoot, outbox);
252
+ return event;
253
+ });
254
+ }
255
+ function enqueueRuntimeSessionSnapshot(repoRoot, sessionId, payload) {
256
+ return enqueue(repoRoot, sessionId, 'session_snapshot', payload);
257
+ }
258
+ function enqueueRuntimeApprovalAck(repoRoot, sessionId, payload) {
259
+ return enqueue(repoRoot, sessionId, 'approval_ack', payload);
260
+ }
261
+ function runtimeDeliveryEnvelope(event) {
262
+ return {
263
+ schemaVersion: exports.RUNTIME_DELIVERY_SCHEMA_VERSION,
264
+ eventId: event.eventId,
265
+ sessionId: event.sessionId,
266
+ sequence: event.sequence,
267
+ eventType: event.eventType,
268
+ generatedAt: event.generatedAt,
269
+ payloadHash: event.payloadHash,
270
+ };
271
+ }
272
+ function pendingRuntimeOutboxEvents(repoRoot, options = {}) {
273
+ const nowMs = options.nowMs ?? Date.now();
274
+ const limit = Math.max(1, Math.min(options.limit ?? 10, 100));
275
+ return readOutbox(repoRoot).events
276
+ .filter((event) => options.force === true
277
+ || !event.nextAttemptAt
278
+ || Date.parse(event.nextAttemptAt) <= nowMs)
279
+ .sort((left, right) => left.generatedAt.localeCompare(right.generatedAt))
280
+ .slice(0, limit);
281
+ }
282
+ function markRuntimeOutboxDelivered(repoRoot, eventId) {
283
+ withOutboxLock(repoRoot, () => {
284
+ const outbox = readOutbox(repoRoot);
285
+ const deliveredAt = new Date().toISOString();
286
+ outbox.events = outbox.events.filter((event) => event.eventId !== eventId);
287
+ outbox.state.lastAttemptAt = deliveredAt;
288
+ outbox.state.lastDeliveredAt = deliveredAt;
289
+ outbox.state.lastDeliveredEventId = eventId;
290
+ if (!outbox.events.some((event) => event.lastError)) {
291
+ if (outbox.state.lastError)
292
+ outbox.state.lastRecoveredAt = deliveredAt;
293
+ outbox.state.lastError = null;
294
+ }
295
+ writeOutbox(repoRoot, outbox);
296
+ });
297
+ }
298
+ function markRuntimeOutboxFailed(repoRoot, eventId, error) {
299
+ return withOutboxLock(repoRoot, () => {
300
+ const outbox = readOutbox(repoRoot);
301
+ const current = outbox.events.find((event) => event.eventId === eventId);
302
+ if (!current)
303
+ return { deadLettered: false, attemptCount: 0 };
304
+ const attemptedAt = new Date().toISOString();
305
+ const attemptCount = current.attemptCount + 1;
306
+ if (attemptCount >= exports.MAX_RUNTIME_DELIVERY_ATTEMPTS) {
307
+ const deadLetter = {
308
+ ...current,
309
+ attemptCount,
310
+ lastAttemptAt: attemptedAt,
311
+ nextAttemptAt: null,
312
+ lastError: error,
313
+ deadLetteredAt: attemptedAt,
314
+ deadLetterReason: error,
315
+ };
316
+ outbox.events = outbox.events.filter((event) => event.eventId !== eventId);
317
+ outbox.deadLetters = trimDeadLetters([...outbox.deadLetters, deadLetter]);
318
+ outbox.state.lastDeadLetteredAt = attemptedAt;
319
+ outbox.state.lastDeadLetteredEventId = eventId;
320
+ outbox.state.lastDeadLetterError = error;
321
+ }
322
+ else {
323
+ const retryDelayMs = Math.min(60_000, 1_000 * 2 ** Math.min(attemptCount - 1, 6));
324
+ outbox.events = outbox.events.map((event) => event.eventId === eventId
325
+ ? {
326
+ ...event,
327
+ attemptCount,
328
+ lastAttemptAt: attemptedAt,
329
+ nextAttemptAt: new Date(Date.now() + retryDelayMs).toISOString(),
330
+ lastError: error,
331
+ }
332
+ : event);
333
+ }
334
+ outbox.state.lastAttemptAt = attemptedAt;
335
+ outbox.state.lastError = error;
336
+ writeOutbox(repoRoot, outbox);
337
+ return {
338
+ deadLettered: attemptCount >= exports.MAX_RUNTIME_DELIVERY_ATTEMPTS,
339
+ attemptCount,
340
+ };
341
+ });
342
+ }
343
+ function retryRuntimeDeadLetters(repoRoot, options = {}) {
344
+ return withOutboxLock(repoRoot, () => {
345
+ const outbox = readOutbox(repoRoot);
346
+ const limit = Math.max(1, Math.min(options.limit ?? 100, 100));
347
+ const selected = outbox.deadLetters
348
+ .filter((event) => !options.eventId || event.eventId === options.eventId)
349
+ .slice(0, limit);
350
+ if (selected.length === 0)
351
+ return 0;
352
+ const requeued = selected.map(({ deadLetteredAt: _deadLetteredAt, deadLetterReason: _deadLetterReason, ...event }) => ({
353
+ ...event,
354
+ attemptCount: 0,
355
+ nextAttemptAt: null,
356
+ lastAttemptAt: null,
357
+ lastError: null,
358
+ }));
359
+ outbox.events = trimOutbox([
360
+ ...outbox.events,
361
+ ...requeued,
362
+ ]);
363
+ const retainedIds = new Set(outbox.events.map((event) => event.eventId));
364
+ const requeuedIds = new Set(requeued.filter((event) => retainedIds.has(event.eventId)).map((event) => event.eventId));
365
+ outbox.deadLetters = outbox.deadLetters.filter((event) => !requeuedIds.has(event.eventId));
366
+ if (!outbox.events.some((event) => event.lastError))
367
+ outbox.state.lastError = null;
368
+ writeOutbox(repoRoot, outbox);
369
+ return requeuedIds.size;
370
+ });
371
+ }
372
+ function inspectRuntimeOutbox(repoRoot) {
373
+ const outbox = readOutbox(repoRoot);
374
+ const sorted = [...outbox.events].sort((left, right) => left.generatedAt.localeCompare(right.generatedAt));
375
+ const deadLetters = [...outbox.deadLetters].sort((left, right) => left.deadLetteredAt.localeCompare(right.deadLetteredAt));
376
+ const retryingEvents = sorted.filter((event) => event.attemptCount > 0);
377
+ const retries = sorted
378
+ .map((event) => event.nextAttemptAt)
379
+ .filter((value) => Boolean(value))
380
+ .sort();
381
+ return {
382
+ schemaVersion: exports.RUNTIME_OUTBOX_SCHEMA_VERSION,
383
+ health: deadLetters.length > 0
384
+ ? 'degraded'
385
+ : retryingEvents.length > 0
386
+ ? 'retrying'
387
+ : sorted.length > 0
388
+ ? 'queued'
389
+ : 'healthy',
390
+ pendingEvents: sorted.length,
391
+ pendingSessionSnapshots: sorted.filter((event) => event.eventType === 'session_snapshot').length,
392
+ pendingApprovalAcks: sorted.filter((event) => event.eventType === 'approval_ack').length,
393
+ retryingEvents: retryingEvents.length,
394
+ deadLetterEvents: deadLetters.length,
395
+ deadLetterSessionSnapshots: deadLetters.filter((event) => event.eventType === 'session_snapshot').length,
396
+ deadLetterApprovalAcks: deadLetters.filter((event) => event.eventType === 'approval_ack').length,
397
+ oldestPendingAt: sorted[0]?.generatedAt || null,
398
+ nextRetryAt: retries[0] || null,
399
+ lastEnqueuedAt: outbox.state.lastEnqueuedAt,
400
+ lastAttemptAt: outbox.state.lastAttemptAt,
401
+ lastDeliveredAt: outbox.state.lastDeliveredAt,
402
+ lastDeliveredEventId: outbox.state.lastDeliveredEventId,
403
+ lastError: outbox.state.lastError,
404
+ lastDeadLetteredAt: outbox.state.lastDeadLetteredAt,
405
+ lastDeadLetteredEventId: outbox.state.lastDeadLetteredEventId,
406
+ lastDeadLetterError: outbox.state.lastDeadLetterError,
407
+ lastRecoveredAt: outbox.state.lastRecoveredAt,
408
+ };
409
+ }
410
+ //# sourceMappingURL=runtime-outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-outbox.js","sourceRoot":"","sources":["../../src/utils/runtime-outbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export declare const RUNTIME_BACKEND_RECEIPT_SCHEMA_VERSION: "neurcode.backend-evidence-receipt.v1";
2
+ export interface RuntimeBackendEvidenceReceipt {
3
+ schemaVersion: typeof RUNTIME_BACKEND_RECEIPT_SCHEMA_VERSION;
4
+ receiptId: string;
5
+ issuer: string;
6
+ issuedAt: string;
7
+ organizationId: string;
8
+ repoId: string | null;
9
+ repoKey: string | null;
10
+ sessionId: string;
11
+ recordHash: string;
12
+ replayHash: string | null;
13
+ evidenceHash: string;
14
+ policyEvidenceVersion: string;
15
+ sourceFree: true;
16
+ sessionSummary: Record<string, unknown>;
17
+ canonicalHash: string;
18
+ signatureStatus: 'signed' | 'unsigned_missing_secret' | string;
19
+ signingKeyId: string | null;
20
+ signatureAlgorithm: 'hmac-sha256' | string;
21
+ signature: string | null;
22
+ receiptHash: string;
23
+ verification?: Record<string, unknown>;
24
+ }
25
+ export interface RuntimeReceiptVerificationResult {
26
+ valid: boolean;
27
+ status: 'valid' | 'unsigned' | 'unverifiable' | 'tampered';
28
+ receiptId: string | null;
29
+ canonicalHash: string | null;
30
+ receiptHash: string | null;
31
+ signatureStatus: string;
32
+ signingKeyId: string | null;
33
+ sourceFree: boolean;
34
+ checks: {
35
+ canonicalHash: boolean;
36
+ receiptHash: boolean;
37
+ signature: boolean;
38
+ sourceFree: boolean;
39
+ };
40
+ reasons: string[];
41
+ }
42
+ export interface RuntimeReceiptArtifact {
43
+ path: string;
44
+ receipt: RuntimeBackendEvidenceReceipt;
45
+ }
46
+ export declare function canonicalStringify(value: unknown): string;
47
+ export declare function canonicalHash(value: unknown, length?: number): string;
48
+ export declare function extractRuntimeReceiptArtifacts(value: unknown): RuntimeReceiptArtifact[];
49
+ export declare function verifyRuntimeBackendEvidenceReceipt(value: unknown): RuntimeReceiptVerificationResult;
50
+ //# sourceMappingURL=runtime-receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-receipt.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-receipt.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sCAAsC,EAAG,sCAA+C,CAAC;AAoBtG,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,sCAAsC,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,IAAI,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,QAAQ,GAAG,yBAAyB,GAAG,MAAM,CAAC;IAC/D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,aAAa,GAAG,MAAM,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;IAC3D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE;QACN,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,6BAA6B,CAAC;CACxC;AAyBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,GAAG,MAAM,CAEjE;AAgED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAyBvF;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,gCAAgC,CAgFpG"}