deepline 0.3.360 → 0.3.362
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/observability/scheduled-work-control.ts +38 -0
- package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +1 -1
- package/dist/bundling-sources/shared_libs/product-notifications/events.ts +12 -3
- package/dist/cli/auth-FIW2P4ZF.js +33 -0
- package/dist/cli/{auth-WIK56FTM.mjs → auth-IQ2FZP6X.mjs} +4 -4
- package/dist/cli/{billing-E2YWHGEG.js → billing-CMN3NEBG.js} +73 -73
- package/dist/cli/{billing-Z5INYWJF.mjs → billing-VGYUUXH7.mjs} +4 -4
- package/dist/cli/{chunk-GB76G34M.mjs → chunk-2BZPK44I.mjs} +1 -1
- package/dist/cli/{chunk-TSUDECVA.js → chunk-2W4MDYJT.js} +8 -8
- package/dist/cli/{chunk-47GSGU6B.js → chunk-5F26AK2I.js} +2 -2
- package/dist/cli/{chunk-G6C345OF.js → chunk-6ZMC4V2C.js} +9 -9
- package/dist/cli/{chunk-CDIMKTXU.mjs → chunk-7VVON643.mjs} +1 -1
- package/dist/cli/{chunk-QKOCMGEF.js → chunk-ACOOB5IQ.js} +6 -6
- package/dist/cli/{chunk-S5MGA7JG.mjs → chunk-BA3XHL2P.mjs} +3 -3
- package/dist/cli/{chunk-UOBW6B2A.mjs → chunk-C3DGSZTH.mjs} +6 -6
- package/dist/cli/{chunk-JIECDRJ5.mjs → chunk-DZMSXW7V.mjs} +2 -2
- package/dist/cli/{chunk-RXH44EQO.js → chunk-FX5LBDDM.js} +45 -45
- package/dist/cli/{chunk-3ZTBGOJ3.mjs → chunk-GD4OBISR.mjs} +2 -2
- package/dist/cli/{chunk-AH3DNTXN.mjs → chunk-IDDBKTDA.mjs} +2 -2
- package/dist/cli/{chunk-3KPODTZE.mjs → chunk-ILJPNHLM.mjs} +1 -1
- package/dist/cli/{chunk-DLY2RISW.mjs → chunk-KEAPO5WK.mjs} +2 -2
- package/dist/cli/{chunk-ABGZWLSA.js → chunk-KEGOBVCN.js} +60 -60
- package/dist/cli/{chunk-24ANFAKD.mjs → chunk-NPFMDH5A.mjs} +4 -4
- package/dist/cli/{chunk-VF7JBQBP.js → chunk-NTMV3XMN.js} +224 -224
- package/dist/cli/{chunk-LEV3TVKG.js → chunk-QPVYLDIM.js} +15 -15
- package/dist/cli/{chunk-J6ITJPCD.js → chunk-R6SRXAMB.js} +8 -8
- package/dist/cli/{chunk-W7ZGLLOM.js → chunk-RQ54PVVO.js} +1 -1
- package/dist/cli/{chunk-47MAIUPI.js → chunk-S3K2HOXI.js} +4 -4
- package/dist/cli/{chunk-EYIROXZM.mjs → chunk-SEAUNX4P.mjs} +1 -1
- package/dist/cli/{chunk-LBIP5OGA.js → chunk-TAQOS22B.js} +50 -50
- package/dist/cli/{chunk-655HMFLH.mjs → chunk-U3U63MG5.mjs} +1 -1
- package/dist/cli/{chunk-JVELAXQN.js → chunk-UDGO5QUW.js} +26 -26
- package/dist/cli/{chunk-KRKGZZWZ.mjs → chunk-ZIQSRTY3.mjs} +5 -5
- package/dist/cli/{client-H4GIBJEM.mjs → client-2AJKSHB7.mjs} +3 -3
- package/dist/cli/client-JKCTNBFD.js +20 -0
- package/dist/cli/{csv-HHPA7FJT.js → csv-PNXWMQAE.js} +12 -12
- package/dist/cli/{csv-QBPUHPT6.mjs → csv-RPTXODPL.mjs} +3 -3
- package/dist/cli/{db-JFB6NXGD.mjs → db-66W44BV4.mjs} +4 -4
- package/dist/cli/{db-VZDYPTH2.js → db-H5G2GML7.js} +29 -29
- package/dist/cli/{describe-7YDQ6X4L.mjs → describe-TV6XMZM4.mjs} +8 -8
- package/dist/cli/{describe-KOTIPFHY.js → describe-UX5VB257.js} +15 -15
- package/dist/cli/{executions-YQ4UVHK7.js → executions-RALP45MH.js} +6 -6
- package/dist/cli/{executions-SYDFJPUP.mjs → executions-RSGE3X6S.mjs} +4 -4
- package/dist/cli/{feedback-HU4GBNRY.js → feedback-LQS7OPBD.js} +7 -7
- package/dist/cli/{feedback-YOSAFSEC.mjs → feedback-ZPXQK2DE.mjs} +3 -3
- package/dist/cli/git-KHHRY6X4.js +23 -0
- package/dist/cli/{git-TFGQOVE6.mjs → git-SAHKYZEA.mjs} +4 -4
- package/dist/cli/index.js +82 -82
- package/dist/cli/index.mjs +32 -32
- package/dist/cli/{legacy-noops-IDVIJV7Y.js → legacy-noops-42HDAUYJ.js} +7 -7
- package/dist/cli/{legacy-noops-VWUMF3R6.mjs → legacy-noops-ZRGJQUR2.mjs} +4 -4
- package/dist/cli/{monitors-HNDXF2DV.mjs → monitors-MWEPWAP2.mjs} +4 -4
- package/dist/cli/{monitors-GUYQVP3C.js → monitors-VOBRVLDA.js} +85 -85
- package/dist/cli/{org-BWAZSZBF.mjs → org-ABUXCXUN.mjs} +4 -4
- package/dist/cli/{org-EQZMRW7P.js → org-CYCNMJKY.js} +60 -60
- package/dist/cli/{play-ZPTBDDX7.mjs → play-I23F675X.mjs} +7 -7
- package/dist/cli/play-Z7PGORYB.js +153 -0
- package/dist/cli/{providers-Q3UVYCU6.mjs → providers-ONIGWKOI.mjs} +4 -4
- package/dist/cli/{providers-K236SWCW.js → providers-R7CFCS3A.js} +7 -7
- package/dist/cli/{quickstart-H6W5GM2C.mjs → quickstart-FE25MVGS.mjs} +3 -3
- package/dist/cli/{quickstart-REECR6WN.js → quickstart-KHN5U2QW.js} +5 -5
- package/dist/cli/search-E4FWDQZN.js +26 -0
- package/dist/cli/{search-V75LFUFC.mjs → search-ZTSNEBWW.mjs} +5 -5
- package/dist/cli/{secrets-O3SO6JKW.mjs → secrets-7FG3EFOM.mjs} +4 -4
- package/dist/cli/{secrets-BFGK3D5L.js → secrets-B66VQKTE.js} +13 -13
- package/dist/cli/{sessions-AT2ZDTED.js → sessions-NL7374WB.js} +5 -5
- package/dist/cli/{sessions-KNMG5C5R.mjs → sessions-W2INUE2N.mjs} +4 -4
- package/dist/cli/{settings-MM5LQN5C.mjs → settings-BSJVCDJQ.mjs} +7 -7
- package/dist/cli/{settings-B65AQVIF.js → settings-TI4VEXF4.js} +74 -74
- package/dist/cli/{setup-DCJZLL5Q.js → setup-IMABWEEX.js} +41 -41
- package/dist/cli/{setup-XDVYHF5Z.mjs → setup-OO46BANM.mjs} +6 -6
- package/dist/cli/skills-AE5KUFID.js +28 -0
- package/dist/cli/{skills-2QD2ECZC.mjs → skills-DNPINX75.mjs} +4 -4
- package/dist/cli/tools-2FUIU3DH.js +40 -0
- package/dist/cli/{tools-PYVK75OA.mjs → tools-P3A7JT26.mjs} +6 -6
- package/dist/cli/{update-QV7SWPRZ.mjs → update-RKRE2LRM.mjs} +6 -6
- package/dist/cli/update-U33POYJW.js +28 -0
- package/dist/cli/{workflow-Q7XOX2UK.js → workflow-MLVL6RYS.js} +15 -15
- package/dist/cli/{workflow-3YH3SYG5.mjs → workflow-W2HXBSMK.mjs} +5 -5
- package/dist/index.js +6 -6
- package/dist/index.mjs +3 -3
- package/dist/install-integrity.json +74 -74
- 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/package.json +1 -1
- package/dist/cli/auth-5ZEJNJGA.js +0 -33
- package/dist/cli/client-IGY5ULGD.js +0 -20
- package/dist/cli/git-AXOGXUBF.js +0 -23
- package/dist/cli/play-RXDF5ZEA.js +0 -153
- package/dist/cli/search-CICEFEUG.js +0 -26
- package/dist/cli/skills-PBCTBNZ4.js +0 -28
- package/dist/cli/tools-NIOHIQID.js +0 -40
- package/dist/cli/update-2O3MQ4OU.js +0 -28
|
@@ -200,7 +200,7 @@ export const SDK_RELEASE = {
|
|
|
200
200
|
// getters keep their established compatibility behavior.
|
|
201
201
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
202
202
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
203
|
-
version: '0.3.
|
|
203
|
+
version: '0.3.362',
|
|
204
204
|
updateSummary:
|
|
205
205
|
'Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.',
|
|
206
206
|
packageCapabilities: {
|
|
@@ -21,9 +21,25 @@ export const SCHEDULED_WORK_CONTROL_ACTIONS = [
|
|
|
21
21
|
export type ScheduledWorkControlAction =
|
|
22
22
|
(typeof SCHEDULED_WORK_CONTROL_ACTIONS)[number];
|
|
23
23
|
|
|
24
|
+
export type ScheduledWorkOrganizationTarget = {
|
|
25
|
+
readonly kind: 'organization';
|
|
26
|
+
readonly orgId: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type ScheduledWorkPreviewResult = {
|
|
30
|
+
readonly ok: boolean;
|
|
31
|
+
readonly dryRun: true;
|
|
32
|
+
readonly previewMode: 'transactional';
|
|
33
|
+
readonly state: 'unknown' | 'inProgress' | 'success' | 'failed' | 'canceled';
|
|
34
|
+
readonly processed: number;
|
|
35
|
+
readonly isDone: boolean;
|
|
36
|
+
readonly error: string | null;
|
|
37
|
+
};
|
|
38
|
+
|
|
24
39
|
export type ScheduledWorkControlContext = {
|
|
25
40
|
readonly jobId: string;
|
|
26
41
|
readonly environment: string;
|
|
42
|
+
readonly target?: ScheduledWorkOrganizationTarget;
|
|
27
43
|
readonly requestedByUserId: string;
|
|
28
44
|
readonly requestedByEmail: string;
|
|
29
45
|
readonly reason: string;
|
|
@@ -42,6 +58,12 @@ export type ScheduledWorkControlConnector = {
|
|
|
42
58
|
readonly scheduler: string;
|
|
43
59
|
readonly jobIds: readonly string[];
|
|
44
60
|
readonly actions: readonly ScheduledWorkControlAction[];
|
|
61
|
+
readonly targetKind?: 'organization';
|
|
62
|
+
readonly previewActions?: readonly ScheduledWorkControlAction[];
|
|
63
|
+
preview?: (
|
|
64
|
+
context: ScheduledWorkControlContext,
|
|
65
|
+
action: ScheduledWorkControlAction,
|
|
66
|
+
) => Promise<ScheduledWorkPreviewResult>;
|
|
45
67
|
/** Registered owners may expose an honest read-only adapter before a safe
|
|
46
68
|
* mutation exists. These reasons are returned by the same capability API. */
|
|
47
69
|
readonly unavailableActions?: Partial<
|
|
@@ -67,6 +89,8 @@ export type ScheduledWorkControlCapability =
|
|
|
67
89
|
readonly action: ScheduledWorkControlAction;
|
|
68
90
|
readonly connectorId: string;
|
|
69
91
|
readonly scheduler: string;
|
|
92
|
+
readonly targetKind?: 'organization';
|
|
93
|
+
readonly previewMode?: 'transactional';
|
|
70
94
|
}
|
|
71
95
|
| {
|
|
72
96
|
readonly available: false;
|
|
@@ -120,6 +144,16 @@ export class ScheduledWorkControlRegistry {
|
|
|
120
144
|
`Scheduled-work connector ${connector.id} must declare a supported action or an explicit unavailable reason.`,
|
|
121
145
|
);
|
|
122
146
|
}
|
|
147
|
+
if (
|
|
148
|
+
connector.previewActions?.some(
|
|
149
|
+
(action) => !connector.actions.includes(action),
|
|
150
|
+
) ||
|
|
151
|
+
(connector.previewActions?.length && !connector.preview)
|
|
152
|
+
) {
|
|
153
|
+
throw new Error(
|
|
154
|
+
`Scheduled-work connector ${connector.id} has invalid preview actions.`,
|
|
155
|
+
);
|
|
156
|
+
}
|
|
123
157
|
const jobIds = new Set<string>();
|
|
124
158
|
for (const jobId of connector.jobIds) {
|
|
125
159
|
if (!jobId.trim())
|
|
@@ -166,6 +200,10 @@ export class ScheduledWorkControlRegistry {
|
|
|
166
200
|
action,
|
|
167
201
|
connectorId: connector.id,
|
|
168
202
|
scheduler: connector.scheduler,
|
|
203
|
+
...(connector.targetKind ? { targetKind: connector.targetKind } : {}),
|
|
204
|
+
...(connector.previewActions?.includes(action)
|
|
205
|
+
? { previewMode: 'transactional' as const }
|
|
206
|
+
: {}),
|
|
169
207
|
};
|
|
170
208
|
}
|
|
171
209
|
return {
|
|
@@ -773,7 +773,7 @@ const PRODUCT_NOTIFICATION_TYPE_REGISTRY = [
|
|
|
773
773
|
},
|
|
774
774
|
}),
|
|
775
775
|
present: ({ payload }) => ({
|
|
776
|
-
title: `${payload.isFirstPurchase === true ? '🎉 First credit purchase' : 'Credit purchase'}: $${(Number(payload.amountPaidCents) / 100).toFixed(2)}`,
|
|
776
|
+
title: `${payload.isFirstPurchase === true ? '🎉 First credit purchase' : 'Credit purchase'}${payload.isAutoTopup === true ? ' (Auto top-up)' : ''}: $${(Number(payload.amountPaidCents) / 100).toFixed(2)}`,
|
|
777
777
|
summary: [
|
|
778
778
|
{ workspace: true },
|
|
779
779
|
` purchased ${formatCredits(Number(payload.credits))} credits.`,
|
|
@@ -213,6 +213,7 @@ export const PRODUCT_NOTIFICATION_EVENT_DEFINITIONS: readonly ProductNotificatio
|
|
|
213
213
|
amountPaidCents: 'number',
|
|
214
214
|
currency: 'string',
|
|
215
215
|
isFirstPurchase: 'boolean',
|
|
216
|
+
isAutoTopup: 'boolean',
|
|
216
217
|
},
|
|
217
218
|
orderingSubjectFact: 'accountId',
|
|
218
219
|
allowedTriggers: ['threshold_crossing'],
|
|
@@ -294,6 +295,13 @@ function requireInternalTargetPath(value: unknown) {
|
|
|
294
295
|
}
|
|
295
296
|
}
|
|
296
297
|
|
|
298
|
+
export class ProductNotificationEventExpiredError extends Error {
|
|
299
|
+
constructor() {
|
|
300
|
+
super('Notification event is older than 30 days.');
|
|
301
|
+
this.name = 'ProductNotificationEventExpiredError';
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
297
305
|
/** Validate the semantic event contract after the producer transaction commits. */
|
|
298
306
|
export function validateProductNotificationEvent(
|
|
299
307
|
event: ProductNotificationCanonicalEvent,
|
|
@@ -318,9 +326,6 @@ export function validateProductNotificationEvent(
|
|
|
318
326
|
) {
|
|
319
327
|
throw new Error('Event timestamps must be finite.');
|
|
320
328
|
}
|
|
321
|
-
if (event.occurredAt < now - PRODUCT_NOTIFICATION_MAX_EVENT_AGE_MS) {
|
|
322
|
-
throw new Error('Notification event is older than 30 days.');
|
|
323
|
-
}
|
|
324
329
|
if (event.admittedAt > now) {
|
|
325
330
|
throw new Error('Notification admission time is in the future.');
|
|
326
331
|
}
|
|
@@ -370,6 +375,10 @@ export function validateProductNotificationEvent(
|
|
|
370
375
|
) {
|
|
371
376
|
throw new Error('Notification event exceeds its byte bound.');
|
|
372
377
|
}
|
|
378
|
+
// Expiry is terminal queue work only after the rest of the contract is valid.
|
|
379
|
+
if (event.occurredAt < now - PRODUCT_NOTIFICATION_MAX_EVENT_AGE_MS) {
|
|
380
|
+
throw new ProductNotificationEventExpiredError();
|
|
381
|
+
}
|
|
373
382
|
return definition;
|
|
374
383
|
}
|
|
375
384
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkTAQOS22Bjs = require('./chunk-TAQOS22B.js');
|
|
14
|
+
require('./chunk-ACOOB5IQ.js');
|
|
15
|
+
require('./chunk-S3K2HOXI.js');
|
|
16
|
+
require('./chunk-XNYIZMNQ.js');
|
|
17
|
+
require('./chunk-7P5AA3SN.js');
|
|
18
|
+
require('./chunk-RQ54PVVO.js');
|
|
19
|
+
require('./chunk-OG64RBAC.js');
|
|
20
|
+
require('./chunk-COGTRVWW.js');
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
exports.EXIT_WORKSPACE_MISMATCH = _chunkTAQOS22Bjs.EXIT_WORKSPACE_MISMATCH; exports.authStatusLine = _chunkTAQOS22Bjs.authStatusLine; exports.clearPendingClaim = _chunkTAQOS22Bjs.clearPendingClaim; exports.clearSatisfiedPendingClaim = _chunkTAQOS22Bjs.clearSatisfiedPendingClaim; exports.handleRegister = _chunkTAQOS22Bjs.handleRegister; exports.handleStatus = _chunkTAQOS22Bjs.handleStatus; exports.handleWait = _chunkTAQOS22Bjs.handleWait; exports.readPendingAuthClaim = _chunkTAQOS22Bjs.readPendingAuthClaim; exports.registerAuthCommands = _chunkTAQOS22Bjs.registerAuthCommands; exports.reportSetupCompleted = _chunkTAQOS22Bjs.reportSetupCompleted; exports.resolvePendingAuthClaimForResume = _chunkTAQOS22Bjs.resolvePendingAuthClaimForResume;
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
registerAuthCommands,
|
|
11
11
|
reportSetupCompleted,
|
|
12
12
|
resolvePendingAuthClaimForResume
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-DZMSXW7V.mjs";
|
|
14
|
+
import "./chunk-SEAUNX4P.mjs";
|
|
15
|
+
import "./chunk-2BZPK44I.mjs";
|
|
16
16
|
import "./chunk-DLIRSHV6.mjs";
|
|
17
17
|
import "./chunk-NXGCO4JB.mjs";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-7VVON643.mjs";
|
|
19
19
|
import "./chunk-WZYKRD7T.mjs";
|
|
20
20
|
import "./chunk-KRD6H754.mjs";
|
|
21
21
|
export {
|