@kaitranntt/ccs 6.3.1 → 6.4.0-dev.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.
Files changed (99) hide show
  1. package/VERSION +1 -1
  2. package/dist/auth/profile-detector.d.ts +5 -1
  3. package/dist/auth/profile-detector.d.ts.map +1 -1
  4. package/dist/auth/profile-detector.js +31 -0
  5. package/dist/auth/profile-detector.js.map +1 -1
  6. package/dist/ccs.js +31 -0
  7. package/dist/ccs.js.map +1 -1
  8. package/dist/cliproxy/auth-handler.d.ts +2 -0
  9. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  10. package/dist/cliproxy/auth-handler.js +53 -17
  11. package/dist/cliproxy/auth-handler.js.map +1 -1
  12. package/dist/cliproxy/project-selection-handler.d.ts +105 -0
  13. package/dist/cliproxy/project-selection-handler.d.ts.map +1 -0
  14. package/dist/cliproxy/project-selection-handler.js +167 -0
  15. package/dist/cliproxy/project-selection-handler.js.map +1 -0
  16. package/dist/commands/copilot-command.d.ts +10 -0
  17. package/dist/commands/copilot-command.d.ts.map +1 -0
  18. package/dist/commands/copilot-command.js +227 -0
  19. package/dist/commands/copilot-command.js.map +1 -0
  20. package/dist/commands/help-command.d.ts.map +1 -1
  21. package/dist/commands/help-command.js +16 -0
  22. package/dist/commands/help-command.js.map +1 -1
  23. package/dist/config/reserved-names.d.ts +1 -1
  24. package/dist/config/reserved-names.d.ts.map +1 -1
  25. package/dist/config/reserved-names.js +2 -0
  26. package/dist/config/reserved-names.js.map +1 -1
  27. package/dist/config/unified-config-loader.d.ts.map +1 -1
  28. package/dist/config/unified-config-loader.js +30 -0
  29. package/dist/config/unified-config-loader.js.map +1 -1
  30. package/dist/config/unified-config-types.d.ts +45 -2
  31. package/dist/config/unified-config-types.d.ts.map +1 -1
  32. package/dist/config/unified-config-types.js +18 -2
  33. package/dist/config/unified-config-types.js.map +1 -1
  34. package/dist/copilot/copilot-auth.d.ts +52 -0
  35. package/dist/copilot/copilot-auth.d.ts.map +1 -0
  36. package/dist/copilot/copilot-auth.js +201 -0
  37. package/dist/copilot/copilot-auth.js.map +1 -0
  38. package/dist/copilot/copilot-daemon.d.ts +36 -0
  39. package/dist/copilot/copilot-daemon.d.ts.map +1 -0
  40. package/dist/copilot/copilot-daemon.js +237 -0
  41. package/dist/copilot/copilot-daemon.js.map +1 -0
  42. package/dist/copilot/copilot-executor.d.ts +26 -0
  43. package/dist/copilot/copilot-executor.d.ts.map +1 -0
  44. package/dist/copilot/copilot-executor.js +144 -0
  45. package/dist/copilot/copilot-executor.js.map +1 -0
  46. package/dist/copilot/copilot-models.d.ts +34 -0
  47. package/dist/copilot/copilot-models.d.ts.map +1 -0
  48. package/dist/copilot/copilot-models.js +261 -0
  49. package/dist/copilot/copilot-models.js.map +1 -0
  50. package/dist/copilot/copilot-package-manager.d.ts +93 -0
  51. package/dist/copilot/copilot-package-manager.d.ts.map +1 -0
  52. package/dist/copilot/copilot-package-manager.js +488 -0
  53. package/dist/copilot/copilot-package-manager.js.map +1 -0
  54. package/dist/copilot/index.d.ts +13 -0
  55. package/dist/copilot/index.d.ts.map +1 -0
  56. package/dist/copilot/index.js +63 -0
  57. package/dist/copilot/index.js.map +1 -0
  58. package/dist/copilot/types.d.ts +65 -0
  59. package/dist/copilot/types.d.ts.map +1 -0
  60. package/dist/copilot/types.js +8 -0
  61. package/dist/copilot/types.js.map +1 -0
  62. package/dist/ui/assets/accounts-OHf-47mH.js +1 -0
  63. package/dist/ui/assets/analytics-C4uOxyuU.js +1 -0
  64. package/dist/ui/assets/api-B_mbwU9C.js +1 -0
  65. package/dist/ui/assets/{card-no0aWJbs.js → card-CR0u1y_L.js} +1 -1
  66. package/dist/ui/assets/{cliproxy-control-panel-DHNn28w-.js → cliproxy-control-panel-DIIw97Bs.js} +1 -1
  67. package/dist/ui/assets/{cliproxy-CAvheoJt.js → cliproxy-tXwMpEJd.js} +1 -1
  68. package/dist/ui/assets/{code-editor-7we6ceC-.js → code-editor-CVohe7u9.js} +1 -1
  69. package/dist/ui/assets/copilot-C-eWI9Ce.js +4 -0
  70. package/dist/ui/assets/health-Dh8bSHe-.js +1 -0
  71. package/dist/ui/assets/icons-WTNLz24z.js +1 -0
  72. package/dist/ui/assets/index-BXPLu3zJ.js +44 -0
  73. package/dist/ui/assets/index-D2qNwUdc.css +1 -0
  74. package/dist/ui/assets/settings-Bi8Aw4yN.js +1 -0
  75. package/dist/ui/assets/shared-DQlPCpix.js +1 -0
  76. package/dist/ui/assets/switch-pOvJh4Ez.js +1 -0
  77. package/dist/ui/index.html +3 -3
  78. package/dist/utils/websearch-manager.d.ts +13 -1
  79. package/dist/utils/websearch-manager.d.ts.map +1 -1
  80. package/dist/utils/websearch-manager.js +65 -9
  81. package/dist/utils/websearch-manager.js.map +1 -1
  82. package/dist/web-server/routes.d.ts.map +1 -1
  83. package/dist/web-server/routes.js +310 -0
  84. package/dist/web-server/routes.js.map +1 -1
  85. package/dist/web-server/websocket.d.ts +1 -0
  86. package/dist/web-server/websocket.d.ts.map +1 -1
  87. package/dist/web-server/websocket.js +35 -0
  88. package/dist/web-server/websocket.js.map +1 -1
  89. package/lib/hooks/websearch-transformer.cjs +4 -4
  90. package/package.json +1 -1
  91. package/dist/ui/assets/accounts-DswmeMrC.js +0 -1
  92. package/dist/ui/assets/analytics-bBEBLooC.js +0 -1
  93. package/dist/ui/assets/api-Bu3MFqtl.js +0 -1
  94. package/dist/ui/assets/health-D_qnl4ZN.js +0 -1
  95. package/dist/ui/assets/icons-c6upgjX9.js +0 -1
  96. package/dist/ui/assets/index-BtU3eYYT.css +0 -1
  97. package/dist/ui/assets/index-CumbubXW.js +0 -44
  98. package/dist/ui/assets/settings-NIjDSPTX.js +0 -1
  99. package/dist/ui/assets/shared-MzbKRRYC.js +0 -1
