@peers-app/peers-device 0.16.2 → 0.16.4
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/agent-functional.d.ts +37 -0
- package/dist/agent-functional.js +177 -0
- package/dist/agent-functional.js.map +1 -0
- package/dist/agent-functional.test.d.ts +1 -0
- package/dist/agent-functional.test.js +458 -0
- package/dist/agent-functional.test.js.map +1 -0
- package/dist/default-assistant-runner.d.ts +21 -0
- package/dist/default-assistant-runner.js +256 -0
- package/dist/default-assistant-runner.js.map +1 -0
- package/dist/default-assistant-runner.test.d.ts +1 -0
- package/dist/default-assistant-runner.test.js +199 -0
- package/dist/default-assistant-runner.test.js.map +1 -0
- package/dist/embeddings-client.d.ts +25 -0
- package/dist/embeddings-client.js +96 -0
- package/dist/embeddings-client.js.map +1 -0
- package/dist/embeddings-client.test.d.ts +1 -0
- package/dist/embeddings-client.test.js +124 -0
- package/dist/embeddings-client.test.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/load-system-data.d.ts +7 -0
- package/dist/load-system-data.js +17 -0
- package/dist/load-system-data.js.map +1 -0
- package/dist/machine-stats.d.ts +1 -1
- package/dist/machine-stats.js +4 -2
- package/dist/machine-stats.js.map +1 -1
- package/dist/message-processor.d.ts +2 -2
- package/dist/message-processor.js +6 -3
- package/dist/message-processor.js.map +1 -1
- package/dist/services-client.js +1 -1
- package/dist/services-client.js.map +1 -1
- package/dist/similar-tools.d.ts +10 -0
- package/dist/similar-tools.js +25 -0
- package/dist/similar-tools.js.map +1 -0
- package/dist/similar-tools.test.d.ts +1 -0
- package/dist/similar-tools.test.js +101 -0
- package/dist/similar-tools.test.js.map +1 -0
- package/dist/tool-loader.d.ts +14 -18
- package/dist/tool-loader.js +34 -90
- package/dist/tool-loader.js.map +1 -1
- package/dist/tool-search.d.ts +1 -0
- package/dist/tool-search.js +43 -0
- package/dist/tool-search.js.map +1 -0
- package/dist/tracked-data-source.test.js +1 -1
- package/dist/tracked-data-source.test.js.map +1 -1
- package/dist/workflow-processor.d.ts +4 -15
- package/dist/workflow-processor.js +35 -18
- package/dist/workflow-processor.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const embeddings_client_1 = require("./embeddings-client");
|
|
4
|
+
// ── Mock peers-sdk ──────────────────────────────────────────────────────────
|
|
5
|
+
const mockFindOne = jest.fn();
|
|
6
|
+
const mockSave = jest.fn();
|
|
7
|
+
jest.mock("@peers-app/peers-sdk", () => ({
|
|
8
|
+
Embeddings: () => ({ findOne: mockFindOne, save: mockSave }),
|
|
9
|
+
hashValue: (v) => `hash:${v}`,
|
|
10
|
+
newid: () => "mock-new-id-0000000000000",
|
|
11
|
+
}));
|
|
12
|
+
// ── Mock global fetch ───────────────────────────────────────────────────────
|
|
13
|
+
const mockFetch = jest.fn();
|
|
14
|
+
globalThis.fetch = mockFetch;
|
|
15
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
16
|
+
function makeContext(token = "test-token") {
|
|
17
|
+
return {
|
|
18
|
+
getVariable: jest.fn().mockResolvedValue(token),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function okEmbeddingResponse(embedding = [0.1, 0.2, 0.3]) {
|
|
22
|
+
return new Response(JSON.stringify({ data: [{ index: 0, embedding }], usage: { totalTokens: 10 } }), { status: 200, headers: { "Content-Type": "application/json" } });
|
|
23
|
+
}
|
|
24
|
+
// ── Tests ───────────────────────────────────────────────────────────────────
|
|
25
|
+
beforeEach(() => {
|
|
26
|
+
jest.clearAllMocks();
|
|
27
|
+
// Clear the inflight promise cache between tests by reimporting would be
|
|
28
|
+
// heavy; instead we rely on unique text per test to avoid collisions.
|
|
29
|
+
});
|
|
30
|
+
describe("cosineSimilarity", () => {
|
|
31
|
+
it("returns 1 for identical unit vectors", () => {
|
|
32
|
+
expect((0, embeddings_client_1.cosineSimilarity)([1, 0], [1, 0])).toBeCloseTo(1);
|
|
33
|
+
});
|
|
34
|
+
it("returns 0 for orthogonal vectors", () => {
|
|
35
|
+
expect((0, embeddings_client_1.cosineSimilarity)([1, 0], [0, 1])).toBeCloseTo(0);
|
|
36
|
+
});
|
|
37
|
+
it("returns -1 for opposite vectors", () => {
|
|
38
|
+
expect((0, embeddings_client_1.cosineSimilarity)([1, 0], [-1, 0])).toBeCloseTo(-1);
|
|
39
|
+
});
|
|
40
|
+
it("returns 0 when either vector is the zero vector", () => {
|
|
41
|
+
expect((0, embeddings_client_1.cosineSimilarity)([0, 0], [1, 2])).toBe(0);
|
|
42
|
+
});
|
|
43
|
+
it("throws when vectors have different lengths", () => {
|
|
44
|
+
expect(() => (0, embeddings_client_1.cosineSimilarity)([1], [1, 2])).toThrow("same length");
|
|
45
|
+
});
|
|
46
|
+
it("handles non-unit vectors correctly", () => {
|
|
47
|
+
const sim = (0, embeddings_client_1.cosineSimilarity)([3, 4], [6, 8]);
|
|
48
|
+
expect(sim).toBeCloseTo(1);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe("getEmbeddings", () => {
|
|
52
|
+
it("returns cached embedding on cache hit", async () => {
|
|
53
|
+
const cached = {
|
|
54
|
+
embeddingId: "cached-id",
|
|
55
|
+
textHash: "h",
|
|
56
|
+
embedding: [0.1],
|
|
57
|
+
embeddingType: "text-embedding-3-large",
|
|
58
|
+
metadata: {},
|
|
59
|
+
};
|
|
60
|
+
mockFindOne.mockResolvedValueOnce(cached);
|
|
61
|
+
const result = await (0, embeddings_client_1.getEmbeddings)(makeContext(), "cache-hit-text-unique");
|
|
62
|
+
expect(result).toBe(cached);
|
|
63
|
+
expect(mockFetch).not.toHaveBeenCalled();
|
|
64
|
+
});
|
|
65
|
+
it("calls the API on cache miss and saves to cache", async () => {
|
|
66
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
67
|
+
mockFetch.mockResolvedValueOnce(okEmbeddingResponse([0.5, 0.6]));
|
|
68
|
+
const savedObj = { embeddingId: "mock-new-id-0000000000000", embedding: [0.5, 0.6] };
|
|
69
|
+
mockSave.mockResolvedValueOnce(savedObj);
|
|
70
|
+
const ctx = makeContext();
|
|
71
|
+
const result = await (0, embeddings_client_1.getEmbeddings)(ctx, "api-call-text-unique");
|
|
72
|
+
expect(ctx.getVariable).toHaveBeenCalledWith("PEERS_SERVICES_TOKEN");
|
|
73
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
74
|
+
const [url, opts] = mockFetch.mock.calls[0];
|
|
75
|
+
expect(url).toContain("/api/v1/embeddings/embed");
|
|
76
|
+
expect(opts.method).toBe("POST");
|
|
77
|
+
expect(JSON.parse(opts.body)).toMatchObject({
|
|
78
|
+
provider: "openai",
|
|
79
|
+
model: "text-embedding-3-large",
|
|
80
|
+
input: "api-call-text-unique",
|
|
81
|
+
});
|
|
82
|
+
expect(opts.headers.Authorization).toBe("Bearer test-token");
|
|
83
|
+
expect(mockSave).toHaveBeenCalledTimes(1);
|
|
84
|
+
expect(result).toBe(savedObj);
|
|
85
|
+
});
|
|
86
|
+
it("throws when no token is available", async () => {
|
|
87
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
88
|
+
await expect((0, embeddings_client_1.getEmbeddings)(makeContext(null), "no-token-text-unique")).rejects.toThrow("PEERS_SERVICES_TOKEN not set");
|
|
89
|
+
});
|
|
90
|
+
it("throws a helpful message on 402 (insufficient balance)", async () => {
|
|
91
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
92
|
+
mockFetch.mockResolvedValueOnce(new Response("out of funds", { status: 402 }));
|
|
93
|
+
await expect((0, embeddings_client_1.getEmbeddings)(makeContext(), "balance-text-unique")).rejects.toThrow("Insufficient Peers Services balance");
|
|
94
|
+
});
|
|
95
|
+
it("throws on generic API error", async () => {
|
|
96
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
97
|
+
mockFetch.mockResolvedValueOnce(new Response("bad request", { status: 400 }));
|
|
98
|
+
await expect((0, embeddings_client_1.getEmbeddings)(makeContext(), "error-text-unique")).rejects.toThrow("Embeddings API error (400)");
|
|
99
|
+
});
|
|
100
|
+
it("throws when API returns no embedding data", async () => {
|
|
101
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
102
|
+
mockFetch.mockResolvedValueOnce(new Response(JSON.stringify({ data: [] }), {
|
|
103
|
+
status: 200,
|
|
104
|
+
headers: { "Content-Type": "application/json" },
|
|
105
|
+
}));
|
|
106
|
+
await expect((0, embeddings_client_1.getEmbeddings)(makeContext(), "empty-data-text-unique")).rejects.toThrow("No embedding returned");
|
|
107
|
+
});
|
|
108
|
+
it("passes custom dimensions to the API", async () => {
|
|
109
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
110
|
+
mockFetch.mockResolvedValueOnce(okEmbeddingResponse([0.1]));
|
|
111
|
+
mockSave.mockResolvedValueOnce({ embedding: [0.1] });
|
|
112
|
+
await (0, embeddings_client_1.getEmbeddings)(makeContext(), "dims-text-unique", { dimensions: 256 });
|
|
113
|
+
const body = JSON.parse(mockFetch.mock.calls[0][1].body);
|
|
114
|
+
expect(body.dimensions).toBe(256);
|
|
115
|
+
});
|
|
116
|
+
it("uses dimensions in the cache key", async () => {
|
|
117
|
+
mockFindOne.mockResolvedValueOnce(null);
|
|
118
|
+
mockFetch.mockResolvedValueOnce(okEmbeddingResponse([0.1]));
|
|
119
|
+
mockSave.mockResolvedValueOnce({ embedding: [0.1] });
|
|
120
|
+
await (0, embeddings_client_1.getEmbeddings)(makeContext(), "dims-cache-key-text", { dimensions: 512 });
|
|
121
|
+
expect(mockFindOne).toHaveBeenCalledWith(expect.objectContaining({ embeddingType: "text-embedding-3-large:512" }));
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=embeddings-client.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings-client.test.js","sourceRoot":"","sources":["../src/embeddings-client.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
export * from "./agent-functional";
|
|
1
2
|
export * from "./chunk-download-manager";
|
|
2
3
|
export * from "./connection-manager/connection-manager";
|
|
3
4
|
export * from "./connection-manager/device-message-handler.types";
|
|
4
5
|
export * from "./connection-manager/group-invite-messages";
|
|
5
6
|
export * from "./connection-manager/network-manager";
|
|
6
7
|
export * from "./connection-manager/protocol-manager.interface";
|
|
8
|
+
export * from "./default-assistant-runner";
|
|
9
|
+
import "./default-assistant-runner";
|
|
10
|
+
export * from "./embeddings-client";
|
|
11
|
+
export * from "./load-system-data";
|
|
7
12
|
export * from "./machine-stats";
|
|
8
13
|
export * from "./main";
|
|
9
14
|
export * from "./message-processor";
|
|
10
15
|
export * from "./pvars.tracked-data-source";
|
|
11
16
|
export * from "./services-client";
|
|
17
|
+
export * from "./similar-tools";
|
|
12
18
|
export * from "./sync-group";
|
|
13
19
|
export * from "./system-tools";
|
|
14
20
|
export * from "./tool-call-processor";
|
|
15
21
|
export * from "./tool-loader";
|
|
22
|
+
import "./tool-search";
|
|
16
23
|
export * from "./tracked-data-source";
|
|
17
24
|
export * from "./websocket-client";
|
|
18
25
|
export * from "./workflow-processor";
|
package/dist/index.js
CHANGED
|
@@ -14,21 +14,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./agent-functional"), exports);
|
|
17
18
|
__exportStar(require("./chunk-download-manager"), exports);
|
|
18
19
|
__exportStar(require("./connection-manager/connection-manager"), exports);
|
|
19
20
|
__exportStar(require("./connection-manager/device-message-handler.types"), exports);
|
|
20
21
|
__exportStar(require("./connection-manager/group-invite-messages"), exports);
|
|
21
22
|
__exportStar(require("./connection-manager/network-manager"), exports);
|
|
22
23
|
__exportStar(require("./connection-manager/protocol-manager.interface"), exports);
|
|
24
|
+
__exportStar(require("./default-assistant-runner"), exports);
|
|
25
|
+
require("./default-assistant-runner");
|
|
26
|
+
__exportStar(require("./embeddings-client"), exports);
|
|
27
|
+
__exportStar(require("./load-system-data"), exports);
|
|
23
28
|
__exportStar(require("./machine-stats"), exports);
|
|
24
29
|
__exportStar(require("./main"), exports);
|
|
25
30
|
__exportStar(require("./message-processor"), exports);
|
|
26
31
|
__exportStar(require("./pvars.tracked-data-source"), exports);
|
|
27
32
|
__exportStar(require("./services-client"), exports);
|
|
33
|
+
__exportStar(require("./similar-tools"), exports);
|
|
28
34
|
__exportStar(require("./sync-group"), exports);
|
|
29
35
|
__exportStar(require("./system-tools"), exports);
|
|
30
36
|
__exportStar(require("./tool-call-processor"), exports);
|
|
31
37
|
__exportStar(require("./tool-loader"), exports);
|
|
38
|
+
require("./tool-search");
|
|
32
39
|
__exportStar(require("./tracked-data-source"), exports);
|
|
33
40
|
__exportStar(require("./websocket-client"), exports);
|
|
34
41
|
__exportStar(require("./workflow-processor"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,0EAAwD;AACxD,oFAAkE;AAClE,6EAA2D;AAC3D,uEAAqD;AACrD,kFAAgE;AAChE,kDAAgC;AAChC,yCAAuB;AACvB,sDAAoC;AACpC,8DAA4C;AAC5C,oDAAkC;AAClC,+CAA6B;AAC7B,iDAA+B;AAC/B,wDAAsC;AACtC,gDAA8B;AAC9B,wDAAsC;AACtC,qDAAmC;AACnC,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,0EAAwD;AACxD,oFAAkE;AAClE,6EAA2D;AAC3D,uEAAqD;AACrD,kFAAgE;AAChE,6DAA2C;AAC3C,sCAAoC;AAEpC,sDAAoC;AACpC,qDAAmC;AACnC,kDAAgC;AAChC,yCAAuB;AACvB,sDAAoC;AACpC,8DAA4C;AAC5C,oDAAkC;AAClC,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,wDAAsC;AACtC,gDAA8B;AAC9B,yBAAuB;AAEvB,wDAAsC;AACtC,qDAAmC;AACnC,uDAAqC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type DataContext } from "@peers-app/peers-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Persists all registered system tools into the {@link Tools} table so that
|
|
4
|
+
* lookup-by-ID (e.g. in the workflow processor) finds them. Call once at
|
|
5
|
+
* startup after {@link initializePeerDevice} has resolved.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadSystemData(dataContext?: DataContext): Promise<void>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadSystemData = loadSystemData;
|
|
4
|
+
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
5
|
+
const system_tools_1 = require("./system-tools");
|
|
6
|
+
/**
|
|
7
|
+
* Persists all registered system tools into the {@link Tools} table so that
|
|
8
|
+
* lookup-by-ID (e.g. in the workflow processor) finds them. Call once at
|
|
9
|
+
* startup after {@link initializePeerDevice} has resolved.
|
|
10
|
+
*/
|
|
11
|
+
async function loadSystemData(dataContext) {
|
|
12
|
+
const tools = (0, system_tools_1.systemTools)();
|
|
13
|
+
for (const tool of tools) {
|
|
14
|
+
await (0, peers_sdk_1.Tools)(dataContext).save(tool);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=load-system-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-system-data.js","sourceRoot":"","sources":["../src/load-system-data.ts"],"names":[],"mappings":";;AAQA,wCAKC;AAbD,oDAA+D;AAC/D,iDAA6C;AAE7C;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,WAAyB;IAC5D,MAAM,KAAK,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAA,iBAAK,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
package/dist/machine-stats.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare function getMachineStats(): {
|
|
|
20
20
|
freeBytes: number;
|
|
21
21
|
};
|
|
22
22
|
} | null;
|
|
23
|
-
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. */
|
|
23
|
+
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. Browser environments keep the initial {@link defaultCpuCount}. */
|
|
24
24
|
export declare const machineStats: import("@peers-app/peers-sdk").Observable<{
|
|
25
25
|
cpu: {
|
|
26
26
|
min: number;
|
package/dist/machine-stats.js
CHANGED
|
@@ -7,6 +7,8 @@ const lodash_1 = require("lodash");
|
|
|
7
7
|
const isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
|
|
8
8
|
const isNode = !isBrowser && typeof process !== "undefined" && !!process.versions?.node;
|
|
9
9
|
const os = isNode ? require("node:os") : null;
|
|
10
|
+
/** Default concurrent-workflow cap: 4 in browser (workflows are IO-bound, not CPU-bound), real core count in Node. */
|
|
11
|
+
const defaultCpuCount = isBrowser ? 4 : (os?.cpus().length ?? 4);
|
|
10
12
|
const execSync = isNode
|
|
11
13
|
? require("node:child_process").execSync
|
|
12
14
|
: null;
|
|
@@ -197,14 +199,14 @@ function getMachineStats() {
|
|
|
197
199
|
memory: memoryStats,
|
|
198
200
|
};
|
|
199
201
|
}
|
|
200
|
-
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. */
|
|
202
|
+
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. Browser environments keep the initial {@link defaultCpuCount}. */
|
|
201
203
|
exports.machineStats = (0, peers_sdk_1.observable)({
|
|
202
204
|
cpu: {
|
|
203
205
|
min: 0,
|
|
204
206
|
max: 0,
|
|
205
207
|
average: 0,
|
|
206
208
|
current: 0,
|
|
207
|
-
cpuCount:
|
|
209
|
+
cpuCount: defaultCpuCount,
|
|
208
210
|
},
|
|
209
211
|
memory: {
|
|
210
212
|
min: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* workflow runs when new messages arrive that should trigger an assistant
|
|
4
4
|
* response.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* is
|
|
6
|
+
* Safe to call more than once (e.g. after re-init or HMR) — the previous
|
|
7
|
+
* subscription is torn down first so handlers never stack.
|
|
8
8
|
*/
|
|
9
9
|
export declare function initializeMessageProcessor(): void;
|
|
@@ -3,18 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initializeMessageProcessor = initializeMessageProcessor;
|
|
4
4
|
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
5
5
|
const workflow_processor_1 = require("./workflow-processor");
|
|
6
|
+
let activeSubscription;
|
|
6
7
|
/**
|
|
7
8
|
* Sets up the Messages change subscription that automatically creates
|
|
8
9
|
* workflow runs when new messages arrive that should trigger an assistant
|
|
9
10
|
* response.
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
-
* is
|
|
12
|
+
* Safe to call more than once (e.g. after re-init or HMR) — the previous
|
|
13
|
+
* subscription is torn down first so handlers never stack.
|
|
13
14
|
*/
|
|
14
15
|
function initializeMessageProcessor() {
|
|
16
|
+
activeSubscription?.unsubscribe();
|
|
17
|
+
activeSubscription = undefined;
|
|
15
18
|
(0, peers_sdk_1.getUserContext)().then((userContext) => {
|
|
16
19
|
const messagesTable = (0, peers_sdk_1.Messages)();
|
|
17
|
-
userContext.subscribeToDataChangedAcrossAllGroups(messagesTable, (evt) => {
|
|
20
|
+
activeSubscription = userContext.subscribeToDataChangedAcrossAllGroups(messagesTable, (evt) => {
|
|
18
21
|
if (evt.data.op !== "insert" || evt.data.source !== "local") {
|
|
19
22
|
return;
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-processor.js","sourceRoot":"","sources":["../src/message-processor.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"message-processor.js","sourceRoot":"","sources":["../src/message-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/services-client.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.registerWithServices = registerWithServices;
|
|
|
5
5
|
exports.authenticateWithServices = authenticateWithServices;
|
|
6
6
|
exports.registerOrAuthenticate = registerOrAuthenticate;
|
|
7
7
|
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
8
|
-
const DEFAULT_SERVICES_URL = "https://peers
|
|
8
|
+
const DEFAULT_SERVICES_URL = "https://peers.app";
|
|
9
9
|
let _servicesUrl = DEFAULT_SERVICES_URL;
|
|
10
10
|
let _keys = null;
|
|
11
11
|
let _userId = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services-client.js","sourceRoot":"","sources":["../src/services-client.ts"],"names":[],"mappings":";;AAaA,gDAIC;AAwBD,oDAuDC;AAMD,4DAgDC;AAMD,wDAQC;AApKD,oDAI8B;AAE9B,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"services-client.js","sourceRoot":"","sources":["../src/services-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ITool, type IWorkflowRunContext } from "@peers-app/peers-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Find tools whose embedding is similar to the given text, ranked by cosine similarity.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getSimilarTools(args: {
|
|
6
|
+
context: IWorkflowRunContext;
|
|
7
|
+
text: string;
|
|
8
|
+
similarityThreshold?: number;
|
|
9
|
+
maxCount?: number;
|
|
10
|
+
}): Promise<ITool[]>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSimilarTools = getSimilarTools;
|
|
4
|
+
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
5
|
+
const embeddings_client_1 = require("./embeddings-client");
|
|
6
|
+
/**
|
|
7
|
+
* Find tools whose embedding is similar to the given text, ranked by cosine similarity.
|
|
8
|
+
*/
|
|
9
|
+
async function getSimilarTools(args) {
|
|
10
|
+
const { context, text, similarityThreshold = 0.2, maxCount = 5 } = args;
|
|
11
|
+
const textEmbedding = await (0, embeddings_client_1.getEmbeddings)(context, text);
|
|
12
|
+
const allTools = await (0, peers_sdk_1.Tools)().list();
|
|
13
|
+
let allToolEmbeddings = await Promise.all(allTools.map(async (tool) => {
|
|
14
|
+
const toolText = `${tool.name}\n\n${tool.usageDescription}\n\n${tool.detailedDescription}`.trim();
|
|
15
|
+
const toolEmbeddings = await (0, embeddings_client_1.getEmbeddings)(context, toolText);
|
|
16
|
+
return {
|
|
17
|
+
tool,
|
|
18
|
+
similarity: (0, embeddings_client_1.cosineSimilarity)(toolEmbeddings.embedding, textEmbedding.embedding),
|
|
19
|
+
};
|
|
20
|
+
}));
|
|
21
|
+
allToolEmbeddings = allToolEmbeddings.sort((a, b) => b.similarity - a.similarity);
|
|
22
|
+
const similarTools = allToolEmbeddings.filter((tool) => tool.similarity >= similarityThreshold);
|
|
23
|
+
return similarTools.slice(0, maxCount).map((tool) => tool.tool);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=similar-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similar-tools.js","sourceRoot":"","sources":["../src/similar-tools.ts"],"names":[],"mappings":";;AAMA,0CAwBC;AA9BD,oDAAmF;AACnF,2DAAsE;AAEtE;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,IAKrC;IACC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAExE,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAK,GAAE,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,QAAQ,GACZ,GAAG,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,CAAC;QACnF,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAa,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,IAAA,oCAAgB,EAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;SAChF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC;IAChG,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const similar_tools_1 = require("./similar-tools");
|
|
4
|
+
// ── Mock embeddings-client ──────────────────────────────────────────────────
|
|
5
|
+
const mockGetEmbeddings = jest.fn();
|
|
6
|
+
jest.mock("./embeddings-client", () => ({
|
|
7
|
+
getEmbeddings: (...args) => mockGetEmbeddings(...args),
|
|
8
|
+
cosineSimilarity: jest.requireActual("./embeddings-client").cosineSimilarity,
|
|
9
|
+
}));
|
|
10
|
+
// ── Mock peers-sdk ──────────────────────────────────────────────────────────
|
|
11
|
+
const mockToolsList = jest.fn();
|
|
12
|
+
jest.mock("@peers-app/peers-sdk", () => ({
|
|
13
|
+
Tools: () => ({ list: mockToolsList }),
|
|
14
|
+
}));
|
|
15
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
16
|
+
function fakeEmbedding(vec) {
|
|
17
|
+
return { embedding: vec };
|
|
18
|
+
}
|
|
19
|
+
function fakeTool(name) {
|
|
20
|
+
return {
|
|
21
|
+
toolId: `id-${name}`,
|
|
22
|
+
name,
|
|
23
|
+
usageDescription: `${name} usage`,
|
|
24
|
+
detailedDescription: `${name} detail`,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const context = { getVariable: jest.fn() };
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
jest.clearAllMocks();
|
|
30
|
+
});
|
|
31
|
+
// ── Tests ───────────────────────────────────────────────────────────────────
|
|
32
|
+
describe("getSimilarTools", () => {
|
|
33
|
+
it("returns tools sorted by similarity above the threshold", async () => {
|
|
34
|
+
const toolA = fakeTool("alpha");
|
|
35
|
+
const toolB = fakeTool("bravo");
|
|
36
|
+
const toolC = fakeTool("charlie");
|
|
37
|
+
mockToolsList.mockResolvedValueOnce([toolA, toolB, toolC]);
|
|
38
|
+
// Query embedding: unit vector [1, 0]
|
|
39
|
+
// alpha -> [1, 0] -> similarity 1.0
|
|
40
|
+
// bravo -> [0.7, 0.7] -> similarity ~0.707
|
|
41
|
+
// charlie -> [0, 1] -> similarity 0.0 (below threshold)
|
|
42
|
+
mockGetEmbeddings
|
|
43
|
+
.mockResolvedValueOnce(fakeEmbedding([1, 0])) // query text
|
|
44
|
+
.mockResolvedValueOnce(fakeEmbedding([1, 0])) // alpha
|
|
45
|
+
.mockResolvedValueOnce(fakeEmbedding([0.7, 0.7])) // bravo
|
|
46
|
+
.mockResolvedValueOnce(fakeEmbedding([0, 1])); // charlie
|
|
47
|
+
const result = await (0, similar_tools_1.getSimilarTools)({
|
|
48
|
+
context,
|
|
49
|
+
text: "search query",
|
|
50
|
+
similarityThreshold: 0.2,
|
|
51
|
+
});
|
|
52
|
+
expect(result).toHaveLength(2);
|
|
53
|
+
expect(result[0].name).toBe("alpha");
|
|
54
|
+
expect(result[1].name).toBe("bravo");
|
|
55
|
+
});
|
|
56
|
+
it("respects maxCount", async () => {
|
|
57
|
+
const tools = Array.from({ length: 5 }, (_, i) => fakeTool(`tool-${i}`));
|
|
58
|
+
mockToolsList.mockResolvedValueOnce(tools);
|
|
59
|
+
// All tools are close to the query
|
|
60
|
+
mockGetEmbeddings.mockResolvedValueOnce(fakeEmbedding([1, 0])); // query
|
|
61
|
+
for (const _ of tools) {
|
|
62
|
+
mockGetEmbeddings.mockResolvedValueOnce(fakeEmbedding([0.9, 0.1]));
|
|
63
|
+
}
|
|
64
|
+
const result = await (0, similar_tools_1.getSimilarTools)({
|
|
65
|
+
context,
|
|
66
|
+
text: "query",
|
|
67
|
+
maxCount: 2,
|
|
68
|
+
});
|
|
69
|
+
expect(result).toHaveLength(2);
|
|
70
|
+
});
|
|
71
|
+
it("returns empty array when no tools exceed the threshold", async () => {
|
|
72
|
+
mockToolsList.mockResolvedValueOnce([fakeTool("x")]);
|
|
73
|
+
mockGetEmbeddings
|
|
74
|
+
.mockResolvedValueOnce(fakeEmbedding([1, 0])) // query
|
|
75
|
+
.mockResolvedValueOnce(fakeEmbedding([0, 1])); // tool (orthogonal)
|
|
76
|
+
const result = await (0, similar_tools_1.getSimilarTools)({
|
|
77
|
+
context,
|
|
78
|
+
text: "query",
|
|
79
|
+
similarityThreshold: 0.5,
|
|
80
|
+
});
|
|
81
|
+
expect(result).toHaveLength(0);
|
|
82
|
+
});
|
|
83
|
+
it("returns empty array when there are no tools", async () => {
|
|
84
|
+
mockToolsList.mockResolvedValueOnce([]);
|
|
85
|
+
mockGetEmbeddings.mockResolvedValueOnce(fakeEmbedding([1, 0]));
|
|
86
|
+
const result = await (0, similar_tools_1.getSimilarTools)({ context, text: "query" });
|
|
87
|
+
expect(result).toHaveLength(0);
|
|
88
|
+
});
|
|
89
|
+
it("uses default threshold=0.2 and maxCount=5", async () => {
|
|
90
|
+
const tools = Array.from({ length: 8 }, (_, i) => fakeTool(`t${i}`));
|
|
91
|
+
mockToolsList.mockResolvedValueOnce(tools);
|
|
92
|
+
// query = [1, 0]. All tools get [0.9, 0.4] => similarity ~0.91, all above 0.2
|
|
93
|
+
mockGetEmbeddings.mockResolvedValueOnce(fakeEmbedding([1, 0]));
|
|
94
|
+
for (const _ of tools) {
|
|
95
|
+
mockGetEmbeddings.mockResolvedValueOnce(fakeEmbedding([0.9, 0.4]));
|
|
96
|
+
}
|
|
97
|
+
const result = await (0, similar_tools_1.getSimilarTools)({ context, text: "q" });
|
|
98
|
+
expect(result).toHaveLength(5); // default maxCount
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=similar-tools.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similar-tools.test.js","sourceRoot":"","sources":["../src/similar-tools.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-loader.d.ts
CHANGED
|
@@ -1,30 +1,17 @@
|
|
|
1
1
|
import { type ITool, type IToolInstance, type IWorkflowRunContext } from "@peers-app/peers-sdk";
|
|
2
|
-
|
|
3
|
-
* Injects the function that returns the root application data directory
|
|
4
|
-
* (where tool code is cached on disk). Must be called once during app
|
|
5
|
-
* initialisation before any tool is loaded via {@link initTool}.
|
|
6
|
-
*/
|
|
7
|
-
export declare function setPeersAppDir(fn: () => string): void;
|
|
8
|
-
/**
|
|
9
|
-
* Derives a unique filesystem-safe identifier for a tool, combining its
|
|
10
|
-
* human-readable name with the last 5 characters of its ID.
|
|
11
|
-
*/
|
|
12
|
-
export declare function getToolUniqueIdentifier(tool: ITool): string;
|
|
2
|
+
import type { IAgentTool } from "./agent-functional";
|
|
13
3
|
/**
|
|
14
4
|
* Resolves an {@link ITool} definition into a runnable {@link IToolInstance}.
|
|
15
5
|
*
|
|
16
6
|
* Resolution order:
|
|
17
7
|
* 1. System-tool registry ({@link systemToolInstances})
|
|
18
8
|
* 2. Package-registered tool factory (`getRegisteredTool` from peers-sdk)
|
|
19
|
-
* 3. Write the tool's `code` to disk, `require()` it, and cache the result
|
|
20
9
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
10
|
+
* If neither registry contains the tool, an error is thrown.
|
|
11
|
+
*
|
|
12
|
+
* @param tool - The tool definition to initialize.
|
|
24
13
|
*/
|
|
25
|
-
export declare function initTool(tool: ITool
|
|
26
|
-
refresh: boolean;
|
|
27
|
-
}): Promise<IToolInstance>;
|
|
14
|
+
export declare function initTool(tool: ITool): Promise<IToolInstance>;
|
|
28
15
|
/**
|
|
29
16
|
* Loads a tool via {@link initTool} and wraps its `toolFn` so that every
|
|
30
17
|
* invocation is automatically logged to the {@link WorkflowLogs} table
|
|
@@ -39,3 +26,12 @@ export declare function initWrappedTool(tool: ITool, context: IWorkflowRunContex
|
|
|
39
26
|
* and returns the corresponding {@link ITool} records.
|
|
40
27
|
*/
|
|
41
28
|
export declare function getLinkedTools(markdown: string): Promise<ITool[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Wraps a peers {@link ITool} into the {@link IAgentTool} format expected by
|
|
31
|
+
* the inference-based agent.
|
|
32
|
+
*
|
|
33
|
+
* Resolves the tool instance (with logging and error handling from
|
|
34
|
+
* {@link initWrappedTool}), converts the Zod input schema to JSON Schema
|
|
35
|
+
* for the inference API, and returns an executable {@link IAgentTool}.
|
|
36
|
+
*/
|
|
37
|
+
export declare function toAgentTool(tool: ITool, context: IWorkflowRunContext): Promise<IAgentTool>;
|