windows-development-sandbox 1.11.7 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/README.md +13 -6
  2. package/config.example.json +15 -4
  3. package/dist/app/features/access/access.def.d.ts +190 -0
  4. package/dist/app/features/access/access.def.js +273 -0
  5. package/dist/app/features/access/access.run.d.ts +79 -0
  6. package/dist/app/features/access/access.run.js +129 -0
  7. package/dist/app/features/access/index.d.ts +2 -0
  8. package/dist/app/features/access/index.js +3 -0
  9. package/dist/app/features/agents/agent-entry.js +5 -0
  10. package/dist/app/features/agents/agents.def.js +1 -0
  11. package/dist/app/features/apps/apps-rows.d.ts +4 -1
  12. package/dist/app/features/apps/apps-rows.js +7 -2
  13. package/dist/app/features/apps/apps.def.d.ts +19 -0
  14. package/dist/app/features/apps/apps.def.js +50 -12
  15. package/dist/app/features/apps/apps.run.d.ts +2 -0
  16. package/dist/app/features/apps/apps.run.js +1 -1
  17. package/dist/app/features/audit/audit.def.d.ts +350 -0
  18. package/dist/app/features/audit/audit.def.js +457 -0
  19. package/dist/app/features/audit/audit.run.d.ts +110 -0
  20. package/dist/app/features/audit/audit.run.js +133 -0
  21. package/dist/app/features/audit/index.d.ts +2 -0
  22. package/dist/app/features/audit/index.js +3 -0
  23. package/dist/app/features/defs.d.ts +349 -4
  24. package/dist/app/features/defs.js +16 -1
  25. package/dist/app/features/files/files.def.js +1 -0
  26. package/dist/app/features/health/health.def.js +1 -0
  27. package/dist/app/features/sandbox/sandbox.def.js +3 -0
  28. package/dist/app/features/sessions/sessions.def.d.ts +36 -0
  29. package/dist/app/features/sessions/sessions.def.js +77 -9
  30. package/dist/app/features/sessions/sessions.run.d.ts +25 -2
  31. package/dist/app/features/sessions/sessions.run.js +71 -3
  32. package/dist/app/features/settings/settings.def.d.ts +8 -0
  33. package/dist/app/features/settings/settings.def.js +17 -0
  34. package/dist/app/features/settings/settings.run.d.ts +3 -0
  35. package/dist/app/features/settings/settings.run.js +16 -2
  36. package/dist/app/features/web/web.def.d.ts +9 -0
  37. package/dist/app/features/web/web.def.js +26 -1
  38. package/dist/app/features/web/web.run.d.ts +3 -0
  39. package/dist/app/features/web/web.run.js +11 -3
  40. package/dist/app/kernel/access.d.ts +33 -0
  41. package/dist/app/kernel/access.js +44 -0
  42. package/dist/app/kernel/define.d.ts +26 -2
  43. package/dist/app/kernel/index.d.ts +1 -0
  44. package/dist/app/kernel/index.js +1 -0
  45. package/dist/app/kernel/rpc.d.ts +5 -2
  46. package/dist/app/registry.d.ts +4 -1
  47. package/dist/app/registry.js +26 -4
  48. package/dist/cli/args.d.ts +0 -3
  49. package/dist/cli/args.js +3 -4
  50. package/dist/cli/commands/index.d.ts +1 -1
  51. package/dist/cli/commands/index.js +1 -1
  52. package/dist/cli/commands/launch/prepare.js +1 -1
  53. package/dist/cli/commands/maintenance/index.d.ts +0 -1
  54. package/dist/cli/commands/maintenance/index.js +0 -1
  55. package/dist/cli/commands/registry.js +3 -2
  56. package/dist/cli/commands/remote.d.ts +2 -0
  57. package/dist/cli/commands/remote.js +49 -0
  58. package/dist/cli/commands/sessions/reopen.js +3 -0
  59. package/dist/cli/commands/web.js +66 -0
  60. package/dist/cli/manifest.d.ts +63 -45
  61. package/dist/cli/manifest.js +33 -18
  62. package/dist/cli/menu/io-menu.d.ts +5 -3
  63. package/dist/cli/menu/io-menu.js +12 -5
  64. package/dist/cli/menu/pages/apps-page.js +2 -15
  65. package/dist/cli/menu/pages/maintenance-page.d.ts +4 -0
  66. package/dist/cli/menu/pages/maintenance-page.js +51 -8
  67. package/dist/cli/menu/remote-menu.d.ts +19 -0
  68. package/dist/cli/menu/remote-menu.js +108 -0
  69. package/dist/cli/menu/views.js +4 -0
  70. package/dist/cli/operations/handler.js +15 -1
  71. package/dist/cli/services/remote-client.d.ts +16 -0
  72. package/dist/cli/services/remote-client.js +141 -0
  73. package/dist/cli/services/sessions-service.d.ts +5 -0
  74. package/dist/cli/services/sessions-service.js +17 -1
  75. package/dist/core/config/defaults.js +12 -2
  76. package/dist/core/local-config/file.js +16 -2
  77. package/dist/core/local-config/overrides.js +7 -0
  78. package/dist/core/run/versions.js +9 -8
  79. package/dist/core/schema/apps.d.ts +9 -0
  80. package/dist/core/schema/apps.js +9 -0
  81. package/dist/core/schema/config.d.ts +23 -3
  82. package/dist/core/schema/config.js +42 -5
  83. package/dist/core/schema/sandbox.d.ts +1 -0
  84. package/dist/core/schema/sandbox.js +11 -3
  85. package/dist/core/schema/web.d.ts +51 -0
  86. package/dist/core/schema/web.js +46 -1
  87. package/dist/core/util/fs.d.ts +5 -0
  88. package/dist/core/util/fs.js +23 -0
  89. package/dist/core/util/index.d.ts +1 -1
  90. package/dist/core/util/index.js +1 -1
  91. package/dist/guest/apps/app-installer.js +50 -4
  92. package/dist/guest/apps/index.d.ts +1 -1
  93. package/dist/guest/apps/index.js +1 -1
  94. package/dist/guest/apps/sources.js +1 -1
  95. package/dist/guest/audit/parse.d.ts +32 -2
  96. package/dist/guest/audit/parse.js +43 -5
  97. package/dist/guest/audit/process-audit.d.ts +3 -1
  98. package/dist/guest/audit/process-audit.js +9 -6
  99. package/dist/guest/boot/boot.js +12 -3
  100. package/dist/guest/boot/guide.d.ts +1 -1
  101. package/dist/guest/boot/guide.js +27 -3
  102. package/dist/guest/daemon/daemon.js +2 -0
  103. package/dist/guest/daemon/idle-shutdown.js +2 -1
  104. package/dist/guest/daemon/sessions.d.ts +23 -2
  105. package/dist/guest/daemon/sessions.js +151 -20
  106. package/dist/guest/entries/daemon.js +2 -1
  107. package/dist/guest/git/decision.js +7 -0
  108. package/dist/guest/sessions/cmdline.d.ts +14 -0
  109. package/dist/guest/sessions/cmdline.js +10 -0
  110. package/dist/guest/setup/addon-mcp.d.ts +2 -0
  111. package/dist/guest/setup/addon-mcp.js +49 -0
  112. package/dist/guest/setup/agent-addons.d.ts +9 -0
  113. package/dist/guest/setup/agent-addons.js +22 -0
  114. package/dist/guest/setup/headroom.d.ts +7 -0
  115. package/dist/guest/setup/headroom.js +60 -0
  116. package/dist/guest/setup/managed-policy.d.ts +2 -1
  117. package/dist/guest/setup/managed-policy.js +15 -6
  118. package/dist/guest/toolchains/plan.js +8 -3
  119. package/dist/guest/toolchains/setup.js +3 -0
  120. package/dist/host/audit/attribute.d.ts +46 -0
  121. package/dist/host/audit/attribute.js +76 -0
  122. package/dist/host/audit/collect.d.ts +29 -3
  123. package/dist/host/audit/collect.js +256 -61
  124. package/dist/host/audit/git-commits.d.ts +29 -0
  125. package/dist/host/audit/git-commits.js +157 -0
  126. package/dist/host/audit/index.d.ts +5 -0
  127. package/dist/host/audit/index.js +6 -0
  128. package/dist/host/audit/log.d.ts +45 -7
  129. package/dist/host/audit/log.js +148 -45
  130. package/dist/host/audit/redact.d.ts +2 -0
  131. package/dist/host/audit/redact.js +67 -0
  132. package/dist/host/channel/channel.d.ts +5 -1
  133. package/dist/host/channel/channel.js +12 -0
  134. package/dist/host/guard/agent-files.js +7 -1
  135. package/dist/host/guard/commands.js +13 -1
  136. package/dist/host/guard/git-config.js +27 -7
  137. package/dist/host/guard/git-dirs.js +78 -3
  138. package/dist/host/guard/mark-of-the-web.js +3 -1
  139. package/dist/host/guard/nested-repos.js +7 -2
  140. package/dist/host/guard/store.js +1 -0
  141. package/dist/host/guard/types.d.ts +2 -0
  142. package/dist/host/launch/mappings.js +11 -1
  143. package/dist/host/launch/project-scan.js +2 -21
  144. package/dist/host/launch/stage.js +4 -0
  145. package/dist/host/life/session-ledger.js +2 -1
  146. package/dist/host/remote/access-store.d.ts +156 -0
  147. package/dist/host/remote/access-store.js +308 -0
  148. package/dist/host/remote/cert.d.ts +20 -0
  149. package/dist/host/remote/cert.js +103 -0
  150. package/dist/host/remote/door-client.d.ts +13 -0
  151. package/dist/host/remote/door-client.js +54 -0
  152. package/dist/host/remote/firewall.d.ts +44 -0
  153. package/dist/host/remote/firewall.js +118 -0
  154. package/dist/host/remote/gate.d.ts +125 -0
  155. package/dist/host/remote/gate.js +391 -0
  156. package/dist/host/remote/index.d.ts +8 -0
  157. package/dist/host/remote/index.js +10 -0
  158. package/dist/host/remote/lan.d.ts +24 -0
  159. package/dist/host/remote/lan.js +88 -0
  160. package/dist/host/remote/tls-store.d.ts +22 -0
  161. package/dist/host/remote/tls-store.js +63 -0
  162. package/dist/host/remote/windows-helper.d.ts +67 -0
  163. package/dist/host/remote/windows-helper.js +129 -0
  164. package/dist/host/web/bridge.d.ts +5 -1
  165. package/dist/host/web/bridge.js +6 -2
  166. package/dist/host/web/browser.js +1 -1
  167. package/dist/host/web/control.d.ts +4 -1
  168. package/dist/host/web/control.js +28 -4
  169. package/dist/host/web/rpc.d.ts +16 -2
  170. package/dist/host/web/rpc.js +37 -4
  171. package/dist/host/web/runner.d.ts +4 -0
  172. package/dist/host/web/runner.js +12 -0
  173. package/dist/host/web/server.d.ts +18 -2
  174. package/dist/host/web/server.js +97 -24
  175. package/dist/host/web/state.d.ts +5 -0
  176. package/dist/host/web/state.js +8 -0
  177. package/dist/runtime/agent.js +184 -18
  178. package/dist/runtime/daemon.js +772 -338
  179. package/dist/runtime/db.js +184 -18
  180. package/dist/runtime/gitguard.js +6 -0
  181. package/dist/runtime/main.js +966 -553
  182. package/dist/runtime/netproxy.js +184 -18
  183. package/dist/runtime/view.js +186 -18
  184. package/dist/selftest/app.test.js +66 -7
  185. package/dist/selftest/audit.test.js +354 -47
  186. package/dist/selftest/channel.test.js +16 -0
  187. package/dist/selftest/cmdline.test.js +16 -0
  188. package/dist/selftest/git-access.test.js +8 -0
  189. package/dist/selftest/hcs.test.js +35 -0
  190. package/dist/selftest/hostile-input.test.js +12 -1
  191. package/dist/selftest/index.js +2 -0
  192. package/dist/selftest/live-daemon.test.js +25 -0
  193. package/dist/selftest/local-config.test.js +30 -0
  194. package/dist/selftest/menu-screens.js +1 -1
  195. package/dist/selftest/menu.test.js +3 -3
  196. package/dist/selftest/remote.test.d.ts +2 -0
  197. package/dist/selftest/remote.test.js +536 -0
  198. package/dist/selftest/repo-guard.test.js +56 -2
  199. package/dist/selftest/resume.test.js +2 -1
  200. package/dist/selftest/sharing.test.js +9 -2
  201. package/dist/selftest/support/engine-golden.js +9 -0
  202. package/dist/selftest/support/fixtures.d.ts +14 -0
  203. package/dist/selftest/support/web-preview.js +157 -0
  204. package/dist/selftest/toolchains.test.js +147 -2
  205. package/dist/selftest/web.test.js +2 -0
  206. package/dist/shared/apps/agent-addons.d.ts +64 -0
  207. package/dist/shared/apps/agent-addons.js +95 -0
  208. package/dist/shared/apps/catalogue.d.ts +33 -2
  209. package/dist/shared/apps/catalogue.js +102 -11
  210. package/dist/shared/apps/index.d.ts +3 -2
  211. package/dist/shared/apps/index.js +3 -2
  212. package/dist/shared/apps/selection.d.ts +2 -0
  213. package/dist/shared/apps/selection.js +7 -0
  214. package/dist/shared/channel/schema.d.ts +23 -0
  215. package/dist/shared/channel/schema.js +8 -0
  216. package/dist/shared/pty/protocol.d.ts +2 -0
  217. package/dist/shared/pty/protocol.js +2 -0
  218. package/dist/sync/watcher.js +9 -1
  219. package/dist/web/index.html +2 -2
  220. package/dist/web/{main-RQFN4WBY.css → main-UAQPI5XD.css} +1 -1
  221. package/dist/web/main-Z2WYAE2Z.js +221 -0
  222. package/native/csharp/HcsHost/AssemblyInfo.cs +5 -3
  223. package/native/csharp/HcsHost/Hcs.cs +9 -0
  224. package/native/csharp/HcsHost/Program.cs +26 -1
  225. package/native/csharp/HcsHost/Share.cs +173 -0
  226. package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
  227. package/native/csharp/HostTools/Program.cs +17 -1
  228. package/native/csharp/HostTools/WebHelper.cs +499 -0
  229. package/native/scripts/get-network-profile.ps1 +19 -0
  230. package/native/scripts/set-folder-access.ps1 +11 -0
  231. package/native/scripts/set-web-firewall.ps1 +103 -0
  232. package/package.json +1 -1
  233. package/sandbox/addons/ccusage/package-lock.json +111 -0
  234. package/sandbox/addons/ccusage/package.json +7 -0
  235. package/sandbox/addons/context7/package-lock.json +1313 -0
  236. package/sandbox/addons/context7/package.json +7 -0
  237. package/sandbox/addons/headroom/requirements.in +1 -0
  238. package/sandbox/addons/headroom/requirements.txt +2922 -0
  239. package/sandbox/addons/playwright-mcp/package-lock.json +56 -0
  240. package/sandbox/addons/playwright-mcp/package.json +7 -0
  241. package/sandbox/csharp/PtyHost.cs +20 -0
  242. package/schemas/config.schema.json +78 -4
  243. package/schemas/sandbox-config.schema.json +2 -20
  244. package/dist/cli/commands/maintenance/audit.d.ts +0 -3
  245. package/dist/cli/commands/maintenance/audit.js +0 -58
  246. package/dist/web/main-K2JMCAZI.js +0 -219
