deepline 0.3.460 → 0.3.461

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 (99) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/monitors/billing/state.ts +28 -0
  3. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-dead-letter.ts +24 -0
  4. package/dist/cli/{auth-HKA6ZVHQ.mjs → auth-6HJXNWUG.mjs} +4 -4
  5. package/dist/cli/auth-IACERYQH.js +40 -0
  6. package/dist/cli/{billing-MTO2ZZ3G.js → billing-6P5HO6QG.js} +73 -73
  7. package/dist/cli/{billing-26G44S5N.mjs → billing-MJ42N7YF.mjs} +4 -4
  8. package/dist/cli/{chunk-RZSTT45F.mjs → chunk-3BMLICF7.mjs} +3 -3
  9. package/dist/cli/{chunk-RBTTUYZZ.js → chunk-5FDKJQZE.js} +1 -1
  10. package/dist/cli/{chunk-VJAEA4CS.js → chunk-5FY72YOV.js} +8 -8
  11. package/dist/cli/{chunk-LJTFZOHU.js → chunk-5IYOUBFZ.js} +8 -8
  12. package/dist/cli/{chunk-BHGII2D6.js → chunk-5MDIZX7M.js} +6 -6
  13. package/dist/cli/{chunk-YHTQM5XI.js → chunk-ACCR7POB.js} +26 -26
  14. package/dist/cli/{chunk-LVJOFUU7.mjs → chunk-BGY2PLP7.mjs} +3 -3
  15. package/dist/cli/{chunk-2PBN4SZE.js → chunk-CRYOUPEB.js} +16 -16
  16. package/dist/cli/{chunk-2XHWOQF4.js → chunk-FCAZQ7WV.js} +50 -50
  17. package/dist/cli/{chunk-S4Q2XCGM.mjs → chunk-FGLKOWSC.mjs} +1 -1
  18. package/dist/cli/{chunk-LMAULZLF.js → chunk-FGMX4HUZ.js} +20 -20
  19. package/dist/cli/{chunk-MLFR6DVF.mjs → chunk-FJZILBL7.mjs} +5 -5
  20. package/dist/cli/{chunk-CTRPCARW.mjs → chunk-IHHLTHE7.mjs} +8 -8
  21. package/dist/cli/{chunk-QGAWTBIR.js → chunk-KCCOQ5G5.js} +81 -81
  22. package/dist/cli/{chunk-KADIT5NV.mjs → chunk-KVJ5VHW5.mjs} +2 -2
  23. package/dist/cli/{chunk-VTODQWQA.js → chunk-MDJPEGVN.js} +10 -10
  24. package/dist/cli/{chunk-XAYO3Q2X.mjs → chunk-MEAIOXJL.mjs} +2 -2
  25. package/dist/cli/{chunk-NH6JSJW6.mjs → chunk-MGXEUZHL.mjs} +3 -3
  26. package/dist/cli/{chunk-NRGGFVVB.js → chunk-O6QOMHCH.js} +35 -35
  27. package/dist/cli/{chunk-RDPTDDKX.js → chunk-OZBWRICM.js} +2 -2
  28. package/dist/cli/{chunk-YS2YBSJB.js → chunk-PNATXKLP.js} +6 -6
  29. package/dist/cli/{chunk-526R2HON.mjs → chunk-QAJAJPKK.mjs} +1 -1
  30. package/dist/cli/{chunk-OJ6RUKVT.mjs → chunk-QEYHTIV4.mjs} +1 -1
  31. package/dist/cli/{chunk-W3BE3CHK.mjs → chunk-QIW7TVV6.mjs} +4 -4
  32. package/dist/cli/{chunk-YVBWO647.mjs → chunk-R64BGGRQ.mjs} +2 -2
  33. package/dist/cli/{chunk-YULBYKAK.mjs → chunk-RFONC4WJ.mjs} +2 -2
  34. package/dist/cli/{chunk-OMM54B3X.mjs → chunk-RY4IVOU3.mjs} +1 -1
  35. package/dist/cli/{chunk-UKFZT7RF.js → chunk-SAZFZQRI.js} +2 -2
  36. package/dist/cli/{chunk-2WRO2UJ5.js → chunk-SCIR5JXW.js} +51 -51
  37. package/dist/cli/{chunk-EJGBLXDZ.mjs → chunk-T3MVIPHG.mjs} +1 -1
  38. package/dist/cli/{chunk-M52JQSLK.js → chunk-TNMBPMMC.js} +3 -3
  39. package/dist/cli/{chunk-LAWEURCT.mjs → chunk-V7REJRDZ.mjs} +1 -1
  40. package/dist/cli/{chunk-ZR2RLI4O.mjs → chunk-VZBCEA5S.mjs} +1 -1
  41. package/dist/cli/{chunk-QJLKYYPX.js → chunk-YQDUODZW.js} +4 -4
  42. package/dist/cli/{csv-MDHT4BKK.mjs → csv-DQ6GW5B5.mjs} +3 -3
  43. package/dist/cli/{csv-6FNFYJUC.js → csv-NX7NO3O6.js} +12 -12
  44. package/dist/cli/{db-74O3RFWY.mjs → db-2YP33M4K.mjs} +4 -4
  45. package/dist/cli/{db-D6AMVOEW.js → db-R72DFMP6.js} +25 -25
  46. package/dist/cli/{describe-QW54QQNB.js → describe-2WQY7ZCY.js} +17 -17
  47. package/dist/cli/{describe-TOMIAT37.mjs → describe-FRAVCY5F.mjs} +13 -13
  48. package/dist/cli/{executions-PVSF4HUF.mjs → executions-WFBU7L2Q.mjs} +4 -4
  49. package/dist/cli/{executions-N4FMGVSC.js → executions-ZLHD4QIT.js} +6 -6
  50. package/dist/cli/{feedback-OB7NANZW.mjs → feedback-CN3HJFVF.mjs} +3 -3
  51. package/dist/cli/{feedback-WFSPCAI2.js → feedback-NDV6TPHG.js} +7 -7
  52. package/dist/cli/git-JVI36ZFV.js +24 -0
  53. package/dist/cli/{git-FHUSPAEU.mjs → git-QAD6E3HW.mjs} +4 -4
  54. package/dist/cli/index.js +132 -132
  55. package/dist/cli/index.mjs +37 -37
  56. package/dist/cli/{legacy-noops-ECHNA5HN.js → legacy-noops-KVC5QJ74.js} +7 -7
  57. package/dist/cli/{legacy-noops-HMK4BSCI.mjs → legacy-noops-TPTKNBI2.mjs} +4 -4
  58. package/dist/cli/{monitors-XLLFNENH.js → monitors-KCROV6PJ.js} +89 -89
  59. package/dist/cli/{monitors-U7VQ3EZM.mjs → monitors-SV57JFLO.mjs} +5 -5
  60. package/dist/cli/{org-6H3USO5M.mjs → org-KX6QIR7A.mjs} +4 -4
  61. package/dist/cli/{org-QX6ER2HN.js → org-NJYX5743.js} +66 -66
  62. package/dist/cli/{play-WNB7HBZK.js → play-32L7EQN4.js} +284 -284
  63. package/dist/cli/{play-MOB2WYOR.mjs → play-IQQ57L7Z.mjs} +11 -11
  64. package/dist/cli/{providers-CXEZ23E2.mjs → providers-4WEC2EQN.mjs} +4 -4
  65. package/dist/cli/{providers-7M3DISKX.js → providers-ZQV6QLVQ.js} +7 -7
  66. package/dist/cli/{quickstart-CLJT4AZL.js → quickstart-HKUSFADF.js} +5 -5
  67. package/dist/cli/{quickstart-ZFCHKHF6.mjs → quickstart-RQ76RIUE.mjs} +3 -3
  68. package/dist/cli/search-75X5LTDE.js +30 -0
  69. package/dist/cli/{search-FVYWYIC3.mjs → search-ZRAVFBZC.mjs} +5 -5
  70. package/dist/cli/{secrets-WAMPTQFC.mjs → secrets-CMJOVNVH.mjs} +4 -4
  71. package/dist/cli/{secrets-YRLKZQS5.js → secrets-J3G5Y43U.js} +13 -13
  72. package/dist/cli/{sessions-IQ332BJH.mjs → sessions-MDQYY5CB.mjs} +4 -4
  73. package/dist/cli/{sessions-44J6WIVU.js → sessions-WY7VN4AE.js} +5 -5
  74. package/dist/cli/{settings-22S6NIFQ.mjs → settings-4RWZPCT5.mjs} +9 -9
  75. package/dist/cli/{settings-4IJR2I2T.js → settings-HTNTFKCE.js} +76 -76
  76. package/dist/cli/{setup-OZUPKKPW.mjs → setup-P3GYYZWG.mjs} +8 -8
  77. package/dist/cli/{setup-3FWSRNOX.js → setup-QGCAP62X.js} +43 -43
  78. package/dist/cli/{skills-5CW3NFP3.mjs → skills-7NAE4ICL.mjs} +6 -6
  79. package/dist/cli/skills-BKJ53JOQ.js +30 -0
  80. package/dist/cli/{tools-NOPBDRGW.mjs → tools-COWMIEJ6.mjs} +13 -13
  81. package/dist/cli/tools-TASOCE7I.js +45 -0
  82. package/dist/cli/{update-IBULOV7P.mjs → update-GODLRKNB.mjs} +8 -8
  83. package/dist/cli/update-SJIKVME6.js +32 -0
  84. package/dist/cli/{workflow-MVZT7MWT.mjs → workflow-4BXOUVEO.mjs} +5 -5
  85. package/dist/cli/{workflow-Z7FW6GT2.js → workflow-AO3A6LXN.js} +15 -15
  86. package/dist/index.js +6 -6
  87. package/dist/index.mjs +3 -3
  88. package/dist/install-integrity.json +80 -80
  89. package/dist/release.d.mts +1 -1
  90. package/dist/release.d.ts +1 -1
  91. package/dist/release.js +2 -2
  92. package/dist/release.mjs +1 -1
  93. package/package.json +1 -1
  94. package/dist/cli/auth-VDOCNR7H.js +0 -40
  95. package/dist/cli/git-4PMBJSH5.js +0 -24
  96. package/dist/cli/search-4CCQCTVD.js +0 -30
  97. package/dist/cli/skills-LMNM6B5F.js +0 -30
  98. package/dist/cli/tools-AGBBDJ7P.js +0 -45
  99. package/dist/cli/update-U3W6USVD.js +0 -32
