primitive-admin 1.1.0-alpha.83 → 1.1.0-alpha.84

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 (38) hide show
  1. package/assets/skill/skills/primitive-platform/SKILL.md +105 -675
  2. package/dist/src/commands/collections.js +61 -0
  3. package/dist/src/commands/collections.js.map +1 -1
  4. package/dist/src/commands/databases.js +10 -2
  5. package/dist/src/commands/databases.js.map +1 -1
  6. package/dist/src/commands/documents.d.ts +38 -0
  7. package/dist/src/commands/documents.js +235 -53
  8. package/dist/src/commands/documents.js.map +1 -1
  9. package/dist/src/commands/functions.js +1 -1
  10. package/dist/src/commands/functions.js.map +1 -1
  11. package/dist/src/lib/api-client.d.ts +28 -0
  12. package/dist/src/lib/api-client.js +40 -11
  13. package/dist/src/lib/api-client.js.map +1 -1
  14. package/dist/src/lib/db-codegen/dbTypeIR.js +8 -0
  15. package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -1
  16. package/dist/src/lib/document-ingest-rows.d.ts +137 -0
  17. package/dist/src/lib/document-ingest-rows.js +181 -0
  18. package/dist/src/lib/document-ingest-rows.js.map +1 -0
  19. package/dist/src/lib/document-ingest.d.ts +25 -2
  20. package/dist/src/lib/document-ingest.js +184 -31
  21. package/dist/src/lib/document-ingest.js.map +1 -1
  22. package/dist/src/lib/function-db-types.d.ts +1 -1
  23. package/dist/src/lib/function-db-types.js +1 -1
  24. package/dist/src/lib/function-document-types.js +23 -2
  25. package/dist/src/lib/function-document-types.js.map +1 -1
  26. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  27. package/dist/src/lib/generated-sdk-types.js +1 -1
  28. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  29. package/dist/src/lib/resolve-owner.d.ts +19 -0
  30. package/dist/src/lib/resolve-owner.js +20 -0
  31. package/dist/src/lib/resolve-owner.js.map +1 -0
  32. package/dist/src/lib/skill-installer.d.ts +49 -3
  33. package/dist/src/lib/skill-installer.js +275 -100
  34. package/dist/src/lib/skill-installer.js.map +1 -1
  35. package/dist/src/lib/snapshot-build.d.ts +50 -0
  36. package/dist/src/lib/snapshot-build.js +111 -0
  37. package/dist/src/lib/snapshot-build.js.map +1 -0
  38. package/package.json +2 -2
@@ -12,11 +12,17 @@
12
12
  * - Ctrl-C during the uploads aborts too, because the session it was filling
13
13
  * is not going to be committed; Ctrl-C while POLLING leaves the session
14
14
  * alone, because by then the document is already being changed and giving up