@@ -0,0 +1,133 @@
1
+ // The audit feature's work: reads the log on this PC and sums it up (totals, per agent, per session). Much of what is
2
+ // in the log came from the sandbox, so every text is made plain (no control codes) before it leaves here.
3
+ import { plainText } from '../../../core/util/index.js';
4
+ import { AuditLog } from '../../../host/audit/index.js';
5
+ import { implement } from '../../context.js';
6
+ import { listAudit, NO_SESSION } from './audit.def.js';
7
+ /** Most sessions listed. */
8
+ const MAX_SESSIONS = 60;
9
+ const plain = (s) => (s === undefined ? undefined : plainText(s));
10
+ /** A stored event as the feature shows it. */
11
+ export function auditRow(e) {
12
+ const opt = (key, value) => value ? { [key]: plainText(value) } : {};
13
+ return {
14
+ time: e.t,
15
+ kind: e.k,
16
+ what: plain(e.k === 'session' ? (e.ag ?? e.p) : e.p) ?? '',
17
+ ...opt('command', e.c),
18
+ ...opt('parent', e.pp),
19
+ ...opt('action', e.a),
20
+ ...opt('folder', e.w),
21
+ ...opt('project', e.pj),
22
+ ...opt('session', e.s),
23
+ ...opt('agent', e.ag),
24
+ ...(e.s && e.sv ? { linked: e.sv === 't' ? 'only-session' : 'process' } : {}),
25
+ count: e.n ?? 1,
26
+ ...opt('sha', e.h),
27
+ ...opt('author', e.au),
28
+ };
29
+ }
30
+ /** Does an event pass the filters that are not about its kind? */
31
+ function inScope(e, input) {
32
+ const same = (a, b) => a !== undefined && a.toLowerCase() === b.toLowerCase();
33
+ if (input.session !== undefined) {
34
+ if (input.session === NO_SESSION ? e.s !== undefined : !e.s?.startsWith(input.session))
35
+ return false;
36
+ }
37
+ if (input.agent !== undefined && !same(e.ag, input.agent))
38
+ return false;
39
+ if (input.project !== undefined && !same(e.pj, input.project))
40
+ return false;
41
+ return true;
42
+ }
43
+ const tally = () => ({ commands: 0, files: new Set(), commits: 0 });
44
+ function count(t, e) {
45
+ if (e.k === 'proc')
46
+ t.commands += e.n ?? 1;
47
+ if (e.k === 'file')
48
+ t.files.add((e.w ?? '') + '\0' + (e.p ?? ''));
49
+ if (e.k === 'commit')
50
+ t.commits += 1;
51
+ }
52
+ const counts = (t) => ({
53
+ commands: t.commands,
54
+ files: t.files.size,
55
+ commits: t.commits,
56
+ });
57
+ /** The listing for these filters, from a log (the command line, the menu and the web all show this). */
58
+ export function auditListing(log, settings, input, folder, now = Date.now()) {
59
+ // The last n × 24 hours (the day files are UTC days: one more is read, then cut to the hour).
60
+ const since = new Date(now - input.days * 86400000).toISOString();
61
+ const scoped = log.read({ days: input.days + 1, grep: input.grep }).filter((e) => e.t >= since && inScope(e, input));
62
+ const total = tally();
63
+ const unlinked = tally();
64
+ const perSession = new Map();
65
+ for (const e of scoped) {
66
+ count(total, e);
67
+ if (!e.s) {
68
+ count(unlinked, e);
69
+ continue;
70
+ }
71
+ let entry = perSession.get(e.s);
72
+ if (!entry) {
73
+ entry = {
74
+ info: {
75
+ id: plainText(e.s),
76
+ agent: plainText(e.ag ?? (e.k === 'session' ? (e.p ?? '?') : '?')),
77
+ project: plainText(e.pj ?? '?'),
78
+ started: e.t,
79
+ commands: 0,
80
+ files: 0,
81
+ commits: 0,
82
+ },
83
+ t: tally(),
84
+ };
85
+ perSession.set(e.s, entry);
86
+ }
87
+ count(entry.t, e);
88
+ if (e.k === 'session' && e.a === 'end')
89
+ entry.info = { ...entry.info, ended: e.t };
90
+ if (e.k === 'proc' && (e.c || e.p))
91
+ entry.info = { ...entry.info, last: plainText(e.c || e.p || '') };
92
+ }
93
+ const sessions = [...perSession.values()]
94
+ .map(({ info, t }) => ({ ...info, ...counts(t) }))
95
+ .sort((a, b) => b.started.localeCompare(a.started));
96
+ const agents = new Map();
97
+ for (const s of sessions) {
98
+ const a = agents.get(s.agent) ?? { sessions: 0, commands: 0, files: 0, commits: 0 };
99
+ agents.set(s.agent, {
100
+ sessions: a.sessions + 1,
101
+ commands: a.commands + s.commands,
102
+ files: a.files + s.files,
103
+ commits: a.commits + s.commits,
104
+ });
105
+ }
106
+ const matching = input.kind === 'all' ? scoped : scoped.filter((e) => e.k === input.kind);
107
+ return {
108
+ enabled: settings.enabled,
109
+ keepDays: settings.days,
110
+ maxMb: settings.maxMb,
111
+ bytes: log.bytes(),
112
+ folder,
113
+ filter: {
114
+ days: input.days,
115
+ kind: input.kind,
116
+ ...(input.session !== undefined ? { session: input.session } : {}),
117
+ ...(input.agent !== undefined ? { agent: input.agent } : {}),
118
+ ...(input.project !== undefined ? { project: input.project } : {}),
119
+ ...(input.grep !== undefined ? { grep: input.grep } : {}),
120
+ },
121
+ matched: matching.length,
122
+ events: matching.slice(-input.limit).reverse().map(auditRow),
123
+ totals: { events: scoped.length, ...counts(total), sessions: sessions.length },
124
+ agents: [...agents.entries()].map(([agent, a]) => ({ agent, ...a })).sort((a, b) => b.commands - a.commands),
125
+ sessions: sessions.slice(0, MAX_SESSIONS),
126
+ unlinked: counts(unlinked),
127
+ };
128
+ }
129
+ export const listAuditRun = implement(listAudit, (ctx, input) => {
130
+ const settings = ctx.loaded.config.audit;
131
+ const folder = AuditLog.dirFor(ctx.storageRoot, ctx.dataPath);
132
+ return auditListing(new AuditLog(folder, settings), settings, input, folder);
133
+ });
@@ -0,0 +1,2 @@
1
+ export * from './audit.def.js';
2
+ export * from './audit.run.js';
@@ -0,0 +1,3 @@
1
+ // The audit feature: what the agents ran, changed and committed, from the audit log on this PC.
2
+ export * from './audit.def.js';
3
+ export * from './audit.run.js';
@@ -4,12 +4,14 @@ export type { AccountRow, AccountsList, AgentAccounts } from './accounts/account
4
4
  export type { AppRow, AppsList, CustomAppRow } from './apps/apps.def.js';
