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.
@@ -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 → production (ignores OPTIMUS_ENVIRONMENT).
6
- * - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then production.
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 → production (ignores OPTIMUS_ENVIRONMENT).
6
- * - File present → environment= line in file, then OPTIMUS_ENVIRONMENT, then production.
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: always production (ignore stale OPTIMUS_ENVIRONMENT).
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/production/ → optimus-tofu/dist/index.js
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)
@@ -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,4EAA4E;QAC5E,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,sFAAsF;AACtF,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"}
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
- // Test sibling workspace optimus-tofu directly — the lib re-export may resolve to npm
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 overrides file/default", () => {
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":"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"}
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.18",
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.15"
49
+ "optimus-tofu": "^0.1.16"
50
50
  }
51
51
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=startup-sync.test.d.ts.map
@@ -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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"}