primitive-admin 1.1.0-alpha.56 → 1.1.0-alpha.58

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 (33) hide show
  1. package/README.md +2 -0
  2. package/dist/src/commands/analytics.js +20 -0
  3. package/dist/src/commands/analytics.js.map +1 -1
  4. package/dist/src/commands/databases.d.ts +63 -0
  5. package/dist/src/commands/databases.js +307 -8
  6. package/dist/src/commands/databases.js.map +1 -1
  7. package/dist/src/commands/documents.js +89 -2
  8. package/dist/src/commands/documents.js.map +1 -1
  9. package/dist/src/commands/init.js +15 -1
  10. package/dist/src/commands/init.js.map +1 -1
  11. package/dist/src/commands/sync.js +21 -2
  12. package/dist/src/commands/sync.js.map +1 -1
  13. package/dist/src/commands/webhooks.js +175 -6
  14. package/dist/src/commands/webhooks.js.map +1 -1
  15. package/dist/src/lib/api-client.d.ts +110 -1
  16. package/dist/src/lib/api-client.js +91 -6
  17. package/dist/src/lib/api-client.js.map +1 -1
  18. package/dist/src/lib/credentials-store.d.ts +10 -0
  19. package/dist/src/lib/credentials-store.js +23 -0
  20. package/dist/src/lib/credentials-store.js.map +1 -1
  21. package/dist/src/lib/paginate.d.ts +4 -3
  22. package/dist/src/lib/paginate.js +4 -3
  23. package/dist/src/lib/paginate.js.map +1 -1
  24. package/dist/src/lib/record-filter.d.ts +2 -1
  25. package/dist/src/lib/record-filter.js +2 -1
  26. package/dist/src/lib/record-filter.js.map +1 -1
  27. package/dist/src/lib/signing-secret-status.d.ts +82 -0
  28. package/dist/src/lib/signing-secret-status.js +117 -0
  29. package/dist/src/lib/signing-secret-status.js.map +1 -1
  30. package/dist/src/lib/swift-codegen/generator.js +1 -1
  31. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  32. package/dist/src/types/index.d.ts +3 -0
  33. package/package.json +1 -1
package/README.md CHANGED
@@ -382,6 +382,8 @@ primitive databases operations execute <database-id> <op-name> --token <jwt> #
382
382
 
383
383
  The `--token` flag lets you execute an operation as a specific user using a test JWT from `users mint-jwt`. Useful for testing access rules.
384
384
 
385
+ Under `--json`, the printed shape is the operation's own. A `query` — and a `pipeline` whose `returnField` names a query step — prints the CLI's list envelope `{ items, hasMore, nextCursor? }`, the same shape as `databases records query --json`. Every other operation type prints unchanged: `count` → `{ count }`, `aggregate` → `{ result }`, mutation → `{ results }`, `applyToQuery` → `{ matched, affected, failed, … }`, and a `returnField = "all"` pipeline → `{ steps: { … } }` with each step's own keys left alone. `--timing` adds `_timing` alongside whichever shape you get.
386
+
385
387
  **Records (schema introspection):**