5
5
  export type { FolderEntry, FolderListing } from './files/files.def.js';
6
6
  export type { LogFileRow, LogFiles, LogTail } from './logs/logs.def.js';
7
+ export type { AuditList, AuditRow, AuditSession } from './audit/audit.def.js';
7
8
  export type { ProjectRow, ProjectsList } from './projects/projects.def.js';
8
9
  export type { SandboxStatus } from './sandbox/sandbox.def.js';
9
10
  export type { SessionRow, SessionsList } from './sessions/sessions.def.js';
10
11
  export type { SettingRow, SettingsList } from './settings/settings.def.js';
11
12
  export type { VpnStatus } from './vpn/vpn.def.js';
12
13
  export type { GithubStatus } from './github/github.def.js';
14
+ export type { AccessStatus } from './access/access.def.js';
13
15
  export declare const OPERATIONS: readonly [OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
14
16
  available: import("zod").ZodBoolean;
15
17
  stopped: import("zod").ZodNumber;
@@ -28,6 +30,22 @@ export declare const OPERATIONS: readonly [OperationDef<import("zod").ZodObject<
28
30
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
29
31
  message: import("zod").ZodString;
30
32
  }, import("zod/v4/core").$strip>, "sessions.restart">, OperationDef<import("zod").ZodObject<{
33
+ project: import("zod").ZodOptional<import("zod").ZodString>;
34
+ shell: import("zod").ZodDefault<import("zod").ZodEnum<{
35
+ pwsh: "pwsh";
36
+ auto: "auto";
37
+ powershell: "powershell";
38
+ cmd: "cmd";
39
+ }>>;
40
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
41
+ session: import("zod").ZodString;
42
+ shell: import("zod").ZodString;
43
+ message: import("zod").ZodString;
44
+ }, import("zod/v4/core").$strip>, "sessions.shell">, OperationDef<import("zod").ZodObject<{
45
+ session: import("zod").ZodString;
46
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
47
+ message: import("zod").ZodString;
48
+ }, import("zod/v4/core").$strip>, "sessions.close">, OperationDef<import("zod").ZodObject<{
31
49
  agent: import("zod").ZodString;
32
50
  project: import("zod").ZodOptional<import("zod").ZodString>;
33
51
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -256,7 +274,32 @@ export declare const OPERATIONS: readonly [OperationDef<import("zod").ZodObject<
256
274
  }, import("zod/v4/core").$strip>, "github.login">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
257
275
  deleted: import("zod").ZodBoolean;
258
276
  message: import("zod").ZodString;
259
- }, import("zod/v4/core").$strip>, "github.logout">];
277
+ }, import("zod/v4/core").$strip>, "github.logout">, OperationDef<import("zod").ZodObject<{
278
+ role: import("zod").ZodDefault<import("zod").ZodEnum<{
279
+ view: "view";
280
+ control: "control";
281
+ }>>;
282
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
283
+ code: import("zod").ZodString;
284
+ expiresAt: import("zod").ZodString;
285
+ role: import("zod").ZodEnum<{
286
+ view: "view";
287
+ control: "control";
288
+ }>;
289
+ address: import("zod").ZodNullable<import("zod").ZodString>;
290
+ fingerprint: import("zod").ZodNullable<import("zod").ZodString>;
291
+ }, import("zod/v4/core").$strip>, "access.allowDevice">, OperationDef<import("zod").ZodObject<{
292
+ id: import("zod").ZodString;
293
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
294
+ message: import("zod").ZodString;
295
+ }, import("zod/v4/core").$strip>, "access.revoke">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
296
+ message: import("zod").ZodString;
297
+ }, import("zod/v4/core").$strip>, "access.revokeAll">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
298
+ message: import("zod").ZodString;
299
+ address: import("zod").ZodString;
300
+ }, import("zod/v4/core").$strip>, "access.lanOn">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
301
+ message: import("zod").ZodString;
302
+ }, import("zod/v4/core").$strip>, "access.lanOff">];
260
303
  export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
