@workglow/task-graph 0.2.36 → 0.2.37

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 (57) hide show
  1. package/dist/browser.js +189 -174
  2. package/dist/browser.js.map +30 -30
  3. package/dist/bun.js +189 -174
  4. package/dist/bun.js.map +30 -30
  5. package/dist/node.js +189 -174
  6. package/dist/node.js.map +30 -30
  7. package/dist/storage/PortCodecRegistry.d.ts +1 -1
  8. package/dist/storage/PortCodecRegistry.d.ts.map +1 -1
  9. package/dist/storage/TaskGraphTabularRepository.d.ts.map +1 -1
  10. package/dist/task/CacheCoordinator.d.ts +1 -1
  11. package/dist/task/CacheCoordinator.d.ts.map +1 -1
  12. package/dist/task/ConditionalTask.d.ts +14 -14
  13. package/dist/task/ConditionalTask.d.ts.map +1 -1
  14. package/dist/task/EntitlementProfile.d.ts.map +1 -1
  15. package/dist/task/EntitlementProfiles.d.ts +1 -1
  16. package/dist/task/EntitlementProfiles.d.ts.map +1 -1
  17. package/dist/task/FallbackTask.d.ts +8 -8
  18. package/dist/task/FallbackTask.d.ts.map +1 -1
  19. package/dist/task/FallbackTaskRunner.d.ts.map +1 -1
  20. package/dist/task/GraphAsTask.d.ts +4 -4
  21. package/dist/task/GraphAsTask.d.ts.map +1 -1
  22. package/dist/task/ITask.d.ts +7 -1
  23. package/dist/task/ITask.d.ts.map +1 -1
  24. package/dist/task/InputCompactor.d.ts +1 -1
  25. package/dist/task/InputCompactor.d.ts.map +1 -1
  26. package/dist/task/InputResolver.d.ts +1 -1
  27. package/dist/task/InputResolver.d.ts.map +1 -1
  28. package/dist/task/IteratorTask.d.ts +4 -4
  29. package/dist/task/JobQueueFactory.d.ts +1 -1
  30. package/dist/task/JobQueueFactory.d.ts.map +1 -1
  31. package/dist/task/MapTask.d.ts +4 -4
  32. package/dist/task/ReduceTask.d.ts +4 -4
  33. package/dist/task/StreamProcessor.d.ts +1 -1
  34. package/dist/task/StreamProcessor.d.ts.map +1 -1
  35. package/dist/task/TaskError.d.ts +2 -0
  36. package/dist/task/TaskError.d.ts.map +1 -1
  37. package/dist/task/TaskEvents.d.ts +2 -2
  38. package/dist/task/TaskEvents.d.ts.map +1 -1
  39. package/dist/task/TaskQueueRegistry.d.ts +1 -1
  40. package/dist/task/TaskQueueRegistry.d.ts.map +1 -1
  41. package/dist/task/TaskRunner.d.ts.map +1 -1
  42. package/dist/task/TaskTypes.d.ts +1 -1
  43. package/dist/task/TaskTypes.d.ts.map +1 -1
  44. package/dist/task/WhileTask.d.ts +4 -4
  45. package/dist/task/iterationSchema.d.ts +1 -1
  46. package/dist/task/iterationSchema.d.ts.map +1 -1
  47. package/dist/task-graph/Dataflow.d.ts +1 -1
  48. package/dist/task-graph/Dataflow.d.ts.map +1 -1
  49. package/dist/task-graph/IWorkflow.d.ts +1 -1
  50. package/dist/task-graph/IWorkflow.d.ts.map +1 -1
  51. package/dist/task-graph/TaskGraph.d.ts +3 -1
  52. package/dist/task-graph/TaskGraph.d.ts.map +1 -1
  53. package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
  54. package/dist/task-graph/Workflow.d.ts.map +1 -1
  55. package/dist/task-graph/transforms/index.d.ts +6 -6
  56. package/dist/task-graph/transforms/index.d.ts.map +1 -1
  57. package/package.json +7 -7
package/dist/browser.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // src/task-graph/Dataflow.ts
2
- import { areSemanticallyCompatible } from "@workglow/util/schema";
3
2
  import { EventEmitter } from "@workglow/util";
3
+ import { areSemanticallyCompatible } from "@workglow/util/schema";
4
4
 
5
5
  // src/task/TaskError.ts
6
6
  import { BaseError } from "@workglow/util";
