@teeras/afterhours 0.3.1 → 0.5.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/README.md +15 -0
- package/dist/apprun.d.ts +8 -0
- package/dist/apprun.d.ts.map +1 -0
- package/dist/apprun.js +67 -0
- package/dist/apprun.js.map +1 -0
- package/dist/cli.js +42 -3
- package/dist/cli.js.map +1 -1
- package/dist/cloud.d.ts +47 -0
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +165 -0
- package/dist/cloud.js.map +1 -1
- package/dist/collect.d.ts.map +1 -1
- package/dist/collect.js +4 -1
- package/dist/collect.js.map +1 -1
- package/dist/detect.js +2 -2
- package/dist/detect.js.map +1 -1
- package/dist/hooks.d.ts +13 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +41 -21
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/macos/spool.d.ts +19 -0
- package/dist/macos/spool.d.ts.map +1 -0
- package/dist/macos/spool.js +117 -0
- package/dist/macos/spool.js.map +1 -0
- package/dist/macos/status.d.ts +32 -0
- package/dist/macos/status.d.ts.map +1 -0
- package/dist/macos/status.js +55 -0
- package/dist/macos/status.js.map +1 -0
- package/dist/privacy.d.ts.map +1 -1
- package/dist/privacy.js +2 -0
- package/dist/privacy.js.map +1 -1
- package/dist/runEventTypes.d.ts +2 -0
- package/dist/runEventTypes.d.ts.map +1 -0
- package/dist/runEventTypes.js +2 -0
- package/dist/runEventTypes.js.map +1 -0
- package/dist/runEvents.d.ts +59 -0
- package/dist/runEvents.d.ts.map +1 -0
- package/dist/runEvents.js +148 -0
- package/dist/runEvents.js.map +1 -0
- package/dist/sources/claude.js +2 -2
- package/dist/sources/claude.js.map +1 -1
- package/dist/sources/macosApps.d.ts +7 -0
- package/dist/sources/macosApps.d.ts.map +1 -0
- package/dist/sources/macosApps.js +122 -0
- package/dist/sources/macosApps.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/llms-install.md +8 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ trs week
|
|
|
24
24
|
trs connect
|
|
25
25
|
trs login
|
|
26
26
|
trs sync
|
|
27
|
+
trs report
|
|
27
28
|
trs sources
|
|
28
29
|
trs privacy
|
|
29
30
|
trs hook-config codex
|
|
@@ -36,6 +37,14 @@ never retains or returns prompt text, source code, model output, repository
|
|
|
36
37
|
names, working directories, or file paths. Only the documented aggregate
|
|
37
38
|
snapshot syncs after the user connects Teeras.
|
|
38
39
|
|
|
40
|
+
Since 0.5.0, when an agent turn starts and ends, the collector also sends a
|
|
41
|
+
small real-time event: the agent name, its model family, the hour of day, an
|
|
42
|
+
opaque run id, and an estimate of how many minutes you've been active today.
|
|
43
|
+
When the turn ends it sends the same id and the time. This lets the Teeras
|
|
44
|
+
iPhone app tell you how long runs like this usually take. It never includes
|
|
45
|
+
prompts, code, file paths, or repository names, it is sent once with a
|
|
46
|
+
two-second timeout, and it never blocks the agent.
|
|
47
|
+
|
|
39
48
|
Support matrix:
|
|
40
49
|
|
|
41
50
|
- Codex desktop app and Codex CLI: activity, token, model, and episode
|
|
@@ -77,6 +86,12 @@ report, or `trs logout` to remove this computer's token. Nothing runs as a
|
|
|
77
86
|
background daemon, the hook itself makes no network call, and there is no
|
|
78
87
|
automatic LLM call.
|
|
79
88
|
|
|
89
|
+
`trs report` opens your web report in the browser, already signed in: this
|
|
90
|
+
computer's device token buys a single-use link that lasts sixty seconds, and
|
|
91
|
+
opening it is what signs the browser in. No password, no second sign-in. On a
|
|
92
|
+
computer that has never connected — or if the link cannot be fetched — it opens
|
|
93
|
+
the plain site instead and you sign in there as usual.
|
|
94
|
+
|
|
80
95
|
The default command (and `trs week`) prints a calm seven-day report. Use
|
|
81
96
|
`--json` to inspect the privacy-safe snapshot consumed by the dashboard and
|
|
82
97
|
optional MCP adapter. The cloud keeps one replaceable snapshot per device per
|
package/dist/apprun.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type AppStatus } from "./macos/status.js";
|
|
2
|
+
export interface AppRunDeps {
|
|
3
|
+
fetcher?: typeof fetch;
|
|
4
|
+
now?: () => Date;
|
|
5
|
+
}
|
|
6
|
+
/** One hub cycle. Never throws: every failure is a visible status, not a crash. */
|
|
7
|
+
export declare function runAppRun(home?: string, deps?: AppRunDeps): Promise<AppStatus>;
|
|
8
|
+
//# sourceMappingURL=apprun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apprun.d.ts","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAgBD,mFAAmF;AACnF,wBAAsB,SAAS,CAAC,IAAI,GAAE,MAAkB,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA6CnG"}
|
package/dist/apprun.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { collectAfterhours } from "./collect.js";
|
|
3
|
+
import { ConnectionExpiredError, readCredentials, syncSnapshot } from "./cloud.js";
|
|
4
|
+
import { compactSpool, readSpool, spoolDir } from "./macos/spool.js";
|
|
5
|
+
import { buildStatus, writeStatus } from "./macos/status.js";
|
|
6
|
+
/** A minimal, always-constructible status for when the hub cycle itself faults
|
|
7
|
+
* (disk full, permissions, the Application Support path occupied by a file, …) —
|
|
8
|
+
* before `buildStatus`/`writeStatus` can be trusted to run at all. */
|
|
9
|
+
function fallbackStatus(now) {
|
|
10
|
+
return {
|
|
11
|
+
v: 1,
|
|
12
|
+
generatedAt: now().toISOString(),
|
|
13
|
+
sources: [],
|
|
14
|
+
sync: { state: "error", lastAckAt: null, pendingSessions: 0 },
|
|
15
|
+
line: { lastActivityAt: null, resolution: "hour", eveningsKept7d: 0 },
|
|
16
|
+
spool: { quarantinedLines: 0 },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** One hub cycle. Never throws: every failure is a visible status, not a crash. */
|
|
20
|
+
export async function runAppRun(home = homedir(), deps = {}) {
|
|
21
|
+
const now = deps.now ?? (() => new Date());
|
|
22
|
+
try {
|
|
23
|
+
const until = now();
|
|
24
|
+
const dir = spoolDir(home);
|
|
25
|
+
// Read the spool BEFORE collectAfterhours runs: collectAfterhours's macos-apps
|
|
26
|
+
// source calls readSpool too, and readSpool quarantines by MOVING bad lines to
|
|
27
|
+
// `.bad` and rewriting the source file — a second read finds nothing left to
|
|
28
|
+
// quarantine (that's the idempotency macos-spool.test.ts pins). Capturing the
|
|
29
|
+
// read here, first, is the only way status.spool.quarantinedLines sees them.
|
|
30
|
+
const spoolInfo = readSpool(dir);
|
|
31
|
+
const snapshot = collectAfterhours({ home, until });
|
|
32
|
+
let sync = { state: "signed_out", lastAckAt: null, pendingSessions: spoolInfo.records.length };
|
|
33
|
+
const credentials = readCredentials(home);
|
|
34
|
+
if (credentials) {
|
|
35
|
+
try {
|
|
36
|
+
await syncSnapshot(snapshot, credentials, deps.fetcher);
|
|
37
|
+
const dropped = compactSpool(dir, snapshot.until);
|
|
38
|
+
sync = { state: "ok", lastAckAt: until.toISOString(), pendingSessions: spoolInfo.records.length - dropped };
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
// Design spec (error-handling section): expired/revoked credentials get the
|
|
42
|
+
// calm signed-out state, not "offline" — the fix is re-pairing, not retrying.
|
|
43
|
+
sync = error instanceof ConnectionExpiredError
|
|
44
|
+
? { state: "signed_out", lastAckAt: null, pendingSessions: spoolInfo.records.length }
|
|
45
|
+
: { state: "offline", lastAckAt: null, pendingSessions: spoolInfo.records.length };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const status = buildStatus(snapshot, sync, { quarantinedLines: spoolInfo.quarantinedLines });
|
|
49
|
+
writeStatus(home, status);
|
|
50
|
+
return status;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Never throws, never logs: an ordinary I/O fault (disk full, permissions, a
|
|
54
|
+
// file occupying the Application Support path) must not leak a Node fs error
|
|
55
|
+
// (which embeds local paths) to stderr, and must not flip the exit code.
|
|
56
|
+
const status = fallbackStatus(now);
|
|
57
|
+
try {
|
|
58
|
+
writeStatus(home, status);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Best-effort only — if even this fails, the fallback status is still
|
|
62
|
+
// returned in-memory so the caller (and the hidden CLI command) stay quiet.
|
|
63
|
+
}
|
|
64
|
+
return status;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=apprun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
+
import { homedir } from "node:os";
|
|
3
4
|
import { fileURLToPath } from "node:url";
|
|
4
5
|
import { collectAfterhours } from "./collect.js";
|
|
5
|
-
import { openVerificationUri, pollDeviceLogin, readCredentials, removeCredentials, revokeDevice, startDeviceLogin, syncSnapshot, teerasBaseUrl, writeCredentials, } from "./cloud.js";
|
|
6
|
+
import { connectMachine, openVerificationUri, pollDeviceLogin, readCredentials, removeCredentials, REPORT_FALLBACK_URL, reportMachine, reportUrl, revokeDevice, startDeviceLogin, syncSnapshot, teerasBaseUrl, writeCredentials, } from "./cloud.js";
|
|
6
7
|
import { detectCodingAgents } from "./detect.js";
|
|
7
8
|
import { runOff } from "./off.js";
|
|
8
9
|
import { DATA_BOUNDARY } from "./privacy.js";
|
|
@@ -11,6 +12,7 @@ import { renderReport } from "./render.js";
|
|
|
11
12
|
import { reportFrom } from "./report.js";
|
|
12
13
|
import { claudeHookSettings, codexHookSettings, hookJournalReport, ingestClaudeHook, ingestCodexHook, } from "./hooks.js";
|
|
13
14
|
import { ensureEpisodeSecret } from "./secret.js";
|
|
15
|
+
import { emitRunEventFromHook } from "./runEvents.js";
|
|
14
16
|
import { maybeSpawnAutoSync, markSyncSuccess, readSyncStamp, runAutoSync } from "./autosync.js";
|
|
15
17
|
import { runSetup } from "./setup.js";
|
|
16
18
|
async function requireAccount() {
|
|
@@ -47,7 +49,10 @@ async function main() {
|
|
|
47
49
|
else
|
|
48
50
|
ingestClaudeHook(raw, ensureEpisodeSecret());
|
|
49
51
|
// Sync as a side effect of working: detached child, never blocks the hook.
|
|
52
|
+
// Spawned before the emitter below so the detached sync isn't delayed by
|
|
53
|
+
// its up-to-2s network wait.
|
|
50
54
|
maybeSpawnAutoSync(fileURLToPath(import.meta.url));
|
|
55
|
+
await emitRunEventFromHook(raw, process.argv[3] === "codex" ? "codex" : "claude-code");
|
|
51
56
|
}
|
|
52
57
|
catch {
|
|
53
58
|
// Hooks are observability only and must never interrupt the agent.
|
|
@@ -77,6 +82,13 @@ async function main() {
|
|
|
77
82
|
return;
|
|
78
83
|
}
|
|
79
84
|
if (command === "connect") {
|
|
85
|
+
if (process.argv.includes("--json")) {
|
|
86
|
+
// Teeras.app spawns this and parses stdout line-by-line — only the
|
|
87
|
+
// event lines belong here, no banner/QR/prose (see connectMachine).
|
|
88
|
+
const ok = await connectMachine(homedir(), (line) => process.stdout.write(`${line}\n`));
|
|
89
|
+
process.exitCode = ok ? 0 : 1;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
80
92
|
const credentials = await requireAccount();
|
|
81
93
|
const installed = detectCodingAgents().filter((agent) => agent.installed);
|
|
82
94
|
const lines = installed.length === 0
|
|
@@ -108,6 +120,21 @@ async function main() {
|
|
|
108
120
|
process.stdout.write("\n ✓ connected · your first counts-only week is in Teeras.\n\n");
|
|
109
121
|
return;
|
|
110
122
|
}
|
|
123
|
+
if (command === "report") {
|
|
124
|
+
if (process.argv.includes("--json")) {
|
|
125
|
+
// Teeras.app spawns this and opens the URL itself — one line, no
|
|
126
|
+
// browser launch, no prose (see reportMachine).
|
|
127
|
+
await reportMachine(homedir(), (line) => process.stdout.write(`${line}\n`));
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const credentials = readCredentials();
|
|
131
|
+
const url = credentials ? await reportUrl(credentials) : null;
|
|
132
|
+
openVerificationUri(url ?? REPORT_FALLBACK_URL);
|
|
133
|
+
process.stdout.write(url
|
|
134
|
+
? "\n Opening your report — you're signed in.\n\n"
|
|
135
|
+
: "\n Opening your report — sign in to see it.\n\n");
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
111
138
|
if (command === "logout") {
|
|
112
139
|
const credentials = readCredentials();
|
|
113
140
|
const revoked = credentials ? await revokeDevice(credentials) : false;
|
|
@@ -130,8 +157,20 @@ async function main() {
|
|
|
130
157
|
await runSetup({ json: process.argv.includes("--json") });
|
|
131
158
|
return;
|
|
132
159
|
}
|
|
133
|
-
if (command
|
|
134
|
-
|
|
160
|
+
if (command === "app-run") {
|
|
161
|
+
// Hidden command run by Teeras.app; failures land in status.json, never stdout.
|
|
162
|
+
try {
|
|
163
|
+
const { runAppRun } = await import("./apprun.js");
|
|
164
|
+
await runAppRun();
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// status.json is the only reporting surface — even an unexpected escape
|
|
168
|
+
// from runAppRun (which itself should never throw) must stay silent.
|
|
169
|
+
}
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (command != null && !["week", "sources", "json", "--json", "autosync", "app-run"].includes(command)) {
|
|
173
|
+
process.stdout.write("usage: trs <setup|week|connect|login|sync|report|logout|off|sources|privacy|json|hook-config>\n");
|
|
135
174
|
return;
|
|
136
175
|
}
|
|
137
176
|
const credentials = readCredentials();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,UAAU,cAAc;IAC3B,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,eAAe,sDAAsD,CAAC,CAAC;IAC5K,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG;QAClB,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;IACF,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAClF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;gBAAE,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;;gBACxE,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAClD,2EAA2E;YAC3E,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AfterhoursSnapshot } from "./types.js";
|
|
2
|
+
import type { RunEnded, RunStarted } from "./runEventTypes.js";
|
|
2
3
|
export interface CloudCredentials {
|
|
3
4
|
baseUrl: string;
|
|
4
5
|
accessToken: string;
|
|
@@ -31,6 +32,49 @@ export declare function pollDeviceLogin(baseUrl: string, grant: DeviceGrant, opt
|
|
|
31
32
|
fetcher?: Fetcher;
|
|
32
33
|
sleep?: (ms: number) => Promise<void>;
|
|
33
34
|
}): Promise<DeviceToken>;
|
|
35
|
+
/**
|
|
36
|
+
* Machine-readable pairing for Teeras.app: one JSON line per event on
|
|
37
|
+
* `emit`, never prose. Swift spawns `afterhours connect --json` and parses
|
|
38
|
+
* stdout line-by-line, so this line protocol is a cross-language contract —
|
|
39
|
+
* event names and field names must stay exact. The HTTP mechanics are the
|
|
40
|
+
* same `startDeviceLogin` → `pollDeviceLogin` → `writeCredentials` flow the
|
|
41
|
+
* interactive `connect` command uses; only the output format differs.
|
|
42
|
+
*/
|
|
43
|
+
export declare function connectMachine(home: string, emit: (line: string) => void, fetcher?: Fetcher): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Where "open my report" goes when there is no signed-in link to open: the
|
|
46
|
+
* plain dashboard, which will ask for a sign-in like any other visit. Never
|
|
47
|
+
* an error, never nothing.
|
|
48
|
+
*/
|
|
49
|
+
export declare const REPORT_FALLBACK_URL = "https://www.teeras.com/app";
|
|
50
|
+
/**
|
|
51
|
+
* How long the login link is worth waiting for. A wedged network — a captive
|
|
52
|
+
* portal, a black-holed route — otherwise leaves this request hanging for
|
|
53
|
+
* the OS's own TCP timeout (minutes), and this process is what Teeras.app
|
|
54
|
+
* spawns behind a button. Four seconds sits inside the app's own five-second
|
|
55
|
+
* deadline, so the binary gives up first and the app gets a `fallback` line
|
|
56
|
+
* rather than having to kill a child that is still waiting.
|
|
57
|
+
*/
|
|
58
|
+
export declare const REPORT_TIMEOUT_MS = 4000;
|
|
59
|
+
/**
|
|
60
|
+
* Trades this device's token for a single-use, ~60-second link that opens
|
|
61
|
+
* the web report already signed in.
|
|
62
|
+
*
|
|
63
|
+
* Returns `null` — never throws — on every failure: offline, a network that
|
|
64
|
+
* hangs past `REPORT_TIMEOUT_MS`, 401 (the device connection expired or was
|
|
65
|
+
* revoked), a throttle, a malformed response, a link pointing somewhere
|
|
66
|
+
* else. "Open your report" must always open something, so the caller's job
|
|
67
|
+
* on `null` is simply to open `REPORT_FALLBACK_URL`.
|
|
68
|
+
*/
|
|
69
|
+
export declare function reportUrl(credentials: CloudCredentials, fetcher?: Fetcher): Promise<string | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Machine-readable half of `trs report`, for Teeras.app: exactly one JSON
|
|
72
|
+
* line, then nothing. `url` carries a signed-in link; `fallback` carries the
|
|
73
|
+
* plain site. The caller opens whichever arrives — this function never opens
|
|
74
|
+
* a browser itself. Same cross-language line contract as `connectMachine`:
|
|
75
|
+
* event and field names are frozen.
|
|
76
|
+
*/
|
|
77
|
+
export declare function reportMachine(home: string, emit: (line: string) => void, fetcher?: Fetcher): Promise<boolean>;
|
|
34
78
|
export declare function revokeDevice(credentials: CloudCredentials, fetcher?: Fetcher): Promise<boolean>;
|
|
35
79
|
/** The server rejected a token that still looks valid locally. `trs setup` self-heals this. */
|
|
36
80
|
export declare class ConnectionExpiredError extends Error {
|
|
@@ -40,5 +84,8 @@ export declare function syncSnapshot(snapshot: AfterhoursSnapshot, credentials:
|
|
|
40
84
|
stored: boolean;
|
|
41
85
|
reflectedToday: boolean;
|
|
42
86
|
}>;
|
|
87
|
+
export declare const RUN_EVENT_TIMEOUT_MS = 2000;
|
|
88
|
+
export declare function postRunStarted(event: RunStarted, credentials: CloudCredentials, humanActiveMinutesSoFar: number | null, fetcher?: Fetcher): Promise<void>;
|
|
89
|
+
export declare function postRunEnded(event: RunEnded, credentials: CloudCredentials, fetcher?: Fetcher): Promise<void>;
|
|
43
90
|
export {};
|
|
44
91
|
//# sourceMappingURL=cloud.d.ts.map
|
package/dist/cloud.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud.js
CHANGED
|
@@ -2,6 +2,7 @@ import { chmodSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:
|
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { spawn } from "node:child_process";
|
|
5
|
+
import { CLI_VERSION } from "./version.js";
|
|
5
6
|
const TOKEN_PATTERN = /^[A-Za-z0-9_-]{32,128}$/;
|
|
6
7
|
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
7
8
|
export function teerasBaseUrl(value = process.env.TEERAS_URL) {
|
|
@@ -109,6 +110,133 @@ export async function pollDeviceLogin(baseUrl, grant, options = {}) {
|
|
|
109
110
|
}
|
|
110
111
|
throw new Error("The connection code expired");
|
|
111
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Slugs are stable across releases: Teeras.app pattern-matches on `reason`
|
|
115
|
+
* rather than the human-readable Error message, which is free to change.
|
|
116
|
+
*/
|
|
117
|
+
function machineFailureReason(error) {
|
|
118
|
+
const message = error instanceof Error ? error.message : "";
|
|
119
|
+
switch (message) {
|
|
120
|
+
case "The connection code expired":
|
|
121
|
+
return "expired";
|
|
122
|
+
case "Teeras rejected the connection":
|
|
123
|
+
return "rejected";
|
|
124
|
+
case "Teeras returned an invalid device token":
|
|
125
|
+
case "Teeras returned an invalid connection response":
|
|
126
|
+
return "invalid_response";
|
|
127
|
+
case "Teeras could not start the connection":
|
|
128
|
+
return "start_failed";
|
|
129
|
+
default:
|
|
130
|
+
return "error";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Machine-readable pairing for Teeras.app: one JSON line per event on
|
|
135
|
+
* `emit`, never prose. Swift spawns `afterhours connect --json` and parses
|
|
136
|
+
* stdout line-by-line, so this line protocol is a cross-language contract —
|
|
137
|
+
* event names and field names must stay exact. The HTTP mechanics are the
|
|
138
|
+
* same `startDeviceLogin` → `pollDeviceLogin` → `writeCredentials` flow the
|
|
139
|
+
* interactive `connect` command uses; only the output format differs.
|
|
140
|
+
*/
|
|
141
|
+
export async function connectMachine(home, emit, fetcher = fetch) {
|
|
142
|
+
const baseUrl = teerasBaseUrl();
|
|
143
|
+
try {
|
|
144
|
+
const grant = await startDeviceLogin(baseUrl, fetcher);
|
|
145
|
+
emit(JSON.stringify({ event: "code", url: grant.verificationUri, code: grant.userCode }));
|
|
146
|
+
const token = await pollDeviceLogin(baseUrl, grant, { fetcher });
|
|
147
|
+
writeCredentials({
|
|
148
|
+
baseUrl,
|
|
149
|
+
accessToken: token.accessToken,
|
|
150
|
+
deviceId: token.deviceId,
|
|
151
|
+
connectedAt: new Date().toISOString(),
|
|
152
|
+
expiresAt: token.expiresAt,
|
|
153
|
+
}, home);
|
|
154
|
+
emit(JSON.stringify({ event: "connected" }));
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
emit(JSON.stringify({ event: "failed", reason: machineFailureReason(error) }));
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Where "open my report" goes when there is no signed-in link to open: the
|
|
164
|
+
* plain dashboard, which will ask for a sign-in like any other visit. Never
|
|
165
|
+
* an error, never nothing.
|
|
166
|
+
*/
|
|
167
|
+
export const REPORT_FALLBACK_URL = "https://www.teeras.com/app";
|
|
168
|
+
/**
|
|
169
|
+
* Same site as the credentials this token came from — the apex and its `www`
|
|
170
|
+
* twin count as the same site (the apex 308-redirects to www, and the server
|
|
171
|
+
* pins minted links to www). Anything else, or anything not HTTPS, is not a
|
|
172
|
+
* link this device asked for, so `reportUrl` discards it and the caller
|
|
173
|
+
* falls back to the plain site.
|
|
174
|
+
*/
|
|
175
|
+
function sameSiteReportUrl(candidate, baseUrl) {
|
|
176
|
+
try {
|
|
177
|
+
const url = new URL(candidate);
|
|
178
|
+
const base = new URL(baseUrl);
|
|
179
|
+
if (url.protocol !== base.protocol)
|
|
180
|
+
return null;
|
|
181
|
+
const strip = (host) => (host.startsWith("www.") ? host.slice(4) : host);
|
|
182
|
+
if (strip(url.host) !== strip(base.host))
|
|
183
|
+
return null;
|
|
184
|
+
return url.toString();
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* How long the login link is worth waiting for. A wedged network — a captive
|
|
192
|
+
* portal, a black-holed route — otherwise leaves this request hanging for
|
|
193
|
+
* the OS's own TCP timeout (minutes), and this process is what Teeras.app
|
|
194
|
+
* spawns behind a button. Four seconds sits inside the app's own five-second
|
|
195
|
+
* deadline, so the binary gives up first and the app gets a `fallback` line
|
|
196
|
+
* rather than having to kill a child that is still waiting.
|
|
197
|
+
*/
|
|
198
|
+
export const REPORT_TIMEOUT_MS = 4_000;
|
|
199
|
+
/**
|
|
200
|
+
* Trades this device's token for a single-use, ~60-second link that opens
|
|
201
|
+
* the web report already signed in.
|
|
202
|
+
*
|
|
203
|
+
* Returns `null` — never throws — on every failure: offline, a network that
|
|
204
|
+
* hangs past `REPORT_TIMEOUT_MS`, 401 (the device connection expired or was
|
|
205
|
+
* revoked), a throttle, a malformed response, a link pointing somewhere
|
|
206
|
+
* else. "Open your report" must always open something, so the caller's job
|
|
207
|
+
* on `null` is simply to open `REPORT_FALLBACK_URL`.
|
|
208
|
+
*/
|
|
209
|
+
export async function reportUrl(credentials, fetcher = fetch) {
|
|
210
|
+
try {
|
|
211
|
+
const response = await fetcher(`${credentials.baseUrl}/api/afterhours/device/web-login`, {
|
|
212
|
+
method: "POST",
|
|
213
|
+
headers: { authorization: `Bearer ${credentials.accessToken}` },
|
|
214
|
+
signal: AbortSignal.timeout(REPORT_TIMEOUT_MS),
|
|
215
|
+
});
|
|
216
|
+
if (!response.ok)
|
|
217
|
+
return null;
|
|
218
|
+
const value = object(await response.json().catch(() => null));
|
|
219
|
+
if (typeof value?.url !== "string")
|
|
220
|
+
return null;
|
|
221
|
+
return sameSiteReportUrl(value.url, credentials.baseUrl);
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Machine-readable half of `trs report`, for Teeras.app: exactly one JSON
|
|
229
|
+
* line, then nothing. `url` carries a signed-in link; `fallback` carries the
|
|
230
|
+
* plain site. The caller opens whichever arrives — this function never opens
|
|
231
|
+
* a browser itself. Same cross-language line contract as `connectMachine`:
|
|
232
|
+
* event and field names are frozen.
|
|
233
|
+
*/
|
|
234
|
+
export async function reportMachine(home, emit, fetcher = fetch) {
|
|
235
|
+
const credentials = readCredentials(home);
|
|
236
|
+
const url = credentials ? await reportUrl(credentials, fetcher) : null;
|
|
237
|
+
emit(JSON.stringify(url ? { event: "url", url } : { event: "fallback", url: REPORT_FALLBACK_URL }));
|
|
238
|
+
return url !== null;
|
|
239
|
+
}
|
|
112
240
|
export async function revokeDevice(credentials, fetcher = fetch) {
|
|
113
241
|
try {
|
|
114
242
|
const response = await fetcher(`${credentials.baseUrl}/api/afterhours/device/revoke`, {
|
|
@@ -148,4 +276,41 @@ export async function syncSnapshot(snapshot, credentials, fetcher = fetch) {
|
|
|
148
276
|
// Missing means an older server: stay quiet rather than nag incorrectly.
|
|
149
277
|
return { stored: value?.stored === true, reflectedToday: value?.reflectedToday !== false };
|
|
150
278
|
}
|
|
279
|
+
export const RUN_EVENT_TIMEOUT_MS = 2_000;
|
|
280
|
+
/**
|
|
281
|
+
* Best-effort by design: the hook that calls this must return quickly and
|
|
282
|
+
* never surface a failure to the agent. Offline, throttled, or slow — the
|
|
283
|
+
* next full sync backfills whatever this call could not deliver.
|
|
284
|
+
*/
|
|
285
|
+
async function postRunEvent(path, body, credentials, fetcher) {
|
|
286
|
+
try {
|
|
287
|
+
await fetcher(`${credentials.baseUrl}${path}`, {
|
|
288
|
+
method: "POST",
|
|
289
|
+
headers: { authorization: `Bearer ${credentials.accessToken}`, "content-type": "application/json" },
|
|
290
|
+
body: JSON.stringify(body),
|
|
291
|
+
signal: AbortSignal.timeout(RUN_EVENT_TIMEOUT_MS),
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
// Offline, throttled, or slow: the phone backfills from the next sync.
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
export function postRunStarted(event, credentials, humanActiveMinutesSoFar, fetcher = fetch) {
|
|
299
|
+
return postRunEvent("/api/afterhours/run/started", {
|
|
300
|
+
sourceId: event.sourceId,
|
|
301
|
+
runKey: event.runKey,
|
|
302
|
+
modelFamily: event.modelFamily,
|
|
303
|
+
localStartHour: event.localStartHour,
|
|
304
|
+
tz: event.tz,
|
|
305
|
+
humanActiveMinutesSoFar,
|
|
306
|
+
cliVersion: CLI_VERSION,
|
|
307
|
+
}, credentials, fetcher);
|
|
308
|
+
}
|
|
309
|
+
export function postRunEnded(event, credentials, fetcher = fetch) {
|
|
310
|
+
return postRunEvent("/api/afterhours/run/ended", {
|
|
311
|
+
sourceId: event.sourceId,
|
|
312
|
+
runKey: event.runKey,
|
|
313
|
+
endedAt: event.endedAt,
|
|
314
|
+
}, credentials, fetcher);
|
|
315
|
+
}
|
|
151
316
|
//# sourceMappingURL=cloud.js.map
|
package/dist/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA2B3C,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,YAAY,GAAG,4EAA4E,CAAC;AAElG,MAAM,UAAU,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU;IAC1D,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,SAAS,GAAG,KAAK,IAAI,wBAAwB,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE;IAC9C,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAA8B,CAAC;QACpG,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACjF,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1E,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1F,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YAC1C,OAAO,IAAI,CAAC;QACd,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAA6B,EAAE,IAAI,GAAG,OAAO,EAAE;IAC9E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAAG,OAAO,EAAE;IAChD,IAAI,CAAC;QACH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAAmB,KAAK;IAC9E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,8BAA8B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IACE,CAAC,KAAK;QACN,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7E,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvF,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;QACzC,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM;QACjE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,GAAG,EAAE,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG;QACpF,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,EAAE;QAC/E,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,KAAkB,EAClB,UAAwE,EAAE;IAE1E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,8BAA8B,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;YACzB,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC9E,KAAK,CAAC,SAAS,KAAK,QAAQ;gBAC5B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;gBAC/E,OAAO,KAA+B,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,EAAE,KAAK,KAAK,uBAAuB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAA6B,EAC7B,UAAmB,KAAK;IAExB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,+BAA+B,EAAE;YACpF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,CAAC,WAAW,EAAE,EAAE;SAChE,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+FAA+F;AAC/F,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,kFAAkF,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAA4B,EAC5B,WAA6B,EAC7B,UAAmB,KAAK;IAExB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,sBAAsB,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,CAAC,WAAW,EAAE;YAClD,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,sBAAsB,EAAE,CAAC;IAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,yEAAyE;IACzE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,KAAK,KAAK,EAAE,CAAC;AAC7F,CAAC"}
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/collect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../src/collect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../src/collect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGpE,eAAO,MAAM,OAAO,EAAE,SAAS,aAAa,EAA6E,CAAC;AAE1H,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,cAAmB,GAAG,kBAAkB,CAoBvF;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,cAAmB,GAAG,kBAAkB,CAMlF"}
|
package/dist/collect.js
CHANGED
|
@@ -5,7 +5,9 @@ import { claudeSource } from "./sources/claude.js";
|
|
|
5
5
|
import { codexSource } from "./sources/codex.js";
|
|
6
6
|
import { cursorSource } from "./sources/cursor.js";
|
|
7
7
|
import { geminiSource } from "./sources/gemini.js";
|
|
8
|
-
|
|
8
|
+
import { macosAppsSource } from "./sources/macosApps.js";
|
|
9
|
+
import { CLI_VERSION } from "./version.js";
|
|
10
|
+
export const SOURCES = [claudeSource, codexSource, geminiSource, cursorSource, macosAppsSource];
|
|
9
11
|
/** The machine's IANA timezone name, or null when the runtime cannot say. */
|
|
10
12
|
function machineTimezone() {
|
|
11
13
|
try {
|
|
@@ -35,6 +37,7 @@ export function collectAfterhoursLocal(options = {}) {
|
|
|
35
37
|
tz: machineTimezone(),
|
|
36
38
|
sources: (options.sources ?? SOURCES).map((source) => source.collect(input)),
|
|
37
39
|
boundary: DATA_BOUNDARY,
|
|
40
|
+
cliVersion: CLI_VERSION,
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
/** Public collection boundary: activity is reduced locally with a stable device secret. */
|
package/dist/collect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../src/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../src/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAA6B,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAW1H,6EAA6E;AAC7E,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC5D,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAA0B,EAAE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;QACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,uBAAuB;KACtE,CAAC;IACF,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAChC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,EAAE,EAAE,eAAe,EAAE;QACrB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,UAA0B,EAAE;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACvC,sEAAsE;IACtE,uEAAuE;IACvE,gFAAgF;IAChF,OAAO,sBAAsB,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC"}
|
package/dist/detect.js
CHANGED
|
@@ -16,9 +16,9 @@ const DETECTORS = [
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
id: "claude-code",
|
|
19
|
-
name: "Claude Code",
|
|
19
|
+
name: "Claude Code app + CLI",
|
|
20
20
|
automatic: true,
|
|
21
|
-
detail: "local
|
|
21
|
+
detail: "local CLI history connects automatically; desktop app sessions keep separate history and count through the opt-in lifecycle hooks setup installs",
|
|
22
22
|
paths: (home) => [join(home, ".claude"), ...configuredRoot(home, "CLAUDE_CONFIG_DIR")],
|
|
23
23
|
},
|
|
24
24
|
{
|
package/dist/detect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACtG,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAuC,EAAY,EAAE;IACzF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,OAAO,IAAI,KAAK,OAAO,EAAE,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAwB;IACrC;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,uFAAuF;QAC/F,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC/E;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
|