@@ -12,8 +12,9 @@
12
12
  * Unified config version.
13
13
  * Version 2 = YAML unified format
14
14
  * Version 3 = WebSearch config with model configuration for Gemini/OpenCode
15
+ * Version 4 = Copilot API integration (GitHub Copilot proxy)
15
16
  */
16
- export declare const UNIFIED_CONFIG_VERSION = 3;
17
+ export declare const UNIFIED_CONFIG_VERSION = 4;
17
18
  /**
18
19
  * Account configuration (formerly in profiles.json).
19
20
  * Represents an isolated Claude instance via CLAUDE_CONFIG_DIR.
@@ -135,6 +136,40 @@ export interface WebSearchProvidersConfig {
135
136
  /** OpenCode - built-in web search (FREE via OpenCode Zen) */
136
137
  opencode?: OpenCodeWebSearchConfig;
137
138
  }
139
+ /**
140
+ * Copilot API account type.
141
+ */
142
+ export type CopilotAccountType = 'individual' | 'business' | 'enterprise';
143
+ /**
144
+ * Copilot API configuration.
145
+ * Enables GitHub Copilot subscription usage via copilot-api proxy.
146
+ * Strictly opt-in - disabled by default.
147
+ *
148
+ * !! DISCLAIMER - USE AT YOUR OWN RISK !!
149
+ * This uses an UNOFFICIAL reverse-engineered API.
150
+ * Excessive usage may trigger GitHub account restrictions.
151
+ * CCS provides NO WARRANTY and accepts NO RESPONSIBILITY for any consequences.
152
+ */
153
+ export interface CopilotConfig {
154
+ /** Enable Copilot integration (default: false) - must be explicitly enabled */
155
+ enabled: boolean;
156
+ /** Auto-start copilot-api daemon when using profile (default: false) */
157
+ auto_start: boolean;
158
+ /** Port for copilot-api proxy (default: 4141) */
159
+ port: number;
160
+ /** GitHub Copilot account type (default: individual) */
161
+ account_type: CopilotAccountType;
162
+ /** Rate limit in seconds between requests (null = no limit) */
163
+ rate_limit: number | null;
164
+ /** Wait instead of error when rate limit is hit (default: true) */
165
+ wait_on_limit: boolean;
166
+ /** Default model ID (e.g., claude-sonnet-4.5) */
167
+ model: string;
168
+ /** Model mapping for Claude tiers - maps opus/sonnet/haiku to specific models */
169
+ opus_model?: string;
170
+ sonnet_model?: string;
171
+ haiku_model?: string;
172
+ }
138
173
  /**
139
174
  * WebSearch configuration.
140
175
  * Uses CLI tools (Gemini CLI, Grok CLI, OpenCode) for third-party profiles.
@@ -168,7 +203,7 @@ export interface WebSearchConfig {
168
203
  * Stored in ~/.ccs/config.yaml
169
204
  */