15
- * on watching is not giving up on the load.
15
+ * on watching is not giving up on the load;
16
+ * - a session READ that fails while polling is retried on a bounded schedule
17
+ * (#3597), for the same reason: the read failing says nothing about the load,
18
+ * and a multi-hour load will meet transient reads. When the bound is spent
19
+ * the wait stops and says the session is still running — it never reports it
20
+ * as cancelled or failed.
16
21
  *
17
22
  * Exit codes follow `functions runs wait`/`invoke`, as `docs/cli-design.md`
18
23
  * records them: 0 completed, 1 failed or refused, 124 a wait that gave up,
19
- * 130 Ctrl-C.
24
+ * 130 Ctrl-C. Both ways of giving up on the WATCHING are 124 and both say the
25
+ * session keeps running; only the load itself failing is 1.
20
26
  */
21
27
  import fs from "fs";
22
28
  /** A plan the operator did not confirm, or cannot be asked about. */
@@ -29,6 +35,46 @@ export class IngestRefusedError extends Error {
29
35
  const POLL_FAST_MS = 2_000;
30
36
  const POLL_SLOW_MS = 5_000;
31
37
  const POLL_SLOWS_AFTER_MS = 60_000;
38
+ /**
39
+ * How long CONSECUTIVE failed session reads may run before the wait gives up
40
+ * (#3597), and the backoff between them.
41
+ *
42
+ * A bound measured in attempts would have been wrong for the load this is for:
43
+ * the 2026-09-18 2 GB validation attempts met reads that failed for MINUTES
44
+ * together through the same route while the session stayed alive and
45
+ * advancing. So the bound is a wall-clock window, and any successful read
46
+ * resets it — an isolated blip costs a multi-hour load nothing at all, and
47
+ * only an outage that never lifts ends the watching.
48
+ *
49
+ * Module constants like the poll cadence above, deliberately: there is no flag
50
+ * for them. The backoff caps rather than doubling forever, because a backoff
51
+ * that silently stops backing off is a poll storm (`function-run.ts`).
52
+ */
53
+ const POLL_READ_RETRY_WINDOW_MS = 10 * 60_000;
54
+ const POLL_READ_BACKOFF_MS = 1_000;
55
+ const POLL_READ_BACKOFF_CAP_MS = 15_000;
56
+ /**
57
+ * Whether a thrown session read is worth retrying.
58
+ *
59
+ * `ApiClient.request` throws an `ApiError` carrying `statusCode` on any
60
+ * non-2xx, and the fetch under it rejects with no status at all on a dropped
61
+ * connection — so a transport failure, a 5xx, a 408 and a 429 all describe a
62
+ * server that may well answer the next read, and the session goes on either
63
+ * way. Any OTHER 4xx is definitive: the session is gone, or unreadable to this
64
+ * caller, and retrying it only to call it "still running" would misstate it.
65
+ */
66
+ function isTransientReadError(error) {
67
+ const status = error?.statusCode ?? error?.status;
68
+ if (typeof status !== "number")
69
+ return true;
70
+ if (status >= 500)
71
+ return true;
72
+ return status === 408 || status === 429;
73
+ }
74
+ /** The capped doubling between consecutive failed reads. */
75
+ function readBackoffMs(failures) {
76
+ return Math.min(POLL_READ_BACKOFF_MS * 2 ** (failures - 1), POLL_READ_BACKOFF_CAP_MS);
77
+ }
32
78
  /** The plan summary an operator confirms, one line per row. */
33
79
  export function summariseIngestPlan(plan) {
34
80
  const lines = plan.models.map((model) => ` ${model.model}: ${model.rows} rows, ${model.chunks} chunks, ` +
@@ -56,8 +102,16 @@ export function assertIngestConfirmable(options) {
56
102
  }
57
103
  export async function driveDocumentIngest(options) {
58
104
  const { client, documentId, plan, concurrency = 4, wait = true, timeoutMs = null, signal, onProgress = () => { }, readChunk = async (chunk) => fs.readFileSync(chunk.file), now = () => Date.now(), sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), } = options;
105
+ // A phase appears only once it has FINISHED (#3598). A create that threw
106
+ // cost time, but not a measurable amount of anything an operator can act
107
+ // on; half an upload has no rate; and a phase the run never reached has
108
+ // nothing to say rather than a zero to say it with.
109
+ const timings = {};
110
+ /** A whole number of milliseconds, never negative. */
111
+ const since = (at) => Math.max(0, now() - at);
59
112
  // ── create ──
60
113
  let session;
114
+ const createdAt = now();
61
115
  try {
62
116
  session = await client.createIngest(documentId);
63
117
  }
@@ -68,6 +122,7 @@ export async function driveDocumentIngest(options) {
68
122
  exitCode: 1,
69
123
  sessionId: null,
70
124
  session: null,
125
+ timings,
71
126
  message: `${error.message}\nThis document already has bulk load ${active}. ` +
72
127
  `Watch it with \`primitive documents ingests get ${documentId} ${active}\`, ` +
73
128
  `or give it up with \`primitive documents ingests abort\`.`,
@@ -77,9 +132,11 @@ export async function driveDocumentIngest(options) {
77
132
  exitCode: 1,
78
133
  sessionId: null,
79
134
  session: null,
135
+ timings,
80
136
  message: String(error?.message ?? error),
81
137
  };
82
138
  }
139
+ timings.createMs = since(createdAt);
83
140
  const sessionId = String(session.sessionId);
84
141
  onProgress(`Session ${sessionId} opened.`);
85
142
  const giveUp = async (message, exitCode) => {
@@ -90,9 +147,10 @@ export async function driveDocumentIngest(options) {
90
147
  catch (error) {
91
148
  onProgress(`Session ${sessionId} could not be aborted: ${error?.message ?? error}`);
92
149
  }
93
- return { exitCode, sessionId, session: null, message };
150
+ return { exitCode, sessionId, session: null, timings, message };
94
151
  };
95
152
  // ── upload ──
153
+ const uploadStartedAt = now();
96
154
  const queue = [...plan.chunks];
97
155
  let uploaded = 0;
98
156
  let failure = null;
@@ -124,37 +182,130 @@ export async function driveDocumentIngest(options) {
124
182
  if (signal?.aborted) {
125
183
  return giveUp("Interrupted while uploading; the session was aborted and nothing was applied.", 130);
126
184
  }
185
+ // Every chunk is up, so there is a rate to state. It is measured over the
186
+ // PLAN's stored chunk sizes — what actually went over the wire — rather
187
+ // than over the decompressed total, which is not what was sent.
188
+ const uploadMs = since(uploadStartedAt);
189
+ const uploadedBytes = plan.chunks.reduce((sum, chunk) => sum + chunk.bytes, 0);
190
+ timings.uploadMs = uploadMs;
191
+ timings.uploadedBytes = uploadedBytes;
192
+ onProgress(`Uploaded ${plan.chunks.length} chunks (${uploadedBytes} bytes) in ` +
193
+ `${seconds(uploadMs)}` +
194
+ (uploadMs > 0 ? ` (${megabytesPerSecond(uploadedBytes, uploadMs)}).` : "."));
127
195
  // ── commit ──
196
+ const committedAt = now();
128
197
  try {
129
198
  session = await client.commitIngest(documentId, sessionId);
130
199
  }
131
200
  catch (error) {
132
201
  return giveUp(String(error?.message ?? error), 1);
133
202
  }
203
+ const commitMs = since(committedAt);
204
+ timings.commitMs = commitMs;
134
205
  onProgress(`Session ${sessionId} committed.`);
206
+ onProgress(`Committed in ${seconds(commitMs)}.`);
135
207
  if (!wait) {
136
- return { exitCode: 0, sessionId, session, message: undefined };
208
+ // Nothing was waited for, so the wait is zero rather than unknown: the
209
+ // session keeps running and `ingests get` is where its own time is.
210
+ timings.waitMs = 0;
211
+ return { exitCode: 0, sessionId, session, timings, message: undefined };
137
212
  }
138
213
  // ── poll ──
139
214
  //
140
215
  // Past this point the session is the server's business: the copy has begun
141
216
  // and the document's tables will be swapped whatever this process does. So
142
- // neither a timeout nor a Ctrl-C aborts it — both say so and leave.
217
+ // neither a timeout nor a Ctrl-C nor a read that keeps failing aborts it —
218
+ // each says so and leaves.
143
219
  const started = now();
144
220
  let reported = null;
145
221
  let reportedProgress = "";
222
+ // The current run of consecutive failed reads: how many, when it started on
223
+ // the injected clock, and the last thing the server said. All three reset on
224
+ // any read that answers.
225
+ let readFailures = 0;
226
+ let failingSince = 0;
227
+ let lastReadError = "";
228
+ const stillRunning = () => `The bulk load is still running on the server; read it with ` +
229
+ `\`primitive documents ingests get ${documentId} ${sessionId}\`.`;
230
+ // Every door out of the WATCHING records the wait it is ending (#3598): the
231
+ // time was really spent on the server whichever way the watching stopped,
232
+ // and a load that gave up is exactly when somebody needs that number.
233
+ const interrupted = (view) => {
234
+ timings.waitMs = since(started);
235
+ return {
236
+ exitCode: 130,
237
+ sessionId,
238
+ session: view,
239
+ timings,
240
+ message: `Interrupted. The session keeps running; watch it with ` +
241
+ `\`primitive documents ingests get ${documentId} ${sessionId}\`.`,
242
+ };
243
+ };
244
+ const timedOut = (view, elapsed) => {
245
+ timings.waitMs = elapsed;
246
+ return {
247
+ exitCode: 124,
248
+ sessionId,
249
+ session: view,
250
+ timings,
251
+ message: `Gave up waiting after ${Math.round(elapsed / 1000)}s. The session ` +
252
+ `keeps running; watch it with \`primitive documents ingests get ` +
253
+ `${documentId} ${sessionId}\`.`,
254
+ };
255
+ };
146
256
  for (;;) {
147
257
  let view;
148
258
  try {
149
259
  view = await client.getIngest(documentId, sessionId);
260
+ if (readFailures > 0) {
261
+ onProgress(`Session ${sessionId} answered again after ${readFailures} ` +
262
+ `unanswered read(s); polling resumed.`);
263
+ readFailures = 0;
264
+ lastReadError = "";
265
+ }
150
266
  }
151
267
  catch (error) {
152
- return {
153
- exitCode: 1,
154
- sessionId,
155
- session: null,
156
- message: String(error?.message ?? error),
157
- };
268
+ const message = String(error?.message ?? error);
269
+ // A refusal is a refusal: it is reported now, exactly as before — and
270
+ // it still carries the wait that preceded it (finding 3598-FROZEN-01),
271
+ // because a load that polled for minutes before the reads stopped
272
+ // answering really did spend those minutes waiting on the server.
273
+ if (!isTransientReadError(error)) {
274
+ timings.waitMs = since(started);
275
+ return { exitCode: 1, sessionId, session: null, timings, message };
276
+ }
277
+ if (readFailures === 0)
278
+ failingSince = now();
279
+ readFailures += 1;
280
+ lastReadError = message;
281
+ const failingFor = now() - failingSince;
282
+ if (failingFor >= POLL_READ_RETRY_WINDOW_MS) {
283
+ // 124, the documented "a wait that gave up" code — never 1. Giving up
284
+ // on the watching is not the load failing, and the operator has to be
285
+ // able to tell them apart by the exit code alone.
286
+ timings.waitMs = since(started);
287
+ return {
288
+ exitCode: 124,
289
+ sessionId,
290
+ session: null,
291
+ timings,
292
+ message: `Stopped watching after ${Math.round(failingFor / 1000)}s of ` +
293
+ `unanswered session reads (${readFailures} attempts). ` +
294
+ `${stillRunning()} Last read error: ${lastReadError}`,
295
+ };
296
+ }
297
+ onProgress(`Session ${sessionId} did not answer (attempt ${readFailures}, ` +
298
+ `unanswered for ${Math.round(failingFor / 1000)}s); retrying` +
299
+ (readFailures === 1 ? `: ${message}` : "."));
300
+ await sleep(readBackoffMs(readFailures));
301
+ // The backoff sleep is part of the wait, so it honours the same two
302
+ // doors the success path does and with the same words: neither aborts.
303
+ if (signal?.aborted)
304
+ return interrupted(null);
305
+ const waited = now() - started;
306
+ if (timeoutMs !== null && waited >= timeoutMs)
307
+ return timedOut(null, waited);
308
+ continue;
158
309
  }
159
310
  if (view?.state !== reported) {
160
311
  reported = view?.state ?? null;
@@ -166,39 +317,41 @@ export async function driveDocumentIngest(options) {
166
317
  onProgress(` ${progress}`);
167
318
  }
168
319
  if (view?.state === "complete") {
169
- return { exitCode: 0, sessionId, session: view };
320
+ const waitMs = since(started);
321
+ timings.waitMs = waitMs;
322
+ // What the PLATFORM spent, separable from what this side did. The
323
+ // session's own `timings` say where inside the platform it went.
324
+ onProgress(`Server finished in ${seconds(waitMs)}.`);
325
+ return { exitCode: 0, sessionId, session: view, timings };
170
326
  }
171
327
  if (view?.state === "failed" || view?.state === "aborted") {
328
+ const waitMs = since(started);
329
+ timings.waitMs = waitMs;
330
+ onProgress(`Server finished in ${seconds(waitMs)}.`);
172
331
  return {
173
332
  exitCode: 1,
174
333
  sessionId,
175
334
  session: view,
335
+ timings,
176
336
  message: describeFailure(view),
177
337
  };
178
338
  }
179
339
  const elapsed = now() - started;
180
- if (timeoutMs !== null && elapsed >= timeoutMs) {
181
- return {
182
- exitCode: 124,
183
- sessionId,
184
- session: view,
185
- message: `Gave up waiting after ${Math.round(elapsed / 1000)}s. The session ` +
186
- `keeps running; watch it with \`primitive documents ingests get ` +
187
- `${documentId} ${sessionId}\`.`,
188
- };
189
- }
340
+ if (timeoutMs !== null && elapsed >= timeoutMs)
341
+ return timedOut(view, elapsed);
190
342
  await sleep(elapsed >= POLL_SLOWS_AFTER_MS ? POLL_SLOW_MS : POLL_FAST_MS);
191
- if (signal?.aborted) {
192
- return {
193
- exitCode: 130,
194
- sessionId,
195
- session: view,
196
- message: `Interrupted. The session keeps running; watch it with ` +
197
- `\`primitive documents ingests get ${documentId} ${sessionId}\`.`,
198
- };
199
- }
343
+ if (signal?.aborted)
344
+ return interrupted(view);
200
345
  }
201
346
  }
347
+ /** A duration an operator reads at a glance, never a bare millisecond count. */
348
+ function seconds(ms) {
349
+ return ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;
350
+ }
351
+ /** The unit a bulk load's speed is discussed in. */
352
+ function megabytesPerSecond(bytes, ms) {
353
+ return `${((bytes / 1_000_000 / ms) * 1000).toFixed(2)} MB/s`;
354
+ }
202
355
  /** The session's own words for why it stopped. */
203
356
  function describeFailure(view) {
204
357
  if (view?.state === "aborted")
@@ -1 +1 @@
1
- {"version":3,"file":"document-ingest.js","sourceRoot":"","sources":["../../../src/lib/document-ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-ingest.js","sourceRoot":"","sources":["../../../src/lib/document-ingest.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@
33
33
  * `models/models.toml`, and the `DocumentSchemas` augmentation that types
34
34
  * `ctx.doc(documentId).model("<Model>")`; open when the project has none;
35
35
  * - `generated/<key>.generated.ts` (#3281, same renderer) — the per-key
36
- * CLIENT invoker, with the mode fixed at generation time. Excluded from
36
+ * CLIENT invoker, carrying every verb since #3482. Excluded from
37
37
  * the scaffolded program (it imports `js-bao-wss-client`), and written to
38
38
  * `-o <dir>` instead when `functions codegen` is told so;
39
39
  * - `tsconfig.json` — the wiring, so an editor and a bare `tsc` both see the
@@ -33,7 +33,7 @@
33
33
  * `models/models.toml`, and the `DocumentSchemas` augmentation that types
34
34
  * `ctx.doc(documentId).model("<Model>")`; open when the project has none;
35
35
  * - `generated/<key>.generated.ts` (#3281, same renderer) — the per-key
36
- * CLIENT invoker, with the mode fixed at generation time. Excluded from
36
+ * CLIENT invoker, carrying every verb since #3482. Excluded from
37
37
  * the scaffolded program (it imports `js-bao-wss-client`), and written to
38
38
  * `-o <dir>` instead when `functions codegen` is told so;
39
39
  * - `tsconfig.json` — the wiring, so an editor and a bare `tsc` both see the
@@ -165,12 +165,24 @@ function documentSchemaProblem(source) {
165
165
  if (!data?.models) {
166
166
  return `${fileLabel(source)} has no [models] section`;
167
167
  }
168
+ // #3501 — a push is an authoring door, so a field name the engine
169
+ // reserves stops the schema here rather than at the server. `type` maps to
170
+ // the internal `_type` column, so a model declaring it would seed a
171
+ // document whose filters match the MODEL NAME instead of the stored value.
168
172
  loadSchemaFromTomlString(stringifyConfigToml({ models: data.models }), {
169
173
  strict: false,
174
+ rejectReservedFieldNames: true,
170
175
  });
171
176
  }
172
177
  catch (error) {
173
- return `${fileLabel(source)} does not parse: ${String(error?.message ?? error).split("\n")[0]}`;
178
+ const message = String(error?.message ?? error).split("\n")[0];
179
+ // A reserved name is not a syntax error — the file parses, and saying it
180
+ // does not would send the author looking for a typo (matched on the
181
+ // error's NAME so the CLI needs no second import from js-bao).
182
+ if (error?.name === "ReservedFieldNameError") {
183
+ return `${fileLabel(source)} declares a reserved field name: ${message}`;
184
+ }
185
+ return `${fileLabel(source)} does not parse: ${message}`;
174
186
  }
175
187
  return null;
176
188
  }
@@ -252,21 +264,30 @@ export function renderDocumentTypesDeclaration(source) {
252
264
  }
253
265
  let schemas = [];
254
266
  let problem = null;
267
+ let reserved = false;
255
268
  try {
256
269
  const data = parseConfigToml(source.content);
257
270
  schemas = data?.models
258
271
  ? loadSchemaFromTomlString(stringifyConfigToml({ models: data.models }), {
259
272
  strict: false,
273
+ // #3501 — the same refusal `documentSchemaProblem` makes, so a
274
+ // model the push will not carry is not typed here either. A
275
+ // generated `type?: string` would promise a field whose filters
276
+ // match the model name instead of the stored value.
277
+ rejectReservedFieldNames: true,
260
278
  })
261
279
  : [];
262
280
  }
263
281
  catch (error) {
264
282
  problem = String(error?.message ?? error);
283
+ reserved = error?.name === "ReservedFieldNameError";
265
284
  }
266
285
  if (problem !== null) {
267
286
  // No augmentation: an untyped handle is what a schemaless project gets
268
287
  // anyway, and the file is named so the author knows where to look.
269
- lines.push(`// ${fileLabel(source)} does not parse, so it contributes no types:`);
288
+ lines.push(reserved
289
+ ? `// ${fileLabel(source)} declares a reserved field name, so it contributes no types:`
290
+ : `// ${fileLabel(source)} does not parse, so it contributes no types:`);
270
291
  for (const line of problem.split("\n").slice(0, 3))
271
292
  lines.push(`// ${line}`);
272
293
  lines.push("export interface PrimitiveDocumentSchemas {}");
@@ -1 +1 @@
1
- {"version":3,"file":"function-document-types.js","sourceRoot":"","sources":["../../../src/lib/function-document-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-document-types.js","sourceRoot":"","sources":["../../../src/lib/function-document-types.ts"],"names":[],"mappings":"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"}