@superblocksteam/shared 0.9603.3 → 0.9604.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.
Files changed (145) hide show
  1. package/dist/database-lifecycle/capacityPolicy.d.ts +51 -0
  2. package/dist/database-lifecycle/capacityPolicy.d.ts.map +1 -0
  3. package/dist/database-lifecycle/capacityPolicy.js +159 -0
  4. package/dist/database-lifecycle/capacityPolicy.js.map +1 -0
  5. package/dist/database-lifecycle/capacityPolicy.test.d.ts +2 -0
  6. package/dist/database-lifecycle/capacityPolicy.test.d.ts.map +1 -0
  7. package/dist/database-lifecycle/capacityPolicy.test.js +159 -0
  8. package/dist/database-lifecycle/capacityPolicy.test.js.map +1 -0
  9. package/dist/database-lifecycle/edit-lifecycle-capability.d.ts +18 -0
  10. package/dist/database-lifecycle/edit-lifecycle-capability.d.ts.map +1 -0
  11. package/dist/database-lifecycle/edit-lifecycle-capability.js +32 -0
  12. package/dist/database-lifecycle/edit-lifecycle-capability.js.map +1 -0
  13. package/dist/database-lifecycle/edit-lifecycle-capability.test.d.ts +2 -0
  14. package/dist/database-lifecycle/edit-lifecycle-capability.test.d.ts.map +1 -0
  15. package/dist/database-lifecycle/edit-lifecycle-capability.test.js +91 -0
  16. package/dist/database-lifecycle/edit-lifecycle-capability.test.js.map +1 -0
  17. package/dist/database-lifecycle/index.d.ts +50 -27
  18. package/dist/database-lifecycle/index.d.ts.map +1 -1
  19. package/dist/database-lifecycle/index.js +78 -54
  20. package/dist/database-lifecycle/index.js.map +1 -1
  21. package/dist/database-lifecycle/index.test.js +120 -77
  22. package/dist/database-lifecycle/index.test.js.map +1 -1
  23. package/dist/database-lifecycle/physicalPoolIdentity.d.ts +29 -0
  24. package/dist/database-lifecycle/physicalPoolIdentity.d.ts.map +1 -0
  25. package/dist/database-lifecycle/physicalPoolIdentity.js +64 -0
  26. package/dist/database-lifecycle/physicalPoolIdentity.js.map +1 -0
  27. package/dist/database-lifecycle/physicalPoolIdentity.test.d.ts +2 -0
  28. package/dist/database-lifecycle/physicalPoolIdentity.test.d.ts.map +1 -0
  29. package/dist/database-lifecycle/physicalPoolIdentity.test.js +51 -0
  30. package/dist/database-lifecycle/physicalPoolIdentity.test.js.map +1 -0
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/types/audit/ocsf.d.ts +60 -6
  36. package/dist/types/audit/ocsf.d.ts.map +1 -1
  37. package/dist/types/audit/ocsf.js +12 -1
  38. package/dist/types/audit/ocsf.js.map +1 -1
  39. package/dist/types/deployment/deployQueueStatus.d.ts +13 -0
  40. package/dist/types/deployment/deployQueueStatus.d.ts.map +1 -1
  41. package/dist/types/deployment/index.d.ts +1 -1
  42. package/dist/types/deployment/index.d.ts.map +1 -1
  43. package/dist/types/deployment/index.js.map +1 -1
  44. package/dist/types/policyGate/index.d.ts +5 -0
  45. package/dist/types/policyGate/index.d.ts.map +1 -1
  46. package/dist/types/policyGate/index.js +5 -1
  47. package/dist/types/policyGate/index.js.map +1 -1
  48. package/dist/types/publishPipeline/plan.js +1 -1
  49. package/dist/types/publishPipeline/plan.js.map +1 -1
  50. package/dist/types/publishPipeline/plan.test.js +3 -3
  51. package/dist/types/publishPipeline/plan.test.js.map +1 -1
  52. package/dist/types/rbac/index.d.ts +2 -0
  53. package/dist/types/rbac/index.d.ts.map +1 -1
  54. package/dist/types/rbac/index.js +3 -1
  55. package/dist/types/rbac/index.js.map +1 -1
  56. package/dist/types/reviewPolicy/index.d.ts +35 -4
  57. package/dist/types/reviewPolicy/index.d.ts.map +1 -1
  58. package/dist/types/reviewPolicy/index.js +15 -1
  59. package/dist/types/reviewPolicy/index.js.map +1 -1
  60. package/dist/types/reviewPolicy/index.test.d.ts +2 -0
  61. package/dist/types/reviewPolicy/index.test.d.ts.map +1 -0
  62. package/dist/types/reviewPolicy/index.test.js +17 -0
  63. package/dist/types/reviewPolicy/index.test.js.map +1 -0
  64. package/dist-esm/database-lifecycle/capacityPolicy.d.ts +51 -0
  65. package/dist-esm/database-lifecycle/capacityPolicy.d.ts.map +1 -0
  66. package/dist-esm/database-lifecycle/capacityPolicy.js +150 -0
  67. package/dist-esm/database-lifecycle/capacityPolicy.js.map +1 -0
  68. package/dist-esm/database-lifecycle/capacityPolicy.test.d.ts +2 -0
  69. package/dist-esm/database-lifecycle/capacityPolicy.test.d.ts.map +1 -0
  70. package/dist-esm/database-lifecycle/capacityPolicy.test.js +157 -0
  71. package/dist-esm/database-lifecycle/capacityPolicy.test.js.map +1 -0
  72. package/dist-esm/database-lifecycle/edit-lifecycle-capability.d.ts +18 -0
  73. package/dist-esm/database-lifecycle/edit-lifecycle-capability.d.ts.map +1 -0
  74. package/dist-esm/database-lifecycle/edit-lifecycle-capability.js +29 -0
  75. package/dist-esm/database-lifecycle/edit-lifecycle-capability.js.map +1 -0
  76. package/dist-esm/database-lifecycle/edit-lifecycle-capability.test.d.ts +2 -0
  77. package/dist-esm/database-lifecycle/edit-lifecycle-capability.test.d.ts.map +1 -0
  78. package/dist-esm/database-lifecycle/edit-lifecycle-capability.test.js +89 -0
  79. package/dist-esm/database-lifecycle/edit-lifecycle-capability.test.js.map +1 -0
  80. package/dist-esm/database-lifecycle/index.d.ts +50 -27
  81. package/dist-esm/database-lifecycle/index.d.ts.map +1 -1
  82. package/dist-esm/database-lifecycle/index.js +62 -51
  83. package/dist-esm/database-lifecycle/index.js.map +1 -1
  84. package/dist-esm/database-lifecycle/index.test.js +90 -47
  85. package/dist-esm/database-lifecycle/index.test.js.map +1 -1
  86. package/dist-esm/database-lifecycle/physicalPoolIdentity.d.ts +29 -0
  87. package/dist-esm/database-lifecycle/physicalPoolIdentity.d.ts.map +1 -0
  88. package/dist-esm/database-lifecycle/physicalPoolIdentity.js +59 -0
  89. package/dist-esm/database-lifecycle/physicalPoolIdentity.js.map +1 -0
  90. package/dist-esm/database-lifecycle/physicalPoolIdentity.test.d.ts +2 -0
  91. package/dist-esm/database-lifecycle/physicalPoolIdentity.test.d.ts.map +1 -0
  92. package/dist-esm/database-lifecycle/physicalPoolIdentity.test.js +49 -0
  93. package/dist-esm/database-lifecycle/physicalPoolIdentity.test.js.map +1 -0
  94. package/dist-esm/index.d.ts +1 -0
  95. package/dist-esm/index.d.ts.map +1 -1
  96. package/dist-esm/index.js +1 -0
  97. package/dist-esm/index.js.map +1 -1
  98. package/dist-esm/types/audit/ocsf.d.ts +60 -6
  99. package/dist-esm/types/audit/ocsf.d.ts.map +1 -1
  100. package/dist-esm/types/audit/ocsf.js +12 -1
  101. package/dist-esm/types/audit/ocsf.js.map +1 -1
  102. package/dist-esm/types/deployment/deployQueueStatus.d.ts +13 -0
  103. package/dist-esm/types/deployment/deployQueueStatus.d.ts.map +1 -1
  104. package/dist-esm/types/deployment/index.d.ts +1 -1
  105. package/dist-esm/types/deployment/index.d.ts.map +1 -1
  106. package/dist-esm/types/deployment/index.js.map +1 -1
  107. package/dist-esm/types/policyGate/index.d.ts +5 -0
  108. package/dist-esm/types/policyGate/index.d.ts.map +1 -1
  109. package/dist-esm/types/policyGate/index.js +5 -1
  110. package/dist-esm/types/policyGate/index.js.map +1 -1
  111. package/dist-esm/types/publishPipeline/plan.js +1 -1
  112. package/dist-esm/types/publishPipeline/plan.js.map +1 -1
  113. package/dist-esm/types/publishPipeline/plan.test.js +3 -3
  114. package/dist-esm/types/publishPipeline/plan.test.js.map +1 -1
  115. package/dist-esm/types/rbac/index.d.ts +2 -0
  116. package/dist-esm/types/rbac/index.d.ts.map +1 -1
  117. package/dist-esm/types/rbac/index.js +3 -1
  118. package/dist-esm/types/rbac/index.js.map +1 -1
  119. package/dist-esm/types/reviewPolicy/index.d.ts +35 -4
  120. package/dist-esm/types/reviewPolicy/index.d.ts.map +1 -1
  121. package/dist-esm/types/reviewPolicy/index.js +13 -0
  122. package/dist-esm/types/reviewPolicy/index.js.map +1 -1
  123. package/dist-esm/types/reviewPolicy/index.test.d.ts +2 -0
  124. package/dist-esm/types/reviewPolicy/index.test.d.ts.map +1 -0
  125. package/dist-esm/types/reviewPolicy/index.test.js +15 -0
  126. package/dist-esm/types/reviewPolicy/index.test.js.map +1 -0
  127. package/package.json +1 -1
  128. package/src/database-lifecycle/capacityPolicy.test.ts +209 -0
  129. package/src/database-lifecycle/capacityPolicy.ts +197 -0
  130. package/src/database-lifecycle/edit-lifecycle-capability.test.ts +116 -0
  131. package/src/database-lifecycle/edit-lifecycle-capability.ts +34 -0
  132. package/src/database-lifecycle/index.test.ts +105 -48
  133. package/src/database-lifecycle/index.ts +157 -90
  134. package/src/database-lifecycle/physicalPoolIdentity.test.ts +64 -0
  135. package/src/database-lifecycle/physicalPoolIdentity.ts +75 -0
  136. package/src/index.ts +1 -0
  137. package/src/types/audit/ocsf.ts +73 -7
  138. package/src/types/deployment/deployQueueStatus.ts +14 -0
  139. package/src/types/deployment/index.ts +2 -1
  140. package/src/types/policyGate/index.ts +5 -1
  141. package/src/types/publishPipeline/plan.test.ts +3 -3
  142. package/src/types/publishPipeline/plan.ts +1 -1
  143. package/src/types/rbac/index.ts +3 -1
  144. package/src/types/reviewPolicy/index.test.ts +17 -0
  145. package/src/types/reviewPolicy/index.ts +52 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-lifecycle-capability.test.js","sourceRoot":"","sources":["../../src/database-lifecycle/edit-lifecycle-capability.test.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,36 @@
