@pickle-pee/runtime 0.0.0 → 0.0.1

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.
Files changed (58) hide show
  1. package/dist/adapters/pi-mono-session-adapter.d.ts +29 -0
  2. package/dist/adapters/pi-mono-session-adapter.js +20 -6
  3. package/dist/adapters/pi-mono-session-adapter.js.map +1 -1
  4. package/package.json +3 -3
  5. package/dist/test/aggregation.test.d.ts +0 -1
  6. package/dist/test/aggregation.test.js +0 -201
  7. package/dist/test/aggregation.test.js.map +0 -1
  8. package/dist/test/create-app-runtime.test.d.ts +0 -1
  9. package/dist/test/create-app-runtime.test.js +0 -286
  10. package/dist/test/create-app-runtime.test.js.map +0 -1
  11. package/dist/test/event-bus.test.d.ts +0 -1
  12. package/dist/test/event-bus.test.js +0 -81
  13. package/dist/test/event-bus.test.js.map +0 -1
  14. package/dist/test/event-normalizer.test.d.ts +0 -1
  15. package/dist/test/event-normalizer.test.js +0 -143
  16. package/dist/test/event-normalizer.test.js.map +0 -1
  17. package/dist/test/path-scope.test.d.ts +0 -1
  18. package/dist/test/path-scope.test.js +0 -71
  19. package/dist/test/path-scope.test.js.map +0 -1
  20. package/dist/test/pi-mono-event-bridge.test.d.ts +0 -1
  21. package/dist/test/pi-mono-event-bridge.test.js +0 -125
  22. package/dist/test/pi-mono-event-bridge.test.js.map +0 -1
  23. package/dist/test/pi-mono-live.test.d.ts +0 -1
  24. package/dist/test/pi-mono-live.test.js +0 -289
  25. package/dist/test/pi-mono-live.test.js.map +0 -1
  26. package/dist/test/pi-mono-session-adapter.test.d.ts +0 -1
  27. package/dist/test/pi-mono-session-adapter.test.js +0 -260
  28. package/dist/test/pi-mono-session-adapter.test.js.map +0 -1
  29. package/dist/test/plan-engine.test.d.ts +0 -1
  30. package/dist/test/plan-engine.test.js +0 -235
  31. package/dist/test/plan-engine.test.js.map +0 -1
  32. package/dist/test/plan-events.test.d.ts +0 -1
  33. package/dist/test/plan-events.test.js +0 -81
  34. package/dist/test/plan-events.test.js.map +0 -1
  35. package/dist/test/plan-orchestrator.test.d.ts +0 -1
  36. package/dist/test/plan-orchestrator.test.js +0 -324
  37. package/dist/test/plan-orchestrator.test.js.map +0 -1
  38. package/dist/test/runtime-context.test.d.ts +0 -1
  39. package/dist/test/runtime-context.test.js +0 -70
  40. package/dist/test/runtime-context.test.js.map +0 -1
  41. package/dist/test/session-facade.test.d.ts +0 -1
  42. package/dist/test/session-facade.test.js +0 -1011
  43. package/dist/test/session-facade.test.js.map +0 -1
  44. package/dist/test/session-state.test.d.ts +0 -1
  45. package/dist/test/session-state.test.js +0 -118
  46. package/dist/test/session-state.test.js.map +0 -1
  47. package/dist/test/stop-condition.test.d.ts +0 -1
  48. package/dist/test/stop-condition.test.js +0 -105
  49. package/dist/test/stop-condition.test.js.map +0 -1
  50. package/dist/test/stubs/stub-kernel-session-adapter.d.ts +0 -45
  51. package/dist/test/stubs/stub-kernel-session-adapter.js +0 -186
  52. package/dist/test/stubs/stub-kernel-session-adapter.js.map +0 -1
  53. package/dist/test/task-validator.test.d.ts +0 -1
  54. package/dist/test/task-validator.test.js +0 -97
  55. package/dist/test/task-validator.test.js.map +0 -1
  56. package/dist/test/tool-governor.test.d.ts +0 -1
  57. package/dist/test/tool-governor.test.js +0 -379
  58. package/dist/test/tool-governor.test.js.map +0 -1
