@github/copilot-sdk-darwin-arm64 1.0.15-unstable.35663726336.gcb2a8cc → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/copilot-sdk/cliVersion.d.ts +1 -1
  2. package/copilot-sdk/client.d.ts +3 -0
  3. package/copilot-sdk/docs/extensions.md +1 -1
  4. package/copilot-sdk/docs/workflows.md +255 -0
  5. package/copilot-sdk/extension.d.ts +6 -6
  6. package/copilot-sdk/extension.js +1631 -415
  7. package/copilot-sdk/generated/rpc.d.ts +11905 -7399
  8. package/copilot-sdk/generated/session-events.d.ts +965 -143
  9. package/copilot-sdk/index.d.ts +3 -3
  10. package/copilot-sdk/index.js +1627 -411
  11. package/copilot-sdk/installationConfirmation.d.ts +19 -0
  12. package/copilot-sdk/schema.d.ts +4 -0
  13. package/copilot-sdk/session.d.ts +20 -19
  14. package/copilot-sdk/types.d.ts +66 -69
  15. package/copilot-sdk/workflow.d.ts +367 -0
  16. package/package.json +1 -1
  17. package/plugins/computer-use/Copilot Computer Use.app/Contents/CodeResources +0 -0
  18. package/plugins/computer-use/Copilot Computer Use.app/Contents/Info.plist +2 -2
  19. package/plugins/computer-use/Copilot Computer Use.app/Contents/MacOS/Copilot Computer Use +0 -0
  20. package/plugins/computer-use/Copilot Computer Use.app/Contents/Resources/Assets.car +0 -0
  21. package/plugins/computer-use/Copilot Computer Use.app/Contents/Resources/icon.icns +0 -0
  22. package/plugins/computer-use/Copilot Computer Use.app/Contents/_CodeSignature/CodeResources +4 -4
  23. package/plugins/computer-use/computer-use-mcp +0 -0
  24. package/plugins/computer-use/{.mcp.json → mcp.json} +2 -1
  25. package/plugins/computer-use/plugin.json +6 -0
  26. package/prebuilds/darwin-arm64/copilot-runtime +0 -0
  27. package/prebuilds/darwin-arm64/runtime.node +2 -2
  28. package/preloads/extension_bootstrap.mjs +3 -4
  29. package/ripgrep/bin/darwin-arm64/rg +0 -0
  30. package/schemas/api.schema.json +7448 -3952
  31. package/schemas/session-events.schema.json +1129 -820
  32. package/tgrep/bin/darwin-arm64/tgrep +0 -0
  33. package/copilot-sdk/docs/factories.md +0 -296
  34. package/copilot-sdk/docs/factory-patterns.md +0 -194
  35. package/copilot-sdk/factory.d.ts +0 -327
  36. package/plugins/computer-use/.plugin/plugin.json +0 -6
  37. package/sdk/index.js +0 -1465