386
388
  ```bash
387
389
  primitive databases records models <database-id> [app-id] # List model names
@@ -493,6 +493,7 @@ Examples:
493
493
  .option("--limit <n>", "Max error groups to return", "50")
494
494
  .option("--status-class <class>", "Filter by status class: 4xx, 5xx, transport")
495
495
  .option("--source <source>", "Filter by source: workflow_run, workflow_step, integration")
496
+ .option("--verbose", "Also print each group's exemplar (a raw sample of the failure) and where it came from")
496
497
  .option("--json", "Output as JSON")
497
498
  .action(async (appId, options) => {
498
499
  const resolvedAppId = resolveAppId(appId, options);
@@ -535,8 +536,27 @@ Examples:
535
536
  align: "right",
536
537
  format: (d) => formatNumber(Array.isArray(d) ? d.length : 0),
537
538
  },
539
+ { header: "LAST SEEN", key: "last_seen", format: formatDate },
538
540
  { header: "FINGERPRINT", key: "fingerprint", format: formatId },
539
541
  ]));
542
+ // The normalized title is a grouping key, not an explanation — the
543
+ // exemplar is the raw sample plus the run/step it came from, which is
544
+ // what makes a group actionable without paging `analytics events`.
545
+ if (options.verbose) {
546
+ for (const row of result.rows) {
547
+ console.log();
548
+ heading(row.normalized_title || row.fingerprint);
549
+ printResult("Seen", `${row.first_seen ? formatDate(row.first_seen) : "-"} → ${row.last_seen ? formatDate(row.last_seen) : "-"}`);
550
+ if (!row.exemplar) {
551
+ info("No exemplar available for this group.");
552
+ continue;
553
+ }
554
+ printResult("Example", row.exemplar.message);
555
+ printResult("Scope", row.exemplar.scope_key || "-");
556
+ printResult("Step", row.exemplar.step_id || "-");
557
+ printResult("Run", row.exemplar.run_id || "-");
558
+ }
559
+ }
540
560
  }
541
561
  catch (err) {
542
562
  error(err.message);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/commands/analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,KAAK,EACL,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,IAAI,EACJ,OAAO,EAEP,MAAM,IAAI,WAAW,EACrB,GAAG,GACJ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,wEAAwE;AACxE,SAAS,YAAY,CAAC,KAAgC;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IACtD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BL,CACI,CAAC;IAEJ,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,IAAI,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC;gBAC7C,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC;gBAC7C,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC;gBAC7C,MAAM,CAAC,0BAA0B,CAAC,aAAa,EAAE;oBAC/C,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;iBACzC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAChC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAEpF,OAAO,CAAC,GAAG,CACT,WAAW,CACT;gBACE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7F,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7F,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;aAC9F,EACD;gBACE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;gBACnC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBACzE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBAC7E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;aACnD,CACF,CACF,CAAC;YAEF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,sBAAsB,MAAM,CAAC,WAAW,QAAQ,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7D,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/D,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACnD,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACvD,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7D,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACrD,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,IAAI,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE;gBACjE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,uBAAuB,MAAM,CAAC,WAAW,QAAQ,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;gBACpC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;aACtF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,uCAAuC,CAAC;SACpD,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,GAAG,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,aAAa,EAAE;gBACnE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,yBAAyB,MAAM,CAAC,WAAW,cAAc,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;gBACpC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;aACtF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;YAEvE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,MAAM,WAAW,GAAI,MAAM,CAAC,KAAkB,CAAC,GAAG,CAChD,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CACvB,CAAC;YAEF,8CAA8C;YAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAwB;oBACjC,MAAM,EAAE,GAAG,CAAC,iBAAiB;oBAC7B,IAAI,EAAE,GAAG,CAAC,WAAW;iBACtB,CAAC;gBACD,GAAG,CAAC,SAA+B,CAAC,OAAO,CAC1C,CAAC,CAAgB,EAAE,CAAS,EAAE,EAAE;oBAC9B,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1B,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1C,CAAC,CACF,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG;gBACd,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;gBACnC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAgB,EAAE,MAAM,EAAE,YAAY,EAAE;gBAC9E,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC;oBAC5C,MAAM,EAAE,CAAC;oBACT,GAAG,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1B,KAAK,EAAE,OAAgB;iBACxB,CAAC,CAAC;aACJ,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAE7C,qBAAqB;YACrB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAI,MAAM,CAAC,QAA8B;qBAClD,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CACxB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CACtC;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,yBAAyB,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC9D,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,cAAc,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACrD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;gBACjC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvD,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE;gBAC9D,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;aAC7D,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,cAAc,CAAC,aAAa,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,aAAa,EAAE;gBAChE,CAAC,EAAE,OAAO,CAAC,KAAK;gBAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,iBAAiB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACrD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;gBACjC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;gBAC/B,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvD,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;aAC7D,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;SACpC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAChD,aAAa,EACb,QAAQ,CACT,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,aAAa,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK;gBAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;gBAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/F,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClG,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/D,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACnC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;oBAC7E,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE;iBACtE,CAAC,CACH,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE;oBACpC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;oBACrC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;oBAC7E,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;iBACpE,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,oCAAoC,CAAC;SACjD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;SACpC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAClD,aAAa,EACb,QAAQ,CACT,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,eAAe,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,CAAC;SACvD,MAAM,CAAC,YAAY,EAAE,uBAAuB,EAAE,GAAG,CAAC;SAClD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE;gBAC5D,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,oDAAoD;gBACpD,qEAAqE;gBACrE,mCAAmC;gBACnC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,6DAA6D;gBAC7D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,oBAAoB;gBACpB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CACL,gBAAgB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,SAAS,CAC3D,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACtD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;gBACnC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;gBACjC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;aACtC,CAAC,CACH,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,GAAG,CACD,QAAQ,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,UAAU,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CACL,kBAAkB,EAClB,mEAAmE,EACnE,QAAQ,CACT;SACA,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,aAAa,EAAE;gBACnE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE;gBAC7D,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBACzE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;aACtF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,gEAAgE,CACjE;SACA,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,IAAI,CAAC;SACzD,MAAM,CACL,wBAAwB,EACxB,6CAA6C,CAC9C;SACA,MAAM,CACL,mBAAmB,EACnB,4DAA4D,CAC7D;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAwB;gBAClC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC;YACF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;YAC1D,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAChD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAClD,aAAa,EACb,MAAM,CACP,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,sBAAsB,MAAM,CAAC,WAAW,QAAQ,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE;gBAC5C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;gBACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE;gBACzC;oBACE,MAAM,EAAE,OAAO;oBACf,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,YAAY;iBACrB;gBACD;oBACE,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClE;gBACD,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;aAChE,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,aAAa,EAAE;gBACxE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,wBAAwB,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE;gBAChD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBAC7E,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;gBACjF,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;gBACrF,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;aAChF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uBAAuB,CAAC;SACpC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,6BAA6B,EAAE,IAAI,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,aAAa,EAAE;gBAClE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,kBAAkB,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC5B,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE;gBAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBACrE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;gBAChF,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;gBACrF,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;gBACrE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;aAC/E,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oEAAoE;IAEpE,SAAS;SACN,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,2BAA2B,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,aAAa,EAAE;gBAChE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,gBAAgB,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE;gBACtC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;gBAC3E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;gBACrF,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;gBAC/E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;aAC/E,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,65 @@
1
1
  import { Command } from "commander";
2
+ /**
3
+ * The full `databases records bulk` precondition value space, audited in one
4
+ * pass (issue #2437, Codex cycle 3). A precondition is field-equality only, so
5
+ * a value is one of: `null`, a boolean, a number, or a string. For each, what
6
+ * the DatabaseDO `condition` grammar can express, compared against the
7
+ * documents twin's strict JS equality (`evaluatePrecondition`):
8
+ *
9
+ * | Value | Disposition | Why |
10
+ * |-------------------|-------------|----------------------------------------------------------------------|
11
+ * | string | round-trips | bound as TEXT; SQLite never equates TEXT with a number or a JSON bool |
12
+ * | number ≠ 0 and ≠1 | round-trips | bound as-is; no other JSON type extracts to that value |
13
+ * | `null` | rewritten | paired with `$exists: true` so an absent key fails (cycle-2 fix) |
14
+ * | `true` / `false` | REJECTED | bound as 1/0, and `json_extract` yields 1/0 for JSON booleans too |
15
+ * | number 0 or 1 | REJECTED | same collision seen from the other side: matches a stored `false`/`true` |
16
+ * | `{}` (no fields) | see #2511 | sent as an empty `condition`, which the DO reads as "record must exist" |
17
+ * | object / array | rejected | not field-equality; rejected by the bulk validator before reaching here |
18
+ *
19
+ * The two REJECTED rows are the boolean/number collision: `JsonQueryTranslator`
20
+ * binds `true`/`false` as `1`/`0`, and SQLite's `json_extract` also returns a
21
+ * stored JSON boolean as `1`/`0`, so `{ enabled: true }` matches a record
22
+ * holding the number `1` and `{ retries: 1 }` matches a record holding `true`.
23
+ * The documents twin compares with `!==` and fails both. The `condition`
24
+ * grammar has no type predicate (`$exists` only distinguishes present from
25
+ * absent), so this cannot be translated exactly — the CLI rejects those values
26
+ * at the boundary instead, so the databases twin fails loudly rather than
27
+ * running with a weaker guard than the caller wrote. Issue #2507 tracks giving
28
+ * the grammar a type-aware equality, which would let these values be accepted.
29
+ *
30
+ * Returns an explanation when the value cannot be translated exactly, or
31
+ * `null` when it round-trips or is rewritten.
32
+ */
33
+ export declare function untranslatablePreconditionValue(value: unknown): string | null;
34
+ /**
35
+ * Translate a `databases records bulk` op's documents-surface `precondition`
36
+ * into the DatabaseDO's per-op `condition` (issue #2437). See
37
+ * {@link untranslatablePreconditionValue} for the audit of the whole value
38
+ * space; this function handles the one value that is REWRITTEN rather than
39
+ * passed through or rejected.
40
+ *
41
+ * The two are NOT the same grammar, and a straight hand-off silently weakens
42
+ * the guard for one value: `null`. A `condition` is a query filter, so
43
+ * `{ approvedAt: null }` translates to
44
+ * `json_extract(_data, '$.approvedAt') IS NULL` — which is also true when the
45
+ * key is ABSENT. A guarded patch/delete would then execute against a record
46
+ * that never had the field. The documents surface evaluates the same
47
+ * precondition in JS (`evaluatePrecondition` in `src/document-models.ts`): an
48
+ * absent field reads `undefined`, and `undefined !== null`, so the guard fails
49
+ * closed there.
50
+ *
51
+ * Pin the database side to the documents meaning — "the key is present AND
52
+ * holds null" — by pairing each null check with an existence constraint.
53
+ * `$exists: true` translates to `json_type(_data, '$.<field>') IS NOT NULL`,
54
+ * true for a key holding JSON null and false for an absent key, so the pair
55
+ * emits `json_extract(...) IS NULL AND json_type(...) IS NOT NULL`.
56
+ *
57
+ * Non-null scalars need no rewrite: `= ?` against `json_extract` already fails
58
+ * for an absent field, because NULL never equals a bound value.
59
+ *
60
+ * Assumes the caller has already rejected `$`-prefixed keys, non-scalar values,
61
+ * and the values {@link untranslatablePreconditionValue} names — which is what
62
+ * leaves `$and` free to use here and what makes a pass-through exact.
63
+ */
64
+ export declare function preconditionToCondition(precondition: Record<string, any>): Record<string, any>;
2
65
  export declare function registerDatabasesCommands(program: Command): void;
@@ -100,6 +100,95 @@ async function validateImportOperation(client, appId, databaseId, operationName)
100
100
  return;
101
101
  }
102
102
  }
103
+ /**
104
+ * The full `databases records bulk` precondition value space, audited in one
105
+ * pass (issue #2437, Codex cycle 3). A precondition is field-equality only, so
106
+ * a value is one of: `null`, a boolean, a number, or a string. For each, what
107
+ * the DatabaseDO `condition` grammar can express, compared against the
108
+ * documents twin's strict JS equality (`evaluatePrecondition`):
109
+ *
110
+ * | Value | Disposition | Why |
111
+ * |-------------------|-------------|----------------------------------------------------------------------|
112
+ * | string | round-trips | bound as TEXT; SQLite never equates TEXT with a number or a JSON bool |
113
+ * | number ≠ 0 and ≠1 | round-trips | bound as-is; no other JSON type extracts to that value |
114
+ * | `null` | rewritten | paired with `$exists: true` so an absent key fails (cycle-2 fix) |
115
+ * | `true` / `false` | REJECTED | bound as 1/0, and `json_extract` yields 1/0 for JSON booleans too |
116
+ * | number 0 or 1 | REJECTED | same collision seen from the other side: matches a stored `false`/`true` |
117
+ * | `{}` (no fields) | see #2511 | sent as an empty `condition`, which the DO reads as "record must exist" |
118
+ * | object / array | rejected | not field-equality; rejected by the bulk validator before reaching here |
119
+ *
120
+ * The two REJECTED rows are the boolean/number collision: `JsonQueryTranslator`
121
+ * binds `true`/`false` as `1`/`0`, and SQLite's `json_extract` also returns a
122
+ * stored JSON boolean as `1`/`0`, so `{ enabled: true }` matches a record
123
+ * holding the number `1` and `{ retries: 1 }` matches a record holding `true`.
124
+ * The documents twin compares with `!==` and fails both. The `condition`
125
+ * grammar has no type predicate (`$exists` only distinguishes present from
126
+ * absent), so this cannot be translated exactly — the CLI rejects those values
127
+ * at the boundary instead, so the databases twin fails loudly rather than
128
+ * running with a weaker guard than the caller wrote. Issue #2507 tracks giving
129
+ * the grammar a type-aware equality, which would let these values be accepted.
130
+ *
131
+ * Returns an explanation when the value cannot be translated exactly, or
132
+ * `null` when it round-trips or is rewritten.
133
+ */
134
+ export function untranslatablePreconditionValue(value) {
135
+ if (typeof value === "boolean") {
136
+ return (`a boolean precondition cannot be checked exactly on a database — the ` +
137
+ `record store compares JSON booleans as 1/0, so \`${value}\` would also ` +
138
+ `match a record holding the number ${value ? 1 : 0}`);
139
+ }
140
+ if (value === 0 || value === 1) {
141
+ return (`the number ${value} cannot be checked exactly on a database — the ` +
142
+ `record store compares JSON booleans as 1/0, so ${value} would also ` +
143
+ `match a record holding \`${value === 1}\``);
144
+ }
145
+ return null;
146
+ }
147
+ /**
148
+ * Translate a `databases records bulk` op's documents-surface `precondition`
149
+ * into the DatabaseDO's per-op `condition` (issue #2437). See
150
+ * {@link untranslatablePreconditionValue} for the audit of the whole value
151
+ * space; this function handles the one value that is REWRITTEN rather than
152
+ * passed through or rejected.
153
+ *
154
+ * The two are NOT the same grammar, and a straight hand-off silently weakens
155
+ * the guard for one value: `null`. A `condition` is a query filter, so
156
+ * `{ approvedAt: null }` translates to
157
+ * `json_extract(_data, '$.approvedAt') IS NULL` — which is also true when the
158
+ * key is ABSENT. A guarded patch/delete would then execute against a record
159
+ * that never had the field. The documents surface evaluates the same
160
+ * precondition in JS (`evaluatePrecondition` in `src/document-models.ts`): an
161
+ * absent field reads `undefined`, and `undefined !== null`, so the guard fails
162
+ * closed there.
163
+ *
164
+ * Pin the database side to the documents meaning — "the key is present AND
165
+ * holds null" — by pairing each null check with an existence constraint.
166
+ * `$exists: true` translates to `json_type(_data, '$.<field>') IS NOT NULL`,
167
+ * true for a key holding JSON null and false for an absent key, so the pair
168
+ * emits `json_extract(...) IS NULL AND json_type(...) IS NOT NULL`.
169
+ *
170
+ * Non-null scalars need no rewrite: `= ?` against `json_extract` already fails
171
+ * for an absent field, because NULL never equals a bound value.
172
+ *
173
+ * Assumes the caller has already rejected `$`-prefixed keys, non-scalar values,
174
+ * and the values {@link untranslatablePreconditionValue} names — which is what
175
+ * leaves `$and` free to use here and what makes a pass-through exact.
176
+ */
177
+ export function preconditionToCondition(precondition) {
178
+ const nullFields = Object.keys(precondition).filter((f) => precondition[f] === null);
179
+ if (nullFields.length === 0)
180
+ return { ...precondition };
181
+ const condition = {};
182
+ for (const [field, expected] of Object.entries(precondition)) {
183
+ if (expected !== null)
184
+ condition[field] = expected;
185
+ }
186
+ condition.$and = nullFields.flatMap((field) => [
187
+ { [field]: null },
188
+ { [field]: { $exists: true } },
189
+ ]);
190
+ return condition;
191
+ }
103
192
  export function registerDatabasesCommands(program) {
104
193
  const databases = program
105
194
  .command("databases")
@@ -125,6 +214,7 @@ Examples:
125
214
  $ primitive databases records delete <database-id> <model-name> <record-id> --yes
126
215
  $ primitive databases records delete-all <database-id> <model-name> --yes
127
216
  $ primitive databases records delete-all <database-id> <model-name> --filter '{"status":"draft"}' --yes
217
+ $ primitive databases records bulk <database-id> --data-file ops.json --yes
128
218
  $ primitive databases permissions list <database-id>
129
219
 
130
220
  Note: this group manages database *instances*. To manage database *type*
@@ -616,13 +706,17 @@ the 'database-types' group:
616
706
  info(`No record found with id ${recordId} in ${modelName}.`);
617
707
  return;
618
708
  }
