@eduardorenani/atlasjs 0.1.0-alpha.0 → 0.1.0-alpha.2

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.
@@ -1,5 +1,6 @@
1
1
  import { assign } from "xstate";
2
2
  import { type LiftContext } from "./contextLift.js";
3
+ import { type EndBucketSymbol } from "./endBuckets.js";
3
4
  import type { ErrorRouteTarget, ModeOutput, RouteTarget } from "./types.js";
4
5
  import type { LeafSlot } from "./walk.js";
5
6
  export type LoweredGuard = (args: {
@@ -9,7 +10,7 @@ export type LoweredGuard = (args: {
9
10
  }) => boolean;
10
11
  export type LoweredOnDoneTransition = {
11
12
  guard?: LoweredGuard;
12
- target?: RouteTarget;
13
+ target?: RouteTarget | EndBucketSymbol | string;
13
14
  reenter?: boolean;
14
15
  actions?: ReturnType<typeof assign>;
15
16
  };
@@ -26,7 +27,7 @@ export type LoweredReThrowAction = (args: {
26
27
  export type LoweredErrorAction = ReturnType<typeof assign> | LoweredReThrowAction;
27
28
  export type LoweredOnErrorTransition = {
28
29
  guard?: LoweredErrorGuard;
29
- target?: ErrorRouteTarget;
30
+ target?: ErrorRouteTarget | EndBucketSymbol | string;
30
31
  actions?: LoweredErrorAction;
31
32
  };
32
33
  export type LoweredInvokeState = {
@@ -1 +1 @@
1
- {"version":3,"file":"buildActiveState.d.ts","sourceRoot":"","sources":["../src/buildActiveState.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAER,gBAAgB,EAGhB,UAAU,EAGV,WAAW,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1C,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CAC1C,KAAK,OAAO,CAAC;AAEd,MAAM,MAAM,uBAAuB,GAAG;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7B,KAAK,OAAO,CAAC;AAKd,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7B,KAAK,KAAK,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,oBAAoB,CAAC;AAElF,MAAM,MAAM,wBAAwB,GAAG;IACnC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;QAC/C,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;KACjD,CAAC;CACL,CAAC;AA0KF,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,kBAAkB,CAmDpB"}
1
+ {"version":3,"file":"buildActiveState.d.ts","sourceRoot":"","sources":["../src/buildActiveState.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAER,gBAAgB,EAGhB,UAAU,EAGV,WAAW,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1C,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CAC1C,KAAK,OAAO,CAAC;AAOd,MAAM,MAAM,uBAAuB,GAAG;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7B,KAAK,OAAO,CAAC;AAKd,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7B,KAAK,KAAK,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,oBAAoB,CAAC;AAElF,MAAM,MAAM,wBAAwB,GAAG;IACnC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;QAC/C,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;KACjD,CAAC;CACL,CAAC;AA0LF,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,kBAAkB,CAmDpB"}
@@ -35,7 +35,8 @@
35
35
  import { assign } from "xstate";
36
36
  import { actorName } from "./actorName.js";
37
37
  import { liftErrorAssign, liftExitAssign, liftInput, } from "./contextLift.js";
38
- import { RE_THROW } from "./types.js";
38
+ import { END, RE_THROW } from "./types.js";
39
+ import { END_ABANDONED, END_ACHIEVED, END_ERROR, } from "./endBuckets.js";
39
40
  // `Array.isArray` widens `readonly T[]` to `any[]` and does not subtract it
40
41
  // from a `T | readonly T[]` union. A typed predicate fixes the narrowing
41
42
  // without leaking `any`.
@@ -82,10 +83,19 @@ function wrapAssign(userAssign, lift, deps) {
82
83
  return userAssign({ context, payload: output.payload, deps });
83
84
  });
84
85
  }
86
+ // Map the user-visible `END` to the bucket-specific internal sentinel.
87
+ // Non-END targets pass through untouched. `injectEnd` later rewrites the
88
+ // sentinel to the matching `$end_<outcome>` state name at the enclosing
89
+ // compound's level.
90
+ function bucketTargetForExit(target, outcomeKey) {
91
+ if (target !== END)
92
+ return target;
93
+ return outcomeKey === "achieved" ? END_ACHIEVED : END_ABANDONED;
94
+ }
85
95
  function buildExitTransition(outcomeKey, entry, lift, deps) {
86
96
  const transition = {
87
97
  guard: makeGuard(outcomeKey, entry.when),
88
- target: entry.target,
98
+ target: bucketTargetForExit(entry.target, outcomeKey),
89
99
  };
90
100
  if (entry.assign !== undefined) {
91
101
  transition.actions = wrapAssign(entry.assign, lift, deps);
@@ -140,9 +150,12 @@ function buildErrorTransition(entry, lift, deps) {
140
150
  actions: makeReThrowAction(),
141
151
  };
142
152
  }
153
+ // `END` in `routes.error` → `END_ERROR` bucket sentinel. RE_THROW was
154
+ // already handled above; everything else is a sibling name.
155
+ const errTarget = entry.target === END ? END_ERROR : entry.target;
143
156
  const transition = {
144
157
  guard,
145
- target: entry.target,
158
+ target: errTarget,
146
159
  };
147
160
  if (entry.assign !== undefined) {
148
161
  transition.actions = wrapErrorAssign(entry.assign, lift, deps);
@@ -1 +1 @@
1
- {"version":3,"file":"buildActiveState.js","sourceRoot":"","sources":["../src/buildActiveState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildActiveState.js","sourceRoot":"","sources":["../src/buildActiveState.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { type LiftContext } from "./contextLift.js";
2
+ import { type EndBucketSymbol } from "./endBuckets.js";
2
3
  import type { JsonObject, PassiveModeConfig, RouteTarget } from "./types.js";
3
4
  type InternalCtx = JsonObject;
4
5
  export type LoweredTransition = {
5
- target?: RouteTarget;
6
+ target?: RouteTarget | EndBucketSymbol | string;
6
7
  actions?: string | readonly string[];
7
8
  guard?: (args: {
8
9
  context: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"buildPassiveState.d.ts","sourceRoot":"","sources":["../src/buildPassiveState.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAER,UAAU,EACV,iBAAiB,EACjB,WAAW,EACd,MAAM,YAAY,CAAC;AAIpB,KAAK,WAAW,GAAG,UAAU,CAAC;AAK9B,MAAM,MAAM,iBAAiB,GAAG;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,CAAC,CAAC;CACxE,CAAC;AAyCF,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,kBAAkB,CASpB"}
1
+ {"version":3,"file":"buildPassiveState.d.ts","sourceRoot":"","sources":["../src/buildPassiveState.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAER,UAAU,EACV,iBAAiB,EACjB,WAAW,EACd,MAAM,YAAY,CAAC;AAIpB,KAAK,WAAW,GAAG,UAAU,CAAC;AAS9B,MAAM,MAAM,iBAAiB,GAAG;IAC5B,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,CAAC,CAAC;CACxE,CAAC;AA6CF,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,kBAAkB,CASpB"}
@@ -13,6 +13,8 @@
13
13
  // `$end` substate injection + END→`$end` rewrite happens in slice 5.11
14
14
  // before the final XState `createMachine` call.
15
15
  import { liftGuard } from "./contextLift.js";
16
+ import { END_ACHIEVED } from "./endBuckets.js";
17
+ import { END } from "./types.js";
16
18
  // `Array.isArray` narrows to `any[]`, which fails to subtract
17
19
  // `readonly T[]` from a union like `T | readonly T[]`. This typed predicate
18
20
  // gives TypeScript the narrowing it needs without leaking `any`.
@@ -21,8 +23,11 @@ function isReadonlyArray(value) {
21
23
  }
22
24
  function mapTransition(t, lift, deps) {
23
25
  const out = {};
24
- if (t.target !== undefined)
25
- out.target = t.target;
26
+ if (t.target !== undefined) {
27
+ // Passive `target: END` defaults to bubbling `achieved` (spec 008
28
+ // §"Outcome propagation rules"). Non-END targets pass through.
29
+ out.target = t.target === END ? END_ACHIEVED : t.target;
30
+ }
26
31
  if (t.actions !== undefined)
27
32
  out.actions = t.actions;
28
33
  if (t.guard !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"buildPassiveState.js","sourceRoot":"","sources":["../src/buildPassiveState.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,6FAA6F;AAC7F,6EAA6E;AAC7E,oEAAoE;AACpE,EAAE;AACF,yEAAyE;AACzE,6DAA6D;AAC7D,0EAA0E;AAC1E,2EAA2E;AAC3E,8DAA8D;AAC9D,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,gDAAgD;AAEhD,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAC;AAyB/D,8DAA8D;AAC9D,4EAA4E;AAC5E,iEAAiE;AACjE,SAAS,eAAe,CAAI,KAAuB;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAClB,CAAiD,EACjD,IAA6B,EAC7B,IAAuC;IAEvC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IACrD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,oEAAoE;QACpE,kEAAkE;QAClE,iEAAiE;QACjE,wDAAwD;QACxD,EAAE;QACF,8DAA8D;QAC9D,kEAAkE;QAClE,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,KAIP,CAAC;QACd,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAwD,EACxD,IAA6B,EAC7B,IAAuC;IAEvC,MAAM,EAAE,GAA6B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,EAAE,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"buildPassiveState.js","sourceRoot":"","sources":["../src/buildPassiveState.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,6FAA6F;AAC7F,6EAA6E;AAC7E,oEAAoE;AACpE,EAAE;AACF,yEAAyE;AACzE,6DAA6D;AAC7D,0EAA0E;AAC1E,2EAA2E;AAC3E,8DAA8D;AAC9D,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,gDAAgD;AAEhD,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AA6BjC,8DAA8D;AAC9D,4EAA4E;AAC5E,iEAAiE;AACjE,SAAS,eAAe,CAAI,KAAuB;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAClB,CAAiD,EACjD,IAA6B,EAC7B,IAAuC;IAEvC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,kEAAkE;QAClE,+DAA+D;QAC/D,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IACrD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,oEAAoE;QACpE,kEAAkE;QAClE,iEAAiE;QACjE,wDAAwD;QACxD,EAAE;QACF,8DAA8D;QAC9D,kEAAkE;QAClE,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,KAIP,CAAC;QACd,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAwD,EACxD,IAA6B,EAC7B,IAAuC;IAEvC,MAAM,EAAE,GAA6B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,EAAE,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA6B,KAAK,eAAe,EAA0B,MAAM,QAAQ,CAAC;AAmBjG,OAAO,KAAK,EACR,WAAW,EAGX,QAAQ,EAGX,MAAM,YAAY,CAAC;AAkLpB,wBAAgB,OAAO,CACnB,QAAQ,EACR,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,MAAM,SAAS,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EACrD,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,GAC5B,eAAe,CA6CjB"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAqC,KAAK,eAAe,EAA0B,MAAM,QAAQ,CAAC;AAqCzG,OAAO,KAAK,EACR,WAAW,EAIX,QAAQ,EAKX,MAAM,YAAY,CAAC;AA6gBpB,wBAAgB,OAAO,CACnB,QAAQ,EACR,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,MAAM,SAAS,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EACrD,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,GAC5B,eAAe,CAiDjB"}
package/dist/compile.js CHANGED
@@ -1,80 +1,315 @@
1
1
  // `compile` — lowers an `AgentConfig` tree into an XState machine.
2
2
  //
3
3
  // Spec: docs/specs/004-xstate-agent-wrapper.md §"Wrapper internals (compile.ts)"
4
- // + §Mapping. Tasks: docs/specs/004-tasks.md Phase 5.16 (final emit).
4
+ // + spec 008 §Mapping (per-outcome final substates + compound onDone[]).
5
+ // Tasks: docs/specs/004-tasks.md Phase 5.16 (final emit).
5
6
  // Spec 005: closes over a frozen `deps` reference and threads it to every
6
7
  // build* helper. `deps` is NOT placed in XState context — it lives
7
8
  // in callback closures, so `JSON.stringify(actor.getSnapshot().context)`
8
9
  // returns only TContext (+ synthetic compound-local slots).
9
10
  //
11
+ // Compound lowering (spec 008):
12
+ // - `CompoundMode.routes` is the same four-bucket shape `Mode.routes` uses;
13
+ // `retry: readonly []` is shape-only (compounds never bubble retry).
14
+ // - The compound's `onDone[]` is built from `cfg.routes` — one entry per
15
+ // bucket entry, in order. Achieved/abandoned use the same `buildExitTransition`
16
+ // the leaf uses; error needs a different builder because the error
17
+ // payload lives in `event.output.payload` (not `event.error`) once the
18
+ // leaf has already routed through `$end_error`.
19
+ // - Per-outcome final substates `$end_achieved` / `$end_abandoned` /
20
+ // `$end_error` are injected per compound, one per bucket that any child
21
+ // references. The final's `output` callback emits `{ outcome, payload }`
22
+ // for the parent compound's `onDone[]` dispatch.
23
+ // - Special case: when the compound omits `routes.error`, child END
24
+ // references in `routes.error` are rewritten to re-throw (matching the
25
+ // spec-005 "loud failure" default).
26
+ //
10
27
  // This is the only file in `atlas` that calls `setup().createMachine`. It
11
- // composes the toolkit slices built in 5.1–5.15:
28
+ // composes the toolkit slices built in 5.1–5.15 + the spec-008 additions:
12
29
  // - validateTargets, validateRoutes (fail-fast at machine creation)
13
30
  // - walk + actorName + buildActors (active-leaf actor map)
14
31
  // - buildActions (named-actions map)
15
32
  // - buildActiveState / buildPassiveState (per-leaf lowering, lift-aware)
16
- // - contextLift (LiftContext + entry/exit on compounds that declare context)
17
- // - injectEnd (per-level `$end` substate + END → name rewrite)
33
+ // - contextLift (LiftContext + entry/exit assigns)
34
+ // - injectEnd (per-outcome `$end_*` + bucket → name)
18
35
  //
19
36
  // `defineAgent` returns this value verbatim.
20
- import { setup } from "xstate";
37
+ import { assign, setup } from "xstate";
21
38
  import { buildActions } from "./buildActions.js";
22
- import { buildActiveState } from "./buildActiveState.js";
39
+ import { buildActiveState, } from "./buildActiveState.js";
23
40
  import { buildActors } from "./buildActors.js";
24
41
  import { buildPassiveState } from "./buildPassiveState.js";
25
- import { compoundLocalKey, makeCompoundEntry, makeCompoundExit, } from "./contextLift.js";
26
- import { END_SUBSTATE, hasEndReference, pickEndName, rewriteEndTargets, } from "./injectEnd.js";
27
- import { END } from "./types.js";
42
+ import { buildSubContext, compoundLocalKey, makeCompoundEntry, makeCompoundExit, } from "./contextLift.js";
43
+ import { END_ABANDONED, END_ACHIEVED, END_ERROR, bucketOf, isBucketSymbol, } from "./endBuckets.js";
44
+ import { collectEndBuckets, makeFinalSubstate, pickEndName, rewriteEndTargets, rewriteErrorBucketToReThrow, } from "./injectEnd.js";
45
+ import { END, RE_THROW } from "./types.js";
28
46
  import { validateRoutes } from "./validateRoutes.js";
29
47
  import { validateTargets } from "./validateTargets.js";
30
48
  import { walk } from "./walk.js";
31
49
  function asCarrier(value) {
32
50
  return value;
33
51
  }
34
- // ── END detection / rewriting at a level ─────────────────────────────
52
+ // ── Lowered-state classifiers ────────────────────────────────────────
35
53
  function isCompound(node) {
36
54
  return "initial" in node && "states" in node;
37
55
  }
38
56
  function isFinal(node) {
39
57
  return "type" in node && node.type === "final";
40
58
  }
41
- function nodeExitsViaEnd(node) {
59
+ function isLeaf(node) {
60
+ return !isCompound(node) && !isFinal(node);
61
+ }
62
+ function isReadonlyArray(value) {
63
+ return Array.isArray(value);
64
+ }
65
+ // ── Bucket collection over any node at this level ────────────────────
66
+ //
67
+ // Leaves expose buckets via `injectEnd.collectEndBuckets`. Compound nodes
68
+ // expose buckets via their own `onDone[]` entries (sentinels chain upward
69
+ // through nested compounds). Final states never carry sentinels.
70
+ function collectBucketsForNode(node) {
42
71
  if (isFinal(node))
43
- return false;
44
- if (isCompound(node)) {
45
- return node.onDone !== undefined && node.onDone.target === END;
72
+ return new Set();
73
+ if (isLeaf(node))
74
+ return collectEndBuckets(node);
75
+ const out = new Set();
76
+ if (node.onDone === undefined)
77
+ return out;
78
+ for (const t of node.onDone) {
79
+ if (isBucketSymbol(t.target))
80
+ out.add(t.target);
46
81
  }
47
- return hasEndReference(node);
82
+ return out;
83
+ }
84
+ function rewriteCompoundOnDone(node, nameByBucket) {
85
+ if (node.onDone === undefined)
86
+ return node;
87
+ const onDone = node.onDone.map((t) => {
88
+ if (!isBucketSymbol(t.target))
89
+ return t;
90
+ const name = nameByBucket.get(t.target);
91
+ if (name === undefined)
92
+ return t;
93
+ return { ...t, target: name };
94
+ });
95
+ return { ...node, onDone };
48
96
  }
49
- function rewriteNodeEnd(node, endName) {
97
+ function rewriteNodeBuckets(node, nameByBucket) {
50
98
  if (isFinal(node))
51
99
  return node;
52
- if (isCompound(node)) {
53
- if (node.onDone !== undefined && node.onDone.target === END) {
54
- return { ...node, onDone: { target: endName } };
100
+ if (isLeaf(node))
101
+ return rewriteEndTargets(node, nameByBucket);
102
+ return rewriteCompoundOnDone(node, nameByBucket);
103
+ }
104
+ // Apply `rewriteErrorBucketToReThrow` to every leaf whose `invoke.onError`
105
+ // references `END_ERROR`. Only used when the enclosing compound omits
106
+ // `routes.error` — converts the bucket sentinel into a target-less throw.
107
+ function rewriteErrorBucketAtLevel(states) {
108
+ const out = {};
109
+ for (const [name, node] of Object.entries(states)) {
110
+ if (isLeaf(node)) {
111
+ out[name] = rewriteErrorBucketToReThrow(node);
112
+ }
113
+ else {
114
+ out[name] = node;
55
115
  }
56
- return node;
57
116
  }
58
- return rewriteEndTargets(node, endName);
117
+ return out;
59
118
  }
60
- function injectEndAtLevel(states) {
61
- let anyEnd = false;
119
+ // ── Per-outcome `$end_*` injection ───────────────────────────────────
120
+ //
121
+ // Walks the level's states, collects bucket sentinels referenced anywhere,
122
+ // picks a final-substate name per distinct bucket, rewrites every sentinel
123
+ // to its name, and injects the final substates with their `output`
124
+ // callbacks. `outputCb` (the compound's user-declared `output?`) is woven
125
+ // into the non-error finals; the error final's payload is the raw error.
126
+ //
127
+ // At the agent root: `outputCb` and `lift` are both `undefined` (the agent
128
+ // itself has no `output?` callback and no enclosing lift).
129
+ function injectEndAtLevel(states, outputCb, lift, deps) {
130
+ const buckets = new Set();
62
131
  for (const node of Object.values(states)) {
63
- if (nodeExitsViaEnd(node)) {
64
- anyEnd = true;
65
- break;
66
- }
132
+ for (const b of collectBucketsForNode(node))
133
+ buckets.add(b);
67
134
  }
68
- if (!anyEnd)
135
+ if (buckets.size === 0)
69
136
  return states;
70
- const endName = pickEndName(Object.keys(states));
137
+ const nameByBucket = new Map();
138
+ const siblings = new Set(Object.keys(states));
139
+ for (const b of buckets) {
140
+ const name = pickEndName(bucketOf(b), Array.from(siblings));
141
+ nameByBucket.set(b, name);
142
+ siblings.add(name);
143
+ }
71
144
  const rewritten = {};
72
145
  for (const [name, node] of Object.entries(states)) {
73
- rewritten[name] = rewriteNodeEnd(node, endName);
146
+ rewritten[name] = rewriteNodeBuckets(node, nameByBucket);
147
+ }
148
+ for (const [bucket, name] of nameByBucket) {
149
+ rewritten[name] = makeFinalSubstate(bucketOf(bucket), outputCb, lift, deps);
74
150
  }
75
- rewritten[endName] = END_SUBSTATE;
76
151
  return rewritten;
77
152
  }
153
+ // ── Compound onDone[] builders ───────────────────────────────────────
154
+ // Compound onDone[] guard. The compound dispatches against the
155
+ // `{ outcome, payload }` shape its `$end_*` finals emit. `outcomeKey` is
156
+ // the bucket the entry belongs to (achieved/abandoned/error); `payload`
157
+ // is whatever the compound's `output?` produced for achieved/abandoned, or
158
+ // the raw error for the error bucket.
159
+ function makeCompoundOutcomeGuard(outcomeKey, userWhen) {
160
+ return ({ event }) => {
161
+ const out = event
162
+ .output;
163
+ if (out === undefined)
164
+ return false;
165
+ if (out.outcome !== outcomeKey)
166
+ return false;
167
+ if (userWhen === undefined)
168
+ return true;
169
+ return userWhen(out.payload);
170
+ };
171
+ }
172
+ // Wrap a user `assign({ context, payload, deps })` for a compound exit
173
+ // entry. Differs from the leaf-level `wrapAssign` only in that it always
174
+ // reads payload from `event.output.payload` — the compound is dispatching
175
+ // against the final substate's emitted `{ outcome, payload }` shape.
176
+ //
177
+ // `lift` here is the **parent** lift, because the compound's routes
178
+ // execute in the parent's scope (the compound's own context has already
179
+ // been torn down by `makeCompoundExit` by the time the parent's onDone
180
+ // fires).
181
+ function wrapCompoundExitAssign(userAssign, parentLift, deps) {
182
+ if (parentLift !== undefined) {
183
+ return assign(({ context, event }) => {
184
+ const root = context;
185
+ const sub = buildSubContext(root, parentLift);
186
+ const output = event.output;
187
+ return splitUserUpdateForParentLift(userAssign({ context: sub, payload: output.payload, deps }), root, parentLift);
188
+ });
189
+ }
190
+ return assign(({ context, event }) => {
191
+ const output = event.output;
192
+ return userAssign({ context, payload: output.payload, deps });
193
+ });
194
+ }
195
+ // Compound error entry → onDone[] transition. Differs from
196
+ // `wrapCompoundExitAssign` in that `error` is passed as a named argument
197
+ // (matching `ErrorEntry.assign`'s signature) and is read from
198
+ // `event.output.payload` (the error was hoisted by `$end_error`).
199
+ function wrapCompoundErrorAssign(userAssign, parentLift, deps) {
200
+ if (parentLift !== undefined) {
201
+ return assign(({ context, event }) => {
202
+ const root = context;
203
+ const sub = buildSubContext(root, parentLift);
204
+ const error = event.output.payload;
205
+ return splitUserUpdateForParentLift(userAssign({ context: sub, error, deps }), root, parentLift);
206
+ });
207
+ }
208
+ return assign(({ context, event }) => {
209
+ const error = event.output.payload;
210
+ return userAssign({ context, error, deps });
211
+ });
212
+ }
213
+ // Mirrors `splitUserUpdate` in contextLift.ts but is private to compile.ts
214
+ // because the compound's exit/error assigns live here (not in
215
+ // buildActiveState). Keeping a slim duplicate avoids exporting the helper
216
+ // across module boundaries for one caller.
217
+ function splitUserUpdateForParentLift(update, rootContext, lift) {
218
+ const ownLocals = Object.keys(lift.initialLocal);
219
+ const rootPatch = {};
220
+ const slotPatches = {};
221
+ function touchSlot(slotKey, k, v) {
222
+ const existing = slotPatches[slotKey] ?? {};
223
+ existing[k] = v;
224
+ slotPatches[slotKey] = existing;
225
+ }
226
+ function findInheritOwner(key, parent) {
227
+ if (parent === undefined)
228
+ return { kind: "root" };
229
+ if (Object.keys(parent.initialLocal).includes(key)) {
230
+ return { kind: "slot", slotKey: parent.key };
231
+ }
232
+ return findInheritOwner(key, parent.parent);
233
+ }
234
+ for (const [k, v] of Object.entries(update)) {
235
+ if (ownLocals.includes(k)) {
236
+ touchSlot(lift.key, k, v);
237
+ continue;
238
+ }
239
+ if (lift.inherit.includes(k)) {
240
+ const owner = findInheritOwner(k, lift.parent);
241
+ if (owner.kind === "root") {
242
+ rootPatch[k] = v;
243
+ }
244
+ else {
245
+ touchSlot(owner.slotKey, k, v);
246
+ }
247
+ continue;
248
+ }
249
+ }
250
+ for (const [slotKey, patch] of Object.entries(slotPatches)) {
251
+ const current = (rootContext[slotKey] ?? {});
252
+ rootPatch[slotKey] = { ...current, ...patch };
253
+ }
254
+ return rootPatch;
255
+ }
256
+ function normalizeExitEntries(entry) {
257
+ return isReadonlyArray(entry) ? entry : [entry];
258
+ }
259
+ function normalizeErrorEntries(entry) {
260
+ return isReadonlyArray(entry) ? entry : [entry];
261
+ }
262
+ function bucketTargetForCompoundExit(target, outcomeKey) {
263
+ if (target !== END)
264
+ return target;
265
+ return outcomeKey === "achieved" ? END_ACHIEVED : END_ABANDONED;
266
+ }
267
+ function buildCompoundExitOnDone(outcomeKey, entry, parentLift, deps) {
268
+ const transition = {
269
+ guard: makeCompoundOutcomeGuard(outcomeKey, entry.when),
270
+ target: bucketTargetForCompoundExit(entry.target, outcomeKey),
271
+ };
272
+ if (entry.assign !== undefined) {
273
+ transition.actions = wrapCompoundExitAssign(entry.assign, parentLift, deps);
274
+ }
275
+ return transition;
276
+ }
277
+ function buildCompoundErrorOnDone(entry, parentLift, deps) {
278
+ const guard = makeCompoundOutcomeGuard("error", entry.when);
279
+ if (entry.target === RE_THROW) {
280
+ // Throw the error captured in event.output.payload. The user's
281
+ // `assign` is dropped — same convention as the leaf RE_THROW path.
282
+ return {
283
+ guard,
284
+ actions: assign(({ event }) => {
285
+ throw event.output.payload;
286
+ }),
287
+ };
288
+ }
289
+ const transition = {
290
+ guard,
291
+ target: entry.target === END ? END_ERROR : entry.target,
292
+ };
293
+ if (entry.assign !== undefined) {
294
+ transition.actions = wrapCompoundErrorAssign(entry.assign, parentLift, deps);
295
+ }
296
+ return transition;
297
+ }
298
+ function buildCompoundOnDone(routes, parentLift, deps) {
299
+ const out = [];
300
+ for (const entry of normalizeExitEntries(routes.achieved)) {
301
+ out.push(buildCompoundExitOnDone("achieved", entry, parentLift, deps));
302
+ }
303
+ for (const entry of normalizeExitEntries(routes.abandoned)) {
304
+ out.push(buildCompoundExitOnDone("abandoned", entry, parentLift, deps));
305
+ }
306
+ if (routes.error !== undefined) {
307
+ for (const entry of normalizeErrorEntries(routes.error)) {
308
+ out.push(buildCompoundErrorOnDone(entry, parentLift, deps));
309
+ }
310
+ }
311
+ return out;
312
+ }
78
313
  // ── Recursive mode-map lowering ──────────────────────────────────────
79
314
  function joinPath(parent, name) {
80
315
  return parent === "" ? name : `${parent}.${name}`;
@@ -112,12 +347,29 @@ function buildStatesMap(modes, parentLift, parentPath, deps) {
112
347
  ownEntry = makeCompoundEntry(newLift);
113
348
  ownExit = makeCompoundExit(newLift);
114
349
  }
350
+ // 1. Lower the compound's children (with the compound-local lift if
351
+ // any). The children may contain bucket sentinels that need this
352
+ // compound's `$end_*` injection to resolve.
115
353
  const childStatesRaw = buildStatesMap(cfg.modes, childLift, path, deps);
116
- const childStates = injectEndAtLevel(childStatesRaw);
354
+ // 2. If this compound omits `routes.error`, child END references in
355
+ // `routes.error` must re-throw above this compound (spec 008
356
+ // line 87). Rewrite those leaf transitions before the injection
357
+ // pass so the `error` bucket isn't injected as a final.
358
+ const childStatesAfterErrorFixup = cfg.routes.error === undefined
359
+ ? rewriteErrorBucketAtLevel(childStatesRaw)
360
+ : childStatesRaw;
361
+ // 3. Inject per-outcome `$end_*` finals. `outputCb` and `childLift`
362
+ // are this compound's own — the finals' `output` callbacks run
363
+ // inside this compound, with the compound-effective context view.
364
+ const childStates = injectEndAtLevel(childStatesAfterErrorFixup, cfg.output, childLift, deps);
365
+ // 4. Build this compound's `onDone[]` from `cfg.routes`. Targets/
366
+ // assigns execute in the **parent** scope (after this compound
367
+ // exits), so use `parentLift` for the wrapping.
368
+ const onDone = buildCompoundOnDone(cfg.routes, parentLift, deps);
117
369
  const compound = {
118
370
  initial: cfg.initial,
119
371
  states: childStates,
120
- onDone: { target: cfg.onDone },
372
+ onDone,
121
373
  };
122
374
  if (ownEntry !== undefined)
123
375
  compound.entry = ownEntry;
@@ -141,7 +393,11 @@ export function compile(config, frozenDeps) {
141
393
  const actors = buildActors(slots, deps);
142
394
  const actions = buildActions(config.actions, deps);
143
395
  const lowered = buildStatesMap(rawModes, undefined, "", deps);
144
- const finalStates = injectEndAtLevel(lowered);
396
+ // Root-level injection: no enclosing compound → no `output?` callback,
397
+ // no lift. Children that bubble END at the agent root land in
398
+ // `$end_*` finals at the agent level (the actor reaches a top-level
399
+ // final state).
400
+ const finalStates = injectEndAtLevel(lowered, undefined, undefined, deps);
145
401
  // The wrapper's type contract was discharged at the user's call site
146
402
  // (defineMode / defineCompoundMode / defineAgent). At this internal layer
147
403
  // every shape is `unknown`-typed by construction. XState's `setup` types
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export type LiftContext = {
6
6
  readonly parent?: LiftContext;
7
7
  };
8
8
  export declare function compoundLocalKey(path: string): string;
9
+ export declare function buildSubContext(rootContext: Record<string, unknown>, lift: LiftContext): Record<string, unknown>;
9
10
  export declare function liftInput(userInput: (args: {
10
11
  context: unknown;
11
12
  deps: Readonly<Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"contextLift.d.ts","sourceRoot":"","sources":["../src/contextLift.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC,CAAC;AAOF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAmGD,wBAAgB,SAAS,CACrB,SAAS,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,OAAO,EAC3F,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAKzC;AAKD,wBAAgB,cAAc,CAC1B,UAAU,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,MAAM,EAC7G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,UAAU,CAAC,OAAO,MAAM,CAAC,CAQ3B;AAGD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,MAAM,EAC3G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,UAAU,CAAC,OAAO,MAAM,CAAC,CAQ3B;AAGD,wBAAgB,SAAS,CACrB,SAAS,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,OAAO,EAC3G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAKzD;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAI9E;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAI7E"}
1
+ {"version":3,"file":"contextLift.d.ts","sourceRoot":"","sources":["../src/contextLift.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC,CAAC;AAOF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAmBD,wBAAgB,eAAe,CAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,EAAE,WAAW,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AA+DD,wBAAgB,SAAS,CACrB,SAAS,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,OAAO,EAC3F,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAKzC;AAKD,wBAAgB,cAAc,CAC1B,UAAU,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,MAAM,EAC7G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,UAAU,CAAC,OAAO,MAAM,CAAC,CAQ3B;AAGD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,MAAM,EAC3G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,UAAU,CAAC,OAAO,MAAM,CAAC,CAQ3B;AAGD,wBAAgB,SAAS,CACrB,SAAS,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAAK,OAAO,EAC3G,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAKzD;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAI9E;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAI7E"}
@@ -50,7 +50,7 @@ function buildParentView(rootContext, parent) {
50
50
  }
51
51
  // Build the virtual subContext a child callback sees: inherit keys read
52
52
  // from the parent view (live), local keys read from this compound's slot.
53
- function buildSubContext(rootContext, lift) {
53
+ export function buildSubContext(rootContext, lift) {
54
54
  const parentView = buildParentView(rootContext, lift.parent);
55
55
  const sub = {};
56
56
  for (const k of lift.inherit) {