@@ -60,9 +60,13 @@ class TaskFailedError extends TaskError {
60
60
  class JobTaskFailedError extends TaskFailedError {
61
61
  static type = "JobTaskFailedError";
62
62
  jobError;
63
+ code;
63
64
  constructor(err) {
64
65
  super(String(err));
65
66
  this.jobError = err;
67
+ if (err.code) {
68
+ this.code = err.code;
69
+ }
66
70
  }
67
71
  }
68
72
 
@@ -2090,7 +2094,7 @@ class TaskRunner {
2090
2094
  throw new TaskConfigurationError(`Task "${this.task.type}" is already running. Concurrent run() calls on the same TaskRunner are not supported.`);
2091
2095
  }
2092
2096
  const ownsScope = config.resourceScope === undefined;
2093
- const effectiveConfig = ownsScope ? { ...config, resourceScope: new ResourceScope } : config;
2097
+ const effectiveConfig = ownsScope ? { ...config, resourceScope: new ResourceScope({ strategy: config.disposeStrategy }) } : config;
2094
2098
  this.ownsResourceScope = ownsScope;
2095
2099
  try {
2096
2100
  await this.handleStart(effectiveConfig);
@@ -2139,7 +2143,7 @@ class TaskRunner {
2139
2143
  }
2140
2144
  } finally {
2141
2145
  if (ownsScope) {
2142
- await effectiveConfig.resourceScope.disposeAll();
2146
+ await effectiveConfig.resourceScope.runComplete();
2143
2147
  this.resourceScope = undefined;
2144
2148
  }
2145
2149
  this.ownsResourceScope = false;
@@ -2307,7 +2311,8 @@ class TaskRunner {
2307
2311
  const resolved = await resolveSchemaInputs({ ...source }, configSchema, { registry: this.registry });
2308
2312
  Object.assign(this.task.config, resolved);
2309
2313
  }
2310
- const schema = this.task.constructor.inputSchema();
2314
+ const ctor = this.task.constructor;
2315
+ const schema = ctor.hasDynamicSchemas ? this.task.inputSchema() : ctor.inputSchema();
2311
2316
  this.task.runInputData = await resolveSchemaInputs(this.task.runInputData, schema, { registry: this.registry });
2312
2317
  }
2313
2318
  async handleStart(config = {}) {
@@ -2339,6 +2344,9 @@ class TaskRunner {
2339
2344
  if (config.resourceScope) {
2340
2345
  this.resourceScope = config.resourceScope;
2341
2346
  }
2347
+ if (this.resourceScope) {
2348
+ await this.resourceScope.runStart();
2349
+ }
2342
2350
  if (ctx.abortController.signal.aborted)
2343
2351
  return;
2344
2352
  const timeout = this.task.config.timeout;
@@ -3727,7 +3735,10 @@ class TaskGraphRunner {
3727
3735
  }
3728
3736
  async runGraph(input = {}, config) {
3729
3737
  const ownsScope = config?.resourceScope === undefined;
3730
- const effectiveConfig = ownsScope ? { ...config, resourceScope: new ResourceScope2 } : config;
3738
+ const effectiveConfig = ownsScope ? {
3739
+ ...config,
3740
+ resourceScope: new ResourceScope2({ strategy: config?.disposeStrategy })
3741
+ } : config;
3731
3742
  try {
3732
3743
  await this.handleStart(effectiveConfig);
3733
3744
  const ctx = this.currentCtx;
@@ -3750,7 +3761,7 @@ class TaskGraphRunner {
3750
3761
  return this.filterLeafResults(results);
3751
3762
  } finally {
3752
3763
  if (ownsScope) {
3753
- await effectiveConfig.resourceScope.disposeAll();
3764
+ await effectiveConfig.resourceScope.runComplete();
3754
3765
  this.resourceScope = undefined;
3755
3766
  }
3756
3767
  }
@@ -3969,6 +3980,9 @@ class TaskGraphRunner {
3969
3980
  if (config?.timeout !== undefined) {
3970
3981
  this.runScheduler.armGraphTimeout(config.timeout, ctx);
3971
3982
  }
3983
+ if (this.resourceScope) {
3984
+ await this.resourceScope.runStart();
3985
+ }
3972
3986
  if (ctx.abortController.signal.aborted)
3973
3987
  return;
3974
3988
  this.resetGraph(this.graph, ctx.runId);
@@ -4574,7 +4588,8 @@ class TaskGraph {
4574
4588
  registry: config?.registry,
4575
4589
  timeout: config?.timeout,
4576
4590
  maxTasks: config?.maxTasks,
4577
- resourceScope: config?.resourceScope
4591
+ resourceScope: config?.resourceScope,
4592
+ disposeStrategy: config?.disposeStrategy
4578
4593
  });
4579
4594
  }
4580
4595
  runPreview(input = {}, config = {}) {
@@ -5550,19 +5565,6 @@ class WorkflowEventBridge {
5550
5565
  }
5551
5566
  }
5552
5567
 
5553
- // src/task-graph/WorkflowRunContext.ts
5554
- class WorkflowRunContext {
5555
- abortController;
5556
- unsubStreaming;
5557
- constructor() {
5558
- this.abortController = new AbortController;
5559
- }
5560
- dispose() {
5561
- this.unsubStreaming?.();
5562
- this.unsubStreaming = undefined;
5563
- }
5564
- }
5565
-
5566
5568
  // src/task-graph/WorkflowFactories.ts
5567
5569
  function CreateWorkflow(taskClass) {
5568
5570
  return Workflow.createWorkflow(taskClass);
@@ -5593,6 +5595,19 @@ function CreateAdaptiveWorkflow(scalarClass, vectorClass) {
5593
5595
  };
5594
5596
  }
5595
5597
 
5598
+ // src/task-graph/WorkflowRunContext.ts
5599
+ class WorkflowRunContext {
5600
+ abortController;
5601
+ unsubStreaming;
5602
+ constructor() {
5603
+ this.abortController = new AbortController;
5604
+ }
5605
+ dispose() {
5606
+ this.unsubStreaming?.();
5607
+ this.unsubStreaming = undefined;
5608
+ }
5609
+ }
5610
+
5596
5611
  // src/task-graph/WorkflowTask.ts
5597
5612
  class WorkflowTask extends GraphAsTask {
5598
5613
  static type = "Workflow";
@@ -6145,107 +6160,6 @@ ${baseIndent}}`;
6145
6160
  function resetMethodNameCache() {
6146
6161
  methodNameCache = undefined;
6147
6162
  }
6148
- // src/task-graph/transforms/pick.ts
6149
- import { areSemanticallyCompatible as areSemanticallyCompatible2 } from "@workglow/util/schema";
6150
- function walk(value, path) {
6151
- if (value == null)
6152
- return;
6153
- const parts = path.split(".");
6154
- let cur = value;
6155
- for (const p of parts) {
6156
- if (cur == null)
6157
- return;
6158
- cur = cur[p];
6159
- }
6160
- return cur;
6161
- }
6162
- function walkSchema(schema, path) {
6163
- const parts = path.split(".");
6164
- let cur = schema;
6165
- for (const p of parts) {
6166
- if (!cur || typeof cur !== "object")
6167
- return {};
6168
- if (cur.type !== "object" || !cur.properties || !cur.properties[p]) {
6169
- return {};
6170
- }
6171
- cur = cur.properties[p];
6172
- }
6173
- return cur;
6174
- }
6175
- var pickTransform = {
6176
- id: "pick",
6177
- title: "Pick field",
6178
- category: "Structural",
6179
- paramsSchema: {
6180
- type: "object",
6181
- properties: {
6182
- path: { type: "string", description: "Dotted property path" }
6183
- },
6184
- required: ["path"]
6185
- },
6186
- inferOutputSchema(inputSchema, params) {
6187
- return walkSchema(inputSchema, params.path);
6188
- },
6189
- apply(value, params) {
6190
- return walk(value, params.path);
6191
- },
6192
- suggestFromSchemas(source, target) {
6193
- if (source.type !== "object" || !source.properties) {
6194
- return;
6195
- }
6196
- const props = source.properties;
6197
- for (const [name, propSchema] of Object.entries(props)) {
6198
- const compat = areSemanticallyCompatible2(propSchema, target);
6199
- if (compat === "static")
6200
- return { score: 1, params: { path: name } };
6201
- if (compat === "runtime")
6202
- return { score: 0.6, params: { path: name } };
6203
- }
6204
- return;
6205
- }
6206
- };
6207
-
6208
- // src/task-graph/transforms/index-access.ts
6209
- import { areSemanticallyCompatible as areSemanticallyCompatible3 } from "@workglow/util/schema";
6210
- function doIndex(value, idx) {
6211
- if (!Array.isArray(value))
6212
- return;
6213
- const i = idx < 0 ? value.length + idx : idx;
6214
- return value[i];
6215
- }
6216
- var indexTransform = {
6217
- id: "index",
6218
- title: "Array index",
6219
- category: "Structural",
6220
- paramsSchema: {
6221
- type: "object",
6222
- properties: {
6223
- index: { type: "integer", description: "Array index (negative counts from end)" }
6224
- },
6225
- required: ["index"]
6226
- },
6227
- inferOutputSchema(inputSchema) {
6228
- const s = inputSchema;
6229
- if (s?.type === "array" && s.items)
6230
- return s.items;
6231
- return {};
6232
- },
6233
- apply(value, params) {
6234
- return doIndex(value, params.index);
6235
- },
6236
- suggestFromSchemas(source, target) {
6237
- const s = source;
6238
- if (s?.type !== "array" || !s.items)
6239
- return;
6240
- const compat = areSemanticallyCompatible3(s.items, target);
6241
- if (compat === "static")
6242
- return { score: 0.9, params: { index: 0 } };
6243
- if (compat === "runtime")
6244
- return { score: 0.5, params: { index: 0 } };
6245
- return;
6246
- }
6247
- };
6248
-
6249
6163
  // src/task-graph/transforms/coalesce.ts
6250
6164
  function stripNullable(schema) {
6251
6165
  const s = schema;
@@ -6272,52 +6186,6 @@ var coalesceTransform = {
6272
6186
  apply: (v, { defaultValue }) => v == null ? defaultValue : v
6273
6187
  };
6274
6188
 
6275
- // src/task-graph/transforms/string-casts.ts
6276
- var stringSchema = { type: "string" };
6277
- var uppercaseTransform = {
6278
- id: "uppercase",
6279
- title: "Uppercase",
6280
- category: "String",
6281
- paramsSchema: undefined,
6282
- inferOutputSchema: () => stringSchema,
6283
- apply: (v) => String(v ?? "").toUpperCase()
6284
- };
6285
- var lowercaseTransform = {
6286
- id: "lowercase",
6287
- title: "Lowercase",
6288
- category: "String",
6289
- paramsSchema: undefined,
6290
- inferOutputSchema: () => stringSchema,
6291
- apply: (v) => String(v ?? "").toLowerCase()
6292
- };
6293
- var truncateTransform = {
6294
- id: "truncate",
6295
- title: "Truncate",
6296
- category: "String",
6297
- paramsSchema: {
6298
- type: "object",
6299
- properties: { max: { type: "integer", minimum: 0 } },
6300
- required: ["max"]
6301
- },
6302
- inferOutputSchema: () => stringSchema,
6303
- apply: (v, { max }) => String(v ?? "").slice(0, max)
6304
- };
6305
- var substringTransform = {
6306
- id: "substring",
6307
- title: "Substring",
6308
- category: "String",
6309
- paramsSchema: {
6310
- type: "object",
6311
- properties: {
6312
- start: { type: "integer" },
6313
- end: { type: "integer" }
6314
- },
6315
- required: ["start"]
6316
- },
6317
- inferOutputSchema: () => stringSchema,
6318
- apply: (v, { start, end }) => String(v ?? "").slice(start, end)
6319
- };
6320
-
6321
6189
  // src/task-graph/transforms/date-conversions.ts
6322
6190
  var isoSchema = { type: "string", format: "date-time" };
6323
6191
  var numberSchema = { type: "number" };
@@ -6367,15 +6235,116 @@ var isoDateToUnixTransform = {
6367
6235
  }
6368
6236
  };
6369
6237
 
6238
+ // src/task-graph/transforms/index-access.ts
6239
+ import { areSemanticallyCompatible as areSemanticallyCompatible2 } from "@workglow/util/schema";
6240
+ function doIndex(value, idx) {
6241
+ if (!Array.isArray(value))
6242
+ return;
6243
+ const i = idx < 0 ? value.length + idx : idx;
6244
+ return value[i];
6245
+ }
6246
+ var indexTransform = {
6247
+ id: "index",
6248
+ title: "Array index",
6249
+ category: "Structural",
6250
+ paramsSchema: {
6251
+ type: "object",
6252
+ properties: {
6253
+ index: { type: "integer", description: "Array index (negative counts from end)" }
6254
+ },
6255
+ required: ["index"]
6256
+ },
6257
+ inferOutputSchema(inputSchema) {
6258
+ const s = inputSchema;
6259
+ if (s?.type === "array" && s.items)
6260
+ return s.items;
6261
+ return {};
6262
+ },
6263
+ apply(value, params) {
6264
+ return doIndex(value, params.index);
6265
+ },
6266
+ suggestFromSchemas(source, target) {
6267
+ const s = source;
6268
+ if (s?.type !== "array" || !s.items)
6269
+ return;
6270
+ const compat = areSemanticallyCompatible2(s.items, target);
6271
+ if (compat === "static")
6272
+ return { score: 0.9, params: { index: 0 } };
6273
+ if (compat === "runtime")
6274
+ return { score: 0.5, params: { index: 0 } };
6275
+ return;
6276
+ }
6277
+ };
6278
+
6279
+ // src/task-graph/transforms/pick.ts
6280
+ import { areSemanticallyCompatible as areSemanticallyCompatible3 } from "@workglow/util/schema";
6281
+ function walk(value, path) {
6282
+ if (value == null)
6283
+ return;
6284
+ const parts = path.split(".");
6285
+ let cur = value;
6286
+ for (const p of parts) {
6287
+ if (cur == null)
6288
+ return;
6289
+ cur = cur[p];
6290
+ }
6291
+ return cur;
6292
+ }
6293
+ function walkSchema(schema, path) {
6294
+ const parts = path.split(".");
6295
+ let cur = schema;
6296
+ for (const p of parts) {
6297
+ if (!cur || typeof cur !== "object")
6298
+ return {};
6299
+ if (cur.type !== "object" || !cur.properties || !cur.properties[p]) {
6300
+ return {};
6301
+ }
6302
+ cur = cur.properties[p];
6303
+ }
6304
+ return cur;
6305
+ }
6306
+ var pickTransform = {
6307
+ id: "pick",
6308
+ title: "Pick field",
6309
+ category: "Structural",
6310
+ paramsSchema: {
6311
+ type: "object",
6312
+ properties: {
6313
+ path: { type: "string", description: "Dotted property path" }
6314
+ },
6315
+ required: ["path"]
6316
+ },
6317
+ inferOutputSchema(inputSchema, params) {
6318
+ return walkSchema(inputSchema, params.path);
6319
+ },
6320
+ apply(value, params) {
6321
+ return walk(value, params.path);
6322
+ },
6323
+ suggestFromSchemas(source, target) {
6324
+ if (source.type !== "object" || !source.properties) {
6325
+ return;
6326
+ }
6327
+ const props = source.properties;
6328
+ for (const [name, propSchema] of Object.entries(props)) {
6329
+ const compat = areSemanticallyCompatible3(propSchema, target);
6330
+ if (compat === "static")
6331
+ return { score: 1, params: { path: name } };
6332
+ if (compat === "runtime")
6333
+ return { score: 0.6, params: { path: name } };
6334
+ }
6335
+ return;
6336
+ }
6337
+ };
6338
+
6370
6339
  // src/task-graph/transforms/scalar-conversions.ts
6371
- var stringSchema2 = { type: "string" };
6340
+ var stringSchema = { type: "string" };
6372
6341
  var booleanSchema = { type: "boolean" };
6373
6342
  var numberToStringTransform = {
6374
6343
  id: "numberToString",
6375
6344
  title: "Number → String",
6376
6345
  category: "Conversion",
6377
6346
  paramsSchema: undefined,
6378
- inferOutputSchema: () => stringSchema2,
6347
+ inferOutputSchema: () => stringSchema,
6379
6348
  apply: (v) => String(v),
6380
6349
  suggestFromSchemas(source, target) {
6381
6350
  const s = source;
@@ -6407,7 +6376,7 @@ var stringifyTransform = {
6407
6376
  title: "JSON.stringify",
6408
6377
  category: "Conversion",
6409
6378
  paramsSchema: undefined,
6410
- inferOutputSchema: () => stringSchema2,
6379
+ inferOutputSchema: () => stringSchema,
6411
6380
  apply: (v) => JSON.stringify(v),
6412
6381
  suggestFromSchemas(source, target) {
6413
6382
  const t = target;
@@ -6423,6 +6392,52 @@ var parseJsonTransform = {
6423
6392
  apply: (v) => JSON.parse(String(v))
6424
6393
  };
6425
6394
 
6395
+ // src/task-graph/transforms/string-casts.ts
6396
+ var stringSchema2 = { type: "string" };
6397
+ var uppercaseTransform = {
6398
+ id: "uppercase",
6399
+ title: "Uppercase",
6400
+ category: "String",
6401
+ paramsSchema: undefined,
6402
+ inferOutputSchema: () => stringSchema2,
6403
+ apply: (v) => String(v ?? "").toUpperCase()
6404
+ };
6405
+ var lowercaseTransform = {
6406
+ id: "lowercase",
6407
+ title: "Lowercase",
6408
+ category: "String",
6409
+ paramsSchema: undefined,
6410
+ inferOutputSchema: () => stringSchema2,
6411
+ apply: (v) => String(v ?? "").toLowerCase()
6412
+ };
6413
+ var truncateTransform = {
6414
+ id: "truncate",
6415
+ title: "Truncate",
6416
+ category: "String",
6417
+ paramsSchema: {
6418
+ type: "object",
6419
+ properties: { max: { type: "integer", minimum: 0 } },
6420
+ required: ["max"]
6421
+ },
6422
+ inferOutputSchema: () => stringSchema2,
6423
+ apply: (v, { max }) => String(v ?? "").slice(0, max)
6424
+ };
6425
+ var substringTransform = {
6426
+ id: "substring",
6427
+ title: "Substring",
6428
+ category: "String",
6429
+ paramsSchema: {
6430
+ type: "object",
6431
+ properties: {
6432
+ start: { type: "integer" },
6433
+ end: { type: "integer" }
6434
+ },
6435
+ required: ["start"]
6436
+ },
6437
+ inferOutputSchema: () => stringSchema2,
6438
+ apply: (v, { start, end }) => String(v ?? "").slice(start, end)
6439
+ };
6440
+
6426
6441
  // src/task-graph/transforms/index.ts
6427
6442
  function registerBuiltInTransforms() {
6428
6443
  const all = [
@@ -8165,10 +8180,10 @@ function wrapSchemaInArray(schema) {
8165
8180
  }
8166
8181
  // src/task/JobQueueFactory.ts
8167
8182
  import {
8183
+ InMemoryQueueStorage,
8168
8184
  JobQueueClient,
8169
8185
  JobQueueServer
8170
8186
  } from "@workglow/job-queue";
8171
- import { InMemoryQueueStorage } from "@workglow/job-queue";
8172
8187
  import { createServiceToken as createServiceToken6, globalServiceRegistry as globalServiceRegistry4 } from "@workglow/util";
8173
8188
  var JOB_QUEUE_FACTORY = createServiceToken6("taskgraph.jobQueueFactory");
8174
8189
  var defaultJobQueueFactory = async ({
@@ -8720,8 +8735,8 @@ class TaskGraphTabularRepository extends TaskGraphRepository {
8720
8735
  }
8721
8736
  }
8722
8737
  // src/storage/TaskOutputTabularRepository.ts
8723
- import { compress, decompress } from "@workglow/util/compress";
8724
8738
  import { makeFingerprint } from "@workglow/util";
8739
+ import { compress, decompress } from "@workglow/util/compress";
8725
8740
  var TaskOutputSchema = {
8726
8741
  type: "object",
8727
8742
  properties: {
@@ -8803,7 +8818,7 @@ class TaskOutputTabularRepository extends TaskOutputRepository {
8803
8818
  }
8804
8819
  }
8805
8820
  // src/storage/PortCodecRegistry.ts
8806
- import { registerPortCodec, getPortCodec as getPortCodec2, _resetPortCodecsForTests } from "@workglow/util";
8821
+ import { _resetPortCodecsForTests, getPortCodec as getPortCodec2, registerPortCodec } from "@workglow/util";
8807
8822
  // src/debug/console/ConsoleFormatters.ts
8808
8823
  import { DirectedAcyclicGraph as DirectedAcyclicGraph2 } from "@workglow/util/graph";
8809
8824
  function formatDuration(ms) {
@@ -9642,4 +9657,4 @@ export {
9642
9657
  BROWSER_GRANTS
9643
9658
  };
9644
9659
 
9645
- //# debugId=FD6A20DDE457DDC964756E2164756E21
9660
+ //# debugId=CD8A2EECF385623964756E2164756E21