@github/copilot-sdk 1.0.13-preview.0 → 1.0.13-preview.2
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 +13 -0
- package/dist/cjs/client.js +100 -5
- package/dist/cjs/generated/rpc.js +25 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/session.js +16 -1
- package/dist/cjs/types.js +8 -0
- package/dist/client.d.ts +7 -1
- package/dist/client.js +100 -5
- package/dist/generated/rpc.d.ts +259 -19
- package/dist/generated/rpc.js +25 -1
- package/dist/generated/session-events.d.ts +1009 -53
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.js +16 -1
- package/dist/types.d.ts +49 -9
- package/dist/types.js +7 -0
- package/package.json +2 -2
package/dist/generated/rpc.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
|
15
15
|
* via the `definition` "AuthInfo".
|
|
16
16
|
*/
|
|
17
17
|
/** @experimental */
|
|
18
|
-
export type AuthInfo = HMACAuthInfo | EnvAuthInfo | TokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
|
|
18
|
+
export type AuthInfo = HMACAuthInfo | EnvAuthInfo | TokenAuthInfo | TokenProviderAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
|
|
19
19
|
/**
|
|
20
20
|
* User to log out
|
|
21
21
|
*
|
|
@@ -241,6 +241,8 @@ export type AuthInfoType =
|
|
|
241
241
|
| "api-key"
|
|
242
242
|
/** Authentication from a GitHub token. */
|
|
243
243
|
| "token"
|
|
244
|
+
/** Authentication from an SDK GitHub token callback. */
|
|
245
|
+
| "token-provider"
|
|
244
246
|
/** Authentication from a Copilot API token. */
|
|
245
247
|
| "copilot-api-token";
|
|
246
248
|
/**
|
|
@@ -796,8 +798,6 @@ export type DebugCollectLogsResultKind =
|
|
|
796
798
|
"archive"
|
|
797
799
|
/** A directory containing redacted files was written. */
|
|
798
800
|
| "directory";
|
|
799
|
-
/** @experimental */
|
|
800
|
-
export type DisableBypassPermissionsMode = "disable";
|
|
801
801
|
/**
|
|
802
802
|
* Persisted extension discovery source
|
|
803
803
|
*
|
|
@@ -1128,6 +1128,48 @@ export type FactoryPhaseStatus =
|
|
|
1128
1128
|
export type FilterMapping = {
|
|
1129
1129
|
[k: string]: ContentFilterMode;
|
|
1130
1130
|
} | ContentFilterMode;
|
|
1131
|
+
/**
|
|
1132
|
+
* Why the runtime is requesting a GitHub credential.
|
|
1133
|
+
*
|
|
1134
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
1135
|
+
* via the `definition` "GitHubTokenAcquireReason".
|
|
1136
|
+
*/
|
|
1137
|
+
/** @experimental */
|
|
1138
|
+
export type GitHubTokenAcquireReason =
|
|
1139
|
+
/** The runtime is acquiring the registration's first credential. */
|
|
1140
|
+
"initial"
|
|
1141
|
+
/** The runtime is replacing a credential that is approaching expiry. */
|
|
1142
|
+
| "refresh";
|
|
1143
|
+
/**
|
|
1144
|
+
* SDK host response to a GitHub credential request.
|
|
1145
|
+
*
|
|
1146
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
1147
|
+
* via the `definition` "GitHubTokenAcquireResult".
|
|
1148
|
+
*/
|
|
1149
|
+
/** @experimental */
|
|
1150
|
+
export type GitHubTokenAcquireResult = {
|
|
1151
|
+
/**
|
|
1152
|
+
* GitHub access token acquired by the SDK host.
|
|
1153
|
+
*/
|
|
1154
|
+
accessToken: string;
|
|
1155
|
+
/**
|
|
1156
|
+
* OAuth token type. Defaults to bearer when omitted.
|
|
1157
|
+
*/
|
|
1158
|
+
tokenType?: string;
|
|
1159
|
+
/**
|
|
1160
|
+
* Remaining token lifetime in seconds when callback execution completes. It must exceed the one-hour preflight refresh threshold.
|
|
1161
|
+
*/
|
|
1162
|
+
expiresIn: number;
|
|
1163
|
+
/**
|
|
1164
|
+
* GitHub credential response variant discriminator.
|
|
1165
|
+
*/
|
|
1166
|
+
kind: "token";
|
|
1167
|
+
} | {
|
|
1168
|
+
/**
|
|
1169
|
+
* GitHub credential response variant discriminator.
|
|
1170
|
+
*/
|
|
1171
|
+
kind: "cancelled";
|
|
1172
|
+
};
|
|
1131
1173
|
/**
|
|
1132
1174
|
* Optional compaction parameters.
|
|
1133
1175
|
*
|
|
@@ -1736,7 +1778,7 @@ export type McpOauthPendingRequestResponse = {
|
|
|
1736
1778
|
*/
|
|
1737
1779
|
accessToken: string;
|
|
1738
1780
|
/**
|
|
1739
|
-
* OAuth token type. Defaults to
|
|
1781
|
+
* OAuth token type. Defaults to bearer when omitted.
|
|
1740
1782
|
*/
|
|
1741
1783
|
tokenType?: string;
|
|
1742
1784
|
/**
|
|
@@ -2331,8 +2373,24 @@ export type PermissionDecisionSurface =
|
|
|
2331
2373
|
| "prompt_mode"
|
|
2332
2374
|
/** The Copilot App client. */
|
|
2333
2375
|
| "copilot_app"
|
|
2376
|
+
/** An Agent Client Protocol host. */
|
|
2377
|
+
| "acp"
|
|
2334
2378
|
/** A generic Copilot SDK client. */
|
|
2335
2379
|
| "sdk";
|
|
2380
|
+
/**
|
|
2381
|
+
* Response capability available to the client when it settled a permission request.
|
|
2382
|
+
*
|
|
2383
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
2384
|
+
* via the `definition` "PermissionResponseCapability".
|
|
2385
|
+
*/
|
|
2386
|
+
/** @experimental */
|
|
2387
|
+
export type PermissionResponseCapability =
|
|
2388
|
+
/** The client could ask a user for this decision. */
|
|
2389
|
+
"interactive"
|
|
2390
|
+
/** The client could return an automated response but could not ask a user. */
|
|
2391
|
+
| "headless"
|
|
2392
|
+
/** The client had no response path available. */
|
|
2393
|
+
| "none";
|
|
2336
2394
|
/**
|
|
2337
2395
|
* Tool approval to persist and apply
|
|
2338
2396
|
*
|
|
@@ -3019,6 +3077,14 @@ export type SessionsOpenProgressStatus =
|
|
|
3019
3077
|
"in-progress"
|
|
3020
3078
|
/** The step has completed successfully. */
|
|
3021
3079
|
| "complete";
|
|
3080
|
+
/**
|
|
3081
|
+
* Authentication credentials accepted by session.gitHubAuth.setCredentials. Session-owned token-provider identities cannot be installed through this method.
|
|
3082
|
+
*
|
|
3083
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
3084
|
+
* via the `definition` "SettableAuthInfo".
|
|
3085
|
+
*/
|
|
3086
|
+
/** @experimental */
|
|
3087
|
+
export type SettableAuthInfo = HMACAuthInfo | EnvAuthInfo | SettableTokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
|
|
3022
3088
|
/**
|
|
3023
3089
|
* Rust-owned settings predicates exposed across the SDK boundary. Raw feature-flag names are intentionally not part of the contract.
|
|
3024
3090
|
*
|
|
@@ -3913,6 +3979,32 @@ export interface TokenAuthInfo {
|
|
|
3913
3979
|
* The token value itself. Treat as a secret.
|
|
3914
3980
|
*/
|
|
3915
3981
|
token: string;
|
|
3982
|
+
/**
|
|
3983
|
+
* Opaque native GitHub credential registration backing this token identity, when applicable.
|
|
3984
|
+
*/
|
|
3985
|
+
registrationId?: string;
|
|
3986
|
+
copilotUser?: CopilotUserResponse;
|
|
3987
|
+
}
|
|
3988
|
+
/**
|
|
3989
|
+
* Authentication-info variant backed by an SDK GitHub token callback. It carries routing metadata but never a plaintext token.
|
|
3990
|
+
*
|
|
3991
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
3992
|
+
* via the `definition` "TokenProviderAuthInfo".
|
|
3993
|
+
*/
|
|
3994
|
+
/** @experimental */
|
|
3995
|
+
export interface TokenProviderAuthInfo {
|
|
3996
|
+
/**
|
|
3997
|
+
* SDK callback-backed GitHub token authentication.
|
|
3998
|
+
*/
|
|
3999
|
+
type: "token-provider";
|
|
4000
|
+
/**
|
|
4001
|
+
* Authentication host.
|
|
4002
|
+
*/
|
|
4003
|
+
host: string;
|
|
4004
|
+
/**
|
|
4005
|
+
* Opaque SDK callback registration identifier.
|
|
4006
|
+
*/
|
|
4007
|
+
registrationId: string;
|
|
3916
4008
|
copilotUser?: CopilotUserResponse;
|
|
3917
4009
|
}
|
|
3918
4010
|
/**
|
|
@@ -4556,6 +4648,10 @@ export interface AuthIdentity {
|
|
|
4556
4648
|
* Name of the environment variable that supplied the credential, when applicable
|
|
4557
4649
|
*/
|
|
4558
4650
|
envVar?: string;
|
|
4651
|
+
/**
|
|
4652
|
+
* Opaque SDK GitHub credential registration backing this identity. Routing metadata only; never a credential.
|
|
4653
|
+
*/
|
|
4654
|
+
registrationId?: string;
|
|
4559
4655
|
copilotUser?: CopilotUserResponse;
|
|
4560
4656
|
}
|
|
4561
4657
|
/**
|
|
@@ -6776,6 +6872,10 @@ export interface ExternalToolTextResultForLlmContentShellExit {
|
|
|
6776
6872
|
* Whether outputPreview is known to be incomplete or truncated
|
|
6777
6873
|
*/
|
|
6778
6874
|
outputTruncated?: boolean;
|
|
6875
|
+
/**
|
|
6876
|
+
* Path reported in the shell session's filesystem namespace when shell output exceeded the configured large-output threshold.
|
|
6877
|
+
*/
|
|
6878
|
+
outputFilePath?: string;
|
|
6779
6879
|
}
|
|
6780
6880
|
/**
|
|
6781
6881
|
* Image content block with base64-encoded data
|
|
@@ -7596,6 +7696,14 @@ export interface FactoryResumeRequest {
|
|
|
7596
7696
|
*/
|
|
7597
7697
|
runId: string;
|
|
7598
7698
|
limits?: FactoryRunLimits;
|
|
7699
|
+
/**
|
|
7700
|
+
* Whether to notify the originating session when the factory completes.
|
|
7701
|
+
*/
|
|
7702
|
+
notifyOnComplete?: boolean;
|
|
7703
|
+
/**
|
|
7704
|
+
* Whether to emit factory phase names to the session transcript.
|
|
7705
|
+
*/
|
|
7706
|
+
logPhaseNames?: boolean;
|
|
7599
7707
|
}
|
|
7600
7708
|
/**
|
|
7601
7709
|
* Wire-only per-invocation factory resource ceiling overrides.
|
|
@@ -7779,6 +7887,14 @@ export interface FactoryRunRequest {
|
|
|
7779
7887
|
/** @experimental */
|
|
7780
7888
|
export interface RunOptions {
|
|
7781
7889
|
limits?: FactoryRunLimits;
|
|
7890
|
+
/**
|
|
7891
|
+
* Whether to notify the originating session when the factory completes.
|
|
7892
|
+
*/
|
|
7893
|
+
notifyOnComplete?: boolean;
|
|
7894
|
+
/**
|
|
7895
|
+
* Whether to emit factory phase names to the session transcript.
|
|
7896
|
+
*/
|
|
7897
|
+
logPhaseNames?: boolean;
|
|
7782
7898
|
/**
|
|
7783
7899
|
* Run identifier whose journal and progress should seed this resumed run.
|
|
7784
7900
|
*/
|
|
@@ -7897,6 +8013,14 @@ export interface GitHubTelemetryClientInfo {
|
|
|
7897
8013
|
* Stable machine identifier for the device.
|
|
7898
8014
|
*/
|
|
7899
8015
|
dev_device_id?: string;
|
|
8016
|
+
/**
|
|
8017
|
+
* Distinct CPU model names for the host, comma-separated.
|
|
8018
|
+
*/
|
|
8019
|
+
cpu_model?: string;
|
|
8020
|
+
/**
|
|
8021
|
+
* Number of logical CPU cores on the host.
|
|
8022
|
+
*/
|
|
8023
|
+
cpu_count?: number;
|
|
7900
8024
|
}
|
|
7901
8025
|
/**
|
|
7902
8026
|
* A single telemetry event in the runtime's native GitHub-shaped telemetry format, forwarded verbatim to opted-in hosts. The `restricted` flag on the enclosing GitHubTelemetryNotification distinguishes standard from restricted events; the payload shape is identical for both.
|
|
@@ -7968,6 +8092,28 @@ export interface GitHubTelemetryNotification {
|
|
|
7968
8092
|
restricted: boolean;
|
|
7969
8093
|
event: GitHubTelemetryEvent;
|
|
7970
8094
|
}
|
|
8095
|
+
/**
|
|
8096
|
+
* Asks the SDK client to acquire a GitHub access token from an opaque callback registration.
|
|
8097
|
+
*
|
|
8098
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
8099
|
+
* via the `definition` "GitHubTokenAcquireRequest".
|
|
8100
|
+
*/
|
|
8101
|
+
/** @experimental */
|
|
8102
|
+
export interface GitHubTokenAcquireRequest {
|
|
8103
|
+
/**
|
|
8104
|
+
* Opaque identifier generated by the SDK for this callback registration.
|
|
8105
|
+
*/
|
|
8106
|
+
registrationId: string;
|
|
8107
|
+
/**
|
|
8108
|
+
* Effective GitHub host for which the callback must return a token.
|
|
8109
|
+
*/
|
|
8110
|
+
host: string;
|
|
8111
|
+
/**
|
|
8112
|
+
* Session receiving the token. Absent only before a cloud session has been assigned its id.
|
|
8113
|
+
*/
|
|
8114
|
+
sessionId?: string;
|
|
8115
|
+
reason: GitHubTokenAcquireReason;
|
|
8116
|
+
}
|
|
7971
8117
|
/**
|
|
7972
8118
|
* Pending external tool call request ID, with the tool result or an error describing why it failed.
|
|
7973
8119
|
*
|
|
@@ -8368,6 +8514,10 @@ export interface InstalledPlugin {
|
|
|
8368
8514
|
* Per-plugin source fingerprint (a SHA-256 hash of the plugin's catalog source spec plus its resolved source subtree — NOT a Git commit SHA) captured at marketplace install/update time. Auto-update compares it against the freshly recomputed fingerprint to detect a content change that does not bump the version. Absent for pre-existing installs and for direct (non-marketplace) installs.
|
|
8369
8515
|
*/
|
|
8370
8516
|
source_sha?: string;
|
|
8517
|
+
/**
|
|
8518
|
+
* Absolute path of the marketplace directory a live plugin was resolved from. Present only on live, never-persisted records — those synthesized at session start for a directory/local marketplace, whose cache_path points at the real plugin directory on disk rather than a copy under the installed-plugins cache. Its presence is what marks a record as live, and no record carrying it is ever written to the persisted installedPlugins key.
|
|
8519
|
+
*/
|
|
8520
|
+
installed_from?: string;
|
|
8371
8521
|
}
|
|
8372
8522
|
/**
|
|
8373
8523
|
* Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
|
|
@@ -8472,6 +8622,10 @@ export interface InstalledPluginInfo {
|
|
|
8472
8622
|
* Whether the plugin is currently enabled for new sessions
|
|
8473
8623
|
*/
|
|
8474
8624
|
enabled: boolean;
|
|
8625
|
+
/**
|
|
8626
|
+
* Absolute path of the marketplace directory a live plugin was resolved from. Present only on live, never-persisted records — a plugin belonging to a directory/local marketplace, which is loaded from its real directory on every pass instead of a copy under the installed-plugins cache. Its presence is what marks a listed plugin as live: such a plugin is always present on disk, so `enabled` is its only meaningful state and it is never "not installed".
|
|
8627
|
+
*/
|
|
8628
|
+
installedFrom?: string;
|
|
8475
8629
|
}
|
|
8476
8630
|
/**
|
|
8477
8631
|
* Canonical file or directory where custom instructions can be discovered or created, with location, kind, preference, and project path.
|
|
@@ -11315,6 +11469,15 @@ export interface Model {
|
|
|
11315
11469
|
supportedContextTiers?: string[];
|
|
11316
11470
|
modelPickerCategory?: ModelPickerCategory;
|
|
11317
11471
|
modelPickerPriceCategory?: ModelPickerPriceCategory;
|
|
11472
|
+
warningText?: ModelWarningText;
|
|
11473
|
+
/**
|
|
11474
|
+
* Informational notices the service published for this model, such as an upcoming change or a recommended alternative. Present only when the service published at least one notice. Hosts should surface these without implying anything is wrong with the model.
|
|
11475
|
+
*/
|
|
11476
|
+
infoMessages?: ModelMessage[];
|
|
11477
|
+
/**
|
|
11478
|
+
* Warnings the service published for this model, such as a deprecated client version. Present only when the service published at least one warning. The model remains usable; hosts should surface these as advisory rather than blocking.
|
|
11479
|
+
*/
|
|
11480
|
+
warningMessages?: ModelMessage[];
|
|
11318
11481
|
}
|
|
11319
11482
|
/**
|
|
11320
11483
|
* Model capabilities and limits
|
|
@@ -11537,6 +11700,36 @@ export interface ModelBillingPromo {
|
|
|
11537
11700
|
*/
|
|
11538
11701
|
message?: string;
|
|
11539
11702
|
}
|
|
11703
|
+
/**
|
|
11704
|
+
* Service-published warning text that hosts should display when presenting a model.
|
|
11705
|
+
*
|
|
11706
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11707
|
+
* via the `definition` "ModelWarningText".
|
|
11708
|
+
*/
|
|
11709
|
+
/** @experimental */
|
|
11710
|
+
export interface ModelWarningText {
|
|
11711
|
+
/**
|
|
11712
|
+
* Data-retention warning for the model. The text may contain Markdown links and should be rendered as Markdown when supported.
|
|
11713
|
+
*/
|
|
11714
|
+
dataRetention?: string;
|
|
11715
|
+
}
|
|
11716
|
+
/**
|
|
11717
|
+
* A service-published message about a model, carrying a stable machine-readable code alongside human-readable text.
|
|
11718
|
+
*
|
|
11719
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11720
|
+
* via the `definition` "ModelMessage".
|
|
11721
|
+
*/
|
|
11722
|
+
/** @experimental */
|
|
11723
|
+
export interface ModelMessage {
|
|
11724
|
+
/**
|
|
11725
|
+
* Stable machine-readable identifier for the message, such as `client_version_deprecated`. Hosts can key custom presentation off this; unrecognized codes should fall back to displaying `message`.
|
|
11726
|
+
*/
|
|
11727
|
+
code: string;
|
|
11728
|
+
/**
|
|
11729
|
+
* Human-readable message text intended for display to the user.
|
|
11730
|
+
*/
|
|
11731
|
+
message: string;
|
|
11732
|
+
}
|
|
11540
11733
|
/**
|
|
11541
11734
|
* Managed, repository, and CLI model overrides to overlay onto the session at startup.
|
|
11542
11735
|
*
|
|
@@ -12751,6 +12944,7 @@ export interface PermissionDecisionContext {
|
|
|
12751
12944
|
outcome: PermissionDecisionOutcome;
|
|
12752
12945
|
source: PermissionDecisionSource;
|
|
12753
12946
|
surface: PermissionDecisionSurface;
|
|
12947
|
+
responseCapability?: PermissionResponseCapability;
|
|
12754
12948
|
}
|
|
12755
12949
|
/**
|
|
12756
12950
|
* Pending permission request ID and the decision to apply (approve/reject and scope).
|
|
@@ -13045,7 +13239,7 @@ export interface PermissionLocationResolveResult {
|
|
|
13045
13239
|
/** @experimental */
|
|
13046
13240
|
export interface PermissionPathsAddParams {
|
|
13047
13241
|
/**
|
|
13048
|
-
* Directory to add to the allow-list. The runtime resolves and validates the path before adding.
|
|
13242
|
+
* Directory to add to the allow-list. The runtime resolves and validates the path before adding, then loads conventional `.github/skills/` and `.github/agents/` definitions under it when their subsystem gates are enabled. Adding the directory is therefore also a trust decision for configuration stored there.
|
|
13049
13243
|
*/
|
|
13050
13244
|
path: string;
|
|
13051
13245
|
}
|
|
@@ -13088,7 +13282,7 @@ export interface PermissionPathsConfig {
|
|
|
13088
13282
|
*/
|
|
13089
13283
|
unrestricted?: boolean;
|
|
13090
13284
|
/**
|
|
13091
|
-
* Additional directories to allow tool access to (in addition to the session's working directory). When `unrestricted` is true, these are still pre-populated on the UnrestrictedPathManager so they remain visible via getDirectories() (e.g. for @-mention completion).
|
|
13285
|
+
* Additional directories to allow tool access to (in addition to the session's working directory). Conventional `.github/skills/` and `.github/agents/` definitions under them also join the session catalogs when their subsystem gates are enabled, so supplying a directory is a trust decision for configuration stored there. When `unrestricted` is true, these are still pre-populated on the UnrestrictedPathManager so they remain visible via getDirectories() (e.g. for @-mention completion).
|
|
13092
13286
|
*/
|
|
13093
13287
|
additionalDirectories?: string[];
|
|
13094
13288
|
/**
|
|
@@ -15013,6 +15207,10 @@ export interface QueuePendingItemsResult {
|
|
|
15013
15207
|
* Display text for messages currently in the immediate steering queue (interjections sent during a running turn).
|
|
15014
15208
|
*/
|
|
15015
15209
|
steeringMessages: string[];
|
|
15210
|
+
/**
|
|
15211
|
+
* How many leading entries of `steeringMessages` have already been folded into the running turn (and so have an emitted `user.message`), as opposed to still waiting for one. Absent for hosts that do not distinguish the two.
|
|
15212
|
+
*/
|
|
15213
|
+
inFlightSteeringCount?: number;
|
|
15016
15214
|
}
|
|
15017
15215
|
/**
|
|
15018
15216
|
* Parameters for removing a queued item by stable id.
|
|
@@ -15545,7 +15743,7 @@ export interface SandboxConfig {
|
|
|
15545
15743
|
addCurrentWorkingDirectory?: boolean;
|
|
15546
15744
|
auth?: SandboxConfigAuth;
|
|
15547
15745
|
/**
|
|
15548
|
-
* Whether to auto-grant read access to
|
|
15746
|
+
* Whether to auto-grant read access to tool directories discovered on PATH and in toolchain environment variables (GOROOT, JAVA_HOME, VIRTUAL_ENV, and similar), and to common developer-tool caches, config, and toolchains. Writable grants cover scratch caches, the Unix GitHub CLI cache, and Cargo's registry, git store, and lock/tracker files. A relocated CARGO_HOME gets the same narrow split: registry and git are read-write; bin is read-only; the home root, config.toml, and credentials.toml stay ungranted. Set to false to disable every grant listed above; user-installed toolchains and caches then need explicit userPolicy.filesystem readonlyPaths and readwritePaths entries. The working directory (see addCurrentWorkingDirectory), temporary storage, session log paths, and system locations follow their own rules and stay granted. Default: true (enabled by default; set to false to opt out).
|
|
15549
15747
|
*/
|
|
15550
15748
|
allowDevToolAccess?: boolean;
|
|
15551
15749
|
}
|
|
@@ -16849,6 +17047,10 @@ export interface SessionInstalledPlugin {
|
|
|
16849
17047
|
* Per-plugin source fingerprint (a SHA-256 hash of the plugin's catalog source spec plus its resolved source subtree — NOT a Git commit SHA) captured at marketplace install/update time. Auto-update compares it against the freshly recomputed fingerprint to detect a content change that does not bump the version. Absent for pre-existing installs and for direct (non-marketplace) installs.
|
|
16850
17048
|
*/
|
|
16851
17049
|
source_sha?: string;
|
|
17050
|
+
/**
|
|
17051
|
+
* Absolute path of the marketplace directory a live plugin was resolved from. Present only on live, never-persisted records — those synthesized at session start for a directory/local marketplace, whose cache_path points at the real plugin directory on disk rather than a copy under the installed-plugins cache. Its presence is what marks a record as live, and no record carrying it is ever written to the persisted installedPlugins key.
|
|
17052
|
+
*/
|
|
17053
|
+
installed_from?: string;
|
|
16852
17054
|
}
|
|
16853
17055
|
/**
|
|
16854
17056
|
* Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
|
|
@@ -17052,7 +17254,10 @@ export interface SessionLoadDeferredRepoHooksResult {
|
|
|
17052
17254
|
*/
|
|
17053
17255
|
/** @experimental */
|
|
17054
17256
|
export interface SessionManagedPermissions {
|
|
17055
|
-
|
|
17257
|
+
/**
|
|
17258
|
+
* When set to `disable`, prevents bypass/allow-all permission modes. `allow-auto-only` blocks full allow-all but permits advisory auto-approval. Any other value is accepted rather than failing the session, but is enforced as `disable`: the key is only present to restrict something, so a mode this runtime cannot interpret fails closed to the most restrictive one it knows. Omit the key entirely to impose no restriction.
|
|
17259
|
+
*/
|
|
17260
|
+
disableBypassPermissionsMode?: string;
|
|
17056
17261
|
/**
|
|
17057
17262
|
* Permission rules that block matching operations. Deny has highest precedence.
|
|
17058
17263
|
*/
|
|
@@ -17257,7 +17462,7 @@ export interface SessionOpenOptions {
|
|
|
17257
17462
|
*/
|
|
17258
17463
|
workingDirectory?: string;
|
|
17259
17464
|
/**
|
|
17260
|
-
* Additional directories the agent may access beyond the working directory. Each entry is granted to the session's file-access allow-list and surfaced to the model (system prompt context and `@`-mention completion). Absolute paths are recommended; a relative path is resolved against the session's working directory. Nonexistent or unresolvable entries are skipped with a warning. This is applied
|
|
17465
|
+
* Additional directories the agent may access beyond the working directory. Each entry is granted to the session's file-access allow-list and surfaced to the model (system prompt context and `@`-mention completion). Conventional `.github/skills/` and `.github/agents/` definitions under each directory also join the session's project catalogs when their existing subsystem gates are enabled: added-root skills require both `enableConfigDiscovery` and effective `enableSkills`; added-root agents require `enableConfigDiscovery`. Supplying a directory therefore activates configuration from it and should be treated as a trust decision. Absolute paths are recommended; a relative path is resolved against the session's working directory. Nonexistent or unresolvable entries are skipped with a warning. This is applied during session creation and cold resume and is not persisted, so a cold resume must re-supply the directories.
|
|
17261
17466
|
*/
|
|
17262
17467
|
additionalDirectories?: string[];
|
|
17263
17468
|
workingDirectoryContext?: SessionContext;
|
|
@@ -17329,6 +17534,10 @@ export interface SessionOpenOptions {
|
|
|
17329
17534
|
* Additional directories to search for skills.
|
|
17330
17535
|
*/
|
|
17331
17536
|
skillDirectories?: string[];
|
|
17537
|
+
/**
|
|
17538
|
+
* Built-in skill names to include in this session. When specified, only these runtime-bundled skills are available. Skills from other sources with the same name remain available.
|
|
17539
|
+
*/
|
|
17540
|
+
includedBuiltinSkills?: string[];
|
|
17332
17541
|
/**
|
|
17333
17542
|
* Skill IDs disabled for this session.
|
|
17334
17543
|
*/
|
|
@@ -17870,7 +18079,29 @@ export interface SessionsEnrichMetadataRequest {
|
|
|
17870
18079
|
*/
|
|
17871
18080
|
/** @experimental */
|
|
17872
18081
|
export interface SessionSetCredentialsParams {
|
|
17873
|
-
credentials?:
|
|
18082
|
+
credentials?: SettableAuthInfo;
|
|
18083
|
+
}
|
|
18084
|
+
/**
|
|
18085
|
+
* Token authentication accepted by session.gitHubAuth.setCredentials.
|
|
18086
|
+
*
|
|
18087
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
18088
|
+
* via the `definition` "SettableTokenAuthInfo".
|
|
18089
|
+
*/
|
|
18090
|
+
/** @experimental */
|
|
18091
|
+
export interface SettableTokenAuthInfo {
|
|
18092
|
+
/**
|
|
18093
|
+
* SDK-side token authentication; the host configured the token directly via the SDK.
|
|
18094
|
+
*/
|
|
18095
|
+
type: "token";
|
|
18096
|
+
/**
|
|
18097
|
+
* Authentication host.
|
|
18098
|
+
*/
|
|
18099
|
+
host: string;
|
|
18100
|
+
/**
|
|
18101
|
+
* The token value itself. Treat as a secret.
|
|
18102
|
+
*/
|
|
18103
|
+
token: string;
|
|
18104
|
+
copilotUser?: CopilotUserResponse;
|
|
17874
18105
|
}
|
|
17875
18106
|
/**
|
|
17876
18107
|
* Indicates whether the credential update succeeded.
|
|
@@ -18693,6 +18924,10 @@ export interface SessionUpdateOptionsParams {
|
|
|
18693
18924
|
* Additional directories to search for skills.
|
|
18694
18925
|
*/
|
|
18695
18926
|
skillDirectories?: string[];
|
|
18927
|
+
/**
|
|
18928
|
+
* Built-in skill names to include in this session. When specified, only these runtime-bundled skills are available. Skills from other sources with the same name remain available. Set to null to remove the allowlist restriction.
|
|
18929
|
+
*/
|
|
18930
|
+
includedBuiltinSkills?: string[] | null;
|
|
18696
18931
|
/**
|
|
18697
18932
|
* Skill IDs that should be excluded from this session.
|
|
18698
18933
|
*/
|
|
@@ -20073,10 +20308,6 @@ export interface ToolsExecuteRequest {
|
|
|
20073
20308
|
*/
|
|
20074
20309
|
/** @experimental */
|
|
20075
20310
|
export interface ToolsGetBuiltinDescriptorsRequest {
|
|
20076
|
-
/**
|
|
20077
|
-
* Whether line numbers should be omitted from the view tool descriptor.
|
|
20078
|
-
*/
|
|
20079
|
-
noViewLineNumbers?: boolean;
|
|
20080
20311
|
/**
|
|
20081
20312
|
* Whether descriptors should favor fewer user-intervention prompts.
|
|
20082
20313
|
*/
|
|
@@ -20090,10 +20321,6 @@ export interface ToolsGetBuiltinDescriptorsRequest {
|
|
|
20090
20321
|
*/
|
|
20091
20322
|
skillEmbeddingEnabled?: boolean;
|
|
20092
20323
|
shellConfig?: ToolsShellDescriptorConfig;
|
|
20093
|
-
/**
|
|
20094
|
-
* Whether shell commands may only run asynchronously.
|
|
20095
|
-
*/
|
|
20096
|
-
shellAsyncOnlyEnabled?: boolean;
|
|
20097
20324
|
/**
|
|
20098
20325
|
* Whether the configured shell supports PowerShell 7 syntax.
|
|
20099
20326
|
*/
|
|
@@ -23646,7 +23873,7 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
|
|
|
23646
23873
|
*/
|
|
23647
23874
|
list: () => Promise<PermissionPathsList>;
|
|
23648
23875
|
/**
|
|
23649
|
-
* Adds a directory to the session's allow-list.
|
|
23876
|
+
* Adds a directory to the session's allow-list and activates conventional skill and agent definitions under it.
|
|
23650
23877
|
*
|
|
23651
23878
|
* @param params Directory path to add to the session's allowed directories.
|
|
23652
23879
|
*
|
|
@@ -24332,11 +24559,24 @@ export interface GitHubTelemetryHandler {
|
|
|
24332
24559
|
*/
|
|
24333
24560
|
event(params: GitHubTelemetryNotification): Promise<void>;
|
|
24334
24561
|
}
|
|
24562
|
+
/** Handler for `gitHubToken` client global API methods. */
|
|
24563
|
+
/** @experimental */
|
|
24564
|
+
export interface GitHubTokenHandler {
|
|
24565
|
+
/**
|
|
24566
|
+
* Asks the SDK client to mint a GitHub access token for a session whose configuration supplied a GitHub token provider. The runtime acquires the initial token during bootstrap and refreshes it during expiry preflight when one hour or less remains.
|
|
24567
|
+
*
|
|
24568
|
+
* @param params Asks the SDK client to acquire a GitHub access token from an opaque callback registration.
|
|
24569
|
+
*
|
|
24570
|
+
* @returns SDK host response to a GitHub credential request.
|
|
24571
|
+
*/
|
|
24572
|
+
getToken(params: GitHubTokenAcquireRequest): Promise<GitHubTokenAcquireResult>;
|
|
24573
|
+
}
|
|
24335
24574
|
/** All client global API handler groups. */
|
|
24336
24575
|
export interface ClientGlobalApiHandlers {
|
|
24337
24576
|
extensionLaunchProvider?: ExtensionLaunchProviderHandler;
|
|
24338
24577
|
llmInference?: LlmInferenceHandler;
|
|
24339
24578
|
gitHubTelemetry?: GitHubTelemetryHandler;
|
|
24579
|
+
gitHubToken?: GitHubTokenHandler;
|
|
24340
24580
|
}
|
|
24341
24581
|
/**
|
|
24342
24582
|
* Register client global API handlers on a JSON-RPC connection.
|
package/dist/generated/rpc.js
CHANGED
|
@@ -1963,7 +1963,7 @@ function createSessionRpc(connection, sessionId) {
|
|
|
1963
1963
|
*/
|
|
1964
1964
|
list: async () => connection.sendRequest("session.permissions.paths.list", { sessionId }),
|
|
1965
1965
|
/**
|
|
1966
|
-
* Adds a directory to the session's allow-list.
|
|
1966
|
+
* Adds a directory to the session's allow-list and activates conventional skill and agent definitions under it.
|
|
1967
1967
|
*
|
|
1968
1968
|
* @param params Directory path to add to the session's allowed directories.
|
|
1969
1969
|
*
|
|
@@ -2512,6 +2512,25 @@ function createInternalSessionRpc(connection, sessionId) {
|
|
|
2512
2512
|
}
|
|
2513
2513
|
},
|
|
2514
2514
|
/** @experimental */
|
|
2515
|
+
factory: {
|
|
2516
|
+
/**
|
|
2517
|
+
* Internal tool-originated factory invocation.
|
|
2518
|
+
*
|
|
2519
|
+
* @param params Internal parameters for invoking a registered factory from a tool.
|
|
2520
|
+
*
|
|
2521
|
+
* @returns Complete current or terminal factory run envelope.
|
|
2522
|
+
*/
|
|
2523
|
+
runFromTool: async (params) => connection.sendRequest("session.factory.runFromTool", { sessionId, ...params }),
|
|
2524
|
+
/**
|
|
2525
|
+
* Internal tool-originated factory resume.
|
|
2526
|
+
*
|
|
2527
|
+
* @param params Internal parameters for resuming a factory run from a tool.
|
|
2528
|
+
*
|
|
2529
|
+
* @returns Resolved persisted factory identity and resumed run envelope.
|
|
2530
|
+
*/
|
|
2531
|
+
resumeFromTool: async (params) => connection.sendRequest("session.factory.resumeFromTool", { sessionId, ...params })
|
|
2532
|
+
},
|
|
2533
|
+
/** @experimental */
|
|
2515
2534
|
model: {
|
|
2516
2535
|
/**
|
|
2517
2536
|
* Resolves and applies organization-managed and repository model overlays.
|
|
@@ -2809,6 +2828,11 @@ function registerClientGlobalApiHandlers(connection, handlers) {
|
|
|
2809
2828
|
if (!handler) return;
|
|
2810
2829
|
await handler.event(params);
|
|
2811
2830
|
});
|
|
2831
|
+
connection.onRequest("gitHubToken.getToken", async (params) => {
|
|
2832
|
+
const handler = handlers.gitHubToken;
|
|
2833
|
+
if (!handler) throw new Error("No gitHubToken client-global handler registered");
|
|
2834
|
+
return handler.getToken(params);
|
|
2835
|
+
});
|
|
2812
2836
|
}
|
|
2813
2837
|
export {
|
|
2814
2838
|
createInternalServerRpc,
|