@sensigo/realm-cli 0.6.4 → 0.7.1

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 @@
1
+ {"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,eAAO,MAAM,aAAa,SAetB,CAAC"}
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED,eAAO,MAAM,aAAa,SAkBtB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // resume command — removes a step from failed_steps so it can be re-executed.
2
2
  import { Command } from 'commander';
3
3
  import { WorkflowError } from '@sensigo/realm';
4
- import { RESUMABLE_PHASES } from '@sensigo/realm';
4
+ import { RESUMABLE_PHASES, propagateSkips } from '@sensigo/realm';
5
5
  /**
6
6
  * Removes `stepName` from `failed_steps` so the DAG engine can re-evaluate its
7
7
  * eligibility on the next execute-step call.
@@ -38,9 +38,20 @@ export async function resumeRun(runId, stepName, runStore, workflowStore) {
38
38
  retryable: false,
39
39
  });
40
40
  }
41
+ // Re-enable the failed step AND make the run runnable again. Filtering failed_steps alone leaves
42
+ // the run terminal (terminal_state:true), so `realm agent --run-id` throws on it and the
43
+ // `while (!terminal_state)` drivers skip it. Mirror the test-harness reference: strip
44
+ // terminal_reason (destructure-and-omit to honour exactOptionalPropertyTypes), re-derive
45
+ // skipped_steps from scratch so steps skipped only because of this failure become eligible again,
46
+ // and reset terminal_state to false. update() recomputes run_phase → 'running'.
47
+ const { terminal_reason: _terminalReason, ...rest } = run;
48
+ const failedSteps = rest.failed_steps.filter((s) => s !== stepName);
49
+ const skippedSteps = propagateSkips({ ...rest, failed_steps: failedSteps, skipped_steps: [] }, workflow);
41
50
  await runStore.update({
42
- ...run,
43
- failed_steps: run.failed_steps.filter((s) => s !== stepName),
51
+ ...rest,
52
+ failed_steps: failedSteps,
53
+ skipped_steps: skippedSteps,
54
+ terminal_state: false,
44
55
  });
45
56
  }
46
57
  export const resumeCommand = new Command('resume')
@@ -53,7 +64,8 @@ export const resumeCommand = new Command('resume')
53
64
  const workflowStore = new JsonWorkflowStore();
54
65
  try {
55
66
  await resumeRun(runId, opts.from, runStore, workflowStore);
56
- console.log(`Resumed: step '${opts.from}' removed from failed_steps on run '${runId}'.`);
67
+ console.log(`Resumed run '${runId}': step '${opts.from}' re-enabled and run reset to 'running'.\n` +
68
+ `Drive it with: realm agent --run-id ${runId}`);
57
69
  }
58
70
  catch (err) {
59
71
  console.error(err instanceof Error ? err.message : String(err));
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,3 @@
1
- import { type Server } from 'node:http';
2
- import { spawn as nodeSpawn } from 'node:child_process';
3
1
  import { Command } from 'commander';
4
- import type { WorkflowDefinition, WorkflowRegistrar, RunStore } from '@sensigo/realm';
5
- /**
6
- * Checks a GitHub webhook HMAC-SHA256 signature using timing-safe comparison.
7
- * Returns true only if the header is present, uses the sha256= prefix, and
8
- * the HMAC matches byte-for-byte. Pads both buffers to equal length before
9
- * comparison to avoid length-based timing leaks.
10
- */
11
- export declare function checkWebhookSignature(rawBody: Buffer, signatureHeader: string | undefined, secret: string): boolean;
12
- /**
13
- * Checks whether a delivery ID is a duplicate within the TTL window.
14
- * Evicts stale entries and enforces a capacity cap on each call.
15
- * Returns true if the delivery was already seen; records it and returns false otherwise.
16
- */
17
- export declare function isDuplicate(deliveryCache: Map<string, number>, deliveryId: string): boolean;
18
- /** An event:action pair used to filter incoming webhook deliveries. */
19
- export interface EventFilter {
20
- event: string;
21
- action: string;
22
- }
23
- /** Options for startWebhookServer — all I/O dependencies are injectable for testing. */
24
- export interface StartWebhookServerOptions {
25
- port: number;
26
- secret: string;
27
- definition: WorkflowDefinition;
28
- events: EventFilter[];
29
- provider?: string;
30
- model?: string;
31
- /** Custom run store — avoids writing to disk in tests. */
32
- runStore?: RunStore;
33
- /** Custom workflow registrar — avoids writing to disk in tests. */
34
- workflowStore?: WorkflowRegistrar;
35
- /** Override spawn — injectable for test isolation. */
36
- spawnFn?: typeof nodeSpawn;
37
- }
38
- /**
39
- * Creates and starts the webhook HTTP server. Resolves once the server is listening.
40
- * The caller is responsible for calling server.close() when done.
41
- *
42
- * Security-first request handling order:
43
- * 1. Buffer body 2. Verify HMAC 3. Filter event/action 4. Dedup 5. Create run 6. Spawn agent
44
- */
45
- export declare function startWebhookServer(options: StartWebhookServerOptions): Promise<Server>;
46
- /**
47
- * `realm webhook` — starts an HTTP server that creates runs from GitHub webhook deliveries.
48
- * Verifies HMAC-SHA256 signatures, deduplicates deliveries, and spawns realm agent children.
49
- */
50
2
  export declare const webhookCommand: Command;
