@pi-harness/plugin-api 0.1.56 → 0.1.57

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/README.md CHANGED
@@ -41,6 +41,8 @@ export default {
41
41
 
42
42
  The bare `import type {} from "@pi-harness/plugin-api"` is what applies the `Context` augmentation; without it `context.piTools` does not exist as far as TypeScript is concerned.
43
43
 
44
+ Plugin panel `visible` and `read` callbacks may accept an optional `AbortSignal`. The registry evaluates different panels concurrently, limits awaited panel work to two seconds and reuses one terminal result across overlapping browser polls. A timeout becomes an isolated panel error, so one broken extension cannot hide healthy panels or hold the control room on its connection screen. Callbacks should return control to the event loop promptly, observe the signal and release their own resources; JavaScript cannot preempt a callback that blocks the server thread synchronously.
45
+
44
46
  `examples/plugin-hello` in the repository is this plugin with its tests.
45
47
 
46
48
  ## Test a plugin against a real runtime
@@ -87,8 +87,8 @@ export interface PiPluginPanel {
87
87
  readonly title: string;
88
88
  readonly description?: string;
89
89
  readonly icon?: string;
90
- readonly visible?: () => boolean | Promise<boolean>;
91
- readonly read: () => unknown;
90
+ readonly visible?: (signal?: AbortSignal) => boolean | Promise<boolean>;
91
+ readonly read: (signal?: AbortSignal) => unknown;
92
92
  }
93
93
  export interface PiPluginPanelSnapshot {
94
94
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
package/dist/services.js CHANGED
@@ -75,8 +75,32 @@ export class PiToolRegistry {
75
75
  };
76
76
  }
77
77
  }
78
+ const pluginPanelTimeoutMs = 2_000;
79
+ function pluginPanelFields(panel) {
80
+ return {
81
+ id: panel.id,
82
+ pluginId: panel.pluginId,
83
+ title: panel.title,
84
+ ...(panel.description === undefined ? {} : { description: panel.description }),
85
+ ...(panel.icon === undefined ? {} : { icon: panel.icon }),
86
+ };
87
+ }
88
+ function pluginPanelError(panel, error) {
89
+ let message = "Unknown plugin panel error";
90
+ try {
91
+ message = error instanceof Error ? error.message : String(error);
92
+ }
93
+ catch {
94
+ // Error normalization must not let one hostile callback reject the full snapshot.
95
+ }
96
+ return { ...pluginPanelFields(panel), error: message };
97
+ }
98
+ function pluginPanelTimeoutError() {
99
+ return new Error(`Plugin UI panel timed out after ${pluginPanelTimeoutMs} ms`);
100
+ }
78
101
  export class PiPluginUiRegistry {
79
102
  #panels = new Map();
103
+ #pendingSnapshots = new Map();
80
104
  register(panel) {
81
105
  if (panel.id.trim() === "" || panel.pluginId.trim() === "" || panel.title.trim() === "")
82
106
  throw new Error("Plugin UI panel id, pluginId, and title are required");
@@ -88,38 +112,78 @@ export class PiPluginUiRegistry {
88
112
  if (!active)
89
113
  return;
90
114
  active = false;
91
- if (this.#panels.get(panel.id) === panel)
92
- this.#panels.delete(panel.id);
115
+ if (this.#panels.get(panel.id) !== panel)
116
+ return;
117
+ this.#panels.delete(panel.id);
118
+ const pending = this.#pendingSnapshots.get(panel);
119
+ if (pending !== undefined) {
120
+ this.#pendingSnapshots.delete(panel);
121
+ pending.abort(new Error("Plugin UI panel was unregistered"));
122
+ }
93
123
  };
94
124
  }
95
- async snapshot() {
96
- const snapshots = [];
97
- for (const panel of this.#panels.values()) {
125
+ #startSnapshot(panel) {
126
+ const controller = new AbortController();
127
+ const startedAt = performance.now();
128
+ let settled = false;
129
+ let settle;
130
+ const promise = new Promise((resolve) => {
131
+ settle = (snapshot) => {
132
+ if (settled)
133
+ return;
134
+ settled = true;
135
+ clearTimeout(timer);
136
+ resolve(snapshot);
137
+ };
138
+ });
139
+ const abort = (reason) => {
140
+ settle(pluginPanelError(panel, reason));
141
+ controller.abort(reason);
142
+ };
143
+ const pending = { controller, promise, abort };
144
+ this.#pendingSnapshots.set(panel, pending);
145
+ const timer = setTimeout(() => abort(pluginPanelTimeoutError()), pluginPanelTimeoutMs);
146
+ const operation = (async () => {
98
147
  try {
99
- if (panel.visible !== undefined && !(await panel.visible()))
100
- continue;
101
- const data = await panel.read();
102
- snapshots.push({
103
- id: panel.id,
104
- pluginId: panel.pluginId,
105
- title: panel.title,
106
- ...(panel.description === undefined ? {} : { description: panel.description }),
107
- ...(panel.icon === undefined ? {} : { icon: panel.icon }),
108
- data: structuredClone(data),
109
- });
148
+ if (controller.signal.aborted)
149
+ return undefined;
150
+ if (panel.visible !== undefined) {
151
+ const visible = await panel.visible(controller.signal);
152
+ if (controller.signal.aborted || !visible)
153
+ return undefined;
154
+ }
155
+ if (controller.signal.aborted)
156
+ return undefined;
157
+ const data = await panel.read(controller.signal);
158
+ if (controller.signal.aborted)
159
+ return undefined;
160
+ return { ...pluginPanelFields(panel), data: structuredClone(data) };
110
161
  }
111
162
  catch (error) {
112
- snapshots.push({
113
- id: panel.id,
114
- pluginId: panel.pluginId,
115
- title: panel.title,
116
- ...(panel.description === undefined ? {} : { description: panel.description }),
117
- ...(panel.icon === undefined ? {} : { icon: panel.icon }),
118
- error: error instanceof Error ? error.message : String(error),
119
- });
163
+ return pluginPanelError(panel, error);
120
164
  }
121
- }
122
- return snapshots;
165
+ })();
166
+ void operation.then((snapshot) => {
167
+ if (performance.now() - startedAt >= pluginPanelTimeoutMs)
168
+ abort(pluginPanelTimeoutError());
169
+ else
170
+ settle(snapshot);
171
+ if (this.#pendingSnapshots.get(panel) === pending)
172
+ this.#pendingSnapshots.delete(panel);
173
+ }, (error) => {
174
+ settle(pluginPanelError(panel, error));
175
+ if (this.#pendingSnapshots.get(panel) === pending)
176
+ this.#pendingSnapshots.delete(panel);
177
+ });
178
+ return pending;
179
+ }
180
+ async #snapshotPanel(panel) {
181
+ const pending = this.#pendingSnapshots.get(panel) ?? this.#startSnapshot(panel);
182
+ return pending.promise;
183
+ }
184
+ async snapshot() {
185
+ const snapshots = await Promise.all([...this.#panels.values()].map((panel) => this.#snapshotPanel(panel)));
186
+ return snapshots.filter((snapshot) => snapshot !== undefined);
123
187
  }
124
188
  }
125
189
  export function provideLaunchContext(context, launch) {
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/plugin-api",
3
- "version": "0.1.56",
3
+ "version": "0.1.57",
4
4
  "description": "Public contract for authoring Pi Harness plugins: Cordis context services, plugin configuration helpers, and bounded workspace file access",
5
5
  "keywords": [
6
6
  "agent",