@nimbalyst/extension-sdk 0.6.0 → 0.7.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/CHANGELOG.md CHANGED
@@ -8,6 +8,7 @@ The SDK is versioned independently of the Nimbalyst app. Each release declares i
8
8
 
9
9
  | SDK version | Minimum Nimbalyst app version |
10
10
  | --- | --- |
11
+ | 0.7.0 | 0.79.0 |
11
12
  | 0.6.0 | 0.78.0 |
12
13
  | 0.5.0 | 0.70.0 |
13
14
  | 0.4.0 | 0.70.0 |
@@ -20,6 +21,22 @@ The SDK is versioned independently of the Nimbalyst app. Each release declares i
20
21
 
21
22
  ## [Unreleased]
22
23
 
24
+ ## [0.7.0] - 2026-10-09
25
+
26
+ Requires Nimbalyst 0.79.0.
27
+
28
+ ### Added
29
+
30
+ - `BackendSessionsService` lets an extension backend create and own agent sessions and workstreams, send prompts, read status, results and usage, notify the user, and react when a session settles; it needs the new `ai-sessions` permission.
31
+ - Backend extensions can define MCP tools (`BackendMcpToolDefinition`), and panels call them with `PanelHost.callBackendTool()`.
32
+ - `PanelHost.setGutterBadge()` and `BackendPanelsService` show a count or warning badge on a panel's gutter icon.
33
+ - `PanelHost.setPanes()` and `onPaneToggle()` give a panel resizable, hideable left and right panes like the built-in modes, and `PanelHostComponents` exposes the host's session transcript.
34
+ - Agent usage events can report `cache_read_input_tokens` and `cache_creation_input_tokens` separately from uncached input.
35
+
36
+ ### Changed
37
+
38
+ - The `yjs` peer dependency is pinned to 13.6.32, the version the app ships, so an extension cannot load a second copy.
39
+
23
40
  ## [0.6.0] - 2026-09-14
24
41
 