51
3
  //# sourceMappingURL=webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKtF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,GACb,OAAO,CAcT;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAgB3F;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,SAAS,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4H5F;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,SAqExB,CAAC"}
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,cAAc,SAUvB,CAAC"}
@@ -1,227 +1,21 @@
1
- // webhook.ts — realm webhook command
2
- // Receives GitHub webhook POST requests, verifies HMAC-SHA256 signatures,
3
- // deduplicates deliveries by X-Github-Delivery ID, creates runs, and spawns
4
- // realm agent as a detached child process for each new delivery.
5
- import { createServer } from 'node:http';
6
- import { createHmac, timingSafeEqual } from 'node:crypto';
7
- import { spawn as nodeSpawn } from 'node:child_process';
8
- import { join } from 'node:path';
1
+ // webhook.ts — `realm webhook` (REMOVED).
2
+ //
3
+ // The legacy GitHub-only webhook server (HMAC verify → dedup → spawn) has been replaced by the
4
+ // general `realm listen` server. The GitHub PR flow it served is now expressed as a workflow
5
+ // `trigger:` block (`auth: { mode: github }` + a `params_map` of the PR dot-paths), proven
6
+ // byte-parity-equivalent to the old hardcoded mapping in listen-github-parity.test.ts. The duplicate
7
+ // `checkWebhookSignature` is gone `realm listen` uses the shared `verifyGithub` verifier.
8
+ //
9
+ // This thin alias remains only so `realm webhook` returns a helpful migration error instead of an
10
+ // "unknown command".
9
11
  import { Command } from 'commander';
