@relayflows/sdk 2.0.51 → 2.0.52

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.
Files changed (82) hide show
  1. package/dist/authored-budget.d.ts +1 -1
  2. package/dist/authored-budget.d.ts.map +1 -1
  3. package/dist/authored-budget.js +3 -3
  4. package/dist/authored-budget.js.map +1 -1
  5. package/dist/authored-flow-error.d.ts +3 -1
  6. package/dist/authored-flow-error.d.ts.map +1 -1
  7. package/dist/authored-flow-error.js.map +1 -1
  8. package/dist/authored-flow-executor.d.ts +2 -0
  9. package/dist/authored-flow-executor.d.ts.map +1 -1
  10. package/dist/authored-flow-executor.js +93 -12
  11. package/dist/authored-flow-executor.js.map +1 -1
  12. package/dist/authored-flow-lifecycle.d.ts +28 -3
  13. package/dist/authored-flow-lifecycle.d.ts.map +1 -1
  14. package/dist/authored-flow-lifecycle.js +206 -10
  15. package/dist/authored-flow-lifecycle.js.map +1 -1
  16. package/dist/authored-node-entry.js +2 -0
  17. package/dist/authored-node-entry.js.map +1 -1
  18. package/dist/authored-parallel-body.d.ts +10 -0
  19. package/dist/authored-parallel-body.d.ts.map +1 -0
  20. package/dist/authored-parallel-body.js +68 -0
  21. package/dist/authored-parallel-body.js.map +1 -0
  22. package/dist/authored-parallel-eligibility.d.ts +8 -0
  23. package/dist/authored-parallel-eligibility.d.ts.map +1 -0
  24. package/dist/authored-parallel-eligibility.js +287 -0
  25. package/dist/authored-parallel-eligibility.js.map +1 -0
  26. package/dist/authored-promise-graph.d.ts +16 -0
  27. package/dist/authored-promise-graph.d.ts.map +1 -1
  28. package/dist/authored-promise-graph.js +36 -0
  29. package/dist/authored-promise-graph.js.map +1 -1
  30. package/dist/authored-root-readback.d.ts +1 -2
  31. package/dist/authored-root-readback.d.ts.map +1 -1
  32. package/dist/authored-root-readback.js +1 -1
  33. package/dist/authored-root-readback.js.map +1 -1
  34. package/dist/authored-root.d.ts +6 -1
  35. package/dist/authored-root.d.ts.map +1 -1
  36. package/dist/authored-root.js +55 -8
  37. package/dist/authored-root.js.map +1 -1
  38. package/dist/authored-step-graph.d.ts +19 -4
  39. package/dist/authored-step-graph.d.ts.map +1 -1
  40. package/dist/authored-step-graph.js +49 -6
  41. package/dist/authored-step-graph.js.map +1 -1
  42. package/dist/authored-step-index.d.ts +2 -1
  43. package/dist/authored-step-index.d.ts.map +1 -1
  44. package/dist/authored-step-index.js +2 -1
  45. package/dist/authored-step-index.js.map +1 -1
  46. package/dist/authored-verdict.d.ts +2 -0
  47. package/dist/authored-verdict.d.ts.map +1 -1
  48. package/dist/authored-verdict.js +4 -1
  49. package/dist/authored-verdict.js.map +1 -1
  50. package/dist/authored-worker-step.d.ts +2 -1
  51. package/dist/authored-worker-step.d.ts.map +1 -1
  52. package/dist/authored-worker-step.js +12 -5
  53. package/dist/authored-worker-step.js.map +1 -1
  54. package/dist/cli/run.d.ts.map +1 -1
  55. package/dist/cli/run.js +4 -2
  56. package/dist/cli/run.js.map +1 -1
  57. package/dist/failure-kinds.d.ts +1 -1
  58. package/dist/failure-kinds.d.ts.map +1 -1
  59. package/dist/failure-kinds.js +2 -0
  60. package/dist/failure-kinds.js.map +1 -1
  61. package/dist/journal-client.d.ts +3 -1
  62. package/dist/journal-client.d.ts.map +1 -1
  63. package/dist/journal-client.js +18 -1
  64. package/dist/journal-client.js.map +1 -1
  65. package/package.json +3 -2
  66. package/src/authored-budget.ts +4 -3
  67. package/src/authored-flow-error.ts +2 -0
  68. package/src/authored-flow-executor.ts +85 -11
  69. package/src/authored-flow-lifecycle.ts +215 -9
  70. package/src/authored-node-entry.ts +2 -0
  71. package/src/authored-parallel-body.ts +67 -0
  72. package/src/authored-parallel-eligibility.ts +245 -0
  73. package/src/authored-promise-graph.ts +35 -0
  74. package/src/authored-root-readback.ts +1 -2
  75. package/src/authored-root.ts +62 -9
  76. package/src/authored-step-graph.ts +50 -5
  77. package/src/authored-step-index.ts +2 -1
  78. package/src/authored-verdict.ts +4 -1
  79. package/src/authored-worker-step.ts +12 -3
  80. package/src/cli/run.ts +4 -2
  81. package/src/failure-kinds.ts +2 -0
  82. package/src/journal-client.ts +19 -0
