@ai-matrx/desktop-protocol 0.21.37 → 0.21.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/dist/client.cjs +588 -500
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +588 -500
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +1447 -1338
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +178 -6
- package/dist/index.d.ts +178 -6
- package/dist/index.js +1447 -1338
- package/dist/index.js.map +1 -1
- package/dist/{models-B7jYxupg.d.cts → models-Ut2nuRzV.d.cts} +239 -1
- package/dist/{models-B7jYxupg.d.ts → models-Ut2nuRzV.d.ts} +239 -1
- package/dist/react.d.cts +85 -1
- package/dist/react.d.ts +85 -1
- package/generated/desktop-protocol.schema.json +515 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -35,16 +35,21 @@ __export(src_exports, {
|
|
|
35
35
|
AccountAgentsListResult: () => AccountAgentsListResult,
|
|
36
36
|
AccountAgentsRunsParams: () => AccountAgentsRunsParams,
|
|
37
37
|
AccountAgentsRunsResult: () => AccountAgentsRunsResult,
|
|
38
|
+
AccountGap: () => AccountGap,
|
|
38
39
|
AccountReadState: () => AccountReadState,
|
|
39
40
|
AccountReset: () => AccountReset,
|
|
41
|
+
AccountResetSource: () => AccountResetSource,
|
|
40
42
|
AccountRowId: () => AccountRowId,
|
|
41
43
|
AccountUsage: () => AccountUsage,
|
|
42
44
|
AccountVaultCopyParams: () => AccountVaultCopyParams,
|
|
43
45
|
AccountVaultCopyResult: () => AccountVaultCopyResult,
|
|
44
46
|
AccountVaultListParams: () => AccountVaultListParams,
|
|
45
47
|
AccountVaultListResult: () => AccountVaultListResult,
|
|
48
|
+
AppAccount: () => AppAccount,
|
|
46
49
|
AppFeatureStatus: () => AppFeatureStatus,
|
|
47
50
|
AppInfo: () => AppInfo,
|
|
51
|
+
AppInstall: () => AppInstall,
|
|
52
|
+
AppInstance: () => AppInstance,
|
|
48
53
|
AppKey: () => AppKey,
|
|
49
54
|
AppProfile: () => AppProfile,
|
|
50
55
|
AppProfileId: () => AppProfileId,
|
|
@@ -52,6 +57,8 @@ __export(src_exports, {
|
|
|
52
57
|
AppSupport: () => AppSupport,
|
|
53
58
|
AppUsageReading: () => AppUsageReading,
|
|
54
59
|
AppWindowInfo: () => AppWindowInfo,
|
|
60
|
+
AppsAccountsListParams: () => AppsAccountsListParams,
|
|
61
|
+
AppsAccountsListResult: () => AppsAccountsListResult,
|
|
55
62
|
AppsAccountsResetsParams: () => AppsAccountsResetsParams,
|
|
56
63
|
AppsAccountsResetsResult: () => AppsAccountsResetsResult,
|
|
57
64
|
AppsAccountsUsageParams: () => AppsAccountsUsageParams,
|
|
@@ -73,6 +80,8 @@ __export(src_exports, {
|
|
|
73
80
|
AppsChatsWatchParams: () => AppsChatsWatchParams,
|
|
74
81
|
AppsChatsWatchResult: () => AppsChatsWatchResult,
|
|
75
82
|
AppsChatsWatchStateEvent: () => AppsChatsWatchStateEvent,
|
|
83
|
+
AppsInstancesListParams: () => AppsInstancesListParams,
|
|
84
|
+
AppsInstancesListResult: () => AppsInstancesListResult,
|
|
76
85
|
AppsListParams: () => AppsListParams,
|
|
77
86
|
AppsListResult: () => AppsListResult,
|
|
78
87
|
AppsOpenParams: () => AppsOpenParams,
|
|
@@ -466,6 +475,7 @@ __export(src_exports, {
|
|
|
466
475
|
InputSetKeyboardSettingsParams: () => InputSetKeyboardSettingsParams,
|
|
467
476
|
InputTypeTextParams: () => InputTypeTextParams,
|
|
468
477
|
InputTypeTextResult: () => InputTypeTextResult,
|
|
478
|
+
InstanceStatus: () => InstanceStatus,
|
|
469
479
|
LEGACY_ACTIONS: () => LEGACY_ACTIONS,
|
|
470
480
|
LEGACY_DISPATCHERS: () => LEGACY_DISPATCHERS,
|
|
471
481
|
Limits: () => Limits,
|
|
@@ -866,7 +876,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
866
876
|
var import_zod = require("zod");
|
|
867
877
|
var import_uuid = require("@ai-matrx/kit/uuid");
|
|
868
878
|
var PROTOCOL_MAJOR = 1;
|
|
869
|
-
var PROTOCOL_MINOR =
|
|
879
|
+
var PROTOCOL_MINOR = 47;
|
|
870
880
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
871
881
|
var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
872
882
|
var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -1799,7 +1809,9 @@ var DownloadRow = import_zod10.z.strictObject({
|
|
|
1799
1809
|
/** Unix ms; null when stopped. */
|
|
1800
1810
|
started_at: nonNegInt.nullable(),
|
|
1801
1811
|
/** The folder it downloads into (Show in Finder). */
|
|
1802
|
-
path: import_zod10.z.string().max(1024).nullable()
|
|
1812
|
+
path: import_zod10.z.string().max(1024).nullable(),
|
|
1813
|
+
/** (1.46) Why it stopped, when it failed (one human line); absent otherwise. */
|
|
1814
|
+
error: import_zod10.z.string().max(300).optional()
|
|
1803
1815
|
});
|
|
1804
1816
|
var ModelsDownloadsListParams = import_zod10.z.strictObject({});
|
|
1805
1817
|
var ModelsDownloadsListResult = import_zod10.z.strictObject({ downloads: import_zod10.z.array(DownloadRow).max(64) });
|
|
@@ -2613,249 +2625,331 @@ var AppsWindowsUpdateAndReopenResult = import_zod14.z.strictObject({
|
|
|
2613
2625
|
installed_version: import_zod14.z.string().max(64).nullable()
|
|
2614
2626
|
});
|
|
2615
2627
|
|
|
2616
|
-
// src/schema/
|
|
2628
|
+
// src/schema/apps-instances.ts
|
|
2617
2629
|
var import_zod15 = require("zod");
|
|
2630
|
+
var InstanceStatus = import_zod15.z.enum(["open", "closed", "wrong_account", "update_waiting", "folder_missing"]);
|
|
2631
|
+
var AppInstall = import_zod15.z.strictObject({
|
|
2632
|
+
location: import_zod15.z.string().max(1024),
|
|
2633
|
+
version: import_zod15.z.string().max(80).nullable()
|
|
2634
|
+
});
|
|
2635
|
+
var AppInstance = import_zod15.z.strictObject({
|
|
2636
|
+
app_key: AppKey,
|
|
2637
|
+
/** "main", or the instance's name: the same key every window action takes. */
|
|
2638
|
+
key: ChatPlace,
|
|
2639
|
+
main: import_zod15.z.boolean(),
|
|
2640
|
+
status: InstanceStatus,
|
|
2641
|
+
running: import_zod15.z.boolean(),
|
|
2642
|
+
/** Its process while open. */
|
|
2643
|
+
pid: nonNegInt.nullable(),
|
|
2644
|
+
/** Its data folder on this device. */
|
|
2645
|
+
folder: import_zod15.z.string().max(1024).nullable(),
|
|
2646
|
+
folder_exists: import_zod15.z.boolean(),
|
|
2647
|
+
/** The provider's id of the account signed in there now, when the app records it. */
|
|
2648
|
+
account_id: import_zod15.z.string().max(200).nullable(),
|
|
2649
|
+
/** That account's email, when known. */
|
|
2650
|
+
account: import_zod15.z.string().max(320).nullable(),
|
|
2651
|
+
/** The account this instance is kept for (null for main: it signs into any). */
|
|
2652
|
+
meant_for: import_zod15.z.string().max(320).nullable(),
|
|
2653
|
+
/** The version running in it now, or the one it last ran when closed. */
|
|
2654
|
+
version: import_zod15.z.string().max(80).nullable(),
|
|
2655
|
+
installed_version: import_zod15.z.string().max(80).nullable(),
|
|
2656
|
+
/** Chats open in it now. */
|
|
2657
|
+
open_chats: nonNegInt,
|
|
2658
|
+
launched_ms: epochMs.nullable(),
|
|
2659
|
+
quit_ms: epochMs.nullable(),
|
|
2660
|
+
first_launch_ms: epochMs.nullable()
|
|
2661
|
+
});
|
|
2662
|
+
var AccountResetSource = import_zod15.z.enum(["app", "usage_history", "your_list"]);
|
|
2663
|
+
var AccountGap = import_zod15.z.enum(["email", "plan", "usage"]);
|
|
2664
|
+
var AppAccount = import_zod15.z.strictObject({
|
|
2665
|
+
app_key: AppKey,
|
|
2666
|
+
/** The provider's own account id (Claude's account uuid, ChatGPT's account id); `org:<uuid>` when only its organization is known. */
|
|
2667
|
+
account_id: import_zod15.z.string().max(200),
|
|
2668
|
+
email: import_zod15.z.string().max(320).nullable(),
|
|
2669
|
+
plan: import_zod15.z.string().max(80).nullable(),
|
|
2670
|
+
/** The provider organizations its readings are filed under. */
|
|
2671
|
+
orgs: import_zod15.z.array(import_zod15.z.string().max(80)).max(20),
|
|
2672
|
+
/** Weekly use in percent; 0 once the week reset after the reading. */
|
|
2673
|
+
weekly: import_zod15.z.number().nullable(),
|
|
2674
|
+
weekly_reset_since: import_zod15.z.boolean(),
|
|
2675
|
+
weekly_resets_at_ms: epochMs.nullable(),
|
|
2676
|
+
weekly_reset_source: AccountResetSource.nullable(),
|
|
2677
|
+
/** 5-hour use in percent; 0 once the 5-hour window passed after the reading. */
|
|
2678
|
+
five_hour: import_zod15.z.number().nullable(),
|
|
2679
|
+
five_hour_reset_since: import_zod15.z.boolean(),
|
|
2680
|
+
/** The latest the 5-hour window resets. */
|
|
2681
|
+
five_hour_resets_at_ms: epochMs.nullable(),
|
|
2682
|
+
/** Claude: extra-usage spend as a percent of its cap. */
|
|
2683
|
+
extra_usage: import_zod15.z.number().nullable(),
|
|
2684
|
+
/** Codex: the credit balance. */
|
|
2685
|
+
credits: import_zod15.z.number().nullable(),
|
|
2686
|
+
/** When the newest reading was taken, and in which instance. */
|
|
2687
|
+
read_at_ms: epochMs.nullable(),
|
|
2688
|
+
read_in: ChatPlace.nullable(),
|
|
2689
|
+
/** Instances signed into it now. */
|
|
2690
|
+
instances: import_zod15.z.array(ChatPlace).max(200),
|
|
2691
|
+
first_seen_ms: epochMs.nullable(),
|
|
2692
|
+
last_seen_ms: epochMs.nullable(),
|
|
2693
|
+
missing: import_zod15.z.array(AccountGap).max(3)
|
|
2694
|
+
});
|
|
2695
|
+
var AppsInstancesListParams = import_zod15.z.strictObject({ app_key: AppKey });
|
|
2696
|
+
var AppsInstancesListResult = import_zod15.z.strictObject({
|
|
2697
|
+
app_key: AppKey,
|
|
2698
|
+
install: AppInstall.nullable(),
|
|
2699
|
+
instances: import_zod15.z.array(AppInstance).max(200),
|
|
2700
|
+
/** The rows are right but something around them failed; shown, never hidden. */
|
|
2701
|
+
problem: import_zod15.z.string().max(400).optional()
|
|
2702
|
+
});
|
|
2703
|
+
var AppsAccountsListParams = import_zod15.z.strictObject({ app_key: AppKey });
|
|
2704
|
+
var AppsAccountsListResult = import_zod15.z.strictObject({
|
|
2705
|
+
app_key: AppKey,
|
|
2706
|
+
accounts: import_zod15.z.array(AppAccount).max(500),
|
|
2707
|
+
problem: import_zod15.z.string().max(400).optional()
|
|
2708
|
+
});
|
|
2709
|
+
|
|
2710
|
+
// src/schema/service.ts
|
|
2711
|
+
var import_zod16 = require("zod");
|
|
2618
2712
|
var SERVICE_MAX_FRAME_BYTES = 16777216;
|
|
2619
|
-
var ServiceName =
|
|
2620
|
-
var ContractHash =
|
|
2621
|
-
var ServiceToken =
|
|
2713
|
+
var ServiceName = import_zod16.z.enum(["ml", "coding", "tools"]);
|
|
2714
|
+
var ContractHash = import_zod16.z.string().regex(/^[0-9a-f]{64}$/);
|
|
2715
|
+
var ServiceToken = import_zod16.z.string().regex(/^[A-Za-z0-9_-]{43}$/);
|
|
2622
2716
|
var ServiceRequestId = u32;
|
|
2623
|
-
var ServiceHello =
|
|
2624
|
-
var ServiceWelcome =
|
|
2625
|
-
type:
|
|
2717
|
+
var ServiceHello = import_zod16.z.strictObject({ type: import_zod16.z.literal("hello"), token: ServiceToken, contract: ContractHash });
|
|
2718
|
+
var ServiceWelcome = import_zod16.z.strictObject({
|
|
2719
|
+
type: import_zod16.z.literal("welcome"),
|
|
2626
2720
|
service: ServiceName,
|
|
2627
2721
|
contract: ContractHash,
|
|
2628
2722
|
pid: nonNegInt,
|
|
2629
2723
|
/** The interpreter's version, e.g. "3.13.15". */
|
|
2630
|
-
python:
|
|
2724
|
+
python: import_zod16.z.string().max(32),
|
|
2631
2725
|
/** Every op this service serves; must equal SERVICES[service] exactly. */
|
|
2632
|
-
ops:
|
|
2726
|
+
ops: import_zod16.z.array(import_zod16.z.string().min(1).max(64)).max(64)
|
|
2633
2727
|
});
|
|
2634
|
-
var ServiceRequest =
|
|
2635
|
-
type:
|
|
2728
|
+
var ServiceRequest = import_zod16.z.strictObject({
|
|
2729
|
+
type: import_zod16.z.literal("request"),
|
|
2636
2730
|
id: ServiceRequestId,
|
|
2637
|
-
op:
|
|
2638
|
-
params:
|
|
2731
|
+
op: import_zod16.z.string().min(1).max(64),
|
|
2732
|
+
params: import_zod16.z.unknown()
|
|
2639
2733
|
// validated by the service against SERVICES[service][op].params
|
|
2640
2734
|
});
|
|
2641
|
-
var ServiceResponse =
|
|
2642
|
-
type:
|
|
2735
|
+
var ServiceResponse = import_zod16.z.strictObject({
|
|
2736
|
+
type: import_zod16.z.literal("response"),
|
|
2643
2737
|
id: ServiceRequestId,
|
|
2644
|
-
result:
|
|
2738
|
+
result: import_zod16.z.unknown()
|
|
2645
2739
|
// validated by the core against SERVICES[service][op].result
|
|
2646
2740
|
});
|
|
2647
|
-
var ServiceErrorMsg =
|
|
2648
|
-
var ServiceProgressMsg =
|
|
2649
|
-
var ServiceCancel =
|
|
2650
|
-
var ServicePing =
|
|
2651
|
-
var ServicePong =
|
|
2652
|
-
type:
|
|
2741
|
+
var ServiceErrorMsg = import_zod16.z.strictObject({ type: import_zod16.z.literal("error"), id: ServiceRequestId, error: ProtocolErrorBody });
|
|
2742
|
+
var ServiceProgressMsg = import_zod16.z.strictObject({ type: import_zod16.z.literal("progress"), id: ServiceRequestId, progress: import_zod16.z.unknown() });
|
|
2743
|
+
var ServiceCancel = import_zod16.z.strictObject({ type: import_zod16.z.literal("cancel"), id: ServiceRequestId });
|
|
2744
|
+
var ServicePing = import_zod16.z.strictObject({ type: import_zod16.z.literal("ping"), id: ServiceRequestId });
|
|
2745
|
+
var ServicePong = import_zod16.z.strictObject({
|
|
2746
|
+
type: import_zod16.z.literal("pong"),
|
|
2653
2747
|
id: ServiceRequestId,
|
|
2654
2748
|
/** Requests running now. */
|
|
2655
2749
|
busy: nonNegInt
|
|
2656
2750
|
});
|
|
2657
|
-
var ServiceShutdown =
|
|
2658
|
-
var CoreToServiceMsg =
|
|
2659
|
-
var ServiceToCoreMsg =
|
|
2751
|
+
var ServiceShutdown = import_zod16.z.strictObject({ type: import_zod16.z.literal("shutdown") });
|
|
2752
|
+
var CoreToServiceMsg = import_zod16.z.discriminatedUnion("type", [ServiceHello, ServiceRequest, ServiceCancel, ServicePing, ServiceShutdown]);
|
|
2753
|
+
var ServiceToCoreMsg = import_zod16.z.discriminatedUnion("type", [ServiceWelcome, ServiceResponse, ServiceErrorMsg, ServiceProgressMsg, ServicePong]);
|
|
2660
2754
|
|
|
2661
2755
|
// src/schema/tools.ts
|
|
2662
|
-
var
|
|
2663
|
-
var ToolLevel =
|
|
2664
|
-
var ToolOutcome =
|
|
2665
|
-
var ToolPlatform =
|
|
2666
|
-
var ToolTransport =
|
|
2667
|
-
var ToolName =
|
|
2668
|
-
var ToolLevelResult =
|
|
2756
|
+
var import_zod17 = require("zod");
|
|
2757
|
+
var ToolLevel = import_zod17.z.enum(["programmatic", "protocol", "chat"]);
|
|
2758
|
+
var ToolOutcome = import_zod17.z.enum(["pass", "fail", "skip"]);
|
|
2759
|
+
var ToolPlatform = import_zod17.z.enum(["darwin", "win32", "linux"]);
|
|
2760
|
+
var ToolTransport = import_zod17.z.enum(["in_process", "localhost", "relay", "agent"]);
|
|
2761
|
+
var ToolName = import_zod17.z.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/);
|
|
2762
|
+
var ToolLevelResult = import_zod17.z.strictObject({
|
|
2669
2763
|
tool: ToolName,
|
|
2670
2764
|
level: ToolLevel,
|
|
2671
2765
|
platform: ToolPlatform,
|
|
2672
2766
|
transport: ToolTransport,
|
|
2673
2767
|
outcome: ToolOutcome,
|
|
2674
2768
|
/** True when the caller sat on a different network from the device (a phone on cellular, CI). */
|
|
2675
|
-
remote_network:
|
|
2769
|
+
remote_network: import_zod17.z.boolean(),
|
|
2676
2770
|
/** One line: what was asserted, or why it failed. Never a token, a file's contents or a path under a real home. */
|
|
2677
|
-
detail:
|
|
2771
|
+
detail: import_zod17.z.string().max(500),
|
|
2678
2772
|
/** The harness that produced it, e.g. `matrx-desktop test/tools/programmatic.test.ts`. */
|
|
2679
|
-
suite:
|
|
2773
|
+
suite: import_zod17.z.string().min(1).max(200),
|
|
2680
2774
|
/** The test case inside the suite. */
|
|
2681
|
-
test:
|
|
2682
|
-
run_at_ms:
|
|
2775
|
+
test: import_zod17.z.string().min(1).max(300),
|
|
2776
|
+
run_at_ms: import_zod17.z.int().min(0),
|
|
2683
2777
|
/**
|
|
2684
2778
|
* Chat level: how many tool calls the agent's turn made, of any tool. `0` means the turn never
|
|
2685
2779
|
* exercised a tool (the model answered in prose, or the chat request failed), so the result is
|
|
2686
2780
|
* no evidence about the tool: it never turns a cell red. Absent on older results.
|
|
2687
2781
|
*/
|
|
2688
|
-
calls_made:
|
|
2782
|
+
calls_made: import_zod17.z.int().min(0).optional()
|
|
2689
2783
|
});
|
|
2690
|
-
var ToolResultsFile =
|
|
2691
|
-
schema:
|
|
2784
|
+
var ToolResultsFile = import_zod17.z.strictObject({
|
|
2785
|
+
schema: import_zod17.z.literal("matrx.tool-results.v1"),
|
|
2692
2786
|
/** The producing repo's commit (short or full SHA). */
|
|
2693
|
-
commit:
|
|
2694
|
-
results:
|
|
2787
|
+
commit: import_zod17.z.string().min(4).max(64),
|
|
2788
|
+
results: import_zod17.z.array(ToolLevelResult).max(1e4)
|
|
2695
2789
|
});
|
|
2696
2790
|
|
|
2697
2791
|
// src/schema/proc.ts
|
|
2698
|
-
var
|
|
2699
|
-
var ProcSort =
|
|
2700
|
-
var ProcListParams =
|
|
2792
|
+
var import_zod18 = require("zod");
|
|
2793
|
+
var ProcSort = import_zod18.z.enum(["cpu", "memory", "pid", "name"]);
|
|
2794
|
+
var ProcListParams = import_zod18.z.strictObject({
|
|
2701
2795
|
/** Case-insensitive substring of the process name or its command line. */
|
|
2702
|
-
name:
|
|
2796
|
+
name: import_zod18.z.string().min(1).max(128).optional(),
|
|
2703
2797
|
sort: ProcSort.default("cpu"),
|
|
2704
|
-
limit:
|
|
2798
|
+
limit: import_zod18.z.int().min(1).max(500).default(50)
|
|
2705
2799
|
});
|
|
2706
|
-
var ProcInfo =
|
|
2707
|
-
pid:
|
|
2800
|
+
var ProcInfo = import_zod18.z.strictObject({
|
|
2801
|
+
pid: import_zod18.z.int().min(0),
|
|
2708
2802
|
/** Parent process id; null where the OS does not report it. */
|
|
2709
|
-
ppid:
|
|
2710
|
-
name:
|
|
2803
|
+
ppid: import_zod18.z.int().min(0).nullable(),
|
|
2804
|
+
name: import_zod18.z.string().max(256),
|
|
2711
2805
|
/** The command line, cut to 1024 characters. */
|
|
2712
|
-
command:
|
|
2806
|
+
command: import_zod18.z.string().max(1024),
|
|
2713
2807
|
/** Share of one core, as `ps` and Task Manager report it; null where the OS does not say. */
|
|
2714
|
-
cpu_percent:
|
|
2808
|
+
cpu_percent: import_zod18.z.number().min(0).nullable(),
|
|
2715
2809
|
memory_bytes: nonNegInt.nullable(),
|
|
2716
|
-
user:
|
|
2810
|
+
user: import_zod18.z.string().max(128).nullable()
|
|
2717
2811
|
});
|
|
2718
|
-
var ProcListResult =
|
|
2719
|
-
processes:
|
|
2812
|
+
var ProcListResult = import_zod18.z.strictObject({
|
|
2813
|
+
processes: import_zod18.z.array(ProcInfo).max(500),
|
|
2720
2814
|
/** Processes that matched before `limit`. */
|
|
2721
2815
|
total: nonNegInt,
|
|
2722
|
-
truncated:
|
|
2816
|
+
truncated: import_zod18.z.boolean()
|
|
2723
2817
|
});
|
|
2724
|
-
var ProcPortsParams =
|
|
2818
|
+
var ProcPortsParams = import_zod18.z.strictObject({
|
|
2725
2819
|
/** Only this port. */
|
|
2726
|
-
port:
|
|
2820
|
+
port: import_zod18.z.int().min(1).max(65535).optional()
|
|
2727
2821
|
});
|
|
2728
|
-
var ProcPort =
|
|
2729
|
-
port:
|
|
2730
|
-
protocol:
|
|
2822
|
+
var ProcPort = import_zod18.z.strictObject({
|
|
2823
|
+
port: import_zod18.z.int().min(1).max(65535),
|
|
2824
|
+
protocol: import_zod18.z.enum(["tcp", "udp"]),
|
|
2731
2825
|
/** The local address it listens on ("127.0.0.1", "*", "::"). */
|
|
2732
|
-
address:
|
|
2733
|
-
pid:
|
|
2734
|
-
process:
|
|
2826
|
+
address: import_zod18.z.string().max(64),
|
|
2827
|
+
pid: import_zod18.z.int().min(0).nullable(),
|
|
2828
|
+
process: import_zod18.z.string().max(256).nullable()
|
|
2735
2829
|
});
|
|
2736
|
-
var ProcPortsResult =
|
|
2737
|
-
var ProcKillParams =
|
|
2738
|
-
pid:
|
|
2830
|
+
var ProcPortsResult = import_zod18.z.strictObject({ ports: import_zod18.z.array(ProcPort).max(4e3) });
|
|
2831
|
+
var ProcKillParams = import_zod18.z.strictObject({
|
|
2832
|
+
pid: import_zod18.z.int().min(1),
|
|
2739
2833
|
/** Kill outright (SIGKILL; on Windows the same /F) instead of asking it to quit. */
|
|
2740
|
-
force:
|
|
2834
|
+
force: import_zod18.z.boolean().default(false)
|
|
2741
2835
|
});
|
|
2742
|
-
var ProcKillResult =
|
|
2743
|
-
pid:
|
|
2744
|
-
signal:
|
|
2836
|
+
var ProcKillResult = import_zod18.z.strictObject({
|
|
2837
|
+
pid: import_zod18.z.int().min(1),
|
|
2838
|
+
signal: import_zod18.z.enum(["SIGTERM", "SIGKILL"]),
|
|
2745
2839
|
/** True when the process was gone within 3 s. */
|
|
2746
|
-
exited:
|
|
2840
|
+
exited: import_zod18.z.boolean()
|
|
2747
2841
|
});
|
|
2748
2842
|
|
|
2749
2843
|
// src/schema/clipboard.ts
|
|
2750
|
-
var
|
|
2751
|
-
var ClipboardReadParams =
|
|
2752
|
-
var ClipboardReadResult =
|
|
2844
|
+
var import_zod19 = require("zod");
|
|
2845
|
+
var ClipboardReadParams = import_zod19.z.strictObject({});
|
|
2846
|
+
var ClipboardReadResult = import_zod19.z.strictObject({
|
|
2753
2847
|
/** The clipboard's text ("" when it holds none), cut to 1 MiB. */
|
|
2754
|
-
text:
|
|
2755
|
-
truncated:
|
|
2848
|
+
text: import_zod19.z.string().max(1048576),
|
|
2849
|
+
truncated: import_zod19.z.boolean()
|
|
2756
2850
|
});
|
|
2757
|
-
var ClipboardWriteParams =
|
|
2758
|
-
var ClipboardWriteResult =
|
|
2851
|
+
var ClipboardWriteParams = import_zod19.z.strictObject({ text: import_zod19.z.string().max(1048576) });
|
|
2852
|
+
var ClipboardWriteResult = import_zod19.z.strictObject({ bytes: nonNegInt });
|
|
2759
2853
|
|
|
2760
2854
|
// src/schema/git.ts
|
|
2761
|
-
var
|
|
2855
|
+
var import_zod20 = require("zod");
|
|
2762
2856
|
var GIT_MAX_OUTPUT_CHARS = 262144;
|
|
2763
|
-
var GitText =
|
|
2764
|
-
var GitName =
|
|
2765
|
-
var GitOutputResult =
|
|
2766
|
-
var GitStatusParams =
|
|
2767
|
-
var GitStatusFile =
|
|
2768
|
-
path:
|
|
2857
|
+
var GitText = import_zod20.z.string().max(GIT_MAX_OUTPUT_CHARS);
|
|
2858
|
+
var GitName = import_zod20.z.string().min(1).max(255).regex(/^[^-\s][^\s]*$/);
|
|
2859
|
+
var GitOutputResult = import_zod20.z.strictObject({ output: GitText, truncated: import_zod20.z.boolean() });
|
|
2860
|
+
var GitStatusParams = import_zod20.z.strictObject({ cwd: AbsPath });
|
|
2861
|
+
var GitStatusFile = import_zod20.z.strictObject({
|
|
2862
|
+
path: import_zod20.z.string(),
|
|
2769
2863
|
/** Porcelain v1 status letters: index (staged) and worktree; "?" for untracked. */
|
|
2770
|
-
index:
|
|
2771
|
-
worktree:
|
|
2864
|
+
index: import_zod20.z.string().length(1),
|
|
2865
|
+
worktree: import_zod20.z.string().length(1)
|
|
2772
2866
|
});
|
|
2773
|
-
var GitStatusResult =
|
|
2867
|
+
var GitStatusResult = import_zod20.z.strictObject({
|
|
2774
2868
|
/** The checked-out branch; null when HEAD is detached. */
|
|
2775
|
-
branch:
|
|
2776
|
-
upstream:
|
|
2869
|
+
branch: import_zod20.z.string().nullable(),
|
|
2870
|
+
upstream: import_zod20.z.string().nullable(),
|
|
2777
2871
|
ahead: nonNegInt,
|
|
2778
2872
|
behind: nonNegInt,
|
|
2779
|
-
files:
|
|
2780
|
-
clean:
|
|
2873
|
+
files: import_zod20.z.array(GitStatusFile).max(5e3),
|
|
2874
|
+
clean: import_zod20.z.boolean(),
|
|
2781
2875
|
/** More than 5000 changed files: the list is cut. */
|
|
2782
|
-
truncated:
|
|
2783
|
-
});
|
|
2784
|
-
var GitDiffParams =
|
|
2785
|
-
var GitDiffResult =
|
|
2786
|
-
var GitLogParams =
|
|
2787
|
-
var GitLogCommit =
|
|
2788
|
-
var GitLogResult =
|
|
2789
|
-
var GitAddParams =
|
|
2790
|
-
var GitCommitParams =
|
|
2876
|
+
truncated: import_zod20.z.boolean()
|
|
2877
|
+
});
|
|
2878
|
+
var GitDiffParams = import_zod20.z.strictObject({ cwd: AbsPath, path: import_zod20.z.string().max(4096).optional(), staged: import_zod20.z.boolean().default(false) });
|
|
2879
|
+
var GitDiffResult = import_zod20.z.strictObject({ diff: GitText, truncated: import_zod20.z.boolean() });
|
|
2880
|
+
var GitLogParams = import_zod20.z.strictObject({ cwd: AbsPath, limit: import_zod20.z.int().min(1).max(500).default(50) });
|
|
2881
|
+
var GitLogCommit = import_zod20.z.strictObject({ sha: import_zod20.z.string(), short: import_zod20.z.string(), author: import_zod20.z.string(), date: import_zod20.z.string(), subject: import_zod20.z.string() });
|
|
2882
|
+
var GitLogResult = import_zod20.z.strictObject({ commits: import_zod20.z.array(GitLogCommit).max(500) });
|
|
2883
|
+
var GitAddParams = import_zod20.z.strictObject({ cwd: AbsPath, paths: import_zod20.z.array(import_zod20.z.string().min(1).max(4096)).min(1).max(1e3) });
|
|
2884
|
+
var GitCommitParams = import_zod20.z.strictObject({
|
|
2791
2885
|
cwd: AbsPath,
|
|
2792
|
-
message:
|
|
2793
|
-
amend:
|
|
2886
|
+
message: import_zod20.z.string().min(1).max(65536),
|
|
2887
|
+
amend: import_zod20.z.boolean().default(false),
|
|
2794
2888
|
/** "Name <email>"; absent = the computer's own git identity. */
|
|
2795
|
-
author:
|
|
2889
|
+
author: import_zod20.z.string().max(512).optional()
|
|
2796
2890
|
});
|
|
2797
|
-
var GitCommitResult =
|
|
2798
|
-
var GitPushParams =
|
|
2799
|
-
var GitPullParams =
|
|
2800
|
-
var GitBranchParams =
|
|
2801
|
-
var GitBranchResult =
|
|
2891
|
+
var GitCommitResult = import_zod20.z.strictObject({ sha: import_zod20.z.string(), output: GitText, truncated: import_zod20.z.boolean() });
|
|
2892
|
+
var GitPushParams = import_zod20.z.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), force_with_lease: import_zod20.z.boolean().default(false) });
|
|
2893
|
+
var GitPullParams = import_zod20.z.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), rebase: import_zod20.z.boolean().default(false) });
|
|
2894
|
+
var GitBranchParams = import_zod20.z.strictObject({ cwd: AbsPath, action: import_zod20.z.enum(["list", "create", "delete", "switch"]), name: GitName.optional() });
|
|
2895
|
+
var GitBranchResult = import_zod20.z.strictObject({
|
|
2802
2896
|
/** The branch checked out after the action; null when detached. */
|
|
2803
|
-
current:
|
|
2897
|
+
current: import_zod20.z.string().nullable(),
|
|
2804
2898
|
/** Local branches (filled by `list`; empty otherwise). */
|
|
2805
|
-
branches:
|
|
2899
|
+
branches: import_zod20.z.array(import_zod20.z.string()).max(5e3),
|
|
2806
2900
|
output: GitText,
|
|
2807
|
-
truncated:
|
|
2901
|
+
truncated: import_zod20.z.boolean()
|
|
2808
2902
|
});
|
|
2809
|
-
var GitStashParams =
|
|
2810
|
-
var GitCloneParams =
|
|
2811
|
-
url:
|
|
2903
|
+
var GitStashParams = import_zod20.z.strictObject({ cwd: AbsPath, action: import_zod20.z.enum(["push", "pop", "list", "drop"]), message: import_zod20.z.string().max(4096).optional() });
|
|
2904
|
+
var GitCloneParams = import_zod20.z.strictObject({
|
|
2905
|
+
url: import_zod20.z.string().min(1).max(4096).regex(/^[^-]/),
|
|
2812
2906
|
/** The folder to create; must not exist yet (or be empty). */
|
|
2813
2907
|
dest: AbsPath,
|
|
2814
2908
|
branch: GitName.optional(),
|
|
2815
|
-
depth:
|
|
2909
|
+
depth: import_zod20.z.int().min(1).max(1e6).optional()
|
|
2816
2910
|
});
|
|
2817
2911
|
|
|
2818
2912
|
// src/schema/web.ts
|
|
2819
2913
|
var import_uuid4 = require("@ai-matrx/kit/uuid");
|
|
2820
|
-
var
|
|
2914
|
+
var import_zod21 = require("zod");
|
|
2821
2915
|
var WEB_MAX_TEXT_CHARS = 524288;
|
|
2822
|
-
var WebUrl =
|
|
2823
|
-
var WebText =
|
|
2824
|
-
var OrgId =
|
|
2825
|
-
var WebHeader =
|
|
2826
|
-
var WebFetchParams =
|
|
2916
|
+
var WebUrl = import_zod21.z.string().min(1).max(8192).regex(/^https?:\/\//);
|
|
2917
|
+
var WebText = import_zod21.z.string().max(WEB_MAX_TEXT_CHARS);
|
|
2918
|
+
var OrgId = import_zod21.z.string().regex(import_uuid4.UUID_SHAPE_PATTERN);
|
|
2919
|
+
var WebHeader = import_zod21.z.strictObject({ name: import_zod21.z.string().min(1).max(256), value: import_zod21.z.string().max(8192) });
|
|
2920
|
+
var WebFetchParams = import_zod21.z.strictObject({
|
|
2827
2921
|
url: WebUrl,
|
|
2828
|
-
method:
|
|
2829
|
-
headers:
|
|
2830
|
-
body:
|
|
2831
|
-
follow_redirects:
|
|
2832
|
-
timeout_s:
|
|
2833
|
-
});
|
|
2834
|
-
var WebFetchResult =
|
|
2835
|
-
status:
|
|
2836
|
-
reason:
|
|
2922
|
+
method: import_zod21.z.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]).default("GET"),
|
|
2923
|
+
headers: import_zod21.z.array(WebHeader).max(64).default([]),
|
|
2924
|
+
body: import_zod21.z.string().max(1048576).optional(),
|
|
2925
|
+
follow_redirects: import_zod21.z.boolean().default(true),
|
|
2926
|
+
timeout_s: import_zod21.z.int().min(1).max(300).default(30)
|
|
2927
|
+
});
|
|
2928
|
+
var WebFetchResult = import_zod21.z.strictObject({
|
|
2929
|
+
status: import_zod21.z.int().min(100).max(999),
|
|
2930
|
+
reason: import_zod21.z.string(),
|
|
2837
2931
|
/** The final URL after redirects. */
|
|
2838
|
-
url:
|
|
2839
|
-
content_type:
|
|
2840
|
-
headers:
|
|
2932
|
+
url: import_zod21.z.string(),
|
|
2933
|
+
content_type: import_zod21.z.string().nullable(),
|
|
2934
|
+
headers: import_zod21.z.array(WebHeader),
|
|
2841
2935
|
body: WebText,
|
|
2842
|
-
truncated:
|
|
2936
|
+
truncated: import_zod21.z.boolean(),
|
|
2843
2937
|
bytes: nonNegInt,
|
|
2844
2938
|
elapsed_ms: nonNegInt
|
|
2845
2939
|
});
|
|
2846
|
-
var WebAttachTarget =
|
|
2847
|
-
entity_type:
|
|
2848
|
-
entity_id:
|
|
2849
|
-
label:
|
|
2940
|
+
var WebAttachTarget = import_zod21.z.strictObject({
|
|
2941
|
+
entity_type: import_zod21.z.string().min(1).max(64),
|
|
2942
|
+
entity_id: import_zod21.z.string().min(1).max(128),
|
|
2943
|
+
label: import_zod21.z.string().max(200).optional()
|
|
2850
2944
|
});
|
|
2851
|
-
var WebLand =
|
|
2945
|
+
var WebLand = import_zod21.z.strictObject({
|
|
2852
2946
|
/** The organization the page is saved in; absent: this computer's active organization. */
|
|
2853
2947
|
organization_id: OrgId.optional(),
|
|
2854
2948
|
/** Keep it: AI processing starts (chunks, search). Unkept pages are saved and wait. */
|
|
2855
|
-
keep:
|
|
2856
|
-
attach_to:
|
|
2949
|
+
keep: import_zod21.z.boolean().default(false),
|
|
2950
|
+
attach_to: import_zod21.z.array(WebAttachTarget).max(8).default([])
|
|
2857
2951
|
});
|
|
2858
|
-
var WebNotSavedReason =
|
|
2952
|
+
var WebNotSavedReason = import_zod21.z.enum([
|
|
2859
2953
|
/** Nobody is signed in on this computer. Saved on sign-in. */
|
|
2860
2954
|
"signed_out",
|
|
2861
2955
|
/** AI Matrx could not be reached. Retried on its own. */
|
|
@@ -2865,249 +2959,249 @@ var WebNotSavedReason = import_zod20.z.enum([
|
|
|
2865
2959
|
/** Waiting its turn behind other pages (retried on its own). */
|
|
2866
2960
|
"queued"
|
|
2867
2961
|
]);
|
|
2868
|
-
var WebSourceNotice =
|
|
2869
|
-
var WebSourceState =
|
|
2870
|
-
|
|
2871
|
-
state:
|
|
2872
|
-
processed_document_id:
|
|
2873
|
-
source_id:
|
|
2962
|
+
var WebSourceNotice = import_zod21.z.strictObject({ code: import_zod21.z.string().max(120), message: import_zod21.z.string().max(2e3), remedy: import_zod21.z.string().max(120) });
|
|
2963
|
+
var WebSourceState = import_zod21.z.discriminatedUnion("state", [
|
|
2964
|
+
import_zod21.z.strictObject({
|
|
2965
|
+
state: import_zod21.z.literal("saved"),
|
|
2966
|
+
processed_document_id: import_zod21.z.string().min(1).max(64),
|
|
2967
|
+
source_id: import_zod21.z.string().min(1).max(128),
|
|
2874
2968
|
/** The page was already saved and nothing changed ("Already saved, no change"). */
|
|
2875
|
-
reused_existing:
|
|
2969
|
+
reused_existing: import_zod21.z.boolean(),
|
|
2876
2970
|
/** The page changed: this is a new version of that Source. */
|
|
2877
|
-
new_version_of:
|
|
2878
|
-
kept:
|
|
2879
|
-
intelligence:
|
|
2971
|
+
new_version_of: import_zod21.z.string().max(64).nullable(),
|
|
2972
|
+
kept: import_zod21.z.boolean(),
|
|
2973
|
+
intelligence: import_zod21.z.enum(["queued", "deferred", "never"]),
|
|
2880
2974
|
/** The original page as captured, kept by AI Matrx (null: the organization keeps none). */
|
|
2881
|
-
original_file_id:
|
|
2975
|
+
original_file_id: import_zod21.z.string().max(128).nullable(),
|
|
2882
2976
|
/** The organization it was saved in. */
|
|
2883
2977
|
organization_id: OrgId,
|
|
2884
|
-
notices:
|
|
2978
|
+
notices: import_zod21.z.array(WebSourceNotice).max(20)
|
|
2885
2979
|
}),
|
|
2886
|
-
|
|
2887
|
-
state:
|
|
2888
|
-
outbox_id:
|
|
2980
|
+
import_zod21.z.strictObject({
|
|
2981
|
+
state: import_zod21.z.literal("not_saved"),
|
|
2982
|
+
outbox_id: import_zod21.z.string().min(1).max(64),
|
|
2889
2983
|
reason: WebNotSavedReason,
|
|
2890
|
-
message:
|
|
2984
|
+
message: import_zod21.z.string().max(2e3)
|
|
2891
2985
|
})
|
|
2892
2986
|
]);
|
|
2893
|
-
var WebScrapeParams =
|
|
2894
|
-
urls:
|
|
2895
|
-
use_cache:
|
|
2896
|
-
get_links:
|
|
2987
|
+
var WebScrapeParams = import_zod21.z.strictObject({
|
|
2988
|
+
urls: import_zod21.z.array(WebUrl).min(1).max(20),
|
|
2989
|
+
use_cache: import_zod21.z.boolean().default(true),
|
|
2990
|
+
get_links: import_zod21.z.boolean().default(false),
|
|
2897
2991
|
/**
|
|
2898
2992
|
* Since 1.38. `auto` (absent): this computer's scraper (HTTP, its browser only when a page needs
|
|
2899
2993
|
* it). `browser`: this computer's own browser renders every page. `server`: AI Matrx's servers
|
|
2900
2994
|
* read it (their connection, not this computer's; saved there as a web capture).
|
|
2901
2995
|
*/
|
|
2902
|
-
engine:
|
|
2996
|
+
engine: import_zod21.z.enum(["auto", "browser", "server"]).optional(),
|
|
2903
2997
|
/** Since 1.38: where the pages are saved (see WebLand). */
|
|
2904
2998
|
land: WebLand.optional()
|
|
2905
2999
|
});
|
|
2906
|
-
var WebScrapePage =
|
|
2907
|
-
url:
|
|
2908
|
-
ok:
|
|
2909
|
-
status:
|
|
2910
|
-
title:
|
|
3000
|
+
var WebScrapePage = import_zod21.z.strictObject({
|
|
3001
|
+
url: import_zod21.z.string(),
|
|
3002
|
+
ok: import_zod21.z.boolean(),
|
|
3003
|
+
status: import_zod21.z.int().min(0).max(999).nullable(),
|
|
3004
|
+
title: import_zod21.z.string().nullable(),
|
|
2911
3005
|
/** The page's readable content (markdown-like text from the scraper's parse). */
|
|
2912
3006
|
text: WebText,
|
|
2913
|
-
truncated:
|
|
3007
|
+
truncated: import_zod21.z.boolean(),
|
|
2914
3008
|
/** Links found on the page (only with get_links). */
|
|
2915
|
-
links:
|
|
3009
|
+
links: import_zod21.z.array(import_zod21.z.string()).max(2e3),
|
|
2916
3010
|
/** Why the page failed (blocked, timeout, not found…), in the scraper's words; null when ok. */
|
|
2917
|
-
error:
|
|
3011
|
+
error: import_zod21.z.string().nullable(),
|
|
2918
3012
|
/** How the page was fetched (http, browser, cache). */
|
|
2919
|
-
via:
|
|
3013
|
+
via: import_zod21.z.string().nullable(),
|
|
2920
3014
|
/** Since 1.38: the page's Source (absent from a 1.37 core, and for a page that failed). */
|
|
2921
3015
|
source: WebSourceState.optional()
|
|
2922
3016
|
});
|
|
2923
|
-
var WebScrapeResult =
|
|
2924
|
-
var WebSearchParams =
|
|
2925
|
-
keywords:
|
|
2926
|
-
country:
|
|
2927
|
-
count:
|
|
2928
|
-
freshness:
|
|
2929
|
-
});
|
|
2930
|
-
var WebSearchHit =
|
|
2931
|
-
var WebSearchQueryResult =
|
|
2932
|
-
var WebSearchResult =
|
|
2933
|
-
var ToolsWebSearchParams =
|
|
2934
|
-
keywords:
|
|
2935
|
-
country:
|
|
2936
|
-
count:
|
|
2937
|
-
freshness:
|
|
2938
|
-
});
|
|
2939
|
-
var WebBrowserFetchParams =
|
|
3017
|
+
var WebScrapeResult = import_zod21.z.strictObject({ pages: import_zod21.z.array(WebScrapePage), elapsed_ms: nonNegInt });
|
|
3018
|
+
var WebSearchParams = import_zod21.z.strictObject({
|
|
3019
|
+
keywords: import_zod21.z.array(import_zod21.z.string().min(1).max(400)).min(1).max(5),
|
|
3020
|
+
country: import_zod21.z.string().min(2).max(2).default("us"),
|
|
3021
|
+
count: import_zod21.z.int().min(1).max(20).default(10),
|
|
3022
|
+
freshness: import_zod21.z.enum(["pd", "pw", "pm", "py"]).optional()
|
|
3023
|
+
});
|
|
3024
|
+
var WebSearchHit = import_zod21.z.strictObject({ title: import_zod21.z.string(), url: import_zod21.z.string(), description: import_zod21.z.string() });
|
|
3025
|
+
var WebSearchQueryResult = import_zod21.z.strictObject({ keyword: import_zod21.z.string(), hits: import_zod21.z.array(WebSearchHit), error: import_zod21.z.string().nullable() });
|
|
3026
|
+
var WebSearchResult = import_zod21.z.strictObject({ queries: import_zod21.z.array(WebSearchQueryResult), elapsed_ms: nonNegInt });
|
|
3027
|
+
var ToolsWebSearchParams = import_zod21.z.strictObject({
|
|
3028
|
+
keywords: import_zod21.z.array(import_zod21.z.string().min(1).max(400)).min(1).max(5),
|
|
3029
|
+
country: import_zod21.z.string().min(2).max(2).default("us"),
|
|
3030
|
+
count: import_zod21.z.int().min(1).max(20).default(10),
|
|
3031
|
+
freshness: import_zod21.z.enum(["pd", "pw", "pm", "py"]).optional()
|
|
3032
|
+
});
|
|
3033
|
+
var WebBrowserFetchParams = import_zod21.z.strictObject({
|
|
2940
3034
|
url: WebUrl,
|
|
2941
3035
|
/** A CSS selector to wait for before reading the page. */
|
|
2942
|
-
wait_for:
|
|
2943
|
-
wait_timeout_ms:
|
|
3036
|
+
wait_for: import_zod21.z.string().max(1024).optional(),
|
|
3037
|
+
wait_timeout_ms: import_zod21.z.int().min(100).max(12e4).default(3e4),
|
|
2944
3038
|
/** true: readable text; false: the rendered HTML. */
|
|
2945
|
-
extract_text:
|
|
3039
|
+
extract_text: import_zod21.z.boolean().default(true),
|
|
2946
3040
|
/** Since 1.38: where the rendered page is saved (see WebLand). */
|
|
2947
3041
|
land: WebLand.optional()
|
|
2948
3042
|
});
|
|
2949
|
-
var WebBrowserFetchResult =
|
|
2950
|
-
url:
|
|
2951
|
-
status:
|
|
2952
|
-
title:
|
|
3043
|
+
var WebBrowserFetchResult = import_zod21.z.strictObject({
|
|
3044
|
+
url: import_zod21.z.string(),
|
|
3045
|
+
status: import_zod21.z.int().min(0).max(999).nullable(),
|
|
3046
|
+
title: import_zod21.z.string().nullable(),
|
|
2953
3047
|
content: WebText,
|
|
2954
|
-
truncated:
|
|
3048
|
+
truncated: import_zod21.z.boolean(),
|
|
2955
3049
|
elapsed_ms: nonNegInt,
|
|
2956
3050
|
/** Since 1.38: the rendered page's Source (absent from a 1.37 core). */
|
|
2957
3051
|
source: WebSourceState.optional()
|
|
2958
3052
|
});
|
|
2959
|
-
var ToolsParseFile =
|
|
3053
|
+
var ToolsParseFile = import_zod21.z.strictObject({
|
|
2960
3054
|
/** Absolute path of the gzipped JSON the core reads, saves and then removes. */
|
|
2961
|
-
path:
|
|
3055
|
+
path: import_zod21.z.string().min(1).max(4096),
|
|
2962
3056
|
bytes: nonNegInt
|
|
2963
3057
|
});
|
|
2964
|
-
var ToolsWebScrapeParams =
|
|
2965
|
-
urls:
|
|
2966
|
-
use_cache:
|
|
2967
|
-
get_links:
|
|
3058
|
+
var ToolsWebScrapeParams = import_zod21.z.strictObject({
|
|
3059
|
+
urls: import_zod21.z.array(WebUrl).min(1).max(20),
|
|
3060
|
+
use_cache: import_zod21.z.boolean().default(true),
|
|
3061
|
+
get_links: import_zod21.z.boolean().default(false),
|
|
2968
3062
|
/** `browser`: render every page in this computer's browser, then parse it. */
|
|
2969
|
-
engine:
|
|
3063
|
+
engine: import_zod21.z.enum(["auto", "browser"]).default("auto"),
|
|
2970
3064
|
/** Pages read at once (desktop.web/scrape_concurrency). */
|
|
2971
|
-
concurrency:
|
|
3065
|
+
concurrency: import_zod21.z.int().min(1).max(20).default(5),
|
|
2972
3066
|
/** The wait between pages from the same site (desktop.web/request_delay_ms). */
|
|
2973
|
-
delay_ms:
|
|
3067
|
+
delay_ms: import_zod21.z.int().min(0).max(3e4).default(0),
|
|
2974
3068
|
/** Where the parse files go (the core's spool folder). */
|
|
2975
|
-
spool_dir:
|
|
3069
|
+
spool_dir: import_zod21.z.string().min(1).max(4096)
|
|
2976
3070
|
});
|
|
2977
|
-
var ToolsWebScrapePage =
|
|
3071
|
+
var ToolsWebScrapePage = import_zod21.z.strictObject({
|
|
2978
3072
|
page: WebScrapePage,
|
|
2979
3073
|
/** The page's whole parse, for the door; null when the page failed or had no words. */
|
|
2980
3074
|
parse: ToolsParseFile.nullable(),
|
|
2981
3075
|
/** The page as fetched, for research (rendered HTML or the HTTP body); null when not kept. */
|
|
2982
3076
|
html: ToolsParseFile.nullable()
|
|
2983
3077
|
});
|
|
2984
|
-
var ToolsWebScrapeResult =
|
|
2985
|
-
var ToolsWebBrowserFetchParams =
|
|
3078
|
+
var ToolsWebScrapeResult = import_zod21.z.strictObject({ pages: import_zod21.z.array(ToolsWebScrapePage), elapsed_ms: nonNegInt });
|
|
3079
|
+
var ToolsWebBrowserFetchParams = import_zod21.z.strictObject({
|
|
2986
3080
|
url: WebUrl,
|
|
2987
|
-
wait_for:
|
|
2988
|
-
wait_timeout_ms:
|
|
2989
|
-
extract_text:
|
|
2990
|
-
spool_dir:
|
|
2991
|
-
});
|
|
2992
|
-
var ToolsWebBrowserFetchResult =
|
|
2993
|
-
var WebRuntimeStateName =
|
|
2994
|
-
var WebRuntimeParams =
|
|
2995
|
-
var WebRuntimeState =
|
|
3081
|
+
wait_for: import_zod21.z.string().max(1024).optional(),
|
|
3082
|
+
wait_timeout_ms: import_zod21.z.int().min(100).max(12e4).default(3e4),
|
|
3083
|
+
extract_text: import_zod21.z.boolean().default(true),
|
|
3084
|
+
spool_dir: import_zod21.z.string().min(1).max(4096)
|
|
3085
|
+
});
|
|
3086
|
+
var ToolsWebBrowserFetchResult = import_zod21.z.strictObject({ result: WebBrowserFetchResult, parse: ToolsParseFile.nullable() });
|
|
3087
|
+
var WebRuntimeStateName = import_zod21.z.enum(["not_installed", "installing", "installed", "failed"]);
|
|
3088
|
+
var WebRuntimeParams = import_zod21.z.strictObject({});
|
|
3089
|
+
var WebRuntimeState = import_zod21.z.strictObject({
|
|
2996
3090
|
state: WebRuntimeStateName,
|
|
2997
3091
|
/** Why it failed, in the installer's words; null otherwise. */
|
|
2998
|
-
error:
|
|
3092
|
+
error: import_zod21.z.string().max(2e3).nullable(),
|
|
2999
3093
|
/** Bytes the browser takes on this computer (its packages and Chromium); null when unknown. */
|
|
3000
3094
|
size_bytes: nonNegInt.nullable(),
|
|
3001
3095
|
/** Whether it can show a window while it works (false: only the headless shell is installed). */
|
|
3002
|
-
can_show_window:
|
|
3096
|
+
can_show_window: import_zod21.z.boolean()
|
|
3003
3097
|
});
|
|
3004
|
-
var WebOutboxItem =
|
|
3005
|
-
outbox_id:
|
|
3006
|
-
url:
|
|
3007
|
-
title:
|
|
3098
|
+
var WebOutboxItem = import_zod21.z.strictObject({
|
|
3099
|
+
outbox_id: import_zod21.z.string().min(1).max(64),
|
|
3100
|
+
url: import_zod21.z.string().max(8192),
|
|
3101
|
+
title: import_zod21.z.string().max(500).nullable(),
|
|
3008
3102
|
organization_id: OrgId.nullable(),
|
|
3009
3103
|
reason: WebNotSavedReason,
|
|
3010
|
-
message:
|
|
3104
|
+
message: import_zod21.z.string().max(2e3),
|
|
3011
3105
|
attempts: nonNegInt,
|
|
3012
3106
|
created_at_ms: nonNegInt,
|
|
3013
3107
|
last_attempt_at_ms: nonNegInt.nullable(),
|
|
3014
3108
|
bytes: nonNegInt
|
|
3015
3109
|
});
|
|
3016
|
-
var WebOutboxListParams =
|
|
3017
|
-
var WebOutboxListResult =
|
|
3018
|
-
items:
|
|
3110
|
+
var WebOutboxListParams = import_zod21.z.strictObject({});
|
|
3111
|
+
var WebOutboxListResult = import_zod21.z.strictObject({
|
|
3112
|
+
items: import_zod21.z.array(WebOutboxItem),
|
|
3019
3113
|
bytes: nonNegInt,
|
|
3020
3114
|
/** The most the outbox holds; past it the oldest pages are dropped (and the log says so). */
|
|
3021
3115
|
cap_bytes: nonNegInt
|
|
3022
3116
|
});
|
|
3023
|
-
var WebOutboxRetryParams =
|
|
3024
|
-
var WebOutboxRetryResult =
|
|
3025
|
-
var WebOutboxDiscardParams =
|
|
3026
|
-
var WebOutboxDiscardResult =
|
|
3027
|
-
var WebLogVia =
|
|
3028
|
-
var WebLogCaller =
|
|
3029
|
-
var WebLogResult =
|
|
3030
|
-
var WebLogEntry =
|
|
3031
|
-
id:
|
|
3117
|
+
var WebOutboxRetryParams = import_zod21.z.strictObject({ outbox_id: import_zod21.z.string().min(1).max(64).optional() });
|
|
3118
|
+
var WebOutboxRetryResult = import_zod21.z.strictObject({ saved: nonNegInt, waiting: nonNegInt });
|
|
3119
|
+
var WebOutboxDiscardParams = import_zod21.z.strictObject({ outbox_id: import_zod21.z.string().min(1).max(64) });
|
|
3120
|
+
var WebOutboxDiscardResult = import_zod21.z.strictObject({ discarded: import_zod21.z.boolean() });
|
|
3121
|
+
var WebLogVia = import_zod21.z.enum(["this_computer", "browser", "server"]);
|
|
3122
|
+
var WebLogCaller = import_zod21.z.enum(["person", "agent", "research", "phone", "other"]);
|
|
3123
|
+
var WebLogResult = import_zod21.z.enum(["saved", "not_saved", "failed", "blocked", "read"]);
|
|
3124
|
+
var WebLogEntry = import_zod21.z.strictObject({
|
|
3125
|
+
id: import_zod21.z.string().min(1).max(64),
|
|
3032
3126
|
at_ms: nonNegInt,
|
|
3033
3127
|
caller: WebLogCaller,
|
|
3034
|
-
url:
|
|
3035
|
-
title:
|
|
3128
|
+
url: import_zod21.z.string().max(8192),
|
|
3129
|
+
title: import_zod21.z.string().max(500).nullable(),
|
|
3036
3130
|
result: WebLogResult,
|
|
3037
3131
|
/** One sentence: why it failed or was blocked, or the save's notice. Never page text. */
|
|
3038
|
-
detail:
|
|
3132
|
+
detail: import_zod21.z.string().max(1e3).nullable(),
|
|
3039
3133
|
via: WebLogVia,
|
|
3040
3134
|
duration_ms: nonNegInt,
|
|
3041
|
-
processed_document_id:
|
|
3135
|
+
processed_document_id: import_zod21.z.string().max(64).nullable()
|
|
3042
3136
|
});
|
|
3043
|
-
var WebLogListParams =
|
|
3044
|
-
var WebLogListResult =
|
|
3045
|
-
var WebLogClearParams =
|
|
3046
|
-
var WebLogClearResult =
|
|
3047
|
-
var WebProgressEvent =
|
|
3137
|
+
var WebLogListParams = import_zod21.z.strictObject({ since_ms: nonNegInt.optional(), limit: import_zod21.z.int().min(1).max(1e3).default(200) });
|
|
3138
|
+
var WebLogListResult = import_zod21.z.strictObject({ entries: import_zod21.z.array(WebLogEntry) });
|
|
3139
|
+
var WebLogClearParams = import_zod21.z.strictObject({});
|
|
3140
|
+
var WebLogClearResult = import_zod21.z.strictObject({ cleared: nonNegInt });
|
|
3141
|
+
var WebProgressEvent = import_zod21.z.strictObject({
|
|
3048
3142
|
request_id: RequestId,
|
|
3049
|
-
phase:
|
|
3143
|
+
phase: import_zod21.z.enum(["installing", "fetching", "saving"]),
|
|
3050
3144
|
done: nonNegInt,
|
|
3051
3145
|
total: nonNegInt
|
|
3052
3146
|
});
|
|
3053
|
-
var WebResearchItemState =
|
|
3054
|
-
var WebResearchItem =
|
|
3055
|
-
topic_id:
|
|
3056
|
-
topic_name:
|
|
3057
|
-
source_id:
|
|
3058
|
-
url:
|
|
3059
|
-
title:
|
|
3147
|
+
var WebResearchItemState = import_zod21.z.enum(["waiting", "fetching", "saved", "thin", "failed", "cannot_edit", "blocked"]);
|
|
3148
|
+
var WebResearchItem = import_zod21.z.strictObject({
|
|
3149
|
+
topic_id: import_zod21.z.string().min(1).max(64),
|
|
3150
|
+
topic_name: import_zod21.z.string().max(500),
|
|
3151
|
+
source_id: import_zod21.z.string().min(1).max(64),
|
|
3152
|
+
url: import_zod21.z.string().max(8192),
|
|
3153
|
+
title: import_zod21.z.string().max(500).nullable(),
|
|
3060
3154
|
/** The capture level this computer would try (1 quick, 2 scroll); 3+ is the extension's. */
|
|
3061
|
-
level:
|
|
3062
|
-
last_failure:
|
|
3155
|
+
level: import_zod21.z.int().min(1).max(4),
|
|
3156
|
+
last_failure: import_zod21.z.string().max(1e3).nullable(),
|
|
3063
3157
|
state: WebResearchItemState,
|
|
3064
3158
|
/** One sentence after a fetch: what happened. */
|
|
3065
|
-
message:
|
|
3159
|
+
message: import_zod21.z.string().max(1e3).nullable()
|
|
3066
3160
|
});
|
|
3067
|
-
var WebResearchQueueParams =
|
|
3068
|
-
var WebResearchQueueResult =
|
|
3069
|
-
state:
|
|
3070
|
-
problem:
|
|
3161
|
+
var WebResearchQueueParams = import_zod21.z.strictObject({ topic_id: import_zod21.z.string().min(1).max(64).optional() });
|
|
3162
|
+
var WebResearchQueueResult = import_zod21.z.strictObject({
|
|
3163
|
+
state: import_zod21.z.enum(["ready", "signed_out", "unavailable"]),
|
|
3164
|
+
problem: import_zod21.z.string().max(1e3).nullable(),
|
|
3071
3165
|
/** L1/L2 items on topics this person can edit: what this computer can fetch. */
|
|
3072
|
-
items:
|
|
3166
|
+
items: import_zod21.z.array(WebResearchItem),
|
|
3073
3167
|
/** Items on topics the person can view but not add to (shown, never fetched). */
|
|
3074
3168
|
view_only: nonNegInt
|
|
3075
3169
|
});
|
|
3076
|
-
var WebResearchFetchParams =
|
|
3077
|
-
topic_id:
|
|
3078
|
-
source_ids:
|
|
3170
|
+
var WebResearchFetchParams = import_zod21.z.strictObject({
|
|
3171
|
+
topic_id: import_zod21.z.string().min(1).max(64).optional(),
|
|
3172
|
+
source_ids: import_zod21.z.array(import_zod21.z.string().min(1).max(64)).max(200).optional()
|
|
3079
3173
|
});
|
|
3080
|
-
var WebResearchFetchResult =
|
|
3081
|
-
items:
|
|
3174
|
+
var WebResearchFetchResult = import_zod21.z.strictObject({
|
|
3175
|
+
items: import_zod21.z.array(WebResearchItem),
|
|
3082
3176
|
saved: nonNegInt,
|
|
3083
3177
|
thin: nonNegInt,
|
|
3084
3178
|
failed: nonNegInt,
|
|
3085
3179
|
cannot_edit: nonNegInt
|
|
3086
3180
|
});
|
|
3087
|
-
var ToolsServiceProgress =
|
|
3181
|
+
var ToolsServiceProgress = import_zod21.z.strictObject({ phase: import_zod21.z.enum(["fetching", "installing"]), done: nonNegInt, total: nonNegInt });
|
|
3088
3182
|
|
|
3089
3183
|
// src/schema/system.ts
|
|
3090
|
-
var
|
|
3091
|
-
var SystemOpenUrlParams =
|
|
3184
|
+
var import_zod22 = require("zod");
|
|
3185
|
+
var SystemOpenUrlParams = import_zod22.z.strictObject({
|
|
3092
3186
|
/** http, https or mailto; opened in the person's default app for it. */
|
|
3093
|
-
url:
|
|
3187
|
+
url: import_zod22.z.string().min(1).max(4096)
|
|
3094
3188
|
});
|
|
3095
|
-
var SystemOpenUrlResult =
|
|
3096
|
-
var SystemOpenPathParams =
|
|
3189
|
+
var SystemOpenUrlResult = import_zod22.z.strictObject({ url: import_zod22.z.string().max(4096) });
|
|
3190
|
+
var SystemOpenPathParams = import_zod22.z.strictObject({
|
|
3097
3191
|
path: AbsPath,
|
|
3098
3192
|
/** Show it in the file manager (Finder, Explorer) instead of opening it. */
|
|
3099
|
-
reveal:
|
|
3193
|
+
reveal: import_zod22.z.boolean().default(false)
|
|
3100
3194
|
});
|
|
3101
|
-
var SystemOpenPathResult =
|
|
3102
|
-
var SystemNotifyParams =
|
|
3103
|
-
title:
|
|
3104
|
-
body:
|
|
3195
|
+
var SystemOpenPathResult = import_zod22.z.strictObject({ path: AbsPath, revealed: import_zod22.z.boolean() });
|
|
3196
|
+
var SystemNotifyParams = import_zod22.z.strictObject({
|
|
3197
|
+
title: import_zod22.z.string().min(1).max(128),
|
|
3198
|
+
body: import_zod22.z.string().max(1024).default("")
|
|
3105
3199
|
});
|
|
3106
|
-
var SystemNotifyResult =
|
|
3200
|
+
var SystemNotifyResult = import_zod22.z.strictObject({
|
|
3107
3201
|
/** False when this computer has no notification service to show it (a bare Linux box). */
|
|
3108
|
-
shown:
|
|
3202
|
+
shown: import_zod22.z.boolean()
|
|
3109
3203
|
});
|
|
3110
|
-
var SystemSettingsPane =
|
|
3204
|
+
var SystemSettingsPane = import_zod22.z.enum([
|
|
3111
3205
|
"displays",
|
|
3112
3206
|
"night_shift",
|
|
3113
3207
|
"sound",
|
|
@@ -3142,99 +3236,99 @@ var SystemSettingsPane = import_zod21.z.enum([
|
|
|
3142
3236
|
"messages",
|
|
3143
3237
|
"mail"
|
|
3144
3238
|
]);
|
|
3145
|
-
var SystemOpenSettingsParams =
|
|
3146
|
-
var SystemOpenSettingsResult =
|
|
3239
|
+
var SystemOpenSettingsParams = import_zod22.z.strictObject({ pane: SystemSettingsPane });
|
|
3240
|
+
var SystemOpenSettingsResult = import_zod22.z.strictObject({ pane: SystemSettingsPane });
|
|
3147
3241
|
|
|
3148
3242
|
// src/schema/screen.ts
|
|
3149
|
-
var
|
|
3150
|
-
var ScreenDisplay =
|
|
3243
|
+
var import_zod23 = require("zod");
|
|
3244
|
+
var ScreenDisplay = import_zod23.z.strictObject({
|
|
3151
3245
|
/** The OS's display id; pass it to screen.capture. */
|
|
3152
3246
|
id: nonNegInt,
|
|
3153
|
-
name:
|
|
3247
|
+
name: import_zod23.z.string().max(128),
|
|
3154
3248
|
/** Position and size in the OS's logical points (x and y may be negative left of or above the main display). */
|
|
3155
|
-
x:
|
|
3156
|
-
y:
|
|
3157
|
-
width:
|
|
3158
|
-
height:
|
|
3249
|
+
x: import_zod23.z.int(),
|
|
3250
|
+
y: import_zod23.z.int(),
|
|
3251
|
+
width: import_zod23.z.int().min(1),
|
|
3252
|
+
height: import_zod23.z.int().min(1),
|
|
3159
3253
|
/** Pixels per point (2 on a Retina display). */
|
|
3160
|
-
scale:
|
|
3161
|
-
primary:
|
|
3254
|
+
scale: import_zod23.z.number().min(0.1).max(8),
|
|
3255
|
+
primary: import_zod23.z.boolean(),
|
|
3162
3256
|
/** (1.24) Clockwise rotation in degrees (Displays' Rotation: 0 is Standard). */
|
|
3163
|
-
rotation:
|
|
3257
|
+
rotation: import_zod23.z.int().min(0).max(359).optional(),
|
|
3164
3258
|
/** (1.24) Refresh rate in hertz; absent where the OS does not say. */
|
|
3165
|
-
refresh_hz:
|
|
3259
|
+
refresh_hz: import_zod23.z.number().min(0).max(1e3).optional(),
|
|
3166
3260
|
/** (1.24) The computer's own screen (a laptop's), not one plugged in. */
|
|
3167
|
-
builtin:
|
|
3261
|
+
builtin: import_zod23.z.boolean().optional()
|
|
3168
3262
|
});
|
|
3169
|
-
var ScreenListParams =
|
|
3170
|
-
var ScreenListResult =
|
|
3171
|
-
var ScreenCaptureParams =
|
|
3263
|
+
var ScreenListParams = import_zod23.z.strictObject({});
|
|
3264
|
+
var ScreenListResult = import_zod23.z.strictObject({ displays: import_zod23.z.array(ScreenDisplay).max(32) });
|
|
3265
|
+
var ScreenCaptureParams = import_zod23.z.strictObject({
|
|
3172
3266
|
/** The display (from screen.list); the primary display when absent. */
|
|
3173
3267
|
display_id: nonNegInt.optional(),
|
|
3174
|
-
format:
|
|
3268
|
+
format: import_zod23.z.enum(["jpeg", "png"]).default("jpeg"),
|
|
3175
3269
|
/** Scale the picture down to at most this width in pixels (kept when already smaller). */
|
|
3176
|
-
max_width:
|
|
3270
|
+
max_width: import_zod23.z.int().min(160).max(7680).default(1600)
|
|
3177
3271
|
});
|
|
3178
|
-
var ScreenCaptureResult =
|
|
3272
|
+
var ScreenCaptureResult = import_zod23.z.strictObject({
|
|
3179
3273
|
display_id: nonNegInt,
|
|
3180
|
-
mime_type:
|
|
3181
|
-
width:
|
|
3182
|
-
height:
|
|
3274
|
+
mime_type: import_zod23.z.enum(["image/jpeg", "image/png"]),
|
|
3275
|
+
width: import_zod23.z.int().min(1),
|
|
3276
|
+
height: import_zod23.z.int().min(1),
|
|
3183
3277
|
/** The display's full resolution in pixels, before scaling. */
|
|
3184
|
-
source_width:
|
|
3185
|
-
source_height:
|
|
3278
|
+
source_width: import_zod23.z.int().min(1),
|
|
3279
|
+
source_height: import_zod23.z.int().min(1),
|
|
3186
3280
|
/** The image, base64 (at most 6 MiB of text). */
|
|
3187
|
-
data_base64:
|
|
3281
|
+
data_base64: import_zod23.z.string().max(6291456)
|
|
3188
3282
|
});
|
|
3189
3283
|
|
|
3190
3284
|
// src/schema/window.ts
|
|
3191
|
-
var
|
|
3192
|
-
var WindowInfo =
|
|
3285
|
+
var import_zod24 = require("zod");
|
|
3286
|
+
var WindowInfo = import_zod24.z.strictObject({
|
|
3193
3287
|
/** The OS's window handle (macOS window number, Windows HWND, X11 window id). */
|
|
3194
3288
|
id: nonNegInt,
|
|
3195
|
-
title:
|
|
3289
|
+
title: import_zod24.z.string().max(512),
|
|
3196
3290
|
/** Position and size in logical points. */
|
|
3197
|
-
x:
|
|
3198
|
-
y:
|
|
3199
|
-
width:
|
|
3200
|
-
height:
|
|
3291
|
+
x: import_zod24.z.int(),
|
|
3292
|
+
y: import_zod24.z.int(),
|
|
3293
|
+
width: import_zod24.z.int().min(0),
|
|
3294
|
+
height: import_zod24.z.int().min(0),
|
|
3201
3295
|
/**
|
|
3202
3296
|
* The application that owns the window, by the name the OS shows people; absent when the OS does
|
|
3203
3297
|
* not say. Optional (never null, the schema rule) because it was added in protocol 1.7: an older
|
|
3204
3298
|
* app's answer has no such field (FIELDS_SINCE).
|
|
3205
3299
|
*/
|
|
3206
|
-
app:
|
|
3300
|
+
app: import_zod24.z.string().max(256).optional(),
|
|
3207
3301
|
/** The owning process id; absent when the OS does not say. Added in protocol 1.7. */
|
|
3208
|
-
pid:
|
|
3302
|
+
pid: import_zod24.z.int().min(0).optional()
|
|
3209
3303
|
});
|
|
3210
|
-
var WindowListParams =
|
|
3304
|
+
var WindowListParams = import_zod24.z.strictObject({
|
|
3211
3305
|
/** Case-insensitive substring of the window title. */
|
|
3212
|
-
title:
|
|
3213
|
-
limit:
|
|
3306
|
+
title: import_zod24.z.string().min(1).max(256).optional(),
|
|
3307
|
+
limit: import_zod24.z.int().min(1).max(500).default(100)
|
|
3214
3308
|
});
|
|
3215
|
-
var WindowListResult =
|
|
3216
|
-
windows:
|
|
3309
|
+
var WindowListResult = import_zod24.z.strictObject({
|
|
3310
|
+
windows: import_zod24.z.array(WindowInfo).max(500),
|
|
3217
3311
|
total: nonNegInt,
|
|
3218
|
-
truncated:
|
|
3312
|
+
truncated: import_zod24.z.boolean()
|
|
3219
3313
|
});
|
|
3220
|
-
var WindowFocusParams =
|
|
3221
|
-
var WindowFocusResult =
|
|
3222
|
-
var WindowMoveParams =
|
|
3314
|
+
var WindowFocusParams = import_zod24.z.strictObject({ id: nonNegInt });
|
|
3315
|
+
var WindowFocusResult = import_zod24.z.strictObject({ window: WindowInfo });
|
|
3316
|
+
var WindowMoveParams = import_zod24.z.strictObject({
|
|
3223
3317
|
id: nonNegInt,
|
|
3224
3318
|
/** New top-left corner; unchanged when absent. */
|
|
3225
|
-
x:
|
|
3226
|
-
y:
|
|
3319
|
+
x: import_zod24.z.int().optional(),
|
|
3320
|
+
y: import_zod24.z.int().optional(),
|
|
3227
3321
|
/** New size; unchanged when absent. */
|
|
3228
|
-
width:
|
|
3229
|
-
height:
|
|
3322
|
+
width: import_zod24.z.int().min(50).max(16384).optional(),
|
|
3323
|
+
height: import_zod24.z.int().min(50).max(16384).optional()
|
|
3230
3324
|
});
|
|
3231
|
-
var WindowMoveResult =
|
|
3232
|
-
var WindowMinimizeParams =
|
|
3233
|
-
var WindowMinimizeResult =
|
|
3325
|
+
var WindowMoveResult = import_zod24.z.strictObject({ window: WindowInfo });
|
|
3326
|
+
var WindowMinimizeParams = import_zod24.z.strictObject({ id: nonNegInt });
|
|
3327
|
+
var WindowMinimizeResult = import_zod24.z.strictObject({ id: nonNegInt });
|
|
3234
3328
|
|
|
3235
3329
|
// src/schema/input.ts
|
|
3236
|
-
var
|
|
3237
|
-
var InputKey =
|
|
3330
|
+
var import_zod25 = require("zod");
|
|
3331
|
+
var InputKey = import_zod25.z.enum([
|
|
3238
3332
|
"cmd",
|
|
3239
3333
|
"ctrl",
|
|
3240
3334
|
"alt",
|
|
@@ -3314,80 +3408,80 @@ var InputKey = import_zod24.z.enum([
|
|
|
3314
3408
|
"backslash",
|
|
3315
3409
|
"grave"
|
|
3316
3410
|
]);
|
|
3317
|
-
var InputTypeTextParams =
|
|
3318
|
-
var InputTypeTextResult =
|
|
3319
|
-
var InputHotkeyParams =
|
|
3411
|
+
var InputTypeTextParams = import_zod25.z.strictObject({ text: import_zod25.z.string().min(1).max(1e4) });
|
|
3412
|
+
var InputTypeTextResult = import_zod25.z.strictObject({ characters: import_zod25.z.int().min(1) });
|
|
3413
|
+
var InputHotkeyParams = import_zod25.z.strictObject({
|
|
3320
3414
|
/** Pressed together in order and released in reverse: ["cmd", "shift", "t"]. */
|
|
3321
|
-
keys:
|
|
3415
|
+
keys: import_zod25.z.array(InputKey).min(1).max(6)
|
|
3322
3416
|
});
|
|
3323
|
-
var InputHotkeyResult =
|
|
3324
|
-
var InputPoint =
|
|
3325
|
-
var InputMouseMoveParams =
|
|
3417
|
+
var InputHotkeyResult = import_zod25.z.strictObject({ keys: import_zod25.z.array(InputKey) });
|
|
3418
|
+
var InputPoint = import_zod25.z.strictObject({ x: import_zod25.z.int(), y: import_zod25.z.int() });
|
|
3419
|
+
var InputMouseMoveParams = import_zod25.z.strictObject({
|
|
3326
3420
|
/** Screen position in logical points (the coordinates screen.list and window.list report). */
|
|
3327
|
-
x:
|
|
3328
|
-
y:
|
|
3421
|
+
x: import_zod25.z.int(),
|
|
3422
|
+
y: import_zod25.z.int()
|
|
3329
3423
|
});
|
|
3330
|
-
var InputMouseMoveResult =
|
|
3424
|
+
var InputMouseMoveResult = import_zod25.z.strictObject({
|
|
3331
3425
|
/** Where the pointer is now, read back from the OS. */
|
|
3332
3426
|
position: InputPoint
|
|
3333
3427
|
});
|
|
3334
|
-
var InputMouseClickParams =
|
|
3428
|
+
var InputMouseClickParams = import_zod25.z.strictObject({
|
|
3335
3429
|
/** Move here first; clicks where the pointer is when absent. */
|
|
3336
|
-
x:
|
|
3337
|
-
y:
|
|
3338
|
-
button:
|
|
3339
|
-
double:
|
|
3430
|
+
x: import_zod25.z.int().optional(),
|
|
3431
|
+
y: import_zod25.z.int().optional(),
|
|
3432
|
+
button: import_zod25.z.enum(["left", "right", "middle"]).default("left"),
|
|
3433
|
+
double: import_zod25.z.boolean().default(false)
|
|
3340
3434
|
});
|
|
3341
|
-
var InputMouseClickResult =
|
|
3435
|
+
var InputMouseClickResult = import_zod25.z.strictObject({
|
|
3342
3436
|
position: InputPoint,
|
|
3343
|
-
button:
|
|
3344
|
-
double:
|
|
3437
|
+
button: import_zod25.z.enum(["left", "right", "middle"]),
|
|
3438
|
+
double: import_zod25.z.boolean()
|
|
3345
3439
|
});
|
|
3346
|
-
var InputKeyboardSettingsParams =
|
|
3347
|
-
var InputKeyboardSettingsResult =
|
|
3440
|
+
var InputKeyboardSettingsParams = import_zod25.z.strictObject({});
|
|
3441
|
+
var InputKeyboardSettingsResult = import_zod25.z.strictObject({
|
|
3348
3442
|
/** Key repeat is off (a held key types once). */
|
|
3349
|
-
repeat_off:
|
|
3443
|
+
repeat_off: import_zod25.z.boolean().nullable(),
|
|
3350
3444
|
/** Time between repeats while a key is held (Key repeat rate: shorter is faster). */
|
|
3351
3445
|
repeat_interval_ms: nonNegInt.nullable(),
|
|
3352
3446
|
/** Time a key is held before it starts repeating (Delay until repeat). */
|
|
3353
3447
|
repeat_delay_ms: nonNegInt.nullable(),
|
|
3354
3448
|
/** What the fn / globe key does alone. */
|
|
3355
|
-
fn_key:
|
|
3449
|
+
fn_key: import_zod25.z.enum(["nothing", "input_source", "emoji", "dictation"]).nullable(),
|
|
3356
3450
|
/** Tab moves focus between every control. */
|
|
3357
|
-
keyboard_navigation:
|
|
3451
|
+
keyboard_navigation: import_zod25.z.boolean().nullable(),
|
|
3358
3452
|
/** The enabled input sources by name ("U.S.", "ABC – Extended"). */
|
|
3359
|
-
input_sources:
|
|
3453
|
+
input_sources: import_zod25.z.array(import_zod25.z.string().max(128)).max(64),
|
|
3360
3454
|
/** A key repeat change takes effect only after the person logs out and in again (macOS). */
|
|
3361
|
-
applies_after_login:
|
|
3455
|
+
applies_after_login: import_zod25.z.boolean()
|
|
3362
3456
|
});
|
|
3363
|
-
var InputSetKeyboardSettingsParams =
|
|
3364
|
-
repeat_off:
|
|
3365
|
-
repeat_interval_ms:
|
|
3366
|
-
repeat_delay_ms:
|
|
3367
|
-
keyboard_navigation:
|
|
3457
|
+
var InputSetKeyboardSettingsParams = import_zod25.z.strictObject({
|
|
3458
|
+
repeat_off: import_zod25.z.boolean().optional(),
|
|
3459
|
+
repeat_interval_ms: import_zod25.z.int().min(15).max(2e3).optional(),
|
|
3460
|
+
repeat_delay_ms: import_zod25.z.int().min(150).max(2e3).optional(),
|
|
3461
|
+
keyboard_navigation: import_zod25.z.boolean().optional()
|
|
3368
3462
|
});
|
|
3369
3463
|
|
|
3370
3464
|
// src/schema/power.ts
|
|
3371
|
-
var
|
|
3372
|
-
var PowerEnergy =
|
|
3465
|
+
var import_zod26 = require("zod");
|
|
3466
|
+
var PowerEnergy = import_zod26.z.strictObject({
|
|
3373
3467
|
display_sleep_minutes: nonNegInt.nullable(),
|
|
3374
3468
|
/** The computer itself sleeps after this long idle; null = never (Prevent automatic sleeping). */
|
|
3375
3469
|
sleep_minutes: nonNegInt.nullable(),
|
|
3376
3470
|
/** Hard disks sleep after this long; null = never. */
|
|
3377
3471
|
disk_sleep_minutes: nonNegInt.nullable(),
|
|
3378
|
-
wake_for_network:
|
|
3379
|
-
restart_after_power_failure:
|
|
3472
|
+
wake_for_network: import_zod26.z.boolean().nullable(),
|
|
3473
|
+
restart_after_power_failure: import_zod26.z.boolean().nullable(),
|
|
3380
3474
|
/** Low Power Mode (Energy Mode "Low Power"). */
|
|
3381
|
-
low_power_mode:
|
|
3475
|
+
low_power_mode: import_zod26.z.boolean().nullable()
|
|
3382
3476
|
});
|
|
3383
|
-
var PowerStatusParams =
|
|
3384
|
-
var PowerStatusResult =
|
|
3385
|
-
has_battery:
|
|
3477
|
+
var PowerStatusParams = import_zod26.z.strictObject({});
|
|
3478
|
+
var PowerStatusResult = import_zod26.z.strictObject({
|
|
3479
|
+
has_battery: import_zod26.z.boolean(),
|
|
3386
3480
|
/** 0–100; null without a battery. */
|
|
3387
|
-
percent:
|
|
3388
|
-
charging:
|
|
3481
|
+
percent: import_zod26.z.number().min(0).max(100).nullable(),
|
|
3482
|
+
charging: import_zod26.z.boolean().nullable(),
|
|
3389
3483
|
/** On wall power; null where the OS does not say. */
|
|
3390
|
-
plugged_in:
|
|
3484
|
+
plugged_in: import_zod26.z.boolean().nullable(),
|
|
3391
3485
|
/** Minutes of battery left; null when charging, unknown or without a battery. */
|
|
3392
3486
|
minutes_left: nonNegInt.nullable(),
|
|
3393
3487
|
/** Matrx 2 is keeping the computer awake (power.prevent_sleep) until this time; null when it is not. */
|
|
@@ -3395,26 +3489,26 @@ var PowerStatusResult = import_zod25.z.strictObject({
|
|
|
3395
3489
|
/** (1.24) The OS's own energy settings; absent where it keeps none Matrx 2 can read. */
|
|
3396
3490
|
energy: PowerEnergy.optional()
|
|
3397
3491
|
});
|
|
3398
|
-
var PowerHistoryParams =
|
|
3399
|
-
var PowerHistoryPoint =
|
|
3400
|
-
var PowerHistoryResult =
|
|
3492
|
+
var PowerHistoryParams = import_zod26.z.strictObject({});
|
|
3493
|
+
var PowerHistoryPoint = import_zod26.z.strictObject({ at_ms: epochMs, percent: import_zod26.z.number().min(0).max(100), plugged_in: import_zod26.z.boolean() });
|
|
3494
|
+
var PowerHistoryResult = import_zod26.z.strictObject({
|
|
3401
3495
|
/** Oldest first; empty without a battery or where the OS keeps no log. */
|
|
3402
|
-
points:
|
|
3496
|
+
points: import_zod26.z.array(PowerHistoryPoint).max(5e3)
|
|
3403
3497
|
});
|
|
3404
|
-
var PowerPreventSleepParams =
|
|
3498
|
+
var PowerPreventSleepParams = import_zod26.z.strictObject({
|
|
3405
3499
|
/** Keep the computer awake this long; 0 lets it sleep again now. */
|
|
3406
|
-
seconds:
|
|
3500
|
+
seconds: import_zod26.z.int().min(0).max(86400),
|
|
3407
3501
|
/** Shown where the OS lists what keeps it awake. */
|
|
3408
|
-
reason:
|
|
3502
|
+
reason: import_zod26.z.string().min(1).max(128).default("Matrx 2 is working")
|
|
3409
3503
|
});
|
|
3410
|
-
var PowerPreventSleepResult =
|
|
3504
|
+
var PowerPreventSleepResult = import_zod26.z.strictObject({
|
|
3411
3505
|
/** When it may sleep again; null after seconds 0. */
|
|
3412
3506
|
awake_until_ms: epochMs.nullable()
|
|
3413
3507
|
});
|
|
3414
3508
|
|
|
3415
3509
|
// src/schema/diag.ts
|
|
3416
|
-
var
|
|
3417
|
-
var DiagProcess =
|
|
3510
|
+
var import_zod27 = require("zod");
|
|
3511
|
+
var DiagProcess = import_zod27.z.enum([
|
|
3418
3512
|
"main",
|
|
3419
3513
|
"renderer",
|
|
3420
3514
|
"hosted_page",
|
|
@@ -3427,7 +3521,7 @@ var DiagProcess = import_zod26.z.enum([
|
|
|
3427
3521
|
"coding_sessions",
|
|
3428
3522
|
"claude_accounts"
|
|
3429
3523
|
]);
|
|
3430
|
-
var DiagErrorKind =
|
|
3524
|
+
var DiagErrorKind = import_zod27.z.enum([
|
|
3431
3525
|
"uncaught_exception",
|
|
3432
3526
|
"unhandled_rejection",
|
|
3433
3527
|
"renderer_crash",
|
|
@@ -3439,148 +3533,148 @@ var DiagErrorKind = import_zod26.z.enum([
|
|
|
3439
3533
|
"banner",
|
|
3440
3534
|
"logged_error"
|
|
3441
3535
|
]);
|
|
3442
|
-
var DiagErrorStatus =
|
|
3443
|
-
var DiagErrorEntry =
|
|
3536
|
+
var DiagErrorStatus = import_zod27.z.enum(["waiting", "sent", "resolved"]);
|
|
3537
|
+
var DiagErrorEntry = import_zod27.z.strictObject({
|
|
3444
3538
|
/** sha256 prefix over process, kind, source, code and the normalized message. */
|
|
3445
|
-
signature:
|
|
3539
|
+
signature: import_zod27.z.string().regex(/^[0-9a-f]{32}$/),
|
|
3446
3540
|
process: DiagProcess,
|
|
3447
3541
|
kind: DiagErrorKind,
|
|
3448
3542
|
/** Where: a cap.op, a log event, a screen or page name. */
|
|
3449
|
-
source:
|
|
3543
|
+
source: import_zod27.z.string().min(1).max(128),
|
|
3450
3544
|
/** An ErrorCode, an exit code or signal, an error class; null when there is none. */
|
|
3451
|
-
code:
|
|
3545
|
+
code: import_zod27.z.string().max(64).nullable(),
|
|
3452
3546
|
/** The first occurrence's message, personal data removed. */
|
|
3453
|
-
message:
|
|
3547
|
+
message: import_zod27.z.string().max(500),
|
|
3454
3548
|
count: nonNegInt,
|
|
3455
3549
|
first_seen_ms: epochMs,
|
|
3456
3550
|
last_seen_ms: epochMs,
|
|
3457
3551
|
status: DiagErrorStatus,
|
|
3458
3552
|
/** What the agent who resolved it wrote; null until resolved. */
|
|
3459
|
-
resolution_note:
|
|
3460
|
-
app_version:
|
|
3553
|
+
resolution_note: import_zod27.z.string().max(500).nullable(),
|
|
3554
|
+
app_version: import_zod27.z.string().max(64)
|
|
3461
3555
|
});
|
|
3462
|
-
var DiagErrorsListParams =
|
|
3556
|
+
var DiagErrorsListParams = import_zod27.z.strictObject({
|
|
3463
3557
|
/** open = waiting or sent; all includes resolved. */
|
|
3464
|
-
status:
|
|
3465
|
-
limit:
|
|
3558
|
+
status: import_zod27.z.enum(["open", "all"]).default("open"),
|
|
3559
|
+
limit: import_zod27.z.int().min(1).max(500).default(200)
|
|
3466
3560
|
});
|
|
3467
|
-
var DiagErrorsListResult =
|
|
3561
|
+
var DiagErrorsListResult = import_zod27.z.strictObject({
|
|
3468
3562
|
/** Newest last_seen first. */
|
|
3469
|
-
entries:
|
|
3563
|
+
entries: import_zod27.z.array(DiagErrorEntry).max(500),
|
|
3470
3564
|
total_signatures: nonNegInt,
|
|
3471
3565
|
total_occurrences: nonNegInt,
|
|
3472
3566
|
/** Signatures with occurrences not yet delivered. */
|
|
3473
3567
|
waiting: nonNegInt,
|
|
3474
3568
|
/** signed_out = kept until sign-in; ok = the last delivery worked; failing = the last delivery failed (kept, retried). */
|
|
3475
|
-
delivery:
|
|
3569
|
+
delivery: import_zod27.z.enum(["signed_out", "ok", "failing"]),
|
|
3476
3570
|
last_delivery_ms: epochMs.nullable()
|
|
3477
3571
|
});
|
|
3478
|
-
var DiagErrorsReportParams =
|
|
3479
|
-
process:
|
|
3480
|
-
kind:
|
|
3572
|
+
var DiagErrorsReportParams = import_zod27.z.strictObject({
|
|
3573
|
+
process: import_zod27.z.enum(["renderer", "hosted_page"]),
|
|
3574
|
+
kind: import_zod27.z.enum(["uncaught_exception", "unhandled_rejection", "console_error", "banner"]),
|
|
3481
3575
|
/** The screen or page, e.g. "code.chats". */
|
|
3482
|
-
source:
|
|
3483
|
-
message:
|
|
3484
|
-
code:
|
|
3485
|
-
stack:
|
|
3576
|
+
source: import_zod27.z.string().min(1).max(128),
|
|
3577
|
+
message: import_zod27.z.string().min(1).max(2e3),
|
|
3578
|
+
code: import_zod27.z.string().max(64).optional(),
|
|
3579
|
+
stack: import_zod27.z.string().max(8e3).optional()
|
|
3486
3580
|
});
|
|
3487
|
-
var DiagErrorsReportResult =
|
|
3488
|
-
signature:
|
|
3581
|
+
var DiagErrorsReportResult = import_zod27.z.strictObject({
|
|
3582
|
+
signature: import_zod27.z.string().regex(/^[0-9a-f]{32}$/)
|
|
3489
3583
|
});
|
|
3490
|
-
var DiagErrorsChangedEvent =
|
|
3584
|
+
var DiagErrorsChangedEvent = import_zod27.z.strictObject({
|
|
3491
3585
|
total_signatures: nonNegInt,
|
|
3492
3586
|
waiting: nonNegInt
|
|
3493
3587
|
});
|
|
3494
3588
|
|
|
3495
3589
|
// src/schema/resources.ts
|
|
3496
|
-
var
|
|
3497
|
-
var ResourcesDisk =
|
|
3590
|
+
var import_zod28 = require("zod");
|
|
3591
|
+
var ResourcesDisk = import_zod28.z.strictObject({
|
|
3498
3592
|
/** Where it is mounted ("/", "C:"). */
|
|
3499
|
-
mount:
|
|
3593
|
+
mount: import_zod28.z.string().max(512),
|
|
3500
3594
|
/** The volume's name as the file manager shows it ("Macintosh HD", "Local Disk (C:)"). Since 1.17. */
|
|
3501
|
-
name:
|
|
3595
|
+
name: import_zod28.z.string().max(256).optional(),
|
|
3502
3596
|
/** The file system ("apfs", "NTFS", "ext4"). */
|
|
3503
|
-
fs:
|
|
3597
|
+
fs: import_zod28.z.string().max(64),
|
|
3504
3598
|
size_bytes: nonNegInt,
|
|
3505
3599
|
used_bytes: nonNegInt,
|
|
3506
3600
|
available_bytes: nonNegInt
|
|
3507
3601
|
});
|
|
3508
|
-
var ResourcesSnapshotParams =
|
|
3509
|
-
var ResourcesSnapshotResult =
|
|
3510
|
-
cpu:
|
|
3602
|
+
var ResourcesSnapshotParams = import_zod28.z.strictObject({});
|
|
3603
|
+
var ResourcesSnapshotResult = import_zod28.z.strictObject({
|
|
3604
|
+
cpu: import_zod28.z.strictObject({
|
|
3511
3605
|
/** Busy share of all cores, 0–100, measured now. */
|
|
3512
|
-
percent:
|
|
3513
|
-
cores:
|
|
3606
|
+
percent: import_zod28.z.number().min(0).max(100),
|
|
3607
|
+
cores: import_zod28.z.int().min(1),
|
|
3514
3608
|
/** 1, 5 and 15 minute load averages; null on Windows. */
|
|
3515
|
-
load:
|
|
3609
|
+
load: import_zod28.z.array(import_zod28.z.number().min(0)).length(3).nullable()
|
|
3516
3610
|
}),
|
|
3517
|
-
memory:
|
|
3518
|
-
swap:
|
|
3519
|
-
disks:
|
|
3611
|
+
memory: import_zod28.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt, available_bytes: nonNegInt }),
|
|
3612
|
+
swap: import_zod28.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt }),
|
|
3613
|
+
disks: import_zod28.z.array(ResourcesDisk).max(64),
|
|
3520
3614
|
uptime_seconds: nonNegInt
|
|
3521
3615
|
});
|
|
3522
|
-
var ResourcesJobKind =
|
|
3523
|
-
var ResourcesStrain =
|
|
3524
|
-
var ResourcesPressure =
|
|
3525
|
-
var ResourcesJob =
|
|
3616
|
+
var ResourcesJobKind = import_zod28.z.enum(["type-check", "tests", "build", "lint", "dev server", "language server", "search"]);
|
|
3617
|
+
var ResourcesStrain = import_zod28.z.enum(["good", "strain", "overloaded"]);
|
|
3618
|
+
var ResourcesPressure = import_zod28.z.enum(["normal", "warning", "critical"]);
|
|
3619
|
+
var ResourcesJob = import_zod28.z.strictObject({
|
|
3526
3620
|
/** The job's root process (Stop takes its whole tree). */
|
|
3527
|
-
pid:
|
|
3621
|
+
pid: import_zod28.z.int().min(0),
|
|
3528
3622
|
kind: ResourcesJobKind,
|
|
3529
3623
|
/** Its heaviest process's command line, shortened ("…/lib/tsc --noEmit -p tsconfig.json"). */
|
|
3530
|
-
command:
|
|
3624
|
+
command: import_zod28.z.string().max(256),
|
|
3531
3625
|
/** Who started it: "Claude Code", "Codex", "Cursor", "VS Code", "Terminal", "local stack", "detached"; null when unknown. */
|
|
3532
|
-
started_by:
|
|
3626
|
+
started_by: import_zod28.z.string().max(64).nullable(),
|
|
3533
3627
|
/** Whatever started it is gone and nothing waits for it. */
|
|
3534
|
-
orphan:
|
|
3628
|
+
orphan: import_zod28.z.boolean(),
|
|
3535
3629
|
/** A type-check queued for its turn (no compiler running yet). */
|
|
3536
|
-
waiting:
|
|
3630
|
+
waiting: import_zod28.z.boolean(),
|
|
3537
3631
|
/** The project folder it runs in ("matrx-frontend"); null when not in one. */
|
|
3538
|
-
folder:
|
|
3632
|
+
folder: import_zod28.z.string().max(256).nullable(),
|
|
3539
3633
|
/** The same command in the same folder, running this many times (1 = no duplicate). */
|
|
3540
|
-
duplicates:
|
|
3541
|
-
processes:
|
|
3634
|
+
duplicates: import_zod28.z.int().min(1),
|
|
3635
|
+
processes: import_zod28.z.int().min(1),
|
|
3542
3636
|
/** Sum over the tree, as `ps` reports it: 100 = one full core. */
|
|
3543
|
-
cpu_percent:
|
|
3637
|
+
cpu_percent: import_zod28.z.number().min(0),
|
|
3544
3638
|
/** Real memory (macOS: the physical footprint Activity Monitor shows, compressed included). */
|
|
3545
3639
|
memory_bytes: nonNegInt,
|
|
3546
3640
|
started_at_ms: epochMs.nullable(),
|
|
3547
3641
|
/** False for an app, an agent session, a terminal, a system process, the local stack or Matrx 2 itself. */
|
|
3548
|
-
stoppable:
|
|
3642
|
+
stoppable: import_zod28.z.boolean()
|
|
3549
3643
|
});
|
|
3550
|
-
var ResourcesProcess =
|
|
3551
|
-
pid:
|
|
3644
|
+
var ResourcesProcess = import_zod28.z.strictObject({
|
|
3645
|
+
pid: import_zod28.z.int().min(0),
|
|
3552
3646
|
/** The command line, shortened. */
|
|
3553
|
-
name:
|
|
3554
|
-
cpu_percent:
|
|
3647
|
+
name: import_zod28.z.string().max(256),
|
|
3648
|
+
cpu_percent: import_zod28.z.number().min(0),
|
|
3555
3649
|
memory_bytes: nonNegInt,
|
|
3556
|
-
started_by:
|
|
3650
|
+
started_by: import_zod28.z.string().max(64).nullable(),
|
|
3557
3651
|
/** The job it belongs to ("type-check in aidream"); null when none. */
|
|
3558
|
-
job:
|
|
3652
|
+
job: import_zod28.z.string().max(256).nullable(),
|
|
3559
3653
|
started_at_ms: epochMs.nullable()
|
|
3560
3654
|
});
|
|
3561
|
-
var ResourcesVerdict =
|
|
3655
|
+
var ResourcesVerdict = import_zod28.z.strictObject({
|
|
3562
3656
|
level: ResourcesStrain,
|
|
3563
3657
|
/** One sentence ("Your Mac is under strain. 3 type-checks are running at once."). */
|
|
3564
|
-
text:
|
|
3658
|
+
text: import_zod28.z.string().max(256),
|
|
3565
3659
|
/** The biggest jobs behind it; null when all is well. */
|
|
3566
|
-
cause:
|
|
3660
|
+
cause: import_zod28.z.string().max(1024).nullable()
|
|
3567
3661
|
});
|
|
3568
|
-
var ResourcesSample =
|
|
3662
|
+
var ResourcesSample = import_zod28.z.strictObject({
|
|
3569
3663
|
at_ms: epochMs,
|
|
3570
3664
|
/** The 1-minute load average. */
|
|
3571
|
-
load:
|
|
3665
|
+
load: import_zod28.z.number().min(0),
|
|
3572
3666
|
memory_used_bytes: nonNegInt,
|
|
3573
3667
|
typechecks: nonNegInt
|
|
3574
3668
|
});
|
|
3575
|
-
var ResourcesActivityParams =
|
|
3576
|
-
var ResourcesActivityResult =
|
|
3669
|
+
var ResourcesActivityParams = import_zod28.z.strictObject({});
|
|
3670
|
+
var ResourcesActivityResult = import_zod28.z.strictObject({
|
|
3577
3671
|
/** False until the first reading (a second or two after start). */
|
|
3578
|
-
ready:
|
|
3672
|
+
ready: import_zod28.z.boolean(),
|
|
3579
3673
|
sampled_at_ms: epochMs.nullable(),
|
|
3580
|
-
cores:
|
|
3674
|
+
cores: import_zod28.z.int().min(1),
|
|
3581
3675
|
/** 1, 5 and 15 minute load averages. */
|
|
3582
|
-
load:
|
|
3583
|
-
memory:
|
|
3676
|
+
load: import_zod28.z.array(import_zod28.z.number().min(0)).length(3),
|
|
3677
|
+
memory: import_zod28.z.strictObject({
|
|
3584
3678
|
total_bytes: nonNegInt,
|
|
3585
3679
|
/** Activity Monitor's Memory Used: app memory + wired + compressed. */
|
|
3586
3680
|
used_bytes: nonNegInt,
|
|
@@ -3591,269 +3685,269 @@ var ResourcesActivityResult = import_zod27.z.strictObject({
|
|
|
3591
3685
|
pressure: ResourcesPressure.nullable()
|
|
3592
3686
|
}),
|
|
3593
3687
|
verdict: ResourcesVerdict,
|
|
3594
|
-
typechecks:
|
|
3688
|
+
typechecks: import_zod28.z.strictObject({ running: nonNegInt, waiting: nonNegInt, comfort: nonNegInt }),
|
|
3595
3689
|
/** Heaviest first (1 GB weighs as much as 16 % of a core). */
|
|
3596
|
-
jobs:
|
|
3690
|
+
jobs: import_zod28.z.array(ResourcesJob).max(200),
|
|
3597
3691
|
/** The 15 heaviest by memory and the 15 busiest by CPU, together. */
|
|
3598
|
-
top:
|
|
3692
|
+
top: import_zod28.z.array(ResourcesProcess).max(30),
|
|
3599
3693
|
/** The last hour, oldest first. */
|
|
3600
|
-
history:
|
|
3694
|
+
history: import_zod28.z.array(ResourcesSample).max(1200)
|
|
3601
3695
|
});
|
|
3602
|
-
var ResourcesStopJobParams =
|
|
3603
|
-
var ResourcesStopJobResult =
|
|
3696
|
+
var ResourcesStopJobParams = import_zod28.z.strictObject({ pid: import_zod28.z.int().min(1) });
|
|
3697
|
+
var ResourcesStopJobResult = import_zod28.z.strictObject({
|
|
3604
3698
|
/** Processes signalled; whatever is still running 5 seconds later is force-stopped. */
|
|
3605
3699
|
processes: nonNegInt,
|
|
3606
3700
|
/** It had finished before the request arrived. */
|
|
3607
|
-
already_finished:
|
|
3701
|
+
already_finished: import_zod28.z.boolean()
|
|
3608
3702
|
});
|
|
3609
|
-
var ResourcesIncident =
|
|
3703
|
+
var ResourcesIncident = import_zod28.z.strictObject({
|
|
3610
3704
|
at_ms: epochMs,
|
|
3611
3705
|
verdict: ResourcesVerdict,
|
|
3612
|
-
load:
|
|
3706
|
+
load: import_zod28.z.number().min(0),
|
|
3613
3707
|
memory_used_bytes: nonNegInt,
|
|
3614
3708
|
compressed_bytes: nonNegInt,
|
|
3615
3709
|
pressure: ResourcesPressure.nullable(),
|
|
3616
|
-
jobs:
|
|
3617
|
-
|
|
3710
|
+
jobs: import_zod28.z.array(
|
|
3711
|
+
import_zod28.z.strictObject({
|
|
3618
3712
|
kind: ResourcesJobKind,
|
|
3619
|
-
started_by:
|
|
3620
|
-
folder:
|
|
3621
|
-
command:
|
|
3622
|
-
cpu_percent:
|
|
3713
|
+
started_by: import_zod28.z.string().max(64).nullable(),
|
|
3714
|
+
folder: import_zod28.z.string().max(256).nullable(),
|
|
3715
|
+
command: import_zod28.z.string().max(256),
|
|
3716
|
+
cpu_percent: import_zod28.z.number().min(0),
|
|
3623
3717
|
memory_bytes: nonNegInt,
|
|
3624
|
-
duplicates:
|
|
3718
|
+
duplicates: import_zod28.z.int().min(1)
|
|
3625
3719
|
})
|
|
3626
3720
|
).max(8)
|
|
3627
3721
|
});
|
|
3628
|
-
var ResourcesIncidentsParams =
|
|
3629
|
-
var ResourcesIncidentsResult =
|
|
3722
|
+
var ResourcesIncidentsParams = import_zod28.z.strictObject({ limit: import_zod28.z.int().min(1).max(200).default(50) });
|
|
3723
|
+
var ResourcesIncidentsResult = import_zod28.z.strictObject({
|
|
3630
3724
|
/** Newest first; at most one a minute is written. */
|
|
3631
|
-
incidents:
|
|
3725
|
+
incidents: import_zod28.z.array(ResourcesIncident).max(200)
|
|
3632
3726
|
});
|
|
3633
3727
|
|
|
3634
3728
|
// src/schema/stack.ts
|
|
3635
|
-
var
|
|
3636
|
-
var StackServerName =
|
|
3637
|
-
var StackTone =
|
|
3638
|
-
var StackServer =
|
|
3729
|
+
var import_zod29 = require("zod");
|
|
3730
|
+
var StackServerName = import_zod29.z.string().regex(/^[a-z0-9_-]{1,64}$/);
|
|
3731
|
+
var StackTone = import_zod29.z.enum(["good", "wait", "bad", "off"]);
|
|
3732
|
+
var StackServer = import_zod29.z.strictObject({
|
|
3639
3733
|
name: StackServerName,
|
|
3640
3734
|
/** One word: Healthy, Starting, Unhealthy, Restarting, Stopping, Waiting, Stopped, Crashed, Off. */
|
|
3641
|
-
label:
|
|
3735
|
+
label: import_zod29.z.string().max(32),
|
|
3642
3736
|
tone: StackTone,
|
|
3643
3737
|
/** What is going on, in one or two plain sentences. */
|
|
3644
|
-
sentence:
|
|
3738
|
+
sentence: import_zod29.z.string().max(2e3),
|
|
3645
3739
|
/** The config's own description of the server. */
|
|
3646
|
-
description:
|
|
3740
|
+
description: import_zod29.z.string().max(512),
|
|
3647
3741
|
/** Where the server answers, when its description names an address. */
|
|
3648
|
-
open_url:
|
|
3649
|
-
log_file:
|
|
3742
|
+
open_url: import_zod29.z.string().max(2048).nullable(),
|
|
3743
|
+
log_file: import_zod29.z.string().max(4096),
|
|
3650
3744
|
/** When its log file was last written. */
|
|
3651
3745
|
last_output_at_ms: epochMs.nullable(),
|
|
3652
3746
|
started_at_ms: epochMs.nullable(),
|
|
3653
3747
|
restarts: nonNegInt,
|
|
3654
|
-
exit_code:
|
|
3655
|
-
pid:
|
|
3748
|
+
exit_code: import_zod29.z.int().nullable(),
|
|
3749
|
+
pid: import_zod29.z.int().nullable(),
|
|
3656
3750
|
/** (1.18) CPU of the server's process and everything under it, in percent of one core; absent when it is not running. */
|
|
3657
|
-
cpu_percent:
|
|
3751
|
+
cpu_percent: import_zod29.z.number().min(0).optional(),
|
|
3658
3752
|
/** (1.18) Memory of the same processes: the physical footprint (Activity Monitor's Memory) summed; absent when it is not running. */
|
|
3659
3753
|
memory_bytes: nonNegInt.optional()
|
|
3660
3754
|
});
|
|
3661
|
-
var StackEvent =
|
|
3755
|
+
var StackEvent = import_zod29.z.strictObject({
|
|
3662
3756
|
at_ms: epochMs,
|
|
3663
3757
|
/** A server name, or "stack" for the stack as a whole. */
|
|
3664
|
-
server:
|
|
3758
|
+
server: import_zod29.z.string().max(64),
|
|
3665
3759
|
/** started · stopped · healthy · unhealthy · crashed · exited · restarting · stopping · action · action-done · action-failed · setup · error */
|
|
3666
|
-
kind:
|
|
3667
|
-
text:
|
|
3760
|
+
kind: import_zod29.z.string().max(32),
|
|
3761
|
+
text: import_zod29.z.string().max(4e3)
|
|
3668
3762
|
});
|
|
3669
|
-
var StackStateParams =
|
|
3670
|
-
var StackStateResult =
|
|
3763
|
+
var StackStateParams = import_zod29.z.strictObject({});
|
|
3764
|
+
var StackStateResult = import_zod29.z.strictObject({
|
|
3671
3765
|
/** The stack's config file, when found. */
|
|
3672
|
-
config_path:
|
|
3766
|
+
config_path: import_zod29.z.string().max(4096).nullable(),
|
|
3673
3767
|
/** Why the stack cannot be run from here (no config, no process-compose), else null. */
|
|
3674
|
-
problem:
|
|
3675
|
-
stack_up:
|
|
3768
|
+
problem: import_zod29.z.string().max(1e3).nullable(),
|
|
3769
|
+
stack_up: import_zod29.z.boolean(),
|
|
3676
3770
|
stack_started_at_ms: epochMs.nullable(),
|
|
3677
|
-
servers:
|
|
3771
|
+
servers: import_zod29.z.array(StackServer).max(64),
|
|
3678
3772
|
/** One line about the one-shot setup steps ("Docker Desktop: running."), or null. */
|
|
3679
|
-
setup_note:
|
|
3773
|
+
setup_note: import_zod29.z.string().max(500).nullable(),
|
|
3680
3774
|
/** Start everything / Stop everything in flight. */
|
|
3681
|
-
pending:
|
|
3775
|
+
pending: import_zod29.z.strictObject({ verb: import_zod29.z.enum(["start", "stop"]), label: import_zod29.z.string().max(64), since_ms: epochMs }).nullable(),
|
|
3682
3776
|
/** The newest entries last. */
|
|
3683
|
-
events:
|
|
3777
|
+
events: import_zod29.z.array(StackEvent).max(300)
|
|
3684
3778
|
});
|
|
3685
|
-
var StackStartParams =
|
|
3686
|
-
var StackStopParams =
|
|
3687
|
-
var StackRunResult =
|
|
3688
|
-
var StackServerActionParams =
|
|
3779
|
+
var StackStartParams = import_zod29.z.strictObject({});
|
|
3780
|
+
var StackStopParams = import_zod29.z.strictObject({});
|
|
3781
|
+
var StackRunResult = import_zod29.z.strictObject({ accepted: import_zod29.z.boolean() });
|
|
3782
|
+
var StackServerActionParams = import_zod29.z.strictObject({
|
|
3689
3783
|
name: StackServerName,
|
|
3690
|
-
verb:
|
|
3784
|
+
verb: import_zod29.z.enum(["start", "stop", "restart"])
|
|
3691
3785
|
});
|
|
3692
|
-
var StackServerActionResult =
|
|
3693
|
-
var StackLogsParams =
|
|
3786
|
+
var StackServerActionResult = import_zod29.z.strictObject({ message: import_zod29.z.string().max(1e3) });
|
|
3787
|
+
var StackLogsParams = import_zod29.z.strictObject({
|
|
3694
3788
|
name: StackServerName,
|
|
3695
3789
|
/** Without `offset`: the last this-many complete lines. With it: new lines after it, at most this many. */
|
|
3696
|
-
lines:
|
|
3790
|
+
lines: import_zod29.z.int().min(1).max(2e5).default(2e3),
|
|
3697
3791
|
/** Byte offset the last read ended at: answer only what was written after it (follow). */
|
|
3698
3792
|
offset: nonNegInt.optional(),
|
|
3699
3793
|
/** A "Clear" point: the lines written after this byte offset (no `offset`). */
|
|
3700
3794
|
since: nonNegInt.optional(),
|
|
3701
3795
|
/** With `offset`: wait up to this long for a new line when none is waiting (0 answers at once). */
|
|
3702
|
-
wait_ms:
|
|
3796
|
+
wait_ms: import_zod29.z.int().min(0).max(25e3).default(0)
|
|
3703
3797
|
});
|
|
3704
|
-
var StackLogsResult =
|
|
3798
|
+
var StackLogsResult = import_zod29.z.strictObject({
|
|
3705
3799
|
/** Complete lines, colour codes removed. */
|
|
3706
|
-
lines:
|
|
3800
|
+
lines: import_zod29.z.array(import_zod29.z.string().max(65536)).max(2e5),
|
|
3707
3801
|
/** Where these lines end: pass it back as `offset` to follow. */
|
|
3708
3802
|
offset: nonNegInt,
|
|
3709
3803
|
/** False when `since` no longer exists (the log rotated): the lines are the plain tail instead. */
|
|
3710
|
-
since_valid:
|
|
3804
|
+
since_valid: import_zod29.z.boolean(),
|
|
3711
3805
|
/** The log was rotated or truncated since `offset`: these lines start the file again. */
|
|
3712
|
-
reset:
|
|
3713
|
-
log_file:
|
|
3806
|
+
reset: import_zod29.z.boolean(),
|
|
3807
|
+
log_file: import_zod29.z.string().max(4096)
|
|
3714
3808
|
});
|
|
3715
|
-
var StackErrorsParams =
|
|
3716
|
-
window_minutes:
|
|
3809
|
+
var StackErrorsParams = import_zod29.z.strictObject({
|
|
3810
|
+
window_minutes: import_zod29.z.int().min(1).max(1440).default(60)
|
|
3717
3811
|
});
|
|
3718
|
-
var StackErrorsResult =
|
|
3812
|
+
var StackErrorsResult = import_zod29.z.strictObject({
|
|
3719
3813
|
/** Per server: a heading line ("=== aidream — errors in the last 60 minutes (<file>) ===") and each error with the 10 lines after it. */
|
|
3720
|
-
sections:
|
|
3721
|
-
window_minutes:
|
|
3814
|
+
sections: import_zod29.z.array(import_zod29.z.strictObject({ name: StackServerName, heading: import_zod29.z.string().max(4096), lines: import_zod29.z.array(import_zod29.z.string().max(65536)).max(5e3) })).max(64),
|
|
3815
|
+
window_minutes: import_zod29.z.int().min(1).max(1440)
|
|
3722
3816
|
});
|
|
3723
3817
|
|
|
3724
3818
|
// src/schema/audio.ts
|
|
3725
|
-
var
|
|
3726
|
-
var AudioDevice =
|
|
3819
|
+
var import_zod30 = require("zod");
|
|
3820
|
+
var AudioDevice = import_zod30.z.strictObject({
|
|
3727
3821
|
/** The OS's name for it, as audio.record takes it. */
|
|
3728
|
-
id:
|
|
3729
|
-
name:
|
|
3730
|
-
default:
|
|
3822
|
+
id: import_zod30.z.string().min(1).max(256),
|
|
3823
|
+
name: import_zod30.z.string().max(256),
|
|
3824
|
+
default: import_zod30.z.boolean(),
|
|
3731
3825
|
/** (1.24) How it is connected, as Sound's Type column says it: "Built-in", "USB", "Bluetooth",
|
|
3732
3826
|
* "DisplayPort", "HDMI", "AirPlay", "Virtual". Absent where the OS does not say. */
|
|
3733
|
-
kind:
|
|
3827
|
+
kind: import_zod30.z.string().max(64).optional()
|
|
3734
3828
|
});
|
|
3735
|
-
var AudioDevicesParams =
|
|
3736
|
-
var AudioDevicesResult =
|
|
3737
|
-
inputs:
|
|
3738
|
-
outputs:
|
|
3829
|
+
var AudioDevicesParams = import_zod30.z.strictObject({});
|
|
3830
|
+
var AudioDevicesResult = import_zod30.z.strictObject({
|
|
3831
|
+
inputs: import_zod30.z.array(AudioDevice).max(64),
|
|
3832
|
+
outputs: import_zod30.z.array(AudioDevice).max(64)
|
|
3739
3833
|
});
|
|
3740
|
-
var AudioRecordParams =
|
|
3741
|
-
seconds:
|
|
3834
|
+
var AudioRecordParams = import_zod30.z.strictObject({
|
|
3835
|
+
seconds: import_zod30.z.number().min(0.5).max(600),
|
|
3742
3836
|
/** The microphone (from audio.devices); the default input when absent. */
|
|
3743
|
-
device_id:
|
|
3837
|
+
device_id: import_zod30.z.string().min(1).max(256).optional(),
|
|
3744
3838
|
/** Where the WAV file goes; a new file in the temp folder when absent. */
|
|
3745
3839
|
path: AbsPath.optional()
|
|
3746
3840
|
});
|
|
3747
|
-
var AudioRecordResult =
|
|
3841
|
+
var AudioRecordResult = import_zod30.z.strictObject({
|
|
3748
3842
|
path: AbsPath,
|
|
3749
|
-
seconds:
|
|
3843
|
+
seconds: import_zod30.z.number().min(0),
|
|
3750
3844
|
bytes: nonNegInt,
|
|
3751
3845
|
/** Loudest sample, 0–1: 0 means the device gave silence. */
|
|
3752
|
-
peak:
|
|
3753
|
-
});
|
|
3754
|
-
var AudioPlayParams =
|
|
3755
|
-
var AudioPlayResult =
|
|
3756
|
-
var AudioLevelsParams =
|
|
3757
|
-
var AudioLevelsResult =
|
|
3758
|
-
output_volume:
|
|
3759
|
-
output_muted:
|
|
3760
|
-
input_volume:
|
|
3846
|
+
peak: import_zod30.z.number().min(0).max(1)
|
|
3847
|
+
});
|
|
3848
|
+
var AudioPlayParams = import_zod30.z.strictObject({ path: AbsPath });
|
|
3849
|
+
var AudioPlayResult = import_zod30.z.strictObject({ path: AbsPath, seconds: import_zod30.z.number().min(0) });
|
|
3850
|
+
var AudioLevelsParams = import_zod30.z.strictObject({});
|
|
3851
|
+
var AudioLevelsResult = import_zod30.z.strictObject({
|
|
3852
|
+
output_volume: import_zod30.z.number().min(0).max(100).nullable(),
|
|
3853
|
+
output_muted: import_zod30.z.boolean().nullable(),
|
|
3854
|
+
input_volume: import_zod30.z.number().min(0).max(100).nullable(),
|
|
3761
3855
|
/** The alert (beep) volume, a share of the output volume. */
|
|
3762
|
-
alert_volume:
|
|
3856
|
+
alert_volume: import_zod30.z.number().min(0).max(100).nullable()
|
|
3763
3857
|
});
|
|
3764
|
-
var AudioSetLevelsParams =
|
|
3765
|
-
output_volume:
|
|
3766
|
-
output_muted:
|
|
3767
|
-
input_volume:
|
|
3768
|
-
alert_volume:
|
|
3858
|
+
var AudioSetLevelsParams = import_zod30.z.strictObject({
|
|
3859
|
+
output_volume: import_zod30.z.number().min(0).max(100).optional(),
|
|
3860
|
+
output_muted: import_zod30.z.boolean().optional(),
|
|
3861
|
+
input_volume: import_zod30.z.number().min(0).max(100).optional(),
|
|
3862
|
+
alert_volume: import_zod30.z.number().min(0).max(100).optional()
|
|
3769
3863
|
});
|
|
3770
3864
|
|
|
3771
3865
|
// src/schema/fs-watch.ts
|
|
3772
|
-
var
|
|
3773
|
-
var FsWatchId =
|
|
3774
|
-
var FsWatchStartParams =
|
|
3866
|
+
var import_zod31 = require("zod");
|
|
3867
|
+
var FsWatchId = import_zod31.z.string().regex(/^fw_[A-Za-z0-9]{12,40}$/);
|
|
3868
|
+
var FsWatchStartParams = import_zod31.z.strictObject({
|
|
3775
3869
|
path: AbsPath,
|
|
3776
|
-
recursive:
|
|
3870
|
+
recursive: import_zod31.z.boolean().default(true),
|
|
3777
3871
|
/** Globs relative to `path` whose changes are not reported (".git/**", "node_modules/**"). */
|
|
3778
|
-
ignore:
|
|
3872
|
+
ignore: import_zod31.z.array(import_zod31.z.string().max(256)).max(64).default([])
|
|
3779
3873
|
});
|
|
3780
|
-
var FsWatchStartResult =
|
|
3874
|
+
var FsWatchStartResult = import_zod31.z.strictObject({
|
|
3781
3875
|
watch_id: FsWatchId,
|
|
3782
3876
|
path: AbsPath,
|
|
3783
3877
|
/** The watch ends by itself if nobody reads it for 30 minutes. */
|
|
3784
3878
|
expires_at_ms: epochMs
|
|
3785
3879
|
});
|
|
3786
|
-
var FsWatchEventsParams =
|
|
3880
|
+
var FsWatchEventsParams = import_zod31.z.strictObject({
|
|
3787
3881
|
watch_id: FsWatchId,
|
|
3788
3882
|
/** Wait up to this long for a first change when none is waiting (0 answers at once). */
|
|
3789
|
-
wait_ms:
|
|
3883
|
+
wait_ms: import_zod31.z.int().min(0).max(25e3).default(0)
|
|
3790
3884
|
});
|
|
3791
|
-
var FsWatchEventsResult =
|
|
3885
|
+
var FsWatchEventsResult = import_zod31.z.strictObject({
|
|
3792
3886
|
/** What changed since the last read, oldest first; re-checked against the disk when read. */
|
|
3793
|
-
changes:
|
|
3887
|
+
changes: import_zod31.z.array(FsChange).max(1e3),
|
|
3794
3888
|
/** Changes were dropped (more than 1000 waited): list the folder again. */
|
|
3795
|
-
overflow:
|
|
3889
|
+
overflow: import_zod31.z.boolean(),
|
|
3796
3890
|
expires_at_ms: epochMs
|
|
3797
3891
|
});
|
|
3798
|
-
var FsWatchStopParams =
|
|
3799
|
-
var FsWatchStopResult =
|
|
3892
|
+
var FsWatchStopParams = import_zod31.z.strictObject({ watch_id: FsWatchId });
|
|
3893
|
+
var FsWatchStopResult = import_zod31.z.strictObject({ watch_id: FsWatchId });
|
|
3800
3894
|
|
|
3801
3895
|
// src/schema/exec-job.ts
|
|
3802
|
-
var
|
|
3803
|
-
var ExecJobId =
|
|
3804
|
-
var ExecJobStartParams =
|
|
3805
|
-
command:
|
|
3896
|
+
var import_zod32 = require("zod");
|
|
3897
|
+
var ExecJobId = import_zod32.z.string().regex(/^job_[A-Za-z0-9]{12,40}$/);
|
|
3898
|
+
var ExecJobStartParams = import_zod32.z.strictObject({
|
|
3899
|
+
command: import_zod32.z.string().min(1).max(131072),
|
|
3806
3900
|
/** The folder it runs in; the home folder when absent. */
|
|
3807
3901
|
cwd: AbsPath.optional(),
|
|
3808
|
-
env:
|
|
3902
|
+
env: import_zod32.z.record(import_zod32.z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(128), import_zod32.z.string().max(32768)).optional()
|
|
3809
3903
|
});
|
|
3810
|
-
var ExecJobStartResult =
|
|
3811
|
-
var ExecJobOutputParams =
|
|
3904
|
+
var ExecJobStartResult = import_zod32.z.strictObject({ job_id: ExecJobId, pid: import_zod32.z.int().min(1), cwd: AbsPath });
|
|
3905
|
+
var ExecJobOutputParams = import_zod32.z.strictObject({
|
|
3812
3906
|
job_id: ExecJobId,
|
|
3813
3907
|
/** Byte offset into the job's output to read from (next_offset of the last read; 0 = the start). */
|
|
3814
3908
|
offset: nonNegInt.default(0),
|
|
3815
3909
|
/** Wait up to this long for new output or the exit when none is waiting (0 answers at once). */
|
|
3816
|
-
wait_ms:
|
|
3817
|
-
max_bytes:
|
|
3910
|
+
wait_ms: import_zod32.z.int().min(0).max(25e3).default(0),
|
|
3911
|
+
max_bytes: import_zod32.z.int().min(1024).max(1048576).default(65536)
|
|
3818
3912
|
});
|
|
3819
|
-
var ExecJobOutputResult =
|
|
3913
|
+
var ExecJobOutputResult = import_zod32.z.strictObject({
|
|
3820
3914
|
/** stdout and stderr interleaved as they arrived (UTF-8). */
|
|
3821
|
-
output:
|
|
3915
|
+
output: import_zod32.z.string(),
|
|
3822
3916
|
next_offset: nonNegInt,
|
|
3823
3917
|
/** Bytes before `offset` that are gone (the job keeps its last 4 MiB). */
|
|
3824
3918
|
dropped_bytes: nonNegInt,
|
|
3825
|
-
running:
|
|
3826
|
-
exit_code:
|
|
3919
|
+
running: import_zod32.z.boolean(),
|
|
3920
|
+
exit_code: import_zod32.z.int().nullable()
|
|
3827
3921
|
});
|
|
3828
|
-
var ExecJobStopParams =
|
|
3922
|
+
var ExecJobStopParams = import_zod32.z.strictObject({
|
|
3829
3923
|
job_id: ExecJobId,
|
|
3830
3924
|
/** End it at once (SIGKILL; on Windows the whole tree with /F) instead of asking it to quit. */
|
|
3831
|
-
force:
|
|
3925
|
+
force: import_zod32.z.boolean().default(false)
|
|
3832
3926
|
});
|
|
3833
|
-
var ExecJobStopResult =
|
|
3834
|
-
var ExecJobInfo =
|
|
3927
|
+
var ExecJobStopResult = import_zod32.z.strictObject({ job_id: ExecJobId, exited: import_zod32.z.boolean(), exit_code: import_zod32.z.int().nullable() });
|
|
3928
|
+
var ExecJobInfo = import_zod32.z.strictObject({
|
|
3835
3929
|
job_id: ExecJobId,
|
|
3836
|
-
command:
|
|
3837
|
-
pid:
|
|
3930
|
+
command: import_zod32.z.string().max(1024),
|
|
3931
|
+
pid: import_zod32.z.int().min(1),
|
|
3838
3932
|
cwd: AbsPath,
|
|
3839
|
-
running:
|
|
3840
|
-
exit_code:
|
|
3933
|
+
running: import_zod32.z.boolean(),
|
|
3934
|
+
exit_code: import_zod32.z.int().nullable(),
|
|
3841
3935
|
started_at_ms: epochMs,
|
|
3842
3936
|
output_bytes: nonNegInt
|
|
3843
3937
|
});
|
|
3844
|
-
var ExecJobListParams =
|
|
3845
|
-
var ExecJobListResult =
|
|
3938
|
+
var ExecJobListParams = import_zod32.z.strictObject({});
|
|
3939
|
+
var ExecJobListResult = import_zod32.z.strictObject({ jobs: import_zod32.z.array(ExecJobInfo).max(64) });
|
|
3846
3940
|
|
|
3847
3941
|
// src/schema/coding.ts
|
|
3848
|
-
var
|
|
3942
|
+
var import_zod33 = require("zod");
|
|
3849
3943
|
var import_uuid5 = require("@ai-matrx/kit/uuid");
|
|
3850
|
-
var CodingServiceCredentials =
|
|
3851
|
-
access_token:
|
|
3852
|
-
user_id:
|
|
3944
|
+
var CodingServiceCredentials = import_zod33.z.strictObject({
|
|
3945
|
+
access_token: import_zod33.z.string().min(16).max(16384),
|
|
3946
|
+
user_id: import_zod33.z.string().regex(import_uuid5.UUID_SHAPE_PATTERN),
|
|
3853
3947
|
/** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
|
|
3854
|
-
server_url:
|
|
3948
|
+
server_url: import_zod33.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
|
|
3855
3949
|
});
|
|
3856
|
-
var CodingHistoryBlocked =
|
|
3950
|
+
var CodingHistoryBlocked = import_zod33.z.enum([
|
|
3857
3951
|
"signed_out",
|
|
3858
3952
|
"offline",
|
|
3859
3953
|
"organization_required",
|
|
@@ -3861,11 +3955,11 @@ var CodingHistoryBlocked = import_zod32.z.enum([
|
|
|
3861
3955
|
"cloud_list_unavailable",
|
|
3862
3956
|
"history_too_large"
|
|
3863
3957
|
]);
|
|
3864
|
-
var CodingHistoryFailure =
|
|
3865
|
-
session_id:
|
|
3866
|
-
reason:
|
|
3958
|
+
var CodingHistoryFailure = import_zod33.z.strictObject({
|
|
3959
|
+
session_id: import_zod33.z.string().max(64),
|
|
3960
|
+
reason: import_zod33.z.string().max(300)
|
|
3867
3961
|
});
|
|
3868
|
-
var CodingHistoryRun =
|
|
3962
|
+
var CodingHistoryRun = import_zod33.z.strictObject({
|
|
3869
3963
|
/** Claude Code sessions found on this computer. */
|
|
3870
3964
|
local_sessions: nonNegInt,
|
|
3871
3965
|
/** Of those, already complete in AI Matrx. */
|
|
@@ -3880,39 +3974,39 @@ var CodingHistoryRun = import_zod32.z.strictObject({
|
|
|
3880
3974
|
/** Changed while being read; a later run takes them. */
|
|
3881
3975
|
changed: nonNegInt,
|
|
3882
3976
|
failed: nonNegInt,
|
|
3883
|
-
failures:
|
|
3977
|
+
failures: import_zod33.z.array(CodingHistoryFailure).max(20),
|
|
3884
3978
|
/** Candidates not reached yet. */
|
|
3885
3979
|
remaining: nonNegInt,
|
|
3886
3980
|
/** The one line a person reads, e.g. "Imported 12 of 14 sessions. 140 already in AI Matrx." */
|
|
3887
|
-
summary:
|
|
3981
|
+
summary: import_zod33.z.string().max(400)
|
|
3888
3982
|
});
|
|
3889
|
-
var CodingHistoryStep =
|
|
3983
|
+
var CodingHistoryStep = import_zod33.z.strictObject({
|
|
3890
3984
|
/** Null when the run could not start (blocked before a plan existed). */
|
|
3891
|
-
plan_id:
|
|
3892
|
-
finished:
|
|
3985
|
+
plan_id: import_zod33.z.string().regex(/^[0-9a-f]{32}$/).nullable(),
|
|
3986
|
+
finished: import_zod33.z.boolean(),
|
|
3893
3987
|
blocked: CodingHistoryBlocked.nullable(),
|
|
3894
3988
|
run: CodingHistoryRun
|
|
3895
3989
|
});
|
|
3896
|
-
var CodingPlanMissingParams =
|
|
3897
|
-
var CodingImportNextParams =
|
|
3898
|
-
plan_id:
|
|
3990
|
+
var CodingPlanMissingParams = import_zod33.z.strictObject({ credentials: CodingServiceCredentials.nullable() });
|
|
3991
|
+
var CodingImportNextParams = import_zod33.z.strictObject({
|
|
3992
|
+
plan_id: import_zod33.z.string().regex(/^[0-9a-f]{32}$/),
|
|
3899
3993
|
credentials: CodingServiceCredentials.nullable()
|
|
3900
3994
|
});
|
|
3901
|
-
var CodingServiceProgress =
|
|
3902
|
-
phase:
|
|
3995
|
+
var CodingServiceProgress = import_zod33.z.strictObject({
|
|
3996
|
+
phase: import_zod33.z.enum(["checking", "importing"]),
|
|
3903
3997
|
done: nonNegInt,
|
|
3904
3998
|
total: nonNegInt
|
|
3905
3999
|
});
|
|
3906
|
-
var CodingHistoryImportMissingParams =
|
|
3907
|
-
var CodingHistoryImportMissingResult =
|
|
3908
|
-
state:
|
|
4000
|
+
var CodingHistoryImportMissingParams = import_zod33.z.strictObject({});
|
|
4001
|
+
var CodingHistoryImportMissingResult = import_zod33.z.strictObject({
|
|
4002
|
+
state: import_zod33.z.enum(["done", "blocked", "cancelled"]),
|
|
3909
4003
|
blocked: CodingHistoryBlocked.nullable(),
|
|
3910
4004
|
run: CodingHistoryRun,
|
|
3911
4005
|
elapsed_ms: nonNegInt
|
|
3912
4006
|
});
|
|
3913
|
-
var CodingHistoryProgressEvent =
|
|
4007
|
+
var CodingHistoryProgressEvent = import_zod33.z.strictObject({
|
|
3914
4008
|
request_id: RequestId,
|
|
3915
|
-
phase:
|
|
4009
|
+
phase: import_zod33.z.enum(["checking", "importing"]),
|
|
3916
4010
|
/** Sessions settled so far, of `total` candidates (0 of 0 while checking). */
|
|
3917
4011
|
done: nonNegInt,
|
|
3918
4012
|
total: nonNegInt,
|
|
@@ -3921,386 +4015,386 @@ var CodingHistoryProgressEvent = import_zod32.z.strictObject({
|
|
|
3921
4015
|
});
|
|
3922
4016
|
|
|
3923
4017
|
// src/schema/coding-sessions.ts
|
|
3924
|
-
var
|
|
3925
|
-
var CodingProviderName =
|
|
3926
|
-
var CodingRunStatus =
|
|
3927
|
-
var SessionKey =
|
|
3928
|
-
var IsoTime =
|
|
3929
|
-
var LocalPath =
|
|
3930
|
-
var CodingClientRequestId =
|
|
3931
|
-
var ShortText =
|
|
3932
|
-
var CodingRunUsage =
|
|
4018
|
+
var import_zod34 = require("zod");
|
|
4019
|
+
var CodingProviderName = import_zod34.z.enum(["claude", "codex"]);
|
|
4020
|
+
var CodingRunStatus = import_zod34.z.enum(["starting", "running", "completed", "stopped", "failed"]);
|
|
4021
|
+
var SessionKey = import_zod34.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
|
|
4022
|
+
var IsoTime = import_zod34.z.string().min(10).max(40);
|
|
4023
|
+
var LocalPath = import_zod34.z.string().min(1).max(4096);
|
|
4024
|
+
var CodingClientRequestId = import_zod34.z.string().regex(/^[A-Za-z0-9_-]{8,64}$/);
|
|
4025
|
+
var ShortText = import_zod34.z.string().max(500);
|
|
4026
|
+
var CodingRunUsage = import_zod34.z.strictObject({
|
|
3933
4027
|
inputTokens: nonNegInt,
|
|
3934
4028
|
outputTokens: nonNegInt,
|
|
3935
4029
|
cachedInputTokens: nonNegInt
|
|
3936
4030
|
});
|
|
3937
|
-
var CodingStartedBy =
|
|
3938
|
-
kind:
|
|
3939
|
-
label:
|
|
4031
|
+
var CodingStartedBy = import_zod34.z.strictObject({
|
|
4032
|
+
kind: import_zod34.z.enum(["this_computer", "web", "phone", "agent", "other"]),
|
|
4033
|
+
label: import_zod34.z.string().min(1).max(80)
|
|
3940
4034
|
});
|
|
3941
|
-
var CodingRunRecord =
|
|
3942
|
-
runId:
|
|
4035
|
+
var CodingRunRecord = import_zod34.z.strictObject({
|
|
4036
|
+
runId: import_zod34.z.string().min(1).max(64),
|
|
3943
4037
|
sessionId: SessionKey,
|
|
3944
4038
|
provider: CodingProviderName,
|
|
3945
4039
|
cwd: LocalPath,
|
|
3946
|
-
prompt:
|
|
3947
|
-
model:
|
|
4040
|
+
prompt: import_zod34.z.string().max(1048576),
|
|
4041
|
+
model: import_zod34.z.string().max(200).nullable(),
|
|
3948
4042
|
status: CodingRunStatus,
|
|
3949
4043
|
startedAt: IsoTime,
|
|
3950
4044
|
endedAt: IsoTime.nullable(),
|
|
3951
|
-
error:
|
|
4045
|
+
error: import_zod34.z.string().max(65536).nullable(),
|
|
3952
4046
|
usage: CodingRunUsage.nullable(),
|
|
3953
|
-
costUsd:
|
|
3954
|
-
billing:
|
|
4047
|
+
costUsd: import_zod34.z.number().nullable(),
|
|
4048
|
+
billing: import_zod34.z.enum(["subscription", "api", "unknown"]).nullable(),
|
|
3955
4049
|
startedBy: CodingStartedBy.nullable()
|
|
3956
4050
|
});
|
|
3957
|
-
var CodingSessionAgentPart =
|
|
3958
|
-
part:
|
|
4051
|
+
var CodingSessionAgentPart = import_zod34.z.strictObject({
|
|
4052
|
+
part: import_zod34.z.enum(["instructions", "skills", "tools"]),
|
|
3959
4053
|
loaded: nonNegInt,
|
|
3960
4054
|
total: nonNegInt
|
|
3961
4055
|
});
|
|
3962
|
-
var CodingSessionAgent =
|
|
3963
|
-
agentId:
|
|
3964
|
-
versionId:
|
|
4056
|
+
var CodingSessionAgent = import_zod34.z.strictObject({
|
|
4057
|
+
agentId: import_zod34.z.string().min(1).max(64),
|
|
4058
|
+
versionId: import_zod34.z.string().max(64).nullable(),
|
|
3965
4059
|
versionNumber: nonNegInt.nullable(),
|
|
3966
|
-
name:
|
|
3967
|
-
definitionHash:
|
|
3968
|
-
loaded:
|
|
3969
|
-
unavailable:
|
|
3970
|
-
skills:
|
|
3971
|
-
tools:
|
|
3972
|
-
variables:
|
|
3973
|
-
blockDue:
|
|
4060
|
+
name: import_zod34.z.string().max(300),
|
|
4061
|
+
definitionHash: import_zod34.z.string().max(200),
|
|
4062
|
+
loaded: import_zod34.z.array(CodingSessionAgentPart).max(3),
|
|
4063
|
+
unavailable: import_zod34.z.array(import_zod34.z.strictObject({ kind: import_zod34.z.string().max(60), name: import_zod34.z.string().max(300), reason: ShortText })).max(500),
|
|
4064
|
+
skills: import_zod34.z.array(import_zod34.z.string().max(300)).max(500),
|
|
4065
|
+
tools: import_zod34.z.array(import_zod34.z.string().max(300)).max(500),
|
|
4066
|
+
variables: import_zod34.z.record(import_zod34.z.string().max(200), import_zod34.z.unknown()),
|
|
4067
|
+
blockDue: import_zod34.z.boolean(),
|
|
3974
4068
|
deliveredAt: IsoTime.nullable(),
|
|
3975
|
-
replaces:
|
|
4069
|
+
replaces: import_zod34.z.string().max(300).nullable()
|
|
3976
4070
|
});
|
|
3977
|
-
var CodingSessionRecord =
|
|
4071
|
+
var CodingSessionRecord = import_zod34.z.strictObject({
|
|
3978
4072
|
id: SessionKey,
|
|
3979
4073
|
provider: CodingProviderName,
|
|
3980
4074
|
providerSessionId: SessionKey.nullable(),
|
|
3981
4075
|
cwd: LocalPath,
|
|
3982
|
-
title:
|
|
3983
|
-
model:
|
|
3984
|
-
effort:
|
|
3985
|
-
origin:
|
|
4076
|
+
title: import_zod34.z.string().max(500),
|
|
4077
|
+
model: import_zod34.z.string().max(200).nullable(),
|
|
4078
|
+
effort: import_zod34.z.string().max(40).nullable(),
|
|
4079
|
+
origin: import_zod34.z.enum(["started", "takeover"]),
|
|
3986
4080
|
createdAt: IsoTime,
|
|
3987
4081
|
updatedAt: IsoTime,
|
|
3988
|
-
lastRunId:
|
|
4082
|
+
lastRunId: import_zod34.z.string().max(64).nullable(),
|
|
3989
4083
|
lastRunStatus: CodingRunStatus.nullable(),
|
|
3990
|
-
queued:
|
|
4084
|
+
queued: import_zod34.z.array(import_zod34.z.string().max(1048576)).max(100),
|
|
3991
4085
|
agent: CodingSessionAgent.nullable(),
|
|
3992
|
-
agentRemovedDue:
|
|
4086
|
+
agentRemovedDue: import_zod34.z.boolean()
|
|
3993
4087
|
});
|
|
3994
|
-
var CodingActiveElsewhere =
|
|
3995
|
-
reason:
|
|
4088
|
+
var CodingActiveElsewhere = import_zod34.z.strictObject({
|
|
4089
|
+
reason: import_zod34.z.enum(["process", "recent-write", "open-tool-call", "open"]),
|
|
3996
4090
|
message: ShortText,
|
|
3997
4091
|
/** The process driving it, when the evidence is a process (re-checked before any stop). */
|
|
3998
|
-
pid:
|
|
4092
|
+
pid: import_zod34.z.int().min(1).nullable()
|
|
3999
4093
|
});
|
|
4000
|
-
var CodingTitleSource =
|
|
4001
|
-
var CodingDiscoveredChat =
|
|
4094
|
+
var CodingTitleSource = import_zod34.z.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt", "unknown"]);
|
|
4095
|
+
var CodingDiscoveredChat = import_zod34.z.strictObject({
|
|
4002
4096
|
provider: CodingProviderName,
|
|
4003
4097
|
providerSessionId: SessionKey,
|
|
4004
4098
|
cwd: LocalPath.nullable(),
|
|
4005
|
-
title:
|
|
4099
|
+
title: import_zod34.z.string().max(500),
|
|
4006
4100
|
titleSource: CodingTitleSource.optional(),
|
|
4007
|
-
titlePending:
|
|
4008
|
-
archived:
|
|
4009
|
-
scheduled:
|
|
4010
|
-
unlisted:
|
|
4101
|
+
titlePending: import_zod34.z.boolean().optional(),
|
|
4102
|
+
archived: import_zod34.z.boolean().optional(),
|
|
4103
|
+
scheduled: import_zod34.z.boolean().optional(),
|
|
4104
|
+
unlisted: import_zod34.z.boolean().optional(),
|
|
4011
4105
|
unavailable: ShortText.nullable(),
|
|
4012
4106
|
updatedAt: IsoTime,
|
|
4013
|
-
source:
|
|
4107
|
+
source: import_zod34.z.string().max(60).nullable(),
|
|
4014
4108
|
activeElsewhere: CodingActiveElsewhere.nullable()
|
|
4015
4109
|
});
|
|
4016
|
-
var CodingTranscriptItem =
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
kind:
|
|
4024
|
-
id:
|
|
4025
|
-
output:
|
|
4026
|
-
isError:
|
|
4110
|
+
var CodingTranscriptItem = import_zod34.z.discriminatedUnion("kind", [
|
|
4111
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("user"), id: import_zod34.z.string().max(200), text: import_zod34.z.string(), at: IsoTime.nullable() }),
|
|
4112
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("text"), id: import_zod34.z.string().max(200), text: import_zod34.z.string() }),
|
|
4113
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("text-delta"), id: import_zod34.z.string().max(200), text: import_zod34.z.string() }),
|
|
4114
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("reasoning"), id: import_zod34.z.string().max(200), text: import_zod34.z.string() }),
|
|
4115
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("tool-call"), id: import_zod34.z.string().max(200), name: import_zod34.z.string().max(300), input: import_zod34.z.unknown() }),
|
|
4116
|
+
import_zod34.z.strictObject({
|
|
4117
|
+
kind: import_zod34.z.literal("tool-result"),
|
|
4118
|
+
id: import_zod34.z.string().max(200),
|
|
4119
|
+
output: import_zod34.z.string(),
|
|
4120
|
+
isError: import_zod34.z.boolean(),
|
|
4027
4121
|
/** The output's full size when only its start is here; `coding.item.full` reads the rest. */
|
|
4028
4122
|
fullBytes: nonNegInt.optional()
|
|
4029
4123
|
}),
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4124
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("usage"), usage: CodingRunUsage, costUsd: import_zod34.z.number().nullable() }),
|
|
4125
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("notice"), id: import_zod34.z.string().max(200), level: import_zod34.z.enum(["info", "warning"]), text: import_zod34.z.string() }),
|
|
4126
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("error"), id: import_zod34.z.string().max(200), text: import_zod34.z.string() })
|
|
4033
4127
|
]);
|
|
4034
|
-
var CodingHistoryRecord =
|
|
4035
|
-
items:
|
|
4128
|
+
var CodingHistoryRecord = import_zod34.z.strictObject({
|
|
4129
|
+
items: import_zod34.z.array(CodingTranscriptItem),
|
|
4036
4130
|
/** Only the end of the chat is here; "Show earlier" reads more (a bigger `max_bytes`). */
|
|
4037
|
-
truncated:
|
|
4131
|
+
truncated: import_zod34.z.boolean(),
|
|
4038
4132
|
unavailable: ShortText.nullable(),
|
|
4039
4133
|
/** The last live item `seq` this read already contains; a watch applies only newer ones. */
|
|
4040
4134
|
seq: nonNegInt
|
|
4041
4135
|
});
|
|
4042
|
-
var CodingQuotaWindow =
|
|
4043
|
-
label:
|
|
4044
|
-
usedPercent:
|
|
4045
|
-
resetsAt:
|
|
4046
|
-
valueLabel:
|
|
4136
|
+
var CodingQuotaWindow = import_zod34.z.strictObject({
|
|
4137
|
+
label: import_zod34.z.string().max(120),
|
|
4138
|
+
usedPercent: import_zod34.z.number().nullable(),
|
|
4139
|
+
resetsAt: import_zod34.z.string().max(80).nullable(),
|
|
4140
|
+
valueLabel: import_zod34.z.string().max(120).nullable()
|
|
4047
4141
|
});
|
|
4048
|
-
var CodingProviderProblem =
|
|
4049
|
-
kind:
|
|
4050
|
-
message:
|
|
4051
|
-
until:
|
|
4142
|
+
var CodingProviderProblem = import_zod34.z.strictObject({
|
|
4143
|
+
kind: import_zod34.z.enum(["usage-limit", "signed-out"]),
|
|
4144
|
+
message: import_zod34.z.string().max(2e3),
|
|
4145
|
+
until: import_zod34.z.string().max(120).nullable(),
|
|
4052
4146
|
at: IsoTime
|
|
4053
4147
|
});
|
|
4054
|
-
var CodingProviderBinary =
|
|
4148
|
+
var CodingProviderBinary = import_zod34.z.strictObject({
|
|
4055
4149
|
path: LocalPath,
|
|
4056
|
-
version:
|
|
4057
|
-
source:
|
|
4058
|
-
sourceLabel:
|
|
4059
|
-
newer:
|
|
4150
|
+
version: import_zod34.z.string().max(80).nullable(),
|
|
4151
|
+
source: import_zod34.z.enum(["desktop-app", "path", "npm-global", "configured"]),
|
|
4152
|
+
sourceLabel: import_zod34.z.string().max(120),
|
|
4153
|
+
newer: import_zod34.z.strictObject({ path: LocalPath, version: import_zod34.z.string().max(80), sourceLabel: import_zod34.z.string().max(120) }).nullable()
|
|
4060
4154
|
});
|
|
4061
|
-
var CodingProviderStatus =
|
|
4155
|
+
var CodingProviderStatus = import_zod34.z.strictObject({
|
|
4062
4156
|
provider: CodingProviderName,
|
|
4063
|
-
label:
|
|
4064
|
-
installed:
|
|
4065
|
-
version:
|
|
4066
|
-
loggedIn:
|
|
4067
|
-
billing:
|
|
4068
|
-
plan:
|
|
4069
|
-
account:
|
|
4157
|
+
label: import_zod34.z.string().max(60),
|
|
4158
|
+
installed: import_zod34.z.boolean(),
|
|
4159
|
+
version: import_zod34.z.string().max(80).nullable(),
|
|
4160
|
+
loggedIn: import_zod34.z.boolean(),
|
|
4161
|
+
billing: import_zod34.z.enum(["subscription", "api", "unknown"]),
|
|
4162
|
+
plan: import_zod34.z.string().max(80).nullable(),
|
|
4163
|
+
account: import_zod34.z.string().max(320).nullable(),
|
|
4070
4164
|
problem: ShortText.nullable(),
|
|
4071
4165
|
fix: ShortText.nullable(),
|
|
4072
|
-
ready:
|
|
4166
|
+
ready: import_zod34.z.boolean(),
|
|
4073
4167
|
lastProblem: CodingProviderProblem.nullable(),
|
|
4074
|
-
quota:
|
|
4075
|
-
models:
|
|
4076
|
-
efforts:
|
|
4077
|
-
defaultModel:
|
|
4078
|
-
defaultEffort:
|
|
4168
|
+
quota: import_zod34.z.array(CodingQuotaWindow).max(20),
|
|
4169
|
+
models: import_zod34.z.array(import_zod34.z.strictObject({ id: import_zod34.z.string().max(200), label: import_zod34.z.string().max(200) })).max(200),
|
|
4170
|
+
efforts: import_zod34.z.array(import_zod34.z.string().max(40)).max(20),
|
|
4171
|
+
defaultModel: import_zod34.z.strictObject({ id: import_zod34.z.string().max(200), source: import_zod34.z.enum(["settings", "driver"]) }).nullable(),
|
|
4172
|
+
defaultEffort: import_zod34.z.string().max(40).nullable(),
|
|
4079
4173
|
binary: CodingProviderBinary.nullable()
|
|
4080
4174
|
});
|
|
4081
|
-
var CodingChatPreference =
|
|
4082
|
-
title:
|
|
4083
|
-
pinned:
|
|
4084
|
-
hidden:
|
|
4175
|
+
var CodingChatPreference = import_zod34.z.strictObject({
|
|
4176
|
+
title: import_zod34.z.string().max(500).nullable(),
|
|
4177
|
+
pinned: import_zod34.z.boolean(),
|
|
4178
|
+
hidden: import_zod34.z.boolean(),
|
|
4085
4179
|
/** When the person last had this chat open on any screen of this computer (the "New output" dot). */
|
|
4086
4180
|
lastSeenAt: IsoTime.nullable(),
|
|
4087
4181
|
updatedAt: IsoTime.nullable()
|
|
4088
4182
|
});
|
|
4089
|
-
var CodingTitleStatus =
|
|
4090
|
-
owner:
|
|
4091
|
-
pending:
|
|
4183
|
+
var CodingTitleStatus = import_zod34.z.strictObject({
|
|
4184
|
+
owner: import_zod34.z.boolean(),
|
|
4185
|
+
pending: import_zod34.z.boolean(),
|
|
4092
4186
|
problem: ShortText.nullable(),
|
|
4093
4187
|
renames: ShortText.nullable()
|
|
4094
4188
|
});
|
|
4095
|
-
var CodingRecentRow =
|
|
4096
|
-
target:
|
|
4097
|
-
title:
|
|
4189
|
+
var CodingRecentRow = import_zod34.z.strictObject({
|
|
4190
|
+
target: import_zod34.z.string().min(3).max(200),
|
|
4191
|
+
title: import_zod34.z.string().max(500),
|
|
4098
4192
|
provider: CodingProviderName,
|
|
4099
4193
|
sessionId: SessionKey.nullable(),
|
|
4100
4194
|
providerSessionId: SessionKey.nullable(),
|
|
4101
4195
|
cwd: LocalPath.nullable(),
|
|
4102
4196
|
updatedAt: IsoTime,
|
|
4103
|
-
state:
|
|
4104
|
-
stateLabel:
|
|
4105
|
-
pinned:
|
|
4197
|
+
state: import_zod34.z.enum(["running", "needs_attention", "new_output", "elsewhere", "idle"]),
|
|
4198
|
+
stateLabel: import_zod34.z.string().max(120).nullable(),
|
|
4199
|
+
pinned: import_zod34.z.boolean(),
|
|
4106
4200
|
startedBy: CodingStartedBy.nullable()
|
|
4107
4201
|
});
|
|
4108
|
-
var CodingFolderCheck =
|
|
4109
|
-
path:
|
|
4110
|
-
exists:
|
|
4111
|
-
isDirectory:
|
|
4202
|
+
var CodingFolderCheck = import_zod34.z.strictObject({
|
|
4203
|
+
path: import_zod34.z.string().max(4096),
|
|
4204
|
+
exists: import_zod34.z.boolean(),
|
|
4205
|
+
isDirectory: import_zod34.z.boolean()
|
|
4112
4206
|
});
|
|
4113
|
-
var CodingRecentFolder =
|
|
4114
|
-
var CodingAgentSelectionParams =
|
|
4115
|
-
agent_id:
|
|
4116
|
-
version_id:
|
|
4117
|
-
variables:
|
|
4207
|
+
var CodingRecentFolder = import_zod34.z.strictObject({ path: LocalPath, lastUsedAt: IsoTime, exists: import_zod34.z.boolean() });
|
|
4208
|
+
var CodingAgentSelectionParams = import_zod34.z.strictObject({
|
|
4209
|
+
agent_id: import_zod34.z.string().min(1).max(64),
|
|
4210
|
+
version_id: import_zod34.z.string().min(1).max(64).optional(),
|
|
4211
|
+
variables: import_zod34.z.record(import_zod34.z.string().max(200), import_zod34.z.unknown()).optional()
|
|
4118
4212
|
});
|
|
4119
|
-
var CodingSendResult =
|
|
4213
|
+
var CodingSendResult = import_zod34.z.strictObject({
|
|
4120
4214
|
session: CodingSessionRecord,
|
|
4121
4215
|
run: CodingRunRecord.nullable(),
|
|
4122
4216
|
/** The prompt waits behind a live run (it shows as a queued bubble). */
|
|
4123
|
-
queued:
|
|
4217
|
+
queued: import_zod34.z.boolean()
|
|
4124
4218
|
});
|
|
4125
|
-
var CodingProvidersParams =
|
|
4126
|
-
var CodingProvidersResult =
|
|
4127
|
-
var CodingSessionsListParams =
|
|
4128
|
-
var CodingSessionsListResult =
|
|
4129
|
-
sessions:
|
|
4219
|
+
var CodingProvidersParams = import_zod34.z.strictObject({});
|
|
4220
|
+
var CodingProvidersResult = import_zod34.z.strictObject({ providers: import_zod34.z.array(CodingProviderStatus).max(4) });
|
|
4221
|
+
var CodingSessionsListParams = import_zod34.z.strictObject({});
|
|
4222
|
+
var CodingSessionsListResult = import_zod34.z.strictObject({
|
|
4223
|
+
sessions: import_zod34.z.array(CodingSessionRecord),
|
|
4130
4224
|
/** The latest run of each session, by session id. */
|
|
4131
|
-
runs:
|
|
4132
|
-
recent:
|
|
4225
|
+
runs: import_zod34.z.record(import_zod34.z.string().max(128), CodingRunRecord),
|
|
4226
|
+
recent: import_zod34.z.array(CodingRecentRow),
|
|
4133
4227
|
title_status: CodingTitleStatus
|
|
4134
4228
|
});
|
|
4135
|
-
var CodingDiscoverParams =
|
|
4136
|
-
var CodingDiscoverResult =
|
|
4137
|
-
var CodingRunsListParams =
|
|
4138
|
-
var CodingRunsListResult =
|
|
4139
|
-
var CodingHistoryParams =
|
|
4229
|
+
var CodingDiscoverParams = import_zod34.z.strictObject({ limit: import_zod34.z.int().min(1).max(1e3).optional() });
|
|
4230
|
+
var CodingDiscoverResult = import_zod34.z.strictObject({ chats: import_zod34.z.array(CodingDiscoveredChat) });
|
|
4231
|
+
var CodingRunsListParams = import_zod34.z.strictObject({ session_id: SessionKey });
|
|
4232
|
+
var CodingRunsListResult = import_zod34.z.strictObject({ runs: import_zod34.z.array(CodingRunRecord) });
|
|
4233
|
+
var CodingHistoryParams = import_zod34.z.strictObject({ session_id: SessionKey, max_bytes: import_zod34.z.int().min(1024).max(209715200).optional() });
|
|
4140
4234
|
var CodingHistoryResult = CodingHistoryRecord;
|
|
4141
|
-
var CodingTranscriptReadParams =
|
|
4235
|
+
var CodingTranscriptReadParams = import_zod34.z.strictObject({
|
|
4142
4236
|
provider: CodingProviderName,
|
|
4143
4237
|
provider_session_id: SessionKey,
|
|
4144
|
-
max_bytes:
|
|
4238
|
+
max_bytes: import_zod34.z.int().min(1024).max(209715200).optional()
|
|
4145
4239
|
});
|
|
4146
4240
|
var CodingTranscriptReadResult = CodingHistoryRecord;
|
|
4147
|
-
var CodingItemFullParams =
|
|
4241
|
+
var CodingItemFullParams = import_zod34.z.strictObject({
|
|
4148
4242
|
provider: CodingProviderName,
|
|
4149
4243
|
provider_session_id: SessionKey,
|
|
4150
|
-
item_id:
|
|
4151
|
-
});
|
|
4152
|
-
var CodingItemFullResult =
|
|
4153
|
-
var CodingActivityParams =
|
|
4154
|
-
var CodingActivityResult =
|
|
4155
|
-
var CodingFoldersRecentParams =
|
|
4156
|
-
var CodingFoldersRecentResult =
|
|
4157
|
-
var CodingFoldersCheckParams =
|
|
4244
|
+
item_id: import_zod34.z.string().min(1).max(200)
|
|
4245
|
+
});
|
|
4246
|
+
var CodingItemFullResult = import_zod34.z.strictObject({ output: import_zod34.z.string(), bytes: nonNegInt });
|
|
4247
|
+
var CodingActivityParams = import_zod34.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
|
|
4248
|
+
var CodingActivityResult = import_zod34.z.strictObject({ active: CodingActiveElsewhere.nullable() });
|
|
4249
|
+
var CodingFoldersRecentParams = import_zod34.z.strictObject({});
|
|
4250
|
+
var CodingFoldersRecentResult = import_zod34.z.strictObject({ folders: import_zod34.z.array(CodingRecentFolder).max(100) });
|
|
4251
|
+
var CodingFoldersCheckParams = import_zod34.z.strictObject({ path: import_zod34.z.string().min(1).max(4096) });
|
|
4158
4252
|
var CodingFoldersCheckResult = CodingFolderCheck;
|
|
4159
|
-
var CodingFoldersCreateParams =
|
|
4253
|
+
var CodingFoldersCreateParams = import_zod34.z.strictObject({ path: import_zod34.z.string().min(1).max(4096) });
|
|
4160
4254
|
var CodingFoldersCreateResult = CodingFolderCheck;
|
|
4161
|
-
var CodingStartParams =
|
|
4255
|
+
var CodingStartParams = import_zod34.z.strictObject({
|
|
4162
4256
|
provider: CodingProviderName,
|
|
4163
|
-
cwd:
|
|
4164
|
-
prompt:
|
|
4165
|
-
model:
|
|
4166
|
-
effort:
|
|
4257
|
+
cwd: import_zod34.z.string().min(1).max(4096),
|
|
4258
|
+
prompt: import_zod34.z.string().min(1).max(1048576),
|
|
4259
|
+
model: import_zod34.z.string().min(1).max(200).optional(),
|
|
4260
|
+
effort: import_zod34.z.string().min(1).max(40).optional(),
|
|
4167
4261
|
agent: CodingAgentSelectionParams.optional(),
|
|
4168
4262
|
/** One of the person's coding accounts on this computer (Accounts); absent = the default login. */
|
|
4169
|
-
account_profile_id:
|
|
4263
|
+
account_profile_id: import_zod34.z.string().min(1).max(64).optional(),
|
|
4170
4264
|
client_request_id: CodingClientRequestId
|
|
4171
4265
|
});
|
|
4172
4266
|
var CodingStartResult = CodingSendResult;
|
|
4173
|
-
var CodingTakeoverParams =
|
|
4267
|
+
var CodingTakeoverParams = import_zod34.z.strictObject({
|
|
4174
4268
|
provider: CodingProviderName,
|
|
4175
4269
|
provider_session_id: SessionKey,
|
|
4176
|
-
cwd:
|
|
4177
|
-
title:
|
|
4270
|
+
cwd: import_zod34.z.string().min(1).max(4096),
|
|
4271
|
+
title: import_zod34.z.string().max(500).optional(),
|
|
4178
4272
|
agent: CodingAgentSelectionParams.optional(),
|
|
4179
|
-
confirm_elsewhere:
|
|
4273
|
+
confirm_elsewhere: import_zod34.z.boolean().optional()
|
|
4180
4274
|
});
|
|
4181
|
-
var CodingTakeoverResult =
|
|
4182
|
-
var CodingSendParams =
|
|
4275
|
+
var CodingTakeoverResult = import_zod34.z.strictObject({ session: CodingSessionRecord });
|
|
4276
|
+
var CodingSendParams = import_zod34.z.strictObject({
|
|
4183
4277
|
session_id: SessionKey,
|
|
4184
|
-
prompt:
|
|
4278
|
+
prompt: import_zod34.z.string().min(1).max(1048576),
|
|
4185
4279
|
client_request_id: CodingClientRequestId
|
|
4186
4280
|
});
|
|
4187
|
-
var CodingStopParams =
|
|
4188
|
-
var CodingStopResult =
|
|
4189
|
-
var CodingStopElsewhereParams =
|
|
4281
|
+
var CodingStopParams = import_zod34.z.strictObject({ run_id: import_zod34.z.string().min(1).max(64) });
|
|
4282
|
+
var CodingStopResult = import_zod34.z.strictObject({ run: CodingRunRecord.nullable() });
|
|
4283
|
+
var CodingStopElsewhereParams = import_zod34.z.strictObject({
|
|
4190
4284
|
provider: CodingProviderName,
|
|
4191
4285
|
provider_session_id: SessionKey,
|
|
4192
|
-
pid:
|
|
4286
|
+
pid: import_zod34.z.int().min(1)
|
|
4193
4287
|
});
|
|
4194
|
-
var CodingStopElsewhereResult =
|
|
4195
|
-
var CodingOptionsSetParams =
|
|
4288
|
+
var CodingStopElsewhereResult = import_zod34.z.strictObject({ stopped: import_zod34.z.boolean(), message: ShortText });
|
|
4289
|
+
var CodingOptionsSetParams = import_zod34.z.strictObject({
|
|
4196
4290
|
session_id: SessionKey,
|
|
4197
|
-
model:
|
|
4198
|
-
effort:
|
|
4199
|
-
});
|
|
4200
|
-
var CodingOptionsSetResult =
|
|
4201
|
-
var CodingAgentSetParams =
|
|
4202
|
-
var CodingAgentSetResult =
|
|
4203
|
-
var CodingAgentsAccessParams =
|
|
4204
|
-
var CodingAgentsAccessResult =
|
|
4205
|
-
signedIn:
|
|
4206
|
-
userId:
|
|
4207
|
-
organizationId:
|
|
4208
|
-
configured:
|
|
4209
|
-
});
|
|
4210
|
-
var CodingTitlesStatusParams =
|
|
4291
|
+
model: import_zod34.z.string().max(200).optional(),
|
|
4292
|
+
effort: import_zod34.z.string().max(40).optional()
|
|
4293
|
+
});
|
|
4294
|
+
var CodingOptionsSetResult = import_zod34.z.strictObject({ session: CodingSessionRecord });
|
|
4295
|
+
var CodingAgentSetParams = import_zod34.z.strictObject({ session_id: SessionKey, agent: CodingAgentSelectionParams.optional() });
|
|
4296
|
+
var CodingAgentSetResult = import_zod34.z.strictObject({ session: CodingSessionRecord });
|
|
4297
|
+
var CodingAgentsAccessParams = import_zod34.z.strictObject({});
|
|
4298
|
+
var CodingAgentsAccessResult = import_zod34.z.strictObject({
|
|
4299
|
+
signedIn: import_zod34.z.boolean(),
|
|
4300
|
+
userId: import_zod34.z.string().max(64).nullable(),
|
|
4301
|
+
organizationId: import_zod34.z.string().max(64).nullable(),
|
|
4302
|
+
configured: import_zod34.z.boolean()
|
|
4303
|
+
});
|
|
4304
|
+
var CodingTitlesStatusParams = import_zod34.z.strictObject({});
|
|
4211
4305
|
var CodingTitlesStatusResult = CodingTitleStatus;
|
|
4212
|
-
var CodingPrefsListParams =
|
|
4213
|
-
var CodingPrefsListResult =
|
|
4214
|
-
var CodingPrefsSetParams =
|
|
4215
|
-
key:
|
|
4216
|
-
title:
|
|
4217
|
-
clear_title:
|
|
4218
|
-
pinned:
|
|
4219
|
-
hidden:
|
|
4306
|
+
var CodingPrefsListParams = import_zod34.z.strictObject({});
|
|
4307
|
+
var CodingPrefsListResult = import_zod34.z.strictObject({ preferences: import_zod34.z.record(import_zod34.z.string().max(200), CodingChatPreference) });
|
|
4308
|
+
var CodingPrefsSetParams = import_zod34.z.strictObject({
|
|
4309
|
+
key: import_zod34.z.string().min(1).max(200),
|
|
4310
|
+
title: import_zod34.z.string().min(1).max(500).optional(),
|
|
4311
|
+
clear_title: import_zod34.z.boolean().optional(),
|
|
4312
|
+
pinned: import_zod34.z.boolean().optional(),
|
|
4313
|
+
hidden: import_zod34.z.boolean().optional()
|
|
4220
4314
|
});
|
|
4221
4315
|
var CodingPrefsSetResult = CodingPrefsListResult;
|
|
4222
|
-
var CodingRecentSeenParams =
|
|
4223
|
-
var CodingRecentSeenResult =
|
|
4224
|
-
var CodingSearchParams =
|
|
4225
|
-
query:
|
|
4316
|
+
var CodingRecentSeenParams = import_zod34.z.strictObject({ target: import_zod34.z.string().min(3).max(200) });
|
|
4317
|
+
var CodingRecentSeenResult = import_zod34.z.strictObject({ recent: import_zod34.z.array(CodingRecentRow) });
|
|
4318
|
+
var CodingSearchParams = import_zod34.z.strictObject({
|
|
4319
|
+
query: import_zod34.z.string().min(1).max(500),
|
|
4226
4320
|
cursor: nonNegInt.optional(),
|
|
4227
|
-
limit:
|
|
4321
|
+
limit: import_zod34.z.int().min(1).max(100).optional()
|
|
4228
4322
|
});
|
|
4229
|
-
var CodingSearchResult =
|
|
4230
|
-
query:
|
|
4231
|
-
hits:
|
|
4232
|
-
|
|
4323
|
+
var CodingSearchResult = import_zod34.z.strictObject({
|
|
4324
|
+
query: import_zod34.z.string().max(500),
|
|
4325
|
+
hits: import_zod34.z.array(
|
|
4326
|
+
import_zod34.z.strictObject({
|
|
4233
4327
|
provider: CodingProviderName,
|
|
4234
4328
|
providerSessionId: SessionKey,
|
|
4235
|
-
title:
|
|
4329
|
+
title: import_zod34.z.string().max(500),
|
|
4236
4330
|
cwd: LocalPath.nullable(),
|
|
4237
4331
|
updatedAt: IsoTime,
|
|
4238
|
-
where:
|
|
4239
|
-
snippet:
|
|
4332
|
+
where: import_zod34.z.enum(["title", "content"]),
|
|
4333
|
+
snippet: import_zod34.z.string().max(2e3).nullable()
|
|
4240
4334
|
})
|
|
4241
4335
|
),
|
|
4242
4336
|
scanned: nonNegInt,
|
|
4243
4337
|
total: nonNegInt,
|
|
4244
4338
|
nextCursor: nonNegInt.nullable()
|
|
4245
4339
|
});
|
|
4246
|
-
var CodingReconcileParams =
|
|
4247
|
-
var CodingReconcileResult =
|
|
4248
|
-
state:
|
|
4249
|
-
summary:
|
|
4340
|
+
var CodingReconcileParams = import_zod34.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
|
|
4341
|
+
var CodingReconcileResult = import_zod34.z.strictObject({
|
|
4342
|
+
state: import_zod34.z.enum(["done", "blocked", "nothing_to_do"]),
|
|
4343
|
+
summary: import_zod34.z.string().max(400)
|
|
4250
4344
|
});
|
|
4251
|
-
var CodingTranscriptRawParams =
|
|
4252
|
-
var CodingTranscriptRawResult =
|
|
4253
|
-
available:
|
|
4345
|
+
var CodingTranscriptRawParams = import_zod34.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
|
|
4346
|
+
var CodingTranscriptRawResult = import_zod34.z.strictObject({
|
|
4347
|
+
available: import_zod34.z.boolean(),
|
|
4254
4348
|
reason: ShortText.nullable(),
|
|
4255
|
-
file_name:
|
|
4349
|
+
file_name: import_zod34.z.string().max(300).nullable(),
|
|
4256
4350
|
bytes: nonNegInt,
|
|
4257
4351
|
/** The opt-in cloud backup was refreshed (false: off, unchanged, or signed out). */
|
|
4258
|
-
backup_refreshed:
|
|
4352
|
+
backup_refreshed: import_zod34.z.boolean(),
|
|
4259
4353
|
/** Subagent transcripts beside the chat (Claude Code), downloaded separately. */
|
|
4260
4354
|
subagents: nonNegInt
|
|
4261
4355
|
});
|
|
4262
|
-
var CodingWatchParams =
|
|
4263
|
-
var CodingWatchResult =
|
|
4264
|
-
var CodingSessionWatchParams =
|
|
4265
|
-
var CodingSessionWatchResult =
|
|
4356
|
+
var CodingWatchParams = import_zod34.z.strictObject({});
|
|
4357
|
+
var CodingWatchResult = import_zod34.z.strictObject({ resource_id: ResourceId });
|
|
4358
|
+
var CodingSessionWatchParams = import_zod34.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt.optional() });
|
|
4359
|
+
var CodingSessionWatchResult = import_zod34.z.strictObject({
|
|
4266
4360
|
resource_id: ResourceId,
|
|
4267
4361
|
/** The newest item seq the device has for this session right now. */
|
|
4268
4362
|
seq: nonNegInt
|
|
4269
4363
|
});
|
|
4270
|
-
var CodingChangedEvent =
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4364
|
+
var CodingChangedEvent = import_zod34.z.discriminatedUnion("kind", [
|
|
4365
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("session"), session: CodingSessionRecord }),
|
|
4366
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("run"), run: CodingRunRecord }),
|
|
4367
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("preferences"), preferences: import_zod34.z.record(import_zod34.z.string().max(200), CodingChatPreference) }),
|
|
4368
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("titles") }),
|
|
4369
|
+
import_zod34.z.strictObject({ kind: import_zod34.z.literal("recent"), recent: import_zod34.z.array(CodingRecentRow) })
|
|
4276
4370
|
]);
|
|
4277
|
-
var CodingWatchStateEvent =
|
|
4278
|
-
var CodingItemEvent =
|
|
4371
|
+
var CodingWatchStateEvent = import_zod34.z.strictObject({ live: import_zod34.z.boolean(), reason: ShortText.nullable(), beat_ms: import_zod34.z.int().min(1e3) });
|
|
4372
|
+
var CodingItemEvent = import_zod34.z.strictObject({
|
|
4279
4373
|
session_id: SessionKey,
|
|
4280
|
-
run_id:
|
|
4374
|
+
run_id: import_zod34.z.string().min(1).max(64),
|
|
4281
4375
|
seq: nonNegInt,
|
|
4282
4376
|
item: CodingTranscriptItem
|
|
4283
4377
|
});
|
|
4284
|
-
var CodingGapEvent =
|
|
4285
|
-
var SessionIdentifyParams =
|
|
4286
|
-
var SessionIdentifyResult =
|
|
4378
|
+
var CodingGapEvent = import_zod34.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt, seq: nonNegInt });
|
|
4379
|
+
var SessionIdentifyParams = import_zod34.z.strictObject({ label: import_zod34.z.string().min(1).max(60) });
|
|
4380
|
+
var SessionIdentifyResult = import_zod34.z.strictObject({ label: import_zod34.z.string().max(60) });
|
|
4287
4381
|
|
|
4288
4382
|
// src/schema/browser.ts
|
|
4289
|
-
var
|
|
4290
|
-
var BrowserClientInstance =
|
|
4291
|
-
var BrowserKind =
|
|
4292
|
-
var BrowserSessionState =
|
|
4293
|
-
var BrowserSession =
|
|
4383
|
+
var import_zod35 = require("zod");
|
|
4384
|
+
var BrowserClientInstance = import_zod35.z.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
|
|
4385
|
+
var BrowserKind = import_zod35.z.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
|
|
4386
|
+
var BrowserSessionState = import_zod35.z.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
|
|
4387
|
+
var BrowserSession = import_zod35.z.strictObject({
|
|
4294
4388
|
client_instance: BrowserClientInstance,
|
|
4295
4389
|
/** What the person sees ("Chrome — Work"), set by the extension. */
|
|
4296
|
-
client_label:
|
|
4390
|
+
client_label: import_zod35.z.string().min(1).max(128),
|
|
4297
4391
|
browser: BrowserKind,
|
|
4298
|
-
extension_version:
|
|
4392
|
+
extension_version: import_zod35.z.string().min(1).max(32),
|
|
4299
4393
|
state: BrowserSessionState,
|
|
4300
4394
|
/** True only for `connected`: an agent's call can reach this session. */
|
|
4301
|
-
routable:
|
|
4395
|
+
routable: import_zod35.z.boolean(),
|
|
4302
4396
|
/** The extension's account email from its token (null when signed out or unknown). */
|
|
4303
|
-
account_email:
|
|
4397
|
+
account_email: import_zod35.z.string().max(320).nullable(),
|
|
4304
4398
|
connected_at_ms: epochMs,
|
|
4305
4399
|
last_call_at_ms: epochMs.nullable(),
|
|
4306
4400
|
calls: nonNegInt,
|
|
@@ -4309,119 +4403,119 @@ var BrowserSession = import_zod34.z.strictObject({
|
|
|
4309
4403
|
p50_ms: nonNegInt.nullable(),
|
|
4310
4404
|
p95_ms: nonNegInt.nullable(),
|
|
4311
4405
|
/** A call is waiting for the person to confirm it in the browser. */
|
|
4312
|
-
awaiting_confirmation:
|
|
4406
|
+
awaiting_confirmation: import_zod35.z.boolean()
|
|
4313
4407
|
});
|
|
4314
|
-
var BrowserRegisterParams =
|
|
4408
|
+
var BrowserRegisterParams = import_zod35.z.strictObject({
|
|
4315
4409
|
client_instance: BrowserClientInstance,
|
|
4316
|
-
client_label:
|
|
4410
|
+
client_label: import_zod35.z.string().min(1).max(128),
|
|
4317
4411
|
browser: BrowserKind,
|
|
4318
|
-
extension_version:
|
|
4412
|
+
extension_version: import_zod35.z.string().min(1).max(32),
|
|
4319
4413
|
/** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
|
|
4320
|
-
account_token:
|
|
4414
|
+
account_token: import_zod35.z.string().min(16).max(8192).nullable()
|
|
4321
4415
|
});
|
|
4322
|
-
var BrowserRegisterResult =
|
|
4323
|
-
var BrowserCallError =
|
|
4324
|
-
message:
|
|
4416
|
+
var BrowserRegisterResult = import_zod35.z.strictObject({ session: BrowserSession });
|
|
4417
|
+
var BrowserCallError = import_zod35.z.strictObject({
|
|
4418
|
+
message: import_zod35.z.string().max(1e3),
|
|
4325
4419
|
/** The extension's own error code, when it has one ("tool_not_found", "denied"). */
|
|
4326
|
-
code:
|
|
4420
|
+
code: import_zod35.z.string().max(64).nullable()
|
|
4327
4421
|
});
|
|
4328
|
-
var BrowserResultParams =
|
|
4329
|
-
call_id:
|
|
4330
|
-
ok:
|
|
4422
|
+
var BrowserResultParams = import_zod35.z.strictObject({
|
|
4423
|
+
call_id: import_zod35.z.string().min(1).max(64),
|
|
4424
|
+
ok: import_zod35.z.boolean(),
|
|
4331
4425
|
/** The tool's result when ok (any JSON). */
|
|
4332
|
-
result:
|
|
4426
|
+
result: import_zod35.z.unknown(),
|
|
4333
4427
|
error: BrowserCallError.nullable()
|
|
4334
4428
|
});
|
|
4335
|
-
var BrowserResultResult =
|
|
4336
|
-
var BrowserCallPhase =
|
|
4337
|
-
var BrowserProgressParams =
|
|
4338
|
-
var BrowserProgressResult =
|
|
4339
|
-
var BrowserSessionsParams =
|
|
4340
|
-
var BrowserSessionsResult =
|
|
4429
|
+
var BrowserResultResult = import_zod35.z.strictObject({ accepted: import_zod35.z.boolean() });
|
|
4430
|
+
var BrowserCallPhase = import_zod35.z.enum(["awaiting_confirmation", "running"]);
|
|
4431
|
+
var BrowserProgressParams = import_zod35.z.strictObject({ call_id: import_zod35.z.string().min(1).max(64), phase: BrowserCallPhase });
|
|
4432
|
+
var BrowserProgressResult = import_zod35.z.strictObject({ accepted: import_zod35.z.boolean() });
|
|
4433
|
+
var BrowserSessionsParams = import_zod35.z.strictObject({});
|
|
4434
|
+
var BrowserSessionsResult = import_zod35.z.strictObject({
|
|
4341
4435
|
/** The person's Browser connection switch. Off: no pairing, no extension sessions. */
|
|
4342
|
-
enabled:
|
|
4436
|
+
enabled: import_zod35.z.boolean(),
|
|
4343
4437
|
/** Whether Matrx 2 is signed in (without an owner no session is routable). */
|
|
4344
|
-
owner_signed_in:
|
|
4345
|
-
sessions:
|
|
4346
|
-
});
|
|
4347
|
-
var BrowserDisconnectParams =
|
|
4348
|
-
var BrowserDisconnectResult =
|
|
4349
|
-
var BrowserSetEnabledParams =
|
|
4350
|
-
var BrowserSetEnabledResult =
|
|
4351
|
-
var BrowserPairCodeParams =
|
|
4352
|
-
var BrowserPairCodeResult =
|
|
4353
|
-
var BrowserPairResetParams =
|
|
4354
|
-
var BrowserCallParams =
|
|
4355
|
-
tool:
|
|
4356
|
-
args:
|
|
4438
|
+
owner_signed_in: import_zod35.z.boolean(),
|
|
4439
|
+
sessions: import_zod35.z.array(BrowserSession).max(64)
|
|
4440
|
+
});
|
|
4441
|
+
var BrowserDisconnectParams = import_zod35.z.strictObject({ client_instance: BrowserClientInstance });
|
|
4442
|
+
var BrowserDisconnectResult = import_zod35.z.strictObject({ disconnected: import_zod35.z.boolean() });
|
|
4443
|
+
var BrowserSetEnabledParams = import_zod35.z.strictObject({ enabled: import_zod35.z.boolean() });
|
|
4444
|
+
var BrowserSetEnabledResult = import_zod35.z.strictObject({ enabled: import_zod35.z.boolean() });
|
|
4445
|
+
var BrowserPairCodeParams = import_zod35.z.strictObject({});
|
|
4446
|
+
var BrowserPairCodeResult = import_zod35.z.strictObject({ code: import_zod35.z.string().min(16).max(128) });
|
|
4447
|
+
var BrowserPairResetParams = import_zod35.z.strictObject({});
|
|
4448
|
+
var BrowserCallParams = import_zod35.z.strictObject({
|
|
4449
|
+
tool: import_zod35.z.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
|
|
4450
|
+
args: import_zod35.z.record(import_zod35.z.string(), import_zod35.z.unknown()),
|
|
4357
4451
|
/** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
|
|
4358
4452
|
client_instance: BrowserClientInstance.optional(),
|
|
4359
4453
|
/** How long to wait, including a person's confirmation; default 120 s. */
|
|
4360
|
-
timeout_ms:
|
|
4454
|
+
timeout_ms: import_zod35.z.int().min(1e3).max(6e5).optional()
|
|
4361
4455
|
});
|
|
4362
|
-
var BrowserCallResult =
|
|
4456
|
+
var BrowserCallResult = import_zod35.z.strictObject({
|
|
4363
4457
|
client_instance: BrowserClientInstance,
|
|
4364
|
-
result:
|
|
4458
|
+
result: import_zod35.z.unknown(),
|
|
4365
4459
|
duration_ms: nonNegInt
|
|
4366
4460
|
});
|
|
4367
|
-
var BrowserToolMetricsParams =
|
|
4368
|
-
var BrowserToolMetric =
|
|
4369
|
-
tool:
|
|
4461
|
+
var BrowserToolMetricsParams = import_zod35.z.strictObject({ client_instance: BrowserClientInstance });
|
|
4462
|
+
var BrowserToolMetric = import_zod35.z.strictObject({
|
|
4463
|
+
tool: import_zod35.z.string().max(256),
|
|
4370
4464
|
calls: nonNegInt,
|
|
4371
4465
|
errors: nonNegInt,
|
|
4372
4466
|
/** Over the last 200 answered calls; null before the first answer. */
|
|
4373
4467
|
p50_ms: nonNegInt.nullable(),
|
|
4374
4468
|
p95_ms: nonNegInt.nullable(),
|
|
4375
4469
|
last_call_at_ms: epochMs.nullable(),
|
|
4376
|
-
last_error:
|
|
4470
|
+
last_error: import_zod35.z.string().max(2048).nullable()
|
|
4377
4471
|
});
|
|
4378
|
-
var BrowserToolMetricsResult =
|
|
4379
|
-
var BrowserResetCountersParams =
|
|
4380
|
-
var BrowserResetCountersResult =
|
|
4381
|
-
var BrowserLogParams =
|
|
4472
|
+
var BrowserToolMetricsResult = import_zod35.z.strictObject({ client_instance: import_zod35.z.string(), tools: import_zod35.z.array(BrowserToolMetric) });
|
|
4473
|
+
var BrowserResetCountersParams = import_zod35.z.strictObject({ client_instance: BrowserClientInstance });
|
|
4474
|
+
var BrowserResetCountersResult = import_zod35.z.strictObject({ reset: import_zod35.z.boolean() });
|
|
4475
|
+
var BrowserLogParams = import_zod35.z.strictObject({
|
|
4382
4476
|
/** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
|
|
4383
4477
|
after_seq: nonNegInt.default(0),
|
|
4384
|
-
limit:
|
|
4478
|
+
limit: import_zod35.z.int().min(1).max(500).default(500)
|
|
4385
4479
|
});
|
|
4386
|
-
var BrowserLogMessage =
|
|
4480
|
+
var BrowserLogMessage = import_zod35.z.strictObject({
|
|
4387
4481
|
seq: nonNegInt,
|
|
4388
4482
|
at_ms: epochMs,
|
|
4389
|
-
direction:
|
|
4390
|
-
client_instance:
|
|
4391
|
-
kind:
|
|
4392
|
-
tool:
|
|
4393
|
-
call_id:
|
|
4394
|
-
ok:
|
|
4395
|
-
detail:
|
|
4396
|
-
});
|
|
4397
|
-
var BrowserLogResult =
|
|
4398
|
-
messages:
|
|
4483
|
+
direction: import_zod35.z.enum(["to_browser", "from_browser", "core"]),
|
|
4484
|
+
client_instance: import_zod35.z.string(),
|
|
4485
|
+
kind: import_zod35.z.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
|
|
4486
|
+
tool: import_zod35.z.string().nullable(),
|
|
4487
|
+
call_id: import_zod35.z.string().nullable(),
|
|
4488
|
+
ok: import_zod35.z.boolean().nullable(),
|
|
4489
|
+
detail: import_zod35.z.string().max(1024)
|
|
4490
|
+
});
|
|
4491
|
+
var BrowserLogResult = import_zod35.z.strictObject({
|
|
4492
|
+
messages: import_zod35.z.array(BrowserLogMessage),
|
|
4399
4493
|
/** The newest seq the core has written (pass it back as after_seq to follow the log). */
|
|
4400
4494
|
last_seq: nonNegInt
|
|
4401
4495
|
});
|
|
4402
|
-
var BrowserInvokeEvent =
|
|
4403
|
-
call_id:
|
|
4404
|
-
tool:
|
|
4405
|
-
args:
|
|
4496
|
+
var BrowserInvokeEvent = import_zod35.z.strictObject({
|
|
4497
|
+
call_id: import_zod35.z.string().min(1).max(64),
|
|
4498
|
+
tool: import_zod35.z.string().min(1).max(96),
|
|
4499
|
+
args: import_zod35.z.record(import_zod35.z.string(), import_zod35.z.unknown()),
|
|
4406
4500
|
deadline_ms: epochMs
|
|
4407
4501
|
});
|
|
4408
|
-
var BrowserSessionsChangedEvent =
|
|
4409
|
-
var BrowserProgressEvent =
|
|
4410
|
-
call_id:
|
|
4502
|
+
var BrowserSessionsChangedEvent = import_zod35.z.strictObject({ count: nonNegInt, enabled: import_zod35.z.boolean() });
|
|
4503
|
+
var BrowserProgressEvent = import_zod35.z.strictObject({
|
|
4504
|
+
call_id: import_zod35.z.string().min(1).max(64),
|
|
4411
4505
|
client_instance: BrowserClientInstance,
|
|
4412
4506
|
phase: BrowserCallPhase
|
|
4413
4507
|
});
|
|
4414
|
-
var DesktopHealth =
|
|
4415
|
-
status:
|
|
4416
|
-
service:
|
|
4417
|
-
version:
|
|
4418
|
-
protocol_version:
|
|
4419
|
-
ws_path:
|
|
4420
|
-
device_id:
|
|
4421
|
-
browser_connection:
|
|
4422
|
-
});
|
|
4423
|
-
var BrowserPairRequest =
|
|
4424
|
-
var BrowserPairResult =
|
|
4508
|
+
var DesktopHealth = import_zod35.z.strictObject({
|
|
4509
|
+
status: import_zod35.z.literal("ok"),
|
|
4510
|
+
service: import_zod35.z.literal("matrx-desktop"),
|
|
4511
|
+
version: import_zod35.z.string().max(32),
|
|
4512
|
+
protocol_version: import_zod35.z.string().max(16),
|
|
4513
|
+
ws_path: import_zod35.z.literal("/v1/connect"),
|
|
4514
|
+
device_id: import_zod35.z.string().max(64),
|
|
4515
|
+
browser_connection: import_zod35.z.enum(["on", "off"])
|
|
4516
|
+
});
|
|
4517
|
+
var BrowserPairRequest = import_zod35.z.strictObject({ client_instance: BrowserClientInstance });
|
|
4518
|
+
var BrowserPairResult = import_zod35.z.strictObject({ pair_token: import_zod35.z.string().min(16).max(128), ws_path: import_zod35.z.literal("/v1/connect") });
|
|
4425
4519
|
var MATRX_EXTENSION_IDS = {
|
|
4426
4520
|
store: "hnfolienncfklkgmdjjmhhegglimlamg",
|
|
4427
4521
|
development: "cihdmkcdjjckfhjpgoedmgfpoljebaml"
|
|
@@ -4429,641 +4523,641 @@ var MATRX_EXTENSION_IDS = {
|
|
|
4429
4523
|
var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
|
|
4430
4524
|
|
|
4431
4525
|
// src/schema/net.ts
|
|
4432
|
-
var
|
|
4433
|
-
var NetInfoParams =
|
|
4434
|
-
var NetAddress =
|
|
4435
|
-
address:
|
|
4436
|
-
family:
|
|
4437
|
-
netmask:
|
|
4526
|
+
var import_zod36 = require("zod");
|
|
4527
|
+
var NetInfoParams = import_zod36.z.strictObject({});
|
|
4528
|
+
var NetAddress = import_zod36.z.strictObject({
|
|
4529
|
+
address: import_zod36.z.string(),
|
|
4530
|
+
family: import_zod36.z.enum(["ipv4", "ipv6"]),
|
|
4531
|
+
netmask: import_zod36.z.string().nullable(),
|
|
4438
4532
|
/** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
|
|
4439
|
-
cidr:
|
|
4533
|
+
cidr: import_zod36.z.string().nullable()
|
|
4440
4534
|
});
|
|
4441
|
-
var NetInterface =
|
|
4442
|
-
name:
|
|
4443
|
-
mac:
|
|
4535
|
+
var NetInterface = import_zod36.z.strictObject({
|
|
4536
|
+
name: import_zod36.z.string(),
|
|
4537
|
+
mac: import_zod36.z.string().nullable(),
|
|
4444
4538
|
/** Loopback and other internal interfaces. */
|
|
4445
|
-
internal:
|
|
4446
|
-
addresses:
|
|
4539
|
+
internal: import_zod36.z.boolean(),
|
|
4540
|
+
addresses: import_zod36.z.array(NetAddress)
|
|
4447
4541
|
});
|
|
4448
|
-
var NetInfoResult =
|
|
4449
|
-
hostname:
|
|
4450
|
-
interfaces:
|
|
4542
|
+
var NetInfoResult = import_zod36.z.strictObject({
|
|
4543
|
+
hostname: import_zod36.z.string(),
|
|
4544
|
+
interfaces: import_zod36.z.array(NetInterface),
|
|
4451
4545
|
/** The default route's gateway; null when the OS does not say (or there is none). */
|
|
4452
|
-
gateway:
|
|
4546
|
+
gateway: import_zod36.z.string().nullable(),
|
|
4453
4547
|
/** The DNS servers the OS uses; empty when it does not say. */
|
|
4454
|
-
dns:
|
|
4548
|
+
dns: import_zod36.z.array(import_zod36.z.string())
|
|
4455
4549
|
});
|
|
4456
|
-
var NetWifiParams =
|
|
4457
|
-
var NetWifiNetwork =
|
|
4550
|
+
var NetWifiParams = import_zod36.z.strictObject({});
|
|
4551
|
+
var NetWifiNetwork = import_zod36.z.strictObject({
|
|
4458
4552
|
/** null: the OS hides the name (macOS without Location Services for this app). */
|
|
4459
|
-
ssid:
|
|
4553
|
+
ssid: import_zod36.z.string().nullable(),
|
|
4460
4554
|
/** dBm; null where the OS does not say. */
|
|
4461
|
-
rssi:
|
|
4462
|
-
channel:
|
|
4463
|
-
security:
|
|
4555
|
+
rssi: import_zod36.z.int().nullable(),
|
|
4556
|
+
channel: import_zod36.z.string().nullable(),
|
|
4557
|
+
security: import_zod36.z.string().nullable()
|
|
4464
4558
|
});
|
|
4465
|
-
var NetWifiResult =
|
|
4559
|
+
var NetWifiResult = import_zod36.z.strictObject({
|
|
4466
4560
|
/** Whether the computer has a Wi-Fi interface at all. */
|
|
4467
|
-
available:
|
|
4561
|
+
available: import_zod36.z.boolean(),
|
|
4468
4562
|
/** The network the computer is on; null when it is on none. */
|
|
4469
4563
|
current: NetWifiNetwork.nullable(),
|
|
4470
4564
|
/** Networks in range (may be empty where the OS lists none to apps). */
|
|
4471
|
-
networks:
|
|
4565
|
+
networks: import_zod36.z.array(NetWifiNetwork)
|
|
4472
4566
|
});
|
|
4473
|
-
var NetBluetoothParams =
|
|
4474
|
-
var NetBluetoothDevice =
|
|
4475
|
-
name:
|
|
4476
|
-
address:
|
|
4477
|
-
connected:
|
|
4567
|
+
var NetBluetoothParams = import_zod36.z.strictObject({});
|
|
4568
|
+
var NetBluetoothDevice = import_zod36.z.strictObject({
|
|
4569
|
+
name: import_zod36.z.string(),
|
|
4570
|
+
address: import_zod36.z.string().nullable(),
|
|
4571
|
+
connected: import_zod36.z.boolean(),
|
|
4478
4572
|
/** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
|
|
4479
|
-
kind:
|
|
4573
|
+
kind: import_zod36.z.string().nullable(),
|
|
4480
4574
|
/** Battery percent, where the OS reports it. */
|
|
4481
|
-
battery:
|
|
4575
|
+
battery: import_zod36.z.int().min(0).max(100).nullable()
|
|
4482
4576
|
});
|
|
4483
|
-
var NetBluetoothResult =
|
|
4577
|
+
var NetBluetoothResult = import_zod36.z.strictObject({
|
|
4484
4578
|
/** Bluetooth is on; null where the OS does not say. */
|
|
4485
|
-
powered:
|
|
4486
|
-
devices:
|
|
4487
|
-
});
|
|
4488
|
-
var NetDevicesParams =
|
|
4489
|
-
var NetDevice =
|
|
4490
|
-
ip:
|
|
4491
|
-
mac:
|
|
4492
|
-
interface:
|
|
4579
|
+
powered: import_zod36.z.boolean().nullable(),
|
|
4580
|
+
devices: import_zod36.z.array(NetBluetoothDevice)
|
|
4581
|
+
});
|
|
4582
|
+
var NetDevicesParams = import_zod36.z.strictObject({});
|
|
4583
|
+
var NetDevice = import_zod36.z.strictObject({
|
|
4584
|
+
ip: import_zod36.z.string(),
|
|
4585
|
+
mac: import_zod36.z.string().nullable(),
|
|
4586
|
+
interface: import_zod36.z.string().nullable(),
|
|
4493
4587
|
/** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
|
|
4494
|
-
hostname:
|
|
4588
|
+
hostname: import_zod36.z.string().nullable()
|
|
4495
4589
|
});
|
|
4496
|
-
var NetDevicesResult =
|
|
4497
|
-
var NetMdnsParams =
|
|
4590
|
+
var NetDevicesResult = import_zod36.z.strictObject({ devices: import_zod36.z.array(NetDevice) });
|
|
4591
|
+
var NetMdnsParams = import_zod36.z.strictObject({
|
|
4498
4592
|
/** A service type ("_http._tcp"); absent lists the service types found. */
|
|
4499
|
-
service_type:
|
|
4593
|
+
service_type: import_zod36.z.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
|
|
4500
4594
|
/** How long to listen. */
|
|
4501
|
-
timeout_s:
|
|
4595
|
+
timeout_s: import_zod36.z.int().min(1).max(30).default(3)
|
|
4502
4596
|
});
|
|
4503
|
-
var NetMdnsService =
|
|
4504
|
-
name:
|
|
4505
|
-
type:
|
|
4506
|
-
domain:
|
|
4507
|
-
interface:
|
|
4597
|
+
var NetMdnsService = import_zod36.z.strictObject({
|
|
4598
|
+
name: import_zod36.z.string(),
|
|
4599
|
+
type: import_zod36.z.string(),
|
|
4600
|
+
domain: import_zod36.z.string(),
|
|
4601
|
+
interface: import_zod36.z.string().nullable()
|
|
4508
4602
|
});
|
|
4509
|
-
var NetMdnsResult =
|
|
4510
|
-
var NetScanParams =
|
|
4603
|
+
var NetMdnsResult = import_zod36.z.strictObject({ services: import_zod36.z.array(NetMdnsService) });
|
|
4604
|
+
var NetScanParams = import_zod36.z.strictObject({
|
|
4511
4605
|
/** A host name or address; a private or loopback address unless `allow_public`. */
|
|
4512
|
-
host:
|
|
4513
|
-
ports:
|
|
4514
|
-
timeout_ms:
|
|
4606
|
+
host: import_zod36.z.string().min(1).max(253),
|
|
4607
|
+
ports: import_zod36.z.array(import_zod36.z.int().min(1).max(65535)).min(1).max(1024),
|
|
4608
|
+
timeout_ms: import_zod36.z.int().min(50).max(1e4).default(800),
|
|
4515
4609
|
/** Scanning a host on the public internet needs saying so. */
|
|
4516
|
-
allow_public:
|
|
4610
|
+
allow_public: import_zod36.z.boolean().default(false)
|
|
4517
4611
|
});
|
|
4518
|
-
var NetScanResult =
|
|
4519
|
-
host:
|
|
4612
|
+
var NetScanResult = import_zod36.z.strictObject({
|
|
4613
|
+
host: import_zod36.z.string(),
|
|
4520
4614
|
/** The address the host resolved to. */
|
|
4521
|
-
address:
|
|
4522
|
-
open:
|
|
4615
|
+
address: import_zod36.z.string(),
|
|
4616
|
+
open: import_zod36.z.array(import_zod36.z.int().min(1).max(65535)),
|
|
4523
4617
|
closed: nonNegInt,
|
|
4524
4618
|
elapsed_ms: nonNegInt
|
|
4525
4619
|
});
|
|
4526
|
-
var NetDownloadParams =
|
|
4527
|
-
url:
|
|
4620
|
+
var NetDownloadParams = import_zod36.z.strictObject({
|
|
4621
|
+
url: import_zod36.z.string().min(1).max(8192).regex(/^https?:\/\//),
|
|
4528
4622
|
/** Where to save it: an absolute path (a folder keeps the URL's file name). */
|
|
4529
4623
|
path: AbsPath,
|
|
4530
|
-
overwrite:
|
|
4531
|
-
timeout_s:
|
|
4624
|
+
overwrite: import_zod36.z.boolean().default(false),
|
|
4625
|
+
timeout_s: import_zod36.z.int().min(1).max(3600).default(300),
|
|
4532
4626
|
/** Refuse anything larger. */
|
|
4533
|
-
max_bytes:
|
|
4627
|
+
max_bytes: import_zod36.z.int().min(1).max(10737418240).default(2147483648)
|
|
4534
4628
|
});
|
|
4535
|
-
var NetDownloadResult =
|
|
4536
|
-
path:
|
|
4629
|
+
var NetDownloadResult = import_zod36.z.strictObject({
|
|
4630
|
+
path: import_zod36.z.string(),
|
|
4537
4631
|
bytes: nonNegInt,
|
|
4538
|
-
content_type:
|
|
4632
|
+
content_type: import_zod36.z.string().nullable(),
|
|
4539
4633
|
/** The final URL after redirects. */
|
|
4540
|
-
url:
|
|
4634
|
+
url: import_zod36.z.string(),
|
|
4541
4635
|
elapsed_ms: nonNegInt
|
|
4542
4636
|
});
|
|
4543
4637
|
|
|
4544
4638
|
// src/schema/personal.ts
|
|
4545
|
-
var
|
|
4546
|
-
var Text =
|
|
4547
|
-
var AutomationScriptParams =
|
|
4639
|
+
var import_zod37 = require("zod");
|
|
4640
|
+
var Text = import_zod37.z.string().max(65536);
|
|
4641
|
+
var AutomationScriptParams = import_zod37.z.strictObject({
|
|
4548
4642
|
/** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
|
|
4549
|
-
language:
|
|
4550
|
-
script:
|
|
4551
|
-
timeout_s:
|
|
4552
|
-
});
|
|
4553
|
-
var AutomationScriptResult =
|
|
4554
|
-
stdout:
|
|
4555
|
-
stderr:
|
|
4556
|
-
exit_code:
|
|
4557
|
-
timed_out:
|
|
4643
|
+
language: import_zod37.z.enum(["applescript", "jxa", "powershell"]),
|
|
4644
|
+
script: import_zod37.z.string().min(1).max(262144),
|
|
4645
|
+
timeout_s: import_zod37.z.int().min(1).max(600).default(60)
|
|
4646
|
+
});
|
|
4647
|
+
var AutomationScriptResult = import_zod37.z.strictObject({
|
|
4648
|
+
stdout: import_zod37.z.string(),
|
|
4649
|
+
stderr: import_zod37.z.string(),
|
|
4650
|
+
exit_code: import_zod37.z.int(),
|
|
4651
|
+
timed_out: import_zod37.z.boolean(),
|
|
4558
4652
|
/** stdout or stderr was cut at 1 MiB. */
|
|
4559
|
-
truncated:
|
|
4653
|
+
truncated: import_zod37.z.boolean(),
|
|
4560
4654
|
elapsed_ms: nonNegInt
|
|
4561
4655
|
});
|
|
4562
|
-
var MailAccountsParams =
|
|
4563
|
-
var MailAccount =
|
|
4564
|
-
var MailAccountsResult =
|
|
4565
|
-
var MailListParams =
|
|
4656
|
+
var MailAccountsParams = import_zod37.z.strictObject({});
|
|
4657
|
+
var MailAccount = import_zod37.z.strictObject({ name: import_zod37.z.string(), emails: import_zod37.z.array(import_zod37.z.string()), enabled: import_zod37.z.boolean() });
|
|
4658
|
+
var MailAccountsResult = import_zod37.z.strictObject({ accounts: import_zod37.z.array(MailAccount) });
|
|
4659
|
+
var MailListParams = import_zod37.z.strictObject({
|
|
4566
4660
|
/** The account's name in Mail; absent: every account. */
|
|
4567
|
-
account:
|
|
4661
|
+
account: import_zod37.z.string().min(1).max(256).optional(),
|
|
4568
4662
|
/** The mailbox's name ("INBOX", "Sent Messages"). */
|
|
4569
|
-
mailbox:
|
|
4570
|
-
unread_only:
|
|
4571
|
-
limit:
|
|
4572
|
-
});
|
|
4573
|
-
var MailMessage =
|
|
4574
|
-
id:
|
|
4575
|
-
subject:
|
|
4576
|
-
sender:
|
|
4663
|
+
mailbox: import_zod37.z.string().min(1).max(256).default("INBOX"),
|
|
4664
|
+
unread_only: import_zod37.z.boolean().default(false),
|
|
4665
|
+
limit: import_zod37.z.int().min(1).max(200).default(25)
|
|
4666
|
+
});
|
|
4667
|
+
var MailMessage = import_zod37.z.strictObject({
|
|
4668
|
+
id: import_zod37.z.string(),
|
|
4669
|
+
subject: import_zod37.z.string(),
|
|
4670
|
+
sender: import_zod37.z.string(),
|
|
4577
4671
|
received_at_ms: epochMs.nullable(),
|
|
4578
|
-
read:
|
|
4579
|
-
account:
|
|
4580
|
-
mailbox:
|
|
4672
|
+
read: import_zod37.z.boolean(),
|
|
4673
|
+
account: import_zod37.z.string(),
|
|
4674
|
+
mailbox: import_zod37.z.string(),
|
|
4581
4675
|
/** The first lines of the message's text. */
|
|
4582
|
-
preview:
|
|
4676
|
+
preview: import_zod37.z.string()
|
|
4583
4677
|
});
|
|
4584
|
-
var MailListResult =
|
|
4585
|
-
var MailSendParams =
|
|
4586
|
-
to:
|
|
4587
|
-
cc:
|
|
4588
|
-
subject:
|
|
4678
|
+
var MailListResult = import_zod37.z.strictObject({ messages: import_zod37.z.array(MailMessage) });
|
|
4679
|
+
var MailSendParams = import_zod37.z.strictObject({
|
|
4680
|
+
to: import_zod37.z.array(import_zod37.z.string().min(3).max(320)).min(1).max(50),
|
|
4681
|
+
cc: import_zod37.z.array(import_zod37.z.string().min(3).max(320)).max(50).default([]),
|
|
4682
|
+
subject: import_zod37.z.string().max(998),
|
|
4589
4683
|
body: Text,
|
|
4590
4684
|
/** The sending account's address; absent: Mail's default. */
|
|
4591
|
-
from:
|
|
4685
|
+
from: import_zod37.z.string().min(3).max(320).optional(),
|
|
4592
4686
|
/** false leaves it open in Mail as a draft for the person to send. */
|
|
4593
|
-
send:
|
|
4687
|
+
send: import_zod37.z.boolean().default(true)
|
|
4594
4688
|
});
|
|
4595
|
-
var MailSendResult =
|
|
4596
|
-
var OutlookStatusParams =
|
|
4597
|
-
var OutlookAccount =
|
|
4598
|
-
var OutlookStatusResult =
|
|
4689
|
+
var MailSendResult = import_zod37.z.strictObject({ sent: import_zod37.z.boolean() });
|
|
4690
|
+
var OutlookStatusParams = import_zod37.z.strictObject({});
|
|
4691
|
+
var OutlookAccount = import_zod37.z.strictObject({ name: import_zod37.z.string(), email: import_zod37.z.string().nullable() });
|
|
4692
|
+
var OutlookStatusResult = import_zod37.z.strictObject({
|
|
4599
4693
|
/** classic_windows: scriptable. new_windows / mac: installed, not scriptable. none: not found. */
|
|
4600
|
-
client:
|
|
4601
|
-
scriptable:
|
|
4602
|
-
version:
|
|
4603
|
-
accounts:
|
|
4694
|
+
client: import_zod37.z.enum(["classic_windows", "new_windows", "mac", "none"]),
|
|
4695
|
+
scriptable: import_zod37.z.boolean(),
|
|
4696
|
+
version: import_zod37.z.string().nullable(),
|
|
4697
|
+
accounts: import_zod37.z.array(OutlookAccount),
|
|
4604
4698
|
/** Why it is not scriptable here, in a sentence the person can act on; null when it is. */
|
|
4605
|
-
reason:
|
|
4606
|
-
});
|
|
4607
|
-
var Address =
|
|
4608
|
-
var OutlookDraftParams =
|
|
4609
|
-
to:
|
|
4610
|
-
cc:
|
|
4611
|
-
bcc:
|
|
4612
|
-
subject:
|
|
4613
|
-
body:
|
|
4614
|
-
body_format:
|
|
4699
|
+
reason: import_zod37.z.string().nullable()
|
|
4700
|
+
});
|
|
4701
|
+
var Address = import_zod37.z.string().min(3).max(320);
|
|
4702
|
+
var OutlookDraftParams = import_zod37.z.strictObject({
|
|
4703
|
+
to: import_zod37.z.array(Address).max(100).default([]),
|
|
4704
|
+
cc: import_zod37.z.array(Address).max(100).default([]),
|
|
4705
|
+
bcc: import_zod37.z.array(Address).max(100).default([]),
|
|
4706
|
+
subject: import_zod37.z.string().max(998).default(""),
|
|
4707
|
+
body: import_zod37.z.string().max(1048576).default(""),
|
|
4708
|
+
body_format: import_zod37.z.enum(["text", "html"]).default("text"),
|
|
4615
4709
|
/** Files on this computer to attach (absolute paths). */
|
|
4616
|
-
attachments:
|
|
4710
|
+
attachments: import_zod37.z.array(import_zod37.z.string().min(1).max(4096)).max(50).default([]),
|
|
4617
4711
|
/** The sending account's address (one of outlook.status's accounts); absent: Outlook's default. */
|
|
4618
4712
|
account: Address.optional(),
|
|
4619
4713
|
/** true also opens the draft in a window for the person. */
|
|
4620
|
-
display:
|
|
4714
|
+
display: import_zod37.z.boolean().default(false)
|
|
4621
4715
|
});
|
|
4622
|
-
var OutlookDraftResult =
|
|
4716
|
+
var OutlookDraftResult = import_zod37.z.strictObject({
|
|
4623
4717
|
/** The draft's id in Outlook (outlook.read takes it). */
|
|
4624
|
-
id:
|
|
4625
|
-
account:
|
|
4626
|
-
folder:
|
|
4718
|
+
id: import_zod37.z.string(),
|
|
4719
|
+
account: import_zod37.z.string().nullable(),
|
|
4720
|
+
folder: import_zod37.z.string(),
|
|
4627
4721
|
attachments: nonNegInt,
|
|
4628
|
-
displayed:
|
|
4722
|
+
displayed: import_zod37.z.boolean()
|
|
4629
4723
|
});
|
|
4630
|
-
var OutlookListParams =
|
|
4631
|
-
folder:
|
|
4724
|
+
var OutlookListParams = import_zod37.z.strictObject({
|
|
4725
|
+
folder: import_zod37.z.enum(["inbox", "sent", "drafts"]).default("inbox"),
|
|
4632
4726
|
/** The account's address; absent: the default account. */
|
|
4633
4727
|
account: Address.optional(),
|
|
4634
|
-
unread_only:
|
|
4635
|
-
limit:
|
|
4728
|
+
unread_only: import_zod37.z.boolean().default(false),
|
|
4729
|
+
limit: import_zod37.z.int().min(1).max(200).default(25)
|
|
4636
4730
|
});
|
|
4637
|
-
var OutlookMessage =
|
|
4638
|
-
id:
|
|
4639
|
-
subject:
|
|
4640
|
-
sender:
|
|
4731
|
+
var OutlookMessage = import_zod37.z.strictObject({
|
|
4732
|
+
id: import_zod37.z.string(),
|
|
4733
|
+
subject: import_zod37.z.string(),
|
|
4734
|
+
sender: import_zod37.z.string(),
|
|
4641
4735
|
received_at_ms: epochMs.nullable(),
|
|
4642
|
-
read:
|
|
4643
|
-
has_attachments:
|
|
4736
|
+
read: import_zod37.z.boolean(),
|
|
4737
|
+
has_attachments: import_zod37.z.boolean(),
|
|
4644
4738
|
/** The first lines of the message's text. */
|
|
4645
|
-
preview:
|
|
4646
|
-
});
|
|
4647
|
-
var OutlookListResult =
|
|
4648
|
-
var OutlookReadParams =
|
|
4649
|
-
var OutlookReadResult =
|
|
4650
|
-
id:
|
|
4651
|
-
subject:
|
|
4652
|
-
sender:
|
|
4653
|
-
to:
|
|
4654
|
-
cc:
|
|
4739
|
+
preview: import_zod37.z.string()
|
|
4740
|
+
});
|
|
4741
|
+
var OutlookListResult = import_zod37.z.strictObject({ folder: import_zod37.z.string(), messages: import_zod37.z.array(OutlookMessage) });
|
|
4742
|
+
var OutlookReadParams = import_zod37.z.strictObject({ id: import_zod37.z.string().min(1).max(1024) });
|
|
4743
|
+
var OutlookReadResult = import_zod37.z.strictObject({
|
|
4744
|
+
id: import_zod37.z.string(),
|
|
4745
|
+
subject: import_zod37.z.string(),
|
|
4746
|
+
sender: import_zod37.z.string(),
|
|
4747
|
+
to: import_zod37.z.array(import_zod37.z.string()),
|
|
4748
|
+
cc: import_zod37.z.array(import_zod37.z.string()),
|
|
4655
4749
|
received_at_ms: epochMs.nullable(),
|
|
4656
4750
|
/** The plain text body, cut at 1 MiB. */
|
|
4657
|
-
body:
|
|
4658
|
-
attachments:
|
|
4659
|
-
});
|
|
4660
|
-
var MessagesChatsParams =
|
|
4661
|
-
var MessagesChat =
|
|
4662
|
-
chat_id:
|
|
4663
|
-
name:
|
|
4664
|
-
participants:
|
|
4751
|
+
body: import_zod37.z.string(),
|
|
4752
|
+
attachments: import_zod37.z.array(import_zod37.z.strictObject({ name: import_zod37.z.string(), size: nonNegInt }))
|
|
4753
|
+
});
|
|
4754
|
+
var MessagesChatsParams = import_zod37.z.strictObject({ limit: import_zod37.z.int().min(1).max(200).default(25) });
|
|
4755
|
+
var MessagesChat = import_zod37.z.strictObject({
|
|
4756
|
+
chat_id: import_zod37.z.string(),
|
|
4757
|
+
name: import_zod37.z.string().nullable(),
|
|
4758
|
+
participants: import_zod37.z.array(import_zod37.z.string()),
|
|
4665
4759
|
last_message_at_ms: epochMs.nullable(),
|
|
4666
|
-
service:
|
|
4760
|
+
service: import_zod37.z.string().nullable()
|
|
4667
4761
|
});
|
|
4668
|
-
var MessagesChatsResult =
|
|
4669
|
-
var MessagesListParams =
|
|
4762
|
+
var MessagesChatsResult = import_zod37.z.strictObject({ chats: import_zod37.z.array(MessagesChat) });
|
|
4763
|
+
var MessagesListParams = import_zod37.z.strictObject({
|
|
4670
4764
|
/** One chat (messages.chats' chat_id); absent: the newest across all. */
|
|
4671
|
-
chat_id:
|
|
4672
|
-
limit:
|
|
4673
|
-
});
|
|
4674
|
-
var MessagesMessage =
|
|
4675
|
-
id:
|
|
4676
|
-
chat_id:
|
|
4677
|
-
text:
|
|
4678
|
-
from_me:
|
|
4765
|
+
chat_id: import_zod37.z.string().min(1).max(512).optional(),
|
|
4766
|
+
limit: import_zod37.z.int().min(1).max(500).default(50)
|
|
4767
|
+
});
|
|
4768
|
+
var MessagesMessage = import_zod37.z.strictObject({
|
|
4769
|
+
id: import_zod37.z.string(),
|
|
4770
|
+
chat_id: import_zod37.z.string().nullable(),
|
|
4771
|
+
text: import_zod37.z.string(),
|
|
4772
|
+
from_me: import_zod37.z.boolean(),
|
|
4679
4773
|
/** The other person's handle (phone or email); null for the person's own messages. */
|
|
4680
|
-
sender:
|
|
4774
|
+
sender: import_zod37.z.string().nullable(),
|
|
4681
4775
|
sent_at_ms: epochMs.nullable()
|
|
4682
4776
|
});
|
|
4683
|
-
var MessagesListResult =
|
|
4684
|
-
var MessagesSendParams =
|
|
4777
|
+
var MessagesListResult = import_zod37.z.strictObject({ messages: import_zod37.z.array(MessagesMessage) });
|
|
4778
|
+
var MessagesSendParams = import_zod37.z.strictObject({
|
|
4685
4779
|
/** A phone number or email the person can message. */
|
|
4686
|
-
to:
|
|
4687
|
-
text:
|
|
4780
|
+
to: import_zod37.z.string().min(3).max(320),
|
|
4781
|
+
text: import_zod37.z.string().min(1).max(2e4),
|
|
4688
4782
|
/**
|
|
4689
4783
|
* Send only over this service (Matrx Local's SendMessage `service`). Absent: iMessage first, and
|
|
4690
4784
|
* SMS when the recipient has no iMessage (since 1.42).
|
|
4691
4785
|
*/
|
|
4692
|
-
service:
|
|
4786
|
+
service: import_zod37.z.enum(["iMessage", "SMS"]).optional()
|
|
4693
4787
|
});
|
|
4694
|
-
var MessagesSendResult =
|
|
4695
|
-
var ContactsSearchParams =
|
|
4788
|
+
var MessagesSendResult = import_zod37.z.strictObject({ sent: import_zod37.z.boolean() });
|
|
4789
|
+
var ContactsSearchParams = import_zod37.z.strictObject({
|
|
4696
4790
|
/** Matched against names, organizations, emails and phone numbers. */
|
|
4697
|
-
query:
|
|
4698
|
-
limit:
|
|
4791
|
+
query: import_zod37.z.string().min(1).max(256),
|
|
4792
|
+
limit: import_zod37.z.int().min(1).max(200).default(25)
|
|
4699
4793
|
});
|
|
4700
|
-
var ContactLabeled =
|
|
4701
|
-
var ContactSummary =
|
|
4702
|
-
id:
|
|
4703
|
-
name:
|
|
4704
|
-
organization:
|
|
4705
|
-
emails:
|
|
4706
|
-
phones:
|
|
4707
|
-
});
|
|
4708
|
-
var ContactsSearchResult =
|
|
4709
|
-
var ContactsGetParams =
|
|
4710
|
-
var ContactDetail =
|
|
4711
|
-
id:
|
|
4712
|
-
name:
|
|
4713
|
-
organization:
|
|
4714
|
-
job_title:
|
|
4715
|
-
emails:
|
|
4716
|
-
phones:
|
|
4717
|
-
addresses:
|
|
4718
|
-
birthday:
|
|
4719
|
-
note:
|
|
4720
|
-
});
|
|
4721
|
-
var ContactsGetResult =
|
|
4722
|
-
var CalendarListParams =
|
|
4794
|
+
var ContactLabeled = import_zod37.z.strictObject({ label: import_zod37.z.string().nullable(), value: import_zod37.z.string() });
|
|
4795
|
+
var ContactSummary = import_zod37.z.strictObject({
|
|
4796
|
+
id: import_zod37.z.string(),
|
|
4797
|
+
name: import_zod37.z.string(),
|
|
4798
|
+
organization: import_zod37.z.string().nullable(),
|
|
4799
|
+
emails: import_zod37.z.array(ContactLabeled),
|
|
4800
|
+
phones: import_zod37.z.array(ContactLabeled)
|
|
4801
|
+
});
|
|
4802
|
+
var ContactsSearchResult = import_zod37.z.strictObject({ contacts: import_zod37.z.array(ContactSummary) });
|
|
4803
|
+
var ContactsGetParams = import_zod37.z.strictObject({ id: import_zod37.z.string().min(1).max(256) });
|
|
4804
|
+
var ContactDetail = import_zod37.z.strictObject({
|
|
4805
|
+
id: import_zod37.z.string(),
|
|
4806
|
+
name: import_zod37.z.string(),
|
|
4807
|
+
organization: import_zod37.z.string().nullable(),
|
|
4808
|
+
job_title: import_zod37.z.string().nullable(),
|
|
4809
|
+
emails: import_zod37.z.array(ContactLabeled),
|
|
4810
|
+
phones: import_zod37.z.array(ContactLabeled),
|
|
4811
|
+
addresses: import_zod37.z.array(ContactLabeled),
|
|
4812
|
+
birthday: import_zod37.z.string().nullable(),
|
|
4813
|
+
note: import_zod37.z.string().nullable()
|
|
4814
|
+
});
|
|
4815
|
+
var ContactsGetResult = import_zod37.z.strictObject({ contact: ContactDetail });
|
|
4816
|
+
var CalendarListParams = import_zod37.z.strictObject({
|
|
4723
4817
|
from_ms: epochMs,
|
|
4724
4818
|
to_ms: epochMs,
|
|
4725
4819
|
/** One calendar's name; absent: every calendar. */
|
|
4726
|
-
calendar:
|
|
4727
|
-
limit:
|
|
4820
|
+
calendar: import_zod37.z.string().min(1).max(256).optional(),
|
|
4821
|
+
limit: import_zod37.z.int().min(1).max(500).default(100)
|
|
4728
4822
|
});
|
|
4729
|
-
var CalendarEvent =
|
|
4730
|
-
id:
|
|
4731
|
-
title:
|
|
4823
|
+
var CalendarEvent = import_zod37.z.strictObject({
|
|
4824
|
+
id: import_zod37.z.string(),
|
|
4825
|
+
title: import_zod37.z.string(),
|
|
4732
4826
|
start_ms: epochMs,
|
|
4733
4827
|
end_ms: epochMs,
|
|
4734
|
-
all_day:
|
|
4735
|
-
calendar:
|
|
4736
|
-
location:
|
|
4737
|
-
notes:
|
|
4738
|
-
});
|
|
4739
|
-
var CalendarListResult =
|
|
4740
|
-
var CalendarCreateParams =
|
|
4741
|
-
title:
|
|
4828
|
+
all_day: import_zod37.z.boolean(),
|
|
4829
|
+
calendar: import_zod37.z.string(),
|
|
4830
|
+
location: import_zod37.z.string().nullable(),
|
|
4831
|
+
notes: import_zod37.z.string().nullable()
|
|
4832
|
+
});
|
|
4833
|
+
var CalendarListResult = import_zod37.z.strictObject({ events: import_zod37.z.array(CalendarEvent) });
|
|
4834
|
+
var CalendarCreateParams = import_zod37.z.strictObject({
|
|
4835
|
+
title: import_zod37.z.string().min(1).max(1024),
|
|
4742
4836
|
start_ms: epochMs,
|
|
4743
4837
|
end_ms: epochMs,
|
|
4744
|
-
all_day:
|
|
4838
|
+
all_day: import_zod37.z.boolean().default(false),
|
|
4745
4839
|
/** The calendar's name; absent: the first writable calendar. */
|
|
4746
|
-
calendar:
|
|
4747
|
-
location:
|
|
4840
|
+
calendar: import_zod37.z.string().min(1).max(256).optional(),
|
|
4841
|
+
location: import_zod37.z.string().max(1024).optional(),
|
|
4748
4842
|
notes: Text.optional()
|
|
4749
4843
|
});
|
|
4750
|
-
var CalendarCreateResult =
|
|
4751
|
-
var RemindersListParams =
|
|
4844
|
+
var CalendarCreateResult = import_zod37.z.strictObject({ id: import_zod37.z.string(), calendar: import_zod37.z.string() });
|
|
4845
|
+
var RemindersListParams = import_zod37.z.strictObject({
|
|
4752
4846
|
/** One list's name; absent: every list. */
|
|
4753
|
-
list:
|
|
4754
|
-
include_completed:
|
|
4755
|
-
limit:
|
|
4756
|
-
});
|
|
4757
|
-
var Reminder =
|
|
4758
|
-
id:
|
|
4759
|
-
title:
|
|
4760
|
-
list:
|
|
4847
|
+
list: import_zod37.z.string().min(1).max(256).optional(),
|
|
4848
|
+
include_completed: import_zod37.z.boolean().default(false),
|
|
4849
|
+
limit: import_zod37.z.int().min(1).max(500).default(100)
|
|
4850
|
+
});
|
|
4851
|
+
var Reminder = import_zod37.z.strictObject({
|
|
4852
|
+
id: import_zod37.z.string(),
|
|
4853
|
+
title: import_zod37.z.string(),
|
|
4854
|
+
list: import_zod37.z.string(),
|
|
4761
4855
|
due_ms: epochMs.nullable(),
|
|
4762
|
-
completed:
|
|
4763
|
-
notes:
|
|
4856
|
+
completed: import_zod37.z.boolean(),
|
|
4857
|
+
notes: import_zod37.z.string().nullable()
|
|
4764
4858
|
});
|
|
4765
|
-
var RemindersListResult =
|
|
4766
|
-
var RemindersCreateParams =
|
|
4767
|
-
title:
|
|
4859
|
+
var RemindersListResult = import_zod37.z.strictObject({ reminders: import_zod37.z.array(Reminder) });
|
|
4860
|
+
var RemindersCreateParams = import_zod37.z.strictObject({
|
|
4861
|
+
title: import_zod37.z.string().min(1).max(1024),
|
|
4768
4862
|
due_ms: epochMs.optional(),
|
|
4769
|
-
list:
|
|
4863
|
+
list: import_zod37.z.string().min(1).max(256).optional(),
|
|
4770
4864
|
notes: Text.optional()
|
|
4771
4865
|
});
|
|
4772
|
-
var RemindersCreateResult =
|
|
4773
|
-
var PhotosSearchParams =
|
|
4866
|
+
var RemindersCreateResult = import_zod37.z.strictObject({ id: import_zod37.z.string(), list: import_zod37.z.string() });
|
|
4867
|
+
var PhotosSearchParams = import_zod37.z.strictObject({
|
|
4774
4868
|
/** Matched against file names, titles, descriptions and keywords; absent: the newest. */
|
|
4775
|
-
query:
|
|
4869
|
+
query: import_zod37.z.string().min(1).max(256).optional(),
|
|
4776
4870
|
from_ms: epochMs.optional(),
|
|
4777
4871
|
to_ms: epochMs.optional(),
|
|
4778
|
-
favorites_only:
|
|
4779
|
-
limit:
|
|
4872
|
+
favorites_only: import_zod37.z.boolean().default(false),
|
|
4873
|
+
limit: import_zod37.z.int().min(1).max(200).default(25)
|
|
4780
4874
|
});
|
|
4781
|
-
var Photo =
|
|
4782
|
-
id:
|
|
4783
|
-
filename:
|
|
4875
|
+
var Photo = import_zod37.z.strictObject({
|
|
4876
|
+
id: import_zod37.z.string(),
|
|
4877
|
+
filename: import_zod37.z.string(),
|
|
4784
4878
|
taken_at_ms: epochMs.nullable(),
|
|
4785
4879
|
width: nonNegInt.nullable(),
|
|
4786
4880
|
height: nonNegInt.nullable(),
|
|
4787
|
-
favorite:
|
|
4788
|
-
title:
|
|
4881
|
+
favorite: import_zod37.z.boolean(),
|
|
4882
|
+
title: import_zod37.z.string().nullable()
|
|
4789
4883
|
});
|
|
4790
|
-
var PhotosSearchResult =
|
|
4791
|
-
var PhotosGetParams =
|
|
4792
|
-
id:
|
|
4884
|
+
var PhotosSearchResult = import_zod37.z.strictObject({ photos: import_zod37.z.array(Photo) });
|
|
4885
|
+
var PhotosGetParams = import_zod37.z.strictObject({
|
|
4886
|
+
id: import_zod37.z.string().min(1).max(256),
|
|
4793
4887
|
/** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
|
|
4794
|
-
export:
|
|
4888
|
+
export: import_zod37.z.boolean().default(false)
|
|
4795
4889
|
});
|
|
4796
|
-
var PhotosGetResult =
|
|
4797
|
-
var LocationGetParams =
|
|
4798
|
-
var LocationGetResult =
|
|
4799
|
-
latitude:
|
|
4800
|
-
longitude:
|
|
4890
|
+
var PhotosGetResult = import_zod37.z.strictObject({ photo: Photo, path: import_zod37.z.string().nullable() });
|
|
4891
|
+
var LocationGetParams = import_zod37.z.strictObject({ timeout_s: import_zod37.z.int().min(1).max(60).default(15) });
|
|
4892
|
+
var LocationGetResult = import_zod37.z.strictObject({
|
|
4893
|
+
latitude: import_zod37.z.number().min(-90).max(90),
|
|
4894
|
+
longitude: import_zod37.z.number().min(-180).max(180),
|
|
4801
4895
|
/** Metres; null where the OS does not say. */
|
|
4802
|
-
accuracy_m:
|
|
4896
|
+
accuracy_m: import_zod37.z.number().min(0).nullable(),
|
|
4803
4897
|
at_ms: epochMs,
|
|
4804
4898
|
/** Who answered: the OS's own location service. */
|
|
4805
|
-
source:
|
|
4899
|
+
source: import_zod37.z.enum(["corelocation", "windows", "geoclue"])
|
|
4806
4900
|
});
|
|
4807
4901
|
|
|
4808
4902
|
// src/schema/windows.ts
|
|
4809
|
-
var
|
|
4810
|
-
var RegistryKey =
|
|
4811
|
-
var RegistryValueType =
|
|
4812
|
-
var WindowsRegistryReadParams =
|
|
4903
|
+
var import_zod38 = require("zod");
|
|
4904
|
+
var RegistryKey = import_zod38.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)(\\.*)?$/);
|
|
4905
|
+
var RegistryValueType = import_zod38.z.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
|
|
4906
|
+
var WindowsRegistryReadParams = import_zod38.z.strictObject({
|
|
4813
4907
|
key: RegistryKey,
|
|
4814
4908
|
/** One value's name ("" is the key's default value); absent: every value and the subkeys. */
|
|
4815
|
-
name:
|
|
4909
|
+
name: import_zod38.z.string().max(16383).optional()
|
|
4816
4910
|
});
|
|
4817
|
-
var RegistryValue =
|
|
4818
|
-
var WindowsRegistryReadResult =
|
|
4819
|
-
key:
|
|
4820
|
-
exists:
|
|
4821
|
-
values:
|
|
4822
|
-
subkeys:
|
|
4911
|
+
var RegistryValue = import_zod38.z.strictObject({ name: import_zod38.z.string(), type: RegistryValueType, data: import_zod38.z.string() });
|
|
4912
|
+
var WindowsRegistryReadResult = import_zod38.z.strictObject({
|
|
4913
|
+
key: import_zod38.z.string(),
|
|
4914
|
+
exists: import_zod38.z.boolean(),
|
|
4915
|
+
values: import_zod38.z.array(RegistryValue),
|
|
4916
|
+
subkeys: import_zod38.z.array(import_zod38.z.string())
|
|
4823
4917
|
});
|
|
4824
|
-
var WindowsRegistryWriteParams =
|
|
4918
|
+
var WindowsRegistryWriteParams = import_zod38.z.strictObject({
|
|
4825
4919
|
key: RegistryKey,
|
|
4826
|
-
name:
|
|
4920
|
+
name: import_zod38.z.string().max(16383),
|
|
4827
4921
|
type: RegistryValueType.default("REG_SZ"),
|
|
4828
4922
|
/** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
|
|
4829
|
-
data:
|
|
4923
|
+
data: import_zod38.z.string().max(1048576),
|
|
4830
4924
|
/** Remove the value instead of writing it. */
|
|
4831
|
-
delete:
|
|
4925
|
+
delete: import_zod38.z.boolean().default(false)
|
|
4832
4926
|
});
|
|
4833
|
-
var WindowsRegistryWriteResult =
|
|
4834
|
-
var WindowsServicesParams =
|
|
4927
|
+
var WindowsRegistryWriteResult = import_zod38.z.strictObject({ key: import_zod38.z.string(), name: import_zod38.z.string(), deleted: import_zod38.z.boolean() });
|
|
4928
|
+
var WindowsServicesParams = import_zod38.z.strictObject({
|
|
4835
4929
|
/** Matched against the service's name and display name. */
|
|
4836
|
-
filter:
|
|
4837
|
-
limit:
|
|
4930
|
+
filter: import_zod38.z.string().min(1).max(256).optional(),
|
|
4931
|
+
limit: import_zod38.z.int().min(1).max(1e3).default(200)
|
|
4838
4932
|
});
|
|
4839
|
-
var WindowsService =
|
|
4840
|
-
name:
|
|
4841
|
-
display_name:
|
|
4933
|
+
var WindowsService = import_zod38.z.strictObject({
|
|
4934
|
+
name: import_zod38.z.string(),
|
|
4935
|
+
display_name: import_zod38.z.string(),
|
|
4842
4936
|
/** Running, Stopped, Paused… as Windows says it. */
|
|
4843
|
-
status:
|
|
4937
|
+
status: import_zod38.z.string(),
|
|
4844
4938
|
/** Automatic, Manual, Disabled…; null where Windows does not say. */
|
|
4845
|
-
start_type:
|
|
4939
|
+
start_type: import_zod38.z.string().nullable()
|
|
4846
4940
|
});
|
|
4847
|
-
var WindowsServicesResult =
|
|
4848
|
-
var WindowsServiceControlParams =
|
|
4849
|
-
name:
|
|
4850
|
-
action:
|
|
4941
|
+
var WindowsServicesResult = import_zod38.z.strictObject({ services: import_zod38.z.array(WindowsService) });
|
|
4942
|
+
var WindowsServiceControlParams = import_zod38.z.strictObject({
|
|
4943
|
+
name: import_zod38.z.string().min(1).max(256),
|
|
4944
|
+
action: import_zod38.z.enum(["start", "stop", "restart"])
|
|
4851
4945
|
});
|
|
4852
|
-
var WindowsServiceControlResult =
|
|
4853
|
-
var WindowsEventLogParams =
|
|
4854
|
-
log:
|
|
4946
|
+
var WindowsServiceControlResult = import_zod38.z.strictObject({ name: import_zod38.z.string(), status: import_zod38.z.string() });
|
|
4947
|
+
var WindowsEventLogParams = import_zod38.z.strictObject({
|
|
4948
|
+
log: import_zod38.z.string().min(1).max(256).default("System"),
|
|
4855
4949
|
/** Only these levels; absent: all. */
|
|
4856
|
-
levels:
|
|
4950
|
+
levels: import_zod38.z.array(import_zod38.z.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
|
|
4857
4951
|
since_ms: epochMs.optional(),
|
|
4858
|
-
limit:
|
|
4952
|
+
limit: import_zod38.z.int().min(1).max(500).default(50)
|
|
4859
4953
|
});
|
|
4860
|
-
var WindowsEvent =
|
|
4861
|
-
id:
|
|
4862
|
-
level:
|
|
4863
|
-
source:
|
|
4954
|
+
var WindowsEvent = import_zod38.z.strictObject({
|
|
4955
|
+
id: import_zod38.z.int(),
|
|
4956
|
+
level: import_zod38.z.string(),
|
|
4957
|
+
source: import_zod38.z.string(),
|
|
4864
4958
|
at_ms: epochMs,
|
|
4865
|
-
message:
|
|
4959
|
+
message: import_zod38.z.string()
|
|
4866
4960
|
});
|
|
4867
|
-
var WindowsEventLogResult =
|
|
4868
|
-
var WindowsFeaturesParams =
|
|
4869
|
-
var WindowsFeature =
|
|
4870
|
-
var WindowsFeaturesResult =
|
|
4961
|
+
var WindowsEventLogResult = import_zod38.z.strictObject({ log: import_zod38.z.string(), events: import_zod38.z.array(WindowsEvent) });
|
|
4962
|
+
var WindowsFeaturesParams = import_zod38.z.strictObject({ filter: import_zod38.z.string().min(1).max(256).optional() });
|
|
4963
|
+
var WindowsFeature = import_zod38.z.strictObject({ name: import_zod38.z.string(), state: import_zod38.z.string() });
|
|
4964
|
+
var WindowsFeaturesResult = import_zod38.z.strictObject({ features: import_zod38.z.array(WindowsFeature) });
|
|
4871
4965
|
|
|
4872
4966
|
// src/schema/schedule.ts
|
|
4873
|
-
var
|
|
4874
|
-
var OpRef =
|
|
4875
|
-
var ScheduleCreateParams =
|
|
4876
|
-
name:
|
|
4967
|
+
var import_zod39 = require("zod");
|
|
4968
|
+
var OpRef = import_zod39.z.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
|
|
4969
|
+
var ScheduleCreateParams = import_zod39.z.strictObject({
|
|
4970
|
+
name: import_zod39.z.string().min(1).max(200),
|
|
4877
4971
|
op: OpRef,
|
|
4878
4972
|
/** The op's params, exactly as the op takes them; checked when the task is created. */
|
|
4879
|
-
params:
|
|
4880
|
-
interval_s:
|
|
4973
|
+
params: import_zod39.z.record(import_zod39.z.string(), import_zod39.z.unknown()).default({}),
|
|
4974
|
+
interval_s: import_zod39.z.int().min(10).max(2592e3),
|
|
4881
4975
|
/** Stop after this many runs; absent: until cancelled. */
|
|
4882
|
-
max_runs:
|
|
4976
|
+
max_runs: import_zod39.z.int().min(1).max(1e5).optional(),
|
|
4883
4977
|
/** Run once now, before the first interval. */
|
|
4884
|
-
run_now:
|
|
4978
|
+
run_now: import_zod39.z.boolean().default(false)
|
|
4885
4979
|
});
|
|
4886
|
-
var ScheduleRun =
|
|
4980
|
+
var ScheduleRun = import_zod39.z.strictObject({
|
|
4887
4981
|
at_ms: epochMs,
|
|
4888
|
-
ok:
|
|
4982
|
+
ok: import_zod39.z.boolean(),
|
|
4889
4983
|
elapsed_ms: nonNegInt,
|
|
4890
4984
|
/** The error's code and message when the run failed. */
|
|
4891
|
-
error:
|
|
4985
|
+
error: import_zod39.z.string().nullable(),
|
|
4892
4986
|
/** The start of the answer, as JSON (cut at 4 KiB). */
|
|
4893
|
-
result_preview:
|
|
4987
|
+
result_preview: import_zod39.z.string().nullable()
|
|
4894
4988
|
});
|
|
4895
|
-
var ScheduledTask =
|
|
4896
|
-
id:
|
|
4897
|
-
name:
|
|
4898
|
-
op:
|
|
4899
|
-
params:
|
|
4989
|
+
var ScheduledTask = import_zod39.z.strictObject({
|
|
4990
|
+
id: import_zod39.z.string(),
|
|
4991
|
+
name: import_zod39.z.string(),
|
|
4992
|
+
op: import_zod39.z.string(),
|
|
4993
|
+
params: import_zod39.z.record(import_zod39.z.string(), import_zod39.z.unknown()),
|
|
4900
4994
|
interval_s: nonNegInt,
|
|
4901
4995
|
max_runs: nonNegInt.nullable(),
|
|
4902
4996
|
runs: nonNegInt,
|
|
4903
4997
|
created_at_ms: epochMs,
|
|
4904
4998
|
next_run_at_ms: epochMs.nullable(),
|
|
4905
4999
|
/** active, done (ran max_runs), cancelled. */
|
|
4906
|
-
state:
|
|
5000
|
+
state: import_zod39.z.enum(["active", "done", "cancelled"]),
|
|
4907
5001
|
/** The newest runs, newest first (at most 10). */
|
|
4908
|
-
recent:
|
|
5002
|
+
recent: import_zod39.z.array(ScheduleRun)
|
|
4909
5003
|
});
|
|
4910
|
-
var ScheduleCreateResult =
|
|
4911
|
-
var ScheduleListParams =
|
|
4912
|
-
var ScheduleListResult =
|
|
4913
|
-
var ScheduleCancelParams =
|
|
4914
|
-
var ScheduleCancelResult =
|
|
5004
|
+
var ScheduleCreateResult = import_zod39.z.strictObject({ task: ScheduledTask });
|
|
5005
|
+
var ScheduleListParams = import_zod39.z.strictObject({ include_finished: import_zod39.z.boolean().default(false) });
|
|
5006
|
+
var ScheduleListResult = import_zod39.z.strictObject({ tasks: import_zod39.z.array(ScheduledTask) });
|
|
5007
|
+
var ScheduleCancelParams = import_zod39.z.strictObject({ id: import_zod39.z.string().min(1).max(64) });
|
|
5008
|
+
var ScheduleCancelResult = import_zod39.z.strictObject({ task: ScheduledTask });
|
|
4915
5009
|
|
|
4916
5010
|
// src/schema/notes.ts
|
|
4917
|
-
var
|
|
4918
|
-
var NoteFolder =
|
|
4919
|
-
var NotePath =
|
|
4920
|
-
var NotesFoldersParams =
|
|
4921
|
-
var NotesFolder =
|
|
4922
|
-
var NotesFoldersResult =
|
|
5011
|
+
var import_zod40 = require("zod");
|
|
5012
|
+
var NoteFolder = import_zod40.z.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
|
|
5013
|
+
var NotePath = import_zod40.z.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
|
|
5014
|
+
var NotesFoldersParams = import_zod40.z.strictObject({});
|
|
5015
|
+
var NotesFolder = import_zod40.z.strictObject({ folder: import_zod40.z.string(), notes: nonNegInt });
|
|
5016
|
+
var NotesFoldersResult = import_zod40.z.strictObject({
|
|
4923
5017
|
/** The notes root on this computer. */
|
|
4924
|
-
root:
|
|
4925
|
-
folders:
|
|
5018
|
+
root: import_zod40.z.string(),
|
|
5019
|
+
folders: import_zod40.z.array(NotesFolder)
|
|
4926
5020
|
});
|
|
4927
|
-
var NotesListParams =
|
|
5021
|
+
var NotesListParams = import_zod40.z.strictObject({
|
|
4928
5022
|
folder: NoteFolder.optional(),
|
|
4929
|
-
limit:
|
|
5023
|
+
limit: import_zod40.z.int().min(1).max(2e3).default(500)
|
|
4930
5024
|
});
|
|
4931
|
-
var NoteEntry =
|
|
4932
|
-
path:
|
|
4933
|
-
label:
|
|
4934
|
-
folder:
|
|
5025
|
+
var NoteEntry = import_zod40.z.strictObject({
|
|
5026
|
+
path: import_zod40.z.string(),
|
|
5027
|
+
label: import_zod40.z.string(),
|
|
5028
|
+
folder: import_zod40.z.string(),
|
|
4935
5029
|
bytes: nonNegInt,
|
|
4936
5030
|
modified_at_ms: epochMs
|
|
4937
5031
|
});
|
|
4938
|
-
var NotesListResult =
|
|
4939
|
-
var NotesReadParams =
|
|
4940
|
-
var NotesReadResult =
|
|
4941
|
-
path:
|
|
4942
|
-
content:
|
|
5032
|
+
var NotesListResult = import_zod40.z.strictObject({ root: import_zod40.z.string(), notes: import_zod40.z.array(NoteEntry), total: nonNegInt });
|
|
5033
|
+
var NotesReadParams = import_zod40.z.strictObject({ path: NotePath });
|
|
5034
|
+
var NotesReadResult = import_zod40.z.strictObject({
|
|
5035
|
+
path: import_zod40.z.string(),
|
|
5036
|
+
content: import_zod40.z.string(),
|
|
4943
5037
|
bytes: nonNegInt,
|
|
4944
5038
|
modified_at_ms: epochMs,
|
|
4945
5039
|
/** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
|
|
4946
|
-
hash:
|
|
5040
|
+
hash: import_zod40.z.string()
|
|
4947
5041
|
});
|
|
4948
|
-
var NotesWriteParams =
|
|
5042
|
+
var NotesWriteParams = import_zod40.z.strictObject({
|
|
4949
5043
|
folder: NoteFolder.default("General"),
|
|
4950
5044
|
/** The note's name, without ".md". */
|
|
4951
|
-
label:
|
|
4952
|
-
content:
|
|
5045
|
+
label: import_zod40.z.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
|
|
5046
|
+
content: import_zod40.z.string().max(10485760),
|
|
4953
5047
|
/** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
|
|
4954
|
-
if_hash:
|
|
5048
|
+
if_hash: import_zod40.z.string().length(64).optional()
|
|
4955
5049
|
});
|
|
4956
|
-
var NotesWriteResult =
|
|
4957
|
-
var NotesSearchParams =
|
|
4958
|
-
query:
|
|
4959
|
-
limit:
|
|
5050
|
+
var NotesWriteResult = import_zod40.z.strictObject({ path: import_zod40.z.string(), bytes: nonNegInt, created: import_zod40.z.boolean(), hash: import_zod40.z.string() });
|
|
5051
|
+
var NotesSearchParams = import_zod40.z.strictObject({
|
|
5052
|
+
query: import_zod40.z.string().min(1).max(512),
|
|
5053
|
+
limit: import_zod40.z.int().min(1).max(200).default(50)
|
|
4960
5054
|
});
|
|
4961
|
-
var NotesMatch =
|
|
4962
|
-
path:
|
|
4963
|
-
label:
|
|
4964
|
-
folder:
|
|
5055
|
+
var NotesMatch = import_zod40.z.strictObject({
|
|
5056
|
+
path: import_zod40.z.string(),
|
|
5057
|
+
label: import_zod40.z.string(),
|
|
5058
|
+
folder: import_zod40.z.string(),
|
|
4965
5059
|
/** The matching lines (at most five), trimmed. */
|
|
4966
|
-
lines:
|
|
5060
|
+
lines: import_zod40.z.array(import_zod40.z.string())
|
|
4967
5061
|
});
|
|
4968
|
-
var NotesSearchResult =
|
|
5062
|
+
var NotesSearchResult = import_zod40.z.strictObject({ matches: import_zod40.z.array(NotesMatch), total: nonNegInt });
|
|
4969
5063
|
|
|
4970
5064
|
// src/schema/documents.ts
|
|
4971
|
-
var
|
|
5065
|
+
var import_zod41 = require("zod");
|
|
4972
5066
|
var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
|
|
4973
|
-
var DocumentsPdfTextParams =
|
|
5067
|
+
var DocumentsPdfTextParams = import_zod41.z.strictObject({
|
|
4974
5068
|
path: AbsPath,
|
|
4975
5069
|
/** 1-based, inclusive. */
|
|
4976
|
-
first_page:
|
|
4977
|
-
last_page:
|
|
4978
|
-
max_chars:
|
|
5070
|
+
first_page: import_zod41.z.int().min(1).optional(),
|
|
5071
|
+
last_page: import_zod41.z.int().min(1).optional(),
|
|
5072
|
+
max_chars: import_zod41.z.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
|
|
4979
5073
|
});
|
|
4980
|
-
var DocumentsPdfPage =
|
|
4981
|
-
var DocumentsPdfTextResult =
|
|
5074
|
+
var DocumentsPdfPage = import_zod41.z.strictObject({ page: import_zod41.z.int().min(1), text: import_zod41.z.string() });
|
|
5075
|
+
var DocumentsPdfTextResult = import_zod41.z.strictObject({
|
|
4982
5076
|
pages: nonNegInt,
|
|
4983
5077
|
/** Each page read, in order (an image-only page has empty text: OCR it). */
|
|
4984
|
-
read:
|
|
4985
|
-
truncated:
|
|
4986
|
-
title:
|
|
4987
|
-
author:
|
|
5078
|
+
read: import_zod41.z.array(DocumentsPdfPage),
|
|
5079
|
+
truncated: import_zod41.z.boolean(),
|
|
5080
|
+
title: import_zod41.z.string().nullable(),
|
|
5081
|
+
author: import_zod41.z.string().nullable()
|
|
4988
5082
|
});
|
|
4989
|
-
var DocumentsOcrParams =
|
|
5083
|
+
var DocumentsOcrParams = import_zod41.z.strictObject({
|
|
4990
5084
|
path: AbsPath,
|
|
4991
5085
|
/** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
|
|
4992
|
-
languages:
|
|
5086
|
+
languages: import_zod41.z.array(import_zod41.z.string().min(2).max(16)).max(8).optional(),
|
|
4993
5087
|
/** Faster, less accurate. */
|
|
4994
|
-
fast:
|
|
5088
|
+
fast: import_zod41.z.boolean().default(false)
|
|
4995
5089
|
});
|
|
4996
|
-
var DocumentsOcrLine =
|
|
4997
|
-
text:
|
|
5090
|
+
var DocumentsOcrLine = import_zod41.z.strictObject({
|
|
5091
|
+
text: import_zod41.z.string(),
|
|
4998
5092
|
/** 0–1; null where the engine does not say. */
|
|
4999
|
-
confidence:
|
|
5093
|
+
confidence: import_zod41.z.number().min(0).max(1).nullable()
|
|
5000
5094
|
});
|
|
5001
|
-
var DocumentsOcrResult =
|
|
5002
|
-
text:
|
|
5003
|
-
lines:
|
|
5004
|
-
truncated:
|
|
5095
|
+
var DocumentsOcrResult = import_zod41.z.strictObject({
|
|
5096
|
+
text: import_zod41.z.string(),
|
|
5097
|
+
lines: import_zod41.z.array(DocumentsOcrLine),
|
|
5098
|
+
truncated: import_zod41.z.boolean(),
|
|
5005
5099
|
/** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
|
|
5006
|
-
engine:
|
|
5100
|
+
engine: import_zod41.z.string()
|
|
5007
5101
|
});
|
|
5008
|
-
var DocumentsImageResizeParams =
|
|
5102
|
+
var DocumentsImageResizeParams = import_zod41.z.strictObject({
|
|
5009
5103
|
path: AbsPath,
|
|
5010
5104
|
/** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
|
|
5011
5105
|
out_path: AbsPath.optional(),
|
|
5012
5106
|
/** The longest side, kept in proportion; absent: the size stays (a format change only). */
|
|
5013
|
-
max_size:
|
|
5014
|
-
format:
|
|
5015
|
-
overwrite:
|
|
5107
|
+
max_size: import_zod41.z.int().min(1).max(32768).optional(),
|
|
5108
|
+
format: import_zod41.z.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
|
|
5109
|
+
overwrite: import_zod41.z.boolean().default(false)
|
|
5016
5110
|
});
|
|
5017
|
-
var DocumentsImageResizeResult =
|
|
5018
|
-
path:
|
|
5111
|
+
var DocumentsImageResizeResult = import_zod41.z.strictObject({
|
|
5112
|
+
path: import_zod41.z.string(),
|
|
5019
5113
|
width: nonNegInt,
|
|
5020
5114
|
height: nonNegInt,
|
|
5021
5115
|
bytes: nonNegInt
|
|
5022
5116
|
});
|
|
5023
|
-
var DocumentsParagraph =
|
|
5024
|
-
style:
|
|
5025
|
-
text:
|
|
5117
|
+
var DocumentsParagraph = import_zod41.z.strictObject({
|
|
5118
|
+
style: import_zod41.z.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
|
|
5119
|
+
text: import_zod41.z.string().max(1e5)
|
|
5026
5120
|
});
|
|
5027
|
-
var DocumentsSheet =
|
|
5028
|
-
name:
|
|
5121
|
+
var DocumentsSheet = import_zod41.z.strictObject({
|
|
5122
|
+
name: import_zod41.z.string().min(1).max(31),
|
|
5029
5123
|
/** Rows of cells; the first row is the header when `header` is true. */
|
|
5030
|
-
rows:
|
|
5031
|
-
header:
|
|
5124
|
+
rows: import_zod41.z.array(import_zod41.z.array(import_zod41.z.union([import_zod41.z.string().max(32767), import_zod41.z.number(), import_zod41.z.boolean(), import_zod41.z.null()])).max(16384)).max(1e5),
|
|
5125
|
+
header: import_zod41.z.boolean().default(true)
|
|
5032
5126
|
});
|
|
5033
|
-
var DocumentsOfficeGenerateParams =
|
|
5034
|
-
kind:
|
|
5127
|
+
var DocumentsOfficeGenerateParams = import_zod41.z.strictObject({
|
|
5128
|
+
kind: import_zod41.z.enum(["docx", "xlsx"]),
|
|
5035
5129
|
path: AbsPath,
|
|
5036
|
-
title:
|
|
5130
|
+
title: import_zod41.z.string().max(1024).optional(),
|
|
5037
5131
|
/** docx: the document's paragraphs, in order. */
|
|
5038
|
-
paragraphs:
|
|
5132
|
+
paragraphs: import_zod41.z.array(DocumentsParagraph).max(5e4).optional(),
|
|
5039
5133
|
/** xlsx: the workbook's sheets, in order. */
|
|
5040
|
-
sheets:
|
|
5041
|
-
overwrite:
|
|
5134
|
+
sheets: import_zod41.z.array(DocumentsSheet).min(1).max(64).optional(),
|
|
5135
|
+
overwrite: import_zod41.z.boolean().default(false)
|
|
5042
5136
|
});
|
|
5043
|
-
var DocumentsOfficeGenerateResult =
|
|
5044
|
-
var EntitiesNerParams =
|
|
5045
|
-
text:
|
|
5137
|
+
var DocumentsOfficeGenerateResult = import_zod41.z.strictObject({ path: import_zod41.z.string(), bytes: nonNegInt });
|
|
5138
|
+
var EntitiesNerParams = import_zod41.z.strictObject({
|
|
5139
|
+
text: import_zod41.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
|
|
5046
5140
|
/** Which kinds to keep; absent: all three. */
|
|
5047
|
-
labels:
|
|
5141
|
+
labels: import_zod41.z.array(import_zod41.z.enum(["person", "place", "organization"])).min(1).max(3).optional()
|
|
5048
5142
|
});
|
|
5049
|
-
var EntitySpan =
|
|
5050
|
-
text:
|
|
5051
|
-
label:
|
|
5143
|
+
var EntitySpan = import_zod41.z.strictObject({
|
|
5144
|
+
text: import_zod41.z.string(),
|
|
5145
|
+
label: import_zod41.z.string(),
|
|
5052
5146
|
/** Character offsets into the text (UTF-16, as JavaScript counts). */
|
|
5053
5147
|
start: nonNegInt,
|
|
5054
5148
|
end: nonNegInt
|
|
5055
5149
|
});
|
|
5056
|
-
var EntitiesNerResult =
|
|
5057
|
-
var PiiKind =
|
|
5058
|
-
var EntitiesPiiParams =
|
|
5059
|
-
text:
|
|
5060
|
-
kinds:
|
|
5150
|
+
var EntitiesNerResult = import_zod41.z.strictObject({ entities: import_zod41.z.array(EntitySpan), engine: import_zod41.z.string() });
|
|
5151
|
+
var PiiKind = import_zod41.z.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
|
|
5152
|
+
var EntitiesPiiParams = import_zod41.z.strictObject({
|
|
5153
|
+
text: import_zod41.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
|
|
5154
|
+
kinds: import_zod41.z.array(PiiKind).min(1).max(8).optional(),
|
|
5061
5155
|
/** Also answer the text with each finding replaced by its kind ("[email]"). */
|
|
5062
|
-
redact:
|
|
5156
|
+
redact: import_zod41.z.boolean().default(false)
|
|
5063
5157
|
});
|
|
5064
|
-
var EntitiesPiiResult =
|
|
5065
|
-
findings:
|
|
5066
|
-
redacted:
|
|
5158
|
+
var EntitiesPiiResult = import_zod41.z.strictObject({
|
|
5159
|
+
findings: import_zod41.z.array(import_zod41.z.strictObject({ kind: PiiKind, text: import_zod41.z.string(), start: nonNegInt, end: nonNegInt })),
|
|
5160
|
+
redacted: import_zod41.z.string().nullable()
|
|
5067
5161
|
});
|
|
5068
5162
|
|
|
5069
5163
|
// src/schema/registry.ts
|
|
@@ -5130,6 +5224,9 @@ var OPS = {
|
|
|
5130
5224
|
"apps.windows.refresh_usage": { params: AppsWindowsRefreshUsageParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5131
5225
|
"apps.accounts.usage": { params: AppsAccountsUsageParams, result: AppsAccountsUsageResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5132
5226
|
"apps.accounts.resets": { params: AppsAccountsResetsParams, result: AppsAccountsResetsResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5227
|
+
// 1.47: instances and accounts kept apart — an account's usage is the account's, every instance shows it by id.
|
|
5228
|
+
"apps.instances.list": { params: AppsInstancesListParams, result: AppsInstancesListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5229
|
+
"apps.accounts.list": { params: AppsAccountsListParams, result: AppsAccountsListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5133
5230
|
"apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5134
5231
|
"apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
5135
5232
|
"apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
@@ -5390,6 +5487,16 @@ var SERVICES = {
|
|
|
5390
5487
|
}
|
|
5391
5488
|
};
|
|
5392
5489
|
var NAMED_SCHEMAS = {
|
|
5490
|
+
InstanceStatus,
|
|
5491
|
+
AppInstall,
|
|
5492
|
+
AppInstance,
|
|
5493
|
+
AccountResetSource,
|
|
5494
|
+
AccountGap,
|
|
5495
|
+
AppAccount,
|
|
5496
|
+
AppsInstancesListParams,
|
|
5497
|
+
AppsInstancesListResult,
|
|
5498
|
+
AppsAccountsListParams,
|
|
5499
|
+
AppsAccountsListResult,
|
|
5393
5500
|
ProtocolVersion,
|
|
5394
5501
|
RequestId,
|
|
5395
5502
|
ResourceId,
|
|
@@ -6184,7 +6291,8 @@ var FIELDS_SINCE = {
|
|
|
6184
6291
|
SysinfoGetResult: { requirements: "1.41" },
|
|
6185
6292
|
"SysinfoGetResult.permissions[]": { detail: "1.41" },
|
|
6186
6293
|
MessagesSendParams: { service: "1.42" },
|
|
6187
|
-
SysinfoHardwareResult: { graphics: "1.45" }
|
|
6294
|
+
SysinfoHardwareResult: { graphics: "1.45" },
|
|
6295
|
+
DownloadRow: { error: "1.46" }
|
|
6188
6296
|
};
|
|
6189
6297
|
var NULL_SINCE = {
|
|
6190
6298
|
"RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
|
|
@@ -6287,6 +6395,7 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
|
|
|
6287
6395
|
["account.agents.list", [["agents", "AccountAgent"]]],
|
|
6288
6396
|
["web.scrape", [["pages", "WebScrapePage"]]],
|
|
6289
6397
|
["sysinfo.get", [["permissions", "SysinfoGetResult.permissions[]"]]],
|
|
6398
|
+
["models.downloads.list", [["downloads", "DownloadRow"]]],
|
|
6290
6399
|
["apps.projects.to_window", [["group", "ProjectMoveGroup"]]]
|
|
6291
6400
|
]);
|
|
6292
6401
|
function stripNested(value, nested, version) {
|
|
@@ -6349,7 +6458,7 @@ function forPeer(op, part, value, version) {
|
|
|
6349
6458
|
var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
|
|
6350
6459
|
|
|
6351
6460
|
// src/contract.ts
|
|
6352
|
-
var CONTRACT_SHA256 = "
|
|
6461
|
+
var CONTRACT_SHA256 = "502c8718b1d2fd0fde43daed047da5a7b158f81ffa3846c7d73cda879777fe37";
|
|
6353
6462
|
|
|
6354
6463
|
// src/close-policy.ts
|
|
6355
6464
|
var CLOSE_RULES = {
|