@sensigo/realm 0.1.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.
- package/README.md +150 -0
- package/dist/adapters/adapter-utils.d.ts +14 -0
- package/dist/adapters/adapter-utils.d.ts.map +1 -0
- package/dist/adapters/adapter-utils.js +18 -0
- package/dist/adapters/adapter-utils.js.map +1 -0
- package/dist/adapters/airtable-adapter.d.ts +51 -0
- package/dist/adapters/airtable-adapter.d.ts.map +1 -0
- package/dist/adapters/airtable-adapter.js +425 -0
- package/dist/adapters/airtable-adapter.js.map +1 -0
- package/dist/adapters/file-adapter.d.ts +14 -0
- package/dist/adapters/file-adapter.d.ts.map +1 -0
- package/dist/adapters/file-adapter.js +89 -0
- package/dist/adapters/file-adapter.js.map +1 -0
- package/dist/adapters/github-adapter.d.ts +40 -0
- package/dist/adapters/github-adapter.d.ts.map +1 -0
- package/dist/adapters/github-adapter.js +286 -0
- package/dist/adapters/github-adapter.js.map +1 -0
- package/dist/adapters/gorgias-adapter.d.ts +40 -0
- package/dist/adapters/gorgias-adapter.d.ts.map +1 -0
- package/dist/adapters/gorgias-adapter.js +300 -0
- package/dist/adapters/gorgias-adapter.js.map +1 -0
- package/dist/adapters/http-adapter.d.ts +28 -0
- package/dist/adapters/http-adapter.d.ts.map +1 -0
- package/dist/adapters/http-adapter.js +97 -0
- package/dist/adapters/http-adapter.js.map +1 -0
- package/dist/adapters/mock-adapter.d.ts +16 -0
- package/dist/adapters/mock-adapter.d.ts.map +1 -0
- package/dist/adapters/mock-adapter.js +61 -0
- package/dist/adapters/mock-adapter.js.map +1 -0
- package/dist/adapters/notion-adapter.d.ts +54 -0
- package/dist/adapters/notion-adapter.d.ts.map +1 -0
- package/dist/adapters/notion-adapter.js +751 -0
- package/dist/adapters/notion-adapter.js.map +1 -0
- package/dist/adapters/parcelpanel-adapter.d.ts +60 -0
- package/dist/adapters/parcelpanel-adapter.d.ts.map +1 -0
- package/dist/adapters/parcelpanel-adapter.js +251 -0
- package/dist/adapters/parcelpanel-adapter.js.map +1 -0
- package/dist/adapters/rate-limiter.d.ts +26 -0
- package/dist/adapters/rate-limiter.d.ts.map +1 -0
- package/dist/adapters/rate-limiter.js +3 -0
- package/dist/adapters/rate-limiter.js.map +1 -0
- package/dist/adapters/shopify-adapter.d.ts +92 -0
- package/dist/adapters/shopify-adapter.d.ts.map +1 -0
- package/dist/adapters/shopify-adapter.js +415 -0
- package/dist/adapters/shopify-adapter.js.map +1 -0
- package/dist/adapters/slack-adapter.d.ts +18 -0
- package/dist/adapters/slack-adapter.d.ts.map +1 -0
- package/dist/adapters/slack-adapter.js +81 -0
- package/dist/adapters/slack-adapter.js.map +1 -0
- package/dist/adapters/token-bucket.d.ts +27 -0
- package/dist/adapters/token-bucket.d.ts.map +1 -0
- package/dist/adapters/token-bucket.js +109 -0
- package/dist/adapters/token-bucket.js.map +1 -0
- package/dist/config/secrets.d.ts +15 -0
- package/dist/config/secrets.d.ts.map +1 -0
- package/dist/config/secrets.js +33 -0
- package/dist/config/secrets.js.map +1 -0
- package/dist/engine/eligibility.d.ts +50 -0
- package/dist/engine/eligibility.d.ts.map +1 -0
- package/dist/engine/eligibility.js +267 -0
- package/dist/engine/eligibility.js.map +1 -0
- package/dist/engine/error-resolution.d.ts +20 -0
- package/dist/engine/error-resolution.d.ts.map +1 -0
- package/dist/engine/error-resolution.js +32 -0
- package/dist/engine/error-resolution.js.map +1 -0
- package/dist/engine/execution-loop.d.ts +101 -0
- package/dist/engine/execution-loop.d.ts.map +1 -0
- package/dist/engine/execution-loop.js +1156 -0
- package/dist/engine/execution-loop.js.map +1 -0
- package/dist/engine/lifecycle.d.ts +14 -0
- package/dist/engine/lifecycle.d.ts.map +1 -0
- package/dist/engine/lifecycle.js +17 -0
- package/dist/engine/lifecycle.js.map +1 -0
- package/dist/engine/precondition.d.ts +30 -0
- package/dist/engine/precondition.d.ts.map +1 -0
- package/dist/engine/precondition.js +125 -0
- package/dist/engine/precondition.js.map +1 -0
- package/dist/engine/prompt-template.d.ts +25 -0
- package/dist/engine/prompt-template.d.ts.map +1 -0
- package/dist/engine/prompt-template.js +66 -0
- package/dist/engine/prompt-template.js.map +1 -0
- package/dist/engine/render-template.d.ts +52 -0
- package/dist/engine/render-template.d.ts.map +1 -0
- package/dist/engine/render-template.js +548 -0
- package/dist/engine/render-template.js.map +1 -0
- package/dist/engine/state-guard.d.ts +15 -0
- package/dist/engine/state-guard.d.ts.map +1 -0
- package/dist/engine/state-guard.js +40 -0
- package/dist/engine/state-guard.js.map +1 -0
- package/dist/engine/trace-normalizer.d.ts +36 -0
- package/dist/engine/trace-normalizer.d.ts.map +1 -0
- package/dist/engine/trace-normalizer.js +146 -0
- package/dist/engine/trace-normalizer.js.map +1 -0
- package/dist/engine/trace-policy.d.ts +53 -0
- package/dist/engine/trace-policy.d.ts.map +1 -0
- package/dist/engine/trace-policy.js +35 -0
- package/dist/engine/trace-policy.js.map +1 -0
- package/dist/engine/workflow-context-loader.d.ts +9 -0
- package/dist/engine/workflow-context-loader.d.ts.map +1 -0
- package/dist/engine/workflow-context-loader.js +41 -0
- package/dist/engine/workflow-context-loader.js.map +1 -0
- package/dist/evidence/snapshot.d.ts +38 -0
- package/dist/evidence/snapshot.d.ts.map +1 -0
- package/dist/evidence/snapshot.js +53 -0
- package/dist/evidence/snapshot.js.map +1 -0
- package/dist/extensions/default-registry.d.ts +19 -0
- package/dist/extensions/default-registry.d.ts.map +1 -0
- package/dist/extensions/default-registry.js +31 -0
- package/dist/extensions/default-registry.js.map +1 -0
- package/dist/extensions/processor.d.ts +13 -0
- package/dist/extensions/processor.d.ts.map +1 -0
- package/dist/extensions/processor.js +3 -0
- package/dist/extensions/processor.js.map +1 -0
- package/dist/extensions/registry.d.ts +25 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +43 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/service-adapter.d.ts +35 -0
- package/dist/extensions/service-adapter.d.ts.map +1 -0
- package/dist/extensions/service-adapter.js +3 -0
- package/dist/extensions/service-adapter.js.map +1 -0
- package/dist/extensions/step-handler.d.ts +28 -0
- package/dist/extensions/step-handler.d.ts.map +1 -0
- package/dist/extensions/step-handler.js +3 -0
- package/dist/extensions/step-handler.js.map +1 -0
- package/dist/handlers/primitives/compare-strings.d.ts +13 -0
- package/dist/handlers/primitives/compare-strings.d.ts.map +1 -0
- package/dist/handlers/primitives/compare-strings.js +28 -0
- package/dist/handlers/primitives/compare-strings.js.map +1 -0
- package/dist/handlers/primitives/count-results.d.ts +21 -0
- package/dist/handlers/primitives/count-results.d.ts.map +1 -0
- package/dist/handlers/primitives/count-results.js +23 -0
- package/dist/handlers/primitives/count-results.js.map +1 -0
- package/dist/handlers/primitives/partition-by-substring.d.ts +18 -0
- package/dist/handlers/primitives/partition-by-substring.d.ts.map +1 -0
- package/dist/handlers/primitives/partition-by-substring.js +28 -0
- package/dist/handlers/primitives/partition-by-substring.js.map +1 -0
- package/dist/handlers/primitives/resolve-resource.d.ts +13 -0
- package/dist/handlers/primitives/resolve-resource.d.ts.map +1 -0
- package/dist/handlers/primitives/resolve-resource.js +21 -0
- package/dist/handlers/primitives/resolve-resource.js.map +1 -0
- package/dist/handlers/primitives/walk-field.d.ts +11 -0
- package/dist/handlers/primitives/walk-field.d.ts.map +1 -0
- package/dist/handlers/primitives/walk-field.js +31 -0
- package/dist/handlers/primitives/walk-field.js.map +1 -0
- package/dist/handlers/validate-field-match.d.ts +11 -0
- package/dist/handlers/validate-field-match.d.ts.map +1 -0
- package/dist/handlers/validate-field-match.js +39 -0
- package/dist/handlers/validate-field-match.js.map +1 -0
- package/dist/handlers/validate-verbatim-quotes.d.ts +11 -0
- package/dist/handlers/validate-verbatim-quotes.d.ts.map +1 -0
- package/dist/handlers/validate-verbatim-quotes.js +37 -0
- package/dist/handlers/validate-verbatim-quotes.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/pipeline/processing-pipeline.d.ts +24 -0
- package/dist/pipeline/processing-pipeline.d.ts.map +1 -0
- package/dist/pipeline/processing-pipeline.js +53 -0
- package/dist/pipeline/processing-pipeline.js.map +1 -0
- package/dist/processors/compute-hash.d.ts +4 -0
- package/dist/processors/compute-hash.d.ts.map +1 -0
- package/dist/processors/compute-hash.js +14 -0
- package/dist/processors/compute-hash.js.map +1 -0
- package/dist/processors/normalize-text.d.ts +8 -0
- package/dist/processors/normalize-text.d.ts.map +1 -0
- package/dist/processors/normalize-text.js +47 -0
- package/dist/processors/normalize-text.js.map +1 -0
- package/dist/store/json-file-store.d.ts +24 -0
- package/dist/store/json-file-store.d.ts.map +1 -0
- package/dist/store/json-file-store.js +210 -0
- package/dist/store/json-file-store.js.map +1 -0
- package/dist/store/store-interface.d.ts +33 -0
- package/dist/store/store-interface.d.ts.map +1 -0
- package/dist/store/store-interface.js +2 -0
- package/dist/store/store-interface.js.map +1 -0
- package/dist/store/trace-buffer-store.d.ts +55 -0
- package/dist/store/trace-buffer-store.d.ts.map +1 -0
- package/dist/store/trace-buffer-store.js +113 -0
- package/dist/store/trace-buffer-store.js.map +1 -0
- package/dist/types/mcp-types.d.ts +17 -0
- package/dist/types/mcp-types.d.ts.map +1 -0
- package/dist/types/mcp-types.js +5 -0
- package/dist/types/mcp-types.js.map +1 -0
- package/dist/types/response-envelope.d.ts +96 -0
- package/dist/types/response-envelope.d.ts.map +1 -0
- package/dist/types/response-envelope.js +2 -0
- package/dist/types/response-envelope.js.map +1 -0
- package/dist/types/run-record.d.ts +169 -0
- package/dist/types/run-record.d.ts.map +1 -0
- package/dist/types/run-record.js +2 -0
- package/dist/types/run-record.js.map +1 -0
- package/dist/types/workflow-definition.d.ts +292 -0
- package/dist/types/workflow-definition.d.ts.map +1 -0
- package/dist/types/workflow-definition.js +2 -0
- package/dist/types/workflow-definition.js.map +1 -0
- package/dist/types/workflow-error.d.ts +26 -0
- package/dist/types/workflow-error.d.ts.map +1 -0
- package/dist/types/workflow-error.js +28 -0
- package/dist/types/workflow-error.js.map +1 -0
- package/dist/utils/schema-skeleton.d.ts +11 -0
- package/dist/utils/schema-skeleton.d.ts.map +1 -0
- package/dist/utils/schema-skeleton.js +40 -0
- package/dist/utils/schema-skeleton.js.map +1 -0
- package/dist/validation/input-schema.d.ts +26 -0
- package/dist/validation/input-schema.d.ts.map +1 -0
- package/dist/validation/input-schema.js +67 -0
- package/dist/validation/input-schema.js.map +1 -0
- package/dist/workflow/registrar.d.ts +20 -0
- package/dist/workflow/registrar.d.ts.map +1 -0
- package/dist/workflow/registrar.js +61 -0
- package/dist/workflow/registrar.js.map +1 -0
- package/dist/workflow/template-resolver.d.ts +25 -0
- package/dist/workflow/template-resolver.d.ts.map +1 -0
- package/dist/workflow/template-resolver.js +112 -0
- package/dist/workflow/template-resolver.js.map +1 -0
- package/dist/workflow/yaml-loader.d.ts +15 -0
- package/dist/workflow/yaml-loader.d.ts.map +1 -0
- package/dist/workflow/yaml-loader.js +408 -0
- package/dist/workflow/yaml-loader.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ProcessorInput, ProcessorOutput } from '../extensions/processor.js';
|
|
2
|
+
import type { ExtensionRegistry } from '../extensions/registry.js';
|
|
3
|
+
export interface PipelineResult {
|
|
4
|
+
output: ProcessorOutput;
|
|
5
|
+
/** Each entry records which processor ran and its output text length. */
|
|
6
|
+
trace: Array<{
|
|
7
|
+
processorId: string;
|
|
8
|
+
outputLength: number;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Runs content through a sequence of named processors from the registry.
|
|
13
|
+
*
|
|
14
|
+
* If 'compute_hash' is not the last entry in processorNames, it is appended
|
|
15
|
+
* automatically. This guarantees the hash reflects the final content.
|
|
16
|
+
*
|
|
17
|
+
* @param content Initial ProcessorInput.
|
|
18
|
+
* @param processorNames Ordered list of processor ids to apply.
|
|
19
|
+
* @param registry Registry to look up processors by name.
|
|
20
|
+
* @param configs Optional per-processor config map keyed by processor id.
|
|
21
|
+
* @throws WorkflowError(ENGINE_PROCESSOR_FAILED) if a processor is not found or throws.
|
|
22
|
+
*/
|
|
23
|
+
export declare function runPipeline(content: ProcessorInput, processorNames: string[], registry: ExtensionRegistry, configs?: Record<string, Record<string, unknown>>): Promise<PipelineResult>;
|
|
24
|
+
//# sourceMappingURL=processing-pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/processing-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,yEAAyE;IACzE,KAAK,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,MAAM,EAAE,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAChD,OAAO,CAAC,cAAc,CAAC,CAyCzB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { WorkflowError } from '../types/workflow-error.js';
|
|
2
|
+
/**
|
|
3
|
+
* Runs content through a sequence of named processors from the registry.
|
|
4
|
+
*
|
|
5
|
+
* If 'compute_hash' is not the last entry in processorNames, it is appended
|
|
6
|
+
* automatically. This guarantees the hash reflects the final content.
|
|
7
|
+
*
|
|
8
|
+
* @param content Initial ProcessorInput.
|
|
9
|
+
* @param processorNames Ordered list of processor ids to apply.
|
|
10
|
+
* @param registry Registry to look up processors by name.
|
|
11
|
+
* @param configs Optional per-processor config map keyed by processor id.
|
|
12
|
+
* @throws WorkflowError(ENGINE_PROCESSOR_FAILED) if a processor is not found or throws.
|
|
13
|
+
*/
|
|
14
|
+
export async function runPipeline(content, processorNames, registry, configs) {
|
|
15
|
+
const names = [...processorNames];
|
|
16
|
+
if (names[names.length - 1] !== 'compute_hash') {
|
|
17
|
+
names.push('compute_hash');
|
|
18
|
+
}
|
|
19
|
+
const trace = [];
|
|
20
|
+
let current = content;
|
|
21
|
+
for (const name of names) {
|
|
22
|
+
const processor = registry.getProcessor(name);
|
|
23
|
+
if (processor === undefined) {
|
|
24
|
+
throw new WorkflowError(`Processor not found: ${name}`, {
|
|
25
|
+
code: 'ENGINE_PROCESSOR_FAILED',
|
|
26
|
+
category: 'ENGINE',
|
|
27
|
+
agentAction: 'stop',
|
|
28
|
+
retryable: false,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const config = configs?.[name] ?? {};
|
|
32
|
+
let result;
|
|
33
|
+
try {
|
|
34
|
+
result = await processor.process(current, config);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
if (err instanceof WorkflowError)
|
|
38
|
+
throw err;
|
|
39
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
40
|
+
throw new WorkflowError(`Processor '${name}' failed: ${message}`, {
|
|
41
|
+
code: 'ENGINE_PROCESSOR_FAILED',
|
|
42
|
+
category: 'ENGINE',
|
|
43
|
+
agentAction: 'stop',
|
|
44
|
+
retryable: false,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
trace.push({ processorId: name, outputLength: result.text.length });
|
|
48
|
+
current = result;
|
|
49
|
+
}
|
|
50
|
+
// current is guaranteed to be a ProcessorOutput since names is non-empty after appending compute_hash
|
|
51
|
+
return { output: current, trace };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=processing-pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-pipeline.js","sourceRoot":"","sources":["../../src/pipeline/processing-pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,cAAwB,EACxB,QAA2B,EAC3B,OAAiD;IAEjD,MAAM,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAyD,EAAE,CAAC;IACvE,IAAI,OAAO,GAAmB,OAAO,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAA0B,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,wBAAwB,IAAI,EAAE,EAAE;gBACtD,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa;gBAAE,MAAM,GAAG,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,aAAa,CAAC,cAAc,IAAI,aAAa,OAAO,EAAE,EAAE;gBAChE,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,sGAAsG;IACtG,OAAO,EAAE,MAAM,EAAE,OAA0B,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-hash.d.ts","sourceRoot":"","sources":["../../src/processors/compute-hash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,4BAA4B,CAAC;AAE7F,kGAAkG;AAClG,eAAO,MAAM,WAAW,EAAE,SAYzB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// compute-hash processor — appends a SHA-256 hash of the text to metadata.
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
/** Computes SHA-256 of the input text and stores it as metadata.hash in 'sha256:{hex}' format. */
|
|
4
|
+
export const computeHash = {
|
|
5
|
+
id: 'compute_hash',
|
|
6
|
+
async process(content, _config) {
|
|
7
|
+
const hash = `sha256:${createHash('sha256').update(content.text).digest('hex')}`;
|
|
8
|
+
return {
|
|
9
|
+
text: content.text,
|
|
10
|
+
metadata: { ...content.metadata, hash },
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=compute-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-hash.js","sourceRoot":"","sources":["../../src/processors/compute-hash.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC,EAAE,EAAE,cAAc;IAClB,KAAK,CAAC,OAAO,CACX,OAAuB,EACvB,OAAgC;QAEhC,MAAM,IAAI,GAAG,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjF,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;SACxC,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Processor } from '../extensions/processor.js';
|
|
2
|
+
export interface NormalizeTextConfig {
|
|
3
|
+
smart_quotes?: boolean;
|
|
4
|
+
dashes?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Replaces Unicode smart quotes and dashes with plain ASCII equivalents. */
|
|
7
|
+
export declare const normalizeText: Processor;
|
|
8
|
+
//# sourceMappingURL=normalize-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-text.d.ts","sourceRoot":"","sources":["../../src/processors/normalize-text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,4BAA4B,CAAC;AAE7F,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SA0C3B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Replaces Unicode smart quotes and dashes with plain ASCII equivalents. */
|
|
2
|
+
export const normalizeText = {
|
|
3
|
+
id: 'normalize_text',
|
|
4
|
+
async process(content, config) {
|
|
5
|
+
const cfg = config;
|
|
6
|
+
const smartQuotes = cfg.smart_quotes !== false;
|
|
7
|
+
const dashes = cfg.dashes !== false;
|
|
8
|
+
let text = content.text;
|
|
9
|
+
let normalizedQuotes = 0;
|
|
10
|
+
let normalizedDashes = 0;
|
|
11
|
+
if (smartQuotes) {
|
|
12
|
+
for (const ch of ['“', '”', '‘', '’']) {
|
|
13
|
+
const replacement = ch === '“' || ch === '”' ? '"' : "'";
|
|
14
|
+
const regex = new RegExp(ch, 'g');
|
|
15
|
+
const before = text;
|
|
16
|
+
text = text.replace(regex, replacement);
|
|
17
|
+
normalizedQuotes += countOccurrences(before, ch);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (dashes) {
|
|
21
|
+
const emBefore = text;
|
|
22
|
+
text = text.replace(/—/g, '--');
|
|
23
|
+
normalizedDashes += countOccurrences(emBefore, '—');
|
|
24
|
+
const enBefore = text;
|
|
25
|
+
text = text.replace(/–/g, '-');
|
|
26
|
+
normalizedDashes += countOccurrences(enBefore, '–');
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
text,
|
|
30
|
+
metadata: {
|
|
31
|
+
...content.metadata,
|
|
32
|
+
normalized_quotes: normalizedQuotes,
|
|
33
|
+
normalized_dashes: normalizedDashes,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
function countOccurrences(str, ch) {
|
|
39
|
+
let count = 0;
|
|
40
|
+
let idx = 0;
|
|
41
|
+
while ((idx = str.indexOf(ch, idx)) !== -1) {
|
|
42
|
+
count++;
|
|
43
|
+
idx += ch.length;
|
|
44
|
+
}
|
|
45
|
+
return count;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=normalize-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-text.js","sourceRoot":"","sources":["../../src/processors/normalize-text.ts"],"names":[],"mappings":"AAQA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,EAAE,EAAE,gBAAgB;IACpB,KAAK,CAAC,OAAO,CACX,OAAuB,EACvB,MAA+B;QAE/B,MAAM,GAAG,GAAG,MAA6B,CAAC;QAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC;QAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC;QAEpC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACxC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,iBAAiB,EAAE,gBAAgB;gBACnC,iBAAiB,EAAE,gBAAgB;aACpC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,GAAW,EAAE,EAAU;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,CAAC;QACR,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { RunRecord } from '../types/run-record.js';
|
|
2
|
+
import type { WorkflowDefinition } from '../types/workflow-definition.js';
|
|
3
|
+
import type { RunStore, CreateRunOptions } from './store-interface.js';
|
|
4
|
+
export declare class JsonFileStore implements RunStore {
|
|
5
|
+
private readonly runsDir;
|
|
6
|
+
constructor(runsDir?: string);
|
|
7
|
+
/** The directory where run JSON files are stored. */
|
|
8
|
+
get runsDirPath(): string;
|
|
9
|
+
private filePath;
|
|
10
|
+
private ensureDir;
|
|
11
|
+
create(options: CreateRunOptions): Promise<RunRecord>;
|
|
12
|
+
get(runId: string): Promise<RunRecord>;
|
|
13
|
+
update(record: RunRecord): Promise<RunRecord>;
|
|
14
|
+
claimStep(runId: string, stepName: string, definition: WorkflowDefinition): Promise<RunRecord>;
|
|
15
|
+
/**
|
|
16
|
+
* Writes a run record with its existing ID to local storage.
|
|
17
|
+
* Used for importing records fetched from a remote store.
|
|
18
|
+
* Idempotent: if the record already exists with the same version, this is a no-op.
|
|
19
|
+
* Does NOT increment version or apply the optimistic lock — this is an import, not an update.
|
|
20
|
+
*/
|
|
21
|
+
save(record: RunRecord): Promise<void>;
|
|
22
|
+
list(workflowId?: string): Promise<RunRecord[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=json-file-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-file-store.d.ts","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKvE,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,MAAM;IAI5B,qDAAqD;IACrD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,QAAQ;YAIF,SAAS;IAIjB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAuBrD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgCtC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0C7C,SAAS,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,SAAS,CAAC;IAoErB;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAiBtD"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// Local file-backed run store. Stores each run as a JSON file in ~/.realm/runs/.
|
|
2
|
+
// Uses proper-lockfile to prevent concurrent writes.
|
|
3
|
+
import { mkdir, readFile, writeFile, readdir } from 'node:fs/promises';
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { homedir } from 'node:os';
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
+
import lockfile from 'proper-lockfile';
|
|
9
|
+
import { WorkflowError } from '../types/workflow-error.js';
|
|
10
|
+
import { findEligibleSteps, deriveRunPhase } from '../engine/eligibility.js';
|
|
11
|
+
const DEFAULT_RUNS_DIR = join(homedir(), '.realm', 'runs');
|
|
12
|
+
export class JsonFileStore {
|
|
13
|
+
runsDir;
|
|
14
|
+
constructor(runsDir) {
|
|
15
|
+
this.runsDir = runsDir ?? DEFAULT_RUNS_DIR;
|
|
16
|
+
}
|
|
17
|
+
/** The directory where run JSON files are stored. */
|
|
18
|
+
get runsDirPath() {
|
|
19
|
+
return this.runsDir;
|
|
20
|
+
}
|
|
21
|
+
filePath(runId) {
|
|
22
|
+
return join(this.runsDir, `${runId}.json`);
|
|
23
|
+
}
|
|
24
|
+
async ensureDir() {
|
|
25
|
+
await mkdir(this.runsDir, { recursive: true });
|
|
26
|
+
}
|
|
27
|
+
async create(options) {
|
|
28
|
+
await this.ensureDir();
|
|
29
|
+
const now = new Date().toISOString();
|
|
30
|
+
const record = {
|
|
31
|
+
id: uuidv4(),
|
|
32
|
+
workflow_id: options.workflowId,
|
|
33
|
+
workflow_version: options.workflowVersion,
|
|
34
|
+
completed_steps: [],
|
|
35
|
+
in_progress_steps: [],
|
|
36
|
+
failed_steps: [],
|
|
37
|
+
skipped_steps: [],
|
|
38
|
+
run_phase: 'running',
|
|
39
|
+
version: 0,
|
|
40
|
+
params: options.params,
|
|
41
|
+
evidence: [],
|
|
42
|
+
created_at: now,
|
|
43
|
+
updated_at: now,
|
|
44
|
+
terminal_state: false,
|
|
45
|
+
};
|
|
46
|
+
await writeFile(this.filePath(record.id), JSON.stringify(record, null, 2), 'utf8');
|
|
47
|
+
return record;
|
|
48
|
+
}
|
|
49
|
+
async get(runId) {
|
|
50
|
+
const path = this.filePath(runId);
|
|
51
|
+
if (!existsSync(path)) {
|
|
52
|
+
throw new WorkflowError(`Run not found: ${runId}`, {
|
|
53
|
+
code: 'STATE_RUN_NOT_FOUND',
|
|
54
|
+
category: 'STATE',
|
|
55
|
+
agentAction: 'report_to_user',
|
|
56
|
+
retryable: false,
|
|
57
|
+
details: { runId },
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const raw = await readFile(path, 'utf8');
|
|
61
|
+
const parsed = JSON.parse(raw);
|
|
62
|
+
// Legacy format detection: runs written before Phase 35 have `state` but no `completed_steps`.
|
|
63
|
+
if ('state' in parsed && !('completed_steps' in parsed)) {
|
|
64
|
+
throw new WorkflowError('This run was created with an older version of Realm that used a state-machine model. ' +
|
|
65
|
+
'Delete ~/.realm/runs/ and start fresh.', {
|
|
66
|
+
code: 'STATE_LEGACY_FORMAT',
|
|
67
|
+
category: 'STATE',
|
|
68
|
+
agentAction: 'report_to_user',
|
|
69
|
+
retryable: false,
|
|
70
|
+
details: { runId },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return parsed;
|
|
74
|
+
}
|
|
75
|
+
async update(record) {
|
|
76
|
+
await this.ensureDir();
|
|
77
|
+
const path = this.filePath(record.id);
|
|
78
|
+
if (!existsSync(path)) {
|
|
79
|
+
throw new WorkflowError(`Run not found: ${record.id}`, {
|
|
80
|
+
code: 'STATE_RUN_NOT_FOUND',
|
|
81
|
+
category: 'STATE',
|
|
82
|
+
agentAction: 'report_to_user',
|
|
83
|
+
retryable: false,
|
|
84
|
+
details: { runId: record.id },
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
const release = await lockfile.lock(path, { retries: { retries: 3, minTimeout: 50 } });
|
|
88
|
+
try {
|
|
89
|
+
const raw = await readFile(path, 'utf8');
|
|
90
|
+
const stored = JSON.parse(raw);
|
|
91
|
+
if (stored.version !== record.version) {
|
|
92
|
+
throw new WorkflowError('Version conflict — run was modified by another process', {
|
|
93
|
+
code: 'STATE_SNAPSHOT_MISMATCH',
|
|
94
|
+
category: 'STATE',
|
|
95
|
+
agentAction: 'report_to_user',
|
|
96
|
+
retryable: true,
|
|
97
|
+
details: { runId: record.id, expected: record.version, actual: stored.version },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const updated = {
|
|
101
|
+
...record,
|
|
102
|
+
run_phase: deriveRunPhase(record),
|
|
103
|
+
version: record.version + 1,
|
|
104
|
+
updated_at: new Date().toISOString(),
|
|
105
|
+
};
|
|
106
|
+
await writeFile(path, JSON.stringify(updated, null, 2), 'utf8');
|
|
107
|
+
return updated;
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
await release();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async claimStep(runId, stepName, definition) {
|
|
114
|
+
await this.ensureDir();
|
|
115
|
+
const path = this.filePath(runId);
|
|
116
|
+
if (!existsSync(path)) {
|
|
117
|
+
throw new WorkflowError(`Run not found: ${runId}`, {
|
|
118
|
+
code: 'STATE_RUN_NOT_FOUND',
|
|
119
|
+
category: 'STATE',
|
|
120
|
+
agentAction: 'report_to_user',
|
|
121
|
+
retryable: false,
|
|
122
|
+
details: { runId },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
const release = await lockfile.lock(path, { retries: { retries: 3, minTimeout: 50 } });
|
|
126
|
+
try {
|
|
127
|
+
// Re-read the freshest version under lock.
|
|
128
|
+
const raw = await readFile(path, 'utf8');
|
|
129
|
+
const run = JSON.parse(raw);
|
|
130
|
+
// Guard: step must not already be claimed.
|
|
131
|
+
if (run.in_progress_steps.includes(stepName) ||
|
|
132
|
+
run.completed_steps.includes(stepName) ||
|
|
133
|
+
run.failed_steps.includes(stepName) ||
|
|
134
|
+
run.skipped_steps.includes(stepName)) {
|
|
135
|
+
throw new WorkflowError(`Step '${stepName}' is already claimed or completed on run '${runId}'.`, {
|
|
136
|
+
code: 'STATE_STEP_ALREADY_CLAIMED',
|
|
137
|
+
category: 'STATE',
|
|
138
|
+
agentAction: 'resolve_precondition',
|
|
139
|
+
retryable: false,
|
|
140
|
+
details: { runId, stepName },
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
// Guard: step must still be eligible under the current run state.
|
|
144
|
+
const eligible = findEligibleSteps(definition, run);
|
|
145
|
+
if (!eligible.includes(stepName)) {
|
|
146
|
+
throw new WorkflowError(`Step '${stepName}' is not eligible for execution on run '${runId}'.`, {
|
|
147
|
+
code: 'STATE_STEP_NOT_ELIGIBLE',
|
|
148
|
+
category: 'STATE',
|
|
149
|
+
agentAction: 'resolve_precondition',
|
|
150
|
+
retryable: false,
|
|
151
|
+
details: { runId, stepName, eligible },
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
const claimed = {
|
|
155
|
+
...run,
|
|
156
|
+
in_progress_steps: [...run.in_progress_steps, stepName],
|
|
157
|
+
run_phase: deriveRunPhase(run),
|
|
158
|
+
version: run.version + 1,
|
|
159
|
+
updated_at: new Date().toISOString(),
|
|
160
|
+
};
|
|
161
|
+
await writeFile(path, JSON.stringify(claimed, null, 2), 'utf8');
|
|
162
|
+
return claimed;
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
await release();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Writes a run record with its existing ID to local storage.
|
|
170
|
+
* Used for importing records fetched from a remote store.
|
|
171
|
+
* Idempotent: if the record already exists with the same version, this is a no-op.
|
|
172
|
+
* Does NOT increment version or apply the optimistic lock — this is an import, not an update.
|
|
173
|
+
*/
|
|
174
|
+
async save(record) {
|
|
175
|
+
await this.ensureDir();
|
|
176
|
+
const path = this.filePath(record.id);
|
|
177
|
+
if (existsSync(path)) {
|
|
178
|
+
const raw = await readFile(path, 'utf8');
|
|
179
|
+
const stored = JSON.parse(raw);
|
|
180
|
+
if (stored.version === record.version)
|
|
181
|
+
return;
|
|
182
|
+
throw new WorkflowError(`Run '${record.id}' exists locally with a different version (local: ${stored.version}, incoming: ${record.version}). Manual resolution required.`, {
|
|
183
|
+
code: 'STATE_RUN_DIVERGED',
|
|
184
|
+
category: 'STATE',
|
|
185
|
+
agentAction: 'report_to_user',
|
|
186
|
+
retryable: false,
|
|
187
|
+
details: {
|
|
188
|
+
runId: record.id,
|
|
189
|
+
localVersion: stored.version,
|
|
190
|
+
incomingVersion: record.version,
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
await writeFile(path, JSON.stringify(record, null, 2), 'utf8');
|
|
195
|
+
}
|
|
196
|
+
async list(workflowId) {
|
|
197
|
+
await this.ensureDir();
|
|
198
|
+
const entries = await readdir(this.runsDir);
|
|
199
|
+
const jsonFiles = entries.filter((f) => f.endsWith('.json'));
|
|
200
|
+
const records = await Promise.all(jsonFiles.map(async (file) => {
|
|
201
|
+
const raw = await readFile(join(this.runsDir, file), 'utf8');
|
|
202
|
+
return JSON.parse(raw);
|
|
203
|
+
}));
|
|
204
|
+
if (workflowId !== undefined) {
|
|
205
|
+
return records.filter((r) => r.workflow_id === workflowId);
|
|
206
|
+
}
|
|
207
|
+
return records;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=json-file-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-file-store.js","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RunRecord } from '../types/run-record.js';
|
|
2
|
+
import type { WorkflowDefinition } from '../types/workflow-definition.js';
|
|
3
|
+
export interface CreateRunOptions {
|
|
4
|
+
workflowId: string;
|
|
5
|
+
workflowVersion: number;
|
|
6
|
+
params: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface RunStore {
|
|
9
|
+
/** Create a new run record. Returns the created record. */
|
|
10
|
+
create(options: CreateRunOptions): Promise<RunRecord>;
|
|
11
|
+
/** Get a run record by ID. Throws WorkflowError(STATE_RUN_NOT_FOUND) if not found. */
|
|
12
|
+
get(runId: string): Promise<RunRecord>;
|
|
13
|
+
/**
|
|
14
|
+
* Update a run record. Checks that record.version matches the stored version
|
|
15
|
+
* before writing. Throws WorkflowError(STATE_SNAPSHOT_MISMATCH) on version conflict.
|
|
16
|
+
* Increments version on successful write.
|
|
17
|
+
*/
|
|
18
|
+
update(record: RunRecord): Promise<RunRecord>;
|
|
19
|
+
/** List all run records, optionally filtered by workflowId. */
|
|
20
|
+
list(workflowId?: string): Promise<RunRecord[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Atomically marks a step as in_progress. Under file lock:
|
|
23
|
+
* 1. Re-reads the current record (ignores caller's version).
|
|
24
|
+
* 2. Checks the step is not already in in_progress_steps, completed_steps,
|
|
25
|
+
* failed_steps, or skipped_steps. If it is, throws STATE_STEP_ALREADY_CLAIMED.
|
|
26
|
+
* 3. Re-evaluates trigger rule and when-condition. If no longer satisfied,
|
|
27
|
+
* throws STATE_STEP_NOT_ELIGIBLE.
|
|
28
|
+
* 4. Adds step to in_progress_steps, increments version, writes.
|
|
29
|
+
* Returns the updated record.
|
|
30
|
+
*/
|
|
31
|
+
claimStep(runId: string, stepName: string, definition: WorkflowDefinition): Promise<RunRecord>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=store-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-interface.d.ts","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtD,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAChG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-interface.js","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { AgentTraceEntry } from '../types/run-record.js';
|
|
2
|
+
export interface AppendResult {
|
|
3
|
+
buffer_count: number;
|
|
4
|
+
buffer_bytes: number;
|
|
5
|
+
limit_count: number;
|
|
6
|
+
limit_bytes: number;
|
|
7
|
+
final_limit_entries: number;
|
|
8
|
+
final_limit_bytes: number;
|
|
9
|
+
}
|
|
10
|
+
export interface TraceBufferStore {
|
|
11
|
+
/**
|
|
12
|
+
* Appends normalized entries to the buffer for (runId, stepId).
|
|
13
|
+
* Each entry is per-entry normalized at append time (reserved prefix drop, field caps).
|
|
14
|
+
* Batch timestamp (_internalTs) is assigned at write time.
|
|
15
|
+
* Throws BUFFER_FULL WorkflowError if the WAL limit would be exceeded.
|
|
16
|
+
*/
|
|
17
|
+
append(runId: string, stepId: string, entries: AgentTraceEntry[]): Promise<AppendResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Reads all buffered entries for (runId, stepId) with their batch timestamps attached.
|
|
20
|
+
* Returns empty array if no buffer exists.
|
|
21
|
+
* Entries carry _internalTs for ordering at finalization.
|
|
22
|
+
*/
|
|
23
|
+
read(runId: string, stepId: string): Promise<BufferedEntry[]>;
|
|
24
|
+
/** Deletes the buffer for (runId, stepId). No-op if absent. */
|
|
25
|
+
delete(runId: string, stepId: string): Promise<void>;
|
|
26
|
+
/** Deletes all buffers for a run. Called when the run is deleted. */
|
|
27
|
+
deleteAllForRun(runId: string): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** An AgentTraceEntry extended with engine-assigned ordering timestamp (milliseconds). */
|
|
30
|
+
export interface BufferedEntry extends AgentTraceEntry {
|
|
31
|
+
_internalTs: number;
|
|
32
|
+
}
|
|
33
|
+
export declare const BUFFER_LIMIT_COUNT = 200;
|
|
34
|
+
export declare const BUFFER_LIMIT_BYTES: number;
|
|
35
|
+
export declare const FINAL_LIMIT_ENTRIES = 100;
|
|
36
|
+
export declare const FINAL_LIMIT_BYTES: number;
|
|
37
|
+
/**
|
|
38
|
+
* Per-entry normalization run at append time (not at finalization).
|
|
39
|
+
* Mirrors the normalization in normalizeTrace for the parts that don't need seq or byte-budget context.
|
|
40
|
+
* Returns null if the entry should be dropped (reserved prefix).
|
|
41
|
+
*/
|
|
42
|
+
export declare function normalizeEntryForBuffer(entry: AgentTraceEntry): AgentTraceEntry | null;
|
|
43
|
+
/**
|
|
44
|
+
* In-memory TraceBufferStore for use in tests and non-persistent environments.
|
|
45
|
+
* Entries are lost on process restart (no file I/O).
|
|
46
|
+
*/
|
|
47
|
+
export declare class InMemoryTraceBufferStore implements TraceBufferStore {
|
|
48
|
+
private buffers;
|
|
49
|
+
private key;
|
|
50
|
+
append(runId: string, stepId: string, entries: AgentTraceEntry[]): Promise<AppendResult>;
|
|
51
|
+
read(runId: string, stepId: string): Promise<BufferedEntry[]>;
|
|
52
|
+
delete(runId: string, stepId: string): Promise<void>;
|
|
53
|
+
deleteAllForRun(runId: string): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=trace-buffer-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-buffer-store.d.ts","sourceRoot":"","sources":["../../src/store/trace-buffer-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzF;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9D,+DAA+D;IAC/D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,qEAAqE;IACrE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,QAAa,CAAC;AAC7C,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAO3C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,GAAG,IAAI,CA+BtF;AAED;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,OAAO,CAAsC;IAErD,OAAO,CAAC,GAAG;IAIL,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IA+CxF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAI7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpD"}
|