@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
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { BRAIN_EVENTS } from './constants.js';
|
|
2
2
|
/**
|
|
3
|
-
* Reconstructs the
|
|
4
|
-
* Returns null if this is not
|
|
5
|
-
*/ export function
|
|
6
|
-
// Find
|
|
7
|
-
var
|
|
8
|
-
return e.type === BRAIN_EVENTS.
|
|
3
|
+
* Reconstructs the agent context from stored events and a webhook response.
|
|
4
|
+
* Returns null if this is not an agent resume (no AGENT_WEBHOOK event found).
|
|
5
|
+
*/ export function reconstructAgentContext(events, webhookResponse) {
|
|
6
|
+
// Find AGENT_WEBHOOK event - if not present, this is not an agent resume
|
|
7
|
+
var agentWebhookEvent = events.find(function(e) {
|
|
8
|
+
return e.type === BRAIN_EVENTS.AGENT_WEBHOOK;
|
|
9
9
|
});
|
|
10
|
-
if (!
|
|
10
|
+
if (!agentWebhookEvent) {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
|
-
// Find
|
|
14
|
-
var
|
|
15
|
-
return e.type === BRAIN_EVENTS.
|
|
13
|
+
// Find AGENT_START to get the initial prompt and system
|
|
14
|
+
var agentStartEvent = events.find(function(e) {
|
|
15
|
+
return e.type === BRAIN_EVENTS.AGENT_START;
|
|
16
16
|
});
|
|
17
|
-
if (!
|
|
18
|
-
throw new Error('
|
|
17
|
+
if (!agentStartEvent) {
|
|
18
|
+
throw new Error('AGENT_START event not found but AGENT_WEBHOOK exists - invalid event sequence');
|
|
19
19
|
}
|
|
20
20
|
var messages = [];
|
|
21
21
|
// Add initial user message from the prompt
|
|
22
22
|
messages.push({
|
|
23
23
|
role: 'user',
|
|
24
|
-
content:
|
|
24
|
+
content: agentStartEvent.prompt
|
|
25
25
|
});
|
|
26
26
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
27
27
|
try {
|
|
28
28
|
// Process events in order to rebuild conversation
|
|
29
29
|
for(var _iterator = events[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
30
30
|
var event = _step.value;
|
|
31
|
-
if (event.type === BRAIN_EVENTS.
|
|
31
|
+
if (event.type === BRAIN_EVENTS.AGENT_ASSISTANT_MESSAGE) {
|
|
32
32
|
var assistantEvent = event;
|
|
33
33
|
messages.push({
|
|
34
34
|
role: 'assistant',
|
|
35
35
|
content: assistantEvent.content
|
|
36
36
|
});
|
|
37
|
-
} else if (event.type === BRAIN_EVENTS.
|
|
37
|
+
} else if (event.type === BRAIN_EVENTS.AGENT_TOOL_RESULT) {
|
|
38
38
|
var toolResultEvent = event;
|
|
39
39
|
messages.push({
|
|
40
40
|
role: 'tool',
|
|
@@ -62,15 +62,15 @@ import { BRAIN_EVENTS } from './constants.js';
|
|
|
62
62
|
messages.push({
|
|
63
63
|
role: 'tool',
|
|
64
64
|
content: JSON.stringify(webhookResponse),
|
|
65
|
-
toolCallId:
|
|
66
|
-
toolName:
|
|
65
|
+
toolCallId: agentWebhookEvent.toolCallId,
|
|
66
|
+
toolName: agentWebhookEvent.toolName
|
|
67
67
|
});
|
|
68
68
|
return {
|
|
69
69
|
messages: messages,
|
|
70
|
-
pendingToolCallId:
|
|
71
|
-
pendingToolName:
|
|
72
|
-
prompt:
|
|
73
|
-
system:
|
|
70
|
+
pendingToolCallId: agentWebhookEvent.toolCallId,
|
|
71
|
+
pendingToolName: agentWebhookEvent.toolName,
|
|
72
|
+
prompt: agentStartEvent.prompt,
|
|
73
|
+
system: agentStartEvent.system,
|
|
74
74
|
webhookResponse: webhookResponse
|
|
75
75
|
};
|
|
76
76
|
}
|
|
@@ -275,7 +275,7 @@ function _ts_values(o) {
|
|
|
275
275
|
}
|
|
276
276
|
import { BRAIN_EVENTS } from './constants.js';
|
|
277
277
|
import { applyPatches } from './json-patch.js';
|
|
278
|
-
import {
|
|
278
|
+
import { reconstructAgentContext } from './agent-messages.js';
|
|
279
279
|
import { createBrainExecutionMachine, sendEvent } from './brain-state-machine.js';
|
|
280
280
|
import { DEFAULT_ENV } from './brain.js';
|
|
281
281
|
export var BrainRunner = /*#__PURE__*/ function() {
|
|
@@ -331,12 +331,12 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
331
331
|
key: "run",
|
|
332
332
|
value: function run(_0) {
|
|
333
333
|
return _async_to_generator(function(brain) {
|
|
334
|
-
var _ref, _ref_initialState, initialState, options, initialCompletedSteps, brainRunId, endAfter, signal, response,
|
|
334
|
+
var _ref, _ref_initialState, initialState, options, initialCompletedSteps, brainRunId, endAfter, signal, response, agentEvents, _this_options, adapters, client, resources, pages, env, resolvedEnv, machineInitialState, initialStepCount, machine, agentResumeContext, brainRun, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, _ret, err, error, cancelledEvent;
|
|
335
335
|
var _arguments = arguments;
|
|
336
336
|
return _ts_generator(this, function(_state) {
|
|
337
337
|
switch(_state.label){
|
|
338
338
|
case 0:
|
|
339
|
-
_ref = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {}, _ref_initialState = _ref.initialState, initialState = _ref_initialState === void 0 ? {} : _ref_initialState, options = _ref.options, initialCompletedSteps = _ref.initialCompletedSteps, brainRunId = _ref.brainRunId, endAfter = _ref.endAfter, signal = _ref.signal, response = _ref.response,
|
|
339
|
+
_ref = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {}, _ref_initialState = _ref.initialState, initialState = _ref_initialState === void 0 ? {} : _ref_initialState, options = _ref.options, initialCompletedSteps = _ref.initialCompletedSteps, brainRunId = _ref.brainRunId, endAfter = _ref.endAfter, signal = _ref.signal, response = _ref.response, agentEvents = _ref.agentEvents;
|
|
340
340
|
_this_options = this.options, adapters = _this_options.adapters, client = _this_options.client, resources = _this_options.resources, pages = _this_options.pages, env = _this_options.env;
|
|
341
341
|
resolvedEnv = env !== null && env !== void 0 ? env : DEFAULT_ENV;
|
|
342
342
|
// Apply any patches from completed steps to get the initial state
|
|
@@ -356,8 +356,8 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
356
356
|
machine = createBrainExecutionMachine({
|
|
357
357
|
initialState: machineInitialState
|
|
358
358
|
});
|
|
359
|
-
// If
|
|
360
|
-
|
|
359
|
+
// If agentEvents and response are provided, reconstruct agent context
|
|
360
|
+
agentResumeContext = agentEvents && response ? reconstructAgentContext(agentEvents, response) : null;
|
|
361
361
|
brainRun = brainRunId && initialCompletedSteps ? brain.run({
|
|
362
362
|
initialState: initialState,
|
|
363
363
|
initialCompletedSteps: initialCompletedSteps,
|
|
@@ -368,7 +368,7 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
368
368
|
pages: pages,
|
|
369
369
|
env: resolvedEnv,
|
|
370
370
|
response: response,
|
|
371
|
-
|
|
371
|
+
agentResumeContext: agentResumeContext
|
|
372
372
|
}) : brain.run({
|
|
373
373
|
initialState: initialState,
|
|
374
374
|
options: options,
|
|
@@ -661,8 +661,8 @@ var makeBrainMachine = function(initialContext) {
|
|
|
661
661
|
transition(BRAIN_EVENTS.CANCELLED, 'cancelled', cancelBrain), // Webhook -> paused
|
|
662
662
|
transition(BRAIN_EVENTS.WEBHOOK, 'paused', webhookPause), // Webhook response (for resume from webhook - machine is already running)
|
|
663
663
|
transition(BRAIN_EVENTS.WEBHOOK_RESPONSE, 'running', webhookResponse), // Step events
|
|
664
|
-
transition(BRAIN_EVENTS.STEP_START, 'running', startStep), transition(BRAIN_EVENTS.STEP_COMPLETE, 'running', completeStep), transition(BRAIN_EVENTS.STEP_STATUS, 'running', stepStatus), transition(BRAIN_EVENTS.STEP_RETRY, 'running', stepRetry), //
|
|
665
|
-
transition(BRAIN_EVENTS.
|
|
664
|
+
transition(BRAIN_EVENTS.STEP_START, 'running', startStep), transition(BRAIN_EVENTS.STEP_COMPLETE, 'running', completeStep), transition(BRAIN_EVENTS.STEP_STATUS, 'running', stepStatus), transition(BRAIN_EVENTS.STEP_RETRY, 'running', stepRetry), // Agent events (pass-through with event data)
|
|
665
|
+
transition(BRAIN_EVENTS.AGENT_START, 'running', passthrough(BRAIN_EVENTS.AGENT_START)), transition(BRAIN_EVENTS.AGENT_ITERATION, 'running', passthrough(BRAIN_EVENTS.AGENT_ITERATION)), transition(BRAIN_EVENTS.AGENT_TOOL_CALL, 'running', passthrough(BRAIN_EVENTS.AGENT_TOOL_CALL)), transition(BRAIN_EVENTS.AGENT_TOOL_RESULT, 'running', passthrough(BRAIN_EVENTS.AGENT_TOOL_RESULT)), transition(BRAIN_EVENTS.AGENT_ASSISTANT_MESSAGE, 'running', passthrough(BRAIN_EVENTS.AGENT_ASSISTANT_MESSAGE)), transition(BRAIN_EVENTS.AGENT_COMPLETE, 'running', passthrough(BRAIN_EVENTS.AGENT_COMPLETE)), transition(BRAIN_EVENTS.AGENT_TOKEN_LIMIT, 'running', passthrough(BRAIN_EVENTS.AGENT_TOKEN_LIMIT)), transition(BRAIN_EVENTS.AGENT_WEBHOOK, 'running', passthrough(BRAIN_EVENTS.AGENT_WEBHOOK))),
|
|
666
666
|
paused: state(transition(BRAIN_EVENTS.WEBHOOK_RESPONSE, 'running', webhookResponse), transition(BRAIN_EVENTS.CANCELLED, 'cancelled', cancelBrain), // RESTART happens when resuming from webhook
|
|
667
667
|
transition(BRAIN_EVENTS.RESTART, 'running', restartBrain)),
|
|
668
668
|
// Terminal states - limited outgoing transitions
|