dialai 1.4.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 (63) hide show
  1. package/.claude/specs/poll-gate.md +269 -0
  2. package/dist/dialai/api.d.ts.map +1 -1
  3. package/dist/dialai/api.js +6 -4
  4. package/dist/dialai/api.js.map +1 -1
  5. package/dist/dialai/asl/choice-extractor.d.ts +60 -0
  6. package/dist/dialai/asl/choice-extractor.d.ts.map +1 -0
  7. package/dist/dialai/asl/choice-extractor.js +131 -0
  8. package/dist/dialai/asl/choice-extractor.js.map +1 -0
  9. package/dist/dialai/asl/index.d.ts +6 -0
  10. package/dist/dialai/asl/index.d.ts.map +1 -0
  11. package/dist/dialai/asl/index.js +9 -0
  12. package/dist/dialai/asl/index.js.map +1 -0
  13. package/dist/dialai/asl/interpreter.d.ts +6 -0
  14. package/dist/dialai/asl/interpreter.d.ts.map +1 -0
  15. package/dist/dialai/asl/interpreter.js +260 -0
  16. package/dist/dialai/asl/interpreter.js.map +1 -0
  17. package/dist/dialai/asl/jsonpath.d.ts +34 -0
  18. package/dist/dialai/asl/jsonpath.d.ts.map +1 -0
  19. package/dist/dialai/asl/jsonpath.js +229 -0
  20. package/dist/dialai/asl/jsonpath.js.map +1 -0
  21. package/dist/dialai/asl/types.d.ts +45 -0
  22. package/dist/dialai/asl/types.d.ts.map +1 -0
  23. package/dist/dialai/asl/types.js +2 -0
  24. package/dist/dialai/asl/types.js.map +1 -0
  25. package/dist/dialai/asl/validator.d.ts +17 -0
  26. package/dist/dialai/asl/validator.d.ts.map +1 -0
  27. package/dist/dialai/asl/validator.js +75 -0
  28. package/dist/dialai/asl/validator.js.map +1 -0
  29. package/dist/dialai/cli.js +0 -0
  30. package/dist/dialai/docs-loader.d.ts +6 -0
  31. package/dist/dialai/docs-loader.d.ts.map +1 -0
  32. package/dist/dialai/docs-loader.js +63 -0
  33. package/dist/dialai/docs-loader.js.map +1 -0
  34. package/dist/dialai/gate.d.ts +44 -0
  35. package/dist/dialai/gate.d.ts.map +1 -0
  36. package/dist/dialai/gate.js +169 -0
  37. package/dist/dialai/gate.js.map +1 -0
  38. package/dist/dialai/llm.d.ts +6 -1
  39. package/dist/dialai/llm.d.ts.map +1 -1
  40. package/dist/dialai/llm.js +51 -4
  41. package/dist/dialai/llm.js.map +1 -1
  42. package/dist/dialai/mcp.js +0 -0
  43. package/dist/dialai/migrations/002-users-credits.d.ts +5 -0
  44. package/dist/dialai/migrations/002-users-credits.d.ts.map +1 -0
  45. package/dist/dialai/migrations/002-users-credits.js +30 -0
  46. package/dist/dialai/migrations/002-users-credits.js.map +1 -0
  47. package/dist/dialai/migrations/003-llm-audit-resolved-model.d.ts +8 -0
  48. package/dist/dialai/migrations/003-llm-audit-resolved-model.d.ts.map +1 -0
  49. package/dist/dialai/migrations/003-llm-audit-resolved-model.js +11 -0
  50. package/dist/dialai/migrations/003-llm-audit-resolved-model.js.map +1 -0
  51. package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts +8 -0
  52. package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts.map +1 -0
  53. package/dist/dialai/migrations/004-rename-round-to-evaluation.js +63 -0
  54. package/dist/dialai/migrations/004-rename-round-to-evaluation.js.map +1 -0
  55. package/dist/dialai/migrations/migrate.d.ts.map +1 -1
  56. package/dist/dialai/migrations/migrate.js +2 -0
  57. package/dist/dialai/migrations/migrate.js.map +1 -1
  58. package/dist/dialai/store-postgres.d.ts.map +1 -1
  59. package/dist/dialai/store-postgres.js +2 -0
  60. package/dist/dialai/store-postgres.js.map +1 -1
  61. package/dist/dialai/types.d.ts +4 -0
  62. package/dist/dialai/types.d.ts.map +1 -1
  63. 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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"}
