@caelo-cms/provisioning 0.11.11 → 0.11.13

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 (64) hide show
  1. package/dist/admin-domain.d.ts +24 -0
  2. package/dist/admin-domain.d.ts.map +1 -1
  3. package/dist/admin-domain.js +43 -0
  4. package/dist/admin-domain.js.map +1 -1
  5. package/dist/agent-db.js +171 -15
  6. package/dist/converge-job-gcp.d.ts +7 -0
  7. package/dist/converge-job-gcp.d.ts.map +1 -1
  8. package/dist/converge-job-gcp.js +33 -1
  9. package/dist/converge-job-gcp.js.map +1 -1
  10. package/dist/converge-job-preflight.d.ts +34 -2
  11. package/dist/converge-job-preflight.d.ts.map +1 -1
  12. package/dist/converge-job-preflight.js +68 -1
  13. package/dist/converge-job-preflight.js.map +1 -1
  14. package/dist/converge-job-setup.d.ts.map +1 -1
  15. package/dist/converge-job-setup.js +4 -1
  16. package/dist/converge-job-setup.js.map +1 -1
  17. package/dist/converge-job.d.ts +27 -3
  18. package/dist/converge-job.d.ts.map +1 -1
  19. package/dist/converge-job.js +93 -11
  20. package/dist/converge-job.js.map +1 -1
  21. package/dist/infra-contract.d.ts +1 -1
  22. package/dist/infra-contract.d.ts.map +1 -1
  23. package/dist/infra-contract.js +5 -1
  24. package/dist/infra-contract.js.map +1 -1
  25. package/dist/install-job.d.ts +6 -0
  26. package/dist/install-job.d.ts.map +1 -1
  27. package/dist/install-job.js +6 -0
  28. package/dist/install-job.js.map +1 -1
  29. package/dist/lifecycle.d.ts.map +1 -1
  30. package/dist/lifecycle.js +14 -4
  31. package/dist/lifecycle.js.map +1 -1
  32. package/dist/mcp-auth-proxy-setup.d.ts +3 -1
  33. package/dist/mcp-auth-proxy-setup.d.ts.map +1 -1
  34. package/dist/mcp-auth-proxy-setup.js +9 -4
  35. package/dist/mcp-auth-proxy-setup.js.map +1 -1
  36. package/dist/scheduler-setup.d.ts +5 -0
  37. package/dist/scheduler-setup.d.ts.map +1 -1
  38. package/dist/scheduler-setup.js +7 -0
  39. package/dist/scheduler-setup.js.map +1 -1
  40. package/dist/upgrader-iam-preflight.d.ts +8 -6
  41. package/dist/upgrader-iam-preflight.d.ts.map +1 -1
  42. package/dist/upgrader-iam-preflight.js +5 -1
  43. package/dist/upgrader-iam-preflight.js.map +1 -1
  44. package/dist/wizards/gcp-cost.js +1 -1
  45. package/dist/wizards/gcp-cost.js.map +1 -1
  46. package/package.json +2 -2
  47. package/src/admin-domain.test.ts +65 -0
  48. package/src/admin-domain.ts +53 -0
  49. package/src/converge-job-gcp.ts +33 -1
  50. package/src/converge-job-preflight.test.ts +101 -0
  51. package/src/converge-job-preflight.ts +89 -3
  52. package/src/converge-job-setup.ts +4 -1
  53. package/src/converge-job.test.ts +143 -0
  54. package/src/converge-job.ts +143 -19
  55. package/src/infra-contract.test.ts +4 -3
  56. package/src/infra-contract.ts +5 -1
  57. package/src/install-job.ts +6 -0
  58. package/src/lifecycle.ts +16 -6
  59. package/src/mcp-auth-proxy-setup.test.ts +33 -1
  60. package/src/mcp-auth-proxy-setup.ts +11 -4
  61. package/src/scheduler-setup.test.ts +6 -0
  62. package/src/scheduler-setup.ts +7 -0
  63. package/src/upgrader-iam-preflight.ts +15 -10
  64. package/src/wizards/gcp-cost.ts +1 -1
@@ -85,6 +85,30 @@ export declare function enableAdminDomain(opts: DomainOpts): Promise<AdminDomain
85
85
  export declare function enableStagingDomain(opts: DomainOpts & {
86
86
  stagingHost: string;
87
87
  }): Promise<StagingDomainResult>;
