@pgflow/dsl 0.0.5 → 0.0.7

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 (71) hide show
  1. package/{CHANGELOG.md → dist/CHANGELOG.md} +2 -0
  2. package/package.json +10 -8
  3. package/__tests__/runtime/flow.test.ts +0 -121
  4. package/__tests__/runtime/steps.test.ts +0 -183
  5. package/__tests__/runtime/utils.test.ts +0 -149
  6. package/__tests__/types/dsl-types.test-d.ts +0 -103
  7. package/__tests__/types/example-flow.test-d.ts +0 -76
  8. package/__tests__/types/extract-flow-input.test-d.ts +0 -71
  9. package/__tests__/types/extract-flow-steps.test-d.ts +0 -74
  10. package/__tests__/types/getStepDefinition.test-d.ts +0 -65
  11. package/__tests__/types/step-input.test-d.ts +0 -212
  12. package/__tests__/types/step-output.test-d.ts +0 -55
  13. package/brainstorming/condition/condition-alternatives.md +0 -219
  14. package/brainstorming/condition/condition-with-flexibility.md +0 -303
  15. package/brainstorming/condition/condition.md +0 -139
  16. package/brainstorming/condition/implementation-plan.md +0 -372
  17. package/brainstorming/dsl/cli-json-schema.md +0 -225
  18. package/brainstorming/dsl/cli.md +0 -179
  19. package/brainstorming/dsl/create-compilator.md +0 -25
  20. package/brainstorming/dsl/dsl-analysis-2.md +0 -166
  21. package/brainstorming/dsl/dsl-analysis.md +0 -512
  22. package/brainstorming/dsl/dsl-critique.md +0 -41
  23. package/brainstorming/fanouts/fanout-subflows-flattened-vs-subruns.md +0 -213
  24. package/brainstorming/fanouts/fanouts-task-index.md +0 -150
  25. package/brainstorming/fanouts/fanouts-with-conditions-and-subflows.md +0 -239
  26. package/brainstorming/subflows/branching.ts.md +0 -38
  27. package/brainstorming/subflows/subflows-callbacks.ts.md +0 -124
  28. package/brainstorming/subflows/subflows-classes.ts.md +0 -83
  29. package/brainstorming/subflows/subflows-flattening-versioned.md +0 -119
  30. package/brainstorming/subflows/subflows-flattening.md +0 -138
  31. package/brainstorming/subflows/subflows.md +0 -118
  32. package/brainstorming/subflows/subruns-table.md +0 -282
  33. package/brainstorming/subflows/subruns.md +0 -315
  34. package/brainstorming/versioning/breaking-and-non-breaking-flow-changes.md +0 -259
  35. package/docs/refactor-edge-worker.md +0 -146
  36. package/docs/versioning.md +0 -19
  37. package/eslint.config.cjs +0 -22
  38. package/out-tsc/vitest/__tests__/runtime/flow.test.d.ts +0 -2
  39. package/out-tsc/vitest/__tests__/runtime/flow.test.d.ts.map +0 -1
  40. package/out-tsc/vitest/__tests__/runtime/steps.test.d.ts +0 -2
  41. package/out-tsc/vitest/__tests__/runtime/steps.test.d.ts.map +0 -1
  42. package/out-tsc/vitest/__tests__/runtime/utils.test.d.ts +0 -2
  43. package/out-tsc/vitest/__tests__/runtime/utils.test.d.ts.map +0 -1
  44. package/out-tsc/vitest/__tests__/types/dsl-types.test-d.d.ts +0 -2
  45. package/out-tsc/vitest/__tests__/types/dsl-types.test-d.d.ts.map +0 -1
  46. package/out-tsc/vitest/__tests__/types/example-flow.test-d.d.ts +0 -2
  47. package/out-tsc/vitest/__tests__/types/example-flow.test-d.d.ts.map +0 -1
  48. package/out-tsc/vitest/__tests__/types/extract-flow-input.test-d.d.ts +0 -2
  49. package/out-tsc/vitest/__tests__/types/extract-flow-input.test-d.d.ts.map +0 -1
  50. package/out-tsc/vitest/__tests__/types/extract-flow-steps.test-d.d.ts +0 -2
  51. package/out-tsc/vitest/__tests__/types/extract-flow-steps.test-d.d.ts.map +0 -1
  52. package/out-tsc/vitest/__tests__/types/getStepDefinition.test-d.d.ts +0 -2
  53. package/out-tsc/vitest/__tests__/types/getStepDefinition.test-d.d.ts.map +0 -1
  54. package/out-tsc/vitest/__tests__/types/step-input.test-d.d.ts +0 -2
  55. package/out-tsc/vitest/__tests__/types/step-input.test-d.d.ts.map +0 -1
  56. package/out-tsc/vitest/__tests__/types/step-output.test-d.d.ts +0 -2
  57. package/out-tsc/vitest/__tests__/types/step-output.test-d.d.ts.map +0 -1
  58. package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +0 -1
  59. package/out-tsc/vitest/vite.config.d.ts +0 -3
  60. package/out-tsc/vitest/vite.config.d.ts.map +0 -1
  61. package/project.json +0 -28
  62. package/prompts/edge-worker-refactor.md +0 -105
  63. package/src/dsl.ts +0 -318
  64. package/src/example-flow.ts +0 -67
  65. package/src/index.ts +0 -1
  66. package/src/utils.ts +0 -84
  67. package/tsconfig.json +0 -13
  68. package/tsconfig.lib.json +0 -26
  69. package/tsconfig.spec.json +0 -35
  70. package/typecheck.log +0 -120
  71. package/vite.config.ts +0 -57