261
304
  shared: import("zod").ZodOptional<import("zod").ZodObject<{
262
305
  line: import("zod").ZodString;
@@ -325,6 +368,10 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
325
368
  id: import("zod").ZodString;
326
369
  launchId: import("zod").ZodString;
327
370
  harness: import("zod").ZodString;
371
+ kind: import("zod").ZodOptional<import("zod").ZodEnum<{
372
+ shell: "shell";
373
+ agent: "agent";
374
+ }>>;
328
375
  cwd: import("zod").ZodString;
329
376
  project: import("zod").ZodOptional<import("zod").ZodString>;
330
377
  phase: import("zod").ZodEnum<{
@@ -450,6 +497,8 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
450
497
  cli: import("zod").ZodBoolean;
451
498
  mesa: import("zod").ZodBoolean;
452
499
  fullGitOnly: import("zod").ZodBoolean;
500
+ plugsInto: import("zod").ZodOptional<import("zod").ZodString>;
501
+ service: import("zod").ZodOptional<import("zod").ZodBoolean>;
453
502
  setting: import("zod").ZodOptional<import("zod").ZodString>;
454
503
  settingField: import("zod").ZodOptional<import("zod").ZodType<import("../kernel/fields.js").Field, unknown, import("zod/v4/core").$ZodTypeInternals<import("../kernel/fields.js").Field, unknown>>>;
455
504
  settingValue: import("zod").ZodOptional<import("zod").ZodUnknown>;
@@ -616,7 +665,103 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
616
665
  file: import("zod").ZodString;
617
666
  text: import("zod").ZodString;
618
667
  next: import("zod").ZodNumber;
619
- }, import("zod/v4/core").$strip>, "logs.tail">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
668
+ }, import("zod/v4/core").$strip>, "logs.tail">, QueryDef<import("zod").ZodObject<{
669
+ days: import("zod").ZodDefault<import("zod").ZodNumber>;
670
+ kind: import("zod").ZodDefault<import("zod").ZodEnum<{
671
+ file: "file";
672
+ remote: "remote";
673
+ all: "all";
674
+ session: "session";
675
+ commit: "commit";
676
+ proc: "proc";
677
+ guard: "guard";
678
+ }>>;
679
+ session: import("zod").ZodOptional<import("zod").ZodString>;
680
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
681
+ project: import("zod").ZodOptional<import("zod").ZodString>;
682
+ grep: import("zod").ZodOptional<import("zod").ZodString>;
683
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
684
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
685
+ enabled: import("zod").ZodBoolean;
686
+ keepDays: import("zod").ZodNumber;
687
+ maxMb: import("zod").ZodNumber;
688
+ bytes: import("zod").ZodNumber;
689
+ folder: import("zod").ZodString;
690
+ filter: import("zod").ZodObject<{
691
+ days: import("zod").ZodNumber;
692
+ kind: import("zod").ZodEnum<{
693
+ file: "file";
694
+ remote: "remote";
695
+ all: "all";
696
+ session: "session";
697
+ commit: "commit";
698
+ proc: "proc";
699
+ guard: "guard";
700
+ }>;
701
+ session: import("zod").ZodOptional<import("zod").ZodString>;
702
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
703
+ project: import("zod").ZodOptional<import("zod").ZodString>;
704
+ grep: import("zod").ZodOptional<import("zod").ZodString>;
705
+ }, import("zod/v4/core").$strip>;
706
+ matched: import("zod").ZodNumber;
707
+ events: import("zod").ZodArray<import("zod").ZodObject<{
708
+ time: import("zod").ZodString;
709
+ kind: import("zod").ZodEnum<{
710
+ file: "file";
711
+ remote: "remote";
712
+ session: "session";
713
+ note: "note";
714
+ commit: "commit";
715
+ proc: "proc";
716
+ guard: "guard";
717
+ }>;
718
+ what: import("zod").ZodString;
719
+ command: import("zod").ZodOptional<import("zod").ZodString>;
720
+ parent: import("zod").ZodOptional<import("zod").ZodString>;
721
+ action: import("zod").ZodOptional<import("zod").ZodString>;
722
+ folder: import("zod").ZodOptional<import("zod").ZodString>;
723
+ project: import("zod").ZodOptional<import("zod").ZodString>;
724
+ session: import("zod").ZodOptional<import("zod").ZodString>;
725
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
726
+ linked: import("zod").ZodOptional<import("zod").ZodEnum<{
727
+ process: "process";
728
+ "only-session": "only-session";
729
+ }>>;
730
+ count: import("zod").ZodNumber;
731
+ sha: import("zod").ZodOptional<import("zod").ZodString>;
732
+ author: import("zod").ZodOptional<import("zod").ZodString>;
733
+ }, import("zod/v4/core").$strip>>;
734
+ totals: import("zod").ZodObject<{
735
+ commands: import("zod").ZodNumber;
736
+ files: import("zod").ZodNumber;
737
+ commits: import("zod").ZodNumber;
738
+ events: import("zod").ZodNumber;
739
+ sessions: import("zod").ZodNumber;
740
+ }, import("zod/v4/core").$strip>;
741
+ agents: import("zod").ZodArray<import("zod").ZodObject<{
742
+ commands: import("zod").ZodNumber;
743
+ files: import("zod").ZodNumber;
744
+ commits: import("zod").ZodNumber;
745
+ agent: import("zod").ZodString;
746
+ sessions: import("zod").ZodNumber;
747
+ }, import("zod/v4/core").$strip>>;
748
+ sessions: import("zod").ZodArray<import("zod").ZodObject<{
749
+ commands: import("zod").ZodNumber;
750
+ files: import("zod").ZodNumber;
751
+ commits: import("zod").ZodNumber;
752
+ id: import("zod").ZodString;
753
+ agent: import("zod").ZodString;
754
+ project: import("zod").ZodString;
755
+ started: import("zod").ZodString;
756
+ ended: import("zod").ZodOptional<import("zod").ZodString>;
757
+ last: import("zod").ZodOptional<import("zod").ZodString>;
758
+ }, import("zod/v4/core").$strip>>;
759
+ unlinked: import("zod").ZodObject<{
760
+ commands: import("zod").ZodNumber;
761
+ files: import("zod").ZodNumber;
762
+ commits: import("zod").ZodNumber;
763
+ }, import("zod/v4/core").$strip>;
764
+ }, import("zod/v4/core").$strip>, "audit.list">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
620
765
  managed: import("zod").ZodBoolean;