@@ -5,7 +5,7 @@
5
5
  * LLM execution: Call contextFn, assemble prompt, POST to OpenAI-compatible endpoint.
6
6
  * Uses Node 18+ built-in fetch (no external dependencies).
7
7
  */
8
- import type { ProposerContext, ProposerStrategyResult, TransitionDefinition, LlmAuditContext } from "./types.js";
8
+ import type { Exemplar, ProposerContext, ProposerStrategyResult, TransitionDefinition, LlmAuditContext } from "./types.js";
9
9
  /**
10
10
  * Executes a webhook strategy by POSTing context to the given URL.
11
11
  * Uses Basic Auth with machineName:token from the specified environment variable.
@@ -92,6 +92,11 @@ export declare function parseModelId(raw: string): {
92
92
  modelId: string;
93
93
  useTools: boolean;
94
94
  };
95
+ /**
96
+ * Formats exemplars as few-shot input/output pairs for LLM prompts.
97
+ * Returns empty string when no exemplars are available.
98
+ */
99
+ export declare function formatExemplarsForPrompt(exemplars: Exemplar[]): string;
95
100
  /**
96
101
  * Executes a proposer LLM strategy.
97
102
  * Calls contextFn to get context, tries tool calling if transitions are enriched,
@@ -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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"}
@@ -98,6 +98,7 @@ export async function callLlm(modelId, systemMessage, userMessage, auditContext)
98
98
  const startTime = Date.now();
99
99
  let responseStatus = null;
100
100
  let responseBody = null;
101
+ let resolvedModel = null;
101
102
  let error = null;
102
103
  try {
103
104
  const response = await fetch(requestUrl, {
@@ -119,6 +120,7 @@ export async function callLlm(modelId, systemMessage, userMessage, auditContext)
119
120
  error = `Failed to parse LLM response as JSON: ${responseBody}`;
120
121
  throw new Error(error);
121
122
  }
123
+ resolvedModel = data.model ?? null;
122
124
  if (!data.choices || data.choices.length === 0) {
123
125
  error = "LLM returned no choices";
124
126
  throw new Error(error);
@@ -153,6 +155,7 @@ export async function callLlm(modelId, systemMessage, userMessage, auditContext)
153
155
  requestBody,
154
156
  responseStatus,
155
157
  responseBody,
158
+ resolvedModel,
156
159
  durationMs,
157
160
  error,
158
161
  });
@@ -224,6 +227,7 @@ export async function callLlmWithTools(modelId, systemMessage, userMessage, tool
224
227
  const startTime = Date.now();
225
228
  let responseStatus = null;
226
229
  let responseBody = null;
230
+ let resolvedModel = null;
227
231
  let error = null;
228
232
  try {
229
233
  const response = await fetch(requestUrl, {
@@ -245,6 +249,7 @@ export async function callLlmWithTools(modelId, systemMessage, userMessage, tool
245
249
  error = `Failed to parse LLM response as JSON: ${responseBody}`;
246
250
  throw new Error(error);
247
251
  }
252
+ resolvedModel = data.model ?? null;
248
253
  if (!data.choices || data.choices.length === 0) {
249
254
  error = "LLM returned no choices";
250
255
  throw new Error(error);
@@ -295,6 +300,7 @@ export async function callLlmWithTools(modelId, systemMessage, userMessage, tool
295
300
  requestBody,
296
301
  responseStatus,
297
302
  responseBody,
303
+ resolvedModel,
298
304
  durationMs,
299
305
  error,
300
306
  });
@@ -304,6 +310,15 @@ export async function callLlmWithTools(modelId, systemMessage, userMessage, tool
304
310
  }
305
311
  }
306
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
+ }
307
322
  /**
308
323
  * Parses a model ID, extracting flags like [tools=no].
309
324
  */
