deepline 0.3.139 → 0.3.141

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.
@@ -1783,6 +1783,20 @@ export type TargetBillingStatusResult = {
1783
1783
  legacy_changes_allowed?: boolean;
1784
1784
  payment_state: string;
1785
1785
  recharge_state: string;
1786
+ billing_email?: string | null;
1787
+ collection_method?: 'charge_automatically' | 'send_invoice';
1788
+ payment_access_policy?: 'payment_required' | 'net_30' | 'net_60';
1789
+ plan_invoice?: {
1790
+ url: string | null;
1791
+ amount_usd: number;
1792
+ due_at: string | null;
1793
+ status: string | null;
1794
+ } | null;
1795
+ outstanding_invoice?: {
1796
+ amount_usd: number;
1797
+ due_at: string;
1798
+ state: 'open' | 'cancelling';
1799
+ } | null;
1786
1800
  next_action: string | null;
1787
1801
  pending_plan_sku: string | null;
1788
1802
  /** Saved transition boundary; optional for older servers. */
@@ -1837,6 +1851,7 @@ export type TargetBillingPlanTransitionOptions =
1837
1851
  | 'growth-v1'
1838
1852
  | 'growth-canary-v1'
1839
1853
  | 'team-v1';
1854
+ billingEmail?: string;
1840
1855
  idempotencyKey: string;
1841
1856
  }
