@beeos-ai/device-agent 0.9.10 → 0.9.11

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 (84) hide show
  1. package/dist/adapters/agentcore-inner-loop.d.ts +3 -4
  2. package/dist/adapters/agentcore-inner-loop.js +3 -4
  3. package/dist/adapters/agentcore-inner-loop.js.map +1 -1
  4. package/dist/adapters/agentcore-orchestrator.d.ts +36 -0
  5. package/dist/adapters/agentcore-orchestrator.js +203 -0
  6. package/dist/adapters/agentcore-orchestrator.js.map +1 -0
  7. package/dist/adapters/agentcore-runner.d.ts +3 -3
  8. package/dist/adapters/agentcore-runner.js +3 -3
  9. package/dist/adapters/app-guide.d.ts +16 -0
  10. package/dist/adapters/app-guide.js +101 -0
  11. package/dist/adapters/app-guide.js.map +1 -0
  12. package/dist/adapters/orchestrator-agent-prompt.d.ts +7 -0
  13. package/dist/adapters/orchestrator-agent-prompt.js +59 -0
  14. package/dist/adapters/orchestrator-agent-prompt.js.map +1 -0
  15. package/dist/adapters/vlm-inner-loop.d.ts +6 -0
  16. package/dist/adapters/vlm-inner-loop.js +3 -0
  17. package/dist/adapters/vlm-inner-loop.js.map +1 -1
  18. package/dist/agent-runtime/core.js +1 -1
  19. package/dist/agent-runtime/core.js.map +1 -1
  20. package/dist/agent-runtime/shortcuts/types.d.ts +2 -3
  21. package/dist/agent-runtime/shortcuts/types.js +2 -3
  22. package/dist/agent-runtime/shortcuts/types.js.map +1 -1
  23. package/dist/api.d.ts +1 -1
  24. package/dist/api.js +1 -1
  25. package/dist/bootstrap.d.ts +4 -4
  26. package/dist/bootstrap.js +47 -61
  27. package/dist/bootstrap.js.map +1 -1
  28. package/dist/config/loader.d.ts +2 -2
  29. package/dist/config/loader.js +2 -2
  30. package/dist/config/loader.js.map +1 -1
  31. package/dist/config/schema.d.ts +1 -1
  32. package/dist/config/schema.js +4 -5
  33. package/dist/config/schema.js.map +1 -1
  34. package/dist/device/apps.js +1 -1
  35. package/dist/device/apps.js.map +1 -1
  36. package/dist/fleet/domain/events.d.ts +22 -1
  37. package/dist/fleet/domain/fsm.d.ts +23 -1
  38. package/dist/fleet/domain/fsm.js +29 -0
  39. package/dist/fleet/domain/fsm.js.map +1 -1
  40. package/dist/fleet/supervisor.d.ts +13 -0
  41. package/dist/fleet/supervisor.js +90 -0
  42. package/dist/fleet/supervisor.js.map +1 -1
  43. package/dist/grounding/grounder.d.ts +1 -1
  44. package/dist/inbound/cli/main.d.ts +1 -1
  45. package/dist/inbound/cli/main.js +4 -4
  46. package/dist/inbound/cli/main.js.map +1 -1
  47. package/dist/inbound/cli/run-command.d.ts +6 -0
  48. package/dist/inbound/cli/run-command.js +94 -0
  49. package/dist/inbound/cli/run-command.js.map +1 -1
  50. package/dist/index.d.ts +2 -4
  51. package/dist/index.js +1 -2
  52. package/dist/index.js.map +1 -1
  53. package/dist/model/adapters/general.d.ts +11 -0
  54. package/dist/model/adapters/general.js +249 -0
  55. package/dist/model/adapters/general.js.map +1 -0
  56. package/dist/model/adapters/index.d.ts +1 -0
  57. package/dist/model/adapters/index.js +1 -0
  58. package/dist/model/adapters/index.js.map +1 -1
  59. package/dist/ports/agent-core.d.ts +6 -5
  60. package/dist/shortcuts/types.d.ts +3 -6
  61. package/dist/shortcuts/types.js +1 -2
  62. package/dist/shortcuts/types.js.map +1 -1
  63. package/package.json +2 -5
  64. package/.pi/extensions/android-tools.ts +0 -291
  65. package/.pi/skills/.gitkeep +0 -0
  66. package/.pi/skills/ground-mobile-fallback/SKILL.md +0 -50
  67. package/dist/adapters/agentcore-pi.d.ts +0 -237
  68. package/dist/adapters/agentcore-pi.js +0 -512
  69. package/dist/adapters/agentcore-pi.js.map +0 -1
  70. package/dist/chat.d.ts +0 -16
  71. package/dist/chat.js +0 -185
  72. package/dist/chat.js.map +0 -1
  73. package/dist/debug/dump-system-prompt.d.ts +0 -1
  74. package/dist/debug/dump-system-prompt.js +0 -34
  75. package/dist/debug/dump-system-prompt.js.map +0 -1
  76. package/dist/orchestrator-system-prompt.d.ts +0 -32
  77. package/dist/orchestrator-system-prompt.js +0 -197
  78. package/dist/orchestrator-system-prompt.js.map +0 -1
  79. package/dist/pi-context.d.ts +0 -132
  80. package/dist/pi-context.js +0 -62
  81. package/dist/pi-context.js.map +0 -1
  82. package/dist/pi-local-skills.d.ts +0 -17
  83. package/dist/pi-local-skills.js +0 -24
  84. package/dist/pi-local-skills.js.map +0 -1
