@sequenceholdings/orm 2.6.2 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ir.cjs CHANGED
@@ -1072,14 +1072,21 @@ localDefinitionSchema.safeExtend({
1072
1072
  var BUILTIN_SQL_READ_HASH = "sha256:a50c477c952a5e0fe68ed158a4530e4aab573c09bcbb1a8ac454dc88a39a6258";
1073
1073
 
1074
1074
  // src/ir/index.ts
1075
- var IR_VERSION = 5;
1075
+ var IR_VERSION = 6;
1076
1076
  var LEGACY_IR_VERSION = 1;
1077
1077
  var GUARDED_IR_VERSION = 2;
1078
1078
  var COMPOSED_IR_VERSION = 3;
1079
1079
  var SQL_IR_VERSION = 4;
1080
1080
  var RUNTIME_SQL_IR_VERSION = 5;
1081
- var irVersionSchema = zod.z.union([zod.z.literal(LEGACY_IR_VERSION), zod.z.literal(GUARDED_IR_VERSION), zod.z.literal(COMPOSED_IR_VERSION), zod.z.literal(SQL_IR_VERSION), zod.z.literal(RUNTIME_SQL_IR_VERSION)]);
1081
+ var SERVICE_PRINCIPAL_IR_VERSION = 6;
1082
+ var irVersionSchema = zod.z.union([zod.z.literal(LEGACY_IR_VERSION), zod.z.literal(GUARDED_IR_VERSION), zod.z.literal(COMPOSED_IR_VERSION), zod.z.literal(SQL_IR_VERSION), zod.z.literal(RUNTIME_SQL_IR_VERSION), zod.z.literal(SERVICE_PRINCIPAL_IR_VERSION)]);
1082
1083
  var operationVersionSchema = zod.z.object({ irVersion: irVersionSchema });
1084
+ function usesServicePrincipal(value) {
1085
+ if (value === null || typeof value !== "object") return false;
1086
+ if (Array.isArray(value)) return value.some(usesServicePrincipal);
1087
+ const row = value;
1088
+ return row.kind === "servicePrincipal" || Object.values(row).some(usesServicePrincipal);
1089
+ }
1083
1090
  function requiredArtifactIrVersion(operations) {
1084
1091
  let required = LEGACY_IR_VERSION;
1085
1092
  for (const operation of operations) {
@@ -1139,6 +1146,7 @@ var predIrSchema = zod.z.lazy(
1139
1146
  zod.z.object({ kind: zod.z.literal("capability"), key: zod.z.string(), namespace: zod.z.string().optional() }),
1140
1147
  zod.z.object({ kind: zod.z.literal("role"), key: zod.z.string(), namespace: zod.z.string().optional() }),
1141
1148
  zod.z.object({ kind: zod.z.literal("dynamicFilter"), slot: zod.z.string() }),
1149
+ zod.z.object({ kind: zod.z.literal("servicePrincipal") }).strict(),
1142
1150
  zod.z.object({ kind: zod.z.literal("const"), value: zod.z.boolean() })
1143
1151
  ])
1144
1152
  );
@@ -1364,7 +1372,7 @@ var variableIrSchema = zod.z.object({
1364
1372
  /** Absent = no default declared; see {@link variableDefaultIrSchema}. */
1365
1373
  defaultValue: variableDefaultIrSchema.optional()
1366
1374
  });
1367
- var sqlColumnSchema = zod.z.object({ name: zod.z.string(), type: zod.z.enum(["text", "boolean", "integer", "bigint", "numeric", "double", "uuid", "date", "timestamptz"]), nullable: zod.z.boolean() });
1375
+ var sqlColumnSchema = zod.z.object({ name: zod.z.string(), type: zod.z.enum(["text", "boolean", "integer", "bigint", "numeric", "double", "uuid", "date", "timestamptz", "jsonb"]), nullable: zod.z.boolean() });
1368
1376
  var compiledOperationSchema = zod.z.object({
1369
1377
  language: zod.z.literal("sql").optional(),
1370
1378
  /** Server-compiled object catalog and permission ceiling, never caller SQL. */
@@ -1402,6 +1410,9 @@ var compiledOperationSchema = zod.z.object({
1402
1410
  tableSet: zod.z.array(zod.z.string()).min(1),
1403
1411
  roots: zod.z.array(rootIrSchema)
1404
1412
  }).superRefine((operation, ctx) => {
1413
+ if (operation.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(operation.roots)) {
1414
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1415
+ }
1405
1416
  if (operation.language === "sql") {
1406
1417
  const validPlan = operation.sqlQuery ? !operation.sql && operation.irVersion === RUNTIME_SQL_IR_VERSION : !!operation.sql && operation.irVersion === SQL_IR_VERSION;
1407
1418
  const builtin = operation.name === "BuiltinSqlRead" && operation.opHash === BUILTIN_SQL_READ_HASH && operation.requires === null;
@@ -1534,6 +1545,9 @@ var compiledArtifactSchema = zod.z.object({
1534
1545
  tables: zod.z.record(zod.z.string(), tableMetaIrSchema),
1535
1546
  operations: zod.z.record(zod.z.string(), compiledOperationSchema)
1536
1547
  }).superRefine((artifact, ctx) => {
1548
+ if (artifact.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(artifact)) {
1549
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1550
+ }
1537
1551
  if (Object.keys(artifact.dependencies ?? {}).length > 0 && artifact.irVersion < COMPOSED_IR_VERSION) {
1538
1552
  ctx.addIssue({ code: "custom", path: ["irVersion"], message: "cross-namespace dependencies require IR v3" });
1539
1553
  }
@@ -1574,6 +1588,7 @@ exports.IR_VERSION = IR_VERSION;
1574
1588
  exports.IrVersionError = IrVersionError;
1575
1589
  exports.LEGACY_IR_VERSION = LEGACY_IR_VERSION;
1576
1590
  exports.RUNTIME_SQL_IR_VERSION = RUNTIME_SQL_IR_VERSION;
1591
+ exports.SERVICE_PRINCIPAL_IR_VERSION = SERVICE_PRINCIPAL_IR_VERSION;
1577
1592
  exports.SQL_IR_VERSION = SQL_IR_VERSION;
1578
1593
  exports.cellColumnName = cellColumnName;
1579
1594
  exports.compiledArtifactSchema = compiledArtifactSchema;
@@ -1591,6 +1606,7 @@ exports.resolvedSourceIrSchema = resolvedSourceIrSchema;
1591
1606
  exports.rootIrSchema = rootIrSchema;
1592
1607
  exports.selectionIrSchema = selectionIrSchema;
1593
1608
  exports.tableMetaIrSchema = tableMetaIrSchema;
1609
+ exports.usesServicePrincipal = usesServicePrincipal;
1594
1610
  exports.valueIrSchema = valueIrSchema;
1595
1611
  exports.variableDefaultIrSchema = variableDefaultIrSchema;
1596
1612
  exports.variableIrSchema = variableIrSchema;