optimus-tool-call 0.2.18 → 0.2.19
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/tofu.d.ts +2 -2
- package/dist/lib/tofu.js +4 -4
- package/dist/lib/tofu.js.map +1 -1
- package/dist/test/endpoint-config.test.js +19 -5
- package/dist/test/endpoint-config.test.js.map +1 -1
- package/package.json +2 -2
- package/dist/test/startup-sync.test.d.ts +0 -2
- package/dist/test/startup-sync.test.d.ts.map +0 -1
- package/dist/test/startup-sync.test.js +0 -55
- package/dist/test/startup-sync.test.js.map +0 -1
package/dist/lib/tofu.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Tofu shim — centralises all imports from optimus-tofu.
|
|
3
3
|
*
|
|
4
4
|
* Reads ~/opt-ai-sec/management/optimus_dev.env at startup:
|
|
5
|
-
* - No file / unreadable →
|
|
6
|
-
* - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then
|
|
5
|
+
* - No file / unreadable → staging (ignores OPTIMUS_ENVIRONMENT).
|
|
6
|
+
* - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then staging.
|
|
7
7
|
* - environment=development → loads local dist (file-relative path)
|
|
8
8
|
* - anything else → loads the published npm package
|
|
9
9
|
*
|
package/dist/lib/tofu.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Tofu shim — centralises all imports from optimus-tofu.
|
|
3
3
|
*
|
|
4
4
|
* Reads ~/opt-ai-sec/management/optimus_dev.env at startup:
|
|
5
|
-
* - No file / unreadable →
|
|
6
|
-
* - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then
|
|
5
|
+
* - No file / unreadable → staging (ignores OPTIMUS_ENVIRONMENT).
|
|
6
|
+
* - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then staging.
|
|
7
7
|
* - environment=development → loads local dist (file-relative path)
|
|
8
8
|
* - anything else → loads the published npm package
|
|
9
9
|
*
|
|
@@ -21,7 +21,7 @@ function readEnvironment() {
|
|
|
21
21
|
content = readFileSync(envPath, "utf8");
|
|
22
22
|
}
|
|
23
23
|
catch {
|
|
24
|
-
// No management file:
|
|
24
|
+
// No management file: default production (ignore stale OPTIMUS_ENVIRONMENT).
|
|
25
25
|
return "production";
|
|
26
26
|
}
|
|
27
27
|
const match = content.match(/^(?:environment|ENVIRONMENT|OPTIMUS_ENVIRONMENT)\s*=\s*(.+)/m);
|
|
@@ -35,7 +35,7 @@ function readEnvironment() {
|
|
|
35
35
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
36
36
|
const isDevelopment = readEnvironment() === "development";
|
|
37
37
|
// In development: resolve local optimus-tofu dist relative to this file.
|
|
38
|
-
// dist/lib/tofu.js → ../../.. → npx_packages/
|
|
38
|
+
// dist/lib/tofu.js → ../../.. → npx_packages/staging/ → optimus-tofu/dist/index.js
|
|
39
39
|
const localTofuPath = path.join(__dirname, "../../../optimus-tofu/dist/index.js");
|
|
40
40
|
const tofu = (isDevelopment
|
|
41
41
|
? await import(localTofuPath)
|
package/dist/lib/tofu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tofu.js","sourceRoot":"","sources":["../../src/lib/tofu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACpF,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,
|
|
1
|
+
{"version":3,"file":"tofu.js","sourceRoot":"","sources":["../../src/lib/tofu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACpF,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,8DAA8D,CAC/D,CAAC;IACF,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,eAAe,EAAE,KAAK,aAAa,CAAC;AAE1D,yEAAyE;AACzE,mFAAmF;AACnF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;AAElF,MAAM,IAAI,GAAG,CACX,aAAa;IACX,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC;IAC7B,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CACb,CAAC;AAEtB,MAAM,CAAC,MAAM,EACX,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,GAAG,IAAI,CAAC"}
|
|
@@ -3,29 +3,43 @@ import assert from "node:assert";
|
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path from "node:path";
|
|
6
|
-
//
|
|
7
|
-
// when management optimus_dev.env is not environment=development.
|
|
6
|
+
// Resolve workspace optimus-tofu — lib re-export may load npm when management env ≠ development.
|
|
8
7
|
import { loadEndpointBase } from "../../../optimus-tofu/dist/endpoint-config.js";
|
|
9
8
|
test("loadEndpointBase - uses default when no env and no management file", () => {
|
|
10
9
|
const root = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-default-"));
|
|
11
10
|
const fakeHome = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-home-empty-"));
|
|
12
11
|
const base = loadEndpointBase({
|
|
13
12
|
cwd: root,
|
|
14
|
-
// Do not spread process.env — developer/Cursor may set OPTIMUS_ENDPOINT.
|
|
15
13
|
env: { HOME: fakeHome },
|
|
16
14
|
});
|
|
17
15
|
assert.strictEqual(base, "https://app.optimuslabs.io/");
|
|
18
16
|
fs.rmSync(root, { recursive: true, force: true });
|
|
19
17
|
fs.rmSync(fakeHome, { recursive: true, force: true });
|
|
20
18
|
});
|
|
21
|
-
test("loadEndpointBase - OPTIMUS_ENDPOINT env
|
|
19
|
+
test("loadEndpointBase - management file wins over OPTIMUS_ENDPOINT env", () => {
|
|
20
|
+
const root = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-file-wins-"));
|
|
21
|
+
const fakeHome = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-home-fw-"));
|
|
22
|
+
const mgmt = path.join(fakeHome, "opt-ai-sec", "management");
|
|
23
|
+
fs.mkdirSync(mgmt, { recursive: true });
|
|
24
|
+
fs.writeFileSync(path.join(mgmt, "optimus_dev.env"), "OPTIMUS_ENDPOINT=http://from-file:8080/\n");
|
|
25
|
+
const base = loadEndpointBase({
|
|
26
|
+
cwd: root,
|
|
27
|
+
env: { HOME: fakeHome, OPTIMUS_ENDPOINT: "http://from-env:9999/" },
|
|
28
|
+
});
|
|
29
|
+
assert.strictEqual(base, "http://from-file:8080/");
|
|
30
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
31
|
+
fs.rmSync(fakeHome, { recursive: true, force: true });
|
|
32
|
+
});
|
|
33
|
+
test("loadEndpointBase - OPTIMUS_ENDPOINT env when no management file", () => {
|
|
22
34
|
const root = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-endpoint-env-"));
|
|
35
|
+
const fakeHome = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-home-env-"));
|
|
23
36
|
const base = loadEndpointBase({
|
|
24
37
|
cwd: root,
|
|
25
|
-
env: { OPTIMUS_ENDPOINT: "http://localhost:8080" },
|
|
38
|
+
env: { HOME: fakeHome, OPTIMUS_ENDPOINT: "http://localhost:8080" },
|
|
26
39
|
});
|
|
27
40
|
assert.strictEqual(base, "http://localhost:8080/");
|
|
28
41
|
fs.rmSync(root, { recursive: true, force: true });
|
|
42
|
+
fs.rmSync(fakeHome, { recursive: true, force: true });
|
|
29
43
|
});
|
|
30
44
|
test("loadEndpointBase - OPTIMUS_API_URL env takes precedence", () => {
|
|
31
45
|
const root = fs.mkdtempSync(path.join(os.tmpdir(), "optimus-tool-call-api-url-env-"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-config.test.js","sourceRoot":"","sources":["../../src/test/endpoint-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"endpoint-config.test.js","sourceRoot":"","sources":["../../src/test/endpoint-config.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optimus-tool-call",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"description": "Agentic audit sensor — streams raw tool call metadata; the Optimus backend classifies on ingest",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
"typescript": "^5.0.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"optimus-tofu": "^0.1.
|
|
49
|
+
"optimus-tofu": "^0.1.16"
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"startup-sync.test.d.ts","sourceRoot":"","sources":["../../src/test/startup-sync.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { test, beforeEach, after } from "node:test";
|
|
2
|
-
import assert from "node:assert";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
import os from "os";
|
|
5
|
-
import path from "path";
|
|
6
|
-
import { ensureStartupMetadataSynced } from "../lib/startup-sync.js";
|
|
7
|
-
const tmpDir = path.join(os.tmpdir(), `optimus-startup-sync-${process.pid}`);
|
|
8
|
-
const orgUuid = "55555555-5555-5555-5555-555555555555";
|
|
9
|
-
const originalFetch = globalThis.fetch;
|
|
10
|
-
let capturedBody = null;
|
|
11
|
-
beforeEach(() => {
|
|
12
|
-
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
13
|
-
fs.mkdirSync(path.join(tmpDir, "opt-ai-sec", "management"), { recursive: true });
|
|
14
|
-
fs.writeFileSync(path.join(tmpDir, "opt-ai-sec", "management", "organization-uuid.txt"), `${orgUuid}\n`);
|
|
15
|
-
process.env.HOME = tmpDir;
|
|
16
|
-
process.env.OPTIMUS_ENDPOINT = "https://optimus.test/";
|
|
17
|
-
process.env.OPTIMUS_STARTUP_SYNC_INTERVAL_MS = "0";
|
|
18
|
-
process.env.OPTIMUS_USER_PROFILE_JSON = JSON.stringify({
|
|
19
|
-
generateduuid: "profile-id",
|
|
20
|
-
machineuuid: "hw-startup-sync",
|
|
21
|
-
mac_username: "alice",
|
|
22
|
-
github_username: "",
|
|
23
|
-
claude_email: "",
|
|
24
|
-
cursor_email: "",
|
|
25
|
-
});
|
|
26
|
-
delete process.env.OPTIMUS_ORGANIZATION_UUID;
|
|
27
|
-
capturedBody = null;
|
|
28
|
-
globalThis.fetch = (async (_url, init) => {
|
|
29
|
-
capturedBody = JSON.parse(String(init?.body || "{}"));
|
|
30
|
-
return new Response(JSON.stringify({ status: "accepted" }), {
|
|
31
|
-
status: 200,
|
|
32
|
-
headers: { "Content-Type": "application/json" },
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
after(() => {
|
|
37
|
-
globalThis.fetch = originalFetch;
|
|
38
|
-
delete process.env.OPTIMUS_ENDPOINT;
|
|
39
|
-
delete process.env.OPTIMUS_STARTUP_SYNC_INTERVAL_MS;
|
|
40
|
-
delete process.env.OPTIMUS_USER_PROFILE_JSON;
|
|
41
|
-
delete process.env.OPTIMUS_ORGANIZATION_UUID;
|
|
42
|
-
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
43
|
-
});
|
|
44
|
-
test("startup metadata sync sends organization_uuid from management file", async () => {
|
|
45
|
-
await ensureStartupMetadataSynced("hw-startup-sync");
|
|
46
|
-
assert.ok(capturedBody, "startup request should be posted");
|
|
47
|
-
assert.strictEqual(capturedBody.metadata.organization_uuid, orgUuid);
|
|
48
|
-
});
|
|
49
|
-
test("OPTIMUS_ORGANIZATION_UUID overrides management file", async () => {
|
|
50
|
-
process.env.OPTIMUS_ORGANIZATION_UUID = "66666666-6666-6666-6666-666666666666";
|
|
51
|
-
await ensureStartupMetadataSynced("hw-startup-sync");
|
|
52
|
-
assert.ok(capturedBody, "startup request should be posted");
|
|
53
|
-
assert.strictEqual(capturedBody.metadata.organization_uuid, "66666666-6666-6666-6666-666666666666");
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=startup-sync.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"startup-sync.test.js","sourceRoot":"","sources":["../../src/test/startup-sync.test.ts"],"names":[],"mappings":"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"}
|