deepline 0.3.86 → 0.3.87

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 (65) hide show
  1. package/dist/bundling-sources/sdk/src/client.ts +2 -2
  2. package/dist/bundling-sources/sdk/src/monitor-fleet-contract.ts +1 -1
  3. package/dist/bundling-sources/sdk/src/plays/bundle-play-file.ts +1 -1
  4. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  5. package/dist/bundling-sources/shared_libs/integration-contracts/AGENTS.md +9 -0
  6. package/dist/bundling-sources/shared_libs/integration-contracts/README.md +3 -0
  7. package/dist/bundling-sources/shared_libs/integration-contracts/index.ts +2 -0
  8. package/dist/bundling-sources/shared_libs/monitors/analytics-install-guides.ts +77 -0
  9. package/dist/bundling-sources/shared_libs/monitors/billing/charges.ts +125 -0
  10. package/dist/bundling-sources/shared_libs/monitors/billing/policy-builders.ts +686 -0
  11. package/dist/bundling-sources/shared_libs/monitors/billing/pricing.ts +54 -0
  12. package/dist/bundling-sources/shared_libs/monitors/billing/public-pricing.ts +72 -0
  13. package/dist/bundling-sources/shared_libs/monitors/billing/session.ts +45 -0
  14. package/dist/bundling-sources/shared_libs/monitors/billing/state.ts +454 -0
  15. package/dist/bundling-sources/shared_libs/monitors/billing/tamradar.ts +260 -0
  16. package/dist/bundling-sources/shared_libs/monitors/billing/types.ts +215 -0
  17. package/dist/bundling-sources/shared_libs/monitors/callback-security.ts +333 -0
  18. package/dist/bundling-sources/shared_libs/monitors/cursor-page.ts +42 -0
  19. package/dist/bundling-sources/shared_libs/monitors/framework-managed-payload-fields.ts +71 -0
  20. package/dist/bundling-sources/shared_libs/monitors/generated/provider-monitor-callback-admission-targets.ts +16 -0
  21. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +267 -0
  22. package/dist/bundling-sources/shared_libs/monitors/inbound-publish-key.ts +39 -0
  23. package/dist/bundling-sources/shared_libs/monitors/inbound-queue.ts +82 -0
  24. package/dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts +473 -0
  25. package/dist/bundling-sources/shared_libs/monitors/org-monitor-limits.ts +1 -1
  26. package/dist/bundling-sources/shared_libs/monitors/package.json +29 -0
  27. package/dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts +1125 -0
  28. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts +964 -0
  29. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-consumer-health.ts +56 -0
  30. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-errors.ts +131 -0
  31. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-identity-claims.ts +527 -0
  32. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-legacy-aliases.ts +16 -0
  33. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-priority-execution.ts +56 -0
  34. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-public-aliases.ts +28 -0
  35. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-runtime-read-eligibility.ts +38 -0
  36. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-status.ts +10 -0
  37. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +112 -0
  38. package/dist/bundling-sources/shared_libs/monitors/provider-webhook-monitor-runtime.ts +300 -0
  39. package/dist/bundling-sources/shared_libs/monitors/quickstart-prompts.ts +22 -0
  40. package/dist/bundling-sources/shared_libs/monitors/snitcher-install-validation.ts +93 -0
  41. package/dist/bundling-sources/shared_libs/monitors/snitcher-ip2company.ts +332 -0
  42. package/dist/bundling-sources/shared_libs/monitors/snitcher-radar.ts +221 -0
  43. package/dist/bundling-sources/shared_libs/monitors/starter-templates.ts +105 -0
  44. package/dist/bundling-sources/shared_libs/monitors/tracking-provider-guidance.ts +73 -0
  45. package/dist/bundling-sources/shared_libs/monitors/tracking-provider-integrations.ts +81 -0
  46. package/dist/bundling-sources/shared_libs/monitors/tsconfig.json +10 -0
  47. package/dist/bundling-sources/shared_libs/play-runtime/runtime-env.ts +6 -0
  48. package/dist/bundling-sources/shared_libs/play-runtime/tool-http-errors.ts +1 -1
  49. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +1 -1
  50. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +302 -0
  51. package/dist/bundling-sources/shared_libs/plays/email-status.ts +1 -1
  52. package/dist/bundling-sources/shared_libs/plays/tool-category-descriptions.ts +2 -2
  53. package/dist/bundling-sources/shared_libs/runtime-env.ts +6 -0
  54. package/dist/bundling-sources/shared_libs/security/header-safe-env.ts +28 -0
  55. package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +267 -0
  56. package/dist/cli/index.js +6 -4
  57. package/dist/cli/index.mjs +6 -4
  58. package/dist/index.d.mts +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.js +3 -3
  61. package/dist/index.mjs +3 -3
  62. package/dist/install-integrity.json +45 -2
  63. package/package.json +3 -1
  64. /package/dist/bundling-sources/shared_libs/{integrations/bettercontact-execution-policy.ts → integration-contracts/bettercontact/execution-policy.ts} +0 -0
  65. /package/dist/bundling-sources/shared_libs/{integrations/theirstack-execution-policy.ts → integration-contracts/theirstack/execution-policy.ts} +0 -0
