@ai-matrx/desktop-protocol 0.21.38 → 0.21.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { z } from "zod";
3
3
  import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
4
4
  var PROTOCOL_MAJOR = 1;
5
- var PROTOCOL_MINOR = 46;
5
+ var PROTOCOL_MINOR = 47;
6
6
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
7
7
  var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
8
8
  var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -1751,249 +1751,331 @@ var AppsWindowsUpdateAndReopenResult = z14.strictObject({
1751
1751
  installed_version: z14.string().max(64).nullable()
1752
1752
  });
1753
1753
 
1754
- // src/schema/service.ts
1754
+ // src/schema/apps-instances.ts
1755
1755
  import { z as z15 } from "zod";
1756
+ var InstanceStatus = z15.enum(["open", "closed", "wrong_account", "update_waiting", "folder_missing"]);
1757
+ var AppInstall = z15.strictObject({
1758
+ location: z15.string().max(1024),
1759
+ version: z15.string().max(80).nullable()
1760
+ });
1761
+ var AppInstance = z15.strictObject({
1762
+ app_key: AppKey,
1763
+ /** "main", or the instance's name: the same key every window action takes. */
1764
+ key: ChatPlace,
1765
+ main: z15.boolean(),
1766
+ status: InstanceStatus,
1767
+ running: z15.boolean(),
1768
+ /** Its process while open. */
1769
+ pid: nonNegInt.nullable(),
1770
+ /** Its data folder on this device. */
1771
+ folder: z15.string().max(1024).nullable(),
1772
+ folder_exists: z15.boolean(),
1773
+ /** The provider's id of the account signed in there now, when the app records it. */
1774
+ account_id: z15.string().max(200).nullable(),
1775
+ /** That account's email, when known. */
1776
+ account: z15.string().max(320).nullable(),
1777
+ /** The account this instance is kept for (null for main: it signs into any). */
1778
+ meant_for: z15.string().max(320).nullable(),
1779
+ /** The version running in it now, or the one it last ran when closed. */
1780
+ version: z15.string().max(80).nullable(),
1781
+ installed_version: z15.string().max(80).nullable(),
1782
+ /** Chats open in it now. */
1783
+ open_chats: nonNegInt,
1784
+ launched_ms: epochMs.nullable(),
1785
+ quit_ms: epochMs.nullable(),
1786
+ first_launch_ms: epochMs.nullable()
1787
+ });
1788
+ var AccountResetSource = z15.enum(["app", "usage_history", "your_list"]);
1789
+ var AccountGap = z15.enum(["email", "plan", "usage"]);
1790
+ var AppAccount = z15.strictObject({
1791
+ app_key: AppKey,
1792
+ /** The provider's own account id (Claude's account uuid, ChatGPT's account id); `org:<uuid>` when only its organization is known. */
1793
+ account_id: z15.string().max(200),
1794
+ email: z15.string().max(320).nullable(),
1795
+ plan: z15.string().max(80).nullable(),
1796
+ /** The provider organizations its readings are filed under. */
1797
+ orgs: z15.array(z15.string().max(80)).max(20),
1798
+ /** Weekly use in percent; 0 once the week reset after the reading. */
1799
+ weekly: z15.number().nullable(),
1800
+ weekly_reset_since: z15.boolean(),
1801
+ weekly_resets_at_ms: epochMs.nullable(),
1802
+ weekly_reset_source: AccountResetSource.nullable(),
1803
+ /** 5-hour use in percent; 0 once the 5-hour window passed after the reading. */
1804
+ five_hour: z15.number().nullable(),
1805
+ five_hour_reset_since: z15.boolean(),
1806
+ /** The latest the 5-hour window resets. */
1807
+ five_hour_resets_at_ms: epochMs.nullable(),
1808
+ /** Claude: extra-usage spend as a percent of its cap. */
1809
+ extra_usage: z15.number().nullable(),
1810
+ /** Codex: the credit balance. */
1811
+ credits: z15.number().nullable(),
1812
+ /** When the newest reading was taken, and in which instance. */
1813
+ read_at_ms: epochMs.nullable(),
1814
+ read_in: ChatPlace.nullable(),
1815
+ /** Instances signed into it now. */
1816
+ instances: z15.array(ChatPlace).max(200),
1817
+ first_seen_ms: epochMs.nullable(),
1818
+ last_seen_ms: epochMs.nullable(),
1819
+ missing: z15.array(AccountGap).max(3)
1820
+ });
1821
+ var AppsInstancesListParams = z15.strictObject({ app_key: AppKey });
1822
+ var AppsInstancesListResult = z15.strictObject({
1823
+ app_key: AppKey,
1824
+ install: AppInstall.nullable(),
1825
+ instances: z15.array(AppInstance).max(200),
1826
+ /** The rows are right but something around them failed; shown, never hidden. */
1827
+ problem: z15.string().max(400).optional()
1828
+ });
1829
+ var AppsAccountsListParams = z15.strictObject({ app_key: AppKey });
1830
+ var AppsAccountsListResult = z15.strictObject({
1831
+ app_key: AppKey,
1832
+ accounts: z15.array(AppAccount).max(500),
1833
+ problem: z15.string().max(400).optional()
1834
+ });
1835
+
1836
+ // src/schema/service.ts
1837
+ import { z as z16 } from "zod";
1756
1838
  var SERVICE_MAX_FRAME_BYTES = 16777216;
1757
- var ServiceName = z15.enum(["ml", "coding", "tools"]);
1758
- var ContractHash = z15.string().regex(/^[0-9a-f]{64}$/);
1759
- var ServiceToken = z15.string().regex(/^[A-Za-z0-9_-]{43}$/);
1839
+ var ServiceName = z16.enum(["ml", "coding", "tools"]);
1840
+ var ContractHash = z16.string().regex(/^[0-9a-f]{64}$/);
1841
+ var ServiceToken = z16.string().regex(/^[A-Za-z0-9_-]{43}$/);
1760
1842
  var ServiceRequestId = u32;