@@ -0,0 +1,367 @@
1
+ import type { WorkflowGetRunProgressRequest, WorkflowListRunsRequest, WorkflowListRunsResult, WorkflowProgressPage, WorkflowRunDetail, WorkflowRunResult, WorkflowRunStatus, WorkflowRunSummary } from "./generated/rpc.js";
2
+ import type { ContextTier } from "./generated/session-events.js";
3
+ import type { CopilotSession } from "./session.js";
4
+ export type { WorkflowRunResult };
5
+ /** A value that can be represented losslessly on the SDK JSON wire. */
6
+ export type JsonValue = null | boolean | number | string | JsonValue[] | {
7
+ [key: string]: JsonValue;
8
+ };
9
+ export type { WorkflowAgentSummary, WorkflowPhaseStatus, WorkflowPhaseObservation, WorkflowProgressLine, WorkflowProgressPage, WorkflowRunDetail, WorkflowRunStatus, WorkflowRunSummary, } from "./generated/rpc.js";
10
+ /**
11
+ * Options for paging durable workflow runs.
12
+ *
13
+ * @experimental Part of the experimental Dynamic Workflows surface and may
14
+ * change or be removed in future SDK or CLI releases.
15
+ */
16
+ export type WorkflowListRunsOptions = WorkflowListRunsRequest;
17
+ /**
18
+ * A page of durable workflow runs and its paging metadata.
19
+ *
20
+ * @experimental Part of the experimental Dynamic Workflows surface and may
21
+ * change or be removed in future SDK or CLI releases.
22
+ */
23
+ export type WorkflowRunsPage = WorkflowListRunsResult;
24
+ /**
25
+ * Whether a workflow run status is terminal.
26
+ *
27
+ * @experimental Part of the experimental Dynamic Workflows surface and may
28
+ * change or be removed in future SDK or CLI releases.
29
+ */
30
+ export declare function isWorkflowRunTerminal(status: WorkflowRunStatus): boolean;
31
+ declare const workflowHandleBrand: unique symbol;
32
+ /**
33
+ * Conservative JSON shape language accepted by the Dynamic Workflows surface, for
34
+ * both structured workflow agent output and a workflow's declared `argsSchema`.
35
+ *
36
+ * This is a best-effort structural guard — used to decide whether a subagent's
37
+ * structured output should be accepted or retried, and whether a caller's
38
+ * workflow `args` match the declared shape — **not** a full JSON Schema
39
+ * validator. Only these keywords are honored: `type`, `required`, `enum`,
40
+ * `const`, recursive `properties`/`items`, and `anyOf`/`oneOf`/`allOf`. A `type`
41
+ * is one of `null`, `boolean`, `integer`, `number`, `string`, `array`, or
42
+ * `object`, or a non-empty array of those (for example `["object", "null"]`).
43
+ *
44
+ * Everything else is **ignored, not enforced**. In particular, string
45
+ * constraints (`pattern`, `minLength`, `maxLength`, `format`), numeric ranges
46
+ * (`minimum`, `maximum`), and `additionalProperties` do not reject
47
+ * non-conforming output. Boolean schemas are outside this accepted shape.
48
+ * `oneOf` is treated like `anyOf` (at least one branch must match) rather than
49
+ * strict exactly-one. Author schemas within this subset; do not rely on
50
+ * unsupported constraints for correctness.
51
+ *
52
+ * @experimental Part of the experimental Dynamic Workflows surface and may
53
+ * change or be removed in future SDK or CLI releases.
54
+ */
55
+ export type WorkflowJsonSchema = {
56
+ [key: string]: JsonValue;
57
+ };
58
+ /**
59
+ * Static resource ceilings declared by a workflow before it runs.
60
+ *
61
+ * @experimental Part of the experimental Dynamic Workflows surface and may
62
+ * change or be removed in future SDK or CLI releases.
63
+ */
64
+ export interface WorkflowLimits {
65
+ /** Maximum number of workflow subagents that may run concurrently. Must be positive when present. */
66
+ maxConcurrentSubagents?: number;
67
+ /** Maximum total number of workflow subagents that may be spawned. Must be positive when present. */
68
+ maxTotalSubagents?: number;
69
+ /** Maximum AI credits consumed by workflow subagents and descendants. This post-paid ceiling is soft. */
70
+ maxAiCredits?: number;
71
+ /**
72
+ * Maximum accumulated active-execution time, in seconds. Active execution includes the entire extension body,
73
+ * subprocess waits, queued-agent waits, and sleeps. The limit is armed from the remaining headroom when a run
74
+ * resumes; time between attempts is not counted. Must be finite and positive when present.
75
+ */
76
+ timeoutSeconds?: number;
77
+ }
78
+ /**
79
+ * Registration metadata for an extension-authored workflow.
80
+ *
81
+ * @experimental Part of the experimental Dynamic Workflows surface and may
82
+ * change or be removed in future SDK or CLI releases.
83
+ */
84
+ export interface WorkflowMeta {
85
+ /** Stable workflow name used for invocation. */
86
+ name: string;
87
+ /** Human-readable workflow description. */
88
+ description: string;
89
+ /** Display metadata for the progress phases the workflow may report. */
90
+ phases: Array<{
91
+ title: string;
92
+ detail?: string;
93
+ }>;
94
+ /**
95
+ * Optional declared shape of the arguments this workflow expects as `ctx.args`.
96
+ *
97
+ * The runtime records and validates this schema when the workflow contribution
98
+ * is registered. Workflow bodies should still validate any semantic constraints
99
+ * they depend on because the public `session.workflow.run(...)` API forwards
100
+ * arguments directly.
101
+ */
102
+ argsSchema?: WorkflowJsonSchema;
103
+ /** Optional resource ceilings presented before execution. */
104
+ limits?: WorkflowLimits;
105
+ }
106
+ /**
107
+ * Options for one workflow-scoped subagent call.
108
+ *
109
+ * @experimental Part of the experimental Dynamic Workflows surface and may
110
+ * change or be removed in future SDK or CLI releases.
111
+ */
112
+ export interface WorkflowAgentOptions {
113
+ label?: string;
114
+ schema?: WorkflowJsonSchema;
115
+ model?: string;
116
+ reasoningEffort?: string;
117
+ contextTier?: ContextTier;
118
+ agent?: string;
119
+ }
120
+ export declare const WORKFLOW_AGENT_OPTION_KEYS: readonly ["label", "schema", "model", "reasoningEffort", "contextTier", "agent"];
121
+ /**
122
+ * Options for a durable workflow step.
123
+ *
124
+ * @experimental Part of the experimental Dynamic Workflows surface and may
125
+ * change or be removed in future SDK or CLI releases.
126
+ */
127
+ export interface WorkflowStepOptions {
128
+ /** Skip the journal and always invoke the producer. */
129
+ volatile?: boolean;
130
+ }
131
+ /**
132
+ * Per-invocation workflow resource ceiling overrides.
133
+ *
134
+ * An omitted field preserves the existing/default ceiling, a number replaces
135
+ * it, and `null` explicitly makes that dimension unlimited.
136
+ *
137
+ * @experimental Part of the experimental Dynamic Workflows surface and may
138
+ * change or be removed in future SDK or CLI releases.
139
+ */
140
+ export interface WorkflowLimitOverrides {
141
+ maxConcurrentSubagents?: number | null;
142
+ maxTotalSubagents?: number | null;
143
+ maxAiCredits?: number | null;
144
+ timeoutSeconds?: number | null;
145
+ }
146
+ /**
147
+ * One stage in a per-item workflow pipeline.
148
+ *
149
+ * @experimental Part of the experimental Dynamic Workflows surface and may
150
+ * change or be removed in future SDK or CLI releases.
151
+ */
152
+ export type WorkflowPipelineStage<TInput = unknown, TResult = unknown> = (previous: TInput, item: unknown, index: number) => Promise<TResult> | TResult;
153
+ /**
154
+ * Context passed to an extension-authored workflow body.
155
+ *
156
+ * @experimental Part of the experimental Dynamic Workflows surface and may
157
+ * change or be removed in future SDK or CLI releases.
158
+ */
159
+ export interface WorkflowContext<TArgs extends JsonValue = JsonValue> {
160
+ /** Stable identifier for the current workflow run. */
161
+ readonly runId: string;
162
+ /** Spawn and await one workflow-scoped subagent. */
163
+ agent(prompt: string, options?: WorkflowAgentOptions): Promise<unknown>;
164
+ /** Memoize an arbitrary producer under a stable author-supplied key. */
165
+ step(key: string, producer: () => Promise<JsonValue> | JsonValue, options?: WorkflowStepOptions): Promise<JsonValue>;
166
+ /**
167
+ * Pause this run at a durable, one-shot checkpoint.
168
+ *
169
+ * The first attempt to reach a key pauses and aborts cooperatively. A
170
+ * resumed attempt returns from the same key and continues.
171
+ */
172
+ pause(key: string): Promise<void>;
173
+ /**
174
+ * Run thunks concurrently and await all of them.
175
+ *
176
+ * A thunk that throws becomes `null` in the result array, so one failed
177
+ * item does not lose the rest. Cancellation and hard runtime failures
178
+ * (`ResponseError`, `ConnectionError`) are the exception: those propagate
179
+ * and reject the whole call, because they mean the run itself is in
180
+ * trouble rather than one item having failed.
181
+ */
182
+ parallel<TResult>(thunks: Array<() => Promise<TResult> | TResult>): Promise<Array<TResult | null>>;
183
+ /**
184
+ * Run each item through every stage without barriers between stages.
185
+ *
186
+ * A stage that throws drops that item to `null` and skips its remaining
187
+ * stages. As with {@link WorkflowContext.parallel}, cancellation and hard
188
+ * runtime failures propagate instead of being recorded per item.
189
+ */
190
+ pipeline(items: unknown[], ...stages: WorkflowPipelineStage[]): Promise<unknown[]>;
191
+ /** Start a named workflow progress phase. */
192
+ phase(title: string): void;
193
+ /** Emit a workflow progress line. */
194
+ log(message: string): void;
195
+ /** Reject because nested workflows are not supported. */
196
+ workflow(name: string, args?: JsonValue): Promise<JsonValue | void>;
197
+ /** Caller-supplied input, forwarded verbatim. */
198
+ args: TArgs;
199
+ /**
200
+ * The session instance returned by `joinSession`. It refuses calls that
201
+ * start, resume, or pause a workflow run.
202
+ */
203
+ session: CopilotSession;
204
+ /** Cooperative cancellation signal for the current workflow run. */
205
+ signal: AbortSignal;
206
+ }
207
+ /**
208
+ * Definition accepted by {@link defineWorkflow}.
209
+ *
210
+ * @experimental Part of the experimental Dynamic Workflows surface and may
211
+ * change or be removed in future SDK or CLI releases.
212
+ */
213
+ export interface WorkflowDefinition<TArgs extends JsonValue = JsonValue, TResult extends JsonValue | void = JsonValue | void> {
214
+ meta: WorkflowMeta;
215
+ run(context: WorkflowContext<TArgs>): Promise<TResult>;
216
+ }
217
+ /**
218
+ * A deeply immutable view of a value.
219
+ *
220
+ * `defineWorkflow` deep-freezes the metadata it stores, so the handle's view of
221
+ * it has to be readonly all the way down or `handle.meta.name = "..."` and
222
+ * `handle.meta.phases.push(...)` would compile and then throw at runtime.
223
+ */
224
+ type DeepReadonly<T> = T extends (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
225
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
226
+ } : T;
227
+ /**
228
+ * Opaque reusable reference to a defined workflow.
229
+ *
230
+ * @experimental Part of the experimental Dynamic Workflows surface and may
231
+ * change or be removed in future SDK or CLI releases.
232
+ */
233
+ export interface WorkflowHandle<TArgs extends JsonValue = JsonValue, TResult extends JsonValue | void = JsonValue | void> {
234
+ readonly meta: DeepReadonly<WorkflowMeta>;
235
+ readonly [workflowHandleBrand]: {
236
+ readonly args: TArgs;
237
+ readonly result: TResult;
238
+ };
239
+ }
240
+ /**
241
+ * Options for invoking a workflow.
242
+ *
243
+ * @experimental Part of the experimental Dynamic Workflows surface and may
244
+ * change or be removed in future SDK or CLI releases.
245
+ */
246
+ export interface WorkflowRunOptions<TArgs extends JsonValue = JsonValue> {
247
+ /** Input surfaced as `context.args`. */
248
+ args?: TArgs;
249
+ /** Optional per-invocation resource ceiling overrides. */
250
+ limits?: WorkflowLimitOverrides;
251
+ /** Whether to notify the originating session when the workflow completes. */
252
+ notifyOnComplete?: boolean;
253
+ /** Whether to emit workflow phase names to the session transcript. */
254
+ logPhaseNames?: boolean;
255
+ }
256
+ /**
257
+ * Options for resuming a workflow run by ID.
258
+ *
259
+ * @experimental Part of the experimental Dynamic Workflows surface and may
260
+ * change or be removed in future SDK or CLI releases.
261
+ */
262
+ export interface WorkflowResumeOptions {
263
+ /** Optional per-invocation resource ceiling overrides. */
264
+ limits?: WorkflowLimitOverrides;
265
+ /** Whether to notify the originating session when the workflow completes. */
266
+ notifyOnComplete?: boolean;
267
+ /** Whether to emit workflow phase names to the session transcript. */
268
+ logPhaseNames?: boolean;
269
+ }
270
+ /**
271
+ * Machine-readable pre-execution workflow resume failure.
272
+ *
273
+ * @experimental Part of the experimental Dynamic Workflows surface and may
274
+ * change or be removed in future SDK or CLI releases.
275
+ */
276
+ export type WorkflowResumeErrorCode = "not_found" | "non_resumable" | "workflow_run_not_resumable" | "already_active" | "workflow_already_running" | "workflow_limits_invalid" | "workflow_session_disposed" | "workflow_storage_unavailable" | "workflow_storage_corrupt";
277
+ /**
278
+ * Friendly workflow API exposed on a session.
279
+ *
280
+ * @experimental Part of the experimental Dynamic Workflows surface and may
281
+ * change or be removed in future SDK or CLI releases.
282
+ */
283
+ export interface SessionWorkflowApi {
284
+ /**
285
+ * Run a registered workflow and resolve with its run envelope.
286
+ *
287
+ * The envelope is returned for every outcome, including `error`, `halted`,
288
+ * `paused`, and `cancelled` — inspect `status` and read `result` only when
289
+ * the run completed. `paused` settles the current attempt, but the same
290
+ * durable run can later resume under its existing run ID. SDK-initiated
291
+ * runs do not request permission, so they have no declined outcome.
292
+ * Failures that occur before a run exists (such as an unknown workflow or
293
+ * attempting to start a run while the session is at its active top-level
294
+ * run limit) still reject.
295
+ */
296
+ run(name: string, options?: WorkflowRunOptions): Promise<WorkflowRunResult>;
297
+ run<TArgs extends JsonValue>(workflow: WorkflowHandle<TArgs, JsonValue | void>, options?: WorkflowRunOptions<TArgs>): Promise<WorkflowRunResult>;
298
+ /**
299
+ * Resume a run from its persisted workflow name, arguments, journal, and accounting.
300
+ *
301
+ * Resolves with the run envelope like {@link SessionWorkflowApi.run}.
302
+ * SDK-initiated resumes do not request permission. A pre-execution failure
303
+ * with a documented resume code rejects with {@link WorkflowResumeError}.
304
+ */
305
+ resume(runId: string, options?: WorkflowResumeOptions): Promise<WorkflowRunResult>;
306
+ /** Read the latest durable envelope for a workflow run. */
307
+ getRun(runId: string): Promise<WorkflowRunResult>;
308
+ /**
309
+ * Wait for the current attempt to settle and resolve with its envelope.
310
+ *
311
+ * Resolves as soon as the run reaches `completed`, `error`, `halted`,
312
+ * `paused`, or `cancelled`, and resolves immediately when the current
313
+ * attempt has already settled. A `paused` envelope is an attempt-level
314
+ * snapshot: resuming the same durable run can later change the envelope
315
+ * returned by {@link SessionWorkflowApi.getRun}.
316
+ *
317
+ * This watches the runtime's `workflow.run_updated` event and
318
+ * periodically re-reads the durable envelope so a missed event cannot
319
+ * leave the wait hanging. Pass a `signal` to stop waiting; aborting rejects
320
+ * and has no effect on the run itself, which keeps executing. Use
321
+ * {@link SessionWorkflowApi.cancel} to actually stop it.
322
+ */
323
+ waitForRun(runId: string, options?: {
324
+ signal?: AbortSignal;
325
+ }): Promise<WorkflowRunResult>;
326
+ /**
327
+ * List the newest default page of this session's durable workflow runs.
328
+ *
329
+ * This backwards-compatible overload returns only the runs array. Pass
330
+ * paging options to receive the full page, including its cursors and
331
+ * truncation metadata.
332
+ */
333
+ listRuns(): Promise<WorkflowRunSummary[]>;
334
+ /**
335
+ * Page this session's durable workflow runs.
336
+ *
337
+ * `afterSeq` and `beforeSeq` are exclusive cursors. The result includes
338
+ * `oldestSeq`, `newestSeq`, `hasMoreNewer`, and `omittedOlder` so callers
339
+ * can continue paging without using the raw RPC client.
340
+ */
341
+ listRuns(options: WorkflowListRunsOptions): Promise<WorkflowRunsPage>;
342
+ /** Read durable phases, direct agents, and the latest progress tail for a run. */
343
+ getRunDetail(runId: string): Promise<WorkflowRunDetail>;
344
+ /** Page durable progress forward, backward, or from the latest tail. */
345
+ getRunProgress(runId: string, options?: Omit<WorkflowGetRunProgressRequest, "runId">): Promise<WorkflowProgressPage>;
346
+ /** Pause a running workflow attempt and return its `paused` envelope. */
347
+ pause(runId: string): Promise<WorkflowRunResult>;
348
+ /** Cancel a workflow run and return its terminal envelope. */
349
+ cancel(runId: string): Promise<WorkflowRunResult>;
350
+ }
351
+ /**
352
+ * Error thrown when a workflow cannot be resumed before execution begins.
353
+ *
354
+ * @experimental Part of the experimental Dynamic Workflows surface and may
355
+ * change or be removed in future SDK or CLI releases.
356
+ */
357
+ export declare class WorkflowResumeError extends Error {
358
+ readonly code: WorkflowResumeErrorCode;
359
+ constructor(code: WorkflowResumeErrorCode, message: string);
360
+ }
361
+ /**
362
+ * Defines an extension-authored workflow and returns an opaque registration handle.
363
+ *
364
+ * @experimental Part of the experimental Dynamic Workflows surface and may
365
+ * change or be removed in future SDK or CLI releases.
366
+ */
367
+ export declare function defineWorkflow<TArgs extends JsonValue = JsonValue, TResult extends JsonValue | void = JsonValue | void>(definition: WorkflowDefinition<TArgs, TResult>): WorkflowHandle<TArgs, TResult>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@github/copilot-sdk-darwin-arm64",
3
- "version": "1.0.15-unstable.35663726336.gcb2a8cc",
3
+ "version": "1.0.15",
4
4
  "description": "Platform runtime for @github/copilot-sdk (darwin-arm64)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,9 +21,9 @@
