primitive-admin 1.1.0-alpha.80 → 1.1.0-alpha.82

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 (87) hide show
  1. package/README.md +5 -5
  2. package/assets/skill/skills/primitive-platform/SKILL.md +23 -11
  3. package/dist/bin/primitive.js +14 -15
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/databases.js +3 -5
  6. package/dist/src/commands/databases.js.map +1 -1
  7. package/dist/src/commands/documents.js +163 -21
  8. package/dist/src/commands/documents.js.map +1 -1
  9. package/dist/src/commands/functions.js +736 -12
  10. package/dist/src/commands/functions.js.map +1 -1
  11. package/dist/src/commands/prompts.js +19 -2
  12. package/dist/src/commands/prompts.js.map +1 -1
  13. package/dist/src/commands/sync-app-settings.js +2 -2
  14. package/dist/src/commands/sync-app-settings.js.map +1 -1
  15. package/dist/src/commands/sync.js +29 -27
  16. package/dist/src/commands/sync.js.map +1 -1
  17. package/dist/src/commands/webhooks.d.ts +29 -0
  18. package/dist/src/commands/webhooks.js +118 -54
  19. package/dist/src/commands/webhooks.js.map +1 -1
  20. package/dist/src/commands/workflows.d.ts +1 -29
  21. package/dist/src/commands/workflows.js +8 -109
  22. package/dist/src/commands/workflows.js.map +1 -1
  23. package/dist/src/lib/api-client.d.ts +119 -3
  24. package/dist/src/lib/api-client.js +166 -5
  25. package/dist/src/lib/api-client.js.map +1 -1
  26. package/dist/src/lib/config-object-descriptor.js +12 -4
  27. package/dist/src/lib/config-object-descriptor.js.map +1 -1
  28. package/dist/src/lib/env-resolver-core.d.ts +24 -19
  29. package/dist/src/lib/env-resolver-core.js +35 -54
  30. package/dist/src/lib/env-resolver-core.js.map +1 -1
  31. package/dist/src/lib/function-db-types.js +15 -0
  32. package/dist/src/lib/function-db-types.js.map +1 -1
  33. package/dist/src/lib/function-document-types.js +4 -0
  34. package/dist/src/lib/function-document-types.js.map +1 -1
  35. package/dist/src/lib/function-log-tail.d.ts +51 -2
  36. package/dist/src/lib/function-log-tail.js +160 -13
  37. package/dist/src/lib/function-log-tail.js.map +1 -1
  38. package/dist/src/lib/function-run.d.ts +271 -0
  39. package/dist/src/lib/function-run.js +378 -0
  40. package/dist/src/lib/function-run.js.map +1 -0
  41. package/dist/src/lib/function-schema-codegen.d.ts +28 -0
  42. package/dist/src/lib/function-schema-codegen.js +41 -10
  43. package/dist/src/lib/function-schema-codegen.js.map +1 -1
  44. package/dist/src/lib/function-sync.d.ts +9 -4
  45. package/dist/src/lib/function-sync.js +29 -7
  46. package/dist/src/lib/function-sync.js.map +1 -1
  47. package/dist/src/lib/generated-config-surfaces.d.ts +555 -19
  48. package/dist/src/lib/generated-config-surfaces.js +1826 -80
  49. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  50. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  51. package/dist/src/lib/generated-sdk-types.js +1 -1
  52. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  53. package/dist/src/lib/local-test-cases.js +2 -2
  54. package/dist/src/lib/local-test-cases.js.map +1 -1
  55. package/dist/src/lib/prompt-schema-codegen.d.ts +94 -0
  56. package/dist/src/lib/prompt-schema-codegen.js +212 -0
  57. package/dist/src/lib/prompt-schema-codegen.js.map +1 -0
  58. package/dist/src/lib/snapshot-manifest-layout.d.ts +61 -0
  59. package/dist/src/lib/snapshot-manifest-layout.js +70 -0
  60. package/dist/src/lib/snapshot-manifest-layout.js.map +1 -0
  61. package/dist/src/lib/step-run-table.d.ts +43 -0
  62. package/dist/src/lib/step-run-table.js +129 -0
  63. package/dist/src/lib/step-run-table.js.map +1 -0
  64. package/dist/src/lib/swift-codegen/banners.d.ts +18 -0
  65. package/dist/src/lib/swift-codegen/banners.js +19 -0
  66. package/dist/src/lib/swift-codegen/banners.js.map +1 -0
  67. package/dist/src/lib/swift-codegen/dbGenerator.js +11 -7
  68. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  69. package/dist/src/lib/swift-codegen/functionGenerator.d.ts +125 -0
  70. package/dist/src/lib/swift-codegen/functionGenerator.js +423 -0
  71. package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -0
  72. package/dist/src/lib/swift-codegen/generator.d.ts +6 -0
  73. package/dist/src/lib/swift-codegen/generator.js +21 -10
  74. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  75. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +15 -0
  76. package/dist/src/lib/swift-codegen/schemaToSwift.js +21 -4
  77. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -1
  78. package/dist/src/lib/sync-paths.d.ts +19 -14
  79. package/dist/src/lib/sync-paths.js +26 -24
  80. package/dist/src/lib/sync-paths.js.map +1 -1
  81. package/dist/src/lib/webhook-deliver.d.ts +209 -0
  82. package/dist/src/lib/webhook-deliver.js +519 -0
  83. package/dist/src/lib/webhook-deliver.js.map +1 -0
  84. package/dist/src/lib/workflow-toml-validator.d.ts +9 -5
  85. package/dist/src/lib/workflow-toml-validator.js +18 -10
  86. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  87. package/package.json +2 -2
