pi-jarvis 1.5.0 → 1.6.0

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/AGENTS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Project Scope
4
4
  - `pi-jarvis` is a Pi extension that opens a `/jarvis` side-conversation overlay.
5
- - Core runtime files: `index.ts`, `side-session.ts`, `overlay.ts`, `overlay-layout.ts`, `draft-editor.ts`, `transcript-viewport.ts`, `model-picker.ts`, `jarvis-config.ts`, `session-ref.ts`.
5
+ - Core runtime files: `index.ts`, `side-session.ts`, `native-mcp.ts`, `overlay.ts`, `overlay-layout.ts`, `draft-editor.ts`, `transcript-viewport.ts`, `model-picker.ts`, `jarvis-config.ts`, `session-ref.ts`.
6
6
  - Current baseline: Pi 1.0.0 (`@earendil-works` packages), Node.js >=22.19.0. Older Pi hosts are not supported.
7
7
 
8
8
  ## Current `/jarvis-model` and `/jarvis-thinking` Behavior
@@ -20,7 +20,7 @@
20
20
  - `follow-main` thinking follows the main thinking level regardless of model selection, except xAI `/jarvis` models force thinking `off`.
21
21
  - `/compact`, `/tree`, and `/new` entered inside `/jarvis` operate on the isolated `/jarvis` side-session, not the main Pi session.
22
22
  - `Note main` and `Redirect` stay disabled when the active `/jarvis` model is incompatible with bridge tools.
23
- - Published package keeps Pi runtime packages as optional peers, not bundled dependencies. MCP adapter auto-loading is disabled: the published adapter does not declare Pi 1.0 support; native MCP is not enabled. Repo tools expose only read/bash/edit/write.
23
+ - Published packages keep Pi runtime packages as optional peers, not bundled dependencies. Never load the legacy MCP adapter. Version 1.6.0 adds native MCP to Repo tools opt-in alongside read/bash/edit/write.
24
24
  - Physical models delegate to the host's public registry for auth and dispatch. Virtual/router models explicitly reject; do not access the registry's private backing runtime.
25
25
  - Side resources/settings honor `ctx.isProjectTrusted()`. Local tool execution and bridge delivery recheck live permissions; closing the overlay revokes them and cancels pending confirmations.
26
26
  - Use `agent_settled`, not `agent_end`, for final idle state. Main context must honor Pi context-edit/compaction projection.
@@ -34,14 +34,26 @@
34
34
  - Queue count excludes active work; processing includes boot and complete queue settlement. Keep activity separate from scrollback and never replay uncertain sends.
35
35
  - Bound overlay history (500 entries, 512K UTF-16 units total, 64K per entry) with explicit omission notices; never truncate persisted history.
36
36
 
37
+ ## Native MCP (1.6.0)
38
+ - Use Pi's root-exported native factories, not private registry/runtime/transport internals. Jarvis owns separate configured-server connections; main-only extension registrations are not inherited.
39
+ - No native startup/credential expansion while initially off. Respect project trust, enabled states, native tool exposures, and live Repo tools permission for direct/deferred/codemode/resource execution.
40
+ - Revocation invalidates permission generations, hides owned tools, aborts calls and invokes owned native shutdown. Stale prepared tools and late registrations cannot regain access after re-enable.
41
+ - Pi cancellation is best effort: already-started handshake/authentication/remote work may finish or time out after shutdown is requested. Do not promise immediate child teardown, rollback, or sandboxing.
42
+ - Keep server administration in main Pi. Disable codemode model helpers (`models: false`); preserve independent Note main/Redirect gates and the overlay-owned bridge subscription.
43
+ - Tests use temporary agent/workspace directories and local fixture servers only; never start real user MCP servers or resolve real credentials during validation.
44
+
37
45
  ## Git and Release Policy
38
- - Every commit must have an annotated git tag; this is mandatory. Release commits use `v<version>`; other commits use `commit-<short-sha>`.
39
- - Push each commit with its tag. Keep release versions synchronized across package metadata, lockfile, README, and changelog.
46
+ - Every new commit MUST have an annotated **stable version tag `vX.Y.Z`**. No `dev`, alpha, beta, release-candidate, build-metadata, or SHA-only tags. This is a released extension, not a prerelease channel.
47
+ - Before committing, choose the next unused stable version and update package metadata, lockfile, README, and a dated changelog entry together. Tag every commit, including intermediate and merge commits; never leave a new commit untagged. Run `npm run check:tags`, then push the commit and version tag atomically. Do not move or replace existing tags or rewrite shared history.
48
+ - Prefer fast-forwarding the exact validated commits to `main`; a new merge commit also requires its own version bump and tag. Every pushed `vX.Y.Z` tag triggers validated GitHub release packaging; npm publication remains manual.
49
+ - Stable-only CI enforcement starts after historical baseline `4b6b4e6`, preserving already-pushed history. Branch/PR jobs validate on Node 22.19.0 and 24 and reject missing, lightweight, prerelease, or SHA-only version coverage. Each new tag must match that commit's package metadata, lockfile, README, and changelog.
50
+ - Existing release assets must not be overwritten with differing bytes. See `RELEASING.md` for branch/tag protection and merge/fork constraints; CI alone cannot prevent administrator bypass.
40
51
 
41
52
  ## Validation
42
53
  - Run `npm test` for full validation.
43
54
  - Run `npm run build` before release packaging.
44
55
  - Run `npm run verify:release` to validate npm pack payload and release metadata expectations.
56
+ - Run `npm run check:tags` after tagging commits to validate annotated-tag policy.
45
57
 
46
58
  ## Docs To Keep In Sync