621
766
  version: import("zod").ZodString;
622
767
  scope: import("zod").ZodNullable<import("zod").ZodEnum<{
@@ -703,6 +848,9 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
703
848
  running: import("zod").ZodBoolean;
704
849
  port: import("zod").ZodNullable<import("zod").ZodNumber>;
705
850
  address: import("zod").ZodNullable<import("zod").ZodString>;
851
+ lanAddress: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
852
+ lanFingerprint: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
853
+ lanProblem: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
706
854
  }, import("zod/v4/core").$strip>, "web.status">, QueryDef<import("zod").ZodObject<{
707
855
  tunnel: import("zod").ZodDefault<import("zod").ZodBoolean>;
708
856
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -749,7 +897,51 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
749
897
  classic: "classic";
750
898
  }>>;
751
899
  savedAt: import("zod").ZodNullable<import("zod").ZodString>;
752
- }, import("zod/v4/core").$strip>, "github.status">];
900
+ }, import("zod/v4/core").$strip>, "github.status">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
901
+ lan: import("zod").ZodObject<{
902
+ enabled: import("zod").ZodBoolean;
903
+ running: import("zod").ZodBoolean;
904
+ address: import("zod").ZodNullable<import("zod").ZodString>;
905
+ fingerprint: import("zod").ZodNullable<import("zod").ZodString>;
906
+ problem: import("zod").ZodNullable<import("zod").ZodString>;
907
+ network: import("zod").ZodNullable<import("zod").ZodString>;
908
+ }, import("zod/v4/core").$strip>;
909
+ windowsSignIn: import("zod").ZodBoolean;
910
+ users: import("zod").ZodArray<import("zod").ZodObject<{
911
+ name: import("zod").ZodString;
912
+ role: import("zod").ZodEnum<{
913
+ view: "view";
914
+ control: "control";
915
+ }>;
916
+ }, import("zod/v4/core").$strip>>;
917
+ rememberDays: import("zod").ZodNumber;
918
+ devices: import("zod").ZodArray<import("zod").ZodObject<{
919
+ id: import("zod").ZodString;
920
+ name: import("zod").ZodString;
921
+ role: import("zod").ZodEnum<{
922
+ view: "view";
923
+ control: "control";
924
+ }>;
925
+ address: import("zod").ZodString;
926
+ createdAt: import("zod").ZodString;
927
+ expiresAt: import("zod").ZodString;
928
+ lastSeen: import("zod").ZodNullable<import("zod").ZodString>;
929
+ }, import("zod/v4/core").$strip>>;
930
+ windows: import("zod").ZodArray<import("zod").ZodObject<{
931
+ id: import("zod").ZodString;
932
+ user: import("zod").ZodString;
933
+ createdAt: import("zod").ZodString;
934
+ expiresAt: import("zod").ZodString;
935
+ }, import("zod/v4/core").$strip>>;
936
+ pending: import("zod").ZodNullable<import("zod").ZodObject<{
937
+ role: import("zod").ZodEnum<{
938
+ view: "view";
939
+ control: "control";
940
+ }>;
941
+ expiresAt: import("zod").ZodString;
942
+ }, import("zod/v4/core").$strip>>;
943
+ codeVoided: import("zod").ZodBoolean;
944
+ }, import("zod/v4/core").$strip>, "access.status">];
753
945
  export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