@@ -0,0 +1,423 @@
1
+ /**
2
+ * `functions codegen --lang swift` — the third CLI Swift generator (#3344).
3
+ *
4
+ * The Swift counterpart of `function-schema-codegen.ts`'s TypeScript invoker,
5
+ * and the sibling of `generator.ts` (workflows) and `dbGenerator.ts`
6
+ * (database types). Reads the SAME `functions/<key>.toml` files and emits one
7
+ * `<key>.generated.swift` per function carrying:
8
+ *
9
+ * - `<Key>Input` / `<Key>Output`, rendered from the declared schemas by the
10
+ * shared `renderSwiftRootType` — the same drift-guarded descriptor the
11
+ * server validates with, so a generated Swift type can never promise a
12
+ * shape an invocation door rejects; and
13
+ * - `<Key>Function`, a typed invoker struct whose VERB SET is fixed by the
14
+ * function's mode, plus a free-function factory `<key>(client)`.
15
+ *
16
+ * ── Nothing about the function is re-derived here ────────────────────────
17
+ *
18
+ * Key, mode, schemas and `inputRequired` all come from
19
+ * `describeFunctionSchemas` — the IR the TypeScript invoker reads — so the two
20
+ * clients can never disagree on which verbs a function exposes or whether its
21
+ * input is required. Only Swift naming (through the workflow emitter's
22
+ * helpers) and Swift rendering happen in this file.
23
+ *
24
+ * ── Verbs by mode ────────────────────────────────────────────────────────
25
+ *
26
+ * A request function gets exactly `invoke`. A task function gets exactly
27
+ * `start`, `getStatus`, `waitFor` and `terminate`. Calling the wrong verb is
28
+ * then a compile error rather than a `functionModeMismatch` at runtime — the
29
+ * same rule the TS factory applies.
30
+ *
31
+ * Every parameter besides `input` mirrors the generic `FunctionsAPI` overload
32
+ * it delegates to, label, type and default alike — `meta: [String: Any]?`
33
+ * included. The goldens are app-target code, outside the client's `Any`
34
+ * budget scan, and the workflow goldens set that precedent. The tables below
35
+ * are the single source of those parameter lists, and
36
+ * `swift-codegen-function-signature-parity-3344.test.ts` ties them to the
37
+ * client's actual declarations so an option added to `FunctionsAPI` later
38
+ * cannot leave every generated invoker silently behind.
39
+ *
40
+ * ── The nullable root input ──────────────────────────────────────────────
41
+ *
42
+ * The generic overload maps a `nil` input to an OMITTED `rootInput`, which the
43
+ * server defaults to `{}` — rejected by a schema that allows only a string or
44
+ * null. So when the rendered root input type is itself Optional, the generated
45
+ * body BRANCHES: a value delegates the typed value directly (keeping
46
+ * `JSONCoding`'s exact `Int64` path), and `nil` delegates `JSONValue.null`,
47
+ * which is a non-nil `Encodable` and reaches the wire as `rootInput: null`
48
+ * through the same forwarding path a scalar root already uses. Proved live
49
+ * before this emitter was written (#3344 step 0).
50
+ */
51
+ import * as path from "path";
52
+ import { writeOrCheckGeneratedFiles, } from "../codegen-shared/generatedFiles.js";
53
+ import { fingerprintToml } from "../db-codegen/dbFingerprint.js";
54
+ import { describeFunctionSchemas, describeFunctionSchemaSet, } from "../function-schema-codegen.js";
55
+ import { renderSwiftRootTypeDetail, SwiftCodegenError } from "./schemaToSwift.js";
56
+ import { workflowSwiftFactoryName } from "./swiftNaming.js";
57
+ import { GENERATED_SWIFT_FILE_SUFFIX, SWIFT_BANNER_PREFIX, swiftKeyLiteral, workflowSwiftTypeBaseName, } from "./generator.js";
58
+ import { DB_SWIFT_BANNER_PREFIXES } from "./dbGenerator.js";
59
+ import { FUNCTION_SWIFT_BANNER_PREFIX } from "./banners.js";
60
+ import { assertNoForeignGeneratorSymbolCollision, parseTopLevelSwiftSymbols, } from "./siblingSymbols.js";
61
+ export { FUNCTION_SWIFT_BANNER_PREFIX };
62
+ /** The Swift module the generated types + invoker import. */
63
+ const CLIENT_MODULE = "JsBaoClient";
64
+ const INDENT = " ";
65
+ /** Banners owned by the OTHER two Swift generators, in every spelling. */
66
+ const FOREIGN_SWIFT_BANNERS = [SWIFT_BANNER_PREFIX, ...DB_SWIFT_BANNER_PREFIXES];
67
+ const INPUT_PARAMETER = {
68
+ label: "input",
69
+ type: null,
70
+ defaultValue: null,
71
+ };
72
+ /**
73
+ * The verb tables. `invoke` is a request function's whole surface; the other
74
+ * four are a task function's.
75
+ */
76
+ export const FUNCTION_INVOKER_VERBS = {
77
+ invoke: {
78
+ verb: "invoke",
79
+ comparedAgainst: { kind: "overload", method: "invoke", dropLabels: ["functionKey"] },
80
+ parameters: [
81
+ INPUT_PARAMETER,
82
+ { label: "contextDocId", type: "String?", defaultValue: "nil" },
83
+ { label: "meta", type: "[String: Any]?", defaultValue: "nil" },
84
+ { label: "timeout", type: "TimeInterval?", defaultValue: "nil" },
85
+ ],
86
+ },
87
+ start: {
88
+ verb: "start",
89
+ comparedAgainst: { kind: "overload", method: "start", dropLabels: ["functionKey"] },
90
+ parameters: [
91
+ INPUT_PARAMETER,
92
+ { label: "runKey", type: "String?", defaultValue: "nil" },
93
+ { label: "contextDocId", type: "String?", defaultValue: "nil" },
94
+ { label: "meta", type: "[String: Any]?", defaultValue: "nil" },
95
+ ],
96
+ },
97
+ getStatus: {
98
+ verb: "getStatus",
99
+ comparedAgainst: { kind: "overload", method: "getStatus", dropLabels: [] },
100
+ parameters: [{ label: "runId", type: "String", defaultValue: null }],
101
+ },
102
+ waitFor: {
103
+ verb: "waitFor",
104
+ // `as:` is the output witness the generated method binds itself.
105
+ comparedAgainst: { kind: "overload", method: "waitFor", dropLabels: ["as"] },
106
+ parameters: [
107
+ { label: "runId", type: "String", defaultValue: null },
108
+ { label: "options", type: "WaitForWorkflowOptions?", defaultValue: "nil" },
109
+ ],
110
+ },
111
+ terminate: {
112
+ verb: "terminate",
113
+ comparedAgainst: { kind: "ref", type: "FunctionRunRef", dropLabels: ["functionKey"] },
114
+ parameters: [
115
+ { label: "runKey", type: "String", defaultValue: null },
116
+ { label: "contextDocId", type: "String?", defaultValue: "nil" },
117
+ ],
118
+ },
119
+ };
120
+ /**
121
+ * The verbs a mode exposes, and nothing else.
122
+ *
123
+ * #3454 — `any` is the default and exposes BOTH sets, because the runner is
124
+ * chosen at call time; each lock exposes only its own, so the wrong verb on a
125
+ * locked function is a compile error rather than a runtime refusal.
126
+ */
127
+ export const FUNCTION_INVOKER_VERBS_BY_MODE = {
128
+ request: ["invoke"],
129
+ task: ["start", "getStatus", "waitFor", "terminate"],
130
+ any: ["invoke", "start", "getStatus", "waitFor", "terminate"],
131
+ };
132
+ function parseFunction(source) {
133
+ const ir = describeFunctionSchemas(source);
134
+ const base = workflowSwiftTypeBaseName(ir.key);
135
+ const inputTypeName = `${base}Input`;
136
+ const outputTypeName = `${base}Output`;
137
+ // The banner and every schema failure name the FILE, which an authored
138
+ // `[function] key` can spell differently from the key (E1).
139
+ const sourceFile = ir.fileLabel;
140
+ const input = renderSwiftRootTypeDetail(inputTypeName, ir.inputSchema, { sourceFile });
141
+ const output = renderSwiftRootTypeDetail(outputTypeName, ir.outputSchema, { sourceFile });
142
+ return {
143
+ key: ir.key,
144
+ fileLabel: ir.fileLabel,
145
+ base,
146
+ inputTypeName,
147
+ outputTypeName,
148
+ structName: `${base}Function`,
149
+ factoryName: workflowSwiftFactoryName(ir.key),
150
+ mode: ir.mode,
151
+ inputRequired: ir.inputRequired,
152
+ inputOptionalRoot: input.optional,
153
+ inputDecl: input.decl,
154
+ outputDecl: output.decl,
155
+ };
156
+ }
157
+ /**
158
+ * The `input:` parameter declaration. An already-Optional root type is never
159
+ * wrapped a second time (spec decision 6) — the alias carries the optionality,
160
+ * and the branching body below gives its `nil` the meaning the schema gives it.
161
+ */
162
+ function inputParameter(fn) {
163
+ if (fn.inputOptionalRoot) {
164
+ return fn.inputRequired
165
+ ? `input: ${fn.inputTypeName}`
166
+ : `input: ${fn.inputTypeName} = nil`;
167
+ }
168
+ return fn.inputRequired
169
+ ? `input: ${fn.inputTypeName}`
170
+ : `input: ${fn.inputTypeName}? = nil`;
171
+ }
172
+ /** `label: type = default` for a non-input parameter, from the verb table. */
173
+ function renderParameter(parameter) {
174
+ const withDefault = parameter.defaultValue === null ? "" : ` = ${parameter.defaultValue}`;
175
+ return `${parameter.label}: ${parameter.type}${withDefault}`;
176
+ }
177
+ /**
178
+ * The delegation body for a verb that forwards `input`. When the root input
179
+ * type is Optional the body branches so a `nil` reaches the wire as the
180
+ * explicit `rootInput: null` the declaration allows, instead of being dropped
181
+ * into the client's "no input" path (which the server turns into `{}`).
182
+ */
183
+ function renderForwardingBody(fn, indentLevel, call) {
184
+ const I = INDENT.repeat(indentLevel);
185
+ if (!fn.inputOptionalRoot)
186
+ return call("input", indentLevel);
187
+ return [
188
+ `${I}// \`${fn.inputTypeName}\` is Optional, so \`nil\` is the JSON \`null\` the`,
189
+ `${I}// declared schema allows — not "no input". Delegating \`nil\` would omit`,
190
+ `${I}// \`rootInput\`, which the server defaults to \`{}\`; \`JSONValue.null\``,
191
+ `${I}// travels as the null through the same path a scalar root uses.`,
192
+ `${I}if let input {`,
193
+ ...call("input", indentLevel + 1),
194
+ `${I}}`,
195
+ ...call("JSONValue.null", indentLevel),
196
+ ];
197
+ }
198
+ function renderInvoke(fn) {
199
+ const keyLiteral = swiftKeyLiteral(fn.key);
200
+ const table = FUNCTION_INVOKER_VERBS.invoke;
201
+ const I = INDENT;
202
+ const call = (inputExpr, level) => {
203
+ const B = INDENT.repeat(level);
204
+ const keyword = fn.inputOptionalRoot ? "return try await " : "try await ";
205
+ return [
206
+ `${B}${keyword}client.functions.invoke(`,
207
+ `${B}${INDENT}${keyLiteral},`,
208
+ `${B}${INDENT}input: ${inputExpr},`,
209
+ `${B}${INDENT}contextDocId: contextDocId,`,
210
+ `${B}${INDENT}meta: meta,`,
211
+ `${B}${INDENT}timeout: timeout`,
212
+ `${B})`,
213
+ ];
214
+ };
215
+ return [
216
+ ``,
217
+ `${I}/// Invoke the \`${fn.key}\` request function and wait for its result.`,
218
+ `${I}public func invoke(`,
219
+ `${I}${I}${inputParameter(fn)},`,
220
+ ...table.parameters
221
+ .slice(1)
222
+ .map((p, index, all) => `${I}${I}${renderParameter(p)}${index === all.length - 1 ? "" : ","}`),
223
+ `${I}) async throws -> FunctionResult<${fn.outputTypeName}> {`,
224
+ ...renderForwardingBody(fn, 2, call),
225
+ `${I}}`,
226
+ ];
227
+ }
228
+ function renderStart(fn) {
229
+ const keyLiteral = swiftKeyLiteral(fn.key);
230
+ const table = FUNCTION_INVOKER_VERBS.start;
231
+ const I = INDENT;
232
+ const call = (inputExpr, level) => {
233
+ const B = INDENT.repeat(level);
234
+ const keyword = fn.inputOptionalRoot ? "return try await " : "try await ";
235
+ return [
236
+ `${B}${keyword}client.functions.start(`,
237
+ `${B}${INDENT}${keyLiteral},`,
238
+ `${B}${INDENT}input: ${inputExpr},`,
239
+ `${B}${INDENT}runKey: runKey,`,
240
+ `${B}${INDENT}contextDocId: contextDocId,`,
241
+ `${B}${INDENT}meta: meta`,
242
+ `${B})`,
243
+ ];
244
+ };
245
+ return [
246
+ ``,
247
+ `${I}/// Start the \`${fn.key}\` task function; returns the run handle.`,
248
+ `${I}@discardableResult`,
249
+ `${I}public func start(`,
250
+ `${I}${I}${inputParameter(fn)},`,
251
+ ...table.parameters
252
+ .slice(1)
253
+ .map((p, index, all) => `${I}${I}${renderParameter(p)}${index === all.length - 1 ? "" : ","}`),
254
+ `${I}) async throws -> FunctionStartResult {`,
255
+ ...renderForwardingBody(fn, 2, call),
256
+ `${I}}`,
257
+ ];
258
+ }
259
+ function renderTaskPollers(fn) {
260
+ const I = INDENT;
261
+ const keyLiteral = swiftKeyLiteral(fn.key);
262
+ const waitFor = FUNCTION_INVOKER_VERBS.waitFor;
263
+ const terminate = FUNCTION_INVOKER_VERBS.terminate;
264
+ return [
265
+ ``,
266
+ `${I}/// A run's status, with \`output\` bound to \`${fn.outputTypeName}\`.`,
267
+ `${I}public func getStatus(${renderParameter(FUNCTION_INVOKER_VERBS.getStatus.parameters[0])}) async throws -> WorkflowStatus<${fn.outputTypeName}> {`,
268
+ `${I}${I}try await client.functions.getStatus(runId: runId)`,
269
+ `${I}}`,
270
+ ``,
271
+ `${I}/// Wait for a run to settle; \`output\` is bound to \`${fn.outputTypeName}\`.`,
272
+ `${I}public func waitFor(`,
273
+ ...waitFor.parameters.map((p, index, all) => `${I}${I}${renderParameter(p)}${index === all.length - 1 ? "" : ","}`),
274
+ `${I}) async throws -> WaitForResult<${fn.outputTypeName}> {`,
275
+ `${I}${I}try await client.functions.waitFor(`,
276
+ `${I}${I}${I}runId: runId,`,
277
+ `${I}${I}${I}as: ${fn.outputTypeName}.self,`,
278
+ `${I}${I}${I}options: options`,
279
+ `${I}${I})`,
280
+ `${I}}`,
281
+ ``,
282
+ `${I}/// Terminate a run; \`output\` is bound to \`${fn.outputTypeName}\` (a terminated`,
283
+ `${I}/// run can carry partial output). The function key is pinned.`,
284
+ `${I}@discardableResult`,
285
+ `${I}public func terminate(`,
286
+ ...terminate.parameters.map((p, index, all) => `${I}${I}${renderParameter(p)}${index === all.length - 1 ? "" : ","}`),
287
+ `${I}) async throws -> WorkflowStatus<${fn.outputTypeName}> {`,
288
+ `${I}${I}try await client.functions.terminate(`,
289
+ `${I}${I}${I}FunctionRunRef(`,
290
+ `${I}${I}${I}${I}functionKey: ${keyLiteral},`,
291
+ `${I}${I}${I}${I}runKey: runKey,`,
292
+ `${I}${I}${I}${I}contextDocId: contextDocId`,
293
+ `${I}${I}${I})`,
294
+ `${I}${I})`,
295
+ `${I}}`,
296
+ ];
297
+ }
298
+ /**
299
+ * The typed invoker struct + its free-function factory, with the verb set the
300
+ * mode fixes and nothing else.
301
+ */
302
+ function renderInvoker(fn) {
303
+ const lines = [
304
+ `/// Typed invoker for the \`${fn.key}\` ${fn.mode} function. Binds`,
305
+ `/// \`${fn.inputTypeName}\` / \`${fn.outputTypeName}\` over the generic`,
306
+ `/// \`FunctionsAPI\` overloads. Obtain one with \`${fn.factoryName}(client)\`.`,
307
+ `public struct ${fn.structName}: Sendable {`,
308
+ `${INDENT}public let client: JsBaoClient`,
309
+ ``,
310
+ `${INDENT}public init(client: JsBaoClient) {`,
311
+ `${INDENT}${INDENT}self.client = client`,
312
+ `${INDENT}}`,
313
+ ];
314
+ // #3454 — the verbs the MODE allows: `invoke` first, then the four task
315
+ // verbs, and an `any` function gets both sets because the runner is chosen
316
+ // at call time.
317
+ if (fn.mode === "request" || fn.mode === "any") {
318
+ lines.push(...renderInvoke(fn));
319
+ }
320
+ if (fn.mode === "task" || fn.mode === "any") {
321
+ lines.push(...renderStart(fn), ...renderTaskPollers(fn));
322
+ }
323
+ lines.push(`}`);
324
+ lines.push(``, `/// Typed invoker factory for the \`${fn.key}\` function.`, `public func ${fn.factoryName}(_ client: JsBaoClient) -> ${fn.structName} {`, `${INDENT}${fn.structName}(client: client)`, `}`);
325
+ return lines.join("\n");
326
+ }
327
+ /**
328
+ * Render the full `<key>.generated.swift` content for one `functions/*.toml`.
329
+ * Pure — exported so tests can assert on the string directly.
330
+ */
331
+ export function renderFunctionSwiftFile(source) {
332
+ const fn = parseFunction(source);
333
+ const fingerprint = fingerprintToml(source.tomlContent);
334
+ const banner = [
335
+ `${FUNCTION_SWIFT_BANNER_PREFIX}${fn.fileLabel.replace(/^functions\//, "")} — DO NOT EDIT.`,
336
+ "// Run `primitive functions codegen --lang swift` to regenerate.",
337
+ `// fingerprint: ${fingerprint}`,
338
+ ].join("\n");
339
+ const imports = ["import Foundation", `import ${CLIENT_MODULE}`].join("\n");
340
+ const content = [banner, imports, fn.inputDecl, fn.outputDecl, renderInvoker(fn)].join("\n\n") +
341
+ "\n";
342
+ return {
343
+ key: fn.key,
344
+ content,
345
+ // EVERY top-level declaration the file makes, read back off the rendered
346
+ // source rather than enumerated by hand (CR3344-001). The obvious four are
347
+ // `<Key>Input`/`<Key>Output`, the invoker struct and the factory — but a
348
+ // root that renders as a typealias (an array of objects, say) also declares
349
+ // its element type, `<Key>InputItem`, at module level. Enumerating the four
350
+ // left those helpers out of both the run-scoped registry and the
351
+ // cross-generator scan, so a database type or another function declaring
352
+ // the same symbol produced Swift that would not compile. This is also the
353
+ // exact parser the retained-sibling side uses, so the two halves of every
354
+ // comparison now speak one alphabet (backticks stripped included).
355
+ symbols: parseTopLevelSwiftSymbols(content),
356
+ };
357
+ }
358
+ /**
359
+ * Run Swift function codegen end-to-end. The whole `functions/` directory is
360
+ * always the input (there is no `--single` form), so the run owns its output
361
+ * directory's functions-banner files completely and sweeps the orphans.
362
+ */
363
+ export async function generateFunctionSwiftTypes(options) {
364
+ const outAbs = path.resolve(options.outputDir);
365
+ // The shared set-level IR: sorted, and two files resolving to one key
366
+ // refused naming both (E2). The TS base-name check stays on the TS side —
367
+ // the registry below is the Swift run's own, and covers the invoker struct
368
+ // and the factory the TS check knows nothing about.
369
+ const described = describeFunctionSchemaSet(options.inputs);
370
+ const symbolOwner = new Map();
371
+ const filesToWrite = new Map();
372
+ for (const { source } of described) {
373
+ const rendered = renderFunctionSwiftFile(source);
374
+ for (const symbol of rendered.symbols) {
375
+ const prior = symbolOwner.get(symbol);
376
+ if (prior !== undefined && prior !== rendered.key) {
377
+ throw new SwiftCodegenError(`swift function codegen: type-name collision — function keys ` +
378
+ `"${prior}" and "${rendered.key}" both produce Swift symbol ` +
379
+ `"${symbol}", which redeclare when all .generated.swift files ` +
380
+ `compile into one module. Rename one function key so the two differ ` +
381
+ `after Swift normalization.`, { sourceFile: `functions/${rendered.key}.toml` });
382
+ }
383
+ symbolOwner.set(symbol, rendered.key);
384
+ }
385
+ filesToWrite.set(path.join(outAbs, `${rendered.key}${GENERATED_SWIFT_FILE_SUFFIX}`), rendered.content);
386
+ }
387
+ // Cross-generator namespace collision (the #1857 scan, a third way round).
388
+ // A workflow- or database-owned sibling in the same directory declares its
389
+ // own top-level symbols; a full functions run does not regenerate them, so
390
+ // the two files coexist and redeclare once everything compiles into one
391
+ // module. The foreign-banner WRITE guard below is path-only and never sees
392
+ // it.
393
+ await assertNoForeignGeneratorSymbolCollision({
394
+ outputDir: outAbs,
395
+ foreignBanner: FOREIGN_SWIFT_BANNERS,
396
+ suffix: GENERATED_SWIFT_FILE_SUFFIX,
397
+ emitted: symbolOwner,
398
+ makeError: ({ symbol, owner, siblingStem }) => new SwiftCodegenError(`swift function codegen: type-name collision with another generator's ` +
399
+ `file — function key "${owner}" emits Swift symbol "${symbol}", but the ` +
400
+ `existing "${siblingStem}${GENERATED_SWIFT_FILE_SUFFIX}" (owned by the ` +
401
+ `workflow or database Swift generator) already declares a top-level ` +
402
+ `"${symbol}" in the same output directory, which redeclares when all ` +
403
+ `.generated.swift files compile into one module. Rename the function or ` +
404
+ `the "${siblingStem}" source so the two differ after Swift ` +
405
+ `normalization, or give one generator a separate -o directory.`, { sourceFile: `functions/${owner}.toml` }),
406
+ });
407
+ return await writeOrCheckGeneratedFiles({
408
+ outputDir: outAbs,
409
+ filesToWrite,
410
+ check: options.check,
411
+ fullOwnership: true,
412
+ generatedSuffix: GENERATED_SWIFT_FILE_SUFFIX,
413
+ ownershipBanner: FUNCTION_SWIFT_BANNER_PREFIX,
414
+ foreignOwnershipBanners: FOREIGN_SWIFT_BANNERS,
415
+ onForeignBannerCollision: ({ filePath, foreignBanner }) => new SwiftCodegenError(`swift codegen: output collision — this run would overwrite ` +
416
+ `"${path.basename(filePath)}" in the shared output directory, which ` +
417
+ `is already owned by a different generator (banner ` +
418
+ `"${foreignBanner.trim()}"). A function key and a workflow key or ` +
419
+ `database type with the same name cannot share an output directory; ` +
420
+ `give one generator a separate -o directory.`),
421
+ });
422
+ }
423
+ //# sourceMappingURL=functionGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functionGenerator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/functionGenerator.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,12 @@ export interface GenerateWorkflowSwiftTypesOptions {
76
76
  * `create-checkout-session` → `CreateCheckoutSession`; `123-job` → `_123Job`
