@telora/daemon 0.17.25 → 0.17.28
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/build-info.json +2 -2
- package/dist/cli/session-state.d.ts +5 -3
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +4 -2
- package/dist/cli/session-state.js.map +1 -1
- package/dist/version-check.d.ts +13 -3
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +65 -21
- package/dist/version-check.js.map +1 -1
- package/package.json +1 -1
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-06-
|
|
2
|
+
"commitSha": "c113310c",
|
|
3
|
+
"builtAt": "2026-06-08T21:14:55.859Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* `telora-daemon session-state` subcommand.
|
|
3
3
|
*
|
|
4
4
|
* One-shot bootstrap helper for the Claude Code SessionStart and PreToolUse
|
|
5
|
-
* hooks. Reads
|
|
6
|
-
*
|
|
5
|
+
* hooks. Reads daemon config using global-first search order
|
|
6
|
+
* (`~/.telora/daemon.json`, then `.telora/daemon.json` in cwd), or the
|
|
7
|
+
* explicit `--config <path>` override. Calls the product-api `session_state`
|
|
8
|
+
* action and emits either:
|
|
7
9
|
*
|
|
8
10
|
* - default: two-line invariant summary suitable for Claude's session
|
|
9
11
|
* context. Line 1 is the connection (URL + org + product name); line 2
|
|
@@ -54,7 +56,7 @@ interface SessionStateResponse {
|
|
|
54
56
|
export interface SessionStateOptions {
|
|
55
57
|
/** Emit structured JSON instead of human-readable text. */
|
|
56
58
|
json?: boolean;
|
|
57
|
-
/** Override the daemon.json path
|
|
59
|
+
/** Override the daemon.json path. Default: global `~/.telora/daemon.json`, then `.telora/daemon.json` in cwd. */
|
|
58
60
|
config?: string;
|
|
59
61
|
}
|
|
60
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,UAAU,iBAAiB;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,CAAC;CACH;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,GAAG;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAChD,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iHAAiH;IACjH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAS/D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAMxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,UAAU,GAAG;IAC5D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAiBA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAWjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAqB1D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC9E"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* `telora-daemon session-state` subcommand.
|
|
3
3
|
*
|
|
4
4
|
* One-shot bootstrap helper for the Claude Code SessionStart and PreToolUse
|
|
5
|
-
* hooks. Reads
|
|
6
|
-
*
|
|
5
|
+
* hooks. Reads daemon config using global-first search order
|
|
6
|
+
* (`~/.telora/daemon.json`, then `.telora/daemon.json` in cwd), or the
|
|
7
|
+
* explicit `--config <path>` override. Calls the product-api `session_state`
|
|
8
|
+
* action and emits either:
|
|
7
9
|
*
|
|
8
10
|
* - default: two-line invariant summary suitable for Claude's session
|
|
9
11
|
* context. Line 1 is the connection (URL + org + product name); line 2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"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"}
|
package/dist/version-check.d.ts
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Non-blocking npm registry version check.
|
|
3
3
|
*
|
|
4
|
-
* Checks if a newer version of @telora/daemon is available on the
|
|
5
|
-
* registry. Fails
|
|
6
|
-
* startup or normal operation
|
|
4
|
+
* Checks if a newer version of @telora/daemon is available on the public
|
|
5
|
+
* registry the package is actually installed from. Fails open on any error --
|
|
6
|
+
* a registry outage never prevents startup or normal operation -- but logs a
|
|
7
|
+
* warn line so a broken update path produces a signal instead of silent rot.
|
|
7
8
|
*/
|
|
8
9
|
export interface VersionCheckResult {
|
|
9
10
|
latestVersion: string;
|
|
10
11
|
updateAvailable: boolean;
|
|
11
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* True when `candidate` is a strictly greater semver than `current`
|
|
15
|
+
* (major.minor.patch compare). Falls back to string inequality only when
|
|
16
|
+
* either version cannot be parsed, so a malformed tag never silently no-ops.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isNewerVersion(candidate: string, current: string): boolean;
|
|
12
19
|
/**
|
|
13
20
|
* Check the npm registry for the latest published version of @telora/daemon.
|
|
14
21
|
*
|
|
15
22
|
* @param currentVersion - The currently running version (e.g., "0.7.5")
|
|
16
23
|
* @returns VersionCheckResult or null on any failure (network, timeout, parse, etc.)
|
|
24
|
+
*
|
|
25
|
+
* Fail-open: returns null on any error but logs a warn line including the
|
|
26
|
+
* resolved registry URL so a broken update path is observable in the daemon log.
|
|
17
27
|
*/
|
|
18
28
|
export declare function checkForUpdates(currentVersion: string, packageName?: string): Promise<VersionCheckResult | null>;
|
|
19
29
|
//# sourceMappingURL=version-check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAiCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS1E;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,SAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAoDhI"}
|
package/dist/version-check.js
CHANGED
|
@@ -1,38 +1,75 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Non-blocking npm registry version check.
|
|
3
3
|
*
|
|
4
|
-
* Checks if a newer version of @telora/daemon is available on the
|
|
5
|
-
* registry. Fails
|
|
6
|
-
* startup or normal operation
|
|
4
|
+
* Checks if a newer version of @telora/daemon is available on the public
|
|
5
|
+
* registry the package is actually installed from. Fails open on any error --
|
|
6
|
+
* a registry outage never prevents startup or normal operation -- but logs a
|
|
7
|
+
* warn line so a broken update path produces a signal instead of silent rot.
|
|
7
8
|
*/
|
|
8
|
-
import { readFileSync } from 'node:fs';
|
|
9
|
-
import { dirname, join } from 'node:path';
|
|
10
|
-
import { fileURLToPath } from 'node:url';
|
|
11
9
|
const CHECK_TIMEOUT_MS = 5000;
|
|
10
|
+
/** Public registry the package is installed from; the update check targets this. */
|
|
11
|
+
const DEFAULT_REGISTRY_URL = 'https://registry.npmjs.org/';
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Resolve the registry URL the update check should target.
|
|
14
|
+
*
|
|
15
|
+
* Defaults to the public npmjs registry the package is installed from. Does NOT
|
|
16
|
+
* derive from package.json publishConfig.registry -- that field points at the
|
|
17
|
+
* internal Gitea LAN host for PUBLISHING and is unreachable from installed
|
|
18
|
+
* daemons in the field. TELORA_REGISTRY_URL stays as the explicit LAN/dev
|
|
19
|
+
* override.
|
|
15
20
|
*/
|
|
16
21
|
function getRegistryUrl() {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
return process.env.TELORA_REGISTRY_URL || DEFAULT_REGISTRY_URL;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a semver string's numeric major.minor.patch core, ignoring any
|
|
26
|
+
* pre-release / build suffix (e.g. "1.2.3-beta.1" -> [1, 2, 3]).
|
|
27
|
+
* Returns null when the core cannot be parsed.
|
|
28
|
+
*/
|
|
29
|
+
function parseVersionCore(version) {
|
|
30
|
+
const core = version.trim().replace(/^v/, '').split(/[-+]/)[0];
|
|
31
|
+
const parts = core.split('.');
|
|
32
|
+
if (parts.length < 1)
|
|
33
|
+
return null;
|
|
34
|
+
const nums = [];
|
|
35
|
+
for (let i = 0; i < 3; i++) {
|
|
36
|
+
const n = Number(parts[i] ?? '0');
|
|
37
|
+
if (!Number.isInteger(n) || n < 0)
|
|
38
|
+
return null;
|
|
39
|
+
nums.push(n);
|
|
22
40
|
}
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
return [nums[0], nums[1], nums[2]];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* True when `candidate` is a strictly greater semver than `current`
|
|
45
|
+
* (major.minor.patch compare). Falls back to string inequality only when
|
|
46
|
+
* either version cannot be parsed, so a malformed tag never silently no-ops.
|
|
47
|
+
*/
|
|
48
|
+
export function isNewerVersion(candidate, current) {
|
|
49
|
+
const c = parseVersionCore(candidate);
|
|
50
|
+
const r = parseVersionCore(current);
|
|
51
|
+
if (!c || !r)
|
|
52
|
+
return candidate !== current;
|
|
53
|
+
for (let i = 0; i < 3; i++) {
|
|
54
|
+
if (c[i] > r[i])
|
|
55
|
+
return true;
|
|
56
|
+
if (c[i] < r[i])
|
|
57
|
+
return false;
|
|
25
58
|
}
|
|
59
|
+
return false;
|
|
26
60
|
}
|
|
27
61
|
/**
|
|
28
62
|
* Check the npm registry for the latest published version of @telora/daemon.
|
|
29
63
|
*
|
|
30
64
|
* @param currentVersion - The currently running version (e.g., "0.7.5")
|
|
31
65
|
* @returns VersionCheckResult or null on any failure (network, timeout, parse, etc.)
|
|
66
|
+
*
|
|
67
|
+
* Fail-open: returns null on any error but logs a warn line including the
|
|
68
|
+
* resolved registry URL so a broken update path is observable in the daemon log.
|
|
32
69
|
*/
|
|
33
70
|
export async function checkForUpdates(currentVersion, packageName = '@telora/daemon') {
|
|
71
|
+
const registryUrl = getRegistryUrl();
|
|
34
72
|
try {
|
|
35
|
-
const registryUrl = process.env.TELORA_REGISTRY_URL || getRegistryUrl();
|
|
36
73
|
const base = registryUrl.endsWith('/') ? registryUrl : registryUrl + '/';
|
|
37
74
|
// Scoped package names use URL-encoded slash in the npm protocol
|
|
38
75
|
const encodedName = packageName.replace('/', '%2F');
|
|
@@ -44,23 +81,30 @@ export async function checkForUpdates(currentVersion, packageName = '@telora/dae
|
|
|
44
81
|
signal: controller.signal,
|
|
45
82
|
headers: { Accept: 'application/json' },
|
|
46
83
|
});
|
|
47
|
-
if (!response.ok)
|
|
84
|
+
if (!response.ok) {
|
|
85
|
+
console.warn(`[auto-update] Version check failed: registry ${registryUrl} returned HTTP ${response.status} for ${packageName}`);
|
|
48
86
|
return null;
|
|
87
|
+
}
|
|
49
88
|
const data = (await response.json());
|
|
50
89
|
const latestVersion = data['dist-tags']?.latest;
|
|
51
|
-
if (!latestVersion)
|
|
90
|
+
if (!latestVersion) {
|
|
91
|
+
console.warn(`[auto-update] Version check inconclusive: no dist-tags.latest for ${packageName} at registry ${registryUrl}`);
|
|
52
92
|
return null;
|
|
93
|
+
}
|
|
53
94
|
return {
|
|
54
95
|
latestVersion,
|
|
55
|
-
updateAvailable: latestVersion
|
|
96
|
+
updateAvailable: isNewerVersion(latestVersion, currentVersion),
|
|
56
97
|
};
|
|
57
98
|
}
|
|
58
99
|
finally {
|
|
59
100
|
clearTimeout(timeout);
|
|
60
101
|
}
|
|
61
102
|
}
|
|
62
|
-
catch {
|
|
63
|
-
// Fail
|
|
103
|
+
catch (err) {
|
|
104
|
+
// Fail open -- registry outage, network error, parse error, abort, etc.
|
|
105
|
+
// Log so a dead update path produces a signal instead of looking identical
|
|
106
|
+
// to "already up to date".
|
|
107
|
+
console.warn(`[auto-update] Version check error against registry ${registryUrl}: ${err instanceof Error ? err.message : String(err)}`);
|
|
64
108
|
return null;
|
|
65
109
|
}
|
|
66
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
|