@linkshell/gateway 0.6.63 → 0.6.65

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.
Files changed (52) hide show
  1. package/dist/gateway/src/accounts.d.ts +5 -1
  2. package/dist/gateway/src/accounts.js +62 -26
  3. package/dist/gateway/src/accounts.js.map +1 -1
  4. package/dist/gateway/src/main.js +2 -2
  5. package/dist/gateway/src/relay.d.ts +7 -11
  6. package/dist/gateway/src/relay.js +57 -52
  7. package/dist/gateway/src/relay.js.map +1 -1
  8. package/dist/gateway/src/serve.d.ts +1 -1
  9. package/dist/gateway/src/serve.js +1 -1
  10. package/dist/gateway/src/store.d.ts +2 -0
  11. package/dist/gateway/src/store.js +6 -0
  12. package/dist/gateway/src/store.js.map +1 -1
  13. package/dist/gateway/src/subscription.js +25 -16
  14. package/dist/gateway/src/subscription.js.map +1 -1
  15. package/dist/gateway/tsconfig.tsbuildinfo +1 -1
  16. package/dist/wire/src/direct.d.ts +2 -0
  17. package/dist/wire/src/direct.js +3 -1
  18. package/dist/wire/src/direct.js.map +1 -1
  19. package/dist/wire/src/peer.d.ts +3 -1
  20. package/dist/wire/src/peer.js +60 -22
  21. package/dist/wire/src/peer.js.map +1 -1
  22. package/dist/wire/src/relay-client.d.ts +7 -1
  23. package/dist/wire/src/relay-client.js +83 -6
  24. package/dist/wire/src/relay-client.js.map +1 -1
  25. package/dist/wire/src/relay.d.ts +1 -0
  26. package/dist/wire/src/relay.js +1 -1
  27. package/dist/wire/src/relay.js.map +1 -1
  28. package/dist/wire/src/rpc.d.ts +357 -2
  29. package/dist/wire/src/rpc.js +37 -3
  30. package/dist/wire/src/rpc.js.map +1 -1
  31. package/dist/wire/src/updates.d.ts +4 -0
  32. package/dist/wire/src/updates.js +4 -0
  33. package/dist/wire/src/updates.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/accounts.ts +65 -17
  36. package/src/main.ts +2 -2
  37. package/src/relay.ts +57 -57
  38. package/src/serve.ts +2 -2
  39. package/src/store.ts +7 -0
  40. package/src/subscription.ts +20 -13
  41. package/web-client/assets/{highlight-engine-Dcr6s5O3.js → highlight-engine-sAB54THR.js} +1 -1
  42. package/web-client/assets/index-D_ENOSnF.js +2 -0
  43. package/web-client/assets/index-cEXlRAV0.css +1 -0
  44. package/web-client/assets/{qr-scanner.min-B2pveQm9.js → qr-scanner.min-CdTUH3Aj.js} +1 -1
  45. package/web-client/assets/render-BuwR-lLK.js +950 -0
  46. package/web-client/assets/render-fME10uxZ.css +1 -0
  47. package/web-client/index.html +2 -2
  48. package/web-client/assets/app-icon-SJEseeVg.png +0 -0
  49. package/web-client/assets/index--JhAAl0R.css +0 -1
  50. package/web-client/assets/index-udCYIu_8.js +0 -2
  51. package/web-client/assets/render-DCFEl9vZ.css +0 -1
  52. package/web-client/assets/render-DJoKXlXz.js +0 -909
@@ -923,6 +923,23 @@ declare const coreMethods: {
923
923
  }, z.core.$strip>;
924
924
  readonly result: z.ZodObject<{}, z.core.$loose>;
925
925
  };
