@lucern/contracts 0.3.0-alpha.11 → 0.3.0-alpha.12

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.
@@ -151,7 +151,7 @@ declare const permitPolicyBundles: TableContract<{
151
151
  }>;
152
152
  declare const permitProjectionOutbox: TableContract<{
153
153
  syncKey: z.ZodString;
154
- objectType: z.ZodEnum<["resource", "role", "resource_role", "resource_relation", "tenant", "workspace", "principal", "membership", "group", "resource_instance", "relationship_tuple", "role_assignment"]>;
154
+ objectType: z.ZodEnum<["resource", "role", "resource_role", "resource_relation", "tenant", "workspace", "principal", "membership", "group", "resource_instance", "relationship_tuple", "role_assignment", "attribute_binding", "policy_bundle"]>;
155
155
  objectId: z.ZodString;
156
156
  operation: z.ZodEnum<["upsert", "delete", "sync", "resync", "delete_sync", "noop"]>;
157
157
  payload: z.ZodRecord<z.ZodString, z.ZodAny>;
@@ -171,7 +171,7 @@ declare const permitProjectionOutbox: TableContract<{
171
171
  }>;
172
172
  declare const tenantPermitSyncStates: TableContract<{
173
173
  syncKey: z.ZodString;
174
- objectType: z.ZodEnum<["resource", "role", "resource_role", "resource_relation", "tenant", "workspace", "principal", "membership", "group", "resource_instance", "relationship_tuple", "role_assignment"]>;
174
+ objectType: z.ZodEnum<["resource", "role", "resource_role", "resource_relation", "tenant", "workspace", "principal", "membership", "group", "resource_instance", "relationship_tuple", "role_assignment", "attribute_binding", "policy_bundle"]>;
175
175
  objectId: z.ZodString;
176
176
  tenantId: z.ZodOptional<z.ZodString>;
177
177
  workspaceId: z.ZodOptional<z.ZodString>;
@@ -60,7 +60,9 @@ var permitObjectType = z.enum([
60
60
  "group",
61
61
  "resource_instance",
62
62
  "relationship_tuple",
63
- "role_assignment"
63
+ "role_assignment",
64
+ "attribute_binding",
65
+ "policy_bundle"
64
66
  ]);
65
67
  var permitOutboxOperation = z.enum([
66
68
  "upsert",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/schemas/tables/controlPlane/accessControl.ts"],"names":["z"],"mappings":"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","file":"accessControl.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"control-plane\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","/**\n * Schema contracts for controlPlane/accessControl.\n *\n * Mirrors:\n * - modules/control-plane/src/component/schema/domains/accessControl.ts\n */\n\nimport { z } from \"zod\";\nimport { defineTable } from \"../../../dsl.js\";\n\nconst permitActorType = z.enum([\n \"human\",\n \"agent\",\n \"service_principal\",\n \"external_stakeholder\",\n \"system\",\n]);\n\nconst permitMembershipStatus = z.enum([\n \"active\",\n \"invited\",\n \"revoked\",\n \"suspended\",\n \"disabled\",\n]);\n\nconst permitDecision = z.enum([\"allow\", \"deny\"]);\n\nconst permitAccessReviewStatus = z.enum([\n \"open\",\n \"in_progress\",\n \"approved\",\n \"denied\",\n \"expired\",\n \"cancelled\",\n]);\n\nconst permitReviewScope = z.enum([\n \"tenant\",\n \"workspace\",\n \"resource_instance\",\n \"group\",\n \"principal\",\n \"api_key\",\n \"admin_action\",\n]);\n\nconst permitRecordStatus = z.enum([\n \"queued\",\n \"inflight\",\n \"completed\",\n \"failed\",\n \"skipped\",\n \"stale\",\n]);\n\nconst permitObjectType = z.enum([\n \"resource\",\n \"role\",\n \"resource_role\",\n \"resource_relation\",\n \"tenant\",\n \"workspace\",\n \"principal\",\n \"membership\",\n \"group\",\n \"resource_instance\",\n \"relationship_tuple\",\n \"role_assignment\",\n]);\n\nconst permitOutboxOperation = z.enum([\n \"upsert\",\n \"delete\",\n \"sync\",\n \"resync\",\n \"delete_sync\",\n \"noop\",\n]);\n\nconst permitPolicyBundleStatus = z.enum([\n \"draft\",\n \"validated\",\n \"enforced\",\n \"archived\",\n]);\n\nconst permitSyncStatus = z.enum([\n \"pending\",\n \"synced\",\n \"error\",\n \"skipped\",\n]);\n\nconst permitAccessReviewSubjectType = z.enum([\n \"principal\",\n \"group\",\n \"role_assignment\",\n \"resource_instance\",\n]);\n\nconst permitAttributeType = z.enum([\n \"string\",\n \"number\",\n \"bool\",\n \"json\",\n \"time\",\n]);\n\nconst permitAttributeOperator = z.enum([\n \"eq\",\n \"neq\",\n \"in\",\n \"not_in\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"contains\",\n \"not_contains\",\n \"matches\",\n]);\n\nconst permitRoleBindingTarget = z.enum([\n \"principal\",\n \"group\",\n]);\n\nexport const permitPrincipals = defineTable({\n name: \"permitPrincipals\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n principalType: permitActorType,\n status: permitMembershipStatus,\n displayName: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n lastSeenAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_principalId\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_principalType_status\",\n columns: [\"tenantId\", \"principalType\", \"status\"],\n },\n ],\n});\n\nexport const permitPrincipalAliases = defineTable({\n name: \"permitPrincipalAliases\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n provider: z.string(),\n providerSubjectId: z.string(),\n providerProjectId: z.string().optional(),\n alias: z.string(),\n aliasKind: z.string(),\n status: permitMembershipStatus,\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n revokedBy: z.string().optional(),\n revokedAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: \"index\", name: \"by_tenant_provider_subject\", columns: [\"tenantId\", \"provider\", \"providerSubjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_alias\",\n columns: [\"tenantId\", \"provider\", \"alias\"],\n },\n { kind: \"index\", name: \"by_tenant_alias\", columns: [\"tenantId\", \"alias\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_status\",\n columns: [\"tenantId\", \"provider\", \"status\"],\n },\n ],\n});\n\nexport const permitGroups = defineTable({\n name: \"permitGroups\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n groupKey: z.string(),\n groupName: z.string(),\n groupType: z.enum([\"tenant\", \"workspace\", \"external\", \"system\", \"dynamic\"]),\n status: permitMembershipStatus,\n description: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_groupId\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_groupKey\", columns: [\"tenantId\", \"groupKey\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitGroupMemberships = defineTable({\n name: \"permitGroupMemberships\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n memberType: z.enum([\"principal\", \"group\"]),\n memberId: z.string(),\n principalId: z.string().optional(),\n childGroupId: z.string().optional(),\n status: permitMembershipStatus,\n addedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n revocationReason: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_principal\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_member\", columns: [\"tenantId\", \"memberType\", \"memberId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_member_group\",\n columns: [\"tenantId\", \"memberType\", \"memberId\", \"groupId\"],\n },\n { kind: \"index\", name: \"by_tenant_group\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_member_group\", columns: [\"memberType\", \"memberId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_principal\",\n columns: [\"workspaceId\", \"principalId\"],\n },\n ],\n});\n\nexport const permitResourceInstances = defineTable({\n name: \"permitResourceInstances\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceId: z.string(),\n status: z.enum([\"active\", \"deleted\", \"archived\"]),\n attributes: z.record(z.any()).optional(),\n ownerPrincipalId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_resource_type\",\n columns: [\"tenantId\", \"resourceType\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource_key\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_ownerPrincipalId\",\n columns: [\"ownerPrincipalId\"],\n },\n ],\n});\n\nexport const permitRoleAssignments = defineTable({\n name: \"permitRoleAssignments\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n role: z.string(),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceInstanceId: z.string().optional(),\n status: permitMembershipStatus,\n expiresAt: z.number().optional(),\n attributes: z.record(z.any()).optional(),\n grantedBy: z.string().optional(),\n updatedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_role\",\n columns: [\"tenantId\", \"role\", \"status\"],\n },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_resource\",\n columns: [\"workspaceId\", \"resourceType\", \"resourceKey\"],\n },\n ],\n});\n\nexport const permitRelationshipTuples = defineTable({\n name: \"permitRelationshipTuples\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n relation: z.string(),\n subject: z.string(),\n object: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n status: permitRecordStatus,\n attributes: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastSeenAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_subject\", columns: [\"tenantId\", \"subject\"] },\n { kind: \"index\", name: \"by_tenant_object\", columns: [\"tenantId\", \"object\"] },\n { kind: \"index\", name: \"by_tenant_relation\", columns: [\"tenantId\", \"relation\"] },\n {\n kind: \"index\",\n name: \"by_tenant_relation_subject\",\n columns: [\"tenantId\", \"relation\", \"subject\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitAttributeBindings = defineTable({\n name: \"permitAttributeBindings\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n attributeName: z.string(),\n attributeType: permitAttributeType,\n attributeOperator: permitAttributeOperator,\n attributeValue: z.any(),\n status: permitRecordStatus,\n source: z.string().optional(),\n sourceRef: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_target_attribute\",\n columns: [\"tenantId\", \"targetType\", \"targetId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_name\",\n columns: [\"tenantId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyBundles = defineTable({\n name: \"permitPolicyBundles\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n bundleKey: z.string(),\n version: z.number(),\n status: permitPolicyBundleStatus,\n policyHash: z.string().optional(),\n policyPayload: z.record(z.any()),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n reviewedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n retiredAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_bundleKey\",\n columns: [\"tenantId\", \"bundleKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_bundle_version\",\n columns: [\"tenantId\", \"bundleKey\", \"version\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitProjectionOutbox = defineTable({\n name: \"permitProjectionOutbox\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n operation: permitOutboxOperation,\n payload: z.record(z.any()),\n status: permitRecordStatus,\n attemptCount: z.number(),\n nextAttemptAt: z.number().optional(),\n lastError: z.string().optional(),\n tenantId: z.string().optional(),\n workspaceId: z.optional(z.string()),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastHandledAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_objectType\",\n columns: [\"objectType\", \"status\"],\n },\n ],\n});\n\nexport const tenantPermitSyncStates = defineTable({\n name: \"tenantPermitSyncStates\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n desiredPayload: z.record(z.any()),\n lastAppliedPayloadHash: z.string().optional(),\n status: permitSyncStatus,\n attemptCount: z.number(),\n lastError: z.string().optional(),\n nextAttemptAt: z.number().optional(),\n lastSyncedAt: z.number().optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_principal_status\",\n columns: [\"principalId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyDecisionReceipts = defineTable({\n name: \"permitPolicyDecisionReceipts\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string(),\n subjectType: permitAccessReviewSubjectType.optional(),\n subjectId: z.string().optional(),\n resourceType: z.string(),\n resourceId: z.string(),\n action: z.string(),\n decision: permitDecision,\n reasonCode: z.string(),\n policyBundleId: z.string().optional(),\n policyVersion: z.string(),\n traceId: z.string().optional(),\n requestId: z.string().optional(),\n audienceMode: z.string().optional(),\n audienceKey: z.string().optional(),\n audienceClass: z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n expiresAt: z.number().optional(),\n createdBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_resource\", columns: [\"resourceType\", \"resourceId\"] },\n { kind: \"index\", name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: \"index\", name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: \"index\", name: \"by_action\", columns: [\"action\"] },\n ],\n});\n\nexport const permitAccessReviews = defineTable({\n name: \"permitAccessReviews\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n reviewKey: z.string(),\n scope: permitReviewScope,\n status: permitAccessReviewStatus,\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n outcome: z.enum([\"allow\", \"deny\"]).optional(),\n requestedBy: z.string(),\n reviewedBy: z.string().optional(),\n requestedAt: z.number(),\n reviewedAt: z.number().optional(),\n dueAt: z.number().optional(),\n justification: z.string().optional(),\n rationale: z.string().optional(),\n policyBundleId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_subject\",\n columns: [\"tenantId\", \"subjectType\", \"subjectId\"],\n },\n { kind: \"index\", name: \"by_outcome\", columns: [\"outcome\"] },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n ],\n});\n\nexport const permitAccessReviewItems = defineTable({\n name: \"permitAccessReviewItems\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n reviewKey: z.string(),\n itemKey: z.string(),\n tenantId: z.string(),\n workspaceId: z.string().optional(),\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n role: z.string().optional(),\n relation: z.string().optional(),\n status: z.enum([\"open\", \"approved\", \"revoked\", \"changed\", \"deferred\"]),\n reviewerId: z.string().optional(),\n decisionAt: z.number().optional(),\n rationale: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_reviewKey\", columns: [\"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_itemKey\", columns: [\"tenantId\", \"itemKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/schemas/tables/controlPlane/accessControl.ts"],"names":["z"],"mappings":"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","file":"accessControl.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"control-plane\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","/**\n * Schema contracts for controlPlane/accessControl.\n *\n * Mirrors:\n * - modules/control-plane/src/component/schema/domains/accessControl.ts\n */\n\nimport { z } from \"zod\";\nimport { defineTable } from \"../../../dsl.js\";\n\nconst permitActorType = z.enum([\n \"human\",\n \"agent\",\n \"service_principal\",\n \"external_stakeholder\",\n \"system\",\n]);\n\nconst permitMembershipStatus = z.enum([\n \"active\",\n \"invited\",\n \"revoked\",\n \"suspended\",\n \"disabled\",\n]);\n\nconst permitDecision = z.enum([\"allow\", \"deny\"]);\n\nconst permitAccessReviewStatus = z.enum([\n \"open\",\n \"in_progress\",\n \"approved\",\n \"denied\",\n \"expired\",\n \"cancelled\",\n]);\n\nconst permitReviewScope = z.enum([\n \"tenant\",\n \"workspace\",\n \"resource_instance\",\n \"group\",\n \"principal\",\n \"api_key\",\n \"admin_action\",\n]);\n\nconst permitRecordStatus = z.enum([\n \"queued\",\n \"inflight\",\n \"completed\",\n \"failed\",\n \"skipped\",\n \"stale\",\n]);\n\nconst permitObjectType = z.enum([\n \"resource\",\n \"role\",\n \"resource_role\",\n \"resource_relation\",\n \"tenant\",\n \"workspace\",\n \"principal\",\n \"membership\",\n \"group\",\n \"resource_instance\",\n \"relationship_tuple\",\n \"role_assignment\",\n \"attribute_binding\",\n \"policy_bundle\",\n]);\n\nconst permitOutboxOperation = z.enum([\n \"upsert\",\n \"delete\",\n \"sync\",\n \"resync\",\n \"delete_sync\",\n \"noop\",\n]);\n\nconst permitPolicyBundleStatus = z.enum([\n \"draft\",\n \"validated\",\n \"enforced\",\n \"archived\",\n]);\n\nconst permitSyncStatus = z.enum([\n \"pending\",\n \"synced\",\n \"error\",\n \"skipped\",\n]);\n\nconst permitAccessReviewSubjectType = z.enum([\n \"principal\",\n \"group\",\n \"role_assignment\",\n \"resource_instance\",\n]);\n\nconst permitAttributeType = z.enum([\n \"string\",\n \"number\",\n \"bool\",\n \"json\",\n \"time\",\n]);\n\nconst permitAttributeOperator = z.enum([\n \"eq\",\n \"neq\",\n \"in\",\n \"not_in\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"contains\",\n \"not_contains\",\n \"matches\",\n]);\n\nconst permitRoleBindingTarget = z.enum([\n \"principal\",\n \"group\",\n]);\n\nexport const permitPrincipals = defineTable({\n name: \"permitPrincipals\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n principalType: permitActorType,\n status: permitMembershipStatus,\n displayName: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n lastSeenAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_principalId\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_principalType_status\",\n columns: [\"tenantId\", \"principalType\", \"status\"],\n },\n ],\n});\n\nexport const permitPrincipalAliases = defineTable({\n name: \"permitPrincipalAliases\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n provider: z.string(),\n providerSubjectId: z.string(),\n providerProjectId: z.string().optional(),\n alias: z.string(),\n aliasKind: z.string(),\n status: permitMembershipStatus,\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n revokedBy: z.string().optional(),\n revokedAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: \"index\", name: \"by_tenant_provider_subject\", columns: [\"tenantId\", \"provider\", \"providerSubjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_alias\",\n columns: [\"tenantId\", \"provider\", \"alias\"],\n },\n { kind: \"index\", name: \"by_tenant_alias\", columns: [\"tenantId\", \"alias\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_status\",\n columns: [\"tenantId\", \"provider\", \"status\"],\n },\n ],\n});\n\nexport const permitGroups = defineTable({\n name: \"permitGroups\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n groupKey: z.string(),\n groupName: z.string(),\n groupType: z.enum([\"tenant\", \"workspace\", \"external\", \"system\", \"dynamic\"]),\n status: permitMembershipStatus,\n description: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_groupId\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_groupKey\", columns: [\"tenantId\", \"groupKey\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitGroupMemberships = defineTable({\n name: \"permitGroupMemberships\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n memberType: z.enum([\"principal\", \"group\"]),\n memberId: z.string(),\n principalId: z.string().optional(),\n childGroupId: z.string().optional(),\n status: permitMembershipStatus,\n addedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n revocationReason: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_principal\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_member\", columns: [\"tenantId\", \"memberType\", \"memberId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_member_group\",\n columns: [\"tenantId\", \"memberType\", \"memberId\", \"groupId\"],\n },\n { kind: \"index\", name: \"by_tenant_group\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_member_group\", columns: [\"memberType\", \"memberId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_principal\",\n columns: [\"workspaceId\", \"principalId\"],\n },\n ],\n});\n\nexport const permitResourceInstances = defineTable({\n name: \"permitResourceInstances\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceId: z.string(),\n status: z.enum([\"active\", \"deleted\", \"archived\"]),\n attributes: z.record(z.any()).optional(),\n ownerPrincipalId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_resource_type\",\n columns: [\"tenantId\", \"resourceType\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource_key\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_ownerPrincipalId\",\n columns: [\"ownerPrincipalId\"],\n },\n ],\n});\n\nexport const permitRoleAssignments = defineTable({\n name: \"permitRoleAssignments\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n role: z.string(),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceInstanceId: z.string().optional(),\n status: permitMembershipStatus,\n expiresAt: z.number().optional(),\n attributes: z.record(z.any()).optional(),\n grantedBy: z.string().optional(),\n updatedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_role\",\n columns: [\"tenantId\", \"role\", \"status\"],\n },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_resource\",\n columns: [\"workspaceId\", \"resourceType\", \"resourceKey\"],\n },\n ],\n});\n\nexport const permitRelationshipTuples = defineTable({\n name: \"permitRelationshipTuples\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n relation: z.string(),\n subject: z.string(),\n object: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n status: permitRecordStatus,\n attributes: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastSeenAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_subject\", columns: [\"tenantId\", \"subject\"] },\n { kind: \"index\", name: \"by_tenant_object\", columns: [\"tenantId\", \"object\"] },\n { kind: \"index\", name: \"by_tenant_relation\", columns: [\"tenantId\", \"relation\"] },\n {\n kind: \"index\",\n name: \"by_tenant_relation_subject\",\n columns: [\"tenantId\", \"relation\", \"subject\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitAttributeBindings = defineTable({\n name: \"permitAttributeBindings\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n attributeName: z.string(),\n attributeType: permitAttributeType,\n attributeOperator: permitAttributeOperator,\n attributeValue: z.any(),\n status: permitRecordStatus,\n source: z.string().optional(),\n sourceRef: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_target_attribute\",\n columns: [\"tenantId\", \"targetType\", \"targetId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_name\",\n columns: [\"tenantId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyBundles = defineTable({\n name: \"permitPolicyBundles\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n bundleKey: z.string(),\n version: z.number(),\n status: permitPolicyBundleStatus,\n policyHash: z.string().optional(),\n policyPayload: z.record(z.any()),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n reviewedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n retiredAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_bundleKey\",\n columns: [\"tenantId\", \"bundleKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_bundle_version\",\n columns: [\"tenantId\", \"bundleKey\", \"version\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitProjectionOutbox = defineTable({\n name: \"permitProjectionOutbox\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n operation: permitOutboxOperation,\n payload: z.record(z.any()),\n status: permitRecordStatus,\n attemptCount: z.number(),\n nextAttemptAt: z.number().optional(),\n lastError: z.string().optional(),\n tenantId: z.string().optional(),\n workspaceId: z.optional(z.string()),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastHandledAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_objectType\",\n columns: [\"objectType\", \"status\"],\n },\n ],\n});\n\nexport const tenantPermitSyncStates = defineTable({\n name: \"tenantPermitSyncStates\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n desiredPayload: z.record(z.any()),\n lastAppliedPayloadHash: z.string().optional(),\n status: permitSyncStatus,\n attemptCount: z.number(),\n lastError: z.string().optional(),\n nextAttemptAt: z.number().optional(),\n lastSyncedAt: z.number().optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_principal_status\",\n columns: [\"principalId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyDecisionReceipts = defineTable({\n name: \"permitPolicyDecisionReceipts\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string(),\n subjectType: permitAccessReviewSubjectType.optional(),\n subjectId: z.string().optional(),\n resourceType: z.string(),\n resourceId: z.string(),\n action: z.string(),\n decision: permitDecision,\n reasonCode: z.string(),\n policyBundleId: z.string().optional(),\n policyVersion: z.string(),\n traceId: z.string().optional(),\n requestId: z.string().optional(),\n audienceMode: z.string().optional(),\n audienceKey: z.string().optional(),\n audienceClass: z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n expiresAt: z.number().optional(),\n createdBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_resource\", columns: [\"resourceType\", \"resourceId\"] },\n { kind: \"index\", name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: \"index\", name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: \"index\", name: \"by_action\", columns: [\"action\"] },\n ],\n});\n\nexport const permitAccessReviews = defineTable({\n name: \"permitAccessReviews\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n reviewKey: z.string(),\n scope: permitReviewScope,\n status: permitAccessReviewStatus,\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n outcome: z.enum([\"allow\", \"deny\"]).optional(),\n requestedBy: z.string(),\n reviewedBy: z.string().optional(),\n requestedAt: z.number(),\n reviewedAt: z.number().optional(),\n dueAt: z.number().optional(),\n justification: z.string().optional(),\n rationale: z.string().optional(),\n policyBundleId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_subject\",\n columns: [\"tenantId\", \"subjectType\", \"subjectId\"],\n },\n { kind: \"index\", name: \"by_outcome\", columns: [\"outcome\"] },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n ],\n});\n\nexport const permitAccessReviewItems = defineTable({\n name: \"permitAccessReviewItems\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n reviewKey: z.string(),\n itemKey: z.string(),\n tenantId: z.string(),\n workspaceId: z.string().optional(),\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n role: z.string().optional(),\n relation: z.string().optional(),\n status: z.enum([\"open\", \"approved\", \"revoked\", \"changed\", \"deferred\"]),\n reviewerId: z.string().optional(),\n decisionAt: z.number().optional(),\n rationale: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_reviewKey\", columns: [\"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_itemKey\", columns: [\"tenantId\", \"itemKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucern/contracts",
3
- "version": "0.3.0-alpha.11",
3
+ "version": "0.3.0-alpha.12",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",