@@ -1 +0,0 @@
1
- {"fileNames":["../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/types.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/helpers.d.ts","../../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+runner@1.6.0/node_modules/@vitest/runner/dist/tasks-K5XERDtv.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/types-9l4niLY8.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/diff.d.ts","../../../../node_modules/.pnpm/@vitest+runner@1.6.0/node_modules/@vitest/runner/dist/types.d.ts","../../../../node_modules/.pnpm/@vitest+utils@1.6.0/node_modules/@vitest/utils/dist/error.d.ts","../../../../node_modules/.pnpm/@vitest+runner@1.6.0/node_modules/@vitest/runner/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+runner@1.6.0/node_modules/@vitest/runner/dist/utils.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/assert.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/globals.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/buffer.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/child_process.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/cluster.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/console.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/constants.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/crypto.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/dgram.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/dns.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/domain.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/dom-events.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/events.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/fs.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/http.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/http2.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/https.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/inspector.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/module.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/net.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/os.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/path.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/process.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/punycode.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/querystring.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/readline.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/repl.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/stream.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/stream/web.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/test.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/timers.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/tls.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/trace_events.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/tty.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/url.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/util.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/v8.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/vm.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/wasi.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/zlib.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/globals.global.d.ts","../../../../node_modules/.pnpm/@types+node@18.16.20/node_modules/@types/node/index.d.ts","../../../../node_modules/.pnpm/@types+estree@1.0.6/node_modules/@types/estree/index.d.ts","../../../../node_modules/.pnpm/rollup@4.30.0/node_modules/rollup/dist/rollup.d.ts","../../../../node_modules/.pnpm/rollup@4.30.0/node_modules/rollup/dist/parseAst.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/hmrPayload.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/customEvent.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/hot.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts","../../../../node_modules/.pnpm/esbuild@0.21.5/node_modules/esbuild/lib/main.d.ts","../../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/previous-map.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/input.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/css-syntax-error.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/declaration.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/root.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/warning.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/lazy-result.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/no-work-result.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/processor.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/result.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/document.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/rule.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/node.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/comment.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/container.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/at-rule.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/list.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/postcss.d.ts","../../../../node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/postcss.d.mts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/dist/node/runtime.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/importGlob.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/metadata.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/dist/node/index.d.ts","../../../../node_modules/.pnpm/vite-node@1.6.0_@types+node@18.16.20/node_modules/vite-node/dist/trace-mapping.d-xyIfZtPm.d.ts","../../../../node_modules/.pnpm/vite-node@1.6.0_@types+node@18.16.20/node_modules/vite-node/dist/index-O2IrwHKf.d.ts","../../../../node_modules/.pnpm/vite-node@1.6.0_@types+node@18.16.20/node_modules/vite-node/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+snapshot@1.6.0/node_modules/@vitest/snapshot/dist/environment-cMiGIVXz.d.ts","../../../../node_modules/.pnpm/@vitest+snapshot@1.6.0/node_modules/@vitest/snapshot/dist/index-S94ASl6q.d.ts","../../../../node_modules/.pnpm/@vitest+snapshot@1.6.0/node_modules/@vitest/snapshot/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+expect@1.6.0/node_modules/@vitest/expect/dist/chai.d.cts","../../../../node_modules/.pnpm/@vitest+expect@1.6.0/node_modules/@vitest/expect/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+expect@1.6.0/node_modules/@vitest/expect/index.d.ts","../../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../../node_modules/.pnpm/vite-node@1.6.0_@types+node@18.16.20/node_modules/vite-node/dist/client.d.ts","../../../../node_modules/.pnpm/@vitest+snapshot@1.6.0/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../../node_modules/.pnpm/vite-node@1.6.0_@types+node@18.16.20/node_modules/vite-node/dist/server.d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/dist/reporters-yx5ZTtEV.d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/dist/suite-IbNSsUWN.d.ts","../../../../node_modules/.pnpm/@vitest+spy@1.6.0/node_modules/@vitest/spy/dist/index.d.ts","../../../../node_modules/.pnpm/@vitest+snapshot@1.6.0/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/dist/index.d.ts","../../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/typescript.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/details/Standardization.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/configuration/TSDocTagDefinition.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/configuration/TSDocValidationConfiguration.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/TSDocMessageId.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/configuration/TSDocConfiguration.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocNode.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/configuration/DocNodeManager.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/details/StandardTags.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/TextRange.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/Token.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocNodeContainer.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocSection.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocBlock.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocCodeSpan.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocMemberIdentifier.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocMemberSymbol.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocMemberSelector.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocMemberReference.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocDeclarationReference.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocInlineTagBase.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocInheritDocTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocParamBlock.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocParamCollection.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocComment.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocErrorText.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocEscapedText.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocExcerpt.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocFencedCode.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocHtmlAttribute.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocHtmlEndTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocHtmlStartTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocInlineTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocLinkTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocParagraph.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocPlainText.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocSoftBreak.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/index.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/ParserMessage.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/ParserMessageLog.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/ParserContext.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/TokenSequence.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/nodes/DocBlockTag.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/details/ModifierTagSet.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/details/StandardModifierTagSet.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/emitters/PlainTextEmitter.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/emitters/StringBuilder.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/emitters/TSDocEmitter.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/parser/TSDocParser.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/transforms/DocNodeTransforms.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc@0.14.2/node_modules/@microsoft/tsdoc/lib/index.d.ts","../../../../node_modules/.pnpm/@rushstack+node-core-library@4.0.2_@types+node@18.16.20/node_modules/@rushstack/node-core-library/dist/node-core-library.d.ts","../../../../node_modules/.pnpm/@microsoft+api-extractor-model@7.28.13_@types+node@18.16.20/node_modules/@microsoft/api-extractor-model/dist/rollup.d.ts","../../../../node_modules/.pnpm/@rushstack+rig-package@0.5.2/node_modules/@rushstack/rig-package/dist/rig-package.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc-config@0.16.2/node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.d.ts","../../../../node_modules/.pnpm/@microsoft+tsdoc-config@0.16.2/node_modules/@microsoft/tsdoc-config/lib/index.d.ts","../../../../node_modules/.pnpm/@microsoft+api-extractor@7.43.0_@types+node@18.16.20/node_modules/@microsoft/api-extractor/dist/rollup.d.ts","../../../../node_modules/.pnpm/vite-plugin-dts@3.8.3_@types+node@18.16.20_typescript@5.6.3_vite@5.4.11/node_modules/vite-plugin-dts/dist/index.d.ts","../../../../node_modules/.pnpm/vite-tsconfig-paths@5.1.4_typescript@5.6.3_vite@5.4.11/node_modules/vite-tsconfig-paths/dist/index.d.ts","../../vite.config.ts","../../dist/src/dsl.d.ts","../../dist/src/utils.d.ts","../../__tests__/runtime/flow.test.ts","../../__tests__/runtime/steps.test.ts","../../__tests__/runtime/utils.test.ts","../../dist/src/index.d.ts","../../__tests__/types/dsl-types.test-d.ts","../../dist/src/example-flow.d.ts","../../__tests__/types/example-flow.test-d.ts","../../__tests__/types/extract-flow-input.test-d.ts","../../__tests__/types/extract-flow-steps.test-d.ts","../../__tests__/types/getStepDefinition.test-d.ts","../../__tests__/types/step-input.test-d.ts","../../__tests__/types/step-output.test-d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/globals.d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/importMeta.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/types/importMeta.d.ts","../../../../node_modules/.pnpm/vite@5.4.11_@types+node@18.16.20/node_modules/vite/client.d.ts","../../../../node_modules/.pnpm/vitest@1.6.0_@types+node@18.16.20_@vitest+ui@1.6.0_jsdom@22.1.0/node_modules/vitest/index.d.cts"],"fileIdsList":[[61,118],[118,179,229,230],[118,229,230,231,232,234],[118,229],[118,233],[118],[118,185],[118,181,182,183,186],[118,180],[118,181,221],[118,222],[118,181],[118,216],[118,216,225],[118,180,181,182,183,184,186,187,188,189,216,217,218,219,220,222,223,224,225,226,227,228],[118,185,191,221],[118,185,220],[118,185,191,192,200,202,223],[118,185,197,220],[118,183,185,220],[118,185,208,220],[118,185,198,199],[118,185,199,220],[118,185,198,199,220],[118,185,194,195,196,220],[118,185,198,220],[118,184],[118,185,190],[118,185,192,220],[118,185,201],[118,185,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,221],[118,184,188,189,216,218],[118,183,185,188,220],[118,183,185,188,204,217,220],[118,184,188,219],[118,188],[118,188,189,219],[77,89,118,125],[72,118],[75,118],[76,81,109,118],[77,88,89,96,106,117,118],[77,78,88,96,118],[79,118],[80,81,89,97,118],[81,106,114,118],[82,84,88,96,118],[83,118],[84,85,118],[88,118],[86,88,118],[88,89,90,106,117,118],[88,89,90,103,106,109,118],[118,122],[84,88,91,96,106,117,118],[88,89,91,92,96,106,114,117,118],[91,93,106,114,117,118],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124],[88,94,118],[95,117,118],[84,88,96,106,118],[97,118],[98,118],[75,99,118],[100,116,118,122],[101,118],[102,118],[88,103,104,118],[103,105,118,120],[76,88,106,107,108,109,118],[76,106,108,118],[106,107,118],[109,118],[110,118],[88,112,113,118],[112,113,118],[81,96,106,114,118],[115,118],[96,116,118],[76,91,102,117,118],[81,118],[106,118,119],[118,120],[118,121],[76,81,88,90,99,106,117,118,120,122],[106,118,123],[64,67,118],[118,165],[64,65,67,68,69,118],[64,118],[64,65,67,118],[64,65,118],[118,161],[63,118,161],[63,118,161,162],[63,66,118],[59,118],[59,60,63,118],[63,118],[118,149],[118,147,149],[118,138,146,147,148,150],[118,136],[118,139,144,149,152],[118,135,152],[118,139,140,143,144,145,152],[118,139,140,141,143,144,152],[118,136,137,138,139,140,144,145,146,148,149,150,152],[118,152],[118,134,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151],[118,134,152],[118,139,141,142,144,145,152],[118,143,152],[118,144,145,149,152],[118,137,147],[62,118],[118,127,156],[118,126,127],[118,176],[118,158,159],[118,158],[118,157,158,159,171],[118,157,171,178,235],[118,157,171],[118,255],[88,89,91,92,93,96,106,114,117,118,123,125,127,128,129,130,131,132,133,153,154,155,156],[118,129,130,131,132],[118,129,130,131],[118,129],[118,130],[118,131,155],[118,127],[64,67,70,71,89,106,118,122,157,160,163,164,166,167,168,169,170,171,172,173,174],[64,70,71,89,106,118,122,157,160,163,164,166,167,168,169,170,171],[70,71,118,167,171],[118,175],[118,175,177,239,240],[118,175,177,240],[118,175,177,244],[118,175,177,246],[118,239],[98,118,157,171,175,177,236,237]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3deed5e2a5f1e7590d44e65a5b61900158a3c38bac9048462d38b1bc8098bb2e","impliedFormat":99},{"version":"d435a43f89ed8794744c59d72ce71e43c1953338303f6be9ef99086faa8591d7","impliedFormat":99},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"a4f64e674903a21e1594a24c3fc8583f3a587336d17d41ade46aa177a8ab889b","impliedFormat":99},{"version":"b6f69984ffcd00a7cbcef9c931b815e8872c792ed85d9213cb2e2c14c50ca63a","impliedFormat":99},{"version":"2bbc5abe5030aa07a97aabd6d3932ed2e8b7a241cf3923f9f9bf91a0addbe41f","impliedFormat":99},{"version":"1e5e5592594e16bcf9544c065656293374120eb8e78780fb6c582cc710f6db11","impliedFormat":99},{"version":"4abf1e884eecb0bf742510d69d064e33d53ac507991d6c573958356f920c3de4","impliedFormat":99},{"version":"44f1d2dd522c849ca98c4f95b8b2bc84b64408d654f75eb17ec78b8ceb84da11","impliedFormat":99},{"version":"89edc5e1739692904fdf69edcff9e1023d2213e90372ec425b2f17e3aecbaa4a","impliedFormat":99},{"version":"e7d5bcffc98eded65d620bc0b6707c307b79c21d97a5fb8601e8bdf2296026b6","impliedFormat":99},{"version":"ba8691cf6bea9d53e6bf6cbc22af964a9633a21793981a1be3dce65e7a714d8b","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3","impliedFormat":1},{"version":"7c387a02bf156d8d45667134d32518ac3ca1b99ca50ca9deff2c1a03eb6d1a81","affectsGlobalScope":true,"impliedFormat":1},{"version":"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","impliedFormat":1},{"version":"f993522fd7d01ae1ead930091fe35130b8415720d6c2123dc2a7e8eb11bb3cba","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"b787b5b54349a24f07d089b612a9fb8ff024dbbe991ff52ea2b188a6b1230644","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","impliedFormat":1},{"version":"4eaff3d8e10676fd7913d8c108890e71c688e1e7d52f6d1d55c39514f493dc47","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true,"impliedFormat":1},{"version":"7abd2623cdd8148233c0c6b9da0289e124f1718bc58dcb8da4262432e9ce0f0a","impliedFormat":1},{"version":"f4a3088770ba56a4c72e9907bc9798706ab1575097cd024503f57966df2d3d3a","impliedFormat":1},{"version":"7f138842074d0a40681775af008c8452093b68c383c94de31759e853c6d06b5c","impliedFormat":1},{"version":"9503113febdd737095465792cc074d541902c82c0aea3922f940de18784812ad","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true,"impliedFormat":1},{"version":"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","impliedFormat":1},{"version":"7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"5629c03c44d1e07698c31d04318c9950d78940461269c0f692a42091cedea142","impliedFormat":1},{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"c6b124041039647ff446e19ea0e90a7a83256593d64f23c66b4fda6e0c5b968e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9fc1469744055a3435f203123246b96c094e7ff8c4e1c3863829d9b705b7a34","affectsGlobalScope":true,"impliedFormat":1},{"version":"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","impliedFormat":1},{"version":"0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"068edc96705c11c7ff5adb82c57ee2212d2379bf52f088542abcdcecfcc7b500","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"4d979e3c12ffb6497d2b1dc5613130196d986fff764c4526360c0716a162e7e7","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"80781460eca408fe8d2937d9fdbbb780d6aac35f549621e6200c9bee1da5b8fe","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"b9261ac3e9944d3d72c5ee4cf888ad35d9743a5563405c6963c4e43ee3708ca4","impliedFormat":1},{"version":"c84fd54e8400def0d1ef1569cafd02e9f39a622df9fa69b57ccc82128856b916","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"2ed6489ef46eb61442d067c08e87e3db501c0bfb2837eee4041a27bf3e792bb0","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"d60fe6d59d4e19ecc65359490b8535e359ca4b760d2cdb56897ca75d09d41ba3","impliedFormat":1},{"version":"f45a2a8b1777ecb50ed65e1a04bb899d4b676529b7921bd5d69b08573a00c832","impliedFormat":1},{"version":"774b783046ba3d473948132d28a69f52a295b2f378f2939304118ba571b1355e","impliedFormat":1},{"version":"b5734e05c787a40e4f9efe71f16683c5f7dc3bdb0de7c04440c855bd000f8fa7","impliedFormat":1},{"version":"14ba97f0907144771331e1349fdccb5a13526eba0647e6b447e572376d811b6f","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"7165050eddaed878c2d2cd3cafcaf171072ac39e586a048c0603712b5555f536","impliedFormat":1},{"version":"26e629be9bbd94ea1d465af83ce5a3306890520695f07be6eb016f8d734d02be","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"9ae0ca65717af0d3b554a26fd333ad9c78ad3910ad4b22140ff02acb63076927","impliedFormat":99},{"version":"4a27c79c57a6692abb196711f82b8b07a27908c94652148d5469887836390116","impliedFormat":99},{"version":"f42400484f181c2c2d7557c0ed3b8baaace644a9e943511f3d35ac6be6eb5257","impliedFormat":99},{"version":"54b381d36b35df872159a8d3b52e8d852659ee805695a867a388c8ccbf57521b","impliedFormat":99},{"version":"c67b4c864ec9dcde25f7ad51b90ae9fe1f6af214dbd063d15db81194fe652223","impliedFormat":99},{"version":"7a4aa00aaf2160278aeae3cf0d2fc6820cf22b86374efa7a00780fbb965923ff","impliedFormat":99},{"version":"66e3ee0a655ff3698be0aef05f7b76ac34c349873e073cde46d43db795b79f04","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"28e065b6fb60a04a538b5fbf8c003d7dac3ae9a49eddc357c2a14f2ffe9b3185","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"0d87708dafcde5468a130dfe64fac05ecad8328c298a4f0f2bd86603e5fd002e","impliedFormat":99},{"version":"a3f2554ba6726d0da0ffdc15b675b8b3de4aea543deebbbead845680b740a7fd","impliedFormat":99},{"version":"93dda0982b139b27b85dd2924d23e07ee8b4ca36a10be7bdf361163e4ffcc033","impliedFormat":99},{"version":"31af4e44d2d576ba81551894367493d444a24b72206fa9d4938b773085588cce","affectsGlobalScope":true,"impliedFormat":99},{"version":"18b47d2b019adf661fa363a2fc7a63b5bff55406a689e7e312934f8d57c41065","impliedFormat":99},{"version":"dfa6bb848807bc5e01e84214d4ec13ee8ffe5e1142546dcbb32065783a5db468","impliedFormat":99},{"version":"2f1ffc29f9ba7b005c0c48e6389536a245837264c99041669e0b768cfab6711d","impliedFormat":99},{"version":"e0ec9121996450da52ed36b694b198b0e40fc8531bcddb7c0296a158ff65ab94","impliedFormat":99},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"c66ffde3b8ce430c9cbfe345ea0418892b37f3258a67dd8dd6dec81be1a49eb7","impliedFormat":1},{"version":"0b05b97c19b0ec329a40864a2d1379c9a7dc56f4cc46b1e8826b12d6433ba806","impliedFormat":1},{"version":"9f706fec5e44b5498bd6498c920137abacf6bb59442510e2f36135194adbda50","impliedFormat":1},{"version":"fc953ba36f518eb973156ae6b6ccc0f9172e6f69c2e24299b2cf4ba184b2f3cd","impliedFormat":1},{"version":"5bb43fb4160f799f08d8a169a6b74ba04cbdab6dbc9d5889b11df0fd0a1cc37d","impliedFormat":1},{"version":"0a9b34d41f06ca0707200e74ab563190a0f3bcf57e250b63fd0bd12b035bc68e","impliedFormat":1},{"version":"68016cb110b03b39d0d4b34219821a86ac3a15b09b929fbf0eeb56fb0eb903e4","impliedFormat":1},{"version":"57a459d91b59b930ec40b763792bc82f18059c5fc159166c56e2c207918215d7","impliedFormat":1},{"version":"42a1402970f30963d2e2932a6b6bc388f9a4499bebb8ca4ca4660e71c893773a","impliedFormat":1},{"version":"06401c590494ee3b3a52ee3a31d8f63a997a1df9eeb70ac9cdce58b0a166959b","impliedFormat":1},{"version":"f409abec25c2a03294cf9cd419e73ff67ce0d6706a77a55cf31d0c6aef4b7814","impliedFormat":1},{"version":"99ada98a8d7a0c8af4846d7517961f9a2790df84833171fc3004114cfa8042a7","impliedFormat":1},{"version":"937823c46e65fa2bc6ffb52d6eda21eacceaa16e4f5e09299a832be34fd07d9a","impliedFormat":1},{"version":"ed5a706d615f0af0237db707217c1c770096ab8dac4a6e843caa208a6de97300","impliedFormat":1},{"version":"330b8cb746c9c6826dd6f1c0da10861e6232d87e11d6f9f6bbb5cfcce6c67ed0","impliedFormat":1},{"version":"355d3819b44d73ffb62e7b2077228338c116fd818565c14c38b4077211d44fde","impliedFormat":1},{"version":"5c8ffd091921592d634988bf339bde4099232d06e3918940c821649ec7c6545a","impliedFormat":1},{"version":"df9694a6a1d98a2916a880c980e7949288f404ddaafe8fb2c45da7bb7655ce82","impliedFormat":1},{"version":"48af6ba90d4ce95a697dbe5efe059ab8f481c0569de7bdb07bf395d32707ae76","impliedFormat":1},{"version":"b6b1c36453ec2ff59f80b5c0a651cf595162968e30fec80731b37a3e29eb6067","impliedFormat":1},{"version":"27d0b2169955b0c811f99fce2b5c9946b168300b510fa1596f57fac26351e0a8","impliedFormat":1},{"version":"c5c420b6e7250dd4294d53f70e0cfc78465a7f8e78e42b60e26a22d1e3dd73a3","impliedFormat":1},{"version":"00a5f93e8c68aaf24404b5d8ec2662e1d0462d24261092bb911aad8ef63acceb","impliedFormat":1},{"version":"ffd94f42dc4adf5f0b7e4c91d42298347abbc81e9ba2a0613f1f2bd79c07d104","impliedFormat":1},{"version":"145f590633fb2ea71e54673cf667954ee2150b109c22b11850e3a6552276c7cd","impliedFormat":1},{"version":"66cc36077f3505e522876e7614e2fc36cb6d0f347a45a0a26ab79c956dc565f2","impliedFormat":1},{"version":"2c11983289b97b8e9a06ffc2f1329e44ae6d311a29e3d030969bce1979fbeb7b","impliedFormat":1},{"version":"05867a066b5104262dd84485bc8819ef740912f1f856a24e5514ed193d94906c","impliedFormat":1},{"version":"7289c2be2edbd9fb721f0889fed3a3f548226eb6d657de0b0113c6d40da32323","impliedFormat":1},{"version":"9a089635170c0f9be7495929165205c278ee6091d908042979b788ebd733c35a","impliedFormat":1},{"version":"9dac680df5ecaadf5f6aa7bbb5f381a6accd82392f53829a6b4ce76e884ce5fe","impliedFormat":1},{"version":"2b9ce93c03ba978d8effd769646e653fdce747d0d77723b9a67395e3f8d36dc7","impliedFormat":1},{"version":"b0b74616de751a2fd232cd366a42f3e551ba7fd25d558e21f91970e99cb0aa20","impliedFormat":1},{"version":"935e484e551b289a0eb8627da1f6d7d23b241bbe57a772aea820cf089395b9d8","impliedFormat":1},{"version":"0c0594bfe0048acffc770014fffee79dd597006788ea6d7be35574ffb0abf30a","impliedFormat":1},{"version":"268667eb87b3a9d258ebf44ee7ee912af7080a512caf332d7de01d3b130fbf52","impliedFormat":1},{"version":"2d9c54d5ddae876866f61f7769fabf2dfc88a72bcb6c8111877e5fd9a0d3c6ac","impliedFormat":1},{"version":"9e55c95c595728c3aa9aeb8d02684f3f14188173fb99b1e07b34f4b2ae336e7a","impliedFormat":1},{"version":"291cc4d81c80a5800fced2528f2354eb5e2d1696a55f4dbf753b82a816460ce5","impliedFormat":1},{"version":"32eea73b5d2c00b0abc6603a732d4c984c1fdf7ca6d689c1d9b3aa876ae8e2b5","impliedFormat":1},{"version":"8d77d61b81750f7f1edd1ff09ce5cdf68dcaf24812602a41ba96eae6236b6580","impliedFormat":1},{"version":"b3333dcd2af47b14f1519964d4cf19581072ad0fe91a7e3f70a226e5b6a59444","impliedFormat":1},{"version":"e37f838988e8e650a300abce99efd8e68f77788ebce49688c3c620fb235793c9","impliedFormat":1},{"version":"f32e11d3e7c04f88883fb7152a2de951a6fdf4a0774893766ad14e5ce5f8a450","impliedFormat":1},{"version":"37b2c78e85b2108500ebbe0732eab587a1679fad2aa218b6490748b0bc0ee5ec","impliedFormat":1},{"version":"0875eaa2a1908045c6d6f44b5d77a4ba9ac7b4a0edf49b8f7dea65149c89e0ce","impliedFormat":1},{"version":"7fa2766758660a92585c52d84bbe62ecebb8ac431abfbcf4e928634e74bd30be","impliedFormat":1},{"version":"87ee8911c717a13a0a72d6ff64f100c7b7f11625be74f61ee6b0bf3b52a7d7f2","impliedFormat":1},{"version":"b4f6aa3d2a1fdeaafccc41b9b496db44209be373cb84a0c31baf5fed052fc149","impliedFormat":1},{"version":"eac40c9899be21194a9aa098ccddaa38ae017dd16f5fa0d4e7bb44a5ac66a485","impliedFormat":1},{"version":"2007d224b83f0759d61d9b6a31fd597328858650ad59e8d6e1dda8180704f449","impliedFormat":1},{"version":"5b8d619a687847930ee691e74537fa93b1d2870209d862fafb43f82fadea0811","impliedFormat":1},{"version":"b8f34d5a61c4d40d5b8eee6ca01a01151110b765e3c146d523df75e124c273f3","impliedFormat":1},{"version":"a1935ab9d13167b4707c1250cefcfc6f23a40790312b13fb15bd0af3635119fa","impliedFormat":1},{"version":"56da97aa09737418e2bf14e49b94b54f1f8853fe6edb7a287fcd5830ac99959d","impliedFormat":1},{"version":"ed6a8d3ef96f7c499252aa3013c7b7cac898d336026daed9c3fa61afb9d59659","impliedFormat":1},{"version":"7d8b1339d4b274024d7f77bc7ca26a713726849565d9fc9a52dab7c45f64a5f8","impliedFormat":1},{"version":"6d8207163c35e5b131a193462eb2d8c7e09213391f1a8d09bba4dd3471c75fac","impliedFormat":1},{"version":"b265c4c4919ca843bf7dcd2bae93658f9842b467f047cddb0e1ab687e399ee8f","impliedFormat":99},{"version":"cadf7a128bda2a4937411ad8fc659c08142ae7b53a7559eada72e8c34a5ea273","impliedFormat":99},{"version":"de2bdd09b2119e56c26efbb666018367fe38f2806c0a6c62887dafed9db21fb6","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4","impliedFormat":99},{"version":"d7e9705b273c69ef8dc00b8b0a6d4b17dc1110e59d363ec92b5c3fbb5caa792e","impliedFormat":99},{"version":"1b21dacc2f99b437309e4076d6c378bafb5edc7907bbc0f694cc23889106dabf","impliedFormat":99},{"version":"e35b1dca7b74c18b88c3220826b9081e15df9b8387b8341e1dd1b3e0dff69acf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"f6cc47c6e59cfb7ed5fd604c317df88f403153757a8428d8d6575c9add4ad74d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"5c6e229296b8dea78bc9b7a591080380b7b6f0c5ee720e544c85489ddae6feaa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"ecd962eabb64690dd1be33a97fe0f619b79ef4aed0b07992a4c8f97b6f371e5b","impliedFormat":99},{"version":"94a9b8ba9d5fff056f5039014ec3c0c641b3df17c581d4daa619afbd09544461","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"4bd6c7b66b07415b7486fc604f12fce24a6012fa408dc06da7ad063642fc3389","impliedFormat":99},{"version":"d0681922358b77914818ea91b2c4ba72145aed1a27716d6273383fae14b71357","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"b8c72105b94d7f21c4679cd3851d97935eaa47a523cca8056d80a53d988a24c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"6abb591d94f26b2e7d0a90b6583b07162a7a47a1588f0cea0256778445d7bac9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"5bcd491d5da0fa2e67cf0612ff28758e35e0a959025bc84fcceb1bf7bf9e0d9e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"830dc2d3f741815356cd14751995ac9ba5fcf854236624d640bb3d73279cfc38","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"df0462f3e3d1382c8145ac20f17554668625ab2f0466e961e0e6a8aacd6c94e2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"381d27c35f5a5bf6c09dd238ec26fef30a03d12ea84589c621ebc208d7dc8378","affectsGlobalScope":true,"impliedFormat":99},{"version":"13d43666c55b9153815a92c4d3f807833df3491ebe4009cd46c3879b9a3f5d1a","affectsGlobalScope":true,"impliedFormat":99},{"version":"4025a454b1ca489b179ee8c684bdd70ff8c1967e382076ade53e7e4653e1daec","affectsGlobalScope":true,"impliedFormat":1},{"version":"984c09345059b76fc4221c2c54e53511f4c27a0794dfd6e9f81dc60f0b564e05","affectsGlobalScope":true,"impliedFormat":99},{"version":"db8e26b83e6708b250200435440c326d84dd9f07114c72b33775569486bebd0b","impliedFormat":1}],"root":[238,[241,243],245,[247,252]],"options":{"allowImportingTsExtensions":true,"allowJs":false,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":false,"esModuleInterop":true,"experimentalDecorators":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","removeComments":false,"skipDefaultLibCheck":false,"skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"verbatimModuleSyntax":false},"referencedMap":[[62,1],[231,2],[235,3],[233,4],[234,5],[179,6],[186,7],[184,8],[181,9],[182,6],[222,10],[223,11],[187,12],[180,6],[224,13],[225,6],[226,14],[229,15],[192,16],[221,17],[193,17],[203,18],[198,19],[204,20],[205,17],[206,17],[207,17],[208,17],[209,17],[210,21],[200,22],[211,23],[199,17],[212,24],[194,17],[197,25],[196,17],[195,26],[185,27],[190,7],[213,28],[201,29],[202,30],[214,17],[191,28],[215,17],[216,31],[219,32],[217,33],[218,34],[183,6],[227,35],[188,6],[189,36],[220,37],[228,13],[230,38],[232,6],[61,6],[126,6],[72,39],[73,39],[75,40],[76,41],[77,42],[78,43],[79,44],[80,45],[81,46],[82,47],[83,48],[84,49],[85,49],[87,50],[86,51],[88,50],[89,52],[90,53],[74,54],[124,6],[91,55],[92,56],[93,57],[125,58],[94,59],[95,60],[96,61],[97,62],[98,63],[99,64],[100,65],[101,66],[102,67],[103,68],[104,68],[105,69],[106,70],[108,71],[107,72],[109,73],[110,74],[111,6],[112,75],[113,76],[114,77],[115,78],[116,79],[117,80],[118,81],[119,82],[120,83],[121,84],[122,85],[123,86],[164,6],[165,87],[166,88],[70,89],[65,90],[68,91],[71,92],[161,6],[174,93],[162,94],[163,95],[169,95],[173,6],[67,96],[69,96],[60,97],[64,98],[66,99],[59,6],[133,6],[150,100],[148,101],[149,102],[137,103],[138,101],[145,104],[136,105],[141,106],[151,6],[142,107],[147,108],[153,109],[152,110],[135,111],[143,112],[144,113],[139,114],[146,100],[140,115],[63,116],[128,117],[127,118],[134,6],[167,6],[177,119],[176,6],[57,6],[58,6],[11,6],[10,6],[2,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[3,6],[20,6],[4,6],[21,6],[25,6],[22,6],[23,6],[24,6],[26,6],[27,6],[28,6],[5,6],[29,6],[30,6],[31,6],[32,6],[6,6],[36,6],[33,6],[34,6],[35,6],[37,6],[7,6],[38,6],[43,6],[44,6],[39,6],[40,6],[41,6],[42,6],[8,6],[48,6],[45,6],[46,6],[47,6],[49,6],[9,6],[50,6],[51,6],[52,6],[55,6],[53,6],[54,6],[1,6],[56,6],[178,6],[168,120],[159,121],[160,120],[170,122],[158,6],[236,123],[237,124],[256,125],[157,126],[154,127],[132,128],[130,129],[129,6],[131,130],[155,6],[255,131],[156,132],[175,133],[171,134],[172,135],[253,136],[254,136],[257,136],[241,137],[242,137],[243,138],[245,139],[247,140],[248,139],[249,139],[250,139],[251,139],[252,139],[239,6],[246,141],[244,141],[240,6],[238,142]],"latestChangedDtsFile":"./__tests__/types/step-output.test-d.d.ts","version":"5.6.3"}
@@ -1,3 +0,0 @@
1
- declare const _default: import("vite").UserConfig;
2
- export default _default;
3
- //# sourceMappingURL=vite.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../../vite.config.ts"],"names":[],"mappings":";AAMA,wBAkDG"}
package/project.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "name": "dsl",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "pkgs/dsl/src",
5
- "projectType": "library",
6
- "tags": [],
7
- "// targets": "to see all targets run: nx show project @pgflow/dsl --web",
8
- "targets": {
9
- "build": {
10
- "executor": "@nx/esbuild:esbuild",
11
- "outputs": ["{options.outputPath}"],
12
- "options": {
13
- "outputPath": "pkgs/dsl/dist",
14
- "main": "pkgs/dsl/src/index.ts",
15
- "tsConfig": "pkgs/dsl/tsconfig.lib.json",
16
- "assets": ["pkgs/dsl/*.md"]
17
- }
18
- },
19
- "test": {
20
- "executor": "@nx/vite:test",
21
- "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
22
- "options": {
23
- "passWithNoTests": true,
24
- "reportsDirectory": "{workspaceRoot}/coverage/{projectRoot}"
25
- }
26
- }
27
- }
28
- }
@@ -1,105 +0,0 @@
1
- ## Edge Worker Refactor
2
-
3
- The Edge Worker exposes more configuration options that we need in pgflow.
4
- This configuration object is not organized.
5
-
6
- ### Differences
7
-
8
- Worker currently manages the retry logic, but in SQL Core it was moved to SQL.
9
-
10
- Now worker is only supposed to:
11
-
12
- - call `poll_for_tasks` in the main loop, instead of `read_with_poll`
13
-
14
- ```sql
15
- create or replace function pgflow.poll_for_tasks(
16
- queue_name text,
17
- vt integer,
18
- qty integer,
19
- max_poll_seconds integer default 5,
20
- poll_interval_ms integer default 100
21
- )
22
- ```
23
-
24
- - gets returned array of `pgflow.worker_task` records
25
-
26
- ```sql
27
- create type pgflow.worker_task as (
28
- flow_slug TEXT,
29
- run_id UUID,
30
- step_slug TEXT,
31
- input JSONB
32
- );
33
- ```
34
-
35
- - should use `flow_slug` and `step_slug` to find appropriate step from connected Flow definition
36
- - should call the handler with `input` from `worker_task`
37
- - should call `complete_task` or `fail_task` when appropriate, no need to manage any retry logic at all
38
-
39
- ### Required changes
40
-
41
- We need a way to customize the bahviour of the worker via the factory pattern and updated configuration
42
- object:
43
-
44
- - `ReadWithPollPoller` must be swappable for a new implementation that will support `poll_for_tasks`
45
- so, which object is passed should be configurable
46
- - `ExecutionController` mostly stays the same, but it needs to spawn new class `TaskExecutor` that will
47
- be very similar to `MessageExecutor` but will know to how execute the `pgflow.worker_task`
48
- based on the `flow_slug` and `step_slug`
49
- - this new `TaskExecutor` class should have configurable `flow` option, which will accept objects of `Flow` class,
50
- so it can find appropriate handler function and call it with `input` from `worker_task`
51
- - this class should also use `complete_task` or `fail_task` instead of `archive` when appropriate
52
- - `handleExecutionError` should not be responsible for any retry logic, in fact, any retry configuration should
53
- not be available when setting up the worker for handling pgflow tasks
54
-
55
- ### Configuration validation
56
-
57
- We need to validate configuration options and i think this responsibility should
58
- be either in each final object that consumes particular configuration fragment
59
- or in the factory/builder itself.
60
-
61
- ### Flow DSL compatibility
62
-
63
- `Worker` or one of its components (existing or new, if you decide to create new one)
64
- needs to be able to use provided `Flow` class (it must be "configurable" - users must be able
65
- to just pass the `Flow` instance to the `Worker` constructor or to the pgflow's version
66
- of `EdgeWorker.start()` methot) and store it for the lifeitme of the worker.
67
-
68
- It should be able to find appropriate handler function based on the `flow_slug` and `step_slug`
69
- that are included in the `worker_task` object.
70
-
71
- #### Verification of flwo shape
72
-
73
- `Worker` or new class that you create will need to be able to get the `Flow` instance,
74
- check if it is already in the database, check if it contains same amount of steps and deps
75
- as the one in database (if present), and throw an error if it does not match.
76
-
77
- In development mode, it should instead drop the flow and all its dependent rows
78
- and recreate a new one using provided `Flow` instance.
79
-
80
- We should define which parts of `Flow` instance break the compatibility and need
81
- a new `flow_slug` (so, when to throw in production and recreate in development mode).
82
-
83
- The parts, that does not break the compatibility should be just ignored for now:
84
-
85
- - timeout
86
- - baseDelay
87
- - maxAttempts
88
-
89
- ### Proposed approach
90
-
91
- Approach this refactoring like this:
92
-
93
- - identify which options passed to `Worker` constructor are going always together
94
- - then idenfity, if those options are used in other places than to instantiate
95
- the classess that we need to make swappable
96
- (poller, message executor + way to customize them for ExecutionController and BatchProcessor)
97
- - clustor options into few logical groups, probably mapping the responsibilities that various
98
- classes have, like: polling, execution, error handling (etc, example groups, try to figure out
99
- the most important ones without splitting too much, must be usable without pgflow extensions)
100
- - we need to keep in mind, that we want to allow users to use Edge Worker with a single
101
- message handler function, like it is possible with current implementation
102
- - ideally, users not using pgflow would not be exposed to any pgflow-related options and methods at all
103
- - ideally, the `Worker` class will be open to extension but not modification, so it is possible
104
- to configure how it behaves completely by using different configuration object
105
-
package/src/dsl.ts DELETED
@@ -1,318 +0,0 @@
1
- import { validateRuntimeOptions, validateSlug } from './utils.ts';
2
-
3
- // ========================
4
- // CORE TYPE DEFINITIONS
5
- // ========================
6
-
7
- // JSON type enforcement so we can serialize the results to JSONB columns
8
- export type Json =
9
- | string
10
- | number
11
- | boolean
12
- | null
13
- | Json[]
14
- | { [key: string]: Json | undefined };
15
-
16
- // Used to flatten the types of a union of objects for readability
17
- export type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
18
-
19
- // ========================
20
- // FLOW COMPONENT TYPES
21
- // ========================
22
-
23
- // Input Types
24
- export type AnyInput = Json;
25
- export type AnyOutput = Json;
26
-
27
- // Step Types
28
- export type EmptySteps = Record<never, never>;
29
- export type AnySteps = Record<string, AnyOutput>; // Could use unknown if needed
30
-
31
- // Dependency Types
32
- export type EmptyDeps = Record<never, never[]>;
33
- export type DefaultDeps = Record<string, string[]>;
34
- export type AnyDeps = Record<string, string[]>;
35
-
36
- // ========================
37
- // FLOW TYPE VARIANTS
38
- // ========================
39
-
40
- /**
41
- * Represents a Flow that has not steps nor deps defined yet
42
- */
43
- export type EmptyFlow = Flow<AnyInput, EmptySteps, EmptyDeps>;
44
-
45
- /**
46
- * Represents any Flow with flexible input, steps, and dependencies.
47
- * This type is intentionally more permissive to allow for better type inference
48
- * in utility types like StepOutput.
49
- */
50
- export type AnyFlow = Flow<any, any, any>;
51
-
52
- // ========================
53
- // UTILITY TYPES (with proper constraints)
54
- // ========================
55
-
56
- /**
57
- * Extracts the input type from a Flow
58
- * @template TFlow - The Flow type to extract from
59
- */
60
- export type ExtractFlowInput<TFlow extends AnyFlow> = TFlow extends Flow<
61
- infer TI,
62
- infer _TS,
63
- infer _TD
64
- >
65
- ? TI
66
- : never;
67
-
68
- /**
69
- * Extracts the steps type from a Flow
70
- * @template TFlow - The Flow type to extract from
71
- */
72
- export type ExtractFlowSteps<TFlow extends AnyFlow> = TFlow extends Flow<
73
- infer _TI,
74
- infer TS,
75
- infer _TD
76
- >
77
- ? TS
78
- : never;
79
-
80
- /**
81
- * Extracts the dependencies type from a Flow
82
- * @template TFlow - The Flow type to extract from
83
- */
84
- export type ExtractFlowDeps<TFlow extends AnyFlow> = TFlow extends Flow<
85
- infer _TI,
86
- infer _TS,
87
- infer TD
88
- >
89
- ? TD
90
- : never;
91
-
92
- /**
93
- * Extracts the dependencies type from a Flow
94
- * @template TFlow - The Flow type to extract from
95
- */
96
- type StepDepsOf<
97
- TFlow extends AnyFlow,
98
- TStepSlug extends string
99
- > = TStepSlug extends keyof ExtractFlowDeps<TFlow>
100
- ? ExtractFlowDeps<TFlow>[TStepSlug][number] // The string slugs that TStepSlug depends on
101
- : never;
102
-
103
- // Utility type to extract the output type of a step handler from a Flow
104
- // Usage:
105
- // StepOutput<typeof flow, 'step1'>
106
- export type StepOutput<
107
- TFlow extends AnyFlow,
108
- TStepSlug extends string
109
- > = TStepSlug extends keyof ExtractFlowSteps<TFlow>
110
- ? ExtractFlowSteps<TFlow>[TStepSlug]
111
- : never;
112
-
113
- /**
114
- * This ensures that:
115
- * 1. The run input is always included
116
- * 2. Only declared dependencies are included
117
- * 3. No extra properties are allowed
118
- * Utility type to extract the input type for a specific step in a flow
119
- */
120
- export type StepInput<TFlow extends AnyFlow, TStepSlug extends string> = {
121
- run: ExtractFlowInput<TFlow>;
122
- } & {
123
- [K in Extract<
124
- keyof ExtractFlowSteps<TFlow>,
125
- StepDepsOf<TFlow, TStepSlug>
126
- >]: ExtractFlowSteps<TFlow>[K];
127
- };
128
-
129
- // Runtime options interface
130
- export interface RuntimeOptions {
131
- maxAttempts?: number;
132
- baseDelay?: number;
133
- timeout?: number;
134
- }
135
-
136
- // Define the StepDefinition interface with integrated options
137
- export interface StepDefinition<
138
- TInput extends AnyInput,
139
- TOutput extends AnyOutput
140
- > {
141
- slug: string;
142
- handler: (input: TInput) => TOutput | Promise<TOutput>;
143
- dependencies: string[];
144
- options: RuntimeOptions;
145
- }
146
-
147
- // Utility type to merge two object types and preserve required properties
148
- type MergeObjects<T1 extends object, T2 extends object> = T1 & T2;
149
-
150
- // Flow class definition
151
- export class Flow<
152
- TFlowInput extends AnyInput = AnyInput,
153
- Steps extends AnySteps = EmptySteps,
154
- StepDependencies extends AnyDeps = EmptyDeps
155
- > {
156
- /**
157
- * Store step definitions with their proper types
158
- *
159
- * This is typed as a generic record because TypeScript cannot track the exact relationship
160
- * between step slugs and their corresponding input/output types at the container level.
161
- * Type safety is enforced at the method level when adding or retrieving steps.
162
- */
163
- private stepDefinitions: Record<string, StepDefinition<AnyInput, AnyOutput>>;
164
- private stepOrder: string[];
165
- public readonly slug: string;
166
- public readonly options: RuntimeOptions;
167
-
168
- constructor(
169
- config: Simplify<{ slug: string } & RuntimeOptions>,
170
- stepDefinitions: Record<string, StepDefinition<AnyInput, AnyOutput>> = {},
171
- stepOrder: string[] = []
172
- ) {
173
- // Extract slug and options separately
174
- const { slug, ...options } = config;
175
-
176
- // Validate the slug
177
- validateSlug(slug);
178
-
179
- // Validate runtime options (optional for Flow level)
180
- validateRuntimeOptions(options, { optional: true });
181
-
182
- this.slug = slug;
183
- this.options = options;
184
- this.stepDefinitions = stepDefinitions;
185
- // Defensive copy of stepOrder
186
- this.stepOrder = [...stepOrder];
187
- }
188
-
189
- /**
190
- * Get a specific step definition by slug with proper typing
191
- * @throws Error if the step with the given slug doesn't exist
192
- */
193
- getStepDefinition<SlugType extends keyof Steps & keyof StepDependencies>(
194
- slug: SlugType
195
- ): StepDefinition<
196
- Simplify<
197
- {
198
- run: TFlowInput;
199
- } & {
200
- [K in StepDependencies[SlugType][number]]: K extends keyof Steps
201
- ? Steps[K]
202
- : never;
203
- }
204
- >,
205
- Steps[SlugType]
206
- > {
207
- // Check if the slug exists in stepDefinitions using a more explicit pattern
208
- if (!(slug in this.stepDefinitions)) {
209
- throw new Error(
210
- `Step "${String(slug)}" does not exist in flow "${this.slug}"`
211
- );
212
- }
213
-
214
- // Use a type assertion directive to tell TypeScript that this is safe
215
- // @ts-expect-error The type system cannot track that this.stepDefinitions[slug] has the correct type
216
- // but we know it's safe because we only add steps through the strongly-typed `step` method
217
- return this.stepDefinitions[slug as string];
218
- }
219
-
220
- // SlugType extends keyof Steps & keyof StepDependencies
221
- step<
222
- Slug extends string,
223
- Deps extends Extract<keyof Steps, string> = never,
224
- RetType extends AnyOutput = AnyOutput
225
- >(
226
- opts: Simplify<{ slug: Slug; dependsOn?: Deps[] } & RuntimeOptions>,
227
- handler: (
228
- input: Simplify<
229
- {
230
- run: TFlowInput;
231
- } & {
232
- [K in Deps]: K extends keyof Steps ? Steps[K] : never;
233
- }
234
- >
235
- ) => RetType | Promise<RetType>
236
- ): Flow<
237
- TFlowInput,
238
- Steps & { [K in Slug]: Awaited<RetType> },
239
- StepDependencies & { [K in Slug]: Deps[] }
240
- > {
241
- type NewSteps = MergeObjects<Steps, { [K in Slug]: Awaited<RetType> }>;
242
- type NewDependencies = MergeObjects<
243
- StepDependencies,
244
- { [K in Slug]: Deps[] }
245
- >;
246
-
247
- const slug = opts.slug as Slug;
248
-
249
- // Validate the step slug
250
- validateSlug(slug);
251
-
252
- if (this.stepDefinitions[slug]) {
253
- throw new Error(`Step "${slug}" already exists in flow "${this.slug}"`);
254
- }
255
-
256
- const dependencies = opts.dependsOn || [];
257
- // Validate dependencies - check if all referenced steps exist
258
- if (dependencies.length > 0) {
259
- for (const dep of dependencies) {
260
- if (!this.stepDefinitions[dep as string]) {
261
- throw new Error(`Step "${slug}" depends on undefined step "${dep}"`);
262
- }
263
- }
264
- }
265
-
266
- // Extract RuntimeOptions from opts
267
- const options: RuntimeOptions = {};
268
- if (opts.maxAttempts !== undefined) options.maxAttempts = opts.maxAttempts;
269
- if (opts.baseDelay !== undefined) options.baseDelay = opts.baseDelay;
270
- if (opts.timeout !== undefined) options.timeout = opts.timeout;
271
-
272
- // Validate runtime options (optional for step level)
273
- validateRuntimeOptions(options, { optional: true });
274
-
275
- // Preserve the exact type of the handler
276
- const newStepDefinition: StepDefinition<
277
- Simplify<
278
- {
279
- run: TFlowInput;
280
- } & {
281
- [K in Deps]: K extends keyof Steps ? Steps[K] : never;
282
- }
283
- >,
284
- RetType
285
- > = {
286
- slug,
287
- handler: handler as (
288
- input: Simplify<
289
- {
290
- run: TFlowInput;
291
- } & {
292
- [K in Deps]: K extends keyof Steps ? Steps[K] : never;
293
- }
294
- >
295
- ) => RetType | Promise<RetType>,
296
- dependencies: dependencies as string[],
297
- options,
298
- };
299
-
300
- const newStepDefinitions = {
301
- ...this.stepDefinitions,
302
- [slug]: newStepDefinition,
303
- };
304
-
305
- // Create a new stepOrder array with the new slug appended
306
- const newStepOrder = [...this.stepOrder, slug];
307
-
308
- // Create a new flow with the same slug and options but with updated type parameters
309
- // We need to use type assertions here because TypeScript cannot track the exact relationship
310
- // between the specific step definition types and the generic Flow type parameters
311
- // This is safe because we're constructing the newStepDefinitions in a type-safe way above
312
- return new Flow<TFlowInput, NewSteps, NewDependencies>(
313
- { slug: this.slug, ...this.options },
314
- newStepDefinitions as Record<string, StepDefinition<AnyInput, AnyOutput>>,
315
- newStepOrder
316
- ) as Flow<TFlowInput, NewSteps, NewDependencies>;
317
- }
318
- }