47
59
  - `README.md`
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
  [![Pi extension](https://img.shields.io/badge/Pi-extension-06b6d4?style=for-the-badge)](https://github.com/crustyhacker/pi-jarvis)
14
14
  [![TypeScript](https://img.shields.io/badge/TypeScript-powered-2563eb?style=for-the-badge)](./package.json)
15
15
 
16
- <p><strong>Current version:</strong> 1.5.0</p>
16
+ <p><strong>Current version:</strong> 1.6.0</p>
17
17
 
18
18
  <p>
19
19
  <strong>Persistent side session</strong> ·
@@ -120,7 +120,7 @@ pi install npm:pi-jarvis
120
120
 
121
121
  This package is meant to run **inside a Pi installation** that already provides the Pi runtime packages. Those host packages are declared as optional peers so npm does not install a second copy of the full Pi/AI provider stack just to add this extension.
122
122
 
123
- Requires **Pi 1.0.0** and **Node.js 22.19.0 or newer**. This release supports local repository tools only: automatic `pi-mcp-adapter` loading is disabled because the published adapter does not declare Pi 1.0 support. Native MCP integration is not yet enabled; the overlay reports MCP as unavailable.
123
+ Requires **Pi 1.0.0** and **Node.js 22.19.0 or newer**. Version **1.6.0** supports local repository tools and opt-in native Pi MCP as described below; it does not load the legacy `pi-mcp-adapter` or bundle another Pi runtime.
124
124
 
125
125
  ### 2) Restart or reload Pi
126
126
 
@@ -218,7 +218,7 @@ The overlay header exposes three controls, all **off by default**:
218
218
 
219
219
  | Control | What it does | Safety model |
220
220
  |---|---|---|
221
- | `Repo tools` | Enables local `read`, `bash`, `edit`, and `write` | Explicit opt-in |
221
+ | `Repo tools` | Enables local `read`, `bash`, `edit`, and `write`, plus configured native MCP | Explicit opt-in |
222
222
  | `Note main` | Sends a concise, non-interrupting note to the main session | Explicit opt-in |
223
223
  | `Redirect` | Sends a redirecting instruction to the main session | Explicit opt-in + per-send confirmation |
224
224
 
@@ -259,7 +259,7 @@ flowchart TD
259
259
  A --> D[Redirect off]
260
260
 
261
261
  B -->|enable| E[Jarvis may use local tools]
262
- E --> H[MCP unavailable in this release]
262
+ E --> H[Configured native MCP]
263
263
 
264
264
  C -->|enable| I[Jarvis may send a quiet note to main]
265
265
  D -->|enable| J[Jarvis may request redirect sends]
@@ -345,7 +345,18 @@ This repository's validation baseline is **Pi 1.0.0**, using host-provided `@ear
345
345
 
346
346
  Physical models use the main host's public model registry for requests and credentials, including custom providers and runtime-only authentication. **Virtual/router models are not supported**: Pi's public extension registry does not expose session-aware virtual routing. Pin `/jarvis-model <provider/physical-model>` if the main session uses a virtual model.
347
347
 
348
- MCP is deliberately unavailable in this release. A future native integration needs execution-time permission checks for direct, deferred, and nested tool calls; installing the old adapter does not enable it.
348
+ ### Native MCP
349
+
350
+ Pi already provides MCP; Jarvis 1.6.0 opts its separate SDK session into Pi's native factories when Repo tools is enabled.
351
+
352
+ - **Repo tools is the opt-in for both local tools and native MCP.** While initially off, Jarvis does not start MCP connections or expand MCP configuration credentials/commands.
353
+ - Enabling it starts **separate, side-owned connections** to configured servers from the active agent directory's `mcp.json` and, only when trusted, the project's `.pi/mcp.json`. Main-session connections are neither reused nor disconnected. Servers registered only by main-session extensions are not automatically inherited.
354
+ - Native direct, deferred/tool-search, codemode, and resource tools keep Pi's configured exposure. Jarvis rechecks live permission and session lifetime for calls, including nested calls and previously prepared tool references. Server annotations are hints, not permission grants.
355
+ - Disabling Repo tools, closing the overlay, or disposing the side runtime invalidates that permission generation, hides its tools, aborts owned call signals, and requests native disconnection. Re-enabling creates a fresh generation rather than reviving stale calls.
356
+ - **Cancellation is best effort, not rollback or a sandbox.** Pi may allow already-started connection handshakes, authentication refresh/cleanup, or remote operations to finish or time out after revocation. A pending native handshake may outlive the shutdown request until Pi finishes or times it out.
357
+ - Manage servers and OAuth sign-in in **main Pi** (`/mcp` or `pi mcp ...`), not through a side-session administration command. Jarvis does not register a side `/mcp` manager. Codemode's classifier/image-model helpers are disabled in the side session.
358
+
359
+ Use narrowly scoped credentials and trust your configured servers. Enabling Repo tools permits the configured MCP capabilities; it is not a read-only grant.
349
360
 
350
361
  ---
351
362
 
@@ -381,6 +392,20 @@ Preview and verify the npm payload contract:
381
392
  npm run verify:release
382
393
  ```
383
394
 
395
+ Check the mandatory annotated **version-number** tag policy for committed history:
396
+
397
+ ```bash
398
+ npm run check:tags
399
+ ```
400
+
401
+ ### Release automation
402
+
403
+ GitHub Actions validate branch pushes and pull requests on Node 22.19.0 and 24. They require an annotated **stable `vX.Y.Z` tag** on every reachable post-policy-baseline commit and run tests, build, and package verification. Every commit bumps the matching package and documentation versions; prerelease (`dev`, alpha, beta, RC), build-metadata, and SHA-only tags do not qualify. Fork PR jobs are read-only.
404
+
405
+ A matching annotated **`vX.Y.Z`** tag runs exact-tag validation and creates a GitHub release with the validated npm tarball. **npm publication stays manual**; no npm publishing token is configured. Existing assets are verified, never overwritten with different bytes.
406
+
407
+ CI reports violations; protected-branch/tag rules must be configured separately for enforcement. See [RELEASING.md](https://github.com/crustyhacker/pi-jarvis/blob/main/RELEASING.md) for atomic tagged pushes, fork/merge handling, reruns, and manual npm publication.
408
+
384
409
  ---
385
410
 
386
411
  ## License
@@ -0,0 +1,50 @@
1
+ import { type ExtensionFactory, type McpExtensionOptions, type SessionShutdownEvent } from "@earendil-works/pi-coding-agent";
2
+ export type NativeMcpOptions = {
3
+ hasToolAccess: () => boolean;
4
+ lifetimeSignal?: AbortSignal;
5
+ /** Public native options, primarily useful for isolated SDK fixtures. */
6
+ mcpOptions?: McpExtensionOptions;
7
+ onChange?: () => void;
8
+ };
9
+ /** Remove the MAIN session's discovery section before composing the side prompt. */
10
+ export declare function stripMcpServerSection(prompt: string): string;
11
+ /**
12
+ * Own the public factories' registrations, not the host's MCP servers/runtime.
13
+ * Pi 1.0's factories have no lifecycle handle, and AgentSession.dispose() does
14
+ * not emit session_shutdown. Retain their public lifecycle callbacks so the
15
+ * owner can start only on opt-in and request shutdown before SDK invalidation.
16
+ *
17
+ * Revocation blocks NEW executions/lifecycle entry, hides definitions, cancels
18
+ * scripts/call signals, and invalidates prepared references across re-enable.
19
+ * Native shutdown is best-effort for ALREADY STARTED work: an in-flight MCP
20
+ * handshake or OAuth refresh/cleanup can finish or time out (and have effects)
21
+ * after revocation. The public factories cannot cancel those internals. This is
22
+ * permission control, NOT a sandbox or a promise to undo running operations.
23
+ */
24
+ export declare class NativeMcpController {
25
+ private readonly options;
26
+ private pi?;
27
+ private start?;
28
+ private current?;
29
+ private readonly ownedNames;
30
+ private enabled;
31
+ private disposed;
32
+ private revision;
33
+ private transition;
34
+ private readonly onLifetimeAbort;
35
+ constructor(options: NativeMcpOptions);
36
+ readonly extensionFactory: ExtensionFactory;
37
+ ownsTool(name: string): boolean;
38
+ isToolAvailable(name: string): boolean;
39
+ /** Preserve direct tools, native discovery activation, and tool_search loads. */
40
+ getActiveToolNames(): string[];
41
+ setEnabled(enabled: boolean): Promise<void>;
42
+ waitForChange(): Promise<void>;
43
+ dispose(event?: SessionShutdownEvent): Promise<void>;
44
+ private isLive;
45
+ private assertLive;
46
+ private revoke;
47
+ private createFacade;
48
+ private wrapTool;
49
+ }
50
+ //# sourceMappingURL=native-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAGzB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAWF,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAWnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,EAAE,CAAC,CAAe;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAsD;IACpE,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkD;gBAErD,OAAO,EAAE,gBAAgB;IAItD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CASzC;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMtC,iFAAiF;IACjF,kBAAkB,IAAI,MAAM,EAAE;IAI9B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,CAAC,KAAK,GAAE,oBAAmE,GAAG,OAAO,CAAC,IAAI,CAAC;IAclG,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,YAAY;IA8DpB,OAAO,CAAC,QAAQ;CA+BhB"}
@@ -0,0 +1,263 @@
1
+ import { createCodemodeExtension, createMcpExtension, createToolSearchExtension, } from "@earendil-works/pi-coding-agent";
2
+ /** Remove the MAIN session's discovery section before composing the side prompt. */
3
+ export function stripMcpServerSection(prompt) {
4
+ return prompt.replace(/<mcp_servers>\s*[\s\S]*?<\/mcp_servers>/gi, "").trim();
5
+ }
6
+ /**
7
+ * Own the public factories' registrations, not the host's MCP servers/runtime.
8
+ * Pi 1.0's factories have no lifecycle handle, and AgentSession.dispose() does
9
+ * not emit session_shutdown. Retain their public lifecycle callbacks so the
10
+ * owner can start only on opt-in and request shutdown before SDK invalidation.
11
+ *
12
+ * Revocation blocks NEW executions/lifecycle entry, hides definitions, cancels
13
+ * scripts/call signals, and invalidates prepared references across re-enable.
14
+ * Native shutdown is best-effort for ALREADY STARTED work: an in-flight MCP
15
+ * handshake or OAuth refresh/cleanup can finish or time out (and have effects)
16
+ * after revocation. The public factories cannot cancel those internals. This is
17
+ * permission control, NOT a sandbox or a promise to undo running operations.
18
+ */
19
+ export class NativeMcpController {
20
+ options;
21
+ pi;
22
+ start;
23
+ current;
24
+ ownedNames = new Set();
25
+ enabled = false;
26
+ disposed = false;
27
+ revision = 0;
28
+ transition = Promise.resolve();
29
+ onLifetimeAbort = () => { void this.dispose().catch(() => { }); };
30
+ constructor(options) {
31
+ this.options = options;
32
+ options.lifetimeSignal?.addEventListener("abort", this.onLifetimeAbort, { once: true });
33
+ }
34
+ extensionFactory = (pi) => {
35
+ this.pi = pi;
36
+ pi.on("session_start", async (event, ctx) => {
37
+ this.start = { event, ctx }; // Genuine SIDE event/context from bindExtensions().
38
+ await this.setEnabled(this.options.hasToolAccess());
39
+ });
40
+ pi.on("session_shutdown", async (event) => {
41
+ await this.dispose(event);
42
+ });
43
+ };
44
+ ownsTool(name) {
45
+ return this.ownedNames.has(name);
46
+ }
47
+ isToolAvailable(name) {
48
+ const generation = this.current;
49
+ const definition = generation?.definitions.get(name);
50
+ return !!generation && this.isLive(generation) && !!definition && definition.exposure !== "hidden";
51
+ }
52
+ /** Preserve direct tools, native discovery activation, and tool_search loads. */
53
+ getActiveToolNames() {
54
+ return this.pi?.getActiveTools().filter((name) => this.isToolAvailable(name)) ?? [];
55
+ }
56
+ setEnabled(enabled) {
57
+ if (this.disposed)
58
+ return this.transition;
59
+ this.enabled = enabled;
60
+ const revision = ++this.revision;
61
+ // Revoke synchronously, even when a previous enable is still queued.
62
+ const closing = enabled && this.options.hasToolAccess() ? Promise.resolve() : this.revoke({ type: "session_shutdown", reason: "reload" });
63
+ this.transition = Promise.all([this.transition.catch(() => { }), closing]).then(async () => {
64
+ if (revision !== this.revision || !this.enabled || this.disposed || !this.start || !this.pi || !this.options.hasToolAccess() || this.options.lifetimeSignal?.aborted)
65
+ return;
66
+ if (this.current)
67
+ return;
68
+ const generation = {
69
+ abort: new AbortController(), definitions: new Map(), unsubscribers: new Set(), starts: new Set(), shutdowns: new Set(),
70
+ };
71
+ this.current = generation;
72
+ const facade = this.createFacade(this.pi, generation);
73
+ try {
74
+ // No factories, config reads, credential expansion, or connections while off.
75
+ for (const factory of [
76
+ createCodemodeExtension({ mode: "on", models: false }),
77
+ createToolSearchExtension(),
78
+ createMcpExtension(this.options.mcpOptions),
79
+ ]) {
80
+ if (!this.isLive(generation))
81
+ return;
82
+ await factory(facade);
83
+ }
84
+ for (const handler of generation.starts) {
85
+ if (!this.isLive(generation))
86
+ return;
87
+ await handler(this.start.event, this.start.ctx);
88
+ }
89
+ this.options.onChange?.();
90
+ }
91
+ catch (error) {
92
+ await this.revoke({ type: "session_shutdown", reason: "reload" });
93
+ throw error;
94
+ }
95
+ });
96
+ return this.transition;
97
+ }
98
+ waitForChange() {
99
+ return this.transition;
100
+ }
101
+ dispose(event = { type: "session_shutdown", reason: "quit" }) {
102
+ if (this.disposed)
103
+ return this.transition;
104
+ this.disposed = true;
105
+ this.enabled = false;
106
+ this.revision++;
107
+ this.options.lifetimeSignal?.removeEventListener("abort", this.onLifetimeAbort);
108
+ const closing = this.revoke(event);
109
+ this.transition = Promise.allSettled([this.transition, closing]).then((results) => {
110
+ const failed = results.find((result) => result.status === "rejected");
111
+ if (failed?.status === "rejected")
112
+ throw failed.reason;
113
+ });
114
+ return this.transition;
115
+ }
116
+ isLive(generation) {
117
+ return this.current === generation && this.enabled && !this.disposed && !generation.abort.signal.aborted && !this.options.lifetimeSignal?.aborted && this.options.hasToolAccess();
118
+ }
119
+ assertLive(generation, signal) {
120
+ if (!this.isLive(generation) || signal?.aborted)
121
+ throw new Error("/jarvis native MCP access is disabled, cancelled, or belongs to an expired permission generation.");
122
+ }
123
+ revoke(event) {
124
+ const generation = this.current;
125
+ this.current = undefined;
126
+ if (!generation)
127
+ return Promise.resolve();
128
+ generation.abort.abort();
129
+ const errors = [];
130
+ const attempt = (action) => { try {
131
+ action();
132
+ }
133
+ catch (error) {
134
+ errors.push(error);
135
+ } };
136
+ for (const unsubscribe of generation.unsubscribers)
137
+ attempt(unsubscribe);
138
+ generation.unsubscribers.clear();
139
+ // Native shutdown itself does not withdraw definitions. Do so before any
140
+ // awaited work; late registration through this old facade is discarded.
141
+ for (const definition of generation.definitions.values()) {
142
+ attempt(() => { this.pi?.registerTool({ ...definition, exposure: "hidden", defaultActive: false }); });
143
+ }
144
+ attempt(() => { this.pi?.setActiveTools(this.pi.getActiveTools().filter((name) => !this.ownedNames.has(name))); });
145
+ attempt(() => { this.options.onChange?.(); });
146
+ const start = this.start;
147
+ // Invoke immediately: native shutdown bumps its own startup generation
148
+ // synchronously before yielding to connection.close(). No fake main events.
149
+ // A stale SDK facade or failed overlay render must not prevent closing.
150
+ return Promise.allSettled([...generation.shutdowns].map(async (handler) => {
151
+ if (start)
152
+ await handler(event, start.ctx);
153
+ })).then((results) => {
154
+ for (const result of results)
155
+ if (result.status === "rejected")
156
+ errors.push(result.reason);
157
+ if (errors.length > 0)
158
+ throw new AggregateError(errors, "/jarvis native MCP shutdown encountered errors.");
159
+ });
160
+ }
161
+ createFacade(pi, generation) {
162
+ const on = ((name, handler) => {
163
+ if (name === "session_start" || name === "session_shutdown") {
164
+ const handlers = name === "session_start" ? generation.starts : generation.shutdowns;
165
+ handlers.add(handler);
166
+ return () => { handlers.delete(handler); };
167
+ }
168
+ // `on` is overloaded by event. Only the public factories' registrations
169
+ // cross this adapter; keep each event/result unchanged except prompt composition.
170
+ const register = pi.on;
171
+ const unsubscribe = register(name, async (event, ctx) => {
172
+ if (!this.isLive(generation)) {
173
+ if (event.type === "tool_call" && generation.definitions.has(event.toolName))
174
+ return { block: true, reason: "/jarvis native MCP access is disabled." };
175
+ return;
176
+ }
177
+ const result = await handler(event, ctx);
178
+ if (!this.isLive(generation)) {
179
+ if (event.type === "tool_call" && generation.definitions.has(event.toolName))
180
+ return { block: true, reason: "/jarvis native MCP permission expired while preparing the call." };
181
+ return;
182
+ }
183
+ if (event.type === "before_agent_start") {
184
+ const promptEvent = event;
185
+ const section = promptEvent.systemPromptOptions.sections.mcp_servers;
186
+ // Jarvis uses a forced identity/context prompt. Native structured
187
+ // sections alone would be lost; append ONLY the SIDE discovery list.
188
+ return { systemPrompt: [stripMcpServerSection(promptEvent.systemPrompt), section ? `<mcp_servers>\n${section}\n</mcp_servers>` : ""].filter(Boolean).join("\n\n") };
189
+ }
190
+ return result;
191
+ });
192
+ generation.unsubscribers.add(unsubscribe);
193
+ return () => { generation.unsubscribers.delete(unsubscribe); unsubscribe(); };
194
+ });
195
+ return new Proxy(pi, {
196
+ get: (target, property) => {
197
+ if (property === "on")
198
+ return on;
199
+ if (property === "registerCommand")
200
+ return () => { };
201
+ if (property === "registerTool")
202
+ return (definition) => {
203
+ if (!this.isLive(generation))
204
+ return;
205
+ const wrapped = this.wrapTool(definition, generation);
206
+ generation.definitions.set(definition.name, wrapped);
207
+ this.ownedNames.add(definition.name);
208
+ target.registerTool(wrapped);
209
+ this.options.onChange?.();
210
+ };
211
+ if (property === "setActiveTools")
212
+ return (names) => {
213
+ if (!this.isLive(generation))
214
+ return;
215
+ target.setActiveTools(names.filter((name) => !this.ownedNames.has(name) || this.isToolAvailable(name)));
216
+ this.options.onChange?.();
217
+ };
218
+ if (property === "appendEntry")
219
+ return (...args) => {
220
+ this.assertLive(generation);
221
+ return target.appendEntry(...args);
222
+ };
223
+ // Deliberately omit side /mcp administration. Config/auth discovery,
224
+ // refresh, expansion, and transports stay on Pi's native defaults;
225
+ // manage login/exposure/enabled settings in the MAIN Pi /mcp UI.
226
+ return Reflect.get(target, property);
227
+ },
228
+ });
229
+ }
230
+ wrapTool(definition, generation) {
231
+ return {
232
+ ...definition,
233
+ // Serialize model-issued side batches just like local side tools. The
234
+ // script's explicit ctx.executeTool concurrency still uses live gates.
235
+ executionMode: "sequential",
236
+ execute: async (id, params, signal, onUpdate, ctx) => {
237
+ this.assertLive(generation, signal);
238
+ // A tools/list_changed withdrawal can happen within the same
239
+ // permission epoch, after an SDK call already captured this definition.
240
+ if (!this.isToolAvailable(definition.name))
241
+ throw new Error("/jarvis native MCP tool is disabled or withdrawn.");
242
+ const signals = [generation.abort.signal, signal, this.options.lifetimeSignal].filter((value) => !!value);
243
+ const callSignal = AbortSignal.any(signals);
244
+ // An OLD codemode script must not call tools from a NEW permission
245
+ // generation, even if a nested call was queued while access was on.
246
+ // SDK tool contexts are frozen. Shadow public members on a fresh
247
+ // facade instead of violating frozen-property Proxy invariants.
248
+ const context = Object.create(ctx);
249
+ Object.defineProperties(context, {
250
+ signal: { value: callSignal },
251
+ executeTool: { value: (name, args, options) => {
252
+ this.assertLive(generation, callSignal);
253
+ return ctx.executeTool(name, args, { ...options, signal: options?.signal ? AbortSignal.any([callSignal, options.signal]) : callSignal });
254
+ } },
255
+ });
256
+ const result = await definition.execute(id, params, callSignal, onUpdate, context);
257
+ this.assertLive(generation, callSignal);
258
+ return result;
259
+ },
260
+ };
261
+ }
262
+ }
263
+ //# sourceMappingURL=native-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-mcp.js","sourceRoot":"","sources":["../native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,GAUzB,MAAM,iCAAiC,CAAC;AAmBzC,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,MAAc;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IAWF;IAVrB,EAAE,CAAgB;IAClB,KAAK,CAAuD;IAC5D,OAAO,CAAc;IACZ,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IACjB,QAAQ,GAAG,CAAC,CAAC;IACb,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,eAAe,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,YAA6B,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QACrD,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAEQ,gBAAgB,GAAqB,CAAC,EAAE,EAAE,EAAE;QACpD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,oDAAoD;YACjF,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,IAAY;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,MAAM,UAAU,GAAG,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACpG,CAAC;IAED,iFAAiF;IACjF,kBAAkB;QACjB,OAAO,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,CAAC;IAED,UAAU,CAAC,OAAgB;QAC1B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;QACjC,qEAAqE;QACrE,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1I,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACzF,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO;gBAAE,OAAO;YAC7K,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,UAAU,GAAe;gBAC9B,KAAK,EAAE,IAAI,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE;aACvH,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC;gBACJ,8EAA8E;gBAC9E,KAAK,MAAM,OAAO,IAAI;oBACrB,uBAAuB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBACtD,yBAAyB,EAAE;oBAC3B,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;iBAC3C,EAAE,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;wBAAE,OAAO;oBACrC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;wBAAE,OAAO;oBACrC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAClE,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,QAA8B,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE;QACjF,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACjF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YACtE,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,UAAsB;QACpC,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACnL,CAAC;IAEO,UAAU,CAAC,UAAsB,EAAE,MAAoB;QAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;IACvK,CAAC;IAEO,MAAM,CAAC,KAA2B;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,CAAC,MAAkB,EAAE,EAAE,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzE,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,yEAAyE;QACzE,wEAAwE;QACxE,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,uEAAuE;QACvE,4EAA4E;QAC5E,wEAAwE;QACxE,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACzE,IAAI,KAAK;gBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,iDAAiD,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,EAAgB,EAAE,UAAsB;QAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,IAA4B,EAAE,OAAsB,EAAgB,EAAE;YAClF,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;gBACrF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,wEAAwE;YACxE,kFAAkF;YAClF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAA0E,CAAC;YAC/F,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;oBACvJ,OAAO;gBACR,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,iEAAiE,EAAE,CAAC;oBAChL,OAAO;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBACzC,MAAM,WAAW,GAAG,KAA8B,CAAC;oBACnD,MAAM,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrE,kEAAkE;oBAClE,qEAAqE;oBACrE,OAAO,EAAE,YAAY,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,OAAO,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrK,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1C,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAuB,CAAC;QAEzB,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;YACpB,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACzB,IAAI,QAAQ,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAC;gBACjC,IAAI,QAAQ,KAAK,iBAAiB;oBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;gBACpD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,CAAC,UAA0B,EAAE,EAAE;wBACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;4BAAE,OAAO;wBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;wBACtD,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACrC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC3B,CAAC,CAAC;gBACF,IAAI,QAAQ,KAAK,gBAAgB;oBAAE,OAAO,CAAC,KAAe,EAAE,EAAE;wBAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;4BAAE,OAAO;wBACrC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACxG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC3B,CAAC,CAAC;gBACF,IAAI,QAAQ,KAAK,aAAa;oBAAE,OAAO,CAAC,GAAG,IAA6C,EAAE,EAAE;wBAC3F,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wBAC5B,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC;gBACF,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,UAA0B,EAAE,UAAsB;QAClE,OAAO;YACN,GAAG,UAAU;YACb,sEAAsE;YACtE,uEAAuE;YACvE,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;gBACpD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACpC,6DAA6D;gBAC7D,wEAAwE;gBACxE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACjH,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChI,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,mEAAmE;gBACnE,oEAAoE;gBACpE,iEAAiE;gBACjE,gEAAgE;gBAChE,MAAM,OAAO,GAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;oBAChC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC7B,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,IAAY,EAAE,IAA6B,EAAE,OAA+C,EAAE,EAAE;4BACtH,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;4BACxC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC1I,CAAC,EAAE;iBACH,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACnF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;YACf,CAAC;SACD,CAAC;IACH,CAAC;CACD"}
@@ -1,12 +1,14 @@
1
1
  import type { Model } from "@earendil-works/pi-ai";
2
2
  import type { MainSessionContextPayload } from "./main-context.js";
3
- import { ModelRuntime, type ExtensionContext } from "@earendil-works/pi-coding-agent";
3
+ import { ModelRuntime, type ExtensionContext, type McpExtensionOptions } from "@earendil-works/pi-coding-agent";
4
4
  import { JarvisOverlayBridge, type JarvisDisplayEntry } from "./overlay.js";
5
5
  type SideRuntimeCreateOptions = {
6
6
  bridge: JarvisOverlayBridge;
7
7
  cwd: string;
8
8
  /** The host trust decision. Missing means untrusted, never implicit approval. */
9
9
  projectTrusted?: boolean;
10
+ /** Optional public factory options for isolated MCP fixtures. Defaults use Pi config/auth. */
11
+ nativeMcpOptions?: McpExtensionOptions;
10
12
  modelRegistry: ExtensionContext["modelRegistry"];
11
13
  model: Model<any> | undefined;
12
14
  jarvisModelModeProvider?: () => "follow-main" | "pinned";
@@ -56,6 +58,8 @@ export declare class JarvisSideSessionRuntime {
56
58
  private syncHostModels?;
57
59
  private readonly lifetime;
58
60
  private syncActiveTools?;
61
+ private nativeMcp?;
62
+ private disposal;
59
63
  private constructor();
60
64
  static create(options: SideRuntimeCreateOptions): Promise<JarvisSideSessionRuntime>;
61
65
  isReady(): boolean;
@@ -63,6 +67,10 @@ export declare class JarvisSideSessionRuntime {
63
67
  getModelLabel(): string;
64
68
  getRepoToolsDetailLabel(): string;
65
69
  setToolAccessEnabled(enabled: boolean): void;
70
+ /** Wait for the permission transition, not native background handshakes. */
71
+ waitForToolAccessChange(): Promise<void>;
72
+ /** Native shutdown is best-effort for already-started handshake/auth work. */
73
+ waitForDisposal(): Promise<void>;
66
74
  getDisplayEntries(): JarvisDisplayEntry[];
67
75
  sendMessage(text: string): Promise<void>;
68
76
  addSystemMessage(text: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"side-session.d.ts","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"side-session.d.ts","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { mkdirSync } from "node:fs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { InMemoryCredentialStore, Type } from "@earendil-works/pi-ai";
5
5
  import { DefaultResourceLoader, SessionManager, SettingsManager, ModelRuntime, createAgentSession, defineTool, createReadToolDefinition, createBashToolDefinition, createEditToolDefinition, createWriteToolDefinition, getAgentDir, } from "@earendil-works/pi-coding-agent";
6
+ import { NativeMcpController, stripMcpServerSection } from "./native-mcp.js";
6
7
  const SIDE_SYSTEM_PROMPT = `
7
8
  Authoritative /jarvis addendum:
8
9
  - You are running inside /jarvis.
@@ -114,6 +115,8 @@ export class JarvisSideSessionRuntime {
114
115
  syncHostModels;
115
116
  lifetime = new AbortController();
116
117
  syncActiveTools;
118
+ nativeMcp;
119
+ disposal = Promise.resolve();
117
120
  constructor(bridge, themeProvider) {
118
121
  this.themeProvider = themeProvider;
119
122
  this.bridge = bridge;
@@ -142,12 +145,26 @@ export class JarvisSideSessionRuntime {
142
145
  if (!this.toolAccessEnabled) {
143
146
  return "repo tools off";
144
147
  }
145
- return "local tools only (MCP unavailable: adapter unsupported on Pi 1.0; native integration not enabled)";
148
+ return "local tools + native MCP";
146
149
  }
147
150
  setToolAccessEnabled(enabled) {
151
+ if (this.lifetime.signal.aborted)
152
+ return;
148
153
  this.toolAccessEnabled = enabled;
154
+ void this.nativeMcp?.setEnabled(enabled).catch((error) => {
155
+ if (!this.lifetime.signal.aborted)
156
+ this.bridge.notify(`Side MCP error: ${error instanceof Error ? error.message : String(error)}`, "error");
157
+ });
149
158
  this.syncActiveTools?.();
150
159
  }
160
+ /** Wait for the permission transition, not native background handshakes. */
161
+ waitForToolAccessChange() {
162
+ return this.nativeMcp?.waitForChange() ?? Promise.resolve();
163
+ }
164
+ /** Native shutdown is best-effort for already-started handshake/auth work. */
165
+ waitForDisposal() {
166
+ return this.disposal;
167
+ }
151
168
  getDisplayEntries() {
152
169
  const entries = [...this.historyEntries, ...this.localStatusEntries];
153
170
  const latestUserEntry = [...entries].reverse().find((entry) => entry.kind === "user");
@@ -267,6 +284,10 @@ export class JarvisSideSessionRuntime {
267
284
  this.modelLabel = formatModelLabel(this.session.model);
268
285
  }
269
286
  dispose() {
287
+ // Retained public native shutdown handlers run BEFORE SDK ctx invalidation.
288
+ // AgentSession.dispose() does not emit session_shutdown on Pi 1.0.
289
+ this.disposal = this.nativeMcp?.dispose() ?? this.disposal;
290
+ void this.disposal.catch(() => { });
270
291
  this.lifetime.abort();
271
292
  this.ready = false;
272
293
  this.toolAccessEnabled = false;
@@ -278,6 +299,11 @@ export class JarvisSideSessionRuntime {
278
299
  this.session = undefined;
279
300
  }
280
301
  async initialize(options) {
302
+ const assertInitializing = () => {
303
+ if (this.lifetime.signal.aborted)
304
+ throw new Error("/jarvis initialization cancelled: runtime was disposed.");
305
+ };
306
+ assertInitializing();
281
307
  const sideSessionManager = SessionManager.open(options.sessionFile, dirname(options.sessionFile), options.cwd);
282
308
  const persistedContext = sideSessionManager.buildSessionContext();
283
309
  const hadExistingEntries = sideSessionManager.getEntries().length > 0;
@@ -290,10 +316,17 @@ export class JarvisSideSessionRuntime {
290
316
  assertSupportedSideModel(options.modelRegistry.find(persistedContext.model.provider, persistedContext.model.modelId));
291
317
  }
292
318
  const { modelRuntime, sync } = await createSideModelRuntime(options.modelRegistry);
319
+ assertInitializing();
293
320
  this.syncHostModels = sync;
294
321
  const settingsManager = SettingsManager.create(options.cwd, getAgentDir(), {
295
322
  projectTrusted: options.projectTrusted ?? false,
296
323
  });
324
+ this.nativeMcp = new NativeMcpController({
325
+ hasToolAccess,
326
+ lifetimeSignal: this.lifetime.signal,
327
+ mcpOptions: options.nativeMcpOptions,
328
+ onChange: () => { this.syncActiveTools?.(); this.bridge.refresh(); },
329
+ });
297
330
  const resourceLoader = new DefaultResourceLoader({
298
331
  cwd: options.cwd,
299
332
  agentDir: getAgentDir(),
@@ -305,10 +338,13 @@ export class JarvisSideSessionRuntime {
305
338
  mode: options.jarvisModelModeProvider?.() ?? "follow-main",
306
339
  }), hasToolAccess, (refreshActiveTools) => {
307
340
  this.syncActiveTools = refreshActiveTools;
308
- }, options.communicationPermissionsProvider, options.sendFollowUpToMain, options.confirmSteerToMain, options.sendSteerToMain, hasConversationHistory, this.lifetime.signal),
341
+ }, options.communicationPermissionsProvider, options.sendFollowUpToMain, options.confirmSteerToMain, options.sendSteerToMain, hasConversationHistory, this.lifetime.signal, this.nativeMcp),
342
+ // Permission preflight is registered BEFORE native await/connect hooks.
343
+ this.nativeMcp.extensionFactory,
309
344
  ],
310
345
  });
311
346
  await resourceLoader.reload();
347
+ assertInitializing();
312
348
  // Pi 1 executes tool batches in parallel by default. Serialize side tools
313
349
  // and gate execute(), not only declarations/preflight: permissions may be
314
350
  // revoked after a call was prepared but before it starts executing.
@@ -343,6 +379,10 @@ export class JarvisSideSessionRuntime {
343
379
  resourceLoader,
344
380
  sessionManager: sideSessionManager,
345
381
  });
382
+ if (this.lifetime.signal.aborted) {
383
+ session.dispose();
384
+ assertInitializing();
385
+ }
346
386
  this.session = session;
347
387
  await session.bindExtensions({
348
388
  uiContext: createSideUiContext(this.bridge, options.themeProvider),
@@ -350,11 +390,13 @@ export class JarvisSideSessionRuntime {
350
390
  this.bridge.notify(`Side extension error: ${error.error}`, "error");
351
391
  },
352
392
  });
393
+ assertInitializing();
353
394
  this.syncActiveTools?.();
354
395
  if (options.model && hadExistingEntries) {
355
396
  const previousModel = persistedContext.model;
356
397
  if (!previousModel || previousModel.provider !== options.model.provider || previousModel.modelId !== options.model.id) {
357
398
  await session.setModel(options.model);
399
+ assertInitializing();
358
400
  }
359
401
  }
360
402
  if (options.thinkingLevel && persistedContext.thinkingLevel !== options.thinkingLevel) {
@@ -522,7 +564,7 @@ function truncateTreeText(text, maxLength = 96) {
522
564
  }
523
565
  return normalized.length > maxLength ? `${normalized.slice(0, maxLength - 1)}…` : normalized;
524
566
  }
525
- function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarvisModelState, hasToolAccess, bindActiveToolsSync, getCommunicationPermissions, sendFollowUpToMain, confirmSteerToMain, sendSteerToMain, hasConversationHistory, lifetimeSignal) {
567
+ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarvisModelState, hasToolAccess, bindActiveToolsSync, getCommunicationPermissions, sendFollowUpToMain, confirmSteerToMain, sendSteerToMain, hasConversationHistory, lifetimeSignal, nativeMcp) {
526
568
  let previousMainContext;
527
569
  const followUpToolName = "jarvis_send_follow_up_to_main";
528
570
  const steerToolName = "jarvis_send_steer_to_main";
@@ -559,7 +601,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
559
601
  /\bexplicit approval\b/i,
560
602
  ];
561
603
  const getMainAgentName = () => extractPrimaryAssistantName(getMainSystemPrompt());
562
- const getInheritedMainSystemPrompt = () => stripInheritedSections(getMainSystemPrompt().trim(), inheritedSectionsToStrip)
604
+ const getInheritedMainSystemPrompt = () => stripInheritedSections(stripMcpServerSection(getMainSystemPrompt()), inheritedSectionsToStrip)
563
605
  .split(/\r?\n/)
564
606
  .filter((line) => !inheritedLineBlocklist.some((pattern) => pattern.test(line)))
565
607
  .map((line) => line
@@ -602,7 +644,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
602
644
  const permissions = getCommunicationPermissions();
603
645
  const activeToolNames = [];
604
646
  if (hasToolAccess()) {
605
- activeToolNames.push(...OPTIONAL_SIDE_TOOL_NAMES);
647
+ activeToolNames.push(...OPTIONAL_SIDE_TOOL_NAMES, ...(nativeMcp?.getActiveToolNames() ?? []));
606
648
  }
607
649
  if (permissions.allowFollowUpToMain) {
608
650
  activeToolNames.push(followUpToolName);
@@ -614,7 +656,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
614
656
  return activeToolNames.filter((toolName) => availableToolNames.has(toolName));
615
657
  };
616
658
  const getToolAccessPrompt = () => hasToolAccess()
617
- ? "Local /jarvis tool access for this turn:\n- Repo and system tools are enabled right now. You may use read, bash, edit, and write if those tools are active. MCP is unavailable: the legacy adapter is unsupported on Pi 1.0 and native integration is not enabled."
659
+ ? "Local /jarvis tool access for this turn:\n- Repo and system tools are enabled right now. You may use read, bash, edit, and write if those tools are active. Native Pi MCP shares this permission; use active direct tools, tool_search, or codemode as configured. MCP tools and resources belong to this isolated side session, not the main session. Use main Pi /mcp to manage server configuration and authentication."
618
660
  : "Local /jarvis tool access for this turn:\n- Repo and system tools are disabled right now. Use the injected context and bridge tools only.";
619
661
  const getCommunicationPrompt = () => {
620
662
  const permissions = getCommunicationPermissions();
@@ -757,7 +799,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
757
799
  if (!getCommunicationPermissions().allowSteerToMain)
758
800
  return { block: true, reason: "Main-session redirects are disabled." };
759
801
  }
760
- else if (!hasToolAccess() || !OPTIONAL_SIDE_TOOL_NAMES.some((name) => name === event.toolName)) {
802
+ else if (!hasToolAccess() || (!OPTIONAL_SIDE_TOOL_NAMES.some((name) => name === event.toolName) && !nativeMcp?.isToolAvailable(event.toolName))) {
761
803
  return { block: true, reason: "/jarvis local tool is disabled or unsupported." };
762
804
  }
763
805
  });
@@ -1 +1 @@
1
- {"version":3,"file":"side-session.js","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"side-session.js","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-jarvis",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "engines": {
5
5
  "node": ">=22.19.0"
6
6
  },
@@ -48,8 +48,9 @@
48
48
  "build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.build.json",
49
49
  "check": "tsc --noEmit",
50
50
  "prepack": "npm run build",
51
- "test": "npm run check && node --import tsx --test test/jarvis.test.ts test/config-regression.test.ts test/index-regression.test.ts test/main-context-regression.test.ts test/overlay-regression.test.ts test/side-runtime.test.ts test/editor-polish.test.ts test/layout-polish.test.ts test/scroll-polish.test.ts test/status-polish.test.ts test/ux-polish.test.ts",
52
- "verify:release": "node --import tsx test/release-verification.test.ts"
51
+ "test": "npm run check && node --import tsx --test test/jarvis.test.ts test/config-regression.test.ts test/index-regression.test.ts test/main-context-regression.test.ts test/overlay-regression.test.ts test/side-runtime.test.ts test/editor-polish.test.ts test/layout-polish.test.ts test/scroll-polish.test.ts test/status-polish.test.ts test/ux-polish.test.ts test/native-mcp.test.ts test/release-automation.test.ts",
52
+ "verify:release": "node --import tsx test/release-verification.test.ts",
53
+ "check:tags": "node scripts/check-tags.mjs"
53
54
  },
54
55
  "peerDependencies": {
55
56
  "@earendil-works/pi-ai": "*",