754
946
  status: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
755
947
  shared: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -821,6 +1013,10 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
821
1013
  id: import("zod").ZodString;
822
1014
  launchId: import("zod").ZodString;
823
1015
  harness: import("zod").ZodString;
1016
+ kind: import("zod").ZodOptional<import("zod").ZodEnum<{
1017
+ shell: "shell";
1018
+ agent: "agent";
1019
+ }>>;
824
1020
  cwd: import("zod").ZodString;
825
1021
  project: import("zod").ZodOptional<import("zod").ZodString>;
826
1022
  phase: import("zod").ZodEnum<{
@@ -932,6 +1128,8 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
932
1128
  cli: import("zod").ZodBoolean;
933
1129
  mesa: import("zod").ZodBoolean;
934
1130
  fullGitOnly: import("zod").ZodBoolean;
1131
+ plugsInto: import("zod").ZodOptional<import("zod").ZodString>;
1132
+ service: import("zod").ZodOptional<import("zod").ZodBoolean>;
935
1133
  setting: import("zod").ZodOptional<import("zod").ZodString>;
936
1134
  settingField: import("zod").ZodOptional<import("zod").ZodType<import("../kernel/fields.js").Field, unknown, import("zod/v4/core").$ZodTypeInternals<import("../kernel/fields.js").Field, unknown>>>;
937
1135
  settingValue: import("zod").ZodOptional<import("zod").ZodUnknown>;
@@ -1114,6 +1312,104 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
1114
1312
  next: import("zod").ZodNumber;
1115
1313
  }, import("zod/v4/core").$strip>, "logs.tail">;