926
+ /** Opens a local path in the chosen desktop editor, file manager, or terminal (local only). */
927
+ readonly "desktop.openPath": {
928
+ readonly params: z.ZodObject<{
929
+ path: z.ZodString;
930
+ app: z.ZodOptional<z.ZodEnum<{
931
+ default: "default";
932
+ terminal: "terminal";
933
+ reveal: "reveal";
934
+ cursor: "cursor";
935
+ vscode: "vscode";
936
+ zed: "zed";
937
+ }>>;
938
+ }, z.core.$strip>;
939
+ readonly result: z.ZodObject<{
940
+ ok: z.ZodBoolean;
941
+ }, z.core.$strip>;
942
+ };
926
943
  readonly "usage.summary": {
927
944
  readonly params: z.ZodObject<{
928
945
  days: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<7>, z.ZodLiteral<30>]>>;
@@ -1248,6 +1265,7 @@ declare const coreMethods: {
1248
1265
  readonly params: z.ZodObject<{
1249
1266
  limit: z.ZodOptional<z.ZodNumber>;
1250
1267
  before: z.ZodOptional<z.ZodNumber>;
1268
+ beforeId: z.ZodOptional<z.ZodString>;
1251
1269
  includeArchived: z.ZodOptional<z.ZodBoolean>;
1252
1270
  }, z.core.$strip>;
1253
1271
  readonly result: z.ZodObject<{
@@ -1557,6 +1575,319 @@ declare const coreMethods: {
1557
1575
  }, z.core.$strip>>;
1558
1576
  }, z.core.$strip>>;
1559
1577
  nextBefore: z.ZodOptional<z.ZodNumber>;
1578
+ nextBeforeId: z.ZodOptional<z.ZodString>;
1579
+ }, z.core.$strip>;
1580
+ };
1581
+ readonly "sessions.get": {
1582
+ readonly params: z.ZodObject<{
1583
+ sessionId: z.ZodString;
1584
+ }, z.core.$strip>;
1585
+ readonly result: z.ZodObject<{
1586
+ session: z.ZodOptional<z.ZodObject<{
1587
+ id: z.ZodString;
1588
+ agent: z.ZodString;
1589
+ nativeId: z.ZodString;
1590
+ title: z.ZodOptional<z.ZodString>;
1591
+ preview: z.ZodOptional<z.ZodString>;
1592
+ cwd: z.ZodString;
1593
+ state: z.ZodEnum<{
1594
+ error: "error";
1595
+ unknown: "unknown";
1596
+ running: "running";
1597
+ idle: "idle";
1598
+ waiting: "waiting";
1599
+ offline: "offline";
1600
+ }>;
1601
+ driver: z.ZodOptional<z.ZodEnum<{
1602
+ desktop: "desktop";
1603
+ remote: "remote";
1604
+ none: "none";
1605
+ }>>;
1606
+ pendingPermissions: z.ZodNumber;
1607
+ model: z.ZodOptional<z.ZodString>;
1608
+ createdAt: z.ZodNumber;
1609
+ updatedAt: z.ZodNumber;
1610
+ lastSeq: z.ZodNumber;
1611
+ archived: z.ZodBoolean;
1612
+ activity: z.ZodOptional<z.ZodObject<{
1613
+ kind: z.ZodEnum<{
1614
+ tool: "tool";
1615
+ thinking: "thinking";
1616
+ responding: "responding";
1617
+ }>;
1618
+ title: z.ZodOptional<z.ZodString>;
1619
+ toolKind: z.ZodOptional<z.ZodEnum<{
1620
+ search: "search";
1621
+ delete: "delete";
1622
+ other: "other";
1623
+ read: "read";
1624
+ edit: "edit";
1625
+ move: "move";
1626
+ execute: "execute";
1627
+ think: "think";
1628
+ fetch: "fetch";
1629
+ switch_mode: "switch_mode";
1630
+ }>>;
1631
+ }, z.core.$strip>>;
1632
+ permission: z.ZodOptional<z.ZodObject<{
1633
+ requestId: z.ZodString;
1634
+ childSessionId: z.ZodOptional<z.ZodString>;
1635
+ toolCallId: z.ZodOptional<z.ZodString>;
1636
+ title: z.ZodString;
1637
+ detail: z.ZodOptional<z.ZodString>;
1638
+ tool: z.ZodOptional<z.ZodObject<{
1639
+ title: z.ZodOptional<z.ZodString>;
1640
+ kind: z.ZodOptional<z.ZodEnum<{
1641
+ search: "search";
1642
+ delete: "delete";
1643
+ other: "other";
1644
+ read: "read";
1645
+ edit: "edit";
1646
+ move: "move";
1647
+ execute: "execute";
1648
+ think: "think";
1649
+ fetch: "fetch";
1650
+ switch_mode: "switch_mode";
1651
+ }>>;
1652
+ rawInput: z.ZodOptional<z.ZodUnknown>;
1653
+ content: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1654
+ type: z.ZodLiteral<"content">;
1655
+ content: z.ZodType<{
1656
+ type: "text";
1657
+ text: string;
1658
+ annotations?: {
1659
+ [x: string]: unknown;
1660
+ audience?: ("user" | "assistant")[] | undefined;
1661
+ priority?: number | undefined;
1662
+ lastModified?: string | undefined;
1663
+ } | undefined;
1664
+ _meta?: Record<string, unknown> | undefined;
1665
+ } | {
1666
+ type: "image";
1667
+ mimeType: string;
1668
+ annotations?: {
1669
+ [x: string]: unknown;
1670
+ audience?: ("user" | "assistant")[] | undefined;
1671
+ priority?: number | undefined;
1672
+ lastModified?: string | undefined;
1673
+ } | undefined;
1674
+ _meta?: Record<string, unknown> | undefined;
1675
+ data?: string | undefined;
1676
+ uri?: string | undefined;
1677
+ } | {
1678
+ type: "audio";
1679
+ mimeType: string;
1680
+ annotations?: {
1681
+ [x: string]: unknown;
1682
+ audience?: ("user" | "assistant")[] | undefined;
1683
+ priority?: number | undefined;
1684
+ lastModified?: string | undefined;
1685
+ } | undefined;
1686
+ _meta?: Record<string, unknown> | undefined;
1687
+ data?: string | undefined;
1688
+ uri?: string | undefined;
1689
+ } | {
1690
+ type: "resource";
1691
+ resource: {
1692
+ uri: string;
1693
+ mimeType?: string | undefined;
1694
+ text?: string | undefined;
1695
+ blob?: string | undefined;
1696
+ assetUri?: string | undefined;
1697
+ _meta?: Record<string, unknown> | undefined;
1698
+ };
1699
+ annotations?: {
1700
+ [x: string]: unknown;
1701
+ audience?: ("user" | "assistant")[] | undefined;
1702
+ priority?: number | undefined;
1703
+ lastModified?: string | undefined;
1704
+ } | undefined;
1705
+ _meta?: Record<string, unknown> | undefined;
1706
+ } | {
1707
+ type: "resource_link";
1708
+ uri: string;
1709
+ name: string;
1710
+ kind?: "file" | "skill" | "agent" | undefined;
1711
+ annotations?: {
1712
+ [x: string]: unknown;
1713
+ audience?: ("user" | "assistant")[] | undefined;
1714
+ priority?: number | undefined;
1715
+ lastModified?: string | undefined;
1716
+ } | undefined;
1717
+ _meta?: Record<string, unknown> | undefined;
1718
+ title?: string | undefined;
1719
+ description?: string | undefined;
1720
+ mimeType?: string | undefined;
1721
+ size?: number | undefined;
1722
+ }, unknown, z.core.$ZodTypeInternals<{
1723
+ type: "text";
1724
+ text: string;
1725
+ annotations?: {
1726
+ [x: string]: unknown;
1727
+ audience?: ("user" | "assistant")[] | undefined;
1728
+ priority?: number | undefined;
1729
+ lastModified?: string | undefined;
1730
+ } | undefined;
1731
+ _meta?: Record<string, unknown> | undefined;
1732
+ } | {
1733
+ type: "image";
1734
+ mimeType: string;
1735
+ annotations?: {
1736
+ [x: string]: unknown;
1737
+ audience?: ("user" | "assistant")[] | undefined;
1738
+ priority?: number | undefined;
1739
+ lastModified?: string | undefined;
1740
+ } | undefined;
1741
+ _meta?: Record<string, unknown> | undefined;
1742
+ data?: string | undefined;
1743
+ uri?: string | undefined;
1744
+ } | {
1745
+ type: "audio";
1746
+ mimeType: string;
1747
+ annotations?: {
1748
+ [x: string]: unknown;
1749
+ audience?: ("user" | "assistant")[] | undefined;
1750
+ priority?: number | undefined;
1751
+ lastModified?: string | undefined;
1752
+ } | undefined;
1753
+ _meta?: Record<string, unknown> | undefined;
1754
+ data?: string | undefined;
1755
+ uri?: string | undefined;
1756
+ } | {
1757
+ type: "resource";
1758
+ resource: {
1759
+ uri: string;
1760
+ mimeType?: string | undefined;
1761
+ text?: string | undefined;
1762
+ blob?: string | undefined;
1763
+ assetUri?: string | undefined;
1764
+ _meta?: Record<string, unknown> | undefined;
1765
+ };
1766
+ annotations?: {
1767
+ [x: string]: unknown;
1768
+ audience?: ("user" | "assistant")[] | undefined;
1769
+ priority?: number | undefined;
1770
+ lastModified?: string | undefined;
1771
+ } | undefined;
1772
+ _meta?: Record<string, unknown> | undefined;
1773
+ } | {
1774
+ type: "resource_link";
1775
+ uri: string;
1776
+ name: string;
1777
+ kind?: "file" | "skill" | "agent" | undefined;
1778
+ annotations?: {
1779
+ [x: string]: unknown;
1780
+ audience?: ("user" | "assistant")[] | undefined;
1781
+ priority?: number | undefined;
1782
+ lastModified?: string | undefined;
1783
+ } | undefined;
1784
+ _meta?: Record<string, unknown> | undefined;
1785
+ title?: string | undefined;
1786
+ description?: string | undefined;
1787
+ mimeType?: string | undefined;
1788
+ size?: number | undefined;
1789
+ }, unknown>>;
1790
+ }, z.core.$strip>, z.ZodObject<{
1791
+ type: z.ZodLiteral<"diff">;
1792
+ path: z.ZodString;
1793
+ oldText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1794
+ newText: z.ZodString;
1795
+ }, z.core.$strip>, z.ZodObject<{
1796
+ type: z.ZodLiteral<"patch">;
1797
+ path: z.ZodString;
1798
+ change: z.ZodEnum<{
1799
+ add: "add";
1800
+ delete: "delete";
1801
+ update: "update";
1802
+ }>;
1803
+ movePath: z.ZodOptional<z.ZodString>;
1804
+ diff: z.ZodString;
1805
+ }, z.core.$strip>, z.ZodObject<{
1806
+ type: z.ZodLiteral<"terminal">;
1807
+ terminalId: z.ZodString;
1808
+ }, z.core.$strip>], "type">>>;
1809
+ locations: z.ZodOptional<z.ZodArray<z.ZodObject<{
1810
+ path: z.ZodString;
1811
+ line: z.ZodOptional<z.ZodNumber>;
1812
+ }, z.core.$strip>>>;
1813
+ }, z.core.$strip>>;
1814
+ url: z.ZodOptional<z.ZodObject<{
1815
+ url: z.ZodString;
1816
+ elicitationId: z.ZodString;
1817
+ }, z.core.$strip>>;
1818
+ options: z.ZodArray<z.ZodObject<{
1819
+ optionId: z.ZodString;
1820
+ name: z.ZodString;
1821
+ kind: z.ZodEnum<{
1822
+ allow_once: "allow_once";
1823
+ allow_always: "allow_always";
1824
+ reject_once: "reject_once";
1825
+ reject_always: "reject_always";
1826
+ }>;
1827
+ }, z.core.$strip>>;
1828
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1829
+ id: z.ZodString;
1830
+ constraints: z.ZodOptional<z.ZodObject<{
1831
+ type: z.ZodEnum<{
1832
+ string: "string";
1833
+ number: "number";
1834
+ boolean: "boolean";
1835
+ array: "array";
1836
+ integer: "integer";
1837
+ }>;
1838
+ minimum: z.ZodOptional<z.ZodNumber>;
1839
+ maximum: z.ZodOptional<z.ZodNumber>;
1840
+ minLength: z.ZodOptional<z.ZodNumber>;
1841
+ maxLength: z.ZodOptional<z.ZodNumber>;
1842
+ minItems: z.ZodOptional<z.ZodNumber>;
1843
+ maxItems: z.ZodOptional<z.ZodNumber>;
1844
+ pattern: z.ZodOptional<z.ZodString>;
1845
+ format: z.ZodOptional<z.ZodString>;
1846
+ }, z.core.$strip>>;
1847
+ defaults: z.ZodOptional<z.ZodArray<z.ZodString>>;
1848
+ header: z.ZodOptional<z.ZodString>;
1849
+ text: z.ZodString;
1850
+ kind: z.ZodEnum<{
1851
+ text: "text";
1852
+ choice: "choice";
1853
+ choices: "choices";
1854
+ }>;
1855
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
1856
+ value: z.ZodString;
1857
+ label: z.ZodString;
1858
+ description: z.ZodOptional<z.ZodString>;
1859
+ }, z.core.$strip>>>;
1860
+ other: z.ZodOptional<z.ZodBoolean>;
1861
+ secret: z.ZodOptional<z.ZodBoolean>;
1862
+ required: z.ZodOptional<z.ZodBoolean>;
1863
+ }, z.core.$strip>>>;
1864
+ }, z.core.$strip>>;
1865
+ asyncQuestions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1866
+ id: z.ZodString;
1867
+ title: z.ZodString;
1868
+ options: z.ZodArray<z.ZodString>;
1869
+ }, z.core.$strip>>>;
1870
+ queue: z.ZodOptional<z.ZodArray<z.ZodObject<{
1871
+ clientMessageId: z.ZodString;
1872
+ text: z.ZodString;
1873
+ images: z.ZodNumber;
1874
+ }, z.core.$strip>>>;
1875
+ worktree: z.ZodOptional<z.ZodObject<{
1876
+ branch: z.ZodString;
1877
+ source: z.ZodString;
1878
+ }, z.core.$strip>>;
1879
+ parentId: z.ZodOptional<z.ZodString>;
1880
+ forkedFrom: z.ZodOptional<z.ZodString>;
1881
+ appId: z.ZodOptional<z.ZodString>;
1882
+ subagents: z.ZodOptional<z.ZodObject<{
1883
+ total: z.ZodNumber;
1884
+ running: z.ZodNumber;
1885
+ }, z.core.$strip>>;
1886
+ tasks: z.ZodOptional<z.ZodObject<{
1887
+ total: z.ZodNumber;
1888
+ running: z.ZodNumber;
1889
+ }, z.core.$strip>>;
1890
+ }, z.core.$strip>>;
1560
1891
  }, z.core.$strip>;
