primitive-admin 1.0.55 → 1.0.56

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 (92) hide show
  1. package/assets/skill/skills/primitive-platform/SKILL.md +230 -2
  2. package/dist/bin/primitive.js +1 -1
  3. package/dist/src/commands/database-types.js +4 -4
  4. package/dist/src/commands/database-types.js.map +1 -1
  5. package/dist/src/commands/databases.js +5 -5
  6. package/dist/src/commands/databases.js.map +1 -1
  7. package/dist/src/commands/documents.js +2 -2
  8. package/dist/src/commands/documents.js.map +1 -1
  9. package/dist/src/commands/guides.d.ts +15 -12
  10. package/dist/src/commands/guides.js +22 -15
  11. package/dist/src/commands/guides.js.map +1 -1
  12. package/dist/src/commands/metadata.js +48 -3
  13. package/dist/src/commands/metadata.js.map +1 -1
  14. package/dist/src/commands/scripts.d.ts +18 -0
  15. package/dist/src/commands/scripts.js +59 -5
  16. package/dist/src/commands/scripts.js.map +1 -1
  17. package/dist/src/commands/sync-app-settings.d.ts +14 -4
  18. package/dist/src/commands/sync-app-settings.js +48 -8
  19. package/dist/src/commands/sync-app-settings.js.map +1 -1
  20. package/dist/src/commands/sync.d.ts +100 -0
  21. package/dist/src/commands/sync.js +1578 -402
  22. package/dist/src/commands/sync.js.map +1 -1
  23. package/dist/src/commands/workflows.js +23 -6
  24. package/dist/src/commands/workflows.js.map +1 -1
  25. package/dist/src/lib/api-client.d.ts +27 -1
  26. package/dist/src/lib/api-client.js +25 -2
  27. package/dist/src/lib/api-client.js.map +1 -1
  28. package/dist/src/lib/app-settings-descriptor.js +4 -0
  29. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  30. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +21 -0
  31. package/dist/src/lib/codegen-shared/generatedFiles.js +40 -0
  32. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
  33. package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
  34. package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
  35. package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
  36. package/dist/src/lib/db-codegen/dbGenerator.js +8 -5
  37. package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -1
  38. package/dist/src/lib/db-codegen/dbNaming.d.ts +5 -0
  39. package/dist/src/lib/db-codegen/dbNaming.js +8 -2
  40. package/dist/src/lib/db-codegen/dbNaming.js.map +1 -1
  41. package/dist/src/lib/db-codegen/dbTemplates.d.ts +17 -2
  42. package/dist/src/lib/db-codegen/dbTemplates.js +85 -40
  43. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
  44. package/dist/src/lib/db-codegen/dbTsTypes.d.ts +13 -22
  45. package/dist/src/lib/db-codegen/dbTsTypes.js +33 -28
  46. package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -1
  47. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +11 -0
  48. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +11 -0
  49. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -1
  50. package/dist/src/lib/generated-allowlist.js +7 -0
  51. package/dist/src/lib/generated-allowlist.js.map +1 -1
  52. package/dist/src/lib/platform-owned.d.ts +37 -0
  53. package/dist/src/lib/platform-owned.js +46 -0
  54. package/dist/src/lib/platform-owned.js.map +1 -0
  55. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +32 -0
  56. package/dist/src/lib/swift-codegen/dbGenerator.js +338 -36
  57. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  58. package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +1 -1
  59. package/dist/src/lib/swift-codegen/dbSwiftTypes.js +1 -1
  60. package/dist/src/lib/swift-codegen/generator.d.ts +1 -0
  61. package/dist/src/lib/swift-codegen/generator.js +91 -3
  62. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  63. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +90 -0
  64. package/dist/src/lib/swift-codegen/siblingSymbols.js +152 -0
  65. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
  66. package/dist/src/lib/sync-resource-types.d.ts +222 -10
  67. package/dist/src/lib/sync-resource-types.js +407 -20
  68. package/dist/src/lib/sync-resource-types.js.map +1 -1
  69. package/dist/src/lib/template.d.ts +1 -1
  70. package/dist/src/lib/template.js +6 -3
  71. package/dist/src/lib/template.js.map +1 -1
  72. package/dist/src/lib/toml-metadata-config.js +18 -0
  73. package/dist/src/lib/toml-metadata-config.js.map +1 -1
  74. package/dist/src/lib/workflow-apply.js +12 -2
  75. package/dist/src/lib/workflow-apply.js.map +1 -1
  76. package/dist/src/lib/workflow-codegen/generator.d.ts +9 -0
  77. package/dist/src/lib/workflow-codegen/generator.js +126 -55
  78. package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
  79. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +6 -8
  80. package/dist/src/lib/workflow-codegen/invokerIR.js +8 -8
  81. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
  82. package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +17 -1
  83. package/dist/src/lib/workflow-codegen/schemaToTs.js +59 -38
  84. package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -1
  85. package/dist/src/lib/workflow-payload.d.ts +19 -0
  86. package/dist/src/lib/workflow-payload.js +21 -0
  87. package/dist/src/lib/workflow-payload.js.map +1 -1
  88. package/dist/src/lib/workflow-toml-validator.d.ts +30 -0
  89. package/dist/src/lib/workflow-toml-validator.js +206 -0
  90. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  91. package/dist/src/types/index.d.ts +1 -0
  92. package/package.json +2 -1