709
+ // `get` is a data command, so its fields go to stdout via `result()`
710
+ // — the #711 split (`result()` = the data the caller asked for,
711
+ // `keyValue()` = a post-action diagnostic summary). Issue #2437; the
712
+ // documents twin renders identically.
619
713
  for (const [key, value] of Object.entries(record)) {
620
714
  const rendered = value === null || value === undefined
621
715
  ? "—"
622
716
  : typeof value === "object"
623
717
  ? JSON.stringify(value)
624
718
  : String(value);
625
- keyValue(key, rendered);
719
+ printResult(key, rendered);
626
720
  }
627
721
  }
628
722
  catch (err) {
@@ -922,6 +1016,206 @@ the 'database-types' group:
922
1016
  process.exit(1);
923
1017
  }
924
1018
  });
1019
+ // Apply an atomic multi-model operations blob (issue #2437).
1020
+ //
1021
+ // Takes the SAME `--data-file` blob as `documents records bulk` — one file
1022
+ // works against either surface — and translates it to the DatabaseDO's
1023
+ // `records/batch` wire shape (`{ op, modelName, id, data }`) with
1024
+ // `atomic: true`, so the whole blob is all-or-nothing like the documents
1025
+ // twin. Both guards the documents blob can carry survive the translation:
1026
+ // `action: create` maps to `save` with `ifNotExists: true` (the DatabaseDO's
1027
+ // strict-create flag, a 409 `ALREADY_EXISTS` inside the transaction), and an
1028
+ // op's `precondition` maps to the DO's per-op `condition` (a 409
1029
+ // `CONDITION_NOT_MET`). Both abort the whole batch, matching the documents
1030
+ // twin.
1031
+ const BULK_ACTIONS = ["create", "patch", "delete"];
1032
+ const BULK_ACTION_TO_OP = {
1033
+ create: "save",
1034
+ patch: "patch",
1035
+ delete: "delete",
1036
+ };
1037
+ // Mirrors the documents surface's `BULK_WRITE_OP_KEYS` / `BULK_DELETE_OP_KEYS`
1038
+ // (`src/document-models.ts`). Unknown keys are an error rather than ignored:
1039
+ // a guard the author asked for must never be dropped silently.
1040
+ const BULK_OP_KEYS = ["model", "action", "id", "data", "precondition"];
1041
+ const BULK_DELETE_OP_KEYS = ["model", "action", "id", "precondition"];
1042
+ records
1043
+ .command("bulk")
1044
+ .description("Apply an atomic create/patch/delete operations blob to a database (admin only)")
1045
+ .argument("<database-id>", "Database ID")
1046
+ .requiredOption("--data-file <file>", "JSON file with { operations: [...] } or a bare operations array. " +
1047
+ "Each op is { model, action: create|patch|delete, id, data, precondition? } " +
1048
+ "— the same shape `documents records bulk` takes. `data` holds the " +
1049
+ "record fields and is required on create/patch, not allowed on delete. " +
1050
+ "A `create` against an id that already exists fails the whole batch, " +
1051
+ "and a `precondition` that does not hold rolls the whole batch back")
1052
+ .option("--app <app-id>", "App ID")
1053
+ .option("-y, --yes", "Skip confirmation prompt")
1054
+ .option("--json", "Output as JSON")
1055
+ .action(async (databaseId, options) => {
1056
+ const parsed = parseDataOption(options, "operations blob", {
1057
+ allowArray: true,
1058
+ });
1059
+ const rawOperations = Array.isArray(parsed) ? parsed : parsed?.operations;
1060
+ if (!Array.isArray(rawOperations) || rawOperations.length === 0) {
1061
+ error("--data-file must contain { operations: [...] } or a non-empty operations array.");
1062
+ process.exit(1);
1063
+ }
1064
+ // Translate to the batch wire shape, rejecting a malformed op before any
1065
+ // request goes out so the caller sees which entry is wrong.
1066
+ const operations = [];
1067
+ for (let i = 0; i < rawOperations.length; i++) {
1068
+ const op = rawOperations[i];
1069
+ if (!op || typeof op !== "object" || Array.isArray(op)) {
1070
+ error(`Operation ${i}: each operation must be a JSON object.`);
1071
+ process.exit(1);
1072
+ }
1073
+ const action = op.action;
1074
+ if (!BULK_ACTIONS.includes(action)) {
1075
+ error(`Operation ${i}: invalid action "${action}". Expected one of: ${BULK_ACTIONS.join(", ")}.`);
1076
+ process.exit(1);
1077
+ }
1078
+ if (!op.model || typeof op.model !== "string") {
1079
+ error(`Operation ${i}: "model" is required and must be a model name.`);
1080
+ process.exit(1);
1081
+ }
1082
+ if (!op.id || typeof op.id !== "string") {
1083
+ error(`Operation ${i}: "id" is required.`);
1084
+ process.exit(1);
1085
+ }
1086
+ // `data` on a delete gets its own message before the allowlist runs, so
1087
+ // the caller is not told a first-class key is "unknown".
1088
+ if (action === "delete" && op.data !== undefined) {
1089
+ error(`Operation ${i}: "data" is not allowed on a delete.`);
1090
+ process.exit(1);
1091
+ }
1092
+ const allowedKeys = action === "delete" ? BULK_DELETE_OP_KEYS : BULK_OP_KEYS;
1093
+ const unknownKey = Object.keys(op).find((k) => !allowedKeys.includes(k));
1094
+ if (unknownKey) {
1095
+ error(`Operation ${i}: unknown key "${unknownKey}". Expected one of: ${allowedKeys.join(", ")}.`);
1096
+ process.exit(1);
1097
+ }
1098
+ // A `precondition` is field-equality only, the same grammar the
1099
+ // documents surface enforces (`validatePrecondition` in
1100
+ // `src/document-models.ts`), so one blob means the same thing on both.
1101
+ // `preconditionToCondition` translates it to the DO's per-op
1102
+ // `condition`, checked inside the transaction: a mismatch is a 409 that
1103
+ // rolls the whole batch back.
1104
+ let condition;
1105
+ if (op.precondition !== undefined && op.precondition !== null) {
1106
+ if (typeof op.precondition !== "object" || Array.isArray(op.precondition)) {
1107
+ error(`Operation ${i}: "precondition" must be a field-equality object ({ field: scalar, … }).`);
1108
+ process.exit(1);
1109
+ }
1110
+ for (const [field, expected] of Object.entries(op.precondition)) {
1111
+ if (field.startsWith("$")) {
1112
+ error(`Operation ${i}: precondition operator "${field}" is not supported — preconditions are field-equality only ({ field: scalar, … }).`);
1113
+ process.exit(1);
1114
+ }
1115
+ if (expected !== null && typeof expected === "object") {
1116
+ error(`Operation ${i}: precondition on field "${field}" must be a scalar equality value — operators and nested objects/arrays are not supported.`);
1117
+ process.exit(1);
1118
+ }
1119
+ // Fail loudly on the values the `condition` grammar cannot check
1120
+ // exactly, rather than running with a weaker guard than the caller
1121
+ // wrote (issue #2437; the grammar fix is tracked in #2507).
1122
+ const untranslatable = untranslatablePreconditionValue(expected);
1123
+ if (untranslatable) {
1124
+ error(`Operation ${i}: precondition on field "${field}" is not supported — ${untranslatable}. ` +
1125
+ `Guard on a field whose value is a string or a number other than 0/1, or read the record ` +
1126
+ `first and gate the write on that.`);
1127
+ process.exit(1);
1128
+ }
1129
+ }
1130
+ condition = preconditionToCondition(op.precondition);
1131
+ }
1132
+ if (action === "delete") {
1133
+ if (op.data !== undefined) {
1134
+ error(`Operation ${i}: "data" is not allowed on a delete.`);
1135
+ process.exit(1);
1136
+ }
1137
+ operations.push({
1138
+ op: "delete",
1139
+ modelName: op.model,
1140
+ id: op.id,
1141
+ ...(condition ? { condition } : {}),
1142
+ });
1143
+ continue;
1144
+ }
1145
+ if (!op.data ||
1146
+ typeof op.data !== "object" ||
1147
+ Array.isArray(op.data) ||
1148
+ Object.keys(op.data).length === 0) {
1149
+ error(`Operation ${i}: "data" is required and must be a non-empty object on a ${action}.`);
1150
+ process.exit(1);
1151
+ }
1152
+ operations.push({
1153
+ op: BULK_ACTION_TO_OP[action],
1154
+ modelName: op.model,
1155
+ id: op.id,
1156
+ data: op.data,
1157
+ // `create` is a STRICT create on both twins: `ifNotExists` is the
1158
+ // DatabaseDO batch's strict-create flag (409 `ALREADY_EXISTS`), so a
1159
+ // create against a live id fails the batch instead of merging.
1160
+ ...(action === "create" ? { ifNotExists: true } : {}),
1161
+ ...(condition ? { condition } : {}),
1162
+ });
1163
+ }
1164
+ const resolvedAppId = resolveAppId(undefined, options);
1165
+ if (!options.yes) {
1166
+ let confirm;
1167
+ try {
1168
+ confirm = await confirmPrompt(`Apply ${operations.length} operation(s) atomically to database ${databaseId}?`);
1169
+ }
1170
+ catch (err) {
1171
+ error(err.message);
1172
+ process.exit(1);
1173
+ }
1174
+ if (!confirm) {
1175
+ info("Cancelled.");
1176
+ return;
1177
+ }
1178
+ }
1179
+ const client = new ApiClient();
1180
+ try {
1181
+ await client.batchDatabaseRecords(resolvedAppId, databaseId, operations, {
1182
+ atomic: true,
1183
+ });
1184
+ // The batch endpoint answers with a per-operation `results` array; the
1185
+ // documents twin answers with a rolled-up summary. Report the twin's
1186
+ // summary so one blob produces one contract on both surfaces — the
1187
+ // batch is atomic, so a 2xx means every op in the input applied.
1188
+ //
1189
+ // One reporting difference, documented alongside the verb: the
1190
+ // documents twin's `deleted` counts records actually removed, because
1191
+ // its DO reports that. The database batch issues a plain DELETE and
1192
+ // reports no rows-affected, so `deleted` here counts delete operations
1193
+ // applied — deleting an id that was not there still counts 1.
1194
+ const added = rawOperations
1195
+ .filter((op) => op.action === "create")
1196
+ .map((op) => ({ model: op.model, id: op.id }));
1197
+ const updated = rawOperations
1198
+ .filter((op) => op.action === "patch")
1199
+ .map((op) => ({ model: op.model, id: op.id }));
1200
+ const deleted = rawOperations.filter((op) => op.action === "delete").length;
1201
+ const summary = {
1202
+ applied: added.length + updated.length + deleted,
1203
+ added,
1204
+ updated,
1205
+ deleted,
1206
+ };
1207
+ if (options.json) {
1208
+ json(summary);
1209
+ return;
1210
+ }
1211
+ success(`Applied ${summary.applied} operation(s): ` +
1212
+ `${added.length} added, ${updated.length} updated, ${deleted} deleted.`);
1213
+ }
1214
+ catch (err) {
1215
+ error(err.message);
1216
+ process.exit(1);
1217
+ }
1218
+ });
925
1219
  // ---- CEL context subcommand group ----