@@ -1,125 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const pi_mono_event_bridge_js_1 = require("../adapters/pi-mono-event-bridge.js");
5
- (0, vitest_1.describe)("PiMonoEventBridge", () => {
6
- (0, vitest_1.it)("maps text deltas into raw message updates", () => {
7
- const state = (0, pi_mono_event_bridge_js_1.createInitialBridgeState)({
8
- model: { id: "glm-5.1", provider: "zai", displayName: "GLM 5.1" },
9
- toolSet: ["read", "bash"],
10
- });
11
- const result = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
12
- type: "message_update",
13
- message: {},
14
- assistantMessageEvent: {
15
- type: "text_delta",
16
- contentIndex: 0,
17
- delta: "hello",
18
- partial: {},
19
- },
20
- }, state);
21
- (0, vitest_1.expect)(result.rawEvents).toEqual([
22
- vitest_1.expect.objectContaining({
23
- type: "message_update",
24
- payload: {
25
- kind: "text",
26
- content: "hello",
27
- },
28
- }),
29
- ]);
30
- });
31
- (0, vitest_1.it)("maps thinking deltas into thinking updates", () => {
32
- const state = (0, pi_mono_event_bridge_js_1.createInitialBridgeState)({
33
- model: { id: "glm-5.1", provider: "zai" },
34
- toolSet: [],
35
- });
36
- const result = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
37
- type: "message_update",
38
- message: {},
39
- assistantMessageEvent: {
40
- type: "thinking_delta",
41
- contentIndex: 0,
42
- delta: "reasoning",
43
- partial: {},
44
- },
45
- }, state);
46
- (0, vitest_1.expect)(result.rawEvents).toEqual([
47
- vitest_1.expect.objectContaining({
48
- type: "message_update",
49
- payload: {
50
- kind: "thinking",
51
- content: "reasoning",
52
- },
53
- }),
54
- ]);
55
- });
56
- (0, vitest_1.it)("tracks tool execution lifecycle", () => {
57
- const state = (0, pi_mono_event_bridge_js_1.createInitialBridgeState)({
58
- model: { id: "glm-5.1", provider: "zai" },
59
- toolSet: ["read"],
60
- });
61
- const started = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
62
- type: "tool_execution_start",
63
- toolCallId: "call-1",
64
- toolName: "read",
65
- args: { file_path: "/tmp/file.txt" },
66
- }, state);
67
- const completed = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
68
- type: "tool_execution_end",
69
- toolCallId: "call-1",
70
- toolName: "read",
71
- result: {
72
- content: [{ type: "text", text: "done" }],
73
- details: {},
74
- },
75
- isError: false,
76
- }, started.nextState);
77
- (0, vitest_1.expect)(started.rawEvents[0]).toEqual(vitest_1.expect.objectContaining({
78
- type: "tool_execution_start",
79
- payload: {
80
- toolName: "read",
81
- toolCallId: "call-1",
82
- parameters: { file_path: "/tmp/file.txt" },
83
- },
84
- }));
85
- (0, vitest_1.expect)(completed.rawEvents[0]).toEqual(vitest_1.expect.objectContaining({
86
- type: "tool_execution_end",
87
- payload: vitest_1.expect.objectContaining({
88
- toolName: "read",
89
- toolCallId: "call-1",
90
- status: "success",
91
- result: "done",
92
- }),
93
- }));
94
- });
95
- (0, vitest_1.it)("maps tool errors to failure status", () => {
96
- const state = (0, pi_mono_event_bridge_js_1.createInitialBridgeState)({
97
- model: { id: "glm-5.1", provider: "zai" },
98
- toolSet: ["bash"],
99
- });
100
- const started = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
101
- type: "tool_execution_start",
102
- toolCallId: "call-err",
103
- toolName: "bash",
104
- args: { command: "false" },
105
- }, state);
106
- const completed = (0, pi_mono_event_bridge_js_1.bridgePiMonoEvent)({
107
- type: "tool_execution_end",
108
- toolCallId: "call-err",
109
- toolName: "bash",
110
- result: {
111
- content: [{ type: "text", text: "boom" }],
112
- details: {},
113
- },
114
- isError: true,
115
- }, started.nextState);
116
- (0, vitest_1.expect)(completed.rawEvents[0]).toEqual(vitest_1.expect.objectContaining({
117
- type: "tool_execution_end",
118
- payload: vitest_1.expect.objectContaining({
119
- status: "failure",
120
- result: "boom",
121
- }),
122
- }));
123
- });
124
- });
125
- //# sourceMappingURL=pi-mono-event-bridge.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi-mono-event-bridge.test.js","sourceRoot":"","sources":["../../src/test/pi-mono-event-bridge.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,289 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const promises_1 = require("node:fs/promises");
4
- const node_os_1 = require("node:os");
5
- const node_path_1 = require("node:path");
6
- const node_url_1 = require("node:url");
7
- const vitest_1 = require("vitest");
8
- const pi_mono_session_adapter_js_1 = require("../adapters/pi-mono-session-adapter.js");
9
- const hasLiveOpenAiConfig = Boolean(process.env.GENESIS_API_KEY) &&
10
- Boolean(process.env.GENESIS_LIVE_OPENAI_BASE_URL) &&
11
- Boolean(process.env.GENESIS_MODEL_PROVIDER) &&
12
- Boolean(process.env.GENESIS_MODEL_ID);
13
- const hasLiveAnthropicConfig = Boolean(process.env.GENESIS_API_KEY) &&
14
- Boolean(process.env.GENESIS_LIVE_ANTHROPIC_BASE_URL) &&
15
- Boolean(process.env.GENESIS_MODEL_PROVIDER) &&
16
- Boolean(process.env.GENESIS_MODEL_ID);
17
- const liveDescribe = hasLiveOpenAiConfig ? vitest_1.describe : vitest_1.describe.skip;
18
- const anthropicDescribe = hasLiveAnthropicConfig ? vitest_1.describe : vitest_1.describe.skip;
19
- let resolvedModelIdPromise = null;
20
- let piMonoSessionAvailabilityPromise = null;
21
- let anthropicAvailabilityPromise = null;
22
- liveDescribe("PiMono live adapter", () => {
23
- (0, vitest_1.it)("sends a non-streaming OpenAI-compatible request", async () => {
24
- const modelId = await resolveLiveModelId();
25
- const response = await requestOpenAiCompletion(modelId, "Reply exactly LIVE_OPENAI_OK");
26
- (0, vitest_1.expect)(response.status).toBe(200);
27
- const payload = (await response.json());
28
- (0, vitest_1.expect)(payload.choices?.[0]?.message?.content).toContain("LIVE_OPENAI_OK");
29
- }, 30_000);
30
- (0, vitest_1.it)("streams a real conversation with thinking off and remembers context across turns", async () => {
31
- if (!(await ensurePiMonoSessionAvailable())) {
32
- return;
33
- }
34
- const adapter = await createLiveAdapter({ thinkingLevel: "off" });
35
- try {
36
- const firstTurn = await collectEvents(adapter.sendPrompt("Remember the codeword BANANA and reply exactly ACK."));
37
- const secondTurn = await collectEvents(adapter.sendPrompt("What is the codeword I asked you to remember? Reply exactly BANANA."));
38
- (0, vitest_1.expect)(extractAssistantText(firstTurn)).toContain("ACK");
39
- (0, vitest_1.expect)(extractAssistantText(secondTurn)).toContain("BANANA");
40
- (0, vitest_1.expect)(firstTurn.some((event) => event.type === "message_update")).toBe(true);
41
- (0, vitest_1.expect)(secondTurn.some((event) => event.type === "message_update")).toBe(true);
42
- }
43
- finally {
44
- await adapter.close();
45
- }
46
- }, 90_000);
47
- (0, vitest_1.it)("streams a real conversation with thinking enabled", async () => {
48
- if (!(await ensurePiMonoSessionAvailable())) {
49
- return;
50
- }
51
- const adapter = await createLiveAdapter({ thinkingLevel: "minimal" });
52
- try {
53
- const events = await collectEvents(adapter.sendPrompt("Reply exactly THINKING_ON_OK."));
54
- (0, vitest_1.expect)(extractAssistantText(events)).toContain("THINKING_ON_OK");
55
- }
56
- finally {
57
- await adapter.close();
58
- }
59
- }, 90_000);
60
- });
61
- anthropicDescribe("Anthropic live adapter", () => {
62
- (0, vitest_1.it)("sends a non-streaming Anthropic-compatible request", async () => {
63
- const availability = await ensureAnthropicAvailable();
64
- if (!availability.available || !availability.modelId) {
65
- console.warn(`Skipping Anthropic direct request checks: ${availability.reason}`);
66
- return;
67
- }
68
- const response = await requestAnthropicCompletion(availability.modelId, "Reply exactly LIVE_ANTHROPIC_OK", false, false);
69
- (0, vitest_1.expect)(response.status).toBe(200);
70
- const payload = (await response.json());
71
- const text = (payload.content ?? [])
72
- .filter((item) => item.type === "text")
73
- .map((item) => item.text ?? "")
74
- .join("");
75
- (0, vitest_1.expect)(text).toContain("LIVE_ANTHROPIC_OK");
76
- }, 30_000);
77
- (0, vitest_1.it)("streams a real Anthropic-compatible conversation with thinking enabled", async () => {
78
- const availability = await ensureAnthropicAvailable();
79
- if (!availability.available || !availability.modelId) {
80
- console.warn(`Skipping Anthropic session checks: ${availability.reason}`);
81
- return;
82
- }
83
- const adapter = await createLiveAdapter({
84
- thinkingLevel: "minimal",
85
- baseUrl: process.env.GENESIS_LIVE_ANTHROPIC_BASE_URL,
86
- api: "anthropic-messages",
87
- authHeader: false,
88
- modelId: availability.modelId,
89
- });
90
- try {
91
- const events = await collectEvents(adapter.sendPrompt("Reply exactly ANTHROPIC_SESSION_OK."));
92
- (0, vitest_1.expect)(extractAssistantText(events)).toContain("ANTHROPIC_SESSION_OK");
93
- }
94
- finally {
95
- await adapter.close();
96
- }
97
- }, 90_000);
98
- });
99
- async function createLiveAdapter(options) {
100
- const modelId = options.modelId ?? (await resolveLiveModelId());
101
- const agentDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "genesis-pi-live-"));
102
- await (0, promises_1.mkdir)(agentDir, { recursive: true });
103
- await (0, promises_1.writeFile)((0, node_path_1.join)(agentDir, "models.json"), `${JSON.stringify(createModelsJson({
104
- modelId,
105
- baseUrl: options.baseUrl ?? process.env.GENESIS_LIVE_OPENAI_BASE_URL,
106
- api: options.api ?? "openai-completions",
107
- authHeader: options.authHeader ?? true,
108
- }), null, 2)}\n`, "utf8");
109
- return new pi_mono_session_adapter_js_1.PiMonoSessionAdapter({
110
- workingDirectory: process.cwd(),
111
- agentDir,
112
- model: {
113
- provider: process.env.GENESIS_MODEL_PROVIDER,
114
- id: modelId,
115
- displayName: process.env.GENESIS_MODEL_DISPLAY_NAME ?? modelId,
116
- },
117
- toolSet: ["read", "bash", "edit", "write"],
118
- thinkingLevel: options.thinkingLevel,
119
- });
120
- }
121
- function createModelsJson(options) {
122
- return {
123
- providers: {
124
- [process.env.GENESIS_MODEL_PROVIDER]: {
125
- baseUrl: options.baseUrl,
126
- api: options.api,
127
- apiKey: "GENESIS_API_KEY",
128
- authHeader: options.authHeader,
129
- models: [
130
- {
131
- id: options.modelId,
132
- name: process.env.GENESIS_MODEL_DISPLAY_NAME ?? options.modelId,
133
- reasoning: true,
134
- input: ["text"],
135
- contextWindow: 128000,
136
- maxTokens: 16384,
137
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
138
- },
139
- ],
140
- },
141
- },
142
- };
143
- }
144
- async function resolveLiveModelId() {
145
- if (!resolvedModelIdPromise) {
146
- resolvedModelIdPromise = (async () => {
147
- let lastError = "No model candidates tried";
148
- for (const modelId of getModelCandidates()) {
149
- const response = await requestOpenAiCompletion(modelId, "Reply exactly MODEL_READY");
150
- if (response.status === 200) {
151
- return modelId;
152
- }
153
- const text = await response.text();
154
- lastError = `${response.status}: ${text}`;
155
- if (response.status === 403 && text.includes("No permission")) {
156
- continue;
157
- }
158
- throw new Error(`Live model probe failed for ${modelId}: ${lastError}`);
159
- }
160
- throw new Error(`No live model is accessible. Last error: ${lastError}`);
161
- })();
162
- }
163
- return await resolvedModelIdPromise;
164
- }
165
- async function ensurePiMonoSessionAvailable() {
166
- if (!piMonoSessionAvailabilityPromise) {
167
- piMonoSessionAvailabilityPromise = (async () => {
168
- const modelId = await resolveLiveModelId();
169
- const agentDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "genesis-pi-probe-"));
170
- await (0, promises_1.mkdir)(agentDir, { recursive: true });
171
- await (0, promises_1.writeFile)((0, node_path_1.join)(agentDir, "models.json"), `${JSON.stringify(createModelsJson({
172
- modelId,
173
- baseUrl: process.env.GENESIS_LIVE_OPENAI_BASE_URL,
174
- api: "openai-completions",
175
- authHeader: true,
176
- }), null, 2)}\n`, "utf8");
177
- const kernelModulePath = (0, node_url_1.pathToFileURL)((0, node_path_1.resolve)(process.cwd(), "packages/kernel/src/index.ts")).href;
178
- const sdk = (await import(kernelModulePath));
179
- const authStorage = sdk.AuthStorage.create((0, node_path_1.join)(agentDir, "auth.json"));
180
- const modelRegistry = sdk.ModelRegistry.create(authStorage, (0, node_path_1.join)(agentDir, "models.json"));
181
- const model = modelRegistry.find(process.env.GENESIS_MODEL_PROVIDER, modelId);
182
- const { session } = await sdk.createAgentSession({
183
- cwd: process.cwd(),
184
- agentDir,
185
- authStorage,
186
- modelRegistry,
187
- model,
188
- thinkingLevel: "off",
189
- tools: [],
190
- });
191
- const events = [];
192
- const unsubscribe = session.subscribe((event) => {
193
- events.push(event);
194
- });
195
- await session.prompt("Reply exactly SESSION_READY.");
196
- unsubscribe();
197
- const assistantError = events.find((event) => {
198
- return (typeof event === "object" &&
199
- event !== null &&
200
- event.type === "message_end" &&
201
- event.message?.role === "assistant" &&
202
- typeof event.message?.errorMessage === "string");
203
- });
204
- if (assistantError?.message?.errorMessage?.includes("GLM Coding Plan")) {
205
- return {
206
- available: false,
207
- reason: assistantError.message.errorMessage,
208
- };
209
- }
210
- return { available: true };
211
- })();
212
- }
213
- const availability = await piMonoSessionAvailabilityPromise;
214
- if (!availability.available) {
215
- console.warn(`Skipping Genesis kernel live session checks: ${availability.reason}`);
216
- }
217
- return availability.available;
218
- }
219
- async function ensureAnthropicAvailable() {
220
- if (!anthropicAvailabilityPromise) {
221
- anthropicAvailabilityPromise = (async () => {
222
- let lastError = "No model candidates tried";
223
- for (const modelId of getModelCandidates()) {
224
- const response = await requestAnthropicCompletion(modelId, "Reply exactly ANTHROPIC_READY", false, false);
225
- if (response.status === 200) {
226
- return { available: true, modelId };
227
- }
228
- const text = await response.text();
229
- lastError = `${response.status}: ${text}`;
230
- if (response.status === 403 && text.includes("No permission")) {
231
- continue;
232
- }
233
- return { available: false, reason: `Anthropic probe failed for ${modelId}: ${lastError}` };
234
- }
235
- return { available: false, reason: `No Anthropic-compatible model is accessible. Last error: ${lastError}` };
236
- })();
237
- }
238
- return await anthropicAvailabilityPromise;
239
- }
240
- function getModelCandidates() {
241
- const candidates = [process.env.GENESIS_MODEL_ID, "glm-5", "glm-4.7"].filter((value) => typeof value === "string" && value.length > 0);
242
- return [...new Set(candidates)];
243
- }
244
- async function requestOpenAiCompletion(modelId, prompt) {
245
- return await fetch(new URL("chat/completions", process.env.GENESIS_LIVE_OPENAI_BASE_URL).toString(), {
246
- method: "POST",
247
- headers: {
248
- "content-type": "application/json",
249
- authorization: `Bearer ${process.env.GENESIS_API_KEY}`,
250
- },
251
- body: JSON.stringify({
252
- model: modelId,
253
- messages: [{ role: "user", content: prompt }],
254
- stream: false,
255
- }),
256
- });
257
- }
258
- async function requestAnthropicCompletion(modelId, prompt, thinkingEnabled, stream) {
259
- return await fetch(new URL("v1/messages", process.env.GENESIS_LIVE_ANTHROPIC_BASE_URL).toString(), {
260
- method: "POST",
261
- headers: {
262
- "content-type": "application/json",
263
- "x-api-key": process.env.GENESIS_API_KEY,
264
- "anthropic-version": "2023-06-01",
265
- },
266
- body: JSON.stringify({
267
- model: modelId,
268
- max_tokens: 1024,
269
- stream,
270
- messages: [{ role: "user", content: prompt }],
271
- thinking: thinkingEnabled ? { type: "enabled", budget_tokens: 1024 } : { type: "disabled" },
272
- }),
273
- });
274
- }
275
- async function collectEvents(stream) {
276
- const events = [];
277
- for await (const event of stream) {
278
- events.push(event);
279
- }
280
- return events;
281
- }
282
- function extractAssistantText(events) {
283
- return events
284
- .filter((event) => event.type === "message_update" && event.payload?.kind === "text")
285
- .map((event) => event.payload?.content)
286
- .filter((content) => typeof content === "string")
287
- .join("");
288
- }
289
- //# sourceMappingURL=pi-mono-live.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi-mono-live.test.js","sourceRoot":"","sources":["../../src/test/pi-mono-live.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};