primitive-admin 1.2.0-alpha.6 → 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.
- package/README.md +9 -3
- package/assets/skill/skills/primitive-platform/SKILL.md +12 -6
- package/dist/src/commands/apps-children.d.ts +1 -1
- package/dist/src/commands/apps-children.js +172 -28
- package/dist/src/commands/apps-children.js.map +1 -1
- package/dist/src/commands/auth.js +147 -38
- package/dist/src/commands/auth.js.map +1 -1
- package/dist/src/commands/config.js +43 -4
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/database-types.js +313 -13
- package/dist/src/commands/database-types.js.map +1 -1
- package/dist/src/commands/databases.js +143 -54
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/documents.js +70 -11
- package/dist/src/commands/documents.js.map +1 -1
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.js +9 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/llm.js +6 -9
- package/dist/src/commands/llm.js.map +1 -1
- package/dist/src/commands/settings.d.ts +9 -12
- package/dist/src/commands/settings.js +79 -31
- package/dist/src/commands/settings.js.map +1 -1
- package/dist/src/commands/sync-app-settings.d.ts +12 -2
- package/dist/src/commands/sync-app-settings.js +35 -10
- package/dist/src/commands/sync-app-settings.js.map +1 -1
- package/dist/src/commands/sync.d.ts +118 -6
- package/dist/src/commands/sync.js +638 -65
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/lib/api-client.d.ts +25 -6
- package/dist/src/lib/api-client.js +106 -72
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-settings-descriptor.d.ts +38 -0
- package/dist/src/lib/app-settings-descriptor.js +96 -4
- package/dist/src/lib/app-settings-descriptor.js.map +1 -1
- package/dist/src/lib/child-apps-local.d.ts +45 -21
- package/dist/src/lib/child-apps-local.js +68 -30
- package/dist/src/lib/child-apps-local.js.map +1 -1
- package/dist/src/lib/credentials-home.d.ts +51 -0
- package/dist/src/lib/credentials-home.js +169 -0
- package/dist/src/lib/credentials-home.js.map +1 -0
- package/dist/src/lib/credentials-lock.d.ts +80 -0
- package/dist/src/lib/credentials-lock.js +222 -0
- package/dist/src/lib/credentials-lock.js.map +1 -0
- package/dist/src/lib/credentials-store.d.ts +92 -5
- package/dist/src/lib/credentials-store.js +377 -53
- package/dist/src/lib/credentials-store.js.map +1 -1
- package/dist/src/lib/env-resolver-core.d.ts +1 -1
- package/dist/src/lib/env-resolver-core.js.map +1 -1
- package/dist/src/lib/function-bundle.d.ts +38 -18
- package/dist/src/lib/function-bundle.js +60 -35
- package/dist/src/lib/function-bundle.js.map +1 -1
- package/dist/src/lib/function-collect.d.ts +1 -1
- package/dist/src/lib/function-collect.js +4 -0
- package/dist/src/lib/function-collect.js.map +1 -1
- package/dist/src/lib/function-document-types.d.ts +5 -3
- package/dist/src/lib/function-document-types.js +10 -14
- package/dist/src/lib/function-document-types.js.map +1 -1
- package/dist/src/lib/function-source-roots.d.ts +67 -0
- package/dist/src/lib/function-source-roots.js +148 -0
- package/dist/src/lib/function-source-roots.js.map +1 -0
- package/dist/src/lib/function-sync.d.ts +27 -0
- package/dist/src/lib/function-sync.js +16 -3
- package/dist/src/lib/function-sync.js.map +1 -1
- package/dist/src/lib/function-triggers.d.ts +3 -15
- package/dist/src/lib/function-triggers.js +10 -72
- package/dist/src/lib/function-triggers.js.map +1 -1
- package/dist/src/lib/function-typecheck.d.ts +37 -2
- package/dist/src/lib/function-typecheck.js +210 -28
- package/dist/src/lib/function-typecheck.js.map +1 -1
- package/dist/src/lib/generated-config-surfaces.d.ts +148 -0
- package/dist/src/lib/generated-config-surfaces.js +229 -35
- package/dist/src/lib/generated-config-surfaces.js.map +1 -1
- package/dist/src/lib/generated-sdk-types.d.ts +1 -1
- package/dist/src/lib/generated-sdk-types.js +1 -1
- package/dist/src/lib/generated-sdk-types.js.map +1 -1
- package/dist/src/lib/local-state.d.ts +21 -6
- package/dist/src/lib/local-state.js +78 -34
- package/dist/src/lib/local-state.js.map +1 -1
- package/dist/src/lib/login-scope-lines.d.ts +1 -1
- package/dist/src/lib/login-scope-lines.js +1 -1
- package/dist/src/lib/login-scope-lines.js.map +1 -1
- package/dist/src/lib/project-config.d.ts +7 -0
- package/dist/src/lib/project-config.js +22 -1
- package/dist/src/lib/project-config.js.map +1 -1
- package/dist/src/lib/push-failure-report.d.ts +45 -0
- package/dist/src/lib/push-failure-report.js +57 -0
- package/dist/src/lib/push-failure-report.js.map +1 -0
- package/dist/src/lib/root-import-decision.d.ts +9 -4
- package/dist/src/lib/root-import-decision.js +24 -3
- package/dist/src/lib/root-import-decision.js.map +1 -1
- package/dist/src/lib/scope-request.d.ts +8 -5
- package/dist/src/lib/scope-request.js +17 -8
- package/dist/src/lib/scope-request.js.map +1 -1
- package/dist/src/lib/sync-selectors.d.ts +5 -1
- package/dist/src/lib/sync-selectors.js +23 -13
- package/dist/src/lib/sync-selectors.js.map +1 -1
- package/dist/src/lib/transient-retry.d.ts +9 -0
- package/dist/src/lib/transient-retry.js +37 -0
- package/dist/src/lib/transient-retry.js.map +1 -1
- package/dist/src/lib/vars-override.d.ts +105 -0
- package/dist/src/lib/vars-override.js +143 -0
- package/dist/src/lib/vars-override.js.map +1 -0
- package/package.json +2 -2
- package/dist/src/lib/generated-workflow-model-fields.d.ts +0 -20
- package/dist/src/lib/generated-workflow-model-fields.js +0 -53
- package/dist/src/lib/generated-workflow-model-fields.js.map +0 -1
- package/dist/src/lib/workflow-field-descriptor.d.ts +0 -91
- package/dist/src/lib/workflow-field-descriptor.js +0 -153
- package/dist/src/lib/workflow-field-descriptor.js.map +0 -1
|
@@ -122,10 +122,12 @@ export const APP_SETTINGS_ABSENT_VALUES = {
|
|
|
122
122
|
// #4195: absent ⇒ cleared, which mints legacy root documents. Roots that
|
|
123
123
|
// already exist keep their format either way.
|
|
124
124
|
rootDocumentFormat: { value: null },
|
|
125
|
-
// #
|
|
126
|
-
// non-owner pushing a file without the line against a protected
|
|
127
|
-
// refused by the server, which is the
|
|
128
|
-
protected
|
|
125
|
+
// #4564: absent ⇒ `default`, the level of an app that never set one. A
|
|
126
|
+
// non-owner pushing a file without the line against a `protected` or
|
|
127
|
+
// `internal` app is refused by the server, which is the rule working. A
|
|
128
|
+
// file carrying only the deprecated `[app].protected` sends that instead
|
|
129
|
+
// (`buildAppSettingsPayload`).
|
|
130
|
+
protection: { value: "default" },
|
|
129
131
|
// [auth]
|
|
130
132
|
googleOAuthEnabled: { value: null },
|
|
131
133
|
googleClients: { value: null },
|
|
@@ -300,6 +302,36 @@ export function comparableAppSettingValue(descriptor, value) {
|
|
|
300
302
|
}
|
|
301
303
|
return canonical ?? null;
|
|
302
304
|
}
|
|
305
|
+
/** The three protection levels (#4564), as the server declares them. */
|
|
306
|
+
export const PROTECTION_LEVELS = ["default", "protected", "internal"];
|
|
307
|
+
function isProtectionLevel(value) {
|
|
308
|
+
return typeof value === "string" && PROTECTION_LEVELS.includes(value);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* The level a settings record asks for, the way the server reads a write
|
|
312
|
+
* (#4564, DSO-4564-001): `protection` when it states one; the deprecated
|
|
313
|
+
* `protected = true` as `protected`; `protected = false` as "not protected",
|
|
314
|
+
* which keeps `remoteLevel` when that is `default` or `internal` and is
|
|
315
|
+
* `default` otherwise. Undefined when the record carries neither key.
|
|
316
|
+
*
|
|
317
|
+
* Read on a server's settings with no `remoteLevel`, it is that server's
|
|
318
|
+
* level: an older server that reports only `protected` is `protected` or
|
|
319
|
+
* `default`.
|
|
320
|
+
*/
|
|
321
|
+
export function requestedProtectionLevel(fileApp, remoteLevel) {
|
|
322
|
+
if (isProtectionLevel(fileApp?.protection))
|
|
323
|
+
return fileApp.protection;
|
|
324
|
+
if (fileApp?.protected === true)
|
|
325
|
+
return "protected";
|
|
326
|
+
if (fileApp?.protected === false) {
|
|
327
|
+
return remoteLevel === "default" || remoteLevel === "internal" ? remoteLevel : "default";
|
|
328
|
+
}
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
/** A server settings record's level: what it reports, `default` when nothing. */
|
|
332
|
+
export function settingsProtectionLevel(settings) {
|
|
333
|
+
return requestedProtectionLevel(settings) ?? "default";
|
|
334
|
+
}
|
|
303
335
|
/**
|
|
304
336
|
* Project a settings record (either side) onto the full writable field set.
|
|
305
337
|
*
|
|
@@ -307,12 +339,26 @@ export function comparableAppSettingValue(descriptor, value) {
|
|
|
307
339
|
* name exclusion is active, BOTH sides and the stamped baseline are hashed
|
|
308
340
|
* without `name`, so `classifyPushChange`'s `remoteHash === baselineHash ⇒
|
|
309
341
|
* local-edited` arithmetic stays valid.
|
|
342
|
+
*
|
|
343
|
+
* `excludeProtection` leaves the protection level out, as a machine-local
|
|
344
|
+
* (child) environment's push and diff do (#4564). `legacyProtectedAgainst` is
|
|
345
|
+
* the remote level a local record's deprecated `protected` key is read
|
|
346
|
+
* against, so a file carrying only that key compares as the level the
|
|
347
|
+
* server's write would leave (DSO-4564-001).
|
|
310
348
|
*/
|
|
311
349
|
export function projectAppSettingsForComparison(settings, options = {}) {
|
|
312
350
|
const projected = {};
|
|
313
351
|
for (const d of APP_SETTINGS_DESCRIPTOR) {
|
|
314
352
|
if (options.excludeName && d.field === "name")
|
|
315
353
|
continue;
|
|
354
|
+
if (d.field === "protection") {
|
|
355
|
+
if (options.excludeProtection)
|
|
356
|
+
continue;
|
|
357
|
+
projected[d.field] =
|
|
358
|
+
requestedProtectionLevel(settings, options.legacyProtectedAgainst) ??
|
|
359
|
+
APP_SETTINGS_ABSENT_VALUES.protection.value;
|
|
360
|
+
continue;
|
|
361
|
+
}
|
|
316
362
|
const raw = settings?.[d.field];
|
|
317
363
|
const absent = APP_SETTINGS_ABSENT_VALUES[d.field];
|
|
318
364
|
projected[d.field] = comparableAppSettingValue(d, raw === undefined && absent && absent.required !== true
|
|
@@ -428,6 +474,14 @@ export function serializeAppSettingsToToml(settings) {
|
|
|
428
474
|
function appSettingsNameStripped(options) {
|
|
429
475
|
return !!(options.isCrossAppPush || options.excludeName);
|
|
430
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* The deprecated `[app].protected` key (#3886), accepted until its
|
|
479
|
+
* scheduled retirement (#4564): `true` reads as `protection = "protected"`.
|
|
480
|
+
*/
|
|
481
|
+
export const LEGACY_PROTECTED_KEY = "protected";
|
|
482
|
+
/** The one warning a file carrying the deprecated key gets. */
|
|
483
|
+
export const LEGACY_PROTECTED_WARNING = "app.toml: [app].protected is deprecated and will be removed in the first breaking release after 2026-12-15; " +
|
|
484
|
+
'it is read as [app].protection ("protected" when true). Run `primitive config pull --only app` to rewrite it as protection.';
|
|
431
485
|
/**
|
|
432
486
|
* Translate a parsed `app.toml` object into the settings the FILE STATES —
|
|
433
487
|
* only the keys it carries. This is the parse half; `buildAppSettingsPayload`
|
|
@@ -478,6 +532,21 @@ export function parseTomlToAppSettings(tomlData, options = {}) {
|
|
|
478
532
|
const byKey = new Map(descriptors.map((d) => [d.key, d]));
|
|
479
533
|
for (const key of Object.keys(sectionData)) {
|
|
480
534
|
const d = byKey.get(key);
|
|
535
|
+
if (!d && section === "app" && key === LEGACY_PROTECTED_KEY) {
|
|
536
|
+
// The deprecated key (#4564): validated as it always was, forwarded
|
|
537
|
+
// verbatim, and announced once. A machine-local environment leaves
|
|
538
|
+
// it out with the level it stands for.
|
|
539
|
+
if (options.excludeProtection)
|
|
540
|
+
continue;
|
|
541
|
+
const value = sectionData[key];
|
|
542
|
+
if (typeof value !== "boolean") {
|
|
543
|
+
errors.push(`[app].protected must be a boolean (got ${typeOfValue(value)})`);
|
|
544
|
+
continue;
|
|
545
|
+
}
|
|
546
|
+
settings.protected = value;
|
|
547
|
+
warnings.push(LEGACY_PROTECTED_WARNING);
|
|
548
|
+
continue;
|
|
549
|
+
}
|
|
481
550
|
if (!d) {
|
|
482
551
|
// A RETIRED key is not an unknown key (#2803's rule, extended to
|
|
483
552
|
// app-settings by #2891/DSO-2891-005). "Check the spelling, or upgrade
|
|
@@ -501,15 +570,28 @@ export function parseTomlToAppSettings(tomlData, options = {}) {
|
|
|
501
570
|
}
|
|
502
571
|
if (excludeName && d.field === "name")
|
|
503
572
|
continue;
|
|
573
|
+
if (options.excludeProtection && d.field === "protection")
|
|
574
|
+
continue;
|
|
504
575
|
const value = sectionData[key];
|
|
505
576
|
const err = typeError(d, value);
|
|
506
577
|
if (err) {
|
|
507
578
|
errors.push(err);
|
|
508
579
|
continue;
|
|
509
580
|
}
|
|
581
|
+
if (d.field === "protection" && !isProtectionLevel(value)) {
|
|
582
|
+
errors.push(`[app].protection must be one of ${PROTECTION_LEVELS.map((l) => `"${l}"`).join(", ")} (got "${String(value)}")`);
|
|
583
|
+
continue;
|
|
584
|
+
}
|
|
510
585
|
settings[d.field] = value;
|
|
511
586
|
}
|
|
512
587
|
}
|
|
588
|
+
// Both keys must agree on whether the app is protected (#4564).
|
|
589
|
+
if ("protected" in settings &&
|
|
590
|
+
"protection" in settings &&
|
|
591
|
+
settings.protected !== (settings.protection === "protected")) {
|
|
592
|
+
errors.push(`app.toml: [app].protected = ${settings.protected} disagrees with [app].protection = "${settings.protection}". ` +
|
|
593
|
+
"Delete the deprecated protected line.");
|
|
594
|
+
}
|
|
513
595
|
return { settings, warnings, errors };
|
|
514
596
|
}
|
|
515
597
|
/**
|
|
@@ -580,6 +662,16 @@ export function buildAppSettingsPayload(tomlData, options = {}) {
|
|
|
580
662
|
for (const d of APP_SETTINGS_DESCRIPTOR) {
|
|
581
663
|
if (excludeName && d.field === "name")
|
|
582
664
|
continue;
|
|
665
|
+
if (d.field === "protection") {
|
|
666
|
+
if (options.excludeProtection)
|
|
667
|
+
continue;
|
|
668
|
+
// A file carrying only the deprecated key sends it as authored, and no
|
|
669
|
+
// absent-value level beside it; both keys (agreeing) send the level.
|
|
670
|
+
if (!("protection" in parsed.settings) && "protected" in parsed.settings) {
|
|
671
|
+
settings.protected = parsed.settings.protected;
|
|
672
|
+
continue;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
583
675
|
if (d.field in parsed.settings) {
|
|
584
676
|
settings[d.field] = parsed.settings[d.field];
|
|
585
677
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-settings-descriptor.js","sourceRoot":"","sources":["../../../src/lib/app-settings-descriptor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-settings-descriptor.js","sourceRoot":"","sources":["../../../src/lib/app-settings-descriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* the committed environment whose `primitive/<tree>/` it shares — its parent.
|
|
8
8
|
* This module owns everything the verbs do to this machine around the server
|
|
9
9
|
* calls: finding the parent of the current environment, registering a child
|
|
10
|
-
* (baseline,
|
|
11
|
-
*
|
|
10
|
+
* (baseline, entry), finding entries whose child is gone, and removing a
|
|
11
|
+
* deleted child's local state. A child has no login of its own: it uses its
|
|
12
|
+
* parent's (#4511, `credentials-store.ts`).
|
|
12
13
|
*
|
|
13
14
|
* Local state is always related to a server child by APP ID, never by name. A
|
|
14
15
|
* local name is unique per checkout, while a slug is unique per parent, so an
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
import type { AppChildSummary } from "./api-client.js";
|
|
18
19
|
import { type CoreLocalEnvironmentEntry } from "./env-resolver-core.js";
|
|
19
20
|
import { type ResolvedEnvironment } from "./env-resolver.js";
|
|
20
|
-
import type { Credentials } from "../types/index.js";
|
|
21
21
|
/** A machine-local environment and the name it is registered under. */
|
|
22
22
|
export interface LocalEnvironmentRef {
|
|
23
23
|
name: string;
|
|
@@ -109,26 +109,17 @@ export interface ChildRegistration {
|
|
|
109
109
|
appId: string;
|
|
110
110
|
appName?: string;
|
|
111
111
|
parentAppId: string;
|
|
112
|
-
/**
|
|
113
|
-
* The login copied into the child's credentials slot. Credentials from
|
|
114
|
-
* `PRIMITIVE_TOKEN` (#3890) are never copied: the child gets no slot.
|
|
115
|
-
*/
|
|
116
|
-
credentials: Credentials;
|
|
117
112
|
}
|
|
118
113
|
/**
|
|
119
114
|
* Registers a child as the machine-local environment `name`: its baseline
|
|
120
|
-
* (seeded as {@link seedChildBaseline} does),
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
115
|
+
* (seeded as {@link seedChildBaseline} does), then the `.primitive/local.json`
|
|
116
|
+
* entry, which is the commit point. No credentials slot is written: the child
|
|
117
|
+
* uses its parent's login. When the entry cannot be written the baseline is
|
|
118
|
+
* removed, so no half-registered child is left, and a
|
|
124
119
|
* {@link ChildRegistrationError} naming the app id is thrown.
|
|
125
|
-
*
|
|
126
|
-
* Under `PRIMITIVE_TOKEN` no slot is written (`loginCopied: false`): the
|
|
127
|
-
* token stays in the environment, and the child is reached with it too.
|
|
128
120
|
*/
|
|
129
121
|
export declare function registerChildEnvironment(input: ChildRegistration): {
|
|
130
122
|
baselineSource: "committed" | "empty";
|
|
131
|
-
loginCopied: boolean;
|
|
132
123
|
};
|
|
133
124
|
/** What {@link removeLocalStateForApp} removed for one entry. */
|
|
134
125
|
export interface LocalStateRemoval {
|
|
@@ -140,6 +131,8 @@ export interface LocalStateRemoval {
|
|
|
140
131
|
loginRemoved: boolean;
|
|
141
132
|
baselineRemoved: boolean;
|
|
142
133
|
backupsRemoved: boolean;
|
|
134
|
+
/** Its `vars.<name>.override.toml` in its tree was removed (#4485). */
|
|
135
|
+
overrideRemoved: boolean;
|
|
143
136
|
/**
|
|
144
137
|
* Why the cleanup stopped, when it did. The entry is then kept, with
|
|
145
138
|
* whatever was not removed, so a later cleanup finds it again by app id.
|
|
@@ -148,8 +141,10 @@ export interface LocalStateRemoval {
|
|
|
148
141
|
}
|
|
149
142
|
/**
|
|
150
143
|
* Removes this machine's state for the app `appId`: for every machine-local
|
|
151
|
-
* entry holding it,
|
|
152
|
-
*
|
|
144
|
+
* entry holding it, any credentials slot it kept from before children used
|
|
145
|
+
* their parent's login, its baseline, its backups, its vars
|
|
146
|
+
* override file in its tree and last the entry (clearing a selection naming
|
|
147
|
+
* it). The entry goes last because it
|
|
153
148
|
* is what identifies the rest: when an earlier removal fails the entry stays
|
|
154
149
|
* and the record carries `failure`, so a rerun can finish the job. Entries
|
|
155
150
|
* holding other apps are untouched whatever they are named. Returns one record
|
|
@@ -173,12 +168,41 @@ export declare function gitBranchExists(root: string, branch: string): boolean;
|
|
|
173
168
|
* for the parent's debugger port.
|
|
174
169
|
*/
|
|
175
170
|
export declare function firstPushArgs(name: string, execArgv?: readonly string[], entry?: string): string[];
|
|
171
|
+
/** One run of the first push: its exit code, and whether its failure was transient. */
|
|
172
|
+
export interface FirstPushRun {
|
|
173
|
+
exitCode: number;
|
|
174
|
+
/** True only for a failed push that reported every failure as transient. */
|
|
175
|
+
transient: boolean;
|
|
176
|
+
}
|
|
176
177
|
/**
|
|
177
178
|
* Runs `primitive --env <name> config push --yes` as a separate invocation of
|
|
178
179
|
* this same CLI, the command a developer would type, and returns its exit
|
|
179
|
-
* code
|
|
180
|
-
* stays one
|
|
180
|
+
* code and whether a failure was transient (`push-failure-report.ts`). Its
|
|
181
|
+
* output passes through; under `--json` it goes to stderr so stdout stays one
|
|
182
|
+
* JSON document.
|
|
181
183
|
*/
|
|
182
184
|
export declare function runFirstPush(name: string, options?: {
|
|
183
185
|
json?: boolean;
|
|
184
|
-
}):
|
|
186
|
+
}): FirstPushRun;
|
|
187
|
+
/** How the first push ended: the last run's exit code, after how many runs. */
|
|
188
|
+
export interface FirstPushOutcome {
|
|
189
|
+
exitCode: number;
|
|
190
|
+
attempts: number;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Runs the first push, and runs it again after a transient failure, waiting
|
|
194
|
+
* `TRANSIENT_RETRY_DELAYS_MS` between runs: four runs at most. Running it
|
|
195
|
+
* again is safe, since a push applies only what the server does not hold yet.
|
|
196
|
+
* A failure that is not transient is returned at once. `onRetry` is told the
|
|
197
|
+
* wait and the number of the run about to start; `run` and `sleep` are
|
|
198
|
+
* replaced in tests.
|
|
199
|
+
*/
|
|
200
|
+
export declare function runFirstPushWithRetry(name: string, options?: {
|
|
201
|
+
json?: boolean;
|
|
202
|
+
onRetry?: (delayMs: number, attempt: number) => void;
|
|
203
|
+
run?: (name: string, options: {
|
|
204
|
+
json?: boolean;
|
|
205
|
+
}) => FirstPushRun;
|
|
206
|
+
sleep?: (ms: number) => Promise<void>;
|
|
207
|
+
delaysMs?: readonly number[];
|
|
208
|
+
}): Promise<FirstPushOutcome>;
|
|
@@ -7,21 +7,26 @@
|
|
|
7
7
|
* the committed environment whose `primitive/<tree>/` it shares — its parent.
|
|
8
8
|
* This module owns everything the verbs do to this machine around the server
|
|
9
9
|
* calls: finding the parent of the current environment, registering a child
|
|
10
|
-
* (baseline,
|
|
11
|
-
*
|
|
10
|
+
* (baseline, entry), finding entries whose child is gone, and removing a
|
|
11
|
+
* deleted child's local state. A child has no login of its own: it uses its
|
|
12
|
+
* parent's (#4511, `credentials-store.ts`).
|
|
12
13
|
*
|
|
13
14
|
* Local state is always related to a server child by APP ID, never by name. A
|
|
14
15
|
* local name is unique per checkout, while a slug is unique per parent, so an
|
|
15
16
|
* entry named `feature-x` may hold another parent's `feature-x`.
|
|
16
17
|
*/
|
|
17
18
|
import { execFileSync, spawnSync } from "child_process";
|
|
18
|
-
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
19
|
+
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
20
|
+
import { tmpdir } from "os";
|
|
19
21
|
import { dirname, join } from "path";
|
|
20
22
|
import { PROJECT_TREE_DIR, projectRootForConfigPath, readCoreProjectConfig, readLocalState, } from "./env-resolver-core.js";
|
|
21
23
|
import { getProjectConfig, requireCurrentEnvironment, } from "./env-resolver.js";
|
|
22
24
|
import { removeLocalEnvironment, writeLocalEnvironment } from "./local-state.js";
|
|
23
|
-
import {
|
|
25
|
+
import { PUSH_FAILURE_REPORT_ENV, readPushFailureReport } from "./push-failure-report.js";
|
|
26
|
+
import { TRANSIENT_RETRY_DELAYS_MS } from "./transient-retry.js";
|
|
27
|
+
import { removeCredentialsSlotInProject } from "./credentials-store.js";
|
|
24
28
|
import { localBackupsRootFor, localSyncStatePathFor, syncStateReadPath, } from "./sync-paths.js";
|
|
29
|
+
import { varsOverrideFileName } from "./vars-override.js";
|
|
25
30
|
const trimSlash = (url) => url.replace(/\/+$/, "");
|
|
26
31
|
/**
|
|
27
32
|
* The parent of the current environment: the committed environment named by
|
|
@@ -135,38 +140,27 @@ export class ChildRegistrationError extends Error {
|
|
|
135
140
|
}
|
|
136
141
|
/**
|
|
137
142
|
* Registers a child as the machine-local environment `name`: its baseline
|
|
138
|
-
* (seeded as {@link seedChildBaseline} does),
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
143
|
+
* (seeded as {@link seedChildBaseline} does), then the `.primitive/local.json`
|
|
144
|
+
* entry, which is the commit point. No credentials slot is written: the child
|
|
145
|
+
* uses its parent's login. When the entry cannot be written the baseline is
|
|
146
|
+
* removed, so no half-registered child is left, and a
|
|
142
147
|
* {@link ChildRegistrationError} naming the app id is thrown.
|
|
143
|
-
*
|
|
144
|
-
* Under `PRIMITIVE_TOKEN` no slot is written (`loginCopied: false`): the
|
|
145
|
-
* token stays in the environment, and the child is reached with it too.
|
|
146
148
|
*/
|
|
147
149
|
export function registerChildEnvironment(input) {
|
|
148
150
|
const projectRoot = projectRootForConfigPath(input.configPath);
|
|
149
151
|
let baselinePath = null;
|
|
150
|
-
let slotWritten = false;
|
|
151
152
|
try {
|
|
152
153
|
const seeded = seedChildBaseline(projectRoot, input.tree, input.name, input.parentAppId, input.apiUrl);
|
|
153
154
|
baselinePath = seeded.path;
|
|
154
|
-
const loginCopied = input.credentials.source !== "env";
|
|
155
|
-
if (loginCopied) {
|
|
156
|
-
seedCredentialsForEnvInProject(projectRoot, input.name, input.credentials);
|
|
157
|
-
slotWritten = true;
|
|
158
|
-
}
|
|
159
155
|
writeLocalEnvironment(input.configPath, input.name, {
|
|
160
156
|
apiUrl: input.apiUrl,
|
|
161
157
|
appId: input.appId,
|
|
162
158
|
...(input.appName !== undefined ? { appName: input.appName } : {}),
|
|
163
159
|
tree: input.tree,
|
|
164
160
|
});
|
|
165
|
-
return { baselineSource: seeded.source
|
|
161
|
+
return { baselineSource: seeded.source };
|
|
166
162
|
}
|
|
167
163
|
catch (err) {
|
|
168
|
-
if (slotWritten)
|
|
169
|
-
clearCredentialsForEnvInProject(projectRoot, input.name);
|
|
170
164
|
if (baselinePath)
|
|
171
165
|
rmSync(baselinePath, { force: true });
|
|
172
166
|
throw new ChildRegistrationError(`Could not register child app ${input.appId} as the machine-local environment "${input.name}": ${err?.message || String(err)}`, input.appId);
|
|
@@ -174,8 +168,10 @@ export function registerChildEnvironment(input) {
|
|
|
174
168
|
}
|
|
175
169
|
/**
|
|
176
170
|
* Removes this machine's state for the app `appId`: for every machine-local
|
|
177
|
-
* entry holding it,
|
|
178
|
-
*
|
|
171
|
+
* entry holding it, any credentials slot it kept from before children used
|
|
172
|
+
* their parent's login, its baseline, its backups, its vars
|
|
173
|
+
* override file in its tree and last the entry (clearing a selection naming
|
|
174
|
+
* it). The entry goes last because it
|
|
179
175
|
* is what identifies the rest: when an earlier removal fails the entry stays
|
|
180
176
|
* and the record carries `failure`, so a rerun can finish the job. Entries
|
|
181
177
|
* holding other apps are untouched whatever they are named. Returns one record
|
|
@@ -187,6 +183,7 @@ export function removeLocalStateForApp(configPath, appId) {
|
|
|
187
183
|
return localEntriesForApp(configPath, appId).map(({ name, entry }) => {
|
|
188
184
|
const baseline = localSyncStatePathFor(projectRoot, name);
|
|
189
185
|
const backups = localBackupsRootFor(projectRoot, name);
|
|
186
|
+
const override = join(projectRoot, PROJECT_TREE_DIR, entry.tree, varsOverrideFileName(name));
|
|
190
187
|
const record = {
|
|
191
188
|
name,
|
|
192
189
|
tree: entry.tree,
|
|
@@ -195,6 +192,7 @@ export function removeLocalStateForApp(configPath, appId) {
|
|
|
195
192
|
loginRemoved: false,
|
|
196
193
|
baselineRemoved: false,
|
|
197
194
|
backupsRemoved: false,
|
|
195
|
+
overrideRemoved: false,
|
|
198
196
|
};
|
|
199
197
|
let step = "login";
|
|
200
198
|
try {
|
|
@@ -205,6 +203,9 @@ export function removeLocalStateForApp(configPath, appId) {
|
|
|
205
203
|
step = "backups";
|
|
206
204
|
record.backupsRemoved = existsSync(backups);
|
|
207
205
|
rmSync(backups, { recursive: true, force: true });
|
|
206
|
+
step = "vars override";
|
|
207
|
+
record.overrideRemoved = existsSync(override);
|
|
208
|
+
rmSync(override, { force: true });
|
|
208
209
|
step = "entry";
|
|
209
210
|
record.entryRemoved = removeLocalEnvironment(configPath, name);
|
|
210
211
|
record.selectionCleared = record.entryRemoved && selected === name;
|
|
@@ -214,6 +215,8 @@ export function removeLocalStateForApp(configPath, appId) {
|
|
|
214
215
|
record.baselineRemoved = false;
|
|
215
216
|
if (step === "backups")
|
|
216
217
|
record.backupsRemoved = false;
|
|
218
|
+
if (step === "vars override")
|
|
219
|
+
record.overrideRemoved = false;
|
|
217
220
|
record.failure = `could not remove its ${step}: ${err?.message || String(err)}`;
|
|
218
221
|
}
|
|
219
222
|
return record;
|
|
@@ -268,15 +271,50 @@ export function firstPushArgs(name, execArgv = process.execArgv, entry = process
|
|
|
268
271
|
/**
|
|
269
272
|
* Runs `primitive --env <name> config push --yes` as a separate invocation of
|
|
270
273
|
* this same CLI, the command a developer would type, and returns its exit
|
|
271
|
-
* code
|
|
272
|
-
* stays one
|
|
274
|
+
* code and whether a failure was transient (`push-failure-report.ts`). Its
|
|
275
|
+
* output passes through; under `--json` it goes to stderr so stdout stays one
|
|
276
|
+
* JSON document.
|
|
273
277
|
*/
|
|
274
278
|
export function runFirstPush(name, options = {}) {
|
|
275
|
-
const
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
const dir = mkdtempSync(join(tmpdir(), "primitive-first-push-"));
|
|
280
|
+
const reportPath = join(dir, "report.json");
|
|
281
|
+
try {
|
|
282
|
+
const result = spawnSync(process.execPath, firstPushArgs(name), {
|
|
283
|
+
stdio: ["ignore", options.json ? 2 : "inherit", "inherit"],
|
|
284
|
+
env: { ...process.env, [PUSH_FAILURE_REPORT_ENV]: reportPath },
|
|
285
|
+
});
|
|
286
|
+
if (result.error)
|
|
287
|
+
throw result.error;
|
|
288
|
+
const exitCode = result.status ?? 1;
|
|
289
|
+
return {
|
|
290
|
+
exitCode,
|
|
291
|
+
transient: exitCode !== 0 && readPushFailureReport(reportPath)?.transient === true,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
finally {
|
|
295
|
+
rmSync(dir, { recursive: true, force: true });
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Runs the first push, and runs it again after a transient failure, waiting
|
|
300
|
+
* `TRANSIENT_RETRY_DELAYS_MS` between runs: four runs at most. Running it
|
|
301
|
+
* again is safe, since a push applies only what the server does not hold yet.
|
|
302
|
+
* A failure that is not transient is returned at once. `onRetry` is told the
|
|
303
|
+
* wait and the number of the run about to start; `run` and `sleep` are
|
|
304
|
+
* replaced in tests.
|
|
305
|
+
*/
|
|
306
|
+
export async function runFirstPushWithRetry(name, options = {}) {
|
|
307
|
+
const run = options.run ?? runFirstPush;
|
|
308
|
+
const sleep = options.sleep ?? ((ms) => new Promise((done) => setTimeout(done, ms)));
|
|
309
|
+
const delaysMs = options.delaysMs ?? TRANSIENT_RETRY_DELAYS_MS;
|
|
310
|
+
for (let attempts = 1;; attempts++) {
|
|
311
|
+
const result = run(name, { json: options.json });
|
|
312
|
+
if (result.exitCode === 0 || !result.transient || attempts > delaysMs.length) {
|
|
313
|
+
return { exitCode: result.exitCode, attempts };
|
|
314
|
+
}
|
|
315
|
+
const delayMs = delaysMs[attempts - 1];
|
|
316
|
+
options.onRetry?.(delayMs, attempts + 1);
|
|
317
|
+
await sleep(delayMs);
|
|
318
|
+
}
|
|
281
319
|
}
|
|
282
320
|
//# sourceMappingURL=child-apps-local.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-apps-local.js","sourceRoot":"","sources":["../../../src/lib/child-apps-local.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"child-apps-local.js","sourceRoot":"","sources":["../../../src/lib/child-apps-local.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a project's login lives (#4492).
|
|
3
|
+
*
|
|
4
|
+
* A project's credentials file is `<projectRoot>/.primitive/credentials.json`,
|
|
5
|
+
* except in a linked git worktree: there it is the main worktree's file for
|
|
6
|
+
* the same project, so a new worktree of a logged-in project is logged in.
|
|
7
|
+
* Every worktree reads and writes that one file; everything else under
|
|
8
|
+
* `.primitive/` (the selection, machine-local environments, sync state,
|
|
9
|
+
* backups) stays per worktree.
|
|
10
|
+
*
|
|
11
|
+
* The answer is the project root itself whenever there is no main checkout to
|
|
12
|
+
* share with: outside a git repository, without a git that knows
|
|
13
|
+
* `--path-format` (2.31), in the main worktree, in a bare repository's
|
|
14
|
+
* worktrees, and in a linked worktree whose main checkout does not hold the
|
|
15
|
+
* project. Nothing here throws.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The project root whose `.primitive/credentials.json` holds `projectRoot`'s
|
|
19
|
+
* login: the same project in the main worktree when `projectRoot` is in a
|
|
20
|
+
* linked git worktree and the main worktree holds the project, otherwise
|
|
21
|
+
* `projectRoot` itself. Cached per process per project root.
|
|
22
|
+
*/
|
|
23
|
+
export declare function credentialsRootFor(projectRoot: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Forget every cached {@link credentialsRootFor} answer. One invocation
|
|
26
|
+
* resolves one project, so nothing in the CLI calls this; it exists for tests.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resetCredentialsHomeCache(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the nearest `.git` above `projectRoot` is a file, which is how a
|
|
31
|
+
* linked worktree is marked. Read without running git.
|
|
32
|
+
*/
|
|
33
|
+
export declare function linkedWorktreeMarker(projectRoot: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Why a linked worktree is not using the main checkout's login, when that is
|
|
36
|
+
* git's doing: git could not answer and the project sits in a linked
|
|
37
|
+
* worktree. Null otherwise.
|
|
38
|
+
*/
|
|
39
|
+
export declare function oldGitHint(projectRoot: string): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* The linked worktree's own `.primitive/credentials.json` when it exists but
|
|
42
|
+
* the main worktree's is the one used, or null. It is never read or changed.
|
|
43
|
+
*/
|
|
44
|
+
export declare function ignoredLocalCredentialsFile(projectRoot: string): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* How many worktrees of `projectRoot`'s repository hold the project and share
|
|
47
|
+
* its login: the worktrees `git worktree list` names, except a bare entry,
|
|
48
|
+
* whose copy of the project resolves to the same credentials home. At least
|
|
49
|
+
* 1; 1 on any git failure.
|
|
50
|
+
*/
|
|
51
|
+
export declare function sharedWorktreeCount(projectRoot: string): number;
|