170
205
  export interface UnifiedConfig {
171
- /** Config version (2 for unified format) */
206
+ /** Config version (4 for copilot support) */
172
207
  version: number;
173
208
  /** Default profile name to use when none specified */
174
209
  default?: string;
@@ -182,6 +217,8 @@ export interface UnifiedConfig {
182
217
  preferences: PreferencesConfig;
183
218
  /** WebSearch configuration */
184
219
  websearch?: WebSearchConfig;
220
+ /** Copilot API configuration (GitHub Copilot proxy) */
221
+ copilot?: CopilotConfig;
185
222
  }
186
223
  /**
187
224
  * Secrets configuration structure.
@@ -194,6 +231,12 @@ export interface SecretsConfig {
194
231
  /** Profile secrets mapping: profile_name -> { key: value } */
195
232
  profiles: Record<string, Record<string, string>>;
196
233
  }
234
+ /**
235
+ * Default Copilot configuration.
236
+ * Strictly opt-in - disabled by default.
237
+ * Uses gpt-4.1 as default model (free tier compatible).
238
+ */
239
+ export declare const DEFAULT_COPILOT_CONFIG: CopilotConfig;
197
240
  /**
198
241
  * Create an empty unified config with defaults.
199
242
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unified-config-types.d.ts","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-config-types.d.ts","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,28 @@
10
10
  * Into a single config.yaml + secrets.yaml structure.
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.isSecretsConfig = exports.isUnifiedConfig = exports.createEmptySecretsConfig = exports.createEmptyUnifiedConfig = exports.UNIFIED_CONFIG_VERSION = void 0;
13
+ exports.isSecretsConfig = exports.isUnifiedConfig = exports.createEmptySecretsConfig = exports.createEmptyUnifiedConfig = exports.DEFAULT_COPILOT_CONFIG = exports.UNIFIED_CONFIG_VERSION = void 0;
14
14
  /**
15
15
  * Unified config version.
16
16
  * Version 2 = YAML unified format
17
17
  * Version 3 = WebSearch config with model configuration for Gemini/OpenCode
18
+ * Version 4 = Copilot API integration (GitHub Copilot proxy)
18
19
  */
19
- exports.UNIFIED_CONFIG_VERSION = 3;
20
+ exports.UNIFIED_CONFIG_VERSION = 4;
21
+ /**
22
+ * Default Copilot configuration.
23
+ * Strictly opt-in - disabled by default.
24
+ * Uses gpt-4.1 as default model (free tier compatible).
25
+ */
26
+ exports.DEFAULT_COPILOT_CONFIG = {
27
+ enabled: false,
28
+ auto_start: false,
29
+ port: 4141,
30
+ account_type: 'individual',
31
+ rate_limit: null,
32
+ wait_on_limit: true,
33
+ model: 'gpt-4.1', // Free tier compatible
34
+ };
20
35
  /**
21
36
  * Create an empty unified config with defaults.
22
37
  */