@@ -314,6 +329,35 @@ export function parseModelId(raw) {
314
329
  const useTools = !flags.includes("tools=no");
315
330
  return { modelId, useTools };
316
331
  }
332
+ /**
333
+ * Formats exemplars as few-shot input/output pairs for LLM prompts.
334
+ * Returns empty string when no exemplars are available.
335
+ */
336
+ export function formatExemplarsForPrompt(exemplars) {
337
+ if (exemplars.length === 0)
338
+ return "";
339
+ const examples = exemplars.map((ex, i) => {
340
+ const transitions = Object.entries(ex.context.transitions)
341
+ .map(([name, def]) => ` - "${name}" → "${def.target}"`)
342
+ .join("\n");
343
+ const humanProposal = ex.proposals.find((p) => p.transitionName === ex.humanTransitionName && p.isHuman);
344
+ const reasoning = humanProposal?.reasoning ?? "";
345
+ const output = JSON.stringify({
346
+ transitionName: ex.humanTransitionName,
347
+ toState: ex.humanToState,
348
+ reasoning,
349
+ });
350
+ return `Example ${i + 1}:
351
+ Input:
352
+ State: ${ex.context.currentState}
353
+ Prompt: ${ex.context.prompt}
354
+ Transitions:
355
+ ${transitions}
356
+ Output:
357
+ ${output}`;
358
+ });
359
+ return `\nHuman ground truth examples:\n${examples.join("\n\n")}\n`;
360
+ }
317
361
  /**
318
362
  * Assembles a proposer prompt for LLM mode.
319
363
  */
@@ -321,12 +365,13 @@ function assembleProposerPrompt(ctx, context) {
321
365
  const transitions = Object.entries(ctx.transitions)
322
366
  .map(([name, def]) => ` - "${name}" → "${def.target}"`)
323
367
  .join("\n");
368
+ const exemplarSection = formatExemplarsForPrompt(ctx.exemplars ?? []);
324
369
  return `Current state: ${ctx.currentState}
325
370
  Decision prompt: ${ctx.prompt}
326
371
 
327
372
  Available transitions:
328
373
  ${transitions}
329
-
374
+ ${exemplarSection}
330
375
  Context:
331
376
  ${context}
332
377
 
@@ -347,7 +392,9 @@ export async function executeProposerLlm(contextFn, modelId, ctx, auditContext)
347
392
  if (tools) {
348
393
  const systemMessage = "You are a function-calling AI assistant. "
349
394
  + "Use the provided tools to respond to the user's request.";
350
- const userMessage = ctx.prompt ? `${ctx.prompt}\n\n${context}` : context;
395
+ const exemplarSection = formatExemplarsForPrompt(ctx.exemplars ?? []);
396
+ const baseMessage = ctx.prompt ? `${ctx.prompt}\n\n${context}` : context;
397
+ const userMessage = exemplarSection ? `${baseMessage}\n${exemplarSection}` : baseMessage;
351
398
  try {
352
399
  const result = await callLlmWithTools(actualModelId, systemMessage, userMessage, tools, auditContext);
353
400
  const latencyMsec = Date.now() - start;
@@ -372,7 +419,7 @@ export async function executeProposerLlm(contextFn, modelId, ctx, auditContext)
372
419
  // Model returned text instead of tool call.
373
420
  // Try parsing it as DIAL JSON before falling through to text path.
374
421
  try {
375
- const parsed = JSON.parse(e.content);
422
+ const parsed = JSON.parse(stripMarkdownFences(e.content));
376
423
  if (parsed.transitionName && parsed.toState) {
377
424
  return {
378
425
  transitionName: parsed.transitionName,
@@ -403,7 +450,7 @@ export async function executeProposerLlm(contextFn, modelId, ctx, auditContext)
403
450
  const result = await callLlm(actualModelId, systemMessage, userMessage, auditContext);
404
451
  const latencyMsec = Date.now() - start;
405
452
  try {
406
- const parsed = JSON.parse(result.content);
453
+ const parsed = JSON.parse(stripMarkdownFences(result.content));
407
454
  if (!parsed.transitionName || !parsed.toState) {
408
455
  throw new Error("Missing required fields in LLM response");
409
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"}