1842
1857
  | {
@@ -5990,6 +6005,9 @@ export class DeeplineClient {
5990
6005
  '/api/v2/billing/plan-transitions',
5991
6006
  {
5992
6007
  action: options.action,
6008
+ ...(options.action === 'start_or_change' && options.billingEmail
6009
+ ? { billing_email: options.billingEmail }
6010
+ : {}),
5993
6011
  ...(options.targetPlanSku
5994
6012
  ? { target_plan_sku: options.targetPlanSku }
5995
6013
  : {}),
@@ -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.139',
203
+ version: '0.3.141',
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: {
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.139",
3071
+ version: "0.3.141",
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
@@ -9630,6 +9630,7 @@ var DeeplineClient = class _DeeplineClient {
9630
9630
  "/api/v2/billing/plan-transitions",
9631
9631
  {
9632
9632
  action: options.action,
9633
+ ...options.action === "start_or_change" && options.billingEmail ? { billing_email: options.billingEmail } : {},
9633
9634
  ...options.targetPlanSku ? { target_plan_sku: options.targetPlanSku } : {}
9634
9635
  },
9635
9636
  { "Idempotency-Key": idempotencyKey },
@@ -13141,6 +13142,7 @@ async function handleTargetPlan(planSku, options) {
13141
13142
  const payload = await new DeeplineClient().billing.transitionPlan({
13142
13143
  action: "start_or_change",
13143
13144
  targetPlanSku: planSku,
13145
+ ...options.billingEmail ? { billingEmail: options.billingEmail } : {},
13144
13146
  idempotencyKey
13145
13147
  });
13146
13148
  printCommandEnvelope(
@@ -13425,6 +13427,9 @@ Examples:
13425
13427
  billing.command("change-plan").description("Start or change the target billing plan.").argument(
13426
13428
  "<plan_sku>",
13427
13429
  "payg-v1, builder-v1, growth-v1, growth-canary-v1, or team-v1"
13430
+ ).option(
13431
+ "--billing-email <email>",
13432
+ "Invoice recipient when the account has no billing email"
13428
13433
  ).option("--idempotency-key <key>", "Stable retry key").option("--json", "Emit JSON output").action(handleTargetPlan);
13429
13434
  billing.command("cancel-plan").description("Cancel a target subscription at period end, or undo it.").option("--undo", "Undo a pending period-end cancellation").option("--idempotency-key <key>", "Stable retry key").option("--json", "Emit JSON output").action(handleTargetPlanCancellation);
13430
13435
  billing.command("portal").description("Open the Stripe-hosted billing recovery portal.").option("--no-open", "Print the URL without opening a browser").option("--json", "Emit JSON output").action(handleTargetPortal);
@@ -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.139",
3066
+ version: "0.3.141",
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
@@ -9625,6 +9625,7 @@ var DeeplineClient = class _DeeplineClient {
9625
9625
  "/api/v2/billing/plan-transitions",
9626
9626
  {
9627
9627
  action: options.action,
9628
+ ...options.action === "start_or_change" && options.billingEmail ? { billing_email: options.billingEmail } : {},
9628
9629
  ...options.targetPlanSku ? { target_plan_sku: options.targetPlanSku } : {}
9629
9630
  },
9630
9631
  { "Idempotency-Key": idempotencyKey },
@@ -13148,6 +13149,7 @@ async function handleTargetPlan(planSku, options) {
13148
13149
  const payload = await new DeeplineClient().billing.transitionPlan({
13149
13150
  action: "start_or_change",
13150
13151
  targetPlanSku: planSku,
13152
+ ...options.billingEmail ? { billingEmail: options.billingEmail } : {},
13151
13153
  idempotencyKey
13152
13154
  });
13153
13155
  printCommandEnvelope(
@@ -13432,6 +13434,9 @@ Examples:
13432
13434
  billing.command("change-plan").description("Start or change the target billing plan.").argument(
13433
13435
  "<plan_sku>",
13434
13436
  "payg-v1, builder-v1, growth-v1, growth-canary-v1, or team-v1"
13437
+ ).option(
13438
+ "--billing-email <email>",
13439
+ "Invoice recipient when the account has no billing email"
13435
13440
  ).option("--idempotency-key <key>", "Stable retry key").option("--json", "Emit JSON output").action(handleTargetPlan);
13436
13441
  billing.command("cancel-plan").description("Cancel a target subscription at period end, or undo it.").option("--undo", "Undo a pending period-end cancellation").option("--idempotency-key <key>", "Stable retry key").option("--json", "Emit JSON output").action(handleTargetPlanCancellation);
13437
13442
  billing.command("portal").description("Open the Stripe-hosted billing recovery portal.").option("--no-open", "Print the URL without opening a browser").option("--json", "Emit JSON output").action(handleTargetPortal);
package/dist/index.d.mts CHANGED
@@ -4102,6 +4102,20 @@ type TargetBillingStatusResult = {
4102
4102
  legacy_changes_allowed?: boolean;
4103
4103
  payment_state: string;
4104
4104
  recharge_state: string;
4105
+ billing_email?: string | null;
4106
+ collection_method?: 'charge_automatically' | 'send_invoice';
4107
+ payment_access_policy?: 'payment_required' | 'net_30' | 'net_60';
4108
+ plan_invoice?: {
4109
+ url: string | null;
4110
+ amount_usd: number;
4111
+ due_at: string | null;
4112
+ status: string | null;
4113
+ } | null;
4114
+ outstanding_invoice?: {
4115
+ amount_usd: number;
4116
+ due_at: string;
4117
+ state: 'open' | 'cancelling';
4118
+ } | null;
4105
4119
  next_action: string | null;
4106
4120
  pending_plan_sku: string | null;
4107
4121
  /** Saved transition boundary; optional for older servers. */
@@ -4144,6 +4158,7 @@ type TargetBillingMutationResult = {
4144
4158
  type TargetBillingPlanTransitionOptions = {
4145
4159
  action: 'start_or_change';
4146
4160
  targetPlanSku: 'payg-v1' | 'builder-v1' | 'growth-v1' | 'growth-canary-v1' | 'team-v1';
4161
+ billingEmail?: string;
4147
4162
  idempotencyKey: string;
4148
4163
  } | {
4149
4164
  action: 'cancel' | 'undo_cancel';
package/dist/index.d.ts CHANGED
@@ -4102,6 +4102,20 @@ type TargetBillingStatusResult = {
4102
4102
  legacy_changes_allowed?: boolean;
4103
4103
  payment_state: string;
4104
4104
  recharge_state: string;
4105
+ billing_email?: string | null;
4106
+ collection_method?: 'charge_automatically' | 'send_invoice';
4107
+ payment_access_policy?: 'payment_required' | 'net_30' | 'net_60';
4108
+ plan_invoice?: {
4109
+ url: string | null;
4110
+ amount_usd: number;
4111
+ due_at: string | null;
4112
+ status: string | null;
4113
+ } | null;
4114
+ outstanding_invoice?: {
4115
+ amount_usd: number;
4116
+ due_at: string;
4117
+ state: 'open' | 'cancelling';
4118
+ } | null;
4105
4119
  next_action: string | null;
4106
4120
  pending_plan_sku: string | null;
4107
4121
  /** Saved transition boundary; optional for older servers. */
@@ -4144,6 +4158,7 @@ type TargetBillingMutationResult = {
4144
4158
  type TargetBillingPlanTransitionOptions = {
4145
4159
  action: 'start_or_change';
4146
4160
  targetPlanSku: 'payg-v1' | 'builder-v1' | 'growth-v1' | 'growth-canary-v1' | 'team-v1';
4161
+ billingEmail?: string;
4147
4162
  idempotencyKey: string;
4148
4163
  } | {
4149
4164
  action: 'cancel' | 'undo_cancel';
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.139",
867
+ version: "0.3.141",
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
@@ -7304,6 +7304,7 @@ var DeeplineClient = class _DeeplineClient {
7304
7304
  "/api/v2/billing/plan-transitions",
7305
7305
  {
7306
7306
  action: options.action,
7307
+ ...options.action === "start_or_change" && options.billingEmail ? { billing_email: options.billingEmail } : {},
7307
7308
  ...options.targetPlanSku ? { target_plan_sku: options.targetPlanSku } : {}
7308
7309
  },
7309
7310
  { "Idempotency-Key": idempotencyKey },
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.139",
771
+ version: "0.3.141",
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
@@ -7208,6 +7208,7 @@ var DeeplineClient = class _DeeplineClient {
7208
7208
  "/api/v2/billing/plan-transitions",
7209
7209
  {
7210
7210
  action: options.action,
7211
+ ...options.action === "start_or_change" && options.billingEmail ? { billing_email: options.billingEmail } : {},
7211
7212
  ...options.targetPlanSku ? { target_plan_sku: options.targetPlanSku } : {}
7212
7213
  },
7213
7214
  { "Idempotency-Key": idempotencyKey },
@@ -149,7 +149,7 @@ type SdkRelease = {
149
149
  supportPolicy: SdkSupportPolicy;
150
150
  };
151
151
  declare const SDK_RELEASE: {
152
- readonly version: "0.3.139";
152
+ readonly version: "0.3.141";
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.139";
152
+ readonly version: "0.3.141";
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.139",
77
+ version: "0.3.141",
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.139",
51
+ version: "0.3.141",
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
@@ -110,6 +110,26 @@ body {
110
110
  letter-spacing: 0.09em;
111
111
  text-transform: uppercase;
112
112
  }
113
+ .rail-toggle {
114
+ display: flex;
115
+ align-items: center;
116
+ gap: 8px;
117
+ position: sticky;
118
+ top: 0;
119
+ z-index: 2;
120
+ width: 100%;
121
+ min-height: 44px;
122
+ padding: 0 14px;
123
+ border: 0;
124
+ border-bottom: 1px solid var(--viewer-border);
125
+ background: var(--bg-secondary);
126
+ color: var(--text);
127
+ font: inherit;
128
+ cursor: pointer;
129
+ }
130
+ .rail-toggle:hover { background: var(--bg-tertiary); }
131
+ .sidebar.rail-collapsed, .run-sidebar.rail-collapsed { width: 44px; }
132
+ .rail-collapsed .rail-content, .rail-collapsed .rail-toggle-label { display: none; }
113
133
  .rail-heading strong {
114
134
  border: 1px solid var(--viewer-border);
115
135
  border-radius: var(--viewer-radius-control);
@@ -1644,6 +1644,22 @@ function init() {
1644
1644
  }
1645
1645
  }
1646
1646
 
1647
+ const collapsedRails = new Set();
1648
+
1649
+ function railToggle(id, label) {
1650
+ const collapsed = collapsedRails.has(id);
1651
+ return `<button class="rail-toggle" aria-controls="${id}" aria-expanded="${!collapsed}" aria-label="${collapsed ? 'Expand' : 'Collapse'} ${label}" title="${collapsed ? 'Expand' : 'Collapse'} ${label}" onclick="toggleRail('${id}')"><span aria-hidden="true">${collapsed ? '»' : '«'}</span><span class="rail-toggle-label">${label}</span></button>`;
1652
+ }
1653
+
1654
+ function toggleRail(id) {
1655
+ if (collapsedRails.has(id)) collapsedRails.delete(id);
1656
+ else collapsedRails.add(id);
1657
+ const rail = document.getElementById(id);
1658
+ rail.classList.toggle('rail-collapsed', collapsedRails.has(id));
1659
+ rail.querySelector('.rail-toggle').outerHTML = railToggle(id, id === 'sidebar' ? 'Evaluations' : 'Compare setup');
1660
+ rail.querySelector('.rail-toggle').focus();
1661
+ }
1662
+
1647
1663
  function renderSidebar() {
1648
1664
  const el = document.getElementById('sidebar');
1649
1665
  el.classList.remove('hidden');
@@ -1657,7 +1673,8 @@ function renderSidebar() {
1657
1673
  <span class="sub">${runs} run${runs === 1 ? '' : 's'} &middot; ${sessions.length} session${sessions.length === 1 ? '' : 's'}</span>
1658
1674
  </button>`;
1659
1675
  }).join('');
1660
- el.innerHTML = html;
1676
+ el.classList.toggle('rail-collapsed', collapsedRails.has('sidebar'));
1677
+ el.innerHTML = railToggle('sidebar', 'Evaluations') + '<div class="rail-content">' + html + '</div>';
1661
1678
  }
1662
1679
 
1663
1680
  function ensureRunSidebar() {
@@ -1692,7 +1709,8 @@ function renderRunSidebar() {
1692
1709
  <span class="run-skill">${sliceBy === 'none' ? 'single transcript' : 'compare ' + esc(sliceBy)}</span>
1693
1710
  </button>`;
1694
1711
  }).join('');
1695
- el.innerHTML = html;
1712
+ el.classList.toggle('rail-collapsed', collapsedRails.has('run-sidebar'));
1713
+ el.innerHTML = railToggle('run-sidebar', 'Compare setup') + '<div class="rail-content">' + html + '</div>';
1696
1714
  }
1697
1715
 
1698
1716
  function switchEval(index) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.3.139",
3
+ "version": "0.3.141",
4
4
  "description": "GTM data CLI and TypeScript SDK for coding agents",
5
5
  "license": "MIT",
6
6
  "homepage": "https://code.deepline.com",