@github/copilot-sdk 1.0.22-preview.0 → 1.0.22-preview.1

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
@@ -381,6 +381,7 @@ Create a new conversation session.
381
381
  - `onPermissionRequest?: PermissionHandler` - Optional handler called before each tool execution to approve or deny it. When omitted, permission requests are emitted as events and left pending for manual resolution. `approveAll` approves requests when managed settings are disabled and throws when `enableManagedSettings` is true. Custom handlers can inspect `managedApprovalRequired` for human-facing confirmation logic. See [Permission Handling](#permission-handling) section.
382
382
  - `onUserInputRequest?: UserInputHandler` - Handler for legacy question-and-answer requests from the agent. Enables the legacy `ask_user` tool. See [User Input Requests](#user-input-requests) section.
383
383
  - `askUserVariant?: "legacy" | "elicitation"` - Selects the model-facing `ask_user` tool shape when creating or cold-resuming a session. Defaults to `"legacy"`; use `"elicitation"` with `onElicitationRequest`.
384
+ - `interactiveUser?: boolean` - Declares that a person types this session's messages, as in an editor chat panel. Enables the runtime's user-message analysis telemetry for user-authored messages; automated messages stay excluded. Defaults to `false`. Ignored for cloud sessions. Re-supply it when cold-resuming a session; it is ignored when resuming a session that is already active.
384
385
  - `onElicitationRequest?: ElicitationHandler` - Handler for elicitation requests dispatched by the server. Enables this client to present form-based UI dialogs on behalf of the agent or other session participants. See [Elicitation Requests](#elicitation-requests) section.
385
386
  - `hooks?: SessionHooks` - Hook handlers for session lifecycle events. See [Session Hooks](#session-hooks) section.
386
387
  - `skillProvider?: SkillProvider` - **Experimental.** Serves skills from host storage instead of skill directories. Not persisted; pass it again on resume. See [Skill providers](#skill-providers-experimental).
@@ -22,7 +22,7 @@ __export(cliVersion_exports, {
22
22
  COPILOT_CLI_VERSION: () => COPILOT_CLI_VERSION
23
23
  });
24
24
  module.exports = __toCommonJS(cliVersion_exports);
25
- const COPILOT_CLI_VERSION = "1.0.98-0";
25
+ const COPILOT_CLI_VERSION = "1.0.98-1";
26
26
  const COPILOT_CLI_USE_NPM_PACKAGE = false;
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
@@ -1395,6 +1395,7 @@ class CopilotClient {
1395
1395
  expAssignments: config.expAssignments,
1396
1396
  enableManagedSettings: config.enableManagedSettings,
1397
1397
  enforceManagedModelDefaults: config.enforceManagedModelDefaults,
1398
+ interactiveUser: config.interactiveUser,
1398
1399
  managedSettings: config.managedSettings
1399
1400
  });
1400
1401
  const {
@@ -1668,6 +1669,7 @@ class CopilotClient {
1668
1669
  expAssignments: config.expAssignments,
1669
1670
  enableManagedSettings: config.enableManagedSettings,
1670
1671
  enforceManagedModelDefaults: config.enforceManagedModelDefaults,
1672
+ interactiveUser: config.interactiveUser,
1671
1673
  managedSettings: config.managedSettings,
1672
1674
  ...extensionOptions?.requestedEnvironmentVariables ? {
1673
1675
  requestedEnvironmentVariables: extensionOptions.requestedEnvironmentVariables
@@ -515,6 +515,14 @@ function createServerRpc(connection) {
515
515
  * @returns Skill installation management result with the honoured contract, or a typed refusal.
516
516
  */
517
517
  planInstall: async (params) => connection.sendRequest("skills.planInstall", params),
518
+ /**
519
+ * Plans installation of the Skill pinned by an Agent Finder materialisation reference without writing files. The runtime retrieves the descriptor only from its fixed Agent Finder authority and applies the same verification as skills.planInstall; the review shows only verified data. Apply the returned plan with skills.applyInstall.
520
+ *
521
+ * @param params Side-effect-free planning of one Skill from a materialisation reference rather than a search candidate.
522
+ *
523
+ * @returns Skill installation management result with the honoured contract, or a typed refusal.
524
+ */
525
+ planInstallFromReference: async (params) => connection.sendRequest("skills.planInstallFromReference", params),
518
526
  /**
519
527
  * Consumes one verified Skill installation plan, requests explicit human consent through installations.confirm on the original connection, then revalidates and installs the Skill disabled.
520
528
  *
@@ -1,2 +1,2 @@
1
- export declare const COPILOT_CLI_VERSION = "1.0.98-0";
1
+ export declare const COPILOT_CLI_VERSION = "1.0.98-1";
2
2
  export declare const COPILOT_CLI_USE_NPM_PACKAGE = false;
@@ -1,4 +1,4 @@
1
- const COPILOT_CLI_VERSION = "1.0.98-0";
1
+ const COPILOT_CLI_VERSION = "1.0.98-1";
2
2
  const COPILOT_CLI_USE_NPM_PACKAGE = false;
3
3
  export {
4
4
  COPILOT_CLI_USE_NPM_PACKAGE,
package/dist/client.js CHANGED
@@ -1375,6 +1375,7 @@ class CopilotClient {
1375
1375
  expAssignments: config.expAssignments,
1376
1376
  enableManagedSettings: config.enableManagedSettings,
1377
1377
  enforceManagedModelDefaults: config.enforceManagedModelDefaults,
1378
+ interactiveUser: config.interactiveUser,
1378
1379
  managedSettings: config.managedSettings
1379
1380
  });
1380
1381
  const {
@@ -1648,6 +1649,7 @@ class CopilotClient {
1648
1649
  expAssignments: config.expAssignments,
1649
1650
  enableManagedSettings: config.enableManagedSettings,
1650
1651
  enforceManagedModelDefaults: config.enforceManagedModelDefaults,
1652
+ interactiveUser: config.interactiveUser,
1651
1653
  managedSettings: config.managedSettings,
1652
1654
  ...extensionOptions?.requestedEnvironmentVariables ? {
1653
1655
  requestedEnvironmentVariables: extensionOptions.requestedEnvironmentVariables
@@ -963,7 +963,9 @@ export type CatalogCapability =
963
963
  /** Understands verified Agent Finder Skill install, uninstall, recovery and installation-scoped enablement APIs. Advertised only by runtimes with the Skill installation engine linked; acquisition may still be refused as feature-disabled per selected session. */
964
964
  | "skill-confirmed-installation"
965
965
  /** Understands `installability` and the reviewable `installPlan` on Agent Plugin candidates. Requires agent-plugin-discovery; without it, plugin candidates are unchanged. A plugin is installable only with complete, verified catalogue install data, and may still be reported as feature-disabled per selected session. */
966
- | "agent-plugin-confirmed-installation";
966
+ | "agent-plugin-confirmed-installation"
967
+ /** Extends skill-confirmed-installation to planning from an Agent Finder materialisation reference through skills.planInstallFromReference, and to its distinct reference failure reasons. Requires skill-confirmed-installation. Advertised only by runtimes with the Skill installation engine linked. */
968
+ | "skill-reference-installation";
967
969
  /**
968
970
  * Bounded extensible wire-feature identifier. Known values are described by `CatalogCapability`; newer callers may send future identifiers so an older runtime can return a typed negotiation refusal instead of failing schema validation. Capability negotiation establishes contract understanding, while each operation's result separately reports runtime availability.
969
971
  *
@@ -5107,7 +5109,17 @@ export type SkillInstallationFailureReason =
5107
5109
  /** Installed Skill files no longer match ownership evidence. */
5108
5110
  | "configuration-modified"
5109
5111
  /** A storage operation failed; inspect durable state before retrying. */
5110
- | "write-failed";
5112
+ | "write-failed"
5113
+ /** The materialisation reference is malformed or uses an unsupported schema version. Returned only to callers that require skill-reference-installation. */
5114
+ | "invalid-reference"
5115
+ /** Agent Finder has no materialisation for the referenced resource revision (HTTP 404). Returned only to callers that require skill-reference-installation. */
5116
+ | "descriptor-not-found"
5117
+ /** Agent Finder withdrew the referenced resource revision (HTTP 410). Returned only to callers that require skill-reference-installation. */
5118
+ | "descriptor-withdrawn"
5119
+ /** The retrieved descriptor does not match the referenced descriptor or bundle digest. Returned only to callers that require skill-reference-installation. */
5120
+ | "digest-mismatch"
5121
+ /** The referenced resource is not a Skill. Returned only to callers that require skill-reference-installation. */
5122
+ | "unsupported-resource";
5111
5123
  /**
5112
5124
  * Management outcome for verified Skill inventory, planning and removal.
5113
5125
  *
@@ -8778,6 +8790,39 @@ export interface CatalogMalformedCardError {
8778
8790
  */
8779
8791
  message: string;
8780
8792
  }
8793
+ /**
8794
+ * An Agent Finder materialisation reference pinning one exact resource revision.
8795
+ *
8796
+ * It carries no origin or URL: the runtime always builds the descriptor URL on its fixed Agent
8797
+ * Finder authority. It carries no display data either; every reviewed field comes from the
8798
+ * verified descriptor and Skill files.
8799
+ *
8800
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8801
+ * via the `definition` "CatalogMaterializationReference".
8802
+ */
8803
+ /** @experimental */
8804
+ export interface CatalogMaterializationReference {
8805
+ /**
8806
+ * Agent Finder resource identifier, a positive decimal integer.
8807
+ */
8808
+ resourceId: string;
8809
+ /**
8810
+ * Agent Finder materialisation revision identifier, a positive decimal integer. This is not a Git commit.
8811
+ */
8812
+ revisionId: string;
8813
+ /**
8814
+ * Materialisation descriptor schema version, currently `1.0.0`.
8815
+ */
8816
+ schemaVersion: string;
8817
+ /**
8818
+ * Expected `sha256:<lowercase hex>` digest of the canonical descriptor.
8819
+ */
8820
+ descriptorDigest: string;
8821
+ /**
8822
+ * Expected `sha256:<lowercase hex>` digest of the descriptor's bundle manifest.
8823
+ */
8824
+ bundleDigest: string;
8825
+ }
8781
8826
  /**
8782
8827
  * The protocol version and capability set the runtime actually honoured for a successful catalog operation.
8783
8828
  *
@@ -24312,6 +24357,10 @@ export interface SessionOpenOptions {
24312
24357
  */
24313
24358
  enforceManagedModelDefaults?: boolean;
24314
24359
  managedSettings?: SessionManagedSettings;
24360
+ /**
24361
+ * Declares that a human drives this session's conversation, enabling user-message analysis (sentiment, task completion criteria, and task analytics) for user-authored messages. Automated messages remain excluded. Defaults to false for SDK sessions. Applied when the session is created or loaded from storage; ignored when resuming a session that is already active, and for cloud sessions.
24362
+ */
24363
+ interactiveUser?: boolean;
24315
24364
  /**
24316
24365
  * Opt in to capturing file changes for session rewind and session diff. Capture cannot reconstruct changes made before it was enabled. On create it starts capture from the first turn. It is also honored on resume: for a session that already has tracked prior turns, tracking continues automatically even if this is omitted; passing it on resume additionally enables tracking for an eligible session that has no prior root turn yet. Resuming a session whose prior root turns were never tracked has no restorable baseline, so tracking stays disabled for it and rewind reports file change tracking as unavailable; the resume itself still succeeds, so sessions that predate tracking remain loadable. The opt-in is only rejected when the session can never track (a subagent session, or one without local session storage). It is intentionally absent from the mutable options update because enabling it after edits have occurred would create an incomplete, misleading baseline. Subagents share the parent session's capture store and are not tracked as separate rewind points: a file a subagent writes is attributed to whichever root user turn was open when the capture was staged, just before the tool body ran. A turn cannot open while a staged capture is still in flight, so a subagent tool that staged under the spawning turn stays attributed to it however late the write lands, while a capture it stages after the user's next message belongs to that later turn. Attribution decides which turn's rewind point counts and file preview include that write; it does not narrow which rewinds revert it, because a rewind restores every capture from the selected turn onward, so the earlier spawning turn reverts it as well.
24317
24366
  */
@@ -26694,6 +26743,21 @@ export interface SkillList {
26694
26743
  */
26695
26744
  skills: Skill[];
26696
26745
  }
26746
+ /**
26747
+ * Side-effect-free planning of one Skill from a materialisation reference rather than a search candidate.
26748
+ *
26749
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
26750
+ * via the `definition` "SkillPlanInstallFromReferenceRequest".
26751
+ */
26752
+ /** @experimental */
26753
+ export interface SkillPlanInstallFromReferenceRequest {
26754
+ contract: CatalogClientContract;
26755
+ reference: CatalogMaterializationReference;
26756
+ /**
26757
+ * Existing local session attached to this connection.
26758
+ */
26759
+ policySessionId: string;
26760
+ }
26697
26761
  /**
26698
26762
  * Side-effect-free planning of one verified Agent Finder Skill candidate.
26699
26763
  *
@@ -32184,6 +32248,14 @@ export declare function createServerRpc(connection: MessageConnection): {
32184
32248
  * @returns Skill installation management result with the honoured contract, or a typed refusal.
32185
32249
  */
32186
32250
  planInstall: (params: SkillPlanInstallRequest) => Promise<SkillInstallationManagementResult>;
32251
+ /**
32252
+ * Plans installation of the Skill pinned by an Agent Finder materialisation reference without writing files. The runtime retrieves the descriptor only from its fixed Agent Finder authority and applies the same verification as skills.planInstall; the review shows only verified data. Apply the returned plan with skills.applyInstall.
32253
+ *
32254
+ * @param params Side-effect-free planning of one Skill from a materialisation reference rather than a search candidate.
32255
+ *
32256
+ * @returns Skill installation management result with the honoured contract, or a typed refusal.
32257
+ */
32258
+ planInstallFromReference: (params: SkillPlanInstallFromReferenceRequest) => Promise<SkillInstallationManagementResult>;
32187
32259
  /**
32188
32260
  * Consumes one verified Skill installation plan, requests explicit human consent through installations.confirm on the original connection, then revalidates and installs the Skill disabled.
32189
32261
  *
@@ -487,6 +487,14 @@ function createServerRpc(connection) {
487
487
  * @returns Skill installation management result with the honoured contract, or a typed refusal.
488
488
  */
489
489
  planInstall: async (params) => connection.sendRequest("skills.planInstall", params),
490
+ /**
491
+ * Plans installation of the Skill pinned by an Agent Finder materialisation reference without writing files. The runtime retrieves the descriptor only from its fixed Agent Finder authority and applies the same verification as skills.planInstall; the review shows only verified data. Apply the returned plan with skills.applyInstall.
492
+ *
493
+ * @param params Side-effect-free planning of one Skill from a materialisation reference rather than a search candidate.
494
+ *
495
+ * @returns Skill installation management result with the honoured contract, or a typed refusal.
496
+ */
497
+ planInstallFromReference: async (params) => connection.sendRequest("skills.planInstallFromReference", params),
490
498
  /**
491
499
  * Consumes one verified Skill installation plan, requests explicit human consent through installations.confirm on the original connection, then revalidates and installs the Skill disabled.
492
500
  *
package/dist/types.d.ts CHANGED
@@ -1135,6 +1135,12 @@ export type AutoModeSwitchHandler = (request: AutoModeSwitchRequest, invocation:
1135
1135
  * Base interface for all hook inputs
1136
1136
  */
1137
1137
  export interface BaseHookInput {
1138
+ /** Subagent actor ID, absent for root hooks and older runtimes. */
1139
+ agentId?: string;
1140
+ /** Subagent type, when known by the runtime. */
1141
+ agentType?: string;
1142
+ /** Immediate parent actor ID, when available. */
1143
+ parentAgentId?: string;
1138
1144
  /** The runtime session ID associated with the hook. Child tool hooks use
1139
1145
  * the child session ID; sub-agent lifecycle hooks use the parent session ID,
1140
1146
  * matching `invocation.sessionId`. */
@@ -2531,6 +2537,13 @@ export interface SessionConfigBase {
2531
2537
  * conflicting session options. Overridable managed defaults remain mutable.
2532
2538
  */
2533
2539
  enforceManagedModelDefaults?: boolean;
2540
+ /**
2541
+ * Declares that a human drives this session's conversation, enabling
2542
+ * user-message analysis telemetry for user-authored messages. Automated
2543
+ * messages remain excluded. Defaults to false for SDK sessions; ignored
2544
+ * for cloud sessions and when resuming a session that is already active.
2545
+ */
2546
+ interactiveUser?: boolean;
2534
2547
  /**
2535
2548
  * Host-injected enterprise managed settings for this session.
2536
2549
  *
package/package.json CHANGED
@@ -5,8 +5,8 @@
5
5
  "url": "https://github.com/github/copilot-agent-runtime.git",
6
6
  "directory": "src/sdk/nodejs"
7
7
  },
8
- "version": "1.0.22-preview.0",
9
- "copilotCliVersion": "1.0.98-0",
8
+ "version": "1.0.22-preview.1",
9
+ "copilotCliVersion": "1.0.98-1",
10
10
  "description": "TypeScript SDK for programmatic control of GitHub Copilot CLI via JSON-RPC",
11
11
  "main": "./dist/cjs/index.js",
12
12
  "types": "./dist/index.d.ts",
@@ -103,18 +103,18 @@
103
103
  "README.md"
104
104
  ],
105
105
  "copilotRuntime": {
106
- "sourceSha": "8f6dbb8fcdc7c2f25291088a43d0755763269588",
107
- "version": "1.0.98-0",
106
+ "sourceSha": "536a1e5082059b18d4258467104a1cdb7fabd92b",
107
+ "version": "1.0.98-1",
108
108
  "visibility": "public"
109
109
  },
110
110
  "optionalDependencies": {
111
- "@github/copilot-sdk-darwin-arm64": "1.0.22-preview.0",
112
- "@github/copilot-sdk-darwin-x64": "1.0.22-preview.0",
113
- "@github/copilot-sdk-linux-arm64": "1.0.22-preview.0",
114
- "@github/copilot-sdk-linux-x64": "1.0.22-preview.0",
115
- "@github/copilot-sdk-linuxmusl-arm64": "1.0.22-preview.0",
116
- "@github/copilot-sdk-linuxmusl-x64": "1.0.22-preview.0",
117
- "@github/copilot-sdk-win32-arm64": "1.0.22-preview.0",
118
- "@github/copilot-sdk-win32-x64": "1.0.22-preview.0"
111
+ "@github/copilot-sdk-darwin-arm64": "1.0.22-preview.1",
112
+ "@github/copilot-sdk-darwin-x64": "1.0.22-preview.1",
113
+ "@github/copilot-sdk-linux-arm64": "1.0.22-preview.1",
114
+ "@github/copilot-sdk-linux-x64": "1.0.22-preview.1",
115
+ "@github/copilot-sdk-linuxmusl-arm64": "1.0.22-preview.1",
116
+ "@github/copilot-sdk-linuxmusl-x64": "1.0.22-preview.1",
117
+ "@github/copilot-sdk-win32-arm64": "1.0.22-preview.1",
118
+ "@github/copilot-sdk-win32-x64": "1.0.22-preview.1"
119
119
  }
120
120
  }