77
77
  * (digit-leading prefixed, parity with the TS `ensureValidIdentifierStart`). */
78
78
  export declare function workflowSwiftTypeBaseName(key: string): string;
79
+ /**
80
+ * A Swift string literal for a config key (the runtime call passes it
81
+ * verbatim). Exported so the functions emitter (#3344) pins its key literals
82
+ * through the SAME escape helper rather than a second copy of these rules.
83
+ */
84
+ export declare function swiftKeyLiteral(key: string): string;
79
85
  /**
80
86
  * Render the full `<key>.generated.swift` content for a single workflow TOML.
81
87
  * Returns null for a reserved (`__internal.*`) workflow. Pure — exported so
@@ -46,6 +46,9 @@ import { structTypeName, workflowSwiftFactoryName } from "./swiftNaming.js";
46
46
  // the database Swift generator (issue #1653, class 3b). Function-time use only,
47
47
  // so the generator.ts ↔ dbGenerator.ts import cycle resolves safely.
48
48
  import { DB_SWIFT_BANNER_PREFIXES } from "./dbGenerator.js";
49
+ // The third Swift generator's banner (#3344). It lives in a leaf module, so
50
+ // naming it here adds no import cycle.
51
+ import { FUNCTION_SWIFT_BANNER_PREFIX } from "./banners.js";
49
52
  import { assertNoRetainedSiblingCollision, assertNoForeignGeneratorSymbolCollision, } from "./siblingSymbols.js";
50
53
  /** Suffix identifying a generated Swift file. */
