dialai 1.5.0 → 1.5.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.
Files changed (47) hide show
  1. package/.claude/specs/poll-gate.md +269 -0
  2. package/dist/dialai/asl/choice-extractor.d.ts +60 -0
  3. package/dist/dialai/asl/choice-extractor.d.ts.map +1 -0
  4. package/dist/dialai/asl/choice-extractor.js +131 -0
  5. package/dist/dialai/asl/choice-extractor.js.map +1 -0
  6. package/dist/dialai/asl/index.d.ts +6 -0
  7. package/dist/dialai/asl/index.d.ts.map +1 -0
  8. package/dist/dialai/asl/index.js +9 -0
  9. package/dist/dialai/asl/index.js.map +1 -0
  10. package/dist/dialai/asl/interpreter.d.ts +6 -0
  11. package/dist/dialai/asl/interpreter.d.ts.map +1 -0
  12. package/dist/dialai/asl/interpreter.js +260 -0
  13. package/dist/dialai/asl/interpreter.js.map +1 -0
  14. package/dist/dialai/asl/jsonpath.d.ts +34 -0
  15. package/dist/dialai/asl/jsonpath.d.ts.map +1 -0
  16. package/dist/dialai/asl/jsonpath.js +229 -0
  17. package/dist/dialai/asl/jsonpath.js.map +1 -0
  18. package/dist/dialai/asl/types.d.ts +45 -0
  19. package/dist/dialai/asl/types.d.ts.map +1 -0
  20. package/dist/dialai/asl/types.js +2 -0
  21. package/dist/dialai/asl/types.js.map +1 -0
  22. package/dist/dialai/asl/validator.d.ts +17 -0
  23. package/dist/dialai/asl/validator.d.ts.map +1 -0
  24. package/dist/dialai/asl/validator.js +75 -0
  25. package/dist/dialai/asl/validator.js.map +1 -0
  26. package/dist/dialai/cli.js +0 -0
  27. package/dist/dialai/docs-loader.d.ts +6 -0
  28. package/dist/dialai/docs-loader.d.ts.map +1 -0
  29. package/dist/dialai/docs-loader.js +63 -0
  30. package/dist/dialai/docs-loader.js.map +1 -0
  31. package/dist/dialai/gate.d.ts +44 -0
  32. package/dist/dialai/gate.d.ts.map +1 -0
  33. package/dist/dialai/gate.js +169 -0
  34. package/dist/dialai/gate.js.map +1 -0
  35. package/dist/dialai/llm.d.ts.map +1 -1
  36. package/dist/dialai/llm.js +11 -2
  37. package/dist/dialai/llm.js.map +1 -1
  38. package/dist/dialai/mcp.js +0 -0
  39. package/dist/dialai/migrations/002-users-credits.d.ts +5 -0
  40. package/dist/dialai/migrations/002-users-credits.d.ts.map +1 -0
  41. package/dist/dialai/migrations/002-users-credits.js +30 -0
  42. package/dist/dialai/migrations/002-users-credits.js.map +1 -0
  43. package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts +8 -0
  44. package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts.map +1 -0
  45. package/dist/dialai/migrations/004-rename-round-to-evaluation.js +63 -0
  46. package/dist/dialai/migrations/004-rename-round-to-evaluation.js.map +1 -0
  47. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ import aslValidator from "asl-validator";