926
1220
  // `cel-context` is the user-facing name for the dict that feeds CEL
927
1221
  // access rules and filter placeholders. `metadata` is kept as a hidden
@@ -1078,14 +1372,17 @@ the 'database-types' group:
1078
1372
  json(result);
1079
1373
  return;
1080
1374
  }
1081
- // Smart display based on result shape
1082
- if (result.data && Array.isArray(result.data)) {
1083
- if (result.data.length === 0) {
1375
+ // Smart display based on result shape. `executeDatabaseOperation()`
1376
+ // has already normalized a query page to `{ items, hasMore,
1377
+ // nextCursor? }` (#2440), so `items` is exactly "this result was a
1378
+ // list" — the two branches cannot disagree about it.
1379
+ if (Array.isArray(result.items)) {
1380
+ if (result.items.length === 0) {
1084
1381
  info("No records found.");
1085
1382
  }
1086
1383
  else {
1087
- const cols = Object.keys(result.data[0]).filter((k) => k !== "type");
1088
- console.log(formatTable(result.data, cols.map((c) => ({
1384
+ const cols = Object.keys(result.items[0]).filter((k) => k !== "type");
1385
+ console.log(formatTable(result.items, cols.map((c) => ({
1089
1386
  header: c.toUpperCase(),
1090
1387
  key: c,
1091
1388
  format: (v) => {
@@ -1100,8 +1397,10 @@ the 'database-types' group:
1100
1397
  },
1101
1398
  }))));
1102
1399
  }
1103
- if (result.hasMore) {
1104
- info(`More records available. Use --cursor ${result.cursor} to continue.`);
1400
+ // Gate on the cursor itself, the way `records query` does: `hasMore`
1401
+ // without a cursor used to print the literal `undefined` (#2440).
1402
+ if (result.nextCursor) {
1403
+ info(`More records available. Use --cursor ${result.nextCursor} to continue.`);
1105
1404
  }
1106
1405
  }
1107
1406
  else if (result.count !== undefined) {