@agentsky/sky 2.26.0 → 2.27.0

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.
@@ -3,7 +3,7 @@ import {
3
3
  apiBase,
4
4
  apiToken,
5
5
  currentUniverse
6
- } from "./chunk-UZ7KWRQH.js";
6
+ } from "./chunk-HWDI7WA5.js";
7
7
 
8
8
  // src/api.ts
9
9
  import { createWriteStream, writeFileSync } from "fs";
@@ -64,6 +64,7 @@ async function postEvents(sessionId, events, idempotencyKey) {
64
64
  "user-agent": USER_AGENT,
65
65
  ...authHeaders(),
66
66
  "content-type": "application/json",
67
+ "x-agentsky-surface": "cli",
67
68
  ...idempotencyKey ? { "idempotency-key": idempotencyKey } : {}
68
69
  },
69
70
  body: JSON.stringify({ events })
@@ -148,7 +149,7 @@ async function resolveSessionRef(ref) {
148
149
  return agent.defaultSessionId;
149
150
  }
150
151
  async function* streamEvents(sessionId, signal) {
151
- const { parseSseStream } = await import("./src-OBSBFTDB.js");
152
+ const { parseSseStream } = await import("./src-UWCEYDU6.js");
152
153
  const res = await fetch(
153
154
  `${apiBase()}/sessions/${encodeURIComponent(sessionId)}/stream`,
154
155
  {
@@ -19015,8 +19015,8 @@ var CATALOG_MODELS = [
19015
19015
  }
19016
19016
  ],
19017
19017
  "maxPrice": {
19018
- "prompt": 1,
19019
- "completion": 2.7
19018
+ "prompt": 1.1,
19019
+ "completion": 2.97
19020
19020
  },
19021
19021
  "reasoningEfforts": [
19022
19022
  "low",
@@ -19041,14 +19041,14 @@ var CATALOG_MODELS = [
19041
19041
  "tiers": [
19042
19042
  {
19043
19043
  "maxPromptTokens": 1048576,
19044
- "input": 0.1381,
19045
- "output": 0.32494,
19046
- "cachedInput": 3482e-6
19044
+ "input": 0.105606,
19045
+ "output": 0.211211,
19046
+ "cachedInput": 2114e-6
19047
19047
  }
19048
19048
  ],
19049
19049
  "maxPrice": {
19050
- "prompt": 0.119,
19051
- "completion": 0.28
19050
+ "prompt": 0.1001,
19051
+ "completion": 0.2002
19052
19052
  },
19053
19053
  "reasoningEfforts": [],
19054
19054
  "quantizations": [
@@ -19069,14 +19069,14 @@ var CATALOG_MODELS = [
19069
19069
  "tiers": [
19070
19070
  {
19071
19071
  "maxPromptTokens": 1048576,
19072
- "input": 0.967857,
19073
- "output": 2.902411,
19074
- "cachedInput": 0.048741
19072
+ "input": 0.871072,
19073
+ "output": 2.61217,
19074
+ "cachedInput": 0.043867
19075
19075
  }
19076
19076
  ],
19077
19077
  "maxPrice": {
19078
- "prompt": 0.834,
19079
- "completion": 2.501
19078
+ "prompt": 0.82566,
19079
+ "completion": 2.47599
19080
19080
  },
19081
19081
  "reasoningEfforts": [
19082
19082
  "none",
@@ -19101,14 +19101,14 @@ var CATALOG_MODELS = [
19101
19101
  "tiers": [
19102
19102
  {
19103
19103
  "maxPromptTokens": 1048576,
19104
- "input": 0.1381,
19105
- "output": 0.276199,
19106
- "cachedInput": 0.02762
19104
+ "input": 0.051574,
19105
+ "output": 0.154719,
19106
+ "cachedInput": 1642e-6
19107
19107
  }
19108
19108
  ],
19109
19109
  "maxPrice": {
19110
- "prompt": 0.119,
19111
- "completion": 0.238
19110
+ "prompt": 0.048884,
19111
+ "completion": 0.146652
19112
19112
  },
19113
19113
  "reasoningEfforts": [
19114
19114
  "none",
@@ -19134,14 +19134,14 @@ var CATALOG_MODELS = [
19134
19134
  "tiers": [
19135
19135
  {
19136
19136
  "maxPromptTokens": 262144,
19137
- "input": 0.16247,
19138
- "output": 0.67309,
19139
- "cachedInput": 0.040618
19137
+ "input": 0.095742,
19138
+ "output": 0.382965,
19139
+ "cachedInput": 0.023936
19140
19140
  }
19141
19141
  ],
19142
19142
  "maxPrice": {
19143
- "prompt": 0.14,
19144
- "completion": 0.58
19143
+ "prompt": 0.09075,
19144
+ "completion": 0.363
19145
19145
  },
19146
19146
  "reasoningEfforts": [
19147
19147
  "none",
@@ -19172,8 +19172,8 @@ var CATALOG_MODELS = [
19172
19172
  }
19173
19173
  ],
19174
19174
  "maxPrice": {
19175
- "prompt": 0.625,
19176
- "completion": 3.125
19175
+ "prompt": 0.6875,
19176
+ "completion": 3.4375
19177
19177
  },
19178
19178
  "reasoningEfforts": [
19179
19179
  "none",
@@ -19300,14 +19300,14 @@ var CATALOG_MODELS = [
19300
19300
  "tiers": [
19301
19301
  {
19302
19302
  "maxPromptTokens": 262144,
19303
- "input": 0.893585,
19304
- "output": 3.9457,
19305
- "cachedInput": 0.16247
19303
+ "input": 0.665,
19304
+ "output": 2.8,
19305
+ "cachedInput": 0.132297
19306
19306
  }
19307
19307
  ],
19308
19308
  "maxPrice": {
19309
- "prompt": 0.77,
19310
- "completion": 3.4
19309
+ "prompt": 0.627,
19310
+ "completion": 2.64
19311
19311
  },
19312
19312
  "reasoningEfforts": [],
19313
19313
  "quantizations": [
@@ -19334,8 +19334,8 @@ var CATALOG_MODELS = [
19334
19334
  }
19335
19335
  ],
19336
19336
  "maxPrice": {
19337
- "prompt": 2,
19338
- "completion": 8
19337
+ "prompt": 2.2,
19338
+ "completion": 8.8
19339
19339
  },
19340
19340
  "reasoningEfforts": [],
19341
19341
  "quantizations": [
@@ -19410,8 +19410,8 @@ var CATALOG_MODELS = [
19410
19410
  }
19411
19411
  ],
19412
19412
  "maxPrice": {
19413
- "prompt": 0.26,
19414
- "completion": 0.78
19413
+ "prompt": 0.286,
19414
+ "completion": 0.858
19415
19415
  },
19416
19416
  "reasoningEfforts": [],
19417
19417
  "quantizations": [
@@ -19453,8 +19453,8 @@ var CATALOG_MODELS = [
19453
19453
  }
19454
19454
  ],
19455
19455
  "maxPrice": {
19456
- "prompt": 0.195,
19457
- "completion": 0.975
19456
+ "prompt": 0.2145,
19457
+ "completion": 1.0725
19458
19458
  },
19459
19459
  "reasoningEfforts": [],
19460
19460
  "quantizations": [
@@ -19480,8 +19480,8 @@ var CATALOG_MODELS = [
19480
19480
  }
19481
19481
  ],
19482
19482
  "maxPrice": {
19483
- "prompt": 0.065,
19484
- "completion": 0.26
19483
+ "prompt": 0.0715,
19484
+ "completion": 0.286
19485
19485
  },
19486
19486
  "reasoningEfforts": [],
19487
19487
  "quantizations": [
@@ -19514,8 +19514,8 @@ var CATALOG_MODELS = [
19514
19514
  }
19515
19515
  ],
19516
19516
  "maxPrice": {
19517
- "prompt": 0.1875,
19518
- "completion": 1.125
19517
+ "prompt": 0.20625,
19518
+ "completion": 1.2375
19519
19519
  },
19520
19520
  "reasoningEfforts": [],
19521
19521
  "quantizations": [
@@ -19543,8 +19543,8 @@ var CATALOG_MODELS = [
19543
19543
  }
19544
19544
  ],
19545
19545
  "maxPrice": {
19546
- "prompt": 1.475,
19547
- "completion": 4.425
19546
+ "prompt": 1.6225,
19547
+ "completion": 4.8675
19548
19548
  },
19549
19549
  "reasoningEfforts": [],
19550
19550
  "quantizations": [
@@ -19568,12 +19568,12 @@ var CATALOG_MODELS = [
19568
19568
  "input": 2.321,
19569
19569
  "output": 6.963,
19570
19570
  "cachedInput": 0.290125,
19571
- "cacheWrite": 2.90125
19571
+ "cacheWrite": 2.637501
19572
19572
  }
19573
19573
  ],
19574
19574
  "maxPrice": {
19575
- "prompt": 2,
19576
- "completion": 6
19575
+ "prompt": 2.2,
19576
+ "completion": 6.6
19577
19577
  },
19578
19578
  "reasoningEfforts": [
19579
19579
  "minimal",
@@ -19612,8 +19612,8 @@ var CATALOG_MODELS = [
19612
19612
  }
19613
19613
  ],
19614
19614
  "maxPrice": {
19615
- "prompt": 1,
19616
- "completion": 2
19615
+ "prompt": 1.1,
19616
+ "completion": 2.2
19617
19617
  },
19618
19618
  "reasoningEfforts": [],
19619
19619
  "quantizations": [
@@ -19634,14 +19634,14 @@ var CATALOG_MODELS = [
19634
19634
  "tiers": [
19635
19635
  {
19636
19636
  "maxPromptTokens": 131072,
19637
- "input": 0.2321,
19638
- "output": 1.27655,
19639
- "cachedInput": 0.034815
19637
+ "input": 0.150865,
19638
+ "output": 0.986425,
19639
+ "cachedInput": 0.029013
19640
19640
  }
19641
19641
  ],
19642
19642
  "maxPrice": {
19643
- "prompt": 0.2,
19644
- "completion": 1.1
19643
+ "prompt": 0.143,
19644
+ "completion": 0.935
19645
19645
  },
19646
19646
  "reasoningEfforts": [],
19647
19647
  "quantizations": [
@@ -19668,8 +19668,8 @@ var CATALOG_MODELS = [
19668
19668
  }
19669
19669
  ],
19670
19670
  "maxPrice": {
19671
- "prompt": 0.6,
19672
- "completion": 1.8
19671
+ "prompt": 0.66,
19672
+ "completion": 1.98
19673
19673
  },
19674
19674
  "reasoningEfforts": [],
19675
19675
  "quantizations": [
@@ -19690,14 +19690,14 @@ var CATALOG_MODELS = [
19690
19690
  "tiers": [
19691
19691
  {
19692
19692
  "maxPromptTokens": 204800,
19693
- "input": 0.6963,
19694
- "output": 2.5531,
19693
+ "input": 0.62667,
19694
+ "output": 2.29779,
19695
19695
  "cachedInput": 0.11489
19696
19696
  }
19697
19697
  ],
19698
19698
  "maxPrice": {
19699
- "prompt": 0.6,
19700
- "completion": 2.2
19699
+ "prompt": 0.594,
19700
+ "completion": 2.178
19701
19701
  },
19702
19702
  "reasoningEfforts": [],
19703
19703
  "quantizations": [
@@ -19718,14 +19718,14 @@ var CATALOG_MODELS = [
19718
19718
  "tiers": [
19719
19719
  {
19720
19720
  "maxPromptTokens": 202752,
19721
- "input": 0.81235,
19722
- "output": 2.59952,
19723
- "cachedInput": 0.16247
19721
+ "input": 0.7,
19722
+ "output": 2.24,
19723
+ "cachedInput": 0.14
19724
19724
  }
19725
19725
  ],
19726
19726
  "maxPrice": {
19727
- "prompt": 0.7,
19728
- "completion": 2.24
19727
+ "prompt": 0.66,
19728
+ "completion": 2.112
19729
19729
  },
19730
19730
  "reasoningEfforts": [],
19731
19731
  "quantizations": [
@@ -19752,8 +19752,8 @@ var CATALOG_MODELS = [
19752
19752
  }
19753
19753
  ],
19754
19754
  "maxPrice": {
19755
- "prompt": 1.2,
19756
- "completion": 4
19755
+ "prompt": 1.32,
19756
+ "completion": 4.4
19757
19757
  },
19758
19758
  "reasoningEfforts": [],
19759
19759
  "quantizations": [
@@ -19774,14 +19774,14 @@ var CATALOG_MODELS = [
19774
19774
  "tiers": [
19775
19775
  {
19776
19776
  "maxPromptTokens": 202752,
19777
- "input": 1.13729,
19778
- "output": 3.57434,
19779
- "cachedInput": 0.208194
19777
+ "input": 1.119419,
19778
+ "output": 3.518172,
19779
+ "cachedInput": 0.207893
19780
19780
  }
19781
19781
  ],
19782
19782
  "maxPrice": {
19783
- "prompt": 0.98,
19784
- "completion": 3.08
19783
+ "prompt": 1.06106,
19784
+ "completion": 3.33476
19785
19785
  },
19786
19786
  "reasoningEfforts": [],
19787
19787
  "quantizations": [
@@ -19808,8 +19808,8 @@ var CATALOG_MODELS = [
19808
19808
  }
19809
19809
  ],
19810
19810
  "maxPrice": {
19811
- "prompt": 0.6,
19812
- "completion": 2
19811
+ "prompt": 0.2079,
19812
+ "completion": 0.6534
19813
19813
  },
19814
19814
  "reasoningEfforts": [
19815
19815
  "none",
@@ -19840,8 +19840,8 @@ var CATALOG_MODELS = [
19840
19840
  }
19841
19841
  ],
19842
19842
  "maxPrice": {
19843
- "prompt": 1.25,
19844
- "completion": 4.25
19843
+ "prompt": 1.375,
19844
+ "completion": 4.675
19845
19845
  },
19846
19846
  "reasoningEfforts": [
19847
19847
  "low",
@@ -19867,14 +19867,14 @@ var CATALOG_MODELS = [
19867
19867
  "tiers": [
19868
19868
  {
19869
19869
  "maxPromptTokens": 262144,
19870
- "input": 0.174075,
19871
- "output": 0.58025,
19870
+ "input": 0.11605,
19871
+ "output": 0.4642,
19872
19872
  "cachedInput": 0.09284
19873
19873
  }
19874
19874
  ],
19875
19875
  "maxPrice": {
19876
- "prompt": 0.15,
19877
- "completion": 0.5
19876
+ "prompt": 0.11,
19877
+ "completion": 0.44
19878
19878
  },
19879
19879
  "reasoningEfforts": [],
19880
19880
  "quantizations": [
@@ -19925,8 +19925,8 @@ var CATALOG_MODELS = [
19925
19925
  }
19926
19926
  ],
19927
19927
  "maxPrice": {
19928
- "prompt": 0.6,
19929
- "completion": 3
19928
+ "prompt": 0.66,
19929
+ "completion": 3.3
19930
19930
  },
19931
19931
  "reasoningEfforts": [],
19932
19932
  "quantizations": [
@@ -19947,14 +19947,14 @@ var CATALOG_MODELS = [
19947
19947
  "tiers": [
19948
19948
  {
19949
19949
  "maxPromptTokens": 1048576,
19950
- "input": 0.4642,
19951
- "output": 1.3926,
19950
+ "input": 0.290125,
19951
+ "output": 1.1605,
19952
19952
  "cachedInput": 0.058025
19953
19953
  }
19954
19954
  ],
19955
19955
  "maxPrice": {
19956
- "prompt": 0.4,
19957
- "completion": 1.2
19956
+ "prompt": 0.275,
19957
+ "completion": 1.1
19958
19958
  },
19959
19959
  "reasoningEfforts": [
19960
19960
  "low",
@@ -19987,8 +19987,8 @@ var CATALOG_MODELS = [
19987
19987
  }
19988
19988
  ],
19989
19989
  "maxPrice": {
19990
- "prompt": 0.1,
19991
- "completion": 0.35
19990
+ "prompt": 0.11,
19991
+ "completion": 0.385
19992
19992
  },
19993
19993
  "reasoningEfforts": [
19994
19994
  "none",
@@ -20020,8 +20020,8 @@ var CATALOG_MODELS = [
20020
20020
  }
20021
20021
  ],
20022
20022
  "maxPrice": {
20023
- "prompt": 0.8,
20024
- "completion": 3.2
20023
+ "prompt": 0.88,
20024
+ "completion": 3.52
20025
20025
  },
20026
20026
  "reasoningEfforts": [],
20027
20027
  "quantizations": [
@@ -20048,8 +20048,8 @@ var CATALOG_MODELS = [
20048
20048
  }
20049
20049
  ],
20050
20050
  "maxPrice": {
20051
- "prompt": 0.05,
20052
- "completion": 0.7
20051
+ "prompt": 0.055,
20052
+ "completion": 0.77
20053
20053
  },
20054
20054
  "reasoningEfforts": [],
20055
20055
  "quantizations": [
@@ -20076,8 +20076,8 @@ var CATALOG_MODELS = [
20076
20076
  }
20077
20077
  ],
20078
20078
  "maxPrice": {
20079
- "prompt": 1.36,
20080
- "completion": 4.18
20079
+ "prompt": 1.496,
20080
+ "completion": 4.598
20081
20081
  },
20082
20082
  "reasoningEfforts": [
20083
20083
  "none",
@@ -20107,8 +20107,8 @@ var CATALOG_MODELS = [
20107
20107
  }
20108
20108
  ],
20109
20109
  "maxPrice": {
20110
- "prompt": 0.075,
20111
- "completion": 0.225
20110
+ "prompt": 0.0825,
20111
+ "completion": 0.2475
20112
20112
  },
20113
20113
  "reasoningEfforts": [],
20114
20114
  "quantizations": [
@@ -20176,8 +20176,8 @@ var CATALOG_MODELS = [
20176
20176
  }
20177
20177
  ],
20178
20178
  "maxPrice": {
20179
- "prompt": 0.15,
20180
- "completion": 1.5
20179
+ "prompt": 0.165,
20180
+ "completion": 1.65
20181
20181
  },
20182
20182
  "reasoningEfforts": [
20183
20183
  "none",
@@ -20210,8 +20210,8 @@ var CATALOG_MODELS = [
20210
20210
  }
20211
20211
  ],
20212
20212
  "maxPrice": {
20213
- "prompt": 3,
20214
- "completion": 15
20213
+ "prompt": 3.3,
20214
+ "completion": 16.5
20215
20215
  },
20216
20216
  "reasoningEfforts": [
20217
20217
  "none",
@@ -20243,8 +20243,8 @@ var CATALOG_MODELS = [
20243
20243
  }
20244
20244
  ],
20245
20245
  "maxPrice": {
20246
- "prompt": 2.8,
20247
- "completion": 8.8
20246
+ "prompt": 3.08,
20247
+ "completion": 9.68
20248
20248
  },
20249
20249
  "reasoningEfforts": [
20250
20250
  "low",
@@ -20275,8 +20275,8 @@ var CATALOG_MODELS = [
20275
20275
  }
20276
20276
  ],
20277
20277
  "maxPrice": {
20278
- "prompt": 4,
20279
- "completion": 12
20278
+ "prompt": 4.4,
20279
+ "completion": 13.2
20280
20280
  },
20281
20281
  "reasoningEfforts": [
20282
20282
  "minimal",
@@ -20309,8 +20309,8 @@ var CATALOG_MODELS = [
20309
20309
  }
20310
20310
  ],
20311
20311
  "maxPrice": {
20312
- "prompt": 0.7,
20313
- "completion": 1.4
20312
+ "prompt": 0.77,
20313
+ "completion": 1.54
20314
20314
  },
20315
20315
  "reasoningEfforts": [
20316
20316
  "low",
@@ -20341,8 +20341,8 @@ var CATALOG_MODELS = [
20341
20341
  }
20342
20342
  ],
20343
20343
  "maxPrice": {
20344
- "prompt": 3,
20345
- "completion": 6
20344
+ "prompt": 3.3,
20345
+ "completion": 6.6
20346
20346
  },
20347
20347
  "reasoningEfforts": [
20348
20348
  "low",
@@ -20373,8 +20373,8 @@ var CATALOG_MODELS = [
20373
20373
  }
20374
20374
  ],
20375
20375
  "maxPrice": {
20376
- "prompt": 0.05,
20377
- "completion": 0.2
20376
+ "prompt": 0.055,
20377
+ "completion": 0.22
20378
20378
  },
20379
20379
  "reasoningEfforts": [
20380
20380
  "none",
@@ -20409,8 +20409,8 @@ var CATALOG_MODELS = [
20409
20409
  }
20410
20410
  ],
20411
20411
  "maxPrice": {
20412
- "prompt": 0.3,
20413
- "completion": 1.5
20412
+ "prompt": 0.33,
20413
+ "completion": 1.65
20414
20414
  },
20415
20415
  "reasoningEfforts": [],
20416
20416
  "quantizations": [
@@ -20480,8 +20480,8 @@ var CATALOG_MODELS = [
20480
20480
  }
20481
20481
  ],
20482
20482
  "maxPrice": {
20483
- "prompt": 4.35,
20484
- "completion": 8.7
20483
+ "prompt": 4.785,
20484
+ "completion": 9.57
20485
20485
  },
20486
20486
  "reasoningEfforts": [],
20487
20487
  "quantizations": [
@@ -20502,14 +20502,14 @@ var CATALOG_MODELS = [
20502
20502
  "tiers": [
20503
20503
  {
20504
20504
  "maxPromptTokens": 1048576,
20505
- "input": 0.504818,
20506
- "output": 1.009635,
20507
- "cachedInput": 4642e-6
20505
+ "input": 0.449114,
20506
+ "output": 0.908672,
20507
+ "cachedInput": 3761e-6
20508
20508
  }
20509
20509
  ],
20510
20510
  "maxPrice": {
20511
- "prompt": 0.435,
20512
- "completion": 0.87
20511
+ "prompt": 0.4257,
20512
+ "completion": 0.8613
20513
20513
  },
20514
20514
  "reasoningEfforts": [],
20515
20515
  "quantizations": [
@@ -20536,8 +20536,8 @@ var CATALOG_MODELS = [
20536
20536
  }
20537
20537
  ],
20538
20538
  "maxPrice": {
20539
- "prompt": 0.15,
20540
- "completion": 0.47
20539
+ "prompt": 0.165,
20540
+ "completion": 0.517
20541
20541
  },
20542
20542
  "reasoningEfforts": [],
20543
20543
  "quantizations": [
@@ -20564,8 +20564,8 @@ var CATALOG_MODELS = [
20564
20564
  }
20565
20565
  ],
20566
20566
  "maxPrice": {
20567
- "prompt": 0.075,
20568
- "completion": 0.5
20567
+ "prompt": 0.0825,
20568
+ "completion": 0.55
20569
20569
  },
20570
20570
  "reasoningEfforts": [
20571
20571
  "none",
@@ -20589,8 +20589,8 @@ var CATALOG_MODELS = [
20589
20589
  }
20590
20590
  ],
20591
20591
  "maxPrice": {
20592
- "prompt": 0.37,
20593
- "completion": 1.25
20592
+ "prompt": 0.407,
20593
+ "completion": 1.375
20594
20594
  },
20595
20595
  "reasoningEfforts": [
20596
20596
  "low",
@@ -20621,8 +20621,8 @@ var CATALOG_MODELS = [
20621
20621
  }
20622
20622
  ],
20623
20623
  "maxPrice": {
20624
- "prompt": 0.075,
20625
- "completion": 0.25
20624
+ "prompt": 0.0825,
20625
+ "completion": 0.275
20626
20626
  },
20627
20627
  "reasoningEfforts": [
20628
20628
  "none",
@@ -20690,13 +20690,13 @@ var CATALOG_MODELS = [
20690
20690
  {
20691
20691
  "maxPromptTokens": 131072,
20692
20692
  "input": 0.11605,
20693
- "output": 0.290125,
20693
+ "output": 0.174075,
20694
20694
  "cachedInput": 0.058025
20695
20695
  }
20696
20696
  ],
20697
20697
  "maxPrice": {
20698
- "prompt": 0.1,
20699
- "completion": 0.25
20698
+ "prompt": 0.11,
20699
+ "completion": 0.165
20700
20700
  },
20701
20701
  "reasoningEfforts": [
20702
20702
  "none",
@@ -20724,12 +20724,12 @@ var CATALOG_MODELS = [
20724
20724
  "input": 0.174075,
20725
20725
  "output": 0.545435,
20726
20726
  "cachedInput": 0.018568,
20727
- "cacheWrite": 0.2321
20727
+ "cacheWrite": 0.211001
20728
20728
  }
20729
20729
  ],
20730
20730
  "maxPrice": {
20731
- "prompt": 0.15,
20732
- "completion": 0.47
20731
+ "prompt": 0.165,
20732
+ "completion": 0.517
20733
20733
  },
20734
20734
  "reasoningEfforts": [],
20735
20735
  "quantizations": [
@@ -20750,14 +20750,14 @@ var CATALOG_MODELS = [
20750
20750
  "tiers": [
20751
20751
  {
20752
20752
  "maxPromptTokens": 1048576,
20753
- "input": 0.51062,
20754
- "output": 1.53186,
20755
- "cachedInput": 0.032494
20753
+ "input": 0.250204,
20754
+ "output": 0.750612,
20755
+ "cachedInput": 7962e-6
20756
20756
  }
20757
20757
  ],
20758
20758
  "maxPrice": {
20759
- "prompt": 0.44,
20760
- "completion": 1.32
20759
+ "prompt": 0.23716,
20760
+ "completion": 0.71148
20761
20761
  },
20762
20762
  "reasoningEfforts": [
20763
20763
  "none",
@@ -20783,14 +20783,14 @@ var CATALOG_MODELS = [
20783
20783
  "tiers": [
20784
20784
  {
20785
20785
  "maxPromptTokens": 262144,
20786
- "input": 1.148895,
20787
- "output": 1.729145,
20788
- "cachedInput": 1.148895
20786
+ "input": 0.04526,
20787
+ "output": 1.450625,
20788
+ "cachedInput": 0.018991
20789
20789
  }
20790
20790
  ],
20791
20791
  "maxPrice": {
20792
- "prompt": 0.99,
20793
- "completion": 1.49
20792
+ "prompt": 0.0429,
20793
+ "completion": 1.375
20794
20794
  },
20795
20795
  "reasoningEfforts": [
20796
20796
  "none",
@@ -20821,8 +20821,8 @@ var CATALOG_MODELS = [
20821
20821
  }
20822
20822
  ],
20823
20823
  "maxPrice": {
20824
- "prompt": 0.5,
20825
- "completion": 2.5
20824
+ "prompt": 0.55,
20825
+ "completion": 2.75
20826
20826
  },
20827
20827
  "reasoningEfforts": [],
20828
20828
  "quantizations": [
@@ -20850,8 +20850,8 @@ var CATALOG_MODELS = [
20850
20850
  }
20851
20851
  ],
20852
20852
  "maxPrice": {
20853
- "prompt": 2,
20854
- "completion": 6
20853
+ "prompt": 2.2,
20854
+ "completion": 6.6
20855
20855
  },
20856
20856
  "reasoningEfforts": [
20857
20857
  "low",
@@ -20886,8 +20886,8 @@ var CATALOG_MODELS = [
20886
20886
  }
20887
20887
  ],
20888
20888
  "maxPrice": {
20889
- "prompt": 0.5,
20890
- "completion": 3
20889
+ "prompt": 0.55,
20890
+ "completion": 3.3
20891
20891
  },
20892
20892
  "reasoningEfforts": [
20893
20893
  "none",
@@ -20913,14 +20913,14 @@ var CATALOG_MODELS = [
20913
20913
  "tiers": [
20914
20914
  {
20915
20915
  "maxPromptTokens": 262144,
20916
- "input": 0.081235,
20917
- "output": 0.2321,
20918
- "cachedInput": 0.04642
20916
+ "input": 0.054428,
20917
+ "output": 0.155507,
20918
+ "cachedInput": 0.027214
20919
20919
  }
20920
20920
  ],
20921
20921
  "maxPrice": {
20922
- "prompt": 0.07,
20923
- "completion": 0.2
20922
+ "prompt": 0.05159,
20923
+ "completion": 0.1474
20924
20924
  },
20925
20925
  "reasoningEfforts": [],
20926
20926
  "quantizations": [
@@ -20947,8 +20947,8 @@ var CATALOG_MODELS = [
20947
20947
  }
20948
20948
  ],
20949
20949
  "maxPrice": {
20950
- "prompt": 0.15,
20951
- "completion": 0.6
20950
+ "prompt": 0.165,
20951
+ "completion": 0.66
20952
20952
  },
20953
20953
  "reasoningEfforts": [
20954
20954
  "none",
@@ -20977,14 +20977,14 @@ var CATALOG_MODELS = [
20977
20977
  "tiers": [
20978
20978
  {
20979
20979
  "maxPromptTokens": 131072,
20980
- "input": 0.406175,
20981
- "output": 1.74075,
20980
+ "input": 0.34815,
20981
+ "output": 1.3926,
20982
20982
  "cachedInput": 0.04642
20983
20983
  }
20984
20984
  ],
20985
20985
  "maxPrice": {
20986
- "prompt": 0.35,
20987
- "completion": 1.5
20986
+ "prompt": 0.33,
20987
+ "completion": 1.32
20988
20988
  },
20989
20989
  "reasoningEfforts": [
20990
20990
  "low",
@@ -21016,8 +21016,8 @@ var CATALOG_MODELS = [
21016
21016
  }
21017
21017
  ],
21018
21018
  "maxPrice": {
21019
- "prompt": 0.45,
21020
- "completion": 1.2
21019
+ "prompt": 0.495,
21020
+ "completion": 1.32
21021
21021
  },
21022
21022
  "reasoningEfforts": [
21023
21023
  "none",
@@ -21051,8 +21051,8 @@ var CATALOG_MODELS = [
21051
21051
  }
21052
21052
  ],
21053
21053
  "maxPrice": {
21054
- "prompt": 0.09,
21055
- "completion": 0.18
21054
+ "prompt": 0.099,
21055
+ "completion": 0.198
21056
21056
  },
21057
21057
  "reasoningEfforts": []
21058
21058
  },
@@ -21072,8 +21072,8 @@ var CATALOG_MODELS = [
21072
21072
  }
21073
21073
  ],
21074
21074
  "maxPrice": {
21075
- "prompt": 0.3,
21076
- "completion": 1.2
21075
+ "prompt": 0.33,
21076
+ "completion": 1.32
21077
21077
  },
21078
21078
  "reasoningEfforts": [],
21079
21079
  "quantizations": [
@@ -21100,8 +21100,8 @@ var CATALOG_MODELS = [
21100
21100
  }
21101
21101
  ],
21102
21102
  "maxPrice": {
21103
- "prompt": 1,
21104
- "completion": 4.05
21103
+ "prompt": 1.1,
21104
+ "completion": 4.455
21105
21105
  },
21106
21106
  "reasoningEfforts": [
21107
21107
  "none",
@@ -21135,8 +21135,8 @@ var CATALOG_MODELS = [
21135
21135
  }
21136
21136
  ],
21137
21137
  "maxPrice": {
21138
- "prompt": 0.06,
21139
- "completion": 0.12
21138
+ "prompt": 0.066,
21139
+ "completion": 0.132
21140
21140
  },
21141
21141
  "reasoningEfforts": [],
21142
21142
  "quantizations": [
@@ -21171,8 +21171,8 @@ var CATALOG_MODELS = [
21171
21171
  }
21172
21172
  ],
21173
21173
  "maxPrice": {
21174
- "prompt": 0.32,
21175
- "completion": 1.28
21174
+ "prompt": 0.352,
21175
+ "completion": 1.408
21176
21176
  },
21177
21177
  "reasoningEfforts": [],
21178
21178
  "quantizations": [
@@ -21199,8 +21199,8 @@ var CATALOG_MODELS = [
21199
21199
  }
21200
21200
  ],
21201
21201
  "maxPrice": {
21202
- "prompt": 5,
21203
- "completion": 30
21202
+ "prompt": 5.5,
21203
+ "completion": 33
21204
21204
  },
21205
21205
  "reasoningEfforts": [],
21206
21206
  "quantizations": [
@@ -21226,8 +21226,8 @@ var CATALOG_MODELS = [
21226
21226
  }
21227
21227
  ],
21228
21228
  "maxPrice": {
21229
- "prompt": 1.5,
21230
- "completion": 7.5
21229
+ "prompt": 1.65,
21230
+ "completion": 8.25
21231
21231
  },
21232
21232
  "reasoningEfforts": [
21233
21233
  "none",
@@ -21257,8 +21257,8 @@ var CATALOG_MODELS = [
21257
21257
  }
21258
21258
  ],
21259
21259
  "maxPrice": {
21260
- "prompt": 0.06,
21261
- "completion": 0.18
21260
+ "prompt": 0.066,
21261
+ "completion": 0.198
21262
21262
  },
21263
21263
  "reasoningEfforts": [],
21264
21264
  "quantizations": [
@@ -21285,8 +21285,8 @@ var CATALOG_MODELS = [
21285
21285
  }
21286
21286
  ],
21287
21287
  "maxPrice": {
21288
- "prompt": 2,
21289
- "completion": 10
21288
+ "prompt": 2.2,
21289
+ "completion": 11
21290
21290
  },
21291
21291
  "reasoningEfforts": [
21292
21292
  "none",
@@ -38,7 +38,7 @@ function currentUniverse() {
38
38
  }
39
39
 
40
40
  // src/version.ts
41
- var CLI_VERSION = "2.26.0";
41
+ var CLI_VERSION = "2.27.0";
42
42
  var USER_AGENT = `sky-cli/${CLI_VERSION} (${process.platform}; node/${process.versions.node})`;
43
43
 
44
44
  export {
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  streamEvents,
12
12
  uploadFile,
13
13
  writeResponseFile
14
- } from "./chunk-K3LB4K2C.js";
14
+ } from "./chunk-CGBZMNTO.js";
15
15
  import {
16
16
  CLI_VERSION,
17
17
  USER_AGENT,
@@ -22,7 +22,7 @@ import {
22
22
  currentUniverse,
23
23
  loadConfig,
24
24
  saveConfig
25
- } from "./chunk-UZ7KWRQH.js";
25
+ } from "./chunk-HWDI7WA5.js";
26
26
  import {
27
27
  AGENT_TYPES,
28
28
  MODEL_SUBSCRIPTION_PLAN_PHRASE,
@@ -44,7 +44,7 @@ import {
44
44
  skillRefSchema,
45
45
  splitMcpServers,
46
46
  supersededBy
47
- } from "./chunk-CJBZVPDF.js";
47
+ } from "./chunk-FRZEEUWH.js";
48
48
  import "./chunk-MLKGABMK.js";
49
49
 
50
50
  // src/index.ts
@@ -367,7 +367,7 @@ function autoTopupBody(opts) {
367
367
  return Object.keys(body).length ? body : null;
368
368
  }
369
369
  var usd = (value) => `$${value.toFixed(2)}`;
370
- var centsUsd = (money) => `$${(Number(money.amount) / 100).toFixed(2)}`;
370
+ var centsUsd = (money) => money.amount_usd !== void 0 ? `$${Number(money.amount_usd).toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 6, useGrouping: false })}` : `$${(Number(money.amount) / 100).toFixed(2)}`;
371
371
  function renderAutoTopup(settings) {
372
372
  const state = settings.enabled ? `on \u2014 below ${usd(settings.threshold_usd)}, the saved card adds ${usd(settings.amount_usd)}` : `off${settings.opted_out ? " (you turned it off)" : ""} \u2014 would add ${usd(settings.amount_usd)} below ${usd(settings.threshold_usd)}`;
373
373
  const lines = [`auto top-up: ${state}`];
@@ -5540,6 +5540,20 @@ function registerLibraryLinkCommands(library2) {
5540
5540
  linkRefOption(libraryLinks.command("revoke").description("stop all sharing at an explicitly reviewed revision")).requiredOption("--revision <n>", "current revision from links show; stale revisions fail without retry").action(async (opts) => printLibraryLinks(await revokeLibraryLinks(parseLibraryFileRef(opts.ref), linkRevision(opts.revision), opts.workspace)));
5541
5541
  }
5542
5542
 
5543
+ // src/todos.ts
5544
+ async function listTodos(query = {}) {
5545
+ const today = new Date(Date.now() - (/* @__PURE__ */ new Date()).getTimezoneOffset() * 6e4).toISOString().slice(0, 10);
5546
+ const params = new URLSearchParams(Object.entries({ ...query, today }).filter((entry2) => Boolean(entry2[1])));
5547
+ return api("GET", `/library/todos?${params}`);
5548
+ }
5549
+ async function setTodoDone(id, done) {
5550
+ return api("PATCH", `/library/todos/${encodeURIComponent(id)}`, { done });
5551
+ }
5552
+ function renderTodo(todo) {
5553
+ const facts = [todo.assignee ? `@${todo.assignee}` : null, todo.due ? todo.overdue ? `${todo.due} overdue` : todo.due : null, `${todo.source.name}:${todo.line}`].filter(Boolean).join(" ");
5554
+ return `${todo.id} [${todo.done ? "x" : " "}] ${todo.text} ${facts}`;
5555
+ }
5556
+
5543
5557
  // src/design-systems.ts
5544
5558
  import { readdirSync as readdirSync8, readFileSync as readFileSync18, statSync as statSync9 } from "fs";
5545
5559
  import { join as join18, relative as relative5, sep as sep3 } from "path";
@@ -6170,10 +6184,12 @@ agent.command("archive <id>").description("retire the spec \u2014 read-only, run
6170
6184
  console.log(`Archived ${id} \u2014 sessions keep running; new sessions are rejected.`);
6171
6185
  })
6172
6186
  );
6173
- agent.command("destroy <id>").description("delete the spec; requires all sessions deleted first (admin scope)").action(
6187
+ agent.command("destroy <id>").description("delete the spec with no live sessions, or archive to preserve deleted session history (admin scope)").action(
6174
6188
  run(async (id) => {
6175
- await api("DELETE", `/agents/${encodeURIComponent(id)}`);
6176
- console.log(`Destroyed ${id}`);
6189
+ const result = await api("DELETE", `/agents/${encodeURIComponent(id)}`);
6190
+ if (result.outcome === "deleted") console.log(`Deleted ${id}`);
6191
+ else if (result.outcome === "archived") console.log(`Archived ${id} \u2014 deleted session history is preserved.`);
6192
+ else throw new Error("The server did not report whether the agent was deleted or archived.");
6177
6193
  })
6178
6194
  );
6179
6195
  agent.command("message <id> [text]").description("send one message to the default session and stream the turn until idle").option("--detach", "don't follow the stream; exit once the message is accepted").option("--file <path...>", "attach local files (uploaded first, sent as document blocks); a file_\u2026 id attaches that stored file").option("--file-id <id...>", "attach files already uploaded (`sky files upload`), by id, without uploading again").option("--image <path...>", "attach local images (uploaded first, sent as image blocks)").option("--system <text>", "per-turn system text sent alongside the message").option("--plan", "plan mode: the agent inspects and answers with a plan, then waits for you to choose to implement it").option("--build", "build mode for this turn, overriding a session left in plan mode").action(
@@ -6338,6 +6354,34 @@ session.command("share <ref>").description("print the session's share link, turn
6338
6354
  else console.log(`view-only token: ${link2.token} \u2014 read with GET /links/${link2.token}/events`);
6339
6355
  })
6340
6356
  );
6357
+ var personLine = (person) => [person.user_id, person.name?.trim() || person.email?.split("@")[0] || "-", person.email ?? ""].join(" ");
6358
+ session.command("people <ref>").description("everyone who may send the session turns (the people @ can name and it can be assigned to), and who has it open now").option("--json", "print the API's answers as JSON").action(
6359
+ run(async (ref, opts) => {
6360
+ const id = encodeURIComponent(await resolveSessionRef(ref));
6361
+ const [people, present, assigned] = await Promise.all([
6362
+ api("GET", `/sessions/${id}/people`),
6363
+ api("GET", `/sessions/${id}/presence`),
6364
+ api("GET", `/sessions/${id}/assign`)
6365
+ ]);
6366
+ if (opts.json) {
6367
+ console.log(JSON.stringify({ people: people.people, present: present.people, assignee: assigned.assignee }, null, 2));
6368
+ return;
6369
+ }
6370
+ const here = new Set(present.people.map((person) => person.user_id));
6371
+ for (const person of people.people) {
6372
+ const marks = [here.has(person.user_id) ? "here" : "", assigned.assignee?.user_id === person.user_id ? "assigned" : ""].filter(Boolean).join(",");
6373
+ console.log(`${personLine(person)}${marks ? ` ${marks}` : ""}`);
6374
+ }
6375
+ })
6376
+ );
6377
+ session.command("assign <ref> [userId]").description("assign the session to one of its people (a user id from `sky session people`): they see it waiting on them and are notified; --clear unassigns it").option("--clear", "clear the assignment").action(
6378
+ run(async (ref, userId, opts) => {
6379
+ if (Boolean(userId) === Boolean(opts.clear)) throw new Error("pass a user id, or --clear");
6380
+ const id = await resolveSessionRef(ref);
6381
+ const { assignee } = await api("PUT", `/sessions/${encodeURIComponent(id)}/assign`, { user_id: opts.clear ? null : userId });
6382
+ console.log(assignee ? `Assigned ${id} to ${personLine(assignee).split(" ")[1]}` : `${id} is not assigned to anyone`);
6383
+ })
6384
+ );
6341
6385
  session.command("usage <ref>").description("what the session has cost so far, and its newest billed entries").option("--limit <n>", "entries to list (default 20)").option("--json", "print the API's answer as JSON").action(
6342
6386
  run(async (ref, opts) => {
6343
6387
  const id = await resolveSessionRef(ref);
@@ -7286,6 +7330,27 @@ library.command("download <id> <out>").description("save one version's bytes to
7286
7330
  })
7287
7331
  );
7288
7332
  registerLibraryLinkCommands(library);
7333
+ var todos = program.command("todos").description("to-dos: the checklist items of your Library documents (- [ ] text @who YYYY-MM-DD)");
7334
+ todos.command("list").description("open to-dos assigned to you, or unassigned in your documents").option("--workspace", "every to-do in documents you can read, not only yours").option("--status <status>", "open, done or all", "open").option("--due <when>", "any, overdue, today, week or none", "any").option("--source <artifactId>", "only this document's to-dos").option("--json", "print as JSON").action(
7335
+ run(async (opts) => {
7336
+ const page = await listTodos({ scope: opts.workspace ? "workspace" : "mine", status: opts.status, due: opts.due, source: opts.source });
7337
+ if (opts.json) {
7338
+ console.log(JSON.stringify(page, null, 2));
7339
+ return;
7340
+ }
7341
+ if (!page.todos.length) console.log("no to-dos");
7342
+ for (const todo of page.todos) console.log(renderTodo(todo));
7343
+ })
7344
+ );
7345
+ for (const [verb, done, description] of [
7346
+ ["done", true, "tick a to-do; its document saves a new version"],
7347
+ ["reopen", false, "untick a to-do; its document saves a new version"]
7348
+ ]) {
7349
+ todos.command(`${verb} <id>`).description(description).action(run(async (id) => {
7350
+ const { todo, revision } = await setTodoDone(id, done);
7351
+ console.log(`${renderTodo(todo)} (version ${revision})`);
7352
+ }));
7353
+ }
7289
7354
  var artifact = program.command("artifact").description("artifacts: publish a task's files as a named, shareable result");
7290
7355
  artifact.command("list").description("the workspace's artifacts, or one task's with --task").option("--task <task>", "only this task's artifacts").action(
7291
7356
  run(async (opts) => {
@@ -8373,7 +8438,7 @@ harness.command("connect").description("run an ACP agent (the command after --)
8373
8438
  }));
8374
8439
  var traceCmd = program.command("trace").description("correlate this machine's agent work with the cloud sessions it starts (metadata only unless you choose content)");
8375
8440
  traceCmd.command("start").description("start a trace: a grant for this machine, a root span, and the spool the hooks write to").option("--name <name>", "a name for the task").option("--source <source>", "how this machine reports itself", "claude-code").option("--hooks [settings]", "also install the Claude Code hooks (default: ./.claude/settings.local.json)").option("--capture <scopes>", "also send content, redacted on this machine first: any of prompts,tool_output,files").option("--file <path>", "a file the files scope may send (repeatable)", collect).option("--dir <path>", "a folder whose files the files scope may send when a file tool touches them (repeatable)", collect).action(run(async (opts) => {
8376
- const { readState, writeState, record, installClaudeHooks, parseContentScopes, chosenPaths, fileEvent } = await import("./trace-OPRHOP2E.js");
8441
+ const { readState, writeState, record, installClaudeHooks, parseContentScopes, chosenPaths, fileEvent } = await import("./trace-L26WH5K6.js");
8377
8442
  if (readState()) throw new Error("a trace is already running here \u2014 `sky trace stop` it first");
8378
8443
  const scopes = parseContentScopes(opts.capture);
8379
8444
  const chosen = chosenPaths(opts.file ?? [], opts.dir ?? []);
@@ -8408,7 +8473,7 @@ traceCmd.command("start").description("start a trace: a grant for this machine,
8408
8473
  }));
8409
8474
  traceCmd.command("hook").description("record one Claude Code hook event read from stdin (run by the installed hooks; never fails, prints nothing)").action(async () => {
8410
8475
  try {
8411
- const { readState, record, flush, grantSender, eventsForClaudeHook, contentForClaudeHook, clearState } = await import("./trace-OPRHOP2E.js");
8476
+ const { readState, record, flush, grantSender, eventsForClaudeHook, contentForClaudeHook, clearState } = await import("./trace-L26WH5K6.js");
8412
8477
  const chunks = [];
8413
8478
  for await (const chunk of process.stdin) chunks.push(chunk);
8414
8479
  const input = JSON.parse(Buffer.concat(chunks).toString("utf8") || "{}");
@@ -8421,14 +8486,14 @@ traceCmd.command("hook").description("record one Claude Code hook event read fro
8421
8486
  }
8422
8487
  });
8423
8488
  traceCmd.command("flush").description("send what the spool holds, retrying with backoff").action(run(async () => {
8424
- const { readState, flush, grantSender } = await import("./trace-OPRHOP2E.js");
8489
+ const { readState, flush, grantSender } = await import("./trace-L26WH5K6.js");
8425
8490
  const state = readState();
8426
8491
  if (!state) throw new Error("no trace is running here");
8427
8492
  const outcome = await flush(grantSender(state), { attempts: 4 });
8428
8493
  console.log(`sent ${outcome.sent}, refused ${outcome.refused}, given up ${outcome.expired}, still pending ${outcome.pending}${outcome.stopped ? ` (stopped: ${outcome.stopped})` : ""}`);
8429
8494
  }));
8430
8495
  traceCmd.command("status").description("the running trace and its spool").action(run(async () => {
8431
- const { readState, spoolStatus } = await import("./trace-OPRHOP2E.js");
8496
+ const { readState, spoolStatus } = await import("./trace-L26WH5K6.js");
8432
8497
  const state = readState();
8433
8498
  if (!state) {
8434
8499
  console.log("No trace is running here.");
@@ -8438,7 +8503,7 @@ traceCmd.command("status").description("the running trace and its spool").action
8438
8503
  console.log(`${state.trace_id} as ${state.source}: ${spool.pending} pending, ${spool.dropped_full} dropped (spool full), ${spool.dropped_expired} given up, ${spool.refused} refused`);
8439
8504
  }));
8440
8505
  traceCmd.command("show [id]").description("the trace bundle: spans, the sessions they reach, cost counted once per session").option("--json", "print the bundle as JSON").action(run(async (id, opts) => {
8441
- const { readState } = await import("./trace-OPRHOP2E.js");
8506
+ const { readState } = await import("./trace-L26WH5K6.js");
8442
8507
  const ref = id ?? readState()?.trace_id;
8443
8508
  if (!ref) throw new Error("name a trace, or start one here");
8444
8509
  const bundle = await api("GET", `/traces/${ref}`);
@@ -8461,11 +8526,11 @@ traceCmd.command("show [id]").description("the trace bundle: spans, the sessions
8461
8526
  };
8462
8527
  print(null, 0);
8463
8528
  for (const session2 of bundle.sessions) console.log(` session ${session2.id} ${session2.agent_type} ${session2.status} ${session2.role} of ${session2.task_id} (${session2.linked_by})`);
8464
- console.log(` cost: $${bundle.consumed_cost.amount} \xB7 coverage: ${bundle.coverage}`);
8529
+ console.log(` cost: ${centsUsd(bundle.consumed_cost)} \xB7 coverage: ${bundle.coverage}`);
8465
8530
  for (const gap of bundle.gaps) console.log(` gap: ${gap.span_id} ${gap.reason}`);
8466
8531
  }));
8467
8532
  traceCmd.command("stop").description("end the root span, send what is left, and revoke this machine's grant").action(run(async () => {
8468
- const { readState, record, flush, grantSender, clearState } = await import("./trace-OPRHOP2E.js");
8533
+ const { readState, record, flush, grantSender, clearState } = await import("./trace-L26WH5K6.js");
8469
8534
  const state = readState();
8470
8535
  if (!state) throw new Error("no trace is running here");
8471
8536
  if (state.root_span) record(() => [{ span_id: state.root_span, kind: "end", outcome: "completed" }]);
@@ -8475,7 +8540,7 @@ traceCmd.command("stop").description("end the root span, send what is left, and
8475
8540
  console.log(`Stopped ${state.trace_id}${outcome.pending ? ` (${outcome.pending} events could not be sent)` : ""}`);
8476
8541
  }));
8477
8542
  traceCmd.command("sync [payload]").description("upload this machine's agent sessions (Claude Code, Codex, Cursor, Gemini CLI and every other agent `--agents` lists) to the matching workspace's trace library, redacted here first").option("--enable", "turn sync on for this machine").option("--disable", "turn sync off; nothing more is uploaded").option("--route <match=workspace>", "send sessions whose folder path contains <match> to <workspace> (repeatable; replaces the saved rules)", collect).option("--default <workspace>", "where a session no rule matches goes").option("--keep-local", "keep sessions no rule matches on this machine (the default)").option("--session <ref>", "only this session: its id or transcript path (repeatable)", collect).option("--import <export>", "add a downloaded cloud export (claude.ai, ChatGPT, Gemini, Grok, DeepSeek \u2026: its .zip, folder or file) so sync uploads it (repeatable)", collect).option("--agents", "list the agents sync reads and which are on this machine").option("--full", "re-read every session, not only files that changed").option("--limit <n>", "at most this many changed sessions this run", (v) => Number.parseInt(v, 10)).option("--dry-run", "show what would be uploaded without uploading").option("--hook", "run from a Claude Code SessionEnd hook or Codex notify: upload that session in the background and return at once").option("--install-schedule", "also sweep every 15 minutes (macOS launchd)").option("--status", "what sync has done on this machine").option("--quiet", "print only failures").action(async (payload, opts) => {
8478
- const lib = await import("./trace-library-SB7QYAU5.js");
8543
+ const lib = await import("./trace-library-HLDGAMIU.js");
8479
8544
  if (opts.hook) {
8480
8545
  try {
8481
8546
  let raw = payload ?? "";
@@ -8590,7 +8655,7 @@ traceCmd.command("search <query...>").description("search every session in a wor
8590
8655
  console.log(opts.json ? JSON.stringify(page, null, 2) : renderContextPage(page));
8591
8656
  }));
8592
8657
  traceCmd.command("library").description("list the sessions in a workspace's trace library, most recently updated first").option("--workspace <slug>", "the workspace (default: the current one)").option("--limit <n>", "how many", (v) => Number.parseInt(v, 10), 20).option("--json", "print the page as JSON").action(run(async (opts) => {
8593
- const { libraryRequest } = await import("./trace-library-SB7QYAU5.js");
8658
+ const { libraryRequest } = await import("./trace-library-HLDGAMIU.js");
8594
8659
  const workspace2 = opts.workspace ?? currentUniverse();
8595
8660
  if (!workspace2) throw new Error("name a workspace with --workspace");
8596
8661
  const page = await libraryRequest("GET", `/trace-library?limit=${opts.limit}`, workspace2);
@@ -2,7 +2,7 @@ import {
2
2
  admittedInputScopeSchema,
3
3
  external_exports,
4
4
  messagePartSchema
5
- } from "./chunk-CJBZVPDF.js";
5
+ } from "./chunk-FRZEEUWH.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
 
8
8
  // ../../packages/chat/src/stream.ts
@@ -278,6 +278,7 @@ function normalizeBaseUrl(baseUrl) {
278
278
  return baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
279
279
  }
280
280
  var PROMOTION_SCOPE_HEADER = "x-agentsky-promotion-scope";
281
+ var SURFACE_HEADER = "x-agentsky-surface";
281
282
  async function postSessionEvents(args) {
282
283
  const url = new URL(
283
284
  `/api/v1/sessions/${encodeURIComponent(args.sessionId)}/events`,
@@ -291,7 +292,8 @@ async function postSessionEvents(args) {
291
292
  "content-type": "application/json",
292
293
  ...args.idempotencyKey ? { "idempotency-key": args.idempotencyKey } : {},
293
294
  ...args.routineRunId ? { "x-agentsky-routine-run": args.routineRunId } : {},
294
- ...args.promotionScope ? { [PROMOTION_SCOPE_HEADER]: args.promotionScope } : {}
295
+ ...args.promotionScope ? { [PROMOTION_SCOPE_HEADER]: args.promotionScope } : {},
296
+ ...args.surface ? { [SURFACE_HEADER]: args.surface } : {}
295
297
  },
296
298
  body,
297
299
  signal: AbortSignal.timeout(args.timeoutMs ?? 95e3)
@@ -326,6 +328,7 @@ async function readResult(response) {
326
328
  }
327
329
  export {
328
330
  PROMOTION_SCOPE_HEADER,
331
+ SURFACE_HEADER,
329
332
  classifyPodSendError,
330
333
  classifyPodSendStatus,
331
334
  getPodHealth,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  USER_AGENT,
3
3
  configPath
4
- } from "./chunk-UZ7KWRQH.js";
4
+ } from "./chunk-HWDI7WA5.js";
5
5
  import {
6
6
  TRACE_CONTENT_SCOPES,
7
7
  redactTraceText
8
- } from "./chunk-CJBZVPDF.js";
8
+ } from "./chunk-FRZEEUWH.js";
9
9
  import "./chunk-MLKGABMK.js";
10
10
 
11
11
  // src/trace.ts
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  ApiError
3
- } from "./chunk-K3LB4K2C.js";
3
+ } from "./chunk-CGBZMNTO.js";
4
4
  import {
5
5
  USER_AGENT,
6
6
  apiBase,
7
7
  apiToken
8
- } from "./chunk-UZ7KWRQH.js";
8
+ } from "./chunk-HWDI7WA5.js";
9
9
  import {
10
10
  SessionSourceCollector,
11
11
  publicRemote,
12
12
  redactTraceText
13
- } from "./chunk-CJBZVPDF.js";
13
+ } from "./chunk-FRZEEUWH.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
 
16
16
  // src/trace-library.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentsky/sky",
3
- "version": "2.26.0",
3
+ "version": "2.27.0",
4
4
  "description": "sky \u2014 the AgentSky developer CLI: launch and talk to long-lived agents from your terminal.",
5
5
  "license": "MIT",
6
6
  "type": "module",