1561
1892
  };
1562
1893
  /**
@@ -1749,6 +2080,7 @@ declare const coreMethods: {
1749
2080
  size?: number | undefined;
1750
2081
  }, unknown>>>>;
1751
2082
  clientMessageId: z.ZodOptional<z.ZodString>;
2083
+ requestId: z.ZodOptional<z.ZodString>;
1752
2084
  model: z.ZodOptional<z.ZodString>;
1753
2085
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1754
2086
  worktree: z.ZodOptional<z.ZodBoolean>;
@@ -3139,6 +3471,7 @@ declare const coreMethods: {
3139
3471
  mimeType?: string | undefined;
3140
3472
  size?: number | undefined;
3141
3473
  }, unknown>>;
3474
+ replace: z.ZodOptional<z.ZodBoolean>;
3142
3475
  }, z.core.$strip>, z.ZodObject<{
3143
3476
  sessionUpdate: z.ZodLiteral<"agent_thought_chunk">;
3144
3477
  parentToolCallId: z.ZodOptional<z.ZodString>;
@@ -3278,6 +3611,7 @@ declare const coreMethods: {
3278
3611
  mimeType?: string | undefined;
3279
3612
  size?: number | undefined;
3280
3613
  }, unknown>>;
3614
+ replace: z.ZodOptional<z.ZodBoolean>;
3281
3615
  }, z.core.$strip>, z.ZodObject<{
3282
3616
  sessionUpdate: z.ZodLiteral<"tool_call">;
3283
3617
  toolCallId: z.ZodString;
@@ -4830,6 +5164,7 @@ declare const coreMethods: {
4830
5164
  mimeType?: string | undefined;
4831
5165
  size?: number | undefined;
4832
5166
  }, unknown>>;
5167
+ replace: z.ZodOptional<z.ZodBoolean>;
4833
5168
  }, z.core.$strip>, z.ZodObject<{
4834
5169
  sessionUpdate: z.ZodLiteral<"agent_thought_chunk">;
4835
5170
  parentToolCallId: z.ZodOptional<z.ZodString>;
@@ -4969,6 +5304,7 @@ declare const coreMethods: {
4969
5304
  mimeType?: string | undefined;
4970
5305
  size?: number | undefined;
4971
5306
  }, unknown>>;
5307
+ replace: z.ZodOptional<z.ZodBoolean>;
4972
5308
  }, z.core.$strip>, z.ZodObject<{
4973
5309
  sessionUpdate: z.ZodLiteral<"tool_call">;
4974
5310
  toolCallId: z.ZodString;
@@ -7304,6 +7640,20 @@ declare const coreMethods: {
7304
7640
  ok: z.ZodBoolean;
7305
7641
  }, z.core.$strip>;
7306
7642
  };
7643
+ /** Commits staged or specified paths inside `cwd`'s repository. */
7644
+ readonly "git.commit": {
7645
+ readonly params: z.ZodObject<{
7646
+ cwd: z.ZodString;
7647
+ message: z.ZodString;
7648
+ stageAll: z.ZodOptional<z.ZodBoolean>;
7649
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
7650
+ }, z.core.$strip>;
7651
+ readonly result: z.ZodObject<{
7652
+ sha: z.ZodString;
7653
+ branch: z.ZodOptional<z.ZodString>;
7654
+ summary: z.ZodString;
7655
+ }, z.core.$strip>;
7656
+ };
7307
7657
  /** The worktrees LinkShell made, newest first. */