10
- import { loadWorkflowFromFile, JsonFileStore, JsonWorkflowStore } from '@sensigo/realm';
11
- const DEDUP_TTL_MS = 10 * 60 * 1000; // 10 minutes
12
- const CACHE_MAX_SIZE = 1000;
13
- /**
14
- * Checks a GitHub webhook HMAC-SHA256 signature using timing-safe comparison.
15
- * Returns true only if the header is present, uses the sha256= prefix, and
16
- * the HMAC matches byte-for-byte. Pads both buffers to equal length before
17
- * comparison to avoid length-based timing leaks.
18
- */
19
- export function checkWebhookSignature(rawBody, signatureHeader, secret) {
20
- if (!signatureHeader?.startsWith('sha256='))
21
- return false;
22
- const provided = signatureHeader.slice(7);
23
- const expected = createHmac('sha256', secret).update(rawBody).digest('hex');
24
- const a = Buffer.from(provided, 'utf8');
25
- const b = Buffer.from(expected, 'utf8');
26
- const maxLen = Math.max(a.length, b.length);
27
- const aa = Buffer.alloc(maxLen);
28
- const bb = Buffer.alloc(maxLen);
29
- a.copy(aa);
30
- b.copy(bb);
31
- // Compare in constant time AND require equal length — pads prevent length-leak
32
- // from short-circuiting timingSafeEqual, but lengths must still match for validity.
33
- return timingSafeEqual(aa, bb) && a.length === b.length;
34
- }
35
- /**
36
- * Checks whether a delivery ID is a duplicate within the TTL window.
37
- * Evicts stale entries and enforces a capacity cap on each call.
38
- * Returns true if the delivery was already seen; records it and returns false otherwise.
39
- */
40
- export function isDuplicate(deliveryCache, deliveryId) {
41
- const now = Date.now();
42
- // Evict stale entries on every request
43
- for (const [id, ts] of deliveryCache) {
44
- if (now - ts > DEDUP_TTL_MS)
45
- deliveryCache.delete(id);
46
- }
47
- // Enforce capacity cap — evict oldest entry when at limit
48
- if (deliveryCache.size >= CACHE_MAX_SIZE) {
49
- const oldest = [...deliveryCache.entries()].sort((a, b) => a[1] - b[1])[0];
50
- deliveryCache.delete(oldest[0]);
51
- }
52
- if (deliveryCache.has(deliveryId) && now - deliveryCache.get(deliveryId) < DEDUP_TTL_MS) {
53
- return true;
54
- }
55
- deliveryCache.set(deliveryId, now);
56
- return false;
57
- }
58
- /**
59
- * Creates and starts the webhook HTTP server. Resolves once the server is listening.
60
- * The caller is responsible for calling server.close() when done.
61
- *
62
- * Security-first request handling order:
63
- * 1. Buffer body 2. Verify HMAC 3. Filter event/action 4. Dedup 5. Create run 6. Spawn agent
64
- */
65
- export async function startWebhookServer(options) {
66
- const runStore = options.runStore ?? new JsonFileStore();
67
- const workflowStore = options.workflowStore ?? new JsonWorkflowStore();
68
- const spawnFn = options.spawnFn ?? nodeSpawn;
69
- const deliveryCache = new Map();
70
- const server = createServer(async (req, res) => {
71
- // 1. Buffer raw body before any other logic
72
- const chunks = [];
73
- for await (const chunk of req)
74
- chunks.push(chunk);
75
- const rawBody = Buffer.concat(chunks);
76
- // 2. HMAC signature check — mandatory before any event filtering (oracle-attack prevention)
77
- const sigHeader = req.headers['x-hub-signature-256'];
78
- if (!checkWebhookSignature(rawBody, sigHeader, options.secret)) {
79
- res.writeHead(403, { 'Content-Type': 'application/json' });
80
- res.end(JSON.stringify({ error: 'Invalid signature' }));
81
- return;
82
- }
83
- // 3. Parse JSON body
84
- let payload;
85
- try {
86
- payload = JSON.parse(rawBody.toString('utf-8'));
87
- }
88
- catch {
89
- res.writeHead(400, { 'Content-Type': 'application/json' });
90
- res.end(JSON.stringify({ error: 'Invalid JSON' }));
91
- return;
92
- }
93
- // 4. Check X-Github-Event header against configured event types
94
- const githubEvent = req.headers['x-github-event'];
95
- const matchingEvents = options.events.filter((e) => e.event === githubEvent);
96
- if (matchingEvents.length === 0) {
97
- res.writeHead(200, { 'Content-Type': 'application/json' });
98
- res.end(JSON.stringify({ ok: true, skipped: 'event' }));
99
- return;
100
- }
101
- // 5. Check payload.action against configured action types
102
- const payloadAction = payload.action;
103
- const matchingActions = matchingEvents.filter((e) => e.action === payloadAction);
104
- if (matchingActions.length === 0) {
105
- res.writeHead(200, { 'Content-Type': 'application/json' });
106
- res.end(JSON.stringify({ ok: true, skipped: 'action' }));
107
- return;
108
- }
109
- // 6. Deduplication check — returns 200 to prevent GitHub retries on ignores
110
- const deliveryId = req.headers['x-github-delivery'];
111
- if (deliveryId !== undefined && isDuplicate(deliveryCache, deliveryId)) {
112
- res.writeHead(200, { 'Content-Type': 'application/json' });
113
- res.end(JSON.stringify({ ok: true, skipped: 'duplicate' }));
114
- return;
115
- }
116
- // 7. Extract params from payload using the standard PR event field mapping
117
- const pr = payload.pull_request ?? {};
118
- const repo = payload.repository ?? {};
119
- const sender = payload.sender ?? {};
120
- const prBase = pr.base ?? {};
121
- const prHead = pr.head ?? {};
122
- const repoOwner = repo.owner ?? {};
123
- const params = {
124
- pr_number: pr.number,
125
- pr_url: pr.html_url,
126
- repo: repo.full_name,
127
- repo_owner: repoOwner.login,
128
- repo_name: repo.name,
129
- pr_title: pr.title,
130
- base_sha: prBase.sha,
131
- head_sha: prHead.sha,
132
- author: sender.login,
133
- pr_action: payload['action'],
134
- github_delivery_id: deliveryId,
135
- };
136
- // 8. Register workflow definition with the store
137
- await workflowStore.register(options.definition);
138
- // 9. Create run record
139
- const run = await runStore.create({
140
- workflowId: options.definition.id,
141
- workflowVersion: options.definition.version,
142
- params,
143
- });
144
- // 10. Spawn realm agent as detached child — inherits full env (API keys, tokens, etc.)
145
- const realmBin = process.argv[1];
146
- const providerArgs = [];
147
- if (options.provider !== undefined)
148
- providerArgs.push('--provider', options.provider);
149
- if (options.model !== undefined)
150
- providerArgs.push('--model', options.model);
151
- const child = spawnFn(process.execPath, [realmBin, 'agent', '--run-id', run.id, ...providerArgs], { detached: true, stdio: 'inherit' });
152
- child.unref();
153
- // 11. Log spawn event for visibility in server logs
154
- console.log(`realm agent spawned for run ${run.id} (pid: ${child.pid ?? 'unknown'})`);
155
- // 12. Respond 202 Accepted — run is created, agent is running in background
156
- res.writeHead(202, { 'Content-Type': 'application/json' });
157
- res.end(JSON.stringify({ ok: true, run_id: run.id }));
158
- });
159
- return new Promise((resolve, reject) => {
160
- let isListening = false;
161
- server.on('error', (err) => {
162
- if (!isListening) {
163
- reject(err);
164
- }
165
- else {
166
- console.error('Realm webhook server error:', err);
167
- }
168
- });
169
- server.listen(options.port, () => {
170
- isListening = true;
171
- resolve(server);
172
- });
173
- });
174
- }
175
- /**
176
- * `realm webhook` — starts an HTTP server that creates runs from GitHub webhook deliveries.
177
- * Verifies HMAC-SHA256 signatures, deduplicates deliveries, and spawns realm agent children.
178
- */
179
12
  export const webhookCommand = new Command('webhook')
