@github/copilot-language-server 1.553.0 → 1.554.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/dist/contextWorker.js +14 -14
- package/dist/main.js +963 -963
- package/dist/node_modules/@github/copilot-sdk/dist/cjs/cliVersion.js +1 -1
- package/dist/node_modules/@github/copilot-sdk/dist/cjs/client.js +8 -1
- package/dist/node_modules/@github/copilot-sdk/dist/cjs/extension.js +2 -0
- package/dist/node_modules/@github/copilot-sdk/dist/cjs/generated/rpc.js +63 -2
- package/dist/node_modules/@github/copilot-sdk/package.json +12 -12
- package/package.json +20 -20
|
@@ -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.
|
|
25
|
+
const COPILOT_CLI_VERSION = "1.0.96";
|
|
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 = {
|
|
@@ -1315,6 +1315,7 @@ class CopilotClient {
|
|
|
1315
1315
|
isTerminal: tool.isTerminal
|
|
1316
1316
|
})),
|
|
1317
1317
|
toolSearch: config.toolSearch,
|
|
1318
|
+
imageGeneration: config.imageGeneration,
|
|
1318
1319
|
canvases: config.canvases?.map((canvas) => canvas.declaration),
|
|
1319
1320
|
requestCanvasRenderer: config.requestCanvasRenderer,
|
|
1320
1321
|
requestExtensions: config.requestExtensions,
|
|
@@ -1591,6 +1592,7 @@ class CopilotClient {
|
|
|
1591
1592
|
isTerminal: tool.isTerminal
|
|
1592
1593
|
})),
|
|
1593
1594
|
toolSearch: config.toolSearch,
|
|
1595
|
+
imageGeneration: config.imageGeneration,
|
|
1594
1596
|
canvases: config.canvases?.map((canvas) => canvas.declaration),
|
|
1595
1597
|
workflows: workflows?.map((workflow) => workflow.meta),
|
|
1596
1598
|
requestCanvasRenderer: config.requestCanvasRenderer,
|
|
@@ -2453,6 +2455,7 @@ stderr: ${stderrOutput}`
|
|
|
2453
2455
|
/** Starts the in-process FFI runtime with SDK-managed typed options. */
|
|
2454
2456
|
async startInProcessFfi() {
|
|
2455
2457
|
const explicitEntrypoint = this.resolvedEnv.COPILOT_CLI_PATH;
|
|
2458
|
+
const cliLoginSyncIntegrationId = this.resolvedEnv.GITHUB_COPILOT_INTEGRATION_ID?.trim() || void 0;
|
|
2456
2459
|
let runtimeLibrary;
|
|
2457
2460
|
if (explicitEntrypoint) {
|
|
2458
2461
|
const entrypointDirectory = (0, import_node_path.dirname)((0, import_node_path.resolve)(explicitEntrypoint));
|
|
@@ -2464,7 +2467,8 @@ stderr: ${stderrOutput}`
|
|
|
2464
2467
|
"runtime.node"
|
|
2465
2468
|
);
|
|
2466
2469
|
} else {
|
|
2467
|
-
|
|
2470
|
+
const bundledRuntimePath = await getBundledRuntimePath();
|
|
2471
|
+
runtimeLibrary = (0, import_node_path.join)((0, import_node_path.dirname)(bundledRuntimePath), "runtime.node");
|
|
2468
2472
|
}
|
|
2469
2473
|
const { FfiRuntimeHost } = await import("./ffiRuntimeHost.js");
|
|
2470
2474
|
const environment = {};
|
|
@@ -2493,6 +2497,9 @@ stderr: ${stderrOutput}`
|
|
|
2493
2497
|
if (this.options.enableRemoteSessions) {
|
|
2494
2498
|
args.push("--remote");
|
|
2495
2499
|
}
|
|
2500
|
+
if (cliLoginSyncIntegrationId) {
|
|
2501
|
+
args.push(`--cli-login-sync-integration-id=${cliLoginSyncIntegrationId}`);
|
|
2502
|
+
}
|
|
2496
2503
|
const host = FfiRuntimeHost.create(runtimeLibrary, explicitEntrypoint, environment, args);
|
|
2497
2504
|
this.ffiHost = host;
|
|
2498
2505
|
await host.start();
|
|
@@ -42,12 +42,14 @@ async function joinSession(config = {}) {
|
|
|
42
42
|
const {
|
|
43
43
|
extensionSdkPath: _stripped,
|
|
44
44
|
skillProvider: _strippedSkillProvider,
|
|
45
|
+
imageGeneration: _strippedImageGeneration,
|
|
45
46
|
workflows,
|
|
46
47
|
requestedEnvironmentVariables,
|
|
47
48
|
...rest
|
|
48
49
|
} = config;
|
|
49
50
|
void _stripped;
|
|
50
51
|
void _strippedSkillProvider;
|
|
52
|
+
void _strippedImageGeneration;
|
|
51
53
|
return client.resumeSessionForExtension(
|
|
52
54
|
sessionId,
|
|
53
55
|
{
|
|
@@ -707,6 +707,17 @@ function createServerRpc(connection) {
|
|
|
707
707
|
* @returns Effective enterprise managed settings for an account, resolved without a session.
|
|
708
708
|
*/
|
|
709
709
|
resolve: async (params) => connection.sendRequest("managedSettings.resolve", params),
|
|
710
|
+
/** @experimental */
|
|
711
|
+
permissions: {
|
|
712
|
+
/**
|
|
713
|
+
* Pure, sessionless evaluation of operations against a supplied permissionsContext. Performs no policy discovery, I/O, prompting, navigation, permission grants, or sandbox changes. Obtain the context from managedSettings.resolve or session.managedSettings.get, or reuse an in-memory context. Results preserve input order and duplicates. Consumers must block deny, obtain approval for ask, and use their normal permission flow for unmanaged. Unknown policy returns failClosed with every operation denied. This is not a substitute for user permissions or other security controls.
|
|
714
|
+
*
|
|
715
|
+
* @param params Managed policy context and ordered operations for pure, sessionless evaluation.
|
|
716
|
+
*
|
|
717
|
+
* @returns Ordered managed permission verdicts and the supplied policy's fail-closed posture.
|
|
718
|
+
*/
|
|
719
|
+
evaluate: async (params) => connection.sendRequest("managedSettings.permissions.evaluate", params)
|
|
720
|
+
},
|
|
710
721
|
/**
|
|
711
722
|
* Returns the managed-settings authoring JSON schema with descriptive `x-composition` annotations aligned with the shared settings-engine vocabulary. These annotations are not a complete runtime composition contract: model, effortLevel, and contextTier remain coupled. Use `managedSettings.compose` for the runtime's effective result. Performs no I/O.
|
|
712
723
|
*
|
|
@@ -1068,6 +1079,42 @@ function createInternalServerRpc(connection) {
|
|
|
1068
1079
|
*/
|
|
1069
1080
|
connect: async (params) => connection.sendRequest("connect", params),
|
|
1070
1081
|
/** @experimental */
|
|
1082
|
+
mcp: {
|
|
1083
|
+
/** @experimental */
|
|
1084
|
+
registry: {
|
|
1085
|
+
/**
|
|
1086
|
+
* Allocates an ID for one cancellable MCP registry search. The ID exists before the search starts, so callers can cancel before it starts. The networking stack supplies the cancellation namespace. The runtime retains at most 1,024 unused IDs. At capacity, another allocation can reclaim an unused ID. Active searches retain their IDs until they finish.
|
|
1087
|
+
*
|
|
1088
|
+
* @returns Request id naming a cancellable registry search.
|
|
1089
|
+
*/
|
|
1090
|
+
allocateRequestId: async () => connection.sendRequest("mcp.registry.allocateRequestId", {}),
|
|
1091
|
+
/**
|
|
1092
|
+
* Searches the MCP registry the supplied credential may read, resolving the registry endpoint from policy first. Hosts usually send credential-free `AuthIdentity`; a `token` identity can be resolved only when it embeds a token, while `env` and `gh-cli` identities can use a token embedded in the request first. The runtime follows registry pages, keeps the newest entry per server name, cuts the list to `limit`, and sorts an empty-query result by GitHub stars. Each server object is carried opaquely.
|
|
1093
|
+
*
|
|
1094
|
+
* @param params Registry search terms, the credential to search under, and the request id that makes the search cancellable.
|
|
1095
|
+
*
|
|
1096
|
+
* @returns Servers selected from the registry response.
|
|
1097
|
+
*/
|
|
1098
|
+
search: async (params) => connection.sendRequest("mcp.registry.search", params),
|
|
1099
|
+
/**
|
|
1100
|
+
* Abandons the registry search that uses the given request ID. It acts only on IDs from `mcp.registry.allocateRequestId`, so it never cancels another component's request. Answers `canceled: true` when it stops a running search. Answers `canceled: false` for unknown or reclaimed IDs, completed or canceled searches, and unused reservations. It releases an unused reservation, so a later search with that ID is refused.
|
|
1101
|
+
*
|
|
1102
|
+
* @param params Registry search to abandon.
|
|
1103
|
+
*
|
|
1104
|
+
* @returns Whether the cancel reached a live search.
|
|
1105
|
+
*/
|
|
1106
|
+
cancel: async (params) => connection.sendRequest("mcp.registry.cancel", params)
|
|
1107
|
+
},
|
|
1108
|
+
/**
|
|
1109
|
+
* Reports whether the gh-replaceable GitHub MCP tools may be clipped for a session, which a host feeds back as the `excludeGhReplaceableTools` build option. The tools are redundant only when the session can reach a shell *and* the host has the `gh` that would replace them, so both halves are decided here. The shell half runs the platform shell tool through the runtime's own tool-filter matcher, so entry forms like `builtin:bash` and `builtin:*` behave exactly as they do when a session builds its tool catalog. The host half probes for `gh`, and is skipped entirely when the filters already rule the shell out. Host presence alone is not enough: a session restricted to, say, `view` would otherwise lose the built-in issue-read fallback while having no shell to replace it with. The answer describes the host the runtime runs on, so it is never forwarded to a remote engine.
|
|
1110
|
+
*
|
|
1111
|
+
* @param params The session tool filters that decide whether the session still has a shell to run `gh` with.
|
|
1112
|
+
*
|
|
1113
|
+
* @returns Whether the gh-replaceable GitHub MCP tools may be clipped for the session described by the request.
|
|
1114
|
+
*/
|
|
1115
|
+
shouldExcludeGitHubTools: async (params) => connection.sendRequest("mcp.shouldExcludeGitHubTools", params)
|
|
1116
|
+
},
|
|
1117
|
+
/** @experimental */
|
|
1071
1118
|
agents: {
|
|
1072
1119
|
/**
|
|
1073
1120
|
* Lists the agents this runtime ships, by name. A consumer separating shipped agents from ones the user or a plugin authored should compare against these names rather than against `AgentInfo.source`: an authored agent may carry the `builtin` source while not being one of these, and the runtime treats the two as separate questions. `disableableNames` is the subset a user may turn off, which a client needs to decide whether to offer a toggle. `yamlBasedNames` is the subset backed by a shipped YAML definition, which a client needs before asking the runtime to load one.
|
|
@@ -1125,7 +1172,7 @@ function createInternalServerRpc(connection) {
|
|
|
1125
1172
|
*/
|
|
1126
1173
|
loadForConfigDir: async (params) => connection.sendRequest("globalState.loadForConfigDir", params),
|
|
1127
1174
|
/**
|
|
1128
|
-
* Records one top-level key in the host's machine-wide state, the counterpart to `globalState.load`. A host calls this to remember that it has shown an onboarding step, asked a one-off question, or completed a migration, so the next run can skip it. Only the named key is replaced and the rest of the document is preserved, which lets two writers record different flags without overwriting each other; passing no value removes the key instead. Only the keys a host records itself are writable: `
|
|
1175
|
+
* Records one top-level key in the host's machine-wide state, the counterpart to `globalState.load`. A host calls this to remember that it has shown an onboarding step, asked a one-off question, or completed a migration, so the next run can skip it. Only the named key is replaced and the rest of the document is preserved, which lets two writers record different flags without overwriting each other; passing no value removes the key instead. Only the keys a host records itself are writable: `appTipShown`, `askedSetupTerminals`, `autoFeedbackLastPromptedAt`, `firstLaunchAt`, `recentModelIds`, `sandboxCredentialProxyCaDeclined` and `sandboxOnboardingShown`. Every other key is refused, including `installedPlugins`, the stored credentials, `trustedFolders`, the staff flags and the signed-in accounts. Plugin enablement must use the plugin APIs, which apply repository and managed-policy checks.
|
|
1129
1176
|
*
|
|
1130
1177
|
* @param params A single top-level key to record in the host's machine-wide state. The write replaces only that key and leaves the rest of the document untouched, so two writers recording different one-off flags do not overwrite each other. The stored credential keys cannot be written through this method.
|
|
1131
1178
|
*/
|
|
@@ -1355,6 +1402,12 @@ function createSessionRpc(connection, sessionId) {
|
|
|
1355
1402
|
* @returns Managed sandbox enforcement state for a session.
|
|
1356
1403
|
*/
|
|
1357
1404
|
getEnforcementStatus: async () => connection.sendRequest("session.sandbox.getEnforcementStatus", { sessionId }),
|
|
1405
|
+
/**
|
|
1406
|
+
* Lists possible secret-bearing environment variables available to new sandboxed shells that are not already covered by credential masking. Uses local name rules and known-provider host suggestions, never returns secret values, and changes no settings or network permissions. Returns no suggestions while the session is not sandboxed.
|
|
1407
|
+
*
|
|
1408
|
+
* @returns Possible unconfigured secrets in the sandbox shell environment, sorted by variable name, with no secret values.
|
|
1409
|
+
*/
|
|
1410
|
+
getCredentialSuggestions: async () => connection.sendRequest("session.sandbox.getCredentialSuggestions", { sessionId }),
|
|
1358
1411
|
/**
|
|
1359
1412
|
* Disables sandboxing for the remainder of the current session and approves the referenced pending sandbox-bypass permission request. The request is rejected unless the exact request is still pending and the effective sandbox policy permits bypass.
|
|
1360
1413
|
*
|
|
@@ -2590,7 +2643,15 @@ function createSessionRpc(connection, sessionId) {
|
|
|
2590
2643
|
*
|
|
2591
2644
|
* @param params Optional flags controlling which side effects the reload performs.
|
|
2592
2645
|
*/
|
|
2593
|
-
reload: async (params) => connection.sendRequest("session.plugins.reload", { ...params, sessionId })
|
|
2646
|
+
reload: async (params) => connection.sendRequest("session.plugins.reload", { ...params, sessionId }),
|
|
2647
|
+
/**
|
|
2648
|
+
* Installs or updates the plugins the session's managed settings require now, without waiting for the next automatic attempt after a failure, then reloads plugins. Reports progress and failures with the same `session.info` and `session.warning` events as automatic preparation. Fails when the runtime does not prepare managed plugins for the session.
|
|
2649
|
+
*
|
|
2650
|
+
* @param params Plugins required by the session's managed settings to install or update again.
|
|
2651
|
+
*
|
|
2652
|
+
* @returns Per-plugin outcomes of retrying the plugins required by the session's managed settings.
|
|
2653
|
+
*/
|
|
2654
|
+
retryManaged: async (params) => connection.sendRequest("session.plugins.retryManaged", { ...params, sessionId })
|
|
2594
2655
|
},
|
|
2595
2656
|
/** @experimental */
|
|
2596
2657
|
provider: {
|
|
@@ -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.
|
|
9
|
-
"copilotCliVersion": "1.0.
|
|
8
|
+
"version": "1.0.20",
|
|
9
|
+
"copilotCliVersion": "1.0.96",
|
|
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",
|
|
@@ -104,18 +104,18 @@
|
|
|
104
104
|
"README.md"
|
|
105
105
|
],
|
|
106
106
|
"copilotRuntime": {
|
|
107
|
-
"sourceSha": "
|
|
108
|
-
"version": "1.0.
|
|
107
|
+
"sourceSha": "8227e3a7b5f74c8dde298fcc69dcb27a9a044a93",
|
|
108
|
+
"version": "1.0.96",
|
|
109
109
|
"visibility": "public"
|
|
110
110
|
},
|
|
111
111
|
"optionalDependencies": {
|
|
112
|
-
"@github/copilot-sdk-darwin-arm64": "1.0.
|
|
113
|
-
"@github/copilot-sdk-darwin-x64": "1.0.
|
|
114
|
-
"@github/copilot-sdk-linux-arm64": "1.0.
|
|
115
|
-
"@github/copilot-sdk-linux-x64": "1.0.
|
|
116
|
-
"@github/copilot-sdk-linuxmusl-arm64": "1.0.
|
|
117
|
-
"@github/copilot-sdk-linuxmusl-x64": "1.0.
|
|
118
|
-
"@github/copilot-sdk-win32-arm64": "1.0.
|
|
119
|
-
"@github/copilot-sdk-win32-x64": "1.0.
|
|
112
|
+
"@github/copilot-sdk-darwin-arm64": "1.0.20",
|
|
113
|
+
"@github/copilot-sdk-darwin-x64": "1.0.20",
|
|
114
|
+
"@github/copilot-sdk-linux-arm64": "1.0.20",
|
|
115
|
+
"@github/copilot-sdk-linux-x64": "1.0.20",
|
|
116
|
+
"@github/copilot-sdk-linuxmusl-arm64": "1.0.20",
|
|
117
|
+
"@github/copilot-sdk-linuxmusl-x64": "1.0.20",
|
|
118
|
+
"@github/copilot-sdk-win32-arm64": "1.0.20",
|
|
119
|
+
"@github/copilot-sdk-win32-x64": "1.0.20"
|
|
120
120
|
}
|
|
121
121
|
}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"url": "git+https://github.com/github/copilot-language-server-release.git"
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.554.0",
|
|
15
15
|
"bin": {
|
|
16
16
|
"copilot-language-server": "../dist/language-server.js"
|
|
17
17
|
},
|
|
@@ -40,25 +40,25 @@
|
|
|
40
40
|
"vscode-languageserver-protocol": "^3.17.5"
|
|
41
41
|
},
|
|
42
42
|
"optionalDependencies": {
|
|
43
|
-
"@github/copilot-language-server-win32-x64": "1.
|
|
44
|
-
"@github/copilot-language-server-win32-arm64": "1.
|
|
45
|
-
"@github/copilot-language-server-linux-x64": "1.
|
|
46
|
-
"@github/copilot-language-server-linux-arm64": "1.
|
|
47
|
-
"@github/copilot-language-server-darwin-x64": "1.
|
|
48
|
-
"@github/copilot-language-server-darwin-arm64": "1.
|
|
49
|
-
"@github/copilot-win32-x64": "1.0.
|
|
50
|
-
"@github/copilot-win32-arm64": "1.0.
|
|
51
|
-
"@github/copilot-linux-x64": "1.0.
|
|
52
|
-
"@github/copilot-linux-arm64": "1.0.
|
|
53
|
-
"@github/copilot-darwin-x64": "1.0.
|
|
54
|
-
"@github/copilot-darwin-arm64": "1.0.
|
|
55
|
-
"@github/copilot-sdk-win32-x64": "1.0.
|
|
56
|
-
"@github/copilot-sdk-win32-arm64": "1.0.
|
|
57
|
-
"@github/copilot-sdk-linux-x64": "1.0.
|
|
58
|
-
"@github/copilot-sdk-linux-arm64": "1.0.
|
|
59
|
-
"@github/copilot-sdk-darwin-x64": "1.0.
|
|
60
|
-
"@github/copilot-sdk-darwin-arm64": "1.0.
|
|
43
|
+
"@github/copilot-language-server-win32-x64": "1.554.0",
|
|
44
|
+
"@github/copilot-language-server-win32-arm64": "1.554.0",
|
|
45
|
+
"@github/copilot-language-server-linux-x64": "1.554.0",
|
|
46
|
+
"@github/copilot-language-server-linux-arm64": "1.554.0",
|
|
47
|
+
"@github/copilot-language-server-darwin-x64": "1.554.0",
|
|
48
|
+
"@github/copilot-language-server-darwin-arm64": "1.554.0",
|
|
49
|
+
"@github/copilot-win32-x64": "1.0.96",
|
|
50
|
+
"@github/copilot-win32-arm64": "1.0.96",
|
|
51
|
+
"@github/copilot-linux-x64": "1.0.96",
|
|
52
|
+
"@github/copilot-linux-arm64": "1.0.96",
|
|
53
|
+
"@github/copilot-darwin-x64": "1.0.96",
|
|
54
|
+
"@github/copilot-darwin-arm64": "1.0.96",
|
|
55
|
+
"@github/copilot-sdk-win32-x64": "1.0.20",
|
|
56
|
+
"@github/copilot-sdk-win32-arm64": "1.0.20",
|
|
57
|
+
"@github/copilot-sdk-linux-x64": "1.0.20",
|
|
58
|
+
"@github/copilot-sdk-linux-arm64": "1.0.20",
|
|
59
|
+
"@github/copilot-sdk-darwin-x64": "1.0.20",
|
|
60
|
+
"@github/copilot-sdk-darwin-arm64": "1.0.20"
|
|
61
61
|
},
|
|
62
62
|
"buildType": "prod",
|
|
63
|
-
"build": "
|
|
63
|
+
"build": "174"
|
|
64
64
|
}
|