7308
7658
  readonly "worktrees.list": {
7309
7659
  readonly params: z.ZodObject<{}, z.core.$loose>;
@@ -7366,9 +7716,9 @@ declare const coreMethods: {
7366
7716
  size: z.ZodNumber;
7367
7717
  modifiedAt: z.ZodNumber;
7368
7718
  kind: z.ZodEnum<{
7719
+ binary: "binary";
7369
7720
  text: "text";
7370
7721
  image: "image";
7371
- binary: "binary";
7372
7722
  }>;
7373
7723
  text: z.ZodOptional<z.ZodString>;
7374
7724
  data: z.ZodOptional<z.ZodString>;
@@ -7395,13 +7745,16 @@ declare const coreMethods: {
7395
7745
  };
7396
7746
  /**
7397
7747
  * Saves a file from the device into `dir`. A name that's taken gets a
7398
- * numbered suffix ("photo 2.jpg") rather than overwriting.
7748
+ * numbered suffix ("photo 2.jpg") rather than overwriting; subsequent chunks
7749
+ * pass `appendPath` and `offset` so each chunk stays below the relay frame cap.
7399
7750
  */
7400
7751
  readonly "fs.upload": {
7401
7752
  readonly params: z.ZodObject<{
7402
7753
  dir: z.ZodString;
7403
7754
  name: z.ZodString;
7404
7755
  data: z.ZodString;
7756
+ offset: z.ZodOptional<z.ZodNumber>;
7757
+ appendPath: z.ZodOptional<z.ZodString>;
7405
7758
  }, z.core.$strip>;
7406
7759
  readonly result: z.ZodObject<{
7407
7760
  path: z.ZodString;
@@ -8485,6 +8838,7 @@ export declare const notifications: {
8485
8838
  mimeType?: string | undefined;
8486
8839
  size?: number | undefined;
8487
8840
  }, unknown>>;
8841
+ replace: z.ZodOptional<z.ZodBoolean>;
8488
8842
  }, z.core.$strip>, z.ZodObject<{
8489
8843
  sessionUpdate: z.ZodLiteral<"agent_thought_chunk">;
8490
8844
  parentToolCallId: z.ZodOptional<z.ZodString>;
@@ -8624,6 +8978,7 @@ export declare const notifications: {
8624
8978
  mimeType?: string | undefined;
8625
8979
  size?: number | undefined;
8626
8980
  }, unknown>>;
8981
+ replace: z.ZodOptional<z.ZodBoolean>;
8627
8982
  }, z.core.$strip>, z.ZodObject<{
8628
8983
  sessionUpdate: z.ZodLiteral<"tool_call">;
8629
8984
  toolCallId: z.ZodString;
@@ -122,6 +122,14 @@ const acpMethods = {
122
122
  };
123
123
  const coreMethods = {
124
124
  "desktop.shutdown": { params: z.object({ pid: z.number().int().positive() }), result: empty },
125
+ /** Opens a local path in the chosen desktop editor, file manager, or terminal (local only). */
126
+ "desktop.openPath": {
127
+ params: z.object({
128
+ path: z.string().min(1),
129
+ app: z.enum(["default", "reveal", "cursor", "vscode", "zed", "terminal"]).optional(),
130
+ }),
131
+ result: z.object({ ok: z.boolean() }),
132
+ },
125
133
  "usage.summary": { params: usageQuerySchema, result: usageReportSchema },
126
134
  "liveActivities.subscribe": {
127
135
  params: liveActivitySubscriptionSchema,
@@ -158,13 +166,20 @@ const coreMethods = {
158
166
  limit: z.number().int().positive().max(200).optional(),
159
167
  /** Only sessions updated strictly before this timestamp (pagination). */
160
168
  before: z.number().optional(),
169
+ /** Tie-breaker session id when multiple sessions share the `before` timestamp. */
170
+ beforeId: z.string().optional(),
161
171
  includeArchived: z.boolean().optional(),
162
172
  }),
163
173
  result: z.object({
164
174
  sessions: z.array(sessionSummarySchema),
165
175
  nextBefore: z.number().optional(),
176
+ nextBeforeId: z.string().optional(),
166
177
  }),
167
178
  },
179
+ "sessions.get": {
180
+ params: z.object({ sessionId: z.string().min(1) }),
181
+ result: z.object({ session: sessionSummarySchema.optional() }),
182
+ },
168
183
  /**
169
184
  * The models a new session of `agent` can start on, for choosing one before
170
185
  * there is a session (whose own list comes later, in its `ls_config`).
@@ -198,6 +213,8 @@ const coreMethods = {
198
213
  cwd: z.string().min(1),
199
214
  prompt: z.array(contentBlockSchema).optional(),
200
215
  clientMessageId: z.string().optional(),
216
+ /** Client-generated idempotency key so a retried create does not spawn a duplicate session. */
217
+ requestId: z.string().max(128).optional(),
201
218
  /** One of `agents.models`' values; absent: the agent's own default. */
202
219
  model: z.string().optional(),
203
220
  /** Explicit choices from agents.models.config, applied before the first prompt. */
@@ -532,6 +549,20 @@ const coreMethods = {
532
549
  params: z.object({ cwd: z.string().min(1), path: z.string().min(1) }),
533
550
  result: z.object({ ok: z.boolean() }),
534
551
  },
552
+ /** Commits staged or specified paths inside `cwd`'s repository. */
553
+ "git.commit": {
554
+ params: z.object({
555
+ cwd: z.string().min(1),
556
+ message: z.string().min(1).max(4000),
557
+ stageAll: z.boolean().optional(),
558
+ paths: z.array(z.string().min(1)).max(500).optional(),
559
+ }),
560
+ result: z.object({
561
+ sha: z.string(),
562
+ branch: z.string().optional(),
563
+ summary: z.string(),
564
+ }),
565
+ },
535
566
  /** The worktrees LinkShell made, newest first. */
536
567
  "worktrees.list": { params: empty, result: z.object({ worktrees: z.array(worktreeEntrySchema) }) },
537
568
  /** Removes a worktree and its branch. Refused (`busy`) while a session uses it, or (`dirty`) when work in it would be lost, unless `force`. */
@@ -600,14 +631,17 @@ const coreMethods = {
600
631
  },
601
632
  /**
602
633
  * Saves a file from the device into `dir`. A name that's taken gets a
603
- * numbered suffix ("photo 2.jpg") rather than overwriting.
634
+ * numbered suffix ("photo 2.jpg") rather than overwriting; subsequent chunks
635
+ * pass `appendPath` and `offset` so each chunk stays below the relay frame cap.
604
636
  */
605
637
  "fs.upload": {
606
638
  params: z.object({
607
639
  dir: z.string().min(1),
608
640
  name: z.string().min(1).max(255),
609
- /** base64; up to ~30 MB of file. */
610
- data: z.string().max(40_000_000),
641
+ /** base64; up to ~20 MB single-shot upload (smaller when chunked via `offset`/`appendPath`). */
642
+ data: z.string().max(30_000_000),
643
+ offset: z.number().int().nonnegative().optional(),
644
+ appendPath: z.string().optional(),
611
645
  }),
612
646
  result: z.object({ path: z.string(), size: z.number().int() }),
613
647
  },