21
21
  <key>CFBundlePackageType</key>
22
22
  <string>APPL</string>
23
23
  <key>CFBundleShortVersionString</key>
24
- <string>0.1.91</string>
24
+ <string>0.1.92</string>
25
25
  <key>CFBundleVersion</key>
26
- <string>0.1.91</string>
26
+ <string>0.1.92</string>
27
27
  <key>LSBackgroundOnly</key>
28
28
  <false/>
29
29
  <key>LSUIElement</key>
@@ -6,11 +6,11 @@
6
6
  <dict>
7
7
  <key>Resources/Assets.car</key>
8
8
  <data>
9
- o4QkdrpvdYeBYRWAMHNXXMT1K3s=
9
+ HxH0dqfBOQFSTGeJLBJnmhQhYy8=
10
10
  </data>
11
11
  <key>Resources/icon.icns</key>
12
12
  <data>
13
- NstRjUPESmr4+qhVyDQIFFWObNk=
13
+ ALCaCfM7nwiqRqw/8IIuqOCRKzQ=
14
14
  </data>
15
15
  </dict>
16
16
  <key>files2</key>
@@ -19,14 +19,14 @@
19
19
  <dict>
20
20
  <key>hash2</key>
21
21
  <data>
22
- GflueoBB0o1N7PO86+ZXhXblt2/I0euXz6XfsyCw04M=
22
+ zlwPEz/a48JO1+k6OfUdXhMwJcrUTByJt3VedafyhLA=
23
23
  </data>
