optimus-tool-call 0.1.18 → 0.1.20
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.
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* POST `/endpoint_security/startup/` with `metadata.user_profile` so `EndpointMachine.user_profile`
|
|
3
3
|
* stays fresh even when `log_uuid` is throttled (e.g. customer hooks with existing auth_key.txt).
|
|
4
|
+
* Signs `payload` with the stored machine key when present (same as `log-llm-config` startup_sender)
|
|
5
|
+
* so the backend does not revoke keys on every unsigned sync.
|
|
4
6
|
*
|
|
5
7
|
* Throttled (default 30 min) to avoid an extra HTTP round-trip on every tool call. Override with
|
|
6
8
|
* `OPTIMUS_STARTUP_SYNC_INTERVAL_MS` (set to `0` to sync on every batch). Skip entirely with
|
|
@@ -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;;;;;;;;;GASG;AAwBH,wBAAsB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGrF"}
|
package/dist/lib/startup-sync.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* POST `/endpoint_security/startup/` with `metadata.user_profile` so `EndpointMachine.user_profile`
|
|
3
3
|
* stays fresh even when `log_uuid` is throttled (e.g. customer hooks with existing auth_key.txt).
|
|
4
|
+
* Signs `payload` with the stored machine key when present (same as `log-llm-config` startup_sender)
|
|
5
|
+
* so the backend does not revoke keys on every unsigned sync.
|
|
4
6
|
*
|
|
5
7
|
* Throttled (default 30 min) to avoid an extra HTTP round-trip on every tool call. Override with
|
|
6
8
|
* `OPTIMUS_STARTUP_SYNC_INTERVAL_MS` (set to `0` to sync on every batch). Skip entirely with
|
|
7
9
|
* `OPTIMUS_SKIP_STARTUP_SYNC=1`.
|
|
8
10
|
*/
|
|
9
|
-
import { buildStartupEndpointUrl, loadEndpointBase, persistAuthKey, } from "optimus-tofu";
|
|
11
|
+
import { buildStartupEndpointUrl, createSignature, loadEndpointBase, persistAuthKey, readStoredAuthKey, } from "optimus-tofu";
|
|
10
12
|
import { OPTIMUS_AUTH_KEY_RELATIVE_PATH, resetToolCallAuthCache } from "./machine-auth.js";
|
|
11
13
|
import { resolveUserProfile } from "./user-profile.js";
|
|
14
|
+
const emptyUserProfile = () => ({
|
|
15
|
+
generateduuid: "",
|
|
16
|
+
machineuuid: "",
|
|
17
|
+
mac_username: "",
|
|
18
|
+
github_username: "",
|
|
19
|
+
claude_email: "",
|
|
20
|
+
cursor_email: "",
|
|
21
|
+
});
|
|
12
22
|
let lastSuccessfulStartupSyncMs = 0;
|
|
13
23
|
export async function ensureStartupMetadataSynced(hardwareUuid) {
|
|
14
24
|
if (process.env.OPTIMUS_SKIP_STARTUP_SYNC === "1")
|
|
@@ -29,7 +39,14 @@ export async function ensureStartupMetadataSynced(hardwareUuid) {
|
|
|
29
39
|
directory: process.cwd(),
|
|
30
40
|
hardware_uuid: hardwareUuid,
|
|
31
41
|
};
|
|
32
|
-
|
|
42
|
+
let user_profile;
|
|
43
|
+
try {
|
|
44
|
+
user_profile = { ...resolveUserProfile() };
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
console.error(`[optimus-tool-call] resolveUserProfile failed; continuing startup sync with empty profile: ${err instanceof Error ? err.message : String(err)}`);
|
|
48
|
+
user_profile = emptyUserProfile();
|
|
49
|
+
}
|
|
33
50
|
const github_username = (typeof user_profile.github_username === "string" && user_profile.github_username.trim()) ||
|
|
34
51
|
process.env.GITHUB_USER ||
|
|
35
52
|
process.env.GH_USER ||
|
|
@@ -49,6 +66,14 @@ export async function ensureStartupMetadataSynced(hardwareUuid) {
|
|
|
49
66
|
metadata,
|
|
50
67
|
scan_timestamp: timestamp,
|
|
51
68
|
};
|
|
69
|
+
const storedKey = readStoredAuthKey({
|
|
70
|
+
authRelativePath: OPTIMUS_AUTH_KEY_RELATIVE_PATH,
|
|
71
|
+
});
|
|
72
|
+
if (storedKey?.key && storedKey.hardware_uuid === hardwareUuid) {
|
|
73
|
+
body.signature = createSignature(payloadSummary, storedKey.key);
|
|
74
|
+
if (storedKey.key_id)
|
|
75
|
+
body.key_id = storedKey.key_id;
|
|
76
|
+
}
|
|
52
77
|
const url = buildStartupEndpointUrl(loadEndpointBase());
|
|
53
78
|
try {
|
|
54
79
|
const res = await fetch(url, {
|
|
@@ -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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"}
|