@fuzdev/fuz_app 0.3.2 → 0.4.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.
- package/dist/cli/daemon.d.ts +14 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +26 -0
- package/dist/runtime/deno.d.ts.map +1 -1
- package/dist/runtime/deno.js +2 -0
- package/dist/runtime/deps.d.ts +8 -1
- package/dist/runtime/deps.d.ts.map +1 -1
- package/dist/runtime/mock.d.ts +7 -0
- package/dist/runtime/mock.d.ts.map +1 -1
- package/dist/runtime/mock.js +16 -0
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +2 -0
- package/dist/ui/AdminAuditLog.svelte +2 -2
- package/dist/ui/AdminInvites.svelte +2 -2
- package/dist/ui/AdminSurface.svelte +3 -3
- package/dist/ui/BootstrapForm.svelte +4 -4
- package/dist/ui/Datatable.svelte +3 -3
- package/dist/ui/LoginForm.svelte +2 -2
- package/dist/ui/LogoutButton.svelte +1 -1
- package/dist/ui/SignupForm.svelte +4 -4
- package/dist/ui/SurfaceExplorer.svelte +3 -3
- package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
- package/dist/ui/account_sessions_state.svelte.js +1 -1
- package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_accounts_state.svelte.js +2 -2
- package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_invites_state.svelte.js +2 -2
- package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_sessions_state.svelte.js +1 -1
- package/dist/ui/app_settings_state.svelte.d.ts.map +1 -1
- package/dist/ui/app_settings_state.svelte.js +2 -2
- package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
- package/dist/ui/audit_log_state.svelte.js +3 -3
- package/dist/ui/auth_state.svelte.d.ts.map +1 -1
- package/dist/ui/auth_state.svelte.js +6 -6
- package/dist/ui/form_state.svelte.d.ts +1 -1
- package/dist/ui/form_state.svelte.js +2 -2
- package/dist/ui/loadable.svelte.d.ts +1 -1
- package/dist/ui/loadable.svelte.d.ts.map +1 -1
- package/dist/ui/loadable.svelte.js +4 -4
- package/dist/ui/popover.svelte.d.ts.map +1 -1
- package/dist/ui/popover.svelte.js +6 -6
- package/dist/ui/sidebar_state.svelte.js +2 -2
- package/dist/ui/table_state.svelte.d.ts.map +1 -1
- package/dist/ui/table_state.svelte.js +9 -9
- package/package.json +1 -1
package/dist/cli/daemon.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
|
-
import { type CommandDeps, type EnvDeps, type FsReadDeps, type FsRemoveDeps, type FsWriteDeps, type LogDeps } from '../runtime/deps.js';
|
|
11
|
+
import { type CommandDeps, type EnvDeps, type FetchDeps, type FsReadDeps, type FsRemoveDeps, type FsWriteDeps, type LogDeps } from '../runtime/deps.js';
|
|
12
12
|
/**
|
|
13
13
|
* Daemon info schema for `~/.{name}/run/daemon.json`.
|
|
14
14
|
*/
|
|
@@ -57,6 +57,19 @@ export declare const read_daemon_info: (runtime: Pick<EnvDeps, "env_get"> & Pick
|
|
|
57
57
|
* @returns `true` if the process is running
|
|
58
58
|
*/
|
|
59
59
|
export declare const is_daemon_running: (runtime: CommandDeps, pid: number) => Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a daemon is healthy by probing its `/health` endpoint.
|
|
62
|
+
*
|
|
63
|
+
* Complements `is_daemon_running` (PID check) with an HTTP liveness probe.
|
|
64
|
+
* Requires the daemon to register a `/health` route (e.g. via `create_health_route_spec`).
|
|
65
|
+
*
|
|
66
|
+
* @param deps - runtime with fetch capability
|
|
67
|
+
* @param port - port the daemon should be listening on
|
|
68
|
+
* @param host - hostname (default `localhost`)
|
|
69
|
+
* @param timeout_ms - request timeout in milliseconds (default 2000)
|
|
70
|
+
* @returns `true` if the health endpoint responds with 2xx
|
|
71
|
+
*/
|
|
72
|
+
export declare const check_daemon_health: (deps: FetchDeps, port: number, host?: string, timeout_ms?: number) => Promise<boolean>;
|
|
60
73
|
/**
|
|
61
74
|
* Result of a `stop_daemon` operation.
|
|
62
75
|
*/
|
package/dist/cli/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/cli/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB,sBAAsB;;IAEtB,yBAAyB;;IAEzB,uCAAuC;;IAEvC,yCAAyC;;IAEzC,0CAA0C;;kBAEzC,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAChC,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACjC,MAAM,MAAM,KACV,MAAM,GAAG,IAGX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC7B,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAC,EAC7F,MAAM,MAAM,EACZ,MAAM,UAAU,KACd,OAAO,CAAC,IAAI,CAWd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,OAAO,EACzF,MAAM,MAAM,KACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAwB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,WAAW,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAG1F,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GACvB,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAChC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAC3C,YAAY,GACZ,WAAW,GACX,OAAO,EACR,MAAM,MAAM,KACV,OAAO,CAAC,gBAAgB,CA2C1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/cli/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB,sBAAsB;;IAEtB,yBAAyB;;IAEzB,uCAAuC;;IAEvC,yCAAyC;;IAEzC,0CAA0C;;kBAEzC,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAChC,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACjC,MAAM,MAAM,KACV,MAAM,GAAG,IAGX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC7B,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAC,EAC7F,MAAM,MAAM,EACZ,MAAM,UAAU,KACd,OAAO,CAAC,IAAI,CAWd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,OAAO,EACzF,MAAM,MAAM,KACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAwB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,WAAW,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAG1F,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,EACf,MAAM,MAAM,EACZ,aAAkB,EAClB,mBAAiB,KACf,OAAO,CAAC,OAAO,CAYjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GACvB,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAChC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAC3C,YAAY,GACZ,WAAW,GACX,OAAO,EACR,MAAM,MAAM,KACV,OAAO,CAAC,gBAAgB,CA2C1B,CAAC"}
|
package/dist/cli/daemon.js
CHANGED
|
@@ -96,6 +96,32 @@ export const is_daemon_running = async (runtime, pid) => {
|
|
|
96
96
|
const result = await runtime.run_command('kill', ['-0', String(pid)]);
|
|
97
97
|
return result.success;
|
|
98
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Check if a daemon is healthy by probing its `/health` endpoint.
|
|
101
|
+
*
|
|
102
|
+
* Complements `is_daemon_running` (PID check) with an HTTP liveness probe.
|
|
103
|
+
* Requires the daemon to register a `/health` route (e.g. via `create_health_route_spec`).
|
|
104
|
+
*
|
|
105
|
+
* @param deps - runtime with fetch capability
|
|
106
|
+
* @param port - port the daemon should be listening on
|
|
107
|
+
* @param host - hostname (default `localhost`)
|
|
108
|
+
* @param timeout_ms - request timeout in milliseconds (default 2000)
|
|
109
|
+
* @returns `true` if the health endpoint responds with 2xx
|
|
110
|
+
*/
|
|
111
|
+
export const check_daemon_health = async (deps, port, host = 'localhost', timeout_ms = 2000) => {
|
|
112
|
+
try {
|
|
113
|
+
const controller = new AbortController();
|
|
114
|
+
const timer = setTimeout(() => controller.abort(), timeout_ms);
|
|
115
|
+
const response = await deps.fetch(`http://${host}:${port}/health`, {
|
|
116
|
+
signal: controller.signal,
|
|
117
|
+
});
|
|
118
|
+
clearTimeout(timer);
|
|
119
|
+
return response.ok;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
99
125
|
/**
|
|
100
126
|
* Stop a running daemon by sending SIGTERM and cleaning up the PID file.
|
|
101
127
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deno.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/deno.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,WAAW,EAA4B,MAAM,WAAW,CAAC;AAsCtE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,aAAa,CAAC,MAAM,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"deno.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/deno.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,WAAW,EAA4B,MAAM,WAAW,CAAC;AAsCtE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,aAAa,CAAC,MAAM,CAAC,KAAG,WAwEhE,CAAC"}
|
package/dist/runtime/deno.js
CHANGED
|
@@ -42,6 +42,8 @@ export const create_deno_runtime = (args) => ({
|
|
|
42
42
|
write_file: (path, data) => Deno.writeFile(path, data),
|
|
43
43
|
rename: (old_path, new_path) => Deno.rename(old_path, new_path),
|
|
44
44
|
remove: (path, options) => Deno.remove(path, options),
|
|
45
|
+
// === HTTP ===
|
|
46
|
+
fetch: globalThis.fetch,
|
|
45
47
|
// === Local Commands ===
|
|
46
48
|
run_command: async (cmd, args) => {
|
|
47
49
|
try {
|
package/dist/runtime/deps.d.ts
CHANGED
|
@@ -74,6 +74,13 @@ export interface CommandDeps {
|
|
|
74
74
|
/** Run a command and return the result. */
|
|
75
75
|
run_command: (cmd: string, args: Array<string>) => Promise<CommandResult>;
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* HTTP fetch capability.
|
|
79
|
+
*/
|
|
80
|
+
export interface FetchDeps {
|
|
81
|
+
/** Fetch a URL. Same signature as the global `fetch`. */
|
|
82
|
+
fetch: typeof globalThis.fetch;
|
|
83
|
+
}
|
|
77
84
|
/**
|
|
78
85
|
* Warning/diagnostic output.
|
|
79
86
|
*/
|
|
@@ -104,7 +111,7 @@ export interface ProcessDeps {
|
|
|
104
111
|
* Functions should accept narrow `*Deps` interfaces, not this full type —
|
|
105
112
|
* this type is for the wiring layer that creates and passes the runtime.
|
|
106
113
|
*/
|
|
107
|
-
export interface RuntimeDeps extends EnvDeps, FsReadDeps, FsWriteDeps, FsRemoveDeps, CommandDeps, TerminalDeps, ProcessDeps, LogDeps {
|
|
114
|
+
export interface RuntimeDeps extends EnvDeps, FsReadDeps, FsWriteDeps, FsRemoveDeps, CommandDeps, FetchDeps, TerminalDeps, ProcessDeps, LogDeps {
|
|
108
115
|
/** Get all environment variables. */
|
|
109
116
|
env_all: () => Record<string, string>;
|
|
110
117
|
/** CLI arguments passed to the program. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/deps.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/mock.d.ts
CHANGED
|
@@ -38,6 +38,13 @@ export interface MockRuntime extends RuntimeDeps {
|
|
|
38
38
|
mock_command_results: Map<string, CommandResult>;
|
|
39
39
|
/** Stdin buffer for input simulation. */
|
|
40
40
|
stdin_buffer: Uint8Array | null;
|
|
41
|
+
/** Fetch calls recorded. */
|
|
42
|
+
fetch_calls: Array<{
|
|
43
|
+
input: string | URL | Request;
|
|
44
|
+
init?: RequestInit;
|
|
45
|
+
}>;
|
|
46
|
+
/** Mock fetch responses (URL substring -> Response). */
|
|
47
|
+
mock_fetch_responses: Map<string, Response>;
|
|
41
48
|
}
|
|
42
49
|
/**
|
|
43
50
|
* Create a mock `RuntimeDeps` for testing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAc,aAAa,EAAC,MAAM,WAAW,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,kCAAkC;IAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+CAA+C;IAC/C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,mCAAmC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,wCAAwC;IACxC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,yBAAyB;IACzB,aAAa,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,CAAC;IACzD,sCAAsC;IACtC,qBAAqB,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,CAAC;IACjE,8BAA8B;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,yCAAyC;IACzC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAc,aAAa,EAAC,MAAM,WAAW,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,kCAAkC;IAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+CAA+C;IAC/C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,mCAAmC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,wCAAwC;IACxC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,yBAAyB;IACzB,aAAa,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,CAAC;IACzD,sCAAsC;IACtC,qBAAqB,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,CAAC;IACjE,8BAA8B;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,yCAAyC;IACzC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,4BAA4B;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAAC,CAAC,CAAC;IACxE,wDAAwD;IACxD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAM,KAAK,CAAC,MAAM,CAAM,KAAG,WA4K9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,WAAW,KAAG,IAazD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,EAAE,OAAO,MAAM,KAAG,IAEpE,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM;CAKxB"}
|
package/dist/runtime/mock.js
CHANGED
|
@@ -35,6 +35,8 @@ export const create_mock_runtime = (args = []) => {
|
|
|
35
35
|
const command_inherit_calls = [];
|
|
36
36
|
const stdout_writes = [];
|
|
37
37
|
const mock_command_results = new Map();
|
|
38
|
+
const fetch_calls = [];
|
|
39
|
+
const mock_fetch_responses = new Map();
|
|
38
40
|
let stdin_buffer = null;
|
|
39
41
|
const runtime = {
|
|
40
42
|
args,
|
|
@@ -47,6 +49,8 @@ export const create_mock_runtime = (args = []) => {
|
|
|
47
49
|
command_inherit_calls,
|
|
48
50
|
stdout_writes,
|
|
49
51
|
mock_command_results,
|
|
52
|
+
fetch_calls,
|
|
53
|
+
mock_fetch_responses,
|
|
50
54
|
get stdin_buffer() {
|
|
51
55
|
return stdin_buffer;
|
|
52
56
|
},
|
|
@@ -148,6 +152,16 @@ export const create_mock_runtime = (args = []) => {
|
|
|
148
152
|
}
|
|
149
153
|
}
|
|
150
154
|
},
|
|
155
|
+
// === HTTP ===
|
|
156
|
+
fetch: async (input, init) => {
|
|
157
|
+
fetch_calls.push({ input: input, init });
|
|
158
|
+
const url = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
159
|
+
for (const [pattern, response] of mock_fetch_responses) {
|
|
160
|
+
if (url.includes(pattern))
|
|
161
|
+
return response.clone();
|
|
162
|
+
}
|
|
163
|
+
throw new TypeError(`fetch failed (no mock for ${url})`);
|
|
164
|
+
},
|
|
151
165
|
// === Local Commands ===
|
|
152
166
|
run_command: async (cmd, args) => {
|
|
153
167
|
command_calls.push({ cmd, args });
|
|
@@ -198,6 +212,8 @@ export const reset_mock_runtime = (runtime) => {
|
|
|
198
212
|
runtime.command_inherit_calls.length = 0;
|
|
199
213
|
runtime.stdout_writes.length = 0;
|
|
200
214
|
runtime.mock_command_results.clear();
|
|
215
|
+
runtime.fetch_calls.length = 0;
|
|
216
|
+
runtime.mock_fetch_responses.clear();
|
|
201
217
|
runtime.stdin_buffer = null;
|
|
202
218
|
};
|
|
203
219
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAC,WAAW,EAA4B,MAAM,WAAW,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC/B,OAAM,aAAa,CAAC,MAAM,CAAyB,KACjD,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/runtime/node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAC,WAAW,EAA4B,MAAM,WAAW,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC/B,OAAM,aAAa,CAAC,MAAM,CAAyB,KACjD,WAkHD,CAAC"}
|
package/dist/runtime/node.js
CHANGED
|
@@ -46,6 +46,8 @@ export const create_node_runtime = (args = process.argv.slice(2)) => ({
|
|
|
46
46
|
write_file: (path, data) => writeFile(path, data),
|
|
47
47
|
rename: (old_path, new_path) => rename(old_path, new_path),
|
|
48
48
|
remove: (path, options) => rm(path, options),
|
|
49
|
+
// === HTTP ===
|
|
50
|
+
fetch: globalThis.fetch,
|
|
49
51
|
// === Local Commands ===
|
|
50
52
|
run_command: (cmd, args) => {
|
|
51
53
|
return new Promise((resolve) => {
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
const audit_log = new AuditLogState();
|
|
19
19
|
|
|
20
|
-
let filter_event_type: string = $state('');
|
|
21
|
-
let streaming = $state(false);
|
|
20
|
+
let filter_event_type: string = $state.raw('');
|
|
21
|
+
let streaming = $state.raw(false);
|
|
22
22
|
|
|
23
23
|
const load = (): void => {
|
|
24
24
|
void audit_log.fetch(filter_event_type ? {event_type: filter_event_type} : undefined);
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
const admin_invites = new AdminInvitesState();
|
|
13
13
|
|
|
14
|
-
let invite_email = $state('');
|
|
15
|
-
let invite_username = $state('');
|
|
14
|
+
let invite_email = $state.raw('');
|
|
15
|
+
let invite_username = $state.raw('');
|
|
16
16
|
|
|
17
17
|
const can_create = $derived(
|
|
18
18
|
(invite_email.trim() || invite_username.trim()) && !admin_invites.creating,
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import SurfaceExplorer from './SurfaceExplorer.svelte';
|
|
4
4
|
import {ui_fetch} from './ui_fetch.js';
|
|
5
5
|
|
|
6
|
-
let surface: AppSurface | null = $state(null);
|
|
7
|
-
let loading = $state(true);
|
|
8
|
-
let error: string | null = $state(null);
|
|
6
|
+
let surface: AppSurface | null = $state.raw(null);
|
|
7
|
+
let loading = $state.raw(true);
|
|
8
|
+
let error: string | null = $state.raw(null);
|
|
9
9
|
|
|
10
10
|
const load = async (): Promise<void> => {
|
|
11
11
|
loading = true;
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
const auth_state = auth_state_context.get();
|
|
11
11
|
const form_state = new FormState();
|
|
12
12
|
|
|
13
|
-
let token = $state('');
|
|
14
|
-
let username = $state('');
|
|
15
|
-
let password = $state('');
|
|
16
|
-
let password_confirm = $state('');
|
|
13
|
+
let token = $state.raw('');
|
|
14
|
+
let username = $state.raw('');
|
|
15
|
+
let password = $state.raw('');
|
|
16
|
+
let password_confirm = $state.raw('');
|
|
17
17
|
|
|
18
18
|
const username_valid = $derived(Username.safeParse(username).success);
|
|
19
19
|
const passwords_match = $derived(password === password_confirm);
|
package/dist/ui/Datatable.svelte
CHANGED
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
const grid_template_columns = $derived(column_widths.map((w) => `${w}px`).join(' '));
|
|
45
45
|
|
|
46
46
|
// column resize
|
|
47
|
-
let resize_col_index: number | null = $state(null);
|
|
48
|
-
let resize_start_x = $state(0);
|
|
49
|
-
let resize_start_width = $state(0);
|
|
47
|
+
let resize_col_index: number | null = $state.raw(null);
|
|
48
|
+
let resize_start_x = $state.raw(0);
|
|
49
|
+
let resize_start_width = $state.raw(0);
|
|
50
50
|
|
|
51
51
|
const handle_resize_start = (e: PointerEvent, index: number): void => {
|
|
52
52
|
e.preventDefault();
|
package/dist/ui/LoginForm.svelte
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
const auth_state = auth_state_context.get();
|
|
19
19
|
const form_state = new FormState();
|
|
20
20
|
|
|
21
|
-
let username = $state('');
|
|
22
|
-
let password = $state('');
|
|
21
|
+
let username = $state.raw('');
|
|
22
|
+
let password = $state.raw('');
|
|
23
23
|
|
|
24
24
|
const handle_login = async (): Promise<void> => {
|
|
25
25
|
const u = username.trim();
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
const auth_state = auth_state_context.get();
|
|
19
19
|
const form_state = new FormState();
|
|
20
20
|
|
|
21
|
-
let username = $state('');
|
|
22
|
-
let email = $state('');
|
|
23
|
-
let password = $state('');
|
|
24
|
-
let password_confirm = $state('');
|
|
21
|
+
let username = $state.raw('');
|
|
22
|
+
let email = $state.raw('');
|
|
23
|
+
let password = $state.raw('');
|
|
24
|
+
let password_confirm = $state.raw('');
|
|
25
25
|
|
|
26
26
|
const username_valid = $derived(Username.safeParse(username).success);
|
|
27
27
|
const passwords_match = $derived(password === password_confirm);
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
const auth_types = ['all', 'none', 'authenticated', 'role', 'keeper'] as const;
|
|
14
14
|
|
|
15
|
-
let auth_filter: (typeof auth_types)[number] = $state('all');
|
|
16
|
-
let expanded_route: string | null = $state(null);
|
|
15
|
+
let auth_filter: (typeof auth_types)[number] = $state.raw('all');
|
|
16
|
+
let expanded_route: string | null = $state.raw(null);
|
|
17
17
|
|
|
18
18
|
const summary = $derived(surface_auth_summary(surface));
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
: surface.routes.filter((r) => r.auth.type === auth_filter),
|
|
24
24
|
);
|
|
25
25
|
|
|
26
|
-
let expanded_event: string | null = $state(null);
|
|
26
|
+
let expanded_event: string | null = $state.raw(null);
|
|
27
27
|
|
|
28
28
|
const toggle_route = (key: string): void => {
|
|
29
29
|
expanded_route = expanded_route === key ? null : key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/account_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,QAAQ;IACjD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"account_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/account_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,QAAQ;IACjD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAkB;IAE9C,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAajC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Loadable } from './loadable.svelte.js';
|
|
7
7
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
8
8
|
export class AccountSessionsState extends Loadable {
|
|
9
|
-
sessions = $state([]);
|
|
9
|
+
sessions = $state.raw([]);
|
|
10
10
|
active_count = $derived(this.sessions.length);
|
|
11
11
|
async fetch() {
|
|
12
12
|
await this.run(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin_accounts_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_accounts_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"admin_accounts_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_accounts_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAkB;IACxD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkB;IAChD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAC5D,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,aAAa,SAAkC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzE"}
|
|
@@ -7,8 +7,8 @@ import { SvelteSet } from 'svelte/reactivity';
|
|
|
7
7
|
import { Loadable } from './loadable.svelte.js';
|
|
8
8
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
9
9
|
export class AdminAccountsState extends Loadable {
|
|
10
|
-
accounts = $state([]);
|
|
11
|
-
grantable_roles = $state([]);
|
|
10
|
+
accounts = $state.raw([]);
|
|
11
|
+
grantable_roles = $state.raw([]);
|
|
12
12
|
granting_keys = new SvelteSet();
|
|
13
13
|
revoking_ids = new SvelteSet();
|
|
14
14
|
account_count = $derived(this.accounts.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin_invites_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_invites_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,QAAQ;IAC9C,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"admin_invites_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_invites_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,QAAQ;IAC9C,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAkB;IACzD,QAAQ,UAAqB;IAC7B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,YAAY,SAAiC;IACtD,QAAQ,CAAC,eAAe,SAA8D;IAEhF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BlE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe9C"}
|
|
@@ -7,8 +7,8 @@ import { SvelteSet } from 'svelte/reactivity';
|
|
|
7
7
|
import { Loadable } from './loadable.svelte.js';
|
|
8
8
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
9
9
|
export class AdminInvitesState extends Loadable {
|
|
10
|
-
invites = $state([]);
|
|
11
|
-
creating = $state(false);
|
|
10
|
+
invites = $state.raw([]);
|
|
11
|
+
creating = $state.raw(false);
|
|
12
12
|
deleting_ids = new SvelteSet();
|
|
13
13
|
invite_count = $derived(this.invites.length);
|
|
14
14
|
unclaimed_count = $derived(this.invites.filter((i) => !i.claimed_at).length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"admin_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAkB;IACnD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IACnE,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAEzE,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBtE"}
|
|
@@ -7,7 +7,7 @@ import { SvelteSet } from 'svelte/reactivity';
|
|
|
7
7
|
import { Loadable } from './loadable.svelte.js';
|
|
8
8
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
9
9
|
export class AdminSessionsState extends Loadable {
|
|
10
|
-
sessions = $state([]);
|
|
10
|
+
sessions = $state.raw([]);
|
|
11
11
|
revoking_account_ids = new SvelteSet();
|
|
12
12
|
revoking_token_account_ids = new SvelteSet();
|
|
13
13
|
active_count = $derived(this.sessions.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_settings_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/app_settings_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAEhF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,2BAA2B,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"app_settings_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/app_settings_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAEhF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAoB;IAChE,QAAQ,UAAqB;IAEvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBvD"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
import { Loadable } from './loadable.svelte.js';
|
|
7
7
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
8
8
|
export class AppSettingsState extends Loadable {
|
|
9
|
-
settings = $state(null);
|
|
10
|
-
updating = $state(false);
|
|
9
|
+
settings = $state.raw(null);
|
|
10
|
+
updating = $state.raw(false);
|
|
11
11
|
async fetch() {
|
|
12
12
|
await this.run(async () => {
|
|
13
13
|
const response = await ui_fetch('/api/admin/settings');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit_log_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/audit_log_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAEX,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,QAAQ;;IAC1C,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"audit_log_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/audit_log_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAEX,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,QAAQ;;IAC1C,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAkB;IAC/D,qBAAqB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAkB;IAEtE,QAAQ,CAAC,KAAK,SAAgC;IAE9C,qDAAqD;IACrD,SAAS,UAAqB;gBAWlB,UAAU,SAAgC;IAKhD,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpD,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1E;;;;;;;OAOG;IACH,SAAS,IAAI,MAAM,IAAI;IA0CvB,gCAAgC;IAChC,UAAU,IAAI,IAAI;CAmClB"}
|
|
@@ -10,11 +10,11 @@ import { DEV } from 'esm-env';
|
|
|
10
10
|
import { Loadable } from './loadable.svelte.js';
|
|
11
11
|
import { parse_response_error, ui_fetch } from './ui_fetch.js';
|
|
12
12
|
export class AuditLogState extends Loadable {
|
|
13
|
-
events = $state([]);
|
|
14
|
-
permit_history_events = $state([]);
|
|
13
|
+
events = $state.raw([]);
|
|
14
|
+
permit_history_events = $state.raw([]);
|
|
15
15
|
count = $derived(this.events.length);
|
|
16
16
|
/** Whether the SSE stream is currently connected. */
|
|
17
|
-
connected = $state(false);
|
|
17
|
+
connected = $state.raw(false);
|
|
18
18
|
/** The highest `seq` seen — used for gap fill on reconnection. */
|
|
19
19
|
#last_seq = null;
|
|
20
20
|
/** Active EventSource instance. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/auth_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAC,KAAK,MAAM,EAAoB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE7F,qBAAa,SAAS;IACrB,SAAS,
|
|
1
|
+
{"version":3,"file":"auth_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/auth_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAC,KAAK,MAAM,EAAoB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE7F,qBAAa,SAAS;IACrB,SAAS,UAAqB;IAC9B,QAAQ,UAAqB;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC/C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAoB;IAClD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkB;IACxC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAEpC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoD;IAEjF,gEAAgE;IAChE,eAAe,UAAqB;IAEpC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BpC;;;;OAIG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCjE;;;;OAIG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCpF;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4ClF;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;CAA8B,CAAC"}
|
|
@@ -35,15 +35,15 @@ import { create_context } from '@fuzdev/fuz_ui/context_helpers.js';
|
|
|
35
35
|
import { ui_fetch } from './ui_fetch.js';
|
|
36
36
|
import { is_permit_active } from '../auth/account_schema.js';
|
|
37
37
|
export class AuthState {
|
|
38
|
-
verifying = $state(false);
|
|
39
|
-
verified = $state(false);
|
|
40
|
-
verify_error = $state(null);
|
|
41
|
-
account = $state(null);
|
|
42
|
-
permits = $state([]);
|
|
38
|
+
verifying = $state.raw(false);
|
|
39
|
+
verified = $state.raw(false);
|
|
40
|
+
verify_error = $state.raw(null);
|
|
41
|
+
account = $state.raw(null);
|
|
42
|
+
permits = $state.raw([]);
|
|
43
43
|
active_permits = $derived(this.permits.filter((p) => is_permit_active(p)));
|
|
44
44
|
roles = $derived(this.active_permits.map((p) => p.role));
|
|
45
45
|
/** True when bootstrap is available (no accounts exist yet). */
|
|
46
|
-
needs_bootstrap = $state(false);
|
|
46
|
+
needs_bootstrap = $state.raw(false);
|
|
47
47
|
/**
|
|
48
48
|
* Check auth state and bootstrap availability.
|
|
49
49
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* ```svelte
|
|
16
16
|
* <script>
|
|
17
17
|
* const form_state = new FormState();
|
|
18
|
-
* let username = $state('');
|
|
18
|
+
* let username = $state.raw('');
|
|
19
19
|
* const username_valid = $derived(Username.safeParse(username).success);
|
|
20
20
|
* const can_submit = $derived(username.trim() && username_valid);
|
|
21
21
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* ```svelte
|
|
16
16
|
* <script>
|
|
17
17
|
* const form_state = new FormState();
|
|
18
|
-
* let username = $state('');
|
|
18
|
+
* let username = $state.raw('');
|
|
19
19
|
* const username_valid = $derived(Username.safeParse(username).success);
|
|
20
20
|
* const can_submit = $derived(username.trim() && username_valid);
|
|
21
21
|
*
|
|
@@ -48,7 +48,7 @@ const FORM_INPUT_SELECTOR = 'input, textarea, select';
|
|
|
48
48
|
export class FormState {
|
|
49
49
|
#touched = new SvelteSet();
|
|
50
50
|
#form = null;
|
|
51
|
-
#attempted = $state(false);
|
|
51
|
+
#attempted = $state.raw(false);
|
|
52
52
|
/**
|
|
53
53
|
* Whether a submit attempt has been made.
|
|
54
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/loadable.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qBAAa,QAAQ,CAAC,MAAM,GAAG,MAAM;IACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"loadable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/loadable.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qBAAa,QAAQ,CAAC,MAAM,GAAG,MAAM;IACpC,OAAO,UAAqB;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAoB;IAExC,sFAAsF;IACtF,UAAU,EAAE,OAAO,CAAoB;IAEvC;;;;;;;OAOG;cACa,GAAG,CAAC,CAAC,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAChC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiBzB,wEAAwE;IACxE,KAAK,IAAI,IAAI;CAKb"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @example
|
|
9
9
|
* ```ts
|
|
10
10
|
* class ItemsState extends Loadable {
|
|
11
|
-
* items: Array<Item> = $state([]);
|
|
11
|
+
* items: Array<Item> = $state.raw([]);
|
|
12
12
|
*
|
|
13
13
|
* async fetch(): Promise<void> {
|
|
14
14
|
* await this.run(async () => {
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
* @module
|
|
37
37
|
*/
|
|
38
38
|
export class Loadable {
|
|
39
|
-
loading = $state(false);
|
|
40
|
-
error = $state(null);
|
|
39
|
+
loading = $state.raw(false);
|
|
40
|
+
error = $state.raw(null);
|
|
41
41
|
/** The raw caught value from the last failed `run()`, for programmatic inspection. */
|
|
42
|
-
error_data = $state(null);
|
|
42
|
+
error_data = $state.raw(null);
|
|
43
43
|
/**
|
|
44
44
|
* Run an async operation with loading/error handling.
|
|
45
45
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/popover.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAS9F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAElG;;GAEG;AAEH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAElE;AAED;;GAEG;AACH,qBAAa,OAAO;;IACnB,gDAAgD;IAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"popover.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/popover.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAS9F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAElG;;GAEG;AAEH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAElE;AAED;;GAEG;AACH,qBAAa,OAAO;;IACnB,gDAAgD;IAChD,OAAO,UAAqB;IAE5B,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAwB;IAE1C,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAwB;IAExC,kCAAkC;IAClC,MAAM,SAAmB;IAEzB,wDAAwD;IACxD,qBAAqB,UAAqB;IAE1C,oCAAoC;IACpC,aAAa,SAAkB;gBAoBnB,MAAM,CAAC,EAAE,iBAAiB;IAiCtC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAgEvC;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,MAAM,CAAC,OAAO,UAAgB,GAAG,IAAI;IAQrC;;OAEG;IACH,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAQhC;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CAsBpE;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CA2DpE;CACF"}
|
|
@@ -55,17 +55,17 @@ const create_client_id = () => Math.random().toString(36).substring(2);
|
|
|
55
55
|
*/
|
|
56
56
|
export class Popover {
|
|
57
57
|
/** Whether the popover is currently visible. */
|
|
58
|
-
visible = $state(false);
|
|
58
|
+
visible = $state.raw(false);
|
|
59
59
|
/** Position of the popover relative to its trigger. */
|
|
60
|
-
position = $state('bottom');
|
|
60
|
+
position = $state.raw('bottom');
|
|
61
61
|
/** Alignment along the position edge. */
|
|
62
|
-
align = $state('center');
|
|
62
|
+
align = $state.raw('center');
|
|
63
63
|
/** Distance from the position. */
|
|
64
|
-
offset = $state('0');
|
|
64
|
+
offset = $state.raw('0');
|
|
65
65
|
/** Whether to disable closing when clicking outside. */
|
|
66
|
-
disable_outside_click = $state(false);
|
|
66
|
+
disable_outside_click = $state.raw(false);
|
|
67
67
|
/** Custom class for the popover. */
|
|
68
|
-
popover_class = $state('');
|
|
68
|
+
popover_class = $state.raw('');
|
|
69
69
|
/** Reference to the trigger element. */
|
|
70
70
|
#trigger_element = null;
|
|
71
71
|
/** Reference to the content element. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { create_context } from '@fuzdev/fuz_ui/context_helpers.js';
|
|
2
2
|
export class SidebarState {
|
|
3
3
|
#get_enabled;
|
|
4
|
-
#enabled = $state(true);
|
|
5
|
-
#show_sidebar = $state(true);
|
|
4
|
+
#enabled = $state.raw(true);
|
|
5
|
+
#show_sidebar = $state.raw(true);
|
|
6
6
|
get enabled() {
|
|
7
7
|
return this.#get_enabled?.() ?? this.#enabled;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/table_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,mEAAmE;AACnE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"table_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/table_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,mEAAmE;AACnE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,MAAM,CAAkB;IACpC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAkB;IAC5C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAkB;IACtD,KAAK,SAAiB;IACtB,MAAM,SAAiB;IACvB,KAAK,SAAmB;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAoB;IAG/C,QAAQ,CAAC,aAAa,SAAoD;IAC1E,QAAQ,CAAC,WAAW,SAAkE;IACtF,QAAQ,CAAC,QAAQ,UAA6B;IAC9C,QAAQ,CAAC,QAAQ,UAAmD;IAE9D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvE,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IAIT,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAoChE"}
|
|
@@ -43,15 +43,15 @@ import { format_value } from './ui_format.js';
|
|
|
43
43
|
/** Maximum number of rows that can be fetched in a single page. */
|
|
44
44
|
export const TABLE_LIMIT_MAX = 1000;
|
|
45
45
|
export class TableState extends Loadable {
|
|
46
|
-
table_name = $state('');
|
|
47
|
-
columns = $state([]);
|
|
48
|
-
rows = $state([]);
|
|
49
|
-
total = $state(0);
|
|
50
|
-
offset = $state(0);
|
|
51
|
-
limit = $state(100);
|
|
52
|
-
primary_key = $state(null);
|
|
53
|
-
deleting = $state(null);
|
|
54
|
-
delete_error = $state(null);
|
|
46
|
+
table_name = $state.raw('');
|
|
47
|
+
columns = $state.raw([]);
|
|
48
|
+
rows = $state.raw([]);
|
|
49
|
+
total = $state.raw(0);
|
|
50
|
+
offset = $state.raw(0);
|
|
51
|
+
limit = $state.raw(100);
|
|
52
|
+
primary_key = $state.raw(null);
|
|
53
|
+
deleting = $state.raw(null);
|
|
54
|
+
delete_error = $state.raw(null);
|
|
55
55
|
// Pagination computed values
|
|
56
56
|
showing_start = $derived(this.total === 0 ? 0 : this.offset + 1);
|
|
57
57
|
showing_end = $derived(Math.min(this.offset + this.rows.length, this.total));
|