@constructive-sdk/cli 1.21.4 → 1.21.6

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 (165) hide show
  1. package/admin/cli/commands/provision-bucket.js +1 -1
  2. package/admin/cli/commands.js +1 -1
  3. package/admin/orm/input-types.d.ts +4 -4
  4. package/admin/orm/mutation/index.d.ts +5 -4
  5. package/agent/cli/commands/provision-bucket.js +1 -1
  6. package/agent/cli/commands.js +1 -1
  7. package/agent/orm/input-types.d.ts +4 -4
  8. package/agent/orm/mutation/index.d.ts +5 -4
  9. package/api/cli/commands/{route-binding.d.ts → create-function-from-source.d.ts} +1 -1
  10. package/api/cli/commands/create-function-from-source.js +36 -0
  11. package/api/cli/commands/{hostname-binding.d.ts → email-shared-account.d.ts} +1 -1
  12. package/api/cli/commands/email-shared-account.js +21 -0
  13. package/api/cli/commands/managed-domain.js +22 -0
  14. package/api/cli/commands/platform-managed-domain.js +22 -0
  15. package/api/cli/commands/provision-bucket.js +1 -1
  16. package/api/cli/commands/unique-constraint.js +22 -0
  17. package/{esm/api/cli/commands/route-binding.d.ts → api/cli/commands/update-function-from-source.d.ts} +1 -1
  18. package/api/cli/commands/update-function-from-source.js +36 -0
  19. package/api/cli/commands.js +7 -5
  20. package/api/cli/executor.d.ts +15 -2
  21. package/api/orm/index.d.ts +15 -4
  22. package/api/orm/index.js +0 -4
  23. package/api/orm/input-types.d.ts +96 -439
  24. package/api/orm/models/index.d.ts +0 -2
  25. package/api/orm/models/index.js +2 -6
  26. package/api/orm/mutation/index.d.ts +30 -5
  27. package/api/orm/mutation/index.js +24 -0
  28. package/api/orm/query/index.d.ts +5 -0
  29. package/api/orm/query/index.js +7 -0
  30. package/auth/cli/commands/provision-bucket.js +1 -1
  31. package/auth/cli/commands.js +1 -1
  32. package/auth/orm/input-types.d.ts +5 -29
  33. package/auth/orm/mutation/index.d.ts +5 -4
  34. package/compute/cli/commands/function-invocation.js +44 -0
  35. package/compute/cli/commands/platform-function-invocation.js +44 -0
  36. package/compute/cli/commands/provision-bucket.js +1 -1
  37. package/compute/cli/commands.js +1 -1
  38. package/compute/orm/input-types.d.ts +50 -6
  39. package/compute/orm/mutation/index.d.ts +5 -4
  40. package/config/cli/commands/provision-bucket.js +1 -1
  41. package/config/cli/commands.js +1 -1
  42. package/config/orm/input-types.d.ts +4 -4
  43. package/config/orm/mutation/index.d.ts +5 -4
  44. package/esm/admin/cli/commands/provision-bucket.js +1 -1
  45. package/esm/admin/cli/commands.js +1 -1
  46. package/esm/admin/orm/input-types.d.ts +4 -4
  47. package/esm/admin/orm/mutation/index.d.ts +5 -4
  48. package/esm/agent/cli/commands/provision-bucket.js +1 -1
  49. package/esm/agent/cli/commands.js +1 -1
  50. package/esm/agent/orm/input-types.d.ts +4 -4
  51. package/esm/agent/orm/mutation/index.d.ts +5 -4
  52. package/esm/api/cli/commands/create-function-from-source.d.ts +8 -0
  53. package/esm/api/cli/commands/create-function-from-source.js +34 -0
  54. package/esm/api/cli/commands/{hostname-binding.d.ts → email-shared-account.d.ts} +1 -1
  55. package/esm/api/cli/commands/email-shared-account.js +19 -0
  56. package/esm/api/cli/commands/managed-domain.js +22 -0
  57. package/esm/api/cli/commands/platform-managed-domain.js +22 -0
  58. package/esm/api/cli/commands/provision-bucket.js +1 -1
  59. package/esm/api/cli/commands/unique-constraint.js +22 -0
  60. package/esm/api/cli/commands/update-function-from-source.d.ts +8 -0
  61. package/esm/api/cli/commands/update-function-from-source.js +34 -0
  62. package/esm/api/cli/commands.js +7 -5
  63. package/esm/api/cli/executor.d.ts +15 -2
  64. package/esm/api/orm/index.d.ts +15 -4
  65. package/esm/api/orm/index.js +0 -4
  66. package/esm/api/orm/input-types.d.ts +96 -439
  67. package/esm/api/orm/models/index.d.ts +0 -2
  68. package/esm/api/orm/models/index.js +0 -2
  69. package/esm/api/orm/mutation/index.d.ts +30 -5
  70. package/esm/api/orm/mutation/index.js +24 -0
  71. package/esm/api/orm/query/index.d.ts +5 -0
  72. package/esm/api/orm/query/index.js +7 -0
  73. package/esm/auth/cli/commands/provision-bucket.js +1 -1
  74. package/esm/auth/cli/commands.js +1 -1
  75. package/esm/auth/orm/input-types.d.ts +5 -29
  76. package/esm/auth/orm/mutation/index.d.ts +5 -4
  77. package/esm/compute/cli/commands/function-invocation.js +44 -0
  78. package/esm/compute/cli/commands/platform-function-invocation.js +44 -0
  79. package/esm/compute/cli/commands/provision-bucket.js +1 -1
  80. package/esm/compute/cli/commands.js +1 -1
  81. package/esm/compute/orm/input-types.d.ts +50 -6
  82. package/esm/compute/orm/mutation/index.d.ts +5 -4
  83. package/esm/config/cli/commands/provision-bucket.js +1 -1
  84. package/esm/config/cli/commands.js +1 -1
  85. package/esm/config/orm/input-types.d.ts +4 -4
  86. package/esm/config/orm/mutation/index.d.ts +5 -4
  87. package/esm/infra/cli/commands/provision-bucket.js +1 -1
  88. package/esm/infra/cli/commands.js +1 -1
  89. package/esm/infra/orm/input-types.d.ts +4 -4
  90. package/esm/infra/orm/mutation/index.d.ts +5 -4
  91. package/esm/modules/cli/commands/billing-provider-module.js +110 -0
  92. package/esm/modules/cli/commands/blueprint-construction.js +0 -22
  93. package/esm/modules/cli/commands/catalog-module.js +44 -0
  94. package/esm/modules/cli/commands/construct-blueprint.js +1 -1
  95. package/esm/modules/cli/commands/provision-bucket.js +1 -1
  96. package/esm/modules/cli/commands/storage-module.js +22 -0
  97. package/esm/modules/cli/commands.js +1 -1
  98. package/esm/modules/orm/input-types.d.ts +72 -21
  99. package/esm/modules/orm/mutation/index.d.ts +6 -5
  100. package/esm/objects/cli/commands/provision-bucket.js +1 -1
  101. package/esm/objects/cli/commands.js +1 -1
  102. package/esm/objects/orm/input-types.d.ts +4 -4
  103. package/esm/objects/orm/mutation/index.d.ts +5 -4
  104. package/esm/remote/cli/commands/provision-bucket.js +1 -1
  105. package/esm/remote/cli/commands.js +1 -1
  106. package/esm/remote/orm/input-types.d.ts +4 -4
  107. package/esm/remote/orm/mutation/index.d.ts +5 -4
  108. package/esm/storage/cli/commands/bucket.js +23 -0
  109. package/esm/storage/cli/commands/platform-bucket.js +23 -0
  110. package/esm/storage/cli/commands/provision-bucket.js +1 -1
  111. package/esm/storage/cli/commands/upload-files.js +1 -1
  112. package/esm/storage/cli/commands/upload-platform-files.js +1 -1
  113. package/esm/storage/cli/commands.js +1 -1
  114. package/esm/storage/orm/input-types.d.ts +34 -6
  115. package/esm/storage/orm/mutation/index.d.ts +7 -6
  116. package/esm/usage/cli/commands/provision-bucket.js +1 -1
  117. package/esm/usage/cli/commands.js +1 -1
  118. package/esm/usage/orm/input-types.d.ts +4 -4
  119. package/esm/usage/orm/mutation/index.d.ts +5 -4
  120. package/infra/cli/commands/provision-bucket.js +1 -1
  121. package/infra/cli/commands.js +1 -1
  122. package/infra/orm/input-types.d.ts +4 -4
  123. package/infra/orm/mutation/index.d.ts +5 -4
  124. package/modules/cli/commands/billing-provider-module.js +110 -0
  125. package/modules/cli/commands/blueprint-construction.js +0 -22
  126. package/modules/cli/commands/catalog-module.js +44 -0
  127. package/modules/cli/commands/construct-blueprint.js +1 -1
  128. package/modules/cli/commands/provision-bucket.js +1 -1
  129. package/modules/cli/commands/storage-module.js +22 -0
  130. package/modules/cli/commands.js +1 -1
  131. package/modules/orm/input-types.d.ts +72 -21
  132. package/modules/orm/mutation/index.d.ts +6 -5
  133. package/objects/cli/commands/provision-bucket.js +1 -1
  134. package/objects/cli/commands.js +1 -1
  135. package/objects/orm/input-types.d.ts +4 -4
  136. package/objects/orm/mutation/index.d.ts +5 -4
  137. package/package.json +4 -4
  138. package/remote/cli/commands/provision-bucket.js +1 -1
  139. package/remote/cli/commands.js +1 -1
  140. package/remote/orm/input-types.d.ts +4 -4
  141. package/remote/orm/mutation/index.d.ts +5 -4
  142. package/storage/cli/commands/bucket.js +23 -0
  143. package/storage/cli/commands/platform-bucket.js +23 -0
  144. package/storage/cli/commands/provision-bucket.js +1 -1
  145. package/storage/cli/commands/upload-files.js +1 -1
  146. package/storage/cli/commands/upload-platform-files.js +1 -1
  147. package/storage/cli/commands.js +1 -1
  148. package/storage/orm/input-types.d.ts +34 -6
  149. package/storage/orm/mutation/index.d.ts +7 -6
  150. package/usage/cli/commands/provision-bucket.js +1 -1
  151. package/usage/cli/commands.js +1 -1
  152. package/usage/orm/input-types.d.ts +4 -4
  153. package/usage/orm/mutation/index.d.ts +5 -4
  154. package/api/cli/commands/hostname-binding.js +0 -388
  155. package/api/cli/commands/route-binding.js +0 -476
  156. package/api/orm/models/hostnameBinding.d.ts +0 -54
  157. package/api/orm/models/hostnameBinding.js +0 -104
  158. package/api/orm/models/routeBinding.d.ts +0 -54
  159. package/api/orm/models/routeBinding.js +0 -104
  160. package/esm/api/cli/commands/hostname-binding.js +0 -386
  161. package/esm/api/cli/commands/route-binding.js +0 -474
  162. package/esm/api/orm/models/hostnameBinding.d.ts +0 -54
  163. package/esm/api/orm/models/hostnameBinding.js +0 -100
  164. package/esm/api/orm/models/routeBinding.d.ts +0 -54
  165. package/esm/api/orm/models/routeBinding.js +0 -100
