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.
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +0 -5
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-errors.ts +0 -9
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-identity-claims.ts +2 -31
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-priority-execution.ts +0 -39
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +14 -8
- package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +2 -1
- package/dist/bundling-sources/shared_libs/product-notifications/default-policy.ts +22 -1
- package/dist/cli/{auth-7H62VDZD.mjs → auth-HHMOHWIF.mjs} +5 -5
- package/dist/cli/auth-LEYK6ZW7.js +41 -0
- package/dist/cli/{billing-N5BNGGYN.js → billing-26PU55WM.js} +79 -79
- package/dist/cli/{billing-6TM3ZXDR.mjs → billing-KQORGOK4.mjs} +6 -6
- package/dist/cli/{chunk-7ZZWOJTM.js → chunk-2BBBUZVW.js} +3 -3
- package/dist/cli/{chunk-42AW4SQR.js → chunk-2GMJDL3C.js} +21 -21
- package/dist/cli/{chunk-R5ZJICJA.mjs → chunk-2OFJVQ7L.mjs} +1 -1
- package/dist/cli/{chunk-SHGBHP6J.js → chunk-3G4MRUY7.js} +3 -3
- package/dist/cli/{chunk-TNAXVJEG.mjs → chunk-4CJLSC6I.mjs} +4 -4
- package/dist/cli/{chunk-C4GBOGTW.mjs → chunk-5WQM5HAQ.mjs} +2 -2
- package/dist/cli/{chunk-FFOAOQ77.js → chunk-6SZNOJSR.js} +6 -6
- package/dist/cli/{chunk-FVA6XLRA.js → chunk-7JY5HB23.js} +7 -7
- package/dist/cli/{chunk-VOPKDTJT.js → chunk-7S33CZMU.js} +2 -2
- package/dist/cli/{chunk-5RXKAXFD.mjs → chunk-CUCH65D3.mjs} +2 -2
- package/dist/cli/{chunk-I3LWDZRN.mjs → chunk-D7DUKSFS.mjs} +1 -1
- package/dist/cli/{chunk-AUVEQ3JX.mjs → chunk-DI3K3PJE.mjs} +1 -1
- package/dist/cli/{chunk-KMYCHMZF.js → chunk-E55WWSW4.js} +26 -26
- package/dist/cli/{chunk-MRBDFPJ7.mjs → chunk-E6O62X6Z.mjs} +2 -2
- package/dist/cli/{chunk-6UZ4MRWN.mjs → chunk-FA3G556U.mjs} +2 -2
- package/dist/cli/{chunk-LKVOV7PX.js → chunk-GFHBE35X.js} +93 -93
- package/dist/cli/{chunk-WISHPL5Q.mjs → chunk-GVRTIZJN.mjs} +5 -5
- package/dist/cli/{chunk-NU64F53H.mjs → chunk-HB2M7RWZ.mjs} +10 -10
- package/dist/cli/{chunk-AU4BWQTT.mjs → chunk-I5ZF67WP.mjs} +5 -5
- package/dist/cli/{chunk-SYLR33PS.mjs → chunk-I7TGFUQJ.mjs} +3 -3
- package/dist/cli/{chunk-3ZGSR6X7.js → chunk-KOBMP4ZD.js} +1 -1
- package/dist/cli/{chunk-H3QDLCRT.js → chunk-KPFO7CQM.js} +53 -53
- package/dist/cli/{chunk-C6EGT3LO.js → chunk-L34QVDRW.js} +6 -6
- package/dist/cli/{chunk-MGUQGKHE.js → chunk-LBG7M2UO.js} +8 -8
- package/dist/cli/{chunk-KUCUHRLC.mjs → chunk-N6QVWV5R.mjs} +2 -2
- package/dist/cli/{chunk-FRY76AFK.js → chunk-NWAFIAHT.js} +8 -8
- package/dist/cli/{chunk-WTVTCSPY.js → chunk-ODOFLA34.js} +4 -4
- package/dist/cli/{chunk-RH6DVPGW.mjs → chunk-PAY27R7P.mjs} +2 -2
- package/dist/cli/{chunk-DCDTCG2D.mjs → chunk-PKCDG6W5.mjs} +2 -2
- package/dist/cli/{chunk-YIJS7ET7.js → chunk-RC7X6KBQ.js} +51 -51
- package/dist/cli/{chunk-4LTQYDZG.mjs → chunk-RXG2KE3N.mjs} +4 -4
- package/dist/cli/{chunk-LAMHSZ74.js → chunk-SNAPSOK7.js} +10 -10
- package/dist/cli/{chunk-ZTA4JIAB.js → chunk-SXTMM4DA.js} +9 -9
- package/dist/cli/{chunk-VGWH3BFC.mjs → chunk-T3OOWRPX.mjs} +1 -1
- package/dist/cli/{chunk-7Y53LJLE.js → chunk-TEYQKQAQ.js} +5 -5
- package/dist/cli/{chunk-G35HNL6P.mjs → chunk-UI2UC3OD.mjs} +1 -1
- package/dist/cli/{chunk-HTXQUA3V.mjs → chunk-URGJLSJX.mjs} +1 -1
- package/dist/cli/{chunk-FQIGRZ52.mjs → chunk-VERY76VG.mjs} +1 -1
- package/dist/cli/{chunk-FP3DH46P.mjs → chunk-WCKFCSRX.mjs} +4 -4
- package/dist/cli/{chunk-OSKGEBE7.mjs → chunk-WFI46NX4.mjs} +1 -1
- package/dist/cli/{chunk-AD5BZUAP.js → chunk-X7MME4NT.js} +5 -5
- package/dist/cli/{chunk-WS2BY2ST.js → chunk-XXIAG42J.js} +36 -36
- package/dist/cli/{chunk-CER3XHT3.mjs → chunk-YCIQYY5F.mjs} +3 -3
- package/dist/cli/{chunk-FS55YDCW.js → chunk-YSRQJ4M3.js} +3 -3
- package/dist/cli/{chunk-WGMNXDRZ.js → chunk-ZWZKQBJJ.js} +2 -2
- package/dist/cli/{chunk-WBYC7AYC.js → chunk-ZZ3WOBZQ.js} +16 -16
- package/dist/cli/{csv-435JAJ45.mjs → csv-DVAQAKEI.mjs} +4 -4
- package/dist/cli/{csv-BPZ4VLR6.js → csv-RTWPHENL.js} +13 -13
- package/dist/cli/{db-EBR2UQK3.js → db-BY4Y6CQ3.js} +27 -27
- package/dist/cli/{db-IEUTNOOC.mjs → db-OFAOD5AT.mjs} +6 -6
- package/dist/cli/describe-FS5CSJTO.js +48 -0
- package/dist/cli/{describe-GM233O75.mjs → describe-QOO27KPQ.mjs} +17 -17
- package/dist/cli/describe-core.d.mts +2 -2
- package/dist/cli/describe-core.d.ts +2 -2
- package/dist/cli/{executions-LDPBVSKZ.mjs → executions-EUHFCB47.mjs} +6 -6
- package/dist/cli/{executions-5SWPQTLB.js → executions-QHGGAQOE.js} +8 -8
- package/dist/cli/{feedback-JB7BBF64.mjs → feedback-47CCLALE.mjs} +4 -4
- package/dist/cli/{feedback-YFW5KT36.js → feedback-5G4CUZFN.js} +8 -8
- package/dist/cli/{git-MCGUPO2W.mjs → git-5I2AXG4O.mjs} +5 -5
- package/dist/cli/git-IWVY3SXC.js +25 -0
- package/dist/cli/index.js +135 -135
- package/dist/cli/index.mjs +40 -40
- package/dist/cli/{legacy-noops-LMGSIBWM.js → legacy-noops-5OBXYGLC.js} +8 -8
- package/dist/cli/{legacy-noops-EHNXHQL7.mjs → legacy-noops-AJYRHCWF.mjs} +5 -5
- package/dist/cli/{monitors-VRQ32EAA.js → monitors-5CWZZ7D7.js} +91 -91
- package/dist/cli/{monitors-355EWLGN.mjs → monitors-IWFCIY3H.mjs} +7 -7
- package/dist/cli/{org-MJ6XMAI4.mjs → org-7EP6FXX6.mjs} +6 -6
- package/dist/cli/{org-W3YZN65W.js → org-7HCL5RO7.js} +72 -72
- package/dist/cli/{pages-JPK6UVMV.js → pages-GTECAV7A.js} +17 -17
- package/dist/cli/{pages-62QNUXV2.mjs → pages-UJWA7YNZ.mjs} +6 -6
- package/dist/cli/{play-WPPJQBBS.js → play-MMGWGTTZ.js} +304 -304
- package/dist/cli/{play-CKBPES6Q.mjs → play-X3SYW37L.mjs} +17 -17
- package/dist/cli/{providers-DH5JJ5HN.js → providers-VQL4X4VL.js} +9 -9
- package/dist/cli/{providers-LLPKHVXL.mjs → providers-ZBCQLB5Y.mjs} +6 -6
- package/dist/cli/{quickstart-NNEF37EG.js → quickstart-SIFBA4UU.js} +6 -6
- package/dist/cli/{quickstart-K5HVPO2L.mjs → quickstart-TIPHHFSA.mjs} +4 -4
- package/dist/cli/{run-SKIZFJ5O.mjs → run-4L6ZW53Z.mjs} +22 -22
- package/dist/cli/{run-N2KY2VNQ.js → run-XKSIVFEN.js} +36 -36
- package/dist/cli/search-2WGVKZ2E.js +32 -0
- package/dist/cli/{search-2WXJ3GID.mjs → search-6HLAN32O.mjs} +7 -7
- package/dist/cli/{secrets-6GEQ75OU.mjs → secrets-4HTY4MSI.mjs} +6 -6
- package/dist/cli/{secrets-5YVX7LK7.js → secrets-KYRIVDA6.js} +15 -15
- package/dist/cli/{sessions-H3QES7C2.js → sessions-EVKRTCFM.js} +6 -6
- package/dist/cli/{sessions-GOPZ3YRN.mjs → sessions-JEV4COUF.mjs} +5 -5
- package/dist/cli/{settings-IP47HYC6.mjs → settings-QSABRUHQ.mjs} +11 -11
- package/dist/cli/{settings-62SU5ROV.js → settings-WFZNZVHF.js} +78 -78
- package/dist/cli/{setup-YCCU7TU4.js → setup-JFEGYAMU.js} +44 -44
- package/dist/cli/{setup-LCKXUSW5.mjs → setup-KG22OTJO.mjs} +9 -9
- package/dist/cli/{skills-3QAQI6X7.mjs → skills-5XJM7UBQ.mjs} +7 -7
- package/dist/cli/skills-6DY62DEQ.js +31 -0
- package/dist/cli/{tools-HKD4G6HA.mjs → tools-2AMQKFP4.mjs} +16 -16
- package/dist/cli/tools-ENIGWVGY.js +55 -0
- package/dist/cli/{update-2VYSBSDD.mjs → update-KEN737KZ.mjs} +9 -9
- package/dist/cli/update-XZBBPRDV.js +33 -0
- package/dist/cli/{workflow-EFRGY6JD.mjs → workflow-L6Q5H3OO.mjs} +7 -7
- package/dist/cli/{workflow-MMWGUSGY.js → workflow-T622YRL4.js} +17 -17
- package/dist/{client-BOEAXwJj.d.ts → client-B3tlWsw7.d.ts} +1 -1
- package/dist/{client-DL0koOaP.d.mts → client-CdJR18SJ.d.mts} +1 -1
- package/dist/{client-core-CowyuxKu.d.mts → client-core-ByJD7QXj.d.mts} +1 -1
- package/dist/{client-core-BX_8khUY.d.ts → client-core-CxHBKfE5.d.ts} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +9 -9
- package/dist/index.mjs +6 -6
- package/dist/install-integrity.json +100 -100
- package/dist/plays/play-description.d.mts +1 -1
- package/dist/plays/play-description.d.ts +1 -1
- package/dist/plays/run-request.d.mts +1 -1
- package/dist/plays/run-request.d.ts +1 -1
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +2 -2
- package/dist/release.mjs +1 -1
- package/dist/server.d.mts +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +5 -5
- package/dist/server.mjs +3 -3
- package/package.json +1 -1
- package/dist/cli/auth-EXW5E3DI.js +0 -41
- package/dist/cli/describe-EPT52IUE.js +0 -48
- package/dist/cli/git-7L7LKOKW.js +0 -25
- package/dist/cli/search-HO7ARG3H.js +0 -32
- package/dist/cli/skills-UVAIKQNC.js +0 -31
- package/dist/cli/tools-KAIUUBTD.js +0 -55
- 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.
|
|
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
|
-
|
|
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(
|
|
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
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* capacity
|
|
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
|
-
?
|
|
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
|
|
1237
|
-
// Preview replica uses
|
|
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:
|
|
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:
|
|
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-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
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-
|
|
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;
|