deepline 0.3.281 → 0.3.282
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/redaction.ts +21 -13
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +5 -2
- package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +26 -5
- package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +6 -0
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +1 -1
- package/dist/release.mjs +1 -1
- package/package.json +1 -1
|
@@ -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.282',
|
|
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: {
|
|
@@ -59,19 +59,27 @@ function redactStructuredValue(
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
function redactPlainTelemetryText(value: string): string {
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
return (
|
|
63
|
+
value
|
|
64
|
+
// Scoped to the provider host: `key` elsewhere remains an identifier.
|
|
65
|
+
.replace(
|
|
66
|
+
/https?:\/\/(?:api|bulkapi)\.millionverifier\.com(?=[:/?#]|$)[^\s"'<>]*/gi,
|
|
67
|
+
(url) =>
|
|
68
|
+
url.replace(/([?&](?:api|key)=)[^&#\s"'<>]*/gi, '$1[REDACTED]'),
|
|
69
|
+
)
|
|
70
|
+
.replace(PRIVATE_KEY_PATTERN, '[REDACTED]')
|
|
71
|
+
.replace(POSTGRES_CREDENTIAL_PATTERN, '$1[REDACTED]@')
|
|
72
|
+
.replace(AUTHORIZATION_CREDENTIAL_PATTERN, '$1$2$3 [REDACTED]')
|
|
73
|
+
.replace(BEARER_CREDENTIAL_PATTERN, 'Bearer [REDACTED]')
|
|
74
|
+
.replace(BASIC_CREDENTIAL_PATTERN, 'Basic [REDACTED]')
|
|
75
|
+
.replace(JWT_PATTERN, '[REDACTED_JWT]')
|
|
76
|
+
.replace(
|
|
77
|
+
JSON_SECRET_PATTERN,
|
|
78
|
+
(_match, keyQuote, key, separator, valueQuote) =>
|
|
79
|
+
`${keyQuote}${key}${keyQuote}${separator}${valueQuote}[REDACTED]${valueQuote}`,
|
|
80
|
+
)
|
|
81
|
+
.replace(INLINE_SECRET_PATTERN, '$1$2[REDACTED]')
|
|
82
|
+
);
|
|
75
83
|
}
|
|
76
84
|
|
|
77
85
|
/**
|
|
@@ -20567,10 +20567,13 @@ export class PlayContextImpl implements ScalarPlayAuthoringRuntimeContext {
|
|
|
20567
20567
|
logProvider429RetryPhase('retry_sleep_completed');
|
|
20568
20568
|
if (
|
|
20569
20569
|
!usesDurableInvocationFence &&
|
|
20570
|
-
failure.backpressureDelayMs !== null
|
|
20570
|
+
(failure.backpressureDelayMs !== null ||
|
|
20571
|
+
(failure.reason === 'rate_limit' &&
|
|
20572
|
+
failure.knownNotDispatched))
|
|
20571
20573
|
) {
|
|
20572
20574
|
// A classified provider rejection has no completed value to
|
|
20573
|
-
// charge.
|
|
20575
|
+
// charge. A credential guard refusal also releases its charge
|
|
20576
|
+
// before replying. The next attempt needs a new reservation;
|
|
20574
20577
|
// durable result and provider-operation keys stay unchanged.
|
|
20575
20578
|
deeplineRequestId = `ctx-tool-${stableDigest(`${executionRequestNonce}:provider-rate-limit-retry:${invocationAttempt}`).slice(0, 32)}`;
|
|
20576
20579
|
}
|
|
@@ -242,6 +242,25 @@ function isConcurrencyBackpressureResponse(input: {
|
|
|
242
242
|
);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
+
function isCredentialDispatchRefusalResponse(input: {
|
|
246
|
+
status: number;
|
|
247
|
+
bodyText: string;
|
|
248
|
+
executionFenced?: boolean;
|
|
249
|
+
}): boolean {
|
|
250
|
+
// Fenced gateway attempts have their own qualified redelivery contract.
|
|
251
|
+
// This exemption is only for the ordinary execute route's released charge.
|
|
252
|
+
if (input.status !== 429 || input.executionFenced === true) return false;
|
|
253
|
+
const body = parseJsonObject(input.bodyText);
|
|
254
|
+
return (
|
|
255
|
+
body?.code === 'RATE_LIMIT' &&
|
|
256
|
+
body.failure_origin === 'deepline_rate_limit' &&
|
|
257
|
+
body.error_category === 'rate_limit' &&
|
|
258
|
+
body.rate_limit_bucket_scope === 'credential_shared' &&
|
|
259
|
+
body.rate_limit_kind === 'requests_per_second' &&
|
|
260
|
+
body.provider_request_dispatched === false
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
245
264
|
function isRuntimeSchedulerCapacityResponse(input: {
|
|
246
265
|
status: number;
|
|
247
266
|
bodyText: string;
|
|
@@ -573,6 +592,7 @@ export function classifyToolExecuteHttpFailure(input: {
|
|
|
573
592
|
const concurrencyBackpressure = isConcurrencyBackpressureResponse(input);
|
|
574
593
|
const runtimeSchedulerCapacity = isRuntimeSchedulerCapacityResponse(input);
|
|
575
594
|
const providerPacingWait = isProviderPacingWaitResponse(input);
|
|
595
|
+
const credentialDispatchRefusal = isCredentialDispatchRefusalResponse(input);
|
|
576
596
|
const edgeGatewayFailure = isEdgeGatewayFailureResponse(input);
|
|
577
597
|
const executionFenced = input.executionFenced === true;
|
|
578
598
|
const explicitRetryable = readExplicitToolHttpRetryability(input);
|
|
@@ -747,11 +767,12 @@ export function classifyToolExecuteHttpFailure(input: {
|
|
|
747
767
|
retryDecision.reason !== 'concurrency_backpressure' &&
|
|
748
768
|
retryDecision.reason !== 'runtime_scheduler_capacity' &&
|
|
749
769
|
retryDecision.reason !== 'provider_pacing_wait',
|
|
750
|
-
//
|
|
751
|
-
//
|
|
752
|
-
// classification so the retry boundary can safely pace either response
|
|
753
|
-
// without asking a non-idempotent provider call to be replayed.
|
|
770
|
+
// Only explicit pre-dispatch refusals permit automatic replay of an
|
|
771
|
+
// operation that does not declare ordinary transient retry safety.
|
|
754
772
|
knownNotDispatched:
|
|
755
|
-
runtimeSchedulerCapacity ||
|
|
773
|
+
runtimeSchedulerCapacity ||
|
|
774
|
+
concurrencyBackpressure ||
|
|
775
|
+
providerPacingWait ||
|
|
776
|
+
credentialDispatchRefusal,
|
|
756
777
|
};
|
|
757
778
|
}
|
|
@@ -370,6 +370,12 @@ function isPublicResultSafeTokenKey(
|
|
|
370
370
|
}
|
|
371
371
|
|
|
372
372
|
function maybeRedactString(value: string, options: SecretRedactionOptions) {
|
|
373
|
+
// These names are credentials only on MillionVerifier URLs. Keep unrelated
|
|
374
|
+
// object identifiers named `key` and other providers' query fields intact.
|
|
375
|
+
value = value.replace(
|
|
376
|
+
/https?:\/\/(?:api|bulkapi)\.millionverifier\.com(?=[:/?#]|$)[^\s"'<>]*/gi,
|
|
377
|
+
(url) => url.replace(/([?&](?:api|key)=)[^&#\s"'<>]*/gi, '$1[REDACTED]'),
|
|
378
|
+
);
|
|
373
379
|
if (hasExplicitSecretValue(value, options)) {
|
|
374
380
|
return REDACTED_VALUE;
|
|
375
381
|
}
|
package/dist/cli/index.js
CHANGED
|
@@ -3515,7 +3515,7 @@ var SDK_RELEASE = {
|
|
|
3515
3515
|
// getters keep their established compatibility behavior.
|
|
3516
3516
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3517
3517
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3518
|
-
version: "0.3.
|
|
3518
|
+
version: "0.3.282",
|
|
3519
3519
|
updateSummary: "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.",
|
|
3520
3520
|
packageCapabilities: {
|
|
3521
3521
|
updatePreferences: 1
|
package/dist/cli/index.mjs
CHANGED
|
@@ -3510,7 +3510,7 @@ var SDK_RELEASE = {
|
|
|
3510
3510
|
// getters keep their established compatibility behavior.
|
|
3511
3511
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3512
3512
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3513
|
-
version: "0.3.
|
|
3513
|
+
version: "0.3.282",
|
|
3514
3514
|
updateSummary: "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.",
|
|
3515
3515
|
packageCapabilities: {
|
|
3516
3516
|
updatePreferences: 1
|
package/dist/index.js
CHANGED
|
@@ -1328,7 +1328,7 @@ var SDK_RELEASE = {
|
|
|
1328
1328
|
// getters keep their established compatibility behavior.
|
|
1329
1329
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
1330
1330
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
1331
|
-
version: "0.3.
|
|
1331
|
+
version: "0.3.282",
|
|
1332
1332
|
updateSummary: "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.",
|
|
1333
1333
|
packageCapabilities: {
|
|
1334
1334
|
updatePreferences: 1
|
package/dist/index.mjs
CHANGED
|
@@ -1232,7 +1232,7 @@ var SDK_RELEASE = {
|
|
|
1232
1232
|
// getters keep their established compatibility behavior.
|
|
1233
1233
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
1234
1234
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
1235
|
-
version: "0.3.
|
|
1235
|
+
version: "0.3.282",
|
|
1236
1236
|
updateSummary: "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.",
|
|
1237
1237
|
packageCapabilities: {
|
|
1238
1238
|
updatePreferences: 1
|
package/dist/release.d.mts
CHANGED
|
@@ -149,7 +149,7 @@ type SdkRelease = {
|
|
|
149
149
|
supportPolicy: SdkSupportPolicy;
|
|
150
150
|
};
|
|
151
151
|
declare const SDK_RELEASE: {
|
|
152
|
-
readonly version: "0.3.
|
|
152
|
+
readonly version: "0.3.282";
|
|
153
153
|
readonly updateSummary: "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.";
|
|
154
154
|
readonly packageCapabilities: {
|
|
155
155
|
readonly updatePreferences: 1;
|
package/dist/release.d.ts
CHANGED
|
@@ -149,7 +149,7 @@ type SdkRelease = {
|
|
|
149
149
|
supportPolicy: SdkSupportPolicy;
|
|
150
150
|
};
|
|
151
151
|
declare const SDK_RELEASE: {
|
|
152
|
-
readonly version: "0.3.
|
|
152
|
+
readonly version: "0.3.282";
|
|
153
153
|
readonly updateSummary: "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.";
|
|
154
154
|
readonly packageCapabilities: {
|
|
155
155
|
readonly updatePreferences: 1;
|
package/dist/release.js
CHANGED
|
@@ -74,7 +74,7 @@ var SDK_RELEASE = {
|
|
|
74
74
|
// getters keep their established compatibility behavior.
|
|
75
75
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
76
76
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
77
|
-
version: "0.3.
|
|
77
|
+
version: "0.3.282",
|
|
78
78
|
updateSummary: "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.",
|
|
79
79
|
packageCapabilities: {
|
|
80
80
|
updatePreferences: 1
|
package/dist/release.mjs
CHANGED
|
@@ -48,7 +48,7 @@ var SDK_RELEASE = {
|
|
|
48
48
|
// getters keep their established compatibility behavior.
|
|
49
49
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
50
50
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
51
|
-
version: "0.3.
|
|
51
|
+
version: "0.3.282",
|
|
52
52
|
updateSummary: "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.",
|
|
53
53
|
packageCapabilities: {
|
|
54
54
|
updatePreferences: 1
|