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.
- package/.claude/specs/poll-gate.md +269 -0
- package/dist/dialai/api.d.ts.map +1 -1
- package/dist/dialai/api.js +6 -4
- package/dist/dialai/api.js.map +1 -1
- package/dist/dialai/asl/choice-extractor.d.ts +60 -0
- package/dist/dialai/asl/choice-extractor.d.ts.map +1 -0
- package/dist/dialai/asl/choice-extractor.js +131 -0
- package/dist/dialai/asl/choice-extractor.js.map +1 -0
- package/dist/dialai/asl/index.d.ts +6 -0
- package/dist/dialai/asl/index.d.ts.map +1 -0
- package/dist/dialai/asl/index.js +9 -0
- package/dist/dialai/asl/index.js.map +1 -0
- package/dist/dialai/asl/interpreter.d.ts +6 -0
- package/dist/dialai/asl/interpreter.d.ts.map +1 -0
- package/dist/dialai/asl/interpreter.js +260 -0
- package/dist/dialai/asl/interpreter.js.map +1 -0
- package/dist/dialai/asl/jsonpath.d.ts +34 -0
- package/dist/dialai/asl/jsonpath.d.ts.map +1 -0
- package/dist/dialai/asl/jsonpath.js +229 -0
- package/dist/dialai/asl/jsonpath.js.map +1 -0
- package/dist/dialai/asl/types.d.ts +45 -0
- package/dist/dialai/asl/types.d.ts.map +1 -0
- package/dist/dialai/asl/types.js +2 -0
- package/dist/dialai/asl/types.js.map +1 -0
- package/dist/dialai/asl/validator.d.ts +17 -0
- package/dist/dialai/asl/validator.d.ts.map +1 -0
- package/dist/dialai/asl/validator.js +75 -0
- package/dist/dialai/asl/validator.js.map +1 -0
- package/dist/dialai/cli.js +0 -0
- package/dist/dialai/docs-loader.d.ts +6 -0
- package/dist/dialai/docs-loader.d.ts.map +1 -0
- package/dist/dialai/docs-loader.js +63 -0
- package/dist/dialai/docs-loader.js.map +1 -0
- package/dist/dialai/gate.d.ts +44 -0
- package/dist/dialai/gate.d.ts.map +1 -0
- package/dist/dialai/gate.js +169 -0
- package/dist/dialai/gate.js.map +1 -0
- package/dist/dialai/llm.d.ts +6 -1
- package/dist/dialai/llm.d.ts.map +1 -1
- package/dist/dialai/llm.js +51 -4
- package/dist/dialai/llm.js.map +1 -1
- package/dist/dialai/mcp.js +0 -0
- package/dist/dialai/migrations/002-users-credits.d.ts +5 -0
- package/dist/dialai/migrations/002-users-credits.d.ts.map +1 -0
- package/dist/dialai/migrations/002-users-credits.js +30 -0
- package/dist/dialai/migrations/002-users-credits.js.map +1 -0
- package/dist/dialai/migrations/003-llm-audit-resolved-model.d.ts +8 -0
- package/dist/dialai/migrations/003-llm-audit-resolved-model.d.ts.map +1 -0
- package/dist/dialai/migrations/003-llm-audit-resolved-model.js +11 -0
- package/dist/dialai/migrations/003-llm-audit-resolved-model.js.map +1 -0
- package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts +8 -0
- package/dist/dialai/migrations/004-rename-round-to-evaluation.d.ts.map +1 -0
- package/dist/dialai/migrations/004-rename-round-to-evaluation.js +63 -0
- package/dist/dialai/migrations/004-rename-round-to-evaluation.js.map +1 -0
- package/dist/dialai/migrations/migrate.d.ts.map +1 -1
- package/dist/dialai/migrations/migrate.js +2 -0
- package/dist/dialai/migrations/migrate.js.map +1 -1
- package/dist/dialai/store-postgres.d.ts.map +1 -1
- package/dist/dialai/store-postgres.js +2 -0
- package/dist/dialai/store-postgres.js.map +1 -1
- package/dist/dialai/types.d.ts +4 -0
- package/dist/dialai/types.d.ts.map +1 -1
- 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"}
|
package/dist/dialai/cli.js
CHANGED
|
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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"}
|
package/dist/dialai/llm.d.ts
CHANGED
|
@@ -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,
|
package/dist/dialai/llm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAOpB;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,CAAC,CAAC,CAgCZ;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAOjC;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/dialai/llm.ts"],"names":[],"mappings":"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"}
|
package/dist/dialai/llm.js
CHANGED
|
@@ -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
|
|
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
|
}
|
package/dist/dialai/llm.js.map
CHANGED
|
@@ -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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"}
|
package/dist/dialai/mcp.js
CHANGED
|
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"}
|