@@ -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.460',
208
+ version: '0.3.461',
209
209
  updateSummary: {
210
210
  introducedIn: '0.3.90',
211
211
  summary:
@@ -285,6 +285,34 @@ export function monitorBillingStateWithProviderRenewal(input: {
285
285
  };
286
286
  }
287
287
 
288
+ /**
289
+ * An active, paid provider subscription that no renewal pass can ever select.
290
+ *
291
+ * Subscription renewal ranges only on the indexed `cancelBeforeAt` copy, and a
292
+ * periodic renewal only on `nextRenewalAt`. A paid monitor that carries a
293
+ * provider-subscription receipt (`provider_next_charge_at` or
294
+ * `cancel_before_at` in its billing JSON) but neither indexed anchor is never
295
+ * charged again while the provider keeps billing Deepline (KAR-103). Only a
296
+ * subscription can carry that receipt: an update-priced create refuses a
297
+ * provider `next_charge_at` outright, so the receipt is the discriminator and
298
+ * no billing-policy lookup is needed here.
299
+ */
300
+ export function paidSubscriptionLacksRenewalAnchor(row: {
301
+ status: string;
302
+ cancelBeforeAt?: string | null;
303
+ nextRenewalAt?: string | null;
304
+ billingState: unknown;
305
+ }): boolean {
306
+ if (row.status !== 'active') return false;
307
+ if (row.cancelBeforeAt || row.nextRenewalAt) return false;
308
+ const state = parseStoredMonitorBillingState(row.billingState);
309
+ if (state.state !== 'active' && state.state !== 'billing_pending') {
310
+ return false;
311
+ }
312
+ if (state.lifecycle_charge_credits <= 0) return false;
313
+ return Boolean(state.provider_next_charge_at || state.cancel_before_at);
314
+ }
315
+
288
316
  export function defaultMonitorBillingState(): StoredMonitorBillingState {
289
317
  return {
290
318
  state: 'billing_pending',
@@ -1,6 +1,10 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { isRepairableTenantDataPlaneError } from '@deepline/ingestion-v2/tenant-data-plane-errors';
3
3
  import type { SignalRadarInboundMessage } from '@deepline/monitors/signal-radars/inbound-message';
4
+ import {
5
+ hasMonitorSdkValidationIssues,
6
+ MONITOR_SDK_VALIDATION_ERROR_CODE,
7
+ } from '@deepline/monitors/validation';
4
8
 
5
9
  // Minimal pg client seam shared with the ingestion stack: a `query(sql, args)`
6
10
  // that returns `{ rows }`. Deliberately structural so PGlite (tests) and the
@@ -73,8 +77,28 @@ export function classifyInboundFailure(error: unknown): InboundFailureClass {
73
77
  ]);
74
78
  if (code && transientCodes.has(code)) return 'transient';
75
79
 
80
+ // A lifecycle fence is temporary contention, including while recording a
81
+ // billing suspension. Preserve the callback until its owner finishes; do
82
+ // not classify unrelated validation failures as retryable.
83
+ if (
84
+ code === MONITOR_SDK_VALIDATION_ERROR_CODE &&
85
+ hasMonitorSdkValidationIssues(error) &&
86
+ error.issues.length > 0 &&
87
+ error.issues.every(
88
+ (issue) =>
89
+ issue?.code === 'provider_monitor_operation_in_progress' ||
90
+ issue?.code === 'provider_monitor_delete_in_progress',
91
+ )
92
+ ) {
93
+ return 'transient';
94
+ }
95
+
76
96
  const message = errorMessage(error);
77
97
  const transientPatterns = [
98
+ // pg reports subsequent operations on a client whose connection failed
99
+ // without retaining the original socket error's code. A fresh delivery
100
+ // acquires a usable client; this is infrastructure failure, not poison.
101
+ /client has encountered a connection error and is not queryable/i,
78
102
  /connection (?:terminated|refused|reset|closed|failure)/i,
79
103
  /could not connect to server/i,
80
104
  /connection to server .* failed/i,
@@ -13,13 +13,13 @@ import {
13
13
  reportSetupCompleted,
14
14
  resolvePendingAuthClaimForResume,
15
15
  statusBannerLine
16
- } from "./chunk-XAYO3Q2X.mjs";
17
- import "./chunk-526R2HON.mjs";
18
- import "./chunk-OMM54B3X.mjs";
16
+ } from "./chunk-MEAIOXJL.mjs";
17
+ import "./chunk-QAJAJPKK.mjs";
18
+ import "./chunk-RY4IVOU3.mjs";
19
19
  import "./chunk-4QF2K7TM.mjs";
20
20
  import "./chunk-DLIRSHV6.mjs";
21
21
  import "./chunk-HBL4PM5Q.mjs";
22
- import "./chunk-EJGBLXDZ.mjs";
22
+ import "./chunk-T3MVIPHG.mjs";
23
23
  import "./chunk-WZYKRD7T.mjs";
24
24
  import "./chunk-KRD6H754.mjs";
25
25
  export {
@@ -0,0 +1,40 @@
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 _chunkFCAZQ7WVjs = require('./chunk-FCAZQ7WV.js');
17
+ require('./chunk-5MDIZX7M.js');
18
+ require('./chunk-YQDUODZW.js');
19
+ require('./chunk-ALJJRZNJ.js');
20
+ require('./chunk-XNYIZMNQ.js');
21
+ require('./chunk-DIAWYWT5.js');
22
+ require('./chunk-5FDKJQZE.js');
23
+ require('./chunk-OG64RBAC.js');
24
+ require('./chunk-COGTRVWW.js');
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ exports.EXIT_WORKSPACE_MISMATCH = _chunkFCAZQ7WVjs.EXIT_WORKSPACE_MISMATCH; exports.authStatusLine = _chunkFCAZQ7WVjs.authStatusLine; exports.clearPendingClaim = _chunkFCAZQ7WVjs.clearPendingClaim; exports.clearSatisfiedPendingClaim = _chunkFCAZQ7WVjs.clearSatisfiedPendingClaim; exports.handleRegister = _chunkFCAZQ7WVjs.handleRegister; exports.handleStatus = _chunkFCAZQ7WVjs.handleStatus; exports.handleWait = _chunkFCAZQ7WVjs.handleWait; exports.httpJson = _chunkFCAZQ7WVjs.httpJson; exports.readPendingAuthClaim = _chunkFCAZQ7WVjs.readPendingAuthClaim; exports.readStatusBanner = _chunkFCAZQ7WVjs.readStatusBanner; exports.registerAuthCommands = _chunkFCAZQ7WVjs.registerAuthCommands; exports.reportSetupCompleted = _chunkFCAZQ7WVjs.reportSetupCompleted; exports.resolvePendingAuthClaimForResume = _chunkFCAZQ7WVjs.resolvePendingAuthClaimForResume; exports.statusBannerLine = _chunkFCAZQ7WVjs.statusBannerLine;