@ai-matrx/desktop-protocol 0.21.29 → 0.21.30

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.cjs CHANGED
@@ -22,8 +22,19 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AbsPath: () => AbsPath,
24
24
  AccountAgent: () => AccountAgent,
25
+ AccountAgentDetail: () => AccountAgentDetail,
26
+ AccountAgentRun: () => AccountAgentRun,
27
+ AccountAgentRunSort: () => AccountAgentRunSort,
28
+ AccountAgentRunStatus: () => AccountAgentRunStatus,
29
+ AccountAgentVariable: () => AccountAgentVariable,
30
+ AccountAgentsFavoriteParams: () => AccountAgentsFavoriteParams,
31
+ AccountAgentsFavoriteResult: () => AccountAgentsFavoriteResult,
32
+ AccountAgentsGetParams: () => AccountAgentsGetParams,
33
+ AccountAgentsGetResult: () => AccountAgentsGetResult,
25
34
  AccountAgentsListParams: () => AccountAgentsListParams,
26
35
  AccountAgentsListResult: () => AccountAgentsListResult,
36
+ AccountAgentsRunsParams: () => AccountAgentsRunsParams,
37
+ AccountAgentsRunsResult: () => AccountAgentsRunsResult,
27
38
  AccountReadState: () => AccountReadState,
28
39
  AccountReset: () => AccountReset,
29
40
  AccountRowId: () => AccountRowId,
