primitive-admin 1.1.0-alpha.49 → 1.1.0-alpha.50

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 (85) hide show
  1. package/dist/bin/primitive.js +1 -1
  2. package/dist/src/commands/database-types.js +4 -4
  3. package/dist/src/commands/database-types.js.map +1 -1
  4. package/dist/src/commands/databases.js +5 -5
  5. package/dist/src/commands/databases.js.map +1 -1
  6. package/dist/src/commands/documents.js +2 -2
  7. package/dist/src/commands/documents.js.map +1 -1
  8. package/dist/src/commands/metadata.js +48 -3
  9. package/dist/src/commands/metadata.js.map +1 -1
  10. package/dist/src/commands/scripts.d.ts +18 -0
  11. package/dist/src/commands/scripts.js +59 -5
  12. package/dist/src/commands/scripts.js.map +1 -1
  13. package/dist/src/commands/sync-app-settings.d.ts +14 -4
  14. package/dist/src/commands/sync-app-settings.js +48 -8
  15. package/dist/src/commands/sync-app-settings.js.map +1 -1
  16. package/dist/src/commands/sync.d.ts +98 -0
  17. package/dist/src/commands/sync.js +1576 -400
  18. package/dist/src/commands/sync.js.map +1 -1
  19. package/dist/src/commands/workflows.js +23 -6
  20. package/dist/src/commands/workflows.js.map +1 -1
  21. package/dist/src/lib/api-client.d.ts +27 -1
  22. package/dist/src/lib/api-client.js +25 -2
  23. package/dist/src/lib/api-client.js.map +1 -1
  24. package/dist/src/lib/app-settings-descriptor.js +4 -0
  25. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  26. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +21 -0
  27. package/dist/src/lib/codegen-shared/generatedFiles.js +40 -0
  28. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
  29. package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
  30. package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
  31. package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
  32. package/dist/src/lib/db-codegen/dbGenerator.js +8 -5
  33. package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -1
  34. package/dist/src/lib/db-codegen/dbNaming.d.ts +5 -0
  35. package/dist/src/lib/db-codegen/dbNaming.js +8 -2
  36. package/dist/src/lib/db-codegen/dbNaming.js.map +1 -1
  37. package/dist/src/lib/db-codegen/dbTemplates.d.ts +17 -2
  38. package/dist/src/lib/db-codegen/dbTemplates.js +84 -39
  39. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
  40. package/dist/src/lib/db-codegen/dbTsTypes.d.ts +13 -22
  41. package/dist/src/lib/db-codegen/dbTsTypes.js +33 -28
  42. package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -1
  43. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +11 -0
  44. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +11 -0
  45. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -1
  46. package/dist/src/lib/generated-allowlist.js +5 -0
  47. package/dist/src/lib/generated-allowlist.js.map +1 -1
  48. package/dist/src/lib/platform-owned.d.ts +37 -0
  49. package/dist/src/lib/platform-owned.js +46 -0
  50. package/dist/src/lib/platform-owned.js.map +1 -0
  51. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +32 -0
  52. package/dist/src/lib/swift-codegen/dbGenerator.js +338 -36
  53. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  54. package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +1 -1
  55. package/dist/src/lib/swift-codegen/dbSwiftTypes.js +1 -1
  56. package/dist/src/lib/swift-codegen/generator.d.ts +1 -0
  57. package/dist/src/lib/swift-codegen/generator.js +91 -3
  58. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  59. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +90 -0
  60. package/dist/src/lib/swift-codegen/siblingSymbols.js +152 -0
  61. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
  62. package/dist/src/lib/sync-resource-types.d.ts +222 -10
  63. package/dist/src/lib/sync-resource-types.js +407 -20
  64. package/dist/src/lib/sync-resource-types.js.map +1 -1
  65. package/dist/src/lib/toml-metadata-config.js +18 -0
  66. package/dist/src/lib/toml-metadata-config.js.map +1 -1
  67. package/dist/src/lib/workflow-apply.js +12 -2
  68. package/dist/src/lib/workflow-apply.js.map +1 -1
  69. package/dist/src/lib/workflow-codegen/generator.d.ts +9 -0
  70. package/dist/src/lib/workflow-codegen/generator.js +126 -55
  71. package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
  72. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +6 -8
  73. package/dist/src/lib/workflow-codegen/invokerIR.js +8 -8
  74. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
  75. package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +17 -1
  76. package/dist/src/lib/workflow-codegen/schemaToTs.js +59 -38
  77. package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -1
  78. package/dist/src/lib/workflow-payload.d.ts +19 -0
  79. package/dist/src/lib/workflow-payload.js +21 -0
  80. package/dist/src/lib/workflow-payload.js.map +1 -1
  81. package/dist/src/lib/workflow-toml-validator.d.ts +30 -0
  82. package/dist/src/lib/workflow-toml-validator.js +206 -0
  83. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  84. package/dist/src/types/index.d.ts +1 -0
  85. package/package.json +2 -1