1116
1314
  }, import("./logs/logs.def.js").LogsParams, "logs">, import("../kernel/define.js").ViewDef<{
1315
+ audit: QueryDef<import("zod").ZodObject<{
1316
+ days: import("zod").ZodDefault<import("zod").ZodNumber>;
1317
+ kind: import("zod").ZodDefault<import("zod").ZodEnum<{
1318
+ file: "file";
1319
+ remote: "remote";
1320
+ all: "all";
1321
+ session: "session";
1322
+ commit: "commit";
1323
+ proc: "proc";
1324
+ guard: "guard";
1325
+ }>>;
1326
+ session: import("zod").ZodOptional<import("zod").ZodString>;
1327
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
1328
+ project: import("zod").ZodOptional<import("zod").ZodString>;
1329
+ grep: import("zod").ZodOptional<import("zod").ZodString>;
1330
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
1331
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1332
+ enabled: import("zod").ZodBoolean;
1333
+ keepDays: import("zod").ZodNumber;
1334
+ maxMb: import("zod").ZodNumber;
1335
+ bytes: import("zod").ZodNumber;
1336
+ folder: import("zod").ZodString;
1337
+ filter: import("zod").ZodObject<{
1338
+ days: import("zod").ZodNumber;
1339
+ kind: import("zod").ZodEnum<{
1340
+ file: "file";
1341
+ remote: "remote";
1342
+ all: "all";
1343
+ session: "session";
1344
+ commit: "commit";
1345
+ proc: "proc";
1346
+ guard: "guard";
1347
+ }>;
1348
+ session: import("zod").ZodOptional<import("zod").ZodString>;
1349
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
1350
+ project: import("zod").ZodOptional<import("zod").ZodString>;
1351
+ grep: import("zod").ZodOptional<import("zod").ZodString>;
1352
+ }, import("zod/v4/core").$strip>;
1353
+ matched: import("zod").ZodNumber;
1354
+ events: import("zod").ZodArray<import("zod").ZodObject<{
1355
+ time: import("zod").ZodString;
1356
+ kind: import("zod").ZodEnum<{
1357
+ file: "file";
1358
+ remote: "remote";
1359
+ session: "session";
1360
+ note: "note";
1361
+ commit: "commit";
1362
+ proc: "proc";
1363
+ guard: "guard";
1364
+ }>;
1365
+ what: import("zod").ZodString;
1366
+ command: import("zod").ZodOptional<import("zod").ZodString>;
1367
+ parent: import("zod").ZodOptional<import("zod").ZodString>;
1368
+ action: import("zod").ZodOptional<import("zod").ZodString>;
1369
+ folder: import("zod").ZodOptional<import("zod").ZodString>;
1370
+ project: import("zod").ZodOptional<import("zod").ZodString>;
1371
+ session: import("zod").ZodOptional<import("zod").ZodString>;
1372
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
1373
+ linked: import("zod").ZodOptional<import("zod").ZodEnum<{
1374
+ process: "process";
1375
+ "only-session": "only-session";
1376
+ }>>;
1377
+ count: import("zod").ZodNumber;
1378
+ sha: import("zod").ZodOptional<import("zod").ZodString>;
1379
+ author: import("zod").ZodOptional<import("zod").ZodString>;
1380
+ }, import("zod/v4/core").$strip>>;
1381
+ totals: import("zod").ZodObject<{
1382
+ commands: import("zod").ZodNumber;
1383
+ files: import("zod").ZodNumber;
1384
+ commits: import("zod").ZodNumber;
1385
+ events: import("zod").ZodNumber;
1386
+ sessions: import("zod").ZodNumber;
1387
+ }, import("zod/v4/core").$strip>;
1388
+ agents: import("zod").ZodArray<import("zod").ZodObject<{
1389
+ commands: import("zod").ZodNumber;
1390
+ files: import("zod").ZodNumber;
1391
+ commits: import("zod").ZodNumber;
1392
+ agent: import("zod").ZodString;
1393
+ sessions: import("zod").ZodNumber;
1394
+ }, import("zod/v4/core").$strip>>;
1395
+ sessions: import("zod").ZodArray<import("zod").ZodObject<{
1396
+ commands: import("zod").ZodNumber;
1397
+ files: import("zod").ZodNumber;
1398
+ commits: import("zod").ZodNumber;
1399
+ id: import("zod").ZodString;
1400
+ agent: import("zod").ZodString;
1401
+ project: import("zod").ZodString;
1402
+ started: import("zod").ZodString;
1403
+ ended: import("zod").ZodOptional<import("zod").ZodString>;
1404
+ last: import("zod").ZodOptional<import("zod").ZodString>;
1405
+ }, import("zod/v4/core").$strip>>;
1406
+ unlinked: import("zod").ZodObject<{
1407
+ commands: import("zod").ZodNumber;
1408
+ files: import("zod").ZodNumber;
1409
+ commits: import("zod").ZodNumber;
1410
+ }, import("zod/v4/core").$strip>;
1411
+ }, import("zod/v4/core").$strip>, "audit.list">;
1412
+ }, import("./audit/audit.def.js").AuditParams, "audit">, import("../kernel/define.js").ViewDef<{
1117
1413
  status: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1118
1414
  managed: import("zod").ZodBoolean;
1119
1415
  version: import("zod").ZodString;
@@ -1181,6 +1477,9 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
1181
1477
  running: import("zod").ZodBoolean;
1182
1478
  port: import("zod").ZodNullable<import("zod").ZodNumber>;
1183
1479
  address: import("zod").ZodNullable<import("zod").ZodString>;
1480
+ lanAddress: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1481
+ lanFingerprint: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1482
+ lanProblem: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1184
1483
  }, import("zod/v4/core").$strip>, "web.status">;
