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