@@ -52,14 +52,24 @@ export async function applyWorkflowBody(client, appId, workflowId, workflow, ste
52
52
  // it again. The config/step update does NOT touch the workflow definition's
53
53
  // `modifiedAt`.
54
54
  let latestModifiedAt = updated?.workflow?.modifiedAt;
55
- // 2. Body write — active config (config-model) or legacy draft slot.
55
+ // 2. Body write — active config (config-model) or legacy draft slot. #1614 —
56
+ // the named `expr.*` definitions live on the same R2 steps payload as the
57
+ // steps, so they travel with the steps write here (not the metadata PATCH
58
+ // above). Attached by the caller onto `workflow.expressions` (structural,
59
+ // like `metadataManifest`); absent → undefined so a workflow without
60
+ // definitions round-trips a clean drop.
61
+ const expressions = workflow.expressions ?? undefined;
56
62
  let updateSlotLabel = "active config";
57
63
  if (activeConfigId) {
58
- await client.updateWorkflowConfig(appId, workflowId, activeConfigId, { steps });
64
+ await client.updateWorkflowConfig(appId, workflowId, activeConfigId, {
65
+ steps,
66
+ expressions,
67
+ });
59
68
  }
60
69
  else {
61
70
  await client.updateWorkflowDraft(appId, workflowId, {
62
71
  steps,
72
+ expressions,
63
73
  inputSchema: workflow.inputSchema ? safeJsonParse(workflow.inputSchema) : null,
64
74
  });
65
75
  updateSlotLabel = "draft (legacy)";
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-apply.js","sourceRoot":"","sources":["../../../src/lib/workflow-apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-apply.js","sourceRoot":"","sources":["../../../src/lib/workflow-apply.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,15 @@
41
41
  * cannot override it.
42
42
  * - Disk lifecycle (write / `--check` / suffix-based cleanup) delegates to the
43
43
  * shared `writeOrCheckGeneratedFiles`, exactly like `databases codegen`.
44
+ *
45
+ * FORMATTING CONTRACT (#1565): the emitted TypeScript must be a fixed point of
46
+ * Prettier's DEFAULT config — `prettier --write` over a generated file must
47
+ * leave it byte-for-byte unchanged, because `--check` byte-compares. There is
48
+ * no Prettier dependency and no automated round-trip test to catch a
49
+ * regression, so any edit here that changes line shapes must be verified by
50
+ * hand (regenerate a representative output, run Prettier over it, confirm no
51
+ * diff). Wrap long constructs through `codegen-shared/prettierStable.ts` rather
52
+ * than hand-joining strings — see that file's header for the full contract.
44
53
  */
45
54
  import { type WriteOrCheckResult } from "../codegen-shared/generatedFiles.js";
46
55
  /** Suffix identifying a generated file (shared with `databases codegen`). */
@@ -41,11 +41,21 @@
41
41
  * cannot override it.
42
42
  * - Disk lifecycle (write / `--check` / suffix-based cleanup) delegates to the
43
43
  * shared `writeOrCheckGeneratedFiles`, exactly like `databases codegen`.
44
+ *
45
+ * FORMATTING CONTRACT (#1565): the emitted TypeScript must be a fixed point of
46
+ * Prettier's DEFAULT config — `prettier --write` over a generated file must
47
+ * leave it byte-for-byte unchanged, because `--check` byte-compares. There is
48
+ * no Prettier dependency and no automated round-trip test to catch a
49
+ * regression, so any edit here that changes line shapes must be verified by
50
+ * hand (regenerate a representative output, run Prettier over it, confirm no
51
+ * diff). Wrap long constructs through `codegen-shared/prettierStable.ts` rather
52
+ * than hand-joining strings — see that file's header for the full contract.
44
53
  */
45
54
  import * as path from "path";
46
55
  import { writeOrCheckGeneratedFiles, } from "../codegen-shared/generatedFiles.js";
47
56
  import { fingerprintToml } from "../db-codegen/dbFingerprint.js";
48
- import { schemaToTsType } from "./schemaToTs.js";
57
+ import { atom, generic, indent, intersection, objectType, printType, renderArrowCall, renderArrowProperty, renderParenList, renderTypeAlias, tsStringLiteral, union, } from "../codegen-shared/prettierStable.js";
58
+ import { schemaToTypeNode } from "./schemaToTs.js";
49
59
  import { describeSchema } from "./generated-schema-descriptor.js";
50
60
  import { describeWorkflowInvoker } from "./invokerIR.js";
51
61
  import { workflowInputTypeName, workflowOutputTypeName, workflowFactoryName, } from "./naming.js";
@@ -65,13 +75,16 @@ const CLIENT_PACKAGE = "js-bao-wss-client";
65
75
  */
66
76
  function renderTypeDecl(name, schema) {
67
77
  if (schema === undefined) {
68
- return `export type ${name} = unknown;`;
78
+ // Through `renderTypeAlias`, not hand-joined: a long enough workflow key
79
+ // pushes `export type <Key>Output = unknown;` past the print width, and
80
+ // Prettier then moves the `unknown` below the `=` (#1565).
81
+ return renderTypeAlias(name, atom("unknown"));
69
82
  }
70
- const expr = schemaToTsType(schema, 0);
71
- if (expr.startsWith("{") && !describeSchema(schema).oneOf) {
72
- return `export interface ${name} ${expr}`;
83
+ const node = schemaToTypeNode(schema);
84
+ if (node.kind === "block" && !describeSchema(schema).oneOf) {
85
+ return `export interface ${name} ${printType(node, 0, 0)}`;
73
86
  }
74
- return `export type ${name} = ${expr};`;
87
+ return renderTypeAlias(name, node);
75
88
  }
76
89
  /**
77
90
  * Parse a single workflow TOML into the data the emitter needs. Throws on
@@ -112,37 +125,58 @@ function parseWorkflow(input) {
112
125
  requiresClientApply: ir.requiresClientApply,
113
126
  };
114
127
  }
115
- /** Render the typed invoker factory for one workflow. */
128
+ /**
129
+ * Render the typed invoker factory for one workflow.
130
+ *
131
+ * Every line shape here is emitted the way Prettier's default config would
132
+ * print it (#1565) — see `codegen-shared/prettierStable.ts`. `runSync`/`start`
133
+ * always break their parameter list: the shortest possible
134
+ * `opts: {…} & Omit<…>` parameter is already wider than the 80-column budget,
135
+ * so there is no width decision to make there.
136
+ */
116
137
  function renderFactory(wf) {
117
- const keyLiteral = JSON.stringify(wf.key);
138
+ const keyLiteral = tsStringLiteral(wf.key);
118
139
  const inputMember = wf.inputRequired
119
140
  ? `input: ${wf.inputTypeName}`
120
141
  : `input?: ${wf.inputTypeName}`;
121
142
  const lines = [
122
- `export function ${wf.factoryName}(client: JsBaoClient) {`,
143
+ renderParenList(`export function ${wf.factoryName}`, ["client: JsBaoClient"], " {", 0),
123
144
  ` return {`,
124
145
  ];
146
+ // `opts: { input: X } & Omit<<Options>, "workflowKey" | "input">` — the
147
+ // intersection breaks inside the `Omit<...>` when it overflows.
148
+ const optsParam = (optionsTypeName) => {
149
+ const node = intersection([
150
+ objectType([inputMember]),
151
+ generic("Omit", [
152
+ atom(optionsTypeName),
153
+ union([atom(`"workflowKey"`), atom(`"input"`)]),
154
+ ]),
155
+ ]);
156
+ const head = `${indent(3)}opts: `;
157
+ return `${head}${printType(node, head.length, 3, 1)},`;
158
+ };
125
159
  // Spread `opts` FIRST, then set `workflowKey` LAST, so the factory's intended
126
160
  // key always wins. `Omit<..., "workflowKey">` only rejects an excess
127
161
  // `workflowKey` on object literals; a caller passing an options *variable*
128
162
  // carrying an extra `workflowKey` (or any untyped JS caller) would otherwise
129
163
  // override the key and invoke the wrong workflow if the spread came last.
164
+ const invocation = (method, typeArgs, optionsTypeName) => renderArrowCall({
165
+ head: [
166
+ `${indent(2)}${method}: (`,
167
+ optsParam(optionsTypeName),
168
+ `${indent(2)}) =>`,
169
+ ].join("\n"),
170
+ callee: generic(`client.workflows.${method}`, typeArgs.map(atom)),
171
+ leadingArgs: [],
172
+ objectMembers: ["...opts", { key: "workflowKey", value: keyLiteral }],
173
+ level: 3,
174
+ tail: ",",
175
+ });
130
176
  if (wf.syncCallable) {
131
- lines.push(` runSync: (\n` +
132
- ` opts: { ${inputMember} } & Omit<RunSyncWorkflowOptions, "workflowKey" | "input">\n` +
133
- ` ) =>\n` +
134
- ` client.workflows.runSync<${wf.inputTypeName}, ${wf.outputTypeName}>({\n` +
135
- ` ...opts,\n` +
136
- ` workflowKey: ${keyLiteral},\n` +
137
- ` }),`);
177
+ lines.push(invocation("runSync", [wf.inputTypeName, wf.outputTypeName], "RunSyncWorkflowOptions"));
138
178
  }
139
- lines.push(` start: (\n` +
140
- ` opts: { ${inputMember} } & Omit<StartWorkflowOptions, "workflowKey" | "input">\n` +
141
- ` ) =>\n` +
142
- ` client.workflows.start<${wf.inputTypeName}>({\n` +
143
- ` ...opts,\n` +
144
- ` workflowKey: ${keyLiteral},\n` +
145
- ` }),`);
179
+ lines.push(invocation("start", [wf.inputTypeName], "StartWorkflowOptions"));
146
180
  // Typed status fetch (#1512), emitted for EVERY non-reserved workflow — not
147
181
  // gated on `syncCallable`, since async-only workflows are exactly the ones
148
182
  // that need a typed `status.output`. `output` is bound to `<Key>Output` from
@@ -151,22 +185,33 @@ function renderFactory(wf) {
151
185
  // it — you cannot fetch a run's status without knowing which run). Same
152
186
  // spread-first / key-last ordering so an untyped caller cannot override the
153
187
  // key and read the wrong workflow's status.
154
- lines.push(` getStatus: (opts: Omit<GetWorkflowStatusOptions, "workflowKey">) =>\n` +
155
- ` client.workflows.getStatus<${wf.outputTypeName}>({\n` +
156
- ` ...opts,\n` +
157
- ` workflowKey: ${keyLiteral},\n` +
158
- ` }),`);
188
+ //
189
+ // Its `opts` parameter carries no generated names, so it always fits on one
190
+ // line — unlike start/runSync above.
191
+ lines.push(renderArrowCall({
192
+ head: `${indent(2)}getStatus: (opts: Omit<GetWorkflowStatusOptions, "workflowKey">) =>`,
193
+ callee: generic("client.workflows.getStatus", [atom(wf.outputTypeName)]),
194
+ leadingArgs: [],
195
+ objectMembers: ["...opts", { key: "workflowKey", value: keyLiteral }],
196
+ level: 3,
197
+ tail: ",",
198
+ }));
159
199
  // Typed termination (#1543), emitted for EVERY non-reserved workflow — any
160
200
  // run can be terminated. `output` is bound to `<Key>Output` (a terminated run
161
201
  // can carry partial output), same schema-less → `unknown` rule as getStatus.
162
202
  // `runKey` stays required. Same spread-first / key-last ordering so an untyped
163
203
  // caller cannot override the key and terminate the wrong workflow's run. This
164
204
  // member reverses #1512's start/status-only decision.
165
- lines.push(` terminate: (opts: Omit<TerminateWorkflowOptions, "workflowKey">) =>\n` +
166
- ` client.workflows.terminate<${wf.outputTypeName}>({\n` +
167
- ` ...opts,\n` +
168
- ` workflowKey: ${keyLiteral},\n` +
169
- ` }),`);
205
+ lines.push(renderArrowProperty({
206
+ level: 2,
207
+ key: "terminate",
208
+ params: [`opts: Omit<TerminateWorkflowOptions, "workflowKey">`],
209
+ signatureTail: " =>",
210
+ callee: generic("client.workflows.terminate", [atom(wf.outputTypeName)]),
211
+ leadingArgs: [],
212
+ objectMembers: ["...opts", { key: "workflowKey", value: keyLiteral }],
213
+ tail: ",",
214
+ }));
170
215
  // Typed apply handler (#1543 Phase 2), emitted ONLY for an apply-mode
171
216
  // workflow (`requiresClientApply !== false` — the same default the server
172
217
  // uses to decide a completed run needs a client apply). `WorkflowDefineOptions<O>`
@@ -181,8 +226,15 @@ function renderFactory(wf) {
181
226
  // a workflow — a per-workflow member would bind nothing and would wrongly
182
227
  // suggest the result only covers this workflow.
183
228
  if (wf.requiresClientApply) {
184
- lines.push(` define: (options: WorkflowDefineOptions<${wf.outputTypeName}>) =>\n` +
185
- ` client.workflows.define<${wf.outputTypeName}>(${keyLiteral}, options),`);
229
+ lines.push(renderArrowProperty({
230
+ level: 2,
231
+ key: "define",
232
+ params: [`options: WorkflowDefineOptions<${wf.outputTypeName}>`],
233
+ signatureTail: " =>",
234
+ callee: generic("client.workflows.define", [atom(wf.outputTypeName)]),
235
+ leadingArgs: [keyLiteral, "options"],
236
+ tail: ",",
237
+ }));
186
238
  }
187
239
  // Typed cron-trigger create/update (#1543), folded INTO the factory (not a
188
240
  // separate export). The client's own `rootInput` generic (#1542) is bound to
@@ -195,26 +247,45 @@ function renderFactory(wf) {
195
247
  // pinned LAST so a caller can't redirect the trigger at another workflow.
196
248
  // Nothing is spread after `workflowKey` — `rootInput` rides in via `...params`
197
249
  // — preserving the key-last convention.
198
- const rootInputType = wf.inputIsObjectShaped
199
- ? `Partial<${wf.inputTypeName}>`
200
- : wf.inputTypeName;
201
- lines.push(` cronTriggers: {\n` +
202
- ` create: (\n` +
203
- ` params: Omit<CreateCronTriggerParams<${rootInputType}>, "workflowKey">\n` +
204
- ` ) =>\n` +
205
- ` client.cronTriggers.create<${rootInputType}>({\n` +
206
- ` ...params,\n` +
207
- ` workflowKey: ${keyLiteral},\n` +
208
- ` }),\n` +
209
- ` update: (\n` +
210
- ` triggerId: string,\n` +
211
- ` params: Omit<UpdateCronTriggerParams<${rootInputType}>, "workflowKey">\n` +
212
- ` ) =>\n` +
213
- ` client.cronTriggers.update<${rootInputType}>(triggerId, {\n` +
214
- ` ...params,\n` +
215
- ` workflowKey: ${keyLiteral},\n` +
216
- ` }),\n` +
217
- ` },`);
250
+ // `rootInput` is `Partial<<Key>Input>` for an object-shaped schema (an
251
+ // `inputMapping` may supply the rest) and the full `<Key>Input` otherwise.
252
+ // Built as a `TypeNode` so `printType` can break the nested type-argument
253
+ // lists Prettier opens up at long key lengths (e.g.
254
+ // `Omit<CreateCronTriggerParams<Partial<...>>, "workflowKey">`).
255
+ const rootInputNode = wf.inputIsObjectShaped
256
+ ? generic("Partial", [atom(wf.inputTypeName)])
257
+ : atom(wf.inputTypeName);
258
+ const cronParam = (paramsGeneric) => ({
259
+ name: "params",
260
+ type: generic("Omit", [
261
+ generic(paramsGeneric, [rootInputNode]),
262
+ atom(`"workflowKey"`),
263
+ ]),
264
+ });
265
+ lines.push([
266
+ ` cronTriggers: {`,
267
+ renderArrowProperty({
268
+ level: 3,
269
+ key: "create",
270
+ params: [cronParam("CreateCronTriggerParams")],
271
+ signatureTail: " =>",
272
+ callee: generic("client.cronTriggers.create", [rootInputNode]),
273
+ leadingArgs: [],
274
+ objectMembers: ["...params", { key: "workflowKey", value: keyLiteral }],
275
+ tail: ",",
276
+ }),
277
+ renderArrowProperty({
278
+ level: 3,
279
+ key: "update",
280
+ params: ["triggerId: string", cronParam("UpdateCronTriggerParams")],
281
+ signatureTail: " =>",
282
+ callee: generic("client.cronTriggers.update", [rootInputNode]),
283
+ leadingArgs: ["triggerId"],
284
+ objectMembers: ["...params", { key: "workflowKey", value: keyLiteral }],
285
+ tail: ",",
286
+ }),
287
+ ` },`,
288
+ ].join("\n"));
218
289
  lines.push(` };`, `}`);
219
290
  return lines.join("\n");
220
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/workflow-codegen/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/workflow-codegen/generator.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,8 @@
19
19
  * the neutral operation flags; each renderer turns the schemas into its own
20
20
  * syntax.
21
21
  */
22
- /**
23
- * Prefix marking a platform-owned workflow key (mirrors the server's
24
- * `INTERNAL_WORKFLOW_KEY_PREFIX`; inlined because the CLI cannot import from
25
- * `src/`). Such workflows are never client-invocable and are skipped. This is
26
- * the single copy the TS and Swift generators now share.
27
- */
28
- export declare const INTERNAL_WORKFLOW_KEY_PREFIX = "__internal.";
22
+ import { INTERNAL_WORKFLOW_KEY_PREFIX } from "../platform-owned.js";
23
+ export { INTERNAL_WORKFLOW_KEY_PREFIX };
29
24
  /** Raw inputs a renderer already has on hand for one workflow TOML. */
30
25
  export interface WorkflowInvokerSource {
31
26
  /** Source `.toml` filename stem (fallback key when `[workflow].key` is absent). */
@@ -71,7 +66,10 @@ export interface WorkflowInvokerIR {
71
66
  /** Parsed output schema, or `undefined` when absent. */
72
67
  outputSchema: unknown;
73
68
  }
74
- /** True for a platform-owned (reserved) workflow key. */
69
+ /**
70
+ * True for a platform-owned (reserved) workflow key. Thin alias over the shared
71
+ * `isPlatformOwnedWorkflowKey` (#1660) kept for existing callers of this name.
72
+ */
75
73
  export declare function isReservedWorkflowKey(key: string): boolean;
76
74
  /**
77
75
  * Parse one workflow TOML into the shared invoker IR. Returns `null` for a
@@ -22,17 +22,17 @@
22
22
  import { parseConfigToml } from "../config-toml.js";
23
23
  import { safeJsonParse } from "../workflow-payload.js";
24
24
  import { schemaRejectsEmptyObject } from "./schemaToTs.js";
25
+ import { INTERNAL_WORKFLOW_KEY_PREFIX, isPlatformOwnedWorkflowKey, } from "../platform-owned.js";
26
+ // Re-export so existing importers of these codegen symbols keep working; the
27
+ // single source of truth is now `../platform-owned.js` (#1660), shared with the
28
+ // `sync` pull/diff/push filters so codegen and sync can never drift.
29
+ export { INTERNAL_WORKFLOW_KEY_PREFIX };
25
30
  /**
26
- * Prefix marking a platform-owned workflow key (mirrors the server's
27
- * `INTERNAL_WORKFLOW_KEY_PREFIX`; inlined because the CLI cannot import from
28
- * `src/`). Such workflows are never client-invocable and are skipped. This is
29
- * the single copy the TS and Swift generators now share.
31
+ * True for a platform-owned (reserved) workflow key. Thin alias over the shared
32
+ * `isPlatformOwnedWorkflowKey` (#1660) kept for existing callers of this name.
30
33
  */
31
- export const INTERNAL_WORKFLOW_KEY_PREFIX = "__internal.";
32
- /** True for a platform-owned (reserved) workflow key. */
33
34
  export function isReservedWorkflowKey(key) {
34
- return (typeof key === "string" &&
35
- key.trim().toLowerCase().startsWith(INTERNAL_WORKFLOW_KEY_PREFIX));
35
+ return isPlatformOwnedWorkflowKey(key);
36
36
  }
37
37
  /**
38
38
  * Parse one workflow TOML into the shared invoker IR. Returns `null` for a
@@ -1 +1 @@
1
- {"version":3,"file":"invokerIR.js","sourceRoot":"","sources":["../../../../src/lib/workflow-codegen/invokerIR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC;AAiD1D,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA6B;IAE7B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GACP,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,QAAQ,CAAC,GAAG;QACd,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEtB,IAAI,qBAAqB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,2EAA2E;IAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO;QACL,GAAG;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI;QAC5C,yEAAyE;QACzE,oEAAoE;QACpE,aAAa,EACX,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,WAAW,CAAC;QACpE,2EAA2E;QAC3E,wEAAwE;QACxE,yCAAyC;QACzC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,KAAK,KAAK;QAC3D,WAAW;QACX,YAAY;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"invokerIR.js","sourceRoot":"","sources":["../../../../src/lib/workflow-codegen/invokerIR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,6EAA6E;AAC7E,gFAAgF;AAChF,qEAAqE;AACrE,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAiDxC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA6B;IAE7B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GACP,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,QAAQ,CAAC,GAAG;QACd,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEtB,IAAI,qBAAqB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,2EAA2E;IAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO;QACL,GAAG;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI;QAC5C,yEAAyE;QACzE,oEAAoE;QACpE,aAAa,EACX,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,WAAW,CAAC;QACpE,2EAA2E;QAC3E,wEAAwE;QACxE,yCAAyC;QACzC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,KAAK,KAAK;QAC3D,WAAW;QACX,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -38,13 +38,29 @@
38
38
  * Errors are NOT swallowed here — a malformed schema fails upstream at parse
39
39
  * time, and a defective tagged union throws — this walker otherwise returns
40
40
  * `unknown` for anything it does not recognize.
41
+ *
42
+ * FORMATTING CONTRACT (#1565): the types emitted here must be a fixed point of
43
+ * Prettier's DEFAULT config, since `workflows codegen --check` byte-compares
44
+ * the emission against disk. Long unions therefore render through
45
+ * `codegen-shared/prettierStable.ts` (which reproduces Prettier's width
46
+ * decision) instead of being joined with `" | "`. There is no Prettier
47
+ * dependency and no automated round-trip test, so verify any change to these
48
+ * shapes by hand — see that module's header.
41
49
  */
50
+ import { type TypeNode } from "../codegen-shared/prettierStable.js";
42
51
  /**
43
52
  * Convert a parsed JSON Schema node to a TypeScript type expression. Object
44
53
  * types render multi-line (2-space indent per level); everything else renders
45
- * on a single line. `indent` is the current indentation depth.
54
+ * on a single line unless it is too wide for Prettier's default print width
55
+ * (#1565). `indent` is the current indentation depth.
46
56
  */
47
57
  export declare function schemaToTsType(schema: any, indent?: number): string;
58
+ /**
59
+ * `schemaToTsType` as a wrappable node — the emitters print it at the position
60
+ * it actually occupies so long unions/objects wrap exactly as Prettier would
61
+ * (#1565). See `codegen-shared/prettierStable.ts`.
62
+ */
63
+ export declare function schemaToTypeNode(schema: any): TypeNode;
48
64
  /**
49
65
  * True when the schema REJECTS an empty object `{}` — i.e. the client's
50
66
  * `rootInput: options.input ?? {}` fallback would fail validation, so `input`