deepline 0.3.137 → 0.3.139
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/play-runtime/tool-http-errors.ts +7 -0
- package/dist/cli/index.js +27 -8
- package/dist/cli/index.mjs +27 -8
- 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.139',
|
|
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: {
|
|
@@ -304,6 +304,13 @@ function formatInsufficientCreditsMessage(input: {
|
|
|
304
304
|
: billingUrl
|
|
305
305
|
? ` Add credits at ${billingUrl}.`
|
|
306
306
|
: '';
|
|
307
|
+
const minimum = input.billing.minimum_balance_credits;
|
|
308
|
+
if (
|
|
309
|
+
typeof minimum === 'number' &&
|
|
310
|
+
input.billing.required_credits === minimum
|
|
311
|
+
) {
|
|
312
|
+
return `Workspace balance ${balance} is below the ${formatCreditAmount(minimum)}-credit workspace minimum for starting a billable call (${operation}); this is a workspace-wide minimum, separate from the tool's own price.${addSuffix}`;
|
|
313
|
+
}
|
|
307
314
|
return `Workspace balance ${balance} < required ${required} for ${operation}.${addSuffix}`;
|
|
308
315
|
}
|
|
309
316
|
|
package/dist/cli/index.js
CHANGED
|
@@ -3068,7 +3068,7 @@ var SDK_RELEASE = {
|
|
|
3068
3068
|
// getters keep their established compatibility behavior.
|
|
3069
3069
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3070
3070
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3071
|
-
version: "0.3.
|
|
3071
|
+
version: "0.3.139",
|
|
3072
3072
|
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.",
|
|
3073
3073
|
packageCapabilities: {
|
|
3074
3074
|
updatePreferences: 1
|
|
@@ -24673,7 +24673,9 @@ function formatInsufficientCreditsMessage(input2) {
|
|
|
24673
24673
|
const workspaceSuffix = workspace ? ` (workspace=${workspace})` : "";
|
|
24674
24674
|
const recovery = insufficientCreditsRecoveryCommands(input2.billing);
|
|
24675
24675
|
const addSuffix = billingUrl && recommended !== "-" ? ` Add >=${recommended} at ${billingUrl}.` : billingUrl ? ` Add credits at ${billingUrl}.` : "";
|
|
24676
|
-
|
|
24676
|
+
const minimum = input2.billing.minimum_balance_credits;
|
|
24677
|
+
const shortfall = typeof minimum === "number" && input2.billing.required_credits === minimum ? `Workspace balance ${balance} is below the ${formatCreditAmount(minimum)}-credit workspace minimum for starting a billable call (${operation}${workspaceSuffix}); this is a workspace-wide minimum, separate from the tool's own price.` : `Workspace balance ${balance} < required ${required} for ${operation}${workspaceSuffix}.`;
|
|
24678
|
+
return `${shortfall}${addSuffix} Ask the user if they want to add Deepline credits. If they approve, run: ${recovery.topUp}. If checkout is required, run: ${recovery.checkout}.`;
|
|
24677
24679
|
}
|
|
24678
24680
|
function buildInsufficientCreditsSummaryLines(input2) {
|
|
24679
24681
|
const progress = input2.status.progress;
|
|
@@ -36192,6 +36194,14 @@ function parseSessionAgent(value) {
|
|
|
36192
36194
|
}
|
|
36193
36195
|
throw new Error("Invalid --agent value. Expected auto, claude, or codex.");
|
|
36194
36196
|
}
|
|
36197
|
+
function parseSessionRating(value) {
|
|
36198
|
+
if (value === void 0) return void 0;
|
|
36199
|
+
const normalized = value.trim().toLowerCase();
|
|
36200
|
+
if (normalized === "good" || normalized === "bad" || normalized === "neutral") {
|
|
36201
|
+
return normalized;
|
|
36202
|
+
}
|
|
36203
|
+
throw new Error("Invalid --rating value. Expected good, bad, or neutral.");
|
|
36204
|
+
}
|
|
36195
36205
|
function findSessionFile(sessionId, agent) {
|
|
36196
36206
|
if (!UUID_RE.test(sessionId)) {
|
|
36197
36207
|
throw new Error(
|
|
@@ -36457,7 +36467,8 @@ async function uploadChunkedSessions(sessions, options) {
|
|
|
36457
36467
|
upload_id: uploadId,
|
|
36458
36468
|
session_ids: sessions.map((session) => session.sessionId),
|
|
36459
36469
|
labels: sessions.map((session) => session.label),
|
|
36460
|
-
environments: sessions.map(() => detectShellContext())
|
|
36470
|
+
environments: sessions.map(() => detectShellContext()),
|
|
36471
|
+
...options.rating ? { rating: options.rating } : {}
|
|
36461
36472
|
});
|
|
36462
36473
|
printCommandEnvelope(
|
|
36463
36474
|
{
|
|
@@ -36477,6 +36488,7 @@ async function uploadChunkedSessions(sessions, options) {
|
|
|
36477
36488
|
);
|
|
36478
36489
|
}
|
|
36479
36490
|
async function handleSessionsSend(options) {
|
|
36491
|
+
const rating = parseSessionRating(options.rating);
|
|
36480
36492
|
if (options.file) {
|
|
36481
36493
|
const filePath = (0, import_node_path19.resolve)(options.file);
|
|
36482
36494
|
if (!(0, import_node_fs14.existsSync)(filePath)) {
|
|
@@ -36484,7 +36496,8 @@ async function handleSessionsSend(options) {
|
|
|
36484
36496
|
}
|
|
36485
36497
|
const response2 = await uploadPayload("/api/v2/cli/send-session", {
|
|
36486
36498
|
file: (0, import_node_fs14.readFileSync)(filePath).toString("base64"),
|
|
36487
|
-
filename: (0, import_node_path19.basename)(filePath)
|
|
36499
|
+
filename: (0, import_node_path19.basename)(filePath),
|
|
36500
|
+
...rating ? { rating } : {}
|
|
36488
36501
|
});
|
|
36489
36502
|
printCommandEnvelope(
|
|
36490
36503
|
{
|
|
@@ -36517,13 +36530,14 @@ async function handleSessionsSend(options) {
|
|
|
36517
36530
|
return { ...target, ...upload };
|
|
36518
36531
|
});
|
|
36519
36532
|
if (built.some((session) => session.needsChunking)) {
|
|
36520
|
-
await uploadChunkedSessions(built, options);
|
|
36533
|
+
await uploadChunkedSessions(built, { json: options.json, rating });
|
|
36521
36534
|
return;
|
|
36522
36535
|
}
|
|
36523
36536
|
const response = built.length === 1 && !options.label?.length ? await uploadPayload("/api/v2/cli/send-session", {
|
|
36524
36537
|
session_id: built[0]?.sessionId,
|
|
36525
36538
|
content: built[0]?.encodedContent,
|
|
36526
|
-
environment: detectShellContext()
|
|
36539
|
+
environment: detectShellContext(),
|
|
36540
|
+
...rating ? { rating } : {}
|
|
36527
36541
|
}) : await uploadPayload("/api/v2/cli/send-session", {
|
|
36528
36542
|
sessions: built.map((session) => ({
|
|
36529
36543
|
session_id: session.sessionId,
|
|
@@ -36531,7 +36545,8 @@ async function handleSessionsSend(options) {
|
|
|
36531
36545
|
label: session.label,
|
|
36532
36546
|
environment: detectShellContext()
|
|
36533
36547
|
})),
|
|
36534
|
-
environment: detectShellContext()
|
|
36548
|
+
environment: detectShellContext(),
|
|
36549
|
+
...rating ? { rating } : {}
|
|
36535
36550
|
});
|
|
36536
36551
|
printCommandEnvelope(
|
|
36537
36552
|
{
|
|
@@ -36709,6 +36724,7 @@ Examples:
|
|
|
36709
36724
|
deepline ${familyName} send --current-session --json
|
|
36710
36725
|
deepline ${familyName} send --agent codex --current-session --json
|
|
36711
36726
|
deepline ${familyName} send --session-id 5a3bfb97-a2d9-49d9-82c6-52ccc03dadca --label "pilot run"
|
|
36727
|
+
deepline ${familyName} send --current-session --rating bad --json # tag the session as one that went badly
|
|
36712
36728
|
deepline ${familyName} send --file ./debug.log --json
|
|
36713
36729
|
`
|
|
36714
36730
|
).option(
|
|
@@ -36725,7 +36741,10 @@ Examples:
|
|
|
36725
36741
|
"--agent <auto|claude|codex>",
|
|
36726
36742
|
"Limit transcript discovery to one agent runtime",
|
|
36727
36743
|
"auto"
|
|
36728
|
-
).option("--current-session", "Use the newest local agent session JSONL").option("--file <path>", "Upload a raw local file instead of a session").option(
|
|
36744
|
+
).option("--current-session", "Use the newest local agent session JSONL").option("--file <path>", "Upload a raw local file instead of a session").option(
|
|
36745
|
+
"--rating <good|bad|neutral>",
|
|
36746
|
+
"Tag the upload by outcome, not tone, so Deepline can filter sessions: good = the user's goal was met without product problems; bad = the goal was missed, or a product failure, bug, or avoidable friction (including a substantial workaround) got in the way; neutral = partly met or unclear."
|
|
36747
|
+
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(handleSessionsSend);
|
|
36729
36748
|
parent.command("render").description("Render local session transcript(s) to an HTML viewer.").addHelpText(
|
|
36730
36749
|
"after",
|
|
36731
36750
|
`
|
package/dist/cli/index.mjs
CHANGED
|
@@ -3063,7 +3063,7 @@ var SDK_RELEASE = {
|
|
|
3063
3063
|
// getters keep their established compatibility behavior.
|
|
3064
3064
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3065
3065
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3066
|
-
version: "0.3.
|
|
3066
|
+
version: "0.3.139",
|
|
3067
3067
|
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.",
|
|
3068
3068
|
packageCapabilities: {
|
|
3069
3069
|
updatePreferences: 1
|
|
@@ -24745,7 +24745,9 @@ function formatInsufficientCreditsMessage(input2) {
|
|
|
24745
24745
|
const workspaceSuffix = workspace ? ` (workspace=${workspace})` : "";
|
|
24746
24746
|
const recovery = insufficientCreditsRecoveryCommands(input2.billing);
|
|
24747
24747
|
const addSuffix = billingUrl && recommended !== "-" ? ` Add >=${recommended} at ${billingUrl}.` : billingUrl ? ` Add credits at ${billingUrl}.` : "";
|
|
24748
|
-
|
|
24748
|
+
const minimum = input2.billing.minimum_balance_credits;
|
|
24749
|
+
const shortfall = typeof minimum === "number" && input2.billing.required_credits === minimum ? `Workspace balance ${balance} is below the ${formatCreditAmount(minimum)}-credit workspace minimum for starting a billable call (${operation}${workspaceSuffix}); this is a workspace-wide minimum, separate from the tool's own price.` : `Workspace balance ${balance} < required ${required} for ${operation}${workspaceSuffix}.`;
|
|
24750
|
+
return `${shortfall}${addSuffix} Ask the user if they want to add Deepline credits. If they approve, run: ${recovery.topUp}. If checkout is required, run: ${recovery.checkout}.`;
|
|
24749
24751
|
}
|
|
24750
24752
|
function buildInsufficientCreditsSummaryLines(input2) {
|
|
24751
24753
|
const progress = input2.status.progress;
|
|
@@ -36271,6 +36273,14 @@ function parseSessionAgent(value) {
|
|
|
36271
36273
|
}
|
|
36272
36274
|
throw new Error("Invalid --agent value. Expected auto, claude, or codex.");
|
|
36273
36275
|
}
|
|
36276
|
+
function parseSessionRating(value) {
|
|
36277
|
+
if (value === void 0) return void 0;
|
|
36278
|
+
const normalized = value.trim().toLowerCase();
|
|
36279
|
+
if (normalized === "good" || normalized === "bad" || normalized === "neutral") {
|
|
36280
|
+
return normalized;
|
|
36281
|
+
}
|
|
36282
|
+
throw new Error("Invalid --rating value. Expected good, bad, or neutral.");
|
|
36283
|
+
}
|
|
36274
36284
|
function findSessionFile(sessionId, agent) {
|
|
36275
36285
|
if (!UUID_RE.test(sessionId)) {
|
|
36276
36286
|
throw new Error(
|
|
@@ -36536,7 +36546,8 @@ async function uploadChunkedSessions(sessions, options) {
|
|
|
36536
36546
|
upload_id: uploadId,
|
|
36537
36547
|
session_ids: sessions.map((session) => session.sessionId),
|
|
36538
36548
|
labels: sessions.map((session) => session.label),
|
|
36539
|
-
environments: sessions.map(() => detectShellContext())
|
|
36549
|
+
environments: sessions.map(() => detectShellContext()),
|
|
36550
|
+
...options.rating ? { rating: options.rating } : {}
|
|
36540
36551
|
});
|
|
36541
36552
|
printCommandEnvelope(
|
|
36542
36553
|
{
|
|
@@ -36556,6 +36567,7 @@ async function uploadChunkedSessions(sessions, options) {
|
|
|
36556
36567
|
);
|
|
36557
36568
|
}
|
|
36558
36569
|
async function handleSessionsSend(options) {
|
|
36570
|
+
const rating = parseSessionRating(options.rating);
|
|
36559
36571
|
if (options.file) {
|
|
36560
36572
|
const filePath = resolve14(options.file);
|
|
36561
36573
|
if (!existsSync10(filePath)) {
|
|
@@ -36563,7 +36575,8 @@ async function handleSessionsSend(options) {
|
|
|
36563
36575
|
}
|
|
36564
36576
|
const response2 = await uploadPayload("/api/v2/cli/send-session", {
|
|
36565
36577
|
file: readFileSync11(filePath).toString("base64"),
|
|
36566
|
-
filename: basename5(filePath)
|
|
36578
|
+
filename: basename5(filePath),
|
|
36579
|
+
...rating ? { rating } : {}
|
|
36567
36580
|
});
|
|
36568
36581
|
printCommandEnvelope(
|
|
36569
36582
|
{
|
|
@@ -36596,13 +36609,14 @@ async function handleSessionsSend(options) {
|
|
|
36596
36609
|
return { ...target, ...upload };
|
|
36597
36610
|
});
|
|
36598
36611
|
if (built.some((session) => session.needsChunking)) {
|
|
36599
|
-
await uploadChunkedSessions(built, options);
|
|
36612
|
+
await uploadChunkedSessions(built, { json: options.json, rating });
|
|
36600
36613
|
return;
|
|
36601
36614
|
}
|
|
36602
36615
|
const response = built.length === 1 && !options.label?.length ? await uploadPayload("/api/v2/cli/send-session", {
|
|
36603
36616
|
session_id: built[0]?.sessionId,
|
|
36604
36617
|
content: built[0]?.encodedContent,
|
|
36605
|
-
environment: detectShellContext()
|
|
36618
|
+
environment: detectShellContext(),
|
|
36619
|
+
...rating ? { rating } : {}
|
|
36606
36620
|
}) : await uploadPayload("/api/v2/cli/send-session", {
|
|
36607
36621
|
sessions: built.map((session) => ({
|
|
36608
36622
|
session_id: session.sessionId,
|
|
@@ -36610,7 +36624,8 @@ async function handleSessionsSend(options) {
|
|
|
36610
36624
|
label: session.label,
|
|
36611
36625
|
environment: detectShellContext()
|
|
36612
36626
|
})),
|
|
36613
|
-
environment: detectShellContext()
|
|
36627
|
+
environment: detectShellContext(),
|
|
36628
|
+
...rating ? { rating } : {}
|
|
36614
36629
|
});
|
|
36615
36630
|
printCommandEnvelope(
|
|
36616
36631
|
{
|
|
@@ -36788,6 +36803,7 @@ Examples:
|
|
|
36788
36803
|
deepline ${familyName} send --current-session --json
|
|
36789
36804
|
deepline ${familyName} send --agent codex --current-session --json
|
|
36790
36805
|
deepline ${familyName} send --session-id 5a3bfb97-a2d9-49d9-82c6-52ccc03dadca --label "pilot run"
|
|
36806
|
+
deepline ${familyName} send --current-session --rating bad --json # tag the session as one that went badly
|
|
36791
36807
|
deepline ${familyName} send --file ./debug.log --json
|
|
36792
36808
|
`
|
|
36793
36809
|
).option(
|
|
@@ -36804,7 +36820,10 @@ Examples:
|
|
|
36804
36820
|
"--agent <auto|claude|codex>",
|
|
36805
36821
|
"Limit transcript discovery to one agent runtime",
|
|
36806
36822
|
"auto"
|
|
36807
|
-
).option("--current-session", "Use the newest local agent session JSONL").option("--file <path>", "Upload a raw local file instead of a session").option(
|
|
36823
|
+
).option("--current-session", "Use the newest local agent session JSONL").option("--file <path>", "Upload a raw local file instead of a session").option(
|
|
36824
|
+
"--rating <good|bad|neutral>",
|
|
36825
|
+
"Tag the upload by outcome, not tone, so Deepline can filter sessions: good = the user's goal was met without product problems; bad = the goal was missed, or a product failure, bug, or avoidable friction (including a substantial workaround) got in the way; neutral = partly met or unclear."
|
|
36826
|
+
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(handleSessionsSend);
|
|
36808
36827
|
parent.command("render").description("Render local session transcript(s) to an HTML viewer.").addHelpText(
|
|
36809
36828
|
"after",
|
|
36810
36829
|
`
|
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.
|
|
867
|
+
version: "0.3.139",
|
|
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.
|
|
771
|
+
version: "0.3.139",
|
|
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
|
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.139";
|
|
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.139";
|
|
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.139",
|
|
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.139",
|
|
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
|