@codemieai/code 0.0.15 → 0.0.16
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 +24 -9
- package/dist/agents/codemie-code/agent.js +2 -2
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +12 -4
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +5 -4
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +1 -5
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +5 -26
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +1 -1
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +2 -2
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.js +1 -1
- package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +1 -1
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +3 -11
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +1 -1
- package/dist/analytics/remote-submission/cursor-manager.js +2 -2
- package/dist/analytics/remote-submission/cursor-manager.js.map +1 -1
- package/dist/analytics/remote-submission/index.d.ts +2 -2
- package/dist/analytics/remote-submission/index.d.ts.map +1 -1
- package/dist/analytics/remote-submission/index.js +1 -1
- package/dist/analytics/remote-submission/index.js.map +1 -1
- package/dist/analytics/remote-submission/lock-manager.d.ts +1 -1
- package/dist/analytics/remote-submission/lock-manager.js +2 -2
- package/dist/analytics/remote-submission/lock-manager.js.map +1 -1
- package/dist/analytics/remote-submission/metric-transformer.d.ts +2 -30
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +1 -1
- package/dist/analytics/remote-submission/metric-transformer.js +24 -117
- package/dist/analytics/remote-submission/metric-transformer.js.map +1 -1
- package/dist/analytics/remote-submission/submitter.d.ts +1 -0
- package/dist/analytics/remote-submission/submitter.d.ts.map +1 -1
- package/dist/analytics/remote-submission/submitter.js +18 -37
- package/dist/analytics/remote-submission/submitter.js.map +1 -1
- package/dist/analytics/remote-submission/types.d.ts +5 -51
- package/dist/analytics/remote-submission/types.d.ts.map +1 -1
- package/dist/analytics/remote-submission/types.js.map +1 -1
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +10 -5
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js +12 -5
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts.map +1 -1
- package/dist/cli/commands/doctor/formatter.js +1 -6
- package/dist/cli/commands/doctor/formatter.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +23 -8
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/doctor/type-adapters.d.ts +18 -0
- package/dist/cli/commands/doctor/type-adapters.d.ts.map +1 -0
- package/dist/cli/commands/doctor/type-adapters.js +75 -0
- package/dist/cli/commands/doctor/type-adapters.js.map +1 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +1 -6
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +0 -5
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/profile.js +90 -12
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +159 -660
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/providers/core/base/BaseHealthCheck.d.ts +57 -0
- package/dist/providers/core/base/BaseHealthCheck.d.ts.map +1 -0
- package/dist/providers/core/base/BaseHealthCheck.js +121 -0
- package/dist/providers/core/base/BaseHealthCheck.js.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts +45 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.js +43 -0
- package/dist/providers/core/base/BaseModelProxy.js.map +1 -0
- package/dist/providers/core/base/http-client.d.ts +57 -0
- package/dist/providers/core/base/http-client.d.ts.map +1 -0
- package/dist/providers/core/base/http-client.js +240 -0
- package/dist/providers/core/base/http-client.js.map +1 -0
- package/dist/providers/core/decorators.d.ts +13 -0
- package/dist/providers/core/decorators.d.ts.map +1 -0
- package/dist/providers/core/decorators.js +15 -0
- package/dist/providers/core/decorators.js.map +1 -0
- package/dist/providers/core/index.d.ts +13 -0
- package/dist/providers/core/index.d.ts.map +1 -0
- package/dist/providers/core/index.js +14 -0
- package/dist/providers/core/index.js.map +1 -0
- package/dist/providers/core/registry.d.ts +66 -0
- package/dist/providers/core/registry.d.ts.map +1 -0
- package/dist/providers/core/registry.js +105 -0
- package/dist/providers/core/registry.js.map +1 -0
- package/dist/providers/core/types.d.ts +285 -0
- package/dist/providers/core/types.d.ts.map +1 -0
- package/dist/providers/core/types.js +7 -0
- package/dist/providers/core/types.js.map +1 -0
- package/dist/providers/index.d.ts +20 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +22 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/integration/setup-ui.d.ts +76 -0
- package/dist/providers/integration/setup-ui.d.ts.map +1 -0
- package/dist/providers/integration/setup-ui.js +141 -0
- package/dist/providers/integration/setup-ui.js.map +1 -0
- package/dist/providers/plugins/litellm/index.d.ts +8 -0
- package/dist/providers/plugins/litellm/index.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/index.js +12 -0
- package/dist/providers/plugins/litellm/index.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts +27 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.js +48 -0
- package/dist/providers/plugins/litellm/litellm.models.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts +8 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js +52 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts +11 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.js +59 -0
- package/dist/providers/plugins/litellm/litellm.template.js.map +1 -0
- package/dist/providers/plugins/ollama/index.d.ts +11 -0
- package/dist/providers/plugins/ollama/index.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/index.js +11 -0
- package/dist/providers/plugins/ollama/index.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts +48 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.js +87 -0
- package/dist/providers/plugins/ollama/ollama.health.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts +47 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.js +252 -0
- package/dist/providers/plugins/ollama/ollama.models.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js +164 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts +11 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.js +87 -0
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -0
- package/dist/providers/plugins/sso/index.d.ts +12 -0
- package/dist/providers/plugins/sso/index.d.ts.map +1 -0
- package/dist/providers/plugins/sso/index.js +12 -0
- package/dist/providers/plugins/sso/index.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts +50 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -0
- package/dist/{utils/sso-auth.js → providers/plugins/sso/sso.auth.js} +37 -2
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -0
- package/dist/providers/plugins/sso/sso.health.d.ts +44 -0
- package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.health.js +178 -0
- package/dist/providers/plugins/sso/sso.health.js.map +1 -0
- package/dist/{utils/codemie-model-fetcher.d.ts → providers/plugins/sso/sso.http-client.d.ts} +16 -5
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.js +187 -0
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -0
- package/dist/providers/plugins/sso/sso.models.d.ts +48 -0
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.models.js +139 -0
- package/dist/providers/plugins/sso/sso.models.js.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js +145 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -0
- package/dist/providers/plugins/sso/sso.template.d.ts +11 -0
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.template.js +35 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -0
- package/dist/proxy/errors.d.ts.map +1 -0
- package/dist/proxy/errors.js.map +1 -0
- package/dist/proxy/http-client.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/http-client.js +1 -1
- package/dist/proxy/http-client.js.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.js +7 -3
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.d.ts +2 -2
- package/dist/proxy/plugins/index.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.js +3 -5
- package/dist/proxy/plugins/index.js.map +1 -0
- package/dist/proxy/plugins/logging.plugin.d.ts +22 -0
- package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/logging.plugin.js +92 -0
- package/dist/proxy/plugins/logging.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/registry.js +1 -1
- package/dist/proxy/plugins/registry.js.map +1 -0
- package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.js +1 -1
- package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/types.d.ts +3 -3
- package/dist/proxy/plugins/types.d.ts.map +1 -0
- package/dist/proxy/plugins/types.js.map +1 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/utils/codemie-proxy.d.ts +5 -4
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +31 -26
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +1 -6
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +30 -90
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/credential-store.d.ts +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +0 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +0 -264
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +0 -97
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/index.d.ts +0 -30
- package/dist/cli/commands/doctor/providers/index.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/index.js +0 -66
- package/dist/cli/commands/doctor/providers/index.js.map +0 -1
- package/dist/types/sso.d.ts +0 -42
- package/dist/types/sso.d.ts.map +0 -1
- package/dist/types/sso.js +0 -2
- package/dist/types/sso.js.map +0 -1
- package/dist/utils/async-tips.d.ts +0 -64
- package/dist/utils/async-tips.d.ts.map +0 -1
- package/dist/utils/async-tips.js +0 -203
- package/dist/utils/async-tips.js.map +0 -1
- package/dist/utils/codemie-integration-validator.d.ts +0 -18
- package/dist/utils/codemie-integration-validator.d.ts.map +0 -1
- package/dist/utils/codemie-integration-validator.js +0 -119
- package/dist/utils/codemie-integration-validator.js.map +0 -1
- package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
- package/dist/utils/codemie-model-fetcher.js +0 -317
- package/dist/utils/codemie-model-fetcher.js.map +0 -1
- package/dist/utils/health-checker.d.ts +0 -20
- package/dist/utils/health-checker.d.ts.map +0 -1
- package/dist/utils/health-checker.js +0 -172
- package/dist/utils/health-checker.js.map +0 -1
- package/dist/utils/model-fetcher.d.ts +0 -21
- package/dist/utils/model-fetcher.d.ts.map +0 -1
- package/dist/utils/model-fetcher.js +0 -148
- package/dist/utils/model-fetcher.js.map +0 -1
- package/dist/utils/proxy/errors.d.ts.map +0 -1
- package/dist/utils/proxy/errors.js.map +0 -1
- package/dist/utils/proxy/http-client.d.ts.map +0 -1
- package/dist/utils/proxy/http-client.js.map +0 -1
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts +0 -19
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/analytics.plugin.js +0 -84
- package/dist/utils/proxy/plugins/analytics.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/index.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/index.js.map +0 -1
- package/dist/utils/proxy/plugins/registry.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/registry.js.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/types.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/types.js.map +0 -1
- package/dist/utils/proxy/types.d.ts.map +0 -1
- package/dist/utils/proxy/types.js.map +0 -1
- package/dist/utils/sso-auth.d.ts +0 -15
- package/dist/utils/sso-auth.d.ts.map +0 -1
- package/dist/utils/sso-auth.js.map +0 -1
- package/dist/utils/tips.d.ts +0 -35
- package/dist/utils/tips.d.ts.map +0 -1
- package/dist/utils/tips.js +0 -93
- package/dist/utils/tips.js.map +0 -1
- /package/dist/{utils/proxy → proxy}/errors.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/errors.js +0 -0
- /package/dist/{utils/proxy → proxy}/http-client.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/registry.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/types.js +0 -0
- /package/dist/{utils/proxy → proxy}/types.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/types.js +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export interface Tip {
|
|
2
|
-
message: string;
|
|
3
|
-
command?: string;
|
|
4
|
-
}
|
|
5
|
-
export declare class AsyncTipDisplay {
|
|
6
|
-
private tips;
|
|
7
|
-
private shownTips;
|
|
8
|
-
private currentTipIndex;
|
|
9
|
-
private intervalId;
|
|
10
|
-
private isActive;
|
|
11
|
-
private rotationInterval;
|
|
12
|
-
constructor();
|
|
13
|
-
/**
|
|
14
|
-
* Load tips from JSON file
|
|
15
|
-
*/
|
|
16
|
-
private loadTips;
|
|
17
|
-
/**
|
|
18
|
-
* Get a random tip that hasn't been shown recently
|
|
19
|
-
*/
|
|
20
|
-
private getRandomTip;
|
|
21
|
-
/**
|
|
22
|
-
* Format tip for display at bottom of terminal
|
|
23
|
-
*/
|
|
24
|
-
private formatTip;
|
|
25
|
-
/**
|
|
26
|
-
* Display a single tip immediately
|
|
27
|
-
*/
|
|
28
|
-
showTip(tip?: Tip): void;
|
|
29
|
-
/**
|
|
30
|
-
* Start rotating tips at the bottom of the terminal
|
|
31
|
-
* Shows a new tip every N seconds
|
|
32
|
-
*/
|
|
33
|
-
startRotating(intervalMs?: number): void;
|
|
34
|
-
/**
|
|
35
|
-
* Stop rotating tips
|
|
36
|
-
*/
|
|
37
|
-
stopRotating(): void;
|
|
38
|
-
/**
|
|
39
|
-
* Clear the tip display area
|
|
40
|
-
*/
|
|
41
|
-
private clearTipArea;
|
|
42
|
-
/**
|
|
43
|
-
* Display tips during a long-running operation
|
|
44
|
-
* Returns a function to stop the tips when operation completes
|
|
45
|
-
*/
|
|
46
|
-
showDuring(operation: Promise<unknown>): () => void;
|
|
47
|
-
/**
|
|
48
|
-
* Show multiple tips in sequence (for startup)
|
|
49
|
-
*/
|
|
50
|
-
showMultiple(count?: number): void;
|
|
51
|
-
/**
|
|
52
|
-
* Show a tip at the bottom of the screen (non-rotating)
|
|
53
|
-
*/
|
|
54
|
-
showAtBottom(): void;
|
|
55
|
-
/**
|
|
56
|
-
* Reset shown tips
|
|
57
|
-
*/
|
|
58
|
-
reset(): void;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Global async tip display instance
|
|
62
|
-
*/
|
|
63
|
-
export declare const asyncTipDisplay: AsyncTipDisplay;
|
|
64
|
-
//# sourceMappingURL=async-tips.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-tips.d.ts","sourceRoot":"","sources":["../../src/utils/async-tips.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAiB;;IAMzC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAchB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAOxB;;;OAGG;IACH,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IA6BxC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI;IAgBnD;;OAEG;IACH,YAAY,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI;IA6BrC;;OAEG;IACH,YAAY,IAAI,IAAI;IA0BpB;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
package/dist/utils/async-tips.js
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
import { getDirname } from '../utils/dirname.js';
|
|
5
|
-
export class AsyncTipDisplay {
|
|
6
|
-
tips = [];
|
|
7
|
-
shownTips = new Set();
|
|
8
|
-
currentTipIndex = -1;
|
|
9
|
-
intervalId = null;
|
|
10
|
-
isActive = false;
|
|
11
|
-
rotationInterval = 15000; // 15 seconds
|
|
12
|
-
constructor() {
|
|
13
|
-
this.loadTips();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Load tips from JSON file
|
|
17
|
-
*/
|
|
18
|
-
loadTips() {
|
|
19
|
-
try {
|
|
20
|
-
const tipsPath = path.join(getDirname(import.meta.url), '../data/tips.json');
|
|
21
|
-
const tipsData = fs.readFileSync(tipsPath, 'utf-8');
|
|
22
|
-
this.tips = JSON.parse(tipsData);
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
// Fallback tips if file can't be loaded
|
|
26
|
-
this.tips = [
|
|
27
|
-
{ message: 'Run codemie list to see available agents', command: 'codemie list' },
|
|
28
|
-
{ message: 'Use codemie doctor to check your setup', command: 'codemie doctor' }
|
|
29
|
-
];
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Get a random tip that hasn't been shown recently
|
|
34
|
-
*/
|
|
35
|
-
getRandomTip() {
|
|
36
|
-
if (this.tips.length === 0)
|
|
37
|
-
return null;
|
|
38
|
-
const availableTips = this.tips
|
|
39
|
-
.map((tip, index) => ({ tip, index }))
|
|
40
|
-
.filter(({ index }) => !this.shownTips.has(index));
|
|
41
|
-
// Reset if all tips have been shown
|
|
42
|
-
if (availableTips.length === 0) {
|
|
43
|
-
this.shownTips.clear();
|
|
44
|
-
return this.getRandomTip();
|
|
45
|
-
}
|
|
46
|
-
const selected = availableTips[Math.floor(Math.random() * availableTips.length)];
|
|
47
|
-
this.shownTips.add(selected.index);
|
|
48
|
-
this.currentTipIndex = selected.index;
|
|
49
|
-
return selected.tip;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Format tip for display at bottom of terminal
|
|
53
|
-
*/
|
|
54
|
-
formatTip(tip) {
|
|
55
|
-
const separator = chalk.white('─'.repeat(60));
|
|
56
|
-
let output = '\n' + separator + '\n';
|
|
57
|
-
output += chalk.cyan('💡 Tip: ') + chalk.white(tip.message) + '\n';
|
|
58
|
-
if (tip.command) {
|
|
59
|
-
output += chalk.white(' → ') + chalk.blueBright(tip.command) + '\n';
|
|
60
|
-
}
|
|
61
|
-
output += separator;
|
|
62
|
-
return output;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Display a single tip immediately
|
|
66
|
-
*/
|
|
67
|
-
showTip(tip) {
|
|
68
|
-
const tipToShow = tip || this.getRandomTip();
|
|
69
|
-
if (tipToShow) {
|
|
70
|
-
console.log(this.formatTip(tipToShow));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Start rotating tips at the bottom of the terminal
|
|
75
|
-
* Shows a new tip every N seconds
|
|
76
|
-
*/
|
|
77
|
-
startRotating(intervalMs) {
|
|
78
|
-
if (this.isActive)
|
|
79
|
-
return;
|
|
80
|
-
this.isActive = true;
|
|
81
|
-
if (intervalMs) {
|
|
82
|
-
this.rotationInterval = intervalMs;
|
|
83
|
-
}
|
|
84
|
-
// Show first tip immediately
|
|
85
|
-
const firstTip = this.getRandomTip();
|
|
86
|
-
if (firstTip) {
|
|
87
|
-
this.showTip(firstTip);
|
|
88
|
-
}
|
|
89
|
-
// Rotate tips
|
|
90
|
-
this.intervalId = setInterval(() => {
|
|
91
|
-
if (!this.isActive)
|
|
92
|
-
return;
|
|
93
|
-
// Clear previous tip area (move up and clear lines)
|
|
94
|
-
this.clearTipArea();
|
|
95
|
-
// Show new tip
|
|
96
|
-
const tip = this.getRandomTip();
|
|
97
|
-
if (tip) {
|
|
98
|
-
this.showTip(tip);
|
|
99
|
-
}
|
|
100
|
-
}, this.rotationInterval);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Stop rotating tips
|
|
104
|
-
*/
|
|
105
|
-
stopRotating() {
|
|
106
|
-
this.isActive = false;
|
|
107
|
-
if (this.intervalId) {
|
|
108
|
-
clearInterval(this.intervalId);
|
|
109
|
-
this.intervalId = null;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Clear the tip display area
|
|
114
|
-
*/
|
|
115
|
-
clearTipArea() {
|
|
116
|
-
// Move cursor up 5 lines (tip area height) and clear them
|
|
117
|
-
const linesToClear = 5;
|
|
118
|
-
for (let i = 0; i < linesToClear; i++) {
|
|
119
|
-
process.stdout.write('\x1b[1A'); // Move up
|
|
120
|
-
process.stdout.write('\x1b[2K'); // Clear line
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Display tips during a long-running operation
|
|
125
|
-
* Returns a function to stop the tips when operation completes
|
|
126
|
-
*/
|
|
127
|
-
showDuring(operation) {
|
|
128
|
-
this.startRotating(10000); // Faster rotation during operations (10s)
|
|
129
|
-
const stop = () => {
|
|
130
|
-
this.stopRotating();
|
|
131
|
-
// Don't clear the last tip - let it stay visible
|
|
132
|
-
};
|
|
133
|
-
// Auto-stop when operation completes
|
|
134
|
-
operation.finally(() => {
|
|
135
|
-
stop();
|
|
136
|
-
});
|
|
137
|
-
return stop;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Show multiple tips in sequence (for startup)
|
|
141
|
-
*/
|
|
142
|
-
showMultiple(count = 2) {
|
|
143
|
-
const tipsToShow = [];
|
|
144
|
-
for (let i = 0; i < count && i < this.tips.length; i++) {
|
|
145
|
-
const tip = this.getRandomTip();
|
|
146
|
-
if (tip) {
|
|
147
|
-
tipsToShow.push(tip);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (tipsToShow.length === 0)
|
|
151
|
-
return;
|
|
152
|
-
console.log();
|
|
153
|
-
const separator = chalk.white('─'.repeat(60));
|
|
154
|
-
console.log(separator);
|
|
155
|
-
tipsToShow.forEach((tip, index) => {
|
|
156
|
-
console.log(chalk.cyan('💡 Tip:'), chalk.white(tip.message));
|
|
157
|
-
if (tip.command) {
|
|
158
|
-
console.log(chalk.white(' →'), chalk.blueBright(tip.command));
|
|
159
|
-
}
|
|
160
|
-
if (index < tipsToShow.length - 1) {
|
|
161
|
-
console.log(); // Spacing between tips
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
console.log(separator);
|
|
165
|
-
console.log();
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Show a tip at the bottom of the screen (non-rotating)
|
|
169
|
-
*/
|
|
170
|
-
showAtBottom() {
|
|
171
|
-
const tip = this.getRandomTip();
|
|
172
|
-
if (tip) {
|
|
173
|
-
// Get terminal height
|
|
174
|
-
const terminalHeight = process.stdout.rows || 24;
|
|
175
|
-
// Save cursor position
|
|
176
|
-
process.stdout.write('\x1b7');
|
|
177
|
-
// Move to bottom (2 lines from bottom for the tip)
|
|
178
|
-
process.stdout.write(`\x1b[${terminalHeight - 3};0H`);
|
|
179
|
-
// Show tip
|
|
180
|
-
const separator = chalk.white('─'.repeat(Math.min(60, process.stdout.columns || 80)));
|
|
181
|
-
process.stdout.write(separator + '\n');
|
|
182
|
-
process.stdout.write(chalk.cyan('💡 ') + chalk.white(tip.message));
|
|
183
|
-
if (tip.command) {
|
|
184
|
-
process.stdout.write(chalk.white(' → ') + chalk.blueBright(tip.command));
|
|
185
|
-
}
|
|
186
|
-
process.stdout.write('\n' + separator);
|
|
187
|
-
// Restore cursor position
|
|
188
|
-
process.stdout.write('\x1b8');
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Reset shown tips
|
|
193
|
-
*/
|
|
194
|
-
reset() {
|
|
195
|
-
this.shownTips.clear();
|
|
196
|
-
this.currentTipIndex = -1;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Global async tip display instance
|
|
201
|
-
*/
|
|
202
|
-
export const asyncTipDisplay = new AsyncTipDisplay();
|
|
203
|
-
//# sourceMappingURL=async-tips.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-tips.js","sourceRoot":"","sources":["../../src/utils/async-tips.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { SSOAuthResult } from '../types/sso.js';
|
|
2
|
-
/**
|
|
3
|
-
* Validates CodeMie integrations and prompts for selection (SSO provider only)
|
|
4
|
-
* Returns null if user opts out or no integrations available
|
|
5
|
-
*/
|
|
6
|
-
export declare function validateCodeMieIntegrations(authResult: SSOAuthResult, spinner?: any): Promise<{
|
|
7
|
-
id: string;
|
|
8
|
-
alias: string;
|
|
9
|
-
} | null>;
|
|
10
|
-
/**
|
|
11
|
-
* Validates that a specific integration alias exists and is of type LiteLLM
|
|
12
|
-
*/
|
|
13
|
-
export declare function validateIntegrationAlias(apiUrl: string, cookies: Record<string, string>, integrationAlias: string): Promise<boolean>;
|
|
14
|
-
/**
|
|
15
|
-
* Gets all available integration types for debugging/informational purposes
|
|
16
|
-
*/
|
|
17
|
-
export declare function getAvailableIntegrationTypes(apiUrl: string, cookies: Record<string, string>): Promise<string[]>;
|
|
18
|
-
//# sourceMappingURL=codemie-integration-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-integration-validator.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-integration-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,aAAa,EACzB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAc/C;AAwFD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import inquirer from 'inquirer';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { fetchCodeMieIntegrations, CODEMIE_ENDPOINTS } from './codemie-model-fetcher.js';
|
|
4
|
-
/**
|
|
5
|
-
* Validates CodeMie integrations and prompts for selection (SSO provider only)
|
|
6
|
-
* Returns null if user opts out or no integrations available
|
|
7
|
-
*/
|
|
8
|
-
export async function validateCodeMieIntegrations(authResult, spinner) {
|
|
9
|
-
const integrations = await fetchCodeMieIntegrations(authResult.apiUrl, authResult.cookies, CODEMIE_ENDPOINTS.USER_SETTINGS);
|
|
10
|
-
// Integrations are already filtered by API for LiteLLM type
|
|
11
|
-
if (integrations.length === 0) {
|
|
12
|
-
// No integrations found - continue without integration
|
|
13
|
-
if (spinner) {
|
|
14
|
-
spinner.info(chalk.white('No CodeMie integrations found - continuing without integration'));
|
|
15
|
-
}
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
// Return selected integration ID and alias (or null if user opts out)
|
|
19
|
-
return await promptForIntegrationSelection(integrations, spinner);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Prompts user to select from available LiteLLM integrations
|
|
23
|
-
* Returns null if user chooses to skip
|
|
24
|
-
*/
|
|
25
|
-
async function promptForIntegrationSelection(integrations, spinner) {
|
|
26
|
-
if (integrations.length === 1) {
|
|
27
|
-
// Auto-select single integration with confirmation
|
|
28
|
-
const integration = integrations[0];
|
|
29
|
-
const displayName = integration.project_name
|
|
30
|
-
? `${integration.alias} (${integration.project_name})`
|
|
31
|
-
: integration.alias;
|
|
32
|
-
// Stop spinner before showing prompt
|
|
33
|
-
if (spinner) {
|
|
34
|
-
spinner.stop();
|
|
35
|
-
}
|
|
36
|
-
const { action } = await inquirer.prompt([{
|
|
37
|
-
type: 'list',
|
|
38
|
-
name: 'action',
|
|
39
|
-
message: `Use CodeMie LiteLLM integration "${displayName}"?`,
|
|
40
|
-
choices: [
|
|
41
|
-
{ name: `Yes, use "${displayName}"`, value: 'use' },
|
|
42
|
-
{ name: 'Skip (continue without integration)', value: 'skip' }
|
|
43
|
-
],
|
|
44
|
-
default: 'use'
|
|
45
|
-
}]);
|
|
46
|
-
if (action === 'skip') {
|
|
47
|
-
console.log(chalk.white('Skipping integration setup'));
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
console.log(chalk.green(`✓ Selected integration: ${displayName}`));
|
|
51
|
-
return { id: integration.id, alias: integration.alias };
|
|
52
|
-
}
|
|
53
|
-
// Multiple integrations - show selection list
|
|
54
|
-
// Stop spinner before showing prompt
|
|
55
|
-
if (spinner) {
|
|
56
|
-
spinner.stop();
|
|
57
|
-
}
|
|
58
|
-
const choices = integrations.map(integration => {
|
|
59
|
-
// Show both alias and project_name
|
|
60
|
-
const displayName = integration.project_name && integration.project_name.trim() !== ''
|
|
61
|
-
? `${integration.alias} (${integration.project_name})`
|
|
62
|
-
: integration.alias;
|
|
63
|
-
return {
|
|
64
|
-
name: displayName,
|
|
65
|
-
value: integration.id
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
// Add skip option
|
|
69
|
-
choices.push({
|
|
70
|
-
name: chalk.white('Skip (continue without integration)'),
|
|
71
|
-
value: 'skip'
|
|
72
|
-
});
|
|
73
|
-
const { selectedId } = await inquirer.prompt([{
|
|
74
|
-
type: 'list',
|
|
75
|
-
name: 'selectedId',
|
|
76
|
-
message: `Choose a CodeMie LiteLLM integration (${integrations.length} available):`,
|
|
77
|
-
choices,
|
|
78
|
-
pageSize: 15
|
|
79
|
-
}]);
|
|
80
|
-
if (selectedId === 'skip') {
|
|
81
|
-
console.log(chalk.white('Skipping integration setup'));
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
const selectedIntegration = integrations.find(i => i.id === selectedId);
|
|
85
|
-
const displayName = selectedIntegration?.project_name
|
|
86
|
-
? `${selectedIntegration.alias} (${selectedIntegration.project_name})`
|
|
87
|
-
: selectedIntegration?.alias || selectedId;
|
|
88
|
-
console.log(chalk.green(`✓ Selected integration: ${displayName}`));
|
|
89
|
-
return { id: selectedId, alias: selectedIntegration?.alias || '' };
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Validates that a specific integration alias exists and is of type LiteLLM
|
|
93
|
-
*/
|
|
94
|
-
export async function validateIntegrationAlias(apiUrl, cookies, integrationAlias) {
|
|
95
|
-
try {
|
|
96
|
-
const integrations = await fetchCodeMieIntegrations(apiUrl, cookies);
|
|
97
|
-
const integration = integrations.find(i => i.alias === integrationAlias && i.credential_type === 'LiteLLM');
|
|
98
|
-
return !!integration;
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
console.error('Error validating integration alias:', error);
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Gets all available integration types for debugging/informational purposes
|
|
107
|
-
*/
|
|
108
|
-
export async function getAvailableIntegrationTypes(apiUrl, cookies) {
|
|
109
|
-
try {
|
|
110
|
-
const integrations = await fetchCodeMieIntegrations(apiUrl, cookies);
|
|
111
|
-
const types = [...new Set(integrations.map(i => i.credential_type))];
|
|
112
|
-
return types.sort();
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
console.error('Error fetching integration types:', error);
|
|
116
|
-
return [];
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=codemie-integration-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-integration-validator.js","sourceRoot":"","sources":["../../src/utils/codemie-integration-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-model-fetcher.d.ts","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAA+B,MAAM,iBAAiB,CAAC;AAShG,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAqKX,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyDnB;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAStE;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,GAAE,MAAwC,GACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyC/B;AA8ED,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CASxF;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjE"}
|