@sequenceholdings/orm 2.8.5 → 2.10.0

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 (56) hide show
  1. package/dist/authoring.cjs.map +1 -1
  2. package/dist/authoring.d.cts +2 -2
  3. package/dist/authoring.d.ts +2 -2
  4. package/dist/authoring.js.map +1 -1
  5. package/dist/canonical.cjs.map +1 -1
  6. package/dist/canonical.d.cts +72 -72
  7. package/dist/canonical.d.ts +72 -72
  8. package/dist/canonical.js.map +1 -1
  9. package/dist/cli.cjs +122 -68
  10. package/dist/cli.cjs.map +1 -1
  11. package/dist/cli.d.cts +32 -1
  12. package/dist/cli.d.ts +32 -1
  13. package/dist/cli.js +117 -69
  14. package/dist/cli.js.map +1 -1
  15. package/dist/client.cjs.map +1 -1
  16. package/dist/client.d.cts +1 -1
  17. package/dist/client.d.ts +1 -1
  18. package/dist/client.js.map +1 -1
  19. package/dist/compiler.cjs +259 -18
  20. package/dist/compiler.cjs.map +1 -1
  21. package/dist/compiler.d.cts +183 -3
  22. package/dist/compiler.d.ts +183 -3
  23. package/dist/compiler.js +254 -19
  24. package/dist/compiler.js.map +1 -1
  25. package/dist/{constants-Dou1RkTo.d.cts → constants-D2o0vK6U.d.cts} +8 -1
  26. package/dist/{constants-Dou1RkTo.d.ts → constants-D2o0vK6U.d.ts} +8 -1
  27. package/dist/dynamic-input.d.cts +1 -1
  28. package/dist/dynamic-input.d.ts +1 -1
  29. package/dist/index.cjs +53 -31
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +61 -60
  32. package/dist/index.d.ts +61 -60
  33. package/dist/index.js +51 -32
  34. package/dist/index.js.map +1 -1
  35. package/dist/ir.cjs +9 -7
  36. package/dist/ir.cjs.map +1 -1
  37. package/dist/ir.d.cts +85 -74
  38. package/dist/ir.d.ts +85 -74
  39. package/dist/ir.js +9 -8
  40. package/dist/ir.js.map +1 -1
  41. package/dist/predicate-v2.cjs +9 -7
  42. package/dist/predicate-v2.cjs.map +1 -1
  43. package/dist/predicate-v2.d.cts +3 -1
  44. package/dist/predicate-v2.d.ts +3 -1
  45. package/dist/predicate-v2.js +9 -7
  46. package/dist/predicate-v2.js.map +1 -1
  47. package/dist/sdl.cjs +8 -7
  48. package/dist/sdl.cjs.map +1 -1
  49. package/dist/sdl.d.cts +1 -1
  50. package/dist/sdl.d.ts +1 -1
  51. package/dist/sdl.js +8 -7
  52. package/dist/sdl.js.map +1 -1
  53. package/package.json +3 -3
  54. package/templates/orm-namespace/package.json +2 -1
  55. package/dist/{definition-DjfC7Lll.d.cts → definition-B99BsOAO.d.cts} +4 -4
  56. package/dist/{definition-DjfC7Lll.d.ts → definition-B99BsOAO.d.ts} +4 -4
@@ -1,7 +1,7 @@
1
1
  import { ClaimKey, PredIr } from './ir.cjs';
2
2
  import { P as PolicyExpression } from './policy-1iZbGnZZ.cjs';
3
3
  import 'zod';
4
- import './constants-Dou1RkTo.cjs';
4
+ import './constants-D2o0vK6U.cjs';
5
5
 
6
6
  declare const POLICY_COMPARE_OPS: readonly ["=", "!=", "<", "<=", ">", ">="];
7
7
  type PolicyCompareOp = (typeof POLICY_COMPARE_OPS)[number];
@@ -139,6 +139,8 @@ interface PolicyTableInfo {
139
139
  /** `{ tables }` keyed by table name — TableMetaIr's record is assignable. */
140
140
  interface PolicyResolver {
141
141
  readonly tables: Record<string, PolicyTableInfo>;
142
+ /** Publication-time dependency tracking, including predicates simplified away. */
143
+ readonly onTable?: (table: string) => void;
142
144
  /**
143
145
  * A table's read policy expression, for `visible()`. Return `undefined` when
144
146
  * the table has none (readable to every namespace user). A resolver without
@@ -1,7 +1,7 @@
1
1
  import { ClaimKey, PredIr } from './ir.js';
2
2
  import { P as PolicyExpression } from './policy-1iZbGnZZ.js';
3
3
  import 'zod';
4
- import './constants-Dou1RkTo.js';
4
+ import './constants-D2o0vK6U.js';
5
5
 
6
6
  declare const POLICY_COMPARE_OPS: readonly ["=", "!=", "<", "<=", ">", ">="];
7
7
  type PolicyCompareOp = (typeof POLICY_COMPARE_OPS)[number];
@@ -139,6 +139,8 @@ interface PolicyTableInfo {
139
139
  /** `{ tables }` keyed by table name — TableMetaIr's record is assignable. */
140
140
  interface PolicyResolver {
141
141
  readonly tables: Record<string, PolicyTableInfo>;
142
+ /** Publication-time dependency tracking, including predicates simplified away. */
143
+ readonly onTable?: (table: string) => void;
142
144
  /**
143
145
  * A table's read policy expression, for `visible()`. Return `undefined` when
144
146
  * the table has none (readable to every namespace user). A resolver without
@@ -1438,19 +1438,20 @@ var variableIrSchema = z.object({
1438
1438
  defaultValue: variableDefaultIrSchema.optional()
1439
1439
  });
1440
1440
  var sqlColumnSchema = z.object({ name: z.string(), type: z.enum(["text", "boolean", "integer", "bigint", "numeric", "double", "uuid", "date", "timestamptz", "jsonb"]), nullable: z.boolean() });
1441
+ var sqlObjectIrSchema = z.object({
1442
+ ref: z.string(),
1443
+ table: z.string(),
1444
+ columns: z.array(sqlColumnSchema.extend({ type: z.string() })).min(1),
1445
+ scan: z.string().min(1),
1446
+ read: z.array(z.string()).min(1)
1447
+ }).strict();
1441
1448
  var compiledOperationSchema = z.object({
1442
1449
  language: z.literal("sql").optional(),
1443
1450
  /** Server-compiled object catalog and permission ceiling, never caller SQL. */
1444
1451
  sqlQuery: z.object({
1445
1452
  catalog: z.object({
1446
1453
  identity: z.string(),
1447
- objects: z.array(z.object({
1448
- ref: z.string(),
1449
- table: z.string(),
1450
- columns: z.array(sqlColumnSchema.extend({ type: z.string() })).min(1),
1451
- scan: z.string().min(1),
1452
- read: z.array(z.string()).min(1)
1453
- }).strict()).min(1).max(256)
1454
+ objects: z.array(sqlObjectIrSchema).min(1).max(256)
1454
1455
  }).strict(),
1455
1456
  read: z.array(z.string()).min(1).max(256),
1456
1457
  maxRows: z.number().int().min(1).max(1e4)
@@ -1943,6 +1944,7 @@ var FLIPPED = {
1943
1944
  ">=": "<="
1944
1945
  };
1945
1946
  function resolveTable(resolver, table) {
1947
+ resolver.onTable?.(table);
1946
1948
  const info = resolver.tables[table];
1947
1949
  if (!info) {
1948
1950
  throw new PolicyCompileError(`unknown table '${table}'`, "unknown-table", Object.keys(resolver.tables));