@eduardorenani/atlasjs 0.1.0-alpha.2 → 0.1.0-alpha.4
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/README.md +60 -6
- package/dist/defineCompoundMode.d.ts +4 -1
- package/dist/defineCompoundMode.d.ts.map +1 -1
- package/dist/defineCompoundMode.js +4 -1
- package/dist/defineCompoundMode.js.map +1 -1
- package/dist/formatModePath.d.ts +17 -0
- package/dist/formatModePath.d.ts.map +1 -0
- package/dist/formatModePath.js +42 -0
- package/dist/formatModePath.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/startAgent.d.ts +23 -0
- package/dist/startAgent.d.ts.map +1 -0
- package/dist/startAgent.js +108 -0
- package/dist/startAgent.js.map +1 -0
- package/dist/types.d.ts +93 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,8 +27,7 @@ npm install @eduardorenani/atlasjs@alpha xstate
|
|
|
27
27
|
A trivial agent with two modes: `listening` waits for a user message, `answering` calls an LLM and routes back to `listening`.
|
|
28
28
|
|
|
29
29
|
```ts
|
|
30
|
-
import {
|
|
31
|
-
import { defineMode, defineAgent } from "@eduardorenani/atlasjs";
|
|
30
|
+
import { defineMode, defineAgent, startAgent } from "@eduardorenani/atlasjs";
|
|
32
31
|
|
|
33
32
|
type Ctx = { question: string; answer: string };
|
|
34
33
|
type Ev = { type: "ASK"; question: string };
|
|
@@ -79,19 +78,74 @@ const machine = defineAgent<
|
|
|
79
78
|
modes: { listening, answering },
|
|
80
79
|
});
|
|
81
80
|
|
|
82
|
-
const actor =
|
|
81
|
+
const actor = startAgent<Ctx, Ev>(machine);
|
|
83
82
|
actor.send({ type: "ASK", question: "What is a mode?" });
|
|
84
83
|
```
|
|
85
84
|
|
|
86
85
|
`behavior` returns `{ outcome, payload }`. The route on `achieved` is the **only** way out of a successful run — there is no untyped escape hatch.
|
|
87
86
|
|
|
87
|
+
`startAgent` is the runtime boundary: hosts never import from `xstate` directly. The returned actor exposes `send`, `stop`, and `getSnapshot` — nothing else from XState's surface leaks out.
|
|
88
|
+
|
|
89
|
+
## Multi-turn agents (snapshot rehydration)
|
|
90
|
+
|
|
91
|
+
For agents that span multiple turns, `actor.getSnapshot()` returns an opaque `AgentSnapshot<Ctx>` that round-trips through `JSON.stringify` / `JSON.parse`. Feed it back as `startAgent({ snapshot })` next turn and the agent resumes mid-conversation — including `local` slots declared on `defineCompoundMode`'s `context`.
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
async function runTurn(
|
|
95
|
+
text: string,
|
|
96
|
+
snapshot?: AgentSnapshot<Ctx>,
|
|
97
|
+
): Promise<AgentSnapshot<Ctx>> {
|
|
98
|
+
let resolveReady: (() => void) | null = null;
|
|
99
|
+
const actor = startAgent<Ctx, Ev>(machine, {
|
|
100
|
+
snapshot,
|
|
101
|
+
inspect: (e) => {
|
|
102
|
+
// Atlas-vocabulary event. `from` / `to` are dot-joined mode paths
|
|
103
|
+
// (e.g. "socratic.teaching"). Phase 1 emits `transition` only.
|
|
104
|
+
if (e.to === "listening" && resolveReady) {
|
|
105
|
+
const r = resolveReady;
|
|
106
|
+
resolveReady = null;
|
|
107
|
+
r();
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
const ready = new Promise<void>((r) => { resolveReady = r; });
|
|
112
|
+
actor.send({ type: "ASK", question: text });
|
|
113
|
+
await ready;
|
|
114
|
+
const next = actor.getSnapshot();
|
|
115
|
+
actor.stop();
|
|
116
|
+
return next;
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The canonical multi-turn host is one `runTurn` call per incoming message: load the previous snapshot from storage, run one turn, persist the new snapshot. `examples/zoe/` ships this end-to-end with a file-backed session store. Contract details in [`docs/specs/009-snapshot-aware-rehydration.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/009-snapshot-aware-rehydration.md).
|
|
121
|
+
|
|
122
|
+
### Fire-and-log via `onError`
|
|
123
|
+
|
|
124
|
+
When a `behavior` rejects and **no** `routes.error` entry catches it (absent route, no matched `when`, or matched `target: RE_THROW`), the rejection escapes the machine. `startAgent({ onError })` is the host-side hook — it fires precisely when XState would otherwise raise an uncaught error. Intra-machine recovery (`routes.error: { target: <sibling> }`) is unchanged and the host observes only the recovery transition through `inspect`.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
import { startAgent, type AgentErrorInfo } from "@eduardorenani/atlasjs";
|
|
128
|
+
|
|
129
|
+
startAgent<Ctx, Ev>(machine, {
|
|
130
|
+
onError: (info: AgentErrorInfo<Ctx>) => {
|
|
131
|
+
// info.error — raw rejection (unknown)
|
|
132
|
+
// info.modePath — dot-joined leaf path, e.g. "socratic.teaching"
|
|
133
|
+
// info.context — root context after any routes.error.assign ran
|
|
134
|
+
// info.snapshot — AgentSnapshot pointing at the failed leaf
|
|
135
|
+
logger.error({ err: info.error, modePath: info.modePath, traceId }, "agent escape");
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`onError` is opt-in: when omitted, the wrapper makes no `subscribe` call and Node's default unhandled-rejection propagation applies (strictly additive — no migration). Full contract in [`docs/specs/010-error-channel.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/010-error-channel.md).
|
|
141
|
+
|
|
88
142
|
## The three constructors
|
|
89
143
|
|
|
90
144
|
| Constructor | Purpose |
|
|
91
145
|
| -------------------- | ------------------------------------------------------------------------- |
|
|
92
146
|
| `defineMode` | A leaf mode. Pass `{ input, behavior, routes }` for active, `{ on }` for passive. Mixing is a compile error. |
|
|
93
147
|
| `defineCompoundMode` | A composite of nested modes. Routes to `END` to exit; the enclosing scope's `onDone` picks the destination. |
|
|
94
|
-
| `defineAgent` | The top-level entry. Compiles to an XState machine
|
|
148
|
+
| `defineAgent` | The top-level entry. Compiles to an XState machine; boot it with `startAgent`. |
|
|
95
149
|
|
|
96
150
|
## Concepts in 60 seconds
|
|
97
151
|
|
|
@@ -104,8 +158,8 @@ actor.send({ type: "ASK", question: "What is a mode?" });
|
|
|
104
158
|
## Where to go next
|
|
105
159
|
|
|
106
160
|
- **API reference** — the type signatures and JSDoc in [`packages/atlas/src/types.ts`](https://github.com/EduardoRenani/atlas/blob/main/packages/atlas/src/types.ts) are the source of truth.
|
|
107
|
-
- **Worked example** — [`examples/zoe/`](https://github.com/EduardoRenani/atlas/tree/main/examples/zoe) is a CLI agent that classifies user intent and dispatches across greetings / improvising / socratic modes.
|
|
108
|
-
- **Specs** — the API contract lives in [`docs/specs/004-xstate-agent-wrapper.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/004-xstate-agent-wrapper.md), [`005-agent-deps-and-stringifiable-context.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/005-agent-deps-and-stringifiable-context.md),
|
|
161
|
+
- **Worked example** — [`examples/zoe/`](https://github.com/EduardoRenani/atlas/tree/main/examples/zoe) is a CLI agent that classifies user intent and dispatches across greetings / improvising / socratic modes, and persists every turn via file-backed snapshots.
|
|
162
|
+
- **Specs** — the API contract lives in [`docs/specs/004-xstate-agent-wrapper.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/004-xstate-agent-wrapper.md), [`005-agent-deps-and-stringifiable-context.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/005-agent-deps-and-stringifiable-context.md), [`006-modes-not-states.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/006-modes-not-states.md), [`009-snapshot-aware-rehydration.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/009-snapshot-aware-rehydration.md) (the `startAgent` actor surface + multi-turn persistence contract), and [`010-error-channel.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/specs/010-error-channel.md) (the host-side `onError` channel).
|
|
109
163
|
- **Design decisions** — [`docs/design-decisions.md`](https://github.com/EduardoRenani/atlas/blob/main/docs/design-decisions.md) records the "why" behind the four-outcome contract, goal-bound exits, and the modes-not-states vocabulary.
|
|
110
164
|
|
|
111
165
|
## License
|
|
@@ -26,7 +26,10 @@ export type CompoundModeCarrier<TParentContext, TEvents extends {
|
|
|
26
26
|
*
|
|
27
27
|
* Children's effective context is `LocalContextOf<TParentContext, TCtx>`:
|
|
28
28
|
* - With `context` supplied: `Pick<TParentContext, inherit[number]> & typeof local`.
|
|
29
|
-
* Inherited keys are live-mirrored; locals are reset on every entry
|
|
29
|
+
* Inherited keys are live-mirrored; locals are reset on every re-entry, but
|
|
30
|
+
* **NOT** on snapshot restore — when an actor is rehydrated via
|
|
31
|
+
* `startAgent({ snapshot })`, the persisted slot wins over the entry-reset
|
|
32
|
+
* (spec 009 §Persistence Contract).
|
|
30
33
|
* - Without `context`: children see the full `TParentContext`.
|
|
31
34
|
*
|
|
32
35
|
* Children route out of the compound via `END` (defined in `./types.ts`); the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineCompoundMode.d.ts","sourceRoot":"","sources":["../src/defineCompoundMode.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACX,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,CAC3B,cAAc,EACd,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,QAAQ,GAAG,OAAO,EAClB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAC7D;IACA,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"defineCompoundMode.d.ts","sourceRoot":"","sources":["../src/defineCompoundMode.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACX,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,CAC3B,cAAc,EACd,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,QAAQ,GAAG,OAAO,EAClB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAC7D;IACA,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EACd,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,IAAI,SACE,eAAe,CACb,cAAc,EACd,aAAa,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,EAO5C,MAAM,CACT,GACC,SAAS,EACf,MAAM,SAAS,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC7E,QAAQ,GAAG,SAAS,EACpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,MAAM,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GACnF,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAMxD"}
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
*
|
|
23
23
|
* Children's effective context is `LocalContextOf<TParentContext, TCtx>`:
|
|
24
24
|
* - With `context` supplied: `Pick<TParentContext, inherit[number]> & typeof local`.
|
|
25
|
-
* Inherited keys are live-mirrored; locals are reset on every entry
|
|
25
|
+
* Inherited keys are live-mirrored; locals are reset on every re-entry, but
|
|
26
|
+
* **NOT** on snapshot restore — when an actor is rehydrated via
|
|
27
|
+
* `startAgent({ snapshot })`, the persisted slot wins over the entry-reset
|
|
28
|
+
* (spec 009 §Persistence Contract).
|
|
26
29
|
* - Without `context`: children see the full `TParentContext`.
|
|
27
30
|
*
|
|
28
31
|
* Children route out of the compound via `END` (defined in `./types.ts`); the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineCompoundMode.js","sourceRoot":"","sources":["../src/defineCompoundMode.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,qEAAqE;AACrE,wFAAwF;AACxF,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+DAA+D;AAC/D,+EAA+E;AAkC/E
|
|
1
|
+
{"version":3,"file":"defineCompoundMode.js","sourceRoot":"","sources":["../src/defineCompoundMode.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,qEAAqE;AACrE,wFAAwF;AACxF,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+DAA+D;AAC/D,+EAA+E;AAkC/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,UAAU,kBAAkB,CAoB9B,MAAkF;IAElF,MAAM,OAAO,GAAkE;QAC3E,MAAM,EAAE,UAAU;QAClB,MAAM;KACT,CAAC;IACF,OAAO,OAA4E,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Walk XState's nested mode-value shape and return a dot-joined Atlas
|
|
3
|
+
* mode-path. Strings pass through unchanged. Nested objects representing a
|
|
4
|
+
* compound's active substate are recursed into. Parallel regions (an object
|
|
5
|
+
* with more than one key) are not produced by Atlas's lowering, so we treat
|
|
6
|
+
* them as a wrapper invariant violation and throw.
|
|
7
|
+
*
|
|
8
|
+
* @param value Either a leaf-mode name (`string`) or a nested compound
|
|
9
|
+
* value (`{ [parent]: childValue }`).
|
|
10
|
+
* @returns A dot-joined path, e.g. `"socratic.teaching"` or
|
|
11
|
+
* `"listening"`.
|
|
12
|
+
* @throws If `value` is an object with more than one key — Atlas does
|
|
13
|
+
* not currently lower to XState parallel regions, so this
|
|
14
|
+
* indicates either a future change or a bug.
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatModePath(value: unknown): string;
|
|
17
|
+
//# sourceMappingURL=formatModePath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatModePath.d.ts","sourceRoot":"","sources":["../src/formatModePath.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAerD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// `formatModePath` — render XState's nested `value` shape as an Atlas-
|
|
2
|
+
// vocabulary mode-path string.
|
|
3
|
+
//
|
|
4
|
+
// Spec: docs/specs/009-snapshot-aware-rehydration.md §`AgentInspectionEvent`
|
|
5
|
+
// + §Clarification 6 (dot-only separator; throw on parallel regions).
|
|
6
|
+
//
|
|
7
|
+
// Lifted from the inline `formatStateValue` that used to live in
|
|
8
|
+
// `examples/zoe/src/machine.ts:42-50`, with one defensive change: Atlas does
|
|
9
|
+
// not lower to parallel regions, so a value with more than one key here is
|
|
10
|
+
// a wrapper invariant violation and we throw instead of joining with `, `.
|
|
11
|
+
/**
|
|
12
|
+
* Walk XState's nested mode-value shape and return a dot-joined Atlas
|
|
13
|
+
* mode-path. Strings pass through unchanged. Nested objects representing a
|
|
14
|
+
* compound's active substate are recursed into. Parallel regions (an object
|
|
15
|
+
* with more than one key) are not produced by Atlas's lowering, so we treat
|
|
16
|
+
* them as a wrapper invariant violation and throw.
|
|
17
|
+
*
|
|
18
|
+
* @param value Either a leaf-mode name (`string`) or a nested compound
|
|
19
|
+
* value (`{ [parent]: childValue }`).
|
|
20
|
+
* @returns A dot-joined path, e.g. `"socratic.teaching"` or
|
|
21
|
+
* `"listening"`.
|
|
22
|
+
* @throws If `value` is an object with more than one key — Atlas does
|
|
23
|
+
* not currently lower to XState parallel regions, so this
|
|
24
|
+
* indicates either a future change or a bug.
|
|
25
|
+
*/
|
|
26
|
+
export function formatModePath(value) {
|
|
27
|
+
if (typeof value === "string")
|
|
28
|
+
return value;
|
|
29
|
+
if (typeof value !== "object" || value === null) {
|
|
30
|
+
return String(value);
|
|
31
|
+
}
|
|
32
|
+
const entries = Object.entries(value);
|
|
33
|
+
if (entries.length !== 1) {
|
|
34
|
+
throw new Error(`formatModePath: Atlas does not lower to parallel regions; ` +
|
|
35
|
+
`got value with ${entries.length} keys (${entries.map(([k]) => k).join(", ")})`);
|
|
36
|
+
}
|
|
37
|
+
const entry = entries[0];
|
|
38
|
+
if (entry === undefined)
|
|
39
|
+
return "";
|
|
40
|
+
return `${entry[0]}.${formatModePath(entry[1])}`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=formatModePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatModePath.js","sourceRoot":"","sources":["../src/formatModePath.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,+BAA+B;AAC/B,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,EAAE;AACF,iEAAiE;AACjE,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAE3E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACX,4DAA4D;YACxD,kBAAkB,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtF,CAAC;IACN,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { defineMode } from "./defineMode.js";
|
|
2
2
|
export { defineCompoundMode } from "./defineCompoundMode.js";
|
|
3
3
|
export { defineAgent } from "./defineAgent.js";
|
|
4
|
+
export { startAgent } from "./startAgent.js";
|
|
4
5
|
export { END, RE_THROW } from "./types.js";
|
|
5
|
-
export type { ModeOutput, Outcome, Mode, CompoundMode, ModeConfig, ActiveModeConfig, PassiveModeConfig, CompoundModeConfig, AgentConfig, ModesMap, CompoundContext, Routes, RouteList, RouteTarget, ErrorRouteTarget, EventHandlers, JsonPrimitive, JsonValue, JsonObject, JsonArray, JsonCompatible, } from "./types.js";
|
|
6
|
+
export type { ModeOutput, Outcome, Mode, CompoundMode, ModeConfig, ActiveModeConfig, PassiveModeConfig, CompoundModeConfig, AgentConfig, ModesMap, CompoundContext, Routes, RouteList, RouteTarget, ErrorRouteTarget, EventHandlers, JsonPrimitive, JsonValue, JsonObject, JsonArray, JsonCompatible, AgentActor, AgentSnapshot, AgentInspectionEvent, AgentErrorInfo, StartAgentOptions, } from "./types.js";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACR,UAAU,EACV,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,eAAe,EACf,MAAM,EACN,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Spec: docs/specs/004-xstate-agent-wrapper.md
|
|
4
4
|
// docs/specs/005-agent-deps-and-stringifiable-context.md
|
|
5
|
+
// docs/specs/009-snapshot-aware-rehydration.md
|
|
5
6
|
// Tasks: docs/specs/004-tasks.md
|
|
6
7
|
export { defineMode } from "./defineMode.js";
|
|
7
8
|
export { defineCompoundMode } from "./defineCompoundMode.js";
|
|
8
9
|
export { defineAgent } from "./defineAgent.js";
|
|
10
|
+
export { startAgent } from "./startAgent.js";
|
|
9
11
|
export { END, RE_THROW } from "./types.js";
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,+CAA+C;AAC/C,+DAA+D;AAC/D,iCAAiC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,+CAA+C;AAC/C,+DAA+D;AAC/D,qDAAqD;AACrD,iCAAiC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type AnyStateMachine } from "xstate";
|
|
2
|
+
import type { AgentActor, StartAgentOptions } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Boot an Atlas agent. Wraps `createActor(...).start()` under the hood.
|
|
5
|
+
*
|
|
6
|
+
* - When `options.snapshot` is provided, the actor is rehydrated from that
|
|
7
|
+
* snapshot. XState v5 does NOT re-run `entry` actions on a restored state,
|
|
8
|
+
* so compound-`local` slots in the snapshot survive (spec 009
|
|
9
|
+
* §Persistence Contract).
|
|
10
|
+
* - When `options.inspect` is provided, it receives Atlas-vocabulary
|
|
11
|
+
* events. Phase 1 emits only `transition`.
|
|
12
|
+
*
|
|
13
|
+
* The returned `AgentActor` is auto-started. Call `.stop()` to dispose.
|
|
14
|
+
*
|
|
15
|
+
* @template TContext The agent's root context shape. Must match the shape
|
|
16
|
+
* the machine was declared with — `AgentSnapshot<TContext>`
|
|
17
|
+
* refuses cross-context restores at the type level.
|
|
18
|
+
* @template TEvents The agent's full event union. Used to type `send`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function startAgent<TContext, TEvents extends {
|
|
21
|
+
type: string;
|
|
22
|
+
}>(agent: AnyStateMachine, options?: StartAgentOptions<TContext>): AgentActor<TContext, TEvents>;
|
|
23
|
+
//# sourceMappingURL=startAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startAgent.d.ts","sourceRoot":"","sources":["../src/startAgent.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAe,KAAK,eAAe,EAAuC,MAAM,QAAQ,CAAC;AAGhG,OAAO,KAAK,EACR,UAAU,EAEV,iBAAiB,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACjE,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACtC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAsE/B"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// `startAgent` — boot an Atlas agent.
|
|
2
|
+
//
|
|
3
|
+
// Spec: docs/specs/009-snapshot-aware-rehydration.md
|
|
4
|
+
// §`startAgent` + §Persistence Contract + §Mapping
|
|
5
|
+
// docs/specs/010-error-channel.md
|
|
6
|
+
// §Public API Changes + §Behavior Contract + §Mapping
|
|
7
|
+
//
|
|
8
|
+
// Wraps XState's `createActor(...).start()` so:
|
|
9
|
+
// 1. A persisted `AgentSnapshot` survives compound-`local` reset on entry
|
|
10
|
+
// (spec 009 / issue #15).
|
|
11
|
+
// 2. Hosts no longer import from `xstate` directly (spec 009 / issue #12).
|
|
12
|
+
// 3. Rejections that escape the machine's declarative recovery
|
|
13
|
+
// (`routes.error`) surface to a typed host callback via
|
|
14
|
+
// `options.onError`, instead of becoming uncaught process-level errors
|
|
15
|
+
// (spec 010 / P14).
|
|
16
|
+
//
|
|
17
|
+
// This file is the ONLY place inside `packages/atlas/src` allowed to import
|
|
18
|
+
// `createActor`. The wrapper hides it; nothing else in user code or in the
|
|
19
|
+
// examples references XState's runtime API.
|
|
20
|
+
import { createActor } from "xstate";
|
|
21
|
+
import { formatModePath } from "./formatModePath.js";
|
|
22
|
+
const ATLAS_SNAPSHOT_VERSION = "1";
|
|
23
|
+
/**
|
|
24
|
+
* Boot an Atlas agent. Wraps `createActor(...).start()` under the hood.
|
|
25
|
+
*
|
|
26
|
+
* - When `options.snapshot` is provided, the actor is rehydrated from that
|
|
27
|
+
* snapshot. XState v5 does NOT re-run `entry` actions on a restored state,
|
|
28
|
+
* so compound-`local` slots in the snapshot survive (spec 009
|
|
29
|
+
* §Persistence Contract).
|
|
30
|
+
* - When `options.inspect` is provided, it receives Atlas-vocabulary
|
|
31
|
+
* events. Phase 1 emits only `transition`.
|
|
32
|
+
*
|
|
33
|
+
* The returned `AgentActor` is auto-started. Call `.stop()` to dispose.
|
|
34
|
+
*
|
|
35
|
+
* @template TContext The agent's root context shape. Must match the shape
|
|
36
|
+
* the machine was declared with — `AgentSnapshot<TContext>`
|
|
37
|
+
* refuses cross-context restores at the type level.
|
|
38
|
+
* @template TEvents The agent's full event union. Used to type `send`.
|
|
39
|
+
*/
|
|
40
|
+
export function startAgent(agent, options) {
|
|
41
|
+
let previousPath;
|
|
42
|
+
const userInspect = options?.inspect;
|
|
43
|
+
const userOnError = options?.onError;
|
|
44
|
+
const xstateActor = createActor(agent, {
|
|
45
|
+
snapshot: options?.snapshot?.persisted,
|
|
46
|
+
inspect: userInspect
|
|
47
|
+
? (raw) => {
|
|
48
|
+
if (raw.type !== "@xstate.snapshot")
|
|
49
|
+
return;
|
|
50
|
+
// Filter foreign actors. The closure captures `xstateActor`
|
|
51
|
+
// by reference; sound even though the variable is referenced
|
|
52
|
+
// inside its own initializer — the inspect callback fires
|
|
53
|
+
// only on subsequent updates.
|
|
54
|
+
if (raw.actorRef !== xstateActor)
|
|
55
|
+
return;
|
|
56
|
+
const snap = raw.snapshot;
|
|
57
|
+
const next = formatModePath(snap.value);
|
|
58
|
+
if (next === previousPath)
|
|
59
|
+
return;
|
|
60
|
+
const from = previousPath ?? "(init)";
|
|
61
|
+
previousPath = next;
|
|
62
|
+
userInspect({
|
|
63
|
+
type: "transition",
|
|
64
|
+
from,
|
|
65
|
+
to: next,
|
|
66
|
+
context: snap.context,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
: undefined,
|
|
70
|
+
});
|
|
71
|
+
// Spec 010 §Behavior Contract: subscribe ONLY when `onError` is provided.
|
|
72
|
+
// When omitted, no subscribe call is made — XState's default propagation
|
|
73
|
+
// is preserved (the strict additive guarantee).
|
|
74
|
+
if (userOnError !== undefined) {
|
|
75
|
+
xstateActor.subscribe({
|
|
76
|
+
error: (rawError) => {
|
|
77
|
+
// Spec 010 §Snapshot-at-error semantics: read the actor's
|
|
78
|
+
// current snapshot synchronously inside the error subscriber.
|
|
79
|
+
// xstate@5.31.1 keeps `value` and `context` populated at this
|
|
80
|
+
// point (the failed leaf is still in `value`).
|
|
81
|
+
const live = xstateActor.getSnapshot();
|
|
82
|
+
userOnError({
|
|
83
|
+
error: rawError,
|
|
84
|
+
modePath: formatModePath(live.value),
|
|
85
|
+
context: live.context,
|
|
86
|
+
snapshot: buildAgentSnapshot(xstateActor.getPersistedSnapshot()),
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
xstateActor.start();
|
|
92
|
+
return {
|
|
93
|
+
send: (event) => {
|
|
94
|
+
xstateActor.send(event);
|
|
95
|
+
},
|
|
96
|
+
stop: () => {
|
|
97
|
+
xstateActor.stop();
|
|
98
|
+
},
|
|
99
|
+
getSnapshot: () => buildAgentSnapshot(xstateActor.getPersistedSnapshot()),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function buildAgentSnapshot(persisted) {
|
|
103
|
+
return {
|
|
104
|
+
atlasVersion: ATLAS_SNAPSHOT_VERSION,
|
|
105
|
+
persisted,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=startAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startAgent.js","sourceRoot":"","sources":["../src/startAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -478,9 +478,11 @@ export type ModesMap<TContext, TEvents extends {
|
|
|
478
478
|
* **live-mirrored** into this compound. Keys NOT in `inherit` are invisible
|
|
479
479
|
* to children at the type level.
|
|
480
480
|
* - **`local`** — own variables declared at this compound. Initialized on
|
|
481
|
-
* entry and **reset on re-entry** (DD-018)
|
|
482
|
-
*
|
|
483
|
-
*
|
|
481
|
+
* entry and **reset on re-entry** (DD-018), but **NOT** reset on snapshot
|
|
482
|
+
* restore: when an actor is rehydrated via `startAgent({ snapshot })`,
|
|
483
|
+
* the persisted slot wins over the entry-reset (spec 009 §Persistence
|
|
484
|
+
* Contract). Constrained to `JsonCompatible<TLocal>` so the slot is
|
|
485
|
+
* JSON-safe — required for snapshot serialization.
|
|
484
486
|
*
|
|
485
487
|
* Children see `Pick<TParent, inherit[number]> & typeof local` as their
|
|
486
488
|
* context.
|
|
@@ -591,5 +593,93 @@ export type AgentConfig<TContext, TEvents extends {
|
|
|
591
593
|
}) => Partial<TContext>>>;
|
|
592
594
|
modes: TModes;
|
|
593
595
|
};
|
|
596
|
+
/**
|
|
597
|
+
* Atlas-vocabulary observation event. Phase 1 emits only `transition`.
|
|
598
|
+
*
|
|
599
|
+
* - `from` / `to` are mode-paths formatted by `formatModePath` (dot-joined,
|
|
600
|
+
* parent first). Hosts no longer parse XState's nested `snapshot.value`
|
|
601
|
+
* shape directly.
|
|
602
|
+
* - `context` is the root `TContext` AFTER the transition's assigns have
|
|
603
|
+
* run.
|
|
604
|
+
*/
|
|
605
|
+
export type AgentInspectionEvent<TContext> = {
|
|
606
|
+
type: "transition";
|
|
607
|
+
from: string;
|
|
608
|
+
to: string;
|
|
609
|
+
context: TContext;
|
|
610
|
+
};
|
|
611
|
+
declare const agentSnapshotBrand: unique symbol;
|
|
612
|
+
/**
|
|
613
|
+
* Opaque persisted agent state. Returned by `actor.getSnapshot()`; fed back
|
|
614
|
+
* to `startAgent({ snapshot })` next turn. The `TContext` parameter is brand-
|
|
615
|
+
* only (phantom) — used so a snapshot from agent A cannot be passed to
|
|
616
|
+
* `startAgent` for an agent whose `TContext` shape differs.
|
|
617
|
+
*
|
|
618
|
+
* Treat the value as opaque: persist `JSON.stringify(snapshot)` and restore
|
|
619
|
+
* with `JSON.parse` at the storage boundary.
|
|
620
|
+
*/
|
|
621
|
+
export type AgentSnapshot<TContext> = {
|
|
622
|
+
readonly atlasVersion: string;
|
|
623
|
+
readonly persisted: unknown;
|
|
624
|
+
readonly [agentSnapshotBrand]?: (_: TContext) => TContext;
|
|
625
|
+
};
|
|
626
|
+
/**
|
|
627
|
+
* Started Atlas actor. Auto-started by `startAgent`; call `stop()` to
|
|
628
|
+
* dispose. Use `inspect` at construction time for observation; build any
|
|
629
|
+
* readiness gates the host needs from that callback.
|
|
630
|
+
*/
|
|
631
|
+
export type AgentActor<TContext, TEvents extends {
|
|
632
|
+
type: string;
|
|
633
|
+
}> = {
|
|
634
|
+
send: (event: TEvents) => void;
|
|
635
|
+
stop: () => void;
|
|
636
|
+
getSnapshot: () => AgentSnapshot<TContext>;
|
|
637
|
+
};
|
|
638
|
+
/**
|
|
639
|
+
* Payload delivered to `StartAgentOptions.onError` when a rejection escapes
|
|
640
|
+
* the machine — i.e. `behavior` rejected and either `routes.error` was
|
|
641
|
+
* absent, no `routes.error` entry's `when` matched, or a matched entry
|
|
642
|
+
* targeted `RE_THROW`. See spec 010 §Behavior Contract.
|
|
643
|
+
*
|
|
644
|
+
* - `error` — the raw rejection value. Typed as `unknown` because
|
|
645
|
+
* `behavior` is a user-controlled `async` function whose rejection value
|
|
646
|
+
* can be anything; narrowing is the host's job.
|
|
647
|
+
* - `modePath` — dot-joined path of the leaf whose `behavior` rejected,
|
|
648
|
+
* formatted by the same `formatModePath` used by `inspect.transition`.
|
|
649
|
+
* - `context` — root context at the moment the rejection became fatal
|
|
650
|
+
* (i.e. after any matched `routes.error.assign` ran).
|
|
651
|
+
* - `snapshot` — the agent snapshot at the moment of error, suitable for
|
|
652
|
+
* persistence. Captured synchronously inside the error subscriber, before
|
|
653
|
+
* the actor's terminal state is observable to `send`. Feeding it to a
|
|
654
|
+
* fresh `startAgent({ snapshot })` re-enters the failed leaf — hosts
|
|
655
|
+
* that want to "fire-and-log and keep listening" persist the *prior*
|
|
656
|
+
* turn's snapshot instead (spec 010 §Recommended host pattern).
|
|
657
|
+
*/
|
|
658
|
+
export type AgentErrorInfo<TContext> = {
|
|
659
|
+
error: unknown;
|
|
660
|
+
modePath: string;
|
|
661
|
+
context: TContext;
|
|
662
|
+
snapshot: AgentSnapshot<TContext>;
|
|
663
|
+
};
|
|
664
|
+
/**
|
|
665
|
+
* Options accepted by `startAgent`.
|
|
666
|
+
*
|
|
667
|
+
* - `snapshot` — persisted state from a previous turn. When omitted, the
|
|
668
|
+
* machine boots into its `initial` state. When present, the persisted
|
|
669
|
+
* slot for every compound `local` survives `entry`-reset (spec 009
|
|
670
|
+
* §Persistence Contract).
|
|
671
|
+
* - `inspect` — construction-time callback receiving Atlas-vocabulary
|
|
672
|
+
* events. Phase 1 emits only `transition`.
|
|
673
|
+
* - `onError` — construction-time callback fired when a rejection escapes
|
|
674
|
+
* the machine's declarative recovery (`routes.error`). Strictly
|
|
675
|
+
* additive: when omitted, the wrapper makes no `subscribe` call and
|
|
676
|
+
* current Node `unhandledRejection` propagation is preserved
|
|
677
|
+
* (spec 010 §Behavior Contract).
|
|
678
|
+
*/
|
|
679
|
+
export type StartAgentOptions<TContext> = {
|
|
680
|
+
snapshot?: AgentSnapshot<TContext>;
|
|
681
|
+
inspect?: (event: AgentInspectionEvent<TContext>) => void;
|
|
682
|
+
onError?: (info: AgentErrorInfo<TContext>) => void;
|
|
683
|
+
};
|
|
594
684
|
export {};
|
|
595
685
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eduardorenani/atlasjs",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.4",
|
|
4
4
|
"description": "Mode-based agent orchestration on top of XState v5. Typed modes, four-outcome contract, goal-bound exits.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|