primitive-admin 1.2.0-alpha.7 → 1.2.0-alpha.8

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 (65) hide show
  1. package/README.md +8 -2
  2. package/assets/skill/skills/primitive-platform/SKILL.md +12 -6
  3. package/dist/src/commands/apps-children.js +2 -0
  4. package/dist/src/commands/apps-children.js.map +1 -1
  5. package/dist/src/commands/auth.js +107 -33
  6. package/dist/src/commands/auth.js.map +1 -1
  7. package/dist/src/commands/databases.js +13 -1
  8. package/dist/src/commands/databases.js.map +1 -1
  9. package/dist/src/commands/documents.js +70 -11
  10. package/dist/src/commands/documents.js.map +1 -1
  11. package/dist/src/commands/sync-app-settings.d.ts +12 -2
  12. package/dist/src/commands/sync-app-settings.js +35 -10
  13. package/dist/src/commands/sync-app-settings.js.map +1 -1
  14. package/dist/src/commands/sync.js +44 -10
  15. package/dist/src/commands/sync.js.map +1 -1
  16. package/dist/src/lib/api-client.d.ts +25 -6
  17. package/dist/src/lib/api-client.js +106 -72
  18. package/dist/src/lib/api-client.js.map +1 -1
  19. package/dist/src/lib/app-settings-descriptor.d.ts +38 -0
  20. package/dist/src/lib/app-settings-descriptor.js +96 -4
  21. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  22. package/dist/src/lib/credentials-home.d.ts +51 -0
  23. package/dist/src/lib/credentials-home.js +169 -0
  24. package/dist/src/lib/credentials-home.js.map +1 -0
  25. package/dist/src/lib/credentials-lock.d.ts +80 -0
  26. package/dist/src/lib/credentials-lock.js +222 -0
  27. package/dist/src/lib/credentials-lock.js.map +1 -0
  28. package/dist/src/lib/credentials-store.d.ts +56 -4
  29. package/dist/src/lib/credentials-store.js +236 -78
  30. package/dist/src/lib/credentials-store.js.map +1 -1
  31. package/dist/src/lib/env-resolver-core.d.ts +1 -1
  32. package/dist/src/lib/env-resolver-core.js.map +1 -1
  33. package/dist/src/lib/function-bundle.d.ts +38 -18
  34. package/dist/src/lib/function-bundle.js +60 -35
  35. package/dist/src/lib/function-bundle.js.map +1 -1
  36. package/dist/src/lib/function-document-types.d.ts +5 -3
  37. package/dist/src/lib/function-document-types.js +10 -14
  38. package/dist/src/lib/function-document-types.js.map +1 -1
  39. package/dist/src/lib/function-source-roots.d.ts +67 -0
  40. package/dist/src/lib/function-source-roots.js +148 -0
  41. package/dist/src/lib/function-source-roots.js.map +1 -0
  42. package/dist/src/lib/function-sync.d.ts +27 -0
  43. package/dist/src/lib/function-sync.js +16 -3
  44. package/dist/src/lib/function-sync.js.map +1 -1
  45. package/dist/src/lib/function-typecheck.d.ts +37 -2
  46. package/dist/src/lib/function-typecheck.js +210 -28
  47. package/dist/src/lib/function-typecheck.js.map +1 -1
  48. package/dist/src/lib/generated-config-surfaces.js +21 -10
  49. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  50. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  51. package/dist/src/lib/generated-sdk-types.js +1 -1
  52. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  53. package/dist/src/lib/login-scope-lines.d.ts +1 -1
  54. package/dist/src/lib/login-scope-lines.js +1 -1
  55. package/dist/src/lib/login-scope-lines.js.map +1 -1
  56. package/dist/src/lib/project-config.d.ts +7 -0
  57. package/dist/src/lib/project-config.js +22 -1
  58. package/dist/src/lib/project-config.js.map +1 -1
  59. package/dist/src/lib/root-import-decision.d.ts +9 -4
  60. package/dist/src/lib/root-import-decision.js +24 -3
  61. package/dist/src/lib/root-import-decision.js.map +1 -1
  62. package/dist/src/lib/scope-request.d.ts +8 -5
  63. package/dist/src/lib/scope-request.js +17 -8
  64. package/dist/src/lib/scope-request.js.map +1 -1
  65. package/package.json +2 -2
@@ -28,7 +28,7 @@ import { existsSync, readFileSync, mkdirSync } from "fs";
28
28
  import { join } from "path";
29
29
  import { createHash } from "crypto";