@@ -33,7 +33,9 @@ import * as path from "path";
33
33
  import { writeOrCheckGeneratedFiles, } from "../codegen-shared/generatedFiles.js";
34
34
  import { describeDbType, } from "../db-codegen/dbTypeIR.js";
35
35
  import { resolveRecordInterfaceName, opParamsInterfaceName, opResultAliasName, } from "../db-codegen/dbNaming.js";
36
- import { GENERATED_SWIFT_FILE_SUFFIX } from "./generator.js";
36
+ import { GENERATED_SWIFT_FILE_SUFFIX, SWIFT_BANNER_PREFIX } from "./generator.js";
37
+ import { assertNoRetainedSiblingCollision, assertNoForeignGeneratorSymbolCollision, } from "./siblingSymbols.js";
38
+ import { SwiftCodegenError } from "./schemaToSwift.js";
37
39
  import { structTypeName, enumTypeName, enumCaseNames, swiftPropertyName, unescapeIdentifier, } from "./swiftNaming.js";
38
40
  import { swiftTypeForDbFieldType, swiftTypeForDbParamType, } from "./dbSwiftTypes.js";
39
41
  /**
@@ -70,18 +72,126 @@ function dbParamsSwiftTypeName(opName) {
70
72
  function dbResultSwiftTypeName(opName) {
71
73
  return structTypeName(opResultAliasName(opName));
72
74
  }
73
- /** `<Type>Ops` Swift struct name (e.g. `securities-ref` → `SecuritiesRefOps`). */
74
- function dbOpsStructName(databaseType) {
75
- return `${structTypeName(databaseType)}Ops`;
75
+ /**
76
+ * Namespace `enum` name for a database type (issue #1687). Every symbol a type
77
+ * emits is nested under `public enum <Type>` (`securities-ref` →
78
+ * `SecuritiesRef`), so two DB types can never collide on a shared op symbol.
79
+ * Reuses the same `structTypeName` sanitizer (keyword suffixing + digit-leading
80
+ * `_` guard) the old `<Type>Ops` derivation used, so the namespace name is a
81
+ * legal Swift type identifier.
82
+ */
83
+ export function dbNamespaceName(databaseType) {
84
+ return structTypeName(databaseType);
76
85
  }
77
- /** camelCase `<type>Ops` free-function factory name, keyword-escaped. */
78
- function dbOpsFactoryName(databaseType) {
79
- const base = structTypeName(databaseType);
80
- const camel = base.charAt(0).toLowerCase() + base.slice(1) + "Ops";
81
- // A leading `_` (digit-safe struct name) stays; a camelCased factory name is
82
- // a legal `func` identifier and never a reserved word once suffixed `Ops`.
83
- return camel;
86
+ /**
87
+ * Swift standard-library / Foundation / `JsBaoClient` SDK type names that the
88
+ * generated `enum <Type>` body references UNQUALIFIED. If a database type's
89
+ * namespace enum takes one of these names, Swift name lookup inside the enum
90
+ * resolves the nested namespace first and shadows the real type — e.g. a
91
+ * `string` database emits `public enum String { }`, and every `String`
92
+ * field, `CodingKeys` raw type, and string argument inside now resolves to the
93
+ * empty namespace enum instead of `Swift.String`, breaking `Codable` synthesis
94
+ * and rejecting string values (Codex [P1], #1687). The generated code never
95
+ * qualifies these references (`Swift.String`, `JsBaoClient.SortDirection`), so
96
+ * the only safe fix is to reject the namespace name at codegen time and have
97
+ * the user rename the database type — consistent with #1653's "clear
98
+ * codegen-time error, the user renames" decision.
99
+ *
100
+ * The set is the union of every type the emitter can reference inside the enum:
101
+ * the scalar/collection types from `dbSwiftTypes.ts`, the protocol conformances
102
+ * stamped on emitted structs/enums, and the SDK envelope + factory types.
103
+ */
104
+ const RESERVED_NAMESPACE_NAMES = new Set([
105
+ // Swift stdlib scalars emitted for record fields / op params.
106
+ "String",
107
+ "Int",
108
+ "Double",
109
+ "Bool",
110
+ // Foundation types a field/param mapping could resolve to (defensive: the
111
+ // current mappings widen date → String, but keep these reserved so a future
112
+ // mapping can't be silently shadowed).
113
+ "Data",
114
+ "Date",
115
+ // Collection types behind the `[…]` / `?` sugar the emitter uses. Sugar isn't
116
+ // shadowed by a nested type, but an explicit reference would be — reserved as
117
+ // defense-in-depth, and a database type normalizing to one of these is a
118
+ // dangerous name regardless.
119
+ "Array",
120
+ "Dictionary",
121
+ "Optional",
122
+ "Set",
123
+ // Protocol conformances stamped on every emitted struct / nested enum.
124
+ "Codable",
125
+ "Decodable",
126
+ "Encodable",
127
+ "Equatable",
128
+ "Hashable",
129
+ "Sendable",
130
+ "CaseIterable",
131
+ "CodingKey",
132
+ // JsBaoClient SDK types the ops factory + result typealiases reference.
133
+ "JsBaoClient",
134
+ "JSONValue",
135
+ "SortDirection",
136
+ "DBQueryResult",
137
+ "DBMutationResult",
138
+ "DBCountResult",
139
+ "DBAggregateResult",
140
+ "DBApplyToQueryResult",
141
+ "DBPipelineResult",
142
+ ]);
143
+ /**
144
+ * Validate that a database type's derived namespace enum name is safe to emit,
145
+ * and return it. Throws a named `SwiftCodegenError` (with a rename hint) for
146
+ * the whole class of unsafe names a server-accepted database type can produce
147
+ * (#1687):
148
+ *
149
+ * 1. **Degenerate `_`** — a type with no retained identifier characters
150
+ * (empty after sanitize, or separator/emoji/punctuation-only, e.g. `--`,
151
+ * `🎉`) normalizes to `_` via `structTypeName`. Swift reserves `_` as the
152
+ * wildcard and rejects `public enum _` (Codex [P2]).
153
+ * 2. **Stdlib/SDK shadowing** — a name in `RESERVED_NAMESPACE_NAMES` shadows
154
+ * a type the generated body references unqualified (Codex [P1]).
155
+ *
156
+ * Leading-digit residue (`123` → `_123`) and Swift reserved words (`self` →
157
+ * `Self_`, `any` → `Any_`) are already lifted into legal, non-shadowing
158
+ * identifiers by `structTypeName` (digit-leading `_` guard + keyword suffix),
159
+ * so they need no rejection here — only names that survive that sanitizer as
160
+ * `_` or as a real type identifier remain unsafe. The two in-run / retained-
161
+ * sibling namespace-NAME collision guards (two database types whose names
162
+ * normalize to the SAME enum) live in `generateDbSwiftTypes`; this check
163
+ * covers the single-type unsafe-name class.
164
+ */
165
+ export function assertSafeNamespaceName(databaseType, sourceFile) {
166
+ const namespaceName = dbNamespaceName(databaseType);
167
+ if (namespaceName === "_") {
168
+ throw new SwiftCodegenError(`swift db codegen: database type "${databaseType}" has no letters or ` +
169
+ `digits to form a Swift type identifier, so it normalizes to the ` +
170
+ `reserved wildcard "_" — the compiler rejects "public enum _". Rename ` +
171
+ `the database type to include at least one letter.`, { sourceFile });
172
+ }
173
+ if (RESERVED_NAMESPACE_NAMES.has(namespaceName)) {
174
+ throw new SwiftCodegenError(`swift db codegen: database type "${databaseType}" normalizes to the ` +
175
+ `Swift namespace "public enum ${namespaceName}", which shadows the ` +
176
+ `standard-library / JsBaoClient SDK type "${namespaceName}" that the ` +
177
+ `generated code references unqualified (record fields, op results, or ` +
178
+ `the ops factory). Inside the enum "${namespaceName}" would resolve to ` +
179
+ `the empty namespace instead of the real type, breaking compilation. ` +
180
+ `Rename the database type so it does not normalize to "${namespaceName}".`, { sourceFile });
181
+ }
182
+ return namespaceName;
84
183
  }
184
+ /**
185
+ * Nested factory struct name inside a DB-type namespace: `Orders.Ops` (issue
186
+ * #1687). Fixed leaf name — the enclosing `enum <Type>` supplies the
187
+ * qualification, so it no longer needs the `<Type>` prefix.
188
+ */
189
+ const DB_OPS_STRUCT_NAME = "Ops";
190
+ /**
191
+ * Nested static factory func name: `Orders.ops(client, databaseId:)` (issue
192
+ * #1687). Replaces the old top-level free `<type>Ops(...)` function.
193
+ */
194
+ const DB_OPS_FACTORY_NAME = "ops";
85
195
  /**
86
196
  * Render a nested `String`-raw enum for a field/param declaring `enum = [...]`.
87
197
  * Matches the JSON-Schema emitter's + model codegen's nested-enum shape.
@@ -272,21 +382,23 @@ function resultSwiftType(op, recordTypeByModel) {
272
382
  }
273
383
  }
274
384
  /**
275
- * Render the typed `<Type>Ops` factory: a struct with one `async throws`
276
- * method per op, each binding `<Op>Params` in and `<Op>Result` out over the
277
- * generic `DatabasesAPI.executeOperation` overload, plus a free-function
278
- * factory. Returns "" for a type with no operations.
385
+ * Render the typed `Ops` factory nested under the type's namespace enum: a
386
+ * struct with one `async throws` method per op, each binding `<Op>Params` in
387
+ * and `<Op>Result` out over the generic `DatabasesAPI.executeOperation`
388
+ * overload, plus a static `ops(client, databaseId:)` factory on the namespace
389
+ * (issue #1687). Returns "" for a type with no operations. The emitted block is
390
+ * un-indented here; `renderDbTypeSwiftFile` wraps the whole per-type body in
391
+ * `public enum <Type> { … }` and indents it one level.
279
392
  */
280
393
  function renderOpsFactory(databaseType, ops) {
281
394
  if (ops.length === 0)
282
395
  return "";
283
- const structName = dbOpsStructName(databaseType);
284
- const factoryName = dbOpsFactoryName(databaseType);
396
+ const namespaceName = dbNamespaceName(databaseType);
285
397
  const b = INDENT;
286
398
  const lines = [
287
399
  `/// Typed accessor for \`${databaseType}\` operations. Obtain one with`,
288
- `/// \`${factoryName}(client, databaseId:)\`.`,
289
- `public struct ${structName}: Sendable {`,
400
+ `/// \`${namespaceName}.${DB_OPS_FACTORY_NAME}(client, databaseId:)\`.`,
401
+ `public struct ${DB_OPS_STRUCT_NAME}: Sendable {`,
290
402
  `${b}public let client: JsBaoClient`,
291
403
  `${b}public let databaseId: String`,
292
404
  ``,
@@ -310,9 +422,21 @@ function renderOpsFactory(databaseType, ops) {
310
422
  lines.push(`${b}${b}limit: Int? = nil,`, `${b}${b}cursor: String? = nil,`, `${b}${b}direction: SortDirection? = nil,`, `${b}${b}timing: Bool? = nil`, `${b}) async throws -> ${resultType} {`, `${b}${b}try await client.databases.executeOperation(`, `${b}${b}${b}databaseId: databaseId,`, `${b}${b}${b}name: ${nameLiteral},`, `${b}${b}${b}params: ${paramsArg},`, `${b}${b}${b}limit: limit,`, `${b}${b}${b}cursor: cursor,`, `${b}${b}${b}direction: direction,`, `${b}${b}${b}timing: timing`, `${b}${b})`, `${b}}`);
311
423
  }
312
424
  lines.push(`}`, ``);
313
- lines.push(`/// Typed operations factory for the \`${databaseType}\` database type.`, `public func ${factoryName}(_ client: JsBaoClient, databaseId: String) -> ${structName} {`, `${b}${structName}(client: client, databaseId: databaseId)`, `}`);
425
+ lines.push(`/// Typed operations factory for the \`${databaseType}\` database type.`, `public static func ${DB_OPS_FACTORY_NAME}(_ client: JsBaoClient, databaseId: String) -> ${DB_OPS_STRUCT_NAME} {`, `${b}${DB_OPS_STRUCT_NAME}(client: client, databaseId: databaseId)`, `}`);
314
426
  return lines.join("\n");
315
427
  }
428
+ /**
429
+ * Indent every non-empty line of a rendered Swift block by `levels` levels
430
+ * (blank lines stay blank, preserving struct-internal spacing). Used to nest a
431
+ * type's declarations one level inside its `enum <Type>` namespace (#1687).
432
+ */
433
+ function indentSwiftLines(text, levels) {
434
+ const pad = INDENT.repeat(levels);
435
+ return text
436
+ .split("\n")
437
+ .map((line) => (line.length === 0 ? line : pad + line))
438
+ .join("\n");
439
+ }
316
440
  /**
317
441
  * Render the full `<type>.generated.swift` content for one database-type TOML.
318
442
  * Pure — exported so tests can assert on the string directly. Throws on a Swift
@@ -320,41 +444,121 @@ function renderOpsFactory(databaseType, ops) {
320
444
  */
321
445
  export function renderDbTypeSwiftFile(input) {
322
446
  const ir = describeDbType(input);
323
- // model Swift record type name, with a collision guard.
447
+ const sourceFile = `database-types/${ir.databaseType}.toml`;
448
+ // Reject an unsafe namespace enum name (empty/separator-only `_`, or a name
449
+ // that shadows a stdlib/SDK type the body references) before any rendering,
450
+ // with a clear rename hint (#1687). `structTypeName` already lifts leading
451
+ // digits and Swift keywords into legal identifiers, so only the degenerate
452
+ // and shadowing cases remain. The validated name is reused at emission below.
453
+ const namespaceName = assertSafeNamespaceName(ir.databaseType, sourceFile);
454
+ // Within-file collision guards (issue #1653). A single
455
+ // `<type>.generated.swift` compiles as one Swift file, so every TOP-LEVEL
456
+ // symbol it declares — record structs, per-op `<Op>Params` structs,
457
+ // `<Op>Result` typealiases, and (for a type with operations) the `<Type>Ops`
458
+ // struct plus its free-function factory — shares ONE namespace and must be
459
+ // unique. The earlier guards kept records and op-params in SEPARATE maps, so a
460
+ // record whose `class_name` resolves to `<Type>Ops` (or to an op's
461
+ // params/result name) slipped through uncaught (Codex [P2]). Track them all in
462
+ // one registry keyed on the emitted symbol.
463
+ //
464
+ // The `<Type>Ops` METHODS live in a SEPARATE (struct-member) namespace, and
465
+ // Swift permits overloading a method name as long as the parameter lists
466
+ // differ. So two ops that normalize to the same method name are tracked apart
467
+ // by their emitted overload SIGNATURE, not the bare method basename: `get.user`
468
+ // and `getuser` produce DISTINCT `<Op>Params` types (`GetUserParams` via
469
+ // `dbNaming.pascalCase`, which splits on `.`, vs `GetuserParams`) but the SAME
470
+ // `getuser` method name (via `swiftPropertyName`, which drops `.`). When both
471
+ // ops take params, each emits `getuser(_ params: <distinct type>, …)` — legal
472
+ // Swift overloads that compile, so the check must ALLOW them (issue #1704). A
473
+ // bare method-name check rejected them as a false positive. Two ops truly
474
+ // redeclare only when the method name AND the parameter signature match — e.g.
475
+ // two PARAM-LESS ops that both emit `getuser(limit:…)` (no `_ params:` at all).
476
+ // The params-type guard alone could never catch that case (Codex [P1]).
324
477
  const recordTypeByModel = {};
325
- const seen = new Map(); // typeNamemodelName
478
+ const topLevelSymbol = new Map(); // symbolowner description
479
+ const methodOwner = new Map(); // op method signature → opName
480
+ const registerTopLevel = (symbol, owner, schemaPath) => {
481
+ const prior = topLevelSymbol.get(symbol);
482
+ if (prior !== undefined && prior !== owner) {
483
+ throw new SwiftCodegenError(`swift db codegen: symbol collision in database type "${ir.databaseType}" — ` +
484
+ `${prior} and ${owner} both produce Swift symbol "${symbol}" in the ` +
485
+ `"${dbNamespaceName(ir.databaseType)}" namespace, ` +
486
+ `which redeclares when the file compiles. Rename one, or add a ` +
487
+ `class_name override, so the two differ after Swift normalization.`, { sourceFile, schemaPath });
488
+ }
489
+ topLevelSymbol.set(symbol, owner);
490
+ };
491
+ // Record structs.
326
492
  for (const rec of ir.records) {
327
493
  const typeName = dbRecordSwiftTypeName(rec.modelName, rec.className);
328
- const prior = seen.get(typeName);
329
- if (prior !== undefined && prior !== rec.modelName) {
330
- throw new Error(`swift db codegen: record type-name collision — models "${prior}" and ` +
331
- `"${rec.modelName}" both produce Swift type "${typeName}". Add a ` +
332
- `class_name override to one of them.`);
333
- }
334
- seen.set(typeName, rec.modelName);
494
+ registerTopLevel(typeName, `record "${rec.modelName}"`, "models");
335
495
  recordTypeByModel[rec.modelName] = typeName;
336
496
  }
497
+ // Per-op params structs, result typealiases, and factory method names.
498
+ for (const op of ir.ops) {
499
+ registerTopLevel(dbParamsSwiftTypeName(op.opName), `operation "${op.opName}" params`, "operations");
500
+ registerTopLevel(dbResultSwiftTypeName(op.opName), `operation "${op.opName}" result`, "operations");
501
+ const method = swiftPropertyName(op.opName);
502
+ // Key on the emitted Swift overload signature, not the bare method name. All
503
+ // ops share the same trailing `limit`/`cursor`/`direction`/`timing` labels
504
+ // and types, so the only thing that distinguishes two same-named methods is
505
+ // the leading `_ params:` parameter: a param-taking op emits its distinct
506
+ // `<Op>Params` type, a param-less op emits none. Ops with distinct param
507
+ // structs are therefore legal overloads (issue #1704); only ops that match
508
+ // on BOTH the method name and this signature redeclare.
509
+ const signature = op.hasParams
510
+ ? `${method}(${dbParamsSwiftTypeName(op.opName)})`
511
+ : `${method}()`;
512
+ const priorOp = methodOwner.get(signature);
513
+ if (priorOp !== undefined && priorOp !== op.opName) {
514
+ throw new SwiftCodegenError(`swift db codegen: operation method-signature collision in database type ` +
515
+ `"${ir.databaseType}" — operations "${priorOp}" and "${op.opName}" ` +
516
+ `both emit the Swift method "${method}" with the same parameter ` +
517
+ `signature in the "${dbNamespaceName(ir.databaseType)}.${DB_OPS_STRUCT_NAME}" factory, which redeclares when the file ` +
518
+ `compiles. Rename one ` +
519
+ `operation, or give them distinct parameters, so the two differ ` +
520
+ `after Swift normalization.`, { sourceFile, schemaPath: "operations" });
521
+ }
522
+ methodOwner.set(signature, op.opName);
523
+ }
524
+ // The nested `Ops` struct + its static `ops` factory (emitted only when the
525
+ // type has operations — see `renderOpsFactory`). Both live inside the type's
526
+ // `enum <Type>` namespace alongside the records/params/results, so a record
527
+ // whose name resolves to `Ops` collides here instead of at `swift build`.
528
+ if (ir.ops.length > 0) {
529
+ registerTopLevel(DB_OPS_STRUCT_NAME, `the \`${DB_OPS_STRUCT_NAME}\` operations struct`, "operations");
530
+ registerTopLevel(DB_OPS_FACTORY_NAME, `the \`${DB_OPS_FACTORY_NAME}\` operations factory`, "operations");
531
+ }
337
532
  const banner = [
338
533
  `// AUTO-GENERATED FROM database-types/${ir.databaseType}.toml — DO NOT EDIT.`,
339
534
  "// Run `primitive databases codegen --lang swift` to regenerate.",
340
535
  `// fingerprint: ${ir.fingerprint}`,
341
536
  ].join("\n");
342
537
  const imports = ["import Foundation", `import ${CLIENT_MODULE}`].join("\n");
343
- const blocks = [banner, imports];
538
+ const bodyBlocks = [];
344
539
  // Record structs, sorted by Swift type name for deterministic output.
345
540
  const sortedRecords = [...ir.records].sort((a, b) => recordTypeByModel[a.modelName].localeCompare(recordTypeByModel[b.modelName]));
346
541
  for (const rec of sortedRecords) {
347
- blocks.push(renderRecordStruct(recordTypeByModel[rec.modelName], rec.fields, ir.stampedFields));
542
+ bodyBlocks.push(renderRecordStruct(recordTypeByModel[rec.modelName], rec.fields, ir.stampedFields));
348
543
  }
349
544
  // Per-op params structs + result aliases (ops already sorted by op name).
350
545
  for (const op of ir.ops) {
351
- blocks.push(renderParamsStruct(dbParamsSwiftTypeName(op.opName), op));
352
- blocks.push(`public typealias ${dbResultSwiftTypeName(op.opName)} = ${resultSwiftType(op, recordTypeByModel)}`);
546
+ bodyBlocks.push(renderParamsStruct(dbParamsSwiftTypeName(op.opName), op));
547
+ bodyBlocks.push(`public typealias ${dbResultSwiftTypeName(op.opName)} = ${resultSwiftType(op, recordTypeByModel)}`);
353
548
  }
354
549
  const factory = renderOpsFactory(ir.databaseType, ir.ops);
355
550
  if (factory)
356
- blocks.push(factory);
357
- return blocks.join("\n\n") + "\n";
551
+ bodyBlocks.push(factory);
552
+ // Nest every symbol under a caseless `public enum <Type>` namespace (#1687),
553
+ // so `Orders.ListParams` and `Invoices.ListParams` can never collide when all
554
+ // `.generated.swift` files compile into one module. An empty database type
555
+ // still emits `public enum <Type> {}` — stable, deterministic type presence
556
+ // (sponsor decision 2026-07-19). `namespaceName` was validated + derived at
557
+ // the top of this function via `assertSafeNamespaceName`.
558
+ const namespaced = bodyBlocks.length === 0
559
+ ? `public enum ${namespaceName} {}`
560
+ : `public enum ${namespaceName} {\n${indentSwiftLines(bodyBlocks.join("\n\n"), 1)}\n}`;
561
+ return [banner, imports, namespaced].join("\n\n") + "\n";
358
562
  }
359
563
  /**
360
564
  * Run Swift database codegen end-to-end. One `<type>.generated.swift` per
@@ -363,11 +567,101 @@ export function renderDbTypeSwiftFile(input) {
363
567
  */
364
568
  export async function generateDbSwiftTypes(options) {
365
569
  const outAbs = path.resolve(options.outputDir);
570
+ // Run-scoped namespace registry: normalized namespace enum name → the
571
+ // database type that emitted it. Namespacing every symbol under
572
+ // `public enum <Type>` (issue #1687) makes cross-type symbol collisions
573
+ // structurally impossible — `Orders.ListParams` and `Invoices.ListParams`
574
+ // can never redeclare. The ONE collision that survives is two DB types whose
575
+ // NAMES normalize to the SAME namespace enum identifier (e.g. `my-type` and
576
+ // `my_type` both → `MyType`); they emit two `enum MyType` blocks that
577
+ // redeclare when the files compile into one module. Fork 3 (sponsor decision
578
+ // 2026-07-19): scope this guard to DB namespaces within the run, and drop the
579
+ // old cross-type OP-SYMBOL registry (that collision class no longer exists
580
+ // after namespacing).
581
+ //
582
+ // This in-run map only catches the namespace-name clash when BOTH colliding
583
+ // types are in `options.inputs` — i.e. a full run. A filtered / single-type
584
+ // run (`singleType: true`) has just the selected type in `inputs` and keeps
585
+ // its siblings on disk untouched (`fullOwnership: false`), so a retained
586
+ // `my_type.generated.swift` already declaring `public enum MyType` would
587
+ // never enter this map and would still redeclare at `swift build`. The
588
+ // retained-sibling guard below closes that residual for filtered runs — it
589
+ // compares the NAMESPACE NAME (not the old op symbols) against siblings'
590
+ // declared top-level symbols.
591
+ const namespaceOwner = new Map();
366
592
  const filesToWrite = new Map();
367
593
  for (const input of options.inputs) {
594
+ // renderDbTypeSwiftFile throws on the within-file record/op collisions
595
+ // (classes 2 + record guard) before we reach the namespace registry.
596
+ const content = renderDbTypeSwiftFile(input);
597
+ const namespace = dbNamespaceName(input.databaseType);
598
+ const prior = namespaceOwner.get(namespace);
599
+ if (prior !== undefined && prior !== input.databaseType) {
600
+ throw new SwiftCodegenError(`swift db codegen: namespace collision — database types "${prior}" and ` +
601
+ `"${input.databaseType}" both normalize to the Swift namespace ` +
602
+ `"${namespace}", so each emits a "public enum ${namespace}" that ` +
603
+ `redeclares when all .generated.swift files compile into one module. ` +
604
+ `Rename one database type so the two differ after Swift normalization.`, { sourceFile: `database-types/${input.databaseType}.toml` });
605
+ }
606
+ namespaceOwner.set(namespace, input.databaseType);
368
607
  const filePath = path.join(outAbs, `${input.databaseType}${GENERATED_SWIFT_FILE_SUFFIX}`);
369
- filesToWrite.set(filePath, renderDbTypeSwiftFile(input));
608
+ filesToWrite.set(filePath, content);
370
609
  }
610
+ // Filtered-run retained-sibling namespace-name collision (issue #1687). A
611
+ // `singleType` run renders only the selected type; its sibling
612
+ // `.generated.swift` files stay on disk but never enter `namespaceOwner`
613
+ // above, so this run's `public enum <Type>` could still redeclare against a
614
+ // retained sibling that declares the SAME enum (e.g. this run emits
615
+ // `enum MyType` for `my-type` while `my_type.generated.swift` on disk already
616
+ // declares `enum MyType`). Each DB file nests everything under one
617
+ // `public enum <Type>`, so a sibling's ONLY top-level symbol IS its namespace
618
+ // name — comparing the run's emitted namespace names against the siblings'
619
+ // parsed top-level symbols is exactly the namespace-name check. `emitted` is
620
+ // the run's namespace-name → owning database type map; the run's own output
621
+ // paths are excluded, so a filtered re-run of the same type never
622
+ // self-collides. (Full runs are already covered by `namespaceOwner` above.)
623
+ if (options.singleType === true) {
624
+ await assertNoRetainedSiblingCollision({
625
+ outputDir: outAbs,
626
+ ownershipBanner: DB_SWIFT_BANNER_PREFIX,
627
+ suffix: GENERATED_SWIFT_FILE_SUFFIX,
628
+ emitted: namespaceOwner,
629
+ ownPaths: filesToWrite.keys(),
630
+ makeError: ({ symbol, owner, siblingStem }) => new SwiftCodegenError(`swift db codegen: namespace collision with a retained sibling — ` +
631
+ `database type "${owner}" (this run) and the existing ` +
632
+ `"${siblingStem}${GENERATED_SWIFT_FILE_SUFFIX}" both declare the ` +
633
+ `Swift namespace "public enum ${symbol}", which redeclares when all ` +
634
+ `.generated.swift files compile into one module. A filtered ` +
635
+ `(single-type) run does not regenerate siblings, so both files ` +
636
+ `coexist. Rename one database type so the two differ after Swift ` +
637
+ `normalization, or regenerate the whole output directory.`, { sourceFile: `database-types/${owner}.toml` }),
638
+ });
639
+ }
640
+ // Cross-generator namespace collision (issue #1857). A database type's
641
+ // namespace enum name can match a top-level symbol a WORKFLOW-generated file
642
+ // already declares in a shared output dir — e.g. db type `foo-input` emits
643
+ // `public enum FooInput` while workflow `foo` emits a top-level struct
644
+ // `FooInput`. Their filenames differ, so the foreign-banner WRITE guard below
645
+ // (path-only) never trips, and the retained-sibling guard above only scans
646
+ // DB-owned files. This scan reads the workflow-owned siblings' declared
647
+ // top-level symbols and throws if the run's namespace name collides with any.
648
+ // It runs on every db run (not just filtered), because a full db run does not
649
+ // regenerate workflow files — they coexist regardless of ordering.
650
+ await assertNoForeignGeneratorSymbolCollision({
651
+ outputDir: outAbs,
652
+ foreignBanner: SWIFT_BANNER_PREFIX,
653
+ suffix: GENERATED_SWIFT_FILE_SUFFIX,
654
+ emitted: namespaceOwner,
655
+ makeError: ({ symbol, owner, siblingStem }) => new SwiftCodegenError(`swift db codegen: namespace collision with a workflow-generated file — ` +
656
+ `database type "${owner}" emits the Swift namespace ` +
657
+ `"public enum ${symbol}", but the existing ` +
658
+ `"${siblingStem}${GENERATED_SWIFT_FILE_SUFFIX}" (owned by the workflow ` +
659
+ `Swift generator) already declares a top-level "${symbol}" in the same ` +
660
+ `output directory, which redeclares when all .generated.swift files ` +
661
+ `compile into one module. Rename the database type or the "${siblingStem}" ` +
662
+ `workflow so the two differ after Swift normalization, or give one ` +
663
+ `generator a separate --output directory.`, { sourceFile: `database-types/${owner}.toml` }),
664
+ });
371
665
  return await writeOrCheckGeneratedFiles({
372
666
  outputDir: outAbs,
373
667
  filesToWrite,
@@ -375,6 +669,14 @@ export async function generateDbSwiftTypes(options) {
375
669
  fullOwnership: options.singleType !== true,
376
670
  generatedSuffix: GENERATED_SWIFT_FILE_SUFFIX,
377
671
  ownershipBanner: DB_SWIFT_BANNER_PREFIX,
672
+ // Class 3b: never clobber a file owned by the workflow Swift generator.
673
+ foreignOwnershipBanners: [SWIFT_BANNER_PREFIX],
674
+ onForeignBannerCollision: ({ filePath, foreignBanner }) => new SwiftCodegenError(`swift codegen: output collision — this run would overwrite ` +
675
+ `"${path.basename(filePath)}" in the shared output directory, which ` +
676
+ `is already owned by a different generator (banner ` +
677
+ `"${foreignBanner.trim()}"). A database type and a workflow key with ` +
678
+ `the same name cannot share an output directory; give one generator a ` +
679
+ `separate --output directory.`),
378
680
  });
379
681
  }
380
682
  //# sourceMappingURL=dbGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dbGenerator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/dbGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dbGenerator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/dbGenerator.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export declare function swiftTypeForDbField(fieldType: string, enumTypeName?: st
32
32
  export declare function swiftTypeForDbParamScalar(paramType: string): string;
33
33
  /**
34
34
  * Swift type for an op param, honoring an optional nested-enum type name (#861)
35
- * and an `array` element type (#1488). Mirrors `dbTsTypes.tsTypeForDbParamType`.
35
+ * and an `array` element type (#1488). Mirrors `dbTsTypes.typeNodeForDbParamType`.
36
36
  * - array param: `[Element]`, where `items` is the scalar element type (a
37
37
  * string-element array with an enum renders `[EnumName]`); a missing/
38
38
  * unresolved element renders `[JSONValue]`.
@@ -70,7 +70,7 @@ export function swiftTypeForDbParamScalar(paramType) {
70
70
  }
71
71
  /**
72
72
  * Swift type for an op param, honoring an optional nested-enum type name (#861)
73
- * and an `array` element type (#1488). Mirrors `dbTsTypes.tsTypeForDbParamType`.
73
+ * and an `array` element type (#1488). Mirrors `dbTsTypes.typeNodeForDbParamType`.
74
74
  * - array param: `[Element]`, where `items` is the scalar element type (a
75
75
  * string-element array with an enum renders `[EnumName]`); a missing/
76
76
  * unresolved element renders `[JSONValue]`.
@@ -75,6 +75,7 @@ export declare function workflowSwiftTypeBaseName(key: string): string;
75
75
  export declare function renderWorkflowSwiftFile(input: WorkflowSwiftCodegenInput): {
76
76
  key: string;
77
77
  content: string;
78
+ symbols: string[];
78
79
  } | null;
79
80
  /**
80
81
  * Run Swift workflow codegen end-to-end. One `<key>.generated.swift` per