@detergent-software/conductor 1.0.0-dev.5 → 1.0.0-dev.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +76 -4
- package/build/cli.js +93 -0
- package/build/cli.js.map +1 -1
- package/build/config.js +68 -1
- package/build/config.js.map +1 -1
- package/build/credential.js +52 -0
- package/build/credential.js.map +1 -0
- package/build/daemon.js +14 -0
- package/build/daemon.js.map +1 -1
- package/build/events.js +106 -0
- package/build/events.js.map +1 -0
- package/build/inbox.js +8 -0
- package/build/inbox.js.map +1 -1
- package/build/mod.js +51 -0
- package/build/mod.js.map +1 -0
- package/build/notify.js +398 -0
- package/build/notify.js.map +1 -0
- package/build/pushover.js +67 -0
- package/build/pushover.js.map +1 -0
- package/build/server.js +47 -0
- package/build/server.js.map +1 -1
- package/build/store.js +84 -0
- package/build/store.js.map +1 -1
- package/build/upgrade.js +2 -0
- package/build/upgrade.js.map +1 -1
- package/build/watchers/linear-key.js +6 -45
- package/build/watchers/linear-key.js.map +1 -1
- package/mod/.claude-plugin/marketplace.json +6 -0
- package/mod/.claude-plugin/plugin.json +7 -0
- package/mod/README.md +17 -0
- package/mod/hooks/hooks.json +1 -0
- package/mod/hooks/model.ts +376 -0
- package/mod/hooks/register.tsx +499 -0
- package/mod/types/index.d.ts +57 -0
- package/package.json +4 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { run } from "./run.js";
|
|
2
|
+
const NOT_FOUND = 3;
|
|
3
|
+
// Win32 ERROR_NOT_FOUND: CredRead's "no such credential". Any other failure is a broken read.
|
|
4
|
+
const ERROR_NOT_FOUND = 1168;
|
|
5
|
+
// Writes the user name, a newline, then the password.
|
|
6
|
+
const CRED_READ = `
|
|
7
|
+
$ErrorActionPreference = 'Stop'
|
|
8
|
+
try {
|
|
9
|
+
Add-Type -Namespace AtkConduct -Name Cred -MemberDefinition @'
|
|
10
|
+
[DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
11
|
+
public static extern bool CredRead(string target, int type, int flags, out System.IntPtr cred);
|
|
12
|
+
[DllImport("advapi32.dll")]
|
|
13
|
+
public static extern void CredFree(System.IntPtr cred);
|
|
14
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
|
15
|
+
public struct CREDENTIAL { public int Flags; public int Type; public string TargetName; public string Comment;
|
|
16
|
+
public long LastWritten; public int CredentialBlobSize; public System.IntPtr CredentialBlob; public int Persist;
|
|
17
|
+
public int AttributeCount; public System.IntPtr Attributes; public string TargetAlias; public string UserName; }
|
|
18
|
+
'@
|
|
19
|
+
$p = [IntPtr]::Zero
|
|
20
|
+
if (-not [AtkConduct.Cred]::CredRead($env:ATK_CONDUCT_CRED_TARGET, 1, 0, [ref]$p)) {
|
|
21
|
+
$code = [Runtime.InteropServices.Marshal]::GetLastWin32Error()
|
|
22
|
+
if ($code -eq ${ERROR_NOT_FOUND}) { exit ${NOT_FOUND} }
|
|
23
|
+
[Console]::Error.WriteLine("CredRead failed with Win32 error $code"); exit 4
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
$c = [Runtime.InteropServices.Marshal]::PtrToStructure($p, [type][AtkConduct.Cred+CREDENTIAL])
|
|
27
|
+
[Console]::Out.Write([string]$c.UserName + [char]10)
|
|
28
|
+
[Console]::Out.Write([Runtime.InteropServices.Marshal]::PtrToStringUni($c.CredentialBlob, $c.CredentialBlobSize / 2))
|
|
29
|
+
} finally { [AtkConduct.Cred]::CredFree($p) }
|
|
30
|
+
} catch { [Console]::Error.WriteLine($_.Exception.Message); exit 4 }
|
|
31
|
+
`;
|
|
32
|
+
// Reads the generic credential `target`. Windows only.
|
|
33
|
+
export async function readCredential(target, env = process.env) {
|
|
34
|
+
if (process.platform !== 'win32')
|
|
35
|
+
return { found: false, reason: `the ${target} credential is Windows-only` };
|
|
36
|
+
const result = await run('powershell.exe', ['-NoProfile', '-NonInteractive', '-EncodedCommand', Buffer.from(CRED_READ, 'utf16le').toString('base64')], { env: { ...env, ATK_CONDUCT_CRED_TARGET: target }, timeoutMs: 30_000 });
|
|
37
|
+
if (result.code === 0) {
|
|
38
|
+
const newline = result.stdout.indexOf('\n');
|
|
39
|
+
const secret = result.stdout.slice(newline + 1).trim();
|
|
40
|
+
if (newline >= 0 && secret)
|
|
41
|
+
return { credential: { secret, user: result.stdout.slice(0, newline).trim() }, found: true };
|
|
42
|
+
}
|
|
43
|
+
if (result.code === NOT_FOUND)
|
|
44
|
+
return { found: false, reason: `no credential ${target}` };
|
|
45
|
+
// Never echo stdout here: on a partial failure it could hold the secret.
|
|
46
|
+
const line = result.stderr
|
|
47
|
+
.split(/\r?\n/)
|
|
48
|
+
.map((l) => l.trim())
|
|
49
|
+
.find((l) => l && !l.startsWith('#< CLIXML') && !l.startsWith('<Objs'));
|
|
50
|
+
return { found: false, reason: `the credential ${target} couldn't be read (${result.error ?? line ?? `exit ${result.code}`})` };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../src/credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAY/B,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,8FAA8F;AAC9F,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,sDAAsD;AACtD,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;kBAgBA,eAAe,YAAY,SAAS;;;;;;;;;CASrD,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,MAAyB,OAAO,CAAC,GAAG;IACvF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,MAAM,6BAA6B,EAAE,CAAC;IAC9G,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,gBAAgB,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1G,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CACxE,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,OAAO,IAAI,CAAC,IAAI,MAAM;YAAE,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3H,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,MAAM,EAAE,EAAE,CAAC;IAC1F,yEAAyE;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM;SACvB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,MAAM,sBAAsB,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;AAClI,CAAC"}
|
package/build/daemon.js
CHANGED
|
@@ -8,6 +8,8 @@ import { acquirePidLock, processAlive } from "./lock.js";
|
|
|
8
8
|
import { rotatingLog } from "./log.js";
|
|
9
9
|
import { sessionManager } from "./manager.js";
|
|
10
10
|
import { linearNotes, noteService } from "./notes.js";
|
|
11
|
+
import { notifierService } from "./notify.js";
|
|
12
|
+
import { pushoverSender } from "./pushover.js";
|
|
11
13
|
import { registerProject } from "./registry.js";
|
|
12
14
|
import { createApi } from "./server.js";
|
|
13
15
|
import { claudeProjectsDir } from "./spend.js";
|
|
@@ -54,6 +56,12 @@ export async function startDaemon(paths, { keepaliveMs, ports = {}, version }) {
|
|
|
54
56
|
});
|
|
55
57
|
const tracker = ports.noteTracker ?? linearNotes();
|
|
56
58
|
const inbox = inboxService({ onWaitResolved: () => void manager.sweep(), store: opened, tracker });
|
|
59
|
+
const notifier = notifierService({
|
|
60
|
+
config,
|
|
61
|
+
log,
|
|
62
|
+
pushover: ports.pushover ?? pushoverSender({ credential: config.notify.pushover.credential }),
|
|
63
|
+
store: opened,
|
|
64
|
+
});
|
|
57
65
|
// After the event that caused it, so an item's own events follow it on /events.
|
|
58
66
|
const stopObserving = opened.onEvent((event) => queueMicrotask(() => {
|
|
59
67
|
if (stopping)
|
|
@@ -64,6 +72,9 @@ export async function startDaemon(paths, { keepaliveMs, ports = {}, version }) {
|
|
|
64
72
|
catch (error) {
|
|
65
73
|
log.log('error', 'inbox failed on an event', { error: String(error), event: event.id, kind: event.kind });
|
|
66
74
|
}
|
|
75
|
+
notifier.observe(event).catch((error) => {
|
|
76
|
+
log.log('error', 'the notifier failed on an event', { error: String(error), event: event.id, kind: event.kind });
|
|
77
|
+
});
|
|
67
78
|
}));
|
|
68
79
|
const watchers = startWatchers({
|
|
69
80
|
config: config.watchers,
|
|
@@ -79,6 +90,7 @@ export async function startDaemon(paths, { keepaliveMs, ports = {}, version }) {
|
|
|
79
90
|
log,
|
|
80
91
|
manager,
|
|
81
92
|
notes: noteService({ store: opened, tracker }),
|
|
93
|
+
notifier,
|
|
82
94
|
registerProject: (path) => registerProject(opened, path),
|
|
83
95
|
requestShutdown: () => void stop('api'),
|
|
84
96
|
store: opened,
|
|
@@ -92,6 +104,7 @@ export async function startDaemon(paths, { keepaliveMs, ports = {}, version }) {
|
|
|
92
104
|
await watchers.stop();
|
|
93
105
|
await manager.stop();
|
|
94
106
|
stopObserving();
|
|
107
|
+
await notifier.stop();
|
|
95
108
|
api.endStreams();
|
|
96
109
|
await new Promise((resolve) => {
|
|
97
110
|
api.server.close(() => resolve());
|
|
@@ -113,6 +126,7 @@ export async function startDaemon(paths, { keepaliveMs, ports = {}, version }) {
|
|
|
113
126
|
writeFileSync(paths.port, `${port}\n`);
|
|
114
127
|
opened.appendEvent({ data: { pid: process.pid, port, version }, kind: 'daemon.started' });
|
|
115
128
|
inbox.start();
|
|
129
|
+
notifier.start();
|
|
116
130
|
manager.start();
|
|
117
131
|
watchers.start();
|
|
118
132
|
log.log('info', 'started', { home: paths.home, pid: process.pid, port, version });
|
package/build/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAkB,YAAY,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAoB,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iGAAiG;AACjG,yFAAyF;AACzF,MAAM,gBAAgB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
package/build/events.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { NotRunningError, readEndpoint } from "./client.js";
|
|
2
|
+
import { ConductorError } from "./errors.js";
|
|
3
|
+
// The daemon writes this comment once a stream's replay is out and live events follow.
|
|
4
|
+
const CONNECTED = ': connected';
|
|
5
|
+
const RETRY_MS = [1000, 2000, 5000];
|
|
6
|
+
// `conduct events [--since <id>] [--follow]`: the event log, one JSON event per line. Without
|
|
7
|
+
// --follow it prints the events after --since (all of them without it) and exits. With --follow it
|
|
8
|
+
// starts after --since (live without it), keeps the stream open, and reconnects with Last-Event-ID
|
|
9
|
+
// when the daemon goes away, so a restart loses nothing. --follow also prints the stream's state
|
|
10
|
+
// as lines without an id, `{"kind":"conduct.connected"}` and `{"kind":"conduct.disconnected",
|
|
11
|
+
// "error":…}`, which the conductor mod reads to refetch or clear what it shows.
|
|
12
|
+
export async function eventsCommand(paths, options, io) {
|
|
13
|
+
// Ends early on the signal, so Ctrl+C doesn't wait out a retry while the daemon is down.
|
|
14
|
+
const sleep = io.sleep ??
|
|
15
|
+
((ms) => new Promise((done) => {
|
|
16
|
+
const timer = setTimeout(done, ms);
|
|
17
|
+
io.signal?.addEventListener('abort', () => (clearTimeout(timer), done()), { once: true });
|
|
18
|
+
}));
|
|
19
|
+
let last = options.since ?? null;
|
|
20
|
+
if (!options.follow) {
|
|
21
|
+
await readStream(paths, last ?? 0, { onEvent: (line) => io.out(line), signal: io.signal, untilConnected: true });
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
let failures = 0;
|
|
25
|
+
let connected = false;
|
|
26
|
+
while (!io.signal?.aborted) {
|
|
27
|
+
let error;
|
|
28
|
+
try {
|
|
29
|
+
await readStream(paths, last, {
|
|
30
|
+
onConnected: () => {
|
|
31
|
+
connected = true;
|
|
32
|
+
failures = 0;
|
|
33
|
+
io.out(JSON.stringify({ kind: 'conduct.connected' }));
|
|
34
|
+
},
|
|
35
|
+
onEvent: (line, id) => {
|
|
36
|
+
last = id;
|
|
37
|
+
io.out(line);
|
|
38
|
+
},
|
|
39
|
+
signal: io.signal,
|
|
40
|
+
untilConnected: false,
|
|
41
|
+
});
|
|
42
|
+
error = 'the conductor closed the stream';
|
|
43
|
+
}
|
|
44
|
+
catch (caught) {
|
|
45
|
+
if (io.signal?.aborted)
|
|
46
|
+
break;
|
|
47
|
+
error = caught instanceof Error ? caught.message : String(caught);
|
|
48
|
+
}
|
|
49
|
+
if (io.signal?.aborted)
|
|
50
|
+
break;
|
|
51
|
+
// Said once per outage, not on every retry while the daemon stays down.
|
|
52
|
+
if (connected || failures === 0)
|
|
53
|
+
io.out(JSON.stringify({ error, kind: 'conduct.disconnected' }));
|
|
54
|
+
connected = false;
|
|
55
|
+
await sleep(RETRY_MS[Math.min(failures, RETRY_MS.length - 1)] ?? 5000);
|
|
56
|
+
failures++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Reads one connection of GET /events: from `since` (Last-Event-ID), or live when it is null.
|
|
60
|
+
async function readStream(paths, since, handlers) {
|
|
61
|
+
const endpoint = readEndpoint(paths);
|
|
62
|
+
if (!endpoint)
|
|
63
|
+
throw new NotRunningError();
|
|
64
|
+
let response;
|
|
65
|
+
try {
|
|
66
|
+
response = await fetch(`http://127.0.0.1:${endpoint.port}/events`, {
|
|
67
|
+
headers: { authorization: `Bearer ${endpoint.token}`, ...(since === null ? {} : { 'last-event-id': String(since) }) },
|
|
68
|
+
signal: handlers.signal,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new ConductorError(`the conductor on port ${endpoint.port} did not answer GET /events`, [String(error)]);
|
|
73
|
+
}
|
|
74
|
+
if (response.status === 404)
|
|
75
|
+
throw new ConductorError('the running conductor has no event stream: it is older than this conduct');
|
|
76
|
+
if (response.status !== 200 || !response.body)
|
|
77
|
+
throw new ConductorError(`GET /events answered ${response.status}`);
|
|
78
|
+
const reader = response.body.getReader();
|
|
79
|
+
const decoder = new TextDecoder();
|
|
80
|
+
let buffer = '';
|
|
81
|
+
try {
|
|
82
|
+
for (;;) {
|
|
83
|
+
const { done, value } = await reader.read();
|
|
84
|
+
if (done)
|
|
85
|
+
return;
|
|
86
|
+
buffer += decoder.decode(value, { stream: true }).replaceAll('\r\n', '\n');
|
|
87
|
+
for (let end = buffer.indexOf('\n\n'); end >= 0; end = buffer.indexOf('\n\n')) {
|
|
88
|
+
const frame = buffer.slice(0, end).split('\n');
|
|
89
|
+
buffer = buffer.slice(end + 2);
|
|
90
|
+
if (frame.includes(CONNECTED)) {
|
|
91
|
+
handlers.onConnected?.();
|
|
92
|
+
if (handlers.untilConnected)
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const id = frame.find((l) => l.startsWith('id: '))?.slice('id: '.length);
|
|
96
|
+
const data = frame.find((l) => l.startsWith('data: '))?.slice('data: '.length);
|
|
97
|
+
if (id !== undefined && data !== undefined)
|
|
98
|
+
handlers.onEvent(data, Number(id));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
await reader.cancel().catch(() => { });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/build/inbox.js
CHANGED
|
@@ -25,6 +25,7 @@ const GATE_PHASES = {
|
|
|
25
25
|
'npm-otp': ['Resumed', 'Landed', 'Done'],
|
|
26
26
|
plan: ['Plan approved'],
|
|
27
27
|
};
|
|
28
|
+
const PUSH_LIMIT = 200;
|
|
28
29
|
// Items about a worker's session, resolved when the session moves.
|
|
29
30
|
const SESSION_KINDS = ['permission', 'stall'];
|
|
30
31
|
const noteData = z.looseObject({
|
|
@@ -72,6 +73,7 @@ export function inboxService({ onWaitResolved, store, tracker }) {
|
|
|
72
73
|
project: item.project,
|
|
73
74
|
subject: item.item,
|
|
74
75
|
});
|
|
76
|
+
// The notifier routes it from this event (notify.ts).
|
|
75
77
|
return item;
|
|
76
78
|
});
|
|
77
79
|
const resolve = (item, by) => store.transaction(() => {
|
|
@@ -304,9 +306,15 @@ export function inboxService({ onWaitResolved, store, tracker }) {
|
|
|
304
306
|
onWorker(event);
|
|
305
307
|
},
|
|
306
308
|
open: () => store.openInbox(),
|
|
309
|
+
raise,
|
|
307
310
|
start: () => resolveAll(store.openInbox().filter((i) => SESSION_KINDS.includes(i.kind)), 'the daemon restarted; raised again if it persists'),
|
|
308
311
|
};
|
|
309
312
|
}
|
|
313
|
+
// A push's body: the item, then the ask, within PushNotification's 200 characters.
|
|
314
|
+
export function pushMessage(item) {
|
|
315
|
+
const message = item.item === null || item.text.includes(item.item) ? item.text : `${item.item} · ${item.text}`;
|
|
316
|
+
return message.length <= PUSH_LIMIT ? message : `${message.slice(0, PUSH_LIMIT - 1)}…`;
|
|
317
|
+
}
|
|
310
318
|
// "just now", "12 min ago", "3 h 5 min ago", "2 d ago".
|
|
311
319
|
function age(iso, now) {
|
|
312
320
|
const minutes = Math.floor((now.getTime() - Date.parse(iso)) / 60_000);
|
package/build/inbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAkB,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAiG,MAAM,YAAY,CAAC;AAiC3H,oGAAoG;AACpG,MAAM,UAAU,GAAuC;IACrD,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,yEAAyE;AACzE,MAAM,QAAQ,GAA2B,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhH,kGAAkG;AAClG,sCAAsC;AACtC,MAAM,WAAW,GAAkD;IACjE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,eAAe,CAAC;CACxB,CAAC;AAEF,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,mEAAmE;AACnE,MAAM,aAAa,GAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAEpE,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjH,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,KAA2B,EAAE,GAAS;IAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;QAC7I,OAAO,CAAC,CAAC,IAAI,EAAE;QACf,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,kGAAkG;AAClG,gGAAgG;AAChG,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAa;IACxE,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,KAAmB,EAAa,EAAE,CAC/C,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,WAAW,CAAC;YAChB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACnJ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,CAAC,IAAe,EAAE,EAAU,EAAoB,EAAE,CAChE,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,WAAW,CAAC;gBAChB,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;gBACvF,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,QAAQ,CAAC,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAE,IAAmB,EAAE,KAA4B,EAAe,EAAE,CACxG,KAAK;SACF,SAAS,EAAE;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnJ,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,KAA2B,EAAe,EAAE,CAC1E,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjF,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAE,EAAU,EAAQ,EAAE;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QACpD,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACzG,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,6FAA6F;QAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,UAAU,CAAC,QAAQ,EAAE,yBAAyB,KAAK,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;QAC7B,KAAK,CAAC;YACJ,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC7C,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,SAAS,IAAI,IAAI;YACxE,IAAI,EAAE,GAAG;YACT,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,MAAM,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/E,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9C,uDAAuD;QACvD,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3J,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjE,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,4BAA4B,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,uCAAuC,KAAK,CAAC,OAAO,EAAE;aACjJ,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACjE,2EAA2E;YAC3E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACnE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;oBAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,0FAA0F;IAC1F,8BAA8B;IAC9B,MAAM,IAAI,GAAG,CACX,OAAsB,EACtB,IAAY,EACZ,IAAe,EACf,SAAiB,EACjB,MAAc,EACd,KAA8D,EACxD,EAAE;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,wFAAwF;YACxF,yFAAyF;YACzF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,0BAA0B,CAAC;gBAAE,OAAO;YAC1F,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,8FAA8F;QAC9F,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACjH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACzD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACrC,UAAU,CACR,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,EAC7G,UAAU,CACX,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,IAAI,IAAI,wCAAwC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjG,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,UAAU,CACR,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAC/G,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,kBAAkB,IAAI,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,QAAkB,EAAQ,EAAE;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAC9C,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC;QACF,kGAAkG;QAClG,MAAM,eAAe,GAAG,GAAgB,EAAE,CACxC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;QACvJ,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,sBAAsB;gBACzB,UAAU,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC;gBAChE,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,EAAE,EAAE;oBAC9G,kBAAkB,KAAK,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;iBACxF,CAAC,CAAC;gBACH,OAAO;YACT,KAAK,iBAAiB;gBACpB,UAAU,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;gBACxD,OAAO;YACT,KAAK,eAAe;gBAClB,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;gBAC5D,OAAO;YACT,KAAK,gBAAgB,CAAC;YACtB,KAAK,sBAAsB;gBACzB,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC;gBAClF,OAAO;YACT,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;gBACpF,0FAA0F;gBAC1F,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;oBACpC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;gBACvG,CAAC;gBACD,OAAO;YACT,CAAC;YACD,KAAK,gBAAgB;gBACnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;oBAAE,OAAO,CAAC,kBAAkB;gBACvF,KAAK,CAAC;oBACJ,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC;oBAC5C,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,KAAK,CAAC,OAAO;oBACnB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,GAAG,IAAI,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;oBACtH,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO;YACT,KAAK,sBAAsB;gBACzB,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;gBAC3G,OAAO;YACT,KAAK,gBAAgB;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACpC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,gCAAgC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChJ,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/F,CAAC;gBACD,OAAO;YACT,KAAK,6BAA6B;gBAChC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;gBAC7D,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,iCAAiC,EAAE,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5F,OAAO;QACX,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;gBAAE,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,yBAAyB,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,CAAC,CAAC;YAC3H,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/C,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,SAAS,IAAI,CAAC,IAAI,mDAAmD,EAAE;oBAC9G,kBAAkB,EAAE,gBAAgB;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,+FAA+F;YAC/F,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,uCAAuC,CAAC,CAAC;YACzG,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACzH,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,IAAI,OAA2C,CAAC;YAChD,IAAI,CAAC;gBACH,8FAA8F;gBAC9F,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,aAAa,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;YACnI,iFAAiF;YACjF,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,YAAY,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,KAAK;iBAChB,SAAS,EAAE;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;iBACxC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,cAAc,EAAE,EAAE,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;gBAAE,WAAW,CAAC,KAAK,CAAC,CAAC;iBACpD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,cAAc,CAAC,KAAK,CAAC,CAAC;iBAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE;QAE7B,KAAK;QAEL,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,mDAAmD,CAAC;KAC9I,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,IAAsC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAChH,OAAO,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;AACzF,CAAC;AAED,wDAAwD;AACxD,SAAS,GAAG,CAAC,GAAW,EAAE,GAAS;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACvE,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACnC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,UAAU,CAAC;IAC9C,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,OAAO,GAAG,EAAE,UAAU,CAAC;IACtF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CAAC,mBAAmB,IAAI,EAAE,EAAE,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,GAAG,IAAI,gCAAgC,CAAC;AACjD,CAAC;AAED,0DAA0D;AAC1D,SAAS,IAAI,CAAC,SAAiB;IAC7B,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC"}
|
package/build/mod.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { join, sep } from 'node:path';
|
|
3
|
+
import { ConductorError } from "./errors.js";
|
|
4
|
+
import { outputOf } from "./run.js";
|
|
5
|
+
// The plugin's name and its marketplace's, both from mod/.claude-plugin.
|
|
6
|
+
export const MOD_NAME = 'conductor';
|
|
7
|
+
const MARKETPLACE = 'conductor';
|
|
8
|
+
// `conduct install-mod`: installs the conductor mod (a Claude Code plugin) for every session of this
|
|
9
|
+
// user, from the mod folder of this package as a folder marketplace. Claude Code reads a folder
|
|
10
|
+
// marketplace's plugin from the folder itself, so `conduct upgrade` replaces the mod with the daemon,
|
|
11
|
+
// and open sessions pick it up with /reload-plugins.
|
|
12
|
+
export async function installMod(dir, deps) {
|
|
13
|
+
if (!existsSync(join(dir, '.claude-plugin', 'marketplace.json'))) {
|
|
14
|
+
throw new ConductorError(`${dir} holds no conductor mod`, ['reinstall the package: npm i -g @detergent-software/conductor']);
|
|
15
|
+
}
|
|
16
|
+
// Every session would read the mod from a folder that goes away with its worktree.
|
|
17
|
+
if (dir.includes(`${sep}.claude${sep}worktrees${sep}`)) {
|
|
18
|
+
throw new ConductorError(`${dir} is in a worktree, which goes away`, [
|
|
19
|
+
'run install-mod from the main checkout or the npm package',
|
|
20
|
+
'to try a worktree build: claude --plugin-dir apps/conductor/mod',
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
// A marketplace of that name added from another folder (a linked build, an older install) would
|
|
24
|
+
// keep its path, since install adds a marketplace only when none of the name is there. None is fine.
|
|
25
|
+
await deps.claude(['plugin', 'marketplace', 'remove', MARKETPLACE]);
|
|
26
|
+
const result = await deps.claude(['plugin', 'install', MOD_NAME, '--marketplace', dir, '--scope', 'user']);
|
|
27
|
+
if (result.code !== 0)
|
|
28
|
+
throw new ConductorError('could not install the conductor mod', [outputOf(result, 1000)]);
|
|
29
|
+
deps.out(`installed the conductor mod from ${dir}`);
|
|
30
|
+
deps.out('open sessions load it with /reload-plugins; the console session is the one started with CONDUCTOR_CONSOLE=1');
|
|
31
|
+
}
|
|
32
|
+
// `conduct install-mod --remove`: uninstalls the mod and forgets its marketplace, saying what each
|
|
33
|
+
// step did.
|
|
34
|
+
export async function removeMod(deps) {
|
|
35
|
+
const uninstalled = await deps.claude(['plugin', 'uninstall', `${MOD_NAME}@${MARKETPLACE}`, '--scope', 'user']);
|
|
36
|
+
const forgot = await deps.claude(['plugin', 'marketplace', 'remove', MARKETPLACE]);
|
|
37
|
+
if (uninstalled.code !== 0 && forgot.code !== 0) {
|
|
38
|
+
throw new ConductorError('could not remove the conductor mod', [outputOf(uninstalled, 500), outputOf(forgot, 500)]);
|
|
39
|
+
}
|
|
40
|
+
if (uninstalled.code !== 0) {
|
|
41
|
+
deps.out(`removed the conductor marketplace; the plugin uninstall said: ${outputOf(uninstalled, 500)}`);
|
|
42
|
+
}
|
|
43
|
+
else if (forgot.code !== 0) {
|
|
44
|
+
deps.out(`uninstalled the conductor mod; removing its marketplace said: ${outputOf(forgot, 500)}`);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
deps.out('removed the conductor mod');
|
|
48
|
+
}
|
|
49
|
+
deps.out('open sessions drop it with /reload-plugins');
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=mod.js.map
|
package/build/mod.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
|