@theia/ai-copilot 1.76.0-next.4 → 1.76.0-next.42

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.
Files changed (150) hide show
  1. package/README.md +87 -14
  2. package/lib/browser/copilot-auth-dialog.d.ts.map +1 -1
  3. package/lib/browser/copilot-auth-dialog.js +19 -11
  4. package/lib/browser/copilot-auth-dialog.js.map +1 -1
  5. package/lib/browser/copilot-frontend-application-contribution.d.ts +21 -1
  6. package/lib/browser/copilot-frontend-application-contribution.d.ts.map +1 -1
  7. package/lib/browser/copilot-frontend-application-contribution.js +129 -26
  8. package/lib/browser/copilot-frontend-application-contribution.js.map +1 -1
  9. package/lib/common/copilot-auth-service.d.ts +27 -24
  10. package/lib/common/copilot-auth-service.d.ts.map +1 -1
  11. package/lib/common/copilot-language-models-manager.d.ts +6 -22
  12. package/lib/common/copilot-language-models-manager.d.ts.map +1 -1
  13. package/lib/common/copilot-language-models-manager.js +1 -13
  14. package/lib/common/copilot-language-models-manager.js.map +1 -1
  15. package/lib/common/copilot-preferences.d.ts +1 -0
  16. package/lib/common/copilot-preferences.d.ts.map +1 -1
  17. package/lib/common/copilot-preferences.js +24 -6
  18. package/lib/common/copilot-preferences.js.map +1 -1
  19. package/lib/common/index.d.ts +0 -1
  20. package/lib/common/index.d.ts.map +1 -1
  21. package/lib/common/index.js +0 -1
  22. package/lib/common/index.js.map +1 -1
  23. package/lib/node/copilot-auth-service-impl.d.ts +25 -16
  24. package/lib/node/copilot-auth-service-impl.d.ts.map +1 -1
  25. package/lib/node/copilot-auth-service-impl.js +67 -183
  26. package/lib/node/copilot-auth-service-impl.js.map +1 -1
  27. package/lib/node/copilot-auth-service-impl.spec.js +104 -168
  28. package/lib/node/copilot-auth-service-impl.spec.js.map +1 -1
  29. package/lib/node/copilot-backend-module.d.ts.map +1 -1
  30. package/lib/node/copilot-backend-module.js +10 -2
  31. package/lib/node/copilot-backend-module.js.map +1 -1
  32. package/lib/node/copilot-cli-auth-provider.d.ts +146 -0
  33. package/lib/node/copilot-cli-auth-provider.d.ts.map +1 -0
  34. package/lib/node/copilot-cli-auth-provider.js +430 -0
  35. package/lib/node/copilot-cli-auth-provider.js.map +1 -0
  36. package/lib/node/copilot-cli-auth-provider.spec.d.ts +2 -0
  37. package/lib/node/copilot-cli-auth-provider.spec.d.ts.map +1 -0
  38. package/lib/node/copilot-cli-auth-provider.spec.js +249 -0
  39. package/lib/node/copilot-cli-auth-provider.spec.js.map +1 -0
  40. package/lib/node/copilot-cli-locator.d.ts +120 -0
  41. package/lib/node/copilot-cli-locator.d.ts.map +1 -0
  42. package/lib/node/copilot-cli-locator.js +348 -0
  43. package/lib/node/copilot-cli-locator.js.map +1 -0
  44. package/lib/node/copilot-cli-locator.spec.d.ts +2 -0
  45. package/lib/node/copilot-cli-locator.spec.d.ts.map +1 -0
  46. package/lib/node/copilot-cli-locator.spec.js +327 -0
  47. package/lib/node/copilot-cli-locator.spec.js.map +1 -0
  48. package/lib/node/copilot-credential-store.d.ts +45 -0
  49. package/lib/node/copilot-credential-store.d.ts.map +1 -0
  50. package/lib/node/copilot-credential-store.js +96 -0
  51. package/lib/node/copilot-credential-store.js.map +1 -0
  52. package/lib/node/copilot-credential-store.spec.d.ts +2 -0
  53. package/lib/node/copilot-credential-store.spec.d.ts.map +1 -0
  54. package/lib/node/copilot-credential-store.spec.js +93 -0
  55. package/lib/node/copilot-credential-store.spec.js.map +1 -0
  56. package/lib/node/copilot-language-models-manager-impl.d.ts +44 -20
  57. package/lib/node/copilot-language-models-manager-impl.d.ts.map +1 -1
  58. package/lib/node/copilot-language-models-manager-impl.js +112 -65
  59. package/lib/node/copilot-language-models-manager-impl.js.map +1 -1
  60. package/lib/node/copilot-language-models-manager-impl.spec.d.ts +2 -0
  61. package/lib/node/copilot-language-models-manager-impl.spec.d.ts.map +1 -0
  62. package/lib/node/copilot-language-models-manager-impl.spec.js +162 -0
  63. package/lib/node/copilot-language-models-manager-impl.spec.js.map +1 -0
  64. package/lib/node/copilot-runtime-env.d.ts +20 -0
  65. package/lib/node/copilot-runtime-env.d.ts.map +1 -0
  66. package/lib/node/copilot-runtime-env.js +49 -0
  67. package/lib/node/copilot-runtime-env.js.map +1 -0
  68. package/lib/node/copilot-sdk-client-provider.d.ts +103 -0
  69. package/lib/node/copilot-sdk-client-provider.d.ts.map +1 -0
  70. package/lib/node/copilot-sdk-client-provider.js +247 -0
  71. package/lib/node/copilot-sdk-client-provider.js.map +1 -0
  72. package/lib/node/copilot-sdk-client-provider.spec.d.ts +2 -0
  73. package/lib/node/copilot-sdk-client-provider.spec.d.ts.map +1 -0
  74. package/lib/node/copilot-sdk-client-provider.spec.js +215 -0
  75. package/lib/node/copilot-sdk-client-provider.spec.js.map +1 -0
  76. package/lib/node/copilot-sdk-language-model.d.ts +85 -0
  77. package/lib/node/copilot-sdk-language-model.d.ts.map +1 -0
  78. package/lib/node/copilot-sdk-language-model.js +301 -0
  79. package/lib/node/copilot-sdk-language-model.js.map +1 -0
  80. package/lib/node/copilot-sdk-language-model.spec.d.ts +2 -0
  81. package/lib/node/copilot-sdk-language-model.spec.d.ts.map +1 -0
  82. package/lib/node/copilot-sdk-language-model.spec.js +315 -0
  83. package/lib/node/copilot-sdk-language-model.spec.js.map +1 -0
  84. package/lib/node/copilot-sdk-loader.d.ts +57 -0
  85. package/lib/node/copilot-sdk-loader.d.ts.map +1 -0
  86. package/lib/node/copilot-sdk-loader.js +133 -0
  87. package/lib/node/copilot-sdk-loader.js.map +1 -0
  88. package/lib/node/copilot-sdk-loader.spec.d.ts +2 -0
  89. package/lib/node/copilot-sdk-loader.spec.d.ts.map +1 -0
  90. package/lib/node/copilot-sdk-loader.spec.js +113 -0
  91. package/lib/node/copilot-sdk-loader.spec.js.map +1 -0
  92. package/lib/node/copilot-sdk-mappers.d.ts +54 -0
  93. package/lib/node/copilot-sdk-mappers.d.ts.map +1 -0
  94. package/lib/node/copilot-sdk-mappers.js +158 -0
  95. package/lib/node/copilot-sdk-mappers.js.map +1 -0
  96. package/lib/node/copilot-sdk-mappers.spec.d.ts +2 -0
  97. package/lib/node/copilot-sdk-mappers.spec.d.ts.map +1 -0
  98. package/lib/node/copilot-sdk-mappers.spec.js +168 -0
  99. package/lib/node/copilot-sdk-mappers.spec.js.map +1 -0
  100. package/lib/node/copilot-sdk-types.d.ts +208 -0
  101. package/lib/node/copilot-sdk-types.d.ts.map +1 -0
  102. package/lib/{common/copilot-oauth-config.js → node/copilot-sdk-types.js} +2 -13
  103. package/lib/node/copilot-sdk-types.js.map +1 -0
  104. package/lib/node/index.d.ts +9 -1
  105. package/lib/node/index.d.ts.map +1 -1
  106. package/lib/node/index.js +9 -1
  107. package/lib/node/index.js.map +1 -1
  108. package/package.json +4 -6
  109. package/src/browser/copilot-auth-dialog.tsx +20 -16
  110. package/src/browser/copilot-frontend-application-contribution.ts +144 -31
  111. package/src/common/copilot-auth-service.ts +28 -24
  112. package/src/common/copilot-language-models-manager.ts +6 -29
  113. package/src/common/copilot-preferences.ts +24 -5
  114. package/src/common/index.ts +0 -1
  115. package/src/node/copilot-auth-service-impl.spec.ts +122 -207
  116. package/src/node/copilot-auth-service-impl.ts +63 -218
  117. package/src/node/copilot-backend-module.ts +11 -2
  118. package/src/node/copilot-cli-auth-provider.spec.ts +315 -0
  119. package/src/node/copilot-cli-auth-provider.ts +444 -0
  120. package/src/node/copilot-cli-locator.spec.ts +386 -0
  121. package/src/node/copilot-cli-locator.ts +363 -0
  122. package/src/node/copilot-credential-store.spec.ts +106 -0
  123. package/src/node/copilot-credential-store.ts +99 -0
  124. package/src/node/copilot-language-models-manager-impl.spec.ts +188 -0
  125. package/src/node/copilot-language-models-manager-impl.ts +131 -84
  126. package/src/node/copilot-runtime-env.ts +46 -0
  127. package/src/node/copilot-sdk-client-provider.spec.ts +253 -0
  128. package/src/node/copilot-sdk-client-provider.ts +241 -0
  129. package/src/node/copilot-sdk-language-model.spec.ts +377 -0
  130. package/src/node/copilot-sdk-language-model.ts +330 -0
  131. package/src/node/copilot-sdk-loader.spec.ts +126 -0
  132. package/src/node/copilot-sdk-loader.ts +142 -0
  133. package/src/node/copilot-sdk-mappers.spec.ts +190 -0
  134. package/src/node/copilot-sdk-mappers.ts +172 -0
  135. package/src/node/copilot-sdk-types.ts +290 -0
  136. package/src/node/index.ts +9 -1
  137. package/lib/common/copilot-oauth-config.d.ts +0 -33
  138. package/lib/common/copilot-oauth-config.d.ts.map +0 -1
  139. package/lib/common/copilot-oauth-config.js.map +0 -1
  140. package/lib/node/copilot-language-model.d.ts +0 -34
  141. package/lib/node/copilot-language-model.d.ts.map +0 -1
  142. package/lib/node/copilot-language-model.js +0 -236
  143. package/lib/node/copilot-language-model.js.map +0 -1
  144. package/lib/node/copilot-language-model.spec.d.ts +0 -2
  145. package/lib/node/copilot-language-model.spec.d.ts.map +0 -1
  146. package/lib/node/copilot-language-model.spec.js +0 -89
  147. package/lib/node/copilot-language-model.spec.js.map +0 -1
  148. package/src/common/copilot-oauth-config.ts +0 -55
  149. package/src/node/copilot-language-model.spec.ts +0 -106
  150. package/src/node/copilot-language-model.ts +0 -273
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-sdk-client-provider.spec.js","sourceRoot":"","sources":["../../src/node/copilot-sdk-client-provider.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { LanguageModel, LanguageModelResponse, LanguageModelStatus, LanguageModelStreamResponsePart, ToolRequest, UserRequest } from '@theia/ai-core';
2
+ import { CancellationToken, ILogger } from '@theia/core';
3
+ import type { BlobMessageAttachment, CopilotClient, CopilotSession, PermissionHandler, Tool } from './copilot-sdk-types';
4
+ /**
5
+ * Answers the permission requests of the CLI for the tools of a request.
6
+ *
7
+ * Only Theia's own tools are declared to the CLI, and those are gated by Theia's tool confirmation
8
+ * already, so a second confirmation by the CLI would ask the user the same question twice. This is
9
+ * the behaviour of the SDK's own `approveAll`, which cannot be used here because it is not imported
10
+ * at runtime.
11
+ *
12
+ * A request that managed policy reserves for an explicit decision is not approved on the user's
13
+ * behalf but denied as unconfirmable. Leaving it unanswered is what the SDK's `no-result` does, and
14
+ * it is only correct when another client is connected that can answer it; here it would leave the
15
+ * turn pending until the request is cancelled.
16
+ */
17
+ export declare const approveTheiaTools: PermissionHandler;
18
+ /**
19
+ * Collects the stream parts produced by the session events and by the tool handlers, and hands them
20
+ * to the consuming generator as they arrive.
21
+ *
22
+ * A buffer is needed because the parts originate from callbacks rather than from a stream we can
23
+ * await, and because the tool handlers of a turn run while its response is still being produced.
24
+ */
25
+ export declare class CopilotStreamSink {
26
+ protected readonly queue: LanguageModelStreamResponsePart[];
27
+ protected readonly flushWaiters: Array<() => void>;
28
+ protected notify: (() => void) | undefined;
29
+ protected done: boolean;
30
+ protected failure: unknown;
31
+ push(part: LanguageModelStreamResponsePart): void;
32
+ /**
33
+ * Resolves once everything pushed so far has been taken by the consumer.
34
+ *
35
+ * Needed because a tool call has to be reported before the tool runs: the caller creates the
36
+ * record of the call from the stream, and the tool handler then completes that record. Handing the
37
+ * part over and invoking the handler in the same turn would leave the handler with nothing to
38
+ * complete.
39
+ */
40
+ flush(): Promise<void>;
41
+ /**
42
+ * Ends the stream. A given error is raised to the consumer once the buffered parts are drained.
43
+ */
44
+ finish(error?: unknown): void;
45
+ drain(): AsyncIterable<LanguageModelStreamResponsePart>;
46
+ protected wake(): void;
47
+ protected releaseFlushWaiters(): void;
48
+ }
49
+ /**
50
+ * Language model implementation for GitHub Copilot backed by the official Copilot
51
+ * CLI via `@github/copilot-sdk`.
52
+ *
53
+ * The CLI is an agent that owns the tool-calling loop, whereas Theia's language model contract
54
+ * expects the caller to drive it. The two are reconciled by handing the tools of the request to the
55
+ * CLI as custom tools whose handlers delegate back to Theia, and by reporting every invocation as a
56
+ * tool call part, so that the conversation and its tool calls are recorded and rendered as usual.
57
+ * None of the CLI's own tools are exposed, so only what Theia provides can run.
58
+ *
59
+ * Structured output is not supported on this path.
60
+ */
61
+ export declare class CopilotSdkLanguageModel implements LanguageModel {
62
+ readonly id: string;
63
+ model: string;
64
+ status: LanguageModelStatus;
65
+ maxRetries: number;
66
+ protected readonly clientProvider: () => Promise<CopilotClient>;
67
+ protected readonly logger: ILogger;
68
+ constructor(id: string, model: string, status: LanguageModelStatus, maxRetries: number, clientProvider: () => Promise<CopilotClient>, logger: ILogger);
69
+ request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
70
+ /**
71
+ * Maps the tools of the request onto tools of the CLI, reporting each invocation to the stream.
72
+ */
73
+ protected createTools(tools: ToolRequest[], sink: CopilotStreamSink): Tool[];
74
+ protected delay(ms: number): Promise<void>;
75
+ protected streamResponse(client: CopilotClient, session: CopilotSession, prompt: string, attachments: BlobMessageAttachment[] | undefined, sink: CopilotStreamSink, cancellationToken?: CancellationToken): AsyncIterable<LanguageModelStreamResponsePart>;
76
+ /**
77
+ * Ends the session of a request and removes what it persisted.
78
+ *
79
+ * Disconnecting only releases the session in memory and keeps it stored for a later resumption,
80
+ * which Theia never does: it drives the conversation itself and starts a fresh session per
81
+ * request. Without the deletion, every request would leave a session behind in the Copilot home.
82
+ */
83
+ protected discardSession(client: CopilotClient, session: CopilotSession): Promise<void>;
84
+ }
85
+ //# sourceMappingURL=copilot-sdk-language-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-sdk-language-model.d.ts","sourceRoot":"","sources":["../../src/node/copilot-sdk-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,+BAA+B,EAC/B,WAAW,EACX,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGzH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC;AAOF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAE1B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,EAAE,CAAM;IACjE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAM;IACxD,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,IAAI,UAAS;IACvB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,IAAI,EAAE,+BAA+B,GAAG,IAAI;IAKjD;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAQtB,KAAK,IAAI,aAAa,CAAC,+BAA+B,CAAC;IAkB9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAMtB,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAMxC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAwB,YAAW,aAAa;aAGrC,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,UAAU,EAAE,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;gBALlB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,EACN,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAC5C,MAAM,EAAE,OAAO;IAGhC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2B1G;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAAE;IA4C5E,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIzB,cAAc,CAC3B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,IAAI,EAAE,iBAAiB,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,aAAa,CAAC,+BAA+B,CAAC;IAsEjD;;;;;;OAMG;cACa,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAYhG"}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource GmbH and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CopilotSdkLanguageModel = exports.CopilotStreamSink = exports.approveTheiaTools = void 0;
19
+ const ai_core_1 = require("@theia/ai-core");
20
+ const copilot_sdk_mappers_1 = require("./copilot-sdk-mappers");
21
+ /**
22
+ * Answers the permission requests of the CLI for the tools of a request.
23
+ *
24
+ * Only Theia's own tools are declared to the CLI, and those are gated by Theia's tool confirmation
25
+ * already, so a second confirmation by the CLI would ask the user the same question twice. This is
26
+ * the behaviour of the SDK's own `approveAll`, which cannot be used here because it is not imported
27
+ * at runtime.
28
+ *
29
+ * A request that managed policy reserves for an explicit decision is not approved on the user's
30
+ * behalf but denied as unconfirmable. Leaving it unanswered is what the SDK's `no-result` does, and
31
+ * it is only correct when another client is connected that can answer it; here it would leave the
32
+ * turn pending until the request is cancelled.
33
+ */
34
+ const approveTheiaTools = (request, invocation) => {
35
+ if (invocation.managedSettingsEnabled || ('managedApprovalRequired' in request && request.managedApprovalRequired)) {
36
+ return { kind: 'user-not-available' };
37
+ }
38
+ return { kind: 'approve-once' };
39
+ };
40
+ exports.approveTheiaTools = approveTheiaTools;
41
+ /**
42
+ * Upper bound for awaiting that a reported tool call has been consumed before the tool is run.
43
+ */
44
+ const TOOL_CALL_FLUSH_TIMEOUT_MS = 2000;
45
+ /**
46
+ * Collects the stream parts produced by the session events and by the tool handlers, and hands them
47
+ * to the consuming generator as they arrive.
48
+ *
49
+ * A buffer is needed because the parts originate from callbacks rather than from a stream we can
50
+ * await, and because the tool handlers of a turn run while its response is still being produced.
51
+ */
52
+ class CopilotStreamSink {
53
+ constructor() {
54
+ this.queue = [];
55
+ this.flushWaiters = [];
56
+ this.done = false;
57
+ }
58
+ push(part) {
59
+ this.queue.push(part);
60
+ this.wake();
61
+ }
62
+ /**
63
+ * Resolves once everything pushed so far has been taken by the consumer.
64
+ *
65
+ * Needed because a tool call has to be reported before the tool runs: the caller creates the
66
+ * record of the call from the stream, and the tool handler then completes that record. Handing the
67
+ * part over and invoking the handler in the same turn would leave the handler with nothing to
68
+ * complete.
69
+ */
70
+ flush() {
71
+ if (this.queue.length === 0 || this.done) {
72
+ return Promise.resolve();
73
+ }
74
+ return new Promise(resolve => this.flushWaiters.push(resolve));
75
+ }
76
+ /**
77
+ * Ends the stream. A given error is raised to the consumer once the buffered parts are drained.
78
+ */
79
+ finish(error) {
80
+ if (error !== undefined) {
81
+ this.failure = error;
82
+ }
83
+ this.done = true;
84
+ this.wake();
85
+ }
86
+ async *drain() {
87
+ while (true) {
88
+ while (this.queue.length > 0) {
89
+ yield this.queue.shift();
90
+ }
91
+ // Asking for the next part means the consumer is done with the previous ones.
92
+ this.releaseFlushWaiters();
93
+ if (this.done) {
94
+ break;
95
+ }
96
+ await new Promise(resolve => { this.notify = resolve; });
97
+ }
98
+ this.releaseFlushWaiters();
99
+ if (this.failure !== undefined) {
100
+ throw this.failure;
101
+ }
102
+ }
103
+ wake() {
104
+ const resolve = this.notify;
105
+ this.notify = undefined;
106
+ resolve?.();
107
+ }
108
+ releaseFlushWaiters() {
109
+ const waiters = this.flushWaiters.splice(0, this.flushWaiters.length);
110
+ for (const resolve of waiters) {
111
+ resolve();
112
+ }
113
+ }
114
+ }
115
+ exports.CopilotStreamSink = CopilotStreamSink;
116
+ /**
117
+ * Language model implementation for GitHub Copilot backed by the official Copilot
118
+ * CLI via `@github/copilot-sdk`.
119
+ *
120
+ * The CLI is an agent that owns the tool-calling loop, whereas Theia's language model contract
121
+ * expects the caller to drive it. The two are reconciled by handing the tools of the request to the
122
+ * CLI as custom tools whose handlers delegate back to Theia, and by reporting every invocation as a
123
+ * tool call part, so that the conversation and its tool calls are recorded and rendered as usual.
124
+ * None of the CLI's own tools are exposed, so only what Theia provides can run.
125
+ *
126
+ * Structured output is not supported on this path.
127
+ */
128
+ class CopilotSdkLanguageModel {
129
+ constructor(id, model, status, maxRetries, clientProvider, logger) {
130
+ this.id = id;
131
+ this.model = model;
132
+ this.status = status;
133
+ this.maxRetries = maxRetries;
134
+ this.clientProvider = clientProvider;
135
+ this.logger = logger;
136
+ }
137
+ async request(request, cancellationToken) {
138
+ const client = await this.clientProvider();
139
+ const { systemText, prompt, attachments } = (0, copilot_sdk_mappers_1.buildSdkPrompt)(request.messages);
140
+ const sink = new CopilotStreamSink();
141
+ const tools = this.createTools(request.tools ?? [], sink);
142
+ this.logger.debug(`Copilot: request with ${tools.length} tools [${tools.map(tool => tool.name).join(', ')}]`);
143
+ const session = await client.createSession({
144
+ model: this.model,
145
+ streaming: true,
146
+ tools,
147
+ // The prompt of the Theia agent belongs into the system message of the session rather than
148
+ // into its user prompt, so that it takes the place of the agent instructions of the CLI.
149
+ systemMessage: (0, copilot_sdk_mappers_1.buildSdkSystemMessage)(systemText),
150
+ // Enable exactly the tools declared above and nothing else: `custom:*` matches the tools of
151
+ // this request, while the built-in tools of the CLI and any MCP tools stay disabled, so that
152
+ // Theia remains in control of what runs on the host. An empty list would match nothing and
153
+ // would disable the declared tools as well.
154
+ availableTools: ['custom:*'],
155
+ // The declared tools are Theia's own and are already gated by its tool confirmation.
156
+ onPermissionRequest: exports.approveTheiaTools
157
+ });
158
+ return { stream: this.streamResponse(client, session, prompt, attachments, sink, cancellationToken) };
159
+ }
160
+ /**
161
+ * Maps the tools of the request onto tools of the CLI, reporting each invocation to the stream.
162
+ */
163
+ createTools(tools, sink) {
164
+ return tools.map(tool => ({
165
+ name: tool.name,
166
+ description: tool.description,
167
+ parameters: tool.parameters,
168
+ // Theia confirms tool invocations itself, so the CLI must not prompt on top of that.
169
+ skipPermission: true,
170
+ handler: async (args, invocation) => {
171
+ // Theia's tool handlers take the raw argument string of the model.
172
+ const argumentsString = JSON.stringify(args ?? {});
173
+ sink.push({
174
+ tool_calls: [{ id: invocation.toolCallId, function: { name: tool.name, arguments: argumentsString }, finished: false }]
175
+ });
176
+ // The handler completes the record of the call that the caller creates from the part
177
+ // above, so the part has to be consumed before the tool runs. The wait is bounded so
178
+ // that a consumer which stops reading cannot hold the tool call forever.
179
+ await Promise.race([sink.flush(), this.delay(TOOL_CALL_FLUSH_TIMEOUT_MS)]);
180
+ try {
181
+ // Passing the call id lets the caller correlate the invocation with the part above,
182
+ // instead of having to fall back to matching on the tool name and its arguments.
183
+ const result = await tool.handler(argumentsString, { toolCallId: invocation.toolCallId });
184
+ // The structured result is kept for the stream, so that the UI can render e.g. the
185
+ // HTML of an MCP app, while the model is handed a readable serialization of it.
186
+ sink.push({
187
+ tool_calls: [{ id: invocation.toolCallId, function: { name: tool.name, arguments: argumentsString }, finished: true, result }]
188
+ });
189
+ return (0, ai_core_1.formatToolCallContentForModel)(result);
190
+ }
191
+ catch (error) {
192
+ const message = error instanceof Error ? error.message : String(error);
193
+ sink.push({
194
+ tool_calls: [{
195
+ id: invocation.toolCallId,
196
+ function: { name: tool.name, arguments: argumentsString },
197
+ finished: true,
198
+ result: `Error: ${message}`
199
+ }]
200
+ });
201
+ // Report the failure to the agent instead of failing the turn, so that it can react.
202
+ return { error: message };
203
+ }
204
+ }
205
+ }));
206
+ }
207
+ delay(ms) {
208
+ return new Promise(resolve => setTimeout(resolve, ms));
209
+ }
210
+ async *streamResponse(client, session, prompt, attachments, sink, cancellationToken) {
211
+ let inputTokens;
212
+ let outputTokens;
213
+ const disposables = [];
214
+ disposables.push(session.on('assistant.message_delta', event => {
215
+ if (event.data.deltaContent) {
216
+ sink.push({ content: event.data.deltaContent });
217
+ }
218
+ }));
219
+ disposables.push(session.on('assistant.reasoning_delta', event => {
220
+ if (event.data.deltaContent) {
221
+ sink.push({ thought: event.data.deltaContent, signature: '' });
222
+ }
223
+ }));
224
+ disposables.push(session.on('assistant.message', event => {
225
+ if (typeof event.data.outputTokens === 'number') {
226
+ outputTokens = event.data.outputTokens;
227
+ }
228
+ }));
229
+ disposables.push(session.on('assistant.usage', event => {
230
+ if (typeof event.data.inputTokens === 'number') {
231
+ inputTokens = event.data.inputTokens;
232
+ }
233
+ if (typeof event.data.outputTokens === 'number') {
234
+ outputTokens = event.data.outputTokens;
235
+ }
236
+ }));
237
+ disposables.push(session.on('session.idle', () => sink.finish()));
238
+ disposables.push(session.on('session.error', event => {
239
+ // The CLI can report a terminal error (auth, quota, rate limit, context
240
+ // limit, ...) without a following `session.idle`. Surface it as a stream
241
+ // failure so the request rejects instead of hanging forever.
242
+ const data = event.data;
243
+ const detail = data.statusCode !== undefined ? ` (${data.errorType}, status ${data.statusCode})` : ` (${data.errorType})`;
244
+ const error = new Error(`Copilot request failed${detail}: ${data.message}`);
245
+ if (data.stack) {
246
+ error.stack = data.stack;
247
+ }
248
+ sink.finish(error);
249
+ }));
250
+ const cancelListener = cancellationToken?.onCancellationRequested(() => {
251
+ session.abort().catch(() => { });
252
+ sink.finish();
253
+ });
254
+ try {
255
+ if (cancellationToken?.isCancellationRequested) {
256
+ // Already cancelled before we started: don't bother sending.
257
+ await session.abort().catch(() => { });
258
+ sink.finish();
259
+ }
260
+ else {
261
+ // Deliberately not awaited: the turn only completes after the tool loop has run, and
262
+ // its parts have to be yielded while that happens.
263
+ session.send({ prompt, attachments }).catch(error => sink.finish(error));
264
+ }
265
+ yield* sink.drain();
266
+ if (inputTokens !== undefined || outputTokens !== undefined) {
267
+ yield { input_tokens: inputTokens ?? 0, output_tokens: outputTokens ?? 0 };
268
+ }
269
+ }
270
+ finally {
271
+ for (const dispose of disposables) {
272
+ dispose();
273
+ }
274
+ cancelListener?.dispose();
275
+ await this.discardSession(client, session);
276
+ }
277
+ }
278
+ /**
279
+ * Ends the session of a request and removes what it persisted.
280
+ *
281
+ * Disconnecting only releases the session in memory and keeps it stored for a later resumption,
282
+ * which Theia never does: it drives the conversation itself and starts a fresh session per
283
+ * request. Without the deletion, every request would leave a session behind in the Copilot home.
284
+ */
285
+ async discardSession(client, session) {
286
+ try {
287
+ await session.disconnect();
288
+ }
289
+ catch (error) {
290
+ this.logger.warn('Copilot SDK: failed to disconnect session:', error);
291
+ }
292
+ try {
293
+ await client.deleteSession(session.sessionId);
294
+ }
295
+ catch (error) {
296
+ this.logger.warn(`Copilot SDK: failed to delete session ${session.sessionId}:`, error);
297
+ }
298
+ }
299
+ }
300
+ exports.CopilotSdkLanguageModel = CopilotSdkLanguageModel;
301
+ //# sourceMappingURL=copilot-sdk-language-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-sdk-language-model.js","sourceRoot":"","sources":["../../src/node/copilot-sdk-language-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=copilot-sdk-language-model.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-sdk-language-model.spec.d.ts","sourceRoot":"","sources":["../../src/node/copilot-sdk-language-model.spec.ts"],"names":[],"mappings":""}