@@ -192,17 +203,100 @@ __export(src_exports, {
192
203
  ClipboardWriteResult: () => ClipboardWriteResult,
193
204
  CloseCode: () => CloseCode,
194
205
  CloseCodeValue: () => CloseCodeValue,
206
+ CodingActiveElsewhere: () => CodingActiveElsewhere,
207
+ CodingActivityParams: () => CodingActivityParams,
208
+ CodingActivityResult: () => CodingActivityResult,
209
+ CodingAgentSelectionParams: () => CodingAgentSelectionParams,
210
+ CodingAgentSetParams: () => CodingAgentSetParams,
211
+ CodingAgentSetResult: () => CodingAgentSetResult,
212
+ CodingAgentsAccessParams: () => CodingAgentsAccessParams,
213
+ CodingAgentsAccessResult: () => CodingAgentsAccessResult,
214
+ CodingChangedEvent: () => CodingChangedEvent,
215
+ CodingChatPreference: () => CodingChatPreference,
216
+ CodingClientRequestId: () => CodingClientRequestId,
217
+ CodingDiscoverParams: () => CodingDiscoverParams,
218
+ CodingDiscoverResult: () => CodingDiscoverResult,
219
+ CodingDiscoveredChat: () => CodingDiscoveredChat,
220
+ CodingFolderCheck: () => CodingFolderCheck,
221
+ CodingFoldersCheckParams: () => CodingFoldersCheckParams,
222
+ CodingFoldersCheckResult: () => CodingFoldersCheckResult,
223
+ CodingFoldersCreateParams: () => CodingFoldersCreateParams,
224
+ CodingFoldersCreateResult: () => CodingFoldersCreateResult,
225
+ CodingFoldersRecentParams: () => CodingFoldersRecentParams,
226
+ CodingFoldersRecentResult: () => CodingFoldersRecentResult,
227
+ CodingGapEvent: () => CodingGapEvent,
195
228
  CodingHistoryBlocked: () => CodingHistoryBlocked,
196
229
  CodingHistoryFailure: () => CodingHistoryFailure,
197
230
  CodingHistoryImportMissingParams: () => CodingHistoryImportMissingParams,
198
231
  CodingHistoryImportMissingResult: () => CodingHistoryImportMissingResult,
232
+ CodingHistoryParams: () => CodingHistoryParams,
199
233
  CodingHistoryProgressEvent: () => CodingHistoryProgressEvent,
234
+ CodingHistoryRecord: () => CodingHistoryRecord,
235
+ CodingHistoryResult: () => CodingHistoryResult,
200
236
  CodingHistoryRun: () => CodingHistoryRun,
201
237
  CodingHistoryStep: () => CodingHistoryStep,
202
238
  CodingImportNextParams: () => CodingImportNextParams,
239
+ CodingItemEvent: () => CodingItemEvent,
240
+ CodingItemFullParams: () => CodingItemFullParams,
241
+ CodingItemFullResult: () => CodingItemFullResult,
242
+ CodingOptionsSetParams: () => CodingOptionsSetParams,
243
+ CodingOptionsSetResult: () => CodingOptionsSetResult,
203
244
  CodingPlanMissingParams: () => CodingPlanMissingParams,
245
+ CodingPrefsListParams: () => CodingPrefsListParams,
246
+ CodingPrefsListResult: () => CodingPrefsListResult,
247
+ CodingPrefsSetParams: () => CodingPrefsSetParams,
248
+ CodingPrefsSetResult: () => CodingPrefsSetResult,
249
+ CodingProviderBinary: () => CodingProviderBinary,
250
+ CodingProviderName: () => CodingProviderName,
251
+ CodingProviderProblem: () => CodingProviderProblem,
252
+ CodingProviderStatus: () => CodingProviderStatus,
253
+ CodingProvidersParams: () => CodingProvidersParams,
254
+ CodingProvidersResult: () => CodingProvidersResult,
255
+ CodingQuotaWindow: () => CodingQuotaWindow,
256
+ CodingRecentFolder: () => CodingRecentFolder,
257
+ CodingRecentRow: () => CodingRecentRow,
258
+ CodingRecentSeenParams: () => CodingRecentSeenParams,
259
+ CodingRecentSeenResult: () => CodingRecentSeenResult,
260
+ CodingReconcileParams: () => CodingReconcileParams,
261
+ CodingReconcileResult: () => CodingReconcileResult,
262
+ CodingRunRecord: () => CodingRunRecord,
263
+ CodingRunStatus: () => CodingRunStatus,
264
+ CodingRunUsage: () => CodingRunUsage,
265
+ CodingRunsListParams: () => CodingRunsListParams,
266
+ CodingRunsListResult: () => CodingRunsListResult,
267
+ CodingSearchParams: () => CodingSearchParams,
268
+ CodingSearchResult: () => CodingSearchResult,
269
+ CodingSendParams: () => CodingSendParams,
270
+ CodingSendResult: () => CodingSendResult,
204
271
  CodingServiceCredentials: () => CodingServiceCredentials,
205
272
  CodingServiceProgress: () => CodingServiceProgress,
273
+ CodingSessionAgent: () => CodingSessionAgent,
274
+ CodingSessionAgentPart: () => CodingSessionAgentPart,
275
+ CodingSessionRecord: () => CodingSessionRecord,
276
+ CodingSessionWatchParams: () => CodingSessionWatchParams,
277
+ CodingSessionWatchResult: () => CodingSessionWatchResult,
278
+ CodingSessionsListParams: () => CodingSessionsListParams,
279
+ CodingSessionsListResult: () => CodingSessionsListResult,
280
+ CodingStartParams: () => CodingStartParams,
281
+ CodingStartResult: () => CodingStartResult,
282
+ CodingStartedBy: () => CodingStartedBy,
283
+ CodingStopElsewhereParams: () => CodingStopElsewhereParams,
284
+ CodingStopElsewhereResult: () => CodingStopElsewhereResult,
285
+ CodingStopParams: () => CodingStopParams,
286
+ CodingStopResult: () => CodingStopResult,
287
+ CodingTakeoverParams: () => CodingTakeoverParams,
288
+ CodingTakeoverResult: () => CodingTakeoverResult,
289
+ CodingTitleStatus: () => CodingTitleStatus,
290
+ CodingTitlesStatusParams: () => CodingTitlesStatusParams,
291
+ CodingTitlesStatusResult: () => CodingTitlesStatusResult,
292
+ CodingTranscriptItem: () => CodingTranscriptItem,
293
+ CodingTranscriptRawParams: () => CodingTranscriptRawParams,
294
+ CodingTranscriptRawResult: () => CodingTranscriptRawResult,
295
+ CodingTranscriptReadParams: () => CodingTranscriptReadParams,
296
+ CodingTranscriptReadResult: () => CodingTranscriptReadResult,
297
+ CodingWatchParams: () => CodingWatchParams,
298
+ CodingWatchResult: () => CodingWatchResult,
299
+ CodingWatchStateEvent: () => CodingWatchStateEvent,
206
300
  ColdChat: () => ColdChat,
207
301
  ContactDetail: () => ContactDetail,
208
302
  ContactLabeled: () => ContactLabeled,
@@ -565,6 +659,8 @@ __export(src_exports, {
565
659
  SessionControlChangedEvent: () => SessionControlChangedEvent,
566
660
  SessionDetachParams: () => SessionDetachParams,
567
661
  SessionDetachResult: () => SessionDetachResult,
662
+ SessionIdentifyParams: () => SessionIdentifyParams,
663
+ SessionIdentifyResult: () => SessionIdentifyResult,
568
664
  SessionListParams: () => SessionListParams,
569
665
  SessionListResult: () => SessionListResult,
570
666
  SessionReleaseParams: () => SessionReleaseParams,
@@ -709,7 +805,7 @@ module.exports = __toCommonJS(src_exports);
709
805
  var import_zod = require("zod");
710
806
  var import_uuid = require("@ai-matrx/kit/uuid");
711
807
  var PROTOCOL_MAJOR = 1;
712
- var PROTOCOL_MINOR = 37;
808
+ var PROTOCOL_MINOR = 39;
713
809
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
714
810
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
715
811
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -1633,7 +1729,22 @@ var AccountAgent = import_zod11.z.strictObject({
1633
1729
  shared_by: import_zod11.z.string().max(320).nullable(),
1634
1730
  /** The organization it belongs to. */
1635
1731
  organization: import_zod11.z.string().max(200).nullable(),
1636
- updated_at_ms: epochMs
1732
+ updated_at_ms: epochMs,
1733
+ // 1.39: the catalogue's own row (agx_get_list_full, read whole through @ai-matrx/agents/catalog).
1734
+ /** The agent's tags (the library's search and its inspector). */
1735
+ tags: import_zod11.z.array(import_zod11.z.string().max(120)).max(50).optional(),
1736
+ /** The model it runs (a model catalogue id); absent when it names none. */
1737
+ model_id: AccountRowId.optional(),
1738
+ /** The person's access: owner, admin, editor, viewer or system (the database's own words); absent when unknown. */
1739
+ access_level: import_zod11.z.string().min(1).max(40).optional(),
1740
+ /** The organization's id (the label is `organization`); absent when it has none. */
1741
+ organization_id: AccountRowId.optional(),
1742
+ /** Whose it is: the person's own, shared with them, or one AI Matrx ships (Gallery). */
1743
+ origin: import_zod11.z.enum(["mine", "shared", "system"]).optional(),
1744
+ /** Archived (the catalogue's archive filter decides whether the library lists it). */
1745
+ is_archived: import_zod11.z.boolean().optional(),
1746
+ /** An orchestra: it conducts other agents. */
1747
+ orchestra: import_zod11.z.boolean().optional()
1637
1748
  });
1638
1749
  var AccountAgentsListParams = import_zod11.z.strictObject({});
1639
1750
  var AccountAgentsListResult = import_zod11.z.strictObject({
@@ -1642,6 +1753,70 @@ var AccountAgentsListResult = import_zod11.z.strictObject({
1642
1753
  problem: import_zod11.z.string().max(300).nullable(),
1643
1754
  agents: import_zod11.z.array(AccountAgent).max(2e3)
1644
1755
  });
1756
+ var AccountAgentVariable = import_zod11.z.strictObject({
1757
+ name: import_zod11.z.string().min(1).max(200),
1758
+ /** The default value as text ("" when it has none). */
1759
+ default_value: import_zod11.z.string().max(4e3),
1760
+ required: import_zod11.z.boolean(),
1761
+ help: import_zod11.z.string().max(1e3)
1762
+ });
1763
+ var AccountAgentDetail = import_zod11.z.strictObject({
1764
+ agent: AccountAgent,
1765
+ /** The inputs a run asks for (the agent's variables). */
1766
+ variables: import_zod11.z.array(AccountAgentVariable).max(100),
1767
+ /** How many tools, custom tools, skills and connections it may use. */
1768
+ tool_count: import_zod11.z.int().min(0),
1769
+ custom_tool_count: import_zod11.z.int().min(0),
1770
+ skill_count: import_zod11.z.int().min(0),
1771
+ connection_count: import_zod11.z.int().min(0),
1772
+ /** The model's display name when the catalogue knows it. */
1773
+ model_name: import_zod11.z.string().max(200).nullable()
1774
+ });
1775
+ var AccountAgentsGetParams = import_zod11.z.strictObject({ agent_id: AccountRowId });
1776
+ var AccountAgentsGetResult = import_zod11.z.strictObject({
1777
+ state: AccountReadState,
1778
+ problem: import_zod11.z.string().max(300).nullable(),
1779
+ /** Null when the person cannot open it (not theirs, not shared with them, or gone). */
1780
+ detail: AccountAgentDetail.nullable()
1781
+ });
1782
+ var AccountAgentRunStatus = import_zod11.z.enum(["succeeded", "warned", "failed", "stopped", "waiting", "running"]);
1783
+ var AccountAgentRun = import_zod11.z.strictObject({
1784
+ run_id: AccountRowId,
1785
+ status: AccountAgentRunStatus,
1786
+ started_at_ms: epochMs,
1787
+ completed_at_ms: epochMs.nullable(),
1788
+ duration_ms: import_zod11.z.int().min(0).nullable(),
1789
+ cost: import_zod11.z.number().min(0).nullable(),
1790
+ tokens: import_zod11.z.int().min(0).nullable(),
1791
+ /** One line of the answer (at most 240 characters), when the run kept one. */
1792
+ output_preview: import_zod11.z.string().max(240).nullable(),
1793
+ /** The run's error, one line. */
1794
+ error: import_zod11.z.string().max(300).nullable(),
1795
+ /** The mandate it served, when one named it. */
1796
+ mandate_key: import_zod11.z.string().max(200).nullable(),
1797
+ organization: import_zod11.z.string().max(200).nullable(),
1798
+ /** The conversation that holds its transcript, when it kept one. */
1799
+ conversation_id: AccountRowId.nullable(),
1800
+ has_transcript: import_zod11.z.boolean()
1801
+ });
1802
+ var AccountAgentRunSort = import_zod11.z.enum(["started_at", "duration", "cost", "status"]);
1803
+ var AccountAgentsRunsParams = import_zod11.z.strictObject({
1804
+ agent_id: AccountRowId,
1805
+ status: AccountAgentRunStatus.optional(),
1806
+ sort: AccountAgentRunSort.optional(),
1807
+ descending: import_zod11.z.boolean().optional(),
1808
+ offset: import_zod11.z.int().min(0).max(1e5).optional(),
1809
+ limit: import_zod11.z.int().min(1).max(100).optional()
1810
+ });
1811
+ var AccountAgentsRunsResult = import_zod11.z.strictObject({
1812
+ state: AccountReadState,
1813
+ problem: import_zod11.z.string().max(300).nullable(),
1814
+ /** Every run of this agent the person may see (rows is one page of it). */
1815
+ total: import_zod11.z.int().min(0),
1816
+ rows: import_zod11.z.array(AccountAgentRun).max(100)
1817
+ });
1818
+ var AccountAgentsFavoriteParams = import_zod11.z.strictObject({ agent_id: AccountRowId, favorite: import_zod11.z.boolean() });
1819
+ var AccountAgentsFavoriteResult = import_zod11.z.strictObject({ favorite: import_zod11.z.boolean() });
1645
1820
  var VaultItemKind = import_zod11.z.enum(["login", "passkey", "key", "other"]);
1646
1821
  var VaultFieldSummary = import_zod11.z.strictObject({
1647
1822
  key: import_zod11.z.string().min(1).max(120),
@@ -3387,22 +3562,387 @@ var CodingHistoryProgressEvent = import_zod32.z.strictObject({
3387
3562
  failed: nonNegInt
3388
3563
  });
3389
3564
 
3390
- // src/schema/browser.ts
3565
+ // src/schema/coding-sessions.ts
3391
3566
  var import_zod33 = require("zod");
3392
- var BrowserClientInstance = import_zod33.z.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3393
- var BrowserKind = import_zod33.z.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3394
- var BrowserSessionState = import_zod33.z.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3395
- var BrowserSession = import_zod33.z.strictObject({
3567
+ var CodingProviderName = import_zod33.z.enum(["claude", "codex"]);
3568
+ var CodingRunStatus = import_zod33.z.enum(["starting", "running", "completed", "stopped", "failed"]);
3569
+ var SessionKey = import_zod33.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
3570
+ var IsoTime = import_zod33.z.string().min(10).max(40);
3571
+ var LocalPath = import_zod33.z.string().min(1).max(4096);
3572
+ var CodingClientRequestId = import_zod33.z.string().regex(/^[A-Za-z0-9_-]{8,64}$/);
3573
+ var ShortText = import_zod33.z.string().max(500);
3574
+ var CodingRunUsage = import_zod33.z.strictObject({
3575
+ inputTokens: nonNegInt,
3576
+ outputTokens: nonNegInt,
3577
+ cachedInputTokens: nonNegInt
3578
+ });
3579
+ var CodingStartedBy = import_zod33.z.strictObject({
3580
+ kind: import_zod33.z.enum(["this_computer", "web", "phone", "agent", "other"]),
3581
+ label: import_zod33.z.string().min(1).max(80)
3582
+ });
3583
+ var CodingRunRecord = import_zod33.z.strictObject({
3584
+ runId: import_zod33.z.string().min(1).max(64),
3585
+ sessionId: SessionKey,
3586
+ provider: CodingProviderName,
3587
+ cwd: LocalPath,
3588
+ prompt: import_zod33.z.string().max(1048576),
3589
+ model: import_zod33.z.string().max(200).nullable(),
3590
+ status: CodingRunStatus,
3591
+ startedAt: IsoTime,
3592
+ endedAt: IsoTime.nullable(),
3593
+ error: import_zod33.z.string().max(65536).nullable(),
3594
+ usage: CodingRunUsage.nullable(),
3595
+ costUsd: import_zod33.z.number().nullable(),
3596
+ billing: import_zod33.z.enum(["subscription", "api", "unknown"]).nullable(),
3597
+ startedBy: CodingStartedBy.nullable()
3598
+ });
3599
+ var CodingSessionAgentPart = import_zod33.z.strictObject({
3600
+ part: import_zod33.z.enum(["instructions", "skills", "tools"]),
3601
+ loaded: nonNegInt,
3602
+ total: nonNegInt
3603
+ });
3604
+ var CodingSessionAgent = import_zod33.z.strictObject({
3605
+ agentId: import_zod33.z.string().min(1).max(64),
3606
+ versionId: import_zod33.z.string().max(64).nullable(),
3607
+ versionNumber: nonNegInt.nullable(),
3608
+ name: import_zod33.z.string().max(300),
3609
+ definitionHash: import_zod33.z.string().max(200),
3610
+ loaded: import_zod33.z.array(CodingSessionAgentPart).max(3),
3611
+ unavailable: import_zod33.z.array(import_zod33.z.strictObject({ kind: import_zod33.z.string().max(60), name: import_zod33.z.string().max(300), reason: ShortText })).max(500),
3612
+ skills: import_zod33.z.array(import_zod33.z.string().max(300)).max(500),
3613
+ tools: import_zod33.z.array(import_zod33.z.string().max(300)).max(500),
3614
+ variables: import_zod33.z.record(import_zod33.z.string().max(200), import_zod33.z.unknown()),
3615
+ blockDue: import_zod33.z.boolean(),
3616
+ deliveredAt: IsoTime.nullable(),
3617
+ replaces: import_zod33.z.string().max(300).nullable()
3618
+ });
3619
+ var CodingSessionRecord = import_zod33.z.strictObject({
3620
+ id: SessionKey,
3621
+ provider: CodingProviderName,
3622
+ providerSessionId: SessionKey.nullable(),
3623
+ cwd: LocalPath,
3624
+ title: import_zod33.z.string().max(500),
3625
+ model: import_zod33.z.string().max(200).nullable(),
3626
+ effort: import_zod33.z.string().max(40).nullable(),
3627
+ origin: import_zod33.z.enum(["started", "takeover"]),
3628
+ createdAt: IsoTime,
3629
+ updatedAt: IsoTime,
3630
+ lastRunId: import_zod33.z.string().max(64).nullable(),
3631
+ lastRunStatus: CodingRunStatus.nullable(),
3632
+ queued: import_zod33.z.array(import_zod33.z.string().max(1048576)).max(100),
3633
+ agent: CodingSessionAgent.nullable(),
3634
+ agentRemovedDue: import_zod33.z.boolean()
3635
+ });
3636
+ var CodingActiveElsewhere = import_zod33.z.strictObject({
3637
+ reason: import_zod33.z.enum(["process", "recent-write", "open-tool-call", "open"]),
3638
+ message: ShortText,
3639
+ /** The process driving it, when the evidence is a process (re-checked before any stop). */
3640
+ pid: import_zod33.z.int().min(1).nullable()
3641
+ });
3642
+ var CodingTitleSource = import_zod33.z.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt", "unknown"]);
3643
+ var CodingDiscoveredChat = import_zod33.z.strictObject({
3644
+ provider: CodingProviderName,
3645
+ providerSessionId: SessionKey,
3646
+ cwd: LocalPath.nullable(),
3647
+ title: import_zod33.z.string().max(500),
3648
+ titleSource: CodingTitleSource.optional(),
3649
+ titlePending: import_zod33.z.boolean().optional(),
3650
+ archived: import_zod33.z.boolean().optional(),
3651
+ scheduled: import_zod33.z.boolean().optional(),
3652
+ unlisted: import_zod33.z.boolean().optional(),
3653
+ unavailable: ShortText.nullable(),
3654
+ updatedAt: IsoTime,
3655
+ source: import_zod33.z.string().max(60).nullable(),
3656
+ activeElsewhere: CodingActiveElsewhere.nullable()
3657
+ });
3658
+ var CodingTranscriptItem = import_zod33.z.discriminatedUnion("kind", [
3659
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("user"), id: import_zod33.z.string().max(200), text: import_zod33.z.string(), at: IsoTime.nullable() }),
3660
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("text"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3661
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("text-delta"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3662
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("reasoning"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3663
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("tool-call"), id: import_zod33.z.string().max(200), name: import_zod33.z.string().max(300), input: import_zod33.z.unknown() }),
3664
+ import_zod33.z.strictObject({
3665
+ kind: import_zod33.z.literal("tool-result"),
3666
+ id: import_zod33.z.string().max(200),
3667
+ output: import_zod33.z.string(),
3668
+ isError: import_zod33.z.boolean(),
3669
+ /** The output's full size when only its start is here; `coding.item.full` reads the rest. */
3670
+ fullBytes: nonNegInt.optional()
3671
+ }),
3672
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("usage"), usage: CodingRunUsage, costUsd: import_zod33.z.number().nullable() }),
3673
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("notice"), id: import_zod33.z.string().max(200), level: import_zod33.z.enum(["info", "warning"]), text: import_zod33.z.string() }),
3674
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("error"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() })
3675
+ ]);
3676
+ var CodingHistoryRecord = import_zod33.z.strictObject({
3677
+ items: import_zod33.z.array(CodingTranscriptItem),
3678
+ /** Only the end of the chat is here; "Show earlier" reads more (a bigger `max_bytes`). */
3679
+ truncated: import_zod33.z.boolean(),
3680
+ unavailable: ShortText.nullable(),
3681
+ /** The last live item `seq` this read already contains; a watch applies only newer ones. */
3682
+ seq: nonNegInt
3683
+ });
3684
+ var CodingQuotaWindow = import_zod33.z.strictObject({
3685
+ label: import_zod33.z.string().max(120),
3686
+ usedPercent: import_zod33.z.number().nullable(),
3687
+ resetsAt: import_zod33.z.string().max(80).nullable(),
3688
+ valueLabel: import_zod33.z.string().max(120).nullable()
3689
+ });
3690
+ var CodingProviderProblem = import_zod33.z.strictObject({
3691
+ kind: import_zod33.z.enum(["usage-limit", "signed-out"]),
3692
+ message: import_zod33.z.string().max(2e3),
3693
+ until: import_zod33.z.string().max(120).nullable(),
3694
+ at: IsoTime
3695
+ });
3696
+ var CodingProviderBinary = import_zod33.z.strictObject({
3697
+ path: LocalPath,
3698
+ version: import_zod33.z.string().max(80).nullable(),
3699
+ source: import_zod33.z.enum(["desktop-app", "path", "npm-global", "configured"]),
3700
+ sourceLabel: import_zod33.z.string().max(120),
3701
+ newer: import_zod33.z.strictObject({ path: LocalPath, version: import_zod33.z.string().max(80), sourceLabel: import_zod33.z.string().max(120) }).nullable()
3702
+ });
3703
+ var CodingProviderStatus = import_zod33.z.strictObject({
3704
+ provider: CodingProviderName,
3705
+ label: import_zod33.z.string().max(60),
3706
+ installed: import_zod33.z.boolean(),
3707
+ version: import_zod33.z.string().max(80).nullable(),
3708
+ loggedIn: import_zod33.z.boolean(),
3709
+ billing: import_zod33.z.enum(["subscription", "api", "unknown"]),
3710
+ plan: import_zod33.z.string().max(80).nullable(),
3711
+ account: import_zod33.z.string().max(320).nullable(),
3712
+ problem: ShortText.nullable(),
3713
+ fix: ShortText.nullable(),
3714
+ ready: import_zod33.z.boolean(),
3715
+ lastProblem: CodingProviderProblem.nullable(),
3716
+ quota: import_zod33.z.array(CodingQuotaWindow).max(20),
3717
+ models: import_zod33.z.array(import_zod33.z.strictObject({ id: import_zod33.z.string().max(200), label: import_zod33.z.string().max(200) })).max(200),
3718
+ efforts: import_zod33.z.array(import_zod33.z.string().max(40)).max(20),
3719
+ defaultModel: import_zod33.z.strictObject({ id: import_zod33.z.string().max(200), source: import_zod33.z.enum(["settings", "driver"]) }).nullable(),
3720
+ defaultEffort: import_zod33.z.string().max(40).nullable(),
3721
+ binary: CodingProviderBinary.nullable()
3722
+ });
3723
+ var CodingChatPreference = import_zod33.z.strictObject({
3724
+ title: import_zod33.z.string().max(500).nullable(),
3725
+ pinned: import_zod33.z.boolean(),
3726
+ hidden: import_zod33.z.boolean(),
3727
+ /** When the person last had this chat open on any screen of this computer (the "New output" dot). */
3728
+ lastSeenAt: IsoTime.nullable(),
3729
+ updatedAt: IsoTime.nullable()
3730
+ });
3731
+ var CodingTitleStatus = import_zod33.z.strictObject({
3732
+ owner: import_zod33.z.boolean(),
3733
+ pending: import_zod33.z.boolean(),
3734
+ problem: ShortText.nullable(),
3735
+ renames: ShortText.nullable()
3736
+ });
3737
+ var CodingRecentRow = import_zod33.z.strictObject({
3738
+ target: import_zod33.z.string().min(3).max(200),
3739
+ title: import_zod33.z.string().max(500),
3740
+ provider: CodingProviderName,
3741
+ sessionId: SessionKey.nullable(),
3742
+ providerSessionId: SessionKey.nullable(),
3743
+ cwd: LocalPath.nullable(),
3744
+ updatedAt: IsoTime,
3745
+ state: import_zod33.z.enum(["running", "needs_attention", "new_output", "elsewhere", "idle"]),
3746
+ stateLabel: import_zod33.z.string().max(120).nullable(),
3747
+ pinned: import_zod33.z.boolean(),
3748
+ startedBy: CodingStartedBy.nullable()
3749
+ });
3750
+ var CodingFolderCheck = import_zod33.z.strictObject({
3751
+ path: import_zod33.z.string().max(4096),
3752
+ exists: import_zod33.z.boolean(),
3753
+ isDirectory: import_zod33.z.boolean()
3754
+ });
3755
+ var CodingRecentFolder = import_zod33.z.strictObject({ path: LocalPath, lastUsedAt: IsoTime, exists: import_zod33.z.boolean() });
3756
+ var CodingAgentSelectionParams = import_zod33.z.strictObject({
3757
+ agent_id: import_zod33.z.string().min(1).max(64),
3758
+ version_id: import_zod33.z.string().min(1).max(64).optional(),
3759
+ variables: import_zod33.z.record(import_zod33.z.string().max(200), import_zod33.z.unknown()).optional()
3760
+ });
3761
+ var CodingSendResult = import_zod33.z.strictObject({
3762
+ session: CodingSessionRecord,
3763
+ run: CodingRunRecord.nullable(),
3764
+ /** The prompt waits behind a live run (it shows as a queued bubble). */
3765
+ queued: import_zod33.z.boolean()
3766
+ });
3767
+ var CodingProvidersParams = import_zod33.z.strictObject({});
3768
+ var CodingProvidersResult = import_zod33.z.strictObject({ providers: import_zod33.z.array(CodingProviderStatus).max(4) });
3769
+ var CodingSessionsListParams = import_zod33.z.strictObject({});
3770
+ var CodingSessionsListResult = import_zod33.z.strictObject({
3771
+ sessions: import_zod33.z.array(CodingSessionRecord),
3772
+ /** The latest run of each session, by session id. */
3773
+ runs: import_zod33.z.record(import_zod33.z.string().max(128), CodingRunRecord),
3774
+ recent: import_zod33.z.array(CodingRecentRow),
3775
+ title_status: CodingTitleStatus
3776
+ });
3777
+ var CodingDiscoverParams = import_zod33.z.strictObject({ limit: import_zod33.z.int().min(1).max(1e3).optional() });
3778
+ var CodingDiscoverResult = import_zod33.z.strictObject({ chats: import_zod33.z.array(CodingDiscoveredChat) });
3779
+ var CodingRunsListParams = import_zod33.z.strictObject({ session_id: SessionKey });
3780
+ var CodingRunsListResult = import_zod33.z.strictObject({ runs: import_zod33.z.array(CodingRunRecord) });
3781
+ var CodingHistoryParams = import_zod33.z.strictObject({ session_id: SessionKey, max_bytes: import_zod33.z.int().min(1024).max(209715200).optional() });
3782
+ var CodingHistoryResult = CodingHistoryRecord;
3783
+ var CodingTranscriptReadParams = import_zod33.z.strictObject({
3784
+ provider: CodingProviderName,
3785
+ provider_session_id: SessionKey,
3786
+ max_bytes: import_zod33.z.int().min(1024).max(209715200).optional()
3787
+ });
3788
+ var CodingTranscriptReadResult = CodingHistoryRecord;
3789
+ var CodingItemFullParams = import_zod33.z.strictObject({
3790
+ provider: CodingProviderName,
3791
+ provider_session_id: SessionKey,
3792
+ item_id: import_zod33.z.string().min(1).max(200)
3793
+ });
3794
+ var CodingItemFullResult = import_zod33.z.strictObject({ output: import_zod33.z.string(), bytes: nonNegInt });
3795
+ var CodingActivityParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3796
+ var CodingActivityResult = import_zod33.z.strictObject({ active: CodingActiveElsewhere.nullable() });
3797
+ var CodingFoldersRecentParams = import_zod33.z.strictObject({});
3798
+ var CodingFoldersRecentResult = import_zod33.z.strictObject({ folders: import_zod33.z.array(CodingRecentFolder).max(100) });
3799
+ var CodingFoldersCheckParams = import_zod33.z.strictObject({ path: import_zod33.z.string().min(1).max(4096) });
3800
+ var CodingFoldersCheckResult = CodingFolderCheck;
3801
+ var CodingFoldersCreateParams = import_zod33.z.strictObject({ path: import_zod33.z.string().min(1).max(4096) });
3802
+ var CodingFoldersCreateResult = CodingFolderCheck;
3803
+ var CodingStartParams = import_zod33.z.strictObject({
3804
+ provider: CodingProviderName,
3805
+ cwd: import_zod33.z.string().min(1).max(4096),
3806
+ prompt: import_zod33.z.string().min(1).max(1048576),
3807
+ model: import_zod33.z.string().min(1).max(200).optional(),
3808
+ effort: import_zod33.z.string().min(1).max(40).optional(),
3809
+ agent: CodingAgentSelectionParams.optional(),
3810
+ /** One of the person's coding accounts on this computer (Accounts); absent = the default login. */
3811
+ account_profile_id: import_zod33.z.string().min(1).max(64).optional(),
3812
+ client_request_id: CodingClientRequestId
3813
+ });
3814
+ var CodingStartResult = CodingSendResult;
3815
+ var CodingTakeoverParams = import_zod33.z.strictObject({
3816
+ provider: CodingProviderName,
3817
+ provider_session_id: SessionKey,
3818
+ cwd: import_zod33.z.string().min(1).max(4096),
3819
+ title: import_zod33.z.string().max(500).optional(),
3820
+ agent: CodingAgentSelectionParams.optional(),
3821
+ confirm_elsewhere: import_zod33.z.boolean().optional()
3822
+ });
3823
+ var CodingTakeoverResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3824
+ var CodingSendParams = import_zod33.z.strictObject({
3825
+ session_id: SessionKey,
3826
+ prompt: import_zod33.z.string().min(1).max(1048576),
3827
+ client_request_id: CodingClientRequestId
3828
+ });
3829
+ var CodingStopParams = import_zod33.z.strictObject({ run_id: import_zod33.z.string().min(1).max(64) });
3830
+ var CodingStopResult = import_zod33.z.strictObject({ run: CodingRunRecord.nullable() });
3831
+ var CodingStopElsewhereParams = import_zod33.z.strictObject({
3832
+ provider: CodingProviderName,
3833
+ provider_session_id: SessionKey,
3834
+ pid: import_zod33.z.int().min(1)
3835
+ });
3836
+ var CodingStopElsewhereResult = import_zod33.z.strictObject({ stopped: import_zod33.z.boolean(), message: ShortText });
3837
+ var CodingOptionsSetParams = import_zod33.z.strictObject({
3838
+ session_id: SessionKey,
3839
+ model: import_zod33.z.string().max(200).optional(),
3840
+ effort: import_zod33.z.string().max(40).optional()
3841
+ });
3842
+ var CodingOptionsSetResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3843
+ var CodingAgentSetParams = import_zod33.z.strictObject({ session_id: SessionKey, agent: CodingAgentSelectionParams.optional() });
3844
+ var CodingAgentSetResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3845
+ var CodingAgentsAccessParams = import_zod33.z.strictObject({});
3846
+ var CodingAgentsAccessResult = import_zod33.z.strictObject({
3847
+ signedIn: import_zod33.z.boolean(),
3848
+ userId: import_zod33.z.string().max(64).nullable(),
3849
+ organizationId: import_zod33.z.string().max(64).nullable(),
3850
+ configured: import_zod33.z.boolean()
3851
+ });
3852
+ var CodingTitlesStatusParams = import_zod33.z.strictObject({});
3853
+ var CodingTitlesStatusResult = CodingTitleStatus;
3854
+ var CodingPrefsListParams = import_zod33.z.strictObject({});
3855
+ var CodingPrefsListResult = import_zod33.z.strictObject({ preferences: import_zod33.z.record(import_zod33.z.string().max(200), CodingChatPreference) });
3856
+ var CodingPrefsSetParams = import_zod33.z.strictObject({
3857
+ key: import_zod33.z.string().min(1).max(200),
3858
+ title: import_zod33.z.string().min(1).max(500).optional(),
3859
+ clear_title: import_zod33.z.boolean().optional(),
3860
+ pinned: import_zod33.z.boolean().optional(),
3861
+ hidden: import_zod33.z.boolean().optional()
3862
+ });
3863
+ var CodingPrefsSetResult = CodingPrefsListResult;
3864
+ var CodingRecentSeenParams = import_zod33.z.strictObject({ target: import_zod33.z.string().min(3).max(200) });
3865
+ var CodingRecentSeenResult = import_zod33.z.strictObject({ recent: import_zod33.z.array(CodingRecentRow) });
3866
+ var CodingSearchParams = import_zod33.z.strictObject({
3867
+ query: import_zod33.z.string().min(1).max(500),
3868
+ cursor: nonNegInt.optional(),
3869
+ limit: import_zod33.z.int().min(1).max(100).optional()
3870
+ });
3871
+ var CodingSearchResult = import_zod33.z.strictObject({
3872
+ query: import_zod33.z.string().max(500),
3873
+ hits: import_zod33.z.array(
3874
+ import_zod33.z.strictObject({
3875
+ provider: CodingProviderName,
3876
+ providerSessionId: SessionKey,
3877
+ title: import_zod33.z.string().max(500),
3878
+ cwd: LocalPath.nullable(),
3879
+ updatedAt: IsoTime,
3880
+ where: import_zod33.z.enum(["title", "content"]),
3881
+ snippet: import_zod33.z.string().max(2e3).nullable()
3882
+ })
3883
+ ),
3884
+ scanned: nonNegInt,
3885
+ total: nonNegInt,
3886
+ nextCursor: nonNegInt.nullable()
3887
+ });
3888
+ var CodingReconcileParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3889
+ var CodingReconcileResult = import_zod33.z.strictObject({
3890
+ state: import_zod33.z.enum(["done", "blocked", "nothing_to_do"]),
3891
+ summary: import_zod33.z.string().max(400)
3892
+ });
3893
+ var CodingTranscriptRawParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3894
+ var CodingTranscriptRawResult = import_zod33.z.strictObject({
3895
+ available: import_zod33.z.boolean(),
3896
+ reason: ShortText.nullable(),
3897
+ file_name: import_zod33.z.string().max(300).nullable(),
3898
+ bytes: nonNegInt,
3899
+ /** The opt-in cloud backup was refreshed (false: off, unchanged, or signed out). */
3900
+ backup_refreshed: import_zod33.z.boolean(),
3901
+ /** Subagent transcripts beside the chat (Claude Code), downloaded separately. */
3902
+ subagents: nonNegInt
3903
+ });
3904
+ var CodingWatchParams = import_zod33.z.strictObject({});
3905
+ var CodingWatchResult = import_zod33.z.strictObject({ resource_id: ResourceId });
3906
+ var CodingSessionWatchParams = import_zod33.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt.optional() });
3907
+ var CodingSessionWatchResult = import_zod33.z.strictObject({
3908
+ resource_id: ResourceId,
3909
+ /** The newest item seq the device has for this session right now. */
3910
+ seq: nonNegInt
3911
+ });
3912
+ var CodingChangedEvent = import_zod33.z.discriminatedUnion("kind", [
3913
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("session"), session: CodingSessionRecord }),
3914
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("run"), run: CodingRunRecord }),
3915
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("preferences"), preferences: import_zod33.z.record(import_zod33.z.string().max(200), CodingChatPreference) }),
3916
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("titles") }),
3917
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("recent"), recent: import_zod33.z.array(CodingRecentRow) })
3918
+ ]);
3919
+ var CodingWatchStateEvent = import_zod33.z.strictObject({ live: import_zod33.z.boolean(), reason: ShortText.nullable(), beat_ms: import_zod33.z.int().min(1e3) });
3920
+ var CodingItemEvent = import_zod33.z.strictObject({
3921
+ session_id: SessionKey,
3922
+ run_id: import_zod33.z.string().min(1).max(64),
3923
+ seq: nonNegInt,
3924
+ item: CodingTranscriptItem
3925
+ });
3926
+ var CodingGapEvent = import_zod33.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt, seq: nonNegInt });
3927
+ var SessionIdentifyParams = import_zod33.z.strictObject({ label: import_zod33.z.string().min(1).max(60) });
3928
+ var SessionIdentifyResult = import_zod33.z.strictObject({ label: import_zod33.z.string().max(60) });
3929
+
3930
+ // src/schema/browser.ts
3931
+ var import_zod34 = require("zod");
3932
+ var BrowserClientInstance = import_zod34.z.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3933
+ var BrowserKind = import_zod34.z.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3934
+ var BrowserSessionState = import_zod34.z.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3935
+ var BrowserSession = import_zod34.z.strictObject({
3396
3936
  client_instance: BrowserClientInstance,
3397
3937
  /** What the person sees ("Chrome — Work"), set by the extension. */
3398
- client_label: import_zod33.z.string().min(1).max(128),
3938
+ client_label: import_zod34.z.string().min(1).max(128),
3399
3939
  browser: BrowserKind,
3400
- extension_version: import_zod33.z.string().min(1).max(32),
3940
+ extension_version: import_zod34.z.string().min(1).max(32),
3401
3941
  state: BrowserSessionState,
3402
3942
  /** True only for `connected`: an agent's call can reach this session. */
3403
- routable: import_zod33.z.boolean(),
3943
+ routable: import_zod34.z.boolean(),
3404
3944
  /** The extension's account email from its token (null when signed out or unknown). */
3405
- account_email: import_zod33.z.string().max(320).nullable(),
3945
+ account_email: import_zod34.z.string().max(320).nullable(),
3406
3946
  connected_at_ms: epochMs,
3407
3947
  last_call_at_ms: epochMs.nullable(),
3408
3948
  calls: nonNegInt,
@@ -3411,119 +3951,119 @@ var BrowserSession = import_zod33.z.strictObject({
3411
3951
  p50_ms: nonNegInt.nullable(),
3412
3952
  p95_ms: nonNegInt.nullable(),
3413
3953
  /** A call is waiting for the person to confirm it in the browser. */
3414
- awaiting_confirmation: import_zod33.z.boolean()
3954
+ awaiting_confirmation: import_zod34.z.boolean()
3415
3955
  });
3416
- var BrowserRegisterParams = import_zod33.z.strictObject({
3956
+ var BrowserRegisterParams = import_zod34.z.strictObject({
3417
3957
  client_instance: BrowserClientInstance,
3418
- client_label: import_zod33.z.string().min(1).max(128),
3958
+ client_label: import_zod34.z.string().min(1).max(128),
3419
3959
  browser: BrowserKind,
3420
- extension_version: import_zod33.z.string().min(1).max(32),
3960
+ extension_version: import_zod34.z.string().min(1).max(32),
3421
3961
  /** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
3422
- account_token: import_zod33.z.string().min(16).max(8192).nullable()
3962
+ account_token: import_zod34.z.string().min(16).max(8192).nullable()
3423
3963
  });
3424
- var BrowserRegisterResult = import_zod33.z.strictObject({ session: BrowserSession });
3425
- var BrowserCallError = import_zod33.z.strictObject({
3426
- message: import_zod33.z.string().max(1e3),
3964
+ var BrowserRegisterResult = import_zod34.z.strictObject({ session: BrowserSession });
3965
+ var BrowserCallError = import_zod34.z.strictObject({
3966
+ message: import_zod34.z.string().max(1e3),
3427
3967
  /** The extension's own error code, when it has one ("tool_not_found", "denied"). */
3428
- code: import_zod33.z.string().max(64).nullable()
3968
+ code: import_zod34.z.string().max(64).nullable()
3429
3969
  });
3430
- var BrowserResultParams = import_zod33.z.strictObject({
3431
- call_id: import_zod33.z.string().min(1).max(64),
3432
- ok: import_zod33.z.boolean(),
3970
+ var BrowserResultParams = import_zod34.z.strictObject({
3971
+ call_id: import_zod34.z.string().min(1).max(64),
3972
+ ok: import_zod34.z.boolean(),
3433
3973
  /** The tool's result when ok (any JSON). */
3434
- result: import_zod33.z.unknown(),
3974
+ result: import_zod34.z.unknown(),
3435
3975
  error: BrowserCallError.nullable()
3436
3976
  });
3437
- var BrowserResultResult = import_zod33.z.strictObject({ accepted: import_zod33.z.boolean() });
3438
- var BrowserCallPhase = import_zod33.z.enum(["awaiting_confirmation", "running"]);
3439
- var BrowserProgressParams = import_zod33.z.strictObject({ call_id: import_zod33.z.string().min(1).max(64), phase: BrowserCallPhase });
3440
- var BrowserProgressResult = import_zod33.z.strictObject({ accepted: import_zod33.z.boolean() });
3441
- var BrowserSessionsParams = import_zod33.z.strictObject({});
3442
- var BrowserSessionsResult = import_zod33.z.strictObject({
3977
+ var BrowserResultResult = import_zod34.z.strictObject({ accepted: import_zod34.z.boolean() });
3978
+ var BrowserCallPhase = import_zod34.z.enum(["awaiting_confirmation", "running"]);
3979
+ var BrowserProgressParams = import_zod34.z.strictObject({ call_id: import_zod34.z.string().min(1).max(64), phase: BrowserCallPhase });
3980
+ var BrowserProgressResult = import_zod34.z.strictObject({ accepted: import_zod34.z.boolean() });
3981
+ var BrowserSessionsParams = import_zod34.z.strictObject({});
3982
+ var BrowserSessionsResult = import_zod34.z.strictObject({
3443
3983
  /** The person's Browser connection switch. Off: no pairing, no extension sessions. */
3444
- enabled: import_zod33.z.boolean(),
3984
+ enabled: import_zod34.z.boolean(),
3445
3985
  /** Whether Matrx 2 is signed in (without an owner no session is routable). */
3446
- owner_signed_in: import_zod33.z.boolean(),
3447
- sessions: import_zod33.z.array(BrowserSession).max(64)
3448
- });
3449
- var BrowserDisconnectParams = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3450
- var BrowserDisconnectResult = import_zod33.z.strictObject({ disconnected: import_zod33.z.boolean() });
3451
- var BrowserSetEnabledParams = import_zod33.z.strictObject({ enabled: import_zod33.z.boolean() });
3452
- var BrowserSetEnabledResult = import_zod33.z.strictObject({ enabled: import_zod33.z.boolean() });
3453
- var BrowserPairCodeParams = import_zod33.z.strictObject({});
3454
- var BrowserPairCodeResult = import_zod33.z.strictObject({ code: import_zod33.z.string().min(16).max(128) });
3455
- var BrowserPairResetParams = import_zod33.z.strictObject({});
3456
- var BrowserCallParams = import_zod33.z.strictObject({
3457
- tool: import_zod33.z.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3458
- args: import_zod33.z.record(import_zod33.z.string(), import_zod33.z.unknown()),
3986
+ owner_signed_in: import_zod34.z.boolean(),
3987
+ sessions: import_zod34.z.array(BrowserSession).max(64)
3988
+ });
3989
+ var BrowserDisconnectParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
3990
+ var BrowserDisconnectResult = import_zod34.z.strictObject({ disconnected: import_zod34.z.boolean() });
3991
+ var BrowserSetEnabledParams = import_zod34.z.strictObject({ enabled: import_zod34.z.boolean() });
3992
+ var BrowserSetEnabledResult = import_zod34.z.strictObject({ enabled: import_zod34.z.boolean() });
3993
+ var BrowserPairCodeParams = import_zod34.z.strictObject({});
3994
+ var BrowserPairCodeResult = import_zod34.z.strictObject({ code: import_zod34.z.string().min(16).max(128) });
3995
+ var BrowserPairResetParams = import_zod34.z.strictObject({});
3996
+ var BrowserCallParams = import_zod34.z.strictObject({
3997
+ tool: import_zod34.z.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3998
+ args: import_zod34.z.record(import_zod34.z.string(), import_zod34.z.unknown()),
3459
3999
  /** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
3460
4000
  client_instance: BrowserClientInstance.optional(),
3461
4001
  /** How long to wait, including a person's confirmation; default 120 s. */
3462
- timeout_ms: import_zod33.z.int().min(1e3).max(6e5).optional()
4002
+ timeout_ms: import_zod34.z.int().min(1e3).max(6e5).optional()
3463
4003
  });
3464
- var BrowserCallResult = import_zod33.z.strictObject({
4004
+ var BrowserCallResult = import_zod34.z.strictObject({
3465
4005
  client_instance: BrowserClientInstance,
3466
- result: import_zod33.z.unknown(),
4006
+ result: import_zod34.z.unknown(),
3467
4007
  duration_ms: nonNegInt
3468
4008
  });
3469
- var BrowserToolMetricsParams = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3470
- var BrowserToolMetric = import_zod33.z.strictObject({
3471
- tool: import_zod33.z.string().max(256),
4009
+ var BrowserToolMetricsParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4010
+ var BrowserToolMetric = import_zod34.z.strictObject({
4011
+ tool: import_zod34.z.string().max(256),
3472
4012
  calls: nonNegInt,
3473
4013
  errors: nonNegInt,
3474
4014
  /** Over the last 200 answered calls; null before the first answer. */
3475
4015
  p50_ms: nonNegInt.nullable(),
3476
4016
  p95_ms: nonNegInt.nullable(),
3477
4017
  last_call_at_ms: epochMs.nullable(),
3478
- last_error: import_zod33.z.string().max(2048).nullable()
4018
+ last_error: import_zod34.z.string().max(2048).nullable()
3479
4019
  });
3480
- var BrowserToolMetricsResult = import_zod33.z.strictObject({ client_instance: import_zod33.z.string(), tools: import_zod33.z.array(BrowserToolMetric) });
3481
- var BrowserResetCountersParams = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3482
- var BrowserResetCountersResult = import_zod33.z.strictObject({ reset: import_zod33.z.boolean() });
3483
- var BrowserLogParams = import_zod33.z.strictObject({
4020
+ var BrowserToolMetricsResult = import_zod34.z.strictObject({ client_instance: import_zod34.z.string(), tools: import_zod34.z.array(BrowserToolMetric) });
4021
+ var BrowserResetCountersParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4022
+ var BrowserResetCountersResult = import_zod34.z.strictObject({ reset: import_zod34.z.boolean() });
4023
+ var BrowserLogParams = import_zod34.z.strictObject({
3484
4024
  /** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
3485
4025
  after_seq: nonNegInt.default(0),
3486
- limit: import_zod33.z.int().min(1).max(500).default(500)
4026
+ limit: import_zod34.z.int().min(1).max(500).default(500)
3487
4027
  });
3488
- var BrowserLogMessage = import_zod33.z.strictObject({
4028
+ var BrowserLogMessage = import_zod34.z.strictObject({
3489
4029
  seq: nonNegInt,
3490
4030
  at_ms: epochMs,
3491
- direction: import_zod33.z.enum(["to_browser", "from_browser", "core"]),
3492
- client_instance: import_zod33.z.string(),
3493
- kind: import_zod33.z.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
3494
- tool: import_zod33.z.string().nullable(),
3495
- call_id: import_zod33.z.string().nullable(),
3496
- ok: import_zod33.z.boolean().nullable(),
3497
- detail: import_zod33.z.string().max(1024)
3498
- });
3499
- var BrowserLogResult = import_zod33.z.strictObject({
3500
- messages: import_zod33.z.array(BrowserLogMessage),
4031
+ direction: import_zod34.z.enum(["to_browser", "from_browser", "core"]),
4032
+ client_instance: import_zod34.z.string(),
4033
+ kind: import_zod34.z.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
4034
+ tool: import_zod34.z.string().nullable(),
4035
+ call_id: import_zod34.z.string().nullable(),
4036
+ ok: import_zod34.z.boolean().nullable(),
4037
+ detail: import_zod34.z.string().max(1024)
4038
+ });
4039
+ var BrowserLogResult = import_zod34.z.strictObject({
4040
+ messages: import_zod34.z.array(BrowserLogMessage),
3501
4041
  /** The newest seq the core has written (pass it back as after_seq to follow the log). */
3502
4042
  last_seq: nonNegInt
3503
4043
  });
3504
- var BrowserInvokeEvent = import_zod33.z.strictObject({
3505
- call_id: import_zod33.z.string().min(1).max(64),
3506
- tool: import_zod33.z.string().min(1).max(96),
3507
- args: import_zod33.z.record(import_zod33.z.string(), import_zod33.z.unknown()),
4044
+ var BrowserInvokeEvent = import_zod34.z.strictObject({
4045
+ call_id: import_zod34.z.string().min(1).max(64),
4046
+ tool: import_zod34.z.string().min(1).max(96),
4047
+ args: import_zod34.z.record(import_zod34.z.string(), import_zod34.z.unknown()),
3508
4048
  deadline_ms: epochMs
3509
4049
  });
3510
- var BrowserSessionsChangedEvent = import_zod33.z.strictObject({ count: nonNegInt, enabled: import_zod33.z.boolean() });
3511
- var BrowserProgressEvent = import_zod33.z.strictObject({
3512
- call_id: import_zod33.z.string().min(1).max(64),
4050
+ var BrowserSessionsChangedEvent = import_zod34.z.strictObject({ count: nonNegInt, enabled: import_zod34.z.boolean() });
4051
+ var BrowserProgressEvent = import_zod34.z.strictObject({
4052
+ call_id: import_zod34.z.string().min(1).max(64),
3513
4053
  client_instance: BrowserClientInstance,
3514
4054
  phase: BrowserCallPhase
3515
4055
  });
3516
- var DesktopHealth = import_zod33.z.strictObject({
3517
- status: import_zod33.z.literal("ok"),
3518
- service: import_zod33.z.literal("matrx-desktop"),
3519
- version: import_zod33.z.string().max(32),
3520
- protocol_version: import_zod33.z.string().max(16),
3521
- ws_path: import_zod33.z.literal("/v1/connect"),
3522
- device_id: import_zod33.z.string().max(64),
3523
- browser_connection: import_zod33.z.enum(["on", "off"])
3524
- });
3525
- var BrowserPairRequest = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3526
- var BrowserPairResult = import_zod33.z.strictObject({ pair_token: import_zod33.z.string().min(16).max(128), ws_path: import_zod33.z.literal("/v1/connect") });
4056
+ var DesktopHealth = import_zod34.z.strictObject({
4057
+ status: import_zod34.z.literal("ok"),
4058
+ service: import_zod34.z.literal("matrx-desktop"),
4059
+ version: import_zod34.z.string().max(32),
4060
+ protocol_version: import_zod34.z.string().max(16),
4061
+ ws_path: import_zod34.z.literal("/v1/connect"),
4062
+ device_id: import_zod34.z.string().max(64),
4063
+ browser_connection: import_zod34.z.enum(["on", "off"])
4064
+ });
4065
+ var BrowserPairRequest = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4066
+ var BrowserPairResult = import_zod34.z.strictObject({ pair_token: import_zod34.z.string().min(16).max(128), ws_path: import_zod34.z.literal("/v1/connect") });
3527
4067
  var MATRX_EXTENSION_IDS = {
3528
4068
  store: "hnfolienncfklkgmdjjmhhegglimlamg",
3529
4069
  development: "cihdmkcdjjckfhjpgoedmgfpoljebaml"
@@ -3531,572 +4071,572 @@ var MATRX_EXTENSION_IDS = {
3531
4071
  var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
3532
4072
 
3533
4073
  // src/schema/net.ts
3534
- var import_zod34 = require("zod");
3535
- var NetInfoParams = import_zod34.z.strictObject({});
3536
- var NetAddress = import_zod34.z.strictObject({
3537
- address: import_zod34.z.string(),
3538
- family: import_zod34.z.enum(["ipv4", "ipv6"]),
3539
- netmask: import_zod34.z.string().nullable(),
4074
+ var import_zod35 = require("zod");
4075
+ var NetInfoParams = import_zod35.z.strictObject({});
4076
+ var NetAddress = import_zod35.z.strictObject({
4077
+ address: import_zod35.z.string(),
4078
+ family: import_zod35.z.enum(["ipv4", "ipv6"]),
4079
+ netmask: import_zod35.z.string().nullable(),
3540
4080
  /** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
3541
- cidr: import_zod34.z.string().nullable()
4081
+ cidr: import_zod35.z.string().nullable()
3542
4082
  });
3543
- var NetInterface = import_zod34.z.strictObject({
3544
- name: import_zod34.z.string(),
3545
- mac: import_zod34.z.string().nullable(),
4083
+ var NetInterface = import_zod35.z.strictObject({
4084
+ name: import_zod35.z.string(),
4085
+ mac: import_zod35.z.string().nullable(),
3546
4086
  /** Loopback and other internal interfaces. */
3547
- internal: import_zod34.z.boolean(),
3548
- addresses: import_zod34.z.array(NetAddress)
4087
+ internal: import_zod35.z.boolean(),
4088
+ addresses: import_zod35.z.array(NetAddress)
3549
4089
  });
3550
- var NetInfoResult = import_zod34.z.strictObject({
3551
- hostname: import_zod34.z.string(),
3552
- interfaces: import_zod34.z.array(NetInterface),
4090
+ var NetInfoResult = import_zod35.z.strictObject({
4091
+ hostname: import_zod35.z.string(),
4092
+ interfaces: import_zod35.z.array(NetInterface),
3553
4093
  /** The default route's gateway; null when the OS does not say (or there is none). */
3554
- gateway: import_zod34.z.string().nullable(),
4094
+ gateway: import_zod35.z.string().nullable(),
3555
4095
  /** The DNS servers the OS uses; empty when it does not say. */
3556
- dns: import_zod34.z.array(import_zod34.z.string())
4096
+ dns: import_zod35.z.array(import_zod35.z.string())
3557
4097
  });
3558
- var NetWifiParams = import_zod34.z.strictObject({});
3559
- var NetWifiNetwork = import_zod34.z.strictObject({
4098
+ var NetWifiParams = import_zod35.z.strictObject({});
4099
+ var NetWifiNetwork = import_zod35.z.strictObject({
3560
4100
  /** null: the OS hides the name (macOS without Location Services for this app). */
3561
- ssid: import_zod34.z.string().nullable(),
4101
+ ssid: import_zod35.z.string().nullable(),
3562
4102
  /** dBm; null where the OS does not say. */
3563
- rssi: import_zod34.z.int().nullable(),
3564
- channel: import_zod34.z.string().nullable(),
3565
- security: import_zod34.z.string().nullable()
4103
+ rssi: import_zod35.z.int().nullable(),
4104
+ channel: import_zod35.z.string().nullable(),
4105
+ security: import_zod35.z.string().nullable()
3566
4106
  });
3567
- var NetWifiResult = import_zod34.z.strictObject({
4107
+ var NetWifiResult = import_zod35.z.strictObject({
3568
4108
  /** Whether the computer has a Wi-Fi interface at all. */
3569
- available: import_zod34.z.boolean(),
4109
+ available: import_zod35.z.boolean(),
3570
4110
  /** The network the computer is on; null when it is on none. */
3571
4111
  current: NetWifiNetwork.nullable(),
3572
4112
  /** Networks in range (may be empty where the OS lists none to apps). */
3573
- networks: import_zod34.z.array(NetWifiNetwork)
4113
+ networks: import_zod35.z.array(NetWifiNetwork)
3574
4114
  });
3575
- var NetBluetoothParams = import_zod34.z.strictObject({});
3576
- var NetBluetoothDevice = import_zod34.z.strictObject({
3577
- name: import_zod34.z.string(),
3578
- address: import_zod34.z.string().nullable(),
3579
- connected: import_zod34.z.boolean(),
4115
+ var NetBluetoothParams = import_zod35.z.strictObject({});
4116
+ var NetBluetoothDevice = import_zod35.z.strictObject({
4117
+ name: import_zod35.z.string(),
4118
+ address: import_zod35.z.string().nullable(),
4119
+ connected: import_zod35.z.boolean(),
3580
4120
  /** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
3581
- kind: import_zod34.z.string().nullable(),
4121
+ kind: import_zod35.z.string().nullable(),
3582
4122
  /** Battery percent, where the OS reports it. */
3583
- battery: import_zod34.z.int().min(0).max(100).nullable()
4123
+ battery: import_zod35.z.int().min(0).max(100).nullable()
3584
4124
  });
3585
- var NetBluetoothResult = import_zod34.z.strictObject({
4125
+ var NetBluetoothResult = import_zod35.z.strictObject({
3586
4126
  /** Bluetooth is on; null where the OS does not say. */
3587
- powered: import_zod34.z.boolean().nullable(),
3588
- devices: import_zod34.z.array(NetBluetoothDevice)
3589
- });
3590
- var NetDevicesParams = import_zod34.z.strictObject({});
3591
- var NetDevice = import_zod34.z.strictObject({
3592
- ip: import_zod34.z.string(),
3593
- mac: import_zod34.z.string().nullable(),
3594
- interface: import_zod34.z.string().nullable(),
4127
+ powered: import_zod35.z.boolean().nullable(),
4128
+ devices: import_zod35.z.array(NetBluetoothDevice)
4129
+ });
4130
+ var NetDevicesParams = import_zod35.z.strictObject({});
4131
+ var NetDevice = import_zod35.z.strictObject({
4132
+ ip: import_zod35.z.string(),
4133
+ mac: import_zod35.z.string().nullable(),
4134
+ interface: import_zod35.z.string().nullable(),
3595
4135
  /** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
3596
- hostname: import_zod34.z.string().nullable()
4136
+ hostname: import_zod35.z.string().nullable()
3597
4137
  });
3598
- var NetDevicesResult = import_zod34.z.strictObject({ devices: import_zod34.z.array(NetDevice) });
3599
- var NetMdnsParams = import_zod34.z.strictObject({
4138
+ var NetDevicesResult = import_zod35.z.strictObject({ devices: import_zod35.z.array(NetDevice) });
4139
+ var NetMdnsParams = import_zod35.z.strictObject({
3600
4140
  /** A service type ("_http._tcp"); absent lists the service types found. */
3601
- service_type: import_zod34.z.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
4141
+ service_type: import_zod35.z.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
3602
4142
  /** How long to listen. */
3603
- timeout_s: import_zod34.z.int().min(1).max(30).default(3)
4143
+ timeout_s: import_zod35.z.int().min(1).max(30).default(3)
3604
4144
  });
3605
- var NetMdnsService = import_zod34.z.strictObject({
3606
- name: import_zod34.z.string(),
3607
- type: import_zod34.z.string(),
3608
- domain: import_zod34.z.string(),
3609
- interface: import_zod34.z.string().nullable()
4145
+ var NetMdnsService = import_zod35.z.strictObject({
4146
+ name: import_zod35.z.string(),
4147
+ type: import_zod35.z.string(),
4148
+ domain: import_zod35.z.string(),
4149
+ interface: import_zod35.z.string().nullable()
3610
4150
  });
3611
- var NetMdnsResult = import_zod34.z.strictObject({ services: import_zod34.z.array(NetMdnsService) });
3612
- var NetScanParams = import_zod34.z.strictObject({
4151
+ var NetMdnsResult = import_zod35.z.strictObject({ services: import_zod35.z.array(NetMdnsService) });
4152
+ var NetScanParams = import_zod35.z.strictObject({
3613
4153
  /** A host name or address; a private or loopback address unless `allow_public`. */
3614
- host: import_zod34.z.string().min(1).max(253),
3615
- ports: import_zod34.z.array(import_zod34.z.int().min(1).max(65535)).min(1).max(1024),
3616
- timeout_ms: import_zod34.z.int().min(50).max(1e4).default(800),
4154
+ host: import_zod35.z.string().min(1).max(253),
4155
+ ports: import_zod35.z.array(import_zod35.z.int().min(1).max(65535)).min(1).max(1024),
4156
+ timeout_ms: import_zod35.z.int().min(50).max(1e4).default(800),
3617
4157
  /** Scanning a host on the public internet needs saying so. */
3618
- allow_public: import_zod34.z.boolean().default(false)
4158
+ allow_public: import_zod35.z.boolean().default(false)
3619
4159
  });
3620
- var NetScanResult = import_zod34.z.strictObject({
3621
- host: import_zod34.z.string(),
4160
+ var NetScanResult = import_zod35.z.strictObject({
4161
+ host: import_zod35.z.string(),
3622
4162
  /** The address the host resolved to. */
3623
- address: import_zod34.z.string(),
3624
- open: import_zod34.z.array(import_zod34.z.int().min(1).max(65535)),
4163
+ address: import_zod35.z.string(),
4164
+ open: import_zod35.z.array(import_zod35.z.int().min(1).max(65535)),
3625
4165
  closed: nonNegInt,
3626
4166
  elapsed_ms: nonNegInt
3627
4167
  });
3628
- var NetDownloadParams = import_zod34.z.strictObject({
3629
- url: import_zod34.z.string().min(1).max(8192).regex(/^https?:\/\//),
4168
+ var NetDownloadParams = import_zod35.z.strictObject({
4169
+ url: import_zod35.z.string().min(1).max(8192).regex(/^https?:\/\//),
3630
4170
  /** Where to save it: an absolute path (a folder keeps the URL's file name). */
3631
4171
  path: AbsPath,
3632
- overwrite: import_zod34.z.boolean().default(false),
3633
- timeout_s: import_zod34.z.int().min(1).max(3600).default(300),
4172
+ overwrite: import_zod35.z.boolean().default(false),
4173
+ timeout_s: import_zod35.z.int().min(1).max(3600).default(300),
3634
4174
  /** Refuse anything larger. */
3635
- max_bytes: import_zod34.z.int().min(1).max(10737418240).default(2147483648)
4175
+ max_bytes: import_zod35.z.int().min(1).max(10737418240).default(2147483648)
3636
4176
  });
3637
- var NetDownloadResult = import_zod34.z.strictObject({
3638
- path: import_zod34.z.string(),
4177
+ var NetDownloadResult = import_zod35.z.strictObject({
4178
+ path: import_zod35.z.string(),
3639
4179
  bytes: nonNegInt,
3640
- content_type: import_zod34.z.string().nullable(),
4180
+ content_type: import_zod35.z.string().nullable(),
3641
4181
  /** The final URL after redirects. */
3642
- url: import_zod34.z.string(),
4182
+ url: import_zod35.z.string(),
3643
4183
  elapsed_ms: nonNegInt
3644
4184
  });
3645
4185
 
3646
4186
  // src/schema/personal.ts
3647
- var import_zod35 = require("zod");
3648
- var Text = import_zod35.z.string().max(65536);
3649
- var AutomationScriptParams = import_zod35.z.strictObject({
4187
+ var import_zod36 = require("zod");
4188
+ var Text = import_zod36.z.string().max(65536);
4189
+ var AutomationScriptParams = import_zod36.z.strictObject({
3650
4190
  /** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
3651
- language: import_zod35.z.enum(["applescript", "jxa", "powershell"]),
3652
- script: import_zod35.z.string().min(1).max(262144),
3653
- timeout_s: import_zod35.z.int().min(1).max(600).default(60)
3654
- });
3655
- var AutomationScriptResult = import_zod35.z.strictObject({
3656
- stdout: import_zod35.z.string(),
3657
- stderr: import_zod35.z.string(),
3658
- exit_code: import_zod35.z.int(),
3659
- timed_out: import_zod35.z.boolean(),
4191
+ language: import_zod36.z.enum(["applescript", "jxa", "powershell"]),
4192
+ script: import_zod36.z.string().min(1).max(262144),
4193
+ timeout_s: import_zod36.z.int().min(1).max(600).default(60)
4194
+ });
4195
+ var AutomationScriptResult = import_zod36.z.strictObject({
4196
+ stdout: import_zod36.z.string(),
4197
+ stderr: import_zod36.z.string(),
4198
+ exit_code: import_zod36.z.int(),
4199
+ timed_out: import_zod36.z.boolean(),
3660
4200
  /** stdout or stderr was cut at 1 MiB. */
3661
- truncated: import_zod35.z.boolean(),
4201
+ truncated: import_zod36.z.boolean(),
3662
4202
  elapsed_ms: nonNegInt
3663
4203
  });
3664
- var MailAccountsParams = import_zod35.z.strictObject({});
3665
- var MailAccount = import_zod35.z.strictObject({ name: import_zod35.z.string(), emails: import_zod35.z.array(import_zod35.z.string()), enabled: import_zod35.z.boolean() });
3666
- var MailAccountsResult = import_zod35.z.strictObject({ accounts: import_zod35.z.array(MailAccount) });
3667
- var MailListParams = import_zod35.z.strictObject({
4204
+ var MailAccountsParams = import_zod36.z.strictObject({});
4205
+ var MailAccount = import_zod36.z.strictObject({ name: import_zod36.z.string(), emails: import_zod36.z.array(import_zod36.z.string()), enabled: import_zod36.z.boolean() });
4206
+ var MailAccountsResult = import_zod36.z.strictObject({ accounts: import_zod36.z.array(MailAccount) });
4207
+ var MailListParams = import_zod36.z.strictObject({
3668
4208
  /** The account's name in Mail; absent: every account. */
3669
- account: import_zod35.z.string().min(1).max(256).optional(),
4209
+ account: import_zod36.z.string().min(1).max(256).optional(),
3670
4210
  /** The mailbox's name ("INBOX", "Sent Messages"). */
3671
- mailbox: import_zod35.z.string().min(1).max(256).default("INBOX"),
3672
- unread_only: import_zod35.z.boolean().default(false),
3673
- limit: import_zod35.z.int().min(1).max(200).default(25)
3674
- });
3675
- var MailMessage = import_zod35.z.strictObject({
3676
- id: import_zod35.z.string(),
3677
- subject: import_zod35.z.string(),
3678
- sender: import_zod35.z.string(),
4211
+ mailbox: import_zod36.z.string().min(1).max(256).default("INBOX"),
4212
+ unread_only: import_zod36.z.boolean().default(false),
4213
+ limit: import_zod36.z.int().min(1).max(200).default(25)
4214
+ });
4215
+ var MailMessage = import_zod36.z.strictObject({
4216
+ id: import_zod36.z.string(),
4217
+ subject: import_zod36.z.string(),
4218
+ sender: import_zod36.z.string(),
3679
4219
  received_at_ms: epochMs.nullable(),
3680
- read: import_zod35.z.boolean(),
3681
- account: import_zod35.z.string(),
3682
- mailbox: import_zod35.z.string(),
4220
+ read: import_zod36.z.boolean(),
4221
+ account: import_zod36.z.string(),
4222
+ mailbox: import_zod36.z.string(),
3683
4223
  /** The first lines of the message's text. */
3684
- preview: import_zod35.z.string()
4224
+ preview: import_zod36.z.string()
3685
4225
  });
3686
- var MailListResult = import_zod35.z.strictObject({ messages: import_zod35.z.array(MailMessage) });
3687
- var MailSendParams = import_zod35.z.strictObject({
3688
- to: import_zod35.z.array(import_zod35.z.string().min(3).max(320)).min(1).max(50),
3689
- cc: import_zod35.z.array(import_zod35.z.string().min(3).max(320)).max(50).default([]),
3690
- subject: import_zod35.z.string().max(998),
4226
+ var MailListResult = import_zod36.z.strictObject({ messages: import_zod36.z.array(MailMessage) });
4227
+ var MailSendParams = import_zod36.z.strictObject({
4228
+ to: import_zod36.z.array(import_zod36.z.string().min(3).max(320)).min(1).max(50),
4229
+ cc: import_zod36.z.array(import_zod36.z.string().min(3).max(320)).max(50).default([]),
4230
+ subject: import_zod36.z.string().max(998),
3691
4231
  body: Text,
3692
4232
  /** The sending account's address; absent: Mail's default. */
3693
- from: import_zod35.z.string().min(3).max(320).optional(),
4233
+ from: import_zod36.z.string().min(3).max(320).optional(),
3694
4234
  /** false leaves it open in Mail as a draft for the person to send. */
3695
- send: import_zod35.z.boolean().default(true)
3696
- });
3697
- var MailSendResult = import_zod35.z.strictObject({ sent: import_zod35.z.boolean() });
3698
- var MessagesChatsParams = import_zod35.z.strictObject({ limit: import_zod35.z.int().min(1).max(200).default(25) });
3699
- var MessagesChat = import_zod35.z.strictObject({
3700
- chat_id: import_zod35.z.string(),
3701
- name: import_zod35.z.string().nullable(),
3702
- participants: import_zod35.z.array(import_zod35.z.string()),
4235
+ send: import_zod36.z.boolean().default(true)
4236
+ });
4237
+ var MailSendResult = import_zod36.z.strictObject({ sent: import_zod36.z.boolean() });
4238
+ var MessagesChatsParams = import_zod36.z.strictObject({ limit: import_zod36.z.int().min(1).max(200).default(25) });
4239
+ var MessagesChat = import_zod36.z.strictObject({
4240
+ chat_id: import_zod36.z.string(),
4241
+ name: import_zod36.z.string().nullable(),
4242
+ participants: import_zod36.z.array(import_zod36.z.string()),
3703
4243
  last_message_at_ms: epochMs.nullable(),
3704
- service: import_zod35.z.string().nullable()
4244
+ service: import_zod36.z.string().nullable()
3705
4245
  });
3706
- var MessagesChatsResult = import_zod35.z.strictObject({ chats: import_zod35.z.array(MessagesChat) });
3707
- var MessagesListParams = import_zod35.z.strictObject({
4246
+ var MessagesChatsResult = import_zod36.z.strictObject({ chats: import_zod36.z.array(MessagesChat) });
4247
+ var MessagesListParams = import_zod36.z.strictObject({
3708
4248
  /** One chat (messages.chats' chat_id); absent: the newest across all. */
3709
- chat_id: import_zod35.z.string().min(1).max(512).optional(),
3710
- limit: import_zod35.z.int().min(1).max(500).default(50)
3711
- });
3712
- var MessagesMessage = import_zod35.z.strictObject({
3713
- id: import_zod35.z.string(),
3714
- chat_id: import_zod35.z.string().nullable(),
3715
- text: import_zod35.z.string(),
3716
- from_me: import_zod35.z.boolean(),
4249
+ chat_id: import_zod36.z.string().min(1).max(512).optional(),
4250
+ limit: import_zod36.z.int().min(1).max(500).default(50)
4251
+ });
4252
+ var MessagesMessage = import_zod36.z.strictObject({
4253
+ id: import_zod36.z.string(),
4254
+ chat_id: import_zod36.z.string().nullable(),
4255
+ text: import_zod36.z.string(),
4256
+ from_me: import_zod36.z.boolean(),
3717
4257
  /** The other person's handle (phone or email); null for the person's own messages. */
3718
- sender: import_zod35.z.string().nullable(),
4258
+ sender: import_zod36.z.string().nullable(),
3719
4259
  sent_at_ms: epochMs.nullable()
3720
4260
  });
3721
- var MessagesListResult = import_zod35.z.strictObject({ messages: import_zod35.z.array(MessagesMessage) });
3722
- var MessagesSendParams = import_zod35.z.strictObject({
4261
+ var MessagesListResult = import_zod36.z.strictObject({ messages: import_zod36.z.array(MessagesMessage) });
4262
+ var MessagesSendParams = import_zod36.z.strictObject({
3723
4263
  /** A phone number or email the person can message. */
3724
- to: import_zod35.z.string().min(3).max(320),
3725
- text: import_zod35.z.string().min(1).max(2e4)
4264
+ to: import_zod36.z.string().min(3).max(320),
4265
+ text: import_zod36.z.string().min(1).max(2e4)
3726
4266
  });
3727
- var MessagesSendResult = import_zod35.z.strictObject({ sent: import_zod35.z.boolean() });
3728
- var ContactsSearchParams = import_zod35.z.strictObject({
4267
+ var MessagesSendResult = import_zod36.z.strictObject({ sent: import_zod36.z.boolean() });
4268
+ var ContactsSearchParams = import_zod36.z.strictObject({
3729
4269
  /** Matched against names, organizations, emails and phone numbers. */
3730
- query: import_zod35.z.string().min(1).max(256),
3731
- limit: import_zod35.z.int().min(1).max(200).default(25)
4270
+ query: import_zod36.z.string().min(1).max(256),
4271
+ limit: import_zod36.z.int().min(1).max(200).default(25)
3732
4272
  });
3733
- var ContactLabeled = import_zod35.z.strictObject({ label: import_zod35.z.string().nullable(), value: import_zod35.z.string() });
3734
- var ContactSummary = import_zod35.z.strictObject({
3735
- id: import_zod35.z.string(),
3736
- name: import_zod35.z.string(),
3737
- organization: import_zod35.z.string().nullable(),
3738
- emails: import_zod35.z.array(ContactLabeled),
3739
- phones: import_zod35.z.array(ContactLabeled)
3740
- });
3741
- var ContactsSearchResult = import_zod35.z.strictObject({ contacts: import_zod35.z.array(ContactSummary) });
3742
- var ContactsGetParams = import_zod35.z.strictObject({ id: import_zod35.z.string().min(1).max(256) });
3743
- var ContactDetail = import_zod35.z.strictObject({
3744
- id: import_zod35.z.string(),
3745
- name: import_zod35.z.string(),
3746
- organization: import_zod35.z.string().nullable(),
3747
- job_title: import_zod35.z.string().nullable(),
3748
- emails: import_zod35.z.array(ContactLabeled),
3749
- phones: import_zod35.z.array(ContactLabeled),
3750
- addresses: import_zod35.z.array(ContactLabeled),
3751
- birthday: import_zod35.z.string().nullable(),
3752
- note: import_zod35.z.string().nullable()
3753
- });
3754
- var ContactsGetResult = import_zod35.z.strictObject({ contact: ContactDetail });
3755
- var CalendarListParams = import_zod35.z.strictObject({
4273
+ var ContactLabeled = import_zod36.z.strictObject({ label: import_zod36.z.string().nullable(), value: import_zod36.z.string() });
4274
+ var ContactSummary = import_zod36.z.strictObject({
4275
+ id: import_zod36.z.string(),
4276
+ name: import_zod36.z.string(),
4277
+ organization: import_zod36.z.string().nullable(),
4278
+ emails: import_zod36.z.array(ContactLabeled),
4279
+ phones: import_zod36.z.array(ContactLabeled)
4280
+ });
4281
+ var ContactsSearchResult = import_zod36.z.strictObject({ contacts: import_zod36.z.array(ContactSummary) });
4282
+ var ContactsGetParams = import_zod36.z.strictObject({ id: import_zod36.z.string().min(1).max(256) });
4283
+ var ContactDetail = import_zod36.z.strictObject({
4284
+ id: import_zod36.z.string(),
4285
+ name: import_zod36.z.string(),
4286
+ organization: import_zod36.z.string().nullable(),
4287
+ job_title: import_zod36.z.string().nullable(),
4288
+ emails: import_zod36.z.array(ContactLabeled),
4289
+ phones: import_zod36.z.array(ContactLabeled),
4290
+ addresses: import_zod36.z.array(ContactLabeled),
4291
+ birthday: import_zod36.z.string().nullable(),
4292
+ note: import_zod36.z.string().nullable()
4293
+ });
4294
+ var ContactsGetResult = import_zod36.z.strictObject({ contact: ContactDetail });
4295
+ var CalendarListParams = import_zod36.z.strictObject({
3756
4296
  from_ms: epochMs,
3757
4297
  to_ms: epochMs,
3758
4298
  /** One calendar's name; absent: every calendar. */
3759
- calendar: import_zod35.z.string().min(1).max(256).optional(),
3760
- limit: import_zod35.z.int().min(1).max(500).default(100)
4299
+ calendar: import_zod36.z.string().min(1).max(256).optional(),
4300
+ limit: import_zod36.z.int().min(1).max(500).default(100)
3761
4301
  });
3762
- var CalendarEvent = import_zod35.z.strictObject({
3763
- id: import_zod35.z.string(),
3764
- title: import_zod35.z.string(),
4302
+ var CalendarEvent = import_zod36.z.strictObject({
4303
+ id: import_zod36.z.string(),
4304
+ title: import_zod36.z.string(),
3765
4305
  start_ms: epochMs,
3766
4306
  end_ms: epochMs,
3767
- all_day: import_zod35.z.boolean(),
3768
- calendar: import_zod35.z.string(),
3769
- location: import_zod35.z.string().nullable(),
3770
- notes: import_zod35.z.string().nullable()
3771
- });
3772
- var CalendarListResult = import_zod35.z.strictObject({ events: import_zod35.z.array(CalendarEvent) });
3773
- var CalendarCreateParams = import_zod35.z.strictObject({
3774
- title: import_zod35.z.string().min(1).max(1024),
4307
+ all_day: import_zod36.z.boolean(),
4308
+ calendar: import_zod36.z.string(),
4309
+ location: import_zod36.z.string().nullable(),
4310
+ notes: import_zod36.z.string().nullable()
4311
+ });
4312
+ var CalendarListResult = import_zod36.z.strictObject({ events: import_zod36.z.array(CalendarEvent) });
4313
+ var CalendarCreateParams = import_zod36.z.strictObject({
4314
+ title: import_zod36.z.string().min(1).max(1024),
3775
4315
  start_ms: epochMs,
3776
4316
  end_ms: epochMs,
3777
- all_day: import_zod35.z.boolean().default(false),
4317
+ all_day: import_zod36.z.boolean().default(false),
3778
4318
  /** The calendar's name; absent: the first writable calendar. */
3779
- calendar: import_zod35.z.string().min(1).max(256).optional(),
3780
- location: import_zod35.z.string().max(1024).optional(),
4319
+ calendar: import_zod36.z.string().min(1).max(256).optional(),
4320
+ location: import_zod36.z.string().max(1024).optional(),
3781
4321
  notes: Text.optional()
3782
4322
  });
3783
- var CalendarCreateResult = import_zod35.z.strictObject({ id: import_zod35.z.string(), calendar: import_zod35.z.string() });
3784
- var RemindersListParams = import_zod35.z.strictObject({
4323
+ var CalendarCreateResult = import_zod36.z.strictObject({ id: import_zod36.z.string(), calendar: import_zod36.z.string() });
4324
+ var RemindersListParams = import_zod36.z.strictObject({
3785
4325
  /** One list's name; absent: every list. */
3786
- list: import_zod35.z.string().min(1).max(256).optional(),
3787
- include_completed: import_zod35.z.boolean().default(false),
3788
- limit: import_zod35.z.int().min(1).max(500).default(100)
3789
- });
3790
- var Reminder = import_zod35.z.strictObject({
3791
- id: import_zod35.z.string(),
3792
- title: import_zod35.z.string(),
3793
- list: import_zod35.z.string(),
4326
+ list: import_zod36.z.string().min(1).max(256).optional(),
4327
+ include_completed: import_zod36.z.boolean().default(false),
4328
+ limit: import_zod36.z.int().min(1).max(500).default(100)
4329
+ });
4330
+ var Reminder = import_zod36.z.strictObject({
4331
+ id: import_zod36.z.string(),
4332
+ title: import_zod36.z.string(),
4333
+ list: import_zod36.z.string(),
3794
4334
  due_ms: epochMs.nullable(),
3795
- completed: import_zod35.z.boolean(),
3796
- notes: import_zod35.z.string().nullable()
4335
+ completed: import_zod36.z.boolean(),
4336
+ notes: import_zod36.z.string().nullable()
3797
4337
  });
3798
- var RemindersListResult = import_zod35.z.strictObject({ reminders: import_zod35.z.array(Reminder) });
3799
- var RemindersCreateParams = import_zod35.z.strictObject({
3800
- title: import_zod35.z.string().min(1).max(1024),
4338
+ var RemindersListResult = import_zod36.z.strictObject({ reminders: import_zod36.z.array(Reminder) });
4339
+ var RemindersCreateParams = import_zod36.z.strictObject({
4340
+ title: import_zod36.z.string().min(1).max(1024),
3801
4341
  due_ms: epochMs.optional(),
3802
- list: import_zod35.z.string().min(1).max(256).optional(),
4342
+ list: import_zod36.z.string().min(1).max(256).optional(),
3803
4343
  notes: Text.optional()
3804
4344
  });
3805
- var RemindersCreateResult = import_zod35.z.strictObject({ id: import_zod35.z.string(), list: import_zod35.z.string() });
3806
- var PhotosSearchParams = import_zod35.z.strictObject({
4345
+ var RemindersCreateResult = import_zod36.z.strictObject({ id: import_zod36.z.string(), list: import_zod36.z.string() });
4346
+ var PhotosSearchParams = import_zod36.z.strictObject({
3807
4347
  /** Matched against file names, titles, descriptions and keywords; absent: the newest. */
3808
- query: import_zod35.z.string().min(1).max(256).optional(),
4348
+ query: import_zod36.z.string().min(1).max(256).optional(),
3809
4349
  from_ms: epochMs.optional(),
3810
4350
  to_ms: epochMs.optional(),
3811
- favorites_only: import_zod35.z.boolean().default(false),
3812
- limit: import_zod35.z.int().min(1).max(200).default(25)
4351
+ favorites_only: import_zod36.z.boolean().default(false),
4352
+ limit: import_zod36.z.int().min(1).max(200).default(25)
3813
4353
  });
3814
- var Photo = import_zod35.z.strictObject({
3815
- id: import_zod35.z.string(),
3816
- filename: import_zod35.z.string(),
4354
+ var Photo = import_zod36.z.strictObject({
4355
+ id: import_zod36.z.string(),
4356
+ filename: import_zod36.z.string(),
3817
4357
  taken_at_ms: epochMs.nullable(),
3818
4358
  width: nonNegInt.nullable(),
3819
4359
  height: nonNegInt.nullable(),
3820
- favorite: import_zod35.z.boolean(),
3821
- title: import_zod35.z.string().nullable()
4360
+ favorite: import_zod36.z.boolean(),
4361
+ title: import_zod36.z.string().nullable()
3822
4362
  });
3823
- var PhotosSearchResult = import_zod35.z.strictObject({ photos: import_zod35.z.array(Photo) });
3824
- var PhotosGetParams = import_zod35.z.strictObject({
3825
- id: import_zod35.z.string().min(1).max(256),
4363
+ var PhotosSearchResult = import_zod36.z.strictObject({ photos: import_zod36.z.array(Photo) });
4364
+ var PhotosGetParams = import_zod36.z.strictObject({
4365
+ id: import_zod36.z.string().min(1).max(256),
3826
4366
  /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
3827
- export: import_zod35.z.boolean().default(false)
4367
+ export: import_zod36.z.boolean().default(false)
3828
4368
  });
3829
- var PhotosGetResult = import_zod35.z.strictObject({ photo: Photo, path: import_zod35.z.string().nullable() });
3830
- var LocationGetParams = import_zod35.z.strictObject({ timeout_s: import_zod35.z.int().min(1).max(60).default(15) });
3831
- var LocationGetResult = import_zod35.z.strictObject({
3832
- latitude: import_zod35.z.number().min(-90).max(90),
3833
- longitude: import_zod35.z.number().min(-180).max(180),
4369
+ var PhotosGetResult = import_zod36.z.strictObject({ photo: Photo, path: import_zod36.z.string().nullable() });
4370
+ var LocationGetParams = import_zod36.z.strictObject({ timeout_s: import_zod36.z.int().min(1).max(60).default(15) });
4371
+ var LocationGetResult = import_zod36.z.strictObject({
4372
+ latitude: import_zod36.z.number().min(-90).max(90),
4373
+ longitude: import_zod36.z.number().min(-180).max(180),
3834
4374
  /** Metres; null where the OS does not say. */
3835
- accuracy_m: import_zod35.z.number().min(0).nullable(),
4375
+ accuracy_m: import_zod36.z.number().min(0).nullable(),
3836
4376
  at_ms: epochMs,
3837
4377
  /** Who answered: the OS's own location service. */
3838
- source: import_zod35.z.enum(["corelocation", "windows", "geoclue"])
4378
+ source: import_zod36.z.enum(["corelocation", "windows", "geoclue"])
3839
4379
  });
3840
4380
 
3841
4381
  // src/schema/windows.ts
3842
- var import_zod36 = require("zod");
3843
- var RegistryKey = import_zod36.z.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)(\\.*)?$/);
3844
- var RegistryValueType = import_zod36.z.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
3845
- var WindowsRegistryReadParams = import_zod36.z.strictObject({
4382
+ var import_zod37 = require("zod");
4383
+ var RegistryKey = import_zod37.z.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)(\\.*)?$/);
4384
+ var RegistryValueType = import_zod37.z.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
4385
+ var WindowsRegistryReadParams = import_zod37.z.strictObject({
3846
4386
  key: RegistryKey,
3847
4387
  /** One value's name ("" is the key's default value); absent: every value and the subkeys. */
3848
- name: import_zod36.z.string().max(16383).optional()
4388
+ name: import_zod37.z.string().max(16383).optional()
3849
4389
  });
3850
- var RegistryValue = import_zod36.z.strictObject({ name: import_zod36.z.string(), type: RegistryValueType, data: import_zod36.z.string() });
3851
- var WindowsRegistryReadResult = import_zod36.z.strictObject({
3852
- key: import_zod36.z.string(),
3853
- exists: import_zod36.z.boolean(),
3854
- values: import_zod36.z.array(RegistryValue),
3855
- subkeys: import_zod36.z.array(import_zod36.z.string())
4390
+ var RegistryValue = import_zod37.z.strictObject({ name: import_zod37.z.string(), type: RegistryValueType, data: import_zod37.z.string() });
4391
+ var WindowsRegistryReadResult = import_zod37.z.strictObject({
4392
+ key: import_zod37.z.string(),
4393
+ exists: import_zod37.z.boolean(),
4394
+ values: import_zod37.z.array(RegistryValue),
4395
+ subkeys: import_zod37.z.array(import_zod37.z.string())
3856
4396
  });
3857
- var WindowsRegistryWriteParams = import_zod36.z.strictObject({
4397
+ var WindowsRegistryWriteParams = import_zod37.z.strictObject({
3858
4398
  key: RegistryKey,
3859
- name: import_zod36.z.string().max(16383),
4399
+ name: import_zod37.z.string().max(16383),
3860
4400
  type: RegistryValueType.default("REG_SZ"),
3861
4401
  /** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
3862
- data: import_zod36.z.string().max(1048576),
4402
+ data: import_zod37.z.string().max(1048576),
3863
4403
  /** Remove the value instead of writing it. */
3864
- delete: import_zod36.z.boolean().default(false)
4404
+ delete: import_zod37.z.boolean().default(false)
3865
4405
  });
3866
- var WindowsRegistryWriteResult = import_zod36.z.strictObject({ key: import_zod36.z.string(), name: import_zod36.z.string(), deleted: import_zod36.z.boolean() });
3867
- var WindowsServicesParams = import_zod36.z.strictObject({
4406
+ var WindowsRegistryWriteResult = import_zod37.z.strictObject({ key: import_zod37.z.string(), name: import_zod37.z.string(), deleted: import_zod37.z.boolean() });
4407
+ var WindowsServicesParams = import_zod37.z.strictObject({
3868
4408
  /** Matched against the service's name and display name. */
3869
- filter: import_zod36.z.string().min(1).max(256).optional(),
3870
- limit: import_zod36.z.int().min(1).max(1e3).default(200)
4409
+ filter: import_zod37.z.string().min(1).max(256).optional(),
4410
+ limit: import_zod37.z.int().min(1).max(1e3).default(200)
3871
4411
  });
3872
- var WindowsService = import_zod36.z.strictObject({
3873
- name: import_zod36.z.string(),
3874
- display_name: import_zod36.z.string(),
4412
+ var WindowsService = import_zod37.z.strictObject({
4413
+ name: import_zod37.z.string(),
4414
+ display_name: import_zod37.z.string(),
3875
4415
  /** Running, Stopped, Paused… as Windows says it. */
3876
- status: import_zod36.z.string(),
4416
+ status: import_zod37.z.string(),
3877
4417
  /** Automatic, Manual, Disabled…; null where Windows does not say. */
3878
- start_type: import_zod36.z.string().nullable()
4418
+ start_type: import_zod37.z.string().nullable()
3879
4419
  });
3880
- var WindowsServicesResult = import_zod36.z.strictObject({ services: import_zod36.z.array(WindowsService) });
3881
- var WindowsServiceControlParams = import_zod36.z.strictObject({
3882
- name: import_zod36.z.string().min(1).max(256),
3883
- action: import_zod36.z.enum(["start", "stop", "restart"])
4420
+ var WindowsServicesResult = import_zod37.z.strictObject({ services: import_zod37.z.array(WindowsService) });
4421
+ var WindowsServiceControlParams = import_zod37.z.strictObject({
4422
+ name: import_zod37.z.string().min(1).max(256),
4423
+ action: import_zod37.z.enum(["start", "stop", "restart"])
3884
4424
  });
3885
- var WindowsServiceControlResult = import_zod36.z.strictObject({ name: import_zod36.z.string(), status: import_zod36.z.string() });
3886
- var WindowsEventLogParams = import_zod36.z.strictObject({
3887
- log: import_zod36.z.string().min(1).max(256).default("System"),
4425
+ var WindowsServiceControlResult = import_zod37.z.strictObject({ name: import_zod37.z.string(), status: import_zod37.z.string() });
4426
+ var WindowsEventLogParams = import_zod37.z.strictObject({
4427
+ log: import_zod37.z.string().min(1).max(256).default("System"),
3888
4428
  /** Only these levels; absent: all. */
3889
- levels: import_zod36.z.array(import_zod36.z.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
4429
+ levels: import_zod37.z.array(import_zod37.z.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
3890
4430
  since_ms: epochMs.optional(),
3891
- limit: import_zod36.z.int().min(1).max(500).default(50)
4431
+ limit: import_zod37.z.int().min(1).max(500).default(50)
3892
4432
  });
3893
- var WindowsEvent = import_zod36.z.strictObject({
3894
- id: import_zod36.z.int(),
3895
- level: import_zod36.z.string(),
3896
- source: import_zod36.z.string(),
4433
+ var WindowsEvent = import_zod37.z.strictObject({
4434
+ id: import_zod37.z.int(),
4435
+ level: import_zod37.z.string(),
4436
+ source: import_zod37.z.string(),
3897
4437
  at_ms: epochMs,
3898
- message: import_zod36.z.string()
4438
+ message: import_zod37.z.string()
3899
4439
  });
3900
- var WindowsEventLogResult = import_zod36.z.strictObject({ log: import_zod36.z.string(), events: import_zod36.z.array(WindowsEvent) });
3901
- var WindowsFeaturesParams = import_zod36.z.strictObject({ filter: import_zod36.z.string().min(1).max(256).optional() });
3902
- var WindowsFeature = import_zod36.z.strictObject({ name: import_zod36.z.string(), state: import_zod36.z.string() });
3903
- var WindowsFeaturesResult = import_zod36.z.strictObject({ features: import_zod36.z.array(WindowsFeature) });
4440
+ var WindowsEventLogResult = import_zod37.z.strictObject({ log: import_zod37.z.string(), events: import_zod37.z.array(WindowsEvent) });
4441
+ var WindowsFeaturesParams = import_zod37.z.strictObject({ filter: import_zod37.z.string().min(1).max(256).optional() });
4442
+ var WindowsFeature = import_zod37.z.strictObject({ name: import_zod37.z.string(), state: import_zod37.z.string() });
4443
+ var WindowsFeaturesResult = import_zod37.z.strictObject({ features: import_zod37.z.array(WindowsFeature) });
3904
4444
 
3905
4445
  // src/schema/schedule.ts
3906
- var import_zod37 = require("zod");
3907
- var OpRef = import_zod37.z.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
3908
- var ScheduleCreateParams = import_zod37.z.strictObject({
3909
- name: import_zod37.z.string().min(1).max(200),
4446
+ var import_zod38 = require("zod");
4447
+ var OpRef = import_zod38.z.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
4448
+ var ScheduleCreateParams = import_zod38.z.strictObject({
4449
+ name: import_zod38.z.string().min(1).max(200),
3910
4450
  op: OpRef,
3911
4451
  /** The op's params, exactly as the op takes them; checked when the task is created. */
3912
- params: import_zod37.z.record(import_zod37.z.string(), import_zod37.z.unknown()).default({}),
3913
- interval_s: import_zod37.z.int().min(10).max(2592e3),
4452
+ params: import_zod38.z.record(import_zod38.z.string(), import_zod38.z.unknown()).default({}),
4453
+ interval_s: import_zod38.z.int().min(10).max(2592e3),
3914
4454
  /** Stop after this many runs; absent: until cancelled. */
3915
- max_runs: import_zod37.z.int().min(1).max(1e5).optional(),
4455
+ max_runs: import_zod38.z.int().min(1).max(1e5).optional(),
3916
4456
  /** Run once now, before the first interval. */
3917
- run_now: import_zod37.z.boolean().default(false)
4457
+ run_now: import_zod38.z.boolean().default(false)
3918
4458
  });
3919
- var ScheduleRun = import_zod37.z.strictObject({
4459
+ var ScheduleRun = import_zod38.z.strictObject({
3920
4460
  at_ms: epochMs,
3921
- ok: import_zod37.z.boolean(),
4461
+ ok: import_zod38.z.boolean(),
3922
4462
  elapsed_ms: nonNegInt,
3923
4463
  /** The error's code and message when the run failed. */
3924
- error: import_zod37.z.string().nullable(),
4464
+ error: import_zod38.z.string().nullable(),
3925
4465
  /** The start of the answer, as JSON (cut at 4 KiB). */
3926
- result_preview: import_zod37.z.string().nullable()
4466
+ result_preview: import_zod38.z.string().nullable()
3927
4467
  });
3928
- var ScheduledTask = import_zod37.z.strictObject({
3929
- id: import_zod37.z.string(),
3930
- name: import_zod37.z.string(),
3931
- op: import_zod37.z.string(),
3932
- params: import_zod37.z.record(import_zod37.z.string(), import_zod37.z.unknown()),
4468
+ var ScheduledTask = import_zod38.z.strictObject({
4469
+ id: import_zod38.z.string(),
4470
+ name: import_zod38.z.string(),
4471
+ op: import_zod38.z.string(),
4472
+ params: import_zod38.z.record(import_zod38.z.string(), import_zod38.z.unknown()),
3933
4473
  interval_s: nonNegInt,
3934
4474
  max_runs: nonNegInt.nullable(),
3935
4475
  runs: nonNegInt,
3936
4476
  created_at_ms: epochMs,
3937
4477
  next_run_at_ms: epochMs.nullable(),
3938
4478
  /** active, done (ran max_runs), cancelled. */
3939
- state: import_zod37.z.enum(["active", "done", "cancelled"]),
4479
+ state: import_zod38.z.enum(["active", "done", "cancelled"]),
3940
4480
  /** The newest runs, newest first (at most 10). */
3941
- recent: import_zod37.z.array(ScheduleRun)
4481
+ recent: import_zod38.z.array(ScheduleRun)
3942
4482
  });
3943
- var ScheduleCreateResult = import_zod37.z.strictObject({ task: ScheduledTask });
3944
- var ScheduleListParams = import_zod37.z.strictObject({ include_finished: import_zod37.z.boolean().default(false) });
3945
- var ScheduleListResult = import_zod37.z.strictObject({ tasks: import_zod37.z.array(ScheduledTask) });
3946
- var ScheduleCancelParams = import_zod37.z.strictObject({ id: import_zod37.z.string().min(1).max(64) });
3947
- var ScheduleCancelResult = import_zod37.z.strictObject({ task: ScheduledTask });
4483
+ var ScheduleCreateResult = import_zod38.z.strictObject({ task: ScheduledTask });
4484
+ var ScheduleListParams = import_zod38.z.strictObject({ include_finished: import_zod38.z.boolean().default(false) });
4485
+ var ScheduleListResult = import_zod38.z.strictObject({ tasks: import_zod38.z.array(ScheduledTask) });
4486
+ var ScheduleCancelParams = import_zod38.z.strictObject({ id: import_zod38.z.string().min(1).max(64) });
4487
+ var ScheduleCancelResult = import_zod38.z.strictObject({ task: ScheduledTask });
3948
4488
 
3949
4489
  // src/schema/notes.ts
3950
- var import_zod38 = require("zod");
3951
- var NoteFolder = import_zod38.z.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
3952
- var NotePath = import_zod38.z.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
3953
- var NotesFoldersParams = import_zod38.z.strictObject({});
3954
- var NotesFolder = import_zod38.z.strictObject({ folder: import_zod38.z.string(), notes: nonNegInt });
3955
- var NotesFoldersResult = import_zod38.z.strictObject({
4490
+ var import_zod39 = require("zod");
4491
+ var NoteFolder = import_zod39.z.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
4492
+ var NotePath = import_zod39.z.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
4493
+ var NotesFoldersParams = import_zod39.z.strictObject({});
4494
+ var NotesFolder = import_zod39.z.strictObject({ folder: import_zod39.z.string(), notes: nonNegInt });
4495
+ var NotesFoldersResult = import_zod39.z.strictObject({
3956
4496
  /** The notes root on this computer. */
3957
- root: import_zod38.z.string(),
3958
- folders: import_zod38.z.array(NotesFolder)
4497
+ root: import_zod39.z.string(),
4498
+ folders: import_zod39.z.array(NotesFolder)
3959
4499
  });
3960
- var NotesListParams = import_zod38.z.strictObject({
4500
+ var NotesListParams = import_zod39.z.strictObject({
3961
4501
  folder: NoteFolder.optional(),
3962
- limit: import_zod38.z.int().min(1).max(2e3).default(500)
4502
+ limit: import_zod39.z.int().min(1).max(2e3).default(500)
3963
4503
  });
3964
- var NoteEntry = import_zod38.z.strictObject({
3965
- path: import_zod38.z.string(),
3966
- label: import_zod38.z.string(),
3967
- folder: import_zod38.z.string(),
4504
+ var NoteEntry = import_zod39.z.strictObject({
4505
+ path: import_zod39.z.string(),
4506
+ label: import_zod39.z.string(),
4507
+ folder: import_zod39.z.string(),
3968
4508
  bytes: nonNegInt,
3969
4509
  modified_at_ms: epochMs
3970
4510
  });
3971
- var NotesListResult = import_zod38.z.strictObject({ root: import_zod38.z.string(), notes: import_zod38.z.array(NoteEntry), total: nonNegInt });
3972
- var NotesReadParams = import_zod38.z.strictObject({ path: NotePath });
3973
- var NotesReadResult = import_zod38.z.strictObject({
3974
- path: import_zod38.z.string(),
3975
- content: import_zod38.z.string(),
4511
+ var NotesListResult = import_zod39.z.strictObject({ root: import_zod39.z.string(), notes: import_zod39.z.array(NoteEntry), total: nonNegInt });
4512
+ var NotesReadParams = import_zod39.z.strictObject({ path: NotePath });
4513
+ var NotesReadResult = import_zod39.z.strictObject({
4514
+ path: import_zod39.z.string(),
4515
+ content: import_zod39.z.string(),
3976
4516
  bytes: nonNegInt,
3977
4517
  modified_at_ms: epochMs,
3978
4518
  /** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
3979
- hash: import_zod38.z.string()
4519
+ hash: import_zod39.z.string()
3980
4520
  });
3981
- var NotesWriteParams = import_zod38.z.strictObject({
4521
+ var NotesWriteParams = import_zod39.z.strictObject({
3982
4522
  folder: NoteFolder.default("General"),
3983
4523
  /** The note's name, without ".md". */
3984
- label: import_zod38.z.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
3985
- content: import_zod38.z.string().max(10485760),
4524
+ label: import_zod39.z.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4525
+ content: import_zod39.z.string().max(10485760),
3986
4526
  /** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
3987
- if_hash: import_zod38.z.string().length(64).optional()
4527
+ if_hash: import_zod39.z.string().length(64).optional()
3988
4528
  });
3989
- var NotesWriteResult = import_zod38.z.strictObject({ path: import_zod38.z.string(), bytes: nonNegInt, created: import_zod38.z.boolean(), hash: import_zod38.z.string() });
3990
- var NotesSearchParams = import_zod38.z.strictObject({
3991
- query: import_zod38.z.string().min(1).max(512),
3992
- limit: import_zod38.z.int().min(1).max(200).default(50)
4529
+ var NotesWriteResult = import_zod39.z.strictObject({ path: import_zod39.z.string(), bytes: nonNegInt, created: import_zod39.z.boolean(), hash: import_zod39.z.string() });
4530
+ var NotesSearchParams = import_zod39.z.strictObject({
4531
+ query: import_zod39.z.string().min(1).max(512),
4532
+ limit: import_zod39.z.int().min(1).max(200).default(50)
3993
4533
  });
3994
- var NotesMatch = import_zod38.z.strictObject({
3995
- path: import_zod38.z.string(),
3996
- label: import_zod38.z.string(),
3997
- folder: import_zod38.z.string(),
4534
+ var NotesMatch = import_zod39.z.strictObject({
4535
+ path: import_zod39.z.string(),
4536
+ label: import_zod39.z.string(),
4537
+ folder: import_zod39.z.string(),
3998
4538
  /** The matching lines (at most five), trimmed. */
3999
- lines: import_zod38.z.array(import_zod38.z.string())
4539
+ lines: import_zod39.z.array(import_zod39.z.string())
4000
4540
  });
4001
- var NotesSearchResult = import_zod38.z.strictObject({ matches: import_zod38.z.array(NotesMatch), total: nonNegInt });
4541
+ var NotesSearchResult = import_zod39.z.strictObject({ matches: import_zod39.z.array(NotesMatch), total: nonNegInt });
4002
4542
 
4003
4543
  // src/schema/documents.ts
4004
- var import_zod39 = require("zod");
4544
+ var import_zod40 = require("zod");
4005
4545
  var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
4006
- var DocumentsPdfTextParams = import_zod39.z.strictObject({
4546
+ var DocumentsPdfTextParams = import_zod40.z.strictObject({
4007
4547
  path: AbsPath,
4008
4548
  /** 1-based, inclusive. */
4009
- first_page: import_zod39.z.int().min(1).optional(),
4010
- last_page: import_zod39.z.int().min(1).optional(),
4011
- max_chars: import_zod39.z.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4549
+ first_page: import_zod40.z.int().min(1).optional(),
4550
+ last_page: import_zod40.z.int().min(1).optional(),
4551
+ max_chars: import_zod40.z.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4012
4552
  });
4013
- var DocumentsPdfPage = import_zod39.z.strictObject({ page: import_zod39.z.int().min(1), text: import_zod39.z.string() });
4014
- var DocumentsPdfTextResult = import_zod39.z.strictObject({
4553
+ var DocumentsPdfPage = import_zod40.z.strictObject({ page: import_zod40.z.int().min(1), text: import_zod40.z.string() });
4554
+ var DocumentsPdfTextResult = import_zod40.z.strictObject({
4015
4555
  pages: nonNegInt,
4016
4556
  /** Each page read, in order (an image-only page has empty text: OCR it). */
4017
- read: import_zod39.z.array(DocumentsPdfPage),
4018
- truncated: import_zod39.z.boolean(),
4019
- title: import_zod39.z.string().nullable(),
4020
- author: import_zod39.z.string().nullable()
4557
+ read: import_zod40.z.array(DocumentsPdfPage),
4558
+ truncated: import_zod40.z.boolean(),
4559
+ title: import_zod40.z.string().nullable(),
4560
+ author: import_zod40.z.string().nullable()
4021
4561
  });
4022
- var DocumentsOcrParams = import_zod39.z.strictObject({
4562
+ var DocumentsOcrParams = import_zod40.z.strictObject({
4023
4563
  path: AbsPath,
4024
4564
  /** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
4025
- languages: import_zod39.z.array(import_zod39.z.string().min(2).max(16)).max(8).optional(),
4565
+ languages: import_zod40.z.array(import_zod40.z.string().min(2).max(16)).max(8).optional(),
4026
4566
  /** Faster, less accurate. */
4027
- fast: import_zod39.z.boolean().default(false)
4567
+ fast: import_zod40.z.boolean().default(false)
4028
4568
  });
4029
- var DocumentsOcrLine = import_zod39.z.strictObject({
4030
- text: import_zod39.z.string(),
4569
+ var DocumentsOcrLine = import_zod40.z.strictObject({
4570
+ text: import_zod40.z.string(),
4031
4571
  /** 0–1; null where the engine does not say. */
4032
- confidence: import_zod39.z.number().min(0).max(1).nullable()
4572
+ confidence: import_zod40.z.number().min(0).max(1).nullable()
4033
4573
  });
4034
- var DocumentsOcrResult = import_zod39.z.strictObject({
4035
- text: import_zod39.z.string(),
4036
- lines: import_zod39.z.array(DocumentsOcrLine),
4037
- truncated: import_zod39.z.boolean(),
4574
+ var DocumentsOcrResult = import_zod40.z.strictObject({
4575
+ text: import_zod40.z.string(),
4576
+ lines: import_zod40.z.array(DocumentsOcrLine),
4577
+ truncated: import_zod40.z.boolean(),
4038
4578
  /** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
4039
- engine: import_zod39.z.string()
4579
+ engine: import_zod40.z.string()
4040
4580
  });
4041
- var DocumentsImageResizeParams = import_zod39.z.strictObject({
4581
+ var DocumentsImageResizeParams = import_zod40.z.strictObject({
4042
4582
  path: AbsPath,
4043
4583
  /** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
4044
4584
  out_path: AbsPath.optional(),
4045
4585
  /** The longest side, kept in proportion; absent: the size stays (a format change only). */
4046
- max_size: import_zod39.z.int().min(1).max(32768).optional(),
4047
- format: import_zod39.z.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4048
- overwrite: import_zod39.z.boolean().default(false)
4586
+ max_size: import_zod40.z.int().min(1).max(32768).optional(),
4587
+ format: import_zod40.z.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4588
+ overwrite: import_zod40.z.boolean().default(false)
4049
4589
  });
4050
- var DocumentsImageResizeResult = import_zod39.z.strictObject({
4051
- path: import_zod39.z.string(),
4590
+ var DocumentsImageResizeResult = import_zod40.z.strictObject({
4591
+ path: import_zod40.z.string(),
4052
4592
  width: nonNegInt,
4053
4593
  height: nonNegInt,
4054
4594
  bytes: nonNegInt
4055
4595
  });
4056
- var DocumentsParagraph = import_zod39.z.strictObject({
4057
- style: import_zod39.z.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4058
- text: import_zod39.z.string().max(1e5)
4596
+ var DocumentsParagraph = import_zod40.z.strictObject({
4597
+ style: import_zod40.z.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4598
+ text: import_zod40.z.string().max(1e5)
4059
4599
  });
4060
- var DocumentsSheet = import_zod39.z.strictObject({
4061
- name: import_zod39.z.string().min(1).max(31),
4600
+ var DocumentsSheet = import_zod40.z.strictObject({
4601
+ name: import_zod40.z.string().min(1).max(31),
4062
4602
  /** Rows of cells; the first row is the header when `header` is true. */
4063
- rows: import_zod39.z.array(import_zod39.z.array(import_zod39.z.union([import_zod39.z.string().max(32767), import_zod39.z.number(), import_zod39.z.boolean(), import_zod39.z.null()])).max(16384)).max(1e5),
4064
- header: import_zod39.z.boolean().default(true)
4603
+ rows: import_zod40.z.array(import_zod40.z.array(import_zod40.z.union([import_zod40.z.string().max(32767), import_zod40.z.number(), import_zod40.z.boolean(), import_zod40.z.null()])).max(16384)).max(1e5),
4604
+ header: import_zod40.z.boolean().default(true)
4065
4605
  });
4066
- var DocumentsOfficeGenerateParams = import_zod39.z.strictObject({
4067
- kind: import_zod39.z.enum(["docx", "xlsx"]),
4606
+ var DocumentsOfficeGenerateParams = import_zod40.z.strictObject({
4607
+ kind: import_zod40.z.enum(["docx", "xlsx"]),
4068
4608
  path: AbsPath,
4069
- title: import_zod39.z.string().max(1024).optional(),
4609
+ title: import_zod40.z.string().max(1024).optional(),
4070
4610
  /** docx: the document's paragraphs, in order. */
4071
- paragraphs: import_zod39.z.array(DocumentsParagraph).max(5e4).optional(),
4611
+ paragraphs: import_zod40.z.array(DocumentsParagraph).max(5e4).optional(),
4072
4612
  /** xlsx: the workbook's sheets, in order. */
4073
- sheets: import_zod39.z.array(DocumentsSheet).min(1).max(64).optional(),
4074
- overwrite: import_zod39.z.boolean().default(false)
4613
+ sheets: import_zod40.z.array(DocumentsSheet).min(1).max(64).optional(),
4614
+ overwrite: import_zod40.z.boolean().default(false)
4075
4615
  });
4076
- var DocumentsOfficeGenerateResult = import_zod39.z.strictObject({ path: import_zod39.z.string(), bytes: nonNegInt });
4077
- var EntitiesNerParams = import_zod39.z.strictObject({
4078
- text: import_zod39.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4616
+ var DocumentsOfficeGenerateResult = import_zod40.z.strictObject({ path: import_zod40.z.string(), bytes: nonNegInt });
4617
+ var EntitiesNerParams = import_zod40.z.strictObject({
4618
+ text: import_zod40.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4079
4619
  /** Which kinds to keep; absent: all three. */
4080
- labels: import_zod39.z.array(import_zod39.z.enum(["person", "place", "organization"])).min(1).max(3).optional()
4620
+ labels: import_zod40.z.array(import_zod40.z.enum(["person", "place", "organization"])).min(1).max(3).optional()
4081
4621
  });
4082
- var EntitySpan = import_zod39.z.strictObject({
4083
- text: import_zod39.z.string(),
4084
- label: import_zod39.z.string(),
4622
+ var EntitySpan = import_zod40.z.strictObject({
4623
+ text: import_zod40.z.string(),
4624
+ label: import_zod40.z.string(),
4085
4625
  /** Character offsets into the text (UTF-16, as JavaScript counts). */
4086
4626
  start: nonNegInt,
4087
4627
  end: nonNegInt
4088
4628
  });
4089
- var EntitiesNerResult = import_zod39.z.strictObject({ entities: import_zod39.z.array(EntitySpan), engine: import_zod39.z.string() });
4090
- var PiiKind = import_zod39.z.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4091
- var EntitiesPiiParams = import_zod39.z.strictObject({
4092
- text: import_zod39.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4093
- kinds: import_zod39.z.array(PiiKind).min(1).max(8).optional(),
4629
+ var EntitiesNerResult = import_zod40.z.strictObject({ entities: import_zod40.z.array(EntitySpan), engine: import_zod40.z.string() });
4630
+ var PiiKind = import_zod40.z.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4631
+ var EntitiesPiiParams = import_zod40.z.strictObject({
4632
+ text: import_zod40.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4633
+ kinds: import_zod40.z.array(PiiKind).min(1).max(8).optional(),
4094
4634
  /** Also answer the text with each finding replaced by its kind ("[email]"). */
4095
- redact: import_zod39.z.boolean().default(false)
4635
+ redact: import_zod40.z.boolean().default(false)
4096
4636
  });
4097
- var EntitiesPiiResult = import_zod39.z.strictObject({
4098
- findings: import_zod39.z.array(import_zod39.z.strictObject({ kind: PiiKind, text: import_zod39.z.string(), start: nonNegInt, end: nonNegInt })),
4099
- redacted: import_zod39.z.string().nullable()
4637
+ var EntitiesPiiResult = import_zod40.z.strictObject({
4638
+ findings: import_zod40.z.array(import_zod40.z.strictObject({ kind: PiiKind, text: import_zod40.z.string(), start: nonNegInt, end: nonNegInt })),
4639
+ redacted: import_zod40.z.string().nullable()
4100
4640
  });
4101
4641
 
4102
4642
  // src/schema/registry.ts
@@ -4230,6 +4770,36 @@ var OPS = {
4230
4770
  "apps.windows.shown": { params: AppsWindowsShownParams, result: AppsWindowsShownResult, kind: "unary", since: "1.21", errors: ["NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4231
4771
  // Claude Code history (SPEC §6 coding): served by the `coding` Python service through SERVICES below.
4232
4772
  "coding.history.import_missing": { params: CodingHistoryImportMissingParams, result: CodingHistoryImportMissingResult, kind: "unary", since: "1.5", errors: ["RESOURCE_BUSY", "RESOURCE_GONE", "CANCELLED", "INTERNAL"] },
4773
+ // Code from anywhere (1.38): the coding engine's sessions, read and driven over any transport.
4774
+ "coding.providers": { params: CodingProvidersParams, result: CodingProvidersResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4775
+ "coding.sessions.list": { params: CodingSessionsListParams, result: CodingSessionsListResult, kind: "unary", since: "1.38", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
4776
+ "coding.discover": { params: CodingDiscoverParams, result: CodingDiscoverResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4777
+ "coding.runs.list": { params: CodingRunsListParams, result: CodingRunsListResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4778
+ "coding.history": { params: CodingHistoryParams, result: CodingHistoryResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4779
+ "coding.transcript.read": { params: CodingTranscriptReadParams, result: CodingTranscriptReadResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4780
+ "coding.item.full": { params: CodingItemFullParams, result: CodingItemFullResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "PAYLOAD_TOO_LARGE", "INTERNAL"] },
4781
+ "coding.activity": { params: CodingActivityParams, result: CodingActivityResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4782
+ "coding.folders.recent": { params: CodingFoldersRecentParams, result: CodingFoldersRecentResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4783
+ "coding.folders.check": { params: CodingFoldersCheckParams, result: CodingFoldersCheckResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "AUTH_FORBIDDEN", "INTERNAL"] },
4784
+ "coding.folders.create": { params: CodingFoldersCreateParams, result: CodingFoldersCreateResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "AUTH_FORBIDDEN", "PERMISSION_DENIED_OS", "INTERNAL"] },
4785
+ "coding.start": { params: CodingStartParams, result: CodingStartResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "RATE_LIMITED", "INTERNAL"] },
4786
+ "coding.takeover": { params: CodingTakeoverParams, result: CodingTakeoverResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RESOURCE_BUSY", "AUTH_FORBIDDEN", "INTERNAL"] },
4787
+ "coding.send": { params: CodingSendParams, result: CodingSendResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RATE_LIMITED", "INTERNAL"] },
4788
+ "coding.stop": { params: CodingStopParams, result: CodingStopResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4789
+ "coding.stop_elsewhere": { params: CodingStopElsewhereParams, result: CodingStopElsewhereResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
4790
+ "coding.options.set": { params: CodingOptionsSetParams, result: CodingOptionsSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4791
+ "coding.agent.set": { params: CodingAgentSetParams, result: CodingAgentSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "INTERNAL"] },
4792
+ "coding.agents.access": { params: CodingAgentsAccessParams, result: CodingAgentsAccessResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4793
+ "coding.titles.status": { params: CodingTitlesStatusParams, result: CodingTitlesStatusResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4794
+ "coding.prefs.list": { params: CodingPrefsListParams, result: CodingPrefsListResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4795
+ "coding.prefs.set": { params: CodingPrefsSetParams, result: CodingPrefsSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4796
+ "coding.recent.seen": { params: CodingRecentSeenParams, result: CodingRecentSeenResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4797
+ "coding.search": { params: CodingSearchParams, result: CodingSearchResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "TIMEOUT", "INTERNAL"] },
4798
+ "coding.reconcile": { params: CodingReconcileParams, result: CodingReconcileResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RESOURCE_BUSY", "CANCELLED", "INTERNAL"] },
4799
+ "coding.transcript.raw": { params: CodingTranscriptRawParams, result: CodingTranscriptRawResult, kind: "stream", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "CANCELLED", "INTERNAL"] },
4800
+ "coding.watch": { params: CodingWatchParams, result: CodingWatchResult, kind: "resource", since: "1.38", errors: ["PLATFORM_UNSUPPORTED", "RATE_LIMITED", "INTERNAL"] },
4801
+ "coding.session.watch": { params: CodingSessionWatchParams, result: CodingSessionWatchResult, kind: "resource", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RATE_LIMITED", "INTERNAL"] },
4802
+ "session.identify": { params: SessionIdentifyParams, result: SessionIdentifyResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS"] },
4233
4803
  // 1.22: git for agents (core `git`, the system git; the cloud sandbox's /git/* set, SPEC 6.1).
4234
4804
  "git.status": { params: GitStatusParams, result: GitStatusResult, kind: "unary", since: "1.22", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4235
4805
  "git.diff": { params: GitDiffParams, result: GitDiffResult, kind: "unary", since: "1.22", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
@@ -4250,6 +4820,10 @@ var OPS = {
4250
4820
  "account.agents.list": { params: AccountAgentsListParams, result: AccountAgentsListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
4251
4821
  "account.vault.list": { params: AccountVaultListParams, result: AccountVaultListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
4252
4822
  "account.vault.copy": { params: AccountVaultCopyParams, result: AccountVaultCopyResult, kind: "unary", since: "1.23", errors: ["AUTH_REQUIRED", "AUTH_FORBIDDEN", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
4823
+ // 1.39: one agent opened (its inputs and what it uses), its runs (mandate.run_history, one agent at a time) and its star.
4824
+ "account.agents.get": { params: AccountAgentsGetParams, result: AccountAgentsGetResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
4825
+ "account.agents.runs": { params: AccountAgentsRunsParams, result: AccountAgentsRunsResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
4826
+ "account.agents.favorite": { params: AccountAgentsFavoriteParams, result: AccountAgentsFavoriteResult, kind: "unary", since: "1.39", errors: ["AUTH_REQUIRED", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
4253
4827
  // 1.26: the app's own update (it installs only once every window quit) and bringing the windows back.
4254
4828
  "apps.windows.update_state": { params: AppsWindowsUpdateStateParams, result: AppsWindowsUpdateStateResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4255
4829
  "apps.windows.reopen": { params: AppsWindowsReopenParams, result: AppsWindowsReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
@@ -4323,6 +4897,10 @@ var EVENTS = {
4323
4897
  "session.control_changed": SessionControlChangedEvent,
4324
4898
  "models.progress": ModelsProgressEvent,
4325
4899
  "coding.history.progress": CodingHistoryProgressEvent,
4900
+ "coding.changed": CodingChangedEvent,
4901
+ "coding.watch_state": CodingWatchStateEvent,
4902
+ "coding.item": CodingItemEvent,
4903
+ "coding.gap": CodingGapEvent,
4326
4904
  "relay.device_status": RelayDeviceStatusEvent,
4327
4905
  "relay.auth_expiring": RelayAuthExpiringEvent,
4328
4906
  "diag.errors.changed": DiagErrorsChangedEvent,
@@ -4497,6 +5075,91 @@ var NAMED_SCHEMAS = {
4497
5075
  CodingHistoryImportMissingParams,
4498
5076
  CodingHistoryImportMissingResult,
4499
5077
  CodingHistoryProgressEvent,
5078
+ CodingProviderName,
5079
+ CodingRunStatus,
5080
+ CodingClientRequestId,
5081
+ CodingRunUsage,
5082
+ CodingStartedBy,
5083
+ CodingRunRecord,
5084
+ CodingSessionAgentPart,
5085
+ CodingSessionAgent,
5086
+ CodingSessionRecord,
5087
+ CodingActiveElsewhere,
5088
+ CodingDiscoveredChat,
5089
+ CodingTranscriptItem,
5090
+ CodingHistoryRecord,
5091
+ CodingQuotaWindow,
5092
+ CodingProviderProblem,
5093
+ CodingProviderBinary,
5094
+ CodingProviderStatus,
5095
+ CodingChatPreference,
5096
+ CodingTitleStatus,
5097
+ CodingRecentRow,
5098
+ CodingFolderCheck,
5099
+ CodingRecentFolder,
5100
+ CodingAgentSelectionParams,
5101
+ CodingSendResult,
5102
+ CodingProvidersParams,
5103
+ CodingProvidersResult,
5104
+ CodingSessionsListParams,
5105
+ CodingSessionsListResult,
5106
+ CodingDiscoverParams,
5107
+ CodingDiscoverResult,
5108
+ CodingRunsListParams,
5109
+ CodingRunsListResult,
5110
+ CodingHistoryParams,
5111
+ CodingHistoryResult,
5112
+ CodingTranscriptReadParams,
5113
+ CodingTranscriptReadResult,
5114
+ CodingItemFullParams,
5115
+ CodingItemFullResult,
5116
+ CodingActivityParams,
5117
+ CodingActivityResult,
5118
+ CodingFoldersRecentParams,
5119
+ CodingFoldersRecentResult,
5120
+ CodingFoldersCheckParams,
5121
+ CodingFoldersCheckResult,
5122
+ CodingFoldersCreateParams,
5123
+ CodingFoldersCreateResult,
5124
+ CodingStartParams,
5125
+ CodingStartResult,
5126
+ CodingTakeoverParams,
5127
+ CodingTakeoverResult,
5128
+ CodingSendParams,
5129
+ CodingStopParams,
5130
+ CodingStopResult,
5131
+ CodingStopElsewhereParams,
5132
+ CodingStopElsewhereResult,
5133
+ CodingOptionsSetParams,
5134
+ CodingOptionsSetResult,
5135
+ CodingAgentSetParams,
5136
+ CodingAgentSetResult,
5137
+ CodingAgentsAccessParams,
5138
+ CodingAgentsAccessResult,
5139
+ CodingTitlesStatusParams,
5140
+ CodingTitlesStatusResult,
5141
+ CodingPrefsListParams,
5142
+ CodingPrefsListResult,
5143
+ CodingPrefsSetParams,
5144
+ CodingPrefsSetResult,
5145
+ CodingRecentSeenParams,
5146
+ CodingRecentSeenResult,
5147
+ CodingSearchParams,
5148
+ CodingSearchResult,
5149
+ CodingReconcileParams,
5150
+ CodingReconcileResult,
5151
+ CodingTranscriptRawParams,
5152
+ CodingTranscriptRawResult,
5153
+ CodingWatchParams,
5154
+ CodingWatchResult,
5155
+ CodingSessionWatchParams,
5156
+ CodingSessionWatchResult,
5157
+ SessionIdentifyParams,
5158
+ SessionIdentifyResult,
5159
+ CodingChangedEvent,
5160
+ CodingWatchStateEvent,
5161
+ CodingItemEvent,
5162
+ CodingGapEvent,
4500
5163
  ServiceName,
4501
5164
  ContractHash,
4502
5165
  ServiceToken,
@@ -4806,6 +5469,17 @@ var NAMED_SCHEMAS = {
4806
5469
  AccountVaultListResult,
4807
5470
  AccountVaultCopyParams,
4808
5471
  AccountVaultCopyResult,
5472
+ AccountAgentVariable,
5473
+ AccountAgentDetail,
5474
+ AccountAgentsGetParams,
5475
+ AccountAgentsGetResult,
5476
+ AccountAgentRunStatus,
5477
+ AccountAgentRun,
5478
+ AccountAgentRunSort,
5479
+ AccountAgentsRunsParams,
5480
+ AccountAgentsRunsResult,
5481
+ AccountAgentsFavoriteParams,
5482
+ AccountAgentsFavoriteResult,
4809
5483
  AppsWindowsUpdateStateParams,
4810
5484
  AppsWindowsUpdateStateResult,
4811
5485
  AppsWindowsReopenParams,
@@ -4990,7 +5664,8 @@ var FIELDS_SINCE = {
4990
5664
  AppsWindowsUpdateStateResult: { closed_by_update: "1.27" },
4991
5665
  AppsProjectsToWindowParams: { pin: "1.32", chat_ids: "1.36", take_off_from: "1.36" },
4992
5666
  AppsProjectsToWindowResult: { pin: "1.32" },
4993
- AppsChatsTitlesCheckResult: { stale_windows: "1.33" }
5667
+ AppsChatsTitlesCheckResult: { stale_windows: "1.33" },
5668
+ AccountAgent: { tags: "1.39", model_id: "1.39", access_level: "1.39", organization_id: "1.39", origin: "1.39", is_archived: "1.39", orchestra: "1.39" }
4994
5669
  };
4995
5670
  var NULL_SINCE = {
4996
5671
  "RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
@@ -5066,7 +5741,8 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
5066
5741
  ["apps.chats.place", [["chat", "ChatRow"]]],
5067
5742
  ["apps.accounts.usage", [["accounts", "AccountUsage"]]],
5068
5743
  ["resources.snapshot", [["disks", "ResourcesDisk"]]],
5069
- ["stack.state", [["servers", "StackServer"]]]
5744
+ ["stack.state", [["servers", "StackServer"]]],
5745
+ ["account.agents.list", [["agents", "AccountAgent"]]]
5070
5746
  ]);
5071
5747
  function stripNested(value, nested, version) {
5072
5748
  if (value === null || typeof value !== "object" || Array.isArray(value)) return value;
@@ -5127,7 +5803,7 @@ function forPeer(op, part, value, version) {
5127
5803
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
5128
5804
 
5129
5805
  // src/contract.ts
5130
- var CONTRACT_SHA256 = "1091ef68a5cb45a35a85998fc34560b4ddc035fe67d2d34594e935e92a2081dd";
5806
+ var CONTRACT_SHA256 = "542bc69319741eea52154d413b4fe974ee5a56f7aef351e78b866b0562e82753";
5131
5807
 
5132
5808
  // src/close-policy.ts
5133
5809
  var CLOSE_RULES = {
@@ -5201,6 +5877,10 @@ var TOOL_CATALOG = [
5201
5877
  { name: "desktop_location", group: "personal_automation", state: "built", path: "device_op", ops: ["location.get"], platforms: ["darwin", "win32"], summary: "Where the computer is (the OS's location service)" },
5202
5878
  { name: "desktop_net", group: "personal_automation", state: "built", path: "device_op", ops: ["net.info", "net.wifi", "net.bluetooth", "net.devices", "net.mdns", "net.scan", "net.download"], platforms: ALL, summary: "Local network, Wi-Fi, Bluetooth, open ports and downloads" },
5203
5879
  { name: "desktop_schedule", group: "personal_automation", state: "built", path: "device_op", ops: ["schedule.create", "schedule.list", "schedule.cancel"], platforms: ALL, summary: "Run a tool's op on this computer on an interval; list and cancel" },
5880
+ // 1.38, code from anywhere: the person's Claude Code and Codex sessions on this computer. Turning
5881
+ // either off in Agents › Tools refuses its ops on every relay connection (the existing switch).
5882
+ { name: "coding_sessions_read", group: "personal_automation", state: "built", path: "device_op", ops: ["coding.providers", "coding.sessions.list", "coding.discover", "coding.runs.list", "coding.history", "coding.transcript.read", "coding.item.full", "coding.activity", "coding.folders.recent", "coding.folders.check", "coding.agents.access", "coding.titles.status", "coding.prefs.list", "coding.recent.seen", "coding.search", "coding.transcript.raw", "coding.watch", "coding.session.watch"], platforms: ALL, summary: "Claude Code and Codex sessions: list, read live, search, download" },
5883
+ { name: "coding_sessions_drive", group: "personal_automation", state: "built", path: "device_op", ops: ["coding.start", "coding.takeover", "coding.send", "coding.stop", "coding.stop_elsewhere", "coding.options.set", "coding.agent.set", "coding.folders.create", "coding.prefs.set", "coding.reconcile"], platforms: ALL, summary: "Claude Code and Codex sessions: start, send, stop, take over, rename" },
5204
5884
  // ── 4. Documents, notes and entities (1.37: the core's `documents` and `notes` owners; desktop_web is the `tools` service) ──
5205
5885
  { name: "desktop_documents", group: "tools_service", state: "built", path: "device_op", ops: ["documents.pdf_text", "documents.ocr", "documents.image_resize", "documents.office_generate"], platforms: ALL, summary: "PDF text, OCR, images, Word and Excel files" },
5206
5886
  { name: "desktop_web", group: "tools_service", state: "built", path: "device_op", ops: ["web.fetch", "web.scrape", "web.search", "web.fetch_with_browser"], platforms: ALL, summary: "Fetch, scrape and search the web from this computer's own connection" },