51
54
  export const GENERATED_SWIFT_FILE_SUFFIX = ".generated.swift";
@@ -104,8 +107,12 @@ function parseWorkflow(input) {
104
107
  }),
105
108
  };
106
109
  }
107
- /** A Swift string literal for the workflow key (runtime call passes it verbatim). */
108
- function swiftKeyLiteral(key) {
110
+ /**
111
+ * A Swift string literal for a config key (the runtime call passes it
112
+ * verbatim). Exported so the functions emitter (#3344) pins its key literals
113
+ * through the SAME escape helper rather than a second copy of these rules.
114
+ */
115
+ export function swiftKeyLiteral(key) {
109
116
  const escaped = key
110
117
  .replace(/\\/g, "\\\\")
111
118
  .replace(/"/g, '\\"')
@@ -407,13 +414,13 @@ export async function generateWorkflowSwiftTypes(options) {
407
414
  // coexist regardless of ordering.
408
415
  await assertNoForeignGeneratorSymbolCollision({
409
416
  outputDir: outAbs,
410
- foreignBanner: DB_SWIFT_BANNER_PREFIXES,
417
+ foreignBanner: [...DB_SWIFT_BANNER_PREFIXES, FUNCTION_SWIFT_BANNER_PREFIX],
411
418
  suffix: GENERATED_SWIFT_FILE_SUFFIX,
412
419
  emitted: symbolOwner,
413
- makeError: ({ symbol, owner, siblingStem }) => new SwiftCodegenError(`swift workflow codegen: type-name collision with a database-generated ` +
420
+ makeError: ({ symbol, owner, siblingStem }) => new SwiftCodegenError(`swift workflow codegen: type-name collision with another generator's ` +
414
421
  `file — workflow key "${owner}" emits Swift type "${symbol}", but the ` +
415
422
  `existing "${siblingStem}${GENERATED_SWIFT_FILE_SUFFIX}" (owned by the ` +
416
- `database Swift generator) already declares a top-level "${symbol}" in ` +
423
+ `database or functions Swift generator) already declares a top-level "${symbol}" in ` +
417
424
  `the same output directory, which redeclares when all .generated.swift ` +
418
425
  `files compile into one module. Rename the workflow or the ` +
419
426
  `"${siblingStem}" database type so the two differ after Swift ` +
@@ -427,14 +434,18 @@ export async function generateWorkflowSwiftTypes(options) {
427
434
  generatedSuffix: GENERATED_SWIFT_FILE_SUFFIX,
428
435
  ownershipBanner: SWIFT_BANNER_PREFIX,
429
436
  // Class 3b: never clobber a file owned by the database Swift generator —
430
- // including one it stamped before the #2760 banner rename.
431
- foreignOwnershipBanners: DB_SWIFT_BANNER_PREFIXES,
437
+ // including one it stamped before the #2760 banner rename — or by the
438
+ // functions Swift generator (#3344).
439
+ foreignOwnershipBanners: [
440
+ ...DB_SWIFT_BANNER_PREFIXES,
441
+ FUNCTION_SWIFT_BANNER_PREFIX,
442
+ ],
432
443
  onForeignBannerCollision: ({ filePath, foreignBanner }) => new SwiftCodegenError(`swift codegen: output collision — this run would overwrite ` +
433
444
  `"${path.basename(filePath)}" in the shared output directory, which ` +
434
445
  `is already owned by a different generator (banner ` +
435
- `"${foreignBanner.trim()}"). A workflow key and a database type with ` +
436
- `the same name cannot share an output directory; give one generator a ` +
437
- `separate --output directory.`),
446
+ `"${foreignBanner.trim()}"). A workflow key and a database type or ` +
447
+ `function key with the same name cannot share an output directory; ` +
448
+ `give one generator a separate --output directory.`),
438
449
  });
439
450
  }
440
451
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/generator.ts"],"names":[],"mappings":"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"}
@@ -70,3 +70,18 @@ export interface SwiftCodegenContext {
70
70
  * Swift source for the type only — the CLI adds the import/banner (Phase 2).
71
71
  */
72
72
  export declare function renderSwiftRootType(rootTypeName: string, schema: any, ctx?: SwiftCodegenContext): string;
73
+ /**
74
+ * `renderSwiftRootType`, plus whether the ROOT type it declared is itself
75
+ * Optional — the alias form a nullable root union produces
76
+ * (`typealias <Key>Input = String?`).
77
+ *
78
+ * A caller that wraps the root type in another `?` would double-wrap it, and a
79
+ * caller that treats `nil` as "no value" would lose the JSON `null` the
80
+ * declaration allows. The Swift functions emitter (#3344) needs both answers:
81
+ * it neither re-optionalizes an already-optional input parameter nor lets a
82
+ * `nil` fall through to the client's "omit `rootInput`" path.
83
+ */
84
+ export declare function renderSwiftRootTypeDetail(rootTypeName: string, schema: any, ctx?: SwiftCodegenContext): {
85
+ decl: string;
86
+ optional: boolean;
87
+ };