25
42
  Requires Nimbalyst 0.78.0, available on the alpha channel at publication, for the complete host API including native screenshots.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024-2026 Nimbalyst Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -179,5 +179,5 @@ export const aiTools: ExtensionAITool[] = [
179
179
  From the monorepo root:
180
180
 
181
181
  ```bash
182
- npm run extension-sdk:check-public
182
+ pnpm run extension-sdk:check-public
183
183
  ```
@@ -28,6 +28,6 @@ describe('extension-sdk build emit stability', () => {
28
28
  it('keeps a clean build available for publishing', () => {
29
29
  const { scripts } = readJsonc('package.json');
30
30
  expect(scripts['build:clean']).toMatch(/rmSync/);
31
- expect(scripts.prepublishOnly).toBe('npm run build:clean');
31
+ expect(scripts.prepublishOnly).toBe('pnpm run build:clean');
32
32
  });
33
33
  });
@@ -165,11 +165,18 @@ export interface ProtocolEvent {
165
165
  };
166
166
  /** Error message (for 'error' events) */
167
167
  error?: string;
168
- /** Token usage (for 'usage' or 'complete' events) */
168
+ /**
169
+ * Token usage (for 'usage' or 'complete' events). When the provider reports a
170
+ * prompt-cache split, `input_tokens` is uncached input only and the cache
171
+ * reads/writes go in their own fields (Anthropic's shape), so the three input
172
+ * counts never overlap. Omit the cache fields when the provider has no split.
173
+ */
169
174
  usage?: {
170
175
  input_tokens: number;
171
176
  output_tokens: number;
172
177
  total_tokens: number;
178
+ cache_read_input_tokens?: number;
179
+ cache_creation_input_tokens?: number;
173
180
  };
174
181
  /** Current context fill tokens for this turn (provider-reported snapshot) */
175
182
  contextFillTokens?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProtocol.d.ts","sourceRoot":"","sources":["../../src/agents/AgentProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentProtocol.d.ts","sourceRoot":"","sources":["../../src/agents/AgentProtocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifestValidation.d.ts","sourceRoot":"","sources":["../src/manifestValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAuCnD,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,OAAO,GACtB,4BAA4B,EAAE,CAoKhC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,GACtB,IAAI,CAYN;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,GACX,qBAAqB,EAAE,CAazB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAW5E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,GACtB,4BAA4B,EAAE,CAgMhC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,GACtB,IAAI,CAYN"}
1
+ {"version":3,"file":"manifestValidation.d.ts","sourceRoot":"","sources":["../src/manifestValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAwCnD,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,OAAO,GACtB,4BAA4B,EAAE,CAoKhC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,GACtB,IAAI,CAYN;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,GACX,qBAAqB,EAAE,CAazB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAW5E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,GACtB,4BAA4B,EAAE,CAgMhC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,GACtB,IAAI,CAYN"}
@@ -30,6 +30,7 @@ const KNOWN_PERMISSION_IDS = [
30
30
  'nimbalyst-database-write',
31
31
  'secrets-read',
32
32
  'mcp-server-register',
33
+ 'ai-sessions',
33
34
  ];
34
35
  /**
35
36
  * Permission ids that used to be in the catalog but never enforced anything
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Backend-module panel API: `ctx.services.panels`.
3
+ *
4
+ * Lets a backend module update its own panels' gutter buttons while the panel
5
+ * is not mounted (a fullscreen panel unmounts when the user leaves it), so an
6
+ * event the module sees in the background (a new flag, a budget crossing)
7
+ * reaches the gutter without the user reopening the panel.
8
+ *
9
+ * No permission is required: the only thing a module can change is the badge
10
+ * on a panel its own manifest declares.
11
+ */
12
+ export type PanelGutterBadgeTone = 'default' | 'warning';
13
+ export interface BackendPanelsService {
14
+ /**
15
+ * Show a badge on one of this extension's panel gutter buttons, in the
16
+ * windows showing this module's workspace. Same values as the panel's own
17
+ * `host.setGutterBadge`: `null` clears, `0` shows a dot, a positive number
18
+ * shows the count. Whichever of the two writes last wins.
19
+ *
20
+ * `panelId` is the id from this extension's manifest `contributions.panels`
21
+ * (not prefixed with the extension id). Rejects for any other id.
22
+ */
23
+ setGutterBadge(panelId: string, value: number | null, options?: {
24
+ tone?: PanelGutterBadgeTone;
25
+ }): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=backendPanels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendPanels.d.ts","sourceRoot":"","sources":["../../src/types/backendPanels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Backend-module panel API: `ctx.services.panels`.
3
+ *
4
+ * Lets a backend module update its own panels' gutter buttons while the panel
5
+ * is not mounted (a fullscreen panel unmounts when the user leaves it), so an
6
+ * event the module sees in the background (a new flag, a budget crossing)
7
+ * reaches the gutter without the user reopening the panel.
8
+ *
9
+ * No permission is required: the only thing a module can change is the badge
10
+ * on a panel its own manifest declares.
11
+ */
12
+ export {};
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Backend-module session API and tool call context.
3
+ *
4
+ * These types describe what a privileged backend module (see
5
+ * `BackendModuleContribution` in `./permissions`) receives from the host when
6
+ * it drives AI agent sessions:
7
+ *
8
+ * - `BackendToolCallContext`: passed to a backend MCP tool handler as
9
+ * `ctx.call`, so the handler knows which session called it.
10
+ * - `BackendSessionsService`: `ctx.services.sessions`, gated by the
11
+ * `ai-sessions` permission. Every call is scoped by the host to the
12
+ * calling module's extension and bound workspace; a module can only read
13
+ * or drive sessions its own extension owns.
14
+ * - `BackendMcpToolDefinition`: the shape passed to
15
+ * `ctx.services.registerMcpTools`, including `panelOnly`.
16
+ *
17
+ * Ownership lives in the session row's metadata (`sessionOwner`), written at
18
+ * creation. Sessions an owned session spawns (`spawn_session`, `create_session`,
19
+ * a child created under it in the UI) inherit the owner, but not the directive.
20
+ */
21
+ /**
22
+ * Which extension owns a session, and under what key. `key` is the owner's own
23
+ * grouping id (for example a member slug); the host never interprets it.
24
+ */
25
+ export interface SessionOwner {
26
+ extensionId: string;
27
+ key: string;
28
+ /**
29
+ * When true, an owned child's settle does NOT queue a `[Child Session
30
+ * Update]` prompt on the session that spawned it and does not re-drive that
31
+ * session. The owner gets the settle through `sessions.onSettled` instead.
32
+ */
33
+ routeChildUpdatesToOwner?: boolean;
34
+ }
35
+ /**
36
+ * Identity of the caller of a backend MCP tool. Present on `ctx.call` when the
37
+ * method was invoked as a tool; absent for plain RPC calls.
38
+ */
39
+ export interface BackendToolCallContext {
40
+ /** Calling AI session, or null when the call did not come from a session (panel, voice). */
41
+ sessionId: string | null;
42
+ /** Workspace the module is bound to. */
43
+ workspacePath: string;
44
+ /**
45
+ * The calling session's owner, populated ONLY when that session is owned by
46
+ * this same extension. Null for unowned sessions and for sessions another
47
+ * extension owns.
48
+ */
49
+ sessionOwner: SessionOwner | null;
50
+ /** Where the call came from. */
51
+ caller: 'agent' | 'panel' | 'voice';
52
+ }
53
+ /**
54
+ * One tool passed to `ctx.services.registerMcpTools`. The advertised name is
55
+ * namespaced by the host as `<extension short name>.<name>`; `name` is also the
56
+ * backend method the host invokes.
57
+ */
58
+ export interface BackendMcpToolDefinition {
59
+ name: string;
60
+ description?: string;
61
+ inputSchema?: unknown;
62
+ /** Also expose the tool to the voice agent. Ignored when `panelOnly` is set. */
63
+ voiceAgent?: boolean;
64
+ scope?: 'global' | 'editor';
65
+ /**
66
+ * Callable only from this extension's own renderer via `callBackendTool`.
67
+ * The tool is not listed to agents or the voice agent, and an agent call to
68
+ * it is rejected.
69
+ */
70
+ panelOnly?: boolean;
71
+ /**
72
+ * Which agent sessions see the tool. `'all'` (default) lists it to every
73
+ * session in the workspace. `'owned-sessions'` lists it only to sessions this
74
+ * extension owns (`metadata.sessionOwner.extensionId`, inherited by spawned
75
+ * descendants); any other session's call is rejected as an unknown tool, and
76
+ * the voice agent never sees it. Use it for tools that only make sense inside
77
+ * the extension's own sessions, so they cost other sessions no context.
78
+ */
79
+ audience?: 'all' | 'owned-sessions';
80
+ }
81
+ /** Session lifecycle states as stored by the host. */
82
+ export type OwnedSessionStatus = 'idle' | 'running' | 'waiting_for_input' | 'error' | 'interrupted';
83
+ export interface CreateOwnedSessionOptions {
84
+ /** Owner key recorded in `sessionOwner.key`. The extension id is supplied by the host. */
85
+ ownerKey: string;
86
+ /** Session title. The session is treated as named, so it does not rename itself. */
87
+ name: string;
88
+ /** Agent provider id, e.g. `claude-code`, `openai-codex`. */
89
+ provider: string;
90
+ /** Model id, either `provider:model` or a bare model for `provider`. */
91
+ model: string;
92
+ /** Optional first prompt. Queued and dispatched immediately when present. */
93
+ prompt?: string;
94
+ /** Reasoning effort (`low` | `medium` | `high` | `xhigh` | `max`), clamped to the model. */
95
+ effortLevel?: string;
96
+ /**
97
+ * Text appended to the session's system prompt, frozen at the first turn.
98
+ * `create` rejects it for providers that do not apply it: the chat
99
+ * providers (`claude`, `openai`, `lmstudio`), `claude-code-cli`, and
100
+ * extension-contributed agent providers.
101
+ */
102
+ directive?: string;
103
+ /** Owned workstream container to file the session under (see `createWorkstream`). */
104
+ workstreamId?: string;
105
+ /**
106
+ * Owned session that logically spawned this one. Its settle routing follows
107
+ * `routeChildUpdatesToOwner`.
108
+ */
109
+ createdBySessionId?: string;
110
+ /** Initial owner metadata bag. Only this extension can change it later. */
111
+ ownerMetadata?: Record<string, unknown>;
112
+ /** See `SessionOwner.routeChildUpdatesToOwner`. Inherited by descendants. */
113
+ routeChildUpdatesToOwner?: boolean;
114
+ }
115
+ export interface CreateOwnedWorkstreamOptions {
116
+ ownerKey: string;
117
+ name: string;
118
+ /** Provider recorded on the container row. Defaults to `claude-code`. */
119
+ provider?: string;
120
+ ownerMetadata?: Record<string, unknown>;
121
+ }
122
+ export interface OwnedSessionStatusResult {
123
+ sessionId: string;
124
+ status: OwnedSessionStatus;
125
+ title: string;
126
+ lastActivity: number | null;
127
+ updatedAt: number | null;
128
+ /** The session has an unanswered durable prompt (question, plan approval, permission). */
129
+ hasPendingPrompt: boolean;
130
+ /** Queued prompts not yet delivered. */
131
+ queuedPromptCount: number;
132
+ }
133
+ export interface OwnedSessionContextFill {
134
+ /** Tokens currently in the context window. */
135
+ tokens: number;
136
+ contextWindow: number;
137
+ }
138
+ export interface OwnedSessionResult {
139
+ sessionId: string;
140
+ status: OwnedSessionStatus;
141
+ /** Text of the last assistant turn, or null if the session has not answered. */
142
+ lastResponse: string | null;
143
+ errorMessage: string | null;
144
+ /** Current context fill as last reported by the provider; null before the first report. */
145
+ contextFill: OwnedSessionContextFill | null;
146
+ pendingPrompt: {
147
+ promptId: string;
148
+ promptType: string;
149
+ } | null;
150
+ editedFiles: string[];
151
+ }
152
+ export interface OwnedSessionSummary {
153
+ sessionId: string;
154
+ key: string;
155
+ sessionType: 'session' | 'workstream' | string;
156
+ title: string;
157
+ /** Owned workstream container this session is filed under, if any. */
158
+ workstreamId: string | null;
159
+ /** Session that spawned this one, if any. */
160
+ createdBySessionId: string | null;
161
+ status: OwnedSessionStatus;
162
+ hasPendingPrompt: boolean;
163
+ queuedPromptCount: number;
164
+ createdAt: number;
165
+ updatedAt: number;
166
+ ownerMetadata: Record<string, unknown>;
167
+ }
168
+ /**
169
+ * Token usage for one session over its whole lifetime, as persisted by the
170
+ * host (the same counters the session's usage display reads). `costUSD` is
171
+ * 0 when the provider does not report cost.
172
+ *
173
+ * The four token counters are disjoint: `inputTokens` is uncached input only,
174
+ * and cache reads/writes are counted separately (0 for providers that report
175
+ * no cache split, and for sessions recorded before the host stored them).
176
+ * `totalTokens` keeps its historical meaning, input + output without cache;
177
+ * budget over `allTokens` to count everything the session consumed.
178
+ */
179
+ export interface OwnedSessionUsage {
180
+ inputTokens: number;
181
+ outputTokens: number;
182
+ totalTokens: number;
183
+ costUSD: number;
184
+ cacheReadInputTokens: number;
185
+ cacheCreationInputTokens: number;
186
+ /** inputTokens + outputTokens + cacheReadInputTokens + cacheCreationInputTokens. */
187
+ allTokens: number;
188
+ }
189
+ /**
190
+ * Usage is session-granular: a session counts in full when its last activity
191
+ * is at or after `since`. The host keeps no per-turn usage history. For an
192
+ * exact time window, record `OwnedSessionSettledEvent.tokenUsage` deltas in
193
+ * the module's own storage.
194
+ */
195
+ export interface OwnedUsageReport {
196
+ since: number;
197
+ totals: OwnedSessionUsage;
198
+ sessions: Array<OwnedSessionUsage & {
199
+ sessionId: string;
200
+ key: string;
201
+ lastActivity: number;
202
+ }>;
203
+ }
204
+ export type OwnedSessionSettleOutcome = 'completed' | 'error' | 'waiting' | 'interrupted';
205
+ /**
206
+ * Delivered to `onSettled` handlers. `completed` fires once the session's
207
+ * prompt queue is empty, not between queued prompts.
208
+ */
209
+ export interface OwnedSessionSettledEvent {
210
+ sessionId: string;
211
+ ownerKey: string;
212
+ outcome: OwnedSessionSettleOutcome;
213
+ createdBySessionId: string | null;
214
+ workstreamId: string | null;
215
+ at: number;
216
+ /** The session's lifetime usage at settle time; diff consecutive events for per-turn usage. */
217
+ tokenUsage: OwnedSessionUsage;
218
+ }
219
+ export interface NotifyUserOptions {
220
+ /** Owned session the notification is about; clicking it opens this session. */
221
+ sessionId: string;
222
+ title: string;
223
+ body: string;
224
+ /** `critical` also pushes to the user's phone. Defaults to `normal`. */
225
+ urgency?: 'low' | 'normal' | 'critical';
226
+ }
227
+ /**
228
+ * `ctx.services.sessions`. Requires the `ai-sessions` permission. Every method
229
+ * that takes a session id rejects sessions this extension does not own.
230
+ */
231
+ export interface BackendSessionsService {
232
+ create(options: CreateOwnedSessionOptions): Promise<{
233
+ sessionId: string;
234
+ queuedPromptId: string | null;
235
+ }>;
236
+ createWorkstream(options: CreateOwnedWorkstreamOptions): Promise<{
237
+ workstreamId: string;
238
+ }>;
239
+ /** Queue a prompt; it is delivered when the session is idle. */
240
+ sendPrompt(sessionId: string, prompt: string): Promise<{
241
+ queuedPromptId: string;
242
+ }>;
243
+ getStatus(sessionId: string): Promise<OwnedSessionStatusResult>;
244
+ getResult(sessionId: string): Promise<OwnedSessionResult>;
245
+ /** Owned sessions in this workspace, optionally filtered to one owner key. Newest first. */
246
+ listOwned(options?: {
247
+ key?: string;
248
+ }): Promise<OwnedSessionSummary[]>;
249
+ /** Lifetime usage of owned sessions active at or after `since` (epoch ms). See `OwnedUsageReport`. */
250
+ getUsage(options: {
251
+ key?: string;
252
+ since: number;
253
+ }): Promise<OwnedUsageReport>;
254
+ /** Shallow-merge `patch` into the session's owner metadata bag. A `null` value deletes the key. */
255
+ updateOwnerMetadata(sessionId: string, patch: Record<string, unknown>): Promise<{
256
+ ownerMetadata: Record<string, unknown>;
257
+ }>;
258
+ notifyUser(options: NotifyUserOptions): Promise<void>;
259
+ /** Subscribe to settle events for sessions this extension owns in this workspace. Returns an unsubscribe. */
260
+ onSettled(handler: (event: OwnedSessionSettledEvent) => void): () => void;
261
+ }
262
+ //# sourceMappingURL=backendSessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendSessions.d.ts","sourceRoot":"","sources":["../../src/types/backendSessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Backend-module session API and tool call context.
3
+ *
4
+ * These types describe what a privileged backend module (see
5
+ * `BackendModuleContribution` in `./permissions`) receives from the host when
6
+ * it drives AI agent sessions:
7
+ *
8
+ * - `BackendToolCallContext`: passed to a backend MCP tool handler as
9
+ * `ctx.call`, so the handler knows which session called it.
10
+ * - `BackendSessionsService`: `ctx.services.sessions`, gated by the
11
+ * `ai-sessions` permission. Every call is scoped by the host to the
12
+ * calling module's extension and bound workspace; a module can only read
13
+ * or drive sessions its own extension owns.
14
+ * - `BackendMcpToolDefinition`: the shape passed to
15
+ * `ctx.services.registerMcpTools`, including `panelOnly`.
16
+ *
17
+ * Ownership lives in the session row's metadata (`sessionOwner`), written at
18
+ * creation. Sessions an owned session spawns (`spawn_session`, `create_session`,
19
+ * a child created under it in the UI) inherit the owner, but not the directive.
20
+ */
21
+ export {};
@@ -6,6 +6,8 @@ export * from './editor.js';
6
6
  export * from './editors.js';
7
7
  export * from './panel.js';
8
8
  export * from './permissions.js';
9
+ export * from './backendSessions.js';
10
+ export * from './backendPanels.js';
9
11
  export * from './theme.js';
10
12
  export * from './collab.js';
11
13
  export * from './comments.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
@@ -6,6 +6,8 @@ export * from './editor.js';
6
6
  export * from './editors.js';
7
7
  export * from './panel.js';
8
8
  export * from './permissions.js';
9
+ export * from './backendSessions.js';
10
+ export * from './backendPanels.js';
9
11
  export * from './theme.js';
10
12
  export * from './collab.js';
11
13
  export * from './comments.js';
@@ -341,6 +341,97 @@ export interface PanelHost {
341
341
  * version you tested against.
342
342
  */
343
343
  readonly data: ExtensionDataAccess;
344
+ /**
345
+ * Call one of this extension's own backend-module MCP tools and return its
346
+ * parsed JSON result. Pass the namespaced tool name (`<extShort>.<tool>`,
347
+ * e.g. `example.panel_status`). The host injects this extension's id, so a
348
+ * panel can only reach tools its own backend module registered. Rejects if
349
+ * the tool errors or the module is not running.
350
+ */
351
+ callBackendTool(toolName: string, args?: Record<string, unknown>): Promise<unknown>;
352
+ /**
353
+ * Host-rendered components a panel can mount inside its own layout.
354
+ *
355
+ * Present only when the extension declares `"ai": true` in
356
+ * `permissions` in manifest.json, because the session transcript lets the
357
+ * panel show any session in the workspace and send prompts to it.
358
+ */
359
+ readonly components?: PanelHostComponents;
360
+ /**
361
+ * Show a badge on this panel's gutter button. `null` clears it, `0` shows a
362
+ * dot, a positive number shows the count. `tone: 'warning'` renders it in
363
+ * the warning color instead of the default.
364
+ *
365
+ * The host keeps the last value after the panel unmounts (a fullscreen panel
366
+ * unmounts when the user leaves it), and clears it when the extension is
367
+ * disabled or unloaded. A panel can only update it while it is mounted.
368
+ */
369
+ setGutterBadge(value: number | null, options?: {
370
+ tone?: 'default' | 'warning';
371
+ }): void;
372
+ /**
373
+ * Declare the fullscreen panel's side panes so the host treats them like a
374
+ * built-in mode's: the title bar shows their toggle buttons, Toggle Sidebar
375
+ * and the right-pane toggle reach the panel, and re-clicking the gutter
376
+ * button toggles the left pane instead of closing the panel. Call again
377
+ * whenever a pane collapses or expands; `null` withdraws the declaration.
378
+ *
379
+ * The declaration only takes effect while an {@link onPaneToggle}
380
+ * subscription is live, and is dropped when the last one unsubscribes.
381
+ * Optional because older hosts do not implement it.
382
+ */
383
+ setPanes?(panes: PanelPanes | null): void;
384
+ /**
385
+ * Called when the user toggles one of the declared panes from the host.
386
+ * The panel owns the state: flip it, then report it with {@link setPanes}.
387
+ */
388
+ onPaneToggle?(callback: (side: PanelPaneSide) => void): () => void;
389
+ }
390
+ export type PanelPaneSide = 'left' | 'right';
391
+ /** One side pane of a fullscreen panel, as the host's toggle shows it. */
392
+ export interface PanelPaneState {
393
+ /** Names the pane in the toggle's tooltip, e.g. "Crew roster". */
394
+ label: string;
395
+ collapsed: boolean;
396
+ }
397
+ export interface PanelPanes {
398
+ left?: PanelPaneState;
399
+ right?: PanelPaneState;
400
+ }
401
+ /**
402
+ * Props for {@link PanelHostComponents.SessionTranscript}.
403
+ */
404
+ export interface PanelSessionTranscriptProps {
405
+ /**
406
+ * Session to render. The composer sends to this session, never to whichever
407
+ * session is active elsewhere in the window. Changing it remounts the
408
+ * transcript.
409
+ */
410
+ sessionId: string;
411
+ /**
412
+ * Hide the message list and keep only the composer and pending prompts
413
+ * (permission requests, questions).
414
+ */
415
+ collapseTranscript?: boolean;
416
+ /** Extra class names for the wrapper element (it fills its parent by default). */
417
+ className?: string;
418
+ }
419
+ /**
420
+ * Components the host renders on behalf of a panel.
421
+ *
422
+ * @example
423
+ * ```tsx
424
+ * const Transcript = host.components?.SessionTranscript;
425
+ * return Transcript ? <Transcript sessionId={id} /> : null;
426
+ * ```
427
+ */
428
+ export interface PanelHostComponents {
429
+ /**
430
+ * The full agent transcript for one session in this workspace, with its
431
+ * composer, queued prompts, and interactive prompts. File links open in the
432
+ * editor through the same path as {@link PanelHost.openFile}.
433
+ */
434
+ SessionTranscript: ComponentType<PanelSessionTranscriptProps>;
344
435
  }
345
436
  /**
346
437
  * Read-only data access surface exposed to extension panels.
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/types/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/types/panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,KAAK,EAAE,2BAA2B,CAAC;IAEnC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAErD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACnD;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IAGxB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAEhC;;;;;;OAMG;IACH,oBAAoB,IAAI,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAI9D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAId;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAItB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAI7B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAI/E;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAInC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IAIrC;;;;;;;;;OASG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAIlE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAInC;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAIpF;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAI1C;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IAIvF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACpE;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,iBAAiB,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;;OAIG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD;;;OAGG;IACH,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;OAIG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElD;;;;;;;OAOG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACpF;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAG/B;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEnC;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAInC;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIzC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,yBAAyB,CAAC;IAExC;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;CAC5C;AAED,0EAA0E;AAC1E,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -42,7 +42,7 @@ export type PermissionRiskTier = 'low' | 'elevated' | 'high';
42
42
  * Database access splits into read and write so extensions can declare
43
43
  * least-privilege intent without composing two grants into one.
44
44
  */
45
- export type ExtensionPermissionId = 'workspace-files' | 'nimbalyst-database-read' | 'nimbalyst-database-write' | 'secrets-read' | 'mcp-server-register';
45
+ export type ExtensionPermissionId = 'workspace-files' | 'nimbalyst-database-read' | 'nimbalyst-database-write' | 'secrets-read' | 'mcp-server-register' | 'ai-sessions';
46
46
  /**
47
47
  * Backend module runtime. The privileged host loads the module in one of two
48
48
  * isolated runtimes. Choose based on workload:
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;;;;;;;OASG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAErC,uDAAuD;IACvD,UAAU,EAAE,uBAAuB,CAAC;CACrC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,GACrB,aAAa,CAAC;AAElB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;;;;;;;OASG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAErC,uDAAuD;IACvD,UAAU,EAAE,uBAAuB,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbalyst/extension-sdk",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "SDK for building Nimbalyst extensions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "./dist/validate.js": "./dist/validate.browser.js"
18
18
  },
19
19
  "nimbalyst": {
20
- "minAppVersion": "0.78.0"
20
+ "minAppVersion": "0.79.0"
21
21
  },
22
22
  "publishConfig": {
23
23
  "access": "public"
@@ -71,13 +71,6 @@
71
71
  "README.md",
72
72
  "CHANGELOG.md"
73
73
  ],
74
- "scripts": {
75
- "build": "tsc",
76
- "build:clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('.tsbuildinfo',{force:true})\" && tsc",
77
- "dev": "tsc --watch",
78
- "typecheck": "tsc --noEmit",
79
- "prepublishOnly": "npm run build:clean"
80
- },
81
74
  "dependencies": {},
82
75
  "peerDependencies": {
83
76
  "react": "^18.2.0 || ^19.0.0",
@@ -114,7 +107,7 @@
114
107
  "typescript": "^5.0.0",
115
108
  "vite": "^7.1.12",
116
109
  "@vitejs/plugin-react": "^5.1.2",
117
- "yjs": ">=13.5.42",
110
+ "yjs": "13.6.32",
118
111
  "y-protocols": "^1.0.5"
119
112
  },
120
113
  "keywords": [
@@ -125,5 +118,11 @@
125
118
  "custom-editor",
126
119
  "ai-tools"
127
120
  ],
128
- "license": "MIT"
129
- }
121
+ "license": "MIT",
122
+ "scripts": {
123
+ "build": "tsc",
124
+ "build:clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('.tsbuildinfo',{force:true})\" && tsc",
125
+ "dev": "tsc --watch",
126
+ "typecheck": "tsc --noEmit"
127
+ }
128
+ }