optimus-tool-call 0.1.16 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/hardware-uuid.d.ts +4 -8
- package/dist/lib/hardware-uuid.d.ts.map +1 -1
- package/dist/lib/hardware-uuid.js +28 -28
- package/dist/lib/hardware-uuid.js.map +1 -1
- package/dist/lib/machine-auth.d.ts.map +1 -1
- package/dist/lib/machine-auth.js +7 -1
- package/dist/lib/machine-auth.js.map +1 -1
- package/dist/lib/startup-sync.d.ts +6 -5
- package/dist/lib/startup-sync.d.ts.map +1 -1
- package/dist/lib/startup-sync.js +20 -10
- package/dist/lib/startup-sync.js.map +1 -1
- package/dist/lib/streaming.d.ts.map +1 -1
- package/dist/lib/streaming.js +6 -8
- package/dist/lib/streaming.js.map +1 -1
- package/dist/test/streaming.test.js +1 -5
- package/dist/test/streaming.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hardware UUID resolution — same probe order as log-llm-config
|
|
3
|
-
* `src/log_uuid/hardware_uuid.ts` (see design_notes/user_profile_field_sources.md).
|
|
4
|
-
*/
|
|
5
|
-
/** Shared shell one-liner helper (also used by `user-profile.ts`, same as log-llm-config). */
|
|
1
|
+
/** Run a static shell command and return trimmed stdout (same pattern as log-llm-config). */
|
|
6
2
|
export declare function readCommandOutput(command: string): string;
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
/** Same as {@link resolveHardwareUuid} but returns null on failure (e.g. Linux CI). */
|
|
3
|
+
/** Resolve hardware UUID from environment or macOS system commands (same strategy as log-llm-config). */
|
|
4
|
+
declare function resolveHardwareUuid(): string;
|
|
10
5
|
export declare function tryResolveHardwareUuid(): string | null;
|
|
6
|
+
export { resolveHardwareUuid };
|
|
11
7
|
//# sourceMappingURL=hardware-uuid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware-uuid.d.ts","sourceRoot":"","sources":["../../src/lib/hardware-uuid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hardware-uuid.d.ts","sourceRoot":"","sources":["../../src/lib/hardware-uuid.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASzD;AAED,yGAAyG;AACzG,iBAAS,mBAAmB,IAAI,MAAM,CAyBrC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAMtD;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hardware UUID resolution — same probe order as log-llm-config
|
|
3
|
-
* `src/log_uuid/hardware_uuid.ts` (see design_notes/user_profile_field_sources.md).
|
|
4
|
-
*/
|
|
5
1
|
import { execSync } from "node:child_process";
|
|
6
|
-
/**
|
|
2
|
+
/** Run a static shell command and return trimmed stdout (same pattern as log-llm-config). */
|
|
7
3
|
export function readCommandOutput(command) {
|
|
8
4
|
try {
|
|
9
5
|
return execSync(command, {
|
|
@@ -15,32 +11,35 @@ export function readCommandOutput(command) {
|
|
|
15
11
|
return "";
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const ioregMatch = ioregOutput.match(/"IOPlatformUUID"\s*=\s*"([^"]+)"/i);
|
|
21
|
-
if (ioregMatch?.[1])
|
|
22
|
-
return ioregMatch[1];
|
|
23
|
-
const profilerOutput = readCommandOutput("system_profiler SPHardwareDataType");
|
|
24
|
-
const profilerMatch = profilerOutput.match(/Hardware UUID:\s*([A-F0-9-]+)/i);
|
|
25
|
-
if (profilerMatch?.[1])
|
|
26
|
-
return profilerMatch[1];
|
|
27
|
-
throw new Error("Unable to determine hardware UUID via ioreg or system_profiler.");
|
|
28
|
-
};
|
|
29
|
-
const normalizeHardwareUuid = (raw) => {
|
|
30
|
-
const trimmed = raw.trim();
|
|
31
|
-
const match = trimmed.match(/[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}/);
|
|
32
|
-
if (match)
|
|
33
|
-
return match[0];
|
|
34
|
-
return trimmed.replace(/^"+|"+$/g, "");
|
|
35
|
-
};
|
|
36
|
-
/** Prefer `OPTIMUS_HARDWARE_UUID`, then macOS probes (matches log-llm-config). */
|
|
37
|
-
export function resolveHardwareUuid() {
|
|
14
|
+
/** Resolve hardware UUID from environment or macOS system commands (same strategy as log-llm-config). */
|
|
15
|
+
function resolveHardwareUuid() {
|
|
38
16
|
const envUuid = process.env.OPTIMUS_HARDWARE_UUID?.trim();
|
|
39
17
|
if (envUuid)
|
|
40
|
-
return
|
|
41
|
-
|
|
18
|
+
return envUuid;
|
|
19
|
+
try {
|
|
20
|
+
const ioregOutput = execSync("ioreg -rd1 -c IOPlatformExpertDevice", {
|
|
21
|
+
encoding: "utf8",
|
|
22
|
+
}).trim();
|
|
23
|
+
const ioregMatch = ioregOutput.match(/"IOPlatformUUID"\s*=\s*"([^"]+)"/i);
|
|
24
|
+
if (ioregMatch?.[1])
|
|
25
|
+
return ioregMatch[1];
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// try next method
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const profilerOutput = execSync("system_profiler SPHardwareDataType", {
|
|
32
|
+
encoding: "utf8",
|
|
33
|
+
}).trim();
|
|
34
|
+
const profilerMatch = profilerOutput.match(/Hardware UUID:\s*([A-F0-9-]+)/i);
|
|
35
|
+
if (profilerMatch?.[1])
|
|
36
|
+
return profilerMatch[1];
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// both methods failed
|
|
40
|
+
}
|
|
41
|
+
throw new Error("Unable to determine hardware UUID via ioreg or system_profiler.");
|
|
42
42
|
}
|
|
43
|
-
/** Same as {@link resolveHardwareUuid} but returns null on failure (e.g. Linux CI). */
|
|
44
43
|
export function tryResolveHardwareUuid() {
|
|
45
44
|
try {
|
|
46
45
|
return resolveHardwareUuid();
|
|
@@ -49,4 +48,5 @@ export function tryResolveHardwareUuid() {
|
|
|
49
48
|
return null;
|
|
50
49
|
}
|
|
51
50
|
}
|
|
51
|
+
export { resolveHardwareUuid };
|
|
52
52
|
//# sourceMappingURL=hardware-uuid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware-uuid.js","sourceRoot":"","sources":["../../src/lib/hardware-uuid.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hardware-uuid.js","sourceRoot":"","sources":["../../src/lib/hardware-uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,EAAE;YACvB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,QAAQ,CAAC,sCAAsC,EAAE;YACnE,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1E,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,QAAQ,CAAC,oCAAoC,EAAE;YACpE,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC7E,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC;QACH,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-auth.d.ts","sourceRoot":"","sources":["../../src/lib/machine-auth.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"machine-auth.d.ts","sourceRoot":"","sources":["../../src/lib/machine-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,yFAAyF;AACzF,eAAO,MAAM,8BAA8B,QAI1C,CAAC;AAuBF;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
package/dist/lib/machine-auth.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { ensureAuthentication, loadEndpointBase, } from "optimus-tofu";
|
|
2
|
+
import { ensureAuthentication, loadEndpointBase, readStoredAuthKey, } from "optimus-tofu";
|
|
3
3
|
/** Same path as log-llm-config: `~/opt-ai-sec/management/auth_key.txt` under `$HOME`. */
|
|
4
4
|
export const OPTIMUS_AUTH_KEY_RELATIVE_PATH = path.join("opt-ai-sec", "management", "auth_key.txt");
|
|
5
5
|
let cached = null;
|
|
@@ -22,6 +22,12 @@ async function postJsonForAuth(endpointUrl, body) {
|
|
|
22
22
|
* `/endpoint_security/auth/` or request a new key and persist under HOME.
|
|
23
23
|
*/
|
|
24
24
|
export async function ensureToolCallAuth(hardwareUuid) {
|
|
25
|
+
const fromDisk = readStoredAuthKey({
|
|
26
|
+
authRelativePath: OPTIMUS_AUTH_KEY_RELATIVE_PATH,
|
|
27
|
+
});
|
|
28
|
+
if (!fromDisk?.key && cached?.hardwareUuid === hardwareUuid) {
|
|
29
|
+
cached = null;
|
|
30
|
+
}
|
|
25
31
|
if (cached?.hardwareUuid === hardwareUuid)
|
|
26
32
|
return cached.key;
|
|
27
33
|
const key = await ensureAuthentication({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-auth.js","sourceRoot":"","sources":["../../src/lib/machine-auth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"machine-auth.js","sourceRoot":"","sources":["../../src/lib/machine-auth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,cAAc,CAAC;AAEtB,yFAAyF;AACzF,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CACrD,YAAY,EACZ,YAAY,EACZ,cAAc,CACf,CAAC;AAEF,IAAI,MAAM,GAAwD,IAAI,CAAC;AAEvE,KAAK,UAAU,eAAe,CAC5B,WAAmB,EACnB,IAA6B;IAE7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,QAAQ,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB;IAEpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACjC,gBAAgB,EAAE,8BAA8B;KACjD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,YAAY,KAAK,YAAY,EAAE,CAAC;QAC5D,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,EAAE,YAAY,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC;QACrC,YAAY;QACZ,YAAY,EAAE,gBAAgB,EAAE;QAChC,gBAAgB,EAAE,8BAA8B;QAChD,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,MAAM,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* POST `/endpoint_security/startup/` with `metadata.user_profile` so `EndpointMachine.user_profile`
|
|
3
|
+
* stays fresh even when `log_uuid` is throttled (e.g. customer hooks with existing auth_key.txt).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
5
|
+
* Throttled (default 30 min) to avoid an extra HTTP round-trip on every tool call. Override with
|
|
6
|
+
* `OPTIMUS_STARTUP_SYNC_INTERVAL_MS` (set to `0` to sync on every batch). Skip entirely with
|
|
7
|
+
* `OPTIMUS_SKIP_STARTUP_SYNC=1`.
|
|
7
8
|
*/
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function ensureStartupMetadataSynced(hardwareUuid: string): Promise<void>;
|
|
9
10
|
//# sourceMappingURL=startup-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-sync.d.ts","sourceRoot":"","sources":["../../src/lib/startup-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"startup-sync.d.ts","sourceRoot":"","sources":["../../src/lib/startup-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,wBAAsB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFrF"}
|
package/dist/lib/startup-sync.js
CHANGED
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* POST `/endpoint_security/startup/` with `metadata.user_profile` so `EndpointMachine.user_profile`
|
|
3
|
+
* stays fresh even when `log_uuid` is throttled (e.g. customer hooks with existing auth_key.txt).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
5
|
+
* Throttled (default 30 min) to avoid an extra HTTP round-trip on every tool call. Override with
|
|
6
|
+
* `OPTIMUS_STARTUP_SYNC_INTERVAL_MS` (set to `0` to sync on every batch). Skip entirely with
|
|
7
|
+
* `OPTIMUS_SKIP_STARTUP_SYNC=1`.
|
|
7
8
|
*/
|
|
8
|
-
import { buildStartupEndpointUrl, loadEndpointBase, persistAuthKey,
|
|
9
|
+
import { buildStartupEndpointUrl, loadEndpointBase, persistAuthKey, } from "optimus-tofu";
|
|
9
10
|
import { OPTIMUS_AUTH_KEY_RELATIVE_PATH, resetToolCallAuthCache } from "./machine-auth.js";
|
|
10
11
|
import { resolveUserProfile } from "./user-profile.js";
|
|
11
|
-
|
|
12
|
+
let lastSuccessfulStartupSyncMs = 0;
|
|
13
|
+
export async function ensureStartupMetadataSynced(hardwareUuid) {
|
|
12
14
|
if (process.env.OPTIMUS_SKIP_STARTUP_SYNC === "1")
|
|
13
15
|
return;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
+
const rawInterval = process.env.OPTIMUS_STARTUP_SYNC_INTERVAL_MS;
|
|
17
|
+
const intervalMs = rawInterval !== undefined && rawInterval !== ""
|
|
18
|
+
? parseInt(rawInterval, 10)
|
|
19
|
+
: 1800000;
|
|
20
|
+
const now = Date.now();
|
|
21
|
+
if (intervalMs > 0 &&
|
|
22
|
+
lastSuccessfulStartupSyncMs > 0 &&
|
|
23
|
+
now - lastSuccessfulStartupSyncMs < intervalMs) {
|
|
16
24
|
return;
|
|
25
|
+
}
|
|
17
26
|
const timestamp = new Date().toISOString();
|
|
18
27
|
const payloadSummary = {
|
|
19
28
|
timestamp,
|
|
@@ -49,7 +58,7 @@ export async function ensureStartupIfNoAuthKey(hardwareUuid) {
|
|
|
49
58
|
});
|
|
50
59
|
const text = await res.text();
|
|
51
60
|
if (!res.ok) {
|
|
52
|
-
console.error(`[optimus-tool-call] startup sync failed ${res.status}: ${text ? text.slice(0, 240) : res.statusText}`);
|
|
61
|
+
console.error(`[optimus-tool-call] startup metadata sync failed ${res.status}: ${text ? text.slice(0, 240) : res.statusText}`);
|
|
53
62
|
return;
|
|
54
63
|
}
|
|
55
64
|
let parsed = {};
|
|
@@ -63,9 +72,10 @@ export async function ensureStartupIfNoAuthKey(hardwareUuid) {
|
|
|
63
72
|
persistAuthKey(parsed.key, typeof parsed.key_id === "string" ? parsed.key_id : null, hardwareUuid, { authRelativePath: OPTIMUS_AUTH_KEY_RELATIVE_PATH });
|
|
64
73
|
resetToolCallAuthCache();
|
|
65
74
|
}
|
|
75
|
+
lastSuccessfulStartupSyncMs = Date.now();
|
|
66
76
|
}
|
|
67
77
|
catch (err) {
|
|
68
|
-
console.error(`[optimus-tool-call] startup sync error: ${err instanceof Error ? err.message : String(err)}`);
|
|
78
|
+
console.error(`[optimus-tool-call] startup metadata sync error: ${err instanceof Error ? err.message : String(err)}`);
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
//# sourceMappingURL=startup-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-sync.js","sourceRoot":"","sources":["../../src/lib/startup-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"startup-sync.js","sourceRoot":"","sources":["../../src/lib/startup-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAahD;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjD;
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAahD;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjD;AA0JD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA0BrC"}
|
package/dist/lib/streaming.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createSignature } from "optimus-tofu";
|
|
5
5
|
import { ensureToolCallAuth } from "./machine-auth.js";
|
|
6
|
-
import {
|
|
7
|
-
import { tryResolveHardwareUuid } from "./hardware-uuid.js";
|
|
6
|
+
import { ensureStartupMetadataSynced } from "./startup-sync.js";
|
|
8
7
|
import { loadEndpointBase } from "./endpoint-config.js";
|
|
8
|
+
import { tryResolveHardwareUuid } from "./hardware-uuid.js";
|
|
9
9
|
// Backend configuration
|
|
10
10
|
const OPTIMUS_API_BASE = loadEndpointBase();
|
|
11
11
|
const BATCH_SIZE = parseInt(process.env.OPTIMUS_BATCH_SIZE || "1", 10); // Default to 1 for testing
|
|
@@ -60,9 +60,8 @@ export async function flushEvents() {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* via `EndpointMachine` (populated by log-llm-config startup or our cold-start sync).
|
|
63
|
+
* Strip client `user_profile` / `hardware_uuid` from nested metadata so the backend stamps
|
|
64
|
+
* identity from `EndpointMachine` (kept fresh via startup + throttled sync in `startup-sync`).
|
|
66
65
|
*/
|
|
67
66
|
function eventsWireFromTelemetry(events) {
|
|
68
67
|
return events.map((e) => {
|
|
@@ -86,10 +85,9 @@ async function sendBatch(events) {
|
|
|
86
85
|
}
|
|
87
86
|
const hardwareUuid = tryResolveHardwareUuid();
|
|
88
87
|
if (!hardwareUuid) {
|
|
89
|
-
throw new Error("Cannot send tool-call telemetry: set OPTIMUS_HARDWARE_UUID or run on a host "
|
|
90
|
-
"where ioreg/system_profiler can resolve the hardware UUID (same rules as log-llm-config).");
|
|
88
|
+
throw new Error("Cannot send tool-call telemetry: set OPTIMUS_HARDWARE_UUID or run on a host with a hardware UUID.");
|
|
91
89
|
}
|
|
92
|
-
await
|
|
90
|
+
await ensureStartupMetadataSynced(hardwareUuid);
|
|
93
91
|
const auth = await ensureToolCallAuth(hardwareUuid);
|
|
94
92
|
const eventsWire = eventsWireFromTelemetry(events);
|
|
95
93
|
const signingPayload = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { test } from "node:test";
|
|
2
2
|
import assert from "node:assert";
|
|
3
3
|
import { queueEvent, flushEvents, ensureShutdown } from "../lib/streaming.js";
|
|
4
|
-
before(() => {
|
|
5
|
-
process.env.OPTIMUS_SKIP_STARTUP_SYNC = "1";
|
|
6
|
-
process.env.OPTIMUS_HARDWARE_UUID = "11111111-1111-1111-1111-111111111111";
|
|
7
|
-
});
|
|
8
4
|
// Note: These tests are basic structure tests. Full integration tests with actual HTTP
|
|
9
5
|
// would require mocking fetch/http, which is done in integration tests.
|
|
10
6
|
// Helper to create a mock event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.test.js","sourceRoot":"","sources":["../../src/test/streaming.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"streaming.test.js","sourceRoot":"","sources":["../../src/test/streaming.test.ts"],"names":[],"mappings":"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"}
|