1
+ import { ApiTriggerType } from '../types/api/index.js';
2
+ import type { DatabaseEngine } from './capacityPolicy.js';
1
3
  export declare const LIFECYCLE_TERMINAL_STATES: readonly ["ready", "failed", "cancelled"];
2
4
  export declare const LIFECYCLE_NON_TERMINAL_STATES: readonly ["pending", "provisioning", "migrating", "retiring"];
3
5
  export declare const LIFECYCLE_STATES: readonly ["pending", "provisioning", "migrating", "retiring", "ready", "failed", "cancelled"];
4
6
  export declare const LIFECYCLE_MIGRATION_STATES: readonly ["pending", "migrated", "failed"];
5
- export declare const LIFECYCLE_OPERATIONS: readonly ["ensure_database", "migrate_schema", "retire_database"];
6
- export declare const LIFECYCLE_ENVIRONMENTS: readonly ["edit", "preview", "deployed"];
7
- export declare const DATABASE_ENGINES: readonly ["postgres", "snowflake", "snowflake_postgres", "lakebase"];
7
+ export declare const LIFECYCLE_OPERATIONS: readonly ["ensure_database", "migrate_schema", "retire_database", "ensure_physical_database_instance"];
8
8
  export declare const DATABASE_LIFECYCLE_MANAGED_BY = "database_lifecycle";