24
24
  </dict>
25
25
  <key>Resources/icon.icns</key>
26
26
  <dict>
27
27
  <key>hash2</key>
28
28
  <data>
29
- lTkITHv/o2FiZRwwTYZA13NPmxzRzz4PCi0UN3I5sbs=
29
+ RNeHuRWSkexdhi0le10ckXjCJk0aGrp8Idda6MHjYTo=
30
30
  </data>
31
31
  </dict>
32
32
  </dict>
@@ -1,8 +1,9 @@
1
1
  {
2
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
2
3
  "mcpServers": {
3
4
  "computer-use": {
4
5
  "args": [],
5
- "command": "${PLUGIN_ROOT}/computer-use-mcp",
6
+ "command": "./computer-use-mcp",
6
7
  "cwd": "${PLUGIN_ROOT}",
7
8
  "type": "stdio"
8
9
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
+ "description": "Computer Use is currently in preview.",
4
+ "name": "computer-use",
5
+ "version": "0.1.92"
6
+ }
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/prebuilds/darwin-arm64/runtime.node
3
- size: 74623152 bytes
4
- sha256: b173602026b22de10d98b00e73889f408d604b9d6bd4ea816be5eac8739d3a19
3
+ size: 78478288 bytes
4
+ sha256: 19a6664b9849b07081cb53adfb3b5c6184304d088decf64653cb3b89da9fe57d
@@ -11,9 +11,9 @@ import { resolve as resolvePath } from "node:path";
11
11
  import { pathToFileURL } from "node:url";
12
12
 
13
13
  // The previous child_process.fork host supplied an IPC channel, which caused
14
- // Node to terminate the extension automatically if its parent disappeared.
15
- // Rust's stdio-only spawn has no equivalent channel, so preserve that liveness
16
- // contract explicitly to avoid orphaning extensions after a forced CLI exit.
14
+ // Node to remain alive for the extension's lifetime and terminate automatically
15
+ // if its parent disappeared. Rust's stdio-only spawn has no equivalent channel,
16
+ // so this referenced watchdog preserves both parts of that lifecycle contract.
17
17
  const parentPid = Number(process.env.COPILOT_EXTENSION_PARENT_PID);
18
18
  if (!Number.isSafeInteger(parentPid) || parentPid <= 0 || process.ppid !== parentPid) {
19
19
  process.exit(0);
@@ -28,7 +28,6 @@ const parentWatch = setInterval(() => {
28
28
  process.exit(0);
29
29
  }
30
30
  }, 1000);
31
- parentWatch.unref();
32
31
 
33
32
  // Register the ESM SDK resolver hook before loading the extension
34
33
  Module.register("./extension_sdk_resolver.mjs", import.meta.url);
Binary file