@github/copilot-sdk-win32-x64 1.0.17-preview.7 → 1.0.17-preview.9
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/copilot-sdk/extension.js +26 -9
- package/copilot-sdk/generated/rpc.d.ts +152 -158
- package/copilot-sdk/generated/session-events.d.ts +4 -2
- package/copilot-sdk/index.js +26 -9
- package/copilot-sdk/types.d.ts +7 -0
- package/package.json +1 -1
- package/prebuilds/win32-x64/copilot-runtime.exe +0 -0
- package/prebuilds/win32-x64/dpapi.node +0 -0
- package/prebuilds/win32-x64/msal-node-runtime.node +0 -0
- package/prebuilds/win32-x64/msalruntime.dll +0 -0
- package/prebuilds/win32-x64/runtime.node +2 -2
- package/ripgrep/bin/win32-x64/rg.exe +0 -0
- package/schemas/api.schema.json +260 -47
- package/schemas/session-events.schema.json +5 -3
- package/tgrep/bin/win32-x64/tgrep.exe +0 -0
package/copilot-sdk/extension.js
CHANGED
|
@@ -4690,21 +4690,15 @@ function createServerRpc(connection) {
|
|
|
4690
4690
|
/** @experimental */
|
|
4691
4691
|
settings: {
|
|
4692
4692
|
/**
|
|
4693
|
-
*
|
|
4694
|
-
*/
|
|
4695
|
-
reload: async () => connection.sendRequest("user.settings.reload", {}),
|
|
4696
|
-
/**
|
|
4697
|
-
* Lists every known user setting (settings.json overlaid with the legacy config.json, config.json wins), each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
4693
|
+
* Lists every known user setting from settings.json, each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
4698
4694
|
*
|
|
4699
|
-
* @returns Per-key metadata for every known user setting
|
|
4695
|
+
* @returns Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
|
|
4700
4696
|
*/
|
|
4701
4697
|
get: async () => connection.sendRequest("user.settings.get", {}),
|
|
4702
4698
|
/**
|
|
4703
|
-
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
4699
|
+
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
4704
4700
|
*
|
|
4705
4701
|
* @param params Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
|
|
4706
|
-
*
|
|
4707
|
-
* @returns Outcome of writing user settings.
|
|
4708
4702
|
*/
|
|
4709
4703
|
set: async (params) => connection.sendRequest("user.settings.set", params)
|
|
4710
4704
|
}
|
|
@@ -5131,6 +5125,29 @@ function createInternalServerRpc(connection) {
|
|
|
5131
5125
|
customAgentInitialModelDecision: async (params) => connection.sendRequest("agents.customAgentInitialModelDecision", params)
|
|
5132
5126
|
},
|
|
5133
5127
|
/** @experimental */
|
|
5128
|
+
globalState: {
|
|
5129
|
+
/**
|
|
5130
|
+
* Reads the host's machine-wide state: which plugins are installed and the one-off flags and timestamps that record what the user has already been shown or migrated. This is the state that outlives a single session and a single workspace, so a host reads it to decide whether to run a first-launch step, offer an onboarding prompt, or skip one it has already completed. The stored credentials are deliberately not part of this result; a caller that needs an authenticated identity asks the account methods for it instead. Reading is non-destructive and every field is optional, because a fresh install has recorded nothing yet.
|
|
5131
|
+
*
|
|
5132
|
+
* @returns The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.
|
|
5133
|
+
*/
|
|
5134
|
+
load: async () => connection.sendRequest("globalState.load", {}),
|
|
5135
|
+
/**
|
|
5136
|
+
* Reads the host's machine-wide state exactly as `globalState.load` does, but from a caller-supplied configuration directory instead of the one the server resolved for itself. Use this when a consumer scopes a session to its own Copilot home — the SDK's per-session `configDir` override — so the state read matches the directory that session actually uses. An absent or empty `configDir` resolves the server's own home, making this identical to `globalState.load`. The stored credentials are omitted here for the same reason they are omitted from `globalState.load`: a caller that needs an authenticated identity asks the account methods instead, so pointing this at another directory cannot be used to read the credentials kept in it.
|
|
5137
|
+
*
|
|
5138
|
+
* @param params Selects the configuration directory whose machine-wide state to read.
|
|
5139
|
+
*
|
|
5140
|
+
* @returns The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.
|
|
5141
|
+
*/
|
|
5142
|
+
loadForConfigDir: async (params) => connection.sendRequest("globalState.loadForConfigDir", params),
|
|
5143
|
+
/**
|
|
5144
|
+
* 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: `appInstallNudgeResponded`, `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.
|
|
5145
|
+
*
|
|
5146
|
+
* @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.
|
|
5147
|
+
*/
|
|
5148
|
+
writeKey: async (params) => connection.sendRequest("globalState.writeKey", params)
|
|
5149
|
+
},
|
|
5150
|
+
/** @experimental */
|
|
5134
5151
|
gitHubRepository: {
|
|
5135
5152
|
/**
|
|
5136
5153
|
* 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'.
|
|
@@ -471,6 +471,7 @@ export type AuthLoginResultStatus =
|
|
|
471
471
|
/** @experimental */
|
|
472
472
|
export type AuthReadValue = {
|
|
473
473
|
account?: AccountStatus;
|
|
474
|
+
authInfo?: AuthIdentity;
|
|
474
475
|
/**
|
|
475
476
|
* Account read-datum variant discriminator.
|
|
476
477
|
*/
|
|
@@ -1989,6 +1990,14 @@ export type GitHubTokenAcquireResult = {
|
|
|
1989
1990
|
*/
|
|
1990
1991
|
kind: "cancelled";
|
|
1991
1992
|
};
|
|
1993
|
+
/**
|
|
1994
|
+
* Source for direct repo installs (when marketplace is empty)
|
|
1995
|
+
*
|
|
1996
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
1997
|
+
* via the `definition` "InstalledPluginSource".
|
|
1998
|
+
*/
|
|
1999
|
+
/** @experimental */
|
|
2000
|
+
export type InstalledPluginSource = string | InstalledPluginSourceGitHub | InstalledPluginSourceUrl | InstalledPluginSourceLocal;
|
|
1992
2001
|
/**
|
|
1993
2002
|
* Optional compaction parameters.
|
|
1994
2003
|
*
|
|
@@ -2456,14 +2465,6 @@ export type InstallationDecision =
|
|
|
2456
2465
|
| "decline"
|
|
2457
2466
|
/** The user cancelled the pending decision without granting consent. */
|
|
2458
2467
|
| "cancel";
|
|
2459
|
-
/**
|
|
2460
|
-
* Source for direct repo installs (when marketplace is empty)
|
|
2461
|
-
*
|
|
2462
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
2463
|
-
* via the `definition` "InstalledPluginSource".
|
|
2464
|
-
*/
|
|
2465
|
-
/** @experimental */
|
|
2466
|
-
export type InstalledPluginSource = string | InstalledPluginSourceGitHub | InstalledPluginSourceUrl | InstalledPluginSourceLocal;
|
|
2467
2468
|
/**
|
|
2468
2469
|
* Which tier this target belongs to
|
|
2469
2470
|
*
|
|
@@ -3400,15 +3401,15 @@ export type SessionContextAttribution = {
|
|
|
3400
3401
|
*/
|
|
3401
3402
|
modelSource: string;
|
|
3402
3403
|
/**
|
|
3403
|
-
*
|
|
3404
|
+
* Effective input budget after reserving requested output against the combined context ceiling. Mirrors `SessionContextInfo.promptTokenLimit`.
|
|
3404
3405
|
*/
|
|
3405
3406
|
promptTokenLimit: number;
|
|
3406
3407
|
/**
|
|
3407
|
-
*
|
|
3408
|
+
* Advertised prompt allowance for the selected context tier: the denominator for context-usage displays and capacity for `categories.freeSpace` and `categories.buffer`. Mirrors `SessionContextInfo.limit`.
|
|
3408
3409
|
*/
|
|
3409
3410
|
limit: number;
|
|
3410
3411
|
/**
|
|
3411
|
-
* Output
|
|
3412
|
+
* Output reservation overlapping the displayed prompt allowance plus the tokens past the effective input budget's buffer-exhaustion blocking threshold. Mirrors `SessionContextInfo.bufferTokens`.
|
|
3412
3413
|
*/
|
|
3413
3414
|
bufferTokens: number;
|
|
3414
3415
|
/**
|
|
@@ -3444,7 +3445,7 @@ export type SessionContextAttribution = {
|
|
|
3444
3445
|
*/
|
|
3445
3446
|
freeSpace: number;
|
|
3446
3447
|
/**
|
|
3447
|
-
*
|
|
3448
|
+
* Overlapping output reservation plus post-blocking-threshold buffer.
|
|
3448
3449
|
*/
|
|
3449
3450
|
buffer: number;
|
|
3450
3451
|
};
|
|
@@ -3522,7 +3523,7 @@ export type SessionContextInfo = {
|
|
|
3522
3523
|
*/
|
|
3523
3524
|
totalTokens: number;
|
|
3524
3525
|
/**
|
|
3525
|
-
*
|
|
3526
|
+
* Effective input budget: the selected tier's prompt allowance bounded by the combined context ceiling minus the requested output allowance. Uses DEFAULT_TOKEN_LIMIT when limits are unspecified.
|
|
3526
3527
|
*/
|
|
3527
3528
|
promptTokenLimit: number;
|
|
3528
3529
|
/**
|
|
@@ -3530,11 +3531,11 @@ export type SessionContextInfo = {
|
|
|
3530
3531
|
*/
|
|
3531
3532
|
compactionThreshold: number;
|
|
3532
3533
|
/**
|
|
3533
|
-
*
|
|
3534
|
+
* Advertised prompt allowance for the selected context tier, without adding output tokens. The denominator for context-usage displays.
|
|
3534
3535
|
*/
|
|
3535
3536
|
limit: number;
|
|
3536
3537
|
/**
|
|
3537
|
-
* Output
|
|
3538
|
+
* Output reservation overlapping the displayed prompt allowance plus tokens after the effective input budget's buffer-exhaustion blocking threshold (default 95%).
|
|
3538
3539
|
*/
|
|
3539
3540
|
bufferTokens: number;
|
|
3540
3541
|
} | null;
|
|
@@ -11445,6 +11446,123 @@ export interface GitHubTokenAcquireRequest {
|
|
|
11445
11446
|
sessionId?: string;
|
|
11446
11447
|
reason: GitHubTokenAcquireReason;
|
|
11447
11448
|
}
|
|
11449
|
+
/**
|
|
11450
|
+
* Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
|
|
11451
|
+
*
|
|
11452
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11453
|
+
* via the `definition` "InstalledPlugin".
|
|
11454
|
+
*/
|
|
11455
|
+
/** @experimental */
|
|
11456
|
+
export interface InstalledPlugin {
|
|
11457
|
+
/**
|
|
11458
|
+
* Plugin name
|
|
11459
|
+
*/
|
|
11460
|
+
name: string;
|
|
11461
|
+
/**
|
|
11462
|
+
* Marketplace the plugin came from (empty string for direct repo installs)
|
|
11463
|
+
*/
|
|
11464
|
+
marketplace: string;
|
|
11465
|
+
/**
|
|
11466
|
+
* Version installed (if available)
|
|
11467
|
+
*/
|
|
11468
|
+
version?: string;
|
|
11469
|
+
/**
|
|
11470
|
+
* Installation timestamp
|
|
11471
|
+
*/
|
|
11472
|
+
installed_at: string;
|
|
11473
|
+
/**
|
|
11474
|
+
* Whether the plugin is currently enabled
|
|
11475
|
+
*/
|
|
11476
|
+
enabled: boolean;
|
|
11477
|
+
/**
|
|
11478
|
+
* Path where the plugin is cached locally
|
|
11479
|
+
*/
|
|
11480
|
+
cache_path?: string;
|
|
11481
|
+
source?: InstalledPluginSource;
|
|
11482
|
+
/**
|
|
11483
|
+
* 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.
|
|
11484
|
+
*/
|
|
11485
|
+
source_sha?: string;
|
|
11486
|
+
/**
|
|
11487
|
+
* 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.
|
|
11488
|
+
*/
|
|
11489
|
+
installed_from?: string;
|
|
11490
|
+
}
|
|
11491
|
+
/**
|
|
11492
|
+
* Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
|
|
11493
|
+
*
|
|
11494
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11495
|
+
* via the `definition` "InstalledPluginSourceGitHub".
|
|
11496
|
+
*/
|
|
11497
|
+
/** @experimental */
|
|
11498
|
+
export interface InstalledPluginSourceGitHub {
|
|
11499
|
+
/**
|
|
11500
|
+
* Constant value. Always "github".
|
|
11501
|
+
*/
|
|
11502
|
+
source: "github";
|
|
11503
|
+
/**
|
|
11504
|
+
* GitHub repository in `owner/repo` form.
|
|
11505
|
+
*/
|
|
11506
|
+
repo: string;
|
|
11507
|
+
/**
|
|
11508
|
+
* Optional Git ref to resolve.
|
|
11509
|
+
*/
|
|
11510
|
+
ref?: string;
|
|
11511
|
+
/**
|
|
11512
|
+
* Optional full 40-character hexadecimal commit SHA.
|
|
11513
|
+
*/
|
|
11514
|
+
sha?: string;
|
|
11515
|
+
/**
|
|
11516
|
+
* Optional repository-relative path to the plugin.
|
|
11517
|
+
*/
|
|
11518
|
+
path?: string;
|
|
11519
|
+
}
|
|
11520
|
+
/**
|
|
11521
|
+
* Source descriptor for a direct URL plugin install, with URL, optional ref or full commit SHA, and optional subpath.
|
|
11522
|
+
*
|
|
11523
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11524
|
+
* via the `definition` "InstalledPluginSourceUrl".
|
|
11525
|
+
*/
|
|
11526
|
+
/** @experimental */
|
|
11527
|
+
export interface InstalledPluginSourceUrl {
|
|
11528
|
+
/**
|
|
11529
|
+
* Constant value. Always "url".
|
|
11530
|
+
*/
|
|
11531
|
+
source: "url";
|
|
11532
|
+
/**
|
|
11533
|
+
* URL of the plugin source.
|
|
11534
|
+
*/
|
|
11535
|
+
url: string;
|
|
11536
|
+
/**
|
|
11537
|
+
* Optional Git ref to resolve.
|
|
11538
|
+
*/
|
|
11539
|
+
ref?: string;
|
|
11540
|
+
/**
|
|
11541
|
+
* Optional full 40-character hexadecimal commit SHA.
|
|
11542
|
+
*/
|
|
11543
|
+
sha?: string;
|
|
11544
|
+
/**
|
|
11545
|
+
* Optional source-relative path to the plugin.
|
|
11546
|
+
*/
|
|
11547
|
+
path?: string;
|
|
11548
|
+
}
|
|
11549
|
+
/**
|
|
11550
|
+
* Source descriptor for a direct local plugin install, with a local filesystem path.
|
|
11551
|
+
*
|
|
11552
|
+
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
11553
|
+
* via the `definition` "InstalledPluginSourceLocal".
|
|
11554
|
+
*/
|
|
11555
|
+
/** @experimental */
|
|
11556
|
+
export interface InstalledPluginSourceLocal {
|
|
11557
|
+
/**
|
|
11558
|
+
* Constant value. Always "local".
|
|
11559
|
+
*/
|
|
11560
|
+
source: "local";
|
|
11561
|
+
/**
|
|
11562
|
+
* Local filesystem path to the plugin.
|
|
11563
|
+
*/
|
|
11564
|
+
path: string;
|
|
11565
|
+
}
|
|
11448
11566
|
/**
|
|
11449
11567
|
* Pending external tool call request ID, with the tool result or an error describing why it failed.
|
|
11450
11568
|
*
|
|
@@ -12743,123 +12861,6 @@ export interface InstallationConfirmationResponse {
|
|
|
12743
12861
|
reviewFingerprint: string;
|
|
12744
12862
|
decision: InstallationDecision;
|
|
12745
12863
|
}
|
|
12746
|
-
/**
|
|
12747
|
-
* Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
|
|
12748
|
-
*
|
|
12749
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
12750
|
-
* via the `definition` "InstalledPlugin".
|
|
12751
|
-
*/
|
|
12752
|
-
/** @experimental */
|
|
12753
|
-
export interface InstalledPlugin {
|
|
12754
|
-
/**
|
|
12755
|
-
* Plugin name
|
|
12756
|
-
*/
|
|
12757
|
-
name: string;
|
|
12758
|
-
/**
|
|
12759
|
-
* Marketplace the plugin came from (empty string for direct repo installs)
|
|
12760
|
-
*/
|
|
12761
|
-
marketplace: string;
|
|
12762
|
-
/**
|
|
12763
|
-
* Version installed (if available)
|
|
12764
|
-
*/
|
|
12765
|
-
version?: string;
|
|
12766
|
-
/**
|
|
12767
|
-
* Installation timestamp
|
|
12768
|
-
*/
|
|
12769
|
-
installed_at: string;
|
|
12770
|
-
/**
|
|
12771
|
-
* Whether the plugin is currently enabled
|
|
12772
|
-
*/
|
|
12773
|
-
enabled: boolean;
|
|
12774
|
-
/**
|
|
12775
|
-
* Path where the plugin is cached locally
|
|
12776
|
-
*/
|
|
12777
|
-
cache_path?: string;
|
|
12778
|
-
source?: InstalledPluginSource;
|
|
12779
|
-
/**
|
|
12780
|
-
* 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.
|
|
12781
|
-
*/
|
|
12782
|
-
source_sha?: string;
|
|
12783
|
-
/**
|
|
12784
|
-
* 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.
|
|
12785
|
-
*/
|
|
12786
|
-
installed_from?: string;
|
|
12787
|
-
}
|
|
12788
|
-
/**
|
|
12789
|
-
* Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
|
|
12790
|
-
*
|
|
12791
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
12792
|
-
* via the `definition` "InstalledPluginSourceGitHub".
|
|
12793
|
-
*/
|
|
12794
|
-
/** @experimental */
|
|
12795
|
-
export interface InstalledPluginSourceGitHub {
|
|
12796
|
-
/**
|
|
12797
|
-
* Constant value. Always "github".
|
|
12798
|
-
*/
|
|
12799
|
-
source: "github";
|
|
12800
|
-
/**
|
|
12801
|
-
* GitHub repository in `owner/repo` form.
|
|
12802
|
-
*/
|
|
12803
|
-
repo: string;
|
|
12804
|
-
/**
|
|
12805
|
-
* Optional Git ref to resolve.
|
|
12806
|
-
*/
|
|
12807
|
-
ref?: string;
|
|
12808
|
-
/**
|
|
12809
|
-
* Optional full 40-character hexadecimal commit SHA.
|
|
12810
|
-
*/
|
|
12811
|
-
sha?: string;
|
|
12812
|
-
/**
|
|
12813
|
-
* Optional repository-relative path to the plugin.
|
|
12814
|
-
*/
|
|
12815
|
-
path?: string;
|
|
12816
|
-
}
|
|
12817
|
-
/**
|
|
12818
|
-
* Source descriptor for a direct URL plugin install, with URL, optional ref or full commit SHA, and optional subpath.
|
|
12819
|
-
*
|
|
12820
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
12821
|
-
* via the `definition` "InstalledPluginSourceUrl".
|
|
12822
|
-
*/
|
|
12823
|
-
/** @experimental */
|
|
12824
|
-
export interface InstalledPluginSourceUrl {
|
|
12825
|
-
/**
|
|
12826
|
-
* Constant value. Always "url".
|
|
12827
|
-
*/
|
|
12828
|
-
source: "url";
|
|
12829
|
-
/**
|
|
12830
|
-
* URL of the plugin source.
|
|
12831
|
-
*/
|
|
12832
|
-
url: string;
|
|
12833
|
-
/**
|
|
12834
|
-
* Optional Git ref to resolve.
|
|
12835
|
-
*/
|
|
12836
|
-
ref?: string;
|
|
12837
|
-
/**
|
|
12838
|
-
* Optional full 40-character hexadecimal commit SHA.
|
|
12839
|
-
*/
|
|
12840
|
-
sha?: string;
|
|
12841
|
-
/**
|
|
12842
|
-
* Optional source-relative path to the plugin.
|
|
12843
|
-
*/
|
|
12844
|
-
path?: string;
|
|
12845
|
-
}
|
|
12846
|
-
/**
|
|
12847
|
-
* Source descriptor for a direct local plugin install, with a local filesystem path.
|
|
12848
|
-
*
|
|
12849
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
12850
|
-
* via the `definition` "InstalledPluginSourceLocal".
|
|
12851
|
-
*/
|
|
12852
|
-
/** @experimental */
|
|
12853
|
-
export interface InstalledPluginSourceLocal {
|
|
12854
|
-
/**
|
|
12855
|
-
* Constant value. Always "local".
|
|
12856
|
-
*/
|
|
12857
|
-
source: "local";
|
|
12858
|
-
/**
|
|
12859
|
-
* Local filesystem path to the plugin.
|
|
12860
|
-
*/
|
|
12861
|
-
path: string;
|
|
12862
|
-
}
|
|
12863
12864
|
/**
|
|
12864
12865
|
* Information about an installed plugin tracked in global state.
|
|
12865
12866
|
*
|
|
@@ -16031,6 +16032,10 @@ export interface McpServer {
|
|
|
16031
16032
|
name: string;
|
|
16032
16033
|
status: McpServerStatus;
|
|
16033
16034
|
source?: McpServerSource;
|
|
16035
|
+
/**
|
|
16036
|
+
* Configured URL for an HTTP/SSE server, regardless of configuration source. Omitted for local and in-memory servers.
|
|
16037
|
+
*/
|
|
16038
|
+
url?: string;
|
|
16034
16039
|
/**
|
|
16035
16040
|
* Plugin name that provided this server, when source is plugin.
|
|
16036
16041
|
*/
|
|
@@ -16231,11 +16236,11 @@ export interface MetadataContextHeaviestMessagesResult {
|
|
|
16231
16236
|
/** @experimental */
|
|
16232
16237
|
export interface MetadataContextInfoRequest {
|
|
16233
16238
|
/**
|
|
16234
|
-
*
|
|
16239
|
+
* Advertised prompt allowance. Pass 0 to resolve the selected model and context tier from the session.
|
|
16235
16240
|
*/
|
|
16236
16241
|
promptTokenLimit: number;
|
|
16237
16242
|
/**
|
|
16238
|
-
*
|
|
16243
|
+
* Requested output allowance to reserve against the combined context ceiling. Pass 0 to resolve the session's request cap, falling back to the model's advertised output limit.
|
|
16239
16244
|
*/
|
|
16240
16245
|
outputTokenLimit: number;
|
|
16241
16246
|
/**
|
|
@@ -16474,6 +16479,10 @@ export interface Model {
|
|
|
16474
16479
|
metadata?: {
|
|
16475
16480
|
[k: string]: JsonValue | undefined;
|
|
16476
16481
|
};
|
|
16482
|
+
/**
|
|
16483
|
+
* Model vendor as the Copilot API reports it, for example "Anthropic" or "Azure OpenAI". Open vocabulary, passed through unchanged. It can name the vendor that serves the model instead of the one that built it, or a label that is not a vendor, such as "Experimental". Absent when the Copilot API reports no vendor.
|
|
16484
|
+
*/
|
|
16485
|
+
vendor?: string;
|
|
16477
16486
|
policy?: ModelPolicy;
|
|
16478
16487
|
billing?: ModelBilling;
|
|
16479
16488
|
/**
|
|
@@ -23177,6 +23186,10 @@ export interface SessionManagedPermissions {
|
|
|
23177
23186
|
* Permission rules that allow matching operations unless another managed source, deny, or ask rule restricts them.
|
|
23178
23187
|
*/
|
|
23179
23188
|
allow?: string[];
|
|
23189
|
+
/**
|
|
23190
|
+
* Closed-world host boundary expressed as `Domain(hostname)`, `Domain(IP)`, or `Domain(*.example.com)` rules. Schemes, ports, paths, queries, and fragments are rejected because every network request must be enforceable at host-level egress. Multiple managed sources intersect their lists; an empty list denies all hosts.
|
|
23191
|
+
*/
|
|
23192
|
+
limitTo?: string[];
|
|
23180
23193
|
}
|
|
23181
23194
|
/**
|
|
23182
23195
|
* Managed settings an SDK host may inject at session startup. Only permissions are accepted in this initial contract.
|
|
@@ -27997,7 +28010,7 @@ export interface UserSettingMetadata {
|
|
|
27997
28010
|
isDefault: boolean;
|
|
27998
28011
|
}
|
|
27999
28012
|
/**
|
|
28000
|
-
* Per-key metadata for every known user setting
|
|
28013
|
+
* Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
|
|
28001
28014
|
*
|
|
28002
28015
|
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
28003
28016
|
* via the `definition` "UserSettingsGetResult".
|
|
@@ -28024,19 +28037,6 @@ export interface UserSettingsSetRequest {
|
|
|
28024
28037
|
*/
|
|
28025
28038
|
settings: JsonValue;
|
|
28026
28039
|
}
|
|
28027
|
-
/**
|
|
28028
|
-
* Outcome of writing user settings.
|
|
28029
|
-
*
|
|
28030
|
-
* This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
|
|
28031
|
-
* via the `definition` "UserSettingsSetResult".
|
|
28032
|
-
*/
|
|
28033
|
-
/** @experimental */
|
|
28034
|
-
export interface UserSettingsSetResult {
|
|
28035
|
-
/**
|
|
28036
|
-
* Top-level keys whose write landed in settings.json but is shadowed by a value still present in the legacy config.json (config.json wins on read). The write does not take effect until the legacy value is removed.
|
|
28037
|
-
*/
|
|
28038
|
-
shadowedKeys: string[];
|
|
28039
|
-
}
|
|
28040
28040
|
/**
|
|
28041
28041
|
* Current sharing status and shareable GitHub URL for a session.
|
|
28042
28042
|
*
|
|
@@ -30713,23 +30713,17 @@ export declare function createServerRpc(connection: MessageConnection): {
|
|
|
30713
30713
|
/** @experimental */
|
|
30714
30714
|
settings: {
|
|
30715
30715
|
/**
|
|
30716
|
-
*
|
|
30717
|
-
*/
|
|
30718
|
-
reload: () => Promise<void>;
|
|
30719
|
-
/**
|
|
30720
|
-
* Lists every known user setting (settings.json overlaid with the legacy config.json, config.json wins), each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
30716
|
+
* Lists every known user setting from settings.json, each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
30721
30717
|
*
|
|
30722
|
-
* @returns Per-key metadata for every known user setting
|
|
30718
|
+
* @returns Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
|
|
30723
30719
|
*/
|
|
30724
30720
|
get: () => Promise<UserSettingsGetResult>;
|
|
30725
30721
|
/**
|
|
30726
|
-
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
30722
|
+
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
30727
30723
|
*
|
|
30728
30724
|
* @param params Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
|
|
30729
|
-
*
|
|
30730
|
-
* @returns Outcome of writing user settings.
|
|
30731
30725
|
*/
|
|
30732
|
-
set: (params: UserSettingsSetRequest) => Promise<
|
|
30726
|
+
set: (params: UserSettingsSetRequest) => Promise<void>;
|
|
30733
30727
|
};
|
|
30734
30728
|
};
|
|
30735
30729
|
/** @experimental */
|
|
@@ -740,7 +740,7 @@ export type AbortReason =
|
|
|
740
740
|
/** Autopilot stopped the run because the active objective reached its user-set --max-ai-credits limit. */
|
|
741
741
|
| "autopilot_credit_limit";
|
|
742
742
|
/**
|
|
743
|
-
* Configuration source: user, workspace, plugin, builtin, or
|
|
743
|
+
* Configuration source: user, workspace, plugin, builtin, managed, or account
|
|
744
744
|
*/
|
|
745
745
|
export type McpServerSource =
|
|
746
746
|
/** Server configured in the user's global MCP configuration. */
|
|
@@ -752,7 +752,9 @@ export type McpServerSource =
|
|
|
752
752
|
/** Server bundled with the runtime. */
|
|
753
753
|
| "builtin"
|
|
754
754
|
/** Server supplied by a trusted host-managed catalog. */
|
|
755
|
-
| "managed"
|
|
755
|
+
| "managed"
|
|
756
|
+
/** Server contributed by a signed-in account; enablement and organization policy still apply. */
|
|
757
|
+
| "account";
|
|
756
758
|
/**
|
|
757
759
|
* Transport mechanism: stdio, http, sse (deprecated), or memory (in-process MCP server)
|
|
758
760
|
*/
|
package/copilot-sdk/index.js
CHANGED
|
@@ -4690,21 +4690,15 @@ function createServerRpc(connection) {
|
|
|
4690
4690
|
/** @experimental */
|
|
4691
4691
|
settings: {
|
|
4692
4692
|
/**
|
|
4693
|
-
*
|
|
4694
|
-
*/
|
|
4695
|
-
reload: async () => connection.sendRequest("user.settings.reload", {}),
|
|
4696
|
-
/**
|
|
4697
|
-
* Lists every known user setting (settings.json overlaid with the legacy config.json, config.json wins), each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
4693
|
+
* Lists every known user setting from settings.json, each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
|
|
4698
4694
|
*
|
|
4699
|
-
* @returns Per-key metadata for every known user setting
|
|
4695
|
+
* @returns Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
|
|
4700
4696
|
*/
|
|
4701
4697
|
get: async () => connection.sendRequest("user.settings.get", {}),
|
|
4702
4698
|
/**
|
|
4703
|
-
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
4699
|
+
* Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
4704
4700
|
*
|
|
4705
4701
|
* @param params Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
|
|
4706
|
-
*
|
|
4707
|
-
* @returns Outcome of writing user settings.
|
|
4708
4702
|
*/
|
|
4709
4703
|
set: async (params) => connection.sendRequest("user.settings.set", params)
|
|
4710
4704
|
}
|
|
@@ -5131,6 +5125,29 @@ function createInternalServerRpc(connection) {
|
|
|
5131
5125
|
customAgentInitialModelDecision: async (params) => connection.sendRequest("agents.customAgentInitialModelDecision", params)
|
|
5132
5126
|
},
|
|
5133
5127
|
/** @experimental */
|
|
5128
|
+
globalState: {
|
|
5129
|
+
/**
|
|
5130
|
+
* Reads the host's machine-wide state: which plugins are installed and the one-off flags and timestamps that record what the user has already been shown or migrated. This is the state that outlives a single session and a single workspace, so a host reads it to decide whether to run a first-launch step, offer an onboarding prompt, or skip one it has already completed. The stored credentials are deliberately not part of this result; a caller that needs an authenticated identity asks the account methods for it instead. Reading is non-destructive and every field is optional, because a fresh install has recorded nothing yet.
|
|
5131
|
+
*
|
|
5132
|
+
* @returns The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.
|
|
5133
|
+
*/
|
|
5134
|
+
load: async () => connection.sendRequest("globalState.load", {}),
|
|
5135
|
+
/**
|
|
5136
|
+
* Reads the host's machine-wide state exactly as `globalState.load` does, but from a caller-supplied configuration directory instead of the one the server resolved for itself. Use this when a consumer scopes a session to its own Copilot home — the SDK's per-session `configDir` override — so the state read matches the directory that session actually uses. An absent or empty `configDir` resolves the server's own home, making this identical to `globalState.load`. The stored credentials are omitted here for the same reason they are omitted from `globalState.load`: a caller that needs an authenticated identity asks the account methods instead, so pointing this at another directory cannot be used to read the credentials kept in it.
|
|
5137
|
+
*
|
|
5138
|
+
* @param params Selects the configuration directory whose machine-wide state to read.
|
|
5139
|
+
*
|
|
5140
|
+
* @returns The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.
|
|
5141
|
+
*/
|
|
5142
|
+
loadForConfigDir: async (params) => connection.sendRequest("globalState.loadForConfigDir", params),
|
|
5143
|
+
/**
|
|
5144
|
+
* 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: `appInstallNudgeResponded`, `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.
|
|
5145
|
+
*
|
|
5146
|
+
* @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.
|
|
5147
|
+
*/
|
|
5148
|
+
writeKey: async (params) => connection.sendRequest("globalState.writeKey", params)
|
|
5149
|
+
},
|
|
5150
|
+
/** @experimental */
|
|
5134
5151
|
gitHubRepository: {
|
|
5135
5152
|
/**
|
|
5136
5153
|
* 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'.
|
package/copilot-sdk/types.d.ts
CHANGED
|
@@ -1882,6 +1882,13 @@ export interface ManagedSettingsPermissions {
|
|
|
1882
1882
|
* (across managed layers) must admit an operation for it to be allowed.
|
|
1883
1883
|
*/
|
|
1884
1884
|
allow?: string[];
|
|
1885
|
+
/**
|
|
1886
|
+
* Closed-world host boundary expressed as `Domain(hostname)`, `Domain(IP)`,
|
|
1887
|
+
* or `Domain(*.example.com)` rules. Schemes, ports, paths, queries, and
|
|
1888
|
+
* fragments are rejected. Multiple managed layers intersect their lists;
|
|
1889
|
+
* an empty list denies all hosts.
|
|
1890
|
+
*/
|
|
1891
|
+
limitTo?: string[];
|
|
1885
1892
|
}
|
|
1886
1893
|
/**
|
|
1887
1894
|
* Host-injected enterprise managed settings. The first supported contract is
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/prebuilds/win32-x64/runtime.node
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 109761472 bytes
|
|
4
|
+
sha256: 28fe3b090845ba54e414841407a824b1f361fd3787e378da3956e849f5c15a67
|
|
Binary file
|
package/schemas/api.schema.json
CHANGED
|
@@ -1150,6 +1150,50 @@
|
|
|
1150
1150
|
"stability": "experimental"
|
|
1151
1151
|
}
|
|
1152
1152
|
},
|
|
1153
|
+
"globalState": {
|
|
1154
|
+
"load": {
|
|
1155
|
+
"rpcMethod": "globalState.load",
|
|
1156
|
+
"description": "Reads the host's machine-wide state: which plugins are installed and the one-off flags and timestamps that record what the user has already been shown or migrated. This is the state that outlives a single session and a single workspace, so a host reads it to decide whether to run a first-launch step, offer an onboarding prompt, or skip one it has already completed. The stored credentials are deliberately not part of this result; a caller that needs an authenticated identity asks the account methods for it instead. Reading is non-destructive and every field is optional, because a fresh install has recorded nothing yet.",
|
|
1157
|
+
"params": null,
|
|
1158
|
+
"result": {
|
|
1159
|
+
"$ref": "#/definitions/GlobalStateLoadResult",
|
|
1160
|
+
"description": "The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.",
|
|
1161
|
+
"visibility": "internal"
|
|
1162
|
+
},
|
|
1163
|
+
"stability": "experimental",
|
|
1164
|
+
"visibility": "internal"
|
|
1165
|
+
},
|
|
1166
|
+
"loadForConfigDir": {
|
|
1167
|
+
"rpcMethod": "globalState.loadForConfigDir",
|
|
1168
|
+
"description": "Reads the host's machine-wide state exactly as `globalState.load` does, but from a caller-supplied configuration directory instead of the one the server resolved for itself. Use this when a consumer scopes a session to its own Copilot home — the SDK's per-session `configDir` override — so the state read matches the directory that session actually uses. An absent or empty `configDir` resolves the server's own home, making this identical to `globalState.load`. The stored credentials are omitted here for the same reason they are omitted from `globalState.load`: a caller that needs an authenticated identity asks the account methods instead, so pointing this at another directory cannot be used to read the credentials kept in it.",
|
|
1169
|
+
"params": {
|
|
1170
|
+
"$ref": "#/definitions/GlobalStateLoadForConfigDirRequest",
|
|
1171
|
+
"description": "Selects the configuration directory whose machine-wide state to read.",
|
|
1172
|
+
"visibility": "internal"
|
|
1173
|
+
},
|
|
1174
|
+
"result": {
|
|
1175
|
+
"$ref": "#/definitions/GlobalStateLoadResult",
|
|
1176
|
+
"description": "The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.",
|
|
1177
|
+
"visibility": "internal"
|
|
1178
|
+
},
|
|
1179
|
+
"stability": "experimental",
|
|
1180
|
+
"visibility": "internal"
|
|
1181
|
+
},
|
|
1182
|
+
"writeKey": {
|
|
1183
|
+
"rpcMethod": "globalState.writeKey",
|
|
1184
|
+
"description": "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: `appInstallNudgeResponded`, `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.",
|
|
1185
|
+
"params": {
|
|
1186
|
+
"$ref": "#/definitions/GlobalStateWriteKeyRequest",
|
|
1187
|
+
"description": "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.",
|
|
1188
|
+
"visibility": "internal"
|
|
1189
|
+
},
|
|
1190
|
+
"result": {
|
|
1191
|
+
"type": "null"
|
|
1192
|
+
},
|
|
1193
|
+
"stability": "experimental",
|
|
1194
|
+
"visibility": "internal"
|
|
1195
|
+
}
|
|
1196
|
+
},
|
|
1153
1197
|
"commands": {
|
|
1154
1198
|
"list": {
|
|
1155
1199
|
"rpcMethod": "commands.list",
|
|
@@ -1164,35 +1208,25 @@
|
|
|
1164
1208
|
},
|
|
1165
1209
|
"user": {
|
|
1166
1210
|
"settings": {
|
|
1167
|
-
"reload": {
|
|
1168
|
-
"rpcMethod": "user.settings.reload",
|
|
1169
|
-
"description": "Drops this runtime process's in-memory user settings cache so the next settings read observes disk.",
|
|
1170
|
-
"params": null,
|
|
1171
|
-
"result": {
|
|
1172
|
-
"type": "null"
|
|
1173
|
-
},
|
|
1174
|
-
"stability": "experimental"
|
|
1175
|
-
},
|
|
1176
1211
|
"get": {
|
|
1177
1212
|
"rpcMethod": "user.settings.get",
|
|
1178
|
-
"description": "Lists every known user setting
|
|
1213
|
+
"description": "Lists every known user setting from settings.json, each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.",
|
|
1179
1214
|
"params": null,
|
|
1180
1215
|
"result": {
|
|
1181
1216
|
"$ref": "#/definitions/UserSettingsGetResult",
|
|
1182
|
-
"description": "Per-key metadata for every known user setting
|
|
1217
|
+
"description": "Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides."
|
|
1183
1218
|
},
|
|
1184
1219
|
"stability": "experimental"
|
|
1185
1220
|
},
|
|
1186
1221
|
"set": {
|
|
1187
1222
|
"rpcMethod": "user.settings.set",
|
|
1188
|
-
"description": "Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
|
|
1223
|
+
"description": "Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.",
|
|
1189
1224
|
"params": {
|
|
1190
1225
|
"$ref": "#/definitions/UserSettingsSetRequest",
|
|
1191
1226
|
"description": "Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed."
|
|
1192
1227
|
},
|
|
1193
1228
|
"result": {
|
|
1194
|
-
"
|
|
1195
|
-
"description": "Outcome of writing user settings."
|
|
1229
|
+
"type": "null"
|
|
1196
1230
|
},
|
|
1197
1231
|
"stability": "experimental"
|
|
1198
1232
|
}
|
|
@@ -11054,12 +11088,12 @@
|
|
|
11054
11088
|
"promptTokenLimit": {
|
|
11055
11089
|
"type": "integer",
|
|
11056
11090
|
"minimum": 0,
|
|
11057
|
-
"description": "
|
|
11091
|
+
"description": "Advertised prompt allowance. Pass 0 to resolve the selected model and context tier from the session."
|
|
11058
11092
|
},
|
|
11059
11093
|
"outputTokenLimit": {
|
|
11060
11094
|
"type": "integer",
|
|
11061
11095
|
"minimum": 0,
|
|
11062
|
-
"description": "
|
|
11096
|
+
"description": "Requested output allowance to reserve against the combined context ceiling. Pass 0 to resolve the session's request cap, falling back to the model's advertised output limit."
|
|
11063
11097
|
},
|
|
11064
11098
|
"selectedModel": {
|
|
11065
11099
|
"type": "string",
|
|
@@ -16905,6 +16939,11 @@
|
|
|
16905
16939
|
"$ref": "#/definitions/AccountStatus",
|
|
16906
16940
|
"description": "The active account, or absent when not logged in."
|
|
16907
16941
|
},
|
|
16942
|
+
"authInfo": {
|
|
16943
|
+
"$ref": "#/definitions/AuthIdentity",
|
|
16944
|
+
"description": "Credential-free identity metadata for the active account, including resolved Copilot user information when available.",
|
|
16945
|
+
"x-copilot-sdk-append-last": true
|
|
16946
|
+
},
|
|
16908
16947
|
"kind": {
|
|
16909
16948
|
"type": "string",
|
|
16910
16949
|
"const": "activeAccount",
|
|
@@ -25195,6 +25234,152 @@
|
|
|
25195
25234
|
"title": "GitReposFromRemotesResult",
|
|
25196
25235
|
"visibility": "internal"
|
|
25197
25236
|
},
|
|
25237
|
+
"GlobalStateLoadForConfigDirRequest": {
|
|
25238
|
+
"type": "object",
|
|
25239
|
+
"properties": {
|
|
25240
|
+
"configDir": {
|
|
25241
|
+
"type": "string",
|
|
25242
|
+
"description": "Copilot configuration directory to read the state document from, taking precedence over the server's own `COPILOT_HOME` and default home. Omit it, or pass an empty string, to read the directory the server resolved for itself."
|
|
25243
|
+
}
|
|
25244
|
+
},
|
|
25245
|
+
"additionalProperties": false,
|
|
25246
|
+
"description": "Selects the configuration directory whose machine-wide state to read.",
|
|
25247
|
+
"title": "GlobalStateLoadForConfigDirRequest",
|
|
25248
|
+
"visibility": "internal"
|
|
25249
|
+
},
|
|
25250
|
+
"GlobalStateLoadResult": {
|
|
25251
|
+
"type": "object",
|
|
25252
|
+
"properties": {
|
|
25253
|
+
"installedPlugins": {
|
|
25254
|
+
"type": "array",
|
|
25255
|
+
"items": {
|
|
25256
|
+
"$ref": "#/definitions/InstalledPlugin",
|
|
25257
|
+
"description": "Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source."
|
|
25258
|
+
},
|
|
25259
|
+
"description": "Plugins installed on this machine."
|
|
25260
|
+
},
|
|
25261
|
+
"recentModelIds": {
|
|
25262
|
+
"type": "array",
|
|
25263
|
+
"items": {
|
|
25264
|
+
"type": "string"
|
|
25265
|
+
},
|
|
25266
|
+
"description": "Models the user selected recently, most recent first."
|
|
25267
|
+
},
|
|
25268
|
+
"firstLaunchAt": {
|
|
25269
|
+
"type": "string",
|
|
25270
|
+
"description": "When the host first ran on this machine."
|
|
25271
|
+
},
|
|
25272
|
+
"askedSetupTerminals": {
|
|
25273
|
+
"type": "array",
|
|
25274
|
+
"items": {
|
|
25275
|
+
"type": "string"
|
|
25276
|
+
},
|
|
25277
|
+
"description": "Terminals the user has already been asked to set up, so the host does not ask twice."
|
|
25278
|
+
},
|
|
25279
|
+
"suppressInitFolders": {
|
|
25280
|
+
"type": "array",
|
|
25281
|
+
"items": {
|
|
25282
|
+
"type": "string"
|
|
25283
|
+
},
|
|
25284
|
+
"description": "Folders where the user declined the init prompt, so it stays hidden there."
|
|
25285
|
+
},
|
|
25286
|
+
"sandboxOnboardingShown": {
|
|
25287
|
+
"type": "boolean",
|
|
25288
|
+
"description": "Whether the sandbox onboarding has been shown."
|
|
25289
|
+
},
|
|
25290
|
+
"sandboxCredentialProxyCaDeclined": {
|
|
25291
|
+
"type": "boolean",
|
|
25292
|
+
"description": "Whether the user declined to trust the sandbox credential proxy CA."
|
|
25293
|
+
},
|
|
25294
|
+
"appTipShown": {
|
|
25295
|
+
"type": "boolean",
|
|
25296
|
+
"description": "Whether the app tip has been shown."
|
|
25297
|
+
},
|
|
25298
|
+
"reasoningSummariesCleanupDone": {
|
|
25299
|
+
"type": "boolean",
|
|
25300
|
+
"description": "Whether the one-off cleanup of stored reasoning summaries has run."
|
|
25301
|
+
},
|
|
25302
|
+
"lastLoggedInUser": {
|
|
25303
|
+
"$ref": "#/definitions/LoggedInUser",
|
|
25304
|
+
"description": "Account used for the most recent sign-in."
|
|
25305
|
+
},
|
|
25306
|
+
"loggedInUsers": {
|
|
25307
|
+
"type": "array",
|
|
25308
|
+
"items": {
|
|
25309
|
+
"$ref": "#/definitions/LoggedInUser",
|
|
25310
|
+
"description": "An account the host has signed in to, identified by the server it lives on and the login it uses there. The same person can appear more than once when they use both github.com and an Enterprise server.",
|
|
25311
|
+
"visibility": "internal"
|
|
25312
|
+
},
|
|
25313
|
+
"description": "Every account the host has signed in to on this machine."
|
|
25314
|
+
},
|
|
25315
|
+
"staff": {
|
|
25316
|
+
"type": "boolean",
|
|
25317
|
+
"description": "Whether the user is a GitHub or Microsoft staff member, which unlocks internal-only behavior."
|
|
25318
|
+
},
|
|
25319
|
+
"staffGithub": {
|
|
25320
|
+
"type": "boolean",
|
|
25321
|
+
"description": "Whether the user was recognized as GitHub staff."
|
|
25322
|
+
},
|
|
25323
|
+
"staffMicrosoft": {
|
|
25324
|
+
"type": "boolean",
|
|
25325
|
+
"description": "Whether the user was recognized as Microsoft staff."
|
|
25326
|
+
},
|
|
25327
|
+
"staffModelResetAt": {
|
|
25328
|
+
"type": "string",
|
|
25329
|
+
"description": "When the staff-only model reset last ran."
|
|
25330
|
+
},
|
|
25331
|
+
"staffLogLevelMigrationAt": {
|
|
25332
|
+
"type": "string",
|
|
25333
|
+
"description": "When the staff-only log level migration last ran."
|
|
25334
|
+
},
|
|
25335
|
+
"staffUpdateChannelMigrationAt": {
|
|
25336
|
+
"type": "string",
|
|
25337
|
+
"description": "When the staff-only update channel migration last ran."
|
|
25338
|
+
},
|
|
25339
|
+
"trustedFolders": {
|
|
25340
|
+
"type": "array",
|
|
25341
|
+
"items": {
|
|
25342
|
+
"type": "string"
|
|
25343
|
+
},
|
|
25344
|
+
"description": "Folders the user has marked as trusted."
|
|
25345
|
+
},
|
|
25346
|
+
"appInstallNudgeResponded": {
|
|
25347
|
+
"type": "boolean",
|
|
25348
|
+
"description": "Whether the user has answered the prompt suggesting they install the desktop app."
|
|
25349
|
+
},
|
|
25350
|
+
"autoFeedbackLastPromptedAt": {
|
|
25351
|
+
"type": "string",
|
|
25352
|
+
"description": "When the Auto-feedback hint was last shown, as an ISO 8601 timestamp. It enforces the once-per-day cap for non-staff users across restarts."
|
|
25353
|
+
}
|
|
25354
|
+
},
|
|
25355
|
+
"description": "The host's machine-wide state. Every field is optional because a fresh install has recorded nothing yet, so a reader must treat an absent field as `not yet`, never as a negative answer. Stored credentials are deliberately absent from this shape.",
|
|
25356
|
+
"title": "GlobalStateLoadResult",
|
|
25357
|
+
"visibility": "internal"
|
|
25358
|
+
},
|
|
25359
|
+
"GlobalStateWriteKeyRequest": {
|
|
25360
|
+
"type": "object",
|
|
25361
|
+
"properties": {
|
|
25362
|
+
"configDir": {
|
|
25363
|
+
"type": "string",
|
|
25364
|
+
"description": "Copilot configuration directory to write the state document in, taking precedence over the server's own `COPILOT_HOME` and default home. Omit it, or pass an empty string, to write the directory the server resolved for itself. Mirrors `globalState.loadForConfigDir`, so a caller can read and write the same directory."
|
|
25365
|
+
},
|
|
25366
|
+
"key": {
|
|
25367
|
+
"type": "string",
|
|
25368
|
+
"description": "Top-level key to write, named as it appears in the result of `globalState.load`. It must be one of the writable keys that `globalState.writeKey` lists."
|
|
25369
|
+
},
|
|
25370
|
+
"value": {
|
|
25371
|
+
"description": "Value to store for the key. Omit it, or pass null, to remove the key instead.",
|
|
25372
|
+
"x-opaque-json": true
|
|
25373
|
+
}
|
|
25374
|
+
},
|
|
25375
|
+
"required": [
|
|
25376
|
+
"key"
|
|
25377
|
+
],
|
|
25378
|
+
"additionalProperties": false,
|
|
25379
|
+
"description": "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.",
|
|
25380
|
+
"title": "GlobalStateWriteKeyRequest",
|
|
25381
|
+
"visibility": "internal"
|
|
25382
|
+
},
|
|
25198
25383
|
"HandlePendingToolCallRequest": {
|
|
25199
25384
|
"type": "object",
|
|
25200
25385
|
"properties": {
|
|
@@ -27442,6 +27627,35 @@
|
|
|
27442
27627
|
"description": "Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID.",
|
|
27443
27628
|
"title": "LocalSessionMetadataValue"
|
|
27444
27629
|
},
|
|
27630
|
+
"LoggedInUser": {
|
|
27631
|
+
"type": "object",
|
|
27632
|
+
"properties": {
|
|
27633
|
+
"host": {
|
|
27634
|
+
"type": "string",
|
|
27635
|
+
"description": "Host the account belongs to, such as `github.com` or an Enterprise server."
|
|
27636
|
+
},
|
|
27637
|
+
"login": {
|
|
27638
|
+
"type": "string",
|
|
27639
|
+
"description": "Account login on that host."
|
|
27640
|
+
},
|
|
27641
|
+
"kind": {
|
|
27642
|
+
"type": "string",
|
|
27643
|
+
"description": "Account kind, when the host recorded one. Consumers must tolerate new strings."
|
|
27644
|
+
},
|
|
27645
|
+
"derivedFrom": {
|
|
27646
|
+
"type": "string",
|
|
27647
|
+
"description": "Source account this account was derived from, when one was recorded."
|
|
27648
|
+
}
|
|
27649
|
+
},
|
|
27650
|
+
"required": [
|
|
27651
|
+
"host",
|
|
27652
|
+
"login"
|
|
27653
|
+
],
|
|
27654
|
+
"additionalProperties": false,
|
|
27655
|
+
"description": "An account the host has signed in to, identified by the server it lives on and the login it uses there. The same person can appear more than once when they use both github.com and an Enterprise server.",
|
|
27656
|
+
"title": "LoggedInUser",
|
|
27657
|
+
"visibility": "internal"
|
|
27658
|
+
},
|
|
27445
27659
|
"LoginProviderKind": {
|
|
27446
27660
|
"type": "string",
|
|
27447
27661
|
"enum": [
|
|
@@ -32889,6 +33103,10 @@
|
|
|
32889
33103
|
"$ref": "#/definitions/McpServerSource",
|
|
32890
33104
|
"description": "Configuration source: user, workspace, plugin, builtin, or managed"
|
|
32891
33105
|
},
|
|
33106
|
+
"url": {
|
|
33107
|
+
"type": "string",
|
|
33108
|
+
"description": "Configured URL for an HTTP/SSE server, regardless of configuration source. Omitted for local and in-memory servers."
|
|
33109
|
+
},
|
|
32892
33110
|
"sourcePlugin": {
|
|
32893
33111
|
"type": "string",
|
|
32894
33112
|
"description": "Plugin name that provided this server, when source is plugin."
|
|
@@ -33662,16 +33880,18 @@
|
|
|
33662
33880
|
"workspace",
|
|
33663
33881
|
"plugin",
|
|
33664
33882
|
"builtin",
|
|
33665
|
-
"managed"
|
|
33883
|
+
"managed",
|
|
33884
|
+
"account"
|
|
33666
33885
|
],
|
|
33667
|
-
"description": "Configuration source: user, workspace, plugin, builtin, or
|
|
33886
|
+
"description": "Configuration source: user, workspace, plugin, builtin, managed, or account",
|
|
33668
33887
|
"title": "McpServerSource",
|
|
33669
33888
|
"x-enumDescriptions": {
|
|
33670
33889
|
"user": "Server configured in the user's global MCP configuration.",
|
|
33671
33890
|
"workspace": "Server configured by the current workspace.",
|
|
33672
33891
|
"plugin": "Server contributed by an installed plugin.",
|
|
33673
33892
|
"builtin": "Server bundled with the runtime.",
|
|
33674
|
-
"managed": "Server supplied by a trusted host-managed catalog."
|
|
33893
|
+
"managed": "Server supplied by a trusted host-managed catalog.",
|
|
33894
|
+
"account": "Server contributed by a signed-in account; enablement and organization policy still apply."
|
|
33675
33895
|
}
|
|
33676
33896
|
},
|
|
33677
33897
|
"McpServerStatus": {
|
|
@@ -34114,12 +34334,12 @@
|
|
|
34114
34334
|
"promptTokenLimit": {
|
|
34115
34335
|
"type": "integer",
|
|
34116
34336
|
"minimum": 0,
|
|
34117
|
-
"description": "
|
|
34337
|
+
"description": "Advertised prompt allowance. Pass 0 to resolve the selected model and context tier from the session."
|
|
34118
34338
|
},
|
|
34119
34339
|
"outputTokenLimit": {
|
|
34120
34340
|
"type": "integer",
|
|
34121
34341
|
"minimum": 0,
|
|
34122
|
-
"description": "
|
|
34342
|
+
"description": "Requested output allowance to reserve against the combined context ceiling. Pass 0 to resolve the session's request cap, falling back to the model's advertised output limit."
|
|
34123
34343
|
},
|
|
34124
34344
|
"selectedModel": {
|
|
34125
34345
|
"type": "string",
|
|
@@ -34395,6 +34615,10 @@
|
|
|
34395
34615
|
},
|
|
34396
34616
|
"description": "Provider-supplied model metadata. Keys and JSON-compatible values are preserved unchanged. This is factual metadata published by the model provider; it carries no picker or UX semantics."
|
|
34397
34617
|
},
|
|
34618
|
+
"vendor": {
|
|
34619
|
+
"type": "string",
|
|
34620
|
+
"description": "Model vendor as the Copilot API reports it, for example \"Anthropic\" or \"Azure OpenAI\". Open vocabulary, passed through unchanged. It can name the vendor that serves the model instead of the one that built it, or a label that is not a vendor, such as \"Experimental\". Absent when the Copilot API reports no vendor."
|
|
34621
|
+
},
|
|
34398
34622
|
"policy": {
|
|
34399
34623
|
"$ref": "#/definitions/ModelPolicy",
|
|
34400
34624
|
"description": "Policy state (if applicable)"
|
|
@@ -44130,17 +44354,17 @@
|
|
|
44130
44354
|
"promptTokenLimit": {
|
|
44131
44355
|
"type": "integer",
|
|
44132
44356
|
"minimum": 0,
|
|
44133
|
-
"description": "
|
|
44357
|
+
"description": "Effective input budget after reserving requested output against the combined context ceiling. Mirrors `SessionContextInfo.promptTokenLimit`."
|
|
44134
44358
|
},
|
|
44135
44359
|
"limit": {
|
|
44136
44360
|
"type": "integer",
|
|
44137
44361
|
"minimum": 0,
|
|
44138
|
-
"description": "
|
|
44362
|
+
"description": "Advertised prompt allowance for the selected context tier: the denominator for context-usage displays and capacity for `categories.freeSpace` and `categories.buffer`. Mirrors `SessionContextInfo.limit`."
|
|
44139
44363
|
},
|
|
44140
44364
|
"bufferTokens": {
|
|
44141
44365
|
"type": "integer",
|
|
44142
44366
|
"minimum": 0,
|
|
44143
|
-
"description": "Output
|
|
44367
|
+
"description": "Output reservation overlapping the displayed prompt allowance plus the tokens past the effective input budget's buffer-exhaustion blocking threshold. Mirrors `SessionContextInfo.bufferTokens`."
|
|
44144
44368
|
},
|
|
44145
44369
|
"compactionThreshold": {
|
|
44146
44370
|
"type": "integer",
|
|
@@ -44183,7 +44407,7 @@
|
|
|
44183
44407
|
"buffer": {
|
|
44184
44408
|
"type": "integer",
|
|
44185
44409
|
"minimum": 0,
|
|
44186
|
-
"description": "
|
|
44410
|
+
"description": "Overlapping output reservation plus post-blocking-threshold buffer."
|
|
44187
44411
|
}
|
|
44188
44412
|
},
|
|
44189
44413
|
"required": [
|
|
@@ -44330,7 +44554,7 @@
|
|
|
44330
44554
|
"promptTokenLimit": {
|
|
44331
44555
|
"type": "integer",
|
|
44332
44556
|
"minimum": 0,
|
|
44333
|
-
"description": "
|
|
44557
|
+
"description": "Effective input budget: the selected tier's prompt allowance bounded by the combined context ceiling minus the requested output allowance. Uses DEFAULT_TOKEN_LIMIT when limits are unspecified."
|
|
44334
44558
|
},
|
|
44335
44559
|
"compactionThreshold": {
|
|
44336
44560
|
"type": "integer",
|
|
@@ -44340,12 +44564,12 @@
|
|
|
44340
44564
|
"limit": {
|
|
44341
44565
|
"type": "integer",
|
|
44342
44566
|
"minimum": 0,
|
|
44343
|
-
"description": "
|
|
44567
|
+
"description": "Advertised prompt allowance for the selected context tier, without adding output tokens. The denominator for context-usage displays."
|
|
44344
44568
|
},
|
|
44345
44569
|
"bufferTokens": {
|
|
44346
44570
|
"type": "integer",
|
|
44347
44571
|
"minimum": 0,
|
|
44348
|
-
"description": "Output
|
|
44572
|
+
"description": "Output reservation overlapping the displayed prompt allowance plus tokens after the effective input budget's buffer-exhaustion blocking threshold (default 95%)."
|
|
44349
44573
|
}
|
|
44350
44574
|
},
|
|
44351
44575
|
"required": [
|
|
@@ -45649,6 +45873,13 @@
|
|
|
45649
45873
|
"type": "string"
|
|
45650
45874
|
},
|
|
45651
45875
|
"description": "Permission rules that allow matching operations unless another managed source, deny, or ask rule restricts them."
|
|
45876
|
+
},
|
|
45877
|
+
"limitTo": {
|
|
45878
|
+
"type": "array",
|
|
45879
|
+
"items": {
|
|
45880
|
+
"type": "string"
|
|
45881
|
+
},
|
|
45882
|
+
"description": "Closed-world host boundary expressed as `Domain(hostname)`, `Domain(IP)`, or `Domain(*.example.com)` rules. Schemes, ports, paths, queries, and fragments are rejected because every network request must be enforceable at host-level egress. Multiple managed sources intersect their lists; an empty list denies all hosts."
|
|
45652
45883
|
}
|
|
45653
45884
|
},
|
|
45654
45885
|
"additionalProperties": false,
|
|
@@ -54448,7 +54679,7 @@
|
|
|
54448
54679
|
"settings"
|
|
54449
54680
|
],
|
|
54450
54681
|
"additionalProperties": false,
|
|
54451
|
-
"description": "Per-key metadata for every known user setting
|
|
54682
|
+
"description": "Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.",
|
|
54452
54683
|
"title": "UserSettingsGetResult"
|
|
54453
54684
|
},
|
|
54454
54685
|
"UserSettingsSetRequest": {
|
|
@@ -54466,24 +54697,6 @@
|
|
|
54466
54697
|
"description": "Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.",
|
|
54467
54698
|
"title": "UserSettingsSetRequest"
|
|
54468
54699
|
},
|
|
54469
|
-
"UserSettingsSetResult": {
|
|
54470
|
-
"type": "object",
|
|
54471
|
-
"properties": {
|
|
54472
|
-
"shadowedKeys": {
|
|
54473
|
-
"type": "array",
|
|
54474
|
-
"items": {
|
|
54475
|
-
"type": "string"
|
|
54476
|
-
},
|
|
54477
|
-
"description": "Top-level keys whose write landed in settings.json but is shadowed by a value still present in the legacy config.json (config.json wins on read). The write does not take effect until the legacy value is removed."
|
|
54478
|
-
}
|
|
54479
|
-
},
|
|
54480
|
-
"required": [
|
|
54481
|
-
"shadowedKeys"
|
|
54482
|
-
],
|
|
54483
|
-
"additionalProperties": false,
|
|
54484
|
-
"description": "Outcome of writing user settings.",
|
|
54485
|
-
"title": "UserSettingsSetResult"
|
|
54486
|
-
},
|
|
54487
54700
|
"UserToolSessionApproval": {
|
|
54488
54701
|
"anyOf": [
|
|
54489
54702
|
{
|
|
@@ -11164,16 +11164,18 @@
|
|
|
11164
11164
|
"workspace",
|
|
11165
11165
|
"plugin",
|
|
11166
11166
|
"builtin",
|
|
11167
|
-
"managed"
|
|
11167
|
+
"managed",
|
|
11168
|
+
"account"
|
|
11168
11169
|
],
|
|
11169
|
-
"description": "Configuration source: user, workspace, plugin, builtin, or
|
|
11170
|
+
"description": "Configuration source: user, workspace, plugin, builtin, managed, or account",
|
|
11170
11171
|
"title": "McpServerSource",
|
|
11171
11172
|
"x-enumDescriptions": {
|
|
11172
11173
|
"user": "Server configured in the user's global MCP configuration.",
|
|
11173
11174
|
"workspace": "Server configured by the current workspace.",
|
|
11174
11175
|
"plugin": "Server contributed by an installed plugin.",
|
|
11175
11176
|
"builtin": "Server bundled with the runtime.",
|
|
11176
|
-
"managed": "Server supplied by a trusted host-managed catalog."
|
|
11177
|
+
"managed": "Server supplied by a trusted host-managed catalog.",
|
|
11178
|
+
"account": "Server contributed by a signed-in account; enablement and organization policy still apply."
|
|
11177
11179
|
}
|
|
11178
11180
|
},
|
|
11179
11181
|
"McpServerStatus": {
|
|
Binary file
|