9
- export declare const NATIVE_DB_AUTH_DESCRIPTOR_VERSION: 2;
10
- export declare const NATIVE_DB_AUTH_DESCRIPTOR_VERSIONS: readonly [1, 2];
9
+ export declare const NATIVE_DB_AUTH_DESCRIPTOR_VERSION: 3;
11
10
  export declare const NATIVE_DB_CONNECTOR_ROLE_NAME_PREFIX = "superblocks-native-db-connector";
12
11
  export declare const NATIVE_DB_IAM_AUTH_MODE: "aws_iam_role";
13
12
  export declare const NATIVE_DB_IDENTIFIER_HASH_DOMAIN = "superblocks-native-db:v1";
14
13
  export declare const DATABASE_LIFECYCLE_CAPABILITY_MANAGED_IAM_V1 = "managed-IAM-v1";
14
+ export declare function isLifecycleManagedIntegrationAllowedForApiTrigger(triggerType: ApiTriggerType, managedBy: string | null | undefined): boolean;
15
15
  export declare const DATABASE_LIFECYCLE_TAG_OPERATIONS = "databaseLifecycle:operations";
16
16
  export declare const DATABASE_LIFECYCLE_TAG_ENGINES = "databaseLifecycle:engines";
17
- export declare const DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = "databaseLifecycle:environmentProfiles";
18
17
  export declare const DATABASE_LIFECYCLE_TAG_CAPABILITIES = "databaseLifecycle:capabilities";
19
- export type LifecycleEnvironment = (typeof LIFECYCLE_ENVIRONMENTS)[number];
20
- export type DatabaseEngine = (typeof DATABASE_ENGINES)[number];
18
+ export { CapacityPolicyValidationError, DATABASE_ENGINES, DATABASE_LIFECYCLE_TAG_CAPACITY_POLICIES, PHYSICAL_DATABASE_CAPACITY_THRESHOLD_TYPES, computePhysicalDatabasePoolKey, encodeCapacityPolicyTag, parseCapacityPolicyTag, parseCapacityPolicyTags, validateCapacityPolicyCompatibility, type DatabaseEngine, type PhysicalDatabaseCapacityPolicy, type PhysicalDatabaseCapacityThresholdType, type PhysicalDatabasePoolKey } from './capacityPolicy.js';
19
+ export { DATABASE_LIFECYCLE_TAG_AGENT_NAME, PhysicalPoolIdentityError, parsePhysicalPoolAgentNameTag } from './physicalPoolIdentity.js';
21
20
  export type LifecycleOperation = (typeof LIFECYCLE_OPERATIONS)[number];
