deepline 0.3.204 → 0.3.205

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.
@@ -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.204',
203
+ version: '0.3.205',
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: {
@@ -61,7 +61,7 @@ export const SANDBOX_CAPACITY_EXCEEDED_MESSAGE =
61
61
  export const RUNTIME_CONTROL_PLANE_UNAVAILABLE_MESSAGE =
62
62
  'Deepline could not reach the runtime control plane long enough to safely continue this run, so it stopped the execution sandbox. Completed work is preserved. Inspect and export saved datasets before deciding whether to rerun unfinished work; in-flight provider calls are not automatically replayed.';
63
63
  export const RUNTIME_RUNNER_LOST_MESSAGE =
64
- 'The execution runner stopped reporting liveness before returning a terminal result. Completed work is preserved, but Deepline did not automatically replay the run because provider side effects may already exist. Re-run only when it is safe to do so.';
64
+ 'The runtime crashed or stopped responding before the Play run finished. Large payloads or heavy processing can contribute to this. You can retry the run. Any rows already saved remain available, and completed steps may be reused. Actions without a saved result can run again.';
65
65
  export const RUNTIME_SANDBOX_INSPECTION_UNAVAILABLE_MESSAGE =
66
66
  'The play stopped after Deepline could not verify the execution sandbox state. Completed row state was preserved. Re-run from the persisted rows; if this keeps happening, contact Deepline support with the run ID.';
67
67
  // The sandbox was accepted but the runner never reported liveness, so the play
@@ -4353,9 +4353,15 @@ async function resolveDetachedRunnerOutcome(input: {
4353
4353
  // only that already-written result before synthesizing RUNNER_LOST: this
4354
4354
  // does not execute customer code, and an unavailable inspection preserves
4355
4355
  // the existing conservative failure below.
4356
+ let inspection: {
4357
+ exitCode: number | null;
4358
+ result: PlayRunnerResult | null;
4359
+ diagnosis: { stage: string; detail: string | null };
4360
+ } | null = null;
4361
+ let inspectionFailed = false;
4356
4362
  if (input.inspectDetachedRunner) {
4357
4363
  try {
4358
- const inspection = await input.inspectDetachedRunner(suspension);
4364
+ inspection = await input.inspectDetachedRunner(suspension);
4359
4365
  if (inspection?.result && inspection.result.status !== 'suspended') {
4360
4366
  console.info(
4361
4367
  '[absurd-runtime.worker] detached_runner_liveness_salvaged',
@@ -4384,6 +4390,7 @@ async function resolveDetachedRunnerOutcome(input: {
4384
4390
  );
4385
4391
  }
4386
4392
  } catch (error) {
4393
+ inspectionFailed = true;
4387
4394
  console.warn(
4388
4395
  '[absurd-runtime.worker] detached_runner_liveness_inspection_failed',
4389
4396
  JSON.stringify({
@@ -4395,11 +4402,39 @@ async function resolveDetachedRunnerOutcome(input: {
4395
4402
  );
4396
4403
  }
4397
4404
  }
4405
+ const safeDiagnosticLabel = (value: unknown): string =>
4406
+ typeof value === 'string' && /^[a-z0-9_]{1,80}$/i.test(value)
4407
+ ? value
4408
+ : 'unknown';
4409
+ const runnerLiveness = {
4410
+ event: 'detached_runner_liveness_expired',
4411
+ runnerAttempt: suspension.runnerAttempt,
4412
+ livenessStatus: safeDiagnosticLabel(liveness?.status),
4413
+ lastHeartbeatAt: Number.isFinite(heartbeatAtMs)
4414
+ ? new Date(heartbeatAtMs).toISOString()
4415
+ : null,
4416
+ heartbeatAgeMs,
4417
+ heartbeatTimeoutMs,
4418
+ runElapsedMs: Math.max(0, now - suspension.startedAtMs),
4419
+ runtimeCeilingMs: suspension.ceilingMs,
4420
+ reachedRuntimeCeiling: reachedCeiling,
4421
+ terminalResultFound: false,
4422
+ inspectionAttempted: Boolean(input.inspectDetachedRunner),
4423
+ inspectionStage: inspection
4424
+ ? safeDiagnosticLabel(inspection.diagnosis.stage)
4425
+ : inspectionFailed
4426
+ ? 'inspection_failed'
4427
+ : input.inspectDetachedRunner
4428
+ ? 'inspection_empty'
4429
+ : 'not_configured',
4430
+ inspectionExitCode: inspection?.exitCode ?? null,
4431
+ inspectedResultStatus: inspection?.result?.status ?? null,
4432
+ };
4398
4433
  return settleFirstWriteWinner({
4399
4434
  status: 'failed',
4400
- error: `RUNTIME_RUNNER_LOST: Detached runner heartbeat expired after ${heartbeatAgeMs ?? 'unknown'}ms without a terminal result. Sandbox ${suspension.sandboxId}. The run was stopped and was not retried because provider side effects may already exist; completed row state remains persisted.`,
4401
- logs: [],
4402
- stats: {},
4435
+ error: `RUNTIME_RUNNER_LOST: Detached runner heartbeat expired after ${heartbeatAgeMs ?? 'unknown'}ms without a terminal result. Deepline did not automatically retry because external actions may already have completed.`,
4436
+ logs: [`[runtime.failure_diagnostic] ${JSON.stringify(runnerLiveness)}`],
4437
+ stats: { runnerLiveness },
4403
4438
  steps: [],
4404
4439
  checkpoint: null,
4405
4440
  tableNamespace: null,
@@ -13037,6 +13037,7 @@ function terminalLogLinesForOutbox(
13037
13037
  // customer/recovery lines after a detached runner has exited.
13038
13038
  return (
13039
13039
  CTX_LOG_TIMESTAMP_PREFIX_RE.test(normalized) ||
13040
+ normalized.startsWith('[runtime.failure_diagnostic] ') ||
13040
13041
  normalized.startsWith('[runtime.phase_summary] ') ||
13041
13042
  normalized.startsWith('[runtime.logs] ') ||
13042
13043
  normalized.startsWith('[runtime.log_transport] ')
package/dist/cli/index.js CHANGED
@@ -3051,7 +3051,7 @@ var SDK_RELEASE = {
3051
3051
  // getters keep their established compatibility behavior.
3052
3052
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
3053
3053
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
3054
- version: "0.3.204",
3054
+ version: "0.3.205",
3055
3055
  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.",
3056
3056
  packageCapabilities: {
3057
3057
  updatePreferences: 1
@@ -3046,7 +3046,7 @@ var SDK_RELEASE = {
3046
3046
  // getters keep their established compatibility behavior.
3047
3047
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
3048
3048
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
3049
- version: "0.3.204",
3049
+ version: "0.3.205",
3050
3050
  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.",
3051
3051
  packageCapabilities: {
3052
3052
  updatePreferences: 1
package/dist/index.js CHANGED
@@ -864,7 +864,7 @@ var SDK_RELEASE = {
864
864
  // getters keep their established compatibility behavior.
865
865
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
866
866
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
867
- version: "0.3.204",
867
+ version: "0.3.205",
868
868
  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.",
869
869
  packageCapabilities: {
870
870
  updatePreferences: 1
package/dist/index.mjs CHANGED
@@ -768,7 +768,7 @@ var SDK_RELEASE = {
768
768
  // getters keep their established compatibility behavior.
769
769
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
770
770
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
771
- version: "0.3.204",
771
+ version: "0.3.205",
772
772
  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.",
773
773
  packageCapabilities: {
774
774
  updatePreferences: 1
@@ -149,7 +149,7 @@ type SdkRelease = {
149
149
  supportPolicy: SdkSupportPolicy;
150
150
  };
151
151
  declare const SDK_RELEASE: {
152
- readonly version: "0.3.204";
152
+ readonly version: "0.3.205";
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.204";
152
+ readonly version: "0.3.205";
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.204",
77
+ version: "0.3.205",
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.204",
51
+ version: "0.3.205",
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.3.204",
3
+ "version": "0.3.205",
4
4
  "description": "GTM data CLI and TypeScript SDK for coding agents",
5
5
  "license": "MIT",
6
6
  "homepage": "https://code.deepline.com",