@timurproko/a1 0.1.8-dev.443 → 0.1.8-dev.447

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,8 +3,8 @@
3
3
  "publicEntry": "@earendil-works/pi-coding-agent",
4
4
  "output": {
5
5
  "path": "dist/integrations/pi/startup-public.js",
6
- "bytes": 8287198,
7
- "sha256": "bb67e0c4d0448ee596fc34a13c834416ec865c79a3d47c9d949d56e44be2ad57"
6
+ "bytes": 8355791,
7
+ "sha256": "98c412f7a4340a4fa4057df12f8a7f8ba25caa10dfa882de5d4c68786d20489e"
8
8
  },
9
9
  "external": [
10
10
  "#pi-tui",
@@ -298,10 +298,10 @@
298
298
  }
299
299
  ],
300
300
  "totals": {
301
- "files": 1898,
302
- "loadedFiles": 1744,
303
- "sourceBytes": 11968510,
304
- "evaluatedBytes": 8283311
301
+ "files": 1908,
302
+ "loadedFiles": 1754,
303
+ "sourceBytes": 12058402,
304
+ "evaluatedBytes": 8351904
305
305
  },
306
306
  "inputs": [
307
307
  {
@@ -973,8 +973,8 @@
973
973
  {
974
974
  "path": "node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.js",
975
975
  "group": "pi-public",
976
- "sourceBytes": 1521,
977
- "evaluatedBytes": 866
976
+ "sourceBytes": 1544,
977
+ "evaluatedBytes": 357
978
978
  },
979
979
  {
980
980
  "path": "node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js",
@@ -1138,11 +1138,71 @@
1138
1138
  "sourceBytes": 2092,
1139
1139
  "evaluatedBytes": 1097
1140
1140
  },
1141
+ {
1142
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/anthropic.js",
1143
+ "group": "pi-public",
1144
+ "sourceBytes": 11509,
1145
+ "evaluatedBytes": 8459
1146
+ },
1147
+ {
1148
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js",
1149
+ "group": "pi-public",
1150
+ "sourceBytes": 3262,
1151
+ "evaluatedBytes": 2089
1152
+ },
1153
+ {
1154
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js",
1155
+ "group": "pi-public",
1156
+ "sourceBytes": 13026,
1157
+ "evaluatedBytes": 9714
1158
+ },
1159
+ {
1160
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js",
1161
+ "group": "pi-public",
1162
+ "sourceBytes": 10644,
1163
+ "evaluatedBytes": 7943
1164
+ },
1141
1165
  {
1142
1166
  "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js",
1143
1167
  "group": "pi-public",
1144
- "sourceBytes": 2527,
1145
- "evaluatedBytes": 1687
1168
+ "sourceBytes": 2450,
1169
+ "evaluatedBytes": 1361
1170
+ },
1171
+ {
1172
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/oauth-page.js",
1173
+ "group": "pi-public",
1174
+ "sourceBytes": 3114,
1175
+ "evaluatedBytes": 3130
1176
+ },
1177
+ {
1178
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js",
1179
+ "group": "pi-public",
1180
+ "sourceBytes": 16962,
1181
+ "evaluatedBytes": 13098
1182
+ },
1183
+ {
1184
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js",
1185
+ "group": "pi-public",
1186
+ "sourceBytes": 10765,
1187
+ "evaluatedBytes": 7821
1188
+ },
1189
+ {
1190
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/pkce.js",
1191
+ "group": "pi-public",
1192
+ "sourceBytes": 1003,
1193
+ "evaluatedBytes": 711
1194
+ },
1195
+ {
1196
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.js",
1197
+ "group": "pi-public",
1198
+ "sourceBytes": 12158,
1199
+ "evaluatedBytes": 8910
1200
+ },
1201
+ {
1202
+ "path": "node_modules/@earendil-works/pi-ai/dist/auth/oauth/xai.js",
1203
+ "group": "pi-public",
1204
+ "sourceBytes": 7503,
1205
+ "evaluatedBytes": 5919
1146
1206
  },
1147
1207
  {
1148
1208
  "path": "node_modules/@earendil-works/pi-ai/dist/auth/resolve.js",
@@ -1214,7 +1274,7 @@
1214
1274
  "path": "node_modules/@earendil-works/pi-ai/dist/model-catalog.js",
1215
1275
  "group": "pi-public",
1216
1276
  "sourceBytes": 156,
1217
- "evaluatedBytes": 147
1277
+ "evaluatedBytes": 286
1218
1278
  },
1219
1279
  {
1220
1280
  "path": "node_modules/@earendil-works/pi-ai/dist/models-store.js",
@@ -1226,7 +1286,7 @@
1226
1286
  "path": "node_modules/@earendil-works/pi-ai/dist/models.generated.js",
1227
1287
  "group": "pi-public",
1228
1288
  "sourceBytes": 4639,
1229
- "evaluatedBytes": 1318
1289
+ "evaluatedBytes": 1347
1230
1290
  },
1231
1291
  {
1232
1292
  "path": "node_modules/@earendil-works/pi-ai/dist/models.js",
@@ -1256,7 +1316,7 @@
1256
1316
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js",
1257
1317
  "group": "pi-public",
1258
1318
  "sourceBytes": 390,
1259
- "evaluatedBytes": 87
1319
+ "evaluatedBytes": 108
1260
1320
  },
1261
1321
  {
1262
1322
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.js",
@@ -1268,7 +1328,7 @@
1268
1328
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js",
1269
1329
  "group": "pi-public",
1270
1330
  "sourceBytes": 366,
1271
- "evaluatedBytes": 69
1331
+ "evaluatedBytes": 90
1272
1332
  },
1273
1333
  {
1274
1334
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js",
@@ -1280,7 +1340,7 @@
1280
1340
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js",
1281
1341
  "group": "pi-public",
1282
1342
  "sourceBytes": 370,
1283
- "evaluatedBytes": 72
1343
+ "evaluatedBytes": 93
1284
1344
  },
1285
1345
  {
1286
1346
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js",
@@ -1292,7 +1352,7 @@
1292
1352
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js",
1293
1353
  "group": "pi-public",
1294
1354
  "sourceBytes": 422,
1295
- "evaluatedBytes": 111
1355
+ "evaluatedBytes": 132
1296
1356
  },
1297
1357
  {
1298
1358
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/baseten.js",
@@ -1304,7 +1364,7 @@
1304
1364
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/baseten.models.js",
1305
1365
  "group": "pi-public",
1306
1366
  "sourceBytes": 362,
1307
- "evaluatedBytes": 66
1367
+ "evaluatedBytes": 87
1308
1368
  },
1309
1369
  {
1310
1370
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cerebras.js",
@@ -1316,7 +1376,7 @@
1316
1376
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js",
1317
1377
  "group": "pi-public",
1318
1378
  "sourceBytes": 366,
1319
- "evaluatedBytes": 69
1379
+ "evaluatedBytes": 90
1320
1380
  },
1321
1381
  {
1322
1382
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js",
@@ -1328,7 +1388,7 @@
1328
1388
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js",
1329
1389
  "group": "pi-public",
1330
1390
  "sourceBytes": 418,
1331
- "evaluatedBytes": 108
1391
+ "evaluatedBytes": 129
1332
1392
  },
1333
1393
  {
1334
1394
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js",
@@ -1352,7 +1412,7 @@
1352
1412
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js",
1353
1413
  "group": "pi-public",
1354
1414
  "sourceBytes": 418,
1355
- "evaluatedBytes": 108
1415
+ "evaluatedBytes": 129
1356
1416
  },
1357
1417
  {
1358
1418
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json",
@@ -1424,7 +1484,7 @@
1424
1484
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json",
1425
1485
  "group": "pi-public",
1426
1486
  "sourceBytes": 20036,
1427
- "evaluatedBytes": 18254
1487
+ "evaluatedBytes": 18431
1428
1488
  },
1429
1489
  {
1430
1490
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/data/google-vertex.json",
@@ -1604,7 +1664,7 @@
1604
1664
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js",
1605
1665
  "group": "pi-public",
1606
1666
  "sourceBytes": 366,
1607
- "evaluatedBytes": 69
1667
+ "evaluatedBytes": 90
1608
1668
  },
1609
1669
  {
1610
1670
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/faux.js",
@@ -1622,19 +1682,19 @@
1622
1682
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js",
1623
1683
  "group": "pi-public",
1624
1684
  "sourceBytes": 370,
1625
- "evaluatedBytes": 72
1685
+ "evaluatedBytes": 93
1626
1686
  },
1627
1687
  {
1628
1688
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js",
1629
1689
  "group": "pi-public",
1630
1690
  "sourceBytes": 1667,
1631
- "evaluatedBytes": 911
1691
+ "evaluatedBytes": 940
1632
1692
  },
1633
1693
  {
1634
1694
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js",
1635
1695
  "group": "pi-public",
1636
1696
  "sourceBytes": 390,
1637
- "evaluatedBytes": 87
1697
+ "evaluatedBytes": 313
1638
1698
  },
1639
1699
  {
1640
1700
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js",
@@ -1646,7 +1706,7 @@
1646
1706
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js",
1647
1707
  "group": "pi-public",
1648
1708
  "sourceBytes": 386,
1649
- "evaluatedBytes": 84
1709
+ "evaluatedBytes": 105
1650
1710
  },
1651
1711
  {
1652
1712
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/google.js",
@@ -1658,7 +1718,7 @@
1658
1718
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/google.models.js",
1659
1719
  "group": "pi-public",
1660
1720
  "sourceBytes": 358,
1661
- "evaluatedBytes": 63
1721
+ "evaluatedBytes": 84
1662
1722
  },
1663
1723
  {
1664
1724
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/groq.js",
@@ -1670,7 +1730,7 @@
1670
1730
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js",
1671
1731
  "group": "pi-public",
1672
1732
  "sourceBytes": 350,
1673
- "evaluatedBytes": 57
1733
+ "evaluatedBytes": 78
1674
1734
  },
1675
1735
  {
1676
1736
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/huggingface.js",
@@ -1682,7 +1742,7 @@
1682
1742
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js",
1683
1743
  "group": "pi-public",
1684
1744
  "sourceBytes": 378,
1685
- "evaluatedBytes": 78
1745
+ "evaluatedBytes": 99
1686
1746
  },
1687
1747
  {
1688
1748
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js",
@@ -1700,7 +1760,7 @@
1700
1760
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js",
1701
1761
  "group": "pi-public",
1702
1762
  "sourceBytes": 378,
1703
- "evaluatedBytes": 78
1763
+ "evaluatedBytes": 99
1704
1764
  },
1705
1765
  {
1706
1766
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.js",
@@ -1712,7 +1772,7 @@
1712
1772
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js",
1713
1773
  "group": "pi-public",
1714
1774
  "sourceBytes": 374,
1715
- "evaluatedBytes": 75
1775
+ "evaluatedBytes": 96
1716
1776
  },
1717
1777
  {
1718
1778
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/minimax.js",
@@ -1724,7 +1784,7 @@
1724
1784
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js",
1725
1785
  "group": "pi-public",
1726
1786
  "sourceBytes": 362,
1727
- "evaluatedBytes": 66
1787
+ "evaluatedBytes": 87
1728
1788
  },
1729
1789
  {
1730
1790
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/mistral.js",
@@ -1736,7 +1796,7 @@
1736
1796
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js",
1737
1797
  "group": "pi-public",
1738
1798
  "sourceBytes": 362,
1739
- "evaluatedBytes": 66
1799
+ "evaluatedBytes": 87
1740
1800
  },
1741
1801
  {
1742
1802
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.js",
@@ -1748,7 +1808,7 @@
1748
1808
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js",
1749
1809
  "group": "pi-public",
1750
1810
  "sourceBytes": 386,
1751
- "evaluatedBytes": 84
1811
+ "evaluatedBytes": 105
1752
1812
  },
1753
1813
  {
1754
1814
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.js",
@@ -1760,7 +1820,7 @@
1760
1820
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js",
1761
1821
  "group": "pi-public",
1762
1822
  "sourceBytes": 374,
1763
- "evaluatedBytes": 75
1823
+ "evaluatedBytes": 96
1764
1824
  },
1765
1825
  {
1766
1826
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/nvidia.js",
@@ -1772,7 +1832,7 @@
1772
1832
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js",
1773
1833
  "group": "pi-public",
1774
1834
  "sourceBytes": 358,
1775
- "evaluatedBytes": 63
1835
+ "evaluatedBytes": 84
1776
1836
  },
1777
1837
  {
1778
1838
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js",
@@ -1784,7 +1844,7 @@
1784
1844
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js",
1785
1845
  "group": "pi-public",
1786
1846
  "sourceBytes": 382,
1787
- "evaluatedBytes": 81
1847
+ "evaluatedBytes": 102
1788
1848
  },
1789
1849
  {
1790
1850
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openai.js",
@@ -1796,7 +1856,7 @@
1796
1856
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js",
1797
1857
  "group": "pi-public",
1798
1858
  "sourceBytes": 358,
1799
- "evaluatedBytes": 63
1859
+ "evaluatedBytes": 84
1800
1860
  },
1801
1861
  {
1802
1862
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js",
@@ -1808,7 +1868,7 @@
1808
1868
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js",
1809
1869
  "group": "pi-public",
1810
1870
  "sourceBytes": 378,
1811
- "evaluatedBytes": 78
1871
+ "evaluatedBytes": 99
1812
1872
  },
1813
1873
  {
1814
1874
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/opencode.js",
@@ -1820,7 +1880,7 @@
1820
1880
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js",
1821
1881
  "group": "pi-public",
1822
1882
  "sourceBytes": 366,
1823
- "evaluatedBytes": 69
1883
+ "evaluatedBytes": 90
1824
1884
  },
1825
1885
  {
1826
1886
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js",
@@ -1838,7 +1898,7 @@
1838
1898
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js",
1839
1899
  "group": "pi-public",
1840
1900
  "sourceBytes": 374,
1841
- "evaluatedBytes": 75
1901
+ "evaluatedBytes": 96
1842
1902
  },
1843
1903
  {
1844
1904
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.js",
@@ -1850,7 +1910,7 @@
1850
1910
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.js",
1851
1911
  "group": "pi-public",
1852
1912
  "sourceBytes": 406,
1853
- "evaluatedBytes": 99
1913
+ "evaluatedBytes": 120
1854
1914
  },
1855
1915
  {
1856
1916
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.js",
@@ -1862,7 +1922,7 @@
1862
1922
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.models.js",
1863
1923
  "group": "pi-public",
1864
1924
  "sourceBytes": 438,
1865
- "evaluatedBytes": 123
1925
+ "evaluatedBytes": 144
1866
1926
  },
1867
1927
  {
1868
1928
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.js",
@@ -1874,19 +1934,19 @@
1874
1934
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.js",
1875
1935
  "group": "pi-public",
1876
1936
  "sourceBytes": 394,
1877
- "evaluatedBytes": 90
1937
+ "evaluatedBytes": 111
1878
1938
  },
1879
1939
  {
1880
1940
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/radius-config.js",
1881
1941
  "group": "pi-public",
1882
1942
  "sourceBytes": 2541,
1883
- "evaluatedBytes": 2377
1943
+ "evaluatedBytes": 2545
1884
1944
  },
1885
1945
  {
1886
1946
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/radius.js",
1887
1947
  "group": "pi-public",
1888
1948
  "sourceBytes": 2939,
1889
- "evaluatedBytes": 1583
1949
+ "evaluatedBytes": 1604
1890
1950
  },
1891
1951
  {
1892
1952
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/together.js",
@@ -1898,7 +1958,7 @@
1898
1958
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/together.models.js",
1899
1959
  "group": "pi-public",
1900
1960
  "sourceBytes": 366,
1901
- "evaluatedBytes": 69
1961
+ "evaluatedBytes": 90
1902
1962
  },
1903
1963
  {
1904
1964
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.js",
@@ -1910,7 +1970,7 @@
1910
1970
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js",
1911
1971
  "group": "pi-public",
1912
1972
  "sourceBytes": 402,
1913
- "evaluatedBytes": 96
1973
+ "evaluatedBytes": 117
1914
1974
  },
1915
1975
  {
1916
1976
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xai.js",
@@ -1922,7 +1982,7 @@
1922
1982
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js",
1923
1983
  "group": "pi-public",
1924
1984
  "sourceBytes": 346,
1925
- "evaluatedBytes": 54
1985
+ "evaluatedBytes": 75
1926
1986
  },
1927
1987
  {
1928
1988
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.js",
@@ -1934,7 +1994,7 @@
1934
1994
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js",
1935
1995
  "group": "pi-public",
1936
1996
  "sourceBytes": 418,
1937
- "evaluatedBytes": 108
1997
+ "evaluatedBytes": 129
1938
1998
  },
1939
1999
  {
1940
2000
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.js",
@@ -1946,7 +2006,7 @@
1946
2006
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js",
1947
2007
  "group": "pi-public",
1948
2008
  "sourceBytes": 414,
1949
- "evaluatedBytes": 105
2009
+ "evaluatedBytes": 126
1950
2010
  },
1951
2011
  {
1952
2012
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.js",
@@ -1958,7 +2018,7 @@
1958
2018
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js",
1959
2019
  "group": "pi-public",
1960
2020
  "sourceBytes": 418,
1961
- "evaluatedBytes": 108
2021
+ "evaluatedBytes": 129
1962
2022
  },
1963
2023
  {
1964
2024
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.js",
@@ -1970,7 +2030,7 @@
1970
2030
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js",
1971
2031
  "group": "pi-public",
1972
2032
  "sourceBytes": 358,
1973
- "evaluatedBytes": 63
2033
+ "evaluatedBytes": 84
1974
2034
  },
1975
2035
  {
1976
2036
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.js",
@@ -1982,7 +2042,7 @@
1982
2042
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js",
1983
2043
  "group": "pi-public",
1984
2044
  "sourceBytes": 386,
1985
- "evaluatedBytes": 84
2045
+ "evaluatedBytes": 105
1986
2046
  },
1987
2047
  {
1988
2048
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/zai.js",
@@ -1994,7 +2054,7 @@
1994
2054
  "path": "node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js",
1995
2055
  "group": "pi-public",
1996
2056
  "sourceBytes": 346,
1997
- "evaluatedBytes": 54
2057
+ "evaluatedBytes": 75
1998
2058
  },
1999
2059
  {
2000
2060
  "path": "node_modules/@earendil-works/pi-ai/dist/session-resources.js",
@@ -2300,7 +2360,7 @@
2300
2360
  "path": "node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/ansi-to-html.js",
2301
2361
  "group": "pi-public",
2302
2362
  "sourceBytes": 7711,
2303
- "evaluatedBytes": 3687
2363
+ "evaluatedBytes": 3691
2304
2364
  },
2305
2365
  {
2306
2366
  "path": "node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js",
@@ -3596,7 +3656,7 @@
3596
3656
  "path": "node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js",
3597
3657
  "group": "pi-public",
3598
3658
  "sourceBytes": 10005,
3599
- "evaluatedBytes": 4515
3659
+ "evaluatedBytes": 4517
3600
3660
  },
3601
3661
  {
3602
3662
  "path": "node_modules/google-auth-library/build/src/auth/externalclient.js",
@@ -3662,7 +3722,7 @@
3662
3722
  "path": "node_modules/google-auth-library/build/src/auth/oauth2client.js",
3663
3723
  "group": "pi-public",
3664
3724
  "sourceBytes": 33662,
3665
- "evaluatedBytes": 17741
3725
+ "evaluatedBytes": 17753
3666
3726
  },
3667
3727
  {
3668
3728
  "path": "node_modules/google-auth-library/build/src/auth/oauth2common.js",
@@ -3692,7 +3752,7 @@
3692
3752
  "path": "node_modules/google-auth-library/build/src/auth/refreshclient.js",
3693
3753
  "group": "pi-public",
3694
3754
  "sourceBytes": 6650,
3695
- "evaluatedBytes": 2947
3755
+ "evaluatedBytes": 2962
3696
3756
  },
3697
3757
  {
3698
3758
  "path": "node_modules/google-auth-library/build/src/auth/stscredentials.js",
@@ -5108,7 +5168,7 @@
5108
5168
  "path": "node_modules/jiti/dist/babel.cjs",
5109
5169
  "group": "pi-public",
5110
5170
  "sourceBytes": 1526691,
5111
- "evaluatedBytes": 1634975
5171
+ "evaluatedBytes": 1634978
5112
5172
  },
5113
5173
  {
5114
5174
  "path": "node_modules/jiti/dist/jiti.cjs",
@@ -9404,7 +9464,7 @@
9404
9464
  "path": "node_modules/typebox/build/type/types/_codec.mjs",
9405
9465
  "group": "pi-public",
9406
9466
  "sourceBytes": 2402,
9407
- "evaluatedBytes": 1201
9467
+ "evaluatedBytes": 1212
9408
9468
  },
9409
9469
  {
9410
9470
  "path": "node_modules/typebox/build/type/types/_immutable.mjs",
@@ -5,7 +5,7 @@
5
5
  "platform": "darwin",
6
6
  "architecture": "arm64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-09-16T18:44:13.029Z",
8
+ "builtAt": "2026-09-17T07:00:33.413Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
11
  "sha256": "9db1726bbe3fc2e8292f2ead1e7e9d0fd4d7d0dc9217b372582bf354b0f565dc",
@@ -5,7 +5,7 @@
5
5
  "platform": "linux",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-09-16T18:44:05.437Z",
8
+ "builtAt": "2026-09-17T07:00:55.073Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
11
  "sha256": "d8cda6b0c7cb36c0cc41e90802aceebf6c02eaebbc08a83d7d963d2e918dbd7a",
@@ -5,10 +5,10 @@
5
5
  "platform": "win32",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-09-16T18:44:34.962Z",
8
+ "builtAt": "2026-09-17T07:01:11.858Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian.exe",
11
- "sha256": "47b347f1a5782f17d232cf3e2619fdba4c91a96427d931b2a9b716b888c7470d",
11
+ "sha256": "41a34706be8b325fe7bc342a0e8d62e55962addf7cd22c2a6b37553a9b8c579c",
12
12
  "size": 177664
13
13
  },
14
14
  "provenance": {
@@ -106,12 +106,12 @@ node scripts/release/report-resource-sensitive-validation.mjs --repeats 3 --outp
106
106
 
107
107
  `Development validation required` remains the merge gate for every pull request. For applicable code changes, it requires the dedicated Defender-enabled exact-package startup lane on Windows Node 22. Development validation (including manual dispatch) does not schedule a Windows Node 24 startup lane. The Node 22 lane retains the complete package-install, image preparation/package, and durable-history checks plus startup evidence artifacts. A missing, cancelled, failed, or unexpectedly skipped required startup result still blocks the aggregate; documentation-only, version-only, and draft exemptions are unchanged.
108
108
 
109
- | Startup runtime | Development validation (PR or manual) | Nightly/release validation | Manual Full regression |
110
- | --- | --- | --- | --- |
111
- | Windows Node 22 | Required for applicable changes | Retained | Retained |
112
- | Windows Node 24 | Not scheduled | Retained | Retained |
109
+ | Startup runtime | Development validation (PR or manual) | Development preview (`npm run develop`) | Nightly and stable publication | Manual Full regression |
110
+ | --- | --- | --- | --- | --- |
111
+ | Windows Node 22 | Required for applicable changes | Not scheduled | Retained | Retained |
112
+ | Windows Node 24 | Not scheduled | Retained | Retained | Retained |
113
113
 
114
- Each selected startup lane runs the package-install scenarios once: a failed budget remains failed and is never retried to obtain a warmed result. Both post-update profiles must reach input-ready state within five seconds, and both warm profiles must remain within three seconds. Node 24 runtime support, other PR jobs, Defender, and publication gates are unchanged. Full validation retains every deferred startup, image, and history test through its existing suite owners.
114
+ Each selected startup lane runs the package-install scenarios once: a failed budget remains failed and is never retried to obtain a warmed result. The budgets are the ones the `a1-shell` capability declares (2 seconds after an update and on a warm launch, 2.5 seconds with no live supervisor); development validation and development previews record an overrun as a warning, while nightly, stable, and Full regression fail on it (see `STARTUP_BUDGET_ENFORCEMENT` in [validation](validation.md)). The publication lane set comes from `scripts/release/publication-validation-matrix.mjs`: a numbered preview validates on the Windows, Linux, and macOS Node 24 lanes, and nightly covers the same head on Windows Node 22 within a day. Node 24 runtime support, other PR jobs, Defender, and publication gates are unchanged. Full validation retains every deferred startup, image, and history test through its existing suite owners.
115
115
 
116
116
  The trade-off is delayed detection: a Node-24-specific regression can reach `develop` before nightly catches it, and the same is true for a real published-predecessor regression. A green bounded PR check does not certify Node 24 or real historical predecessor execution, and nightly failure still blocks its publication. When deferred feedback is needed before nightly, explicitly request the non-publishing Full regression workflow for the desired branch or tag:
117
117
 
@@ -44,6 +44,23 @@ A build receipt binds checkout head, complete build inputs, toolchain, emitted f
44
44
 
45
45
  Npm download bytes may be reused with integrity checks and `--prefer-offline`, with normal network fallback. Every installation prefix remains fresh. Installed package trees, dependency certification, startup/profile state, mutable fixture repositories, passing outcomes, and publication evidence are never restored from caches.
46
46
 
47
+ ## Shared exact-package preparation
48
+
49
+ A publication or Full regression lane installs the exact candidate once and shares that installation between `package-startup` and `package-contracts`. The installation is a separate command from the one that runs those owners, so the workflow can change runner state in between:
50
+
51
+ ```
52
+ node scripts/release/run-validation-tier.mjs --prepare-exact-package --handoff <path>
53
+ node scripts/release/run-validation-tier.mjs --exact-package-handoff <path> --result <path>
54
+ ```
55
+
56
+ The preparing command verifies the existing build receipt and the package receipt for the exact candidate, installs once, and writes an `a1-exact-package-handoff-v1` document with its consumers, prepared paths, measured duration, and verified receipt. The receipt's `preparation.phases` splits that duration into `installMs` (the npm global install), `proxySynchronizationMs` (the pi-tui proxy repair), and `installedIdentityMs` (the installed-package identity walk); on hosted Windows runners the install phase is the cost, because npm writes roughly 13,000 dependency files there. It runs no other planned command, so Full regression's real work is not executed twice.
57
+
58
+ The consuming command re-verifies that handoff against the lane, candidate digest, installation policy, declared consumers, and installed bytes before any owner runs, and records the result as `verified-shared-preparation`. A malformed handoff, one that contradicts the plan, or one that fails verification produces a single failed `exact-package-preparation` outcome and stops the run; it never falls back to a second installation. Removing the prepared installation stays with the consuming command either way.
59
+
60
+ Without `--exact-package-handoff`, preparation stays lazy and bound to the first consuming invocation. Local runs and ordinary pull-request CI are unchanged.
61
+
62
+ This split exists so Windows Defender real-time protection can be enabled between installation and the gates that launch the packaged product. Dependency installation and candidate extraction run in the runner's default protection state; the `defender-prerequisite` phase inside the startup gate remains the authority that protection is on when the product actually launches. To roll back, put the Defender step before `npm ci` again and drop both flags; do not remove the phase check or the receipt verification.
63
+
47
64
  ## Startup budget enforcement
48
65
 
49
66
  The exact-package startup gate always measures both profiles and all three launch kinds on the first attempt and never retries a measurement. `STARTUP_BUDGET_ENFORCEMENT` decides only what a timing overrun does:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.443",
3
+ "version": "0.1.8-dev.447",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "privateLaunchContract": "neutral-launch-v1",