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