2
+ /**
3
+ * Validate a DIAL state machine definition.
4
+ * Wraps asl-validator and adds DIAL-specific checks.
5
+ */
6
+ export function validateDIALStateMachine(machine) {
7
+ const errors = [];
8
+ const warnings = [];
9
+ // Check if machine is an object
10
+ if (!machine || typeof machine !== "object") {
11
+ return {
12
+ isValid: false,
13
+ errors: ["Machine definition must be an object"],
14
+ warnings: [],
15
+ };
16
+ }
17
+ const machineObj = machine;
18
+ // DIAL-specific: Name field is required
19
+ if (!machineObj.Name || typeof machineObj.Name !== "string") {
20
+ errors.push("DIAL requires a 'Name' field (string) in the state machine");
21
+ }
22
+ // Run asl-validator (strip DIAL-specific fields first)
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
+ const { Name: _, ...aslMachine } = machineObj;
25
+ const aslResult = aslValidator(aslMachine);
26
+ if (!aslResult.isValid) {
27
+ for (const error of aslResult.errors || []) {
28
+ errors.push(formatAslError(error));
29
+ }
30
+ }
31
+ // DIAL-specific warnings: Choice states should have Comment
32
+ if (machineObj.States && typeof machineObj.States === "object") {
33
+ for (const [stateName, state] of Object.entries(machineObj.States)) {
34
+ if (state &&
35
+ typeof state === "object" &&
36
+ state.Type === "Choice") {
37
+ if (!state.Comment) {
38
+ warnings.push(`Choice state '${stateName}' should have a Comment field (used as deliberation prompt)`);
39
+ }
40
+ }
41
+ }
42
+ }
43
+ return {
44
+ isValid: errors.length === 0,
45
+ errors,
46
+ warnings,
47
+ };
48
+ }
49
+ /**
50
+ * Validate and cast to DIALStateMachine.
51
+ * Throws if invalid.
52
+ */
53
+ export function parseDIALStateMachine(machine) {
54
+ const result = validateDIALStateMachine(machine);
55
+ if (!result.isValid) {
56
+ throw new Error(`Invalid DIAL state machine: ${result.errors.join(", ")}`);
57
+ }
58
+ return machine;
59
+ }
60
+ function formatAslError(error) {
61
+ if (typeof error === "string") {
62
+ return error;
63
+ }
64
+ if (error && typeof error === "object") {
65
+ const err = error;
66
+ if (err.message) {
67
+ return String(err.message);
68
+ }
69
+ if (err.Error) {
70
+ return String(err.Error);
71
+ }
72
+ }
73
+ return JSON.stringify(error);
74
+ }
75
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/dialai/asl/validator.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AASzC;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,gCAAgC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC,sCAAsC,CAAC;YAChD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAkC,CAAC;IAEtD,wCAAwC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAED,uDAAuD;IACvD,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;IAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/D,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7C,UAAU,CAAC,MAAiC,CAC7C,EAAE,CAAC;YACF,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACxB,KAAiC,CAAC,IAAI,KAAK,QAAQ,EACpD,CAAC;gBACD,IAAI,CAAE,KAAiC,CAAC,OAAO,EAAE,CAAC;oBAChD,QAAQ,CAAC,IAAI,CACX,iBAAiB,SAAS,6DAA6D,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAA2B,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
File without changes
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Loads the API documentation from an individual markdown file and extracts a description.
3
+ * Falls back to a default description if the file can't be read or parsed.
4
+ */
5
+ export declare function getToolDescription(toolName: string, defaultDescription: string): string;
6
+ //# sourceMappingURL=docs-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-loader.d.ts","sourceRoot":"","sources":["../../src/dialai/docs-loader.ts"],"names":[],"mappings":"AA+CA;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CA0BR"}
@@ -0,0 +1,63 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { resolve, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ /**
7
+ * Maps MCP tool names to their corresponding markdown documentation files.
8
+ * Each tool has its own dedicated markdown file in the api/ directory.
9
+ */
10
+ const TOOL_TO_DOC_FILE = {
11
+ run_session: "runSession.md",
12
+ run_session_from_definition: "runSession.md", // Same function, different input
13
+ create_session: "createSession.md",
14
+ get_session: "getSession.md",
15
+ get_sessions: "getSessions.md",
16
+ register_proposer: "registerProposer.md",
17
+ register_voter: "registerVoter.md",
18
+ execute_transition: "executeTransition.md",
19
+ evaluate_consensus: "evaluateConsensus.md",
20
+ };
21
+ /**
22
+ * Extracts the description from a markdown file.
23
+ * Looks for the first paragraph after the main heading (removes frontmatter and code blocks).
24
+ */
25
+ function extractDescription(markdown) {
26
+ // Remove frontmatter (between --- markers)
27
+ let content = markdown.replace(/^---[\s\S]*?---\n\n/, "");
28
+ // Remove the main heading (first # heading)
29
+ content = content.replace(/^# .+\n\n/, "");
30
+ // Extract the first paragraph (text before first code block or next heading)
31
+ const firstParagraph = content
32
+ .split(/\n\n/)
33
+ .find((para) => para.trim() && !para.trim().startsWith("```"));
34
+ if (!firstParagraph) {
35
+ return null;
36
+ }
37
+ // Clean up: remove any remaining code block markers and trim
38
+ return firstParagraph.replace(/```[\s\S]*?```/g, "").trim() || null;
39
+ }
40
+ /**
41
+ * Loads the API documentation from an individual markdown file and extracts a description.
42
+ * Falls back to a default description if the file can't be read or parsed.
43
+ */
44
+ export function getToolDescription(toolName, defaultDescription) {
45
+ try {
46
+ const docFile = TOOL_TO_DOC_FILE[toolName];
47
+ if (!docFile) {
48
+ return defaultDescription;
49
+ }
50
+ // Resolve path to the docs directory relative to this file
51
+ // When compiled, this file will be in dist/dialai/, so we go up to project root
52
+ const docsPath = resolve(__dirname, "../../../website/docs/api", docFile);
53
+ const markdown = readFileSync(docsPath, "utf-8");
54
+ const description = extractDescription(markdown);
55
+ return description || defaultDescription;
56
+ }
57
+ catch (error) {
58
+ // If we can't read the docs, fall back to the default
59
+ console.error(`Warning: Could not load documentation for ${toolName}:`, error instanceof Error ? error.message : error);
60
+ return defaultDescription;
61
+ }
62
+ }
63
+ //# sourceMappingURL=docs-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-loader.js","sourceRoot":"","sources":["../../src/dialai/docs-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,eAAe;IAC5B,2BAA2B,EAAE,eAAe,EAAE,iCAAiC;IAC/E,cAAc,EAAE,kBAAkB;IAClC,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE,gBAAgB;IAC9B,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,kBAAkB;IAClC,kBAAkB,EAAE,sBAAsB;IAC1C,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC;AAEF;;;GAGG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,2CAA2C;IAC3C,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAE1D,4CAA4C;IAC5C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE3C,6EAA6E;IAC7E,MAAM,cAAc,GAAG,OAAO;SAC3B,KAAK,CAAC,MAAM,CAAC;SACb,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,OAAO,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,kBAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,2DAA2D;QAC3D,gFAAgF;QAChF,MAAM,QAAQ,GAAG,OAAO,CACtB,SAAS,EACT,2BAA2B,EAC3B,OAAO,CACR,CAAC;QACF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,WAAW,IAAI,kBAAkB,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sDAAsD;QACtD,OAAO,CAAC,KAAK,CACX,6CAA6C,QAAQ,GAAG,EACxD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * DIAL AI Gate Primitive
3
+ *
4
+ * A gate is a self-contained decision function. Phase 1 implementation
5
+ * builds on the existing machine/session infrastructure using synthetic
6
+ * 2-state machines.
7
+ */
8
+ import type { GateDefinition, GateContext, GateHandle, GateResult, RegisterProposerOptions, RegisterArbiterOptions } from "./types.js";
9
+ /**
10
+ * Registers a gate definition. Throws if gateId already exists.
11
+ */
12
+ export declare function createGate(definition: GateDefinition): GateDefinition;
13
+ /**
14
+ * Retrieves a gate definition by ID.
15
+ */
16
+ export declare function getGate(gateId: string): GateDefinition;
17
+ /**
18
+ * Lists all registered gate definitions.
19
+ */
20
+ export declare function listGates(): GateDefinition[];
21
+ /**
22
+ * Removes a gate definition from the registry.
23
+ */
24
+ export declare function deleteGate(gateId: string): void;
25
+ /**
26
+ * Clears the entire gate registry. Intended for tests.
27
+ */
28
+ export declare function clearGateRegistry(): void;
29
+ /** Runtime specialists for openGate/invokeGate. */
30
+ export interface RuntimeSpecialists {
31
+ proposers?: RegisterProposerOptions[];
32
+ arbiter?: RegisterArbiterOptions;
33
+ }
34
+ /**
35
+ * Opens a gate for async usage. Returns a handle with sessionId and evaluationId.
36
+ * After opening, use submitProposal and submitArbitration directly.
37
+ */
38
+ export declare function openGate(gateId: string, context?: GateContext, runtimeSpecialists?: RuntimeSpecialists): Promise<GateHandle>;
39
+ /**
40
+ * Synchronous convenience: opens a gate, solicits all proposers, runs arbitration,
41
+ * and returns a GateResult.
42
+ */
43
+ export declare function invokeGate(gateId: string, context?: GateContext, runtimeSpecialists?: RuntimeSpecialists): Promise<GateResult>;
44
+ //# sourceMappingURL=gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/dialai/gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EAEV,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAMrE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMtD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAMD,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAwED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,EACrB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,UAAU,CAAC,CAYrB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,EACrB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,UAAU,CAAC,CA8CrB"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * DIAL AI Gate Primitive
3
+ *
4
+ * A gate is a self-contained decision function. Phase 1 implementation
5
+ * builds on the existing machine/session infrastructure using synthetic
6
+ * 2-state machines.
7
+ */
8
+ import { createSession, registerProposer, registerArbiter, submitProposal, submitArbitration, getProposalsForEvaluation, getEnabledProposers, } from "./api.js";
9
+ import { getStore } from "./store.js";
10
+ // ============================================================================
11
+ // In-Memory Registry (Phase 1)
12
+ // ============================================================================
13
+ const registry = new Map();
14
+ /**
15
+ * Registers a gate definition. Throws if gateId already exists.
16
+ */
17
+ export function createGate(definition) {
18
+ if (registry.has(definition.gateId)) {
19
+ throw new Error(`Gate already exists: ${definition.gateId}`);
20
+ }
21
+ registry.set(definition.gateId, definition);
22
+ return definition;
23
+ }
24
+ /**
25
+ * Retrieves a gate definition by ID.
26
+ */
27
+ export function getGate(gateId) {
28
+ const gate = registry.get(gateId);
29
+ if (!gate) {
30
+ throw new Error(`Gate not found: ${gateId}`);
31
+ }
32
+ return gate;
33
+ }
34
+ /**
35
+ * Lists all registered gate definitions.
36
+ */
37
+ export function listGates() {
38
+ return [...registry.values()];
39
+ }
40
+ /**
41
+ * Removes a gate definition from the registry.
42
+ */
43
+ export function deleteGate(gateId) {
44
+ if (!registry.has(gateId)) {
45
+ throw new Error(`Gate not found: ${gateId}`);
46
+ }
47
+ registry.delete(gateId);
48
+ }
49
+ /**
50
+ * Clears the entire gate registry. Intended for tests.
51
+ */
52
+ export function clearGateRegistry() {
53
+ registry.clear();
54
+ }
55
+ /**
56
+ * Builds a synthetic 2-state machine from a gate definition and context.
57
+ */
58
+ function buildSyntheticMachine(gate, context) {
59
+ const prompt = gate.prompt
60
+ ? gate.prompt + (context?.promptSuffix ? "\n" + context.promptSuffix : "")
61
+ : context?.promptSuffix ?? "";
62
+ // All transitions target "done"
63
+ const transitions = {};
64
+ for (const [name, value] of Object.entries(gate.transitions)) {
65
+ if (typeof value === "string") {
66
+ transitions[name] = { target: "done", description: value };
67
+ }
68
+ else {
69
+ transitions[name] = { ...value, target: "done" };
70
+ }
71
+ }
72
+ return {
73
+ machineName: gate.gateId,
74
+ initialState: "evaluate",
75
+ goalState: "done",
76
+ states: {
77
+ evaluate: {
78
+ prompt,
79
+ transitions,
80
+ specialists: gate.specialists,
81
+ consensusThreshold: gate.consensusThreshold,
82
+ },
83
+ done: {},
84
+ },
85
+ };
86
+ }
87
+ /**
88
+ * Registers runtime specialists (proposers + arbiter) for a gate session,
89
+ * skipping any that are already registered in the store.
90
+ */
91
+ async function registerRuntimeSpecialists(gate, runtimeSpecialists) {
92
+ if (!runtimeSpecialists)
93
+ return;
94
+ const store = getStore();
95
+ if (runtimeSpecialists.proposers) {
96
+ for (const opts of runtimeSpecialists.proposers) {
97
+ if (await store.hasSpecialist(opts.specialistId))
98
+ continue;
99
+ await registerProposer({
100
+ ...opts,
101
+ machineName: gate.gateId,
102
+ });
103
+ }
104
+ }
105
+ if (runtimeSpecialists.arbiter) {
106
+ const opts = runtimeSpecialists.arbiter;
107
+ if (!(await store.hasSpecialist(opts.specialistId))) {
108
+ await registerArbiter({
109
+ ...opts,
110
+ machineName: gate.gateId,
111
+ });
112
+ }
113
+ }
114
+ }
115
+ /**
116
+ * Opens a gate for async usage. Returns a handle with sessionId and evaluationId.
117
+ * After opening, use submitProposal and submitArbitration directly.
118
+ */
119
+ export async function openGate(gateId, context, runtimeSpecialists) {
120
+ const gate = getGate(gateId);
121
+ const machine = buildSyntheticMachine(gate, context);
122
+ const session = await createSession(machine, context?.metaJson);
123
+ await registerRuntimeSpecialists(gate, runtimeSpecialists);
124
+ return {
125
+ gateId,
126
+ sessionId: session.sessionId,
127
+ evaluationId: session.currentEvaluationId,
128
+ };
129
+ }
130
+ /**
131
+ * Synchronous convenience: opens a gate, solicits all proposers, runs arbitration,
132
+ * and returns a GateResult.
133
+ */
134
+ export async function invokeGate(gateId, context, runtimeSpecialists) {
135
+ const startTime = Date.now();
136
+ const handle = await openGate(gateId, context, runtimeSpecialists);
137
+ // Get all enabled proposers for this gate's machineName (= gateId)
138
+ const proposers = await getEnabledProposers(gateId);
139
+ // Solicit all proposers in parallel
140
+ await Promise.all(proposers.map((p) => submitProposal({
141
+ sessionId: handle.sessionId,
142
+ specialistId: p.specialistId,
143
+ })));
144
+ // Gather proposals before arbitration (they get deleted on transition)
145
+ const proposals = await getProposalsForEvaluation(handle.sessionId, handle.evaluationId);
146
+ // Run arbitration
147
+ const arb = await submitArbitration({ sessionId: handle.sessionId });
148
+ const latencyMsec = Date.now() - startTime;
149
+ // Sum costs from proposals
150
+ let totalCost = 0;
151
+ for (const p of proposals) {
152
+ if (p.costUSD)
153
+ totalCost += p.costUSD;
154
+ }
155
+ if (arb.costUSD)
156
+ totalCost += arb.costUSD;
157
+ return {
158
+ evaluationId: handle.evaluationId,
159
+ gateId,
160
+ transitionName: arb.executed ? (arb.transitionName ?? null) : null,
161
+ reasoning: arb.reasoning ?? arb.guardReason,
162
+ needsHuman: !arb.executed,
163
+ proposals,
164
+ metaJson: arb.metaJson,
165
+ costUSD: totalCost > 0 ? totalCost : undefined,
166
+ latencyMsec,
167
+ };
168
+ }
169
+ //# sourceMappingURL=gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/dialai/gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"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"}
@@ -310,6 +310,15 @@ export async function callLlmWithTools(modelId, systemMessage, userMessage, tool
310
310
  }
311
311
  }
312
312
  }