@@ -59,6 +74,7 @@ function createEmptyUnifiedConfig() {
59
74
  },
60
75
  },
61
76
  },
77
+ copilot: { ...exports.DEFAULT_COPILOT_CONFIG },
62
78
  };
63
79
  }
64
80
  exports.createEmptyUnifiedConfig = createEmptyUnifiedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"unified-config-types.js","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAqMxC;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO;QACL,OAAO,EAAE,8BAAsB;QAC/B,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;YACtD,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;aACnB;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;SAClB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,EAAE;iBACZ;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,EAAE;iBACZ;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAxCD,4DAwCC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AALD,4DAKC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,mEAAmE;IACnE,oFAAoF;IACpF,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;AACnE,CAAC;AAND,0CAMC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACnF,CAAC;AAJD,0CAIC"}
1
+ {"version":3,"file":"unified-config-types.js","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AA2OxC;;;;GAIG;AACU,QAAA,sBAAsB,GAAkB;IACnD,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,YAAY;IAC1B,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,SAAS,EAAE,uBAAuB;CAC1C,CAAC;AAEF;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO;QACL,OAAO,EAAE,8BAAsB;QAC/B,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;YACtD,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;aACnB;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;SAClB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,EAAE;iBACZ;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,EAAE;iBACZ;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;QACD,OAAO,EAAE,EAAE,GAAG,8BAAsB,EAAE;KACvC,CAAC;AACJ,CAAC;AAzCD,4DAyCC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AALD,4DAKC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,mEAAmE;IACnE,oFAAoF;IACpF,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;AACnE,CAAC;AAND,0CAMC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACnF,CAAC;AAJD,0CAIC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copilot Auth Handler
3
+ *
4
+ * Handles GitHub OAuth authentication for copilot-api.
5
+ * Uses local installation from ~/.ccs/copilot/ (managed by copilot-package-manager).
6
+ */
7
+ import { CopilotAuthStatus, CopilotDebugInfo } from './types';
8
+ /**
9
+ * Get the path to copilot-api's GitHub token file.
10
+ * copilot-api stores tokens in ~/.local/share/copilot-api/github_token (Linux/macOS)
11
+ * or %APPDATA%/copilot-api/github_token (Windows)
12
+ */
13
+ export declare function getTokenPath(): string;
14
+ /**
15
+ * Check if GitHub token file exists.
16
+ * Fast check that doesn't require spawning copilot-api process.
17
+ */
18
+ export declare function hasTokenFile(): boolean;
19
+ /**
20
+ * Check if copilot-api is installed locally.
21
+ * Uses copilot-package-manager to check ~/.ccs/copilot/node_modules/.bin/copilot-api
22
+ */
23
+ export declare function isCopilotApiInstalled(): boolean;
24
+ /**
25
+ * Get copilot-api debug info.
26
+ * Returns authentication status and version info.
27
+ */
28
+ export declare function getCopilotDebugInfo(): Promise<CopilotDebugInfo | null>;
29
+ /**
30
+ * Check copilot authentication status.
31
+ * Uses fast token file check first, falls back to copilot-api debug if needed.
32
+ */
33
+ export declare function checkAuthStatus(): Promise<CopilotAuthStatus>;
34
+ /**
35
+ * Auth flow result with optional device code info.
36
+ */
37
+ export interface AuthFlowResult {
38
+ success: boolean;
39
+ error?: string;
40
+ /** Device code for user to enter at GitHub */
41
+ deviceCode?: string;
42
+ /** URL where user enters the device code */
43
+ verificationUrl?: string;
44
+ }
45
+ /**
46
+ * Start GitHub OAuth authentication flow.
47
+ * Captures device code from copilot-api output and returns it.
48
+ *
49
+ * @returns Promise that resolves with auth result including device code
50
+ */
51
+ export declare function startAuthFlow(): Promise<AuthFlowResult>;
52
+ //# sourceMappingURL=copilot-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-auth.d.ts","sourceRoot":"","sources":["../../src/copilot/copilot-auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM9D;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAKrC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAMtC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgD5E;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAiBlE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CA6DvD"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * Copilot Auth Handler
4
+ *
5
+ * Handles GitHub OAuth authentication for copilot-api.
6
+ * Uses local installation from ~/.ccs/copilot/ (managed by copilot-package-manager).
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.startAuthFlow = exports.checkAuthStatus = exports.getCopilotDebugInfo = exports.isCopilotApiInstalled = exports.hasTokenFile = exports.getTokenPath = void 0;
33
+ const child_process_1 = require("child_process");
34
+ const fs = __importStar(require("fs"));
35
+ const path = __importStar(require("path"));
36
+ const os = __importStar(require("os"));
37
+ const copilot_package_manager_1 = require("./copilot-package-manager");
38
+ /**
39
+ * Get the path to copilot-api's GitHub token file.
40
+ * copilot-api stores tokens in ~/.local/share/copilot-api/github_token (Linux/macOS)
41
+ * or %APPDATA%/copilot-api/github_token (Windows)
42
+ */
43
+ function getTokenPath() {
44
+ if (process.platform === 'win32') {
45
+ return path.join(process.env.APPDATA || os.homedir(), 'copilot-api', 'github_token');
46
+ }
47
+ return path.join(os.homedir(), '.local', 'share', 'copilot-api', 'github_token');
48
+ }
49
+ exports.getTokenPath = getTokenPath;
50
+ /**
51
+ * Check if GitHub token file exists.
52
+ * Fast check that doesn't require spawning copilot-api process.
53
+ */
54
+ function hasTokenFile() {
55
+ try {
56
+ return fs.existsSync(getTokenPath());
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ exports.hasTokenFile = hasTokenFile;
63
+ /**
64
+ * Check if copilot-api is installed locally.
65
+ * Uses copilot-package-manager to check ~/.ccs/copilot/node_modules/.bin/copilot-api
66
+ */
67
+ function isCopilotApiInstalled() {
68
+ return (0, copilot_package_manager_1.isCopilotApiInstalled)();
69
+ }
70
+ exports.isCopilotApiInstalled = isCopilotApiInstalled;
71
+ /**
72
+ * Get copilot-api debug info.
73
+ * Returns authentication status and version info.
74
+ */
75
+ async function getCopilotDebugInfo() {
76
+ const binPath = (0, copilot_package_manager_1.getCopilotApiBinPath)();
77
+ return new Promise((resolve) => {
78
+ try {
79
+ const proc = (0, child_process_1.spawn)(binPath, ['debug', '--json'], {
80
+ stdio: ['ignore', 'pipe', 'pipe'],
81
+ shell: process.platform === 'win32',
82
+ timeout: 15000,
83
+ });
84
+ let stdout = '';
85
+ let _stderr = '';
86
+ proc.stdout.on('data', (data) => {
87
+ stdout += data.toString();
88
+ });
89
+ proc.stderr.on('data', (data) => {
90
+ _stderr += data.toString();
91
+ });
92
+ proc.on('close', (code) => {
93
+ if (code === 0 && stdout) {
94
+ try {
95
+ const info = JSON.parse(stdout.trim());
96
+ resolve(info);
97
+ }
98
+ catch {
99
+ resolve(null);
100
+ }
101
+ }
102
+ else {
103
+ resolve(null);
104
+ }
105
+ });
106
+ proc.on('error', () => {
107
+ resolve(null);
108
+ });
109
+ // Timeout after 15 seconds
110
+ setTimeout(() => {
111
+ proc.kill();
112
+ resolve(null);
113
+ }, 15000);
114
+ }
115
+ catch {
116
+ resolve(null);
117
+ }
118
+ });
119
+ }
120
+ exports.getCopilotDebugInfo = getCopilotDebugInfo;
121
+ /**
122
+ * Check copilot authentication status.
123
+ * Uses fast token file check first, falls back to copilot-api debug if needed.
124
+ */
125
+ async function checkAuthStatus() {
126
+ // Fast path: check if token file exists (instant, no subprocess)
127
+ if (hasTokenFile()) {
128
+ return { authenticated: true };
129
+ }
130
+ // Slow path: try copilot-api debug --json (may timeout)
131
+ // Only used if token file doesn't exist
132
+ const debugInfo = await getCopilotDebugInfo();
133
+ if (debugInfo?.authenticated) {
134
+ return { authenticated: true };
135
+ }
136
+ return {
137
+ authenticated: false,
138
+ };
139
+ }
140
+ exports.checkAuthStatus = checkAuthStatus;
141
+ /**
142
+ * Start GitHub OAuth authentication flow.
143
+ * Captures device code from copilot-api output and returns it.
144
+ *
145
+ * @returns Promise that resolves with auth result including device code
146
+ */
147
+ function startAuthFlow() {
148
+ const binPath = (0, copilot_package_manager_1.getCopilotApiBinPath)();
149
+ return new Promise((resolve) => {
150
+ console.log('[i] Starting GitHub authentication for Copilot...');
151
+ console.log('');
152
+ const proc = (0, child_process_1.spawn)(binPath, ['auth'], {
153
+ stdio: ['ignore', 'pipe', 'pipe'],
154
+ shell: process.platform === 'win32',
155
+ });
156
+ let stdout = '';
157
+ let deviceCode;
158
+ let verificationUrl;
159
+ proc.stdout.on('data', (data) => {
160
+ const chunk = data.toString();
161
+ stdout += chunk;
162
+ // Echo to console for terminal users
163
+ process.stdout.write(chunk);
164
+ // Parse device code from output like:
165
+ // "Please enter the code "5653-38A1" in https://github.com/login/device"
166
+ const codeMatch = stdout.match(/code\s+"([A-Z0-9]{4}-[A-Z0-9]{4})"/i);
167
+ const urlMatch = stdout.match(/(https:\/\/github\.com\/login\/device)/i);
168
+ if (codeMatch && !deviceCode) {
169
+ deviceCode = codeMatch[1];
170
+ }
171
+ if (urlMatch && !verificationUrl) {
172
+ verificationUrl = urlMatch[1];
173
+ }
174
+ });
175
+ proc.stderr.on('data', (data) => {
176
+ // Echo stderr to console
177
+ process.stderr.write(data.toString());
178
+ });
179
+ proc.on('close', (code) => {
180
+ if (code === 0) {
181
+ resolve({ success: true, deviceCode, verificationUrl });
182
+ }
183
+ else {
184
+ resolve({
185
+ success: false,
186
+ error: `Authentication failed with exit code ${code}`,
187
+ deviceCode,
188
+ verificationUrl,
189
+ });
190
+ }
191
+ });
192
+ proc.on('error', (err) => {
193
+ resolve({
194
+ success: false,
195
+ error: `Failed to start auth: ${err.message}`,
196
+ });
197
+ });
198
+ });
199
+ }
200
+ exports.startAuthFlow = startAuthFlow;
201
+ //# sourceMappingURL=copilot-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-auth.js","sourceRoot":"","sources":["../../src/copilot/copilot-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copilot Daemon Manager
3
+ *
4
+ * Manages the copilot-api daemon lifecycle (start/stop/status).
5
+ * Uses local installation from ~/.ccs/copilot/ (managed by copilot-package-manager).
6
+ */
7
+ import { CopilotDaemonStatus } from './types';
8
+ import { CopilotConfig } from '../config/unified-config-types';
9
+ /**
10
+ * Check if copilot-api daemon is running on the specified port.
11
+ * Uses 127.0.0.1 instead of localhost for more reliable local connections.
12
+ */
13
+ export declare function isDaemonRunning(port: number): Promise<boolean>;
14
+ /**
15
+ * Get daemon status.
16
+ */
17
+ export declare function getDaemonStatus(port: number): Promise<CopilotDaemonStatus>;
18
+ /**
19
+ * Start the copilot-api daemon.
20
+ *
21
+ * @param config Copilot configuration
22
+ * @returns Promise that resolves when daemon is ready
23
+ */
24
+ export declare function startDaemon(config: CopilotConfig): Promise<{
25
+ success: boolean;
26
+ pid?: number;
27
+ error?: string;
28
+ }>;
29
+ /**
30
+ * Stop the copilot-api daemon.
31
+ */
32
+ export declare function stopDaemon(): Promise<{
33
+ success: boolean;
34
+ error?: string;
35
+ }>;
36
+ //# sourceMappingURL=copilot-daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-daemon.d.ts","sourceRoot":"","sources":["../../src/copilot/copilot-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAK/D;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BpE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAShF;AA8CD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuE7D;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyChF"}