primitive-admin 1.0.60 → 1.0.62
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/README.md +125 -69
- package/assets/skill/skills/primitive-platform/SKILL.md +336 -37
- package/dist/bin/primitive.js +29 -14
- package/dist/bin/primitive.js.map +1 -1
- package/dist/src/commands/admins.js +22 -8
- package/dist/src/commands/admins.js.map +1 -1
- package/dist/src/commands/analytics.js +96 -16
- package/dist/src/commands/analytics.js.map +1 -1
- package/dist/src/commands/apps.js +49 -188
- package/dist/src/commands/apps.js.map +1 -1
- package/dist/src/commands/blob-buckets.js +50 -155
- package/dist/src/commands/blob-buckets.js.map +1 -1
- package/dist/src/commands/collection-type-configs.js +14 -100
- package/dist/src/commands/collection-type-configs.js.map +1 -1
- package/dist/src/commands/collections.js +47 -8
- package/dist/src/commands/collections.js.map +1 -1
- package/dist/src/commands/config.d.ts +46 -0
- package/dist/src/commands/config.js +479 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/connections.d.ts +2 -0
- package/dist/src/commands/connections.js +100 -0
- package/dist/src/commands/connections.js.map +1 -0
- package/dist/src/commands/cron-triggers.js +84 -176
- package/dist/src/commands/cron-triggers.js.map +1 -1
- package/dist/src/commands/database-type-configs.d.ts +2 -0
- package/dist/src/commands/database-type-configs.js +171 -0
- package/dist/src/commands/database-type-configs.js.map +1 -0
- package/dist/src/commands/database-types.js +4 -4
- package/dist/src/commands/database-types.js.map +1 -1
- package/dist/src/commands/databases.d.ts +63 -0
- package/dist/src/commands/databases.js +649 -87
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/documents.js +869 -12
- package/dist/src/commands/documents.js.map +1 -1
- package/dist/src/commands/email-templates.js +18 -125
- package/dist/src/commands/email-templates.js.map +1 -1
- package/dist/src/commands/env.d.ts +12 -1
- package/dist/src/commands/env.js +98 -25
- package/dist/src/commands/env.js.map +1 -1
- package/dist/src/commands/feature-flags.d.ts +14 -0
- package/dist/src/commands/feature-flags.js +116 -0
- package/dist/src/commands/feature-flags.js.map +1 -0
- package/dist/src/commands/group-type-configs.js +14 -109
- package/dist/src/commands/group-type-configs.js.map +1 -1
- package/dist/src/commands/init.d.ts +9 -1
- package/dist/src/commands/init.js +1058 -279
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/integrations.js +136 -421
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/metadata-category-configs.d.ts +12 -0
- package/dist/src/commands/metadata-category-configs.js +112 -0
- package/dist/src/commands/metadata-category-configs.js.map +1 -0
- package/dist/src/commands/metadata.js +33 -141
- package/dist/src/commands/metadata.js.map +1 -1
- package/dist/src/commands/prompts.js +206 -563
- package/dist/src/commands/prompts.js.map +1 -1
- package/dist/src/commands/rule-sets.d.ts +1 -1
- package/dist/src/commands/rule-sets.js +16 -132
- package/dist/src/commands/rule-sets.js.map +1 -1
- package/dist/src/commands/scripts.js +67 -234
- package/dist/src/commands/scripts.js.map +1 -1
- package/dist/src/commands/sessions.d.ts +2 -0
- package/dist/src/commands/sessions.js +75 -0
- package/dist/src/commands/sessions.js.map +1 -0
- package/dist/src/commands/skill.js +2 -2
- package/dist/src/commands/skill.js.map +1 -1
- package/dist/src/commands/sync-app-settings.d.ts +113 -70
- package/dist/src/commands/sync-app-settings.js +193 -242
- package/dist/src/commands/sync-app-settings.js.map +1 -1
- package/dist/src/commands/sync.d.ts +1932 -49
- package/dist/src/commands/sync.js +9584 -1725
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/tokens.js +8 -2
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/users.js +92 -1
- package/dist/src/commands/users.js.map +1 -1
- package/dist/src/commands/vars.js +44 -58
- package/dist/src/commands/vars.js.map +1 -1
- package/dist/src/commands/webhooks.js +318 -156
- package/dist/src/commands/webhooks.js.map +1 -1
- package/dist/src/commands/workflows.d.ts +49 -12
- package/dist/src/commands/workflows.js +652 -1043
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/access-rule-display.d.ts +21 -0
- package/dist/src/lib/access-rule-display.js +34 -0
- package/dist/src/lib/access-rule-display.js.map +1 -0
- package/dist/src/lib/api-client.d.ts +630 -61
- package/dist/src/lib/api-client.js +676 -116
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-settings-descriptor.d.ts +180 -25
- package/dist/src/lib/app-settings-descriptor.js +403 -82
- package/dist/src/lib/app-settings-descriptor.js.map +1 -1
- package/dist/src/lib/canonical-json.d.ts +12 -0
- package/dist/src/lib/canonical-json.js +35 -0
- package/dist/src/lib/canonical-json.js.map +1 -0
- package/dist/src/lib/cli-manifest.d.ts +8 -0
- package/dist/src/lib/cli-manifest.js +1 -0
- package/dist/src/lib/cli-manifest.js.map +1 -1
- package/dist/src/lib/codegen-shared/generatedFiles.d.ts +6 -2
- package/dist/src/lib/codegen-shared/generatedFiles.js +9 -2
- package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +6 -6
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +8 -8
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -1
- package/dist/src/lib/config-object-descriptor.d.ts +127 -0
- package/dist/src/lib/config-object-descriptor.js +658 -0
- package/dist/src/lib/config-object-descriptor.js.map +1 -0
- package/dist/src/lib/config-payload.d.ts +85 -0
- package/dist/src/lib/config-payload.js +116 -0
- package/dist/src/lib/config-payload.js.map +1 -0
- package/dist/src/lib/config-surface.d.ts +130 -0
- package/dist/src/lib/config-surface.js +300 -0
- package/dist/src/lib/config-surface.js.map +1 -0
- package/dist/src/lib/credentials-store.d.ts +10 -0
- package/dist/src/lib/credentials-store.js +23 -0
- package/dist/src/lib/credentials-store.js.map +1 -1
- package/dist/src/lib/data-input.d.ts +23 -0
- package/dist/src/lib/data-input.js +50 -0
- package/dist/src/lib/data-input.js.map +1 -0
- package/dist/src/lib/db-codegen/dbTemplates.js +1 -1
- package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
- package/dist/src/lib/db-codegen/dbTypeIR.d.ts +1 -1
- package/dist/src/lib/env-resolver-core.d.ts +147 -0
- package/dist/src/lib/env-resolver-core.js +265 -0
- package/dist/src/lib/env-resolver-core.js.map +1 -0
- package/dist/src/lib/env-resolver.d.ts +28 -6
- package/dist/src/lib/env-resolver.js +44 -32
- package/dist/src/lib/env-resolver.js.map +1 -1
- package/dist/src/lib/generated-allowlist.js +13 -0
- package/dist/src/lib/generated-allowlist.js.map +1 -1
- package/dist/src/lib/generated-config-surfaces.d.ts +682 -0
- package/dist/src/lib/generated-config-surfaces.js +4058 -0
- package/dist/src/lib/generated-config-surfaces.js.map +1 -0
- package/dist/src/lib/generated-template-lint.d.ts +212 -0
- package/dist/src/lib/generated-template-lint.js +624 -0
- package/dist/src/lib/generated-template-lint.js.map +1 -0
- package/dist/src/lib/init-adopt.d.ts +16 -0
- package/dist/src/lib/init-adopt.js +34 -0
- package/dist/src/lib/init-adopt.js.map +1 -0
- package/dist/src/lib/init-assets.d.ts +39 -0
- package/dist/src/lib/init-assets.js +97 -0
- package/dist/src/lib/init-assets.js.map +1 -0
- package/dist/src/lib/init-config.d.ts +44 -5
- package/dist/src/lib/init-config.js +80 -7
- package/dist/src/lib/init-config.js.map +1 -1
- package/dist/src/lib/init-ios-links.d.ts +50 -0
- package/dist/src/lib/init-ios-links.js +153 -0
- package/dist/src/lib/init-ios-links.js.map +1 -0
- package/dist/src/lib/init-plan.d.ts +80 -0
- package/dist/src/lib/init-plan.js +95 -0
- package/dist/src/lib/init-plan.js.map +1 -0
- package/dist/src/lib/init-production-env.d.ts +48 -0
- package/dist/src/lib/init-production-env.js +59 -0
- package/dist/src/lib/init-production-env.js.map +1 -0
- package/dist/src/lib/init-schema.d.ts +74 -0
- package/dist/src/lib/init-schema.js +358 -0
- package/dist/src/lib/init-schema.js.map +1 -0
- package/dist/src/lib/init-xcode.d.ts +33 -0
- package/dist/src/lib/init-xcode.js +114 -0
- package/dist/src/lib/init-xcode.js.map +1 -0
- package/dist/src/lib/integration-request-config.d.ts +30 -0
- package/dist/src/lib/integration-request-config.js +145 -0
- package/dist/src/lib/integration-request-config.js.map +1 -0
- package/dist/src/lib/local-state.d.ts +55 -0
- package/dist/src/lib/local-state.js +167 -0
- package/dist/src/lib/local-state.js.map +1 -0
- package/dist/src/lib/log-inspection.d.ts +568 -0
- package/dist/src/lib/log-inspection.js +639 -0
- package/dist/src/lib/log-inspection.js.map +1 -0
- package/dist/src/lib/migration-nag.d.ts +2 -2
- package/dist/src/lib/migration-nag.js +3 -3
- package/dist/src/lib/object-status-filter.d.ts +22 -0
- package/dist/src/lib/object-status-filter.js +45 -0
- package/dist/src/lib/object-status-filter.js.map +1 -0
- package/dist/src/lib/output.d.ts +24 -1
- package/dist/src/lib/output.js +42 -1
- package/dist/src/lib/output.js.map +1 -1
- package/dist/src/lib/package-manager.d.ts +140 -0
- package/dist/src/lib/package-manager.js +305 -0
- package/dist/src/lib/package-manager.js.map +1 -0
- package/dist/src/lib/paginate.d.ts +50 -0
- package/dist/src/lib/paginate.js +53 -0
- package/dist/src/lib/paginate.js.map +1 -1
- package/dist/src/lib/platform-owned.d.ts +29 -3
- package/dist/src/lib/platform-owned.js +42 -3
- package/dist/src/lib/platform-owned.js.map +1 -1
- package/dist/src/lib/project-config.js +13 -5
- package/dist/src/lib/project-config.js.map +1 -1
- package/dist/src/lib/query-operators.d.ts +1 -1
- package/dist/src/lib/query-operators.js +1 -1
- package/dist/src/lib/record-filter.d.ts +18 -0
- package/dist/src/lib/record-filter.js +55 -0
- package/dist/src/lib/record-filter.js.map +1 -0
- package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
- package/dist/src/lib/resolve-init-dev-port.js +55 -0
- package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
- package/dist/src/lib/resolve-init-server.d.ts +64 -0
- package/dist/src/lib/resolve-init-server.js +77 -0
- package/dist/src/lib/resolve-init-server.js.map +1 -0
- package/dist/src/lib/resolve-platform.d.ts +43 -14
- package/dist/src/lib/resolve-platform.js +74 -12
- package/dist/src/lib/resolve-platform.js.map +1 -1
- package/dist/src/lib/run-status.d.ts +19 -0
- package/dist/src/lib/run-status.generated.d.ts +39 -0
- package/dist/src/lib/run-status.generated.js +66 -0
- package/dist/src/lib/run-status.generated.js.map +1 -0
- package/dist/src/lib/run-status.js +19 -0
- package/dist/src/lib/run-status.js.map +1 -0
- package/dist/src/lib/server-text-normalization.d.ts +51 -0
- package/dist/src/lib/server-text-normalization.js +90 -0
- package/dist/src/lib/server-text-normalization.js.map +1 -0
- package/dist/src/lib/server-url.d.ts +22 -0
- package/dist/src/lib/server-url.js +33 -0
- package/dist/src/lib/server-url.js.map +1 -0
- package/dist/src/lib/signing-secret-status.d.ts +81 -0
- package/dist/src/lib/signing-secret-status.js +116 -0
- package/dist/src/lib/signing-secret-status.js.map +1 -0
- package/dist/src/lib/skill-installer.d.ts +4 -2
- package/dist/src/lib/skill-installer.js +143 -12
- package/dist/src/lib/skill-installer.js.map +1 -1
- package/dist/src/lib/snapshots.d.ts +2 -2
- package/dist/src/lib/snapshots.js +2 -2
- package/dist/src/lib/swift-codegen/dbGenerator.d.ts +15 -2
- package/dist/src/lib/swift-codegen/dbGenerator.js +250 -18
- package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
- package/dist/src/lib/swift-codegen/generator.d.ts +11 -2
- package/dist/src/lib/swift-codegen/generator.js +181 -7
- package/dist/src/lib/swift-codegen/generator.js.map +1 -1
- package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +7 -3
- package/dist/src/lib/swift-codegen/siblingSymbols.js +4 -1
- package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -1
- package/dist/src/lib/sync-dir-selector.d.ts +21 -0
- package/dist/src/lib/sync-dir-selector.js +30 -0
- package/dist/src/lib/sync-dir-selector.js.map +1 -0
- package/dist/src/lib/sync-paths.d.ts +39 -0
- package/dist/src/lib/sync-paths.js +70 -2
- package/dist/src/lib/sync-paths.js.map +1 -1
- package/dist/src/lib/sync-resource-types.d.ts +138 -31
- package/dist/src/lib/sync-resource-types.js +241 -47
- package/dist/src/lib/sync-resource-types.js.map +1 -1
- package/dist/src/lib/sync-selectors.d.ts +95 -0
- package/dist/src/lib/sync-selectors.js +228 -0
- package/dist/src/lib/sync-selectors.js.map +1 -0
- package/dist/src/lib/template.d.ts +62 -4
- package/dist/src/lib/template.js +147 -39
- package/dist/src/lib/template.js.map +1 -1
- package/dist/src/lib/test-case-keys.d.ts +29 -0
- package/dist/src/lib/test-case-keys.js +55 -0
- package/dist/src/lib/test-case-keys.js.map +1 -0
- package/dist/src/lib/test-case-variables.d.ts +15 -0
- package/dist/src/lib/test-case-variables.js +29 -0
- package/dist/src/lib/test-case-variables.js.map +1 -0
- package/dist/src/lib/toml-database-config.d.ts +4 -4
- package/dist/src/lib/toml-database-config.js +27 -34
- package/dist/src/lib/toml-database-config.js.map +1 -1
- package/dist/src/lib/toml-metadata-config.d.ts +9 -5
- package/dist/src/lib/toml-metadata-config.js +40 -45
- package/dist/src/lib/toml-metadata-config.js.map +1 -1
- package/dist/src/lib/toml-native-form.d.ts +1 -1
- package/dist/src/lib/toml-native-form.js +1 -1
- package/dist/src/lib/toml-params-validator.d.ts +1 -1
- package/dist/src/lib/toml-params-validator.js +1 -1
- package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
- package/dist/src/lib/toml-scalar-edit.js +283 -0
- package/dist/src/lib/toml-scalar-edit.js.map +1 -0
- package/dist/src/lib/user-selector.d.ts +24 -0
- package/dist/src/lib/user-selector.js +33 -0
- package/dist/src/lib/user-selector.js.map +1 -0
- package/dist/src/lib/version-check.d.ts +25 -0
- package/dist/src/lib/version-check.js +77 -8
- package/dist/src/lib/version-check.js.map +1 -1
- package/dist/src/lib/watch.d.ts +121 -0
- package/dist/src/lib/watch.js +169 -0
- package/dist/src/lib/watch.js.map +1 -0
- package/dist/src/lib/workflow-apply.d.ts +69 -45
- package/dist/src/lib/workflow-apply.js +99 -72
- package/dist/src/lib/workflow-apply.js.map +1 -1
- package/dist/src/lib/workflow-codegen/generator.js +4 -4
- package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
- package/dist/src/lib/workflow-codegen/invokerIR.d.ts +11 -0
- package/dist/src/lib/workflow-codegen/invokerIR.js +5 -0
- package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
- package/dist/src/lib/workflow-config-apply.d.ts +70 -0
- package/dist/src/lib/workflow-config-apply.js +137 -0
- package/dist/src/lib/workflow-config-apply.js.map +1 -0
- package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
- package/dist/src/lib/workflow-config-sidecar.js +96 -0
- package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
- package/dist/src/lib/workflow-defaults.d.ts +29 -0
- package/dist/src/lib/workflow-defaults.js +41 -0
- package/dist/src/lib/workflow-defaults.js.map +1 -0
- package/dist/src/lib/workflow-fragments.d.ts +23 -0
- package/dist/src/lib/workflow-fragments.js +229 -8
- package/dist/src/lib/workflow-fragments.js.map +1 -1
- package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
- package/dist/src/lib/workflow-include-preserve.js +286 -0
- package/dist/src/lib/workflow-include-preserve.js.map +1 -0
- package/dist/src/lib/workflow-payload.d.ts +31 -20
- package/dist/src/lib/workflow-payload.js +100 -93
- package/dist/src/lib/workflow-payload.js.map +1 -1
- package/dist/src/lib/workflow-toml-validator.d.ts +80 -3
- package/dist/src/lib/workflow-toml-validator.js +231 -3
- package/dist/src/lib/workflow-toml-validator.js.map +1 -1
- package/dist/src/types/index.d.ts +78 -22
- package/dist/src/validators.d.ts +7 -7
- package/dist/src/validators.js +6 -6
- package/package.json +11 -6
- package/dist/src/commands/settings.d.ts +0 -15
- package/dist/src/commands/settings.js +0 -102
- package/dist/src/commands/settings.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-object-descriptor.js","sourceRoot":"","sources":["../../../src/lib/config-object-descriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Definition-driven TOML ↔ payload projection (issue #2644).
|
|
3
|
+
*
|
|
4
|
+
* Every configuration object used to restate its field surface twice inside the
|
|
5
|
+
* CLI — once in a pull serializer and once in a push payload literal — so a
|
|
6
|
+
* field added to one and not the other simply disappeared, and a pull → push
|
|
7
|
+
* cycle cleared it server-side. These two functions replace both halves: the
|
|
8
|
+
* FIELD LIST comes from the vendored definition, and only the handful of fields
|
|
9
|
+
* whose shape or presence semantics are genuinely their own carry a producer.
|
|
10
|
+
*
|
|
11
|
+
* `projectRecordToToml` is the pull half, `buildPayloadFromToml` the push half.
|
|
12
|
+
* They read the same `ConfigTable`, so they cannot disagree about which fields
|
|
13
|
+
* exist — which is the whole point.
|
|
14
|
+
*/
|
|
15
|
+
import { writableFieldNames, type ConfigField, type ConfigTable } from "./generated-config-surfaces.js";
|
|
16
|
+
export type PushMode = "create" | "update";
|
|
17
|
+
/**
|
|
18
|
+
* Per-field value producer for the PULL half: the value to write under the
|
|
19
|
+
* field's `tomlKey`, or `undefined` to omit the key. Registered only for fields
|
|
20
|
+
* whose emitted shape is their own (a parsed JSON blob, a derived default);
|
|
21
|
+
* every other field follows its declared `emit`.
|
|
22
|
+
*/
|
|
23
|
+
export type PullValue = (record: any, field: ConfigField) => any;
|
|
24
|
+
/**
|
|
25
|
+
* Per-field value producer for the PUSH half. `value` is the raw TOML value
|
|
26
|
+
* under the field's `tomlKey`. Registered only for fields whose presence
|
|
27
|
+
* semantics are their own — most importantly the TOML-owned fields that send
|
|
28
|
+
* `?? null` so removing a line CLEARS the value server-side (#1567) rather than
|
|
29
|
+
* leaving a stale one live.
|
|
30
|
+
*/
|
|
31
|
+
export type PushValue = (value: any, mode: PushMode, tomlTable: any) => any;
|
|
32
|
+
/**
|
|
33
|
+
* Project a server record onto its TOML table, using the definition's field
|
|
34
|
+
* list and `emit` semantics.
|
|
35
|
+
*
|
|
36
|
+
* `emit: "always"` writes the value as-is (an `undefined` is dropped by the
|
|
37
|
+
* TOML serializer). `emit: "whenSet"` omits an unset value — `isEmptyForEmit`
|
|
38
|
+
* is #1033's shared rule, where an empty array/object counts as unset while
|
|
39
|
+
* `false` and `0` never do — so a fresh pull does not write noisy empty keys
|
|
40
|
+
* (and `config diff` does not report a difference that is not there).
|
|
41
|
+
*
|
|
42
|
+
* A field WITH a producer skips that emptiness rule: the producer decides, and
|
|
43
|
+
* says "omit" by returning `undefined` or `null` (TOML has no null). This is
|
|
44
|
+
* what the workflow serializer has always done, and it is load-bearing — the
|
|
45
|
+
* empty JSON Schema `{}` is a real, distinct value ("accepts anything"), so a
|
|
46
|
+
* generic "an empty object is unset" would drop it on pull and the next push
|
|
47
|
+
* would clear it server-side.
|
|
48
|
+
*/
|
|
49
|
+
export declare function projectRecordToToml(table: ConfigTable, record: any, values?: Record<string, PullValue>): Record<string, any>;
|
|
50
|
+
/**
|
|
51
|
+
* Build the create/update body's field half from a parsed TOML table.
|
|
52
|
+
*
|
|
53
|
+
* Only fields the definition says the server accepts in `mode` are included, so
|
|
54
|
+
* an immutable key (`ttlTier`) or a field the create handler assigns itself
|
|
55
|
+
* (`state`) is never sent — the definition is what records that, not a comment
|
|
56
|
+
* at the call site. A field with no producer is a scalar passthrough: the TOML
|
|
57
|
+
* value is forwarded as-is, and a truly-absent key is `undefined`, which
|
|
58
|
+
* `JSON.stringify` drops so the stored value stands.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildPayloadFromToml(table: ConfigTable, tomlTable: any, { mode, values }: {
|
|
61
|
+
mode: PushMode;
|
|
62
|
+
values?: Record<string, PushValue>;
|
|
63
|
+
}): Record<string, any>;
|
|
64
|
+
/**
|
|
65
|
+
* Build the create/update body from an entity ALREADY in wire shape.
|
|
66
|
+
*
|
|
67
|
+
* The structured objects parse their TOML into an entity first — resolving a
|
|
68
|
+
* `ruleSetName` to the id the server wants, defaulting `autoAddCreator`,
|
|
69
|
+
* re-serializing the `[models.*]` blocks into the stored `schema` string — and
|
|
70
|
+
* only then build the body. `buildPayloadFromToml` reads TOML keys; this reads
|
|
71
|
+
* wire field names, so the same definition drives both without either of them
|
|
72
|
+
* restating the field list.
|
|
73
|
+
*/
|
|
74
|
+
export declare function projectEntityToPayload(table: ConfigTable, entity: any, { mode, values }: {
|
|
75
|
+
mode: PushMode;
|
|
76
|
+
values?: Record<string, PushValue>;
|
|
77
|
+
}): Record<string, any>;
|
|
78
|
+
/**
|
|
79
|
+
* A TOML-owned field: send value-or-`null` so removing the line from the file
|
|
80
|
+
* clears it server-side (#1567). Shared because six objects need exactly this
|
|
81
|
+
* for `description`, and stating it once is the point of the epic.
|
|
82
|
+
*/
|
|
83
|
+
export declare const tomlOwned: PushValue;
|
|
84
|
+
/** The field names `mode` accepts — re-exported so callers need one import. */
|
|
85
|
+
export { writableFieldNames };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Definition-driven TOML ↔ payload projection (issue #2644).
|
|
3
|
+
*
|
|
4
|
+
* Every configuration object used to restate its field surface twice inside the
|
|
5
|
+
* CLI — once in a pull serializer and once in a push payload literal — so a
|
|
6
|
+
* field added to one and not the other simply disappeared, and a pull → push
|
|
7
|
+
* cycle cleared it server-side. These two functions replace both halves: the
|
|
8
|
+
* FIELD LIST comes from the vendored definition, and only the handful of fields
|
|
9
|
+
* whose shape or presence semantics are genuinely their own carry a producer.
|
|
10
|
+
*
|
|
11
|
+
* `projectRecordToToml` is the pull half, `buildPayloadFromToml` the push half.
|
|
12
|
+
* They read the same `ConfigTable`, so they cannot disagree about which fields
|
|
13
|
+
* exist — which is the whole point.
|
|
14
|
+
*/
|
|
15
|
+
import { isEmptyForEmit, writableFieldNames, } from "./generated-config-surfaces.js";
|
|
16
|
+
/**
|
|
17
|
+
* Project a server record onto its TOML table, using the definition's field
|
|
18
|
+
* list and `emit` semantics.
|
|
19
|
+
*
|
|
20
|
+
* `emit: "always"` writes the value as-is (an `undefined` is dropped by the
|
|
21
|
+
* TOML serializer). `emit: "whenSet"` omits an unset value — `isEmptyForEmit`
|
|
22
|
+
* is #1033's shared rule, where an empty array/object counts as unset while
|
|
23
|
+
* `false` and `0` never do — so a fresh pull does not write noisy empty keys
|
|
24
|
+
* (and `config diff` does not report a difference that is not there).
|
|
25
|
+
*
|
|
26
|
+
* A field WITH a producer skips that emptiness rule: the producer decides, and
|
|
27
|
+
* says "omit" by returning `undefined` or `null` (TOML has no null). This is
|
|
28
|
+
* what the workflow serializer has always done, and it is load-bearing — the
|
|
29
|
+
* empty JSON Schema `{}` is a real, distinct value ("accepts anything"), so a
|
|
30
|
+
* generic "an empty object is unset" would drop it on pull and the next push
|
|
31
|
+
* would clear it server-side.
|
|
32
|
+
*/
|
|
33
|
+
export function projectRecordToToml(table, record, values = {}) {
|
|
34
|
+
const out = {};
|
|
35
|
+
for (const field of table.fields) {
|
|
36
|
+
const produce = values[field.field];
|
|
37
|
+
const value = produce ? produce(record, field) : record?.[field.field];
|
|
38
|
+
if (produce) {
|
|
39
|
+
if (value === undefined || value === null)
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
else if (field.emit === "whenSet" && isEmptyForEmit(value, field.type)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (value === undefined)
|
|
46
|
+
continue;
|
|
47
|
+
out[field.tomlKey] = value;
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build the create/update body's field half from a parsed TOML table.
|
|
53
|
+
*
|
|
54
|
+
* Only fields the definition says the server accepts in `mode` are included, so
|
|
55
|
+
* an immutable key (`ttlTier`) or a field the create handler assigns itself
|
|
56
|
+
* (`state`) is never sent — the definition is what records that, not a comment
|
|
57
|
+
* at the call site. A field with no producer is a scalar passthrough: the TOML
|
|
58
|
+
* value is forwarded as-is, and a truly-absent key is `undefined`, which
|
|
59
|
+
* `JSON.stringify` drops so the stored value stands.
|
|
60
|
+
*/
|
|
61
|
+
export function buildPayloadFromToml(table, tomlTable, { mode, values = {} }) {
|
|
62
|
+
const source = tomlTable && typeof tomlTable === "object" ? tomlTable : {};
|
|
63
|
+
const payload = {};
|
|
64
|
+
for (const field of table.fields) {
|
|
65
|
+
if (!field.writableOn.includes(mode))
|
|
66
|
+
continue;
|
|
67
|
+
const produce = values[field.field];
|
|
68
|
+
if (produce) {
|
|
69
|
+
payload[field.field] = produce(source[field.tomlKey], mode, source);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const value = source[field.tomlKey];
|
|
73
|
+
// #2880 DSO-002 — the file is the source of truth (#1567), so an absent key
|
|
74
|
+
// means the field's DECLARED default rather than "leave whatever the server
|
|
75
|
+
// has". Sending it is what makes the comparison's reading of that absence
|
|
76
|
+
// (the same default) something a push can converge on: dropping the key
|
|
77
|
+
// left an out-of-band change in place and re-reported it on every run.
|
|
78
|
+
payload[field.field] =
|
|
79
|
+
value === undefined && field.serverDefault !== undefined
|
|
80
|
+
? field.serverDefault
|
|
81
|
+
: value;
|
|
82
|
+
}
|
|
83
|
+
return payload;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build the create/update body from an entity ALREADY in wire shape.
|
|
87
|
+
*
|
|
88
|
+
* The structured objects parse their TOML into an entity first — resolving a
|
|
89
|
+
* `ruleSetName` to the id the server wants, defaulting `autoAddCreator`,
|
|
90
|
+
* re-serializing the `[models.*]` blocks into the stored `schema` string — and
|
|
91
|
+
* only then build the body. `buildPayloadFromToml` reads TOML keys; this reads
|
|
92
|
+
* wire field names, so the same definition drives both without either of them
|
|
93
|
+
* restating the field list.
|
|
94
|
+
*/
|
|
95
|
+
export function projectEntityToPayload(table, entity, { mode, values = {} }) {
|
|
96
|
+
const source = entity && typeof entity === "object" ? entity : {};
|
|
97
|
+
const payload = {};
|
|
98
|
+
for (const field of table.fields) {
|
|
99
|
+
if (!field.writableOn.includes(mode))
|
|
100
|
+
continue;
|
|
101
|
+
const produce = values[field.field];
|
|
102
|
+
payload[field.field] = produce
|
|
103
|
+
? produce(source[field.field], mode, source)
|
|
104
|
+
: source[field.field];
|
|
105
|
+
}
|
|
106
|
+
return payload;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A TOML-owned field: send value-or-`null` so removing the line from the file
|
|
110
|
+
* clears it server-side (#1567). Shared because six objects need exactly this
|
|
111
|
+
* for `description`, and stating it once is the point of the epic.
|
|
112
|
+
*/
|
|
113
|
+
export const tomlOwned = (value) => value ?? null;
|
|
114
|
+
/** The field names `mode` accepts — re-exported so callers need one import. */
|
|
115
|
+
export { writableFieldNames };
|
|
116
|
+
//# sourceMappingURL=config-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-payload.js","sourceRoot":"","sources":["../../../src/lib/config-payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CLI's view of the configuration-object definitions (issue #2644).
|
|
3
|
+
*
|
|
4
|
+
* Everything here reads the committed, build-time-vendored artifact
|
|
5
|
+
* `generated-config-surfaces.ts` — the CLI never imports server `src/` at
|
|
6
|
+
* runtime. This module is the small amount of CLI-side wiring on top: table
|
|
7
|
+
* lookup that fails loudly, and the two unrecognized-key behaviors the design
|
|
8
|
+
* gate settled (2026-08-12):
|
|
9
|
+
*
|
|
10
|
+
* - `config push` REJECTS any TOML key a definition does not recognize, so a
|
|
11
|
+
* mistyped key fails locally instead of being silently dropped.
|
|
12
|
+
* - `config pull` WARNS about any server key this CLI version does not know and
|
|
13
|
+
* does NOT write it to the file. Writing it through would set a trap: the
|
|
14
|
+
* next push would reject the key it had just written. A version-gap round
|
|
15
|
+
* trip is therefore loud-and-lossy — push omits what it does not know, so
|
|
16
|
+
* the server keeps its stored values — never silently destructive.
|
|
17
|
+
*/
|
|
18
|
+
import { retiredConfigKey, type ConfigObjectSurface, type ConfigField, type ConfigTable } from "./generated-config-surfaces.js";
|
|
19
|
+
export { retiredConfigKey };
|
|
20
|
+
/** A surface by label. Throws rather than silently skipping checks. */
|
|
21
|
+
export declare function requireConfigSurface(label: string): ConfigObjectSurface;
|
|
22
|
+
/** A table by label and TOML path. Throws rather than silently skipping checks. */
|
|
23
|
+
export declare function requireConfigTable(label: string, tomlPath: readonly string[]): ConfigTable;
|
|
24
|
+
/** The `[workflow]` table — the first migrated object (#2644 phase 1). */
|
|
25
|
+
export declare const WORKFLOW_TABLE: ConfigTable;
|
|
26
|
+
export declare const PROMPT_TABLE: ConfigTable;
|
|
27
|
+
export declare const PROMPT_CONFIG_TABLE: ConfigTable;
|
|
28
|
+
export declare const INTEGRATION_TABLE: ConfigTable;
|
|
29
|
+
export declare const WEBHOOK_TABLE: ConfigTable;
|
|
30
|
+
export declare const CRON_TRIGGER_TABLE: ConfigTable;
|
|
31
|
+
export declare const BLOB_BUCKET_TABLE: ConfigTable;
|
|
32
|
+
export declare const EMAIL_TEMPLATE_TABLE: ConfigTable;
|
|
33
|
+
export declare const DATABASE_TYPE_TABLE: ConfigTable;
|
|
34
|
+
export declare const RULE_SET_TABLE: ConfigTable;
|
|
35
|
+
export declare const GROUP_TYPE_CONFIG_TABLE: ConfigTable;
|
|
36
|
+
export declare const COLLECTION_TYPE_CONFIG_TABLE: ConfigTable;
|
|
37
|
+
export declare const METADATA_CATEGORY_CONFIG_TABLE: ConfigTable;
|
|
38
|
+
/**
|
|
39
|
+
* The `[test]` table of a `<key>.tests/*.toml` sidecar (#2644 phase 3).
|
|
40
|
+
*
|
|
41
|
+
* Test cases are a registered surface but NOT a `SYNC_RESOURCE_TYPES`
|
|
42
|
+
* directory, so the preflight that crosses the registry with that table never
|
|
43
|
+
* reaches them. Resolved here so the sidecar files get the same
|
|
44
|
+
* unrecognized-key posture as every per-entity file: push rejects a key the
|
|
45
|
+
* definition does not know, pull names a server key this CLI cannot manage.
|
|
46
|
+
*/
|
|
47
|
+
export declare const TEST_CASE_TABLE: ConfigTable;
|
|
48
|
+
/** The `test-case` surface itself, for the sidecars' document-shape check. */
|
|
49
|
+
export declare const TEST_CASE_SURFACE: ConfigObjectSurface;
|
|
50
|
+
/**
|
|
51
|
+
* Does this field's declared type genuinely admit more than one spelling
|
|
52
|
+
* (#2880 criterion 5)?
|
|
53
|
+
*
|
|
54
|
+
* Two sources, both recorded rather than inferred: the definition's own
|
|
55
|
+
* `dualEncoded` marker (the #2869 server-`StringField` numbers), and the `json`
|
|
56
|
+
* type, which `config pull` itself writes either as a native TOML table or —
|
|
57
|
+
* for a value TOML cannot hold — as JSON text.
|
|
58
|
+
*/
|
|
59
|
+
export declare function fieldAdmitsMultipleEncodings(field: ConfigField): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Does this string spell a number the way the SERVER reads one back (#2880)?
|
|
62
|
+
*
|
|
63
|
+
* The grammar is `parseFloat`'s — sign, digits, one dot, an exponent, and
|
|
64
|
+
* nothing else — because that is what the server applies to the string it
|
|
65
|
+
* stored when it returns the value parsed. Published here so the declared-type
|
|
66
|
+
* validator and the comparator decide "is a number" the same way: a dual
|
|
67
|
+
* encoding the validator accepts must be one the comparison can equate, or
|
|
68
|
+
* `temperature = "warm"` passes preflight and then differs from the `null` the
|
|
69
|
+
* server reads it back as, on every run, with no push that can clear it.
|
|
70
|
+
*/
|
|
71
|
+
export declare function spellsDecimalNumber(value: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Every value in `tomlData` whose spelling does not match the type its field
|
|
74
|
+
* declares (#2880 criterion 5).
|
|
75
|
+
*
|
|
76
|
+
* Run by `config push`'s preflight — so a mistyped value fails before any
|
|
77
|
+
* request is issued — and by `config diff`, which renders the identical
|
|
78
|
+
* message instead of calling the file Synced. One validator, one message, two
|
|
79
|
+
* commands: the failure this replaces is a file diff reports as Synced and
|
|
80
|
+
* push then rejects (or, worse, coerces into a value the author did not write).
|
|
81
|
+
*
|
|
82
|
+
* A repeated table names the offending entry by index, so a typo in the third
|
|
83
|
+
* `[[configs]]` block is as findable as one in the first.
|
|
84
|
+
*/
|
|
85
|
+
export declare function configDeclaredTypeErrors(filePath: string, tomlData: unknown, table: ConfigTable): string[];
|
|
86
|
+
/**
|
|
87
|
+
* TOML keys in `table` that the definition does not recognize.
|
|
88
|
+
*
|
|
89
|
+
* `config push` turns these into a hard error naming each key, for every migrated
|
|
90
|
+
* type — today's workflow posture (`validateWorkflowToml`'s misnest detector),
|
|
91
|
+
* generalized to whole tables and every configuration object.
|
|
92
|
+
*/
|
|
93
|
+
export declare function findUnknownTomlKeys(tomlTable: unknown, table: ConfigTable): string[];
|
|
94
|
+
/**
|
|
95
|
+
* Server-response keys this CLI version does not recognize — a newer server
|
|
96
|
+
* returning a field the vendored definition has never heard of.
|
|
97
|
+
*/
|
|
98
|
+
export declare function findUnknownServerKeys(payload: unknown, table: ConfigTable): string[];
|
|
99
|
+
/**
|
|
100
|
+
* The `config pull` warning for keys this CLI version cannot manage. Names the
|
|
101
|
+
* file and every key, and says what to do — nothing is dropped without a
|
|
102
|
+
* message (#2644 criterion 6).
|
|
103
|
+
*/
|
|
104
|
+
export declare function unrecognizedPullKeysMessage(file: string, tomlPath: readonly string[], keys: readonly string[]): string;
|
|
105
|
+
/**
|
|
106
|
+
* Name the server keys this CLI version does not recognize, without writing
|
|
107
|
+
* them (#2644 criterion 6). No logger means no warning — the caller decides
|
|
108
|
+
* where the message goes.
|
|
109
|
+
*/
|
|
110
|
+
export declare function warnUnrecognizedServerKeys(record: unknown, table: ConfigTable, file: string, logger?: (message: string) => void): void;
|
|
111
|
+
/**
|
|
112
|
+
* Top-level TOML keys in `tomlData` the object's definition does not declare —
|
|
113
|
+
* a typo'd table header (`[integraton]`), a table from a newer CLI, or a stray
|
|
114
|
+
* section. Rejected by `config push` for the same reason an unrecognized key
|
|
115
|
+
* inside a table is: silently ignoring it made the file push as though the
|
|
116
|
+
* table it meant to write were empty, which CLEARED the TOML-owned fields
|
|
117
|
+
* server-side.
|
|
118
|
+
*/
|
|
119
|
+
export declare function findUnknownDocumentKeys(tomlData: unknown, surface: ConfigObjectSurface): string[];
|
|
120
|
+
/** Field tables present in the wrong shape — `[configs]` for `[[configs]]`. */
|
|
121
|
+
export declare function findMisshapenTables(tomlData: unknown, surface: ConfigObjectSurface): Array<{
|
|
122
|
+
key: string;
|
|
123
|
+
expected: "table" | "array of tables";
|
|
124
|
+
}>;
|
|
125
|
+
/** The `config push` error for unrecognized top-level TOML tables. */
|
|
126
|
+
export declare function unrecognizedPushTablesMessage(file: string, keys: readonly string[]): string;
|
|
127
|
+
/** The `config push` error for a field table written with the wrong array markers. */
|
|
128
|
+
export declare function misshapenTableMessage(file: string, key: string, expected: "table" | "array of tables"): string;
|
|
129
|
+
/** The `config push` error for unrecognized TOML keys. */
|
|
130
|
+
export declare function unrecognizedPushKeysMessage(file: string, tomlPath: readonly string[], keys: readonly string[]): string;
|