1761
- var ServiceHello = z15.strictObject({ type: z15.literal("hello"), token: ServiceToken, contract: ContractHash });
1762
- var ServiceWelcome = z15.strictObject({
1763
- type: z15.literal("welcome"),
1843
+ var ServiceHello = z16.strictObject({ type: z16.literal("hello"), token: ServiceToken, contract: ContractHash });
1844
+ var ServiceWelcome = z16.strictObject({
1845
+ type: z16.literal("welcome"),
1764
1846
  service: ServiceName,
1765
1847
  contract: ContractHash,
1766
1848
  pid: nonNegInt,
1767
1849
  /** The interpreter's version, e.g. "3.13.15". */
1768
- python: z15.string().max(32),
1850
+ python: z16.string().max(32),
1769
1851
  /** Every op this service serves; must equal SERVICES[service] exactly. */
1770
- ops: z15.array(z15.string().min(1).max(64)).max(64)
1852
+ ops: z16.array(z16.string().min(1).max(64)).max(64)
1771
1853
  });
1772
- var ServiceRequest = z15.strictObject({
1773
- type: z15.literal("request"),
1854
+ var ServiceRequest = z16.strictObject({
1855
+ type: z16.literal("request"),
1774
1856
  id: ServiceRequestId,
1775
- op: z15.string().min(1).max(64),
1776
- params: z15.unknown()
1857
+ op: z16.string().min(1).max(64),
1858
+ params: z16.unknown()
1777
1859
  // validated by the service against SERVICES[service][op].params
1778
1860
  });
1779
- var ServiceResponse = z15.strictObject({
1780
- type: z15.literal("response"),
1861
+ var ServiceResponse = z16.strictObject({
1862
+ type: z16.literal("response"),
1781
1863
  id: ServiceRequestId,
1782
- result: z15.unknown()
1864
+ result: z16.unknown()
1783
1865
  // validated by the core against SERVICES[service][op].result
1784
1866
  });
1785
- var ServiceErrorMsg = z15.strictObject({ type: z15.literal("error"), id: ServiceRequestId, error: ProtocolErrorBody });
1786
- var ServiceProgressMsg = z15.strictObject({ type: z15.literal("progress"), id: ServiceRequestId, progress: z15.unknown() });
1787
- var ServiceCancel = z15.strictObject({ type: z15.literal("cancel"), id: ServiceRequestId });
1788
- var ServicePing = z15.strictObject({ type: z15.literal("ping"), id: ServiceRequestId });
1789
- var ServicePong = z15.strictObject({
1790
- type: z15.literal("pong"),
1867
+ var ServiceErrorMsg = z16.strictObject({ type: z16.literal("error"), id: ServiceRequestId, error: ProtocolErrorBody });
1868
+ var ServiceProgressMsg = z16.strictObject({ type: z16.literal("progress"), id: ServiceRequestId, progress: z16.unknown() });
1869
+ var ServiceCancel = z16.strictObject({ type: z16.literal("cancel"), id: ServiceRequestId });
1870
+ var ServicePing = z16.strictObject({ type: z16.literal("ping"), id: ServiceRequestId });
1871
+ var ServicePong = z16.strictObject({
1872
+ type: z16.literal("pong"),
1791
1873
  id: ServiceRequestId,
1792
1874
  /** Requests running now. */
1793
1875
  busy: nonNegInt
1794
1876
  });
1795
- var ServiceShutdown = z15.strictObject({ type: z15.literal("shutdown") });
1796
- var CoreToServiceMsg = z15.discriminatedUnion("type", [ServiceHello, ServiceRequest, ServiceCancel, ServicePing, ServiceShutdown]);
1797
- var ServiceToCoreMsg = z15.discriminatedUnion("type", [ServiceWelcome, ServiceResponse, ServiceErrorMsg, ServiceProgressMsg, ServicePong]);
1877
+ var ServiceShutdown = z16.strictObject({ type: z16.literal("shutdown") });
1878
+ var CoreToServiceMsg = z16.discriminatedUnion("type", [ServiceHello, ServiceRequest, ServiceCancel, ServicePing, ServiceShutdown]);
1879
+ var ServiceToCoreMsg = z16.discriminatedUnion("type", [ServiceWelcome, ServiceResponse, ServiceErrorMsg, ServiceProgressMsg, ServicePong]);
1798
1880
 
1799
1881
  // src/schema/tools.ts
1800
- import { z as z16 } from "zod";
1801
- var ToolLevel = z16.enum(["programmatic", "protocol", "chat"]);
1802
- var ToolOutcome = z16.enum(["pass", "fail", "skip"]);
1803
- var ToolPlatform = z16.enum(["darwin", "win32", "linux"]);
1804
- var ToolTransport = z16.enum(["in_process", "localhost", "relay", "agent"]);
1805
- var ToolName = z16.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/);
1806
- var ToolLevelResult = z16.strictObject({
1882
+ import { z as z17 } from "zod";
1883
+ var ToolLevel = z17.enum(["programmatic", "protocol", "chat"]);
1884
+ var ToolOutcome = z17.enum(["pass", "fail", "skip"]);
1885
+ var ToolPlatform = z17.enum(["darwin", "win32", "linux"]);
1886
+ var ToolTransport = z17.enum(["in_process", "localhost", "relay", "agent"]);
1887
+ var ToolName = z17.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/);
1888
+ var ToolLevelResult = z17.strictObject({
1807
1889
  tool: ToolName,
1808
1890
  level: ToolLevel,
1809
1891
  platform: ToolPlatform,
1810
1892
  transport: ToolTransport,
1811
1893
  outcome: ToolOutcome,
1812
1894
  /** True when the caller sat on a different network from the device (a phone on cellular, CI). */
1813
- remote_network: z16.boolean(),
1895
+ remote_network: z17.boolean(),
1814
1896
  /** One line: what was asserted, or why it failed. Never a token, a file's contents or a path under a real home. */
1815
- detail: z16.string().max(500),
1897
+ detail: z17.string().max(500),
1816
1898
  /** The harness that produced it, e.g. `matrx-desktop test/tools/programmatic.test.ts`. */
1817
- suite: z16.string().min(1).max(200),
1899
+ suite: z17.string().min(1).max(200),
1818
1900
  /** The test case inside the suite. */
1819
- test: z16.string().min(1).max(300),
1820
- run_at_ms: z16.int().min(0),
1901
+ test: z17.string().min(1).max(300),
1902
+ run_at_ms: z17.int().min(0),
1821
1903
  /**
1822
1904
  * Chat level: how many tool calls the agent's turn made, of any tool. `0` means the turn never
1823
1905
  * exercised a tool (the model answered in prose, or the chat request failed), so the result is
1824
1906
  * no evidence about the tool: it never turns a cell red. Absent on older results.
1825
1907
  */
1826
- calls_made: z16.int().min(0).optional()
1908
+ calls_made: z17.int().min(0).optional()
1827
1909
  });
1828
- var ToolResultsFile = z16.strictObject({
1829
- schema: z16.literal("matrx.tool-results.v1"),
1910
+ var ToolResultsFile = z17.strictObject({
1911
+ schema: z17.literal("matrx.tool-results.v1"),
1830
1912
  /** The producing repo's commit (short or full SHA). */
1831
- commit: z16.string().min(4).max(64),
1832
- results: z16.array(ToolLevelResult).max(1e4)
1913
+ commit: z17.string().min(4).max(64),
1914
+ results: z17.array(ToolLevelResult).max(1e4)
1833
1915
  });
1834
1916
 
1835
1917
  // src/schema/proc.ts
1836
- import { z as z17 } from "zod";
1837
- var ProcSort = z17.enum(["cpu", "memory", "pid", "name"]);
1838
- var ProcListParams = z17.strictObject({
1918
+ import { z as z18 } from "zod";
1919
+ var ProcSort = z18.enum(["cpu", "memory", "pid", "name"]);
1920
+ var ProcListParams = z18.strictObject({
1839
1921
  /** Case-insensitive substring of the process name or its command line. */
1840
- name: z17.string().min(1).max(128).optional(),
1922
+ name: z18.string().min(1).max(128).optional(),
1841
1923
  sort: ProcSort.default("cpu"),
1842
- limit: z17.int().min(1).max(500).default(50)
1924
+ limit: z18.int().min(1).max(500).default(50)
1843
1925
  });
1844
- var ProcInfo = z17.strictObject({
1845
- pid: z17.int().min(0),
1926
+ var ProcInfo = z18.strictObject({
1927
+ pid: z18.int().min(0),
1846
1928
  /** Parent process id; null where the OS does not report it. */
1847
- ppid: z17.int().min(0).nullable(),
1848
- name: z17.string().max(256),
1929
+ ppid: z18.int().min(0).nullable(),
1930
+ name: z18.string().max(256),
1849
1931
  /** The command line, cut to 1024 characters. */
1850
- command: z17.string().max(1024),
1932
+ command: z18.string().max(1024),
1851
1933
  /** Share of one core, as `ps` and Task Manager report it; null where the OS does not say. */
1852
- cpu_percent: z17.number().min(0).nullable(),
1934
+ cpu_percent: z18.number().min(0).nullable(),
1853
1935
  memory_bytes: nonNegInt.nullable(),
1854
- user: z17.string().max(128).nullable()
1936
+ user: z18.string().max(128).nullable()
1855
1937
  });
1856
- var ProcListResult = z17.strictObject({
1857
- processes: z17.array(ProcInfo).max(500),
1938
+ var ProcListResult = z18.strictObject({
1939
+ processes: z18.array(ProcInfo).max(500),
1858
1940
  /** Processes that matched before `limit`. */
1859
1941
  total: nonNegInt,
1860
- truncated: z17.boolean()
1942
+ truncated: z18.boolean()
1861
1943
  });
1862
- var ProcPortsParams = z17.strictObject({
1944
+ var ProcPortsParams = z18.strictObject({
1863
1945
  /** Only this port. */
1864
- port: z17.int().min(1).max(65535).optional()
1946
+ port: z18.int().min(1).max(65535).optional()
1865
1947
  });
1866
- var ProcPort = z17.strictObject({
1867
- port: z17.int().min(1).max(65535),
1868
- protocol: z17.enum(["tcp", "udp"]),
1948
+ var ProcPort = z18.strictObject({
1949
+ port: z18.int().min(1).max(65535),
1950
+ protocol: z18.enum(["tcp", "udp"]),
1869
1951
  /** The local address it listens on ("127.0.0.1", "*", "::"). */
1870
- address: z17.string().max(64),
1871
- pid: z17.int().min(0).nullable(),
1872
- process: z17.string().max(256).nullable()
1952
+ address: z18.string().max(64),
1953
+ pid: z18.int().min(0).nullable(),
1954
+ process: z18.string().max(256).nullable()
1873
1955
  });
1874
- var ProcPortsResult = z17.strictObject({ ports: z17.array(ProcPort).max(4e3) });
1875
- var ProcKillParams = z17.strictObject({
1876
- pid: z17.int().min(1),
1956
+ var ProcPortsResult = z18.strictObject({ ports: z18.array(ProcPort).max(4e3) });
1957
+ var ProcKillParams = z18.strictObject({
1958
+ pid: z18.int().min(1),
1877
1959
  /** Kill outright (SIGKILL; on Windows the same /F) instead of asking it to quit. */
1878
- force: z17.boolean().default(false)
1960
+ force: z18.boolean().default(false)
1879
1961
  });
1880
- var ProcKillResult = z17.strictObject({
1881
- pid: z17.int().min(1),
1882
- signal: z17.enum(["SIGTERM", "SIGKILL"]),
1962
+ var ProcKillResult = z18.strictObject({
1963
+ pid: z18.int().min(1),
1964
+ signal: z18.enum(["SIGTERM", "SIGKILL"]),
1883
1965
  /** True when the process was gone within 3 s. */
1884
- exited: z17.boolean()
1966
+ exited: z18.boolean()
1885
1967
  });
1886
1968
 
1887
1969
  // src/schema/clipboard.ts
1888
- import { z as z18 } from "zod";
1889
- var ClipboardReadParams = z18.strictObject({});
1890
- var ClipboardReadResult = z18.strictObject({
1970
+ import { z as z19 } from "zod";
1971
+ var ClipboardReadParams = z19.strictObject({});
1972
+ var ClipboardReadResult = z19.strictObject({
1891
1973
  /** The clipboard's text ("" when it holds none), cut to 1 MiB. */
1892
- text: z18.string().max(1048576),
1893
- truncated: z18.boolean()
1974
+ text: z19.string().max(1048576),
1975
+ truncated: z19.boolean()
1894
1976
  });
1895
- var ClipboardWriteParams = z18.strictObject({ text: z18.string().max(1048576) });
1896
- var ClipboardWriteResult = z18.strictObject({ bytes: nonNegInt });
1977
+ var ClipboardWriteParams = z19.strictObject({ text: z19.string().max(1048576) });
1978
+ var ClipboardWriteResult = z19.strictObject({ bytes: nonNegInt });
1897
1979
 
1898
1980
  // src/schema/git.ts
1899
- import { z as z19 } from "zod";
1981
+ import { z as z20 } from "zod";
1900
1982
  var GIT_MAX_OUTPUT_CHARS = 262144;
1901
- var GitText = z19.string().max(GIT_MAX_OUTPUT_CHARS);
1902
- var GitName = z19.string().min(1).max(255).regex(/^[^-\s][^\s]*$/);
1903
- var GitOutputResult = z19.strictObject({ output: GitText, truncated: z19.boolean() });
1904
- var GitStatusParams = z19.strictObject({ cwd: AbsPath });
1905
- var GitStatusFile = z19.strictObject({
1906
- path: z19.string(),
1983
+ var GitText = z20.string().max(GIT_MAX_OUTPUT_CHARS);
1984
+ var GitName = z20.string().min(1).max(255).regex(/^[^-\s][^\s]*$/);
1985
+ var GitOutputResult = z20.strictObject({ output: GitText, truncated: z20.boolean() });
1986
+ var GitStatusParams = z20.strictObject({ cwd: AbsPath });
1987
+ var GitStatusFile = z20.strictObject({
1988
+ path: z20.string(),
1907
1989
  /** Porcelain v1 status letters: index (staged) and worktree; "?" for untracked. */
1908
- index: z19.string().length(1),
1909
- worktree: z19.string().length(1)
1990
+ index: z20.string().length(1),
1991
+ worktree: z20.string().length(1)
1910
1992
  });
1911
- var GitStatusResult = z19.strictObject({
1993
+ var GitStatusResult = z20.strictObject({
1912
1994
  /** The checked-out branch; null when HEAD is detached. */
1913
- branch: z19.string().nullable(),
1914
- upstream: z19.string().nullable(),
1995
+ branch: z20.string().nullable(),
1996
+ upstream: z20.string().nullable(),
1915
1997
  ahead: nonNegInt,
1916
1998
  behind: nonNegInt,
1917
- files: z19.array(GitStatusFile).max(5e3),
1918
- clean: z19.boolean(),
1999
+ files: z20.array(GitStatusFile).max(5e3),
2000
+ clean: z20.boolean(),
1919
2001
  /** More than 5000 changed files: the list is cut. */
1920
- truncated: z19.boolean()
1921
- });
1922
- var GitDiffParams = z19.strictObject({ cwd: AbsPath, path: z19.string().max(4096).optional(), staged: z19.boolean().default(false) });
1923
- var GitDiffResult = z19.strictObject({ diff: GitText, truncated: z19.boolean() });
1924
- var GitLogParams = z19.strictObject({ cwd: AbsPath, limit: z19.int().min(1).max(500).default(50) });
1925
- var GitLogCommit = z19.strictObject({ sha: z19.string(), short: z19.string(), author: z19.string(), date: z19.string(), subject: z19.string() });
1926
- var GitLogResult = z19.strictObject({ commits: z19.array(GitLogCommit).max(500) });
1927
- var GitAddParams = z19.strictObject({ cwd: AbsPath, paths: z19.array(z19.string().min(1).max(4096)).min(1).max(1e3) });
1928
- var GitCommitParams = z19.strictObject({
2002
+ truncated: z20.boolean()
2003
+ });
2004
+ var GitDiffParams = z20.strictObject({ cwd: AbsPath, path: z20.string().max(4096).optional(), staged: z20.boolean().default(false) });
2005
+ var GitDiffResult = z20.strictObject({ diff: GitText, truncated: z20.boolean() });
2006
+ var GitLogParams = z20.strictObject({ cwd: AbsPath, limit: z20.int().min(1).max(500).default(50) });
2007
+ var GitLogCommit = z20.strictObject({ sha: z20.string(), short: z20.string(), author: z20.string(), date: z20.string(), subject: z20.string() });
2008
+ var GitLogResult = z20.strictObject({ commits: z20.array(GitLogCommit).max(500) });
2009
+ var GitAddParams = z20.strictObject({ cwd: AbsPath, paths: z20.array(z20.string().min(1).max(4096)).min(1).max(1e3) });
2010
+ var GitCommitParams = z20.strictObject({
1929
2011
  cwd: AbsPath,
1930
- message: z19.string().min(1).max(65536),
1931
- amend: z19.boolean().default(false),
2012
+ message: z20.string().min(1).max(65536),
2013
+ amend: z20.boolean().default(false),
1932
2014
  /** "Name <email>"; absent = the computer's own git identity. */
1933
- author: z19.string().max(512).optional()
2015
+ author: z20.string().max(512).optional()
1934
2016
  });
1935
- var GitCommitResult = z19.strictObject({ sha: z19.string(), output: GitText, truncated: z19.boolean() });
1936
- var GitPushParams = z19.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), force_with_lease: z19.boolean().default(false) });
1937
- var GitPullParams = z19.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), rebase: z19.boolean().default(false) });
1938
- var GitBranchParams = z19.strictObject({ cwd: AbsPath, action: z19.enum(["list", "create", "delete", "switch"]), name: GitName.optional() });
1939
- var GitBranchResult = z19.strictObject({
2017
+ var GitCommitResult = z20.strictObject({ sha: z20.string(), output: GitText, truncated: z20.boolean() });
2018
+ var GitPushParams = z20.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), force_with_lease: z20.boolean().default(false) });
2019
+ var GitPullParams = z20.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), rebase: z20.boolean().default(false) });
2020
+ var GitBranchParams = z20.strictObject({ cwd: AbsPath, action: z20.enum(["list", "create", "delete", "switch"]), name: GitName.optional() });
2021
+ var GitBranchResult = z20.strictObject({
1940
2022
  /** The branch checked out after the action; null when detached. */
1941
- current: z19.string().nullable(),
2023
+ current: z20.string().nullable(),
1942
2024
  /** Local branches (filled by `list`; empty otherwise). */
1943
- branches: z19.array(z19.string()).max(5e3),
2025
+ branches: z20.array(z20.string()).max(5e3),
1944
2026
  output: GitText,
1945
- truncated: z19.boolean()
2027
+ truncated: z20.boolean()
1946
2028
  });
1947
- var GitStashParams = z19.strictObject({ cwd: AbsPath, action: z19.enum(["push", "pop", "list", "drop"]), message: z19.string().max(4096).optional() });
1948
- var GitCloneParams = z19.strictObject({
1949
- url: z19.string().min(1).max(4096).regex(/^[^-]/),
2029
+ var GitStashParams = z20.strictObject({ cwd: AbsPath, action: z20.enum(["push", "pop", "list", "drop"]), message: z20.string().max(4096).optional() });
2030
+ var GitCloneParams = z20.strictObject({
2031
+ url: z20.string().min(1).max(4096).regex(/^[^-]/),
1950
2032
  /** The folder to create; must not exist yet (or be empty). */
1951
2033
  dest: AbsPath,
1952
2034
  branch: GitName.optional(),
1953
- depth: z19.int().min(1).max(1e6).optional()
2035
+ depth: z20.int().min(1).max(1e6).optional()
1954
2036
  });
1955
2037
 
1956
2038
  // src/schema/web.ts
1957
2039
  import { UUID_SHAPE_PATTERN as UUID_SHAPE_PATTERN4 } from "@ai-matrx/kit/uuid";
1958
- import { z as z20 } from "zod";
2040
+ import { z as z21 } from "zod";
1959
2041
  var WEB_MAX_TEXT_CHARS = 524288;
1960
- var WebUrl = z20.string().min(1).max(8192).regex(/^https?:\/\//);
1961
- var WebText = z20.string().max(WEB_MAX_TEXT_CHARS);
1962
- var OrgId = z20.string().regex(UUID_SHAPE_PATTERN4);
1963
- var WebHeader = z20.strictObject({ name: z20.string().min(1).max(256), value: z20.string().max(8192) });
1964
- var WebFetchParams = z20.strictObject({
2042
+ var WebUrl = z21.string().min(1).max(8192).regex(/^https?:\/\//);
2043
+ var WebText = z21.string().max(WEB_MAX_TEXT_CHARS);
2044
+ var OrgId = z21.string().regex(UUID_SHAPE_PATTERN4);
2045
+ var WebHeader = z21.strictObject({ name: z21.string().min(1).max(256), value: z21.string().max(8192) });
2046
+ var WebFetchParams = z21.strictObject({
1965
2047
  url: WebUrl,
1966
- method: z20.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]).default("GET"),
1967
- headers: z20.array(WebHeader).max(64).default([]),
1968
- body: z20.string().max(1048576).optional(),
1969
- follow_redirects: z20.boolean().default(true),
1970
- timeout_s: z20.int().min(1).max(300).default(30)
1971
- });
1972
- var WebFetchResult = z20.strictObject({
1973
- status: z20.int().min(100).max(999),
1974
- reason: z20.string(),
2048
+ method: z21.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]).default("GET"),
2049
+ headers: z21.array(WebHeader).max(64).default([]),
2050
+ body: z21.string().max(1048576).optional(),
2051
+ follow_redirects: z21.boolean().default(true),
2052
+ timeout_s: z21.int().min(1).max(300).default(30)
2053
+ });
2054
+ var WebFetchResult = z21.strictObject({
2055
+ status: z21.int().min(100).max(999),
2056
+ reason: z21.string(),
1975
2057
  /** The final URL after redirects. */
1976
- url: z20.string(),
1977
- content_type: z20.string().nullable(),
1978
- headers: z20.array(WebHeader),
2058
+ url: z21.string(),
2059
+ content_type: z21.string().nullable(),
2060
+ headers: z21.array(WebHeader),
1979
2061
  body: WebText,
1980
- truncated: z20.boolean(),
2062
+ truncated: z21.boolean(),
1981
2063
  bytes: nonNegInt,
1982
2064
  elapsed_ms: nonNegInt
1983
2065
  });
1984
- var WebAttachTarget = z20.strictObject({
1985
- entity_type: z20.string().min(1).max(64),
1986
- entity_id: z20.string().min(1).max(128),
1987
- label: z20.string().max(200).optional()
2066
+ var WebAttachTarget = z21.strictObject({
2067
+ entity_type: z21.string().min(1).max(64),
2068
+ entity_id: z21.string().min(1).max(128),
2069
+ label: z21.string().max(200).optional()
1988
2070
  });
1989
- var WebLand = z20.strictObject({
2071
+ var WebLand = z21.strictObject({
1990
2072
  /** The organization the page is saved in; absent: this computer's active organization. */
1991
2073
  organization_id: OrgId.optional(),
1992
2074
  /** Keep it: AI processing starts (chunks, search). Unkept pages are saved and wait. */
1993
- keep: z20.boolean().default(false),
1994
- attach_to: z20.array(WebAttachTarget).max(8).default([])
2075
+ keep: z21.boolean().default(false),
2076
+ attach_to: z21.array(WebAttachTarget).max(8).default([])
1995
2077
  });
1996
- var WebNotSavedReason = z20.enum([
2078
+ var WebNotSavedReason = z21.enum([
1997
2079
  /** Nobody is signed in on this computer. Saved on sign-in. */
1998
2080
  "signed_out",
1999
2081
  /** AI Matrx could not be reached. Retried on its own. */
@@ -2003,249 +2085,249 @@ var WebNotSavedReason = z20.enum([
2003
2085
  /** Waiting its turn behind other pages (retried on its own). */
2004
2086
  "queued"
2005
2087
  ]);
2006
- var WebSourceNotice = z20.strictObject({ code: z20.string().max(120), message: z20.string().max(2e3), remedy: z20.string().max(120) });
2007
- var WebSourceState = z20.discriminatedUnion("state", [
2008
- z20.strictObject({
2009
- state: z20.literal("saved"),
2010
- processed_document_id: z20.string().min(1).max(64),
2011
- source_id: z20.string().min(1).max(128),
2088
+ var WebSourceNotice = z21.strictObject({ code: z21.string().max(120), message: z21.string().max(2e3), remedy: z21.string().max(120) });
2089
+ var WebSourceState = z21.discriminatedUnion("state", [
2090
+ z21.strictObject({
2091
+ state: z21.literal("saved"),
2092
+ processed_document_id: z21.string().min(1).max(64),
2093
+ source_id: z21.string().min(1).max(128),
2012
2094
  /** The page was already saved and nothing changed ("Already saved, no change"). */
2013
- reused_existing: z20.boolean(),
2095
+ reused_existing: z21.boolean(),
2014
2096
  /** The page changed: this is a new version of that Source. */
2015
- new_version_of: z20.string().max(64).nullable(),
2016
- kept: z20.boolean(),
2017
- intelligence: z20.enum(["queued", "deferred", "never"]),
2097
+ new_version_of: z21.string().max(64).nullable(),
2098
+ kept: z21.boolean(),
2099
+ intelligence: z21.enum(["queued", "deferred", "never"]),
2018
2100
  /** The original page as captured, kept by AI Matrx (null: the organization keeps none). */
2019
- original_file_id: z20.string().max(128).nullable(),
2101
+ original_file_id: z21.string().max(128).nullable(),
2020
2102
  /** The organization it was saved in. */
2021
2103
  organization_id: OrgId,
2022
- notices: z20.array(WebSourceNotice).max(20)
2104
+ notices: z21.array(WebSourceNotice).max(20)
2023
2105
  }),
2024
- z20.strictObject({
2025
- state: z20.literal("not_saved"),
2026
- outbox_id: z20.string().min(1).max(64),
2106
+ z21.strictObject({
2107
+ state: z21.literal("not_saved"),
2108
+ outbox_id: z21.string().min(1).max(64),
2027
2109
  reason: WebNotSavedReason,
2028
- message: z20.string().max(2e3)
2110
+ message: z21.string().max(2e3)
2029
2111
  })
2030
2112
  ]);
2031
- var WebScrapeParams = z20.strictObject({
2032
- urls: z20.array(WebUrl).min(1).max(20),
2033
- use_cache: z20.boolean().default(true),
2034
- get_links: z20.boolean().default(false),
2113
+ var WebScrapeParams = z21.strictObject({
2114
+ urls: z21.array(WebUrl).min(1).max(20),
2115
+ use_cache: z21.boolean().default(true),
2116
+ get_links: z21.boolean().default(false),
2035
2117
  /**
2036
2118
  * Since 1.38. `auto` (absent): this computer's scraper (HTTP, its browser only when a page needs
2037
2119
  * it). `browser`: this computer's own browser renders every page. `server`: AI Matrx's servers
2038
2120
  * read it (their connection, not this computer's; saved there as a web capture).
2039
2121
  */
2040
- engine: z20.enum(["auto", "browser", "server"]).optional(),
2122
+ engine: z21.enum(["auto", "browser", "server"]).optional(),
2041
2123
  /** Since 1.38: where the pages are saved (see WebLand). */
2042
2124
  land: WebLand.optional()
2043
2125
  });
2044
- var WebScrapePage = z20.strictObject({
2045
- url: z20.string(),
2046
- ok: z20.boolean(),
2047
- status: z20.int().min(0).max(999).nullable(),
2048
- title: z20.string().nullable(),
2126
+ var WebScrapePage = z21.strictObject({
2127
+ url: z21.string(),
2128
+ ok: z21.boolean(),
2129
+ status: z21.int().min(0).max(999).nullable(),
2130
+ title: z21.string().nullable(),
2049
2131
  /** The page's readable content (markdown-like text from the scraper's parse). */
2050
2132
  text: WebText,
2051
- truncated: z20.boolean(),
2133
+ truncated: z21.boolean(),
2052
2134
  /** Links found on the page (only with get_links). */
2053
- links: z20.array(z20.string()).max(2e3),
2135
+ links: z21.array(z21.string()).max(2e3),
2054
2136
  /** Why the page failed (blocked, timeout, not found…), in the scraper's words; null when ok. */
2055
- error: z20.string().nullable(),
2137
+ error: z21.string().nullable(),
2056
2138
  /** How the page was fetched (http, browser, cache). */
2057
- via: z20.string().nullable(),
2139
+ via: z21.string().nullable(),
2058
2140
  /** Since 1.38: the page's Source (absent from a 1.37 core, and for a page that failed). */
2059
2141
  source: WebSourceState.optional()
2060
2142
  });
2061
- var WebScrapeResult = z20.strictObject({ pages: z20.array(WebScrapePage), elapsed_ms: nonNegInt });
2062
- var WebSearchParams = z20.strictObject({
2063
- keywords: z20.array(z20.string().min(1).max(400)).min(1).max(5),
2064
- country: z20.string().min(2).max(2).default("us"),
2065
- count: z20.int().min(1).max(20).default(10),
2066
- freshness: z20.enum(["pd", "pw", "pm", "py"]).optional()
2067
- });
2068
- var WebSearchHit = z20.strictObject({ title: z20.string(), url: z20.string(), description: z20.string() });
2069
- var WebSearchQueryResult = z20.strictObject({ keyword: z20.string(), hits: z20.array(WebSearchHit), error: z20.string().nullable() });
2070
- var WebSearchResult = z20.strictObject({ queries: z20.array(WebSearchQueryResult), elapsed_ms: nonNegInt });
2071
- var ToolsWebSearchParams = z20.strictObject({
2072
- keywords: z20.array(z20.string().min(1).max(400)).min(1).max(5),
2073
- country: z20.string().min(2).max(2).default("us"),
2074
- count: z20.int().min(1).max(20).default(10),
2075
- freshness: z20.enum(["pd", "pw", "pm", "py"]).optional()
2076
- });
2077
- var WebBrowserFetchParams = z20.strictObject({
2143
+ var WebScrapeResult = z21.strictObject({ pages: z21.array(WebScrapePage), elapsed_ms: nonNegInt });
2144
+ var WebSearchParams = z21.strictObject({
2145
+ keywords: z21.array(z21.string().min(1).max(400)).min(1).max(5),
2146
+ country: z21.string().min(2).max(2).default("us"),
2147
+ count: z21.int().min(1).max(20).default(10),
2148
+ freshness: z21.enum(["pd", "pw", "pm", "py"]).optional()
2149
+ });
2150
+ var WebSearchHit = z21.strictObject({ title: z21.string(), url: z21.string(), description: z21.string() });
2151
+ var WebSearchQueryResult = z21.strictObject({ keyword: z21.string(), hits: z21.array(WebSearchHit), error: z21.string().nullable() });
2152
+ var WebSearchResult = z21.strictObject({ queries: z21.array(WebSearchQueryResult), elapsed_ms: nonNegInt });
2153
+ var ToolsWebSearchParams = z21.strictObject({
2154
+ keywords: z21.array(z21.string().min(1).max(400)).min(1).max(5),
2155
+ country: z21.string().min(2).max(2).default("us"),
2156
+ count: z21.int().min(1).max(20).default(10),
2157
+ freshness: z21.enum(["pd", "pw", "pm", "py"]).optional()
2158
+ });
2159
+ var WebBrowserFetchParams = z21.strictObject({
2078
2160
  url: WebUrl,
2079
2161
  /** A CSS selector to wait for before reading the page. */
2080
- wait_for: z20.string().max(1024).optional(),
2081
- wait_timeout_ms: z20.int().min(100).max(12e4).default(3e4),
2162
+ wait_for: z21.string().max(1024).optional(),
2163
+ wait_timeout_ms: z21.int().min(100).max(12e4).default(3e4),
2082
2164
  /** true: readable text; false: the rendered HTML. */
2083
- extract_text: z20.boolean().default(true),
2165
+ extract_text: z21.boolean().default(true),
2084
2166
  /** Since 1.38: where the rendered page is saved (see WebLand). */
2085
2167
  land: WebLand.optional()
2086
2168
  });
2087
- var WebBrowserFetchResult = z20.strictObject({
2088
- url: z20.string(),
2089
- status: z20.int().min(0).max(999).nullable(),
2090
- title: z20.string().nullable(),
2169
+ var WebBrowserFetchResult = z21.strictObject({
2170
+ url: z21.string(),
2171
+ status: z21.int().min(0).max(999).nullable(),
2172
+ title: z21.string().nullable(),
2091
2173
  content: WebText,
2092
- truncated: z20.boolean(),
2174
+ truncated: z21.boolean(),
2093
2175
  elapsed_ms: nonNegInt,
2094
2176
  /** Since 1.38: the rendered page's Source (absent from a 1.37 core). */
2095
2177
  source: WebSourceState.optional()
2096
2178
  });
2097
- var ToolsParseFile = z20.strictObject({
2179
+ var ToolsParseFile = z21.strictObject({
2098
2180
  /** Absolute path of the gzipped JSON the core reads, saves and then removes. */
2099
- path: z20.string().min(1).max(4096),
2181
+ path: z21.string().min(1).max(4096),
2100
2182
  bytes: nonNegInt
2101
2183
  });
2102
- var ToolsWebScrapeParams = z20.strictObject({
2103
- urls: z20.array(WebUrl).min(1).max(20),
2104
- use_cache: z20.boolean().default(true),
2105
- get_links: z20.boolean().default(false),
2184
+ var ToolsWebScrapeParams = z21.strictObject({
2185
+ urls: z21.array(WebUrl).min(1).max(20),
2186
+ use_cache: z21.boolean().default(true),
2187
+ get_links: z21.boolean().default(false),
2106
2188
  /** `browser`: render every page in this computer's browser, then parse it. */
2107
- engine: z20.enum(["auto", "browser"]).default("auto"),
2189
+ engine: z21.enum(["auto", "browser"]).default("auto"),
2108
2190
  /** Pages read at once (desktop.web/scrape_concurrency). */
2109
- concurrency: z20.int().min(1).max(20).default(5),
2191
+ concurrency: z21.int().min(1).max(20).default(5),
2110
2192
  /** The wait between pages from the same site (desktop.web/request_delay_ms). */
2111
- delay_ms: z20.int().min(0).max(3e4).default(0),
2193
+ delay_ms: z21.int().min(0).max(3e4).default(0),
2112
2194
  /** Where the parse files go (the core's spool folder). */
2113
- spool_dir: z20.string().min(1).max(4096)
2195
+ spool_dir: z21.string().min(1).max(4096)
2114
2196
  });
2115
- var ToolsWebScrapePage = z20.strictObject({
2197
+ var ToolsWebScrapePage = z21.strictObject({
2116
2198
  page: WebScrapePage,
2117
2199
  /** The page's whole parse, for the door; null when the page failed or had no words. */
2118
2200
  parse: ToolsParseFile.nullable(),
2119
2201
  /** The page as fetched, for research (rendered HTML or the HTTP body); null when not kept. */
2120
2202
  html: ToolsParseFile.nullable()
2121
2203
  });
2122
- var ToolsWebScrapeResult = z20.strictObject({ pages: z20.array(ToolsWebScrapePage), elapsed_ms: nonNegInt });
2123
- var ToolsWebBrowserFetchParams = z20.strictObject({
2204
+ var ToolsWebScrapeResult = z21.strictObject({ pages: z21.array(ToolsWebScrapePage), elapsed_ms: nonNegInt });
2205
+ var ToolsWebBrowserFetchParams = z21.strictObject({
2124
2206
  url: WebUrl,
2125
- wait_for: z20.string().max(1024).optional(),
2126
- wait_timeout_ms: z20.int().min(100).max(12e4).default(3e4),
2127
- extract_text: z20.boolean().default(true),
2128
- spool_dir: z20.string().min(1).max(4096)
2129
- });
2130
- var ToolsWebBrowserFetchResult = z20.strictObject({ result: WebBrowserFetchResult, parse: ToolsParseFile.nullable() });
2131
- var WebRuntimeStateName = z20.enum(["not_installed", "installing", "installed", "failed"]);
2132
- var WebRuntimeParams = z20.strictObject({});
2133
- var WebRuntimeState = z20.strictObject({
2207
+ wait_for: z21.string().max(1024).optional(),
2208
+ wait_timeout_ms: z21.int().min(100).max(12e4).default(3e4),
2209
+ extract_text: z21.boolean().default(true),
2210
+ spool_dir: z21.string().min(1).max(4096)
2211
+ });
2212
+ var ToolsWebBrowserFetchResult = z21.strictObject({ result: WebBrowserFetchResult, parse: ToolsParseFile.nullable() });
2213
+ var WebRuntimeStateName = z21.enum(["not_installed", "installing", "installed", "failed"]);
2214
+ var WebRuntimeParams = z21.strictObject({});
2215
+ var WebRuntimeState = z21.strictObject({
2134
2216
  state: WebRuntimeStateName,
2135
2217
  /** Why it failed, in the installer's words; null otherwise. */
2136
- error: z20.string().max(2e3).nullable(),
2218
+ error: z21.string().max(2e3).nullable(),
2137
2219
  /** Bytes the browser takes on this computer (its packages and Chromium); null when unknown. */
2138
2220
  size_bytes: nonNegInt.nullable(),
2139
2221
  /** Whether it can show a window while it works (false: only the headless shell is installed). */
2140
- can_show_window: z20.boolean()
2222
+ can_show_window: z21.boolean()
2141
2223
  });
2142
- var WebOutboxItem = z20.strictObject({
2143
- outbox_id: z20.string().min(1).max(64),
2144
- url: z20.string().max(8192),
2145
- title: z20.string().max(500).nullable(),
2224
+ var WebOutboxItem = z21.strictObject({
2225
+ outbox_id: z21.string().min(1).max(64),
2226
+ url: z21.string().max(8192),
2227
+ title: z21.string().max(500).nullable(),
2146
2228
  organization_id: OrgId.nullable(),
2147
2229
  reason: WebNotSavedReason,
2148
- message: z20.string().max(2e3),
2230
+ message: z21.string().max(2e3),
2149
2231
  attempts: nonNegInt,
2150
2232
  created_at_ms: nonNegInt,
2151
2233
  last_attempt_at_ms: nonNegInt.nullable(),
2152
2234
  bytes: nonNegInt
2153
2235
  });
2154
- var WebOutboxListParams = z20.strictObject({});
2155
- var WebOutboxListResult = z20.strictObject({
2156
- items: z20.array(WebOutboxItem),
2236
+ var WebOutboxListParams = z21.strictObject({});
2237
+ var WebOutboxListResult = z21.strictObject({
2238
+ items: z21.array(WebOutboxItem),
2157
2239
  bytes: nonNegInt,
2158
2240
  /** The most the outbox holds; past it the oldest pages are dropped (and the log says so). */
2159
2241
  cap_bytes: nonNegInt
2160
2242
  });
2161
- var WebOutboxRetryParams = z20.strictObject({ outbox_id: z20.string().min(1).max(64).optional() });
2162
- var WebOutboxRetryResult = z20.strictObject({ saved: nonNegInt, waiting: nonNegInt });
2163
- var WebOutboxDiscardParams = z20.strictObject({ outbox_id: z20.string().min(1).max(64) });
2164
- var WebOutboxDiscardResult = z20.strictObject({ discarded: z20.boolean() });
2165
- var WebLogVia = z20.enum(["this_computer", "browser", "server"]);
2166
- var WebLogCaller = z20.enum(["person", "agent", "research", "phone", "other"]);
2167
- var WebLogResult = z20.enum(["saved", "not_saved", "failed", "blocked", "read"]);
2168
- var WebLogEntry = z20.strictObject({
2169
- id: z20.string().min(1).max(64),
2243
+ var WebOutboxRetryParams = z21.strictObject({ outbox_id: z21.string().min(1).max(64).optional() });
2244
+ var WebOutboxRetryResult = z21.strictObject({ saved: nonNegInt, waiting: nonNegInt });
2245
+ var WebOutboxDiscardParams = z21.strictObject({ outbox_id: z21.string().min(1).max(64) });
2246
+ var WebOutboxDiscardResult = z21.strictObject({ discarded: z21.boolean() });
2247
+ var WebLogVia = z21.enum(["this_computer", "browser", "server"]);
2248
+ var WebLogCaller = z21.enum(["person", "agent", "research", "phone", "other"]);
2249
+ var WebLogResult = z21.enum(["saved", "not_saved", "failed", "blocked", "read"]);
2250
+ var WebLogEntry = z21.strictObject({
2251
+ id: z21.string().min(1).max(64),
2170
2252
  at_ms: nonNegInt,
2171
2253
  caller: WebLogCaller,
2172
- url: z20.string().max(8192),
2173
- title: z20.string().max(500).nullable(),
2254
+ url: z21.string().max(8192),
2255
+ title: z21.string().max(500).nullable(),
2174
2256
  result: WebLogResult,
2175
2257
  /** One sentence: why it failed or was blocked, or the save's notice. Never page text. */
2176
- detail: z20.string().max(1e3).nullable(),
2258
+ detail: z21.string().max(1e3).nullable(),
2177
2259
  via: WebLogVia,
2178
2260
  duration_ms: nonNegInt,
2179
- processed_document_id: z20.string().max(64).nullable()
2261
+ processed_document_id: z21.string().max(64).nullable()
2180
2262
  });
2181
- var WebLogListParams = z20.strictObject({ since_ms: nonNegInt.optional(), limit: z20.int().min(1).max(1e3).default(200) });
2182
- var WebLogListResult = z20.strictObject({ entries: z20.array(WebLogEntry) });
2183
- var WebLogClearParams = z20.strictObject({});
2184
- var WebLogClearResult = z20.strictObject({ cleared: nonNegInt });
2185
- var WebProgressEvent = z20.strictObject({
2263
+ var WebLogListParams = z21.strictObject({ since_ms: nonNegInt.optional(), limit: z21.int().min(1).max(1e3).default(200) });
2264
+ var WebLogListResult = z21.strictObject({ entries: z21.array(WebLogEntry) });
2265
+ var WebLogClearParams = z21.strictObject({});
2266
+ var WebLogClearResult = z21.strictObject({ cleared: nonNegInt });
2267
+ var WebProgressEvent = z21.strictObject({
2186
2268
  request_id: RequestId,
2187
- phase: z20.enum(["installing", "fetching", "saving"]),
2269
+ phase: z21.enum(["installing", "fetching", "saving"]),
2188
2270
  done: nonNegInt,
2189
2271
  total: nonNegInt
2190
2272
  });
2191
- var WebResearchItemState = z20.enum(["waiting", "fetching", "saved", "thin", "failed", "cannot_edit", "blocked"]);
2192
- var WebResearchItem = z20.strictObject({
2193
- topic_id: z20.string().min(1).max(64),
2194
- topic_name: z20.string().max(500),
2195
- source_id: z20.string().min(1).max(64),
2196
- url: z20.string().max(8192),
2197
- title: z20.string().max(500).nullable(),
2273
+ var WebResearchItemState = z21.enum(["waiting", "fetching", "saved", "thin", "failed", "cannot_edit", "blocked"]);
2274
+ var WebResearchItem = z21.strictObject({
2275
+ topic_id: z21.string().min(1).max(64),
2276
+ topic_name: z21.string().max(500),
2277
+ source_id: z21.string().min(1).max(64),
2278
+ url: z21.string().max(8192),
2279
+ title: z21.string().max(500).nullable(),
2198
2280
  /** The capture level this computer would try (1 quick, 2 scroll); 3+ is the extension's. */
2199
- level: z20.int().min(1).max(4),
2200
- last_failure: z20.string().max(1e3).nullable(),
2281
+ level: z21.int().min(1).max(4),
2282
+ last_failure: z21.string().max(1e3).nullable(),
2201
2283
  state: WebResearchItemState,
2202
2284
  /** One sentence after a fetch: what happened. */
2203
- message: z20.string().max(1e3).nullable()
2285
+ message: z21.string().max(1e3).nullable()
2204
2286
  });
2205
- var WebResearchQueueParams = z20.strictObject({ topic_id: z20.string().min(1).max(64).optional() });
2206
- var WebResearchQueueResult = z20.strictObject({
2207
- state: z20.enum(["ready", "signed_out", "unavailable"]),
2208
- problem: z20.string().max(1e3).nullable(),
2287
+ var WebResearchQueueParams = z21.strictObject({ topic_id: z21.string().min(1).max(64).optional() });
2288
+ var WebResearchQueueResult = z21.strictObject({
2289
+ state: z21.enum(["ready", "signed_out", "unavailable"]),
2290
+ problem: z21.string().max(1e3).nullable(),
2209
2291
  /** L1/L2 items on topics this person can edit: what this computer can fetch. */
2210
- items: z20.array(WebResearchItem),
2292
+ items: z21.array(WebResearchItem),
2211
2293
  /** Items on topics the person can view but not add to (shown, never fetched). */
2212
2294
  view_only: nonNegInt
2213
2295
  });
2214
- var WebResearchFetchParams = z20.strictObject({
2215
- topic_id: z20.string().min(1).max(64).optional(),
2216
- source_ids: z20.array(z20.string().min(1).max(64)).max(200).optional()
2296
+ var WebResearchFetchParams = z21.strictObject({
2297
+ topic_id: z21.string().min(1).max(64).optional(),
2298
+ source_ids: z21.array(z21.string().min(1).max(64)).max(200).optional()
2217
2299
  });
2218
- var WebResearchFetchResult = z20.strictObject({
2219
- items: z20.array(WebResearchItem),
2300
+ var WebResearchFetchResult = z21.strictObject({
2301
+ items: z21.array(WebResearchItem),
2220
2302
  saved: nonNegInt,
2221
2303
  thin: nonNegInt,
2222
2304
  failed: nonNegInt,
2223
2305
  cannot_edit: nonNegInt
2224
2306
  });
2225
- var ToolsServiceProgress = z20.strictObject({ phase: z20.enum(["fetching", "installing"]), done: nonNegInt, total: nonNegInt });
2307
+ var ToolsServiceProgress = z21.strictObject({ phase: z21.enum(["fetching", "installing"]), done: nonNegInt, total: nonNegInt });
2226
2308
 
2227
2309
  // src/schema/system.ts
2228
- import { z as z21 } from "zod";
2229
- var SystemOpenUrlParams = z21.strictObject({
2310
+ import { z as z22 } from "zod";
2311
+ var SystemOpenUrlParams = z22.strictObject({
2230
2312
  /** http, https or mailto; opened in the person's default app for it. */
2231
- url: z21.string().min(1).max(4096)
2313
+ url: z22.string().min(1).max(4096)
2232
2314
  });
2233
- var SystemOpenUrlResult = z21.strictObject({ url: z21.string().max(4096) });
2234
- var SystemOpenPathParams = z21.strictObject({
2315
+ var SystemOpenUrlResult = z22.strictObject({ url: z22.string().max(4096) });
2316
+ var SystemOpenPathParams = z22.strictObject({
2235
2317
  path: AbsPath,
2236
2318
  /** Show it in the file manager (Finder, Explorer) instead of opening it. */
2237
- reveal: z21.boolean().default(false)
2319
+ reveal: z22.boolean().default(false)
2238
2320
  });
2239
- var SystemOpenPathResult = z21.strictObject({ path: AbsPath, revealed: z21.boolean() });
2240
- var SystemNotifyParams = z21.strictObject({
2241
- title: z21.string().min(1).max(128),
2242
- body: z21.string().max(1024).default("")
2321
+ var SystemOpenPathResult = z22.strictObject({ path: AbsPath, revealed: z22.boolean() });
2322
+ var SystemNotifyParams = z22.strictObject({
2323
+ title: z22.string().min(1).max(128),
2324
+ body: z22.string().max(1024).default("")
2243
2325
  });
2244
- var SystemNotifyResult = z21.strictObject({
2326
+ var SystemNotifyResult = z22.strictObject({
2245
2327
  /** False when this computer has no notification service to show it (a bare Linux box). */
2246
- shown: z21.boolean()
2328
+ shown: z22.boolean()
2247
2329
  });
2248
- var SystemSettingsPane = z21.enum([
2330
+ var SystemSettingsPane = z22.enum([
2249
2331
  "displays",
2250
2332
  "night_shift",
2251
2333
  "sound",
@@ -2280,99 +2362,99 @@ var SystemSettingsPane = z21.enum([
2280
2362
  "messages",
2281
2363
  "mail"
2282
2364
  ]);
2283
- var SystemOpenSettingsParams = z21.strictObject({ pane: SystemSettingsPane });
2284
- var SystemOpenSettingsResult = z21.strictObject({ pane: SystemSettingsPane });
2365
+ var SystemOpenSettingsParams = z22.strictObject({ pane: SystemSettingsPane });
2366
+ var SystemOpenSettingsResult = z22.strictObject({ pane: SystemSettingsPane });
2285
2367
 
2286
2368
  // src/schema/screen.ts
2287
- import { z as z22 } from "zod";
2288
- var ScreenDisplay = z22.strictObject({
2369
+ import { z as z23 } from "zod";
2370
+ var ScreenDisplay = z23.strictObject({
2289
2371
  /** The OS's display id; pass it to screen.capture. */
2290
2372
  id: nonNegInt,
2291
- name: z22.string().max(128),
2373
+ name: z23.string().max(128),
2292
2374
  /** Position and size in the OS's logical points (x and y may be negative left of or above the main display). */
2293
- x: z22.int(),
2294
- y: z22.int(),
2295
- width: z22.int().min(1),
2296
- height: z22.int().min(1),
2375
+ x: z23.int(),
2376
+ y: z23.int(),
2377
+ width: z23.int().min(1),
2378
+ height: z23.int().min(1),
2297
2379
  /** Pixels per point (2 on a Retina display). */
2298
- scale: z22.number().min(0.1).max(8),
2299
- primary: z22.boolean(),
2380
+ scale: z23.number().min(0.1).max(8),
2381
+ primary: z23.boolean(),
2300
2382
  /** (1.24) Clockwise rotation in degrees (Displays' Rotation: 0 is Standard). */
2301
- rotation: z22.int().min(0).max(359).optional(),
2383
+ rotation: z23.int().min(0).max(359).optional(),
2302
2384
  /** (1.24) Refresh rate in hertz; absent where the OS does not say. */
2303
- refresh_hz: z22.number().min(0).max(1e3).optional(),
2385
+ refresh_hz: z23.number().min(0).max(1e3).optional(),
2304
2386
  /** (1.24) The computer's own screen (a laptop's), not one plugged in. */
2305
- builtin: z22.boolean().optional()
2387
+ builtin: z23.boolean().optional()
2306
2388
  });
2307
- var ScreenListParams = z22.strictObject({});
2308
- var ScreenListResult = z22.strictObject({ displays: z22.array(ScreenDisplay).max(32) });
2309
- var ScreenCaptureParams = z22.strictObject({
2389
+ var ScreenListParams = z23.strictObject({});
2390
+ var ScreenListResult = z23.strictObject({ displays: z23.array(ScreenDisplay).max(32) });
2391
+ var ScreenCaptureParams = z23.strictObject({
2310
2392
  /** The display (from screen.list); the primary display when absent. */
2311
2393
  display_id: nonNegInt.optional(),
2312
- format: z22.enum(["jpeg", "png"]).default("jpeg"),
2394
+ format: z23.enum(["jpeg", "png"]).default("jpeg"),
2313
2395
  /** Scale the picture down to at most this width in pixels (kept when already smaller). */
2314
- max_width: z22.int().min(160).max(7680).default(1600)
2396
+ max_width: z23.int().min(160).max(7680).default(1600)
2315
2397
  });
2316
- var ScreenCaptureResult = z22.strictObject({
2398
+ var ScreenCaptureResult = z23.strictObject({
2317
2399
  display_id: nonNegInt,
2318
- mime_type: z22.enum(["image/jpeg", "image/png"]),
2319
- width: z22.int().min(1),
2320
- height: z22.int().min(1),
2400
+ mime_type: z23.enum(["image/jpeg", "image/png"]),
2401
+ width: z23.int().min(1),
2402
+ height: z23.int().min(1),
2321
2403
  /** The display's full resolution in pixels, before scaling. */
2322
- source_width: z22.int().min(1),
2323
- source_height: z22.int().min(1),
2404
+ source_width: z23.int().min(1),
2405
+ source_height: z23.int().min(1),
2324
2406
  /** The image, base64 (at most 6 MiB of text). */
2325
- data_base64: z22.string().max(6291456)
2407
+ data_base64: z23.string().max(6291456)
2326
2408
  });
2327
2409
 
2328
2410
  // src/schema/window.ts
2329
- import { z as z23 } from "zod";
2330
- var WindowInfo = z23.strictObject({
2411
+ import { z as z24 } from "zod";
2412
+ var WindowInfo = z24.strictObject({
2331
2413
  /** The OS's window handle (macOS window number, Windows HWND, X11 window id). */
2332
2414
  id: nonNegInt,
2333
- title: z23.string().max(512),
2415
+ title: z24.string().max(512),
2334
2416
  /** Position and size in logical points. */
2335
- x: z23.int(),
2336
- y: z23.int(),
2337
- width: z23.int().min(0),
2338
- height: z23.int().min(0),
2417
+ x: z24.int(),
2418
+ y: z24.int(),
2419
+ width: z24.int().min(0),
2420
+ height: z24.int().min(0),
2339
2421
  /**
2340
2422
  * The application that owns the window, by the name the OS shows people; absent when the OS does
2341
2423
  * not say. Optional (never null, the schema rule) because it was added in protocol 1.7: an older
2342
2424
  * app's answer has no such field (FIELDS_SINCE).
2343
2425
  */
2344
- app: z23.string().max(256).optional(),
2426
+ app: z24.string().max(256).optional(),
2345
2427
  /** The owning process id; absent when the OS does not say. Added in protocol 1.7. */
2346
- pid: z23.int().min(0).optional()
2428
+ pid: z24.int().min(0).optional()
2347
2429
  });
2348
- var WindowListParams = z23.strictObject({
2430
+ var WindowListParams = z24.strictObject({
2349
2431
  /** Case-insensitive substring of the window title. */
2350
- title: z23.string().min(1).max(256).optional(),
2351
- limit: z23.int().min(1).max(500).default(100)
2432
+ title: z24.string().min(1).max(256).optional(),
2433
+ limit: z24.int().min(1).max(500).default(100)
2352
2434
  });
2353
- var WindowListResult = z23.strictObject({
2354
- windows: z23.array(WindowInfo).max(500),
2435
+ var WindowListResult = z24.strictObject({
2436
+ windows: z24.array(WindowInfo).max(500),
2355
2437
  total: nonNegInt,
2356
- truncated: z23.boolean()
2438
+ truncated: z24.boolean()
2357
2439
  });
2358
- var WindowFocusParams = z23.strictObject({ id: nonNegInt });
2359
- var WindowFocusResult = z23.strictObject({ window: WindowInfo });
2360
- var WindowMoveParams = z23.strictObject({
2440
+ var WindowFocusParams = z24.strictObject({ id: nonNegInt });
2441
+ var WindowFocusResult = z24.strictObject({ window: WindowInfo });
2442
+ var WindowMoveParams = z24.strictObject({
2361
2443
  id: nonNegInt,
2362
2444
  /** New top-left corner; unchanged when absent. */
2363
- x: z23.int().optional(),
2364
- y: z23.int().optional(),
2445
+ x: z24.int().optional(),
2446
+ y: z24.int().optional(),
2365
2447
  /** New size; unchanged when absent. */
2366
- width: z23.int().min(50).max(16384).optional(),
2367
- height: z23.int().min(50).max(16384).optional()
2448
+ width: z24.int().min(50).max(16384).optional(),
2449
+ height: z24.int().min(50).max(16384).optional()
2368
2450
  });
2369
- var WindowMoveResult = z23.strictObject({ window: WindowInfo });
2370
- var WindowMinimizeParams = z23.strictObject({ id: nonNegInt });
2371
- var WindowMinimizeResult = z23.strictObject({ id: nonNegInt });
2451
+ var WindowMoveResult = z24.strictObject({ window: WindowInfo });
2452
+ var WindowMinimizeParams = z24.strictObject({ id: nonNegInt });
2453
+ var WindowMinimizeResult = z24.strictObject({ id: nonNegInt });
2372
2454
 
2373
2455
  // src/schema/input.ts
2374
- import { z as z24 } from "zod";
2375
- var InputKey = z24.enum([
2456
+ import { z as z25 } from "zod";
2457
+ var InputKey = z25.enum([
2376
2458
  "cmd",
2377
2459
  "ctrl",
2378
2460
  "alt",
@@ -2452,80 +2534,80 @@ var InputKey = z24.enum([
2452
2534
  "backslash",
2453
2535
  "grave"
2454
2536
  ]);
2455
- var InputTypeTextParams = z24.strictObject({ text: z24.string().min(1).max(1e4) });
2456
- var InputTypeTextResult = z24.strictObject({ characters: z24.int().min(1) });
2457
- var InputHotkeyParams = z24.strictObject({
2537
+ var InputTypeTextParams = z25.strictObject({ text: z25.string().min(1).max(1e4) });
2538
+ var InputTypeTextResult = z25.strictObject({ characters: z25.int().min(1) });
2539
+ var InputHotkeyParams = z25.strictObject({
2458
2540
  /** Pressed together in order and released in reverse: ["cmd", "shift", "t"]. */
2459
- keys: z24.array(InputKey).min(1).max(6)
2541
+ keys: z25.array(InputKey).min(1).max(6)
2460
2542
  });
2461
- var InputHotkeyResult = z24.strictObject({ keys: z24.array(InputKey) });
2462
- var InputPoint = z24.strictObject({ x: z24.int(), y: z24.int() });
2463
- var InputMouseMoveParams = z24.strictObject({
2543
+ var InputHotkeyResult = z25.strictObject({ keys: z25.array(InputKey) });
2544
+ var InputPoint = z25.strictObject({ x: z25.int(), y: z25.int() });
2545
+ var InputMouseMoveParams = z25.strictObject({
2464
2546
  /** Screen position in logical points (the coordinates screen.list and window.list report). */
2465
- x: z24.int(),
2466
- y: z24.int()
2547
+ x: z25.int(),
2548
+ y: z25.int()
2467
2549
  });
2468
- var InputMouseMoveResult = z24.strictObject({
2550
+ var InputMouseMoveResult = z25.strictObject({
2469
2551
  /** Where the pointer is now, read back from the OS. */
2470
2552
  position: InputPoint
2471
2553
  });
2472
- var InputMouseClickParams = z24.strictObject({
2554
+ var InputMouseClickParams = z25.strictObject({
2473
2555
  /** Move here first; clicks where the pointer is when absent. */
2474
- x: z24.int().optional(),
2475
- y: z24.int().optional(),
2476
- button: z24.enum(["left", "right", "middle"]).default("left"),
2477
- double: z24.boolean().default(false)
2556
+ x: z25.int().optional(),
2557
+ y: z25.int().optional(),
2558
+ button: z25.enum(["left", "right", "middle"]).default("left"),
2559
+ double: z25.boolean().default(false)
2478
2560
  });
2479
- var InputMouseClickResult = z24.strictObject({
2561
+ var InputMouseClickResult = z25.strictObject({
2480
2562
  position: InputPoint,
2481
- button: z24.enum(["left", "right", "middle"]),
2482
- double: z24.boolean()
2563
+ button: z25.enum(["left", "right", "middle"]),
2564
+ double: z25.boolean()
2483
2565
  });
2484
- var InputKeyboardSettingsParams = z24.strictObject({});
2485
- var InputKeyboardSettingsResult = z24.strictObject({
2566
+ var InputKeyboardSettingsParams = z25.strictObject({});
2567
+ var InputKeyboardSettingsResult = z25.strictObject({
2486
2568
  /** Key repeat is off (a held key types once). */
2487
- repeat_off: z24.boolean().nullable(),
2569
+ repeat_off: z25.boolean().nullable(),
2488
2570
  /** Time between repeats while a key is held (Key repeat rate: shorter is faster). */
2489
2571
  repeat_interval_ms: nonNegInt.nullable(),
2490
2572
  /** Time a key is held before it starts repeating (Delay until repeat). */
2491
2573
  repeat_delay_ms: nonNegInt.nullable(),
2492
2574
  /** What the fn / globe key does alone. */
2493
- fn_key: z24.enum(["nothing", "input_source", "emoji", "dictation"]).nullable(),
2575
+ fn_key: z25.enum(["nothing", "input_source", "emoji", "dictation"]).nullable(),
2494
2576
  /** Tab moves focus between every control. */
2495
- keyboard_navigation: z24.boolean().nullable(),
2577
+ keyboard_navigation: z25.boolean().nullable(),
2496
2578
  /** The enabled input sources by name ("U.S.", "ABC – Extended"). */
2497
- input_sources: z24.array(z24.string().max(128)).max(64),
2579
+ input_sources: z25.array(z25.string().max(128)).max(64),
2498
2580
  /** A key repeat change takes effect only after the person logs out and in again (macOS). */
2499
- applies_after_login: z24.boolean()
2581
+ applies_after_login: z25.boolean()
2500
2582
  });
2501
- var InputSetKeyboardSettingsParams = z24.strictObject({
2502
- repeat_off: z24.boolean().optional(),
2503
- repeat_interval_ms: z24.int().min(15).max(2e3).optional(),
2504
- repeat_delay_ms: z24.int().min(150).max(2e3).optional(),
2505
- keyboard_navigation: z24.boolean().optional()
2583
+ var InputSetKeyboardSettingsParams = z25.strictObject({
2584
+ repeat_off: z25.boolean().optional(),
2585
+ repeat_interval_ms: z25.int().min(15).max(2e3).optional(),
2586
+ repeat_delay_ms: z25.int().min(150).max(2e3).optional(),
2587
+ keyboard_navigation: z25.boolean().optional()
2506
2588
  });
2507
2589
 
2508
2590
  // src/schema/power.ts
2509
- import { z as z25 } from "zod";
2510
- var PowerEnergy = z25.strictObject({
2591
+ import { z as z26 } from "zod";
2592
+ var PowerEnergy = z26.strictObject({
2511
2593
  display_sleep_minutes: nonNegInt.nullable(),
2512
2594
  /** The computer itself sleeps after this long idle; null = never (Prevent automatic sleeping). */
2513
2595
  sleep_minutes: nonNegInt.nullable(),
2514
2596
  /** Hard disks sleep after this long; null = never. */
2515
2597
  disk_sleep_minutes: nonNegInt.nullable(),
2516
- wake_for_network: z25.boolean().nullable(),
2517
- restart_after_power_failure: z25.boolean().nullable(),
2598
+ wake_for_network: z26.boolean().nullable(),
2599
+ restart_after_power_failure: z26.boolean().nullable(),
2518
2600
  /** Low Power Mode (Energy Mode "Low Power"). */
2519
- low_power_mode: z25.boolean().nullable()
2601
+ low_power_mode: z26.boolean().nullable()
2520
2602
  });
2521
- var PowerStatusParams = z25.strictObject({});
2522
- var PowerStatusResult = z25.strictObject({
2523
- has_battery: z25.boolean(),
2603
+ var PowerStatusParams = z26.strictObject({});
2604
+ var PowerStatusResult = z26.strictObject({
2605
+ has_battery: z26.boolean(),
2524
2606
  /** 0–100; null without a battery. */
2525
- percent: z25.number().min(0).max(100).nullable(),
2526
- charging: z25.boolean().nullable(),
2607
+ percent: z26.number().min(0).max(100).nullable(),
2608
+ charging: z26.boolean().nullable(),
2527
2609
  /** On wall power; null where the OS does not say. */
2528
- plugged_in: z25.boolean().nullable(),
2610
+ plugged_in: z26.boolean().nullable(),
2529
2611
  /** Minutes of battery left; null when charging, unknown or without a battery. */
2530
2612
  minutes_left: nonNegInt.nullable(),
2531
2613
  /** Matrx 2 is keeping the computer awake (power.prevent_sleep) until this time; null when it is not. */
@@ -2533,26 +2615,26 @@ var PowerStatusResult = z25.strictObject({
2533
2615
  /** (1.24) The OS's own energy settings; absent where it keeps none Matrx 2 can read. */
2534
2616
  energy: PowerEnergy.optional()
2535
2617
  });
2536
- var PowerHistoryParams = z25.strictObject({});
2537
- var PowerHistoryPoint = z25.strictObject({ at_ms: epochMs, percent: z25.number().min(0).max(100), plugged_in: z25.boolean() });
2538
- var PowerHistoryResult = z25.strictObject({
2618
+ var PowerHistoryParams = z26.strictObject({});
2619
+ var PowerHistoryPoint = z26.strictObject({ at_ms: epochMs, percent: z26.number().min(0).max(100), plugged_in: z26.boolean() });
2620
+ var PowerHistoryResult = z26.strictObject({
2539
2621
  /** Oldest first; empty without a battery or where the OS keeps no log. */
2540
- points: z25.array(PowerHistoryPoint).max(5e3)
2622
+ points: z26.array(PowerHistoryPoint).max(5e3)
2541
2623
  });
2542
- var PowerPreventSleepParams = z25.strictObject({
2624
+ var PowerPreventSleepParams = z26.strictObject({
2543
2625
  /** Keep the computer awake this long; 0 lets it sleep again now. */
2544
- seconds: z25.int().min(0).max(86400),
2626
+ seconds: z26.int().min(0).max(86400),
2545
2627
  /** Shown where the OS lists what keeps it awake. */
2546
- reason: z25.string().min(1).max(128).default("Matrx 2 is working")
2628
+ reason: z26.string().min(1).max(128).default("Matrx 2 is working")
2547
2629
  });
2548
- var PowerPreventSleepResult = z25.strictObject({
2630
+ var PowerPreventSleepResult = z26.strictObject({
2549
2631
  /** When it may sleep again; null after seconds 0. */
2550
2632
  awake_until_ms: epochMs.nullable()
2551
2633
  });
2552
2634
 
2553
2635
  // src/schema/diag.ts
2554
- import { z as z26 } from "zod";
2555
- var DiagProcess = z26.enum([
2636
+ import { z as z27 } from "zod";
2637
+ var DiagProcess = z27.enum([
2556
2638
  "main",
2557
2639
  "renderer",
2558
2640
  "hosted_page",
@@ -2565,7 +2647,7 @@ var DiagProcess = z26.enum([
2565
2647
  "coding_sessions",
2566
2648
  "claude_accounts"
2567
2649
  ]);
2568
- var DiagErrorKind = z26.enum([
2650
+ var DiagErrorKind = z27.enum([
2569
2651
  "uncaught_exception",
2570
2652
  "unhandled_rejection",
2571
2653
  "renderer_crash",
@@ -2577,148 +2659,148 @@ var DiagErrorKind = z26.enum([
2577
2659
  "banner",
2578
2660
  "logged_error"
2579
2661
  ]);
2580
- var DiagErrorStatus = z26.enum(["waiting", "sent", "resolved"]);
2581
- var DiagErrorEntry = z26.strictObject({
2662
+ var DiagErrorStatus = z27.enum(["waiting", "sent", "resolved"]);
2663
+ var DiagErrorEntry = z27.strictObject({
2582
2664
  /** sha256 prefix over process, kind, source, code and the normalized message. */
2583
- signature: z26.string().regex(/^[0-9a-f]{32}$/),
2665
+ signature: z27.string().regex(/^[0-9a-f]{32}$/),
2584
2666
  process: DiagProcess,
2585
2667
  kind: DiagErrorKind,
2586
2668
  /** Where: a cap.op, a log event, a screen or page name. */
2587
- source: z26.string().min(1).max(128),
2669
+ source: z27.string().min(1).max(128),
2588
2670
  /** An ErrorCode, an exit code or signal, an error class; null when there is none. */
2589
- code: z26.string().max(64).nullable(),
2671
+ code: z27.string().max(64).nullable(),
2590
2672
  /** The first occurrence's message, personal data removed. */
2591
- message: z26.string().max(500),
2673
+ message: z27.string().max(500),
2592
2674
  count: nonNegInt,
2593
2675
  first_seen_ms: epochMs,
2594
2676
  last_seen_ms: epochMs,
2595
2677
  status: DiagErrorStatus,
2596
2678
  /** What the agent who resolved it wrote; null until resolved. */
2597
- resolution_note: z26.string().max(500).nullable(),
2598
- app_version: z26.string().max(64)
2679
+ resolution_note: z27.string().max(500).nullable(),
2680
+ app_version: z27.string().max(64)
2599
2681
  });
2600
- var DiagErrorsListParams = z26.strictObject({
2682
+ var DiagErrorsListParams = z27.strictObject({
2601
2683
  /** open = waiting or sent; all includes resolved. */
2602
- status: z26.enum(["open", "all"]).default("open"),
2603
- limit: z26.int().min(1).max(500).default(200)
2684
+ status: z27.enum(["open", "all"]).default("open"),
2685
+ limit: z27.int().min(1).max(500).default(200)
2604
2686
  });
2605
- var DiagErrorsListResult = z26.strictObject({
2687
+ var DiagErrorsListResult = z27.strictObject({
2606
2688
  /** Newest last_seen first. */
2607
- entries: z26.array(DiagErrorEntry).max(500),
2689
+ entries: z27.array(DiagErrorEntry).max(500),
2608
2690
  total_signatures: nonNegInt,
2609
2691
  total_occurrences: nonNegInt,
2610
2692
  /** Signatures with occurrences not yet delivered. */
2611
2693
  waiting: nonNegInt,
2612
2694
  /** signed_out = kept until sign-in; ok = the last delivery worked; failing = the last delivery failed (kept, retried). */
2613
- delivery: z26.enum(["signed_out", "ok", "failing"]),
2695
+ delivery: z27.enum(["signed_out", "ok", "failing"]),
2614
2696
  last_delivery_ms: epochMs.nullable()
2615
2697
  });
2616
- var DiagErrorsReportParams = z26.strictObject({
2617
- process: z26.enum(["renderer", "hosted_page"]),
2618
- kind: z26.enum(["uncaught_exception", "unhandled_rejection", "console_error", "banner"]),
2698
+ var DiagErrorsReportParams = z27.strictObject({
2699
+ process: z27.enum(["renderer", "hosted_page"]),
2700
+ kind: z27.enum(["uncaught_exception", "unhandled_rejection", "console_error", "banner"]),
2619
2701
  /** The screen or page, e.g. "code.chats". */
2620
- source: z26.string().min(1).max(128),
2621
- message: z26.string().min(1).max(2e3),
2622
- code: z26.string().max(64).optional(),
2623
- stack: z26.string().max(8e3).optional()
2702
+ source: z27.string().min(1).max(128),
2703
+ message: z27.string().min(1).max(2e3),
2704
+ code: z27.string().max(64).optional(),
2705
+ stack: z27.string().max(8e3).optional()
2624
2706
  });
2625
- var DiagErrorsReportResult = z26.strictObject({
2626
- signature: z26.string().regex(/^[0-9a-f]{32}$/)
2707
+ var DiagErrorsReportResult = z27.strictObject({
2708
+ signature: z27.string().regex(/^[0-9a-f]{32}$/)
2627
2709
  });
2628
- var DiagErrorsChangedEvent = z26.strictObject({
2710
+ var DiagErrorsChangedEvent = z27.strictObject({
2629
2711
  total_signatures: nonNegInt,
2630
2712
  waiting: nonNegInt
2631
2713
  });
2632
2714
 
2633
2715
  // src/schema/resources.ts
2634
- import { z as z27 } from "zod";
2635
- var ResourcesDisk = z27.strictObject({
2716
+ import { z as z28 } from "zod";
2717
+ var ResourcesDisk = z28.strictObject({
2636
2718
  /** Where it is mounted ("/", "C:"). */
2637
- mount: z27.string().max(512),
2719
+ mount: z28.string().max(512),
2638
2720
  /** The volume's name as the file manager shows it ("Macintosh HD", "Local Disk (C:)"). Since 1.17. */
2639
- name: z27.string().max(256).optional(),
2721
+ name: z28.string().max(256).optional(),
2640
2722
  /** The file system ("apfs", "NTFS", "ext4"). */
2641
- fs: z27.string().max(64),
2723
+ fs: z28.string().max(64),
2642
2724
  size_bytes: nonNegInt,
2643
2725
  used_bytes: nonNegInt,
2644
2726
  available_bytes: nonNegInt
2645
2727
  });
2646
- var ResourcesSnapshotParams = z27.strictObject({});
2647
- var ResourcesSnapshotResult = z27.strictObject({
2648
- cpu: z27.strictObject({
2728
+ var ResourcesSnapshotParams = z28.strictObject({});
2729
+ var ResourcesSnapshotResult = z28.strictObject({
2730
+ cpu: z28.strictObject({
2649
2731
  /** Busy share of all cores, 0–100, measured now. */
2650
- percent: z27.number().min(0).max(100),
2651
- cores: z27.int().min(1),
2732
+ percent: z28.number().min(0).max(100),
2733
+ cores: z28.int().min(1),
2652
2734
  /** 1, 5 and 15 minute load averages; null on Windows. */
2653
- load: z27.array(z27.number().min(0)).length(3).nullable()
2735
+ load: z28.array(z28.number().min(0)).length(3).nullable()
2654
2736
  }),
2655
- memory: z27.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt, available_bytes: nonNegInt }),
2656
- swap: z27.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt }),
2657
- disks: z27.array(ResourcesDisk).max(64),
2737
+ memory: z28.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt, available_bytes: nonNegInt }),
2738
+ swap: z28.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt }),
2739
+ disks: z28.array(ResourcesDisk).max(64),
2658
2740
  uptime_seconds: nonNegInt
2659
2741
  });
2660
- var ResourcesJobKind = z27.enum(["type-check", "tests", "build", "lint", "dev server", "language server", "search"]);
2661
- var ResourcesStrain = z27.enum(["good", "strain", "overloaded"]);
2662
- var ResourcesPressure = z27.enum(["normal", "warning", "critical"]);
2663
- var ResourcesJob = z27.strictObject({
2742
+ var ResourcesJobKind = z28.enum(["type-check", "tests", "build", "lint", "dev server", "language server", "search"]);
2743
+ var ResourcesStrain = z28.enum(["good", "strain", "overloaded"]);
2744
+ var ResourcesPressure = z28.enum(["normal", "warning", "critical"]);
2745
+ var ResourcesJob = z28.strictObject({
2664
2746
  /** The job's root process (Stop takes its whole tree). */
2665
- pid: z27.int().min(0),
2747
+ pid: z28.int().min(0),
2666
2748
  kind: ResourcesJobKind,
2667
2749
  /** Its heaviest process's command line, shortened ("…/lib/tsc --noEmit -p tsconfig.json"). */
2668
- command: z27.string().max(256),
2750
+ command: z28.string().max(256),
2669
2751
  /** Who started it: "Claude Code", "Codex", "Cursor", "VS Code", "Terminal", "local stack", "detached"; null when unknown. */
2670
- started_by: z27.string().max(64).nullable(),
2752
+ started_by: z28.string().max(64).nullable(),
2671
2753
  /** Whatever started it is gone and nothing waits for it. */
2672
- orphan: z27.boolean(),
2754
+ orphan: z28.boolean(),
2673
2755
  /** A type-check queued for its turn (no compiler running yet). */
2674
- waiting: z27.boolean(),
2756
+ waiting: z28.boolean(),
2675
2757
  /** The project folder it runs in ("matrx-frontend"); null when not in one. */
2676
- folder: z27.string().max(256).nullable(),
2758
+ folder: z28.string().max(256).nullable(),
2677
2759
  /** The same command in the same folder, running this many times (1 = no duplicate). */
2678
- duplicates: z27.int().min(1),
2679
- processes: z27.int().min(1),
2760
+ duplicates: z28.int().min(1),
2761
+ processes: z28.int().min(1),
2680
2762
  /** Sum over the tree, as `ps` reports it: 100 = one full core. */
2681
- cpu_percent: z27.number().min(0),
2763
+ cpu_percent: z28.number().min(0),
2682
2764
  /** Real memory (macOS: the physical footprint Activity Monitor shows, compressed included). */
2683
2765
  memory_bytes: nonNegInt,
2684
2766
  started_at_ms: epochMs.nullable(),
2685
2767
  /** False for an app, an agent session, a terminal, a system process, the local stack or Matrx 2 itself. */
2686
- stoppable: z27.boolean()
2768
+ stoppable: z28.boolean()
2687
2769
  });
2688
- var ResourcesProcess = z27.strictObject({
2689
- pid: z27.int().min(0),
2770
+ var ResourcesProcess = z28.strictObject({
2771
+ pid: z28.int().min(0),
2690
2772
  /** The command line, shortened. */
2691
- name: z27.string().max(256),
2692
- cpu_percent: z27.number().min(0),
2773
+ name: z28.string().max(256),
2774
+ cpu_percent: z28.number().min(0),
2693
2775
  memory_bytes: nonNegInt,
2694
- started_by: z27.string().max(64).nullable(),
2776
+ started_by: z28.string().max(64).nullable(),
2695
2777
  /** The job it belongs to ("type-check in aidream"); null when none. */
2696
- job: z27.string().max(256).nullable(),
2778
+ job: z28.string().max(256).nullable(),
2697
2779
  started_at_ms: epochMs.nullable()
2698
2780
  });
2699
- var ResourcesVerdict = z27.strictObject({
2781
+ var ResourcesVerdict = z28.strictObject({
2700
2782
  level: ResourcesStrain,
2701
2783
  /** One sentence ("Your Mac is under strain. 3 type-checks are running at once."). */
2702
- text: z27.string().max(256),
2784
+ text: z28.string().max(256),
2703
2785
  /** The biggest jobs behind it; null when all is well. */
2704
- cause: z27.string().max(1024).nullable()
2786
+ cause: z28.string().max(1024).nullable()
2705
2787
  });
2706
- var ResourcesSample = z27.strictObject({
2788
+ var ResourcesSample = z28.strictObject({
2707
2789
  at_ms: epochMs,
2708
2790
  /** The 1-minute load average. */
2709
- load: z27.number().min(0),
2791
+ load: z28.number().min(0),
2710
2792
  memory_used_bytes: nonNegInt,
2711
2793
  typechecks: nonNegInt
2712
2794
  });
2713
- var ResourcesActivityParams = z27.strictObject({});
2714
- var ResourcesActivityResult = z27.strictObject({
2795
+ var ResourcesActivityParams = z28.strictObject({});
2796
+ var ResourcesActivityResult = z28.strictObject({
2715
2797
  /** False until the first reading (a second or two after start). */
2716
- ready: z27.boolean(),
2798
+ ready: z28.boolean(),
2717
2799
  sampled_at_ms: epochMs.nullable(),
2718
- cores: z27.int().min(1),
2800
+ cores: z28.int().min(1),
2719
2801
  /** 1, 5 and 15 minute load averages. */
2720
- load: z27.array(z27.number().min(0)).length(3),
2721
- memory: z27.strictObject({
2802
+ load: z28.array(z28.number().min(0)).length(3),
2803
+ memory: z28.strictObject({
2722
2804
  total_bytes: nonNegInt,
2723
2805
  /** Activity Monitor's Memory Used: app memory + wired + compressed. */
2724
2806
  used_bytes: nonNegInt,
@@ -2729,269 +2811,269 @@ var ResourcesActivityResult = z27.strictObject({
2729
2811
  pressure: ResourcesPressure.nullable()
2730
2812
  }),
2731
2813
  verdict: ResourcesVerdict,
2732
- typechecks: z27.strictObject({ running: nonNegInt, waiting: nonNegInt, comfort: nonNegInt }),
2814
+ typechecks: z28.strictObject({ running: nonNegInt, waiting: nonNegInt, comfort: nonNegInt }),
2733
2815
  /** Heaviest first (1 GB weighs as much as 16 % of a core). */
2734
- jobs: z27.array(ResourcesJob).max(200),
2816
+ jobs: z28.array(ResourcesJob).max(200),
2735
2817
  /** The 15 heaviest by memory and the 15 busiest by CPU, together. */
2736
- top: z27.array(ResourcesProcess).max(30),
2818
+ top: z28.array(ResourcesProcess).max(30),
2737
2819
  /** The last hour, oldest first. */
2738
- history: z27.array(ResourcesSample).max(1200)
2820
+ history: z28.array(ResourcesSample).max(1200)
2739
2821
  });
2740
- var ResourcesStopJobParams = z27.strictObject({ pid: z27.int().min(1) });
2741
- var ResourcesStopJobResult = z27.strictObject({
2822
+ var ResourcesStopJobParams = z28.strictObject({ pid: z28.int().min(1) });
2823
+ var ResourcesStopJobResult = z28.strictObject({
2742
2824
  /** Processes signalled; whatever is still running 5 seconds later is force-stopped. */
2743
2825
  processes: nonNegInt,
2744
2826
  /** It had finished before the request arrived. */
2745
- already_finished: z27.boolean()
2827
+ already_finished: z28.boolean()
2746
2828
  });
2747
- var ResourcesIncident = z27.strictObject({
2829
+ var ResourcesIncident = z28.strictObject({
2748
2830
  at_ms: epochMs,
2749
2831
  verdict: ResourcesVerdict,
2750
- load: z27.number().min(0),
2832
+ load: z28.number().min(0),
2751
2833
  memory_used_bytes: nonNegInt,
2752
2834
  compressed_bytes: nonNegInt,
2753
2835
  pressure: ResourcesPressure.nullable(),
2754
- jobs: z27.array(
2755
- z27.strictObject({
2836
+ jobs: z28.array(
2837
+ z28.strictObject({
2756
2838
  kind: ResourcesJobKind,
2757
- started_by: z27.string().max(64).nullable(),
2758
- folder: z27.string().max(256).nullable(),
2759
- command: z27.string().max(256),
2760
- cpu_percent: z27.number().min(0),
2839
+ started_by: z28.string().max(64).nullable(),
2840
+ folder: z28.string().max(256).nullable(),
2841
+ command: z28.string().max(256),
2842
+ cpu_percent: z28.number().min(0),
2761
2843
  memory_bytes: nonNegInt,
2762
- duplicates: z27.int().min(1)
2844
+ duplicates: z28.int().min(1)
2763
2845
  })
2764
2846
  ).max(8)
2765
2847
  });
2766
- var ResourcesIncidentsParams = z27.strictObject({ limit: z27.int().min(1).max(200).default(50) });
2767
- var ResourcesIncidentsResult = z27.strictObject({
2848
+ var ResourcesIncidentsParams = z28.strictObject({ limit: z28.int().min(1).max(200).default(50) });
2849
+ var ResourcesIncidentsResult = z28.strictObject({
2768
2850
  /** Newest first; at most one a minute is written. */
2769
- incidents: z27.array(ResourcesIncident).max(200)
2851
+ incidents: z28.array(ResourcesIncident).max(200)
2770
2852
  });
2771
2853
 
2772
2854
  // src/schema/stack.ts
2773
- import { z as z28 } from "zod";
2774
- var StackServerName = z28.string().regex(/^[a-z0-9_-]{1,64}$/);
2775
- var StackTone = z28.enum(["good", "wait", "bad", "off"]);
2776
- var StackServer = z28.strictObject({
2855
+ import { z as z29 } from "zod";
2856
+ var StackServerName = z29.string().regex(/^[a-z0-9_-]{1,64}$/);
2857
+ var StackTone = z29.enum(["good", "wait", "bad", "off"]);
2858
+ var StackServer = z29.strictObject({
2777
2859
  name: StackServerName,
2778
2860
  /** One word: Healthy, Starting, Unhealthy, Restarting, Stopping, Waiting, Stopped, Crashed, Off. */
2779
- label: z28.string().max(32),
2861
+ label: z29.string().max(32),
2780
2862
  tone: StackTone,
2781
2863
  /** What is going on, in one or two plain sentences. */
2782
- sentence: z28.string().max(2e3),
2864
+ sentence: z29.string().max(2e3),
2783
2865
  /** The config's own description of the server. */
2784
- description: z28.string().max(512),
2866
+ description: z29.string().max(512),
2785
2867
  /** Where the server answers, when its description names an address. */
2786
- open_url: z28.string().max(2048).nullable(),
2787
- log_file: z28.string().max(4096),
2868
+ open_url: z29.string().max(2048).nullable(),
2869
+ log_file: z29.string().max(4096),
2788
2870
  /** When its log file was last written. */
2789
2871
  last_output_at_ms: epochMs.nullable(),
2790
2872
  started_at_ms: epochMs.nullable(),
2791
2873
  restarts: nonNegInt,
2792
- exit_code: z28.int().nullable(),
2793
- pid: z28.int().nullable(),
2874
+ exit_code: z29.int().nullable(),
2875
+ pid: z29.int().nullable(),
2794
2876
  /** (1.18) CPU of the server's process and everything under it, in percent of one core; absent when it is not running. */
2795
- cpu_percent: z28.number().min(0).optional(),
2877
+ cpu_percent: z29.number().min(0).optional(),
2796
2878
  /** (1.18) Memory of the same processes: the physical footprint (Activity Monitor's Memory) summed; absent when it is not running. */
2797
2879
  memory_bytes: nonNegInt.optional()
2798
2880
  });
2799
- var StackEvent = z28.strictObject({
2881
+ var StackEvent = z29.strictObject({
2800
2882
  at_ms: epochMs,
2801
2883
  /** A server name, or "stack" for the stack as a whole. */
2802
- server: z28.string().max(64),
2884
+ server: z29.string().max(64),
2803
2885
  /** started · stopped · healthy · unhealthy · crashed · exited · restarting · stopping · action · action-done · action-failed · setup · error */
2804
- kind: z28.string().max(32),
2805
- text: z28.string().max(4e3)
2886
+ kind: z29.string().max(32),
2887
+ text: z29.string().max(4e3)
2806
2888
  });
2807
- var StackStateParams = z28.strictObject({});
2808
- var StackStateResult = z28.strictObject({
2889
+ var StackStateParams = z29.strictObject({});
2890
+ var StackStateResult = z29.strictObject({
2809
2891
  /** The stack's config file, when found. */
2810
- config_path: z28.string().max(4096).nullable(),
2892
+ config_path: z29.string().max(4096).nullable(),
2811
2893
  /** Why the stack cannot be run from here (no config, no process-compose), else null. */
2812
- problem: z28.string().max(1e3).nullable(),
2813
- stack_up: z28.boolean(),
2894
+ problem: z29.string().max(1e3).nullable(),
2895
+ stack_up: z29.boolean(),
2814
2896
  stack_started_at_ms: epochMs.nullable(),
2815
- servers: z28.array(StackServer).max(64),
2897
+ servers: z29.array(StackServer).max(64),
2816
2898
  /** One line about the one-shot setup steps ("Docker Desktop: running."), or null. */
2817
- setup_note: z28.string().max(500).nullable(),
2899
+ setup_note: z29.string().max(500).nullable(),
2818
2900
  /** Start everything / Stop everything in flight. */
2819
- pending: z28.strictObject({ verb: z28.enum(["start", "stop"]), label: z28.string().max(64), since_ms: epochMs }).nullable(),
2901
+ pending: z29.strictObject({ verb: z29.enum(["start", "stop"]), label: z29.string().max(64), since_ms: epochMs }).nullable(),
2820
2902
  /** The newest entries last. */
2821
- events: z28.array(StackEvent).max(300)
2903
+ events: z29.array(StackEvent).max(300)
2822
2904
  });
2823
- var StackStartParams = z28.strictObject({});
2824
- var StackStopParams = z28.strictObject({});
2825
- var StackRunResult = z28.strictObject({ accepted: z28.boolean() });
2826
- var StackServerActionParams = z28.strictObject({
2905
+ var StackStartParams = z29.strictObject({});
2906
+ var StackStopParams = z29.strictObject({});
2907
+ var StackRunResult = z29.strictObject({ accepted: z29.boolean() });
2908
+ var StackServerActionParams = z29.strictObject({
2827
2909
  name: StackServerName,
2828
- verb: z28.enum(["start", "stop", "restart"])
2910
+ verb: z29.enum(["start", "stop", "restart"])
2829
2911
  });
2830
- var StackServerActionResult = z28.strictObject({ message: z28.string().max(1e3) });
2831
- var StackLogsParams = z28.strictObject({
2912
+ var StackServerActionResult = z29.strictObject({ message: z29.string().max(1e3) });
2913
+ var StackLogsParams = z29.strictObject({
2832
2914
  name: StackServerName,
2833
2915
  /** Without `offset`: the last this-many complete lines. With it: new lines after it, at most this many. */
2834
- lines: z28.int().min(1).max(2e5).default(2e3),
2916
+ lines: z29.int().min(1).max(2e5).default(2e3),
2835
2917
  /** Byte offset the last read ended at: answer only what was written after it (follow). */
2836
2918
  offset: nonNegInt.optional(),
2837
2919
  /** A "Clear" point: the lines written after this byte offset (no `offset`). */
2838
2920
  since: nonNegInt.optional(),
2839
2921
  /** With `offset`: wait up to this long for a new line when none is waiting (0 answers at once). */
2840
- wait_ms: z28.int().min(0).max(25e3).default(0)
2922
+ wait_ms: z29.int().min(0).max(25e3).default(0)
2841
2923
  });
2842
- var StackLogsResult = z28.strictObject({
2924
+ var StackLogsResult = z29.strictObject({
2843
2925
  /** Complete lines, colour codes removed. */
2844
- lines: z28.array(z28.string().max(65536)).max(2e5),
2926
+ lines: z29.array(z29.string().max(65536)).max(2e5),
2845
2927
  /** Where these lines end: pass it back as `offset` to follow. */
2846
2928
  offset: nonNegInt,
2847
2929
  /** False when `since` no longer exists (the log rotated): the lines are the plain tail instead. */
2848
- since_valid: z28.boolean(),
2930
+ since_valid: z29.boolean(),
2849
2931
  /** The log was rotated or truncated since `offset`: these lines start the file again. */
2850
- reset: z28.boolean(),
2851
- log_file: z28.string().max(4096)
2932
+ reset: z29.boolean(),
2933
+ log_file: z29.string().max(4096)
2852
2934
  });
2853
- var StackErrorsParams = z28.strictObject({
2854
- window_minutes: z28.int().min(1).max(1440).default(60)
2935
+ var StackErrorsParams = z29.strictObject({
2936
+ window_minutes: z29.int().min(1).max(1440).default(60)
2855
2937
  });
2856
- var StackErrorsResult = z28.strictObject({
2938
+ var StackErrorsResult = z29.strictObject({
2857
2939
  /** Per server: a heading line ("=== aidream — errors in the last 60 minutes (<file>) ===") and each error with the 10 lines after it. */
2858
- sections: z28.array(z28.strictObject({ name: StackServerName, heading: z28.string().max(4096), lines: z28.array(z28.string().max(65536)).max(5e3) })).max(64),
2859
- window_minutes: z28.int().min(1).max(1440)
2940
+ sections: z29.array(z29.strictObject({ name: StackServerName, heading: z29.string().max(4096), lines: z29.array(z29.string().max(65536)).max(5e3) })).max(64),
2941
+ window_minutes: z29.int().min(1).max(1440)
2860
2942
  });
2861
2943
 
2862
2944
  // src/schema/audio.ts
2863
- import { z as z29 } from "zod";
2864
- var AudioDevice = z29.strictObject({
2945
+ import { z as z30 } from "zod";
2946
+ var AudioDevice = z30.strictObject({
2865
2947
  /** The OS's name for it, as audio.record takes it. */
2866
- id: z29.string().min(1).max(256),
2867
- name: z29.string().max(256),
2868
- default: z29.boolean(),
2948
+ id: z30.string().min(1).max(256),
2949
+ name: z30.string().max(256),
2950
+ default: z30.boolean(),
2869
2951
  /** (1.24) How it is connected, as Sound's Type column says it: "Built-in", "USB", "Bluetooth",
2870
2952
  * "DisplayPort", "HDMI", "AirPlay", "Virtual". Absent where the OS does not say. */
2871
- kind: z29.string().max(64).optional()
2953
+ kind: z30.string().max(64).optional()
2872
2954
  });
2873
- var AudioDevicesParams = z29.strictObject({});
2874
- var AudioDevicesResult = z29.strictObject({
2875
- inputs: z29.array(AudioDevice).max(64),
2876
- outputs: z29.array(AudioDevice).max(64)
2955
+ var AudioDevicesParams = z30.strictObject({});
2956
+ var AudioDevicesResult = z30.strictObject({
2957
+ inputs: z30.array(AudioDevice).max(64),
2958
+ outputs: z30.array(AudioDevice).max(64)
2877
2959
  });
2878
- var AudioRecordParams = z29.strictObject({
2879
- seconds: z29.number().min(0.5).max(600),
2960
+ var AudioRecordParams = z30.strictObject({
2961
+ seconds: z30.number().min(0.5).max(600),
2880
2962
  /** The microphone (from audio.devices); the default input when absent. */
2881
- device_id: z29.string().min(1).max(256).optional(),
2963
+ device_id: z30.string().min(1).max(256).optional(),
2882
2964
  /** Where the WAV file goes; a new file in the temp folder when absent. */
2883
2965
  path: AbsPath.optional()
2884
2966
  });
2885
- var AudioRecordResult = z29.strictObject({
2967
+ var AudioRecordResult = z30.strictObject({
2886
2968
  path: AbsPath,
2887
- seconds: z29.number().min(0),
2969
+ seconds: z30.number().min(0),
2888
2970
  bytes: nonNegInt,
2889
2971
  /** Loudest sample, 0–1: 0 means the device gave silence. */
2890
- peak: z29.number().min(0).max(1)
2891
- });
2892
- var AudioPlayParams = z29.strictObject({ path: AbsPath });
2893
- var AudioPlayResult = z29.strictObject({ path: AbsPath, seconds: z29.number().min(0) });
2894
- var AudioLevelsParams = z29.strictObject({});
2895
- var AudioLevelsResult = z29.strictObject({
2896
- output_volume: z29.number().min(0).max(100).nullable(),
2897
- output_muted: z29.boolean().nullable(),
2898
- input_volume: z29.number().min(0).max(100).nullable(),
2972
+ peak: z30.number().min(0).max(1)
2973
+ });
2974
+ var AudioPlayParams = z30.strictObject({ path: AbsPath });
2975
+ var AudioPlayResult = z30.strictObject({ path: AbsPath, seconds: z30.number().min(0) });
2976
+ var AudioLevelsParams = z30.strictObject({});
2977
+ var AudioLevelsResult = z30.strictObject({
2978
+ output_volume: z30.number().min(0).max(100).nullable(),
2979
+ output_muted: z30.boolean().nullable(),
2980
+ input_volume: z30.number().min(0).max(100).nullable(),
2899
2981
  /** The alert (beep) volume, a share of the output volume. */
2900
- alert_volume: z29.number().min(0).max(100).nullable()
2982
+ alert_volume: z30.number().min(0).max(100).nullable()
2901
2983
  });
2902
- var AudioSetLevelsParams = z29.strictObject({
2903
- output_volume: z29.number().min(0).max(100).optional(),
2904
- output_muted: z29.boolean().optional(),
2905
- input_volume: z29.number().min(0).max(100).optional(),
2906
- alert_volume: z29.number().min(0).max(100).optional()
2984
+ var AudioSetLevelsParams = z30.strictObject({
2985
+ output_volume: z30.number().min(0).max(100).optional(),
2986
+ output_muted: z30.boolean().optional(),
2987
+ input_volume: z30.number().min(0).max(100).optional(),
2988
+ alert_volume: z30.number().min(0).max(100).optional()
2907
2989
  });
2908
2990
 
2909
2991
  // src/schema/fs-watch.ts
2910
- import { z as z30 } from "zod";
2911
- var FsWatchId = z30.string().regex(/^fw_[A-Za-z0-9]{12,40}$/);
2912
- var FsWatchStartParams = z30.strictObject({
2992
+ import { z as z31 } from "zod";
2993
+ var FsWatchId = z31.string().regex(/^fw_[A-Za-z0-9]{12,40}$/);
2994
+ var FsWatchStartParams = z31.strictObject({
2913
2995
  path: AbsPath,
2914
- recursive: z30.boolean().default(true),
2996
+ recursive: z31.boolean().default(true),
2915
2997
  /** Globs relative to `path` whose changes are not reported (".git/**", "node_modules/**"). */
2916
- ignore: z30.array(z30.string().max(256)).max(64).default([])
2998
+ ignore: z31.array(z31.string().max(256)).max(64).default([])
2917
2999
  });
2918
- var FsWatchStartResult = z30.strictObject({
3000
+ var FsWatchStartResult = z31.strictObject({
2919
3001
  watch_id: FsWatchId,
2920
3002
  path: AbsPath,
2921
3003
  /** The watch ends by itself if nobody reads it for 30 minutes. */
2922
3004
  expires_at_ms: epochMs
2923
3005
  });
2924
- var FsWatchEventsParams = z30.strictObject({
3006
+ var FsWatchEventsParams = z31.strictObject({
2925
3007
  watch_id: FsWatchId,
2926
3008
  /** Wait up to this long for a first change when none is waiting (0 answers at once). */
2927
- wait_ms: z30.int().min(0).max(25e3).default(0)
3009
+ wait_ms: z31.int().min(0).max(25e3).default(0)
2928
3010
  });
2929
- var FsWatchEventsResult = z30.strictObject({
3011
+ var FsWatchEventsResult = z31.strictObject({
2930
3012
  /** What changed since the last read, oldest first; re-checked against the disk when read. */
2931
- changes: z30.array(FsChange).max(1e3),
3013
+ changes: z31.array(FsChange).max(1e3),
2932
3014
  /** Changes were dropped (more than 1000 waited): list the folder again. */
2933
- overflow: z30.boolean(),
3015
+ overflow: z31.boolean(),
2934
3016
  expires_at_ms: epochMs
2935
3017
  });
2936
- var FsWatchStopParams = z30.strictObject({ watch_id: FsWatchId });
2937
- var FsWatchStopResult = z30.strictObject({ watch_id: FsWatchId });
3018
+ var FsWatchStopParams = z31.strictObject({ watch_id: FsWatchId });
3019
+ var FsWatchStopResult = z31.strictObject({ watch_id: FsWatchId });
2938
3020
 
2939
3021
  // src/schema/exec-job.ts
2940
- import { z as z31 } from "zod";
2941
- var ExecJobId = z31.string().regex(/^job_[A-Za-z0-9]{12,40}$/);
2942
- var ExecJobStartParams = z31.strictObject({
2943
- command: z31.string().min(1).max(131072),
3022
+ import { z as z32 } from "zod";
3023
+ var ExecJobId = z32.string().regex(/^job_[A-Za-z0-9]{12,40}$/);
3024
+ var ExecJobStartParams = z32.strictObject({
3025
+ command: z32.string().min(1).max(131072),
2944
3026
  /** The folder it runs in; the home folder when absent. */
2945
3027
  cwd: AbsPath.optional(),
2946
- env: z31.record(z31.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(128), z31.string().max(32768)).optional()
3028
+ env: z32.record(z32.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(128), z32.string().max(32768)).optional()
2947
3029
  });
2948
- var ExecJobStartResult = z31.strictObject({ job_id: ExecJobId, pid: z31.int().min(1), cwd: AbsPath });
2949
- var ExecJobOutputParams = z31.strictObject({
3030
+ var ExecJobStartResult = z32.strictObject({ job_id: ExecJobId, pid: z32.int().min(1), cwd: AbsPath });
3031
+ var ExecJobOutputParams = z32.strictObject({
2950
3032
  job_id: ExecJobId,
2951
3033
  /** Byte offset into the job's output to read from (next_offset of the last read; 0 = the start). */
2952
3034
  offset: nonNegInt.default(0),
2953
3035
  /** Wait up to this long for new output or the exit when none is waiting (0 answers at once). */
2954
- wait_ms: z31.int().min(0).max(25e3).default(0),
2955
- max_bytes: z31.int().min(1024).max(1048576).default(65536)
3036
+ wait_ms: z32.int().min(0).max(25e3).default(0),
3037
+ max_bytes: z32.int().min(1024).max(1048576).default(65536)
2956
3038
  });
2957
- var ExecJobOutputResult = z31.strictObject({
3039
+ var ExecJobOutputResult = z32.strictObject({
2958
3040
  /** stdout and stderr interleaved as they arrived (UTF-8). */
2959
- output: z31.string(),
3041
+ output: z32.string(),
2960
3042
  next_offset: nonNegInt,
2961
3043
  /** Bytes before `offset` that are gone (the job keeps its last 4 MiB). */
2962
3044
  dropped_bytes: nonNegInt,
2963
- running: z31.boolean(),
2964
- exit_code: z31.int().nullable()
3045
+ running: z32.boolean(),
3046
+ exit_code: z32.int().nullable()
2965
3047
  });
2966
- var ExecJobStopParams = z31.strictObject({
3048
+ var ExecJobStopParams = z32.strictObject({
2967
3049
  job_id: ExecJobId,
2968
3050
  /** End it at once (SIGKILL; on Windows the whole tree with /F) instead of asking it to quit. */
2969
- force: z31.boolean().default(false)
3051
+ force: z32.boolean().default(false)
2970
3052
  });
2971
- var ExecJobStopResult = z31.strictObject({ job_id: ExecJobId, exited: z31.boolean(), exit_code: z31.int().nullable() });
2972
- var ExecJobInfo = z31.strictObject({
3053
+ var ExecJobStopResult = z32.strictObject({ job_id: ExecJobId, exited: z32.boolean(), exit_code: z32.int().nullable() });
3054
+ var ExecJobInfo = z32.strictObject({
2973
3055
  job_id: ExecJobId,
2974
- command: z31.string().max(1024),
2975
- pid: z31.int().min(1),
3056
+ command: z32.string().max(1024),
3057
+ pid: z32.int().min(1),
2976
3058
  cwd: AbsPath,
2977
- running: z31.boolean(),
2978
- exit_code: z31.int().nullable(),
3059
+ running: z32.boolean(),
3060
+ exit_code: z32.int().nullable(),
2979
3061
  started_at_ms: epochMs,
2980
3062
  output_bytes: nonNegInt
2981
3063
  });
2982
- var ExecJobListParams = z31.strictObject({});
2983
- var ExecJobListResult = z31.strictObject({ jobs: z31.array(ExecJobInfo).max(64) });
3064
+ var ExecJobListParams = z32.strictObject({});
3065
+ var ExecJobListResult = z32.strictObject({ jobs: z32.array(ExecJobInfo).max(64) });
2984
3066
 
2985
3067
  // src/schema/coding.ts
2986
- import { z as z32 } from "zod";
3068
+ import { z as z33 } from "zod";
2987
3069
  import { UUID_SHAPE_PATTERN as UUID_SHAPE_PATTERN5 } from "@ai-matrx/kit/uuid";
2988
- var CodingServiceCredentials = z32.strictObject({
2989
- access_token: z32.string().min(16).max(16384),
2990
- user_id: z32.string().regex(UUID_SHAPE_PATTERN5),
3070
+ var CodingServiceCredentials = z33.strictObject({
3071
+ access_token: z33.string().min(16).max(16384),
3072
+ user_id: z33.string().regex(UUID_SHAPE_PATTERN5),
2991
3073
  /** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
2992
- server_url: z32.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
3074
+ server_url: z33.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
2993
3075
  });
2994
- var CodingHistoryBlocked = z32.enum([
3076
+ var CodingHistoryBlocked = z33.enum([
2995
3077
  "signed_out",
2996
3078
  "offline",
2997
3079
  "organization_required",
@@ -2999,11 +3081,11 @@ var CodingHistoryBlocked = z32.enum([
2999
3081
  "cloud_list_unavailable",
3000
3082
  "history_too_large"
3001
3083
  ]);
3002
- var CodingHistoryFailure = z32.strictObject({
3003
- session_id: z32.string().max(64),
3004
- reason: z32.string().max(300)
3084
+ var CodingHistoryFailure = z33.strictObject({
3085
+ session_id: z33.string().max(64),
3086
+ reason: z33.string().max(300)
3005
3087
  });
3006
- var CodingHistoryRun = z32.strictObject({
3088
+ var CodingHistoryRun = z33.strictObject({
3007
3089
  /** Claude Code sessions found on this computer. */
3008
3090
  local_sessions: nonNegInt,
3009
3091
  /** Of those, already complete in AI Matrx. */
@@ -3018,39 +3100,39 @@ var CodingHistoryRun = z32.strictObject({
3018
3100
  /** Changed while being read; a later run takes them. */
3019
3101
  changed: nonNegInt,
3020
3102
  failed: nonNegInt,
3021
- failures: z32.array(CodingHistoryFailure).max(20),
3103
+ failures: z33.array(CodingHistoryFailure).max(20),
3022
3104
  /** Candidates not reached yet. */
3023
3105
  remaining: nonNegInt,
3024
3106
  /** The one line a person reads, e.g. "Imported 12 of 14 sessions. 140 already in AI Matrx." */
3025
- summary: z32.string().max(400)
3107
+ summary: z33.string().max(400)
3026
3108
  });
3027
- var CodingHistoryStep = z32.strictObject({
3109
+ var CodingHistoryStep = z33.strictObject({
3028
3110
  /** Null when the run could not start (blocked before a plan existed). */
3029
- plan_id: z32.string().regex(/^[0-9a-f]{32}$/).nullable(),
3030
- finished: z32.boolean(),
3111
+ plan_id: z33.string().regex(/^[0-9a-f]{32}$/).nullable(),
3112
+ finished: z33.boolean(),
3031
3113
  blocked: CodingHistoryBlocked.nullable(),
3032
3114
  run: CodingHistoryRun
3033
3115
  });
3034
- var CodingPlanMissingParams = z32.strictObject({ credentials: CodingServiceCredentials.nullable() });
3035
- var CodingImportNextParams = z32.strictObject({
3036
- plan_id: z32.string().regex(/^[0-9a-f]{32}$/),
3116
+ var CodingPlanMissingParams = z33.strictObject({ credentials: CodingServiceCredentials.nullable() });
3117
+ var CodingImportNextParams = z33.strictObject({
3118
+ plan_id: z33.string().regex(/^[0-9a-f]{32}$/),
3037
3119
  credentials: CodingServiceCredentials.nullable()
3038
3120
  });
3039
- var CodingServiceProgress = z32.strictObject({
3040
- phase: z32.enum(["checking", "importing"]),
3121
+ var CodingServiceProgress = z33.strictObject({
3122
+ phase: z33.enum(["checking", "importing"]),
3041
3123
  done: nonNegInt,
3042
3124
  total: nonNegInt
3043
3125
  });
3044
- var CodingHistoryImportMissingParams = z32.strictObject({});
3045
- var CodingHistoryImportMissingResult = z32.strictObject({
3046
- state: z32.enum(["done", "blocked", "cancelled"]),
3126
+ var CodingHistoryImportMissingParams = z33.strictObject({});
3127
+ var CodingHistoryImportMissingResult = z33.strictObject({
3128
+ state: z33.enum(["done", "blocked", "cancelled"]),
3047
3129
  blocked: CodingHistoryBlocked.nullable(),
3048
3130
  run: CodingHistoryRun,
3049
3131
  elapsed_ms: nonNegInt
3050
3132
  });
3051
- var CodingHistoryProgressEvent = z32.strictObject({
3133
+ var CodingHistoryProgressEvent = z33.strictObject({
3052
3134
  request_id: RequestId,
3053
- phase: z32.enum(["checking", "importing"]),
3135
+ phase: z33.enum(["checking", "importing"]),
3054
3136
  /** Sessions settled so far, of `total` candidates (0 of 0 while checking). */
3055
3137
  done: nonNegInt,
3056
3138
  total: nonNegInt,
@@ -3059,386 +3141,386 @@ var CodingHistoryProgressEvent = z32.strictObject({
3059
3141
  });
3060
3142
 
3061
3143
  // src/schema/coding-sessions.ts
3062
- import { z as z33 } from "zod";
3063
- var CodingProviderName = z33.enum(["claude", "codex"]);
3064
- var CodingRunStatus = z33.enum(["starting", "running", "completed", "stopped", "failed"]);
3065
- var SessionKey = z33.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
3066
- var IsoTime = z33.string().min(10).max(40);
3067
- var LocalPath = z33.string().min(1).max(4096);
3068
- var CodingClientRequestId = z33.string().regex(/^[A-Za-z0-9_-]{8,64}$/);
3069
- var ShortText = z33.string().max(500);
3070
- var CodingRunUsage = z33.strictObject({
3144
+ import { z as z34 } from "zod";
3145
+ var CodingProviderName = z34.enum(["claude", "codex"]);
3146
+ var CodingRunStatus = z34.enum(["starting", "running", "completed", "stopped", "failed"]);
3147
+ var SessionKey = z34.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
3148
+ var IsoTime = z34.string().min(10).max(40);
3149
+ var LocalPath = z34.string().min(1).max(4096);
3150
+ var CodingClientRequestId = z34.string().regex(/^[A-Za-z0-9_-]{8,64}$/);
3151
+ var ShortText = z34.string().max(500);
3152
+ var CodingRunUsage = z34.strictObject({
3071
3153
  inputTokens: nonNegInt,
3072
3154
  outputTokens: nonNegInt,
3073
3155
  cachedInputTokens: nonNegInt
3074
3156
  });
3075
- var CodingStartedBy = z33.strictObject({
3076
- kind: z33.enum(["this_computer", "web", "phone", "agent", "other"]),
3077
- label: z33.string().min(1).max(80)
3157
+ var CodingStartedBy = z34.strictObject({
3158
+ kind: z34.enum(["this_computer", "web", "phone", "agent", "other"]),
3159
+ label: z34.string().min(1).max(80)
3078
3160
  });
3079
- var CodingRunRecord = z33.strictObject({
3080
- runId: z33.string().min(1).max(64),
3161
+ var CodingRunRecord = z34.strictObject({
3162
+ runId: z34.string().min(1).max(64),
3081
3163
  sessionId: SessionKey,
3082
3164
  provider: CodingProviderName,
3083
3165
  cwd: LocalPath,
3084
- prompt: z33.string().max(1048576),
3085
- model: z33.string().max(200).nullable(),
3166
+ prompt: z34.string().max(1048576),
3167
+ model: z34.string().max(200).nullable(),
3086
3168
  status: CodingRunStatus,
3087
3169
  startedAt: IsoTime,
3088
3170
  endedAt: IsoTime.nullable(),
3089
- error: z33.string().max(65536).nullable(),
3171
+ error: z34.string().max(65536).nullable(),
3090
3172
  usage: CodingRunUsage.nullable(),
3091
- costUsd: z33.number().nullable(),
3092
- billing: z33.enum(["subscription", "api", "unknown"]).nullable(),
3173
+ costUsd: z34.number().nullable(),
3174
+ billing: z34.enum(["subscription", "api", "unknown"]).nullable(),
3093
3175
  startedBy: CodingStartedBy.nullable()
3094
3176
  });
3095
- var CodingSessionAgentPart = z33.strictObject({
3096
- part: z33.enum(["instructions", "skills", "tools"]),
3177
+ var CodingSessionAgentPart = z34.strictObject({
3178
+ part: z34.enum(["instructions", "skills", "tools"]),
3097
3179
  loaded: nonNegInt,
3098
3180
  total: nonNegInt
3099
3181
  });
3100
- var CodingSessionAgent = z33.strictObject({
3101
- agentId: z33.string().min(1).max(64),
3102
- versionId: z33.string().max(64).nullable(),
3182
+ var CodingSessionAgent = z34.strictObject({
3183
+ agentId: z34.string().min(1).max(64),
3184
+ versionId: z34.string().max(64).nullable(),
3103
3185
  versionNumber: nonNegInt.nullable(),
3104
- name: z33.string().max(300),
3105
- definitionHash: z33.string().max(200),
3106
- loaded: z33.array(CodingSessionAgentPart).max(3),
3107
- unavailable: z33.array(z33.strictObject({ kind: z33.string().max(60), name: z33.string().max(300), reason: ShortText })).max(500),
3108
- skills: z33.array(z33.string().max(300)).max(500),
3109
- tools: z33.array(z33.string().max(300)).max(500),
3110
- variables: z33.record(z33.string().max(200), z33.unknown()),
3111
- blockDue: z33.boolean(),
3186
+ name: z34.string().max(300),
3187
+ definitionHash: z34.string().max(200),
3188
+ loaded: z34.array(CodingSessionAgentPart).max(3),
3189
+ unavailable: z34.array(z34.strictObject({ kind: z34.string().max(60), name: z34.string().max(300), reason: ShortText })).max(500),
3190
+ skills: z34.array(z34.string().max(300)).max(500),
3191
+ tools: z34.array(z34.string().max(300)).max(500),
3192
+ variables: z34.record(z34.string().max(200), z34.unknown()),
3193
+ blockDue: z34.boolean(),
3112
3194
  deliveredAt: IsoTime.nullable(),
3113
- replaces: z33.string().max(300).nullable()
3195
+ replaces: z34.string().max(300).nullable()
3114
3196
  });
3115
- var CodingSessionRecord = z33.strictObject({
3197
+ var CodingSessionRecord = z34.strictObject({
3116
3198
  id: SessionKey,
3117
3199
  provider: CodingProviderName,
3118
3200
  providerSessionId: SessionKey.nullable(),
3119
3201
  cwd: LocalPath,
3120
- title: z33.string().max(500),
3121
- model: z33.string().max(200).nullable(),
3122
- effort: z33.string().max(40).nullable(),
3123
- origin: z33.enum(["started", "takeover"]),
3202
+ title: z34.string().max(500),
3203
+ model: z34.string().max(200).nullable(),
3204
+ effort: z34.string().max(40).nullable(),
3205
+ origin: z34.enum(["started", "takeover"]),
3124
3206
  createdAt: IsoTime,
3125
3207
  updatedAt: IsoTime,
3126
- lastRunId: z33.string().max(64).nullable(),
3208
+ lastRunId: z34.string().max(64).nullable(),
3127
3209
  lastRunStatus: CodingRunStatus.nullable(),
3128
- queued: z33.array(z33.string().max(1048576)).max(100),
3210
+ queued: z34.array(z34.string().max(1048576)).max(100),
3129
3211
  agent: CodingSessionAgent.nullable(),
3130
- agentRemovedDue: z33.boolean()
3212
+ agentRemovedDue: z34.boolean()
3131
3213
  });
3132
- var CodingActiveElsewhere = z33.strictObject({
3133
- reason: z33.enum(["process", "recent-write", "open-tool-call", "open"]),
3214
+ var CodingActiveElsewhere = z34.strictObject({
3215
+ reason: z34.enum(["process", "recent-write", "open-tool-call", "open"]),
3134
3216
  message: ShortText,
3135
3217
  /** The process driving it, when the evidence is a process (re-checked before any stop). */
3136
- pid: z33.int().min(1).nullable()
3218
+ pid: z34.int().min(1).nullable()
3137
3219
  });
3138
- var CodingTitleSource = z33.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt", "unknown"]);
3139
- var CodingDiscoveredChat = z33.strictObject({
3220
+ var CodingTitleSource = z34.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt", "unknown"]);
3221
+ var CodingDiscoveredChat = z34.strictObject({
3140
3222
  provider: CodingProviderName,
3141
3223
  providerSessionId: SessionKey,
3142
3224
  cwd: LocalPath.nullable(),
3143
- title: z33.string().max(500),
3225
+ title: z34.string().max(500),
3144
3226
  titleSource: CodingTitleSource.optional(),
3145
- titlePending: z33.boolean().optional(),
3146
- archived: z33.boolean().optional(),
3147
- scheduled: z33.boolean().optional(),
3148
- unlisted: z33.boolean().optional(),
3227
+ titlePending: z34.boolean().optional(),
3228
+ archived: z34.boolean().optional(),
3229
+ scheduled: z34.boolean().optional(),
3230
+ unlisted: z34.boolean().optional(),
3149
3231
  unavailable: ShortText.nullable(),
3150
3232
  updatedAt: IsoTime,
3151
- source: z33.string().max(60).nullable(),
3233
+ source: z34.string().max(60).nullable(),
3152
3234
  activeElsewhere: CodingActiveElsewhere.nullable()
3153
3235
  });
3154
- var CodingTranscriptItem = z33.discriminatedUnion("kind", [
3155
- z33.strictObject({ kind: z33.literal("user"), id: z33.string().max(200), text: z33.string(), at: IsoTime.nullable() }),
3156
- z33.strictObject({ kind: z33.literal("text"), id: z33.string().max(200), text: z33.string() }),
3157
- z33.strictObject({ kind: z33.literal("text-delta"), id: z33.string().max(200), text: z33.string() }),
3158
- z33.strictObject({ kind: z33.literal("reasoning"), id: z33.string().max(200), text: z33.string() }),
3159
- z33.strictObject({ kind: z33.literal("tool-call"), id: z33.string().max(200), name: z33.string().max(300), input: z33.unknown() }),
3160
- z33.strictObject({
3161
- kind: z33.literal("tool-result"),
3162
- id: z33.string().max(200),
3163
- output: z33.string(),
3164
- isError: z33.boolean(),
3236
+ var CodingTranscriptItem = z34.discriminatedUnion("kind", [
3237
+ z34.strictObject({ kind: z34.literal("user"), id: z34.string().max(200), text: z34.string(), at: IsoTime.nullable() }),
3238
+ z34.strictObject({ kind: z34.literal("text"), id: z34.string().max(200), text: z34.string() }),
3239
+ z34.strictObject({ kind: z34.literal("text-delta"), id: z34.string().max(200), text: z34.string() }),
3240
+ z34.strictObject({ kind: z34.literal("reasoning"), id: z34.string().max(200), text: z34.string() }),
3241
+ z34.strictObject({ kind: z34.literal("tool-call"), id: z34.string().max(200), name: z34.string().max(300), input: z34.unknown() }),
3242
+ z34.strictObject({
3243
+ kind: z34.literal("tool-result"),
3244
+ id: z34.string().max(200),
3245
+ output: z34.string(),
3246
+ isError: z34.boolean(),
3165
3247
  /** The output's full size when only its start is here; `coding.item.full` reads the rest. */
3166
3248
  fullBytes: nonNegInt.optional()
3167
3249
  }),
3168
- z33.strictObject({ kind: z33.literal("usage"), usage: CodingRunUsage, costUsd: z33.number().nullable() }),
3169
- z33.strictObject({ kind: z33.literal("notice"), id: z33.string().max(200), level: z33.enum(["info", "warning"]), text: z33.string() }),
3170
- z33.strictObject({ kind: z33.literal("error"), id: z33.string().max(200), text: z33.string() })
3250
+ z34.strictObject({ kind: z34.literal("usage"), usage: CodingRunUsage, costUsd: z34.number().nullable() }),
3251
+ z34.strictObject({ kind: z34.literal("notice"), id: z34.string().max(200), level: z34.enum(["info", "warning"]), text: z34.string() }),
3252
+ z34.strictObject({ kind: z34.literal("error"), id: z34.string().max(200), text: z34.string() })
3171
3253
  ]);
3172
- var CodingHistoryRecord = z33.strictObject({
3173
- items: z33.array(CodingTranscriptItem),
3254
+ var CodingHistoryRecord = z34.strictObject({
3255
+ items: z34.array(CodingTranscriptItem),
3174
3256
  /** Only the end of the chat is here; "Show earlier" reads more (a bigger `max_bytes`). */
3175
- truncated: z33.boolean(),
3257
+ truncated: z34.boolean(),
3176
3258
  unavailable: ShortText.nullable(),
3177
3259
  /** The last live item `seq` this read already contains; a watch applies only newer ones. */
3178
3260
  seq: nonNegInt
3179
3261
  });
3180
- var CodingQuotaWindow = z33.strictObject({
3181
- label: z33.string().max(120),
3182
- usedPercent: z33.number().nullable(),
3183
- resetsAt: z33.string().max(80).nullable(),
3184
- valueLabel: z33.string().max(120).nullable()
3262
+ var CodingQuotaWindow = z34.strictObject({
3263
+ label: z34.string().max(120),
3264
+ usedPercent: z34.number().nullable(),
3265
+ resetsAt: z34.string().max(80).nullable(),
3266
+ valueLabel: z34.string().max(120).nullable()
3185
3267
  });
3186
- var CodingProviderProblem = z33.strictObject({
3187
- kind: z33.enum(["usage-limit", "signed-out"]),
3188
- message: z33.string().max(2e3),
3189
- until: z33.string().max(120).nullable(),
3268
+ var CodingProviderProblem = z34.strictObject({
3269
+ kind: z34.enum(["usage-limit", "signed-out"]),
3270
+ message: z34.string().max(2e3),
3271
+ until: z34.string().max(120).nullable(),
3190
3272
  at: IsoTime
3191
3273
  });
3192
- var CodingProviderBinary = z33.strictObject({
3274
+ var CodingProviderBinary = z34.strictObject({
3193
3275
  path: LocalPath,
3194
- version: z33.string().max(80).nullable(),
3195
- source: z33.enum(["desktop-app", "path", "npm-global", "configured"]),
3196
- sourceLabel: z33.string().max(120),
3197
- newer: z33.strictObject({ path: LocalPath, version: z33.string().max(80), sourceLabel: z33.string().max(120) }).nullable()
3276
+ version: z34.string().max(80).nullable(),
3277
+ source: z34.enum(["desktop-app", "path", "npm-global", "configured"]),
3278
+ sourceLabel: z34.string().max(120),
3279
+ newer: z34.strictObject({ path: LocalPath, version: z34.string().max(80), sourceLabel: z34.string().max(120) }).nullable()
3198
3280
  });
3199
- var CodingProviderStatus = z33.strictObject({
3281
+ var CodingProviderStatus = z34.strictObject({
3200
3282
  provider: CodingProviderName,
3201
- label: z33.string().max(60),
3202
- installed: z33.boolean(),
3203
- version: z33.string().max(80).nullable(),
3204
- loggedIn: z33.boolean(),
3205
- billing: z33.enum(["subscription", "api", "unknown"]),
3206
- plan: z33.string().max(80).nullable(),
3207
- account: z33.string().max(320).nullable(),
3283
+ label: z34.string().max(60),
3284
+ installed: z34.boolean(),
3285
+ version: z34.string().max(80).nullable(),
3286
+ loggedIn: z34.boolean(),
3287
+ billing: z34.enum(["subscription", "api", "unknown"]),
3288
+ plan: z34.string().max(80).nullable(),
3289
+ account: z34.string().max(320).nullable(),
3208
3290
  problem: ShortText.nullable(),
3209
3291
  fix: ShortText.nullable(),
3210
- ready: z33.boolean(),
3292
+ ready: z34.boolean(),
3211
3293
  lastProblem: CodingProviderProblem.nullable(),
3212
- quota: z33.array(CodingQuotaWindow).max(20),
3213
- models: z33.array(z33.strictObject({ id: z33.string().max(200), label: z33.string().max(200) })).max(200),
3214
- efforts: z33.array(z33.string().max(40)).max(20),
3215
- defaultModel: z33.strictObject({ id: z33.string().max(200), source: z33.enum(["settings", "driver"]) }).nullable(),
3216
- defaultEffort: z33.string().max(40).nullable(),
3294
+ quota: z34.array(CodingQuotaWindow).max(20),
3295
+ models: z34.array(z34.strictObject({ id: z34.string().max(200), label: z34.string().max(200) })).max(200),
3296
+ efforts: z34.array(z34.string().max(40)).max(20),
3297
+ defaultModel: z34.strictObject({ id: z34.string().max(200), source: z34.enum(["settings", "driver"]) }).nullable(),
3298
+ defaultEffort: z34.string().max(40).nullable(),
3217
3299
  binary: CodingProviderBinary.nullable()
3218
3300
  });
3219
- var CodingChatPreference = z33.strictObject({
3220
- title: z33.string().max(500).nullable(),
3221
- pinned: z33.boolean(),
3222
- hidden: z33.boolean(),
3301
+ var CodingChatPreference = z34.strictObject({
3302
+ title: z34.string().max(500).nullable(),
3303
+ pinned: z34.boolean(),
3304
+ hidden: z34.boolean(),
3223
3305
  /** When the person last had this chat open on any screen of this computer (the "New output" dot). */
3224
3306
  lastSeenAt: IsoTime.nullable(),
3225
3307
  updatedAt: IsoTime.nullable()
3226
3308
  });
3227
- var CodingTitleStatus = z33.strictObject({
3228
- owner: z33.boolean(),
3229
- pending: z33.boolean(),
3309
+ var CodingTitleStatus = z34.strictObject({
3310
+ owner: z34.boolean(),
3311
+ pending: z34.boolean(),
3230
3312
  problem: ShortText.nullable(),
3231
3313
  renames: ShortText.nullable()
3232
3314
  });
3233
- var CodingRecentRow = z33.strictObject({
3234
- target: z33.string().min(3).max(200),
3235
- title: z33.string().max(500),
3315
+ var CodingRecentRow = z34.strictObject({
3316
+ target: z34.string().min(3).max(200),
3317
+ title: z34.string().max(500),
3236
3318
  provider: CodingProviderName,
3237
3319
  sessionId: SessionKey.nullable(),
3238
3320
  providerSessionId: SessionKey.nullable(),
3239
3321
  cwd: LocalPath.nullable(),
3240
3322
  updatedAt: IsoTime,
3241
- state: z33.enum(["running", "needs_attention", "new_output", "elsewhere", "idle"]),
3242
- stateLabel: z33.string().max(120).nullable(),
3243
- pinned: z33.boolean(),
3323
+ state: z34.enum(["running", "needs_attention", "new_output", "elsewhere", "idle"]),
3324
+ stateLabel: z34.string().max(120).nullable(),
3325
+ pinned: z34.boolean(),
3244
3326
  startedBy: CodingStartedBy.nullable()
3245
3327
  });
3246
- var CodingFolderCheck = z33.strictObject({
3247
- path: z33.string().max(4096),
3248
- exists: z33.boolean(),
3249
- isDirectory: z33.boolean()
3328
+ var CodingFolderCheck = z34.strictObject({
3329
+ path: z34.string().max(4096),
3330
+ exists: z34.boolean(),
3331
+ isDirectory: z34.boolean()
3250
3332
  });
3251
- var CodingRecentFolder = z33.strictObject({ path: LocalPath, lastUsedAt: IsoTime, exists: z33.boolean() });
3252
- var CodingAgentSelectionParams = z33.strictObject({
3253
- agent_id: z33.string().min(1).max(64),
3254
- version_id: z33.string().min(1).max(64).optional(),
3255
- variables: z33.record(z33.string().max(200), z33.unknown()).optional()
3333
+ var CodingRecentFolder = z34.strictObject({ path: LocalPath, lastUsedAt: IsoTime, exists: z34.boolean() });
3334
+ var CodingAgentSelectionParams = z34.strictObject({
3335
+ agent_id: z34.string().min(1).max(64),
3336
+ version_id: z34.string().min(1).max(64).optional(),
3337
+ variables: z34.record(z34.string().max(200), z34.unknown()).optional()
3256
3338
  });
3257
- var CodingSendResult = z33.strictObject({
3339
+ var CodingSendResult = z34.strictObject({
3258
3340
  session: CodingSessionRecord,
3259
3341
  run: CodingRunRecord.nullable(),
3260
3342
  /** The prompt waits behind a live run (it shows as a queued bubble). */
3261
- queued: z33.boolean()
3343
+ queued: z34.boolean()
3262
3344
  });
3263
- var CodingProvidersParams = z33.strictObject({});
3264
- var CodingProvidersResult = z33.strictObject({ providers: z33.array(CodingProviderStatus).max(4) });
3265
- var CodingSessionsListParams = z33.strictObject({});
3266
- var CodingSessionsListResult = z33.strictObject({
3267
- sessions: z33.array(CodingSessionRecord),
3345
+ var CodingProvidersParams = z34.strictObject({});
3346
+ var CodingProvidersResult = z34.strictObject({ providers: z34.array(CodingProviderStatus).max(4) });
3347
+ var CodingSessionsListParams = z34.strictObject({});
3348
+ var CodingSessionsListResult = z34.strictObject({
3349
+ sessions: z34.array(CodingSessionRecord),
3268
3350
  /** The latest run of each session, by session id. */
3269
- runs: z33.record(z33.string().max(128), CodingRunRecord),
3270
- recent: z33.array(CodingRecentRow),
3351
+ runs: z34.record(z34.string().max(128), CodingRunRecord),
3352
+ recent: z34.array(CodingRecentRow),
3271
3353
  title_status: CodingTitleStatus
3272
3354
  });
3273
- var CodingDiscoverParams = z33.strictObject({ limit: z33.int().min(1).max(1e3).optional() });
3274
- var CodingDiscoverResult = z33.strictObject({ chats: z33.array(CodingDiscoveredChat) });
3275
- var CodingRunsListParams = z33.strictObject({ session_id: SessionKey });
3276
- var CodingRunsListResult = z33.strictObject({ runs: z33.array(CodingRunRecord) });
3277
- var CodingHistoryParams = z33.strictObject({ session_id: SessionKey, max_bytes: z33.int().min(1024).max(209715200).optional() });
3355
+ var CodingDiscoverParams = z34.strictObject({ limit: z34.int().min(1).max(1e3).optional() });
3356
+ var CodingDiscoverResult = z34.strictObject({ chats: z34.array(CodingDiscoveredChat) });
3357
+ var CodingRunsListParams = z34.strictObject({ session_id: SessionKey });
3358
+ var CodingRunsListResult = z34.strictObject({ runs: z34.array(CodingRunRecord) });
3359
+ var CodingHistoryParams = z34.strictObject({ session_id: SessionKey, max_bytes: z34.int().min(1024).max(209715200).optional() });
3278
3360
  var CodingHistoryResult = CodingHistoryRecord;
3279
- var CodingTranscriptReadParams = z33.strictObject({
3361
+ var CodingTranscriptReadParams = z34.strictObject({
3280
3362
  provider: CodingProviderName,
3281
3363
  provider_session_id: SessionKey,
3282
- max_bytes: z33.int().min(1024).max(209715200).optional()
3364
+ max_bytes: z34.int().min(1024).max(209715200).optional()
3283
3365
  });
3284
3366
  var CodingTranscriptReadResult = CodingHistoryRecord;
3285
- var CodingItemFullParams = z33.strictObject({
3367
+ var CodingItemFullParams = z34.strictObject({
3286
3368
  provider: CodingProviderName,
3287
3369
  provider_session_id: SessionKey,
3288
- item_id: z33.string().min(1).max(200)
3289
- });
3290
- var CodingItemFullResult = z33.strictObject({ output: z33.string(), bytes: nonNegInt });
3291
- var CodingActivityParams = z33.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3292
- var CodingActivityResult = z33.strictObject({ active: CodingActiveElsewhere.nullable() });
3293
- var CodingFoldersRecentParams = z33.strictObject({});
3294
- var CodingFoldersRecentResult = z33.strictObject({ folders: z33.array(CodingRecentFolder).max(100) });
3295
- var CodingFoldersCheckParams = z33.strictObject({ path: z33.string().min(1).max(4096) });
3370
+ item_id: z34.string().min(1).max(200)
3371
+ });
3372
+ var CodingItemFullResult = z34.strictObject({ output: z34.string(), bytes: nonNegInt });
3373
+ var CodingActivityParams = z34.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3374
+ var CodingActivityResult = z34.strictObject({ active: CodingActiveElsewhere.nullable() });
3375
+ var CodingFoldersRecentParams = z34.strictObject({});
3376
+ var CodingFoldersRecentResult = z34.strictObject({ folders: z34.array(CodingRecentFolder).max(100) });
3377
+ var CodingFoldersCheckParams = z34.strictObject({ path: z34.string().min(1).max(4096) });
3296
3378
  var CodingFoldersCheckResult = CodingFolderCheck;
3297
- var CodingFoldersCreateParams = z33.strictObject({ path: z33.string().min(1).max(4096) });
3379
+ var CodingFoldersCreateParams = z34.strictObject({ path: z34.string().min(1).max(4096) });
3298
3380
  var CodingFoldersCreateResult = CodingFolderCheck;
3299
- var CodingStartParams = z33.strictObject({
3381
+ var CodingStartParams = z34.strictObject({
3300
3382
  provider: CodingProviderName,
3301
- cwd: z33.string().min(1).max(4096),
3302
- prompt: z33.string().min(1).max(1048576),
3303
- model: z33.string().min(1).max(200).optional(),
3304
- effort: z33.string().min(1).max(40).optional(),
3383
+ cwd: z34.string().min(1).max(4096),
3384
+ prompt: z34.string().min(1).max(1048576),
3385
+ model: z34.string().min(1).max(200).optional(),
3386
+ effort: z34.string().min(1).max(40).optional(),
3305
3387
  agent: CodingAgentSelectionParams.optional(),
3306
3388
  /** One of the person's coding accounts on this computer (Accounts); absent = the default login. */
3307
- account_profile_id: z33.string().min(1).max(64).optional(),
3389
+ account_profile_id: z34.string().min(1).max(64).optional(),
3308
3390
  client_request_id: CodingClientRequestId
3309
3391
  });
3310
3392
  var CodingStartResult = CodingSendResult;
3311
- var CodingTakeoverParams = z33.strictObject({
3393
+ var CodingTakeoverParams = z34.strictObject({
3312
3394
  provider: CodingProviderName,
3313
3395
  provider_session_id: SessionKey,
3314
- cwd: z33.string().min(1).max(4096),
3315
- title: z33.string().max(500).optional(),
3396
+ cwd: z34.string().min(1).max(4096),
3397
+ title: z34.string().max(500).optional(),
3316
3398
  agent: CodingAgentSelectionParams.optional(),
3317
- confirm_elsewhere: z33.boolean().optional()
3399
+ confirm_elsewhere: z34.boolean().optional()
3318
3400
  });
3319
- var CodingTakeoverResult = z33.strictObject({ session: CodingSessionRecord });
3320
- var CodingSendParams = z33.strictObject({
3401
+ var CodingTakeoverResult = z34.strictObject({ session: CodingSessionRecord });
3402
+ var CodingSendParams = z34.strictObject({
3321
3403
  session_id: SessionKey,
3322
- prompt: z33.string().min(1).max(1048576),
3404
+ prompt: z34.string().min(1).max(1048576),
3323
3405
  client_request_id: CodingClientRequestId
3324
3406
  });
3325
- var CodingStopParams = z33.strictObject({ run_id: z33.string().min(1).max(64) });
3326
- var CodingStopResult = z33.strictObject({ run: CodingRunRecord.nullable() });
3327
- var CodingStopElsewhereParams = z33.strictObject({
3407
+ var CodingStopParams = z34.strictObject({ run_id: z34.string().min(1).max(64) });
3408
+ var CodingStopResult = z34.strictObject({ run: CodingRunRecord.nullable() });
3409
+ var CodingStopElsewhereParams = z34.strictObject({
3328
3410
  provider: CodingProviderName,
3329
3411
  provider_session_id: SessionKey,
3330
- pid: z33.int().min(1)
3412
+ pid: z34.int().min(1)
3331
3413
  });
3332
- var CodingStopElsewhereResult = z33.strictObject({ stopped: z33.boolean(), message: ShortText });
3333
- var CodingOptionsSetParams = z33.strictObject({
3414
+ var CodingStopElsewhereResult = z34.strictObject({ stopped: z34.boolean(), message: ShortText });
3415
+ var CodingOptionsSetParams = z34.strictObject({
3334
3416
  session_id: SessionKey,
3335
- model: z33.string().max(200).optional(),
3336
- effort: z33.string().max(40).optional()
3337
- });
3338
- var CodingOptionsSetResult = z33.strictObject({ session: CodingSessionRecord });
3339
- var CodingAgentSetParams = z33.strictObject({ session_id: SessionKey, agent: CodingAgentSelectionParams.optional() });
3340
- var CodingAgentSetResult = z33.strictObject({ session: CodingSessionRecord });
3341
- var CodingAgentsAccessParams = z33.strictObject({});
3342
- var CodingAgentsAccessResult = z33.strictObject({
3343
- signedIn: z33.boolean(),
3344
- userId: z33.string().max(64).nullable(),
3345
- organizationId: z33.string().max(64).nullable(),
3346
- configured: z33.boolean()
3347
- });
3348
- var CodingTitlesStatusParams = z33.strictObject({});
3417
+ model: z34.string().max(200).optional(),
3418
+ effort: z34.string().max(40).optional()
3419
+ });
3420
+ var CodingOptionsSetResult = z34.strictObject({ session: CodingSessionRecord });
3421
+ var CodingAgentSetParams = z34.strictObject({ session_id: SessionKey, agent: CodingAgentSelectionParams.optional() });
3422
+ var CodingAgentSetResult = z34.strictObject({ session: CodingSessionRecord });
3423
+ var CodingAgentsAccessParams = z34.strictObject({});
3424
+ var CodingAgentsAccessResult = z34.strictObject({
3425
+ signedIn: z34.boolean(),
3426
+ userId: z34.string().max(64).nullable(),
3427
+ organizationId: z34.string().max(64).nullable(),
3428
+ configured: z34.boolean()
3429
+ });
3430
+ var CodingTitlesStatusParams = z34.strictObject({});
3349
3431
  var CodingTitlesStatusResult = CodingTitleStatus;
3350
- var CodingPrefsListParams = z33.strictObject({});
3351
- var CodingPrefsListResult = z33.strictObject({ preferences: z33.record(z33.string().max(200), CodingChatPreference) });
3352
- var CodingPrefsSetParams = z33.strictObject({
3353
- key: z33.string().min(1).max(200),
3354
- title: z33.string().min(1).max(500).optional(),
3355
- clear_title: z33.boolean().optional(),
3356
- pinned: z33.boolean().optional(),
3357
- hidden: z33.boolean().optional()
3432
+ var CodingPrefsListParams = z34.strictObject({});
3433
+ var CodingPrefsListResult = z34.strictObject({ preferences: z34.record(z34.string().max(200), CodingChatPreference) });
3434
+ var CodingPrefsSetParams = z34.strictObject({
3435
+ key: z34.string().min(1).max(200),
3436
+ title: z34.string().min(1).max(500).optional(),
3437
+ clear_title: z34.boolean().optional(),
3438
+ pinned: z34.boolean().optional(),
3439
+ hidden: z34.boolean().optional()
3358
3440
  });
3359
3441
  var CodingPrefsSetResult = CodingPrefsListResult;
3360
- var CodingRecentSeenParams = z33.strictObject({ target: z33.string().min(3).max(200) });
3361
- var CodingRecentSeenResult = z33.strictObject({ recent: z33.array(CodingRecentRow) });
3362
- var CodingSearchParams = z33.strictObject({
3363
- query: z33.string().min(1).max(500),
3442
+ var CodingRecentSeenParams = z34.strictObject({ target: z34.string().min(3).max(200) });
3443
+ var CodingRecentSeenResult = z34.strictObject({ recent: z34.array(CodingRecentRow) });
3444
+ var CodingSearchParams = z34.strictObject({
3445
+ query: z34.string().min(1).max(500),
3364
3446
  cursor: nonNegInt.optional(),
3365
- limit: z33.int().min(1).max(100).optional()
3447
+ limit: z34.int().min(1).max(100).optional()
3366
3448
  });
3367
- var CodingSearchResult = z33.strictObject({
3368
- query: z33.string().max(500),
3369
- hits: z33.array(
3370
- z33.strictObject({
3449
+ var CodingSearchResult = z34.strictObject({
3450
+ query: z34.string().max(500),
3451
+ hits: z34.array(
3452
+ z34.strictObject({
3371
3453
  provider: CodingProviderName,
3372
3454
  providerSessionId: SessionKey,
3373
- title: z33.string().max(500),
3455
+ title: z34.string().max(500),
3374
3456
  cwd: LocalPath.nullable(),
3375
3457
  updatedAt: IsoTime,
3376
- where: z33.enum(["title", "content"]),
3377
- snippet: z33.string().max(2e3).nullable()
3458
+ where: z34.enum(["title", "content"]),
3459
+ snippet: z34.string().max(2e3).nullable()
3378
3460
  })
3379
3461
  ),
3380
3462
  scanned: nonNegInt,
3381
3463
  total: nonNegInt,
3382
3464
  nextCursor: nonNegInt.nullable()
3383
3465
  });
3384
- var CodingReconcileParams = z33.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3385
- var CodingReconcileResult = z33.strictObject({
3386
- state: z33.enum(["done", "blocked", "nothing_to_do"]),
3387
- summary: z33.string().max(400)
3466
+ var CodingReconcileParams = z34.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3467
+ var CodingReconcileResult = z34.strictObject({
3468
+ state: z34.enum(["done", "blocked", "nothing_to_do"]),
3469
+ summary: z34.string().max(400)
3388
3470
  });
3389
- var CodingTranscriptRawParams = z33.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3390
- var CodingTranscriptRawResult = z33.strictObject({
3391
- available: z33.boolean(),
3471
+ var CodingTranscriptRawParams = z34.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3472
+ var CodingTranscriptRawResult = z34.strictObject({
3473
+ available: z34.boolean(),
3392
3474
  reason: ShortText.nullable(),
3393
- file_name: z33.string().max(300).nullable(),
3475
+ file_name: z34.string().max(300).nullable(),
3394
3476
  bytes: nonNegInt,
3395
3477
  /** The opt-in cloud backup was refreshed (false: off, unchanged, or signed out). */
3396
- backup_refreshed: z33.boolean(),
3478
+ backup_refreshed: z34.boolean(),
3397
3479
  /** Subagent transcripts beside the chat (Claude Code), downloaded separately. */
3398
3480
  subagents: nonNegInt
3399
3481
  });
3400
- var CodingWatchParams = z33.strictObject({});
3401
- var CodingWatchResult = z33.strictObject({ resource_id: ResourceId });
3402
- var CodingSessionWatchParams = z33.strictObject({ session_id: SessionKey, since_seq: nonNegInt.optional() });
3403
- var CodingSessionWatchResult = z33.strictObject({
3482
+ var CodingWatchParams = z34.strictObject({});
3483
+ var CodingWatchResult = z34.strictObject({ resource_id: ResourceId });
3484
+ var CodingSessionWatchParams = z34.strictObject({ session_id: SessionKey, since_seq: nonNegInt.optional() });
3485
+ var CodingSessionWatchResult = z34.strictObject({
3404
3486
  resource_id: ResourceId,
3405
3487
  /** The newest item seq the device has for this session right now. */
3406
3488
  seq: nonNegInt
3407
3489
  });
3408
- var CodingChangedEvent = z33.discriminatedUnion("kind", [
3409
- z33.strictObject({ kind: z33.literal("session"), session: CodingSessionRecord }),
3410
- z33.strictObject({ kind: z33.literal("run"), run: CodingRunRecord }),
3411
- z33.strictObject({ kind: z33.literal("preferences"), preferences: z33.record(z33.string().max(200), CodingChatPreference) }),
3412
- z33.strictObject({ kind: z33.literal("titles") }),
3413
- z33.strictObject({ kind: z33.literal("recent"), recent: z33.array(CodingRecentRow) })
3490
+ var CodingChangedEvent = z34.discriminatedUnion("kind", [
3491
+ z34.strictObject({ kind: z34.literal("session"), session: CodingSessionRecord }),
3492
+ z34.strictObject({ kind: z34.literal("run"), run: CodingRunRecord }),
3493
+ z34.strictObject({ kind: z34.literal("preferences"), preferences: z34.record(z34.string().max(200), CodingChatPreference) }),
3494
+ z34.strictObject({ kind: z34.literal("titles") }),
3495
+ z34.strictObject({ kind: z34.literal("recent"), recent: z34.array(CodingRecentRow) })
3414
3496
  ]);
3415
- var CodingWatchStateEvent = z33.strictObject({ live: z33.boolean(), reason: ShortText.nullable(), beat_ms: z33.int().min(1e3) });
3416
- var CodingItemEvent = z33.strictObject({
3497
+ var CodingWatchStateEvent = z34.strictObject({ live: z34.boolean(), reason: ShortText.nullable(), beat_ms: z34.int().min(1e3) });
3498
+ var CodingItemEvent = z34.strictObject({
3417
3499
  session_id: SessionKey,
3418
- run_id: z33.string().min(1).max(64),
3500
+ run_id: z34.string().min(1).max(64),
3419
3501
  seq: nonNegInt,
3420
3502
  item: CodingTranscriptItem
3421
3503
  });
3422
- var CodingGapEvent = z33.strictObject({ session_id: SessionKey, since_seq: nonNegInt, seq: nonNegInt });
3423
- var SessionIdentifyParams = z33.strictObject({ label: z33.string().min(1).max(60) });
3424
- var SessionIdentifyResult = z33.strictObject({ label: z33.string().max(60) });
3504
+ var CodingGapEvent = z34.strictObject({ session_id: SessionKey, since_seq: nonNegInt, seq: nonNegInt });
3505
+ var SessionIdentifyParams = z34.strictObject({ label: z34.string().min(1).max(60) });
3506
+ var SessionIdentifyResult = z34.strictObject({ label: z34.string().max(60) });
3425
3507
 
3426
3508
  // src/schema/browser.ts
3427
- import { z as z34 } from "zod";
3428
- var BrowserClientInstance = z34.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3429
- var BrowserKind = z34.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3430
- var BrowserSessionState = z34.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3431
- var BrowserSession = z34.strictObject({
3509
+ import { z as z35 } from "zod";
3510
+ var BrowserClientInstance = z35.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3511
+ var BrowserKind = z35.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3512
+ var BrowserSessionState = z35.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3513
+ var BrowserSession = z35.strictObject({
3432
3514
  client_instance: BrowserClientInstance,
3433
3515
  /** What the person sees ("Chrome — Work"), set by the extension. */
3434
- client_label: z34.string().min(1).max(128),
3516
+ client_label: z35.string().min(1).max(128),
3435
3517
  browser: BrowserKind,
3436
- extension_version: z34.string().min(1).max(32),
3518
+ extension_version: z35.string().min(1).max(32),
3437
3519
  state: BrowserSessionState,
3438
3520
  /** True only for `connected`: an agent's call can reach this session. */
3439
- routable: z34.boolean(),
3521
+ routable: z35.boolean(),
3440
3522
  /** The extension's account email from its token (null when signed out or unknown). */
3441
- account_email: z34.string().max(320).nullable(),
3523
+ account_email: z35.string().max(320).nullable(),
3442
3524
  connected_at_ms: epochMs,
3443
3525
  last_call_at_ms: epochMs.nullable(),
3444
3526
  calls: nonNegInt,
@@ -3447,119 +3529,119 @@ var BrowserSession = z34.strictObject({
3447
3529
  p50_ms: nonNegInt.nullable(),
3448
3530
  p95_ms: nonNegInt.nullable(),
3449
3531
  /** A call is waiting for the person to confirm it in the browser. */
3450
- awaiting_confirmation: z34.boolean()
3532
+ awaiting_confirmation: z35.boolean()
3451
3533
  });
3452
- var BrowserRegisterParams = z34.strictObject({
3534
+ var BrowserRegisterParams = z35.strictObject({
3453
3535
  client_instance: BrowserClientInstance,
3454
- client_label: z34.string().min(1).max(128),
3536
+ client_label: z35.string().min(1).max(128),
3455
3537
  browser: BrowserKind,
3456
- extension_version: z34.string().min(1).max(32),
3538
+ extension_version: z35.string().min(1).max(32),
3457
3539
  /** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
3458
- account_token: z34.string().min(16).max(8192).nullable()
3540
+ account_token: z35.string().min(16).max(8192).nullable()
3459
3541
  });
3460
- var BrowserRegisterResult = z34.strictObject({ session: BrowserSession });
3461
- var BrowserCallError = z34.strictObject({
3462
- message: z34.string().max(1e3),
3542
+ var BrowserRegisterResult = z35.strictObject({ session: BrowserSession });
3543
+ var BrowserCallError = z35.strictObject({
3544
+ message: z35.string().max(1e3),
3463
3545
  /** The extension's own error code, when it has one ("tool_not_found", "denied"). */
3464
- code: z34.string().max(64).nullable()
3546
+ code: z35.string().max(64).nullable()
3465
3547
  });
3466
- var BrowserResultParams = z34.strictObject({
3467
- call_id: z34.string().min(1).max(64),
3468
- ok: z34.boolean(),
3548
+ var BrowserResultParams = z35.strictObject({
3549
+ call_id: z35.string().min(1).max(64),
3550
+ ok: z35.boolean(),
3469
3551
  /** The tool's result when ok (any JSON). */
3470
- result: z34.unknown(),
3552
+ result: z35.unknown(),
3471
3553
  error: BrowserCallError.nullable()
3472
3554
  });
3473
- var BrowserResultResult = z34.strictObject({ accepted: z34.boolean() });
3474
- var BrowserCallPhase = z34.enum(["awaiting_confirmation", "running"]);
3475
- var BrowserProgressParams = z34.strictObject({ call_id: z34.string().min(1).max(64), phase: BrowserCallPhase });
3476
- var BrowserProgressResult = z34.strictObject({ accepted: z34.boolean() });
3477
- var BrowserSessionsParams = z34.strictObject({});
3478
- var BrowserSessionsResult = z34.strictObject({
3555
+ var BrowserResultResult = z35.strictObject({ accepted: z35.boolean() });
3556
+ var BrowserCallPhase = z35.enum(["awaiting_confirmation", "running"]);
3557
+ var BrowserProgressParams = z35.strictObject({ call_id: z35.string().min(1).max(64), phase: BrowserCallPhase });
3558
+ var BrowserProgressResult = z35.strictObject({ accepted: z35.boolean() });
3559
+ var BrowserSessionsParams = z35.strictObject({});
3560
+ var BrowserSessionsResult = z35.strictObject({
3479
3561
  /** The person's Browser connection switch. Off: no pairing, no extension sessions. */
3480
- enabled: z34.boolean(),
3562
+ enabled: z35.boolean(),
3481
3563
  /** Whether Matrx 2 is signed in (without an owner no session is routable). */
3482
- owner_signed_in: z34.boolean(),
3483
- sessions: z34.array(BrowserSession).max(64)
3484
- });
3485
- var BrowserDisconnectParams = z34.strictObject({ client_instance: BrowserClientInstance });
3486
- var BrowserDisconnectResult = z34.strictObject({ disconnected: z34.boolean() });
3487
- var BrowserSetEnabledParams = z34.strictObject({ enabled: z34.boolean() });
3488
- var BrowserSetEnabledResult = z34.strictObject({ enabled: z34.boolean() });
3489
- var BrowserPairCodeParams = z34.strictObject({});
3490
- var BrowserPairCodeResult = z34.strictObject({ code: z34.string().min(16).max(128) });
3491
- var BrowserPairResetParams = z34.strictObject({});
3492
- var BrowserCallParams = z34.strictObject({
3493
- tool: z34.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3494
- args: z34.record(z34.string(), z34.unknown()),
3564
+ owner_signed_in: z35.boolean(),
3565
+ sessions: z35.array(BrowserSession).max(64)
3566
+ });
3567
+ var BrowserDisconnectParams = z35.strictObject({ client_instance: BrowserClientInstance });
3568
+ var BrowserDisconnectResult = z35.strictObject({ disconnected: z35.boolean() });
3569
+ var BrowserSetEnabledParams = z35.strictObject({ enabled: z35.boolean() });
3570
+ var BrowserSetEnabledResult = z35.strictObject({ enabled: z35.boolean() });
3571
+ var BrowserPairCodeParams = z35.strictObject({});
3572
+ var BrowserPairCodeResult = z35.strictObject({ code: z35.string().min(16).max(128) });
3573
+ var BrowserPairResetParams = z35.strictObject({});
3574
+ var BrowserCallParams = z35.strictObject({
3575
+ tool: z35.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3576
+ args: z35.record(z35.string(), z35.unknown()),
3495
3577
  /** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
3496
3578
  client_instance: BrowserClientInstance.optional(),
3497
3579
  /** How long to wait, including a person's confirmation; default 120 s. */
3498
- timeout_ms: z34.int().min(1e3).max(6e5).optional()
3580
+ timeout_ms: z35.int().min(1e3).max(6e5).optional()
3499
3581
  });
3500
- var BrowserCallResult = z34.strictObject({
3582
+ var BrowserCallResult = z35.strictObject({
3501
3583
  client_instance: BrowserClientInstance,
3502
- result: z34.unknown(),
3584
+ result: z35.unknown(),
3503
3585
  duration_ms: nonNegInt
3504
3586
  });
3505
- var BrowserToolMetricsParams = z34.strictObject({ client_instance: BrowserClientInstance });
3506
- var BrowserToolMetric = z34.strictObject({
3507
- tool: z34.string().max(256),
3587
+ var BrowserToolMetricsParams = z35.strictObject({ client_instance: BrowserClientInstance });
3588
+ var BrowserToolMetric = z35.strictObject({
3589
+ tool: z35.string().max(256),
3508
3590
  calls: nonNegInt,
3509
3591
  errors: nonNegInt,
3510
3592
  /** Over the last 200 answered calls; null before the first answer. */
3511
3593
  p50_ms: nonNegInt.nullable(),
3512
3594
  p95_ms: nonNegInt.nullable(),
3513
3595
  last_call_at_ms: epochMs.nullable(),
3514
- last_error: z34.string().max(2048).nullable()
3596
+ last_error: z35.string().max(2048).nullable()
3515
3597
  });
3516
- var BrowserToolMetricsResult = z34.strictObject({ client_instance: z34.string(), tools: z34.array(BrowserToolMetric) });
3517
- var BrowserResetCountersParams = z34.strictObject({ client_instance: BrowserClientInstance });
3518
- var BrowserResetCountersResult = z34.strictObject({ reset: z34.boolean() });
3519
- var BrowserLogParams = z34.strictObject({
3598
+ var BrowserToolMetricsResult = z35.strictObject({ client_instance: z35.string(), tools: z35.array(BrowserToolMetric) });
3599
+ var BrowserResetCountersParams = z35.strictObject({ client_instance: BrowserClientInstance });
3600
+ var BrowserResetCountersResult = z35.strictObject({ reset: z35.boolean() });
3601
+ var BrowserLogParams = z35.strictObject({
3520
3602
  /** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
3521
3603
  after_seq: nonNegInt.default(0),
3522
- limit: z34.int().min(1).max(500).default(500)
3604
+ limit: z35.int().min(1).max(500).default(500)
3523
3605
  });
3524
- var BrowserLogMessage = z34.strictObject({
3606
+ var BrowserLogMessage = z35.strictObject({
3525
3607
  seq: nonNegInt,
3526
3608
  at_ms: epochMs,
3527
- direction: z34.enum(["to_browser", "from_browser", "core"]),
3528
- client_instance: z34.string(),
3529
- kind: z34.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
3530
- tool: z34.string().nullable(),
3531
- call_id: z34.string().nullable(),
3532
- ok: z34.boolean().nullable(),
3533
- detail: z34.string().max(1024)
3534
- });
3535
- var BrowserLogResult = z34.strictObject({
3536
- messages: z34.array(BrowserLogMessage),
3609
+ direction: z35.enum(["to_browser", "from_browser", "core"]),
3610
+ client_instance: z35.string(),
3611
+ kind: z35.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
3612
+ tool: z35.string().nullable(),
3613
+ call_id: z35.string().nullable(),
3614
+ ok: z35.boolean().nullable(),
3615
+ detail: z35.string().max(1024)
3616
+ });
3617
+ var BrowserLogResult = z35.strictObject({
3618
+ messages: z35.array(BrowserLogMessage),
3537
3619
  /** The newest seq the core has written (pass it back as after_seq to follow the log). */
3538
3620
  last_seq: nonNegInt
3539
3621
  });
3540
- var BrowserInvokeEvent = z34.strictObject({
3541
- call_id: z34.string().min(1).max(64),
3542
- tool: z34.string().min(1).max(96),
3543
- args: z34.record(z34.string(), z34.unknown()),
3622
+ var BrowserInvokeEvent = z35.strictObject({
3623
+ call_id: z35.string().min(1).max(64),
3624
+ tool: z35.string().min(1).max(96),
3625
+ args: z35.record(z35.string(), z35.unknown()),
3544
3626
  deadline_ms: epochMs
3545
3627
  });
3546
- var BrowserSessionsChangedEvent = z34.strictObject({ count: nonNegInt, enabled: z34.boolean() });
3547
- var BrowserProgressEvent = z34.strictObject({
3548
- call_id: z34.string().min(1).max(64),
3628
+ var BrowserSessionsChangedEvent = z35.strictObject({ count: nonNegInt, enabled: z35.boolean() });
3629
+ var BrowserProgressEvent = z35.strictObject({
3630
+ call_id: z35.string().min(1).max(64),
3549
3631
  client_instance: BrowserClientInstance,
3550
3632
  phase: BrowserCallPhase
3551
3633
  });
3552
- var DesktopHealth = z34.strictObject({
3553
- status: z34.literal("ok"),
3554
- service: z34.literal("matrx-desktop"),
3555
- version: z34.string().max(32),
3556
- protocol_version: z34.string().max(16),
3557
- ws_path: z34.literal("/v1/connect"),
3558
- device_id: z34.string().max(64),
3559
- browser_connection: z34.enum(["on", "off"])
3560
- });
3561
- var BrowserPairRequest = z34.strictObject({ client_instance: BrowserClientInstance });
3562
- var BrowserPairResult = z34.strictObject({ pair_token: z34.string().min(16).max(128), ws_path: z34.literal("/v1/connect") });
3634
+ var DesktopHealth = z35.strictObject({
3635
+ status: z35.literal("ok"),
3636
+ service: z35.literal("matrx-desktop"),
3637
+ version: z35.string().max(32),
3638
+ protocol_version: z35.string().max(16),
3639
+ ws_path: z35.literal("/v1/connect"),
3640
+ device_id: z35.string().max(64),
3641
+ browser_connection: z35.enum(["on", "off"])
3642
+ });
3643
+ var BrowserPairRequest = z35.strictObject({ client_instance: BrowserClientInstance });
3644
+ var BrowserPairResult = z35.strictObject({ pair_token: z35.string().min(16).max(128), ws_path: z35.literal("/v1/connect") });
3563
3645
  var MATRX_EXTENSION_IDS = {
3564
3646
  store: "hnfolienncfklkgmdjjmhhegglimlamg",
3565
3647
  development: "cihdmkcdjjckfhjpgoedmgfpoljebaml"
@@ -3567,641 +3649,641 @@ var MATRX_EXTENSION_IDS = {
3567
3649
  var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
3568
3650
 
3569
3651
  // src/schema/net.ts
3570
- import { z as z35 } from "zod";
3571
- var NetInfoParams = z35.strictObject({});
3572
- var NetAddress = z35.strictObject({
3573
- address: z35.string(),
3574
- family: z35.enum(["ipv4", "ipv6"]),
3575
- netmask: z35.string().nullable(),
3652
+ import { z as z36 } from "zod";
3653
+ var NetInfoParams = z36.strictObject({});
3654
+ var NetAddress = z36.strictObject({
3655
+ address: z36.string(),
3656
+ family: z36.enum(["ipv4", "ipv6"]),
3657
+ netmask: z36.string().nullable(),
3576
3658
  /** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
3577
- cidr: z35.string().nullable()
3659
+ cidr: z36.string().nullable()
3578
3660
  });
3579
- var NetInterface = z35.strictObject({
3580
- name: z35.string(),
3581
- mac: z35.string().nullable(),
3661
+ var NetInterface = z36.strictObject({
3662
+ name: z36.string(),
3663
+ mac: z36.string().nullable(),
3582
3664
  /** Loopback and other internal interfaces. */
3583
- internal: z35.boolean(),
3584
- addresses: z35.array(NetAddress)
3665
+ internal: z36.boolean(),
3666
+ addresses: z36.array(NetAddress)
3585
3667
  });
3586
- var NetInfoResult = z35.strictObject({
3587
- hostname: z35.string(),
3588
- interfaces: z35.array(NetInterface),
3668
+ var NetInfoResult = z36.strictObject({
3669
+ hostname: z36.string(),
3670
+ interfaces: z36.array(NetInterface),
3589
3671
  /** The default route's gateway; null when the OS does not say (or there is none). */
3590
- gateway: z35.string().nullable(),
3672
+ gateway: z36.string().nullable(),
3591
3673
  /** The DNS servers the OS uses; empty when it does not say. */
3592
- dns: z35.array(z35.string())
3674
+ dns: z36.array(z36.string())
3593
3675
  });
3594
- var NetWifiParams = z35.strictObject({});
3595
- var NetWifiNetwork = z35.strictObject({
3676
+ var NetWifiParams = z36.strictObject({});
3677
+ var NetWifiNetwork = z36.strictObject({
3596
3678
  /** null: the OS hides the name (macOS without Location Services for this app). */
3597
- ssid: z35.string().nullable(),
3679
+ ssid: z36.string().nullable(),
3598
3680
  /** dBm; null where the OS does not say. */
3599
- rssi: z35.int().nullable(),
3600
- channel: z35.string().nullable(),
3601
- security: z35.string().nullable()
3681
+ rssi: z36.int().nullable(),
3682
+ channel: z36.string().nullable(),
3683
+ security: z36.string().nullable()
3602
3684
  });
3603
- var NetWifiResult = z35.strictObject({
3685
+ var NetWifiResult = z36.strictObject({
3604
3686
  /** Whether the computer has a Wi-Fi interface at all. */
3605
- available: z35.boolean(),
3687
+ available: z36.boolean(),
3606
3688
  /** The network the computer is on; null when it is on none. */
3607
3689
  current: NetWifiNetwork.nullable(),
3608
3690
  /** Networks in range (may be empty where the OS lists none to apps). */
3609
- networks: z35.array(NetWifiNetwork)
3691
+ networks: z36.array(NetWifiNetwork)
3610
3692
  });
3611
- var NetBluetoothParams = z35.strictObject({});
3612
- var NetBluetoothDevice = z35.strictObject({
3613
- name: z35.string(),
3614
- address: z35.string().nullable(),
3615
- connected: z35.boolean(),
3693
+ var NetBluetoothParams = z36.strictObject({});
3694
+ var NetBluetoothDevice = z36.strictObject({
3695
+ name: z36.string(),
3696
+ address: z36.string().nullable(),
3697
+ connected: z36.boolean(),
3616
3698
  /** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
3617
- kind: z35.string().nullable(),
3699
+ kind: z36.string().nullable(),
3618
3700
  /** Battery percent, where the OS reports it. */
3619
- battery: z35.int().min(0).max(100).nullable()
3701
+ battery: z36.int().min(0).max(100).nullable()
3620
3702
  });
3621
- var NetBluetoothResult = z35.strictObject({
3703
+ var NetBluetoothResult = z36.strictObject({
3622
3704
  /** Bluetooth is on; null where the OS does not say. */
3623
- powered: z35.boolean().nullable(),
3624
- devices: z35.array(NetBluetoothDevice)
3625
- });
3626
- var NetDevicesParams = z35.strictObject({});
3627
- var NetDevice = z35.strictObject({
3628
- ip: z35.string(),
3629
- mac: z35.string().nullable(),
3630
- interface: z35.string().nullable(),
3705
+ powered: z36.boolean().nullable(),
3706
+ devices: z36.array(NetBluetoothDevice)
3707
+ });
3708
+ var NetDevicesParams = z36.strictObject({});
3709
+ var NetDevice = z36.strictObject({
3710
+ ip: z36.string(),
3711
+ mac: z36.string().nullable(),
3712
+ interface: z36.string().nullable(),
3631
3713
  /** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
3632
- hostname: z35.string().nullable()
3714
+ hostname: z36.string().nullable()
3633
3715
  });
3634
- var NetDevicesResult = z35.strictObject({ devices: z35.array(NetDevice) });
3635
- var NetMdnsParams = z35.strictObject({
3716
+ var NetDevicesResult = z36.strictObject({ devices: z36.array(NetDevice) });
3717
+ var NetMdnsParams = z36.strictObject({
3636
3718
  /** A service type ("_http._tcp"); absent lists the service types found. */
3637
- service_type: z35.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
3719
+ service_type: z36.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
3638
3720
  /** How long to listen. */
3639
- timeout_s: z35.int().min(1).max(30).default(3)
3721
+ timeout_s: z36.int().min(1).max(30).default(3)
3640
3722
  });
3641
- var NetMdnsService = z35.strictObject({
3642
- name: z35.string(),
3643
- type: z35.string(),
3644
- domain: z35.string(),
3645
- interface: z35.string().nullable()
3723
+ var NetMdnsService = z36.strictObject({
3724
+ name: z36.string(),
3725
+ type: z36.string(),
3726
+ domain: z36.string(),
3727
+ interface: z36.string().nullable()
3646
3728
  });
3647
- var NetMdnsResult = z35.strictObject({ services: z35.array(NetMdnsService) });
3648
- var NetScanParams = z35.strictObject({
3729
+ var NetMdnsResult = z36.strictObject({ services: z36.array(NetMdnsService) });
3730
+ var NetScanParams = z36.strictObject({
3649
3731
  /** A host name or address; a private or loopback address unless `allow_public`. */
3650
- host: z35.string().min(1).max(253),
3651
- ports: z35.array(z35.int().min(1).max(65535)).min(1).max(1024),
3652
- timeout_ms: z35.int().min(50).max(1e4).default(800),
3732
+ host: z36.string().min(1).max(253),
3733
+ ports: z36.array(z36.int().min(1).max(65535)).min(1).max(1024),
3734
+ timeout_ms: z36.int().min(50).max(1e4).default(800),
3653
3735
  /** Scanning a host on the public internet needs saying so. */
3654
- allow_public: z35.boolean().default(false)
3736
+ allow_public: z36.boolean().default(false)
3655
3737
  });
3656
- var NetScanResult = z35.strictObject({
3657
- host: z35.string(),
3738
+ var NetScanResult = z36.strictObject({
3739
+ host: z36.string(),
3658
3740
  /** The address the host resolved to. */
3659
- address: z35.string(),
3660
- open: z35.array(z35.int().min(1).max(65535)),
3741
+ address: z36.string(),
3742
+ open: z36.array(z36.int().min(1).max(65535)),
3661
3743
  closed: nonNegInt,
3662
3744
  elapsed_ms: nonNegInt
3663
3745
  });
3664
- var NetDownloadParams = z35.strictObject({
3665
- url: z35.string().min(1).max(8192).regex(/^https?:\/\//),
3746
+ var NetDownloadParams = z36.strictObject({
3747
+ url: z36.string().min(1).max(8192).regex(/^https?:\/\//),
3666
3748
  /** Where to save it: an absolute path (a folder keeps the URL's file name). */
3667
3749
  path: AbsPath,
3668
- overwrite: z35.boolean().default(false),
3669
- timeout_s: z35.int().min(1).max(3600).default(300),
3750
+ overwrite: z36.boolean().default(false),
3751
+ timeout_s: z36.int().min(1).max(3600).default(300),
3670
3752
  /** Refuse anything larger. */
3671
- max_bytes: z35.int().min(1).max(10737418240).default(2147483648)
3753
+ max_bytes: z36.int().min(1).max(10737418240).default(2147483648)
3672
3754
  });
3673
- var NetDownloadResult = z35.strictObject({
3674
- path: z35.string(),
3755
+ var NetDownloadResult = z36.strictObject({
3756
+ path: z36.string(),
3675
3757
  bytes: nonNegInt,
3676
- content_type: z35.string().nullable(),
3758
+ content_type: z36.string().nullable(),
3677
3759
  /** The final URL after redirects. */
3678
- url: z35.string(),
3760
+ url: z36.string(),
3679
3761
  elapsed_ms: nonNegInt
3680
3762
  });
3681
3763
 
3682
3764
  // src/schema/personal.ts
3683
- import { z as z36 } from "zod";
3684
- var Text = z36.string().max(65536);
3685
- var AutomationScriptParams = z36.strictObject({
3765
+ import { z as z37 } from "zod";
3766
+ var Text = z37.string().max(65536);
3767
+ var AutomationScriptParams = z37.strictObject({
3686
3768
  /** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
3687
- language: z36.enum(["applescript", "jxa", "powershell"]),
3688
- script: z36.string().min(1).max(262144),
3689
- timeout_s: z36.int().min(1).max(600).default(60)
3690
- });
3691
- var AutomationScriptResult = z36.strictObject({
3692
- stdout: z36.string(),
3693
- stderr: z36.string(),
3694
- exit_code: z36.int(),
3695
- timed_out: z36.boolean(),
3769
+ language: z37.enum(["applescript", "jxa", "powershell"]),
3770
+ script: z37.string().min(1).max(262144),
3771
+ timeout_s: z37.int().min(1).max(600).default(60)
3772
+ });
3773
+ var AutomationScriptResult = z37.strictObject({
3774
+ stdout: z37.string(),
3775
+ stderr: z37.string(),
3776
+ exit_code: z37.int(),
3777
+ timed_out: z37.boolean(),
3696
3778
  /** stdout or stderr was cut at 1 MiB. */
3697
- truncated: z36.boolean(),
3779
+ truncated: z37.boolean(),
3698
3780
  elapsed_ms: nonNegInt
3699
3781
  });
3700
- var MailAccountsParams = z36.strictObject({});
3701
- var MailAccount = z36.strictObject({ name: z36.string(), emails: z36.array(z36.string()), enabled: z36.boolean() });
3702
- var MailAccountsResult = z36.strictObject({ accounts: z36.array(MailAccount) });
3703
- var MailListParams = z36.strictObject({
3782
+ var MailAccountsParams = z37.strictObject({});
3783
+ var MailAccount = z37.strictObject({ name: z37.string(), emails: z37.array(z37.string()), enabled: z37.boolean() });
3784
+ var MailAccountsResult = z37.strictObject({ accounts: z37.array(MailAccount) });
3785
+ var MailListParams = z37.strictObject({
3704
3786
  /** The account's name in Mail; absent: every account. */
3705
- account: z36.string().min(1).max(256).optional(),
3787
+ account: z37.string().min(1).max(256).optional(),
3706
3788
  /** The mailbox's name ("INBOX", "Sent Messages"). */
3707
- mailbox: z36.string().min(1).max(256).default("INBOX"),
3708
- unread_only: z36.boolean().default(false),
3709
- limit: z36.int().min(1).max(200).default(25)
3710
- });
3711
- var MailMessage = z36.strictObject({
3712
- id: z36.string(),
3713
- subject: z36.string(),
3714
- sender: z36.string(),
3789
+ mailbox: z37.string().min(1).max(256).default("INBOX"),
3790
+ unread_only: z37.boolean().default(false),
3791
+ limit: z37.int().min(1).max(200).default(25)
3792
+ });
3793
+ var MailMessage = z37.strictObject({
3794
+ id: z37.string(),
3795
+ subject: z37.string(),
3796
+ sender: z37.string(),
3715
3797
  received_at_ms: epochMs.nullable(),
3716
- read: z36.boolean(),
3717
- account: z36.string(),
3718
- mailbox: z36.string(),
3798
+ read: z37.boolean(),
3799
+ account: z37.string(),
3800
+ mailbox: z37.string(),
3719
3801
  /** The first lines of the message's text. */
3720
- preview: z36.string()
3802
+ preview: z37.string()
3721
3803
  });
3722
- var MailListResult = z36.strictObject({ messages: z36.array(MailMessage) });
3723
- var MailSendParams = z36.strictObject({
3724
- to: z36.array(z36.string().min(3).max(320)).min(1).max(50),
3725
- cc: z36.array(z36.string().min(3).max(320)).max(50).default([]),
3726
- subject: z36.string().max(998),
3804
+ var MailListResult = z37.strictObject({ messages: z37.array(MailMessage) });
3805
+ var MailSendParams = z37.strictObject({
3806
+ to: z37.array(z37.string().min(3).max(320)).min(1).max(50),
3807
+ cc: z37.array(z37.string().min(3).max(320)).max(50).default([]),
3808
+ subject: z37.string().max(998),
3727
3809
  body: Text,
3728
3810
  /** The sending account's address; absent: Mail's default. */
3729
- from: z36.string().min(3).max(320).optional(),
3811
+ from: z37.string().min(3).max(320).optional(),
3730
3812
  /** false leaves it open in Mail as a draft for the person to send. */
3731
- send: z36.boolean().default(true)
3813
+ send: z37.boolean().default(true)
3732
3814
  });
3733
- var MailSendResult = z36.strictObject({ sent: z36.boolean() });
3734
- var OutlookStatusParams = z36.strictObject({});
3735
- var OutlookAccount = z36.strictObject({ name: z36.string(), email: z36.string().nullable() });
3736
- var OutlookStatusResult = z36.strictObject({
3815
+ var MailSendResult = z37.strictObject({ sent: z37.boolean() });
3816
+ var OutlookStatusParams = z37.strictObject({});
3817
+ var OutlookAccount = z37.strictObject({ name: z37.string(), email: z37.string().nullable() });
3818
+ var OutlookStatusResult = z37.strictObject({
3737
3819
  /** classic_windows: scriptable. new_windows / mac: installed, not scriptable. none: not found. */
3738
- client: z36.enum(["classic_windows", "new_windows", "mac", "none"]),
3739
- scriptable: z36.boolean(),
3740
- version: z36.string().nullable(),
3741
- accounts: z36.array(OutlookAccount),
3820
+ client: z37.enum(["classic_windows", "new_windows", "mac", "none"]),
3821
+ scriptable: z37.boolean(),
3822
+ version: z37.string().nullable(),
3823
+ accounts: z37.array(OutlookAccount),
3742
3824
  /** Why it is not scriptable here, in a sentence the person can act on; null when it is. */
3743
- reason: z36.string().nullable()
3744
- });
3745
- var Address = z36.string().min(3).max(320);
3746
- var OutlookDraftParams = z36.strictObject({
3747
- to: z36.array(Address).max(100).default([]),
3748
- cc: z36.array(Address).max(100).default([]),
3749
- bcc: z36.array(Address).max(100).default([]),
3750
- subject: z36.string().max(998).default(""),
3751
- body: z36.string().max(1048576).default(""),
3752
- body_format: z36.enum(["text", "html"]).default("text"),
3825
+ reason: z37.string().nullable()
3826
+ });
3827
+ var Address = z37.string().min(3).max(320);
3828
+ var OutlookDraftParams = z37.strictObject({
3829
+ to: z37.array(Address).max(100).default([]),
3830
+ cc: z37.array(Address).max(100).default([]),
3831
+ bcc: z37.array(Address).max(100).default([]),
3832
+ subject: z37.string().max(998).default(""),
3833
+ body: z37.string().max(1048576).default(""),
3834
+ body_format: z37.enum(["text", "html"]).default("text"),
3753
3835
  /** Files on this computer to attach (absolute paths). */
3754
- attachments: z36.array(z36.string().min(1).max(4096)).max(50).default([]),
3836
+ attachments: z37.array(z37.string().min(1).max(4096)).max(50).default([]),
3755
3837
  /** The sending account's address (one of outlook.status's accounts); absent: Outlook's default. */
3756
3838
  account: Address.optional(),
3757
3839
  /** true also opens the draft in a window for the person. */
3758
- display: z36.boolean().default(false)
3840
+ display: z37.boolean().default(false)
3759
3841
  });
3760
- var OutlookDraftResult = z36.strictObject({
3842
+ var OutlookDraftResult = z37.strictObject({
3761
3843
  /** The draft's id in Outlook (outlook.read takes it). */
3762
- id: z36.string(),
3763
- account: z36.string().nullable(),
3764
- folder: z36.string(),
3844
+ id: z37.string(),
3845
+ account: z37.string().nullable(),
3846
+ folder: z37.string(),
3765
3847
  attachments: nonNegInt,
3766
- displayed: z36.boolean()
3848
+ displayed: z37.boolean()
3767
3849
  });
3768
- var OutlookListParams = z36.strictObject({
3769
- folder: z36.enum(["inbox", "sent", "drafts"]).default("inbox"),
3850
+ var OutlookListParams = z37.strictObject({
3851
+ folder: z37.enum(["inbox", "sent", "drafts"]).default("inbox"),
3770
3852
  /** The account's address; absent: the default account. */
3771
3853
  account: Address.optional(),
3772
- unread_only: z36.boolean().default(false),
3773
- limit: z36.int().min(1).max(200).default(25)
3854
+ unread_only: z37.boolean().default(false),
3855
+ limit: z37.int().min(1).max(200).default(25)
3774
3856
  });
3775
- var OutlookMessage = z36.strictObject({
3776
- id: z36.string(),
3777
- subject: z36.string(),
3778
- sender: z36.string(),
3857
+ var OutlookMessage = z37.strictObject({
3858
+ id: z37.string(),
3859
+ subject: z37.string(),
3860
+ sender: z37.string(),
3779
3861
  received_at_ms: epochMs.nullable(),
3780
- read: z36.boolean(),
3781
- has_attachments: z36.boolean(),
3862
+ read: z37.boolean(),
3863
+ has_attachments: z37.boolean(),
3782
3864
  /** The first lines of the message's text. */
3783
- preview: z36.string()
3784
- });
3785
- var OutlookListResult = z36.strictObject({ folder: z36.string(), messages: z36.array(OutlookMessage) });
3786
- var OutlookReadParams = z36.strictObject({ id: z36.string().min(1).max(1024) });
3787
- var OutlookReadResult = z36.strictObject({
3788
- id: z36.string(),
3789
- subject: z36.string(),
3790
- sender: z36.string(),
3791
- to: z36.array(z36.string()),
3792
- cc: z36.array(z36.string()),
3865
+ preview: z37.string()
3866
+ });
3867
+ var OutlookListResult = z37.strictObject({ folder: z37.string(), messages: z37.array(OutlookMessage) });
3868
+ var OutlookReadParams = z37.strictObject({ id: z37.string().min(1).max(1024) });
3869
+ var OutlookReadResult = z37.strictObject({
3870
+ id: z37.string(),
3871
+ subject: z37.string(),
3872
+ sender: z37.string(),
3873
+ to: z37.array(z37.string()),
3874
+ cc: z37.array(z37.string()),
3793
3875
  received_at_ms: epochMs.nullable(),
3794
3876
  /** The plain text body, cut at 1 MiB. */
3795
- body: z36.string(),
3796
- attachments: z36.array(z36.strictObject({ name: z36.string(), size: nonNegInt }))
3797
- });
3798
- var MessagesChatsParams = z36.strictObject({ limit: z36.int().min(1).max(200).default(25) });
3799
- var MessagesChat = z36.strictObject({
3800
- chat_id: z36.string(),
3801
- name: z36.string().nullable(),
3802
- participants: z36.array(z36.string()),
3877
+ body: z37.string(),
3878
+ attachments: z37.array(z37.strictObject({ name: z37.string(), size: nonNegInt }))
3879
+ });
3880
+ var MessagesChatsParams = z37.strictObject({ limit: z37.int().min(1).max(200).default(25) });
3881
+ var MessagesChat = z37.strictObject({
3882
+ chat_id: z37.string(),
3883
+ name: z37.string().nullable(),
3884
+ participants: z37.array(z37.string()),
3803
3885
  last_message_at_ms: epochMs.nullable(),
3804
- service: z36.string().nullable()
3886
+ service: z37.string().nullable()
3805
3887
  });
3806
- var MessagesChatsResult = z36.strictObject({ chats: z36.array(MessagesChat) });
3807
- var MessagesListParams = z36.strictObject({
3888
+ var MessagesChatsResult = z37.strictObject({ chats: z37.array(MessagesChat) });
3889
+ var MessagesListParams = z37.strictObject({
3808
3890
  /** One chat (messages.chats' chat_id); absent: the newest across all. */
3809
- chat_id: z36.string().min(1).max(512).optional(),
3810
- limit: z36.int().min(1).max(500).default(50)
3811
- });
3812
- var MessagesMessage = z36.strictObject({
3813
- id: z36.string(),
3814
- chat_id: z36.string().nullable(),
3815
- text: z36.string(),
3816
- from_me: z36.boolean(),
3891
+ chat_id: z37.string().min(1).max(512).optional(),
3892
+ limit: z37.int().min(1).max(500).default(50)
3893
+ });
3894
+ var MessagesMessage = z37.strictObject({
3895
+ id: z37.string(),
3896
+ chat_id: z37.string().nullable(),
3897
+ text: z37.string(),
3898
+ from_me: z37.boolean(),
3817
3899
  /** The other person's handle (phone or email); null for the person's own messages. */
3818
- sender: z36.string().nullable(),
3900
+ sender: z37.string().nullable(),
3819
3901
  sent_at_ms: epochMs.nullable()
3820
3902
  });
3821
- var MessagesListResult = z36.strictObject({ messages: z36.array(MessagesMessage) });
3822
- var MessagesSendParams = z36.strictObject({
3903
+ var MessagesListResult = z37.strictObject({ messages: z37.array(MessagesMessage) });
3904
+ var MessagesSendParams = z37.strictObject({
3823
3905
  /** A phone number or email the person can message. */
3824
- to: z36.string().min(3).max(320),
3825
- text: z36.string().min(1).max(2e4),
3906
+ to: z37.string().min(3).max(320),
3907
+ text: z37.string().min(1).max(2e4),
3826
3908
  /**
3827
3909
  * Send only over this service (Matrx Local's SendMessage `service`). Absent: iMessage first, and
3828
3910
  * SMS when the recipient has no iMessage (since 1.42).
3829
3911
  */
3830
- service: z36.enum(["iMessage", "SMS"]).optional()
3912
+ service: z37.enum(["iMessage", "SMS"]).optional()
3831
3913
  });
3832
- var MessagesSendResult = z36.strictObject({ sent: z36.boolean() });
3833
- var ContactsSearchParams = z36.strictObject({
3914
+ var MessagesSendResult = z37.strictObject({ sent: z37.boolean() });
3915
+ var ContactsSearchParams = z37.strictObject({
3834
3916
  /** Matched against names, organizations, emails and phone numbers. */
3835
- query: z36.string().min(1).max(256),
3836
- limit: z36.int().min(1).max(200).default(25)
3917
+ query: z37.string().min(1).max(256),
3918
+ limit: z37.int().min(1).max(200).default(25)
3837
3919
  });
3838
- var ContactLabeled = z36.strictObject({ label: z36.string().nullable(), value: z36.string() });
3839
- var ContactSummary = z36.strictObject({
3840
- id: z36.string(),
3841
- name: z36.string(),
3842
- organization: z36.string().nullable(),
3843
- emails: z36.array(ContactLabeled),
3844
- phones: z36.array(ContactLabeled)
3845
- });
3846
- var ContactsSearchResult = z36.strictObject({ contacts: z36.array(ContactSummary) });
3847
- var ContactsGetParams = z36.strictObject({ id: z36.string().min(1).max(256) });
3848
- var ContactDetail = z36.strictObject({
3849
- id: z36.string(),
3850
- name: z36.string(),
3851
- organization: z36.string().nullable(),
3852
- job_title: z36.string().nullable(),
3853
- emails: z36.array(ContactLabeled),
3854
- phones: z36.array(ContactLabeled),
3855
- addresses: z36.array(ContactLabeled),
3856
- birthday: z36.string().nullable(),
3857
- note: z36.string().nullable()
3858
- });
3859
- var ContactsGetResult = z36.strictObject({ contact: ContactDetail });
3860
- var CalendarListParams = z36.strictObject({
3920
+ var ContactLabeled = z37.strictObject({ label: z37.string().nullable(), value: z37.string() });
3921
+ var ContactSummary = z37.strictObject({
3922
+ id: z37.string(),
3923
+ name: z37.string(),
3924
+ organization: z37.string().nullable(),
3925
+ emails: z37.array(ContactLabeled),
3926
+ phones: z37.array(ContactLabeled)
3927
+ });
3928
+ var ContactsSearchResult = z37.strictObject({ contacts: z37.array(ContactSummary) });
3929
+ var ContactsGetParams = z37.strictObject({ id: z37.string().min(1).max(256) });
3930
+ var ContactDetail = z37.strictObject({
3931
+ id: z37.string(),
3932
+ name: z37.string(),
3933
+ organization: z37.string().nullable(),
3934
+ job_title: z37.string().nullable(),
3935
+ emails: z37.array(ContactLabeled),
3936
+ phones: z37.array(ContactLabeled),
3937
+ addresses: z37.array(ContactLabeled),
3938
+ birthday: z37.string().nullable(),
3939
+ note: z37.string().nullable()
3940
+ });
3941
+ var ContactsGetResult = z37.strictObject({ contact: ContactDetail });
3942
+ var CalendarListParams = z37.strictObject({
3861
3943
  from_ms: epochMs,
3862
3944
  to_ms: epochMs,
3863
3945
  /** One calendar's name; absent: every calendar. */
3864
- calendar: z36.string().min(1).max(256).optional(),
3865
- limit: z36.int().min(1).max(500).default(100)
3946
+ calendar: z37.string().min(1).max(256).optional(),
3947
+ limit: z37.int().min(1).max(500).default(100)
3866
3948
  });
3867
- var CalendarEvent = z36.strictObject({
3868
- id: z36.string(),
3869
- title: z36.string(),
3949
+ var CalendarEvent = z37.strictObject({
3950
+ id: z37.string(),
3951
+ title: z37.string(),
3870
3952
  start_ms: epochMs,
3871
3953
  end_ms: epochMs,
3872
- all_day: z36.boolean(),
3873
- calendar: z36.string(),
3874
- location: z36.string().nullable(),
3875
- notes: z36.string().nullable()
3876
- });
3877
- var CalendarListResult = z36.strictObject({ events: z36.array(CalendarEvent) });
3878
- var CalendarCreateParams = z36.strictObject({
3879
- title: z36.string().min(1).max(1024),
3954
+ all_day: z37.boolean(),
3955
+ calendar: z37.string(),
3956
+ location: z37.string().nullable(),
3957
+ notes: z37.string().nullable()
3958
+ });
3959
+ var CalendarListResult = z37.strictObject({ events: z37.array(CalendarEvent) });
3960
+ var CalendarCreateParams = z37.strictObject({
3961
+ title: z37.string().min(1).max(1024),
3880
3962
  start_ms: epochMs,
3881
3963
  end_ms: epochMs,
3882
- all_day: z36.boolean().default(false),
3964
+ all_day: z37.boolean().default(false),
3883
3965
  /** The calendar's name; absent: the first writable calendar. */
3884
- calendar: z36.string().min(1).max(256).optional(),
3885
- location: z36.string().max(1024).optional(),
3966
+ calendar: z37.string().min(1).max(256).optional(),
3967
+ location: z37.string().max(1024).optional(),
3886
3968
  notes: Text.optional()
3887
3969
  });
3888
- var CalendarCreateResult = z36.strictObject({ id: z36.string(), calendar: z36.string() });
3889
- var RemindersListParams = z36.strictObject({
3970
+ var CalendarCreateResult = z37.strictObject({ id: z37.string(), calendar: z37.string() });
3971
+ var RemindersListParams = z37.strictObject({
3890
3972
  /** One list's name; absent: every list. */
3891
- list: z36.string().min(1).max(256).optional(),
3892
- include_completed: z36.boolean().default(false),
3893
- limit: z36.int().min(1).max(500).default(100)
3894
- });
3895
- var Reminder = z36.strictObject({
3896
- id: z36.string(),
3897
- title: z36.string(),
3898
- list: z36.string(),
3973
+ list: z37.string().min(1).max(256).optional(),
3974
+ include_completed: z37.boolean().default(false),
3975
+ limit: z37.int().min(1).max(500).default(100)
3976
+ });
3977
+ var Reminder = z37.strictObject({
3978
+ id: z37.string(),
3979
+ title: z37.string(),
3980
+ list: z37.string(),
3899
3981
  due_ms: epochMs.nullable(),
3900
- completed: z36.boolean(),
3901
- notes: z36.string().nullable()
3982
+ completed: z37.boolean(),
3983
+ notes: z37.string().nullable()
3902
3984
  });
3903
- var RemindersListResult = z36.strictObject({ reminders: z36.array(Reminder) });
3904
- var RemindersCreateParams = z36.strictObject({
3905
- title: z36.string().min(1).max(1024),
3985
+ var RemindersListResult = z37.strictObject({ reminders: z37.array(Reminder) });
3986
+ var RemindersCreateParams = z37.strictObject({
3987
+ title: z37.string().min(1).max(1024),
3906
3988
  due_ms: epochMs.optional(),
3907
- list: z36.string().min(1).max(256).optional(),
3989
+ list: z37.string().min(1).max(256).optional(),
3908
3990
  notes: Text.optional()
3909
3991
  });
3910
- var RemindersCreateResult = z36.strictObject({ id: z36.string(), list: z36.string() });
3911
- var PhotosSearchParams = z36.strictObject({
3992
+ var RemindersCreateResult = z37.strictObject({ id: z37.string(), list: z37.string() });
3993
+ var PhotosSearchParams = z37.strictObject({
3912
3994
  /** Matched against file names, titles, descriptions and keywords; absent: the newest. */
3913
- query: z36.string().min(1).max(256).optional(),
3995
+ query: z37.string().min(1).max(256).optional(),
3914
3996
  from_ms: epochMs.optional(),
3915
3997
  to_ms: epochMs.optional(),
3916
- favorites_only: z36.boolean().default(false),
3917
- limit: z36.int().min(1).max(200).default(25)
3998
+ favorites_only: z37.boolean().default(false),
3999
+ limit: z37.int().min(1).max(200).default(25)
3918
4000
  });
3919
- var Photo = z36.strictObject({
3920
- id: z36.string(),
3921
- filename: z36.string(),
4001
+ var Photo = z37.strictObject({
4002
+ id: z37.string(),
4003
+ filename: z37.string(),
3922
4004
  taken_at_ms: epochMs.nullable(),
3923
4005
  width: nonNegInt.nullable(),
3924
4006
  height: nonNegInt.nullable(),
3925
- favorite: z36.boolean(),
3926
- title: z36.string().nullable()
4007
+ favorite: z37.boolean(),
4008
+ title: z37.string().nullable()
3927
4009
  });
3928
- var PhotosSearchResult = z36.strictObject({ photos: z36.array(Photo) });
3929
- var PhotosGetParams = z36.strictObject({
3930
- id: z36.string().min(1).max(256),
4010
+ var PhotosSearchResult = z37.strictObject({ photos: z37.array(Photo) });
4011
+ var PhotosGetParams = z37.strictObject({
4012
+ id: z37.string().min(1).max(256),
3931
4013
  /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
3932
- export: z36.boolean().default(false)
4014
+ export: z37.boolean().default(false)
3933
4015
  });
3934
- var PhotosGetResult = z36.strictObject({ photo: Photo, path: z36.string().nullable() });
3935
- var LocationGetParams = z36.strictObject({ timeout_s: z36.int().min(1).max(60).default(15) });
3936
- var LocationGetResult = z36.strictObject({
3937
- latitude: z36.number().min(-90).max(90),
3938
- longitude: z36.number().min(-180).max(180),
4016
+ var PhotosGetResult = z37.strictObject({ photo: Photo, path: z37.string().nullable() });
4017
+ var LocationGetParams = z37.strictObject({ timeout_s: z37.int().min(1).max(60).default(15) });
4018
+ var LocationGetResult = z37.strictObject({
4019
+ latitude: z37.number().min(-90).max(90),
4020
+ longitude: z37.number().min(-180).max(180),
3939
4021
  /** Metres; null where the OS does not say. */
3940
- accuracy_m: z36.number().min(0).nullable(),
4022
+ accuracy_m: z37.number().min(0).nullable(),
3941
4023
  at_ms: epochMs,
3942
4024
  /** Who answered: the OS's own location service. */
3943
- source: z36.enum(["corelocation", "windows", "geoclue"])
4025
+ source: z37.enum(["corelocation", "windows", "geoclue"])
3944
4026
  });
3945
4027
 
3946
4028
  // src/schema/windows.ts
3947
- import { z as z37 } from "zod";
3948
- var RegistryKey = z37.string().min(6).max(1024).regex(/^(HKLM|HKCU|HKCR|HKU|HKCC|HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(\\.*)?$/);
3949
- var RegistryValueType = z37.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
3950
- var WindowsRegistryReadParams = z37.strictObject({
4029
+ import { z as z38 } from "zod";
4030
+ var RegistryKey = z38.string().min(6).max(1024).regex(/^(HKLM|HKCU|HKCR|HKU|HKCC|HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(\\.*)?$/);
4031
+ var RegistryValueType = z38.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
4032
+ var WindowsRegistryReadParams = z38.strictObject({
3951
4033
  key: RegistryKey,
3952
4034
  /** One value's name ("" is the key's default value); absent: every value and the subkeys. */
3953
- name: z37.string().max(16383).optional()
4035
+ name: z38.string().max(16383).optional()
3954
4036
  });
3955
- var RegistryValue = z37.strictObject({ name: z37.string(), type: RegistryValueType, data: z37.string() });
3956
- var WindowsRegistryReadResult = z37.strictObject({
3957
- key: z37.string(),
3958
- exists: z37.boolean(),
3959
- values: z37.array(RegistryValue),
3960
- subkeys: z37.array(z37.string())
4037
+ var RegistryValue = z38.strictObject({ name: z38.string(), type: RegistryValueType, data: z38.string() });
4038
+ var WindowsRegistryReadResult = z38.strictObject({
4039
+ key: z38.string(),
4040
+ exists: z38.boolean(),
4041
+ values: z38.array(RegistryValue),
4042
+ subkeys: z38.array(z38.string())
3961
4043
  });
3962
- var WindowsRegistryWriteParams = z37.strictObject({
4044
+ var WindowsRegistryWriteParams = z38.strictObject({
3963
4045
  key: RegistryKey,
3964
- name: z37.string().max(16383),
4046
+ name: z38.string().max(16383),
3965
4047
  type: RegistryValueType.default("REG_SZ"),
3966
4048
  /** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
3967
- data: z37.string().max(1048576),
4049
+ data: z38.string().max(1048576),
3968
4050
  /** Remove the value instead of writing it. */
3969
- delete: z37.boolean().default(false)
4051
+ delete: z38.boolean().default(false)
3970
4052
  });
3971
- var WindowsRegistryWriteResult = z37.strictObject({ key: z37.string(), name: z37.string(), deleted: z37.boolean() });
3972
- var WindowsServicesParams = z37.strictObject({
4053
+ var WindowsRegistryWriteResult = z38.strictObject({ key: z38.string(), name: z38.string(), deleted: z38.boolean() });
4054
+ var WindowsServicesParams = z38.strictObject({
3973
4055
  /** Matched against the service's name and display name. */
3974
- filter: z37.string().min(1).max(256).optional(),
3975
- limit: z37.int().min(1).max(1e3).default(200)
4056
+ filter: z38.string().min(1).max(256).optional(),
4057
+ limit: z38.int().min(1).max(1e3).default(200)
3976
4058
  });
3977
- var WindowsService = z37.strictObject({
3978
- name: z37.string(),
3979
- display_name: z37.string(),
4059
+ var WindowsService = z38.strictObject({
4060
+ name: z38.string(),
4061
+ display_name: z38.string(),
3980
4062
  /** Running, Stopped, Paused… as Windows says it. */
3981
- status: z37.string(),
4063
+ status: z38.string(),
3982
4064
  /** Automatic, Manual, Disabled…; null where Windows does not say. */
3983
- start_type: z37.string().nullable()
4065
+ start_type: z38.string().nullable()
3984
4066
  });
3985
- var WindowsServicesResult = z37.strictObject({ services: z37.array(WindowsService) });
3986
- var WindowsServiceControlParams = z37.strictObject({
3987
- name: z37.string().min(1).max(256),
3988
- action: z37.enum(["start", "stop", "restart"])
4067
+ var WindowsServicesResult = z38.strictObject({ services: z38.array(WindowsService) });
4068
+ var WindowsServiceControlParams = z38.strictObject({
4069
+ name: z38.string().min(1).max(256),
4070
+ action: z38.enum(["start", "stop", "restart"])
3989
4071
  });
3990
- var WindowsServiceControlResult = z37.strictObject({ name: z37.string(), status: z37.string() });
3991
- var WindowsEventLogParams = z37.strictObject({
3992
- log: z37.string().min(1).max(256).default("System"),
4072
+ var WindowsServiceControlResult = z38.strictObject({ name: z38.string(), status: z38.string() });
4073
+ var WindowsEventLogParams = z38.strictObject({
4074
+ log: z38.string().min(1).max(256).default("System"),
3993
4075
  /** Only these levels; absent: all. */
3994
- levels: z37.array(z37.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
4076
+ levels: z38.array(z38.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
3995
4077
  since_ms: epochMs.optional(),
3996
- limit: z37.int().min(1).max(500).default(50)
4078
+ limit: z38.int().min(1).max(500).default(50)
3997
4079
  });
3998
- var WindowsEvent = z37.strictObject({
3999
- id: z37.int(),
4000
- level: z37.string(),
4001
- source: z37.string(),
4080
+ var WindowsEvent = z38.strictObject({
4081
+ id: z38.int(),
4082
+ level: z38.string(),
4083
+ source: z38.string(),
4002
4084
  at_ms: epochMs,
4003
- message: z37.string()
4085
+ message: z38.string()
4004
4086
  });
4005
- var WindowsEventLogResult = z37.strictObject({ log: z37.string(), events: z37.array(WindowsEvent) });
4006
- var WindowsFeaturesParams = z37.strictObject({ filter: z37.string().min(1).max(256).optional() });
4007
- var WindowsFeature = z37.strictObject({ name: z37.string(), state: z37.string() });
4008
- var WindowsFeaturesResult = z37.strictObject({ features: z37.array(WindowsFeature) });
4087
+ var WindowsEventLogResult = z38.strictObject({ log: z38.string(), events: z38.array(WindowsEvent) });
4088
+ var WindowsFeaturesParams = z38.strictObject({ filter: z38.string().min(1).max(256).optional() });
4089
+ var WindowsFeature = z38.strictObject({ name: z38.string(), state: z38.string() });
4090
+ var WindowsFeaturesResult = z38.strictObject({ features: z38.array(WindowsFeature) });
4009
4091
 
4010
4092
  // src/schema/schedule.ts
4011
- import { z as z38 } from "zod";
4012
- var OpRef = z38.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
4013
- var ScheduleCreateParams = z38.strictObject({
4014
- name: z38.string().min(1).max(200),
4093
+ import { z as z39 } from "zod";
4094
+ var OpRef = z39.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
4095
+ var ScheduleCreateParams = z39.strictObject({
4096
+ name: z39.string().min(1).max(200),
4015
4097
  op: OpRef,
4016
4098
  /** The op's params, exactly as the op takes them; checked when the task is created. */
4017
- params: z38.record(z38.string(), z38.unknown()).default({}),
4018
- interval_s: z38.int().min(10).max(2592e3),
4099
+ params: z39.record(z39.string(), z39.unknown()).default({}),
4100
+ interval_s: z39.int().min(10).max(2592e3),
4019
4101
  /** Stop after this many runs; absent: until cancelled. */
4020
- max_runs: z38.int().min(1).max(1e5).optional(),
4102
+ max_runs: z39.int().min(1).max(1e5).optional(),
4021
4103
  /** Run once now, before the first interval. */
4022
- run_now: z38.boolean().default(false)
4104
+ run_now: z39.boolean().default(false)
4023
4105
  });
4024
- var ScheduleRun = z38.strictObject({
4106
+ var ScheduleRun = z39.strictObject({
4025
4107
  at_ms: epochMs,
4026
- ok: z38.boolean(),
4108
+ ok: z39.boolean(),
4027
4109
  elapsed_ms: nonNegInt,
4028
4110
  /** The error's code and message when the run failed. */
4029
- error: z38.string().nullable(),
4111
+ error: z39.string().nullable(),
4030
4112
  /** The start of the answer, as JSON (cut at 4 KiB). */
4031
- result_preview: z38.string().nullable()
4113
+ result_preview: z39.string().nullable()
4032
4114
  });
4033
- var ScheduledTask = z38.strictObject({
4034
- id: z38.string(),
4035
- name: z38.string(),
4036
- op: z38.string(),
4037
- params: z38.record(z38.string(), z38.unknown()),
4115
+ var ScheduledTask = z39.strictObject({
4116
+ id: z39.string(),
4117
+ name: z39.string(),
4118
+ op: z39.string(),
4119
+ params: z39.record(z39.string(), z39.unknown()),
4038
4120
  interval_s: nonNegInt,
4039
4121
  max_runs: nonNegInt.nullable(),
4040
4122
  runs: nonNegInt,
4041
4123
  created_at_ms: epochMs,
4042
4124
  next_run_at_ms: epochMs.nullable(),
4043
4125
  /** active, done (ran max_runs), cancelled. */
4044
- state: z38.enum(["active", "done", "cancelled"]),
4126
+ state: z39.enum(["active", "done", "cancelled"]),
4045
4127
  /** The newest runs, newest first (at most 10). */
4046
- recent: z38.array(ScheduleRun)
4128
+ recent: z39.array(ScheduleRun)
4047
4129
  });
4048
- var ScheduleCreateResult = z38.strictObject({ task: ScheduledTask });
4049
- var ScheduleListParams = z38.strictObject({ include_finished: z38.boolean().default(false) });
4050
- var ScheduleListResult = z38.strictObject({ tasks: z38.array(ScheduledTask) });
4051
- var ScheduleCancelParams = z38.strictObject({ id: z38.string().min(1).max(64) });
4052
- var ScheduleCancelResult = z38.strictObject({ task: ScheduledTask });
4130
+ var ScheduleCreateResult = z39.strictObject({ task: ScheduledTask });
4131
+ var ScheduleListParams = z39.strictObject({ include_finished: z39.boolean().default(false) });
4132
+ var ScheduleListResult = z39.strictObject({ tasks: z39.array(ScheduledTask) });
4133
+ var ScheduleCancelParams = z39.strictObject({ id: z39.string().min(1).max(64) });
4134
+ var ScheduleCancelResult = z39.strictObject({ task: ScheduledTask });
4053
4135
 
4054
4136
  // src/schema/notes.ts
4055
- import { z as z39 } from "zod";
4056
- var NoteFolder = z39.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
4057
- var NotePath = z39.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
4058
- var NotesFoldersParams = z39.strictObject({});
4059
- var NotesFolder = z39.strictObject({ folder: z39.string(), notes: nonNegInt });
4060
- var NotesFoldersResult = z39.strictObject({
4137
+ import { z as z40 } from "zod";
4138
+ var NoteFolder = z40.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
4139
+ var NotePath = z40.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
4140
+ var NotesFoldersParams = z40.strictObject({});
4141
+ var NotesFolder = z40.strictObject({ folder: z40.string(), notes: nonNegInt });
4142
+ var NotesFoldersResult = z40.strictObject({
4061
4143
  /** The notes root on this computer. */
4062
- root: z39.string(),
4063
- folders: z39.array(NotesFolder)
4144
+ root: z40.string(),
4145
+ folders: z40.array(NotesFolder)
4064
4146
  });
4065
- var NotesListParams = z39.strictObject({
4147
+ var NotesListParams = z40.strictObject({
4066
4148
  folder: NoteFolder.optional(),
4067
- limit: z39.int().min(1).max(2e3).default(500)
4149
+ limit: z40.int().min(1).max(2e3).default(500)
4068
4150
  });
4069
- var NoteEntry = z39.strictObject({
4070
- path: z39.string(),
4071
- label: z39.string(),
4072
- folder: z39.string(),
4151
+ var NoteEntry = z40.strictObject({
4152
+ path: z40.string(),
4153
+ label: z40.string(),
4154
+ folder: z40.string(),
4073
4155
  bytes: nonNegInt,
4074
4156
  modified_at_ms: epochMs
4075
4157
  });
4076
- var NotesListResult = z39.strictObject({ root: z39.string(), notes: z39.array(NoteEntry), total: nonNegInt });
4077
- var NotesReadParams = z39.strictObject({ path: NotePath });
4078
- var NotesReadResult = z39.strictObject({
4079
- path: z39.string(),
4080
- content: z39.string(),
4158
+ var NotesListResult = z40.strictObject({ root: z40.string(), notes: z40.array(NoteEntry), total: nonNegInt });
4159
+ var NotesReadParams = z40.strictObject({ path: NotePath });
4160
+ var NotesReadResult = z40.strictObject({
4161
+ path: z40.string(),
4162
+ content: z40.string(),
4081
4163
  bytes: nonNegInt,
4082
4164
  modified_at_ms: epochMs,
4083
4165
  /** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
4084
- hash: z39.string()
4166
+ hash: z40.string()
4085
4167
  });
4086
- var NotesWriteParams = z39.strictObject({
4168
+ var NotesWriteParams = z40.strictObject({
4087
4169
  folder: NoteFolder.default("General"),
4088
4170
  /** The note's name, without ".md". */
4089
- label: z39.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4090
- content: z39.string().max(10485760),
4171
+ label: z40.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4172
+ content: z40.string().max(10485760),
4091
4173
  /** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
4092
- if_hash: z39.string().length(64).optional()
4174
+ if_hash: z40.string().length(64).optional()
4093
4175
  });
4094
- var NotesWriteResult = z39.strictObject({ path: z39.string(), bytes: nonNegInt, created: z39.boolean(), hash: z39.string() });
4095
- var NotesSearchParams = z39.strictObject({
4096
- query: z39.string().min(1).max(512),
4097
- limit: z39.int().min(1).max(200).default(50)
4176
+ var NotesWriteResult = z40.strictObject({ path: z40.string(), bytes: nonNegInt, created: z40.boolean(), hash: z40.string() });
4177
+ var NotesSearchParams = z40.strictObject({
4178
+ query: z40.string().min(1).max(512),
4179
+ limit: z40.int().min(1).max(200).default(50)
4098
4180
  });
4099
- var NotesMatch = z39.strictObject({
4100
- path: z39.string(),
4101
- label: z39.string(),
4102
- folder: z39.string(),
4181
+ var NotesMatch = z40.strictObject({
4182
+ path: z40.string(),
4183
+ label: z40.string(),
4184
+ folder: z40.string(),
4103
4185
  /** The matching lines (at most five), trimmed. */
4104
- lines: z39.array(z39.string())
4186
+ lines: z40.array(z40.string())
4105
4187
  });
4106
- var NotesSearchResult = z39.strictObject({ matches: z39.array(NotesMatch), total: nonNegInt });
4188
+ var NotesSearchResult = z40.strictObject({ matches: z40.array(NotesMatch), total: nonNegInt });
4107
4189
 
4108
4190
  // src/schema/documents.ts
4109
- import { z as z40 } from "zod";
4191
+ import { z as z41 } from "zod";
4110
4192
  var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
4111
- var DocumentsPdfTextParams = z40.strictObject({
4193
+ var DocumentsPdfTextParams = z41.strictObject({
4112
4194
  path: AbsPath,
4113
4195
  /** 1-based, inclusive. */
4114
- first_page: z40.int().min(1).optional(),
4115
- last_page: z40.int().min(1).optional(),
4116
- max_chars: z40.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4196
+ first_page: z41.int().min(1).optional(),
4197
+ last_page: z41.int().min(1).optional(),
4198
+ max_chars: z41.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4117
4199
  });
4118
- var DocumentsPdfPage = z40.strictObject({ page: z40.int().min(1), text: z40.string() });
4119
- var DocumentsPdfTextResult = z40.strictObject({
4200
+ var DocumentsPdfPage = z41.strictObject({ page: z41.int().min(1), text: z41.string() });
4201
+ var DocumentsPdfTextResult = z41.strictObject({
4120
4202
  pages: nonNegInt,
4121
4203
  /** Each page read, in order (an image-only page has empty text: OCR it). */
4122
- read: z40.array(DocumentsPdfPage),
4123
- truncated: z40.boolean(),
4124
- title: z40.string().nullable(),
4125
- author: z40.string().nullable()
4204
+ read: z41.array(DocumentsPdfPage),
4205
+ truncated: z41.boolean(),
4206
+ title: z41.string().nullable(),
4207
+ author: z41.string().nullable()
4126
4208
  });
4127
- var DocumentsOcrParams = z40.strictObject({
4209
+ var DocumentsOcrParams = z41.strictObject({
4128
4210
  path: AbsPath,
4129
4211
  /** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
4130
- languages: z40.array(z40.string().min(2).max(16)).max(8).optional(),
4212
+ languages: z41.array(z41.string().min(2).max(16)).max(8).optional(),
4131
4213
  /** Faster, less accurate. */
4132
- fast: z40.boolean().default(false)
4214
+ fast: z41.boolean().default(false)
4133
4215
  });
4134
- var DocumentsOcrLine = z40.strictObject({
4135
- text: z40.string(),
4216
+ var DocumentsOcrLine = z41.strictObject({
4217
+ text: z41.string(),
4136
4218
  /** 0–1; null where the engine does not say. */
4137
- confidence: z40.number().min(0).max(1).nullable()
4219
+ confidence: z41.number().min(0).max(1).nullable()
4138
4220
  });
4139
- var DocumentsOcrResult = z40.strictObject({
4140
- text: z40.string(),
4141
- lines: z40.array(DocumentsOcrLine),
4142
- truncated: z40.boolean(),
4221
+ var DocumentsOcrResult = z41.strictObject({
4222
+ text: z41.string(),
4223
+ lines: z41.array(DocumentsOcrLine),
4224
+ truncated: z41.boolean(),
4143
4225
  /** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
4144
- engine: z40.string()
4226
+ engine: z41.string()
4145
4227
  });
4146
- var DocumentsImageResizeParams = z40.strictObject({
4228
+ var DocumentsImageResizeParams = z41.strictObject({
4147
4229
  path: AbsPath,
4148
4230
  /** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
4149
4231
  out_path: AbsPath.optional(),
4150
4232
  /** The longest side, kept in proportion; absent: the size stays (a format change only). */
4151
- max_size: z40.int().min(1).max(32768).optional(),
4152
- format: z40.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4153
- overwrite: z40.boolean().default(false)
4233
+ max_size: z41.int().min(1).max(32768).optional(),
4234
+ format: z41.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4235
+ overwrite: z41.boolean().default(false)
4154
4236
  });
4155
- var DocumentsImageResizeResult = z40.strictObject({
4156
- path: z40.string(),
4237
+ var DocumentsImageResizeResult = z41.strictObject({
4238
+ path: z41.string(),
4157
4239
  width: nonNegInt,
4158
4240
  height: nonNegInt,
4159
4241
  bytes: nonNegInt
4160
4242
  });
4161
- var DocumentsParagraph = z40.strictObject({
4162
- style: z40.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4163
- text: z40.string().max(1e5)
4243
+ var DocumentsParagraph = z41.strictObject({
4244
+ style: z41.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4245
+ text: z41.string().max(1e5)
4164
4246
  });
4165
- var DocumentsSheet = z40.strictObject({
4166
- name: z40.string().min(1).max(31),
4247
+ var DocumentsSheet = z41.strictObject({
4248
+ name: z41.string().min(1).max(31),
4167
4249
  /** Rows of cells; the first row is the header when `header` is true. */
4168
- rows: z40.array(z40.array(z40.union([z40.string().max(32767), z40.number(), z40.boolean(), z40.null()])).max(16384)).max(1e5),
4169
- header: z40.boolean().default(true)
4250
+ rows: z41.array(z41.array(z41.union([z41.string().max(32767), z41.number(), z41.boolean(), z41.null()])).max(16384)).max(1e5),
4251
+ header: z41.boolean().default(true)
4170
4252
  });
4171
- var DocumentsOfficeGenerateParams = z40.strictObject({
4172
- kind: z40.enum(["docx", "xlsx"]),
4253
+ var DocumentsOfficeGenerateParams = z41.strictObject({
4254
+ kind: z41.enum(["docx", "xlsx"]),
4173
4255
  path: AbsPath,
4174
- title: z40.string().max(1024).optional(),
4256
+ title: z41.string().max(1024).optional(),
4175
4257
  /** docx: the document's paragraphs, in order. */
4176
- paragraphs: z40.array(DocumentsParagraph).max(5e4).optional(),
4258
+ paragraphs: z41.array(DocumentsParagraph).max(5e4).optional(),
4177
4259
  /** xlsx: the workbook's sheets, in order. */
4178
- sheets: z40.array(DocumentsSheet).min(1).max(64).optional(),
4179
- overwrite: z40.boolean().default(false)
4260
+ sheets: z41.array(DocumentsSheet).min(1).max(64).optional(),
4261
+ overwrite: z41.boolean().default(false)
4180
4262
  });
4181
- var DocumentsOfficeGenerateResult = z40.strictObject({ path: z40.string(), bytes: nonNegInt });
4182
- var EntitiesNerParams = z40.strictObject({
4183
- text: z40.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4263
+ var DocumentsOfficeGenerateResult = z41.strictObject({ path: z41.string(), bytes: nonNegInt });
4264
+ var EntitiesNerParams = z41.strictObject({
4265
+ text: z41.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4184
4266
  /** Which kinds to keep; absent: all three. */
4185
- labels: z40.array(z40.enum(["person", "place", "organization"])).min(1).max(3).optional()
4267
+ labels: z41.array(z41.enum(["person", "place", "organization"])).min(1).max(3).optional()
4186
4268
  });
4187
- var EntitySpan = z40.strictObject({
4188
- text: z40.string(),
4189
- label: z40.string(),
4269
+ var EntitySpan = z41.strictObject({
4270
+ text: z41.string(),
4271
+ label: z41.string(),
4190
4272
  /** Character offsets into the text (UTF-16, as JavaScript counts). */
4191
4273
  start: nonNegInt,
4192
4274
  end: nonNegInt
4193
4275
  });
4194
- var EntitiesNerResult = z40.strictObject({ entities: z40.array(EntitySpan), engine: z40.string() });
4195
- var PiiKind = z40.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4196
- var EntitiesPiiParams = z40.strictObject({
4197
- text: z40.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4198
- kinds: z40.array(PiiKind).min(1).max(8).optional(),
4276
+ var EntitiesNerResult = z41.strictObject({ entities: z41.array(EntitySpan), engine: z41.string() });
4277
+ var PiiKind = z41.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4278
+ var EntitiesPiiParams = z41.strictObject({
4279
+ text: z41.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4280
+ kinds: z41.array(PiiKind).min(1).max(8).optional(),
4199
4281
  /** Also answer the text with each finding replaced by its kind ("[email]"). */
4200
- redact: z40.boolean().default(false)
4282
+ redact: z41.boolean().default(false)
4201
4283
  });
4202
- var EntitiesPiiResult = z40.strictObject({
4203
- findings: z40.array(z40.strictObject({ kind: PiiKind, text: z40.string(), start: nonNegInt, end: nonNegInt })),
4204
- redacted: z40.string().nullable()
4284
+ var EntitiesPiiResult = z41.strictObject({
4285
+ findings: z41.array(z41.strictObject({ kind: PiiKind, text: z41.string(), start: nonNegInt, end: nonNegInt })),
4286
+ redacted: z41.string().nullable()
4205
4287
  });
4206
4288
 
4207
4289
  // src/schema/registry.ts
@@ -4268,6 +4350,9 @@ var OPS = {
4268
4350
  "apps.windows.refresh_usage": { params: AppsWindowsRefreshUsageParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4269
4351
  "apps.accounts.usage": { params: AppsAccountsUsageParams, result: AppsAccountsUsageResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4270
4352
  "apps.accounts.resets": { params: AppsAccountsResetsParams, result: AppsAccountsResetsResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4353
+ // 1.47: instances and accounts kept apart — an account's usage is the account's, every instance shows it by id.
4354
+ "apps.instances.list": { params: AppsInstancesListParams, result: AppsInstancesListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4355
+ "apps.accounts.list": { params: AppsAccountsListParams, result: AppsAccountsListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4271
4356
  "apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4272
4357
  "apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4273
4358
  "apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
@@ -4528,6 +4613,16 @@ var SERVICES = {
4528
4613
  }
4529
4614
  };
4530
4615
  var NAMED_SCHEMAS = {
4616
+ InstanceStatus,
4617
+ AppInstall,
4618
+ AppInstance,
4619
+ AccountResetSource,
4620
+ AccountGap,
4621
+ AppAccount,
4622
+ AppsInstancesListParams,
4623
+ AppsInstancesListResult,
4624
+ AppsAccountsListParams,
4625
+ AppsAccountsListResult,
4531
4626
  ProtocolVersion,
4532
4627
  RequestId,
4533
4628
  ResourceId,
@@ -5489,7 +5584,7 @@ function forPeer(op, part, value, version) {
5489
5584
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
5490
5585
 
5491
5586
  // src/contract.ts
5492
- var CONTRACT_SHA256 = "017953b60f9c7e60376f18d993d10bc22debd8a6e9e4bf76d76e6f95e11acf26";
5587
+ var CONTRACT_SHA256 = "502c8718b1d2fd0fde43daed047da5a7b158f81ffa3846c7d73cda879777fe37";
5493
5588
 
5494
5589
  // src/close-policy.ts
5495
5590
  var CLOSE_RULES = {
@@ -5900,16 +5995,21 @@ export {
5900
5995
  AccountAgentsListResult,
5901
5996
  AccountAgentsRunsParams,
5902
5997
  AccountAgentsRunsResult,
5998
+ AccountGap,
5903
5999
  AccountReadState,
5904
6000
  AccountReset,
6001
+ AccountResetSource,
5905
6002
  AccountRowId,
5906
6003
  AccountUsage,
5907
6004
  AccountVaultCopyParams,
5908
6005
  AccountVaultCopyResult,
5909
6006
  AccountVaultListParams,
5910
6007
  AccountVaultListResult,
6008
+ AppAccount,
5911
6009
  AppFeatureStatus,
5912
6010
  AppInfo,
6011
+ AppInstall,
6012
+ AppInstance,
5913
6013
  AppKey,
5914
6014
  AppProfile,
5915
6015
  AppProfileId,
@@ -5917,6 +6017,8 @@ export {
5917
6017
  AppSupport,
5918
6018
  AppUsageReading,
5919
6019
  AppWindowInfo,
6020
+ AppsAccountsListParams,
6021
+ AppsAccountsListResult,
5920
6022
  AppsAccountsResetsParams,
5921
6023
  AppsAccountsResetsResult,
5922
6024
  AppsAccountsUsageParams,
@@ -5938,6 +6040,8 @@ export {
5938
6040
  AppsChatsWatchParams,
5939
6041
  AppsChatsWatchResult,
5940
6042
  AppsChatsWatchStateEvent,
6043
+ AppsInstancesListParams,
6044
+ AppsInstancesListResult,
5941
6045
  AppsListParams,
5942
6046
  AppsListResult,
5943
6047
  AppsOpenParams,
@@ -6331,6 +6435,7 @@ export {
6331
6435
  InputSetKeyboardSettingsParams,
6332
6436
  InputTypeTextParams,
6333
6437
  InputTypeTextResult,
6438
+ InstanceStatus,
6334
6439
  LEGACY_ACTIONS,
6335
6440
  LEGACY_DISPATCHERS,
6336
6441
  Limits,