deepline 0.3.467 → 0.3.469

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 (137) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +0 -5
  3. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-errors.ts +0 -9
  4. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-identity-claims.ts +2 -31
  5. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-priority-execution.ts +0 -39
  6. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +14 -8
  7. package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +2 -1
  8. package/dist/bundling-sources/shared_libs/product-notifications/default-policy.ts +22 -1
  9. package/dist/cli/{auth-7H62VDZD.mjs → auth-HHMOHWIF.mjs} +5 -5
  10. package/dist/cli/auth-LEYK6ZW7.js +41 -0
  11. package/dist/cli/{billing-N5BNGGYN.js → billing-26PU55WM.js} +79 -79
  12. package/dist/cli/{billing-6TM3ZXDR.mjs → billing-KQORGOK4.mjs} +6 -6
  13. package/dist/cli/{chunk-7ZZWOJTM.js → chunk-2BBBUZVW.js} +3 -3
  14. package/dist/cli/{chunk-42AW4SQR.js → chunk-2GMJDL3C.js} +21 -21
  15. package/dist/cli/{chunk-R5ZJICJA.mjs → chunk-2OFJVQ7L.mjs} +1 -1
  16. package/dist/cli/{chunk-SHGBHP6J.js → chunk-3G4MRUY7.js} +3 -3
  17. package/dist/cli/{chunk-TNAXVJEG.mjs → chunk-4CJLSC6I.mjs} +4 -4
  18. package/dist/cli/{chunk-C4GBOGTW.mjs → chunk-5WQM5HAQ.mjs} +2 -2
  19. package/dist/cli/{chunk-FFOAOQ77.js → chunk-6SZNOJSR.js} +6 -6
  20. package/dist/cli/{chunk-FVA6XLRA.js → chunk-7JY5HB23.js} +7 -7
  21. package/dist/cli/{chunk-VOPKDTJT.js → chunk-7S33CZMU.js} +2 -2
  22. package/dist/cli/{chunk-5RXKAXFD.mjs → chunk-CUCH65D3.mjs} +2 -2
  23. package/dist/cli/{chunk-I3LWDZRN.mjs → chunk-D7DUKSFS.mjs} +1 -1
  24. package/dist/cli/{chunk-AUVEQ3JX.mjs → chunk-DI3K3PJE.mjs} +1 -1
  25. package/dist/cli/{chunk-KMYCHMZF.js → chunk-E55WWSW4.js} +26 -26
  26. package/dist/cli/{chunk-MRBDFPJ7.mjs → chunk-E6O62X6Z.mjs} +2 -2
  27. package/dist/cli/{chunk-6UZ4MRWN.mjs → chunk-FA3G556U.mjs} +2 -2
  28. package/dist/cli/{chunk-LKVOV7PX.js → chunk-GFHBE35X.js} +93 -93
  29. package/dist/cli/{chunk-WISHPL5Q.mjs → chunk-GVRTIZJN.mjs} +5 -5
  30. package/dist/cli/{chunk-NU64F53H.mjs → chunk-HB2M7RWZ.mjs} +10 -10
  31. package/dist/cli/{chunk-AU4BWQTT.mjs → chunk-I5ZF67WP.mjs} +5 -5
  32. package/dist/cli/{chunk-SYLR33PS.mjs → chunk-I7TGFUQJ.mjs} +3 -3
  33. package/dist/cli/{chunk-3ZGSR6X7.js → chunk-KOBMP4ZD.js} +1 -1
  34. package/dist/cli/{chunk-H3QDLCRT.js → chunk-KPFO7CQM.js} +53 -53
  35. package/dist/cli/{chunk-C6EGT3LO.js → chunk-L34QVDRW.js} +6 -6
  36. package/dist/cli/{chunk-MGUQGKHE.js → chunk-LBG7M2UO.js} +8 -8
  37. package/dist/cli/{chunk-KUCUHRLC.mjs → chunk-N6QVWV5R.mjs} +2 -2
  38. package/dist/cli/{chunk-FRY76AFK.js → chunk-NWAFIAHT.js} +8 -8
  39. package/dist/cli/{chunk-WTVTCSPY.js → chunk-ODOFLA34.js} +4 -4
  40. package/dist/cli/{chunk-RH6DVPGW.mjs → chunk-PAY27R7P.mjs} +2 -2
  41. package/dist/cli/{chunk-DCDTCG2D.mjs → chunk-PKCDG6W5.mjs} +2 -2
  42. package/dist/cli/{chunk-YIJS7ET7.js → chunk-RC7X6KBQ.js} +51 -51
  43. package/dist/cli/{chunk-4LTQYDZG.mjs → chunk-RXG2KE3N.mjs} +4 -4
  44. package/dist/cli/{chunk-LAMHSZ74.js → chunk-SNAPSOK7.js} +10 -10
  45. package/dist/cli/{chunk-ZTA4JIAB.js → chunk-SXTMM4DA.js} +9 -9
  46. package/dist/cli/{chunk-VGWH3BFC.mjs → chunk-T3OOWRPX.mjs} +1 -1
  47. package/dist/cli/{chunk-7Y53LJLE.js → chunk-TEYQKQAQ.js} +5 -5
  48. package/dist/cli/{chunk-G35HNL6P.mjs → chunk-UI2UC3OD.mjs} +1 -1
  49. package/dist/cli/{chunk-HTXQUA3V.mjs → chunk-URGJLSJX.mjs} +1 -1
  50. package/dist/cli/{chunk-FQIGRZ52.mjs → chunk-VERY76VG.mjs} +1 -1
  51. package/dist/cli/{chunk-FP3DH46P.mjs → chunk-WCKFCSRX.mjs} +4 -4
  52. package/dist/cli/{chunk-OSKGEBE7.mjs → chunk-WFI46NX4.mjs} +1 -1
  53. package/dist/cli/{chunk-AD5BZUAP.js → chunk-X7MME4NT.js} +5 -5
  54. package/dist/cli/{chunk-WS2BY2ST.js → chunk-XXIAG42J.js} +36 -36
  55. package/dist/cli/{chunk-CER3XHT3.mjs → chunk-YCIQYY5F.mjs} +3 -3
  56. package/dist/cli/{chunk-FS55YDCW.js → chunk-YSRQJ4M3.js} +3 -3
  57. package/dist/cli/{chunk-WGMNXDRZ.js → chunk-ZWZKQBJJ.js} +2 -2
  58. package/dist/cli/{chunk-WBYC7AYC.js → chunk-ZZ3WOBZQ.js} +16 -16
  59. package/dist/cli/{csv-435JAJ45.mjs → csv-DVAQAKEI.mjs} +4 -4
  60. package/dist/cli/{csv-BPZ4VLR6.js → csv-RTWPHENL.js} +13 -13
  61. package/dist/cli/{db-EBR2UQK3.js → db-BY4Y6CQ3.js} +27 -27
  62. package/dist/cli/{db-IEUTNOOC.mjs → db-OFAOD5AT.mjs} +6 -6
  63. package/dist/cli/describe-FS5CSJTO.js +48 -0
  64. package/dist/cli/{describe-GM233O75.mjs → describe-QOO27KPQ.mjs} +17 -17
  65. package/dist/cli/describe-core.d.mts +2 -2
  66. package/dist/cli/describe-core.d.ts +2 -2
  67. package/dist/cli/{executions-LDPBVSKZ.mjs → executions-EUHFCB47.mjs} +6 -6
  68. package/dist/cli/{executions-5SWPQTLB.js → executions-QHGGAQOE.js} +8 -8
  69. package/dist/cli/{feedback-JB7BBF64.mjs → feedback-47CCLALE.mjs} +4 -4
  70. package/dist/cli/{feedback-YFW5KT36.js → feedback-5G4CUZFN.js} +8 -8
  71. package/dist/cli/{git-MCGUPO2W.mjs → git-5I2AXG4O.mjs} +5 -5
  72. package/dist/cli/git-IWVY3SXC.js +25 -0
  73. package/dist/cli/index.js +135 -135
  74. package/dist/cli/index.mjs +40 -40
  75. package/dist/cli/{legacy-noops-LMGSIBWM.js → legacy-noops-5OBXYGLC.js} +8 -8
  76. package/dist/cli/{legacy-noops-EHNXHQL7.mjs → legacy-noops-AJYRHCWF.mjs} +5 -5
  77. package/dist/cli/{monitors-VRQ32EAA.js → monitors-5CWZZ7D7.js} +91 -91
  78. package/dist/cli/{monitors-355EWLGN.mjs → monitors-IWFCIY3H.mjs} +7 -7
  79. package/dist/cli/{org-MJ6XMAI4.mjs → org-7EP6FXX6.mjs} +6 -6
  80. package/dist/cli/{org-W3YZN65W.js → org-7HCL5RO7.js} +72 -72
  81. package/dist/cli/{pages-JPK6UVMV.js → pages-GTECAV7A.js} +17 -17
  82. package/dist/cli/{pages-62QNUXV2.mjs → pages-UJWA7YNZ.mjs} +6 -6
  83. package/dist/cli/{play-WPPJQBBS.js → play-MMGWGTTZ.js} +304 -304
  84. package/dist/cli/{play-CKBPES6Q.mjs → play-X3SYW37L.mjs} +17 -17
  85. package/dist/cli/{providers-DH5JJ5HN.js → providers-VQL4X4VL.js} +9 -9
  86. package/dist/cli/{providers-LLPKHVXL.mjs → providers-ZBCQLB5Y.mjs} +6 -6
  87. package/dist/cli/{quickstart-NNEF37EG.js → quickstart-SIFBA4UU.js} +6 -6
  88. package/dist/cli/{quickstart-K5HVPO2L.mjs → quickstart-TIPHHFSA.mjs} +4 -4
  89. package/dist/cli/{run-SKIZFJ5O.mjs → run-4L6ZW53Z.mjs} +22 -22
  90. package/dist/cli/{run-N2KY2VNQ.js → run-XKSIVFEN.js} +36 -36
  91. package/dist/cli/search-2WGVKZ2E.js +32 -0
  92. package/dist/cli/{search-2WXJ3GID.mjs → search-6HLAN32O.mjs} +7 -7
  93. package/dist/cli/{secrets-6GEQ75OU.mjs → secrets-4HTY4MSI.mjs} +6 -6
  94. package/dist/cli/{secrets-5YVX7LK7.js → secrets-KYRIVDA6.js} +15 -15
  95. package/dist/cli/{sessions-H3QES7C2.js → sessions-EVKRTCFM.js} +6 -6
  96. package/dist/cli/{sessions-GOPZ3YRN.mjs → sessions-JEV4COUF.mjs} +5 -5
  97. package/dist/cli/{settings-IP47HYC6.mjs → settings-QSABRUHQ.mjs} +11 -11
  98. package/dist/cli/{settings-62SU5ROV.js → settings-WFZNZVHF.js} +78 -78
  99. package/dist/cli/{setup-YCCU7TU4.js → setup-JFEGYAMU.js} +44 -44
  100. package/dist/cli/{setup-LCKXUSW5.mjs → setup-KG22OTJO.mjs} +9 -9
  101. package/dist/cli/{skills-3QAQI6X7.mjs → skills-5XJM7UBQ.mjs} +7 -7
  102. package/dist/cli/skills-6DY62DEQ.js +31 -0
  103. package/dist/cli/{tools-HKD4G6HA.mjs → tools-2AMQKFP4.mjs} +16 -16
  104. package/dist/cli/tools-ENIGWVGY.js +55 -0
  105. package/dist/cli/{update-2VYSBSDD.mjs → update-KEN737KZ.mjs} +9 -9
  106. package/dist/cli/update-XZBBPRDV.js +33 -0
  107. package/dist/cli/{workflow-EFRGY6JD.mjs → workflow-L6Q5H3OO.mjs} +7 -7
  108. package/dist/cli/{workflow-MMWGUSGY.js → workflow-T622YRL4.js} +17 -17
  109. package/dist/{client-BOEAXwJj.d.ts → client-B3tlWsw7.d.ts} +1 -1
  110. package/dist/{client-DL0koOaP.d.mts → client-CdJR18SJ.d.mts} +1 -1
  111. package/dist/{client-core-CowyuxKu.d.mts → client-core-ByJD7QXj.d.mts} +1 -1
  112. package/dist/{client-core-BX_8khUY.d.ts → client-core-CxHBKfE5.d.ts} +1 -1
  113. package/dist/index.d.mts +3 -3
  114. package/dist/index.d.ts +3 -3
  115. package/dist/index.js +9 -9
  116. package/dist/index.mjs +6 -6
  117. package/dist/install-integrity.json +100 -100
  118. package/dist/plays/play-description.d.mts +1 -1
  119. package/dist/plays/play-description.d.ts +1 -1
  120. package/dist/plays/run-request.d.mts +1 -1
  121. package/dist/plays/run-request.d.ts +1 -1
  122. package/dist/release.d.mts +1 -1
  123. package/dist/release.d.ts +1 -1
  124. package/dist/release.js +2 -2
  125. package/dist/release.mjs +1 -1
  126. package/dist/server.d.mts +2 -2
  127. package/dist/server.d.ts +2 -2
  128. package/dist/server.js +5 -5
  129. package/dist/server.mjs +3 -3
  130. package/package.json +1 -1
  131. package/dist/cli/auth-EXW5E3DI.js +0 -41
  132. package/dist/cli/describe-EPT52IUE.js +0 -48
  133. package/dist/cli/git-7L7LKOKW.js +0 -25
  134. package/dist/cli/search-HO7ARG3H.js +0 -32
  135. package/dist/cli/skills-UVAIKQNC.js +0 -31
  136. package/dist/cli/tools-KAIUUBTD.js +0 -55
  137. package/dist/cli/update-Q3AMECAG.js +0 -33