1185
1484
  }, Record<string, never>, "web">, import("../kernel/define.js").ViewDef<{
1186
1485
  status: QueryDef<import("zod").ZodObject<{
@@ -1232,7 +1531,53 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
1232
1531
  }>>;
1233
1532
  savedAt: import("zod").ZodNullable<import("zod").ZodString>;
1234
1533
  }, import("zod/v4/core").$strip>, "github.status">;
1235
- }, Record<string, never>, "github">];
1534
+ }, Record<string, never>, "github">, import("../kernel/define.js").ViewDef<{
1535
+ status: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1536
+ lan: import("zod").ZodObject<{
1537
+ enabled: import("zod").ZodBoolean;
1538
+ running: import("zod").ZodBoolean;
1539
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1540
+ fingerprint: import("zod").ZodNullable<import("zod").ZodString>;
1541
+ problem: import("zod").ZodNullable<import("zod").ZodString>;
1542
+ network: import("zod").ZodNullable<import("zod").ZodString>;
1543
+ }, import("zod/v4/core").$strip>;
1544
+ windowsSignIn: import("zod").ZodBoolean;
1545
+ users: import("zod").ZodArray<import("zod").ZodObject<{
1546
+ name: import("zod").ZodString;
1547
+ role: import("zod").ZodEnum<{
1548
+ view: "view";
1549
+ control: "control";
1550
+ }>;
1551
+ }, import("zod/v4/core").$strip>>;
1552
+ rememberDays: import("zod").ZodNumber;
1553
+ devices: import("zod").ZodArray<import("zod").ZodObject<{
1554
+ id: import("zod").ZodString;
1555
+ name: import("zod").ZodString;
1556
+ role: import("zod").ZodEnum<{
1557
+ view: "view";
1558
+ control: "control";
1559
+ }>;
1560
+ address: import("zod").ZodString;
1561
+ createdAt: import("zod").ZodString;
1562
+ expiresAt: import("zod").ZodString;
1563
+ lastSeen: import("zod").ZodNullable<import("zod").ZodString>;
1564
+ }, import("zod/v4/core").$strip>>;
1565
+ windows: import("zod").ZodArray<import("zod").ZodObject<{
1566
+ id: import("zod").ZodString;
1567
+ user: import("zod").ZodString;
1568
+ createdAt: import("zod").ZodString;
1569
+ expiresAt: import("zod").ZodString;
1570
+ }, import("zod/v4/core").$strip>>;
1571
+ pending: import("zod").ZodNullable<import("zod").ZodObject<{
1572
+ role: import("zod").ZodEnum<{
1573
+ view: "view";
1574
+ control: "control";
1575
+ }>;
1576
+ expiresAt: import("zod").ZodString;
1577
+ }, import("zod/v4/core").$strip>>;
1578
+ codeVoided: import("zod").ZodBoolean;
1579
+ }, import("zod/v4/core").$strip>, "access.status">;
1580
+ }, Record<string, never>, "access">];
1236
1581
  export type Operation = (typeof OPERATIONS)[number];
1237
1582
  export type Query = (typeof QUERIES)[number];
1238
1583
  export type View = (typeof VIEWS)[number];