deepline 0.1.202 → 0.1.203
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 +2 -2
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +5 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-api-paths.ts +2 -0
- package/dist/cli/index.js +139 -3
- package/dist/cli/index.mjs +139 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
|
@@ -106,10 +106,10 @@ export const SDK_RELEASE = {
|
|
|
106
106
|
// 0.1.154 removes the short-lived generated enrich StepOptions recompute
|
|
107
107
|
// fields shipped in 0.1.153.
|
|
108
108
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
109
|
-
version: '0.1.
|
|
109
|
+
version: '0.1.203',
|
|
110
110
|
apiContract: '2026-06-dataset-handle-results-hard-cutover',
|
|
111
111
|
supportPolicy: {
|
|
112
|
-
latest: '0.1.
|
|
112
|
+
latest: '0.1.203',
|
|
113
113
|
minimumSupported: '0.1.53',
|
|
114
114
|
deprecatedBelow: '0.1.53',
|
|
115
115
|
commandMinimumSupported: [
|
|
@@ -4006,6 +4006,7 @@ export class PlayContextImpl {
|
|
|
4006
4006
|
{
|
|
4007
4007
|
baseUrl: this.#options.baseUrl!,
|
|
4008
4008
|
executorToken: this.#options.executorToken!,
|
|
4009
|
+
dbSessionStrategy: this.#options.dbSessionStrategy,
|
|
4009
4010
|
playName: this.#options.playName!,
|
|
4010
4011
|
userEmail: this.#options.userEmail,
|
|
4011
4012
|
runId: this.#options.runId!,
|
|
@@ -4529,6 +4530,7 @@ export class PlayContextImpl {
|
|
|
4529
4530
|
{
|
|
4530
4531
|
baseUrl: this.#options.baseUrl!,
|
|
4531
4532
|
executorToken: this.#options.executorToken!,
|
|
4533
|
+
dbSessionStrategy: this.#options.dbSessionStrategy,
|
|
4532
4534
|
playName: this.#options.playName!,
|
|
4533
4535
|
userEmail: this.#options.userEmail,
|
|
4534
4536
|
runId: this.#options.runId!,
|
|
@@ -473,6 +473,11 @@ export interface ContextOptions {
|
|
|
473
473
|
/** Short-lived HMAC-signed internal token for tool callbacks. Required for cloud execution. */
|
|
474
474
|
executorToken?: string;
|
|
475
475
|
baseUrl?: string;
|
|
476
|
+
/**
|
|
477
|
+
* Runtime-sheet transport selected by the runner. Daytona sandboxes use the
|
|
478
|
+
* execution gateway and must never fall back to minting direct DB sessions.
|
|
479
|
+
*/
|
|
480
|
+
dbSessionStrategy?: 'preloaded' | 'sandbox_public_key' | 'gateway_only';
|
|
476
481
|
vercelProtectionBypassToken?: string | null;
|
|
477
482
|
/** Optional per-run integration execution mode for provider calls. */
|
|
478
483
|
integrationMode?: 'live' | 'eval_stub' | 'fixture';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export const PLAY_RUNTIME_API_COMPAT_PATH = '/api/v2/plays/internal/runtime';
|
|
2
2
|
export const PLAY_RUNTIME_API_CURRENT_PATH = '/api/v2/internal/play-runtime';
|
|
3
|
+
export const PLAY_RUNTIME_ATTEMPT_EXECUTOR_TOKEN_PATH =
|
|
4
|
+
'/api/v2/internal/play-runtime/executor-token';
|
|
3
5
|
export const PLAY_RUNTIME_CHILD_EXECUTOR_TOKEN_COMPAT_PATH =
|
|
4
6
|
'/api/v2/plays/internal/child-executor-token';
|
|
5
7
|
export const PLAY_RUNTIME_CHILD_EXECUTOR_TOKEN_CURRENT_PATH =
|
package/dist/cli/index.js
CHANGED
|
@@ -623,10 +623,10 @@ var SDK_RELEASE = {
|
|
|
623
623
|
// 0.1.154 removes the short-lived generated enrich StepOptions recompute
|
|
624
624
|
// fields shipped in 0.1.153.
|
|
625
625
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
626
|
-
version: "0.1.
|
|
626
|
+
version: "0.1.203",
|
|
627
627
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
628
628
|
supportPolicy: {
|
|
629
|
-
latest: "0.1.
|
|
629
|
+
latest: "0.1.203",
|
|
630
630
|
minimumSupported: "0.1.53",
|
|
631
631
|
deprecatedBelow: "0.1.53",
|
|
632
632
|
commandMinimumSupported: [
|
|
@@ -18315,6 +18315,8 @@ var ENRICH_CELL_META_PATCH_FIELD = "__deeplineCellMetaPatch";
|
|
|
18315
18315
|
var EXIT_SERVER2 = 5;
|
|
18316
18316
|
var ENRICH_DEBUG_T0 = Date.now();
|
|
18317
18317
|
var GENERATED_ENRICH_ROWS_TABLE_NAMESPACE = "deepline_enrich_rows";
|
|
18318
|
+
var SDK_ENRICH_TELEMETRY_TIMEOUT_MS = 1e4;
|
|
18319
|
+
var SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH = 2e4;
|
|
18318
18320
|
var HEAVY_ENRICH_AUTO_BATCH_PLAYS = /* @__PURE__ */ new Set([
|
|
18319
18321
|
"company-to-contact",
|
|
18320
18322
|
"company-to-contact-by-role-waterfall",
|
|
@@ -18592,6 +18594,100 @@ function currentEnrichArgs() {
|
|
|
18592
18594
|
const index = process.argv.findIndex((arg) => arg === "enrich");
|
|
18593
18595
|
return index >= 0 ? process.argv.slice(index + 1) : [];
|
|
18594
18596
|
}
|
|
18597
|
+
function shouldSuppressSdkEnrichTelemetry() {
|
|
18598
|
+
return ["1", "true", "yes", "on"].includes(
|
|
18599
|
+
String(process.env.DEEPLINE_SUPPRESS_ACTIVITY_EVENTS ?? "").trim().toLowerCase()
|
|
18600
|
+
);
|
|
18601
|
+
}
|
|
18602
|
+
function shellQuoteArg(value) {
|
|
18603
|
+
if (/^[A-Za-z0-9_/:=.,@%+-]+$/.test(value)) {
|
|
18604
|
+
return value;
|
|
18605
|
+
}
|
|
18606
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
18607
|
+
}
|
|
18608
|
+
function sdkEnrichCommandText(args) {
|
|
18609
|
+
const command = ["deepline", "enrich", ...args].map(shellQuoteArg).join(" ");
|
|
18610
|
+
if (command.length <= SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH) {
|
|
18611
|
+
return command;
|
|
18612
|
+
}
|
|
18613
|
+
return `${command.slice(0, SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH - 3)}...`;
|
|
18614
|
+
}
|
|
18615
|
+
function countConfiguredEnrichColumns(config) {
|
|
18616
|
+
const count = (commands) => commands.reduce((total, command) => {
|
|
18617
|
+
if ("with_waterfall" in command) {
|
|
18618
|
+
return total + count(command.commands);
|
|
18619
|
+
}
|
|
18620
|
+
return total + (command.disabled ? 0 : 1);
|
|
18621
|
+
}, 0);
|
|
18622
|
+
return count(config.commands ?? []);
|
|
18623
|
+
}
|
|
18624
|
+
function createSdkEnrichTelemetryContext(input2) {
|
|
18625
|
+
if (shouldSuppressSdkEnrichTelemetry()) {
|
|
18626
|
+
return null;
|
|
18627
|
+
}
|
|
18628
|
+
const baseUrl = input2.client.baseUrl.replace(/\/$/, "");
|
|
18629
|
+
let apiKey = null;
|
|
18630
|
+
try {
|
|
18631
|
+
apiKey = resolveApiKeyForBaseUrl(baseUrl);
|
|
18632
|
+
} catch {
|
|
18633
|
+
apiKey = null;
|
|
18634
|
+
}
|
|
18635
|
+
return {
|
|
18636
|
+
baseUrl,
|
|
18637
|
+
apiKey,
|
|
18638
|
+
runId: `sdk-enrich-${process.pid}-${Date.now()}`,
|
|
18639
|
+
command: sdkEnrichCommandText(input2.args),
|
|
18640
|
+
rowsRange: input2.rowsRange,
|
|
18641
|
+
inputPath: (0, import_node_path12.basename)(input2.inputCsv),
|
|
18642
|
+
startedAtMs: Date.now(),
|
|
18643
|
+
rowsTargeted: input2.selectedRange.count,
|
|
18644
|
+
columnsTargeted: countConfiguredEnrichColumns(input2.config)
|
|
18645
|
+
};
|
|
18646
|
+
}
|
|
18647
|
+
async function emitSdkEnrichTelemetry(context, event, summary) {
|
|
18648
|
+
if (!context?.apiKey) {
|
|
18649
|
+
return;
|
|
18650
|
+
}
|
|
18651
|
+
const controller = new AbortController();
|
|
18652
|
+
const timeout = setTimeout(
|
|
18653
|
+
() => controller.abort(),
|
|
18654
|
+
SDK_ENRICH_TELEMETRY_TIMEOUT_MS
|
|
18655
|
+
);
|
|
18656
|
+
try {
|
|
18657
|
+
const body = {
|
|
18658
|
+
event,
|
|
18659
|
+
source: "cli_enrich",
|
|
18660
|
+
run_id: context.runId,
|
|
18661
|
+
command: context.command,
|
|
18662
|
+
input_path: context.inputPath,
|
|
18663
|
+
...context.rowsRange ? { rows_range: context.rowsRange } : {},
|
|
18664
|
+
...summary ? { summary } : {}
|
|
18665
|
+
};
|
|
18666
|
+
await fetch(new URL("/api/v2/telemetry/activity", context.baseUrl), {
|
|
18667
|
+
method: "POST",
|
|
18668
|
+
headers: {
|
|
18669
|
+
Authorization: `Bearer ${context.apiKey}`,
|
|
18670
|
+
"Content-Type": "application/json"
|
|
18671
|
+
},
|
|
18672
|
+
body: JSON.stringify(body),
|
|
18673
|
+
signal: controller.signal
|
|
18674
|
+
});
|
|
18675
|
+
} catch {
|
|
18676
|
+
} finally {
|
|
18677
|
+
clearTimeout(timeout);
|
|
18678
|
+
}
|
|
18679
|
+
}
|
|
18680
|
+
async function completeSdkEnrichTelemetry(context, input2) {
|
|
18681
|
+
await emitSdkEnrichTelemetry(context, "enrich_completed", {
|
|
18682
|
+
status: input2.status,
|
|
18683
|
+
rows_targeted: context?.rowsTargeted ?? 0,
|
|
18684
|
+
columns_targeted: context?.columnsTargeted ?? 0,
|
|
18685
|
+
failed_jobs: Math.max(0, Math.trunc(input2.failedJobs ?? 0)),
|
|
18686
|
+
skipped_cells: Math.max(0, Math.trunc(input2.skippedCells ?? 0)),
|
|
18687
|
+
duration_ms: Math.max(0, Date.now() - (context?.startedAtMs ?? Date.now())),
|
|
18688
|
+
rate_limits: null
|
|
18689
|
+
});
|
|
18690
|
+
}
|
|
18595
18691
|
async function buildPlanArgs(args) {
|
|
18596
18692
|
const passthrough = /* @__PURE__ */ new Set([
|
|
18597
18693
|
"--with",
|
|
@@ -21754,7 +21850,25 @@ function registerEnrichCommand(program) {
|
|
|
21754
21850
|
inlineRunJavascript: true,
|
|
21755
21851
|
failFast: options.failFast
|
|
21756
21852
|
});
|
|
21853
|
+
const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
|
|
21854
|
+
const sdkEnrichTelemetry = createSdkEnrichTelemetryContext({
|
|
21855
|
+
client: client2,
|
|
21856
|
+
args,
|
|
21857
|
+
inputCsv,
|
|
21858
|
+
rowsRange: options.rows ?? (options.all ? "all" : null),
|
|
21859
|
+
selectedRange,
|
|
21860
|
+
config
|
|
21861
|
+
});
|
|
21862
|
+
let sdkEnrichTelemetryCompleted = false;
|
|
21863
|
+
const completeTelemetry = async (input2) => {
|
|
21864
|
+
if (sdkEnrichTelemetryCompleted) {
|
|
21865
|
+
return;
|
|
21866
|
+
}
|
|
21867
|
+
sdkEnrichTelemetryCompleted = true;
|
|
21868
|
+
await completeSdkEnrichTelemetry(sdkEnrichTelemetry, input2);
|
|
21869
|
+
};
|
|
21757
21870
|
const tempDir = await (0, import_promises3.mkdtemp)((0, import_node_path12.join)((0, import_node_os8.tmpdir)(), "deepline-enrich-play-"));
|
|
21871
|
+
await emitSdkEnrichTelemetry(sdkEnrichTelemetry, "enrich_started");
|
|
21758
21872
|
const tempPlay = (0, import_node_path12.join)(tempDir, "deepline-enrich.play.ts");
|
|
21759
21873
|
let inPlaceTempDir = null;
|
|
21760
21874
|
let inPlaceTempOutputPath = null;
|
|
@@ -21853,7 +21967,6 @@ function registerEnrichCommand(program) {
|
|
|
21853
21967
|
});
|
|
21854
21968
|
return { captured: captured2, status: status2, exportResult: exportResult2 };
|
|
21855
21969
|
};
|
|
21856
|
-
const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
|
|
21857
21970
|
const autoBatchRows = enrichAutoBatchRowsForConfig(config);
|
|
21858
21971
|
if (outputPath && selectedRange.count > autoBatchRows) {
|
|
21859
21972
|
const chunkCount = Math.ceil(selectedRange.count / autoBatchRows);
|
|
@@ -22034,6 +22147,10 @@ function registerEnrichCommand(program) {
|
|
|
22034
22147
|
});
|
|
22035
22148
|
}
|
|
22036
22149
|
process.exitCode = failureReport3 ? EXIT_SERVER2 : chunk.captured.result;
|
|
22150
|
+
await completeTelemetry({
|
|
22151
|
+
status: "failed",
|
|
22152
|
+
failedJobs: failureReport3?.jobs.length ?? 1
|
|
22153
|
+
});
|
|
22037
22154
|
return;
|
|
22038
22155
|
}
|
|
22039
22156
|
if (chunk.exportResult) {
|
|
@@ -22112,6 +22229,10 @@ function registerEnrichCommand(program) {
|
|
|
22112
22229
|
if (failureReport2) {
|
|
22113
22230
|
process.exitCode = EXIT_SERVER2;
|
|
22114
22231
|
}
|
|
22232
|
+
await completeTelemetry({
|
|
22233
|
+
status: failureReport2 ? "completed_with_failures" : "completed",
|
|
22234
|
+
failedJobs: failureReport2?.jobs.length ?? 0
|
|
22235
|
+
});
|
|
22115
22236
|
return;
|
|
22116
22237
|
}
|
|
22117
22238
|
const { captured, status, exportResult } = await runOne({
|
|
@@ -22154,6 +22275,10 @@ function registerEnrichCommand(program) {
|
|
|
22154
22275
|
});
|
|
22155
22276
|
}
|
|
22156
22277
|
process.exitCode = failureReport2 ? EXIT_SERVER2 : captured.result;
|
|
22278
|
+
await completeTelemetry({
|
|
22279
|
+
status: "failed",
|
|
22280
|
+
failedJobs: failureReport2?.jobs.length ?? 1
|
|
22281
|
+
});
|
|
22157
22282
|
return;
|
|
22158
22283
|
}
|
|
22159
22284
|
if (options.json) {
|
|
@@ -22190,6 +22315,10 @@ function registerEnrichCommand(program) {
|
|
|
22190
22315
|
if (failureReport2) {
|
|
22191
22316
|
process.exitCode = EXIT_SERVER2;
|
|
22192
22317
|
}
|
|
22318
|
+
await completeTelemetry({
|
|
22319
|
+
status: failureReport2 ? "completed_with_failures" : "completed",
|
|
22320
|
+
failedJobs: failureReport2?.jobs.length ?? 0
|
|
22321
|
+
});
|
|
22193
22322
|
return;
|
|
22194
22323
|
}
|
|
22195
22324
|
const failureReport = await maybeEmitEnrichFailureReport({
|
|
@@ -22220,6 +22349,13 @@ function registerEnrichCommand(program) {
|
|
|
22220
22349
|
if (failureReport) {
|
|
22221
22350
|
process.exitCode = EXIT_SERVER2;
|
|
22222
22351
|
}
|
|
22352
|
+
await completeTelemetry({
|
|
22353
|
+
status: failureReport ? "completed_with_failures" : "completed",
|
|
22354
|
+
failedJobs: failureReport?.jobs.length ?? 0
|
|
22355
|
+
});
|
|
22356
|
+
} catch (error) {
|
|
22357
|
+
await completeTelemetry({ status: "failed", failedJobs: 1 });
|
|
22358
|
+
throw error;
|
|
22223
22359
|
} finally {
|
|
22224
22360
|
if (inPlaceTempDir) {
|
|
22225
22361
|
await (0, import_promises3.rm)(inPlaceTempDir, { recursive: true, force: true });
|
package/dist/cli/index.mjs
CHANGED
|
@@ -608,10 +608,10 @@ var SDK_RELEASE = {
|
|
|
608
608
|
// 0.1.154 removes the short-lived generated enrich StepOptions recompute
|
|
609
609
|
// fields shipped in 0.1.153.
|
|
610
610
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
611
|
-
version: "0.1.
|
|
611
|
+
version: "0.1.203",
|
|
612
612
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
613
613
|
supportPolicy: {
|
|
614
|
-
latest: "0.1.
|
|
614
|
+
latest: "0.1.203",
|
|
615
615
|
minimumSupported: "0.1.53",
|
|
616
616
|
deprecatedBelow: "0.1.53",
|
|
617
617
|
commandMinimumSupported: [
|
|
@@ -18344,6 +18344,8 @@ var ENRICH_CELL_META_PATCH_FIELD = "__deeplineCellMetaPatch";
|
|
|
18344
18344
|
var EXIT_SERVER2 = 5;
|
|
18345
18345
|
var ENRICH_DEBUG_T0 = Date.now();
|
|
18346
18346
|
var GENERATED_ENRICH_ROWS_TABLE_NAMESPACE = "deepline_enrich_rows";
|
|
18347
|
+
var SDK_ENRICH_TELEMETRY_TIMEOUT_MS = 1e4;
|
|
18348
|
+
var SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH = 2e4;
|
|
18347
18349
|
var HEAVY_ENRICH_AUTO_BATCH_PLAYS = /* @__PURE__ */ new Set([
|
|
18348
18350
|
"company-to-contact",
|
|
18349
18351
|
"company-to-contact-by-role-waterfall",
|
|
@@ -18621,6 +18623,100 @@ function currentEnrichArgs() {
|
|
|
18621
18623
|
const index = process.argv.findIndex((arg) => arg === "enrich");
|
|
18622
18624
|
return index >= 0 ? process.argv.slice(index + 1) : [];
|
|
18623
18625
|
}
|
|
18626
|
+
function shouldSuppressSdkEnrichTelemetry() {
|
|
18627
|
+
return ["1", "true", "yes", "on"].includes(
|
|
18628
|
+
String(process.env.DEEPLINE_SUPPRESS_ACTIVITY_EVENTS ?? "").trim().toLowerCase()
|
|
18629
|
+
);
|
|
18630
|
+
}
|
|
18631
|
+
function shellQuoteArg(value) {
|
|
18632
|
+
if (/^[A-Za-z0-9_/:=.,@%+-]+$/.test(value)) {
|
|
18633
|
+
return value;
|
|
18634
|
+
}
|
|
18635
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
18636
|
+
}
|
|
18637
|
+
function sdkEnrichCommandText(args) {
|
|
18638
|
+
const command = ["deepline", "enrich", ...args].map(shellQuoteArg).join(" ");
|
|
18639
|
+
if (command.length <= SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH) {
|
|
18640
|
+
return command;
|
|
18641
|
+
}
|
|
18642
|
+
return `${command.slice(0, SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH - 3)}...`;
|
|
18643
|
+
}
|
|
18644
|
+
function countConfiguredEnrichColumns(config) {
|
|
18645
|
+
const count = (commands) => commands.reduce((total, command) => {
|
|
18646
|
+
if ("with_waterfall" in command) {
|
|
18647
|
+
return total + count(command.commands);
|
|
18648
|
+
}
|
|
18649
|
+
return total + (command.disabled ? 0 : 1);
|
|
18650
|
+
}, 0);
|
|
18651
|
+
return count(config.commands ?? []);
|
|
18652
|
+
}
|
|
18653
|
+
function createSdkEnrichTelemetryContext(input2) {
|
|
18654
|
+
if (shouldSuppressSdkEnrichTelemetry()) {
|
|
18655
|
+
return null;
|
|
18656
|
+
}
|
|
18657
|
+
const baseUrl = input2.client.baseUrl.replace(/\/$/, "");
|
|
18658
|
+
let apiKey = null;
|
|
18659
|
+
try {
|
|
18660
|
+
apiKey = resolveApiKeyForBaseUrl(baseUrl);
|
|
18661
|
+
} catch {
|
|
18662
|
+
apiKey = null;
|
|
18663
|
+
}
|
|
18664
|
+
return {
|
|
18665
|
+
baseUrl,
|
|
18666
|
+
apiKey,
|
|
18667
|
+
runId: `sdk-enrich-${process.pid}-${Date.now()}`,
|
|
18668
|
+
command: sdkEnrichCommandText(input2.args),
|
|
18669
|
+
rowsRange: input2.rowsRange,
|
|
18670
|
+
inputPath: basename2(input2.inputCsv),
|
|
18671
|
+
startedAtMs: Date.now(),
|
|
18672
|
+
rowsTargeted: input2.selectedRange.count,
|
|
18673
|
+
columnsTargeted: countConfiguredEnrichColumns(input2.config)
|
|
18674
|
+
};
|
|
18675
|
+
}
|
|
18676
|
+
async function emitSdkEnrichTelemetry(context, event, summary) {
|
|
18677
|
+
if (!context?.apiKey) {
|
|
18678
|
+
return;
|
|
18679
|
+
}
|
|
18680
|
+
const controller = new AbortController();
|
|
18681
|
+
const timeout = setTimeout(
|
|
18682
|
+
() => controller.abort(),
|
|
18683
|
+
SDK_ENRICH_TELEMETRY_TIMEOUT_MS
|
|
18684
|
+
);
|
|
18685
|
+
try {
|
|
18686
|
+
const body = {
|
|
18687
|
+
event,
|
|
18688
|
+
source: "cli_enrich",
|
|
18689
|
+
run_id: context.runId,
|
|
18690
|
+
command: context.command,
|
|
18691
|
+
input_path: context.inputPath,
|
|
18692
|
+
...context.rowsRange ? { rows_range: context.rowsRange } : {},
|
|
18693
|
+
...summary ? { summary } : {}
|
|
18694
|
+
};
|
|
18695
|
+
await fetch(new URL("/api/v2/telemetry/activity", context.baseUrl), {
|
|
18696
|
+
method: "POST",
|
|
18697
|
+
headers: {
|
|
18698
|
+
Authorization: `Bearer ${context.apiKey}`,
|
|
18699
|
+
"Content-Type": "application/json"
|
|
18700
|
+
},
|
|
18701
|
+
body: JSON.stringify(body),
|
|
18702
|
+
signal: controller.signal
|
|
18703
|
+
});
|
|
18704
|
+
} catch {
|
|
18705
|
+
} finally {
|
|
18706
|
+
clearTimeout(timeout);
|
|
18707
|
+
}
|
|
18708
|
+
}
|
|
18709
|
+
async function completeSdkEnrichTelemetry(context, input2) {
|
|
18710
|
+
await emitSdkEnrichTelemetry(context, "enrich_completed", {
|
|
18711
|
+
status: input2.status,
|
|
18712
|
+
rows_targeted: context?.rowsTargeted ?? 0,
|
|
18713
|
+
columns_targeted: context?.columnsTargeted ?? 0,
|
|
18714
|
+
failed_jobs: Math.max(0, Math.trunc(input2.failedJobs ?? 0)),
|
|
18715
|
+
skipped_cells: Math.max(0, Math.trunc(input2.skippedCells ?? 0)),
|
|
18716
|
+
duration_ms: Math.max(0, Date.now() - (context?.startedAtMs ?? Date.now())),
|
|
18717
|
+
rate_limits: null
|
|
18718
|
+
});
|
|
18719
|
+
}
|
|
18624
18720
|
async function buildPlanArgs(args) {
|
|
18625
18721
|
const passthrough = /* @__PURE__ */ new Set([
|
|
18626
18722
|
"--with",
|
|
@@ -21783,7 +21879,25 @@ function registerEnrichCommand(program) {
|
|
|
21783
21879
|
inlineRunJavascript: true,
|
|
21784
21880
|
failFast: options.failFast
|
|
21785
21881
|
});
|
|
21882
|
+
const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
|
|
21883
|
+
const sdkEnrichTelemetry = createSdkEnrichTelemetryContext({
|
|
21884
|
+
client: client2,
|
|
21885
|
+
args,
|
|
21886
|
+
inputCsv,
|
|
21887
|
+
rowsRange: options.rows ?? (options.all ? "all" : null),
|
|
21888
|
+
selectedRange,
|
|
21889
|
+
config
|
|
21890
|
+
});
|
|
21891
|
+
let sdkEnrichTelemetryCompleted = false;
|
|
21892
|
+
const completeTelemetry = async (input2) => {
|
|
21893
|
+
if (sdkEnrichTelemetryCompleted) {
|
|
21894
|
+
return;
|
|
21895
|
+
}
|
|
21896
|
+
sdkEnrichTelemetryCompleted = true;
|
|
21897
|
+
await completeSdkEnrichTelemetry(sdkEnrichTelemetry, input2);
|
|
21898
|
+
};
|
|
21786
21899
|
const tempDir = await mkdtemp(join7(tmpdir2(), "deepline-enrich-play-"));
|
|
21900
|
+
await emitSdkEnrichTelemetry(sdkEnrichTelemetry, "enrich_started");
|
|
21787
21901
|
const tempPlay = join7(tempDir, "deepline-enrich.play.ts");
|
|
21788
21902
|
let inPlaceTempDir = null;
|
|
21789
21903
|
let inPlaceTempOutputPath = null;
|
|
@@ -21882,7 +21996,6 @@ function registerEnrichCommand(program) {
|
|
|
21882
21996
|
});
|
|
21883
21997
|
return { captured: captured2, status: status2, exportResult: exportResult2 };
|
|
21884
21998
|
};
|
|
21885
|
-
const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
|
|
21886
21999
|
const autoBatchRows = enrichAutoBatchRowsForConfig(config);
|
|
21887
22000
|
if (outputPath && selectedRange.count > autoBatchRows) {
|
|
21888
22001
|
const chunkCount = Math.ceil(selectedRange.count / autoBatchRows);
|
|
@@ -22063,6 +22176,10 @@ function registerEnrichCommand(program) {
|
|
|
22063
22176
|
});
|
|
22064
22177
|
}
|
|
22065
22178
|
process.exitCode = failureReport3 ? EXIT_SERVER2 : chunk.captured.result;
|
|
22179
|
+
await completeTelemetry({
|
|
22180
|
+
status: "failed",
|
|
22181
|
+
failedJobs: failureReport3?.jobs.length ?? 1
|
|
22182
|
+
});
|
|
22066
22183
|
return;
|
|
22067
22184
|
}
|
|
22068
22185
|
if (chunk.exportResult) {
|
|
@@ -22141,6 +22258,10 @@ function registerEnrichCommand(program) {
|
|
|
22141
22258
|
if (failureReport2) {
|
|
22142
22259
|
process.exitCode = EXIT_SERVER2;
|
|
22143
22260
|
}
|
|
22261
|
+
await completeTelemetry({
|
|
22262
|
+
status: failureReport2 ? "completed_with_failures" : "completed",
|
|
22263
|
+
failedJobs: failureReport2?.jobs.length ?? 0
|
|
22264
|
+
});
|
|
22144
22265
|
return;
|
|
22145
22266
|
}
|
|
22146
22267
|
const { captured, status, exportResult } = await runOne({
|
|
@@ -22183,6 +22304,10 @@ function registerEnrichCommand(program) {
|
|
|
22183
22304
|
});
|
|
22184
22305
|
}
|
|
22185
22306
|
process.exitCode = failureReport2 ? EXIT_SERVER2 : captured.result;
|
|
22307
|
+
await completeTelemetry({
|
|
22308
|
+
status: "failed",
|
|
22309
|
+
failedJobs: failureReport2?.jobs.length ?? 1
|
|
22310
|
+
});
|
|
22186
22311
|
return;
|
|
22187
22312
|
}
|
|
22188
22313
|
if (options.json) {
|
|
@@ -22219,6 +22344,10 @@ function registerEnrichCommand(program) {
|
|
|
22219
22344
|
if (failureReport2) {
|
|
22220
22345
|
process.exitCode = EXIT_SERVER2;
|
|
22221
22346
|
}
|
|
22347
|
+
await completeTelemetry({
|
|
22348
|
+
status: failureReport2 ? "completed_with_failures" : "completed",
|
|
22349
|
+
failedJobs: failureReport2?.jobs.length ?? 0
|
|
22350
|
+
});
|
|
22222
22351
|
return;
|
|
22223
22352
|
}
|
|
22224
22353
|
const failureReport = await maybeEmitEnrichFailureReport({
|
|
@@ -22249,6 +22378,13 @@ function registerEnrichCommand(program) {
|
|
|
22249
22378
|
if (failureReport) {
|
|
22250
22379
|
process.exitCode = EXIT_SERVER2;
|
|
22251
22380
|
}
|
|
22381
|
+
await completeTelemetry({
|
|
22382
|
+
status: failureReport ? "completed_with_failures" : "completed",
|
|
22383
|
+
failedJobs: failureReport?.jobs.length ?? 0
|
|
22384
|
+
});
|
|
22385
|
+
} catch (error) {
|
|
22386
|
+
await completeTelemetry({ status: "failed", failedJobs: 1 });
|
|
22387
|
+
throw error;
|
|
22252
22388
|
} finally {
|
|
22253
22389
|
if (inPlaceTempDir) {
|
|
22254
22390
|
await rm(inPlaceTempDir, { recursive: true, force: true });
|
package/dist/index.js
CHANGED
|
@@ -422,10 +422,10 @@ var SDK_RELEASE = {
|
|
|
422
422
|
// 0.1.154 removes the short-lived generated enrich StepOptions recompute
|
|
423
423
|
// fields shipped in 0.1.153.
|
|
424
424
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
425
|
-
version: "0.1.
|
|
425
|
+
version: "0.1.203",
|
|
426
426
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
427
427
|
supportPolicy: {
|
|
428
|
-
latest: "0.1.
|
|
428
|
+
latest: "0.1.203",
|
|
429
429
|
minimumSupported: "0.1.53",
|
|
430
430
|
deprecatedBelow: "0.1.53",
|
|
431
431
|
commandMinimumSupported: [
|
package/dist/index.mjs
CHANGED
|
@@ -352,10 +352,10 @@ var SDK_RELEASE = {
|
|
|
352
352
|
// 0.1.154 removes the short-lived generated enrich StepOptions recompute
|
|
353
353
|
// fields shipped in 0.1.153.
|
|
354
354
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
355
|
-
version: "0.1.
|
|
355
|
+
version: "0.1.203",
|
|
356
356
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
357
357
|
supportPolicy: {
|
|
358
|
-
latest: "0.1.
|
|
358
|
+
latest: "0.1.203",
|
|
359
359
|
minimumSupported: "0.1.53",
|
|
360
360
|
deprecatedBelow: "0.1.53",
|
|
361
361
|
commandMinimumSupported: [
|