@@ -0,0 +1,287 @@
1
+ import ts from 'typescript';
2
+ import { authoredFunctionSource } from './authored-flow-lifecycle.js';
3
+ const reservedCertifier = '__certifyParallelBranch';
4
+ /** Keep admission and call-site instrumentation in agreement on parentheses. */
5
+ export function unwrapParallelExpression(node) {
6
+ return ts.isParenthesizedExpression(node) ? unwrapParallelExpression(node.expression) : node;
7
+ }
8
+ /** A closed grammar for deterministic Promise.all branches. Unknown bodies stay serial. */
9
+ export function parallelRunEligible(body, moduleSource) {
10
+ // Promise.all is intercepted only when `Promise` resolves to the intrinsic.
11
+ // Function.toString cannot see a module-level lexical binding, so inspect
12
+ // the complete source before using the body's narrower grammar.
13
+ const bodySource = authoredFunctionSource(body);
14
+ return moduleUsesIntrinsicPromise(moduleSource, bodySource) && parallelBodySyntaxEligible(body);
15
+ }
16
+ /** Independently re-check the closed body grammar at execution time. */
17
+ export function parallelBodySyntaxEligible(body) {
18
+ const bodySource = authoredFunctionSource(body);
19
+ const file = ts.createSourceFile('authored-body.js', `const body = ${bodySource};`, ts.ScriptTarget.ES2022, true, ts.ScriptKind.JS);
20
+ if (file.statements.length !== 1)
21
+ return false;
22
+ const declaration = file.statements[0];
23
+ if (!declaration || !ts.isVariableStatement(declaration))
24
+ return false;
25
+ const expression = declaration.declarationList.declarations[0]?.initializer;
26
+ // Function expressions can obtain the context through `arguments[0]`.
27
+ if (expression === undefined || !ts.isArrowFunction(expression) || !ts.isBlock(expression.body)
28
+ || expression.modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.AsyncKeyword) !== true)
29
+ return false;
30
+ const parameter = expression.parameters[0]?.name;
31
+ if (parameter === undefined || !ts.isIdentifier(parameter) || expression.parameters.length !== 1)
32
+ return false;
33
+ const context = parameter.text;
34
+ if (['Promise', 'globalThis', 'global'].includes(context))
35
+ return false;
36
+ // The instrumented body is re-evaluated with a private callback parameter.
37
+ // A lexical binding or reference with that spelling could capture it.
38
+ let namesCertifier = false;
39
+ const checkCertifierName = (node) => {
40
+ if (ts.isIdentifier(node) && node.text === reservedCertifier)
41
+ namesCertifier = true;
42
+ ts.forEachChild(node, checkCertifierName);
43
+ };
44
+ checkCertifierName(expression);
45
+ if (namesCertifier)
46
+ return false;
47
+ const branches = new Map();
48
+ const rootValues = new Set();
49
+ let groups = 0;
50
+ let runs = 0;
51
+ const unwrap = unwrapParallelExpression;
52
+ const method = (node, owner, name) => {
53
+ const value = unwrap(node);
54
+ return ts.isCallExpression(value) && ts.isPropertyAccessExpression(value.expression)
55
+ && ts.isIdentifier(value.expression.expression) && value.expression.expression.text === owner
56
+ && value.expression.name.text === name;
57
+ };
58
+ const pure = (node, values) => {
59
+ const value = unwrap(node);
60
+ if (ts.isStringLiteral(value) || ts.isNumericLiteral(value) || ts.isNoSubstitutionTemplateLiteral(value)
61
+ || value.kind === ts.SyntaxKind.TrueKeyword || value.kind === ts.SyntaxKind.FalseKeyword
62
+ || value.kind === ts.SyntaxKind.NullKeyword)
63
+ return true;
64
+ if (ts.isIdentifier(value))
65
+ return values.has(value.text);
66
+ if (ts.isTemplateExpression(value))
67
+ return value.templateSpans.every(span => pure(span.expression, values));
68
+ if (ts.isPrefixUnaryExpression(value))
69
+ return [ts.SyntaxKind.PlusToken, ts.SyntaxKind.MinusToken,
70
+ ts.SyntaxKind.ExclamationToken].includes(value.operator) && pure(value.operand, values);
71
+ if (ts.isBinaryExpression(value))
72
+ return [ts.SyntaxKind.PlusToken, ts.SyntaxKind.MinusToken,
73
+ ts.SyntaxKind.AsteriskToken, ts.SyntaxKind.SlashToken, ts.SyntaxKind.EqualsEqualsEqualsToken,
74
+ ts.SyntaxKind.ExclamationEqualsEqualsToken, ts.SyntaxKind.LessThanToken,
75
+ ts.SyntaxKind.GreaterThanToken].includes(value.operatorToken.kind)
76
+ && pure(value.left, values) && pure(value.right, values);
77
+ if (ts.isConditionalExpression(value))
78
+ return pure(value.condition, values)
79
+ && pure(value.whenTrue, values) && pure(value.whenFalse, values);
80
+ if (ts.isElementAccessExpression(value))
81
+ return value.argumentExpression !== undefined
82
+ && pure(value.expression, values) && pure(value.argumentExpression, values);
83
+ if (ts.isPropertyAccessExpression(value))
84
+ return pure(value.expression, values);
85
+ if (ts.isArrayLiteralExpression(value))
86
+ return value.elements.every(element => ts.isExpression(element) && pure(element, values));
87
+ if (ts.isObjectLiteralExpression(value))
88
+ return value.properties.every(property => ts.isPropertyAssignment(property) && (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name))
89
+ && pure(property.initializer, values));
90
+ return false;
91
+ };
92
+ const run = (node, values) => {
93
+ const value = unwrap(node);
94
+ if (!method(value, context, 'run') || value.arguments.length < 1 || value.arguments.length > 2
95
+ || !value.arguments.every(argument => pure(argument, values)))
96
+ return false;
97
+ runs++;
98
+ return true;
99
+ };
100
+ const group = (node, values, depth) => {
101
+ const value = unwrap(node);
102
+ if (!method(value, 'Promise', 'all') || value.arguments.length !== 1 || depth > 4)
103
+ return false;
104
+ groups++;
105
+ const members = value.arguments[0];
106
+ if (ts.isArrayLiteralExpression(members)) {
107
+ if (members.elements.length < 2)
108
+ return false;
109
+ return members.elements.every(member => {
110
+ if (!ts.isExpression(member))
111
+ return false;
112
+ if (run(member, values))
113
+ return true;
114
+ const call = unwrap(member);
115
+ if (depth === 0 && ts.isCallExpression(call) && ts.isIdentifier(call.expression)
116
+ && call.arguments.length === 0 && branches.has(call.expression.text)) {
117
+ return branch(branches.get(call.expression.text), depth + 1);
118
+ }
119
+ if (depth === 0 && ts.isCallExpression(call) && call.arguments.length === 0
120
+ && ts.isParenthesizedExpression(call.expression) && ts.isArrowFunction(call.expression.expression)) {
121
+ return branch(call.expression.expression, depth + 1);
122
+ }
123
+ return false;
124
+ });
125
+ }
126
+ return false;
127
+ };
128
+ const awaitStep = (node, values, depth) => {
129
+ const value = unwrap(node);
130
+ if (!ts.isAwaitExpression(value))
131
+ return false;
132
+ return run(value.expression, values) || group(value.expression, values, depth);
133
+ };
134
+ const statements = (block, values, depth) => {
135
+ for (const statement of block.statements) {
136
+ if (ts.isExpressionStatement(statement)) {
137
+ if (awaitStep(statement.expression, values, depth))
138
+ continue;
139
+ const value = unwrap(statement.expression);
140
+ if (depth === 0 && method(value, context, 'done') && value.arguments.length >= 1
141
+ && value.arguments.every(argument => pure(argument, values))
142
+ && statement === block.statements[block.statements.length - 1])
143
+ continue;
144
+ return false;
145
+ }
146
+ if (ts.isReturnStatement(statement) && depth > 0 && statement.expression !== undefined
147
+ && awaitStep(statement.expression, values, depth))
148
+ continue;
149
+ if (!ts.isVariableStatement(statement) || (statement.declarationList.flags & ts.NodeFlags.Const) === 0)
150
+ return false;
151
+ for (const item of statement.declarationList.declarations) {
152
+ if (!ts.isIdentifier(item.name) || item.initializer === undefined)
153
+ return false;
154
+ if (['Promise', 'globalThis', 'global'].includes(item.name.text))
155
+ return false;
156
+ if (depth === 0 && ts.isArrowFunction(item.initializer)) {
157
+ if (branches.has(item.name.text) || item.initializer.parameters.length !== 0
158
+ || item.initializer.modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.AsyncKeyword) !== true)
159
+ return false;
160
+ branches.set(item.name.text, item.initializer);
161
+ continue;
162
+ }
163
+ if (!awaitStep(item.initializer, values, depth))
164
+ return false;
165
+ values.add(item.name.text);
166
+ }
167
+ }
168
+ return true;
169
+ };
170
+ const branch = (arrow, depth) => {
171
+ if (arrow.parameters.length !== 0)
172
+ return false;
173
+ const before = runs;
174
+ const valid = ts.isBlock(arrow.body) ? statements(arrow.body, new Set(rootValues), depth)
175
+ : awaitStep(arrow.body, rootValues, depth);
176
+ // An empty async branch creates a join with no causal step predecessor.
177
+ return valid && runs > before;
178
+ };
179
+ if (!statements(expression.body, rootValues, 0))
180
+ return false;
181
+ return groups > 0 && runs > 0;
182
+ }
183
+ /** Reject any source that can change what a free `Promise` identifier means. */
184
+ function moduleUsesIntrinsicPromise(source, bodySource) {
185
+ const file = ts.createSourceFile('authored-module.ts', source, ts.ScriptTarget.ES2022, true, ts.ScriptKind.TS);
186
+ if ((file.parseDiagnostics?.length ?? 0) > 0) {
187
+ return false;
188
+ }
189
+ // Top-level code can alter the constructor or its methods without binding
190
+ // the name. Leave these modules on the established serial scheduler too.
191
+ const touchesPromiseOutsideDefinition = (node) => {
192
+ if (ts.isIdentifier(node) && ['Promise', 'globalThis', 'global'].includes(node.text))
193
+ return true;
194
+ return ts.forEachChild(node, touchesPromiseOutsideDefinition) === true;
195
+ };
196
+ let definesDefaultBody = false;
197
+ let importsSurfaceFlow = false;
198
+ for (const statement of file.statements) {
199
+ if (ts.isImportDeclaration(statement)) {
200
+ // Imports can execute code before the body starts. Only the direct,
201
+ // immutable Surface binding can certify the exported body's identity.
202
+ if (statement.moduleSpecifier.getText(file) !== "'@relayflows/surface'"
203
+ && statement.moduleSpecifier.getText(file) !== '"@relayflows/surface"')
204
+ return false;
205
+ const bindings = statement.importClause?.namedBindings;
206
+ if (statement.importClause?.name !== undefined || bindings === undefined
207
+ || !ts.isNamedImports(bindings) || bindings.elements.length !== 1
208
+ || bindings.elements[0]?.name.text !== 'flow'
209
+ || bindings.elements[0]?.propertyName !== undefined || importsSurfaceFlow)
210
+ return false;
211
+ importsSurfaceFlow = true;
212
+ continue;
213
+ }
214
+ if (ts.isExportAssignment(statement)) {
215
+ // Only the final body argument is allowed to mention Promise.all. Do
216
+ // not let an expression around flow() mutate Promise while we skip it.
217
+ const call = statement.expression;
218
+ if (statement.isExportEquals || !ts.isCallExpression(call)
219
+ || !ts.isIdentifier(call.expression) || call.expression.text !== 'flow')
220
+ return false;
221
+ const args = call.arguments;
222
+ if (args.length !== 2 || !ts.isStringLiteral(args[0]))
223
+ return false;
224
+ if (!ts.isArrowFunction(args[args.length - 1]))
225
+ return false;
226
+ if (args[args.length - 1].getText(file) !== bodySource)
227
+ return false;
228
+ if (args.slice(0, -1).some(touchesPromiseOutsideDefinition))
229
+ return false;
230
+ if (definesDefaultBody)
231
+ return false;
232
+ definesDefaultBody = true;
233
+ continue;
234
+ }
235
+ // The certified body cannot use module captures. Other top-level code is
236
+ // unnecessary for it and may schedule a later mutation through an alias.
237
+ return false;
238
+ }
239
+ const forbidden = new Set(['Promise', 'globalThis']);
240
+ const bindsForbidden = (name) => ts.isIdentifier(name)
241
+ ? forbidden.has(name.text)
242
+ : name.elements.some(element => ts.isBindingElement(element) && bindsForbidden(element.name));
243
+ const isGlobalPromise = (node) => {
244
+ if (ts.isIdentifier(node))
245
+ return forbidden.has(node.text);
246
+ if (ts.isPropertyAccessExpression(node))
247
+ return ts.isIdentifier(node.expression)
248
+ && node.expression.text === 'globalThis' && node.name.text === 'Promise';
249
+ return ts.isElementAccessExpression(node) && ts.isIdentifier(node.expression)
250
+ && node.expression.text === 'globalThis' && ts.isStringLiteral(node.argumentExpression)
251
+ && node.argumentExpression.text === 'Promise';
252
+ };
253
+ let unsafe = false;
254
+ const visit = (node) => {
255
+ if (unsafe)
256
+ return;
257
+ if ((ts.isVariableDeclaration(node) || ts.isParameter(node) || ts.isBindingElement(node))
258
+ && bindsForbidden(node.name))
259
+ unsafe = true;
260
+ if ((ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node)
261
+ || ts.isClassDeclaration(node) || ts.isClassExpression(node)
262
+ || ts.isEnumDeclaration(node) || ts.isImportEqualsDeclaration(node)
263
+ || ts.isTypeAliasDeclaration(node) || ts.isInterfaceDeclaration(node))
264
+ && node.name !== undefined && forbidden.has(node.name.text))
265
+ unsafe = true;
266
+ if (ts.isImportClause(node) && node.name !== undefined && forbidden.has(node.name.text))
267
+ unsafe = true;
268
+ if (ts.isNamespaceImport(node) && forbidden.has(node.name.text))
269
+ unsafe = true;
270
+ if (ts.isImportSpecifier(node) && forbidden.has(node.name.text))
271
+ unsafe = true;
272
+ if (ts.isBinaryExpression(node)
273
+ && node.operatorToken.kind >= ts.SyntaxKind.FirstAssignment
274
+ && node.operatorToken.kind <= ts.SyntaxKind.LastAssignment
275
+ && isGlobalPromise(node.left))
276
+ unsafe = true;
277
+ if ((ts.isPrefixUnaryExpression(node) || ts.isPostfixUnaryExpression(node))
278
+ && isGlobalPromise(node.operand))
279
+ unsafe = true;
280
+ ts.forEachChild(node, visit);
281
+ };
282
+ visit(file);
283
+ // The body may come from another module, where a free Promise name can be
284
+ // shadowed without appearing in this source. In that case use serial IDs.
285
+ return importsSurfaceFlow && definesDefaultBody && !unsafe;
286
+ }
287
+ //# sourceMappingURL=authored-parallel-eligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-parallel-eligibility.js","sourceRoot":"","sources":["../src/authored-parallel-eligibility.ts"],"names":[],"mappings":"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"}
@@ -29,12 +29,15 @@ export declare class AuthoredPromiseGraph {
29
29
  private readonly triggers;
30
30
  private readonly creationContexts;
31
31
  private readonly resolutionCauses;
32
+ /** Promises attributed only when another promise's reaction resolved them. */
33
+ private readonly adoptedFromResolvingContext;
32
34
  private readonly promiseIds;
33
35
  private readonly handles;
34
36
  private readonly unattributedChildren;
35
37
  private readonly attributedRoots;
36
38
  private readonly roots;
37
39
  private readonly pending;
40
+ private readonly combinatorCaptures;
38
41
  private dependencyCache;
39
42
  /** Bumped by every graph change, so derived answers can be cached between changes. */
40
43
  private changes;
@@ -42,6 +45,12 @@ export declare class AuthoredPromiseGraph {
42
45
  enable(): void;
43
46
  disable(): void;
44
47
  idOf(value: object): number | undefined;
48
+ isPending(asyncId: number): boolean;
49
+ /** The intrinsic creates per-member reaction promises as well as its aggregate. */
50
+ captureCombinator<T>(call: () => T): {
51
+ readonly value: T;
52
+ readonly created: ReadonlySet<number>;
53
+ };
45
54
  /** Mark a promise whose descendants belong to an authored operation. */
46
55
  registerRoot(asyncId: number): void;
47
56
  /** The roots that still have derived promises in flight. One pass over `pending`. */
@@ -53,6 +62,13 @@ export declare class AuthoredPromiseGraph {
53
62
  }>;
54
63
  /** The three recorded edges out of one promise, for walks that stop early. */
55
64
  causesOf(asyncId: number): number[];
65
+ /**
66
+ * A promise created directly in one async context but settled in another
67
+ * can be a join. Its resolution edge names only the settling member, so a
68
+ * frontier may use it only when a combinator registered all members.
69
+ */
70
+ hasUnobservedJoinShape(asyncId: number): boolean;
71
+ wasAdoptedFromResolvingContext(asyncId: number): boolean;
56
72
  dependsOn(descendant: number, ancestor: number): boolean;
57
73
  /** A counter that changes whenever the graph does; equal values mean equal answers. */
58
74
  get version(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"authored-promise-graph.d.ts","sourceRoot":"","sources":["../src/authored-promise-graph.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAoB;IAgB7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAhBnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAwG;IAC/H,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAAK;gBAGD,OAAO,EAAE,MAAM,OAAO,EACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IA8C9D,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvC,wEAAwE;IACxE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUnC,qFAAqF;IACrF,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;IAS5B,mFAAmF;IACnF,gBAAgB,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAUvF,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAYnC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxD,uFAAuF;IACvF,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAI1G,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,IAAI;IAMZ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;CAcvB"}
1
+ {"version":3,"file":"authored-promise-graph.d.ts","sourceRoot":"","sources":["../src/authored-promise-graph.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAoB;IAmB7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAnBnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAqB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,eAAe,CAAwG;IAC/H,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAAK;gBAGD,OAAO,EAAE,MAAM,OAAO,EACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAgD9D,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,mFAAmF;IACnF,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE;IAOjG,wEAAwE;IACxE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUnC,qFAAqF;IACrF,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;IAS5B,mFAAmF;IACnF,gBAAgB,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAUvF,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAYnC;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhD,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxD,uFAAuF;IACvF,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAI1G,KAAK,IAAI,IAAI;IAcb,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,IAAI;IAMZ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;CAcvB"}
@@ -31,12 +31,15 @@ export class AuthoredPromiseGraph {
31
31
  triggers = new Map();
32
32
  creationContexts = new Map();
33
33
  resolutionCauses = new Map();
34
+ /** Promises attributed only when another promise's reaction resolved them. */
35
+ adoptedFromResolvingContext = new Set();
34
36
  promiseIds = new WeakMap();
35
37
  handles = new Map();
36
38
  unattributedChildren = new Map();
37
39
  attributedRoots = new Map();
38
40
  roots = new Set();
39
41
  pending = new Set();
42
+ combinatorCaptures = [];
40
43
  dependencyCache;
41
44
  /** Bumped by every graph change, so derived answers can be cached between changes. */
42
45
  changes = 0;
@@ -53,6 +56,8 @@ export class AuthoredPromiseGraph {
53
56
  this.triggers.set(asyncId, triggerAsyncId);
54
57
  this.creationContexts.set(asyncId, executionAsyncId());
55
58
  this.promiseIds.set(resource, asyncId);
59
+ for (const capture of this.combinatorCaptures)
60
+ capture.add(asyncId);
56
61
  this.handles.set(asyncId, resource);
57
62
  this.pending.add(asyncId);
58
63
  const root = this.roots.has(triggerAsyncId)
@@ -83,6 +88,7 @@ export class AuthoredPromiseGraph {
83
88
  // success. Measured; see ops/probes/pr134-repair-0903/combinators.mjs.
84
89
  const adopted = this.attributedRoots.get(cause);
85
90
  if (adopted !== undefined) {
91
+ this.adoptedFromResolvingContext.add(asyncId);
86
92
  this.attribute(asyncId, adopted);
87
93
  return;
88
94
  }
@@ -102,6 +108,20 @@ export class AuthoredPromiseGraph {
102
108
  idOf(value) {
103
109
  return this.promiseIds.get(value);
104
110
  }
111
+ isPending(asyncId) {
112
+ return this.pending.has(asyncId);
113
+ }
114
+ /** The intrinsic creates per-member reaction promises as well as its aggregate. */
115
+ captureCombinator(call) {
116
+ const created = new Set();
117
+ this.combinatorCaptures.push(created);
118
+ try {
119
+ return { value: call(), created };
120
+ }
121
+ finally {
122
+ this.combinatorCaptures.pop();
123
+ }
124
+ }
105
125
  /** Mark a promise whose descendants belong to an authored operation. */
106
126
  registerRoot(asyncId) {
107
127
  if (asyncId <= 0 || this.roots.has(asyncId))
@@ -150,6 +170,20 @@ export class AuthoredPromiseGraph {
150
170
  }
151
171
  return causes;
152
172
  }
173
+ /**
174
+ * A promise created directly in one async context but settled in another
175
+ * can be a join. Its resolution edge names only the settling member, so a
176
+ * frontier may use it only when a combinator registered all members.
177
+ */
178
+ hasUnobservedJoinShape(asyncId) {
179
+ const trigger = this.triggers.get(asyncId);
180
+ const resolution = this.resolutionCauses.get(asyncId);
181
+ return trigger !== undefined && trigger === this.creationContexts.get(asyncId)
182
+ && resolution !== undefined && resolution !== trigger;
183
+ }
184
+ wasAdoptedFromResolvingContext(asyncId) {
185
+ return this.adoptedFromResolvingContext.has(asyncId);
186
+ }
153
187
  dependsOn(descendant, ancestor) {
154
188
  return this.dependenciesOf(descendant).has(ancestor);
155
189
  }
@@ -169,11 +203,13 @@ export class AuthoredPromiseGraph {
169
203
  this.triggers.clear();
170
204
  this.creationContexts.clear();
171
205
  this.resolutionCauses.clear();
206
+ this.adoptedFromResolvingContext.clear();
172
207
  this.handles.clear();
173
208
  this.unattributedChildren.clear();
174
209
  this.attributedRoots.clear();
175
210
  this.roots.clear();
176
211
  this.pending.clear();
212
+ this.combinatorCaptures.length = 0;
177
213
  this.dependencyCache = undefined;
178
214
  }
179
215
  attribute(start, root) {
@@ -1 +1 @@
1
- {"version":3,"file":"authored-promise-graph.js","sourceRoot":"","sources":["../src/authored-promise-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-promise-graph.js","sourceRoot":"","sources":["../src/authored-promise-graph.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { AuthoredFlowExecutionResult } from './authored-flow-executor.js';
2
2
  import { type JournalClient } from './journal-client.js';
3
- import type { RunOutcome } from './protocol.js';
4
3
  export declare function rootKernelStep(journal: JournalClient, runId: string): Promise<Record<string, unknown>>;
5
4
  /**
6
5
  * The root step of `runId`, or undefined when the daemon definitively answered
@@ -15,7 +14,7 @@ export declare function rootStepIfPresent(journal: JournalClient, runId: string)
15
14
  * it back is interrupted, the outcome is still known: say so, rather than
16
15
  * recasting a finished run as resumable.
17
16
  */
18
- export declare function completedResult(journal: JournalClient, outcome: RunOutcome, rootRunId: string): Promise<AuthoredFlowExecutionResult & {
17
+ export declare function completedResult(journal: JournalClient, rootRunId: string): Promise<AuthoredFlowExecutionResult & {
19
18
  readonly rootRunId: string;
20
19
  }>;
21
20
  //# sourceMappingURL=authored-root-readback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authored-root-readback.d.ts","sourceRoot":"","sources":["../src/authored-root-readback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAA2C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAO5G;AAKD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAK3H;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAcrK"}
1
+ {"version":3,"file":"authored-root-readback.d.ts","sourceRoot":"","sources":["../src/authored-root-readback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAA2C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUlG,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAO5G;AAKD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAK3H;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAchJ"}
@@ -38,7 +38,7 @@ export async function rootStepIfPresent(journal, runId) {
38
38
  * it back is interrupted, the outcome is still known: say so, rather than
39
39
  * recasting a finished run as resumable.
40
40
  */
41
- export function completedResult(journal, outcome, rootRunId) {
41
+ export function completedResult(journal, rootRunId) {
42
42
  return completedRootResult(journal, rootRunId).catch(error => {
43
43
  // A bad frame or a journal with no stored result is a definite fact; any
44
44
  // other failure — interrupted, canceled, or a daemon-side read error such
@@ -1 +1 @@
1
- {"version":3,"file":"authored-root-readback.js","sourceRoot":"","sources":["../src/authored-root-readback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-root-readback.js","sourceRoot":"","sources":["../src/authored-root-readback.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type AuthoredFlowExecutionResult, type AuthoredFlowSuspendedResult } from './authored-flow-executor.js';
2
+ import { AUTHORED_PARALLEL_ROOT_KIND } from './authored-verdict.js';
2
3
  import { type LoadedAuthoredFlow, type SurfaceModuleAuthority } from './authored-flow-loader.js';
3
4
  import { JournalClient } from './journal-client.js';
4
5
  import type { RunLifecycleOptions } from './cli/run.js';
@@ -19,7 +20,7 @@ export interface AuthoredRootExtension {
19
20
  readonly ref: string;
20
21
  }
21
22
  export interface AuthoredRootMetadata {
22
- readonly kind: typeof ROOT_KIND;
23
+ readonly kind: typeof ROOT_KIND | typeof AUTHORED_PARALLEL_ROOT_KIND;
23
24
  readonly flowName: string;
24
25
  readonly flowPath: string;
25
26
  readonly sourceSha256: string;
@@ -27,6 +28,10 @@ export interface AuthoredRootMetadata {
27
28
  readonly sources: readonly AuthoredRootSourceAuthority[];
28
29
  /** Plugin-level provenance in lock order; empty when the project declares none. */
29
30
  readonly extensions: readonly AuthoredRootExtension[];
31
+ /** Absent on roots admitted before causal identities existed. */
32
+ readonly identityVersion?: 2;
33
+ /** Immutable admission choice; serial uses the 2.0.50 child identity contract. */
34
+ readonly executionMode?: 'serial' | 'parallel';
30
35
  readonly localAgentStream?: string;
31
36
  readonly inputPresent: boolean;
32
37
  readonly input?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"authored-root.d.ts","sourceRoot":"","sources":["../src/authored-root.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,KAAK,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAEtI,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AASxD,MAAM,MAAM,yBAAyB,GACjC,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE;;;;GAIG;AACH,QAAA,MAAM,SAAS,gCAAqB,CAAC;AAErC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACzD,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,kGAAkG;IAClG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAED,uEAAuE;AACvE,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CA8DpC;AAED,iFAAiF;AACjF,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAsChD;AAaD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAc3C"}
1
+ {"version":3,"file":"authored-root.d.ts","sourceRoot":"","sources":["../src/authored-root.ts"],"names":[],"mappings":"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"}