@@ -205,7 +205,7 @@ export const SDK_RELEASE = {
205
205
  // getters keep their established compatibility behavior.
206
206
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
207
207
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
208
- version: '0.3.467',
208
+ version: '0.3.469',
209
209
  updateSummary: {
210
210
  introducedIn: '0.3.90',
211
211
  summary:
@@ -1,7 +1,5 @@
1
1
  import { NextResponse } from 'next/server';
2
2
 
3
- import { MAX_PRIORITY_MONITORS_PER_ORG } from '@deepline/monitors/provider-monitor-priority-execution';
4
-
5
3
  export const MONITOR_ERROR_FALLBACK_NEXT_ACTION =
6
4
  "Do not retry blindly. Read the deepline-monitors skill's 'Recover from errors by code' section, inspect the returned message and relevant state, then diagnose this failure.";
7
5
 
@@ -191,9 +189,6 @@ export function monitorErrorNextAction(payload: MonitorErrorPayload): string {
191
189
  if (code === 'monitor_entitlement_limit_exceeded') {
192
190
  return 'Run `deepline monitors list --status all`; reuse or disable an existing monitor, or ask the user to change entitlement before retrying.';
193
191
  }
194
- if (code === 'priority_monitor_limit_exceeded') {
195
- return `This workspace already has ${MAX_PRIORITY_MONITORS_PER_ORG} priority radars. Delete or update an existing priority radar only after confirming it is no longer needed, then retry the urgent preview.`;
196
- }
197
192
  if (code === 'monitor_already_exists') {
198
193
  const existingMonitor = asRecord(nestedError(payload)?.existing_monitor);
199
194
  const existing = existingMonitor?.key;
@@ -130,12 +130,3 @@ export class ProviderMonitorStoppedAfterSubmitError extends Error {
130
130
  this.name = 'ProviderMonitorStoppedAfterSubmitError';
131
131
  }
132
132
  }
133
-
134
- export class PriorityMonitorExecutionLimitError extends Error {
135
- constructor(readonly max: number) {
136
- super(
137
- `This workspace already has ${max} priority radars. Remove priority from a radar that is no longer urgent before creating another one.`,
138
- );
139
- this.name = 'PriorityMonitorExecutionLimitError';
140
- }
141
- }
@@ -1,6 +1,5 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import {
3
- PriorityMonitorExecutionLimitError,
4
3
  ProviderMonitorCapacityBackfillInProgressError,
5
4
  ProviderMonitorCapacityCleanupRequiredError,
6
5
  ProviderMonitorIdentityBackfillInProgressError,
@@ -8,7 +7,6 @@ import {
8
7
  ProviderMonitorOrgLimitExceededError,
9
8
  type ProviderMonitorCapacitySnapshot,
10
9
  } from '@deepline/monitors/provider-monitor-errors';
11
- import { MAX_PRIORITY_MONITORS_PER_ORG } from '@deepline/monitors/provider-monitor-priority-execution';
12
10
  import { internal } from '@deepline/convex-client/function-references';
13
11
  import { getRequiredInternalConvexClient } from '@deepline/convex-client/internal-client';
14
12
  import { providerMonitorConflictIdentity } from '@deepline/monitors/provider-monitor-conflicts';
@@ -235,20 +233,6 @@ export function providerMonitorIdentityProvisioningForMonitor(input: {
235
233
  );
236
234
  }
237
235
 
238
- export function priorityMonitorExecutionLimitFromLifecycleError(
239
- error: unknown,
240
- ) {
241
- if (
242
- error instanceof Error &&
243
- error.message.includes('PRIORITY_MONITOR_LIMIT_EXCEEDED')
244
- ) {
245
- return new PriorityMonitorExecutionLimitError(
246
- MAX_PRIORITY_MONITORS_PER_ORG,
247
- );
248
- }
249
- return null;
250
- }
251
-
252
236
  // Convex retries mutations itself. This is the bounded outer retry for the
253
237
  // rare case in which that budget is exhausted while the short capacity-fold
254
238
  // mutation is updating the same organization fence. Lifecycle admission is
@@ -335,23 +319,10 @@ export async function beginProviderMonitorLifecycleReservation(input: {
335
319
  ? { requiredMonitorStatus: input.requiredMonitorStatus }
336
320
  : {}),
337
321
  });
338
- // A priority-slot refusal arrives as a thrown lifecycle error, while the
339
- // capacity outcomes below arrive as a returned kind. Both paths have to work
340
- // on the same call, and the backfill retry has to re-run the same request.
341
- const attempt = async () => {
342
- try {
343
- return await request();
344
- } catch (error) {
345
- const priorityLimit =
346
- priorityMonitorExecutionLimitFromLifecycleError(error);
347
- if (priorityLimit) throw priorityLimit;
348
- throw error;
349
- }
350
- };
351
- let result = await retryProviderMonitorLifecycleAdmission(attempt);
322
+ let result = await retryProviderMonitorLifecycleAdmission(request);
352
323
  if (result.kind === 'backfill_required') {
353
324
  await ensureProviderMonitorCapacityBackfill({ auth: input.auth });
354
- result = await retryProviderMonitorLifecycleAdmission(attempt);
325
+ result = await retryProviderMonitorLifecycleAdmission(request);
355
326
  }
356
327
  if (result.kind === 'limit_exceeded') {
357
328
  throw new ProviderMonitorOrgLimitExceededError(result.capacity);
@@ -1,26 +1,6 @@
1
1
  import type { ProviderMonitorCapabilityDefinition } from '@deepline/monitors/provider-monitor-capability';
2
- import type { ProviderMonitorStatus } from './provider-monitor-status';
3
2
 
4
3
  export const PRIORITY_MONITOR_EXECUTION_TYPE = 'priority' as const;
5
- export const MAX_PRIORITY_MONITORS_PER_ORG = 10;
6
-
7
- export const PRIORITY_MONITOR_SLOT_STATUSES = [
8
- 'active',
9
- // A billing suspension writes disabled before upstream deprovisioning. Keep
10
- // the slot occupied until that delete confirms success and clears the
11
- // projection; a failed cleanup can leave the priority radar live.
12
- 'disabled',
13
- 'deleting',
14
- 'error',
15
- 'deleted',
16
- // A fleet monitor holds its priority reservation from the commit that
17
- // records the desired state, not from the provider create that follows it.
18
- 'pending_create',
19
- ] as const satisfies readonly ProviderMonitorStatus[];
20
-
21
- const PRIORITY_MONITOR_SLOT_STATUS_SET = new Set<ProviderMonitorStatus>(
22
- PRIORITY_MONITOR_SLOT_STATUSES,
23
- );
24
4
 
25
5
  export function requestedPriorityMonitorExecution(definition: {
26
6
  controls?: Record<string, unknown>;
@@ -35,22 +15,3 @@ export function priorityMonitorExecutionIsSupported(
35
15
  ) {
36
16
  return capability.provider === 'deepline_native';
37
17
  }
38
-
39
- export function priorityMonitorConsumesSlot(input: {
40
- priorityExecution: boolean;
41
- status: ProviderMonitorStatus;
42
- }) {
43
- return (
44
- input.priorityExecution &&
45
- PRIORITY_MONITOR_SLOT_STATUS_SET.has(input.status)
46
- );
47
- }
48
-
49
- export function priorityMonitorReservedSlotCount(input: {
50
- priorityExecution: boolean;
51
- status: ProviderMonitorStatus;
52
- priorityExecutionSlots?: number;
53
- }) {
54
- if (!priorityMonitorConsumesSlot(input)) return 0;
55
- return input.priorityExecutionSlots === 2 ? 2 : 1;
56
- }
@@ -76,6 +76,12 @@ export const RUN_LEDGER_OUTBOX_RECOVERY_MAX_IN_FLIGHT = 32;
76
76
  // The higher exported ceiling remains available to isolated recovery callers,
77
77
  // but it is not the steady-state production setting.
78
78
  const RUN_LEDGER_OUTBOX_RECOVERY_PRODUCTION_IN_FLIGHT = 8;
79
+ // This is a total budget shared by lifecycle and indexing lanes. Preview's
80
+ // former 32 slots left 24 for lifecycle delivery and queued 25 short SQL
81
+ // operations behind a two-connection pool. Sixteen total slots retain eight
82
+ // lifecycle and eight indexing deliveries, matching both Production replicas
83
+ // combined. Isolated callers retain the larger hard ceiling above.
84
+ const RUN_LEDGER_OUTBOX_RECOVERY_PREVIEW_IN_FLIGHT = 16;
79
85
  // Production runs two projector replicas, so four index deliveries per
80
86
  // replica provide eight shared slots. Preview has one projector replica; give
81
87
  // it the same total bounded search-index capacity.
@@ -131,17 +137,17 @@ export type RunLedgerOutboxRecoveryDeps = {
131
137
  };
132
138
 
133
139
  /**
134
- * Production runs two projector replicas at eight deliveries each. An
135
- * isolated Preview estate has one replica, so use the existing bounded
136
- * 32-delivery ceiling there to keep fixture admission and its catalog
137
- * projection inside the same latency budget. This does not change Production
138
- * capacity or the controller's hard maximum.
140
+ * Production runs two projector replicas at eight total deliveries each:
141
+ * four lifecycle and four indexing slots. One Preview replica uses sixteen
142
+ * total slots, retaining eight per lane. Extra in-flight network deliveries
143
+ * also fan out claim, renewal and acknowledgement checkouts. Production
144
+ * capacity and the controller's hard maximum remain unchanged.
139
145
  */
140
146
  export function runLedgerOutboxRecoveryParallelism(
141
147
  environment: 'preview' | 'production',
142
148
  ): number {
143
149
  return environment === 'preview'
144
- ? RUN_LEDGER_OUTBOX_RECOVERY_MAX_IN_FLIGHT
150
+ ? RUN_LEDGER_OUTBOX_RECOVERY_PREVIEW_IN_FLIGHT
145
151
  : RUN_LEDGER_OUTBOX_RECOVERY_PRODUCTION_IN_FLIGHT;
146
152
  }
147
153
 
@@ -1233,8 +1239,8 @@ export function startRunLedgerOutboxRecoveryController(input: {
1233
1239
  observabilityParallelism,
1234
1240
  // `dispatchRunLedgerOutboxToLedgerBatchOnceWithClientScope` releases each
1235
1241
  // short scheduler checkout before it calls the Vercel gateway. Production
1236
- // retains two replicas at eight lifecycle and four search slots each; one
1237
- // Preview replica uses 32 lifecycle and eight search slots.
1242
+ // retains two replicas at four lifecycle and four search slots each; one
1243
+ // Preview replica uses eight lifecycle and eight search slots.
1238
1244
  parallelism: runLedgerOutboxRecoveryParallelism(environment),
1239
1245
  notifyUnavailableSafetyWakeMs: runLedgerOutboxNotifySafetyWakeMs(
1240
1246
  schedulerOptions.schema,
@@ -18,6 +18,7 @@ import {
18
18
  BILLING_PURCHASE_LATE_RULE_KEY,
19
19
  BILLING_RENEWAL_LATE_RULE_KEY,
20
20
  BILLING_SALES_CREDIT_PURCHASE_MINIMUM_CENTS,
21
+ BILLING_CREDIT_PURCHASE_GROUP_KEY,
21
22
  BILLING_SALES_GROUP_KEY,
22
23
  } from './billing-sales';
23
24
 
@@ -939,7 +940,7 @@ const PRODUCT_NOTIFICATION_TYPE_REGISTRY = [
939
940
  rule: {
940
941
  default: {
941
942
  ruleKey: 'internal.billing.credit_purchase',
942
- groupKey: BILLING_SALES_GROUP_KEY,
943
+ groupKey: BILLING_CREDIT_PURCHASE_GROUP_KEY,
943
944
  },
944
945
  create: (_input, base) => ({
945
946
  ...base,
@@ -9,6 +9,8 @@ import {
9
9
  type ProductNotificationDefaultPolicy,
10
10
  } from './configuration';
11
11
  import {
12
+ BILLING_CREDIT_PURCHASE_GROUP_KEY,
13
+ BILLING_CREDIT_PURCHASE_DESTINATION_KEY,
12
14
  BILLING_SALES_CONNECTION_ID,
13
15
  BILLING_SALES_DESTINATION_KEY,
14
16
  BILLING_SALES_GROUP_KEY,
@@ -20,7 +22,7 @@ import {
20
22
  * they create sparse copy-on-write overrides.
21
23
  */
22
24
  export const CURRENT_PRODUCT_NOTIFICATION_DEFAULT_POLICY = {
23
- version: 13,
25
+ version: 14,
24
26
  groups: [
25
27
  {
26
28
  groupKey: 'default',
@@ -42,6 +44,12 @@ export const CURRENT_PRODUCT_NOTIFICATION_DEFAULT_POLICY = {
42
44
  enabled: true,
43
45
  deliveryTiming: { mode: 'immediate' },
44
46
  },
47
+ {
48
+ groupKey: BILLING_CREDIT_PURCHASE_GROUP_KEY,
49
+ name: 'Credit purchase alerts',
50
+ enabled: true,
51
+ deliveryTiming: { mode: 'immediate' },
52
+ },
45
53
  ],
46
54
  destinations: [
47
55
  {
@@ -71,6 +79,19 @@ export const CURRENT_PRODUCT_NOTIFICATION_DEFAULT_POLICY = {
71
79
  oauthConnectionId: BILLING_SALES_CONNECTION_ID,
72
80
  },
73
81
  },
82
+ {
83
+ destinationKey: BILLING_CREDIT_PURCHASE_DESTINATION_KEY,
84
+ groupKey: BILLING_CREDIT_PURCHASE_GROUP_KEY,
85
+ name: 'Deepline signup channel',
86
+ enabled: true,
87
+ settings: {
88
+ kind: 'slack',
89
+ targetKind: 'channel',
90
+ targetId: BILLING_SALES_SLACK_CHANNEL_ID,
91
+ targetName: 'Deepline signup channel',
92
+ oauthConnectionId: BILLING_SALES_CONNECTION_ID,
93
+ },
94
+ },
74
95
  ],
75
96
  rules: PRODUCT_NOTIFICATION_DEFAULT_RULES,
76
97
  } satisfies ProductNotificationDefaultPolicy;
@@ -13,14 +13,14 @@ import {
13
13
  reportSetupCompleted,
14
14
  resolvePendingAuthClaimForResume,
15
15
  statusBannerLine
16
- } from "./chunk-CER3XHT3.mjs";
17
- import "./chunk-RH6DVPGW.mjs";
18
- import "./chunk-G35HNL6P.mjs";
19
- import "./chunk-AUVEQ3JX.mjs";
16
+ } from "./chunk-YCIQYY5F.mjs";
17
+ import "./chunk-PAY27R7P.mjs";
18
+ import "./chunk-UI2UC3OD.mjs";
19
+ import "./chunk-DI3K3PJE.mjs";
20
20
  import "./chunk-4QF2K7TM.mjs";
21
21
  import "./chunk-DLIRSHV6.mjs";
22
22
  import "./chunk-HBL4PM5Q.mjs";
23
- import "./chunk-OSKGEBE7.mjs";
23
+ import "./chunk-WFI46NX4.mjs";
24
24
  import "./chunk-WZYKRD7T.mjs";
25
25
  import "./chunk-KRD6H754.mjs";
26
26
  export {
@@ -0,0 +1,41 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _chunkRC7X6KBQjs = require('./chunk-RC7X6KBQ.js');
17
+ require('./chunk-7JY5HB23.js');
18
+ require('./chunk-3G4MRUY7.js');
19
+ require('./chunk-ODOFLA34.js');
20
+ require('./chunk-ALJJRZNJ.js');
21
+ require('./chunk-XNYIZMNQ.js');
22
+ require('./chunk-DIAWYWT5.js');
23
+ require('./chunk-KOBMP4ZD.js');
24
+ require('./chunk-OG64RBAC.js');
25
+ require('./chunk-COGTRVWW.js');
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ exports.EXIT_WORKSPACE_MISMATCH = _chunkRC7X6KBQjs.EXIT_WORKSPACE_MISMATCH; exports.authStatusLine = _chunkRC7X6KBQjs.authStatusLine; exports.clearPendingClaim = _chunkRC7X6KBQjs.clearPendingClaim; exports.clearSatisfiedPendingClaim = _chunkRC7X6KBQjs.clearSatisfiedPendingClaim; exports.handleRegister = _chunkRC7X6KBQjs.handleRegister; exports.handleStatus = _chunkRC7X6KBQjs.handleStatus; exports.handleWait = _chunkRC7X6KBQjs.handleWait; exports.httpJson = _chunkRC7X6KBQjs.httpJson; exports.readPendingAuthClaim = _chunkRC7X6KBQjs.readPendingAuthClaim; exports.readStatusBanner = _chunkRC7X6KBQjs.readStatusBanner; exports.registerAuthCommands = _chunkRC7X6KBQjs.registerAuthCommands; exports.reportSetupCompleted = _chunkRC7X6KBQjs.reportSetupCompleted; exports.resolvePendingAuthClaimForResume = _chunkRC7X6KBQjs.resolvePendingAuthClaimForResume; exports.statusBannerLine = _chunkRC7X6KBQjs.statusBannerLine;