@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.js CHANGED
@@ -1254,8 +1254,15 @@ var GUARDED_IR_VERSION = 2;
1254
1254
  var COMPOSED_IR_VERSION = 3;
1255
1255
  var SQL_IR_VERSION = 4;
1256
1256
  var RUNTIME_SQL_IR_VERSION = 5;
1257
- var irVersionSchema = z.union([z.literal(LEGACY_IR_VERSION), z.literal(GUARDED_IR_VERSION), z.literal(COMPOSED_IR_VERSION), z.literal(SQL_IR_VERSION), z.literal(RUNTIME_SQL_IR_VERSION)]);
1257
+ var SERVICE_PRINCIPAL_IR_VERSION = 6;
1258
+ var irVersionSchema = z.union([z.literal(LEGACY_IR_VERSION), z.literal(GUARDED_IR_VERSION), z.literal(COMPOSED_IR_VERSION), z.literal(SQL_IR_VERSION), z.literal(RUNTIME_SQL_IR_VERSION), z.literal(SERVICE_PRINCIPAL_IR_VERSION)]);
1258
1259
  z.object({ irVersion: irVersionSchema });
1260
+ function usesServicePrincipal(value) {
1261
+ if (value === null || typeof value !== "object") return false;
1262
+ if (Array.isArray(value)) return value.some(usesServicePrincipal);
1263
+ const row = value;
1264
+ return row.kind === "servicePrincipal" || Object.values(row).some(usesServicePrincipal);
1265
+ }
1259
1266
  var EXTERNAL_POLICY_CLAIM_KEYS = ["ext_subject", "ext_email"];
1260
1267
  var scalarLiteral = z.union([z.string(), z.number(), z.boolean(), z.null()]);
1261
1268
  var valueIrSchema = z.discriminatedUnion("kind", [
@@ -1296,6 +1303,7 @@ var predIrSchema = z.lazy(
1296
1303
  z.object({ kind: z.literal("capability"), key: z.string(), namespace: z.string().optional() }),
1297
1304
  z.object({ kind: z.literal("role"), key: z.string(), namespace: z.string().optional() }),
1298
1305
  z.object({ kind: z.literal("dynamicFilter"), slot: z.string() }),
1306
+ z.object({ kind: z.literal("servicePrincipal") }).strict(),
1299
1307
  z.object({ kind: z.literal("const"), value: z.boolean() })
1300
1308
  ])
1301
1309
  );
@@ -1521,7 +1529,7 @@ var variableIrSchema = z.object({
1521
1529
  /** Absent = no default declared; see {@link variableDefaultIrSchema}. */
1522
1530
  defaultValue: variableDefaultIrSchema.optional()
1523
1531
  });
1524
- var sqlColumnSchema = z.object({ name: z.string(), type: z.enum(["text", "boolean", "integer", "bigint", "numeric", "double", "uuid", "date", "timestamptz"]), nullable: z.boolean() });
1532
+ var sqlColumnSchema = z.object({ name: z.string(), type: z.enum(["text", "boolean", "integer", "bigint", "numeric", "double", "uuid", "date", "timestamptz", "jsonb"]), nullable: z.boolean() });
1525
1533
  var compiledOperationSchema = z.object({
1526
1534
  language: z.literal("sql").optional(),
1527
1535
  /** Server-compiled object catalog and permission ceiling, never caller SQL. */
@@ -1559,6 +1567,9 @@ var compiledOperationSchema = z.object({
1559
1567
  tableSet: z.array(z.string()).min(1),
1560
1568
  roots: z.array(rootIrSchema)
1561
1569
  }).superRefine((operation, ctx) => {
1570
+ if (operation.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(operation.roots)) {
1571
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1572
+ }
1562
1573
  if (operation.language === "sql") {
1563
1574
  const validPlan = operation.sqlQuery ? !operation.sql && operation.irVersion === RUNTIME_SQL_IR_VERSION : !!operation.sql && operation.irVersion === SQL_IR_VERSION;
1564
1575
  const builtin = operation.name === "BuiltinSqlRead" && operation.opHash === BUILTIN_SQL_READ_HASH && operation.requires === null;
@@ -1691,6 +1702,9 @@ z.object({
1691
1702
  tables: z.record(z.string(), tableMetaIrSchema),
1692
1703
  operations: z.record(z.string(), compiledOperationSchema)
1693
1704
  }).superRefine((artifact, ctx) => {
1705
+ if (artifact.irVersion < SERVICE_PRINCIPAL_IR_VERSION && usesServicePrincipal(artifact)) {
1706
+ ctx.addIssue({ code: "custom", message: "servicePrincipal() requires IR v6" });
1707
+ }
1694
1708
  if (Object.keys(artifact.dependencies ?? {}).length > 0 && artifact.irVersion < COMPOSED_IR_VERSION) {
1695
1709
  ctx.addIssue({ code: "custom", path: ["irVersion"], message: "cross-namespace dependencies require IR v3" });
1696
1710
  }