313
+ /**
314
+ * Strips markdown code fences from a string before JSON.parse.
315
+ * Models often wrap JSON in ```json ... ``` blocks.
316
+ */
317
+ function stripMarkdownFences(text) {
318
+ const trimmed = text.trim();
319
+ const match = trimmed.match(/^```(?:\w+)?\s*\n?([\s\S]*?)\n?\s*```$/);
320
+ return match ? match[1].trim() : trimmed;
321
+ }
313
322
  /**
314
323
  * Parses a model ID, extracting flags like [tools=no].
315
324
  */
@@ -410,7 +419,7 @@ export async function executeProposerLlm(contextFn, modelId, ctx, auditContext)
410
419
  // Model returned text instead of tool call.
411
420
  // Try parsing it as DIAL JSON before falling through to text path.
412
421
  try {
413
- const parsed = JSON.parse(e.content);
422
+ const parsed = JSON.parse(stripMarkdownFences(e.content));
414
423
  if (parsed.transitionName && parsed.toState) {
415
424
  return {
416
425
  transitionName: parsed.transitionName,
@@ -441,7 +450,7 @@ export async function executeProposerLlm(contextFn, modelId, ctx, auditContext)
441
450
  const result = await callLlm(actualModelId, systemMessage, userMessage, auditContext);
442
451
  const latencyMsec = Date.now() - start;
443
452
  try {
444
- const parsed = JSON.parse(result.content);
453
+ const parsed = JSON.parse(stripMarkdownFences(result.content));
445
454
  if (!parsed.transitionName || !parsed.toState) {
446
455
  throw new Error("Missing required fields in LLM response");
447
456
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Migration 002: Cacophony users and credit system
3
+ */
4
+ export declare const sql = "\nCREATE TABLE IF NOT EXISTS \"CacophonyUser\" (\n \"userId\" TEXT PRIMARY KEY,\n \"email\" TEXT NOT NULL,\n \"stripeCustomerId\" TEXT UNIQUE,\n \"createdAt\" TIMESTAMPTZ DEFAULT NOW()\n);\n\nCREATE TABLE IF NOT EXISTS \"CreditBalance\" (\n \"userId\" TEXT PRIMARY KEY REFERENCES \"CacophonyUser\"(\"userId\"),\n \"balance\" INTEGER NOT NULL DEFAULT 10,\n \"updatedAt\" TIMESTAMPTZ DEFAULT NOW()\n);\n\nCREATE TABLE IF NOT EXISTS \"CreditTransaction\" (\n \"transactionId\" UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n \"userId\" TEXT NOT NULL REFERENCES \"CacophonyUser\"(\"userId\"),\n \"amount\" INTEGER NOT NULL,\n \"type\" TEXT NOT NULL CHECK (\"type\" IN ('purchase','usage','bonus','refund')),\n \"description\" TEXT,\n \"stripeSessionId\" TEXT,\n \"sessionId\" UUID,\n \"createdAt\" TIMESTAMPTZ DEFAULT NOW()\n);\nCREATE INDEX IF NOT EXISTS \"idx_ct_userId\" ON \"CreditTransaction\"(\"userId\");\n";
5
+ //# sourceMappingURL=002-users-credits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002-users-credits.d.ts","sourceRoot":"","sources":["../../../src/dialai/migrations/002-users-credits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,GAAG,++BAyBf,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Migration 002: Cacophony users and credit system
3
+ */
4
+ export const sql = `
5
+ CREATE TABLE IF NOT EXISTS "CacophonyUser" (
6
+ "userId" TEXT PRIMARY KEY,
7
+ "email" TEXT NOT NULL,
8
+ "stripeCustomerId" TEXT UNIQUE,
9
+ "createdAt" TIMESTAMPTZ DEFAULT NOW()
10
+ );
11
+
12
+ CREATE TABLE IF NOT EXISTS "CreditBalance" (
13
+ "userId" TEXT PRIMARY KEY REFERENCES "CacophonyUser"("userId"),
14
+ "balance" INTEGER NOT NULL DEFAULT 10,
15
+ "updatedAt" TIMESTAMPTZ DEFAULT NOW()
16
+ );
17
+
18
+ CREATE TABLE IF NOT EXISTS "CreditTransaction" (
19
+ "transactionId" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
20
+ "userId" TEXT NOT NULL REFERENCES "CacophonyUser"("userId"),
21
+ "amount" INTEGER NOT NULL,
22
+ "type" TEXT NOT NULL CHECK ("type" IN ('purchase','usage','bonus','refund')),
23
+ "description" TEXT,
24
+ "stripeSessionId" TEXT,
25
+ "sessionId" UUID,
26
+ "createdAt" TIMESTAMPTZ DEFAULT NOW()
27
+ );
28
+ CREATE INDEX IF NOT EXISTS "idx_ct_userId" ON "CreditTransaction"("userId");
29
+ `;
30
+ //# sourceMappingURL=002-users-credits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002-users-credits.js","sourceRoot":"","sources":["../../../src/dialai/migrations/002-users-credits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Migration 004: Rename Round → Evaluation
3
+ *
4
+ * Renames the "Round" table to "Evaluation", renames roundId columns,
5
+ * and updates indexes and audit triggers.
6
+ */
7
+ export declare const sql = "\n-- Rename table\nALTER TABLE \"Round\" RENAME TO \"Evaluation\";\n\n-- Rename PK column on Evaluation\nALTER TABLE \"Evaluation\" RENAME COLUMN \"roundId\" TO \"evaluationId\";\n\n-- Rename FK column on Proposal\nALTER TABLE \"Proposal\" RENAME COLUMN \"roundId\" TO \"evaluationId\";\n\n-- Rename indexes\nALTER INDEX \"idx_Round_sessionId\" RENAME TO \"idx_Evaluation_sessionId\";\nALTER INDEX \"idx_Proposal_roundId\" RENAME TO \"idx_Proposal_evaluationId\";\n\n-- Recreate audit trigger for renamed table\nDROP TRIGGER IF EXISTS audit_Round ON \"Evaluation\";\nCREATE TRIGGER audit_Evaluation\n AFTER INSERT OR UPDATE OR DELETE ON \"Evaluation\"\n FOR EACH ROW EXECUTE FUNCTION audit_trigger_fn();\n\n-- Update audit trigger function to handle new table/column name\nCREATE OR REPLACE FUNCTION audit_trigger_fn()\nRETURNS TRIGGER AS $$\nDECLARE\n pk_col TEXT;\n pk_val TEXT;\nBEGIN\n CASE TG_TABLE_NAME\n WHEN 'Machine' THEN pk_col := 'machineName';\n WHEN 'Session' THEN pk_col := 'sessionId';\n WHEN 'Specialist' THEN pk_col := 'specialistId';\n WHEN 'Evaluation' THEN pk_col := 'evaluationId';\n WHEN 'Proposal' THEN pk_col := 'proposalId';\n ELSE pk_col := 'id';\n END CASE;\n\n IF TG_OP = 'INSERT' THEN\n EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING NEW;\n INSERT INTO \"Audit\" (\"tableName\", \"recordId\", \"operation\", \"newValue\")\n VALUES (TG_TABLE_NAME, pk_val, 'INSERT', to_jsonb(NEW));\n RETURN NEW;\n ELSIF TG_OP = 'UPDATE' THEN\n EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING NEW;\n INSERT INTO \"Audit\" (\"tableName\", \"recordId\", \"operation\", \"oldValue\", \"newValue\")\n VALUES (TG_TABLE_NAME, pk_val, 'UPDATE', to_jsonb(OLD), to_jsonb(NEW));\n RETURN NEW;\n ELSIF TG_OP = 'DELETE' THEN\n EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING OLD;\n INSERT INTO \"Audit\" (\"tableName\", \"recordId\", \"operation\", \"oldValue\")\n VALUES (TG_TABLE_NAME, pk_val, 'DELETE', to_jsonb(OLD));\n RETURN OLD;\n END IF;\n RETURN NULL;\nEND;\n$$ LANGUAGE plpgsql;\n";
8
+ //# sourceMappingURL=004-rename-round-to-evaluation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"004-rename-round-to-evaluation.d.ts","sourceRoot":"","sources":["../../../src/dialai/migrations/004-rename-round-to-evaluation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,GAAG,+jEAuDf,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Migration 004: Rename Round → Evaluation
3
+ *
4
+ * Renames the "Round" table to "Evaluation", renames roundId columns,
5
+ * and updates indexes and audit triggers.
6
+ */
7
+ export const sql = `
8
+ -- Rename table
9
+ ALTER TABLE "Round" RENAME TO "Evaluation";
10
+
11
+ -- Rename PK column on Evaluation
12
+ ALTER TABLE "Evaluation" RENAME COLUMN "roundId" TO "evaluationId";
13
+
14
+ -- Rename FK column on Proposal
15
+ ALTER TABLE "Proposal" RENAME COLUMN "roundId" TO "evaluationId";
16
+
17
+ -- Rename indexes
18
+ ALTER INDEX "idx_Round_sessionId" RENAME TO "idx_Evaluation_sessionId";
19
+ ALTER INDEX "idx_Proposal_roundId" RENAME TO "idx_Proposal_evaluationId";
20
+
21
+ -- Recreate audit trigger for renamed table
22
+ DROP TRIGGER IF EXISTS audit_Round ON "Evaluation";
23
+ CREATE TRIGGER audit_Evaluation
24
+ AFTER INSERT OR UPDATE OR DELETE ON "Evaluation"
25
+ FOR EACH ROW EXECUTE FUNCTION audit_trigger_fn();
26
+
27
+ -- Update audit trigger function to handle new table/column name
28
+ CREATE OR REPLACE FUNCTION audit_trigger_fn()
29
+ RETURNS TRIGGER AS $$
30
+ DECLARE
31
+ pk_col TEXT;
32
+ pk_val TEXT;
33
+ BEGIN
34
+ CASE TG_TABLE_NAME
35
+ WHEN 'Machine' THEN pk_col := 'machineName';
36
+ WHEN 'Session' THEN pk_col := 'sessionId';
37
+ WHEN 'Specialist' THEN pk_col := 'specialistId';
38
+ WHEN 'Evaluation' THEN pk_col := 'evaluationId';
39
+ WHEN 'Proposal' THEN pk_col := 'proposalId';
40
+ ELSE pk_col := 'id';
41
+ END CASE;
42
+
43
+ IF TG_OP = 'INSERT' THEN
44
+ EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING NEW;
45
+ INSERT INTO "Audit" ("tableName", "recordId", "operation", "newValue")
46
+ VALUES (TG_TABLE_NAME, pk_val, 'INSERT', to_jsonb(NEW));
47
+ RETURN NEW;
48
+ ELSIF TG_OP = 'UPDATE' THEN
49
+ EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING NEW;
50
+ INSERT INTO "Audit" ("tableName", "recordId", "operation", "oldValue", "newValue")
51
+ VALUES (TG_TABLE_NAME, pk_val, 'UPDATE', to_jsonb(OLD), to_jsonb(NEW));
52
+ RETURN NEW;
53
+ ELSIF TG_OP = 'DELETE' THEN
54
+ EXECUTE format('SELECT ($1.%I)::TEXT', pk_col) INTO pk_val USING OLD;
55
+ INSERT INTO "Audit" ("tableName", "recordId", "operation", "oldValue")
56
+ VALUES (TG_TABLE_NAME, pk_val, 'DELETE', to_jsonb(OLD));
57
+ RETURN OLD;
58
+ END IF;
59
+ RETURN NULL;
60
+ END;
61
+ $$ LANGUAGE plpgsql;
62
+ `;
63
+ //# sourceMappingURL=004-rename-round-to-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"004-rename-round-to-evaluation.js","sourceRoot":"","sources":["../../../src/dialai/migrations/004-rename-round-to-evaluation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDlB,CAAC"}