@@ -1502,19 +1502,19 @@ export type PlatformInfraSetManyAndCommitPayloadSelect = {
1502
1502
  };
1503
1503
  };
1504
1504
  export interface ProvisionBucketPayload {
1505
- /** The logical bucket row that was queued for reconciliation. */
1505
+ /** The logical bucket row whose reconciliation was requested. */
1506
1506
  bucketId: string;
1507
1507
  bucketKey: string;
1508
- /** The reconciler job enqueued to provision this bucket. */
1509
- jobId: string;
1510
1508
  /** The physical bucket name already recorded, or null when reconciliation has not completed. */
1511
1509
  physicalName?: string | null;
1510
+ /** When reconciliation was last requested for this bucket. */
1511
+ provisionRequestedAt: string;
1512
1512
  }
1513
1513
  export type ProvisionBucketPayloadSelect = {
1514
1514
  bucketId?: boolean;
1515
1515
  bucketKey?: boolean;
1516
- jobId?: boolean;
1517
1516
  physicalName?: boolean;
1517
+ provisionRequestedAt?: boolean;
1518
1518
  };
1519
1519
  export interface CreateContentPresetPayload {
1520
1520
  clientMutationId?: string | null;
@@ -28,10 +28,11 @@ export interface PlatformInfraSetManyAndCommitVariables {
28
28
  /**
29
29
  * Variables for provisionBucket
30
30
  * Reconcile an S3 bucket for a logical bucket in the database.
31
- Reads the bucket config via RLS, then enqueues the same
32
- storage:provision_bucket job used by the INSERT trigger. This is
33
- idempotent for an already-reconciled bucket; enqueue failures become
34
- GraphQL errors.
31
+ Records the request on the bucket row via RLS; the bucket's job
32
+ trigger then enqueues the same storage:provision_bucket job used on
33
+ INSERT, and repeated requests collapse into one pending job. This is
34
+ idempotent for an already-reconciled bucket; failures become GraphQL
35
+ errors.
35
36
  */
36
37
  export interface ProvisionBucketVariables {
37
38
  input: ProvisionBucketInput;
@@ -12,6 +12,8 @@ const fieldSchema = {
12
12
  activatePlanSubscriptionFunction: 'string',
13
13
  apiName: 'string',
14
14
  applyProviderObservationFunction: 'string',
15
+ billingConnectionTableId: 'uuid',
16
+ billingConnectionTableName: 'string',
15
17
  billingCustomersTableId: 'uuid',
16
18
  billingCustomersTableName: 'string',
17
19
  billingDisputesTableId: 'uuid',
@@ -26,6 +28,8 @@ const fieldSchema = {
26
28
  billingPricesTableName: 'string',
27
29
  billingProductsTableId: 'uuid',
28
30
  billingProductsTableName: 'string',
31
+ billingProviderConnectedFunction: 'string',
32
+ billingProviderKeyFunction: 'string',
29
33
  billingProviderStateTableId: 'uuid',
30
34
  billingProviderStateTableName: 'string',
31
35
  billingRefundsTableId: 'uuid',
@@ -62,6 +66,7 @@ const fieldSchema = {
62
66
  processBillingEventFunction: 'string',
63
67
  productsTableId: 'uuid',
64
68
  provider: 'string',
69
+ recordBillingConnectionFunction: 'string',
65
70
  recordBillingHealthFunction: 'string',
66
71
  recordDisputeFunction: 'string',
67
72
  recordRefundFunction: 'string',
@@ -121,6 +126,8 @@ async function handleList(argv, _prompter) {
121
126
  activatePlanSubscriptionFunction: true,
122
127
  apiName: true,
123
128
  applyProviderObservationFunction: true,
129
+ billingConnectionTableId: true,
130
+ billingConnectionTableName: true,
124
131
  billingCustomersTableId: true,
125
132
  billingCustomersTableName: true,
126
133
  billingDisputesTableId: true,
@@ -135,6 +142,8 @@ async function handleList(argv, _prompter) {
135
142
  billingPricesTableName: true,
136
143
  billingProductsTableId: true,
137
144
  billingProductsTableName: true,
145
+ billingProviderConnectedFunction: true,
146
+ billingProviderKeyFunction: true,
138
147
  billingProviderStateTableId: true,
139
148
  billingProviderStateTableName: true,
140
149
  billingRefundsTableId: true,
@@ -171,6 +180,7 @@ async function handleList(argv, _prompter) {
171
180
  processBillingEventFunction: true,
172
181
  productsTableId: true,
173
182
  provider: true,
183
+ recordBillingConnectionFunction: true,
174
184
  recordBillingHealthFunction: true,
175
185
  recordDisputeFunction: true,
176
186
  recordRefundFunction: true,
@@ -204,6 +214,8 @@ async function handleFindFirst(argv, _prompter) {
204
214
  activatePlanSubscriptionFunction: true,
205
215
  apiName: true,
206
216
  applyProviderObservationFunction: true,
217
+ billingConnectionTableId: true,
218
+ billingConnectionTableName: true,
207
219
  billingCustomersTableId: true,
208
220
  billingCustomersTableName: true,
209
221
  billingDisputesTableId: true,
@@ -218,6 +230,8 @@ async function handleFindFirst(argv, _prompter) {
218
230
  billingPricesTableName: true,
219
231
  billingProductsTableId: true,
220
232
  billingProductsTableName: true,
233
+ billingProviderConnectedFunction: true,
234
+ billingProviderKeyFunction: true,
221
235
  billingProviderStateTableId: true,
222
236
  billingProviderStateTableName: true,
223
237
  billingRefundsTableId: true,
@@ -254,6 +268,7 @@ async function handleFindFirst(argv, _prompter) {
254
268
  processBillingEventFunction: true,
255
269
  productsTableId: true,
256
270
  provider: true,
271
+ recordBillingConnectionFunction: true,
257
272
  recordBillingHealthFunction: true,
258
273
  recordDisputeFunction: true,
259
274
  recordRefundFunction: true,
@@ -299,6 +314,8 @@ async function handleGet(argv, prompter) {
299
314
  activatePlanSubscriptionFunction: true,
300
315
  apiName: true,
301
316
  applyProviderObservationFunction: true,
317
+ billingConnectionTableId: true,
318
+ billingConnectionTableName: true,
302
319
  billingCustomersTableId: true,
303
320
  billingCustomersTableName: true,
304
321
  billingDisputesTableId: true,
@@ -313,6 +330,8 @@ async function handleGet(argv, prompter) {
313
330
  billingPricesTableName: true,
314
331
  billingProductsTableId: true,
315
332
  billingProductsTableName: true,
333
+ billingProviderConnectedFunction: true,
334
+ billingProviderKeyFunction: true,
316
335
  billingProviderStateTableId: true,
317
336
  billingProviderStateTableName: true,
318
337
  billingRefundsTableId: true,
@@ -349,6 +368,7 @@ async function handleGet(argv, prompter) {
349
368
  processBillingEventFunction: true,
350
369
  productsTableId: true,
351
370
  provider: true,
371
+ recordBillingConnectionFunction: true,
352
372
  recordBillingHealthFunction: true,
353
373
  recordDisputeFunction: true,
354
374
  recordRefundFunction: true,
@@ -399,6 +419,20 @@ async function handleCreate(argv, prompter) {
399
419
  required: false,
400
420
  skipPrompt: true,
401
421
  },
422
+ {
423
+ type: 'text',
424
+ name: 'billingConnectionTableId',
425
+ message: 'billingConnectionTableId',
426
+ required: false,
427
+ skipPrompt: true,
428
+ },
429
+ {
430
+ type: 'text',
431
+ name: 'billingConnectionTableName',
432
+ message: 'billingConnectionTableName',
433
+ required: false,
434
+ skipPrompt: true,
435
+ },
402
436
  {
403
437
  type: 'text',
404
438
  name: 'billingCustomersTableId',
@@ -497,6 +531,20 @@ async function handleCreate(argv, prompter) {
497
531
  required: false,
498
532
  skipPrompt: true,
499
533
  },
534
+ {
535
+ type: 'text',
536
+ name: 'billingProviderConnectedFunction',
537
+ message: 'billingProviderConnectedFunction',
538
+ required: false,
539
+ skipPrompt: true,
540
+ },
541
+ {
542
+ type: 'text',
543
+ name: 'billingProviderKeyFunction',
544
+ message: 'billingProviderKeyFunction',
545
+ required: false,
546
+ skipPrompt: true,
547
+ },
500
548
  {
501
549
  type: 'text',
502
550
  name: 'billingProviderStateTableId',
@@ -741,6 +789,13 @@ async function handleCreate(argv, prompter) {
741
789
  required: false,
742
790
  skipPrompt: true,
743
791
  },
792
+ {
793
+ type: 'text',
794
+ name: 'recordBillingConnectionFunction',
795
+ message: 'recordBillingConnectionFunction',
796
+ required: false,
797
+ skipPrompt: true,
798
+ },
744
799
  {
745
800
  type: 'text',
746
801
  name: 'recordBillingHealthFunction',
@@ -842,6 +897,8 @@ async function handleCreate(argv, prompter) {
842
897
  activatePlanSubscriptionFunction: cleanedData.activatePlanSubscriptionFunction,
843
898
  apiName: cleanedData.apiName,
844
899
  applyProviderObservationFunction: cleanedData.applyProviderObservationFunction,
900
+ billingConnectionTableId: cleanedData.billingConnectionTableId,
901
+ billingConnectionTableName: cleanedData.billingConnectionTableName,
845
902
  billingCustomersTableId: cleanedData.billingCustomersTableId,
846
903
  billingCustomersTableName: cleanedData.billingCustomersTableName,
847
904
  billingDisputesTableId: cleanedData.billingDisputesTableId,
@@ -856,6 +913,8 @@ async function handleCreate(argv, prompter) {
856
913
  billingPricesTableName: cleanedData.billingPricesTableName,
857
914
  billingProductsTableId: cleanedData.billingProductsTableId,
858
915
  billingProductsTableName: cleanedData.billingProductsTableName,
916
+ billingProviderConnectedFunction: cleanedData.billingProviderConnectedFunction,
917
+ billingProviderKeyFunction: cleanedData.billingProviderKeyFunction,
859
918
  billingProviderStateTableId: cleanedData.billingProviderStateTableId,
860
919
  billingProviderStateTableName: cleanedData.billingProviderStateTableName,
861
920
  billingRefundsTableId: cleanedData.billingRefundsTableId,
@@ -891,6 +950,7 @@ async function handleCreate(argv, prompter) {
891
950
  processBillingEventFunction: cleanedData.processBillingEventFunction,
892
951
  productsTableId: cleanedData.productsTableId,
893
952
  provider: cleanedData.provider,
953
+ recordBillingConnectionFunction: cleanedData.recordBillingConnectionFunction,
894
954
  recordBillingHealthFunction: cleanedData.recordBillingHealthFunction,
895
955
  recordDisputeFunction: cleanedData.recordDisputeFunction,
896
956
  recordRefundFunction: cleanedData.recordRefundFunction,
@@ -909,6 +969,8 @@ async function handleCreate(argv, prompter) {
909
969
  activatePlanSubscriptionFunction: true,
910
970
  apiName: true,
911
971
  applyProviderObservationFunction: true,
972
+ billingConnectionTableId: true,
973
+ billingConnectionTableName: true,
912
974
  billingCustomersTableId: true,
913
975
  billingCustomersTableName: true,
914
976
  billingDisputesTableId: true,
@@ -923,6 +985,8 @@ async function handleCreate(argv, prompter) {
923
985
  billingPricesTableName: true,
924
986
  billingProductsTableId: true,
925
987
  billingProductsTableName: true,
988
+ billingProviderConnectedFunction: true,
989
+ billingProviderKeyFunction: true,
926
990
  billingProviderStateTableId: true,
927
991
  billingProviderStateTableName: true,
928
992
  billingRefundsTableId: true,
@@ -959,6 +1023,7 @@ async function handleCreate(argv, prompter) {
959
1023
  processBillingEventFunction: true,
960
1024
  productsTableId: true,
961
1025
  provider: true,
1026
+ recordBillingConnectionFunction: true,
962
1027
  recordBillingHealthFunction: true,
963
1028
  recordDisputeFunction: true,
964
1029
  recordRefundFunction: true,
@@ -1015,6 +1080,20 @@ async function handleUpdate(argv, prompter) {
1015
1080
  required: false,
1016
1081
  skipPrompt: true,
1017
1082
  },
1083
+ {
1084
+ type: 'text',
1085
+ name: 'billingConnectionTableId',
1086
+ message: 'billingConnectionTableId',
1087
+ required: false,
1088
+ skipPrompt: true,
1089
+ },
1090
+ {
1091
+ type: 'text',
1092
+ name: 'billingConnectionTableName',
1093
+ message: 'billingConnectionTableName',
1094
+ required: false,
1095
+ skipPrompt: true,
1096
+ },
1018
1097
  {
1019
1098
  type: 'text',
1020
1099
  name: 'billingCustomersTableId',
@@ -1113,6 +1192,20 @@ async function handleUpdate(argv, prompter) {
1113
1192
  required: false,
1114
1193
  skipPrompt: true,
1115
1194
  },
1195
+ {
1196
+ type: 'text',
1197
+ name: 'billingProviderConnectedFunction',
1198
+ message: 'billingProviderConnectedFunction',
1199
+ required: false,
1200
+ skipPrompt: true,
1201
+ },
1202
+ {
1203
+ type: 'text',
1204
+ name: 'billingProviderKeyFunction',
1205
+ message: 'billingProviderKeyFunction',
1206
+ required: false,
1207
+ skipPrompt: true,
1208
+ },
1116
1209
  {
1117
1210
  type: 'text',
1118
1211
  name: 'billingProviderStateTableId',
@@ -1357,6 +1450,13 @@ async function handleUpdate(argv, prompter) {
1357
1450
  required: false,
1358
1451
  skipPrompt: true,
1359
1452
  },
1453
+ {
1454
+ type: 'text',
1455
+ name: 'recordBillingConnectionFunction',
1456
+ message: 'recordBillingConnectionFunction',
1457
+ required: false,
1458
+ skipPrompt: true,
1459
+ },
1360
1460
  {
1361
1461
  type: 'text',
1362
1462
  name: 'recordBillingHealthFunction',
@@ -1461,6 +1561,8 @@ async function handleUpdate(argv, prompter) {
1461
1561
  activatePlanSubscriptionFunction: cleanedData.activatePlanSubscriptionFunction,
1462
1562
  apiName: cleanedData.apiName,
1463
1563
  applyProviderObservationFunction: cleanedData.applyProviderObservationFunction,
1564
+ billingConnectionTableId: cleanedData.billingConnectionTableId,
1565
+ billingConnectionTableName: cleanedData.billingConnectionTableName,
1464
1566
  billingCustomersTableId: cleanedData.billingCustomersTableId,
1465
1567
  billingCustomersTableName: cleanedData.billingCustomersTableName,
1466
1568
  billingDisputesTableId: cleanedData.billingDisputesTableId,
@@ -1475,6 +1577,8 @@ async function handleUpdate(argv, prompter) {
1475
1577
  billingPricesTableName: cleanedData.billingPricesTableName,
1476
1578
  billingProductsTableId: cleanedData.billingProductsTableId,
1477
1579
  billingProductsTableName: cleanedData.billingProductsTableName,
1580
+ billingProviderConnectedFunction: cleanedData.billingProviderConnectedFunction,
1581
+ billingProviderKeyFunction: cleanedData.billingProviderKeyFunction,
1478
1582
  billingProviderStateTableId: cleanedData.billingProviderStateTableId,
1479
1583
  billingProviderStateTableName: cleanedData.billingProviderStateTableName,
1480
1584
  billingRefundsTableId: cleanedData.billingRefundsTableId,
@@ -1510,6 +1614,7 @@ async function handleUpdate(argv, prompter) {
1510
1614
  processBillingEventFunction: cleanedData.processBillingEventFunction,
1511
1615
  productsTableId: cleanedData.productsTableId,
1512
1616
  provider: cleanedData.provider,
1617
+ recordBillingConnectionFunction: cleanedData.recordBillingConnectionFunction,
1513
1618
  recordBillingHealthFunction: cleanedData.recordBillingHealthFunction,
1514
1619
  recordDisputeFunction: cleanedData.recordDisputeFunction,
1515
1620
  recordRefundFunction: cleanedData.recordRefundFunction,
@@ -1528,6 +1633,8 @@ async function handleUpdate(argv, prompter) {
1528
1633
  activatePlanSubscriptionFunction: true,
1529
1634
  apiName: true,
1530
1635
  applyProviderObservationFunction: true,
1636
+ billingConnectionTableId: true,
1637
+ billingConnectionTableName: true,
1531
1638
  billingCustomersTableId: true,
1532
1639
  billingCustomersTableName: true,
1533
1640
  billingDisputesTableId: true,
@@ -1542,6 +1649,8 @@ async function handleUpdate(argv, prompter) {
1542
1649
  billingPricesTableName: true,
1543
1650
  billingProductsTableId: true,
1544
1651
  billingProductsTableName: true,
1652
+ billingProviderConnectedFunction: true,
1653
+ billingProviderKeyFunction: true,
1545
1654
  billingProviderStateTableId: true,
1546
1655
  billingProviderStateTableName: true,
1547
1656
  billingRefundsTableId: true,
@@ -1578,6 +1687,7 @@ async function handleUpdate(argv, prompter) {
1578
1687
  processBillingEventFunction: true,
1579
1688
  productsTableId: true,
1580
1689
  provider: true,
1690
+ recordBillingConnectionFunction: true,
1581
1691
  recordBillingHealthFunction: true,
1582
1692
  recordDisputeFunction: true,
1583
1693
  recordRefundFunction: true,
@@ -14,7 +14,6 @@ const fieldSchema = {
14
14
  constructedDefinition: 'json',
15
15
  createdAt: 'string',
16
16
  databaseId: 'uuid',
17
- errorDetails: 'string',
18
17
  id: 'uuid',
19
18
  schemaId: 'uuid',
20
19
  status: 'string',
@@ -68,7 +67,6 @@ async function handleList(argv, _prompter) {
68
67
  constructedDefinition: true,
69
68
  createdAt: true,
70
69
  databaseId: true,
71
- errorDetails: true,
72
70
  id: true,
73
71
  schemaId: true,
74
72
  status: true,
@@ -96,7 +94,6 @@ async function handleFindFirst(argv, _prompter) {
96
94
  constructedDefinition: true,
97
95
  createdAt: true,
98
96
  databaseId: true,
99
- errorDetails: true,
100
97
  id: true,
101
98
  schemaId: true,
102
99
  status: true,
@@ -136,7 +133,6 @@ async function handleGet(argv, prompter) {
136
133
  constructedDefinition: true,
137
134
  createdAt: true,
138
135
  databaseId: true,
139
- errorDetails: true,
140
136
  id: true,
141
137
  schemaId: true,
142
138
  status: true,
@@ -184,13 +180,6 @@ async function handleCreate(argv, prompter) {
184
180
  message: 'databaseId',
185
181
  required: true,
186
182
  },
187
- {
188
- type: 'text',
189
- name: 'errorDetails',
190
- message: 'errorDetails',
191
- required: false,
192
- skipPrompt: true,
193
- },
194
183
  {
195
184
  type: 'text',
196
185
  name: 'schemaId',
@@ -223,7 +212,6 @@ async function handleCreate(argv, prompter) {
223
212
  constructedAt: cleanedData.constructedAt,
224
213
  constructedDefinition: cleanedData.constructedDefinition,
225
214
  databaseId: cleanedData.databaseId,
226
- errorDetails: cleanedData.errorDetails,
227
215
  schemaId: cleanedData.schemaId,
228
216
  status: cleanedData.status,
229
217
  tableMap: cleanedData.tableMap,
@@ -234,7 +222,6 @@ async function handleCreate(argv, prompter) {
234
222
  constructedDefinition: true,
235
223
  createdAt: true,
236
224
  databaseId: true,
237
- errorDetails: true,
238
225
  id: true,
239
226
  schemaId: true,
240
227
  status: true,
@@ -288,13 +275,6 @@ async function handleUpdate(argv, prompter) {
288
275
  message: 'databaseId',
289
276
  required: false,
290
277
  },
291
- {
292
- type: 'text',
293
- name: 'errorDetails',
294
- message: 'errorDetails',
295
- required: false,
296
- skipPrompt: true,
297
- },
298
278
  {
299
279
  type: 'text',
300
280
  name: 'schemaId',
@@ -330,7 +310,6 @@ async function handleUpdate(argv, prompter) {
330
310
  constructedAt: cleanedData.constructedAt,
331
311
  constructedDefinition: cleanedData.constructedDefinition,
332
312
  databaseId: cleanedData.databaseId,
333
- errorDetails: cleanedData.errorDetails,
334
313
  schemaId: cleanedData.schemaId,
335
314
  status: cleanedData.status,
336
315
  tableMap: cleanedData.tableMap,
@@ -341,7 +320,6 @@ async function handleUpdate(argv, prompter) {
341
320
  constructedDefinition: true,
342
321
  createdAt: true,
343
322
  databaseId: true,
344
- errorDetails: true,
345
323
  id: true,
346
324
  schemaId: true,
347
325
  status: true,
@@ -22,6 +22,8 @@ const fieldSchema = {
22
22
  bucketsTableName: 'string',
23
23
  databaseId: 'uuid',
24
24
  defaultCapabilities: 'string',
25
+ domainVerificationsTableId: 'uuid',
26
+ domainVerificationsTableName: 'string',
25
27
  domainsTableId: 'uuid',
26
28
  domainsTableName: 'string',
27
29
  entityTableId: 'uuid',
@@ -114,6 +116,8 @@ async function handleList(argv, _prompter) {
114
116
  bucketsTableName: true,
115
117
  databaseId: true,
116
118
  defaultCapabilities: true,
119
+ domainVerificationsTableId: true,
120
+ domainVerificationsTableName: true,
117
121
  domainsTableId: true,
118
122
  domainsTableName: true,
119
123
  entityTableId: true,
@@ -180,6 +184,8 @@ async function handleFindFirst(argv, _prompter) {
180
184
  bucketsTableName: true,
181
185
  databaseId: true,
182
186
  defaultCapabilities: true,
187
+ domainVerificationsTableId: true,
188
+ domainVerificationsTableName: true,
183
189
  domainsTableId: true,
184
190
  domainsTableName: true,
185
191
  entityTableId: true,
@@ -258,6 +264,8 @@ async function handleGet(argv, prompter) {
258
264
  bucketsTableName: true,
259
265
  databaseId: true,
260
266
  defaultCapabilities: true,
267
+ domainVerificationsTableId: true,
268
+ domainVerificationsTableName: true,
261
269
  domainsTableId: true,
262
270
  domainsTableName: true,
263
271
  entityTableId: true,
@@ -400,6 +408,20 @@ async function handleCreate(argv, prompter) {
400
408
  required: false,
401
409
  skipPrompt: true,
402
410
  },
411
+ {
412
+ type: 'text',
413
+ name: 'domainVerificationsTableId',
414
+ message: 'domainVerificationsTableId',
415
+ required: false,
416
+ skipPrompt: true,
417
+ },
418
+ {
419
+ type: 'text',
420
+ name: 'domainVerificationsTableName',
421
+ message: 'domainVerificationsTableName',
422
+ required: false,
423
+ skipPrompt: true,
424
+ },
403
425
  {
404
426
  type: 'text',
405
427
  name: 'domainsTableId',
@@ -664,6 +686,8 @@ async function handleCreate(argv, prompter) {
664
686
  bucketsTableName: cleanedData.bucketsTableName,
665
687
  databaseId: cleanedData.databaseId,
666
688
  defaultCapabilities: cleanedData.defaultCapabilities,
689
+ domainVerificationsTableId: cleanedData.domainVerificationsTableId,
690
+ domainVerificationsTableName: cleanedData.domainVerificationsTableName,
667
691
  domainsTableId: cleanedData.domainsTableId,
668
692
  domainsTableName: cleanedData.domainsTableName,
669
693
  entityTableId: cleanedData.entityTableId,
@@ -714,6 +738,8 @@ async function handleCreate(argv, prompter) {
714
738
  bucketsTableName: true,
715
739
  databaseId: true,
716
740
  defaultCapabilities: true,
741
+ domainVerificationsTableId: true,
742
+ domainVerificationsTableName: true,
717
743
  domainsTableId: true,
718
744
  domainsTableName: true,
719
745
  entityTableId: true,
@@ -862,6 +888,20 @@ async function handleUpdate(argv, prompter) {
862
888
  required: false,
863
889
  skipPrompt: true,
864
890
  },
891
+ {
892
+ type: 'text',
893
+ name: 'domainVerificationsTableId',
894
+ message: 'domainVerificationsTableId',
895
+ required: false,
896
+ skipPrompt: true,
897
+ },
898
+ {
899
+ type: 'text',
900
+ name: 'domainVerificationsTableName',
901
+ message: 'domainVerificationsTableName',
902
+ required: false,
903
+ skipPrompt: true,
904
+ },
865
905
  {
866
906
  type: 'text',
867
907
  name: 'domainsTableId',
@@ -1129,6 +1169,8 @@ async function handleUpdate(argv, prompter) {
1129
1169
  bucketsTableName: cleanedData.bucketsTableName,
1130
1170
  databaseId: cleanedData.databaseId,
1131
1171
  defaultCapabilities: cleanedData.defaultCapabilities,
1172
+ domainVerificationsTableId: cleanedData.domainVerificationsTableId,
1173
+ domainVerificationsTableName: cleanedData.domainVerificationsTableName,
1132
1174
  domainsTableId: cleanedData.domainsTableId,
1133
1175
  domainsTableName: cleanedData.domainsTableName,
1134
1176
  entityTableId: cleanedData.entityTableId,
@@ -1179,6 +1221,8 @@ async function handleUpdate(argv, prompter) {
1179
1221
  bucketsTableName: true,
1180
1222
  databaseId: true,
1181
1223
  defaultCapabilities: true,
1224
+ domainVerificationsTableId: true,
1225
+ domainVerificationsTableName: true,
1182
1226
  domainsTableId: true,
1183
1227
  domainsTableName: true,
1184
1228
  entityTableId: true,
@@ -5,7 +5,7 @@ const utils_1 = require("../utils");
5
5
  exports.default = async (argv, prompter, _options) => {
6
6
  try {
7
7
  if (argv.help || argv.h) {
8
- console.log('construct-blueprint - Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Eight phases: (0) entity_type_provision for each membership_type entry \u2014 provisions entity tables, membership modules, and security. When a prefix already exists (e.g., \'org\'), the entry extends the existing entity type instead of creating a new one; if a storage[] key is present, it provisions entity-scoped storage for that type. (0.5) scope-based storage: each storage[] entry has an optional scope (\'app\' or \'org\' only). App-scoped storage seeds buckets at migration time. Org-scoped storage resolves the org membership type, creates org_buckets/org_files with owner_id, and seeds buckets per-entity via an AFTER INSERT trigger on the users table. When function_module is installed, a private functions bucket is auto-injected into org-scoped or entity-scoped storage entries. (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints/check_constraints are deferred). A table entry either names its table (table_name plus optional schema_name) or references one an installed module generated ("module": {"type": "agent", "scope": "org", "table": "message"}), which resolves through the module row\'s recorded table ids and raises when it matches nothing instead of creating an empty table. After provisioning, optional smart_tags (jsonb object) on the table entry are applied via metaschema.append_table_smart_tags(), and optional smart_tags on individual field entries are applied via metaschema.append_field_smart_tags(). (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints, (6) provision_check_constraint() for top-level + deferred check constraints, (7) seed achievements from definition.achievements[] \u2014 resolves events_module by entity_prefix and creates INSERT actions for levels, level_requirements, and achievement_rewards tables. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level entries are deferred to phases 3-6 so they can reference columns created by relations in phase 2. Returns the construction record ID on success, NULL on failure.\n\nUsage: construct-blueprint [OPTIONS]\n');
8
+ console.log('construct-blueprint - Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Eight phases: (0) entity_type_provision for each membership_type entry \u2014 provisions entity tables, membership modules, and security. When a prefix already exists (e.g., \'org\'), the entry extends the existing entity type instead of creating a new one; if a storage[] key is present, it provisions entity-scoped storage for that type. (0.5) scope-based storage: each storage[] entry has an optional scope (\'app\' or \'org\' only). App-scoped storage seeds buckets at migration time. Org-scoped storage resolves the org membership type, creates org_buckets/org_files with owner_id, and seeds buckets per-entity via an AFTER INSERT trigger on the users table. When function_module is installed, a private functions bucket is auto-injected into org-scoped or entity-scoped storage entries. (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints/check_constraints are deferred). A table entry either names its table (table_name plus optional schema_name) or references one an installed module generated ("module": {"type": "agent", "scope": "org", "table": "message"}), which resolves through the module row\'s recorded table ids and raises when it matches nothing instead of creating an empty table. After provisioning, optional smart_tags (jsonb object) on the table entry are applied via metaschema.append_table_smart_tags(), and optional smart_tags on individual field entries are applied via metaschema.append_field_smart_tags(). (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints, (6) provision_check_constraint() for top-level + deferred check constraints, (7) seed achievements from definition.achievements[] \u2014 resolves events_module by entity_prefix and creates INSERT actions for levels, level_requirements, and achievement_rewards tables. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level entries are deferred to phases 3-6 so they can reference columns created by relations in phase 2. Returns the construction record ID. A failure raises its coded error to the caller and rolls back the whole construction, including the construction record.\n\nUsage: construct-blueprint [OPTIONS]\n');
9
9
  process.exit(0);
10
10
  }
11
11
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@ const utils_1 = require("../utils");
5
5
  exports.default = async (argv, prompter, _options) => {
6
6
  try {
7
7
  if (argv.help || argv.h) {
8
- console.log('provision-bucket - Reconcile an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then enqueues the same\nstorage:provision_bucket job used by the INSERT trigger. This is\nidempotent for an already-reconciled bucket; enqueue failures become\nGraphQL errors.\n\nUsage: provision-bucket [OPTIONS]\n');
8
+ console.log("provision-bucket - Reconcile an S3 bucket for a logical bucket in the database.\nRecords the request on the bucket row via RLS; the bucket's job\ntrigger then enqueues the same storage:provision_bucket job used on\nINSERT, and repeated requests collapse into one pending job. This is\nidempotent for an already-reconciled bucket; failures become GraphQL\nerrors.\n\nUsage: provision-bucket [OPTIONS]\n");
9
9
  process.exit(0);
10
10
  }
11
11
  const answers = await prompter.prompt(argv, [
@@ -47,6 +47,7 @@ const fieldSchema = {
47
47
  provisions: 'json',
48
48
  publicSchemaName: 'string',
49
49
  publicUrlPrefix: 'string',
50
+ region: 'string',
50
51
  restrictReads: 'boolean',
51
52
  schemaId: 'uuid',
52
53
  scope: 'string',
@@ -132,6 +133,7 @@ async function handleList(argv, _prompter) {
132
133
  provisions: true,
133
134
  publicSchemaName: true,
134
135
  publicUrlPrefix: true,
136
+ region: true,
135
137
  restrictReads: true,
136
138
  schemaId: true,
137
139
  scope: true,
@@ -191,6 +193,7 @@ async function handleFindFirst(argv, _prompter) {
191
193
  provisions: true,
192
194
  publicSchemaName: true,
193
195
  publicUrlPrefix: true,
196
+ region: true,
194
197
  restrictReads: true,
195
198
  schemaId: true,
196
199
  scope: true,
@@ -262,6 +265,7 @@ async function handleGet(argv, prompter) {
262
265
  provisions: true,
263
266
  publicSchemaName: true,
264
267
  publicUrlPrefix: true,
268
+ region: true,
265
269
  restrictReads: true,
266
270
  schemaId: true,
267
271
  scope: true,
@@ -540,6 +544,13 @@ async function handleCreate(argv, prompter) {
540
544
  required: false,
541
545
  skipPrompt: true,
542
546
  },
547
+ {
548
+ type: 'text',
549
+ name: 'region',
550
+ message: 'region',
551
+ required: false,
552
+ skipPrompt: true,
553
+ },
543
554
  {
544
555
  type: 'boolean',
545
556
  name: 'restrictReads',
@@ -611,6 +622,7 @@ async function handleCreate(argv, prompter) {
611
622
  provisions: cleanedData.provisions,
612
623
  publicSchemaName: cleanedData.publicSchemaName,
613
624
  publicUrlPrefix: cleanedData.publicUrlPrefix,
625
+ region: cleanedData.region,
614
626
  restrictReads: cleanedData.restrictReads,
615
627
  schemaId: cleanedData.schemaId,
616
628
  scope: cleanedData.scope,
@@ -655,6 +667,7 @@ async function handleCreate(argv, prompter) {
655
667
  provisions: true,
656
668
  publicSchemaName: true,
657
669
  publicUrlPrefix: true,
670
+ region: true,
658
671
  restrictReads: true,
659
672
  schemaId: true,
660
673
  scope: true,
@@ -939,6 +952,13 @@ async function handleUpdate(argv, prompter) {
939
952
  required: false,
940
953
  skipPrompt: true,
941
954
  },
955
+ {
956
+ type: 'text',
957
+ name: 'region',
958
+ message: 'region',
959
+ required: false,
960
+ skipPrompt: true,
961
+ },
942
962
  {
943
963
  type: 'boolean',
944
964
  name: 'restrictReads',
@@ -1013,6 +1033,7 @@ async function handleUpdate(argv, prompter) {
1013
1033
  provisions: cleanedData.provisions,
1014
1034
  publicSchemaName: cleanedData.publicSchemaName,
1015
1035
  publicUrlPrefix: cleanedData.publicUrlPrefix,
1036
+ region: cleanedData.region,
1016
1037
  restrictReads: cleanedData.restrictReads,
1017
1038
  schemaId: cleanedData.schemaId,
1018
1039
  scope: cleanedData.scope,
@@ -1057,6 +1078,7 @@ async function handleUpdate(argv, prompter) {
1057
1078
  provisions: true,
1058
1079
  publicSchemaName: true,
1059
1080
  publicUrlPrefix: true,
1081
+ region: true,
1060
1082
  restrictReads: true,
1061
1083
  schemaId: true,
1062
1084
  scope: true,