@alvin0/ai-agent-sdk-provider-copilot 0.1.1 → 0.1.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 +8 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -5
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -12,6 +12,14 @@ contract, Copilot token exchange, model-driven endpoint routing across
|
|
|
12
12
|
provider plugin. A `CopilotCredentialStore` must be injected; filesystem and
|
|
13
13
|
environment defaults belong to the Node auth package.
|
|
14
14
|
|
|
15
|
+
Use `defineCredentialStore<CopilotAuthFile>({ id, label, read, commit })` to
|
|
16
|
+
persist GitHub credentials in your database. `getCopilotToken(store, { tokenCache })`
|
|
17
|
+
acquires a short-lived API token; `forceRefresh: true` invalidates its cached entry.
|
|
18
|
+
Share `tokenCache` with `copilotPlugin`, or implement its `acquire`/`invalidate`
|
|
19
|
+
methods to own database caching and exchange. `exchangeCopilotToken` remains
|
|
20
|
+
available for standalone exchange. The GitHub credential does not rotate.
|
|
21
|
+
See the [working database example](../../samples/credential-database/README.md).
|
|
22
|
+
|
|
15
23
|
```ts
|
|
16
24
|
import { ModelRegistry } from '@alvin0/ai-agent-sdk-core'
|
|
17
25
|
import { copilotPlugin, memoryCopilotCredentialStore } from '@alvin0/ai-agent-sdk-provider-copilot'
|
package/dist/index.d.ts
CHANGED
|
@@ -1001,6 +1001,22 @@ declare function copilotPlugin(options: CopilotPluginOptions): ComposableModelPr
|
|
|
1001
1001
|
readonly family: 'copilot';
|
|
1002
1002
|
};
|
|
1003
1003
|
//#endregion
|
|
1004
|
+
//#region src/token.d.ts
|
|
1005
|
+
/** Store-backed token acquisition, with an optional application-owned cache. */
|
|
1006
|
+
interface GetCopilotTokenOptions extends CopilotTokenCacheOptions {
|
|
1007
|
+
/** Reuse the same cache as copilotPlugin; when omitted each call exchanges anew. */
|
|
1008
|
+
readonly tokenCache?: CopilotTokenCache;
|
|
1009
|
+
/** Invalidate the cached entry before acquisition; an in-flight exchange may be reused. */
|
|
1010
|
+
readonly forceRefresh?: boolean;
|
|
1011
|
+
}
|
|
1012
|
+
/**
|
|
1013
|
+
* Read a GitHub credential from any store and acquire a live Copilot API token.
|
|
1014
|
+
* The GitHub credential does not rotate. A custom tokenCache can persist API tokens
|
|
1015
|
+
* in a database; its acquire/invalidate methods own refresh and cache policy.
|
|
1016
|
+
* When tokenCache is supplied, its configuration owns exchange settings.
|
|
1017
|
+
*/
|
|
1018
|
+
declare function getCopilotToken(store: CopilotCredentialStore | CopilotAuthStore, options?: GetCopilotTokenOptions): Promise<CopilotApiToken>;
|
|
1019
|
+
//#endregion
|
|
1004
1020
|
//#region src/common/error-codes.d.ts
|
|
1005
1021
|
/**
|
|
1006
1022
|
* The Copilot error codes, in the leaf layer so the shared HTTP modules can reach
|
|
@@ -1293,5 +1309,5 @@ declare function requestCopilotDeviceCode(options?: CopilotOAuthOptions): Promis
|
|
|
1293
1309
|
declare function runCopilotDeviceLogin(store: CopilotCredentialStore, options?: CopilotOAuthOptions, progress?: CopilotLoginProgress): Promise<CopilotLoginResult>;
|
|
1294
1310
|
declare function runCopilotDeviceLogin(store: CopilotAuthStore, options?: CopilotOAuthOptions, progress?: CopilotLoginProgress): Promise<CopilotLoginResult>;
|
|
1295
1311
|
//#endregion
|
|
1296
|
-
export { COPILOT_BASE_URL, COPILOT_CATALOG_PATH, COPILOT_DEFAULT_CATALOG_TIMEOUT_MS, COPILOT_DEFAULT_DIALECT, COPILOT_DEFAULT_MAX_CATALOG_BYTES, COPILOT_DEFAULT_MAX_CATALOG_CHUNKS, COPILOT_DEFAULT_MAX_CATALOG_MODELS, COPILOT_DEFAULT_POLL_INTERVAL_SECONDS, COPILOT_DEVICE_CODE_MAX_WAIT_MS, COPILOT_DEVICE_LOGIN_WARNING, COPILOT_DISPLAY_NAME, COPILOT_DUAL_PROTOCOL_ID, COPILOT_EDITOR_PLUGIN_VERSION, COPILOT_EDITOR_VERSION, COPILOT_ERROR_CODES, COPILOT_LOGIN_COMMAND, COPILOT_OAUTH_CLIENT_ID, COPILOT_OAUTH_SCOPE, COPILOT_PROVIDER_ID, COPILOT_RESPONSES_MODEL_PREFIXES, COPILOT_ROUTE_ID, COPILOT_SLOW_DOWN_INCREMENT_SECONDS, COPILOT_TOKEN_EXCHANGE_MARGIN_MS, COPILOT_TOKEN_EXCHANGE_PATH, type ChatCompletionsProtocolLike, type CopilotAccountIdentity, type CopilotApiToken, type CopilotAuthFile, type CopilotAuthStore, type CopilotCatalogLimits, type CopilotCatalogOptions, type CopilotCatalogSnapshot, type CopilotCredentialFailure, type CopilotCredentialSnapshot, type CopilotCredentialStore, type CopilotDeviceCode, CopilotDeviceLoginError, type CopilotDeviceLoginReason, type CopilotDialect, type CopilotDualProtocolOptions, type CopilotEditorHeaders, type CopilotEmbeddingModel, type CopilotEndpoint, type CopilotEndpointDecision, type CopilotEndpointRouter, type CopilotEndpointRouterOptions, type CopilotErrorCode, type CopilotExchangeOptions, type CopilotGenerationModel, type CopilotGitHubToken, type CopilotLegacyProviderOptions, type CopilotLoginProgress, type CopilotLoginResult, type CopilotOAuthOptions, type CopilotOmitReason, type CopilotOmittedModel, type CopilotPluginOptions, type CopilotProviderOptions, type CopilotSubProtocol, type CopilotTimer, type CopilotTokenCache, type CopilotTokenCacheEntry, type CopilotTokenCacheOptions, CopilotTokenExchangeError, type CopilotTokenExchangeFailureKind, type CopilotTokenExpiry, DEFAULT_COPILOT_OAUTH_ISSUER, DEFAULT_COPILOT_TIMER, DEFAULT_GITHUB_API_BASE_URL, type ResponsesProtocolLike, copilotAdapter, copilotCatalogCacheOptions, copilotDualProtocol, copilotPlugin, createCopilotEndpointRouter, createCopilotTokenCache, credentialFailure, discoverCopilotModels, exchangeCopilotToken, memoryCopilotAuthStore, memoryCopilotCredentialStore, partitionCopilotCatalog, requestCopilotDeviceCode, requireGitHubToken, resolveCopilotCatalogLimits, runCopilotDeviceLogin, shouldExchange, toChatCompletionsDialect, toResponsesDialect };
|
|
1312
|
+
export { COPILOT_BASE_URL, COPILOT_CATALOG_PATH, COPILOT_DEFAULT_CATALOG_TIMEOUT_MS, COPILOT_DEFAULT_DIALECT, COPILOT_DEFAULT_MAX_CATALOG_BYTES, COPILOT_DEFAULT_MAX_CATALOG_CHUNKS, COPILOT_DEFAULT_MAX_CATALOG_MODELS, COPILOT_DEFAULT_POLL_INTERVAL_SECONDS, COPILOT_DEVICE_CODE_MAX_WAIT_MS, COPILOT_DEVICE_LOGIN_WARNING, COPILOT_DISPLAY_NAME, COPILOT_DUAL_PROTOCOL_ID, COPILOT_EDITOR_PLUGIN_VERSION, COPILOT_EDITOR_VERSION, COPILOT_ERROR_CODES, COPILOT_LOGIN_COMMAND, COPILOT_OAUTH_CLIENT_ID, COPILOT_OAUTH_SCOPE, COPILOT_PROVIDER_ID, COPILOT_RESPONSES_MODEL_PREFIXES, COPILOT_ROUTE_ID, COPILOT_SLOW_DOWN_INCREMENT_SECONDS, COPILOT_TOKEN_EXCHANGE_MARGIN_MS, COPILOT_TOKEN_EXCHANGE_PATH, type ChatCompletionsProtocolLike, type CopilotAccountIdentity, type CopilotApiToken, type CopilotAuthFile, type CopilotAuthStore, type CopilotCatalogLimits, type CopilotCatalogOptions, type CopilotCatalogSnapshot, type CopilotCredentialFailure, type CopilotCredentialSnapshot, type CopilotCredentialStore, type CopilotDeviceCode, CopilotDeviceLoginError, type CopilotDeviceLoginReason, type CopilotDialect, type CopilotDualProtocolOptions, type CopilotEditorHeaders, type CopilotEmbeddingModel, type CopilotEndpoint, type CopilotEndpointDecision, type CopilotEndpointRouter, type CopilotEndpointRouterOptions, type CopilotErrorCode, type CopilotExchangeOptions, type CopilotGenerationModel, type CopilotGitHubToken, type CopilotLegacyProviderOptions, type CopilotLoginProgress, type CopilotLoginResult, type CopilotOAuthOptions, type CopilotOmitReason, type CopilotOmittedModel, type CopilotPluginOptions, type CopilotProviderOptions, type CopilotSubProtocol, type CopilotTimer, type CopilotTokenCache, type CopilotTokenCacheEntry, type CopilotTokenCacheOptions, CopilotTokenExchangeError, type CopilotTokenExchangeFailureKind, type CopilotTokenExpiry, DEFAULT_COPILOT_OAUTH_ISSUER, DEFAULT_COPILOT_TIMER, DEFAULT_GITHUB_API_BASE_URL, type GetCopilotTokenOptions, type ResponsesProtocolLike, copilotAdapter, copilotCatalogCacheOptions, copilotDualProtocol, copilotPlugin, createCopilotEndpointRouter, createCopilotTokenCache, credentialFailure, discoverCopilotModels, exchangeCopilotToken, getCopilotToken, memoryCopilotAuthStore, memoryCopilotCredentialStore, partitionCopilotCatalog, requestCopilotDeviceCode, requireGitHubToken, resolveCopilotCatalogLimits, runCopilotDeviceLogin, shouldExchange, toChatCompletionsDialect, toResponsesDialect };
|
|
1297
1313
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/catalog.ts","../src/common/identity.ts","../src/common/store-types.ts","../src/router.ts","../src/dual-protocol.ts","../src/auth.ts","../src/common/http.ts","../src/exchange.ts","../src/adapter.ts","../src/common/error-codes.ts","../src/errors.ts","../src/oauth.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/catalog.ts","../src/common/identity.ts","../src/common/store-types.ts","../src/router.ts","../src/dual-protocol.ts","../src/auth.ts","../src/common/http.ts","../src/exchange.ts","../src/adapter.ts","../src/token.ts","../src/common/error-codes.ts","../src/errors.ts","../src/oauth.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -604,7 +604,10 @@ async function readCopilotResponseText(response, options = {}) {
|
|
|
604
604
|
* @returns the pending value, when it arrives first.
|
|
605
605
|
*/
|
|
606
606
|
function raceAbort(pending, signal) {
|
|
607
|
-
if (signal.aborted)
|
|
607
|
+
if (signal.aborted) {
|
|
608
|
+
pending.catch(() => void 0);
|
|
609
|
+
return Promise.reject(abortReason(signal));
|
|
610
|
+
}
|
|
608
611
|
return new Promise((resolve, reject) => {
|
|
609
612
|
const abort = () => {
|
|
610
613
|
cleanup();
|
|
@@ -1872,8 +1875,8 @@ const COPILOT_ROUTE_ID = "copilot";
|
|
|
1872
1875
|
/** Display name reported by the adapter and the plugin. */
|
|
1873
1876
|
const COPILOT_DISPLAY_NAME = "GitHub Copilot";
|
|
1874
1877
|
/** Never-aborting logger sink for a resolve that arrives without a context. */
|
|
1875
|
-
const NULL_LOGGER$
|
|
1876
|
-
child: () => NULL_LOGGER$
|
|
1878
|
+
const NULL_LOGGER$2 = Object.freeze({
|
|
1879
|
+
child: () => NULL_LOGGER$2,
|
|
1877
1880
|
trace: () => void 0,
|
|
1878
1881
|
debug: () => void 0,
|
|
1879
1882
|
info: () => void 0,
|
|
@@ -1970,7 +1973,7 @@ function buildCopilotAdapter(options, captured) {
|
|
|
1970
1973
|
resolve: async ({ signal, context }) => {
|
|
1971
1974
|
const operation = {
|
|
1972
1975
|
signal,
|
|
1973
|
-
logger: context?.logger ?? NULL_LOGGER$
|
|
1976
|
+
logger: context?.logger ?? NULL_LOGGER$2
|
|
1974
1977
|
};
|
|
1975
1978
|
const snapshot = await readCopilotSnapshot(captured, operation);
|
|
1976
1979
|
const github = requireGitHubToken(snapshot.file, snapshot.label);
|
|
@@ -2265,6 +2268,45 @@ function randomId() {
|
|
|
2265
2268
|
return globalThis.crypto?.randomUUID?.() ?? `sdk-${Date.now().toString(36)}`;
|
|
2266
2269
|
}
|
|
2267
2270
|
|
|
2271
|
+
//#endregion
|
|
2272
|
+
//#region src/token.ts
|
|
2273
|
+
const NULL_LOGGER$1 = Object.freeze({
|
|
2274
|
+
child: () => NULL_LOGGER$1,
|
|
2275
|
+
trace: () => void 0,
|
|
2276
|
+
debug: () => void 0,
|
|
2277
|
+
info: () => void 0,
|
|
2278
|
+
warn: () => void 0,
|
|
2279
|
+
error: () => void 0,
|
|
2280
|
+
fatal: () => void 0
|
|
2281
|
+
});
|
|
2282
|
+
/**
|
|
2283
|
+
* Read a GitHub credential from any store and acquire a live Copilot API token.
|
|
2284
|
+
* The GitHub credential does not rotate. A custom tokenCache can persist API tokens
|
|
2285
|
+
* in a database; its acquire/invalidate methods own refresh and cache policy.
|
|
2286
|
+
* When tokenCache is supplied, its configuration owns exchange settings.
|
|
2287
|
+
*/
|
|
2288
|
+
async function getCopilotToken(store, options = {}) {
|
|
2289
|
+
const operation = {
|
|
2290
|
+
signal: options.signal ?? new AbortController().signal,
|
|
2291
|
+
logger: NULL_LOGGER$1
|
|
2292
|
+
};
|
|
2293
|
+
operation.signal.throwIfAborted();
|
|
2294
|
+
const captured = captureCopilotStore(store);
|
|
2295
|
+
const record = captured.kind === "versioned" ? await raceAbort(captured.store.read(operation), operation.signal) : void 0;
|
|
2296
|
+
const file = captured.kind === "legacy" ? await raceAbort(captured.store.read(), operation.signal) : record?.value;
|
|
2297
|
+
operation.signal.throwIfAborted();
|
|
2298
|
+
requireGitHubToken(file, captured.label);
|
|
2299
|
+
if (file === void 0) throw new TypeError("Copilot credential is missing");
|
|
2300
|
+
const cache = options.tokenCache ?? createCopilotTokenCache(options);
|
|
2301
|
+
if (options.forceRefresh === true) cache.invalidate();
|
|
2302
|
+
operation.signal.throwIfAborted();
|
|
2303
|
+
return raceAbort(cache.acquire({
|
|
2304
|
+
file,
|
|
2305
|
+
revision: record?.revision ?? null,
|
|
2306
|
+
label: captured.label
|
|
2307
|
+
}, operation), operation.signal);
|
|
2308
|
+
}
|
|
2309
|
+
|
|
2268
2310
|
//#endregion
|
|
2269
2311
|
//#region src/oauth.ts
|
|
2270
2312
|
/** GitHub's OAuth issuer. */
|
|
@@ -2676,5 +2718,5 @@ async function commitStore(captured, file, expectedRevision, operation) {
|
|
|
2676
2718
|
}
|
|
2677
2719
|
|
|
2678
2720
|
//#endregion
|
|
2679
|
-
export { COPILOT_BASE_URL, COPILOT_CATALOG_PATH, COPILOT_DEFAULT_CATALOG_TIMEOUT_MS, COPILOT_DEFAULT_DIALECT, COPILOT_DEFAULT_MAX_CATALOG_BYTES, COPILOT_DEFAULT_MAX_CATALOG_CHUNKS, COPILOT_DEFAULT_MAX_CATALOG_MODELS, COPILOT_DEFAULT_POLL_INTERVAL_SECONDS, COPILOT_DEVICE_CODE_MAX_WAIT_MS, COPILOT_DEVICE_LOGIN_WARNING, COPILOT_DISPLAY_NAME, COPILOT_DUAL_PROTOCOL_ID, COPILOT_EDITOR_PLUGIN_VERSION, COPILOT_EDITOR_VERSION, COPILOT_ERROR_CODES, COPILOT_LOGIN_COMMAND, COPILOT_OAUTH_CLIENT_ID, COPILOT_OAUTH_SCOPE, COPILOT_PROVIDER_ID, COPILOT_RESPONSES_MODEL_PREFIXES, COPILOT_ROUTE_ID, COPILOT_SLOW_DOWN_INCREMENT_SECONDS, COPILOT_TOKEN_EXCHANGE_MARGIN_MS, COPILOT_TOKEN_EXCHANGE_PATH, CopilotDeviceLoginError, CopilotTokenExchangeError, DEFAULT_COPILOT_OAUTH_ISSUER, DEFAULT_COPILOT_TIMER, DEFAULT_GITHUB_API_BASE_URL, copilotAdapter, copilotCatalogCacheOptions, copilotDualProtocol, copilotPlugin, createCopilotEndpointRouter, createCopilotTokenCache, credentialFailure, discoverCopilotModels, exchangeCopilotToken, memoryCopilotAuthStore, memoryCopilotCredentialStore, partitionCopilotCatalog, requestCopilotDeviceCode, requireGitHubToken, resolveCopilotCatalogLimits, runCopilotDeviceLogin, shouldExchange, toChatCompletionsDialect, toResponsesDialect };
|
|
2721
|
+
export { COPILOT_BASE_URL, COPILOT_CATALOG_PATH, COPILOT_DEFAULT_CATALOG_TIMEOUT_MS, COPILOT_DEFAULT_DIALECT, COPILOT_DEFAULT_MAX_CATALOG_BYTES, COPILOT_DEFAULT_MAX_CATALOG_CHUNKS, COPILOT_DEFAULT_MAX_CATALOG_MODELS, COPILOT_DEFAULT_POLL_INTERVAL_SECONDS, COPILOT_DEVICE_CODE_MAX_WAIT_MS, COPILOT_DEVICE_LOGIN_WARNING, COPILOT_DISPLAY_NAME, COPILOT_DUAL_PROTOCOL_ID, COPILOT_EDITOR_PLUGIN_VERSION, COPILOT_EDITOR_VERSION, COPILOT_ERROR_CODES, COPILOT_LOGIN_COMMAND, COPILOT_OAUTH_CLIENT_ID, COPILOT_OAUTH_SCOPE, COPILOT_PROVIDER_ID, COPILOT_RESPONSES_MODEL_PREFIXES, COPILOT_ROUTE_ID, COPILOT_SLOW_DOWN_INCREMENT_SECONDS, COPILOT_TOKEN_EXCHANGE_MARGIN_MS, COPILOT_TOKEN_EXCHANGE_PATH, CopilotDeviceLoginError, CopilotTokenExchangeError, DEFAULT_COPILOT_OAUTH_ISSUER, DEFAULT_COPILOT_TIMER, DEFAULT_GITHUB_API_BASE_URL, copilotAdapter, copilotCatalogCacheOptions, copilotDualProtocol, copilotPlugin, createCopilotEndpointRouter, createCopilotTokenCache, credentialFailure, discoverCopilotModels, exchangeCopilotToken, getCopilotToken, memoryCopilotAuthStore, memoryCopilotCredentialStore, partitionCopilotCatalog, requestCopilotDeviceCode, requireGitHubToken, resolveCopilotCatalogLimits, runCopilotDeviceLogin, shouldExchange, toChatCompletionsDialect, toResponsesDialect };
|
|
2680
2722
|
//# sourceMappingURL=index.js.map
|