@github/copilot-sdk 1.0.28-preview.0 → 1.0.29-preview.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/README.md +58 -13
- package/dist/cjs/cliVersion.js +1 -1
- package/dist/cjs/client.js +64 -6
- package/dist/cjs/entra.js +83 -0
- package/dist/cjs/generated/lifecycle-diagnostics.js +16 -0
- package/dist/cjs/generated/rpc.js +156 -9
- package/dist/cjs/installationConfirmation.js +1 -1
- package/dist/cjs/jsonrpcTypes.js +16 -0
- package/dist/cjs/session.js +39 -25
- package/dist/cjs/sessionFsProvider.js +28 -0
- package/dist/cliVersion.d.ts +1 -1
- package/dist/cliVersion.js +1 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.js +64 -6
- package/dist/entra.d.ts +3 -0
- package/dist/entra.js +59 -0
- package/dist/extension.d.ts +1 -1
- package/dist/generated/lifecycle-diagnostics.d.ts +220 -0
- package/dist/generated/lifecycle-diagnostics.js +0 -0
- package/dist/generated/rpc.d.ts +3697 -40
- package/dist/generated/rpc.js +156 -9
- package/dist/generated/session-events.d.ts +2329 -36
- package/dist/index.d.ts +3 -3
- package/dist/installationConfirmation.d.ts +1 -1
- package/dist/installationConfirmation.js +1 -4
- package/dist/jsonrpcTypes.d.ts +14 -0
- package/dist/jsonrpcTypes.js +0 -0
- package/dist/sdkProtocolVersion.d.ts +1 -1
- package/dist/session.js +39 -25
- package/dist/sessionFsProvider.d.ts +15 -0
- package/dist/sessionFsProvider.js +28 -0
- package/dist/types.d.ts +92 -22
- package/dist/workflow.d.ts +1 -1
- package/docs/agent-author.md +4 -4
- package/docs/extensions.md +4 -3
- package/docs/workflows.md +3 -1
- package/package.json +23 -23
package/dist/generated/rpc.js
CHANGED
|
@@ -240,7 +240,7 @@ function createServerRpc(connection) {
|
|
|
240
240
|
/**
|
|
241
241
|
* Lists Copilot models available to the authenticated user.
|
|
242
242
|
*
|
|
243
|
-
* @param params Optional opaque account selection
|
|
243
|
+
* @param params Optional opaque account selection, compatibility GitHub token, or streamer-mode masking used to list models.
|
|
244
244
|
*
|
|
245
245
|
* @returns List of Copilot models available to the resolved user, including capabilities and billing metadata.
|
|
246
246
|
*/
|
|
@@ -254,7 +254,7 @@ function createServerRpc(connection) {
|
|
|
254
254
|
/**
|
|
255
255
|
* Reports the unit of each model's published token prices: AI Credits or nano-AIU. Pair these units with models.list prices by model ID and use identical account-selection options for both calls. When options are omitted, the current account and its model providers are used.
|
|
256
256
|
*
|
|
257
|
-
* @param params Optional opaque account selection
|
|
257
|
+
* @param params Optional opaque account selection, compatibility GitHub token, or streamer-mode masking used to list models.
|
|
258
258
|
*
|
|
259
259
|
* @returns Price units for every catalog model that publishes token prices.
|
|
260
260
|
*/
|
|
@@ -921,6 +921,15 @@ function createServerRpc(connection) {
|
|
|
921
921
|
httpResponseChunk: async (params) => connection.sendRequest("llmInference.httpResponseChunk", params)
|
|
922
922
|
},
|
|
923
923
|
/** @experimental */
|
|
924
|
+
kerberosAuth: {
|
|
925
|
+
/**
|
|
926
|
+
* Registers the calling SDK client's Kerberos callback. The callback authenticates requests made for the client's sessions and, with `runtime` scope, the runtime's shared background traffic; only one connection may hold `runtime` scope. The registration ends when the connection closes.
|
|
927
|
+
*
|
|
928
|
+
* @param params Registers the calling SDK connection's Kerberos credential provider.
|
|
929
|
+
*/
|
|
930
|
+
setProvider: async (params) => connection.sendRequest("kerberosAuth.setProvider", params)
|
|
931
|
+
},
|
|
932
|
+
/** @experimental */
|
|
924
933
|
sessions: {
|
|
925
934
|
/**
|
|
926
935
|
* Creates or resumes a local session and returns the opened session ID.
|
|
@@ -1269,6 +1278,14 @@ function createInternalServerRpc(connection) {
|
|
|
1269
1278
|
* @returns The startup warning, absent when the machine can run a sandbox.
|
|
1270
1279
|
*/
|
|
1271
1280
|
getUnsupportedStartupNotice: async (params) => connection.sendRequest("sandbox.getUnsupportedStartupNotice", params),
|
|
1281
|
+
/**
|
|
1282
|
+
* The warning to show before a user adds a sandbox path grant, when the sandbox backend cannot honor it. On Windows a read/write grant on a drive root such as `C:\` or `V:\` is accepted but gives no access to the files inside it, so the warning steers the user to a specific folder. A read-only grant on a drive root works and gets no warning. The grant is still stored as written: this only advises. Returns no warning on other platforms and for paths that are not a drive root, so a host can call it unconditionally while the user types. A host must ask rather than test the path itself, because which volume shapes the backend honors is a property of the backend, and a host-side check goes stale when it changes.
|
|
1283
|
+
*
|
|
1284
|
+
* @param params The path a user is about to grant.
|
|
1285
|
+
*
|
|
1286
|
+
* @returns Advice for a path grant, when it needs any.
|
|
1287
|
+
*/
|
|
1288
|
+
getPathGrantWarning: async (params) => connection.sendRequest("sandbox.getPathGrantWarning", params),
|
|
1272
1289
|
/**
|
|
1273
1290
|
* Whether one slash command stays reachable while sandbox enforcement is unavailable and the session is otherwise blocked. The permitted set is deliberately narrow — commands that only report state, and the few that let the user repair or leave the situation — and it is keyed on the arguments as well as the name, so `/sandbox status` is admitted where `/sandbox enable` is not. A host must ask rather than keep its own list: a command this returns false for is one the runtime would refuse anyway, and a divergent list either strands the user with no way out or admits a command that acts on an unenforced session.
|
|
1274
1291
|
*
|
|
@@ -1724,6 +1741,16 @@ function createInternalServerRpc(connection) {
|
|
|
1724
1741
|
*/
|
|
1725
1742
|
connect: async (params) => connection.sendRequest("connect", params),
|
|
1726
1743
|
/** @experimental */
|
|
1744
|
+
tools: {
|
|
1745
|
+
/** @experimental */
|
|
1746
|
+
largeOutput: {
|
|
1747
|
+
/**
|
|
1748
|
+
* Removes expired tool output files using the runtime's retention policy. Refuses extension callers.
|
|
1749
|
+
*/
|
|
1750
|
+
cleanup: async () => connection.sendRequest("tools.largeOutput.cleanup", {})
|
|
1751
|
+
}
|
|
1752
|
+
},
|
|
1753
|
+
/** @experimental */
|
|
1727
1754
|
account: {
|
|
1728
1755
|
/**
|
|
1729
1756
|
* Renders the sign-in banner and the one-line account description the runtime uses for an authentication identity. The runtime words these in several places for its own callers, so a host that announces a sign-in or an account switch should render them from here rather than composing its own, which would let the two spellings drift apart.
|
|
@@ -1919,6 +1946,25 @@ function createInternalServerRpc(connection) {
|
|
|
1919
1946
|
writeKey: async (params) => connection.sendRequest("globalState.writeKey", params)
|
|
1920
1947
|
},
|
|
1921
1948
|
/** @experimental */
|
|
1949
|
+
settings: {
|
|
1950
|
+
/**
|
|
1951
|
+
* Removes one key from a settings file addressed by path, leaving every other key untouched. Takes the key exactly as written rather than a canonical setting path, because its purpose is to delete a key the loader refused: a misspelling, or a setting that no longer exists. Refuses rather than overwrites when the file does not parse, so a malformed file is never replaced by a rewrite that drops everything it could not read.
|
|
1952
|
+
*
|
|
1953
|
+
* @param params One key to remove from a settings file, named exactly as it appears in the file.
|
|
1954
|
+
*
|
|
1955
|
+
* @returns The outcome of the settings-file edit.
|
|
1956
|
+
*/
|
|
1957
|
+
removeRawKey: async (params) => connection.sendRequest("settings.removeRawKey", params),
|
|
1958
|
+
/**
|
|
1959
|
+
* Replaces the secret-bearing parts of a settings value with a redacted placeholder, so the value can be shown to a user or written to a log. `basePath` is where the value sits in the settings tree, which is what decides whether a field is secret.
|
|
1960
|
+
*
|
|
1961
|
+
* @param params A settings value to redact before showing it.
|
|
1962
|
+
*
|
|
1963
|
+
* @returns A settings value with its secret-bearing parts replaced.
|
|
1964
|
+
*/
|
|
1965
|
+
redactValueForDisplay: async (params) => connection.sendRequest("settings.redactValueForDisplay", params)
|
|
1966
|
+
},
|
|
1967
|
+
/** @experimental */
|
|
1922
1968
|
gitHubRepository: {
|
|
1923
1969
|
/**
|
|
1924
1970
|
* Resolves the GitHub repository that owns a working-tree path by reading the selected git remote configured for it, preferring `origin`. Returns a null `repository` when the path is inside a git working tree but that selected remote does not resolve to a GitHub host. Fails when the path is not inside a git working tree at all, so a caller can tell 'not a repository' apart from 'a repository with no GitHub remote'.
|
|
@@ -1982,6 +2028,15 @@ function createInternalServerRpc(connection) {
|
|
|
1982
2028
|
reposFromRemotes: async (params) => connection.sendRequest("git.reposFromRemotes", params)
|
|
1983
2029
|
},
|
|
1984
2030
|
/** @experimental */
|
|
2031
|
+
runtime: {
|
|
2032
|
+
/**
|
|
2033
|
+
* Opens an authorization URL using the same browser policy as the runtime's OAuth flows, including BROWSER and COPILOT_DEBUG_BROWSER. Refuses extension callers.
|
|
2034
|
+
*
|
|
2035
|
+
* @param params An authorization URL for the host browser.
|
|
2036
|
+
*/
|
|
2037
|
+
openBrowser: async (params) => connection.sendRequest("runtime.openBrowser", params)
|
|
2038
|
+
},
|
|
2039
|
+
/** @experimental */
|
|
1985
2040
|
sessions: {
|
|
1986
2041
|
/**
|
|
1987
2042
|
* Reads lightweight persisted metadata for one local session without opening it.
|
|
@@ -2059,6 +2114,33 @@ function createInternalServerRpc(connection) {
|
|
|
2059
2114
|
* @param params Params to attach or detach an in-process ExtensionController delegate.
|
|
2060
2115
|
*/
|
|
2061
2116
|
configureSessionExtensions: async (params) => connection.sendRequest("sessions.configureSessionExtensions", params)
|
|
2117
|
+
},
|
|
2118
|
+
/** @experimental */
|
|
2119
|
+
agentRegistry: {
|
|
2120
|
+
/**
|
|
2121
|
+
* Creates the local agent registry with mode 0700. Requires a trusted SDK host or runtime-direct caller.
|
|
2122
|
+
*
|
|
2123
|
+
* @param params The location of a local agent registry.
|
|
2124
|
+
*
|
|
2125
|
+
* @returns The resolved registry directory and any creation failure.
|
|
2126
|
+
*/
|
|
2127
|
+
ensureDir: async (params) => connection.sendRequest("agentRegistry.ensureDir", params),
|
|
2128
|
+
/**
|
|
2129
|
+
* Removes a local agent entry. An absent entry succeeds. Requires a trusted SDK host or runtime-direct caller.
|
|
2130
|
+
*
|
|
2131
|
+
* @param params A local agent entry identified by its publisher.
|
|
2132
|
+
*
|
|
2133
|
+
* @returns The outcome of removing a registry entry, with no success payload.
|
|
2134
|
+
*/
|
|
2135
|
+
removeEntry: async (params) => connection.sendRequest("agentRegistry.removeEntry", params),
|
|
2136
|
+
/**
|
|
2137
|
+
* Lists live local agents without connection credentials. Only stale entries are removed; dead-pid entries remain on disk. Requires a trusted SDK host or runtime-direct caller.
|
|
2138
|
+
*
|
|
2139
|
+
* @param params Options for local agent discovery.
|
|
2140
|
+
*
|
|
2141
|
+
* @returns Live agent metadata without connection credentials.
|
|
2142
|
+
*/
|
|
2143
|
+
listEntries: async (params) => connection.sendRequest("agentRegistry.listEntries", params)
|
|
2062
2144
|
}
|
|
2063
2145
|
};
|
|
2064
2146
|
}
|
|
@@ -3309,7 +3391,13 @@ function createSessionRpc(connection, sessionId) {
|
|
|
3309
3391
|
*
|
|
3310
3392
|
* @returns Effective enterprise managed settings and contributing channels. Session events report applied policy; sessionless resolve reports an account/device snapshot, and compose reports a non-applying preview of candidate documents. Device values take precedence over server values, then the policy helper, per ordinary key, while permissions compose restrictively. Session-local SDK-client policy is included only in session results. Marked experimental while the managed-settings surface stabilizes.
|
|
3311
3393
|
*/
|
|
3312
|
-
get: async () => connection.sendRequest("session.managedSettings.get", { sessionId })
|
|
3394
|
+
get: async () => connection.sendRequest("session.managedSettings.get", { sessionId }),
|
|
3395
|
+
/**
|
|
3396
|
+
* Runs a fresh Policy Helper evaluation for the live session's current account, registration, working directory, repository and client context, bypassing only a completed cached helper result for that exact context while coalescing an equivalent execution already in flight. The previous failure and safeguards remain active until fresh success is applied. Returns the same retained snapshot as session.managedSettings.get after the recheck settles.
|
|
3397
|
+
*
|
|
3398
|
+
* @returns Effective enterprise managed settings and contributing channels. Session events report applied policy; sessionless resolve reports an account/device snapshot, and compose reports a non-applying preview of candidate documents. Device values take precedence over server values, then the policy helper, per ordinary key, while permissions compose restrictively. Session-local SDK-client policy is included only in session results. Marked experimental while the managed-settings surface stabilizes.
|
|
3399
|
+
*/
|
|
3400
|
+
recheckPolicyHelper: async () => connection.sendRequest("session.managedSettings.recheckPolicyHelper", { sessionId })
|
|
3313
3401
|
},
|
|
3314
3402
|
/** @experimental */
|
|
3315
3403
|
plugins: {
|
|
@@ -3466,6 +3554,12 @@ function createSessionRpc(connection, sessionId) {
|
|
|
3466
3554
|
},
|
|
3467
3555
|
/** @experimental */
|
|
3468
3556
|
extensions: {
|
|
3557
|
+
/**
|
|
3558
|
+
* Returns the runtime-derived standalone extension admission policy for the session's actual project and managed-settings context. enforcementVersion 1 means this runtime enforces strictPluginOnlyCustomization for executable extensions. Hosts executing independent extension targets must deny standalone targets unless standalone is allowed; plugin_only requires runtime-verified eligible plugin provenance, not a caller-supplied source label or transport bridge. pending is not confirmed absence. Older runtimes return method-not-found and must not be represented as enforcing this restriction. Re-read on managed-settings changes; a snapshot is not a launch authorization token.
|
|
3559
|
+
*
|
|
3560
|
+
* @returns Runtime support and session-context standalone executable extension policy.
|
|
3561
|
+
*/
|
|
3562
|
+
getPolicy: async () => connection.sendRequest("session.extensions.getPolicy", { sessionId }),
|
|
3469
3563
|
/**
|
|
3470
3564
|
* Lists extensions discovered for the session and their current status.
|
|
3471
3565
|
*
|
|
@@ -3726,7 +3820,7 @@ function createSessionRpc(connection, sessionId) {
|
|
|
3726
3820
|
/** @experimental */
|
|
3727
3821
|
permissions: {
|
|
3728
3822
|
/**
|
|
3729
|
-
* Replaces selected permission
|
|
3823
|
+
* Replaces selected session permission fields, including rules, paths, URLs, exclusions, allow-all flags, user-authored judge instructions, bounded host-supplied advisory judge context, owner-authenticated session authority, and the owner's host-policy declaration for its own tools.
|
|
3730
3824
|
*
|
|
3731
3825
|
* @param params Patch of permission policy fields to apply (omit a field to leave it unchanged).
|
|
3732
3826
|
*
|
|
@@ -3793,6 +3887,12 @@ function createSessionRpc(connection, sessionId) {
|
|
|
3793
3887
|
* @returns Indicates whether the operation succeeded.
|
|
3794
3888
|
*/
|
|
3795
3889
|
resetSessionApprovals: async (params) => connection.sendRequest("session.permissions.resetSessionApprovals", { ...params, sessionId }),
|
|
3890
|
+
/**
|
|
3891
|
+
* Clears, in memory only, the allow-all and assisted-approval posture that resuming the session restored from its history. No permission event is recorded, so a later resume restores the user's choice again. A headless caller, which has no one to approve requests, calls it before configuring permissions from its own flags.
|
|
3892
|
+
*
|
|
3893
|
+
* @returns Indicates whether the operation succeeded.
|
|
3894
|
+
*/
|
|
3895
|
+
clearResumeEscalation: async () => connection.sendRequest("session.permissions.clearResumeEscalation", { sessionId }),
|
|
3796
3896
|
/**
|
|
3797
3897
|
* Notifies the runtime that a permission prompt UI has been shown to the user.
|
|
3798
3898
|
*
|
|
@@ -4274,7 +4374,7 @@ function createSessionRpc(connection, sessionId) {
|
|
|
4274
4374
|
*
|
|
4275
4375
|
* @param params Optional remote session mode ("off", "export", or "on"); defaults to enabling both export and remote steering.
|
|
4276
4376
|
*
|
|
4277
|
-
* @returns GitHub URL
|
|
4377
|
+
* @returns GitHub URL and remote export and steering state, with an optional warning when cloud session storage policy refuses export.
|
|
4278
4378
|
*/
|
|
4279
4379
|
enable: async (params) => connection.sendRequest("session.remote.enable", { ...params, sessionId }),
|
|
4280
4380
|
/**
|
|
@@ -4460,6 +4560,15 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
4460
4560
|
clearStartupSeed: async (params) => connection.sendRequest("session.model.clearStartupSeed", { ...params, sessionId })
|
|
4461
4561
|
},
|
|
4462
4562
|
/** @experimental */
|
|
4563
|
+
autopilot: {
|
|
4564
|
+
/**
|
|
4565
|
+
* Applies the runtime-owned Autopilot continuation policy at the session-idle decision point and routes any admitted continuation through the normal session send lifecycle. Only the SDK connection that owns the session can invoke this method.
|
|
4566
|
+
*
|
|
4567
|
+
* @returns Result of applying the ordinary session-idle Autopilot continuation decision.
|
|
4568
|
+
*/
|
|
4569
|
+
evaluateIdleContinuation: async () => connection.sendRequest("session.autopilot.evaluateIdleContinuation", { sessionId })
|
|
4570
|
+
},
|
|
4571
|
+
/** @experimental */
|
|
4463
4572
|
mcp: {
|
|
4464
4573
|
/**
|
|
4465
4574
|
* Records the IDE the host is connected to, so the agent's system prompt can name it and its workspace folder. Null or an omitted `ide` clears the recorded value, which is how a host reports that it is disconnected; there is no separate clear method. Both `ideName` and `workspaceFolder` are required together, because half a state cannot be attributed to a project.
|
|
@@ -4497,6 +4606,20 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
4497
4606
|
unregisterExternalClient: async (params) => connection.sendRequest("session.mcp.unregisterExternalClient", { ...params, sessionId })
|
|
4498
4607
|
},
|
|
4499
4608
|
/** @experimental */
|
|
4609
|
+
diagnostics: {
|
|
4610
|
+
/** @experimental */
|
|
4611
|
+
lifecycle: {
|
|
4612
|
+
/**
|
|
4613
|
+
* Reads a bounded page of retained experimental runtime lifecycle diagnostic events. The read is passive and never prepares conversation history or starts subsystem work.
|
|
4614
|
+
*
|
|
4615
|
+
* @param params Cursor-based request for experimental runtime lifecycle diagnostic events. The default max is 100 (maximum 500); the default waitMs is zero (maximum 30000).
|
|
4616
|
+
*
|
|
4617
|
+
* @returns One cursor-addressed page of retained experimental runtime lifecycle diagnostic events.
|
|
4618
|
+
*/
|
|
4619
|
+
read: async (params) => connection.sendRequest("session.diagnostics.lifecycle.read", { ...params, sessionId })
|
|
4620
|
+
}
|
|
4621
|
+
},
|
|
4622
|
+
/** @experimental */
|
|
4500
4623
|
connectors: {
|
|
4501
4624
|
/**
|
|
4502
4625
|
* Reconciles the authoritative Connector catalog into the session MCP projection during startup with a bounded deadline and fail-closed cleanup.
|
|
@@ -4522,12 +4645,20 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
4522
4645
|
*
|
|
4523
4646
|
* @returns Whether finalizing the invocation effect succeeded, and the failure reason when it did not.
|
|
4524
4647
|
*/
|
|
4525
|
-
finalizeInvocationEffect: async (params) => connection.sendRequest("session.commands.finalizeInvocationEffect", { ...params, sessionId })
|
|
4648
|
+
finalizeInvocationEffect: async (params) => connection.sendRequest("session.commands.finalizeInvocationEffect", { ...params, sessionId }),
|
|
4649
|
+
/**
|
|
4650
|
+
* Reports that the host's execution of a queued command started or stopped waiting for runtime state, so lifecycle progress can attribute the wait. Observational only: it never changes command execution.
|
|
4651
|
+
*
|
|
4652
|
+
* @param params Host report that its execution of a queued command started or stopped waiting for runtime state. The report is observational and never changes command execution.
|
|
4653
|
+
*
|
|
4654
|
+
* @returns Whether the runtime recorded the queued-command wait.
|
|
4655
|
+
*/
|
|
4656
|
+
reportQueuedCommandWait: async (params) => connection.sendRequest("session.commands.reportQueuedCommandWait", { ...params, sessionId })
|
|
4526
4657
|
},
|
|
4527
4658
|
/** @experimental */
|
|
4528
4659
|
ui: {
|
|
4529
4660
|
/**
|
|
4530
|
-
* Resolves a pending elicitation request after direct interaction in the trusted in-process client. Only an accepted response to the built-in ask_user tool can become trusted human evidence.
|
|
4661
|
+
* Resolves a pending elicitation request after direct interaction in the trusted in-process client or authenticated owning host. Only an accepted response to the built-in ask_user tool can become trusted human evidence.
|
|
4531
4662
|
*
|
|
4532
4663
|
* @param params Pending elicitation request ID and the user's response (accept/decline/cancel + form values).
|
|
4533
4664
|
*
|
|
@@ -4535,7 +4666,7 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
4535
4666
|
*/
|
|
4536
4667
|
handleHumanAskUser: async (params) => connection.sendRequest("session.ui.handleHumanAskUser", { ...params, sessionId }),
|
|
4537
4668
|
/**
|
|
4538
|
-
* Resolves a pending `user_input.requested` event after direct interaction in the trusted in-process client.
|
|
4669
|
+
* Resolves a pending `user_input.requested` event after direct interaction in the trusted in-process client or authenticated owning host.
|
|
4539
4670
|
*
|
|
4540
4671
|
* @param params Request ID of a pending `user_input.requested` event and the user's response.
|
|
4541
4672
|
*
|
|
@@ -4543,7 +4674,7 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
4543
4674
|
*/
|
|
4544
4675
|
handleHumanUserInput: async (params) => connection.sendRequest("session.ui.handleHumanUserInput", { ...params, sessionId }),
|
|
4545
4676
|
/**
|
|
4546
|
-
* Resolves a pending `exit_plan_mode.requested` event after direct interaction in the trusted in-process client.
|
|
4677
|
+
* Resolves a pending `exit_plan_mode.requested` event after direct interaction in the trusted in-process client or authenticated owning host.
|
|
4547
4678
|
*
|
|
4548
4679
|
* @param params Request ID of a pending `exit_plan_mode.requested` event and the user's response.
|
|
4549
4680
|
*
|
|
@@ -4718,6 +4849,12 @@ function registerClientSessionApiHandlers(connection, getHandlers) {
|
|
|
4718
4849
|
if (!handler) throw new Error(`No sessionFs handler registered for session: ${params.sessionId}`);
|
|
4719
4850
|
return handler.readFileBytes(params);
|
|
4720
4851
|
});
|
|
4852
|
+
connection.onRequest("sessionFs.readFileRange", async (params) => {
|
|
4853
|
+
const handler = getHandlers(params.sessionId).sessionFs;
|
|
4854
|
+
if (!handler) throw new Error(`No sessionFs handler registered for session: ${params.sessionId}`);
|
|
4855
|
+
if (!handler.readFileRange) throw new Error("Optional client handler sessionFs.readFileRange is not implemented");
|
|
4856
|
+
return handler.readFileRange(params);
|
|
4857
|
+
});
|
|
4721
4858
|
connection.onRequest("sessionFs.writeFile", async (params) => {
|
|
4722
4859
|
const handler = getHandlers(params.sessionId).sessionFs;
|
|
4723
4860
|
if (!handler) throw new Error(`No sessionFs handler registered for session: ${params.sessionId}`);
|
|
@@ -4810,6 +4947,11 @@ function registerClientGlobalApiHandlers(connection, handlers) {
|
|
|
4810
4947
|
if (!handler) throw new Error("No extensionLaunchProvider client-global handler registered");
|
|
4811
4948
|
return handler.resolve(params);
|
|
4812
4949
|
});
|
|
4950
|
+
connection.onRequest("kerberosAuth.acquire", async (params) => {
|
|
4951
|
+
const handler = handlers.kerberosAuth;
|
|
4952
|
+
if (!handler) throw new Error("No kerberosAuth client-global handler registered");
|
|
4953
|
+
return handler.acquire(params);
|
|
4954
|
+
});
|
|
4813
4955
|
connection.onRequest("llmInference.httpRequestStart", async (params) => {
|
|
4814
4956
|
const handler = handlers.llmInference;
|
|
4815
4957
|
if (!handler) throw new Error("No llmInference client-global handler registered");
|
|
@@ -4830,6 +4972,11 @@ function registerClientGlobalApiHandlers(connection, handlers) {
|
|
|
4830
4972
|
if (!handler) throw new Error("No gitHubToken client-global handler registered");
|
|
4831
4973
|
return handler.getToken(params);
|
|
4832
4974
|
});
|
|
4975
|
+
connection.onRequest("entraToken.getToken", async (params) => {
|
|
4976
|
+
const handler = handlers.entraToken;
|
|
4977
|
+
if (!handler) throw new Error("No entraToken client-global handler registered");
|
|
4978
|
+
return handler.getToken(params);
|
|
4979
|
+
});
|
|
4833
4980
|
connection.onRequest("uiThread.run", async (params) => {
|
|
4834
4981
|
const handler = handlers.uiThread;
|
|
4835
4982
|
if (!handler) throw new Error("No uiThread client-global handler registered");
|