@@ -0,0 +1,267 @@
1
+ const REDACTED_VALUE = '[REDACTED]';
2
+
3
+ type SecretRedactionOptions = {
4
+ redactHighEntropy?: boolean;
5
+ };
6
+
7
+ const SENSITIVE_KEY_PATTERNS = [
8
+ /^api[-_]?key$/i,
9
+ /^x[-_]?api[-_]?key$/i,
10
+ /secret/i,
11
+ /token/i,
12
+ /password/i,
13
+ /authorization/i,
14
+ /cookie/i,
15
+ /credential/i,
16
+ /private/i,
17
+ ];
18
+
19
+ const SAFE_IDENTIFIER_KEYS = new Set([
20
+ 'artifactHash',
21
+ 'artifactHashes',
22
+ 'artifact_hash',
23
+ 'artifact_hashes',
24
+ 'graphHash',
25
+ 'graph_hash',
26
+ 'hash',
27
+ 'idempotencyKey',
28
+ 'idempotency_key',
29
+ 'key',
30
+ 'session',
31
+ 'sessionId',
32
+ 'session_id',
33
+ 'sessionIds',
34
+ 'session_ids',
35
+ 'promptId',
36
+ 'prompt_id',
37
+ 'requestId',
38
+ 'request_id',
39
+ 'upload_id',
40
+ // Durable-call runtime identity fields. These are non-secret
41
+ // `ctx:<org>:call:tool:<tool>:<hash>` receipt/idempotency keys (and their
42
+ // `:force:<lease>` / `:ordered:<hash>` variants) surfaced on tool-result
43
+ // `_metadata.execution` and echoed provider idempotency metadata.
44
+ // Explicit-secret patterns below still redact real secrets that ever appear
45
+ // under these keys.
46
+ 'receiptKey',
47
+ 'receipt_key',
48
+ 'attachedToReceiptKey',
49
+ 'attached_to_receipt_key',
50
+ 'durableCallReceiptKey',
51
+ 'durable_call_receipt_key',
52
+ 'providerIdempotencyKey',
53
+ 'provider_idempotency_key',
54
+ 'cacheKey',
55
+ 'cache_key',
56
+ // Non-secret run-output identifiers.
57
+ 'targetTable',
58
+ 'target_table',
59
+ 'tableNamespace',
60
+ 'table_namespace',
61
+ 'queryId',
62
+ 'query_id',
63
+ 'queryIds',
64
+ 'query_ids',
65
+ 'snowflakeQueryId',
66
+ 'snowflake_query_id',
67
+ 'snowflakeQueryIds',
68
+ 'snowflake_query_ids',
69
+ ]);
70
+
71
+ const EXPLICIT_SECRET_VALUE_PATTERNS = [
72
+ /\bnapi_[a-z0-9]{20,}\b/i,
73
+ /\bgh[opsu]_[A-Za-z0-9_]{20,}\b/,
74
+ /\bwhsec_[a-z0-9]+\b/i,
75
+ /\bsk-proj-[A-Za-z0-9_-]{20,}\b/,
76
+ /\bxox[baprs]-[A-Za-z0-9-]{20,}\b/i,
77
+ /\b(sk|rk)_(live|test)_[a-z0-9]+\b/i,
78
+ /\bpostgres(?:ql)?:\/\/[^\s'"]+/i,
79
+ /\bhttps?:\/\/[^/\s'"]+:[^@\s'"]+@[^/\s'"]+/i,
80
+ ];
81
+
82
+ const HIGH_ENTROPY_VALUE_PATTERN = /\b[A-Za-z0-9+/=_-]{32,}\b/g;
83
+ // A public hostname can legitimately contain a generated label longer than the
84
+ // high-entropy threshold (for example, a per-run probe hostname). Preserve the
85
+ // complete hostname after known secret formats have already been checked.
86
+ const PUBLIC_DNS_NAME_PATTERN =
87
+ /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}\.?$/i;
88
+ const SENSITIVE_URL_PARAM_KEY_PATTERN =
89
+ /(?:api[-_]?key|x[-_]?api[-_]?key|token|access[-_]?token|refresh[-_]?token|secret|password|authorization|credential|signature|sig)/i;
90
+ const BEARER_SECRET_PATTERN = /\b(Bearer)\s+[A-Za-z0-9._~+/=-]{8,}/gi;
91
+ const ASSIGNMENT_SECRET_PATTERN =
92
+ /\b(access[-_]?token|refresh[-_]?token|token|x[-_\s]?api[-_\s]?key|api[-_\s]?key|apikey|password|secret|session)\b(\s*[:=]\s*)[^\s'",;)}\]]+/gi;
93
+ const AUTH_ASSIGNMENT_SECRET_PATTERN =
94
+ /\b(auth(?:orization)?)\b(\s*[:=]\s*)(?!Bearer\b)(?:[A-Za-z]+\s+)?[^\s'",;)}\]]+/gi;
95
+ const SENSITIVE_URL_PARAM_VALUE_PATTERN =
96
+ /([?&#](?:api[-_]?key|x[-_]?api[-_]?key|token|access[-_]?token|refresh[-_]?token|secret|password|authorization|credential|signature|sig)=)[^&#\s'"]+/gi;
97
+
98
+ function inspectStandalonePublicHttpUrl(
99
+ value: string,
100
+ ): 'safe' | 'sensitive' | null {
101
+ const trimmed = value.trim();
102
+ if (!trimmed || /\s/.test(trimmed)) {
103
+ return null;
104
+ }
105
+
106
+ let url: URL;
107
+ try {
108
+ url = new URL(trimmed);
109
+ } catch {
110
+ return null;
111
+ }
112
+
113
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
114
+ return null;
115
+ }
116
+ if (url.username || url.password) {
117
+ return 'sensitive';
118
+ }
119
+
120
+ for (const key of url.searchParams.keys()) {
121
+ if (SENSITIVE_URL_PARAM_KEY_PATTERN.test(key)) {
122
+ return 'sensitive';
123
+ }
124
+ }
125
+ if (url.hash && SENSITIVE_URL_PARAM_KEY_PATTERN.test(url.hash)) {
126
+ return 'sensitive';
127
+ }
128
+ return 'safe';
129
+ }
130
+
131
+ function shouldRedactKey(key: string) {
132
+ if (SAFE_IDENTIFIER_KEYS.has(key)) {
133
+ return false;
134
+ }
135
+ return SENSITIVE_KEY_PATTERNS.some((pattern) => pattern.test(key));
136
+ }
137
+
138
+ function maybeRedactString(value: string, options: SecretRedactionOptions) {
139
+ if (EXPLICIT_SECRET_VALUE_PATTERNS.some((pattern) => pattern.test(value))) {
140
+ return REDACTED_VALUE;
141
+ }
142
+ const publicHttpUrl = inspectStandalonePublicHttpUrl(value);
143
+ if (publicHttpUrl === 'sensitive') {
144
+ return REDACTED_VALUE;
145
+ }
146
+ if (publicHttpUrl === 'safe') {
147
+ return value;
148
+ }
149
+ if (PUBLIC_DNS_NAME_PATTERN.test(value.trim())) {
150
+ return value;
151
+ }
152
+ const redacted = value
153
+ .replace(BEARER_SECRET_PATTERN, `$1 ${REDACTED_VALUE}`)
154
+ .replace(AUTH_ASSIGNMENT_SECRET_PATTERN, `$1$2${REDACTED_VALUE}`)
155
+ .replace(ASSIGNMENT_SECRET_PATTERN, `$1$2${REDACTED_VALUE}`)
156
+ .replace(SENSITIVE_URL_PARAM_VALUE_PATTERN, `$1${REDACTED_VALUE}`);
157
+ return options.redactHighEntropy === false
158
+ ? redacted
159
+ : redacted.replace(HIGH_ENTROPY_VALUE_PATTERN, REDACTED_VALUE);
160
+ }
161
+
162
+ export function redactSecretsInValue<T>(
163
+ value: T,
164
+ parentKey?: string,
165
+ options: SecretRedactionOptions = {},
166
+ ): T {
167
+ if (typeof value === 'string') {
168
+ if (EXPLICIT_SECRET_VALUE_PATTERNS.some((pattern) => pattern.test(value))) {
169
+ return REDACTED_VALUE as T;
170
+ }
171
+ if (parentKey && SAFE_IDENTIFIER_KEYS.has(parentKey)) {
172
+ return value as T;
173
+ }
174
+ if (parentKey && shouldRedactKey(parentKey)) {
175
+ return REDACTED_VALUE as T;
176
+ }
177
+ return maybeRedactString(value, options) as T;
178
+ }
179
+
180
+ if (!value || typeof value !== 'object') return value;
181
+
182
+ type Container = unknown[] | Record<string, unknown>;
183
+ const root: Container = Array.isArray(value) ? [] : {};
184
+ const pending: Array<{
185
+ source: Container;
186
+ target: Container;
187
+ parentKey?: string;
188
+ }> = [{ source: value as Container, target: root, parentKey }];
189
+
190
+ const redactNestedValue = (
191
+ item: unknown,
192
+ itemParentKey: string | undefined,
193
+ ): unknown => {
194
+ if (typeof item !== 'string') return item;
195
+ if (EXPLICIT_SECRET_VALUE_PATTERNS.some((pattern) => pattern.test(item))) {
196
+ return REDACTED_VALUE;
197
+ }
198
+ if (itemParentKey && SAFE_IDENTIFIER_KEYS.has(itemParentKey)) return item;
199
+ if (itemParentKey && shouldRedactKey(itemParentKey)) return REDACTED_VALUE;
200
+ return maybeRedactString(item, options);
201
+ };
202
+
203
+ while (pending.length > 0) {
204
+ const current = pending.pop();
205
+ if (!current) break;
206
+ const sourceIsArray = Array.isArray(current.source);
207
+ for (const [key, item] of Object.entries(current.source)) {
208
+ const itemParentKey = sourceIsArray ? current.parentKey : key;
209
+ if (!sourceIsArray && shouldRedactKey(key)) {
210
+ (current.target as Record<string, unknown>)[key] = REDACTED_VALUE;
211
+ continue;
212
+ }
213
+ if (item && typeof item === 'object') {
214
+ const nestedTarget: Container = Array.isArray(item) ? [] : {};
215
+ (current.target as Record<string, unknown>)[key] = nestedTarget;
216
+ pending.push({
217
+ source: item as Container,
218
+ target: nestedTarget,
219
+ parentKey: itemParentKey,
220
+ });
221
+ continue;
222
+ }
223
+ (current.target as Record<string, unknown>)[key] = redactNestedValue(
224
+ item,
225
+ itemParentKey,
226
+ );
227
+ }
228
+ }
229
+
230
+ return root as T;
231
+ }
232
+
233
+ /**
234
+ * Redaction for customer-authored inputs and outputs. Preserve arbitrary
235
+ * identifiers while still removing explicit credential formats, sensitive
236
+ * keys, authorization values, and credential-bearing URLs.
237
+ */
238
+ export function redactSecretsInCustomerValue<T>(
239
+ value: T,
240
+ parentKey?: string,
241
+ ): T {
242
+ return redactSecretsInValue(value, parentKey, { redactHighEntropy: false });
243
+ }
244
+
245
+ export function redactSecretsInJsonText(
246
+ text: string,
247
+ options: SecretRedactionOptions = {},
248
+ ) {
249
+ try {
250
+ const parsed = JSON.parse(text) as unknown;
251
+ return JSON.stringify(
252
+ redactSecretsInValue(parsed, undefined, options),
253
+ null,
254
+ 2,
255
+ );
256
+ } catch {
257
+ let redacted = text;
258
+ for (const pattern of EXPLICIT_SECRET_VALUE_PATTERNS) {
259
+ redacted = redacted.replace(pattern, REDACTED_VALUE);
260
+ }
261
+ return maybeRedactString(redacted, options);
262
+ }
263
+ }
264
+
265
+ export function redactSecretsInCustomerJsonText(text: string) {
266
+ return redactSecretsInJsonText(text, { redactHighEntropy: false });
267
+ }
package/dist/cli/index.js CHANGED
@@ -1225,7 +1225,7 @@ var SDK_RELEASE = {
1225
1225
  // available at toolResponse.rawV2 while toolResponse.raw and all declared
1226
1226
  // getters keep their established compatibility behavior.
1227
1227
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
1228
- version: "0.3.86",
1228
+ version: "0.3.87",
1229
1229
  updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
1230
1230
  packageCapabilities: {
1231
1231
  updatePreferences: 1
@@ -4353,7 +4353,7 @@ async function* observeRunEvents(options) {
4353
4353
  }
4354
4354
  }
4355
4355
 
4356
- // ../../shared_libs/integrations/theirstack-execution-policy.ts
4356
+ // ../integration-contracts/theirstack/execution-policy.ts
4357
4357
  var THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS = 135e3;
4358
4358
  var THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS = 6e4 + THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS + 15e3;
4359
4359
  var THEIRSTACK_COMPANY_SEARCH_CLIENT_TIMEOUT_MS = 21e4;
@@ -4407,7 +4407,7 @@ function resolveTheirstackClientTimeoutMs(endpointId, payload) {
4407
4407
  return usesExtendedTheirstackJobSearchBudget(endpointId, payload) ? THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS : null;
4408
4408
  }
4409
4409
 
4410
- // ../../shared_libs/integrations/bettercontact-execution-policy.ts
4410
+ // ../integration-contracts/bettercontact/execution-policy.ts
4411
4411
  var BETTERCONTACT_LAUNCHER_CLIENT_TIMEOUT_MS = 12e4;
4412
4412
  var BETTERCONTACT_LAUNCHER_TOOL_IDS = /* @__PURE__ */ new Set([
4413
4413
  "bettercontact_enrich",
@@ -17008,7 +17008,7 @@ function resolveDaytonaSandboxComputeItem(input2) {
17008
17008
  };
17009
17009
  }
17010
17010
 
17011
- // ../../shared_libs/billing/compute-pricing.ts
17011
+ // ../billing/compute-pricing-contract.ts
17012
17012
  var COMPUTE_BILLING_MARKUP_MULTIPLIER = 5;
17013
17013
  var DEFAULT_USD_PER_CUSTOMER_CREDIT = 0.1;
17014
17014
  var DEFAULT_PROVIDER_MARKUP_MULTIPLIER = 1.4;
@@ -38372,6 +38372,8 @@ var SDK_SIDECAR_CRITICAL_PACKAGE_FILES = [
38372
38372
  "dist/index.d.ts",
38373
38373
  "dist/plays/bundle-play-file.mjs",
38374
38374
  "dist/bundling-sources/shared_libs/observability/telemetry.ts",
38375
+ "dist/bundling-sources/shared_libs/integration-contracts/bettercontact/execution-policy.ts",
38376
+ "dist/bundling-sources/shared_libs/integration-contracts/theirstack/execution-policy.ts",
38375
38377
  "dist/bundling-sources/shared_libs/play-runtime/backend.ts",
38376
38378
  "dist/bundling-sources/shared_libs/plays/bundling/index.ts",
38377
38379
  "dist/bundling-sources/shared_libs/product-notifications/contract.ts",
@@ -1210,7 +1210,7 @@ var SDK_RELEASE = {
1210
1210
  // available at toolResponse.rawV2 while toolResponse.raw and all declared
1211
1211
  // getters keep their established compatibility behavior.
1212
1212
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
1213
- version: "0.3.86",
1213
+ version: "0.3.87",
1214
1214
  updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
1215
1215
  packageCapabilities: {
1216
1216
  updatePreferences: 1
@@ -4338,7 +4338,7 @@ async function* observeRunEvents(options) {
4338
4338
  }
4339
4339
  }
4340
4340
 
4341
- // ../../shared_libs/integrations/theirstack-execution-policy.ts
4341
+ // ../integration-contracts/theirstack/execution-policy.ts
4342
4342
  var THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS = 135e3;
4343
4343
  var THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS = 6e4 + THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS + 15e3;
4344
4344
  var THEIRSTACK_COMPANY_SEARCH_CLIENT_TIMEOUT_MS = 21e4;
@@ -4392,7 +4392,7 @@ function resolveTheirstackClientTimeoutMs(endpointId, payload) {
4392
4392
  return usesExtendedTheirstackJobSearchBudget(endpointId, payload) ? THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS : null;
4393
4393
  }
4394
4394
 
4395
- // ../../shared_libs/integrations/bettercontact-execution-policy.ts
4395
+ // ../integration-contracts/bettercontact/execution-policy.ts
4396
4396
  var BETTERCONTACT_LAUNCHER_CLIENT_TIMEOUT_MS = 12e4;
4397
4397
  var BETTERCONTACT_LAUNCHER_TOOL_IDS = /* @__PURE__ */ new Set([
4398
4398
  "bettercontact_enrich",
@@ -17070,7 +17070,7 @@ function resolveDaytonaSandboxComputeItem(input2) {
17070
17070
  };
17071
17071
  }
17072
17072
 
17073
- // ../../shared_libs/billing/compute-pricing.ts
17073
+ // ../billing/compute-pricing-contract.ts
17074
17074
  var COMPUTE_BILLING_MARKUP_MULTIPLIER = 5;
17075
17075
  var DEFAULT_USD_PER_CUSTOMER_CREDIT = 0.1;
17076
17076
  var DEFAULT_PROVIDER_MARKUP_MULTIPLIER = 1.4;
@@ -38489,6 +38489,8 @@ var SDK_SIDECAR_CRITICAL_PACKAGE_FILES = [
38489
38489
  "dist/index.d.ts",
38490
38490
  "dist/plays/bundle-play-file.mjs",
38491
38491
  "dist/bundling-sources/shared_libs/observability/telemetry.ts",
38492
+ "dist/bundling-sources/shared_libs/integration-contracts/bettercontact/execution-policy.ts",
38493
+ "dist/bundling-sources/shared_libs/integration-contracts/theirstack/execution-policy.ts",
38492
38494
  "dist/bundling-sources/shared_libs/play-runtime/backend.ts",
38493
38495
  "dist/bundling-sources/shared_libs/plays/bundling/index.ts",
38494
38496
  "dist/bundling-sources/shared_libs/product-notifications/contract.ts",
package/dist/index.d.mts CHANGED
@@ -1922,7 +1922,7 @@ declare function defineMonitor<TPayload extends MonitorPayload = MonitorPayload>
1922
1922
  /**
1923
1923
  * The fleet member ceiling, mirrored — deliberately a literal.
1924
1924
  *
1925
- * The canonical declaration is shared_libs/monitors/monitor-fleet-limits.ts,
1925
+ * The canonical declaration is packages/monitors/monitor-fleet-limits.ts,
1926
1926
  * which the Convex commit mutation reads to size its transaction. This package
1927
1927
  * cannot import it: the workspace-architecture ratchet forbids NEW shared_libs
1928
1928
  * imports from packages absolutely (only relocations of pre-existing edges
package/dist/index.d.ts CHANGED
@@ -1922,7 +1922,7 @@ declare function defineMonitor<TPayload extends MonitorPayload = MonitorPayload>
1922
1922
  /**
1923
1923
  * The fleet member ceiling, mirrored — deliberately a literal.
1924
1924
  *
1925
- * The canonical declaration is shared_libs/monitors/monitor-fleet-limits.ts,
1925
+ * The canonical declaration is packages/monitors/monitor-fleet-limits.ts,
1926
1926
  * which the Convex commit mutation reads to size its transaction. This package
1927
1927
  * cannot import it: the workspace-architecture ratchet forbids NEW shared_libs
1928
1928
  * imports from packages absolutely (only relocations of pre-existing edges
package/dist/index.js CHANGED
@@ -832,7 +832,7 @@ var SDK_RELEASE = {
832
832
  // available at toolResponse.rawV2 while toolResponse.raw and all declared
833
833
  // getters keep their established compatibility behavior.
834
834
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
835
- version: "0.3.86",
835
+ version: "0.3.87",
836
836
  updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
837
837
  packageCapabilities: {
838
838
  updatePreferences: 1
@@ -3826,7 +3826,7 @@ async function* observeRunEvents(options) {
3826
3826
  }
3827
3827
  }
3828
3828
 
3829
- // ../../shared_libs/integrations/theirstack-execution-policy.ts
3829
+ // ../integration-contracts/theirstack/execution-policy.ts
3830
3830
  var THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS = 135e3;
3831
3831
  var THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS = 6e4 + THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS + 15e3;
3832
3832
  var THEIRSTACK_COMPANY_SEARCH_CLIENT_TIMEOUT_MS = 21e4;
@@ -3880,7 +3880,7 @@ function resolveTheirstackClientTimeoutMs(endpointId, payload) {
3880
3880
  return usesExtendedTheirstackJobSearchBudget(endpointId, payload) ? THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS : null;
3881
3881
  }
3882
3882
 
3883
- // ../../shared_libs/integrations/bettercontact-execution-policy.ts
3883
+ // ../integration-contracts/bettercontact/execution-policy.ts
3884
3884
  var BETTERCONTACT_LAUNCHER_CLIENT_TIMEOUT_MS = 12e4;
3885
3885
  var BETTERCONTACT_LAUNCHER_TOOL_IDS = /* @__PURE__ */ new Set([
3886
3886
  "bettercontact_enrich",
package/dist/index.mjs CHANGED
@@ -744,7 +744,7 @@ var SDK_RELEASE = {
744
744
  // available at toolResponse.rawV2 while toolResponse.raw and all declared
745
745
  // getters keep their established compatibility behavior.
746
746
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
747
- version: "0.3.86",
747
+ version: "0.3.87",
748
748
  updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
749
749
  packageCapabilities: {
750
750
  updatePreferences: 1
@@ -3738,7 +3738,7 @@ async function* observeRunEvents(options) {
3738
3738
  }
3739
3739
  }
3740
3740
 
3741
- // ../../shared_libs/integrations/theirstack-execution-policy.ts
3741
+ // ../integration-contracts/theirstack/execution-policy.ts
3742
3742
  var THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS = 135e3;
3743
3743
  var THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS = 6e4 + THEIRSTACK_SLOW_JOB_SEARCH_PROVIDER_TIMEOUT_MS + 15e3;
3744
3744
  var THEIRSTACK_COMPANY_SEARCH_CLIENT_TIMEOUT_MS = 21e4;
@@ -3792,7 +3792,7 @@ function resolveTheirstackClientTimeoutMs(endpointId, payload) {
3792
3792
  return usesExtendedTheirstackJobSearchBudget(endpointId, payload) ? THEIRSTACK_SLOW_JOB_SEARCH_CLIENT_TIMEOUT_MS : null;
3793
3793
  }
3794
3794
 
3795
- // ../../shared_libs/integrations/bettercontact-execution-policy.ts
3795
+ // ../integration-contracts/bettercontact/execution-policy.ts
3796
3796
  var BETTERCONTACT_LAUNCHER_CLIENT_TIMEOUT_MS = 12e4;
3797
3797
  var BETTERCONTACT_LAUNCHER_TOOL_IDS = /* @__PURE__ */ new Set([
3798
3798
  "bettercontact_enrich",
@@ -23,11 +23,52 @@
23
23
  "dist/bundling-sources/sdk/src/tool-output.ts",
24
24
  "dist/bundling-sources/sdk/src/types.ts",
25
25
  "dist/bundling-sources/sdk/src/version.ts",
26
- "dist/bundling-sources/shared_libs/integrations/bettercontact-execution-policy.ts",
27
- "dist/bundling-sources/shared_libs/integrations/theirstack-execution-policy.ts",
26
+ "dist/bundling-sources/shared_libs/integration-contracts/AGENTS.md",
27
+ "dist/bundling-sources/shared_libs/integration-contracts/bettercontact/execution-policy.ts",
28
+ "dist/bundling-sources/shared_libs/integration-contracts/index.ts",
29
+ "dist/bundling-sources/shared_libs/integration-contracts/README.md",
30
+ "dist/bundling-sources/shared_libs/integration-contracts/theirstack/execution-policy.ts",
31
+ "dist/bundling-sources/shared_libs/monitors/analytics-install-guides.ts",
32
+ "dist/bundling-sources/shared_libs/monitors/billing/charges.ts",
33
+ "dist/bundling-sources/shared_libs/monitors/billing/policy-builders.ts",
34
+ "dist/bundling-sources/shared_libs/monitors/billing/pricing.ts",
35
+ "dist/bundling-sources/shared_libs/monitors/billing/public-pricing.ts",
36
+ "dist/bundling-sources/shared_libs/monitors/billing/session.ts",
37
+ "dist/bundling-sources/shared_libs/monitors/billing/state.ts",
38
+ "dist/bundling-sources/shared_libs/monitors/billing/tamradar.ts",
39
+ "dist/bundling-sources/shared_libs/monitors/billing/types.ts",
40
+ "dist/bundling-sources/shared_libs/monitors/callback-security.ts",
41
+ "dist/bundling-sources/shared_libs/monitors/cursor-page.ts",
28
42
  "dist/bundling-sources/shared_libs/monitors/deactivation-reasons.ts",
43
+ "dist/bundling-sources/shared_libs/monitors/framework-managed-payload-fields.ts",
44
+ "dist/bundling-sources/shared_libs/monitors/generated/provider-monitor-callback-admission-targets.ts",
45
+ "dist/bundling-sources/shared_libs/monitors/http-error-response.ts",
46
+ "dist/bundling-sources/shared_libs/monitors/inbound-publish-key.ts",
47
+ "dist/bundling-sources/shared_libs/monitors/inbound-queue.ts",
48
+ "dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts",
29
49
  "dist/bundling-sources/shared_libs/monitors/monitor-fleet-limits.ts",
30
50
  "dist/bundling-sources/shared_libs/monitors/org-monitor-limits.ts",
51
+ "dist/bundling-sources/shared_libs/monitors/package.json",
52
+ "dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts",
53
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts",
54
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-consumer-health.ts",
55
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-errors.ts",
56
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-identity-claims.ts",
57
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-legacy-aliases.ts",
58
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-priority-execution.ts",
59
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-public-aliases.ts",
60
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-runtime-read-eligibility.ts",
61
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-status.ts",
62
+ "dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts",
63
+ "dist/bundling-sources/shared_libs/monitors/provider-webhook-monitor-runtime.ts",
64
+ "dist/bundling-sources/shared_libs/monitors/quickstart-prompts.ts",
65
+ "dist/bundling-sources/shared_libs/monitors/snitcher-install-validation.ts",
66
+ "dist/bundling-sources/shared_libs/monitors/snitcher-ip2company.ts",
67
+ "dist/bundling-sources/shared_libs/monitors/snitcher-radar.ts",
68
+ "dist/bundling-sources/shared_libs/monitors/starter-templates.ts",
69
+ "dist/bundling-sources/shared_libs/monitors/tracking-provider-guidance.ts",
70
+ "dist/bundling-sources/shared_libs/monitors/tracking-provider-integrations.ts",
71
+ "dist/bundling-sources/shared_libs/monitors/tsconfig.json",
31
72
  "dist/bundling-sources/shared_libs/monitors/validation.ts",
32
73
  "dist/bundling-sources/shared_libs/observability/node-tracing.ts",
33
74
  "dist/bundling-sources/shared_libs/observability/redaction.ts",
@@ -261,9 +302,11 @@
261
302
  "dist/bundling-sources/shared_libs/plays/user-code-safety.ts",
262
303
  "dist/bundling-sources/shared_libs/product-notifications/contract.ts",
263
304
  "dist/bundling-sources/shared_libs/runtime-env.ts",
305
+ "dist/bundling-sources/shared_libs/security/header-safe-env.ts",
264
306
  "dist/bundling-sources/shared_libs/security/outbound-url-policy.ts",
265
307
  "dist/bundling-sources/shared_libs/security/safe-fetch.ts",
266
308
  "dist/bundling-sources/shared_libs/security/safe-outbound-fetch.ts",
309
+ "dist/bundling-sources/shared_libs/security/secret-redaction.ts",
267
310
  "dist/bundling-sources/shared_libs/tool-execution-error.ts",
268
311
  "dist/cli/index.d.mts",
269
312
  "dist/cli/index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.3.86",
3
+ "version": "0.3.87",
4
4
  "description": "GTM data CLI and TypeScript SDK for coding agents",
5
5
  "license": "MIT",
6
6
  "homepage": "https://code.deepline.com",
@@ -54,6 +54,8 @@
54
54
  "esbuild": "^0.27.0"
55
55
  },
56
56
  "devDependencies": {
57
+ "@deepline/billing": "workspace:*",
58
+ "@deepline/integration-contracts": "workspace:*",
57
59
  "@deepline/play-runtime": "workspace:*",
58
60
  "@deepline/plays": "workspace:*",
59
61
  "@deepline/product-notifications": "workspace:*",