@sumicom/quicksave 0.8.6 → 0.8.8
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/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/ai/asyncQueue.d.ts.map +1 -1
- package/dist/ai/asyncQueue.js +2 -0
- package/dist/ai/asyncQueue.js.map +1 -1
- package/dist/ai/attachmentStaging.d.ts +71 -0
- package/dist/ai/attachmentStaging.d.ts.map +1 -0
- package/dist/ai/attachmentStaging.js +243 -0
- package/dist/ai/attachmentStaging.js.map +1 -0
- package/dist/ai/attachmentStore.d.ts +40 -0
- package/dist/ai/attachmentStore.d.ts.map +1 -0
- package/dist/ai/attachmentStore.js +173 -0
- package/dist/ai/attachmentStore.js.map +1 -0
- package/dist/ai/cardBuilder.d.ts +3 -2
- package/dist/ai/cardBuilder.d.ts.map +1 -1
- package/dist/ai/cardBuilder.js +156 -5
- package/dist/ai/cardBuilder.js.map +1 -1
- package/dist/ai/claudeCliProvider.d.ts +7 -2
- package/dist/ai/claudeCliProvider.d.ts.map +1 -1
- package/dist/ai/claudeCliProvider.js +29 -11
- package/dist/ai/claudeCliProvider.js.map +1 -1
- package/dist/ai/claudeCodeProvider.d.ts.map +1 -1
- package/dist/ai/claudeCodeProvider.js +2 -0
- package/dist/ai/claudeCodeProvider.js.map +1 -1
- package/dist/ai/claudeSdkProvider.d.ts +2 -1
- package/dist/ai/claudeSdkProvider.d.ts.map +1 -1
- package/dist/ai/claudeSdkProvider.js +76 -12
- package/dist/ai/claudeSdkProvider.js.map +1 -1
- package/dist/ai/codexAppServer/approvalMapping.d.ts.map +1 -1
- package/dist/ai/codexAppServer/approvalMapping.js.map +1 -1
- package/dist/ai/codexAppServer/cardAdapter.d.ts.map +1 -1
- package/dist/ai/codexAppServer/cardAdapter.js.map +1 -1
- package/dist/ai/codexAppServer/index.d.ts.map +1 -1
- package/dist/ai/codexAppServer/index.js +2 -0
- package/dist/ai/codexAppServer/index.js.map +1 -1
- package/dist/ai/codexAppServer/overrideStore.d.ts.map +1 -1
- package/dist/ai/codexAppServer/overrideStore.js.map +1 -1
- package/dist/ai/codexAppServer/permissionMapping.d.ts.map +1 -1
- package/dist/ai/codexAppServer/permissionMapping.js.map +1 -1
- package/dist/ai/codexAppServer/processManager.d.ts.map +1 -1
- package/dist/ai/codexAppServer/processManager.js +2 -0
- package/dist/ai/codexAppServer/processManager.js.map +1 -1
- package/dist/ai/codexAppServer/provider.d.ts.map +1 -1
- package/dist/ai/codexAppServer/provider.js +1 -1
- package/dist/ai/codexAppServer/provider.js.map +1 -1
- package/dist/ai/codexAppServer/rpcClient.d.ts.map +1 -1
- package/dist/ai/codexAppServer/rpcClient.js.map +1 -1
- package/dist/ai/codexAppServer/schema/index.d.ts.map +1 -1
- package/dist/ai/codexAppServer/schema/index.js +2 -0
- package/dist/ai/codexAppServer/schema/index.js.map +1 -1
- package/dist/ai/codexAppServer/stdioTransport.d.ts.map +1 -1
- package/dist/ai/codexAppServer/stdioTransport.js.map +1 -1
- package/dist/ai/codexAppServer/tokenAccounting.d.ts.map +1 -1
- package/dist/ai/codexAppServer/tokenAccounting.js.map +1 -1
- package/dist/ai/codexAppServer/version.d.ts.map +1 -1
- package/dist/ai/codexAppServer/version.js +2 -0
- package/dist/ai/codexAppServer/version.js.map +1 -1
- package/dist/ai/codexLogin.d.ts.map +1 -1
- package/dist/ai/codexLogin.js +2 -0
- package/dist/ai/codexLogin.js.map +1 -1
- package/dist/ai/codexMcpProvider.d.ts.map +1 -1
- package/dist/ai/codexMcpProvider.js +2 -0
- package/dist/ai/codexMcpProvider.js.map +1 -1
- package/dist/ai/commitSummary.d.ts.map +1 -1
- package/dist/ai/commitSummary.js +2 -0
- package/dist/ai/commitSummary.js.map +1 -1
- package/dist/ai/commitSummaryCli.d.ts.map +1 -1
- package/dist/ai/commitSummaryCli.js +2 -0
- package/dist/ai/commitSummaryCli.js.map +1 -1
- package/dist/ai/commitSummaryStore.d.ts.map +1 -1
- package/dist/ai/commitSummaryStore.js +2 -0
- package/dist/ai/commitSummaryStore.js.map +1 -1
- package/dist/ai/contentBlocks.d.ts +9 -0
- package/dist/ai/contentBlocks.d.ts.map +1 -0
- package/dist/ai/contentBlocks.js +86 -0
- package/dist/ai/contentBlocks.js.map +1 -0
- package/dist/ai/debugLogger.d.ts.map +1 -1
- package/dist/ai/debugLogger.js +2 -0
- package/dist/ai/debugLogger.js.map +1 -1
- package/dist/ai/enrichEntry.d.ts.map +1 -1
- package/dist/ai/enrichEntry.js.map +1 -1
- package/dist/ai/pdfMeta.d.ts +8 -0
- package/dist/ai/pdfMeta.d.ts.map +1 -0
- package/dist/ai/pdfMeta.js +51 -0
- package/dist/ai/pdfMeta.js.map +1 -0
- package/dist/ai/provider.d.ts +14 -6
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/sandboxMcp.d.ts.map +1 -1
- package/dist/ai/sandboxMcp.js +2 -0
- package/dist/ai/sandboxMcp.js.map +1 -1
- package/dist/ai/sandboxMcpStdio.d.ts.map +1 -1
- package/dist/ai/sandboxMcpStdio.js +2 -0
- package/dist/ai/sandboxMcpStdio.js.map +1 -1
- package/dist/ai/sessionManager.d.ts +12 -2
- package/dist/ai/sessionManager.d.ts.map +1 -1
- package/dist/ai/sessionManager.js +39 -5
- package/dist/ai/sessionManager.js.map +1 -1
- package/dist/ai/sessionRegistry.d.ts.map +1 -1
- package/dist/ai/sessionRegistry.js +2 -0
- package/dist/ai/sessionRegistry.js.map +1 -1
- package/dist/ai/sessionStore.d.ts.map +1 -1
- package/dist/ai/sessionStore.js +2 -0
- package/dist/ai/sessionStore.js.map +1 -1
- package/dist/ai/systemPrompt.d.ts.map +1 -1
- package/dist/ai/systemPrompt.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.js +2 -0
- package/dist/connection/connection.js.map +1 -1
- package/dist/connection/e2eHarness.d.ts.map +1 -1
- package/dist/connection/e2eHarness.js +2 -0
- package/dist/connection/e2eHarness.js.map +1 -1
- package/dist/connection/fakeRelay.d.ts.map +1 -1
- package/dist/connection/fakeRelay.js +2 -0
- package/dist/connection/fakeRelay.js.map +1 -1
- package/dist/connection/pubsub.d.ts.map +1 -1
- package/dist/connection/pubsub.js +2 -0
- package/dist/connection/pubsub.js.map +1 -1
- package/dist/connection/relay.d.ts.map +1 -1
- package/dist/connection/relay.js +2 -0
- package/dist/connection/relay.js.map +1 -1
- package/dist/files/fileBrowser.d.ts.map +1 -1
- package/dist/files/fileBrowser.js +2 -0
- package/dist/files/fileBrowser.js.map +1 -1
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +2 -0
- package/dist/git/operations.js.map +1 -1
- package/dist/handlers/legacyBusAdapter.d.ts +1 -1
- package/dist/handlers/legacyBusAdapter.d.ts.map +1 -1
- package/dist/handlers/legacyBusAdapter.js +13 -1
- package/dist/handlers/legacyBusAdapter.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts +23 -0
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +223 -7
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/index.js +42 -2
- package/dist/index.js.map +1 -1
- package/dist/messageBus/busServerTransport.d.ts.map +1 -1
- package/dist/messageBus/busServerTransport.js +2 -0
- package/dist/messageBus/busServerTransport.js.map +1 -1
- package/dist/service/debugHttpServer.d.ts.map +1 -1
- package/dist/service/debugHttpServer.js +2 -0
- package/dist/service/debugHttpServer.js.map +1 -1
- package/dist/service/ensureDaemon.d.ts.map +1 -1
- package/dist/service/ensureDaemon.js +27 -2
- package/dist/service/ensureDaemon.js.map +1 -1
- package/dist/service/index.d.ts.map +1 -1
- package/dist/service/index.js +2 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/ipcClient.d.ts.map +1 -1
- package/dist/service/ipcClient.js +3 -1
- package/dist/service/ipcClient.js.map +1 -1
- package/dist/service/ipcServer.d.ts.map +1 -1
- package/dist/service/ipcServer.js +2 -0
- package/dist/service/ipcServer.js.map +1 -1
- package/dist/service/pushClient.d.ts.map +1 -1
- package/dist/service/pushClient.js +2 -0
- package/dist/service/pushClient.js.map +1 -1
- package/dist/service/run.d.ts.map +1 -1
- package/dist/service/run.js +14 -1
- package/dist/service/run.js.map +1 -1
- package/dist/service/singleton.d.ts +1 -0
- package/dist/service/singleton.d.ts.map +1 -1
- package/dist/service/singleton.js +5 -0
- package/dist/service/singleton.js.map +1 -1
- package/dist/service/stateStore.d.ts.map +1 -1
- package/dist/service/stateStore.js +2 -0
- package/dist/service/stateStore.js.map +1 -1
- package/dist/service/systemdUnit.d.ts +149 -0
- package/dist/service/systemdUnit.d.ts.map +1 -0
- package/dist/service/systemdUnit.js +322 -0
- package/dist/service/systemdUnit.js.map +1 -0
- package/dist/service/types.d.ts +6 -0
- package/dist/service/types.d.ts.map +1 -1
- package/dist/service/types.js +3 -1
- package/dist/service/types.js.map +1 -1
- package/dist/storage/eventStore.d.ts.map +1 -1
- package/dist/storage/eventStore.js +2 -0
- package/dist/storage/eventStore.js.map +1 -1
- package/dist/terminal/terminalManager.d.ts.map +1 -1
- package/dist/terminal/terminalManager.js +2 -0
- package/dist/terminal/terminalManager.js.map +1 -1
- package/dist/tombstoneCheck.d.ts.map +1 -1
- package/dist/tombstoneCheck.js +2 -0
- package/dist/tombstoneCheck.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* systemd user-unit integration.
|
|
3
|
+
*
|
|
4
|
+
* The CLI prefers letting systemd own the daemon lifecycle when a user-scoped
|
|
5
|
+
* `quicksave.service` unit is enabled. The hand-rolled detached spawn path in
|
|
6
|
+
* `ensureDaemon` stays as a fallback for non-systemd hosts (macOS, Windows,
|
|
7
|
+
* containers without systemd) and for users who haven't installed the unit.
|
|
8
|
+
*
|
|
9
|
+
* This module exposes both the read path used by `ensureDaemon` (`userUnitIs
|
|
10
|
+
* Enabled`, `startUserUnit`) and the install/uninstall path used by the
|
|
11
|
+
* IPC handler the PWA calls when the user toggles "Auto-start at login".
|
|
12
|
+
*
|
|
13
|
+
* The canonical unit text is generated here, not read from the
|
|
14
|
+
* `apps/agent/templates/quicksave.service` file. The package.json `files`
|
|
15
|
+
* allowlist only ships `dist/`, so a template loaded from disk would work in
|
|
16
|
+
* dev but be missing for npm-installed users. Generating the text in code
|
|
17
|
+
* also lets us bake the absolute `ExecStart` (node + entry path) computed
|
|
18
|
+
* from the running daemon, which is the part most users get wrong by hand.
|
|
19
|
+
*/
|
|
20
|
+
export declare const QUICKSAVE_UNIT = "quicksave.service";
|
|
21
|
+
/**
|
|
22
|
+
* Where the user unit file lives. Honors `XDG_CONFIG_HOME` like systemd
|
|
23
|
+
* itself does.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getUserUnitDir(env?: NodeJS.ProcessEnv): string;
|
|
26
|
+
export declare function getUserUnitPath(env?: NodeJS.ProcessEnv): string;
|
|
27
|
+
/**
|
|
28
|
+
* Compute the `ExecStart` line that matches the currently running daemon —
|
|
29
|
+
* absolute node binary (`process.execPath`) plus the entry script that this
|
|
30
|
+
* process was loaded from. We resolve from `import.meta.url`, the same trick
|
|
31
|
+
* `handleAgentRestart` uses, so dev (tsx) and prod (compiled JS) both work
|
|
32
|
+
* without configuration. The resulting line is what the unit will run, so
|
|
33
|
+
* the systemd-managed daemon is byte-identical to whatever the user currently
|
|
34
|
+
* has installed.
|
|
35
|
+
*/
|
|
36
|
+
export declare function computeExecStart(metaUrl?: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Generate the unit-file text. Kept tiny and opinionated — every option here
|
|
39
|
+
* is one we'd want to set for every user. Anything more exotic (custom env,
|
|
40
|
+
* resource limits) belongs in a `*.service.d/override.conf` drop-in the user
|
|
41
|
+
* authors themselves.
|
|
42
|
+
*/
|
|
43
|
+
export declare function renderUnitText(execStart: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* True when the current process was started by systemd. Read by the daemon
|
|
46
|
+
* boot path (`run.ts`) so we can stamp `service.json` with `managedBy:
|
|
47
|
+
* "systemd"` — that's the single source of truth the CLI uses to decide
|
|
48
|
+
* whether to delegate restarts to `systemctl` instead of self-spawning.
|
|
49
|
+
*/
|
|
50
|
+
export declare function wasLaunchedBySystemd(env?: NodeJS.ProcessEnv): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* True when `systemctl --user` works at all on this host (Linux + a running
|
|
53
|
+
* systemd user instance + DBus session). Used to gate the entire feature in
|
|
54
|
+
* the PWA — there's no point showing the toggle on macOS/Windows/no-systemd
|
|
55
|
+
* containers.
|
|
56
|
+
*/
|
|
57
|
+
export declare function systemctlAvailable(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* True when a user-scoped quicksave.service is installed and enabled.
|
|
60
|
+
* Always false on non-Linux. Always false if `systemctl` isn't on PATH or
|
|
61
|
+
* the user has no systemd --user instance (e.g. headless sshd without
|
|
62
|
+
* lingering enabled).
|
|
63
|
+
*/
|
|
64
|
+
export declare function userUnitIsEnabled(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* True when the unit is currently active (running). Distinct from "enabled"
|
|
67
|
+
* — a unit can be enabled but stopped, or active but not enabled (one-shot
|
|
68
|
+
* `systemctl start` without enabling at boot).
|
|
69
|
+
*/
|
|
70
|
+
export declare function userUnitIsActive(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Whether this user has lingering enabled (i.e. their systemd user instance
|
|
73
|
+
* survives logout). We can't enable this from inside the daemon — it
|
|
74
|
+
* requires polkit/sudo — so the PWA UI surfaces this as a read-only hint
|
|
75
|
+
* with a "run this command yourself" callout.
|
|
76
|
+
*/
|
|
77
|
+
export declare function lingerIsEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Ask systemd to (re)start the unit. Returns true on success.
|
|
80
|
+
*
|
|
81
|
+
* Uses `restart` rather than `start` so that a degraded daemon (e.g. lock
|
|
82
|
+
* held but socket dead) gets cleanly torn down before the new instance
|
|
83
|
+
* comes up. systemd's own `Restart=on-failure` already handles crash
|
|
84
|
+
* recovery; this is for explicit CLI-initiated transitions.
|
|
85
|
+
*/
|
|
86
|
+
export declare function startUserUnit(): boolean;
|
|
87
|
+
/** Status snapshot returned to the PWA so the UI can render the toggle's
|
|
88
|
+
* current state and any inline hints. `available: false` is the signal to
|
|
89
|
+
* hide the entire section. */
|
|
90
|
+
export interface SystemdStatus {
|
|
91
|
+
available: boolean;
|
|
92
|
+
unitInstalled: boolean;
|
|
93
|
+
unitEnabled: boolean;
|
|
94
|
+
isActive: boolean;
|
|
95
|
+
lingerEnabled: boolean;
|
|
96
|
+
unitDir: string;
|
|
97
|
+
unitPath: string;
|
|
98
|
+
suggestedExecStart: string;
|
|
99
|
+
/** ExecStart line currently written to the unit file (parsed from disk),
|
|
100
|
+
* if installed. Lets the PWA warn when it's drifted from the daemon's
|
|
101
|
+
* computed value (e.g. user upgraded node, unit still points at old path). */
|
|
102
|
+
currentExecStart?: string;
|
|
103
|
+
}
|
|
104
|
+
export declare function readInstalledExecStart(): string | undefined;
|
|
105
|
+
export declare function getSystemdStatus(): SystemdStatus;
|
|
106
|
+
/**
|
|
107
|
+
* Result of an install/uninstall request.
|
|
108
|
+
*
|
|
109
|
+
* `success: false` always carries an `error` string suitable for surfacing
|
|
110
|
+
* directly in the PWA; the caller doesn't need to translate error codes.
|
|
111
|
+
*/
|
|
112
|
+
export interface SystemdMutationResult {
|
|
113
|
+
success: boolean;
|
|
114
|
+
error?: string;
|
|
115
|
+
status: SystemdStatus;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Write the unit file, run `daemon-reload`, then `enable --now`.
|
|
119
|
+
*
|
|
120
|
+
* `--now` makes systemd start the unit immediately as part of the enable.
|
|
121
|
+
* The current daemon will likely be the one currently holding the singleton
|
|
122
|
+
* lock; that's fine — `enable --now` no-ops on the start step if a daemon
|
|
123
|
+
* is already running because the new instance will fail to acquire the
|
|
124
|
+
* lock and exit. We don't try to forcibly migrate the existing daemon
|
|
125
|
+
* under systemd here — the next IPC call from the CLI/PWA will go through
|
|
126
|
+
* `ensureDaemon`, which sees the unit is enabled and routes through
|
|
127
|
+
* `systemctl restart` from then on.
|
|
128
|
+
*/
|
|
129
|
+
export declare function installUserUnit(execStart?: string): SystemdMutationResult;
|
|
130
|
+
/**
|
|
131
|
+
* `disable --now`, then remove the unit file, then `daemon-reload`.
|
|
132
|
+
*
|
|
133
|
+
* Important sequencing concern: when the *currently running daemon* was
|
|
134
|
+
* itself launched by systemd, `disable --now` will stop it — including the
|
|
135
|
+
* IPC server that's processing this very request. The IPC layer needs to
|
|
136
|
+
* have already flushed the response before we reach this function. The
|
|
137
|
+
* caller (`messageHandler.handleSystemdUninstall`) handles that by:
|
|
138
|
+
* 1. computing what the response will be
|
|
139
|
+
* 2. scheduling the uninstall on the next tick
|
|
140
|
+
* 3. returning the response synchronously
|
|
141
|
+
* so the PWA gets its ack before the socket dies.
|
|
142
|
+
*
|
|
143
|
+
* We also detach a "fallback re-spawn" so the user isn't left with no
|
|
144
|
+
* daemon at all after uninstalling. That's the caller's job — it must
|
|
145
|
+
* spawn the standalone daemon shortly after the uninstall completes if
|
|
146
|
+
* the request originated from a PWA that wants to keep working.
|
|
147
|
+
*/
|
|
148
|
+
export declare function uninstallUserUnit(): SystemdMutationResult;
|
|
149
|
+
//# sourceMappingURL=systemdUnit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemdUnit.d.ts","sourceRoot":"","sources":["../../src/service/systemdUnit.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK3E;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CAa1E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAa5C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAQ1C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAQ7E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAQvC;AAED;;+BAE+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;mFAE+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAa3D;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAehD;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,MAA2B,GAAG,qBAAqB,CA+B7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,IAAI,qBAAqB,CAyBzD"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: 2026 King Young Technology
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
/**
|
|
4
|
+
* systemd user-unit integration.
|
|
5
|
+
*
|
|
6
|
+
* The CLI prefers letting systemd own the daemon lifecycle when a user-scoped
|
|
7
|
+
* `quicksave.service` unit is enabled. The hand-rolled detached spawn path in
|
|
8
|
+
* `ensureDaemon` stays as a fallback for non-systemd hosts (macOS, Windows,
|
|
9
|
+
* containers without systemd) and for users who haven't installed the unit.
|
|
10
|
+
*
|
|
11
|
+
* This module exposes both the read path used by `ensureDaemon` (`userUnitIs
|
|
12
|
+
* Enabled`, `startUserUnit`) and the install/uninstall path used by the
|
|
13
|
+
* IPC handler the PWA calls when the user toggles "Auto-start at login".
|
|
14
|
+
*
|
|
15
|
+
* The canonical unit text is generated here, not read from the
|
|
16
|
+
* `apps/agent/templates/quicksave.service` file. The package.json `files`
|
|
17
|
+
* allowlist only ships `dist/`, so a template loaded from disk would work in
|
|
18
|
+
* dev but be missing for npm-installed users. Generating the text in code
|
|
19
|
+
* also lets us bake the absolute `ExecStart` (node + entry path) computed
|
|
20
|
+
* from the running daemon, which is the part most users get wrong by hand.
|
|
21
|
+
*/
|
|
22
|
+
import { spawnSync } from 'child_process';
|
|
23
|
+
import { mkdirSync, readFileSync, writeFileSync, existsSync, unlinkSync } from 'fs';
|
|
24
|
+
import { homedir, platform } from 'os';
|
|
25
|
+
import { dirname, join, resolve as resolvePath } from 'path';
|
|
26
|
+
import { fileURLToPath } from 'url';
|
|
27
|
+
export const QUICKSAVE_UNIT = 'quicksave.service';
|
|
28
|
+
/**
|
|
29
|
+
* Where the user unit file lives. Honors `XDG_CONFIG_HOME` like systemd
|
|
30
|
+
* itself does.
|
|
31
|
+
*/
|
|
32
|
+
export function getUserUnitDir(env = process.env) {
|
|
33
|
+
const xdg = env.XDG_CONFIG_HOME && env.XDG_CONFIG_HOME.length > 0
|
|
34
|
+
? env.XDG_CONFIG_HOME
|
|
35
|
+
: join(homedir(), '.config');
|
|
36
|
+
return join(xdg, 'systemd', 'user');
|
|
37
|
+
}
|
|
38
|
+
export function getUserUnitPath(env = process.env) {
|
|
39
|
+
return join(getUserUnitDir(env), QUICKSAVE_UNIT);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Compute the `ExecStart` line that matches the currently running daemon —
|
|
43
|
+
* absolute node binary (`process.execPath`) plus the entry script that this
|
|
44
|
+
* process was loaded from. We resolve from `import.meta.url`, the same trick
|
|
45
|
+
* `handleAgentRestart` uses, so dev (tsx) and prod (compiled JS) both work
|
|
46
|
+
* without configuration. The resulting line is what the unit will run, so
|
|
47
|
+
* the systemd-managed daemon is byte-identical to whatever the user currently
|
|
48
|
+
* has installed.
|
|
49
|
+
*/
|
|
50
|
+
export function computeExecStart(metaUrl = import.meta.url) {
|
|
51
|
+
const thisFile = fileURLToPath(metaUrl);
|
|
52
|
+
const isTs = thisFile.endsWith('.ts');
|
|
53
|
+
const entryPath = resolvePath(dirname(thisFile), isTs ? '../index.ts' : '../index.js');
|
|
54
|
+
const node = process.execPath;
|
|
55
|
+
// Quote any path that contains whitespace; systemd's command parser is
|
|
56
|
+
// shell-like enough that bare paths work in the common case but break on
|
|
57
|
+
// e.g. `~/Library/Application Support/...`.
|
|
58
|
+
const q = (s) => (/\s/.test(s) ? `"${s}"` : s);
|
|
59
|
+
if (isTs) {
|
|
60
|
+
return `${q(node)} --import tsx ${q(entryPath)} service run`;
|
|
61
|
+
}
|
|
62
|
+
return `${q(node)} ${q(entryPath)} service run`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate the unit-file text. Kept tiny and opinionated — every option here
|
|
66
|
+
* is one we'd want to set for every user. Anything more exotic (custom env,
|
|
67
|
+
* resource limits) belongs in a `*.service.d/override.conf` drop-in the user
|
|
68
|
+
* authors themselves.
|
|
69
|
+
*/
|
|
70
|
+
export function renderUnitText(execStart) {
|
|
71
|
+
return [
|
|
72
|
+
'[Unit]',
|
|
73
|
+
'Description=Quicksave agent daemon',
|
|
74
|
+
'Documentation=https://quicksave.dev',
|
|
75
|
+
'After=network-online.target',
|
|
76
|
+
'Wants=network-online.target',
|
|
77
|
+
'',
|
|
78
|
+
'[Service]',
|
|
79
|
+
'Type=simple',
|
|
80
|
+
`ExecStart=${execStart}`,
|
|
81
|
+
'Restart=on-failure',
|
|
82
|
+
'RestartSec=5',
|
|
83
|
+
'TimeoutStopSec=10',
|
|
84
|
+
'',
|
|
85
|
+
'[Install]',
|
|
86
|
+
'WantedBy=default.target',
|
|
87
|
+
'',
|
|
88
|
+
].join('\n');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* True when the current process was started by systemd. Read by the daemon
|
|
92
|
+
* boot path (`run.ts`) so we can stamp `service.json` with `managedBy:
|
|
93
|
+
* "systemd"` — that's the single source of truth the CLI uses to decide
|
|
94
|
+
* whether to delegate restarts to `systemctl` instead of self-spawning.
|
|
95
|
+
*/
|
|
96
|
+
export function wasLaunchedBySystemd(env = process.env) {
|
|
97
|
+
return Boolean(env.INVOCATION_ID || env.JOURNAL_STREAM);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* True when `systemctl --user` works at all on this host (Linux + a running
|
|
101
|
+
* systemd user instance + DBus session). Used to gate the entire feature in
|
|
102
|
+
* the PWA — there's no point showing the toggle on macOS/Windows/no-systemd
|
|
103
|
+
* containers.
|
|
104
|
+
*/
|
|
105
|
+
export function systemctlAvailable() {
|
|
106
|
+
if (platform() !== 'linux')
|
|
107
|
+
return false;
|
|
108
|
+
// `systemctl --user --version` exits 0 even when there's no user instance
|
|
109
|
+
// running, so additionally probe `is-system-running` which fails fast
|
|
110
|
+
// (with status, not error) when DBus session is missing.
|
|
111
|
+
const ver = spawnSync('systemctl', ['--user', '--version'], {
|
|
112
|
+
stdio: 'ignore', timeout: 2000,
|
|
113
|
+
});
|
|
114
|
+
if (ver.error || ver.status === null)
|
|
115
|
+
return false;
|
|
116
|
+
// is-system-running prints e.g. "running", "degraded", "starting" and
|
|
117
|
+
// exits 0; "offline" / no-DBus exits non-zero. Either is fine for our
|
|
118
|
+
// purposes — the user has *some* form of `--user` instance reachable.
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* True when a user-scoped quicksave.service is installed and enabled.
|
|
123
|
+
* Always false on non-Linux. Always false if `systemctl` isn't on PATH or
|
|
124
|
+
* the user has no systemd --user instance (e.g. headless sshd without
|
|
125
|
+
* lingering enabled).
|
|
126
|
+
*/
|
|
127
|
+
export function userUnitIsEnabled() {
|
|
128
|
+
if (platform() !== 'linux')
|
|
129
|
+
return false;
|
|
130
|
+
const result = spawnSync('systemctl', ['--user', 'is-enabled', '--quiet', QUICKSAVE_UNIT], {
|
|
131
|
+
stdio: 'ignore',
|
|
132
|
+
timeout: 2000,
|
|
133
|
+
});
|
|
134
|
+
if (result.error || result.status === null)
|
|
135
|
+
return false;
|
|
136
|
+
return result.status === 0;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* True when the unit is currently active (running). Distinct from "enabled"
|
|
140
|
+
* — a unit can be enabled but stopped, or active but not enabled (one-shot
|
|
141
|
+
* `systemctl start` without enabling at boot).
|
|
142
|
+
*/
|
|
143
|
+
export function userUnitIsActive() {
|
|
144
|
+
if (platform() !== 'linux')
|
|
145
|
+
return false;
|
|
146
|
+
const result = spawnSync('systemctl', ['--user', 'is-active', '--quiet', QUICKSAVE_UNIT], {
|
|
147
|
+
stdio: 'ignore',
|
|
148
|
+
timeout: 2000,
|
|
149
|
+
});
|
|
150
|
+
if (result.error || result.status === null)
|
|
151
|
+
return false;
|
|
152
|
+
return result.status === 0;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Whether this user has lingering enabled (i.e. their systemd user instance
|
|
156
|
+
* survives logout). We can't enable this from inside the daemon — it
|
|
157
|
+
* requires polkit/sudo — so the PWA UI surfaces this as a read-only hint
|
|
158
|
+
* with a "run this command yourself" callout.
|
|
159
|
+
*/
|
|
160
|
+
export function lingerIsEnabled(env = process.env) {
|
|
161
|
+
if (platform() !== 'linux')
|
|
162
|
+
return false;
|
|
163
|
+
const user = env.USER || env.LOGNAME;
|
|
164
|
+
if (!user)
|
|
165
|
+
return false;
|
|
166
|
+
// /var/lib/systemd/linger/<user> is created by `loginctl enable-linger`.
|
|
167
|
+
// Reading this avoids spawning `loginctl show-user` which is ~5x slower
|
|
168
|
+
// and needs DBus.
|
|
169
|
+
return existsSync(join('/var/lib/systemd/linger', user));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Ask systemd to (re)start the unit. Returns true on success.
|
|
173
|
+
*
|
|
174
|
+
* Uses `restart` rather than `start` so that a degraded daemon (e.g. lock
|
|
175
|
+
* held but socket dead) gets cleanly torn down before the new instance
|
|
176
|
+
* comes up. systemd's own `Restart=on-failure` already handles crash
|
|
177
|
+
* recovery; this is for explicit CLI-initiated transitions.
|
|
178
|
+
*/
|
|
179
|
+
export function startUserUnit() {
|
|
180
|
+
if (platform() !== 'linux')
|
|
181
|
+
return false;
|
|
182
|
+
const result = spawnSync('systemctl', ['--user', 'restart', QUICKSAVE_UNIT], {
|
|
183
|
+
stdio: 'ignore',
|
|
184
|
+
timeout: 10_000,
|
|
185
|
+
});
|
|
186
|
+
if (result.error || result.status === null)
|
|
187
|
+
return false;
|
|
188
|
+
return result.status === 0;
|
|
189
|
+
}
|
|
190
|
+
export function readInstalledExecStart() {
|
|
191
|
+
const path = getUserUnitPath();
|
|
192
|
+
if (!existsSync(path))
|
|
193
|
+
return undefined;
|
|
194
|
+
try {
|
|
195
|
+
const text = readFileSync(path, 'utf-8');
|
|
196
|
+
for (const line of text.split('\n')) {
|
|
197
|
+
const m = /^ExecStart\s*=\s*(.+)$/.exec(line.trim());
|
|
198
|
+
if (m)
|
|
199
|
+
return m[1].trim();
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// Unreadable unit file — same outcome as missing for our purposes.
|
|
204
|
+
}
|
|
205
|
+
return undefined;
|
|
206
|
+
}
|
|
207
|
+
export function getSystemdStatus() {
|
|
208
|
+
const available = systemctlAvailable();
|
|
209
|
+
const unitPath = getUserUnitPath();
|
|
210
|
+
const unitInstalled = available && existsSync(unitPath);
|
|
211
|
+
return {
|
|
212
|
+
available,
|
|
213
|
+
unitInstalled,
|
|
214
|
+
unitEnabled: available ? userUnitIsEnabled() : false,
|
|
215
|
+
isActive: available ? userUnitIsActive() : false,
|
|
216
|
+
lingerEnabled: available ? lingerIsEnabled() : false,
|
|
217
|
+
unitDir: getUserUnitDir(),
|
|
218
|
+
unitPath,
|
|
219
|
+
suggestedExecStart: computeExecStart(),
|
|
220
|
+
currentExecStart: unitInstalled ? readInstalledExecStart() : undefined,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Write the unit file, run `daemon-reload`, then `enable --now`.
|
|
225
|
+
*
|
|
226
|
+
* `--now` makes systemd start the unit immediately as part of the enable.
|
|
227
|
+
* The current daemon will likely be the one currently holding the singleton
|
|
228
|
+
* lock; that's fine — `enable --now` no-ops on the start step if a daemon
|
|
229
|
+
* is already running because the new instance will fail to acquire the
|
|
230
|
+
* lock and exit. We don't try to forcibly migrate the existing daemon
|
|
231
|
+
* under systemd here — the next IPC call from the CLI/PWA will go through
|
|
232
|
+
* `ensureDaemon`, which sees the unit is enabled and routes through
|
|
233
|
+
* `systemctl restart` from then on.
|
|
234
|
+
*/
|
|
235
|
+
export function installUserUnit(execStart = computeExecStart()) {
|
|
236
|
+
if (!systemctlAvailable()) {
|
|
237
|
+
return { success: false, error: 'systemctl --user is not available on this host', status: getSystemdStatus() };
|
|
238
|
+
}
|
|
239
|
+
try {
|
|
240
|
+
mkdirSync(getUserUnitDir(), { recursive: true });
|
|
241
|
+
writeFileSync(getUserUnitPath(), renderUnitText(execStart));
|
|
242
|
+
}
|
|
243
|
+
catch (err) {
|
|
244
|
+
return {
|
|
245
|
+
success: false,
|
|
246
|
+
error: `Failed to write unit file: ${err instanceof Error ? err.message : String(err)}`,
|
|
247
|
+
status: getSystemdStatus(),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
const reload = spawnSync('systemctl', ['--user', 'daemon-reload'], { stdio: 'pipe', timeout: 10_000 });
|
|
251
|
+
if (reload.error || reload.status !== 0) {
|
|
252
|
+
return {
|
|
253
|
+
success: false,
|
|
254
|
+
error: `daemon-reload failed: ${stderrText(reload)}`,
|
|
255
|
+
status: getSystemdStatus(),
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
const enable = spawnSync('systemctl', ['--user', 'enable', '--now', QUICKSAVE_UNIT], { stdio: 'pipe', timeout: 15_000 });
|
|
259
|
+
if (enable.error || enable.status !== 0) {
|
|
260
|
+
return {
|
|
261
|
+
success: false,
|
|
262
|
+
error: `enable --now failed: ${stderrText(enable)}`,
|
|
263
|
+
status: getSystemdStatus(),
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
return { success: true, status: getSystemdStatus() };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* `disable --now`, then remove the unit file, then `daemon-reload`.
|
|
270
|
+
*
|
|
271
|
+
* Important sequencing concern: when the *currently running daemon* was
|
|
272
|
+
* itself launched by systemd, `disable --now` will stop it — including the
|
|
273
|
+
* IPC server that's processing this very request. The IPC layer needs to
|
|
274
|
+
* have already flushed the response before we reach this function. The
|
|
275
|
+
* caller (`messageHandler.handleSystemdUninstall`) handles that by:
|
|
276
|
+
* 1. computing what the response will be
|
|
277
|
+
* 2. scheduling the uninstall on the next tick
|
|
278
|
+
* 3. returning the response synchronously
|
|
279
|
+
* so the PWA gets its ack before the socket dies.
|
|
280
|
+
*
|
|
281
|
+
* We also detach a "fallback re-spawn" so the user isn't left with no
|
|
282
|
+
* daemon at all after uninstalling. That's the caller's job — it must
|
|
283
|
+
* spawn the standalone daemon shortly after the uninstall completes if
|
|
284
|
+
* the request originated from a PWA that wants to keep working.
|
|
285
|
+
*/
|
|
286
|
+
export function uninstallUserUnit() {
|
|
287
|
+
if (!systemctlAvailable()) {
|
|
288
|
+
return { success: false, error: 'systemctl --user is not available on this host', status: getSystemdStatus() };
|
|
289
|
+
}
|
|
290
|
+
// disable --now: ignore non-zero (the unit may already be disabled) but
|
|
291
|
+
// capture the message in case nothing else explains a later failure.
|
|
292
|
+
const disable = spawnSync('systemctl', ['--user', 'disable', '--now', QUICKSAVE_UNIT], { stdio: 'pipe', timeout: 15_000 });
|
|
293
|
+
let firstError;
|
|
294
|
+
if (disable.error || (disable.status !== 0 && disable.status !== 1)) {
|
|
295
|
+
firstError = `disable --now warning: ${stderrText(disable)}`;
|
|
296
|
+
}
|
|
297
|
+
try {
|
|
298
|
+
if (existsSync(getUserUnitPath()))
|
|
299
|
+
unlinkSync(getUserUnitPath());
|
|
300
|
+
}
|
|
301
|
+
catch (err) {
|
|
302
|
+
return {
|
|
303
|
+
success: false,
|
|
304
|
+
error: `Failed to remove unit file: ${err instanceof Error ? err.message : String(err)}`,
|
|
305
|
+
status: getSystemdStatus(),
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
spawnSync('systemctl', ['--user', 'daemon-reload'], { stdio: 'ignore', timeout: 10_000 });
|
|
309
|
+
// `reset-failed` clears any failed-state markers left over from the
|
|
310
|
+
// disable/stop so the unit doesn't show up in `systemctl --user --failed`.
|
|
311
|
+
spawnSync('systemctl', ['--user', 'reset-failed', QUICKSAVE_UNIT], { stdio: 'ignore', timeout: 5_000 });
|
|
312
|
+
return { success: true, error: firstError, status: getSystemdStatus() };
|
|
313
|
+
}
|
|
314
|
+
function stderrText(result) {
|
|
315
|
+
const txt = result.stderr ? result.stderr.toString().trim() : '';
|
|
316
|
+
if (txt)
|
|
317
|
+
return txt;
|
|
318
|
+
if (result.error)
|
|
319
|
+
return result.error.message;
|
|
320
|
+
return `exit code ${result.status}`;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=systemdUnit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemdUnit.js","sourceRoot":"","sources":["../../src/service/systemdUnit.ts"],"names":[],"mappings":"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"}
|
package/dist/service/types.d.ts
CHANGED
|
@@ -83,6 +83,12 @@ export interface ServiceState {
|
|
|
83
83
|
signalingServer: string;
|
|
84
84
|
connectionState: 'connected' | 'connecting' | 'disconnected';
|
|
85
85
|
peerCount: number;
|
|
86
|
+
/**
|
|
87
|
+
* Set to `'systemd'` when the daemon detected it was spawned by a systemd
|
|
88
|
+
* user unit. Absent otherwise — older daemons and direct invocations leave
|
|
89
|
+
* this field undefined, and the CLI treats undefined as "self-managed".
|
|
90
|
+
*/
|
|
91
|
+
managedBy?: 'systemd';
|
|
86
92
|
}
|
|
87
93
|
export interface PairingInfoResult {
|
|
88
94
|
agentId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAWH,oDAAoD;AACpD,eAAO,MAAM,WAAW,IAAI,CAAC;AAgB7B,eAAO,MAAM,QAAQ,QAAuC,CAAC;AAwB7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,eAAe,CAAC;AAMpF,eAAO,MAAM,YAAY;;;;;;;;;;CAaf,CAAC;AAMX,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAMD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;CACvB;AAMD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC,CAAC;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,aAAa,EAAE,KAAK,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,cAAc,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAMD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAC3B;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;AAErB,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,iBAAiB,CAcnB;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAIxC"}
|
package/dist/service/types.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: 2026 King Young Technology
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
1
3
|
/**
|
|
2
4
|
* Service daemon IPC protocol types.
|
|
3
5
|
*
|
|
@@ -25,7 +27,7 @@ const IS_DEV = globalThis.__QUICKSAVE_DEV__ === true;
|
|
|
25
27
|
* In dev mode, hashes source file mtimes so the value only changes when code
|
|
26
28
|
* actually changes — avoids spurious daemon restarts.
|
|
27
29
|
*/
|
|
28
|
-
const _PLACEHOLDER = '
|
|
30
|
+
const _PLACEHOLDER = '0fc789e14fd7';
|
|
29
31
|
export const BUILD_ID = IS_DEV ? devBuildId() : _PLACEHOLDER;
|
|
30
32
|
function devBuildId() {
|
|
31
33
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,MAAM,GAAI,UAA8C,CAAC,iBAAiB,KAAK,IAAI,CAAC;AAE1F;;;;GAIG;AACH,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;AAE7D,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,SAAS,IAAI,CAAC,GAAW;YACxB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAClE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;qBACxB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACX,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAkCD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,wBAAwB;IACxB,WAAW,EAAE,CAAC,KAAK;IACnB,eAAe,EAAE,CAAC,KAAK;IACvB,gBAAgB,EAAE,CAAC,KAAK;IACxB,cAAc,EAAE,CAAC,KAAK;IAEtB,uBAAuB;IACvB,iBAAiB,EAAE,CAAC,KAAK;IACzB,kBAAkB,EAAE,CAAC,KAAK;IAC1B,mBAAmB,EAAE,CAAC,KAAK;IAC3B,kBAAkB,EAAE,CAAC,KAAK;IAC1B,oBAAoB,EAAE,CAAC,KAAK;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventStore.d.ts","sourceRoot":"","sources":["../../src/storage/eventStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eventStore.d.ts","sourceRoot":"","sources":["../../src/storage/eventStore.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAOH,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,YAAY,GACZ,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB;AACrB;;;;4CAI4C;GAC1C,eAAe,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;kEAC8D;IAC9D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB;;yEAEqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;wEAEoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAWD,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,YAAY,CAAqB;gBAE7B,MAAM,EAAE,MAAM;IAyD1B,MAAM,CAAC,MAAM,EAAE;QACb,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAMR,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAqBhD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAI,GAAG,WAAW,EAAE;IAK3E,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAkBnD,KAAK,IAAI,IAAI;CAGd;AAeD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventStore.js","sourceRoot":"","sources":["../../src/storage/eventStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eventStore.js","sourceRoot":"","sources":["../../src/storage/eventStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalManager.d.ts","sourceRoot":"","sources":["../../src/terminal/terminalManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminalManager.d.ts","sourceRoot":"","sources":["../../src/terminal/terminalManager.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAGvB,MAAM,2BAA2B,CAAC;AAsFnC,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD;;;OAGG;IACH,aAAa,IAAI,eAAe,EAAE;IAIlC;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IAc3D,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA2G3D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ7C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe;IAcvE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe;IAW1D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,IAAI;IAoB9C,iEAAiE;IACjE,QAAQ,IAAI,IAAI;CASjB;AAID,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAGD,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD"}
|