88
+ /** What {@link stagingDomainState} found. */
89
+ export type StagingDomainState = {
90
+ readonly status: "mapped";
91
+ } | {
92
+ readonly status: "unmapped";
93
+ } | {
94
+ readonly status: "unknown";
95
+ readonly reason: string;
96
+ };
97
+ /**
98
+ * Whether the install's staging host already has its Cloud Run domain
99
+ * mapping, read-only. The upgrade asks before it tells the operator to run
100
+ * `staging-domain enable`, so an install that serves its staging host is
101
+ * not sent to set it up again. It never installs the gcloud `beta`
102
+ * component (an upgrade should not pause for a download to print a hint):
103
+ * without it, or on any error but gcloud's NOT_FOUND, the state is unknown
104
+ * and says why.
105
+ */
106
+ export declare function stagingDomainState(opts: {
107
+ projectId: string;
108
+ region: string;
109
+ stagingHost: string;
110
+ run?: Run;
111
+ }): Promise<StagingDomainState>;
88
112
  /** What {@link setAdminStagingHostEnv} did. */
89
113
  export type AdminStagingEnvResult = {
90
114
  readonly status: "set";
@@ -1 +1 @@
1
- {"version":3,"file":"admin-domain.d.ts","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAMzE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,GACnF;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAepD,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,kFAAkF;IAClF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAMD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BvE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAMpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,UAAU,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAwC9B;AAED,+CAA+C;AAC/C,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/E,OAAO,CAAC,qBAAqB,CAAC,CA8ChC"}
1
+ {"version":3,"file":"admin-domain.d.ts","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,49 @@ export async function enableStagingDomain(opts) {
140
140
  : opts.stagingHost;
141
141
  return mapDomain(run, logOf(opts), scope, verifyDomain, opts.stagingHost, found.service);
142
142
  }
143
+ /**
144
+ * Whether the install's staging host already has its Cloud Run domain
145
+ * mapping, read-only. The upgrade asks before it tells the operator to run
146
+ * `staging-domain enable`, so an install that serves its staging host is
147
+ * not sent to set it up again. It never installs the gcloud `beta`
148
+ * component (an upgrade should not pause for a download to print a hint):
149
+ * without it, or on any error but gcloud's NOT_FOUND, the state is unknown
150
+ * and says why.
151
+ */
152
+ export async function stagingDomainState(opts) {
153
+ const run = opts.run ?? defaultGcloud;
154
+ const listed = await run([
155
+ "components",
156
+ "list",
157
+ "--only-local-state",
158
+ "--filter=id=beta",
159
+ "--format=value(id)",
160
+ ]);
161
+ if (!listed.ok) {
162
+ return {
163
+ status: "unknown",
164
+ reason: `check the gcloud "beta" component: ${listed.stderr.trim() || `exit ${listed.exitCode}`}`,
165
+ };
166
+ }
167
+ if (!listed.stdout.split("\n").some((s) => s.trim() === "beta")) {
168
+ return { status: "unknown", reason: 'the gcloud "beta" component is not installed' };
169
+ }
170
+ const described = await run([
171
+ "beta",
172
+ "run",
173
+ "domain-mappings",
174
+ "describe",
175
+ `--domain=${opts.stagingHost}`,
176
+ `--region=${opts.region}`,
177
+ `--project=${opts.projectId}`,
178
+ "--format=value(metadata.name)",
179
+ ]);
180
+ if (described.ok)
181
+ return { status: "mapped" };
182
+ if (/\bNOT_FOUND\b/.test(described.stderr))
183
+ return { status: "unmapped" };
184
+ return { status: "unknown", reason: described.stderr.trim() };
185
+ }
143
186
  /**
144
187
  * #1058 — point the admin's `CAELO_STAGING_HOST` at the host
145
188
  * `staging-domain enable` just mapped. The database row
@@ -1 +1 @@
1
- {"version":3,"file":"admin-domain.js","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-domain.js","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"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"}
package/dist/agent-db.js CHANGED
@@ -18856,6 +18856,7 @@ async function recordAudit(tx, opts) {
18856
18856
  var SYSTEM_ACTOR_ID = "00000000-0000-0000-0000-00000000ffff";
18857
18857
 
18858
18858
  // ../query-api/src/branch-access.ts
18859
+ import { AsyncLocalStorage } from "async_hooks";
18859
18860
  var UUID_RE2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
18860
18861
  function namedBranches(ctx, input) {
18861
18862
  const out = new Set;
@@ -18879,12 +18880,71 @@ function branchNotFound(operation, chatBranchId) {
18879
18880
  function firstMalformedBranch(branches) {
18880
18881
  return branches.find((b) => !UUID_RE2.test(b)) ?? null;
18881
18882
  }
18882
- async function firstInvisibleBranch(tx, branches) {
18883
+ var VERDICT_MAX_AGE_MS = 30000;
18884
+ var visibilityScope = new AsyncLocalStorage;
18885
+ function verdictKey(ctx, branch) {
18886
+ return `${ctx.actorKind}|${ctx.actorId}|${ctx.chatTaskId ?? ""}|${branch}`;
18887
+ }
18888
+ function rememberedVerdict(ctx, branch) {
18889
+ const scope = visibilityScope.getStore();
18890
+ if (!scope)
18891
+ return;
18892
+ const key = verdictKey(ctx, branch);
18893
+ const hit = scope.verdicts.get(key);
18894
+ if (!hit)
18895
+ return;
18896
+ if (Date.now() - hit.at > VERDICT_MAX_AGE_MS) {
18897
+ scope.verdicts.delete(key);
18898
+ return;
18899
+ }
18900
+ return hit.visible;
18901
+ }
18902
+ function rememberVerdict(ctx, branch, visible) {
18903
+ const scope = visibilityScope.getStore();
18904
+ if (!scope)
18905
+ return;
18906
+ const key = verdictKey(ctx, branch);
18907
+ const entry = { visible, at: Date.now() };
18908
+ scope.verdicts.set(key, entry);
18909
+ visible.catch(() => {
18910
+ if (scope.verdicts.get(key) === entry)
18911
+ scope.verdicts.delete(key);
18912
+ });
18913
+ }
18914
+ async function rememberedFirstInvisible(ctx, branches) {
18915
+ const pending = [];
18916
+ for (const branch of branches) {
18917
+ if (!UUID_RE2.test(branch))
18918
+ return branch;
18919
+ const visible = rememberedVerdict(ctx, branch);
18920
+ if (!visible)
18921
+ return;
18922
+ pending.push({ branch, visible });
18923
+ }
18924
+ for (const p of pending) {
18925
+ try {
18926
+ if (!await p.visible)
18927
+ return p.branch;
18928
+ } catch {
18929
+ return;
18930
+ }
18931
+ }
18932
+ return null;
18933
+ }
18934
+ async function firstInvisibleBranch(tx, branches, ctx) {
18883
18935
  for (const branch of branches) {
18884
18936
  if (!UUID_RE2.test(branch))
18885
18937
  return branch;
18886
- const rows = await tx.execute(sql`SELECT caelo_branch_visible(${branch}::uuid) AS visible`);
18887
- if (rows[0]?.visible !== true)
18938
+ let visible = ctx ? rememberedVerdict(ctx, branch) : undefined;
18939
+ if (!visible) {
18940
+ visible = (async () => {
18941
+ const rows = await tx.execute(sql`SELECT caelo_branch_visible(${branch}::uuid) AS visible`);
18942
+ return rows[0]?.visible === true;
18943
+ })();
18944
+ if (ctx)
18945
+ rememberVerdict(ctx, branch, visible);
18946
+ }
18947
+ if (!await visible)
18888
18948
  return branch;
18889
18949
  }
18890
18950
  return null;
@@ -19106,7 +19166,7 @@ async function provisionPluginSchemaInTx(tx, caller, opts) {
19106
19166
  }
19107
19167
 
19108
19168
  // ../query-api/src/pool-guard.ts
19109
- import { AsyncLocalStorage } from "async_hooks";
19169
+ import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
19110
19170
  var POOL_ACQUIRE_TIMEOUT_MS = 1e4;
19111
19171
  var LONG_TRANSACTIONS = [
19112
19172
  {
@@ -19146,13 +19206,14 @@ class PoolAcquireTimeoutError extends Error {
19146
19206
  timeoutMs;
19147
19207
  name = "PoolAcquireTimeoutError";
19148
19208
  constructor(pool, requester, timeoutMs) {
19149
- super(`the ${pool} database pool had no free connection for ${requester} within ${timeoutMs} ms: every connection is busy. ` + "Nothing was changed. Retry in a few seconds; if it keeps happening the admin is overloaded or a request holds its connections \u2014 the server log names it.");
19209
+ super(`the ${pool} database pool had no free connection for ${requester} within ${timeoutMs} ms: every connection is busy. ` + `Nothing was changed. Retry in a few seconds (wait about ${Math.round(POOL_BUSY_RETRY_AFTER_MS / 1000)} s, then send the same call again unchanged); ` + "if it keeps happening the admin is overloaded or a request holds its connections \u2014 the server log names it.");
19150
19210
  this.pool = pool;
19151
19211
  this.requester = requester;
19152
19212
  this.timeoutMs = timeoutMs;
19153
19213
  }
19154
19214
  }
19155
- var joining = new AsyncLocalStorage;
19215
+ var POOL_BUSY_RETRY_AFTER_MS = 5000;
19216
+ var joining = new AsyncLocalStorage2;
19156
19217
  function newMarker(holder, root) {
19157
19218
  return {
19158
19219
  holder,
@@ -19168,8 +19229,8 @@ function newMarker(holder, root) {
19168
19229
 
19169
19230
  class PoolGuard {
19170
19231
  #stores = {
19171
- admin: new AsyncLocalStorage,
19172
- public: new AsyncLocalStorage
19232
+ admin: new AsyncLocalStorage2,
19233
+ public: new AsyncLocalStorage2
19173
19234
  };
19174
19235
  plan(pool, holder) {
19175
19236
  const outer = this.held(pool);
@@ -19231,6 +19292,50 @@ function detachedRunner(operation, open) {
19231
19292
  });
19232
19293
  }
19233
19294
 
19295
+ // ../query-api/src/pool-pressure.ts
19296
+ var BUN_DEFAULT_POOL_MAX = 10;
19297
+
19298
+ class PoolDemand {
19299
+ #pool;
19300
+ #max;
19301
+ #now;
19302
+ #next = 0;
19303
+ #waiting = new Map;
19304
+ #holding = new Map;
19305
+ constructor(pool, max, now = Date.now) {
19306
+ this.#pool = pool;
19307
+ this.#max = max;
19308
+ this.#now = now;
19309
+ }
19310
+ beginWait() {
19311
+ const id = this.#next++;
19312
+ this.#waiting.set(id, this.#now());
19313
+ return () => {
19314
+ this.#waiting.delete(id);
19315
+ };
19316
+ }
19317
+ beginHold(holder) {
19318
+ const id = this.#next++;
19319
+ this.#holding.set(id, { holder, since: this.#now() });
19320
+ return () => {
19321
+ this.#holding.delete(id);
19322
+ };
19323
+ }
19324
+ snapshot() {
19325
+ const now = this.#now();
19326
+ const firstWait = this.#waiting.values().next();
19327
+ const holders = [...this.#holding.values()].map((h) => ({ holder: h.holder, heldMs: now - h.since })).sort((a, b) => b.heldMs - a.heldMs);
19328
+ return {
19329
+ pool: this.#pool,
19330
+ max: this.#max,
19331
+ inUse: this.#holding.size,
19332
+ waiting: this.#waiting.size,
19333
+ oldestWaitMs: firstWait.done ? 0 : now - firstWait.value,
19334
+ holders
19335
+ };
19336
+ }
19337
+ }
19338
+
19234
19339
  // ../query-api/src/post-commit.ts
19235
19340
  var pendingByTx = new WeakMap;
19236
19341
  function collectPostCommitEffects(tx) {
@@ -19377,6 +19482,7 @@ class DatabaseAdapter {
19377
19482
  #publicDatabase;
19378
19483
  #acquireTimeoutMs;
19379
19484
  #guard = new PoolGuard;
19485
+ #demand;
19380
19486
  #verifyPromise = null;
19381
19487
  #projectionPublisher = null;
19382
19488
  #onStatement;
@@ -19405,6 +19511,13 @@ class DatabaseAdapter {
19405
19511
  this.#public = drizzle(this.#publicRaw, this.#drizzleOptions);
19406
19512
  this.#skipVerify = config.skipRoleVerification === true;
19407
19513
  this.#acquireTimeoutMs = config.poolAcquireTimeoutMs ?? POOL_ACQUIRE_TIMEOUT_MS;
19514
+ this.#demand = {
19515
+ admin: new PoolDemand("admin", poolMax ?? BUN_DEFAULT_POOL_MAX),
19516
+ public: new PoolDemand("public", publicPoolMax ?? BUN_DEFAULT_POOL_MAX)
19517
+ };
19518
+ }
19519
+ poolPressure(pool) {
19520
+ return this.#demand[pool].snapshot();
19408
19521
  }
19409
19522
  async#transaction(pool, holder, fn) {
19410
19523
  const raw = pool === "admin" ? this.#adminRaw : this.#publicRaw;
@@ -19415,6 +19528,7 @@ class DatabaseAdapter {
19415
19528
  return this.#joinHeld(pool, plan.outer, plan.marker, fn);
19416
19529
  const marker = plan.marker;
19417
19530
  const reserved = await this.#reserve(pool, raw, holder);
19531
+ const endHold = this.#demand[pool].beginHold(holder);
19418
19532
  try {
19419
19533
  const db = drizzle({ client: reserved, ...this.#drizzleOptions });
19420
19534
  this.#onStatement?.("BEGIN");
@@ -19428,6 +19542,7 @@ class DatabaseAdapter {
19428
19542
  return out;
19429
19543
  } finally {
19430
19544
  reserved.release();
19545
+ endHold();
19431
19546
  await this.#runAfterEnd(marker);
19432
19547
  }
19433
19548
  }
@@ -19471,6 +19586,7 @@ class DatabaseAdapter {
19471
19586
  async#reserve(pool, raw, requester) {
19472
19587
  const deadline = new AbortController;
19473
19588
  const timer = setTimeout(() => deadline.abort(), this.#acquireTimeoutMs);
19589
+ const endWait = this.#demand[pool].beginWait();
19474
19590
  try {
19475
19591
  return await raw.reserve({ signal: deadline.signal });
19476
19592
  } catch (e) {
@@ -19479,6 +19595,7 @@ class DatabaseAdapter {
19479
19595
  }
19480
19596
  throw e;
19481
19597
  } finally {
19598
+ endWait();
19482
19599
  clearTimeout(timer);
19483
19600
  }
19484
19601
  }
@@ -19590,7 +19707,7 @@ class DatabaseAdapter {
19590
19707
  postCommit = collectPostCommitEffects(tx);
19591
19708
  await this.#setIdentity(tx, ctx, op.name);
19592
19709
  if (op.database === "cms_admin") {
19593
- const denied = await firstInvisibleBranch(tx, namedBranches(ctx, validatedInput));
19710
+ const denied = await firstInvisibleBranch(tx, namedBranches(ctx, validatedInput), ctx);
19594
19711
  if (denied !== null)
19595
19712
  return err(branchNotFound(op.name, denied));
19596
19713
  }
@@ -19647,9 +19764,10 @@ class DatabaseAdapter {
19647
19764
  try {
19648
19765
  const branches = op.database === "cms_admin" ? namedBranches(ctx, validatedInput) : [];
19649
19766
  if (branches.length > 0) {
19650
- const denied = await this.#transaction("admin", op.name, async (tx) => {
19767
+ const remembered = await rememberedFirstInvisible(ctx, branches);
19768
+ const denied = remembered !== undefined ? remembered : await this.#transaction("admin", op.name, async (tx) => {
19651
19769
  await this.#setIdentity(tx, ctx);
19652
- return firstInvisibleBranch(tx, branches);
19770
+ return firstInvisibleBranch(tx, branches, ctx);
19653
19771
  });
19654
19772
  if (denied !== null)
19655
19773
  return err(branchNotFound(op.name, denied));
@@ -19749,7 +19867,8 @@ class DatabaseAdapter {
19749
19867
  try {
19750
19868
  const branches = namedBranches(ctx, validatedInput);
19751
19869
  if (branches.length > 0) {
19752
- const denied = await this.#shortRead(ctx, op.name, (tx) => firstInvisibleBranch(tx, branches));
19870
+ const remembered = await rememberedFirstInvisible(ctx, branches);
19871
+ const denied = remembered !== undefined ? remembered : await this.#shortRead(ctx, op.name, (tx) => firstInvisibleBranch(tx, branches, ctx));
19753
19872
  if (denied !== null)
19754
19873
  return err(branchNotFound(op.name, denied));
19755
19874
  }
@@ -19829,7 +19948,7 @@ class DatabaseAdapter {
19829
19948
  if (!joined)
19830
19949
  postCommit = collectPostCommitEffects(tx);
19831
19950
  await this.#setIdentity(tx, ctx, options.holder ?? null);
19832
- const denied = await firstInvisibleBranch(tx, namedBranches(ctx, undefined));
19951
+ const denied = await firstInvisibleBranch(tx, namedBranches(ctx, undefined), ctx);
19833
19952
  if (denied !== null) {
19834
19953
  throw new OperationAbortError(branchNotFound("withAdminTransaction", denied));
19835
19954
  }
@@ -19866,11 +19985,40 @@ class DatabaseAdapter {
19866
19985
  if (this.#adminRaw === null)
19867
19986
  throw new AdminDatabaseUnavailableError("rawAdmin");
19868
19987
  this.#guard.assertNoHeldTransaction("admin", "rawAdmin()");
19869
- return this.#adminRaw;
19988
+ return this.#trackedRaw("admin", this.#adminRaw);
19870
19989
  }
19871
19990
  rawPublic() {
19872
19991
  this.#guard.assertNoHeldTransaction("public", "rawPublic()");
19873
- return this.#publicRaw;
19992
+ return this.#trackedRaw("public", this.#publicRaw);
19993
+ }
19994
+ #trackedRaw(pool, raw) {
19995
+ const demand = this.#demand[pool];
19996
+ return new Proxy(raw, {
19997
+ get(target, property, receiver) {
19998
+ const value = Reflect.get(target, property, receiver);
19999
+ if (property !== "begin" || typeof value !== "function") {
20000
+ return typeof value === "function" ? value.bind(target) : value;
20001
+ }
20002
+ return (...args) => {
20003
+ const last = args.length - 1;
20004
+ const fn = args[last];
20005
+ if (typeof fn !== "function")
20006
+ return value.apply(target, args);
20007
+ const endWait = demand.beginWait();
20008
+ const counted = async (tx) => {
20009
+ endWait();
20010
+ const endHold = demand.beginHold("raw.begin");
20011
+ try {
20012
+ return await fn(tx);
20013
+ } finally {
20014
+ endHold();
20015
+ }
20016
+ };
20017
+ const out = value.apply(target, [...args.slice(0, last), counted]);
20018
+ return out.finally(endWait);
20019
+ };
20020
+ }
20021
+ });
19874
20022
  }
19875
20023
  async provisionPluginPublicSchema(opts) {
19876
20024
  if (!/^[0-9a-f-]{36}$/i.test(opts.pluginId)) {
@@ -19963,6 +20111,14 @@ async function auditDroppedColumns(tx, database, pluginId, outcome) {
19963
20111
  }
19964
20112
  function thrownToQueryError(operation, thrown, access) {
19965
20113
  const raw = thrown instanceof Error ? thrown.message : String(thrown);
20114
+ if (thrown instanceof PoolAcquireTimeoutError) {
20115
+ return {
20116
+ kind: "HandlerError",
20117
+ operation,
20118
+ message: raw,
20119
+ busy: { retryAfterMs: POOL_BUSY_RETRY_AFTER_MS }
20120
+ };
20121
+ }
19966
20122
  if (isRlsDenial(thrown)) {
19967
20123
  console.warn(`[query-api] ${operation}: RLS denied the ${access}: ${raw}`);
19968
20124
  return { kind: "RLSDenied", operation, detail: rlsDenialMessage(operation, access) };
@@ -41,6 +41,13 @@ export declare function deployedSiteMismatch(adminJson: string, meta: Pick<Insta
41
41
  export declare function convergeExecutionNameError(execution: string | null): string | null;
42
42
  /** The new execution's name from `gcloud run jobs execute --async`. */
43
43
  export declare function startedExecutionName(stdout: string, stderr: string): string | null;
44
+ /**
45
+ * The `gcloud` argv that grants the install's provisioner — this job's
46
+ * own identity, never another principal — `role` on the project, or null
47
+ * when `role` is not on the self-grant allowlist (converge-job-preflight.ts).
48
+ * Exported for the tests that pin the boundary.
49
+ */
50
+ export declare function selfGrantArgs(projectId: string, role: string): string[] | null;
44
51
  /**
45
52
  * Every dependency of {@link runConvergeJob} except the database (the queue
46
53
  * and how it is secured, #1373) and the log.
@@ -1 +1 @@
1
- {"version":3,"file":"converge-job-gcp.d.ts","sourceRoot":"","sources":["../src/converge-job-gcp.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAA0B,MAAM,mBAAmB,CAAC;AAYhG,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBxE;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC,EAClE,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAiCf;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAOlF;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,EACjD,GAAG,EAAE,MAAM,GACV,eAAe,CAyOjB"}
1
+ {"version":3,"file":"converge-job-gcp.d.ts","sourceRoot":"","sources":["../src/converge-job-gcp.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAA0B,MAAM,mBAAmB,CAAC;AAahG,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBxE;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC,EAClE,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAiCf;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAOlF;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAY9E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,EACjD,GAAG,EAAE,MAAM,GACV,eAAe,CAmPjB"}
@@ -19,15 +19,17 @@ import { tmpdir } from "node:os";
19
19
  import { join } from "node:path";
20
20
  import { CAELO_VERSION } from "@caelo-cms/shared";
21
21
  import { readConvergeCheckpoint, writeConvergeCheckpoint } from "./converge-checkpoint.js";
22
+ import { isSelfGrantableRole } from "./converge-job-preflight.js";
22
23
  import { CONVERGE_TASK_TIMEOUT_MINUTES } from "./converge-job-setup.js";
23
24
  import { gcloud } from "./gcloud.js";
24
- import { realSleep } from "./gcloud-retry.js";
25
+ import { realSleep, runWithRetry } from "./gcloud-retry.js";
25
26
  import { convergeJobName, GCP_STACK_ENV, gcpNamePrefix, operatorAccessJobName, } from "./gcp-names.js";
26
27
  import { INFRA_CONTRACT_VERSION } from "./infra-contract.js";
27
28
  import { describeExecution } from "./install-job.js";
28
29
  import { installRoot, installStagingHost, readMetadata, recordInfraContractVersion, } from "./install-state.js";
29
30
  import { runMigrationsViaCloudRunJob } from "./migration-runner.js";
30
31
  import { installIapAllowlist } from "./operator-access.js";
32
+ import { provisionerServiceAccountEmail } from "./provisioner-identity.js";
31
33
  import { fetchVerifiedReleaseManifest, manifestServiceImages } from "./release-manifest.js";
32
34
  import { publicSiteUrl, STAGING_HOST_ENV } from "./stack-contract.js";
33
35
  import { attachInstall } from "./state-attach.js";
@@ -160,6 +162,26 @@ export function startedExecutionName(stdout, stderr) {
160
162
  const name = stdout.trim().split(/\s+/)[0] || /Execution \[([^\]]+)\]/.exec(stderr)?.[1] || "";
161
163
  return /^[a-z0-9-]+$/.test(name) ? name : null;
162
164
  }
165
+ /**
166
+ * The `gcloud` argv that grants the install's provisioner — this job's
167
+ * own identity, never another principal — `role` on the project, or null
168
+ * when `role` is not on the self-grant allowlist (converge-job-preflight.ts).
169
+ * Exported for the tests that pin the boundary.
170
+ */
171
+ export function selfGrantArgs(projectId, role) {
172
+ if (!isSelfGrantableRole(role))
173
+ return null;
174
+ return [
175
+ "projects",
176
+ "add-iam-policy-binding",
177
+ projectId,
178
+ `--member=serviceAccount:${provisionerServiceAccountEmail(projectId)}`,
179
+ `--role=${role}`,
180
+ "--condition=None",
181
+ "--quiet",
182
+ "--format=none",
183
+ ];
184
+ }
163
185
  /**
164
186
  * Every dependency of {@link runConvergeJob} except the database (the queue
165
187
  * and how it is secured, #1373) and the log.
@@ -285,6 +307,16 @@ export function gcpConvergeDeps(placement, queue, secureDatabase, log) {
285
307
  projectId,
286
308
  region,
287
309
  iam: gcloudIamTester(run, http),
310
+ grantOwnRole: async (role) => {
311
+ const args = selfGrantArgs(projectId, role);
312
+ if (!args)
313
+ return { ok: false, error: `${role} is not a role the converge job may grant itself` };
314
+ const r = await runWithRetry(run, realSleep, args);
315
+ return r.ok
316
+ ? { ok: true }
317
+ : { ok: false, error: r.stderr.trim() || `gcloud exited ${r.exitCode}` };
318
+ },
319
+ sleep: realSleep,
288
320
  execution: placement.execution,
289
321
  ownVersion: CAELO_VERSION,
290
322
  // The default deps: the fixed registry and signer, never overridden.
@@ -1 +1 @@
1
- {"version":3,"file":"converge-job-gcp.js","sourceRoot":"","sources":["../src/converge-job-gcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converge-job-gcp.js","sourceRoot":"","sources":["../src/converge-job-gcp.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type InstallJobRole } from "./install-job.js";
2
- import type { AccessCheck, PreflightVoice } from "./upgrader-iam-preflight.js";
2
+ import type { AccessCheck, MissingAccess, PreflightVoice } from "./upgrader-iam-preflight.js";
3
3
  /**
4
4
  * What a converge does with each role `ensureConvergeJob` grants the
5
5
  * provisioner on top of its install roles, and the permissions of that role
@@ -12,10 +12,42 @@ export declare const INSTALL_ROLE_USES: Record<InstallJobRole, {
12
12
  }>;
13
13
  /** The converge job's voice: the setup is re-converged by a terminal upgrade. */
14
14
  export declare const CONVERGE_PREFLIGHT_VOICE: PreflightVoice;
15
+ /**
16
+ * The roles the converge job may grant its own account when the self-check
17
+ * finds them missing: exactly the roles `ensureConvergeJob` grants it, as
18
+ * compiled into this release (see the file comment).
19
+ */
20
+ export declare const CONVERGE_SELF_GRANTABLE_ROLES: readonly InstallJobRole[];
21
+ /**
22
+ * Roles the converge job must never grant itself, whatever a release's list
23
+ * says — ownership and IAM-policy roles (prefix matches). The tests assert
24
+ * {@link CONVERGE_SELF_GRANTABLE_ROLES} names none of them, and the grant
25
+ * step refuses them again at run time.
26
+ */
27
+ export declare const SELF_GRANT_FORBIDDEN_ROLES: readonly ["roles/owner", "roles/editor", "roles/resourcemanager.", "roles/iam.securityAdmin", "roles/iam.organizationRoleAdmin", "roles/iam.serviceAccountKeyAdmin", "roles/iam.workloadIdentityPoolAdmin", "roles/orgpolicy.", "roles/billing."];
28
+ /** Whether the converge job may grant `role` to its own account (see the file comment). */
29
+ export declare function isSelfGrantableRole(role: string): role is InstallJobRole;
30
+ /** A converge self-check; `role` marks a check that granting that role repairs. */
31
+ export interface ConvergeAccessCheck extends AccessCheck {
32
+ readonly role?: InstallJobRole;
33
+ }
34
+ /** What the converge job does about the self-check's missing permissions. */
35
+ export interface SelfGrantPlan {
36
+ /** Allowlisted roles to grant the provisioner, in list order. */
37
+ readonly grant: readonly InstallJobRole[];
38
+ /** What no grant of the job repairs: the run stops on any of these. */
39
+ readonly blocking: readonly MissingAccess<ConvergeAccessCheck>[];
40
+ }
41
+ /**
42
+ * Split the self-check's missing permissions into roles the job grants
43
+ * itself and the rest. A check counts as repairable only when its whole
44
+ * shortfall is permissions of an allowlisted role it is marked with.
45
+ */
46
+ export declare function selfGrantPlan(missing: readonly MissingAccess<ConvergeAccessCheck>[]): SelfGrantPlan;
15
47
  /** Every permission a converge run relies on after its decision (see the file comment). */
16
48
  export declare function convergeAccessChecks(target: {
17
49
  readonly projectId: string;
18
50
  readonly region: string;
19
51
  readonly env: string;
20
- }): AccessCheck[];
52
+ }): ConvergeAccessCheck[];
21
53
  //# sourceMappingURL=converge-job-preflight.d.ts.map