@@ -1,512 +0,0 @@
1
- /**
2
- * Adapter — PiOrchestratorAgent (two-layer outer orchestrator).
3
- *
4
- * Wraps `@mariozechner/pi-coding-agent`'s `AgentSession` so it can be
5
- * plugged into the `IAgentCore` slot. The outer layer is the LLM that
6
- * pi drives; the inner layer is whatever extensions are loaded from
7
- * `<projectRoot>/.pi/extensions/` (e.g. `mobile_use`, `ground`,
8
- * `ui_xml`). The adapter is **transport-agnostic** — it only knows about
9
- * pi events and `AgentHost` callbacks.
10
- *
11
- * Key responsibilities:
12
- * - Lazy session bootstrap (extension/skill scanning, model resolution)
13
- * on first `run()` call.
14
- * - Map pi's session events to `IAgentCore` callbacks:
15
- * `message_update / text_delta` → `onText`
16
- * `tool_execution_start/update/end` → `onTool` (start/update/end)
17
- * `message_end (assistant role)` → captures the final assistant text
18
- * - Translate `setModel(provider, model)` into pi-ai's `getModel()` and
19
- * forward to `session.setModel`. Hot-swap is best-effort — when model
20
- * resolution fails we keep the previous model and surface a warning.
21
- * - Honor `abortSignal` by calling `session.abort()`.
22
- * - Map ARouter / OpenRouter / OpenAI / Anthropic / Google base URLs to
23
- * pi-ai's known provider env vars (e.g. `OPENROUTER_API_KEY`) so
24
- * callers can pass a single `outer.apiKey` without exporting
25
- * provider-specific env names.
26
- *
27
- * NOT responsibilities:
28
- * - Loading extensions (caller passes the resourceLoader options).
29
- * - Setting up the device — pi extensions read device handles from
30
- * process env / DEVAGENT_HTTP_URL like before.
31
- */
32
- import { formatUiXmlToolOutput } from "../device/ui-xml.js";
33
- import { setPiExtensionContext, } from "../pi-context.js";
34
- import { ORCHESTRATOR_SYSTEM_PROMPT } from "../orchestrator-system-prompt.js";
35
- // ── Adapter ─────────────────────────────────────────────────────────────
36
- export class PiOrchestratorAgent {
37
- session = null;
38
- starting = null;
39
- outer;
40
- projectRoot;
41
- systemPrompt;
42
- logger;
43
- createSessionFactory;
44
- resolveModelFn;
45
- mcpProvider;
46
- grounderFactory;
47
- mobileUseRunner;
48
- uiXmlRunner;
49
- shortcutInvoker;
50
- shortcutResourcesFactory;
51
- cachedGrounder = null;
52
- constructor(opts) {
53
- this.projectRoot = opts.projectRoot;
54
- this.outer = { ...opts.outer };
55
- this.systemPrompt = opts.systemPrompt ?? ORCHESTRATOR_SYSTEM_PROMPT;
56
- this.logger = opts.logger ?? {
57
- warn: (..._args) => undefined,
58
- info: (..._args) => undefined,
59
- debug: (..._args) => undefined,
60
- };
61
- this.createSessionFactory = opts.createSession ?? defaultCreateSession;
62
- this.resolveModelFn = opts.resolveModel ?? defaultResolveModel;
63
- this.mcpProvider = opts.mcpProvider;
64
- this.grounderFactory = opts.grounderFactory;
65
- this.mobileUseRunner = opts.mobileUseRunner;
66
- this.uiXmlRunner = opts.uiXmlRunner;
67
- this.shortcutInvoker = opts.shortcutInvoker;
68
- this.shortcutResourcesFactory = opts.shortcutResourcesFactory;
69
- applyOuterEnvMapping(this.outer);
70
- }
71
- get modelName() {
72
- return this.outer.model ?? "";
73
- }
74
- get providerName() {
75
- const inferred = this.outer.provider || inferPiProvider(this.outer.baseUrl ?? "");
76
- return inferred || undefined;
77
- }
78
- async run(opts) {
79
- if (opts.abortSignal?.aborted) {
80
- return { finalMessage: "", steps: 0, cancelled: true };
81
- }
82
- const session = await this.ensureSession();
83
- let cancelled = false;
84
- let toolCount = 0;
85
- let finalText = "";
86
- let streamingBuf = "";
87
- const dispatchTool = async (event) => {
88
- if (opts.onTool)
89
- await opts.onTool(event);
90
- };
91
- const unsubscribe = session.subscribe(async (event) => {
92
- switch (event.type) {
93
- case "message_start": {
94
- const msg = event.message;
95
- if (msg?.role === "assistant")
96
- streamingBuf = "";
97
- break;
98
- }
99
- case "message_update": {
100
- const ev = event.assistantMessageEvent;
101
- if (ev?.type === "text_delta" && typeof ev.delta === "string") {
102
- const delta = ev.delta;
103
- streamingBuf += delta;
104
- if (opts.onText)
105
- await opts.onText(delta);
106
- }
107
- break;
108
- }
109
- case "message_end": {
110
- const msg = event.message;
111
- if (msg?.role === "assistant") {
112
- if (streamingBuf.length > 0)
113
- finalText = streamingBuf;
114
- else {
115
- const fromBlocks = extractAssistantText(msg);
116
- if (fromBlocks)
117
- finalText = fromBlocks;
118
- }
119
- }
120
- break;
121
- }
122
- case "tool_execution_start": {
123
- toolCount++;
124
- const e = event;
125
- await dispatchTool({
126
- id: String(e.toolCallId ?? `t-${toolCount}`),
127
- name: String(e.toolName ?? "tool"),
128
- args: toRecord(e.args),
129
- status: "start",
130
- });
131
- break;
132
- }
133
- case "tool_execution_update": {
134
- const e = event;
135
- await dispatchTool({
136
- id: String(e.toolCallId ?? ""),
137
- name: String(e.toolName ?? "tool"),
138
- args: toRecord(e.args),
139
- status: "update",
140
- result: e.partialResult,
141
- });
142
- break;
143
- }
144
- case "tool_execution_end": {
145
- const e = event;
146
- await dispatchTool({
147
- id: String(e.toolCallId ?? ""),
148
- name: String(e.toolName ?? "tool"),
149
- args: {},
150
- status: "end",
151
- result: e.result,
152
- isError: !!e.isError,
153
- });
154
- break;
155
- }
156
- default:
157
- break;
158
- }
159
- });
160
- let abortHandler = null;
161
- if (opts.abortSignal) {
162
- abortHandler = () => {
163
- cancelled = true;
164
- session.abort().catch(() => undefined);
165
- };
166
- opts.abortSignal.addEventListener("abort", abortHandler, { once: true });
167
- }
168
- try {
169
- await session.prompt(opts.task);
170
- }
171
- catch (e) {
172
- if (cancelled) {
173
- return {
174
- finalMessage: finalText || streamingBuf,
175
- steps: toolCount,
176
- cancelled: true,
177
- };
178
- }
179
- throw e;
180
- }
181
- finally {
182
- if (abortHandler && opts.abortSignal) {
183
- opts.abortSignal.removeEventListener("abort", abortHandler);
184
- }
185
- unsubscribe();
186
- }
187
- // Fall back to the accumulated streaming buffer when we never saw a
188
- // terminal `message_end` for the assistant — this happens when the
189
- // upstream session aborts mid-stream, when only non-assistant
190
- // messages emit `message_end`, or when pi closes the stream early.
191
- const message = finalText || streamingBuf;
192
- return { finalMessage: message, steps: toolCount, cancelled };
193
- }
194
- async setModel(provider, model) {
195
- if (!model)
196
- return;
197
- this.outer = { ...this.outer, provider, model };
198
- applyOuterEnvMapping(this.outer);
199
- if (!this.session)
200
- return;
201
- const resolved = this.resolveModelFn(provider, model, this.outer.baseUrl ?? "");
202
- if (!resolved) {
203
- this.logger.warn?.({ provider, model, baseUrl: this.outer.baseUrl }, "outer model resolution failed — keeping previous model");
204
- return;
205
- }
206
- try {
207
- await this.session.setModel(resolved);
208
- }
209
- catch (e) {
210
- this.logger.warn?.({ err: e.message, provider, model }, "session.setModel failed");
211
- }
212
- }
213
- /** Tear down the underlying pi session. Idempotent. */
214
- async dispose() {
215
- const s = this.session;
216
- this.session = null;
217
- this.starting = null;
218
- this.cachedGrounder = null;
219
- setPiExtensionContext(null);
220
- if (s) {
221
- try {
222
- await s.abort();
223
- }
224
- catch {
225
- /* ignore */
226
- }
227
- try {
228
- s.dispose();
229
- }
230
- catch {
231
- /* ignore */
232
- }
233
- }
234
- }
235
- // ── Internals ─────────────────────────────────────────────────────────
236
- buildExtensionContext() {
237
- // The pi extensions hard-fail when their context is missing, but the
238
- // test seam (`createSession` injected) often doesn't need the
239
- // context at all. Only install one when the bootstrap layer
240
- // explicitly handed us an `mcpProvider`.
241
- if (!this.mcpProvider)
242
- return null;
243
- const mcpProvider = this.mcpProvider;
244
- const grounderFactory = this.grounderFactory;
245
- const mobileUseRunner = this.mobileUseRunner;
246
- const uiXmlRunner = this.uiXmlRunner;
247
- const shortcutInvoker = this.shortcutInvoker;
248
- const shortcutResourcesFactory = this.shortcutResourcesFactory;
249
- return {
250
- getMcpClient: () => mcpProvider(),
251
- getGrounder: () => {
252
- if (this.cachedGrounder)
253
- return this.cachedGrounder;
254
- if (!grounderFactory) {
255
- throw new Error("PiOrchestratorAgent: ground tool invoked but no grounderFactory was provided");
256
- }
257
- this.cachedGrounder = grounderFactory();
258
- return this.cachedGrounder;
259
- },
260
- runMobileUse: async (task, maxSteps, abortSignal) => {
261
- if (!mobileUseRunner) {
262
- throw new Error("PiOrchestratorAgent: mobile_use tool invoked but no mobileUseRunner was provided");
263
- }
264
- return mobileUseRunner(task, maxSteps, abortSignal);
265
- },
266
- getUiXml: async (query) => {
267
- if (uiXmlRunner)
268
- return uiXmlRunner(query);
269
- // Default: dump the raw UI XML through the MCP runtime and
270
- // feed it through `formatUiXmlToolOutput` — same shape the
271
- // legacy `queryUiXml(device.raw, query)` produced on top of
272
- // the Android driver. Backends that don't support a UI dump
273
- // surface a clear "not supported" string so the orchestrator
274
- // can fall back to `ground`.
275
- const mcp = mcpProvider();
276
- const dump = await mcp.uiDump({ format: "raw" });
277
- if (!dump.supported) {
278
- return "UI XML is not supported on this backend (use `ground` to locate elements)";
279
- }
280
- const xml = dump.content ?? "";
281
- return formatUiXmlToolOutput(xml, query);
282
- },
283
- // Shortcut KB — outer-LLM-visible. Throws when not wired so a
284
- // mis-bootstrapped extension fails loud instead of silently
285
- // exposing zero shortcuts (which the orchestrator would interpret
286
- // as "no hybrid action space available", causing it to default to
287
- // mobile_use + manual GUI navigation).
288
- getShortcutKB: () => {
289
- if (!shortcutInvoker) {
290
- throw new Error("PiOrchestratorAgent: getShortcutKB() invoked but no shortcutInvoker was provided " +
291
- "(bootstrap must wire `shortcutInvoker: new ShortcutRouter(reg)`).");
292
- }
293
- return shortcutInvoker;
294
- },
295
- getShortcutResources: () => shortcutResourcesFactory?.(),
296
- // INTERNAL-ONLY (D9). See pi-context.ts comment block.
297
- // We keep the implementation simple — go straight through the MCP
298
- // runtime — because shortcuts are always called from inside a
299
- // structured `ShortcutContext`, never re-exposed to the LLM.
300
- runShell: async (command, opts) => {
301
- const mcp = mcpProvider();
302
- if (typeof mcp.executeCommand !== "function") {
303
- throw new Error("PiOrchestratorAgent.runShell: active MCP runtime does not implement executeCommand");
304
- }
305
- const tCallOpts = {};
306
- if (opts?.timeoutMs !== undefined) {
307
- tCallOpts.timeoutS = Math.ceil(opts.timeoutMs / 1000);
308
- }
309
- // The MCP runtime does not currently expose AbortSignal —
310
- // we can't preempt mid-call. The router's wrapper enforces a
311
- // ceiling, so the caller's signal is honored end-to-end on
312
- // the loop boundary even if the in-flight `executeCommand`
313
- // can't be cancelled mid-stream. (D2 keeps task:start early
314
- // enough that this is a non-issue for Phase 2.)
315
- const res = await mcp.executeCommand(command, tCallOpts);
316
- return res;
317
- },
318
- pushFile: async (path, bytes) => {
319
- const mcp = mcpProvider();
320
- if (typeof mcp.fileWrite !== "function") {
321
- throw new Error("PiOrchestratorAgent.pushFile: active MCP runtime does not implement fileWrite");
322
- }
323
- await mcp.fileWrite(path, bytes);
324
- },
325
- };
326
- }
327
- ensureSession() {
328
- if (this.session)
329
- return Promise.resolve(this.session);
330
- if (this.starting)
331
- return this.starting;
332
- const promise = (async () => {
333
- // Install the extension context BEFORE the resource loader runs:
334
- // pi calls each extension's `default(api)` during `loader.reload()`,
335
- // which today only registers tools (no immediate context reads),
336
- // but we want the singleton ready in case an extension decides to
337
- // pre-warm a device handle.
338
- const ctx = this.buildExtensionContext();
339
- if (ctx)
340
- setPiExtensionContext(ctx);
341
- const provider = this.outer.provider || inferPiProvider(this.outer.baseUrl ?? "");
342
- const model = this.outer.model
343
- ? this.resolveModelFn(provider, this.outer.model, this.outer.baseUrl ?? "")
344
- : undefined;
345
- const sess = await this.createSessionFactory({
346
- projectRoot: this.projectRoot,
347
- systemPrompt: this.systemPrompt,
348
- model,
349
- });
350
- this.session = sess;
351
- return sess;
352
- })();
353
- this.starting = promise;
354
- // Clear `starting` after settlement so a subsequent failed run can
355
- // re-attempt initialisation. On failure, clear the extension context
356
- // too so a stale context doesn't survive across retries.
357
- promise.then(() => {
358
- if (this.starting === promise)
359
- this.starting = null;
360
- }, () => {
361
- if (this.starting === promise)
362
- this.starting = null;
363
- setPiExtensionContext(null);
364
- });
365
- return promise;
366
- }
367
- }
368
- // ── Helpers ────────────────────────────────────────────────────────────
369
- /**
370
- * Map our generic outer config to pi-ai's env-var contract. pi-ai reads
371
- * provider-specific keys (e.g. `OPENROUTER_API_KEY`) from `process.env`,
372
- * so we transparently set them when the caller hands us `outer.apiKey`
373
- * + a recognised baseUrl. Never overwrites a key the caller already set.
374
- *
375
- * Recognised hosts:
376
- * - openrouter.ai / arouter.ai → OPENROUTER_API_KEY
377
- * - api.openai.com → OPENAI_API_KEY
378
- * - api.anthropic.com → ANTHROPIC_API_KEY
379
- * - generativelanguage.googleapis.com → GEMINI_API_KEY
380
- */
381
- export function applyOuterEnvMapping(outer) {
382
- const key = outer.apiKey;
383
- if (!key)
384
- return;
385
- const provider = (outer.provider || "").toLowerCase();
386
- const url = (outer.baseUrl ?? "").toLowerCase();
387
- const candidates = [provider, url];
388
- const matchesAny = (needles) => candidates.some((c) => needles.some((n) => c.includes(n)));
389
- if (matchesAny(["openrouter", "arouter.ai"])) {
390
- if (!process.env.OPENROUTER_API_KEY)
391
- process.env.OPENROUTER_API_KEY = key;
392
- }
393
- else if (matchesAny(["anthropic"])) {
394
- if (!process.env.ANTHROPIC_API_KEY)
395
- process.env.ANTHROPIC_API_KEY = key;
396
- }
397
- else if (matchesAny(["openai", "api.openai.com"])) {
398
- if (!process.env.OPENAI_API_KEY)
399
- process.env.OPENAI_API_KEY = key;
400
- }
401
- else if (matchesAny(["gemini", "generativelanguage.googleapis.com", "google"])) {
402
- if (!process.env.GEMINI_API_KEY)
403
- process.env.GEMINI_API_KEY = key;
404
- }
405
- }
406
- /** Infer the pi-ai provider tag from a base URL. */
407
- export function inferPiProvider(baseUrl) {
408
- const url = (baseUrl ?? "").toLowerCase();
409
- if (!url)
410
- return "";
411
- if (url.includes("openrouter.ai") || url.includes("arouter.ai"))
412
- return "openrouter";
413
- if (url.includes("api.openai.com"))
414
- return "openai";
415
- if (url.includes("anthropic.com"))
416
- return "anthropic";
417
- if (url.includes("generativelanguage.googleapis.com"))
418
- return "google";
419
- return "";
420
- }
421
- function toRecord(v) {
422
- if (v && typeof v === "object" && !Array.isArray(v))
423
- return v;
424
- return {};
425
- }
426
- function extractAssistantText(message) {
427
- if (message.role !== "assistant")
428
- return "";
429
- const c = message.content;
430
- if (typeof c === "string")
431
- return c;
432
- if (!Array.isArray(c))
433
- return "";
434
- const parts = [];
435
- for (const block of c) {
436
- if (block &&
437
- typeof block === "object" &&
438
- "type" in block &&
439
- block.type === "text") {
440
- const t = block.text;
441
- if (t)
442
- parts.push(t);
443
- }
444
- }
445
- return parts.join("");
446
- }
447
- // ── Default pi-ai / pi-coding-agent factory ─────────────────────────────
448
- function defaultResolveModel(provider, modelId, baseUrl) {
449
- if (!modelId)
450
- return undefined;
451
- const piProvider = (provider || inferPiProvider(baseUrl)).toLowerCase();
452
- if (!piProvider)
453
- return undefined;
454
- let model;
455
- try {
456
- // pi-ai is a peer dep of pi-coding-agent which is already imported by
457
- // chat.ts; it's safe to require here. Wrap in try/catch so a missing
458
- // optional install doesn't blow up the whole adapter — `legacyInner`
459
- // users may opt out.
460
- // eslint-disable-next-line @typescript-eslint/no-require-imports
461
- const piAi = require("@mariozechner/pi-ai");
462
- model = piAi.getModel(piProvider, modelId);
463
- }
464
- catch {
465
- return undefined;
466
- }
467
- // ARouter is OpenRouter-compatible but lives at a different host. When
468
- // the user explicitly pointed `outer.baseUrl` at arouter.ai (or another
469
- // OpenRouter-clone), rewrite the resolved model's baseUrl so pi-ai's
470
- // upstream HTTP call hits the right endpoint.
471
- if (baseUrl && (baseUrl.toLowerCase().includes("arouter.ai") || piProvider === "openrouter")) {
472
- const trimmed = baseUrl.replace(/\/$/, "");
473
- if (trimmed && !trimmed.includes("openrouter.ai")) {
474
- const suffix = trimmed.endsWith("/api/v1") || trimmed.endsWith("/v1") ? "" : "/api/v1";
475
- model = { ...model, baseUrl: `${trimmed}${suffix}` };
476
- }
477
- }
478
- return model;
479
- }
480
- const defaultCreateSession = async (cfg) => {
481
- // Lazy-load to keep the adapter import-safe in environments where
482
- // `@mariozechner/pi-coding-agent` isn't installed (e.g. tests using
483
- // `legacyInner`).
484
- const piAgent = (await import("@mariozechner/pi-coding-agent"));
485
- const { createAgentSession, DefaultResourceLoader, getAgentDir } = piAgent;
486
- const localSkills = await loadProjectSkillsLoaderOptions(cfg.projectRoot);
487
- const loader = new DefaultResourceLoader({
488
- cwd: cfg.projectRoot,
489
- agentDir: getAgentDir(),
490
- ...(cfg.systemPrompt ? { systemPromptOverride: () => cfg.systemPrompt } : {}),
491
- ...localSkills,
492
- });
493
- await loader.reload();
494
- const result = await createAgentSession({
495
- resourceLoader: loader,
496
- ...(cfg.model ? { model: cfg.model } : {}),
497
- });
498
- return result.session;
499
- };
500
- async function loadProjectSkillsLoaderOptions(projectRoot) {
501
- try {
502
- // The helper lives in the same package — we keep it on disk so the
503
- // existing chat.ts CLI keeps working. Lazy-import to avoid a hard
504
- // cycle through the public barrel.
505
- const mod = (await import("../pi-local-skills.js"));
506
- return mod.projectPiSkillsLoaderOptions?.(projectRoot) ?? {};
507
- }
508
- catch {
509
- return {};
510
- }
511
- }
512
- //# sourceMappingURL=agentcore-pi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentcore-pi.js","sourceRoot":"","sources":["../../src/adapters/agentcore-pi.ts"],"names":[],"mappings":"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"}
package/dist/chat.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * Standalone interactive chat CLI for the two-layer agent.
3
- *
4
- * Same UX as before — `pnpm run chat` opens a REPL that drives the outer
5
- * orchestrator (pi-coding-agent) over `ORCH_*` env vars, with the inner
6
- * `mobile_use` / `ground` / `ui_xml` extensions loaded from
7
- * `<projectRoot>/.pi/extensions/`. Internally it now goes through the
8
- * `PiOrchestratorAgent` adapter so there is exactly **one** code path
9
- * for "construct a pi session with our system prompt and our extension
10
- * context", shared with the production `bootstrap.ts` flow.
11
- *
12
- * `chat.ts` does NOT start the ACP bridge / HTTP debug / agent-sync
13
- * plugins; it's a developer convenience to manually drive the agent
14
- * against a local device. For production runs use `pnpm start`.
15
- */
16
- import "dotenv/config";