primitive-admin 1.0.55 → 1.0.57
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.
- package/assets/skill/skills/primitive-platform/SKILL.md +230 -2
- package/dist/bin/primitive.js +1 -1
- package/dist/src/commands/database-types.js +4 -4
- package/dist/src/commands/database-types.js.map +1 -1
- package/dist/src/commands/databases.js +5 -5
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/documents.js +2 -2
- package/dist/src/commands/documents.js.map +1 -1
- package/dist/src/commands/guides.d.ts +15 -12
- package/dist/src/commands/guides.js +22 -15
- package/dist/src/commands/guides.js.map +1 -1
- package/dist/src/commands/metadata.js +48 -3
- package/dist/src/commands/metadata.js.map +1 -1
- package/dist/src/commands/scripts.d.ts +18 -0
- package/dist/src/commands/scripts.js +59 -5
- package/dist/src/commands/scripts.js.map +1 -1
- package/dist/src/commands/sync-app-settings.d.ts +14 -4
- package/dist/src/commands/sync-app-settings.js +48 -8
- package/dist/src/commands/sync-app-settings.js.map +1 -1
- package/dist/src/commands/sync.d.ts +100 -0
- package/dist/src/commands/sync.js +1578 -402
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/workflows.js +23 -6
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/api-client.d.ts +27 -1
- package/dist/src/lib/api-client.js +25 -2
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-settings-descriptor.js +4 -0
- package/dist/src/lib/app-settings-descriptor.js.map +1 -1
- package/dist/src/lib/codegen-shared/generatedFiles.d.ts +21 -0
- package/dist/src/lib/codegen-shared/generatedFiles.js +40 -0
- package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
- package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
- package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
- package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
- package/dist/src/lib/db-codegen/dbGenerator.js +8 -5
- package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -1
- package/dist/src/lib/db-codegen/dbNaming.d.ts +5 -0
- package/dist/src/lib/db-codegen/dbNaming.js +8 -2
- package/dist/src/lib/db-codegen/dbNaming.js.map +1 -1
- package/dist/src/lib/db-codegen/dbTemplates.d.ts +17 -2
- package/dist/src/lib/db-codegen/dbTemplates.js +85 -40
- package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
- package/dist/src/lib/db-codegen/dbTsTypes.d.ts +13 -22
- package/dist/src/lib/db-codegen/dbTsTypes.js +33 -28
- package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -1
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +11 -0
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +11 -0
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -1
- package/dist/src/lib/generated-allowlist.js +7 -0
- package/dist/src/lib/generated-allowlist.js.map +1 -1
- package/dist/src/lib/platform-owned.d.ts +37 -0
- package/dist/src/lib/platform-owned.js +46 -0
- package/dist/src/lib/platform-owned.js.map +1 -0
- package/dist/src/lib/swift-codegen/dbGenerator.d.ts +32 -0
- package/dist/src/lib/swift-codegen/dbGenerator.js +338 -36
- package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
- package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +1 -1
- package/dist/src/lib/swift-codegen/dbSwiftTypes.js +1 -1
- package/dist/src/lib/swift-codegen/generator.d.ts +1 -0
- package/dist/src/lib/swift-codegen/generator.js +91 -3
- package/dist/src/lib/swift-codegen/generator.js.map +1 -1
- package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +90 -0
- package/dist/src/lib/swift-codegen/siblingSymbols.js +152 -0
- package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
- package/dist/src/lib/sync-resource-types.d.ts +222 -10
- package/dist/src/lib/sync-resource-types.js +407 -20
- package/dist/src/lib/sync-resource-types.js.map +1 -1
- package/dist/src/lib/template.d.ts +1 -1
- package/dist/src/lib/template.js +6 -3
- package/dist/src/lib/template.js.map +1 -1
- package/dist/src/lib/toml-metadata-config.js +18 -0
- package/dist/src/lib/toml-metadata-config.js.map +1 -1
- package/dist/src/lib/workflow-apply.js +12 -2
- package/dist/src/lib/workflow-apply.js.map +1 -1
- package/dist/src/lib/workflow-codegen/generator.d.ts +9 -0
- package/dist/src/lib/workflow-codegen/generator.js +126 -55
- package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
- package/dist/src/lib/workflow-codegen/invokerIR.d.ts +6 -8
- package/dist/src/lib/workflow-codegen/invokerIR.js +8 -8
- package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
- package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +17 -1
- package/dist/src/lib/workflow-codegen/schemaToTs.js +59 -38
- package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -1
- package/dist/src/lib/workflow-payload.d.ts +19 -0
- package/dist/src/lib/workflow-payload.js +21 -0
- package/dist/src/lib/workflow-payload.js.map +1 -1
- package/dist/src/lib/workflow-toml-validator.d.ts +30 -0
- package/dist/src/lib/workflow-toml-validator.js +206 -0
- package/dist/src/lib/workflow-toml-validator.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- 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
|
-
/**
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
|
276
|
-
* method per op, each binding `<Op>Params` in
|
|
277
|
-
* generic `DatabasesAPI.executeOperation`
|
|
278
|
-
*
|
|
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
|
|
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
|
-
`/// \`${
|
|
289
|
-
`public struct ${
|
|
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 ${
|
|
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
|
-
|
|
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
|
|
478
|
+
const topLevelSymbol = new Map(); // symbol → owner 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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
352
|
-
|
|
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
|
-
|
|
357
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
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
|