30
30
  import { parseConfigToml, stringifyConfigToml } from "../lib/config-toml.js";
31
- import { APP_SETTINGS_DESCRIPTOR, APP_SETTINGS_SECTIONS, buildAppSettingsPayload, projectAppSettingsForComparison, serializeAppSettingsToToml, } from "../lib/app-settings-descriptor.js";
31
+ import { APP_SETTINGS_DESCRIPTOR, APP_SETTINGS_SECTIONS, LEGACY_PROTECTED_KEY, buildAppSettingsPayload, projectAppSettingsForComparison, requestedProtectionLevel, serializeAppSettingsToToml, settingsProtectionLevel, } from "../lib/app-settings-descriptor.js";
32
32
  import { canonicalJsonStringify } from "../lib/canonical-json.js";
33
33
  import { writePulledFile } from "../lib/pull-write.js";
34
34
  import { resolveSyncStateReadPath } from "../lib/sync-paths.js";
@@ -149,12 +149,15 @@ export function renderAppSettings(settings) {
149
149
  * A file that already states the same settings is left as it is (#4160): the
150
150
  * comparison is the payload `config diff` and `config push` build from the
151
151
  * file, so its comments, key order and explicit defaults survive the pull.
152
- * `written` says which happened.
152
+ * A file carrying the deprecated `[app].protected` key is always rewritten,
153
+ * so the pull the deprecation warning advertises removes it (#4564,
154
+ * DSO-4564-003). `written` says which happened.
153
155
  */
154
156
  export function writePulledAppSettings(configDir, settings, options = {}) {
155
157
  ensureDir(configDir);
156
158
  const path = appTomlPath(configDir);
157
- const statedName = options.keepStatedName ? readStatedAppName(path) : undefined;
159
+ const stated = readStatedApp(path);
160
+ const statedName = options.keepStatedName ? stated?.name : undefined;
158
161
  let content;
159
162
  if (!options.keepStatedName) {
160
163
  content = serializeAppSettings(settings);
@@ -166,10 +169,21 @@ export function writePulledAppSettings(configDir, settings, options = {}) {
166
169
  data.app.name = statedName;
167
170
  else
168
171
  delete data.app.name;
172
+ const statedLevel = requestedProtectionLevel(stated);
173
+ if (statedLevel !== undefined)
174
+ data.app.protection = statedLevel;
175
+ else
176
+ delete data.app.protection;
169
177
  }
170
178
  content = stringifyConfigToml(data);
171
179
  }
172
- const written = writePulledFile(path, content, options.tally, sameAppSettingsAs(content, { nameOptional: options.keepStatedName }));
180
+ const carriesLegacyKey = !!stated && LEGACY_PROTECTED_KEY in stated;
181
+ const written = writePulledFile(path, content, options.tally, carriesLegacyKey
182
+ ? undefined
183
+ : sameAppSettingsAs(content, {
184
+ nameOptional: options.keepStatedName,
185
+ excludeProtection: options.keepStatedName,
186
+ }));
173
187
  if (written)
174
188
  options.log?.(`Wrote ${path}`);
175
189
  return {
@@ -192,6 +206,7 @@ export function writePulledAppSettings(configDir, settings, options = {}) {
192
206
  function sameAppSettingsAs(serverContent, options) {
193
207
  const payloadOf = (content) => buildAppSettingsPayload(parseConfigToml(content), {
194
208
  nameOptional: options.nameOptional,
209
+ excludeProtection: options.excludeProtection,
195
210
  });
196
211
  return (localContent) => {
197
212
  const local = payloadOf(localContent);
@@ -202,15 +217,16 @@ function sameAppSettingsAs(serverContent, options) {
202
217
  };
203
218
  }
204
219
  /**
205
- * The `[app].name` an `app.toml` states, as TOML stated it, or undefined when
206
- * the file is absent, unparseable or names nothing.
220
+ * The `[app]` table an `app.toml` states, as TOML stated it, or undefined
221
+ * when the file is absent, unparseable or has none.
207
222
  */
208
- function readStatedAppName(path) {
223
+ function readStatedApp(path) {
209
224
  if (!existsSync(path))
210
225
  return undefined;
211
226
  try {
212
227
  const parsed = parseConfigToml(readFileSync(path, "utf-8"));
213
- return parsed?.app?.name;
228
+ const app = parsed?.app;
229
+ return app && typeof app === "object" && !Array.isArray(app) ? app : undefined;
214
230
  }
215
231
  catch {
216
232
  return undefined;
@@ -291,7 +307,12 @@ export function appSettingsNameExcludedForState(state, appId, tomlData, localEnv
291
307
  * app-settings row in the full `config diff`, and the push gate.
292
308
  */
293
309
  export function appSettingsFieldDiffs(localSettings, remoteSettings, options = {}) {
294
- const local = projectAppSettingsForComparison(localSettings, options);
310
+ // The local file's deprecated `protected` key reads against the remote
311
+ // level, as the server's write does (DSO-4564-001).
312
+ const local = projectAppSettingsForComparison(localSettings, {
313
+ ...options,
314
+ legacyProtectedAgainst: settingsProtectionLevel(remoteSettings),
315
+ });
295
316
  const remote = projectAppSettingsForComparison(remoteSettings, options);
296
317
  const diffs = [];
297
318
  for (const d of APP_SETTINGS_DESCRIPTOR) {
@@ -352,6 +373,7 @@ export async function diffAppSettings(client, appId, configDir, options = {}) {
352
373
  const { settings: local, errors } = buildAppSettingsPayload(tomlData, {
353
374
  excludeName,
354
375
  nameOptional: localEnvironment,
376
+ excludeProtection: localEnvironment,
355
377
  });
356
378
  // A file with validation errors is unpushable, so diff must not present its
357
379
  // surviving values as clean (or as a partial diff) — that would advertise
@@ -364,7 +386,10 @@ export async function diffAppSettings(client, appId, configDir, options = {}) {
364
386
  process.exit(1);
365
387
  }
366
388
  const remote = (await client.getAppSettings(appId)) ?? {};
367
- const diffs = appSettingsFieldDiffs(local, remote, { excludeName });
389
+ const diffs = appSettingsFieldDiffs(local, remote, {
390
+ excludeName,
391
+ excludeProtection: localEnvironment,
392
+ });
368
393
  if (options.json) {
369
394
  json({ diffs });
370
395
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-app-settings.js","sourceRoot":"","sources":["../../../src/commands/sync-app-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-app-settings.js","sourceRoot":"","sources":["../../../src/commands/sync-app-settings.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ import { canonicalizeServerTextFields } from "../lib/server-text-normalization.j
26
26
  import { canonicalJsonStringify } from "../lib/canonical-json.js";
27
27
  import { reconcileWorkflowIncludes } from "../lib/workflow-include-preserve.js";
28
28
  import { newPullWriteTally, writePulledFile, } from "../lib/pull-write.js";
29
- import { serializeSection, parseTomlToAppSettings, buildAppSettingsPayload, } from "../lib/app-settings-descriptor.js";
29
+ import { serializeSection, parseTomlToAppSettings, buildAppSettingsPayload, settingsProtectionLevel, } from "../lib/app-settings-descriptor.js";
30
30
  import { collectAppSettingsPushErrors, writePulledAppSettings, diffAppSettings, appSettingsFieldDiffs, appSettingsNameExcluded, appSettingsNameExcludedForState, hashAppSettingsForDiff, } from "./sync-app-settings.js";
31
31
  import { applyWorkflowBody, legacyDraftSlotWarning } from "../lib/workflow-apply.js";
32
32
  // #2645 — named config bodies live in `workflows/<key>.configs/<name>.toml`.
@@ -59,7 +59,7 @@ import { agentFunctionChangeRefusals, agentFunctionUses, } from "../lib/generate
59
59
  import { resolvePromptStrictOutput } from "../lib/generated-config-surfaces.js";
60
60
  // #3179 — the function's two halves: the header payloads and the envelope
61
61
  // `config push` sends, and the bytes `config pull` writes back.
62
- import { applyFunctionPull, buildFunctionConfigPush, createDocumentSchemaDropWarner, documentSchemaRetentionFailure, buildFunctionCreatePayload, buildFunctionUpdatePayload, functionDiffEntity, functionTomlPreflightErrors, planDocumentSchemaPull, planFunctionPull, serializeFunction, } from "../lib/function-sync.js";
62
+ import { applyFunctionPull, buildFunctionConfigPush, buildFunctionConfigPushDetailed, createDocumentSchemaDropWarner, documentSchemaRetentionFailure, buildFunctionCreatePayload, buildFunctionUpdatePayload, functionDiffEntity, functionTomlPreflightErrors, planDocumentSchemaPull, planFunctionPull, serializeFunction, } from "../lib/function-sync.js";
63
63
  import { newerVersionLine, pullNewerVersionLine, rollbackDiffHint, } from "../lib/function-versions.js";
64
64
  import { FunctionBuildError } from "../lib/function-bundle.js";
65
65
  // #3182 — the local half of capability validation. The grammar is the vendored
@@ -77,6 +77,7 @@ import { isFunctionDeclarationFile, resolveDocumentSchema, } from "../lib/functi
77
77
  // #3331 — and the compiler is actually asked: a push holds the code it ships
78
78
  // to the declarations it just generated.
79
79
  import { createFunctionTypechecker, } from "../lib/function-typecheck.js";
80
+ import { resolveFunctionSourceRoots } from "../lib/function-source-roots.js";
80
81
  import { detectLayout, migrateLegacyToV2 } from "../lib/block-layout.js";
81
82
  import { ABSENT_FROM_EXPORT, LOCAL_ONLY_ABSENT, LOCAL_ONLY_NEW, PUSH_PRUNE_SPECS, REMOTE_ONLY_UNMANAGED, REMOTE_ONLY_WILL_DELETE, SYNC_RESOURCE_TYPES, VALIDATION_ERROR, applyPrune, attachmentWritePath, attemptFetch, classifyLocalOnly, classifyPruneDeleteFailure, classifyRemoteOnly, collectPushPruneCandidates, decidePushPruneCandidate, formatPrunePlan, hasUncommittedChanges, isSafeAttachmentFilename, isSafeSyncFilename, planPrune, preserveUnwrittenEntries, removePrunedSidecar, ruleSetFileKey, } from "../lib/sync-resource-types.js";
82
83
  import { normalizeTestCaseKey, testCaseKeyError, } from "../lib/test-case-keys.js";
@@ -2688,6 +2689,9 @@ export async function runConfigPushPreflight(input) {
2688
2689
  fileName: parsedApp?.app?.name,
2689
2690
  }),
2690
2691
  nameOptional: localEnvironment,
2692
+ // #4564 — the protection level follows the name on a machine-local
2693
+ // environment: out of the body, so out of what is validated.
2694
+ excludeProtection: localEnvironment,
2691
2695
  });
2692
2696
  for (const e of appErrors) {
2693
2697
  preflightValidationErrors.push(` app.toml: ${e}`);
@@ -9670,6 +9674,7 @@ export function registerConfigSyncCommands(sync) {
9670
9674
  // tree's name and whose baseline never includes one.
9671
9675
  semanticHash: hashAppSettingsForDiff(settings, {
9672
9676
  excludeName: pullsLocalEnvironment,
9677
+ excludeProtection: pullsLocalEnvironment,
9673
9678
  }),
9674
9679
  }
9675
9680
  : pullSelection
@@ -10495,6 +10500,9 @@ What a push guarantees (two stages):
10495
10500
  const { settings: appPayload, warnings: appWarnings } = buildAppSettingsPayload(tomlData, {
10496
10501
  excludeName: payloadExcludesName,
10497
10502
  nameOptional: localEnvironment,
10503
+ // #4564 — on a machine-local environment the level is the
10504
+ // shared tree's, like the name, and never this child's.
10505
+ excludeProtection: localEnvironment,
10498
10506
  });
10499
10507
  for (const w of appWarnings) {
10500
10508
  warn(` ${w}`);
@@ -10524,6 +10532,7 @@ What a push guarantees (two stages):
10524
10532
  excludeName: localEnvironment ||
10525
10533
  options.recordExclusion !== undefined ||
10526
10534
  (options.keepExclusion && compareExcludesName),
10535
+ excludeProtection: localEnvironment,
10527
10536
  }),
10528
10537
  ...(options.recordExclusion !== undefined
10529
10538
  ? { excludedName: options.recordExclusion }
@@ -10534,8 +10543,17 @@ What a push guarantees (two stages):
10534
10543
  };
10535
10544
  let applyAppSettings = true;
10536
10545
  if (appLiveOk) {
10537
- const compareOptions = { excludeName: compareExcludesName };
10538
- const localHash = hashAppSettingsForDiff(appPayload, compareOptions);
10546
+ const compareOptions = {
10547
+ excludeName: compareExcludesName,
10548
+ excludeProtection: localEnvironment,
10549
+ };
10550
+ // The file's deprecated `protected` key reads against the live
10551
+ // level, as the server's write will (DSO-4564-001), so a change
10552
+ // made only through it is not skipped as unchanged.
10553
+ const localHash = hashAppSettingsForDiff(appPayload, {
10554
+ ...compareOptions,
10555
+ legacyProtectedAgainst: settingsProtectionLevel(liveSettings ?? {}),
10556
+ });
10539
10557
  const remoteHash = hashAppSettingsForDiff(liveSettings ?? {}, compareOptions);
10540
10558
  if (options.force) {
10541
10559
  // `--force` is the operator saying "local wins": no direction
@@ -14201,18 +14219,31 @@ What a push guarantees (two stages):
14201
14219
  // consulted per function, so one broken file refuses itself and
14202
14220
  // nothing else; `--no-typecheck` is the escape hatch, and an
14203
14221
  // unavailable compiler warns rather than failing the push.
14222
+ const files = selectFiles("function", functionsPushDir, readdirSync(functionsPushDir).filter(isFunctionDeclarationFile));
14223
+ // #4502 — the directories outside the tree that function code may
14224
+ // import from, resolved once for the push so a dropped entry is
14225
+ // named once rather than once per function. The bundler and the
14226
+ // checker are handed the same list, so they agree on what is shared.
14227
+ const functionSourceRoots = files.length > 0
14228
+ ? resolveFunctionSourceRoots(configDir)
14229
+ : { roots: [], warnings: [] };
14230
+ for (const warning of functionSourceRoots.warnings)
14231
+ warn(` ${warning}`);
14232
+ const sourceRoots = functionSourceRoots.roots.map((root) => root.absolute);
14204
14233
  let typecheckSetup = null;
14205
14234
  const functionTypechecker = () => {
14206
14235
  if (options.typecheck === false)
14207
14236
  return null;
14208
14237
  if (typecheckSetup === null) {
14209
- typecheckSetup = createFunctionTypechecker(configDir);
14238
+ typecheckSetup = createFunctionTypechecker(configDir, {
14239
+ sourceRoots,
14240
+ onWarning: (message) => warn(` ${message}`),
14241
+ });
14210
14242
  for (const warning of typecheckSetup.warnings)
14211
14243
  warn(` ${warning}`);
14212
14244
  }
14213
14245
  return typecheckSetup.checker;
14214
14246
  };
14215
- const files = selectFiles("function", functionsPushDir, readdirSync(functionsPushDir).filter(isFunctionDeclarationFile));
14216
14247
  const functionSpec = configDiffSpec("function");
14217
14248
  const liveFunctions = new Map();
14218
14249
  let functionsLiveOk = true;
@@ -14273,13 +14304,15 @@ What a push guarantees (two stages):
14273
14304
  // Build first: nothing is sent for a function whose code does not
14274
14305
  // compile or whose imports leave the tree.
14275
14306
  let push;
14307
+ let projectSources;
14276
14308
  try {
14277
- push = await buildFunctionConfigPush({
14309
+ ({ push, projectSources } = await buildFunctionConfigPushDetailed({
14278
14310
  configDir,
14279
14311
  functionKey: key,
14280
14312
  filePath,
14281
14313
  tomlData,
14282
- });
14314
+ sourceRoots,
14315
+ }));
14283
14316
  }
14284
14317
  catch (err) {
14285
14318
  if (!(err instanceof FunctionBuildError))
@@ -14309,7 +14342,7 @@ What a push guarantees (two stages):
14309
14342
  // sent for it and whether or not this is a dry run.
14310
14343
  const typechecker = functionTypechecker();
14311
14344
  if (typechecker) {
14312
- const failure = typechecker.check(key, push.sources.map((source) => source.path));
14345
+ const failure = typechecker.check(key, push.sources.map((source) => source.path), projectSources);
14313
14346
  if (failure) {
14314
14347
  applyFailures.push({
14315
14348
  type: "function",
@@ -17093,6 +17126,7 @@ What a push guarantees (two stages):
17093
17126
  const { settings: localAppSettings, errors: appErrors } = buildAppSettingsPayload(appTomlData, {
17094
17127
  excludeName,
17095
17128
  nameOptional: diffsLocalEnvironment,
17129
+ excludeProtection: diffsLocalEnvironment,
17096
17130
  });
17097
17131
  if (appErrors.length > 0) {
17098
17132
  appRow(VALIDATION_ERROR, appErrors.join("; "));
@@ -17107,7 +17141,7 @@ What a push guarantees (two stages):
17107
17141
  });
17108
17142
  }
17109
17143
  else {
17110
- const fieldDiffs = appSettingsFieldDiffs(localAppSettings, settingsOutcome.value ?? {}, { excludeName });
17144
+ const fieldDiffs = appSettingsFieldDiffs(localAppSettings, settingsOutcome.value ?? {}, { excludeName, excludeProtection: diffsLocalEnvironment });
17111
17145
  if (fieldDiffs.length === 0) {
17112
17146
  appRow("exists");
17113
17147
  }