@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/sdl.cjs CHANGED
@@ -1256,8 +1256,15 @@ var GUARDED_IR_VERSION = 2;
1256
1256
  var COMPOSED_IR_VERSION = 3;
1257
1257
  var SQL_IR_VERSION = 4;
1258
1258
  var RUNTIME_SQL_IR_VERSION = 5;
1259
- 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)]);
1259
+ var SERVICE_PRINCIPAL_IR_VERSION = 6;
1260
+ 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)]);
1260
1261
  zod.z.object({ irVersion: irVersionSchema });
1262
+ function usesServicePrincipal(value) {
1263
+ if (value === null || typeof value !== "object") return false;
1264
+ if (Array.isArray(value)) return value.some(usesServicePrincipal);
1265
+ const row = value;
1266
+ return row.kind === "servicePrincipal" || Object.values(row).some(usesServicePrincipal);
1267
+ }
1261
1268
  var EXTERNAL_POLICY_CLAIM_KEYS = ["ext_subject", "ext_email"];
1262
1269
  var scalarLiteral = zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.null()]);
1263
1270
  var valueIrSchema = zod.z.discriminatedUnion("kind", [
@@ -1298,6 +1305,7 @@ var predIrSchema = zod.z.lazy(
1298
1305
  zod.z.object({ kind: zod.z.literal("capability"), key: zod.z.string(), namespace: zod.z.string().optional() }),
1299
1306
  zod.z.object({ kind: zod.z.literal("role"), key: zod.z.string(), namespace: zod.z.string().optional() }),
1300
1307
  zod.z.object({ kind: zod.z.literal("dynamicFilter"), slot: zod.z.string() }),
1308
+ zod.z.object({ kind: zod.z.literal("servicePrincipal") }).strict(),
1301
1309
  zod.z.object({ kind: zod.z.literal("const"), value: zod.z.boolean() })
1302
1310
  ])
1303
1311
  );
@@ -1523,7 +1531,7 @@ var variableIrSchema = zod.z.object({
1523
1531
  /** Absent = no default declared; see {@link variableDefaultIrSchema}. */
1524
1532
  defaultValue: variableDefaultIrSchema.optional()
1525
1533
  });
1526
- 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() });
1534
+ 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() });
1527
1535
  var compiledOperationSchema = zod.z.object({
1528
1536
  language: zod.z.literal("sql").optional(),
1529
1537
  /** Server-compiled object catalog and permission ceiling, never caller SQL. */
@@ -1561,6 +1569,9 @@ var compiledOperationSchema = zod.z.object({
1561
1569
  tableSet: zod.z.array(zod.z.string()).min(1),
1562
1570
  roots: zod.z.array(rootIrSchema)
1563
1571
  }).superRefine((operation, ctx) => {
1572
+ if (operation.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(operation.roots)) {
1573
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1574
+ }
1564
1575
  if (operation.language === "sql") {
1565
1576
  const validPlan = operation.sqlQuery ? !operation.sql && operation.irVersion === RUNTIME_SQL_IR_VERSION : !!operation.sql && operation.irVersion === SQL_IR_VERSION;
1566
1577
  const builtin = operation.name === "BuiltinSqlRead" && operation.opHash === BUILTIN_SQL_READ_HASH && operation.requires === null;
@@ -1693,6 +1704,9 @@ zod.z.object({
1693
1704
  tables: zod.z.record(zod.z.string(), tableMetaIrSchema),
1694
1705
  operations: zod.z.record(zod.z.string(), compiledOperationSchema)
1695
1706
  }).superRefine((artifact, ctx) => {
1707
+ if (artifact.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(artifact)) {
1708
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1709
+ }
1696
1710
  if (Object.keys(artifact.dependencies ?? {}).length > 0 && artifact.irVersion < COMPOSED_IR_VERSION) {
1697
1711
  ctx.addIssue({ code: "custom", path: ["irVersion"], message: "cross-namespace dependencies require IR v3" });
1698
1712
  }