@boboddy/sdk 0.4.3 → 0.5.1

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 (39) hide show
  1. package/dist/boboddy-config-parser.js +2 -2
  2. package/dist/client.js +20 -43
  3. package/dist/contracts/artifacts.js +948 -948
  4. package/dist/defaults/index.js +11 -11
  5. package/dist/definitions/advancement-policies/define-advancement-policy.d.ts +30 -5
  6. package/dist/definitions/advancement-policies/index.js +21 -11
  7. package/dist/definitions/pipelines/bindings.d.ts +62 -0
  8. package/dist/definitions/pipelines/builder-helpers.d.ts +19 -106
  9. package/dist/definitions/pipelines/chain-graph.d.ts +15 -14
  10. package/dist/definitions/pipelines/compile-node-definitions.d.ts +27 -0
  11. package/dist/definitions/pipelines/define-pipeline.d.ts +101 -154
  12. package/dist/definitions/pipelines/index.d.ts +0 -2
  13. package/dist/definitions/pipelines/index.js +1457 -1602
  14. package/dist/definitions/pipelines/node-input-ctx.d.ts +31 -0
  15. package/dist/definitions/pipelines/pipeline-definitions-client.d.ts +18 -4
  16. package/dist/definitions/pipelines/pipeline-states.d.ts +104 -0
  17. package/dist/definitions/steps/define-code-step.d.ts +50 -0
  18. package/dist/definitions/steps/define-step.d.ts +22 -1
  19. package/dist/definitions/steps/index.d.ts +1 -0
  20. package/dist/definitions/steps/index.js +13782 -13765
  21. package/dist/definitions/steps/step-definitions-client.d.ts +29 -5
  22. package/dist/definitions/validation/index.js +15152 -98
  23. package/dist/definitions/validation/validate-definition-specs.d.ts +19 -1
  24. package/dist/generated/index.d.ts +1 -1
  25. package/dist/generated/sdk.gen.d.ts +1 -4
  26. package/dist/generated/types.gen.d.ts +296 -878
  27. package/dist/health-checks.js +950 -950
  28. package/dist/index.js +1624 -1729
  29. package/dist/jsonc.js +2 -2
  30. package/dist/opencode-mcp.js +946 -946
  31. package/dist/opencode-plugin.js +950 -950
  32. package/dist/push/collect-definitions.d.ts +40 -1
  33. package/dist/push/index.d.ts +2 -2
  34. package/dist/push/index.js +14595 -14545
  35. package/dist/step-execution-plane-client.d.ts +9 -4
  36. package/package.json +2 -2
  37. package/dist/definitions/pipelines/builder.d.ts +0 -80
  38. package/dist/definitions/pipelines/fan-out-builder.d.ts +0 -66
  39. package/dist/definitions/pipelines/input-accessor.d.ts +0 -25
@@ -8,6 +8,21 @@ export type CollectedDefinitions = {
8
8
  /** Present only when `default-pipeline-assignment.ts` exists in the directory. */
9
9
  readonly defaultPipelineAssignment: DefaultPipelineAssignmentSpec | null;
10
10
  };
11
+ /**
12
+ * One source file that failed to produce a pipeline —
13
+ * `collectDefinitionsFromDirectoryTolerant`'s per-file counterpart to a
14
+ * `collectDefinitionsFromDirectory` throw. `key` is a best-effort
15
+ * identifier: the file's own basename (no extension), since a failure can
16
+ * happen before `definePipeline()` ever runs and assigns the pipeline its
17
+ * real `key`.
18
+ */
19
+ export type BrokenPipeline = {
20
+ readonly key: string;
21
+ readonly message: string;
22
+ };
23
+ export type TolerantCollectedDefinitions = CollectedDefinitions & {
24
+ readonly brokenPipelines: readonly BrokenPipeline[];
25
+ };
11
26
  /**
12
27
  * Imports every `.ts`/`.js` file in `dir` (except the push script itself and
13
28
  * `default-pipeline-assignment.ts`) and collects the pipeline and step
@@ -16,6 +31,30 @@ export type CollectedDefinitions = {
16
31
  *
17
32
  * Designed to run on the user's native runtime (bun, node-with-tsx, deno), NOT
18
33
  * inside a `bun --compile`'d binary — that runtime can't resolve scoped package
19
- * `exports` field remappings from external user files.
34
+ * `exports` field remappings from external user files. `boboddy pipelines
35
+ * studio` works around this for its own compiled binary by never calling this
36
+ * function in-process: `collectDefinitionsViaSubprocess` (in
37
+ * `packages/worker/src/pipelines/pipeline-studio/infra/collect-definitions-via-subprocess.ts`)
38
+ * spawns a real bun/tsx/deno subprocess that calls this exact function from
39
+ * outside the compiled binary. Calling it directly, in-process, from inside a
40
+ * compiled binary is still unsupported.
41
+ *
42
+ * Throws on the first bad file — a syntax error, a `definePipeline()`-time
43
+ * validation failure, an unresolvable `codeStep` entrypoint — aborting the
44
+ * whole collection. That's the right behavior for `boboddy pipelines push`
45
+ * (this function's only real caller besides its own tests): pushing a
46
+ * partially-collected directory would be worse than refusing to push at all.
47
+ * `boboddy pipelines studio` wants the opposite trade-off — see
48
+ * `collectDefinitionsFromDirectoryTolerant` below.
20
49
  */
21
50
  export declare function collectDefinitionsFromDirectory(dir: string): Promise<CollectedDefinitions>;
51
+ /**
52
+ * `collectDefinitionsFromDirectory`'s tolerant sibling, built for `boboddy
53
+ * pipelines studio`: one file failing to import or compile (a syntax error,
54
+ * an `assertTargetExists`-style `definePipeline()` throw, an unresolvable
55
+ * `codeStep` entrypoint, ...) is recorded as a `BrokenPipeline` entry instead
56
+ * of aborting collection — every *other* file's pipeline still comes back
57
+ * usable, so one bad edit in the builder directory doesn't blank the whole
58
+ * designer (see `compute-studio-snapshot.ts`).
59
+ */
60
+ export declare function collectDefinitionsFromDirectoryTolerant(dir: string): Promise<TolerantCollectedDefinitions>;
@@ -1,4 +1,4 @@
1
- export { collectDefinitionsFromDirectory } from "./collect-definitions";
2
- export type { CollectedDefinitions } from "./collect-definitions";
1
+ export { collectDefinitionsFromDirectory, collectDefinitionsFromDirectoryTolerant, } from "./collect-definitions";
2
+ export type { BrokenPipeline, CollectedDefinitions, TolerantCollectedDefinitions, } from "./collect-definitions";
3
3
  export { pushFromDirectory } from "./push-from-directory";
4
4
  export type { PushFromDirectoryOptions, PushFromDirectoryResult, } from "./push-from-directory";