180
- .description('Start a webhook server that creates runs from GitHub events')
181
- .requiredOption('--workflow <path>', 'Path to workflow directory or workflow.yaml file')
182
- .requiredOption('--port <port>', 'Port to listen on')
183
- .option('--secret <secret>', 'GitHub webhook secret (overrides GITHUB_WEBHOOK_SECRET env var)')
184
- .option('--event <filters>', 'Comma-separated event:action pairs to handle', 'pull_request:opened')
185
- .option('--provider <provider>', 'LLM provider forwarded to spawned realm agent')
186
- .option('--model <model>', 'Model name forwarded to spawned realm agent')
187
- .action(async (opts) => {
188
- // 1. Resolve secret — CLI flag overrides env var; refuse to start if neither set
189
- const secret = opts.secret ?? process.env['GITHUB_WEBHOOK_SECRET'];
190
- if (!secret) {
191
- console.error('Error: webhook secret is required. Pass --secret or set GITHUB_WEBHOOK_SECRET.');
192
- process.exit(1);
193
- return;
194
- }
195
- // 2. Load and validate workflow before binding the port
196
- const inputPath = opts.workflow;
197
- const filePath = inputPath.endsWith('.yaml') || inputPath.endsWith('.yml')
198
- ? inputPath
199
- : join(inputPath, 'workflow.yaml');
200
- let definition;
201
- try {
202
- definition = loadWorkflowFromFile(filePath);
203
- }
204
- catch (err) {
205
- console.error(`Error: failed to load workflow: ${err instanceof Error ? err.message : String(err)}`);
206
- process.exit(1);
207
- return;
208
- }
209
- // 3. Parse event filters from comma-separated event:action string
210
- const events = opts.event.split(',').map((token) => {
211
- const [event, action] = token.trim().split(':');
212
- return { event: event ?? '', action: action ?? '' };
213
- });
214
- // 4. Start server — only reached after secret and workflow are validated
215
- const port = parseInt(opts.port, 10);
216
- const server = await startWebhookServer({
217
- port,
218
- secret,
219
- definition,
220
- events,
221
- ...(opts.provider !== undefined ? { provider: opts.provider } : {}),
222
- ...(opts.model !== undefined ? { model: opts.model } : {}),
223
- });
224
- const addr = server.address();
225
- console.log(`Realm webhook server listening on port ${addr.port}`);
13
+ .description('[removed] use `realm listen` with a workflow trigger: block (auth.mode: github)')
14
+ .allowUnknownOption(true)
15
+ .action(() => {
16
+ console.error('`realm webhook` has been removed. Use `realm listen` with a `trigger:` block ' +
17
+ '(auth.mode: github + a params_map for the PR fields) in your workflow instead. ' +
18
+ 'See `realm listen --help`.');
19
+ process.exit(1);
226
20
  });
227
21
  //# sourceMappingURL=webhook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,+FAA+F;AAC/F,6FAA6F;AAC7F,2FAA2F;AAC3F,qGAAqG;AACrG,4FAA4F;AAC5F,EAAE;AACF,kGAAkG;AAClG,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,iFAAiF,CAAC;KAC9F,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,KAAK,CACX,+EAA+E;QAC7E,iFAAiF;QACjF,4BAA4B,CAC/B,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands-registry.d.ts","sourceRoot":"","sources":["../src/commands-registry.ts"],"names":[],"mappings":"AAsBA,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,+BAQ5B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,WAAW,+BAQvB,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,+BAA2D,CAAC"}
1
+ {"version":3,"file":"commands-registry.d.ts","sourceRoot":"","sources":["../src/commands-registry.ts"],"names":[],"mappings":"AAuBA,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,+BAQ5B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,WAAW,+BAQvB,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,+BAM5B,CAAC"}
@@ -19,6 +19,7 @@ import { serveCommand } from './commands/serve.js';
19
19
  import { migrateCommand } from './commands/migrate.js';
20
20
  import { agentCommand } from './commands/agent.js';
21
21
  import { webhookCommand } from './commands/webhook.js';
22
+ import { listenCommand } from './commands/listen.js';
22
23
  /** Commands that operate on workflow definitions (realm workflow <cmd>). */
23
24
  export const workflowCommands = [
24
25
  initCommand,
@@ -40,5 +41,11 @@ export const runCommands = [
40
41
  cleanupCommand,
41
42
  ];
42
43
  /** Top-level commands not nested under a subgroup. */
43
- export const topLevelCommands = [mcpCommand, serveCommand, agentCommand, webhookCommand];
44
+ export const topLevelCommands = [
45
+ mcpCommand,
46
+ serveCommand,
47
+ agentCommand,
48
+ webhookCommand,
49
+ listenCommand,
50
+ ];
44
51
  //# sourceMappingURL=commands-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands-registry.js","sourceRoot":"","sources":["../src/commands-registry.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,+EAA+E;AAC/E,6CAA6C;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,eAAe;IACf,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,cAAc;CACf,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW;IACX,cAAc;IACd,aAAa;IACb,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;CACf,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"commands-registry.js","sourceRoot":"","sources":["../src/commands-registry.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,+EAA+E;AAC/E,6CAA6C;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,eAAe;IACf,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,cAAc;CACf,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW;IACX,cAAc;IACd,aAAa;IACb,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;CACf,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,aAAa;CACd,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import 'dotenv/config';
4
4
  import { Command } from 'commander';
5
5
  import { workflowCommands, runCommands, topLevelCommands } from './commands-registry.js';
6
6
  const program = new Command();
7
- program.name('realm').description('Realm workflow engine CLI').version('0.6.4');
7
+ program.name('realm').description('Realm workflow engine CLI').version('0.7.1');
8
8
  // realm workflow — operations on workflow definitions
9
9
  const workflowCmd = new Command('workflow').description('Manage workflow definitions');
10
10
  for (const cmd of workflowCommands)
@@ -0,0 +1,41 @@
1
+ export interface DedupStore {
2
+ /**
3
+ * Returns true if the key has been seen within its TTL window.
4
+ * `ttlMs` is required by FileDedupStore (it determines how many hour-buckets to
5
+ * scan back); InMemoryDedupStore ignores it because expiry is stored at record
6
+ * time. It is typed optional here so both implementations satisfy this contract.
7
+ */
8
+ check(key: string, ttlMs?: number): boolean;
9
+ /** Records the key as seen for the given TTL. */
10
+ record(key: string, ttlMs: number): void;
11
+ /** Removes entries older than maxAgeMs. For InMemoryDedupStore, evicts expired entries. */
12
+ cleanup(maxAgeMs: number): void;
13
+ }
14
+ /**
15
+ * File-backed dedup store. Records are empty files whose mtime is the only data.
16
+ * Layout: <baseDir>/<workflowId>/<YYYYMMDDHH>/<sha256(key)[:32]>.
17
+ *
18
+ * Safe across concurrent `realm listen` processes via O_EXCL (openSync 'wx').
19
+ *
20
+ * Note: `check` requires `ttlMs` in practice — it scans floor(ttlMs/3_600_000)+2
21
+ * hour buckets. It is declared with a default of 0 only to satisfy the DedupStore
22
+ * interface (which types ttlMs as optional); real callers always pass the TTL.
23
+ */
24
+ export declare class FileDedupStore implements DedupStore {
25
+ private readonly dir;
26
+ private lastCleanupErrorAt;
27
+ constructor(baseDir: string, workflowId: string);
28
+ private hashKey;
29
+ private bucketName;
30
+ check(key: string, ttlMs?: number): boolean;
31
+ record(key: string, _ttlMs: number): void;
32
+ cleanup(maxAgeMs: number): void;
33
+ }
34
+ export declare class InMemoryDedupStore implements DedupStore {
35
+ private map;
36
+ check(key: string): boolean;
37
+ record(key: string, ttlMs: number): void;
38
+ cleanup(_maxAgeMs: number): void;
39
+ private evictExpired;
40
+ }
41
+ //# sourceMappingURL=dedup-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-store.d.ts","sourceRoot":"","sources":["../../src/lib/dedup-store.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,iDAAiD;IACjD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAID;;;;;;;;;GASG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAK;gBAEnB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI/C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,UAAU;IASlB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO;IAetC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBzC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAiChC;AAED,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,GAAG,CAAkC;IAE7C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAM3B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,YAAY;CAMrB"}