@positronic/core 0.0.52 → 0.0.53
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/dist/src/dsl/{loop-messages.js → agent-messages.js} +21 -21
- package/dist/src/dsl/brain-runner.js +6 -6
- package/dist/src/dsl/brain-state-machine.js +2 -2
- package/dist/src/dsl/brain.js +5 -1912
- package/dist/src/dsl/builder/brain.js +944 -0
- package/dist/src/dsl/builder/step.js +75 -0
- package/dist/src/dsl/constants.js +9 -10
- package/dist/src/dsl/create-brain.js +63 -0
- package/dist/src/dsl/definitions/blocks.js +1 -0
- package/dist/src/dsl/definitions/brain-types.js +4 -0
- package/dist/src/dsl/definitions/events.js +2 -0
- package/dist/src/dsl/definitions/run-params.js +1 -0
- package/dist/src/dsl/definitions/steps.js +2 -0
- package/dist/src/dsl/execution/constants.js +14 -0
- package/dist/src/dsl/execution/event-stream.js +1638 -0
- package/dist/src/dsl/execution/retry.js +298 -0
- package/dist/src/dsl/types.js +2 -2
- package/dist/src/index.js +5 -3
- package/dist/src/tools/index.js +181 -0
- package/dist/src/ui/component-utils.js +107 -0
- package/dist/src/ui/generate-page-html.js +36 -0
- package/dist/src/ui/generate-ui.js +601 -0
- package/dist/src/ui/types.js +165 -0
- package/dist/src/ui/validate-form.js +428 -0
- package/dist/src/yaml/data-validator.js +302 -0
- package/dist/src/yaml/index.js +9 -0
- package/dist/src/yaml/parser.js +224 -0
- package/dist/src/yaml/schema-extractor.js +330 -0
- package/dist/src/yaml/type-inference.js +210 -0
- package/dist/src/yaml/types.js +12 -0
- package/dist/types/clients/types.d.ts +42 -0
- package/dist/types/clients/types.d.ts.map +1 -1
- package/dist/types/dsl/agent-messages.d.ts +18 -0
- package/dist/types/dsl/agent-messages.d.ts.map +1 -0
- package/dist/types/dsl/brain-runner.d.ts +2 -2
- package/dist/types/dsl/brain-runner.d.ts.map +1 -1
- package/dist/types/dsl/brain-state-machine.d.ts.map +1 -1
- package/dist/types/dsl/brain.d.ts +7 -273
- package/dist/types/dsl/brain.d.ts.map +1 -1
- package/dist/types/dsl/builder/brain.d.ts +200 -0
- package/dist/types/dsl/builder/brain.d.ts.map +1 -0
- package/dist/types/dsl/builder/step.d.ts +15 -0
- package/dist/types/dsl/builder/step.d.ts.map +1 -0
- package/dist/types/dsl/constants.d.ts +8 -9
- package/dist/types/dsl/constants.d.ts.map +1 -1
- package/dist/types/dsl/create-brain.d.ts +80 -0
- package/dist/types/dsl/create-brain.d.ts.map +1 -0
- package/dist/types/dsl/definitions/blocks.d.ts +62 -0
- package/dist/types/dsl/definitions/blocks.d.ts.map +1 -0
- package/dist/types/dsl/definitions/brain-types.d.ts +33 -0
- package/dist/types/dsl/definitions/brain-types.d.ts.map +1 -0
- package/dist/types/dsl/definitions/events.d.ts +129 -0
- package/dist/types/dsl/definitions/events.d.ts.map +1 -0
- package/dist/types/dsl/definitions/run-params.d.ts +26 -0
- package/dist/types/dsl/definitions/run-params.d.ts.map +1 -0
- package/dist/types/dsl/definitions/steps.d.ts +20 -0
- package/dist/types/dsl/definitions/steps.d.ts.map +1 -0
- package/dist/types/dsl/example-webhook.d.ts +1 -1
- package/dist/types/dsl/example-webhook.d.ts.map +1 -1
- package/dist/types/dsl/execution/constants.d.ts +16 -0
- package/dist/types/dsl/execution/constants.d.ts.map +1 -0
- package/dist/types/dsl/execution/event-stream.d.ts +44 -0
- package/dist/types/dsl/execution/event-stream.d.ts.map +1 -0
- package/dist/types/dsl/execution/retry.d.ts +30 -0
- package/dist/types/dsl/execution/retry.d.ts.map +1 -0
- package/dist/types/dsl/types.d.ts +35 -14
- package/dist/types/dsl/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +9 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tools/index.d.ts +33 -0
- package/dist/types/tools/index.d.ts.map +1 -0
- package/dist/types/ui/component-utils.d.ts +19 -0
- package/dist/types/ui/component-utils.d.ts.map +1 -0
- package/dist/types/ui/generate-page-html.d.ts +39 -0
- package/dist/types/ui/generate-page-html.d.ts.map +1 -0
- package/dist/types/ui/generate-ui.d.ts +47 -0
- package/dist/types/ui/generate-ui.d.ts.map +1 -0
- package/dist/types/ui/types.d.ts +138 -0
- package/dist/types/ui/types.d.ts.map +1 -0
- package/dist/types/ui/validate-form.d.ts +45 -0
- package/dist/types/ui/validate-form.d.ts.map +1 -0
- package/dist/types/yaml/data-validator.d.ts +35 -0
- package/dist/types/yaml/data-validator.d.ts.map +1 -0
- package/dist/types/yaml/index.d.ts +11 -0
- package/dist/types/yaml/index.d.ts.map +1 -0
- package/dist/types/yaml/parser.d.ts +20 -0
- package/dist/types/yaml/parser.d.ts.map +1 -0
- package/dist/types/yaml/schema-extractor.d.ts +29 -0
- package/dist/types/yaml/schema-extractor.d.ts.map +1 -0
- package/dist/types/yaml/type-inference.d.ts +50 -0
- package/dist/types/yaml/type-inference.d.ts.map +1 -0
- package/dist/types/yaml/types.d.ts +89 -0
- package/dist/types/yaml/types.d.ts.map +1 -0
- package/package.json +4 -2
- package/dist/types/dsl/loop-messages.d.ts +0 -18
- package/dist/types/dsl/loop-messages.d.ts.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the YAML-based UI generation DSL.
|
|
3
|
+
*
|
|
4
|
+
* Templates are written in YAML and parsed into an AST of ComponentNodes.
|
|
5
|
+
* Props can be literal values or binding expressions ({{path}}) that are
|
|
6
|
+
* resolved at render time against provided data.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A binding expression like {{emails}} or {{email.subject}}
|
|
10
|
+
* that references data to be resolved at render time.
|
|
11
|
+
*/
|
|
12
|
+
export interface BindingExpression {
|
|
13
|
+
type: 'binding';
|
|
14
|
+
path: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A literal value that doesn't need resolution.
|
|
18
|
+
*/
|
|
19
|
+
export interface LiteralValue {
|
|
20
|
+
type: 'literal';
|
|
21
|
+
value: string | number | boolean | null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A prop value can be either a binding or a literal.
|
|
25
|
+
*/
|
|
26
|
+
export type PropValue = BindingExpression | LiteralValue;
|
|
27
|
+
/**
|
|
28
|
+
* A component node in the AST.
|
|
29
|
+
*/
|
|
30
|
+
export interface ComponentNode {
|
|
31
|
+
component: string;
|
|
32
|
+
props: Record<string, PropValue>;
|
|
33
|
+
children: ComponentNode[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The root of a parsed template.
|
|
37
|
+
*/
|
|
38
|
+
export interface Template {
|
|
39
|
+
root: ComponentNode;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Form field types that the schema extractor recognizes.
|
|
43
|
+
*/
|
|
44
|
+
export type FormFieldType = 'string' | 'number' | 'boolean' | 'string[]' | 'number[]';
|
|
45
|
+
/**
|
|
46
|
+
* Extracted form field info.
|
|
47
|
+
*/
|
|
48
|
+
export interface FormField {
|
|
49
|
+
name: string;
|
|
50
|
+
type: FormFieldType;
|
|
51
|
+
insideLoop: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The extracted form schema from a template.
|
|
55
|
+
*/
|
|
56
|
+
export interface ExtractedFormSchema {
|
|
57
|
+
fields: FormField[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validation error types.
|
|
61
|
+
*/
|
|
62
|
+
export interface ValidationError {
|
|
63
|
+
type: 'form-schema-mismatch' | 'invalid-binding' | 'unknown-component' | 'missing-prop' | 'form-missing-submit-button';
|
|
64
|
+
message: string;
|
|
65
|
+
path?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Result of validating a template.
|
|
69
|
+
*/
|
|
70
|
+
export interface ValidationResult {
|
|
71
|
+
valid: boolean;
|
|
72
|
+
errors: ValidationError[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Data type inference for validating bindings.
|
|
76
|
+
*/
|
|
77
|
+
export type DataType = {
|
|
78
|
+
kind: 'primitive';
|
|
79
|
+
type: 'string' | 'number' | 'boolean' | 'null';
|
|
80
|
+
} | {
|
|
81
|
+
kind: 'array';
|
|
82
|
+
elementType: DataType;
|
|
83
|
+
} | {
|
|
84
|
+
kind: 'object';
|
|
85
|
+
properties: Record<string, DataType>;
|
|
86
|
+
} | {
|
|
87
|
+
kind: 'unknown';
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/yaml/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,4BAA4B,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,QAAQ,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@positronic/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.53",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -32,9 +32,11 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"fast-json-patch": "^3.1.1",
|
|
34
34
|
"robot3": "^1.2.0",
|
|
35
|
-
"uuid": "^11.0.5"
|
|
35
|
+
"uuid": "^11.0.5",
|
|
36
|
+
"yaml": "^2.8.2"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
39
|
+
"@types/react": "^19.2.8",
|
|
38
40
|
"@types/uuid": "^10.0.0",
|
|
39
41
|
"zod": "^3.24.1"
|
|
40
42
|
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { BrainEvent } from './brain.js';
|
|
2
|
-
import type { ToolMessage } from '../clients/types.js';
|
|
3
|
-
import type { JsonObject } from './types.js';
|
|
4
|
-
export interface LoopResumeContext {
|
|
5
|
-
messages: ToolMessage[];
|
|
6
|
-
pendingToolCallId: string;
|
|
7
|
-
pendingToolName: string;
|
|
8
|
-
prompt: string;
|
|
9
|
-
system?: string;
|
|
10
|
-
/** The raw webhook response for event emission */
|
|
11
|
-
webhookResponse: JsonObject;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Reconstructs the loop context from stored events and a webhook response.
|
|
15
|
-
* Returns null if this is not a loop resume (no LOOP_WEBHOOK event found).
|
|
16
|
-
*/
|
|
17
|
-
export declare function reconstructLoopContext(events: BrainEvent[], webhookResponse: JsonObject): LoopResumeContext | null;
|
|
18
|
-
//# sourceMappingURL=loop-messages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loop-messages.d.ts","sourceRoot":"","sources":["../../../src/dsl/loop-messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAKX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,eAAe,EAAE,UAAU,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAAE,EACpB,eAAe,EAAE,UAAU,GAC1B,iBAAiB,GAAG,IAAI,CA2D1B"}
|