22
21
  export type LifecycleTerminalState = (typeof LIFECYCLE_TERMINAL_STATES)[number];
23
22
  export type LifecycleNonTerminalState = (typeof LIFECYCLE_NON_TERMINAL_STATES)[number];
24
23
  export type LifecycleState = (typeof LIFECYCLE_STATES)[number];
25
24
  export type LifecycleMigrationState = (typeof LIFECYCLE_MIGRATION_STATES)[number];
26
25
  export type LifecycleErrorCode = 'unsupported_provider_capability' | 'backend_locked' | 'policy_blocked' | 'credential_resolution_failed' | 'terraform_failed' | 'migration_failed' | 'callback_failed' | 'stale_dispatch';
27
- export declare const CREDENTIAL_RESOLVERS: readonly ["opa_local", "aws_secrets_manager", "gcp_secret_manager", "vault", "kubernetes_secret"];
28
- export type CredentialResolver = (typeof CREDENTIAL_RESOLVERS)[number];
29
- export type CredentialRef = {
30
- resolver: CredentialResolver;
26
+ export type PhysicalMasterCredentialRef = {
27
+ resolver: 'aws_secrets_manager';
31
28
  ref: string;
32
29
  field?: string;
33
30
  };
34
31
  export type NativeDbIamDescriptor = {
35
32
  application_id: string;
36
- auth_descriptor_version: (typeof NATIVE_DB_AUTH_DESCRIPTOR_VERSIONS)[number];
33
+ auth_descriptor_version: typeof NATIVE_DB_AUTH_DESCRIPTOR_VERSION;
37
34
  auth_mode: typeof NATIVE_DB_IAM_AUTH_MODE;
38
35
  aws_account_id: string;
39
36
  binding_id: string;
@@ -60,7 +57,6 @@ type DatabaseBindingBase = {
60
57
  requirementKey: string;
61
58
  logicalName: string;
62
59
  applicationId: string;
63
- environment: LifecycleEnvironment;
64
60
  profile: string;
65
61
  desiredSpecHash: string;
66
62
  migrationState: LifecycleMigrationState;
@@ -68,12 +64,10 @@ type DatabaseBindingBase = {
68
64
  export type ReadyDatabaseBinding = DatabaseBindingBase & {
69
65
  lifecycleState: 'ready';
70
66
  connectionMetadata: Record<string, string | number | boolean>;
71
- credentialRefs: Record<string, CredentialRef>;
72
67
  };
73
68
  export type IncompleteDatabaseBinding = DatabaseBindingBase & {
74
69
  lifecycleState: Exclude<LifecycleState, 'ready'>;
75
70
  connectionMetadata?: Record<string, string | number | boolean>;
76
- credentialRefs?: Record<string, CredentialRef>;
77
71
  };
78
72
  export type DatabaseBinding = ReadyDatabaseBinding | IncompleteDatabaseBinding;
79
73
  export declare function isReadyDatabaseBinding(binding: DatabaseBinding): binding is ReadyDatabaseBinding;
@@ -91,13 +85,13 @@ export type PhysicalDatabaseInstance = {
91
85
  id: string;
92
86
  organizationId: string;
93
87
  region: string;
94
- environment: LifecycleEnvironment;
95
88
  engine: DatabaseEngine;
96
89
  endpoint: string;
97
- masterCredentialRef: CredentialRef;
90
+ masterCredentialRef: PhysicalMasterCredentialRef;
98
91
  capacityMax: number;
99
92
  capacityUsed: number;
100
93
  status: PhysicalDatabaseInstanceStatus;
94
+ agentName?: string;
101
95
  metadata: Record<string, unknown>;
102
96
  created?: Date;
103
97
  updated?: Date;
@@ -113,6 +107,40 @@ export type LifecycleDispatchContinuation = {
113
107
  physicalTerraformResourceKey?: string;
114
108
  reservationId?: string;
115
109
  };
110
+ export declare const PHYSICAL_POOL_PROVISIONING_STATUSES: readonly ["not_started", "provisioning", "active", "failed"];
111
+ export type PhysicalPoolProvisioningStatus = (typeof PHYSICAL_POOL_PROVISIONING_STATUSES)[number];
112
+ export type PhysicalPoolProvisioningActor = {
113
+ displayName: string;
114
+ id: string;
115
+ };
116
+ export type PhysicalPoolProvisioningError = {
117
+ code: string;
118
+ message: string;
119
+ };
120
+ export type PhysicalPoolProvisioningState = {
121
+ alreadyInProgress?: boolean;
122
+ completedAt?: string;
123
+ error?: PhysicalPoolProvisioningError;
124
+ physicalDatabaseInstanceId?: string;
125
+ provisioningId?: string;
126
+ startedAt?: string;
127
+ startedBy?: PhysicalPoolProvisioningActor;
128
+ status: PhysicalPoolProvisioningStatus;
129
+ };
130
+ export type PhysicalPoolInstanceSummary = {
131
+ capacityMax: number;
132
+ capacityUsed: number;
133
+ endpoint: string;
134
+ id: string;
135
+ region: string;
136
+ status: PhysicalDatabaseInstanceStatus;
137
+ };
138
+ export type PhysicalPoolSummary = {
139
+ agentName: string;
140
+ engine: DatabaseEngine;
141
+ instances: PhysicalPoolInstanceSummary[];
142
+ provisioning: PhysicalPoolProvisioningState;
143
+ };
116
144
  export type LifecycleDispatchPayload = {
117
145
  applicationId: string;
118
146
  bindingId: string;
@@ -121,38 +149,34 @@ export type LifecycleDispatchPayload = {
121
149
  continuation?: LifecycleDispatchContinuation;
122
150
  desiredSpec: DatabaseRequirement;
123
151
  desiredSpecHash: string;
124
- environment: LifecycleEnvironment;
152
+ environment?: string;
125
153
  migrations?: LifecycleMigration[];
126
154
  operation: LifecycleOperation;
127
155
  profile: string;
156
+ provisioningId?: string;
128
157
  requestId: string;
129
158
  resourceKey: string;
130
- runtimeCredentialRefs?: Record<string, CredentialRef>;
131
- migrationCredentialRefs?: Record<string, CredentialRef>;
132
159
  };
160
+ export declare function physicalPoolProvisioningResourceKey(provisioningId: string): string;
133
161
  export declare function computeRequirementKey(requirement: Pick<DatabaseRequirement, 'logicalName' | 'engine'>): string;
134
162
  export declare function computeBindingKey(input: {
135
163
  organizationId: string;
136
164
  applicationId: string;
137
- environment: LifecycleEnvironment;
138
165
  profile: string;
139
166
  }): string;
140
167
  export declare function computeLegacyBindingKeyWithoutOrganization(input: {
141
168
  applicationId: string;
142
- environment: LifecycleEnvironment;
143
169
  profile: string;
144
170
  }): string;
145
171
  export declare function computeDesiredSpecHash(requirement: DatabaseRequirement): Promise<string>;
146
172
  export declare function nativeDbIamSessionPolicy(descriptor: NativeDbIamDescriptor): string;
147
173
  export declare function parseNativeDbIamDescriptor(value: unknown): NativeDbIamDescriptor | undefined;
148
174
  export declare function computeNativeDbApplicationToken(trustedApplicationId: string): Promise<string>;
149
- export declare function computeNativeDbBindingToken(trustedBindingId: string): Promise<string>;
150
- export declare function computeNativeDbDatabaseName(deploymentToken: string, trustedDatabaseId: string): Promise<string>;
175
+ export declare function computeNativeDbProfileToken(profile: string): Promise<string>;
151
176
  export declare function computeResourceKey(input: {
152
177
  organizationId: string;
153
178
  applicationId: string;
154
179
  requirementKey: string;
155
- environment: LifecycleEnvironment;
156
180
  profile: string;
157
181
  actorScope?: string;
158
182
  }): string;
@@ -162,5 +186,4 @@ export declare const SECRET_KEY_PATTERN: RegExp;
162
186
  export declare const CREDENTIAL_BEARING_DSN_SCHEMES: readonly ["postgres", "postgresql", "mysql", "mariadb", "mongodb", "mongodb+srv", "redis", "rediss", "amqp", "amqps", "kafka"];
163
187
  export declare function isSecretKey(key: string): boolean;
164
188
  export declare function containsCredentialMaterial(value: string): boolean;
165
- export {};
166
189
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,47 @@
1
1
  import { sha256Base64 } from '../signing/hashing.js';
2
+ import { ApiTriggerType } from '../types/api/index.js';
2
3
  export const LIFECYCLE_TERMINAL_STATES = ['ready', 'failed', 'cancelled'];
3
4
  export const LIFECYCLE_NON_TERMINAL_STATES = ['pending', 'provisioning', 'migrating', 'retiring'];
4
5
  export const LIFECYCLE_STATES = [...LIFECYCLE_NON_TERMINAL_STATES, ...LIFECYCLE_TERMINAL_STATES];
5
6
  export const LIFECYCLE_MIGRATION_STATES = ['pending', 'migrated', 'failed'];
6
- // The environment axis (edit/preview/deployed) lives on the binding, so a
7
- // single `ensure_database` covers what used to be split into
7
+ // A single `ensure_database` covers what used to be split into
8
8
  // ensure_dev_database / ensure_prod_database. `migrate_schema` and
9
9
  // `retire_database` were always environment-agnostic.
10
- export const LIFECYCLE_OPERATIONS = ['ensure_database', 'migrate_schema', 'retire_database'];
11
- // Mirrors the platform's view modes (proto api.v1.ViewMode: VIEW_MODE_EDIT /
12
- // VIEW_MODE_PREVIEW / VIEW_MODE_DEPLOYED). Working-state migrations and the
13
- // shared workspace database serve edit/preview; deploy-commit migrations and
14
- // the deploy gate concern deployed.
15
- export const LIFECYCLE_ENVIRONMENTS = ['edit', 'preview', 'deployed'];
16
- export const DATABASE_ENGINES = ['postgres', 'snowflake', 'snowflake_postgres', 'lakebase'];
10
+ // `ensure_physical_database_instance` is claimable pool-level work (wizard /
11
+ // eager provisioning). It is not bound to a database_binding row; the claim
12
+ // payload carries provisioningId instead of binding identity. Appended last
13
+ // because Postgres `ALTER TYPE ... ADD VALUE` appends, and TypeORM's
14
+ // entity-vs-schema check requires this array to match that live order.
15
+ export const LIFECYCLE_OPERATIONS = ['ensure_database', 'migrate_schema', 'retire_database', 'ensure_physical_database_instance'];
17
16
  export const DATABASE_LIFECYCLE_MANAGED_BY = 'database_lifecycle';
18
- export const NATIVE_DB_AUTH_DESCRIPTOR_VERSION = 2;
19
- export const NATIVE_DB_AUTH_DESCRIPTOR_VERSIONS = [1, NATIVE_DB_AUTH_DESCRIPTOR_VERSION];
17
+ export const NATIVE_DB_AUTH_DESCRIPTOR_VERSION = 3;
20
18
  export const NATIVE_DB_CONNECTOR_ROLE_NAME_PREFIX = 'superblocks-native-db-connector';
21
19
  export const NATIVE_DB_IAM_AUTH_MODE = 'aws_iam_role';
22
20
  export const NATIVE_DB_IDENTIFIER_HASH_DOMAIN = 'superblocks-native-db:v1';
23
21
  export const DATABASE_LIFECYCLE_CAPABILITY_MANAGED_IAM_V1 = 'managed-IAM-v1';
22
+ export function isLifecycleManagedIntegrationAllowedForApiTrigger(triggerType, managedBy) {
23
+ if (managedBy !== DATABASE_LIFECYCLE_MANAGED_BY) {
24
+ return true;
25
+ }
26
+ return triggerType === ApiTriggerType.UI;
27
+ }
24
28
  // Agent capability tag keys. A lifecycle worker publishes these in the
25
29
  // `tags` map of its agent registration (merged into — never replacing — the
26
- // tag map the agent already publishes; the existing `profile` tag carries
27
- // datatag coverage, same meaning it has for execution routing. Lifecycle
28
- // environment/profile coverage is published as pairs so edit-only staging
29
- // profiles do not imply deployed staging support. The server matches pending
30
- // lifecycle requests against these at poll/claim time and gates task creation
31
- // on "some active org agent supports this".
30
+ // tag map the agent already publishes). The existing `profile` tag carries
31
+ // datatag coverage, same meaning it has for execution routing, and is the
32
+ // sole lifecycle routing key. The server matches pending lifecycle requests
33
+ // against these at poll/claim time and gates task creation on "some active
34
+ // org agent supports this".
32
35
  export const DATABASE_LIFECYCLE_TAG_OPERATIONS = 'databaseLifecycle:operations';
33
36
  export const DATABASE_LIFECYCLE_TAG_ENGINES = 'databaseLifecycle:engines';
34
- export const DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = 'databaseLifecycle:environmentProfiles';
35
37
  export const DATABASE_LIFECYCLE_TAG_CAPABILITIES = 'databaseLifecycle:capabilities';
36
- export const CREDENTIAL_RESOLVERS = ['opa_local', 'aws_secrets_manager', 'gcp_secret_manager', 'vault', 'kubernetes_secret'];
38
+ export { CapacityPolicyValidationError, DATABASE_ENGINES, DATABASE_LIFECYCLE_TAG_CAPACITY_POLICIES, PHYSICAL_DATABASE_CAPACITY_THRESHOLD_TYPES, computePhysicalDatabasePoolKey, encodeCapacityPolicyTag, parseCapacityPolicyTag, parseCapacityPolicyTags, validateCapacityPolicyCompatibility } from './capacityPolicy.js';
39
+ // The stable, customer-managed name of the deployment a worker belongs to. It
40
+ // says which physical pool that worker owns, which is what keeps one
41
+ // deployment from being handed work meant for another. The claim path also
42
+ // treats it as the binding-ownership authority, so a client-supplied query
43
+ // value cannot bypass it.
44
+ export { DATABASE_LIFECYCLE_TAG_AGENT_NAME, PhysicalPoolIdentityError, parsePhysicalPoolAgentNameTag } from './physicalPoolIdentity.js';
37
45
  export function isReadyDatabaseBinding(binding) {
38
46
  return binding.lifecycleState === 'ready';
39
47
  }
@@ -43,16 +51,24 @@ export function isReadyDatabaseBinding(binding) {
43
51
  // The control plane is the dumb org-scoped state store (registry + atomic
44
52
  // capacity counter); ALL selection and provisioning logic lives in the worker.
45
53
  export const PHYSICAL_DATABASE_INSTANCE_STATUSES = ['active', 'draining', 'retired'];
54
+ // Wizard-facing view of a physical pool provisioning run. Narrower than
55
+ // `LIFECYCLE_STATES` on purpose: the UI only distinguishes "nothing has run"
56
+ // from in-progress, done, and failed. `not_started` is the absence of a row;
57
+ // queued and running both read as `provisioning`.
58
+ export const PHYSICAL_POOL_PROVISIONING_STATUSES = ['not_started', 'provisioning', 'active', 'failed'];
59
+ export function physicalPoolProvisioningResourceKey(provisioningId) {
60
+ return `physical-pool-provisioning:${provisioningId}`;
61
+ }
46
62
  export function computeRequirementKey(requirement) {
47
63
  return `${slugify(requirement.logicalName)}~${encodeURIComponent(requirement.logicalName)}:${requirement.engine}`;
48
64
  }
49
65
  // binding_key is the product identity of a database in the control plane, and
50
- // is deliberately scoped to (organization, application, environment, profile)
51
- // only — NOT the logical name. This is what makes "one database per profile"
52
- // enforceable by the plain UNIQUE (binding_key) constraint: asking for another
53
- // database under a different logical name resolves to the same binding_key
54
- // instead of minting a new one. The logical name still lives on the binding row
55
- // and in resource_key (physical identity); it just doesn't grant a second slot.
66
+ // is deliberately scoped to (organization, application, profile) only — NOT the
67
+ // logical name. This is what makes "one database per profile" enforceable by the
68
+ // plain UNIQUE (binding_key) constraint: asking for another database under a
69
+ // different logical name resolves to the same binding_key instead of minting a
70
+ // new one. The logical name still lives on the binding row and in resource_key
71
+ // (physical identity); it just doesn't grant a second slot.
56
72
  export function computeBindingKey(input) {
57
73
  return [input.organizationId, ...bindingKeySegments(input)].join(':');
58
74
  }
@@ -60,7 +76,7 @@ export function computeLegacyBindingKeyWithoutOrganization(input) {
60
76
  return bindingKeySegments(input).join(':');
61
77
  }
62
78
  function bindingKeySegments(input) {
63
- return [input.applicationId, input.environment, `${slugify(input.profile)}~${encodeURIComponent(input.profile)}`];
79
+ return [input.applicationId, `${slugify(input.profile)}~${encodeURIComponent(input.profile)}`];
64
80
  }
65
81
  // Hashes only the infrastructure spec. migrationDirectory is deliberately
66
82
  // excluded: it says where the SQL files live, not what database to provision,
@@ -90,8 +106,8 @@ export function parseNativeDbIamDescriptor(value) {
90
106
  if (!isUnknownRecord(value)) {
91
107
  return undefined;
92
108
  }
93
- const databaseIdentifier = typeof value.database === 'string' ? /^sbndb_([0-9a-f]{12})_([0-9a-f]{24})$/.exec(value.database) : null;
94
- const usernameIdentifier = typeof value.username === 'string' ? /^sbndb_([0-9a-f]{12})_([0-9a-f]{24})_runtime$/.exec(value.username) : null;
109
+ const databaseIdentifier = typeof value.database === 'string' ? /^sbndb_([0-9a-f]{16})_([0-9a-f]{24})$/.exec(value.database) : null;
110
+ const usernameIdentifier = typeof value.username === 'string' ? /^sbndb_([0-9a-f]{16})_([0-9a-f]{24})_runtime$/.exec(value.username) : null;
95
111
  const connectorRoleArn = typeof value.connector_role_arn === 'string'
96
112
  ? /^arn:aws:iam::(\d{12}):role\/(?:[\w+=,.@-]+\/)*[\w+=,.@-]+$/.exec(value.connector_role_arn)
97
113
  : null;
@@ -108,7 +124,7 @@ export function parseNativeDbIamDescriptor(value) {
108
124
  !databaseIdentifier ||
109
125
  !usernameIdentifier ||
110
126
  databaseIdentifier[1] !== usernameIdentifier[1] ||
111
- (value.auth_descriptor_version === NATIVE_DB_AUTH_DESCRIPTOR_VERSION && databaseIdentifier[2] !== usernameIdentifier[2]) ||
127
+ usernameIdentifier[0] !== databaseIdentifier[0] + '_runtime' ||
112
128
  !isValidNativeDbRdsHostname(value.host, value.region) ||
113
129
  typeof value.port !== 'number' ||
114
130
  !Number.isInteger(value.port) ||
@@ -135,14 +151,12 @@ export function parseNativeDbIamDescriptor(value) {
135
151
  export async function computeNativeDbApplicationToken(trustedApplicationId) {
136
152
  return (await computeNativeDbIdentifierToken('application', trustedApplicationId)).slice(0, 24);
137
153
  }
138
- export async function computeNativeDbBindingToken(trustedBindingId) {
139
- return (await computeNativeDbIdentifierToken('database', trustedBindingId)).slice(0, 24);
140
- }
141
- export async function computeNativeDbDatabaseName(deploymentToken, trustedDatabaseId) {
142
- if (!/^[0-9a-f]{12}$/.test(deploymentToken)) {
143
- throw new Error('Native database deployment token must be 12 lowercase hexadecimal characters');
144
- }
145
- return `sbndb_${deploymentToken}_${await computeNativeDbBindingToken(trustedDatabaseId)}`;
154
+ export async function computeNativeDbProfileToken(profile) {
155
+ const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(profile.toLowerCase()));
156
+ return Array.from(new Uint8Array(digest))
157
+ .slice(0, 8)
158
+ .map((byte) => byte.toString(16).padStart(2, '0'))
159
+ .join('');
146
160
  }
147
161
  async function computeNativeDbIdentifierToken(kind, trustedId) {
148
162
  if (!isNonEmptyString(trustedId)) {
@@ -163,7 +177,6 @@ export function computeResourceKey(input) {
163
177
  input.organizationId,
164
178
  input.applicationId,
165
179
  input.requirementKey,
166
- input.environment,
167
180
  `${slugify(input.profile)}~${encodeURIComponent(input.profile)}`,
168
181
  input.actorScope ?? 'default'
169
182
  ].join('/');
@@ -206,7 +219,7 @@ function isCommercialAwsRegion(value) {
206
219
  return typeof value === 'string' && /^[a-z]{2}-[a-z]+-[0-9]+$/.test(value) && !value.startsWith('cn-') && !value.startsWith('us-gov-');
207
220
  }
208
221
  function isNativeDbAuthDescriptorVersion(value) {
209
- return value === 1 || value === NATIVE_DB_AUTH_DESCRIPTOR_VERSION;
222
+ return value === NATIVE_DB_AUTH_DESCRIPTOR_VERSION;
210
223
  }
211
224
  function isNonEmptyString(value) {
212
225
  return typeof value === 'string' && value.trim().length > 0;
@@ -223,30 +236,28 @@ function isValidNativeDbRdsHostname(host, region) {
223
236
  const validLabel = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
224
237
  return host.length <= 253 && host === host.toLowerCase() && prefix !== '' && host.split('.').every((label) => validLabel.test(label));
225
238
  }
226
- function redact(value, preserveCredentialRefs = false) {
239
+ function redact(value, preservePhysicalMasterCredentialRef = false) {
227
240
  if (Array.isArray(value)) {
228
- return value.map((entry) => redact(entry, preserveCredentialRefs));
241
+ return value.map((entry) => redact(entry, preservePhysicalMasterCredentialRef));
229
242
  }
230
243
  if (value && typeof value === 'object') {
231
244
  return Object.fromEntries(Object.entries(value).map(([key, entryValue]) => {
232
- if (isCredentialRefKey(key)) {
245
+ if (isPhysicalMasterCredentialRefKey(key)) {
233
246
  return [key, redact(entryValue, true)];
234
247
  }
235
- if (!preserveCredentialRefs && SECRET_KEY_PATTERN.test(key)) {
248
+ if (!preservePhysicalMasterCredentialRef && SECRET_KEY_PATTERN.test(key)) {
236
249
  return [key, '[REDACTED]'];
237
250
  }
238
- return [key, redact(entryValue, preserveCredentialRefs)];
251
+ return [key, redact(entryValue, preservePhysicalMasterCredentialRef)];
239
252
  }));
240
253
  }
241
254
  return value;
242
255
  }
243
256
  // Shared secret-key tripwire: keys whose name strongly suggests a raw secret
244
257
  // value. Used by `redactLifecycleSecrets` to scrub logs/error reporting and by
245
- // the server-side `assertNoRawCredentialMaterial` guard to refuse callbacks
246
- // that violate the typed-CredentialRef contract. NOT a security boundary --
247
- // callers must still send `Record<string, string | number | boolean>` for
248
- // `connectionMetadata` and `CredentialRef` for `credentialRefs`; this catches
249
- // obvious misuse only.
258
+ // the server-side `assertNoRawCredentialMaterial` guard to refuse callbacks.
259
+ // NOT a security boundary -- callers must still send primitive
260
+ // `connectionMetadata`; this catches obvious misuse only.
250
261
  export const SECRET_KEY_PATTERN = /password|secret|token|private[_-]?key|dsn/i;
251
262
  // Schemes whose URI form embeds credentials before `@`. Used as a value-side
252
263
  // tripwire alongside `SECRET_KEY_PATTERN` -- callers should never send
@@ -283,7 +294,7 @@ const DSN_SCHEME_GROUP = CREDENTIAL_BEARING_DSN_SCHEMES.join('|').replace(/\+/g,
283
294
  const DSN_WITH_INLINE_AUTH = new RegExp(`(?:${DSN_SCHEME_GROUP}):\\/\\/[^/@\\s:]+:[^/@\\s]+@`, 'i');
284
295
  const CREDENTIAL_KV_PATTERN = /(?:password|pwd|token|secret|private[_-]?key|api[_-]?key)\s*=\s*[^;&\s"]+/i;
285
296
  const JSON_ENCODED_SECRET_PATTERN = /["']\s*(?:password|secret|token|private[_-]?key|dsn)\s*["']\s*:/i;
286
- function isCredentialRefKey(key) {
287
- return /credential[_-]?ref/i.test(key);
297
+ function isPhysicalMasterCredentialRefKey(key) {
298
+ return /^master[_-]?credential[_-]?ref$/i.test(key);
288
299
  }
289
300
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}