@terminai/core 0.26.0 → 0.50.0
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/LICENSE +247 -0
- package/README.md +422 -0
- package/dist/docs/CONTRIBUTING.md +8 -8
- package/dist/docs/changelogs/index.md +5 -5
- package/dist/docs/cli/commands.md +43 -17
- package/dist/docs/cli/quick-reference.md +61 -0
- package/dist/docs/cli/telemetry.md +3 -792
- package/dist/docs/extensions/index.md +1 -1
- package/dist/docs/get-started/configuration.md +6 -2
- package/dist/docs/index.md +17 -17
- package/dist/docs/{termai-comparison.md → terminai-comparison.md} +18 -18
- package/dist/docs/{termai-examples.md → terminai-examples.md} +2 -2
- package/dist/docs/{termai-operator-recipes.md → terminai-operator-recipes.md} +1 -1
- package/dist/docs/{termai-process-manager.md → terminai-process-manager.md} +7 -7
- package/dist/docs/{termai-quickstart.md → terminai-quickstart.md} +10 -10
- package/dist/docs/{termai-system.md → terminai-system.md} +2 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/src/auth/wizardSettings.js +3 -0
- package/dist/src/auth/wizardSettings.js.map +1 -1
- package/dist/src/auth/wizardSettings.test.js +3 -0
- package/dist/src/auth/wizardSettings.test.js.map +1 -1
- package/dist/src/brain/__tests__/advisors.test.js +25 -6
- package/dist/src/brain/__tests__/advisors.test.js.map +1 -1
- package/dist/src/brain/__tests__/cognitiveArchitecture.test.js +24 -0
- package/dist/src/brain/__tests__/cognitiveArchitecture.test.js.map +1 -1
- package/dist/src/brain/__tests__/thinkingOrchestrator.test.js +29 -5
- package/dist/src/brain/__tests__/thinkingOrchestrator.test.js.map +1 -1
- package/dist/src/config/builder.js +4 -1
- package/dist/src/config/builder.js.map +1 -1
- package/dist/src/config/settings/loader.d.ts +1 -0
- package/dist/src/config/settings/loader.js +10 -0
- package/dist/src/config/settings/loader.js.map +1 -1
- package/dist/src/config/settings/schema.d.ts +2 -5
- package/dist/src/config/settings/schema.js +2 -3
- package/dist/src/config/settings/schema.js.map +1 -1
- package/dist/src/core/client.test.js +0 -2
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +1 -1
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +3 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +34 -13
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +25 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
- package/dist/src/openai_chatgpt/imports.test.js +17 -1
- package/dist/src/openai_chatgpt/imports.test.js.map +1 -1
- package/dist/src/telemetry/config.d.ts +1 -0
- package/dist/src/telemetry/config.js +3 -4
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/config.test.js +6 -4
- package/dist/src/telemetry/config.test.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +0 -2
- package/dist/src/telemetry/index.js +0 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.js +0 -36
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +17 -1
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +24 -19
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +17 -135
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/tools/confirmation-policy.test.js +1 -1
- package/dist/src/tools/confirmation-policy.test.js.map +1 -1
- package/dist/src/utils/paths.js +7 -3
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +31 -2
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/shell-permissions.test.js +4 -2
- package/dist/src/utils/shell-permissions.test.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +4 -2
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -5
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +0 -159
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -1210
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -20
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -835
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +0 -140
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -350
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +0 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +0 -36
- package/dist/src/telemetry/gcp-exporters.js +0 -121
- package/dist/src/telemetry/gcp-exporters.js.map +0 -1
- package/dist/src/telemetry/gcp-exporters.test.d.ts +0 -7
- package/dist/src/telemetry/gcp-exporters.test.js +0 -319
- package/dist/src/telemetry/gcp-exporters.test.js.map +0 -1
- package/dist/src/telemetry/integration.test.circular.d.ts +0 -7
- package/dist/src/telemetry/integration.test.circular.js +0 -55
- package/dist/src/telemetry/integration.test.circular.js.map +0 -1
|
@@ -8,7 +8,7 @@ capabilities of Gemini CLI and share those capabilities with others. They are
|
|
|
8
8
|
designed to be easily installable and shareable.
|
|
9
9
|
|
|
10
10
|
To see examples of extensions, you can browse a gallery of
|
|
11
|
-
[Gemini CLI extensions](https://
|
|
11
|
+
[Gemini CLI extensions](https://terminai.org/extensions).
|
|
12
12
|
|
|
13
13
|
See [getting started docs](getting-started-extensions.md) for a guide on
|
|
14
14
|
creating your first extension.
|
|
@@ -217,7 +217,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
217
217
|
- **Requires restart:** Yes
|
|
218
218
|
|
|
219
219
|
- **`ui.showStatusInTitle`** (boolean):
|
|
220
|
-
- **Description:** Show
|
|
220
|
+
- **Description:** Show TerminaI status and thoughts in the terminal window
|
|
221
221
|
title
|
|
222
222
|
- **Default:** `false`
|
|
223
223
|
|
|
@@ -830,7 +830,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
830
830
|
|
|
831
831
|
- **`tools.enableHooks`** (boolean):
|
|
832
832
|
- **Description:** Enable the hooks system for intercepting and customizing
|
|
833
|
-
|
|
833
|
+
TerminaI behavior. When enabled, hooks configured in settings will execute
|
|
834
834
|
at appropriate lifecycle events (BeforeTool, AfterTool, BeforeModel, etc.).
|
|
835
835
|
Requires MessageBus integration.
|
|
836
836
|
- **Default:** `false`
|
|
@@ -867,6 +867,10 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
867
867
|
|
|
868
868
|
#### `security`
|
|
869
869
|
|
|
870
|
+
- **`security.approvalPin`** (string):
|
|
871
|
+
- **Description:** 6-digit PIN for high-risk actions.
|
|
872
|
+
- **Default:** `"000000"`
|
|
873
|
+
|
|
870
874
|
- **`security.disableYoloMode`** (boolean):
|
|
871
875
|
- **Description:** Disable YOLO mode, even if enabled by a flag.
|
|
872
876
|
- **Default:** `false`
|
package/dist/docs/index.md
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
# Welcome to
|
|
1
|
+
# Welcome to TerminAI documentation
|
|
2
2
|
|
|
3
3
|
This documentation provides a comprehensive guide to installing, using, and
|
|
4
|
-
developing
|
|
5
|
-
|
|
4
|
+
developing TerminAI, a tool that lets you interact with Gemini models through a
|
|
5
|
+
command-line interface.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## TerminAI overview
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
TerminAI brings the capabilities of Gemini models to your terminal in an
|
|
10
10
|
interactive Read-Eval-Print Loop (REPL) environment.
|
|
11
11
|
|
|
12
12
|
> [!NOTE] **Using TerminaI?** This repository is home to **TerminaI**, an
|
|
13
13
|
> enhanced distribution of Gemini CLI featuring a Desktop GUI, Voice Mode, and
|
|
14
14
|
> Web Remote.
|
|
15
15
|
>
|
|
16
|
-
> 👉 **[Go to
|
|
16
|
+
> 👉 **[Go to TerminAI Documentation](../docs-terminai/index.md)** for:
|
|
17
17
|
>
|
|
18
18
|
> - Desktop App & Voice
|
|
19
19
|
> - Web Remote (A2A)
|
|
20
|
-
> -
|
|
20
|
+
> - TerminAI-specific configuration
|
|
21
21
|
|
|
22
22
|
The core CLI application (`packages/cli`) communicates with a local server
|
|
23
23
|
(`packages/core`), which in turn manages requests to the Gemini API and its AI
|
|
@@ -31,13 +31,13 @@ This documentation is organized into the following sections:
|
|
|
31
31
|
|
|
32
32
|
### Overview
|
|
33
33
|
|
|
34
|
-
- **[
|
|
35
|
-
prompts for common terminal tasks.
|
|
36
|
-
- **[
|
|
37
|
-
in minutes.
|
|
38
|
-
- **[What can
|
|
34
|
+
- **[TerminAI operator recipes](./terminai-operator-recipes.md):** Practical,
|
|
35
|
+
safe prompts for common terminal tasks.
|
|
36
|
+
- **[TerminAI quickstart](./terminai-quickstart.md):** Install and launch
|
|
37
|
+
TerminAI in minutes.
|
|
38
|
+
- **[What can TerminAI do?](./terminai-examples.md):** Copy-paste examples for
|
|
39
39
|
real-world tasks.
|
|
40
|
-
- **[
|
|
40
|
+
- **[TerminAI comparison](./terminai-comparison.md):** Differences from Gemini
|
|
41
41
|
CLI, Warp, and Fig.
|
|
42
42
|
- **[Architecture overview](./architecture.md):** Understand the high-level
|
|
43
43
|
design of Gemini CLI, including its components and how they interact.
|
|
@@ -46,8 +46,8 @@ This documentation is organized into the following sections:
|
|
|
46
46
|
|
|
47
47
|
### Get started
|
|
48
48
|
|
|
49
|
-
- **[
|
|
50
|
-
|
|
49
|
+
- **[TerminAI quickstart](./terminai-quickstart.md):** Install and launch
|
|
50
|
+
TerminAI.
|
|
51
51
|
- **[Gemini CLI quickstart](./get-started/index.md):** Let's get started with
|
|
52
52
|
Gemini CLI.
|
|
53
53
|
- **[Gemini 3 Pro on Gemini CLI](./get-started/gemini-2.0-flash-exp.md):** Learn
|
|
@@ -71,7 +71,7 @@ This documentation is organized into the following sections:
|
|
|
71
71
|
- **[Enterprise](./cli/enterprise.md):** Gemini CLI for enterprise.
|
|
72
72
|
- **[Headless mode](./cli/headless.md):** Use Gemini CLI programmatically for
|
|
73
73
|
scripting and automation.
|
|
74
|
-
- **[
|
|
74
|
+
- **[TerminAI process manager](./terminai-process-manager.md):** Manual
|
|
75
75
|
verification steps for process orchestration.
|
|
76
76
|
- **[Keyboard shortcuts](./cli/keyboard-shortcuts.md):** A reference for all
|
|
77
77
|
keyboard shortcuts to improve your workflow.
|
|
@@ -167,4 +167,4 @@ This documentation is organized into the following sections:
|
|
|
167
167
|
- **[Terms of service and privacy notice](./tos-privacy.md):** Information on
|
|
168
168
|
the terms of service and privacy notices applicable to your use of Gemini CLI.
|
|
169
169
|
|
|
170
|
-
We hope this documentation helps you make the most of
|
|
170
|
+
We hope this documentation helps you make the most of TerminAI!
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TerminAI comparison (systems-first)
|
|
2
2
|
|
|
3
3
|
This guide explains _category differences_.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
TerminAI is not “another coding agent.” It’s a **system operator**: governed
|
|
6
6
|
execution + PTY + auditability, designed to safely fix and manage real machines
|
|
7
7
|
(laptops and servers).
|
|
8
8
|
|
|
@@ -13,36 +13,36 @@ execution + PTY + auditability, designed to safely fix and manage real machines
|
|
|
13
13
|
| **Coding agents** (Aider / Claude Code / Cursor-style flows) | editing code fast | great diffs, repo changes | strong ops governance + audited system repairs |
|
|
14
14
|
| **Terminal UX tools** (Warp) | nicer terminal experience | UI + autocomplete + some AI help | an operator loop that executes multi-step tasks with approvals |
|
|
15
15
|
| **Desktop automation** (Open Interpreter-style) | “do stuff on my desktop” | broad automation | often weak governance/audit for risky ops |
|
|
16
|
-
| **
|
|
16
|
+
| **TerminAI** | **governed system operation** | policy ladder + approvals + PTY execution + audit trail + MCP/A2A extensibility | not (yet) a polished enterprise fleet product |
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## TerminAI vs Gemini CLI (upstream engine)
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
TerminAI is currently a forked product direction built on a stable upstream
|
|
21
21
|
core.
|
|
22
22
|
|
|
23
|
-
- **Focus:** Gemini CLI is broad and developer-oriented;
|
|
23
|
+
- **Focus:** Gemini CLI is broad and developer-oriented; TerminAI is
|
|
24
24
|
**systems-first**.
|
|
25
|
-
- **Product primitives:**
|
|
25
|
+
- **Product primitives:** TerminAI centers:
|
|
26
26
|
- policy/approval ladders
|
|
27
27
|
- PTY-based execution (real TUIs)
|
|
28
28
|
- auditability
|
|
29
29
|
- A2A + MCP integration
|
|
30
30
|
- **Command surface:** TerminaI is branded around `terminai`.
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## TerminAI vs Aider
|
|
33
33
|
|
|
34
34
|
- **Aider wins** when: you want tight, code-only iteration with git-aware edits.
|
|
35
|
-
- **
|
|
35
|
+
- **TerminAI wins** when: the problem is _the machine_, not just the repo.
|
|
36
36
|
- diagnose environment drift
|
|
37
37
|
- fix build toolchains
|
|
38
38
|
- manage processes/services
|
|
39
39
|
- repair system networking/storage
|
|
40
40
|
- do it under governance (approvals + audit)
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## TerminAI vs Claude Code / editor-centric agents
|
|
43
43
|
|
|
44
44
|
- **Editor agents win** when: the task is entirely inside the editor.
|
|
45
|
-
- **
|
|
45
|
+
- **TerminAI wins** when: code changes must be paired with **real operational
|
|
46
46
|
actions**:
|
|
47
47
|
- install packages
|
|
48
48
|
- restart services
|
|
@@ -50,29 +50,29 @@ core.
|
|
|
50
50
|
- run migrations
|
|
51
51
|
- update system config
|
|
52
52
|
|
|
53
|
-
##
|
|
53
|
+
## TerminAI vs Warp (and other terminal UX)
|
|
54
54
|
|
|
55
55
|
- **Warp wins** when: you want a beautiful terminal replacement.
|
|
56
|
-
- **
|
|
56
|
+
- **TerminAI wins** when: you want a **governed operator** layered on your
|
|
57
57
|
terminal/host:
|
|
58
58
|
- multi-step plans
|
|
59
59
|
- tool confirmation
|
|
60
60
|
- structured logs + audit trails
|
|
61
61
|
|
|
62
|
-
##
|
|
62
|
+
## TerminAI vs Open Interpreter (desktop automation)
|
|
63
63
|
|
|
64
64
|
- **Open Interpreter wins** when: you want broad “desktop” actions.
|
|
65
|
-
- **
|
|
65
|
+
- **TerminAI wins** when: you need:
|
|
66
66
|
- explicit trust boundaries
|
|
67
67
|
- preview/approval before destructive ops
|
|
68
68
|
- reproducible actions
|
|
69
69
|
- audit trails you can show other humans
|
|
70
70
|
|
|
71
|
-
##
|
|
71
|
+
## TerminAI vs “just scripts”
|
|
72
72
|
|
|
73
73
|
Scripts are great—when you already know the correct script.
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
TerminAI shines when the job is:
|
|
76
76
|
|
|
77
77
|
- ambiguous (“why is this machine slow?”)
|
|
78
78
|
- environment-specific
|
|
@@ -81,7 +81,7 @@ TerminaI shines when the job is:
|
|
|
81
81
|
|
|
82
82
|
## Why contributors should care
|
|
83
83
|
|
|
84
|
-
If you want to build _trustworthy_ agentic automation,
|
|
84
|
+
If you want to build _trustworthy_ agentic automation, TerminAI is a playground
|
|
85
85
|
of the right primitives:
|
|
86
86
|
|
|
87
87
|
- **Policy engine** (governance)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TerminAI Process Manager — Manual Verification
|
|
2
2
|
|
|
3
|
-
This page documents the manual verification flow for
|
|
3
|
+
This page documents the manual verification flow for TerminAI's process
|
|
4
4
|
orchestration capabilities. These checks ensure that long-running sessions can
|
|
5
5
|
be started, observed, and stopped safely.
|
|
6
6
|
|
|
7
7
|
## Preconditions
|
|
8
8
|
|
|
9
|
-
- You can run `
|
|
9
|
+
- You can run `terminai` from this repo (for example, via `npm run start`).
|
|
10
10
|
- You have a project with a long-running command (example: `npm run dev`).
|
|
11
11
|
|
|
12
12
|
## Manual verification steps
|
|
@@ -20,7 +20,7 @@ be started, observed, and stopped safely.
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Expected:
|
|
23
|
-
-
|
|
23
|
+
- TerminAI starts a named session `devserver`.
|
|
24
24
|
- Output is streamed or summarized.
|
|
25
25
|
- Readiness is acknowledged based on output text.
|
|
26
26
|
|
|
@@ -33,7 +33,7 @@ be started, observed, and stopped safely.
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Expected:
|
|
36
|
-
-
|
|
36
|
+
- TerminAI returns the last 50 lines from the session buffer.
|
|
37
37
|
- Output is bounded and does not dump the full log.
|
|
38
38
|
|
|
39
39
|
3. **Stop the session safely**
|
|
@@ -45,7 +45,7 @@ be started, observed, and stopped safely.
|
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
Expected:
|
|
48
|
-
-
|
|
48
|
+
- TerminAI sends SIGINT (or PTY input) to the process.
|
|
49
49
|
- If a confirmation prompt appears, approve it.
|
|
50
50
|
- The session stops cleanly.
|
|
51
51
|
|
|
@@ -58,7 +58,7 @@ be started, observed, and stopped safely.
|
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
Expected:
|
|
61
|
-
-
|
|
61
|
+
- TerminAI lists known sessions.
|
|
62
62
|
- `devserver` is marked exited/stopped if it was terminated.
|
|
63
63
|
|
|
64
64
|
## Notes
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TerminAI quickstart
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
runs the same engine with a
|
|
3
|
+
TerminAI is a terminal-first AI that ships as a wrapper on top of Gemini CLI. It
|
|
4
|
+
runs the same engine with a TerminAI system prompt by default.
|
|
5
5
|
|
|
6
6
|
## Install
|
|
7
7
|
|
|
8
8
|
### Option 1: npx (fastest)
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
npx
|
|
11
|
+
npx terminai
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
### Option 2: npm global install
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
npm install -g
|
|
18
|
-
|
|
17
|
+
npm install -g terminai
|
|
18
|
+
terminai
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
### Option 3: from source
|
|
@@ -25,8 +25,8 @@ git clone https://github.com/Prof-Harita/terminaI.git
|
|
|
25
25
|
cd terminaI
|
|
26
26
|
npm ci
|
|
27
27
|
npm run build
|
|
28
|
-
npm link --workspace packages/
|
|
29
|
-
|
|
28
|
+
npm link --workspace packages/terminai
|
|
29
|
+
terminai
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Authenticate
|
|
@@ -50,10 +50,10 @@ What's the weather in Austin right now?
|
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
export TERMINAI_SYSTEM_MD=/path/to/your/system.md
|
|
53
|
-
|
|
53
|
+
terminai
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Troubleshooting
|
|
57
57
|
|
|
58
58
|
If you hit permission prompts or tool denials, re-run the command and confirm
|
|
59
|
-
explicitly.
|
|
59
|
+
explicitly. TerminAI will never bypass your confirmation policies.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TerminAI System Prompt (Example)
|
|
2
2
|
|
|
3
|
-
You are
|
|
3
|
+
You are TerminAI, the AI that IS the user's terminal. You own this shell like a
|
|
4
4
|
human operator — you can run commands, monitor processes, query system state,
|
|
5
5
|
and handle any terminal task using your tools and the web.
|
|
6
6
|
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ export { logExtensionEnable, logIdeConnection, logExtensionDisable, } from './sr
|
|
|
14
14
|
export { IdeConnectionEvent, IdeConnectionType, ExtensionInstallEvent, ExtensionDisableEvent, ExtensionEnableEvent, ExtensionUninstallEvent, ExtensionUpdateEvent, ModelSlashCommandEvent, } from './src/telemetry/types.js';
|
|
15
15
|
export { makeFakeConfig } from './src/test-utils/config.js';
|
|
16
16
|
export * from './src/utils/pathReader.js';
|
|
17
|
-
export { ClearcutLogger } from './src/telemetry/clearcut-logger/clearcut-logger.js';
|
|
18
17
|
export { logModelSlashCommand } from './src/telemetry/loggers.js';
|
|
19
18
|
export { KeychainTokenStorage } from './src/mcp/token-storage/keychain-token-storage.js';
|
|
20
19
|
export * from './src/utils/googleQuotaErrors.js';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,6 @@ export { logExtensionEnable, logIdeConnection, logExtensionDisable, } from './sr
|
|
|
14
14
|
export { IdeConnectionEvent, IdeConnectionType, ExtensionInstallEvent, ExtensionDisableEvent, ExtensionEnableEvent, ExtensionUninstallEvent, ExtensionUpdateEvent, ModelSlashCommandEvent, } from './src/telemetry/types.js';
|
|
15
15
|
export { makeFakeConfig } from './src/test-utils/config.js';
|
|
16
16
|
export * from './src/utils/pathReader.js';
|
|
17
|
-
export { ClearcutLogger } from './src/telemetry/clearcut-logger/clearcut-logger.js';
|
|
18
17
|
export { logModelSlashCommand } from './src/telemetry/loggers.js';
|
|
19
18
|
export { KeychainTokenStorage } from './src/mcp/token-storage/keychain-token-storage.js';
|
|
20
19
|
export * from './src/utils/googleQuotaErrors.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAI1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAI1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -21,6 +21,9 @@ export function buildWizardSettingsPatch(input) {
|
|
|
21
21
|
value: input.geminiAuthType,
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
+
// Clear OpenAI configs to prevent zombie state during hot-swap
|
|
25
|
+
patches.push({ path: 'llm.openaiCompatible', value: undefined });
|
|
26
|
+
patches.push({ path: 'llm.openaiChatgptOauth', value: undefined });
|
|
24
27
|
}
|
|
25
28
|
else if (input.provider === 'openai_compatible') {
|
|
26
29
|
if (!input.openaiCompatible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizardSettings.js","sourceRoot":"","sources":["../../../src/auth/wizardSettings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAsBhF;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA0B;IAE1B,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,kBAAkB;IAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9D,gCAAgC;IAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,4BAA4B;gBAClC,KAAK,EAAE,KAAK,CAAC,cAAc;aAC5B,CAAC,CAAC;QACL,CAAC;
|
|
1
|
+
{"version":3,"file":"wizardSettings.js","sourceRoot":"","sources":["../../../src/auth/wizardSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,9 @@ describe('buildWizardSettingsPatch', () => {
|
|
|
16
16
|
expect(patches).toEqual([
|
|
17
17
|
{ path: 'llm.provider', value: 'gemini' },
|
|
18
18
|
{ path: 'security.auth.selectedType', value: AuthType.USE_GEMINI },
|
|
19
|
+
// Cleanup patches to clear OpenAI configs during hot-swap
|
|
20
|
+
{ path: 'llm.openaiCompatible', value: undefined },
|
|
21
|
+
{ path: 'llm.openaiChatgptOauth', value: undefined },
|
|
19
22
|
]);
|
|
20
23
|
});
|
|
21
24
|
it('should build patches for OpenAI-compatible provider with normalized baseUrl and defaults', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizardSettings.test.js","sourceRoot":"","sources":["../../../src/auth/wizardSettings.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,wBAAwB,CAAC;YACvC,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,QAAQ,CAAC,UAAU;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;YACzC,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"wizardSettings.test.js","sourceRoot":"","sources":["../../../src/auth/wizardSettings.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,32 @@
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { describe, it, expect, vi } from 'vitest';
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
// Static fixture to avoid slow execSync calls on Windows CI
|
|
9
|
+
const mockSystemSpec = {
|
|
10
|
+
os: { name: 'linux', version: '5.15.0', arch: 'x64' },
|
|
11
|
+
shell: { type: 'bash', version: '5.0.0' },
|
|
12
|
+
runtimes: { node: { version: 'v20.0.0', npm: '10.0.0' } },
|
|
13
|
+
binaries: { git: { path: '/usr/bin/git', version: '2.40.0' } },
|
|
14
|
+
packageManagers: ['npm'],
|
|
15
|
+
sudoAvailable: false,
|
|
16
|
+
network: { hasInternet: true },
|
|
17
|
+
timestamp: Date.now(),
|
|
18
|
+
};
|
|
19
|
+
// Mock scanSystemSync on Windows to avoid slow execSync calls
|
|
20
|
+
vi.mock('../systemSpec.js', async (importOriginal) => {
|
|
21
|
+
const actual = await importOriginal();
|
|
22
|
+
// Only mock on Windows - Linux CI uses real system scan
|
|
23
|
+
if (process.platform === 'win32') {
|
|
24
|
+
return {
|
|
25
|
+
...actual,
|
|
26
|
+
scanSystemSync: vi.fn(() => mockSystemSpec),
|
|
27
|
+
saveSystemSpec: vi.fn(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return actual;
|
|
31
|
+
});
|
|
32
|
+
import { DepScannerAdvisor, EnumeratorAdvisor, PatternMatcherAdvisor, FallbackChainAdvisor, CodeGeneratorAdvisor, scanSystemSync, } from '../index.js';
|
|
10
33
|
describe('Individual Advisors', () => {
|
|
11
|
-
beforeAll(() => {
|
|
12
|
-
const spec = scanSystemSync();
|
|
13
|
-
saveSystemSpec(spec);
|
|
14
|
-
});
|
|
15
34
|
const mockSystemSpec = scanSystemSync();
|
|
16
35
|
const mockProposal = {
|
|
17
36
|
approach: 'Test Approach',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advisors.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/advisors.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"advisors.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/advisors.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,30 @@
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { describe, it, expect, vi } from 'vitest';
|
|
8
|
+
// Static fixture to avoid slow execSync calls on Windows CI
|
|
9
|
+
const mockSystemSpec = {
|
|
10
|
+
os: { name: 'linux', version: '5.15.0', arch: 'x64' },
|
|
11
|
+
shell: { type: 'bash', version: '5.0.0' },
|
|
12
|
+
runtimes: { node: { version: 'v20.0.0', npm: '10.0.0' } },
|
|
13
|
+
binaries: { git: { path: '/usr/bin/git', version: '2.40.0' } },
|
|
14
|
+
packageManagers: ['npm'],
|
|
15
|
+
sudoAvailable: false,
|
|
16
|
+
network: { hasInternet: true },
|
|
17
|
+
timestamp: Date.now(),
|
|
18
|
+
};
|
|
19
|
+
// Mock scanSystemSync on Windows to avoid slow execSync calls
|
|
20
|
+
vi.mock('../systemSpec.js', async (importOriginal) => {
|
|
21
|
+
const actual = await importOriginal();
|
|
22
|
+
// Only mock on Windows - Linux CI uses real system scan
|
|
23
|
+
if (process.platform === 'win32') {
|
|
24
|
+
return {
|
|
25
|
+
...actual,
|
|
26
|
+
scanSystemSync: vi.fn(() => mockSystemSpec),
|
|
27
|
+
scanSystem: vi.fn(async () => mockSystemSpec),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return actual;
|
|
31
|
+
});
|
|
8
32
|
import { scanSystemSync, selectFrameworkHeuristic, ConsensusOrchestrator, formatSystemSpecForPrompt, } from '../index.js';
|
|
9
33
|
describe('Cognitive Architecture Integration', () => {
|
|
10
34
|
describe('SystemSpec', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitiveArchitecture.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/cognitiveArchitecture.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"cognitiveArchitecture.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/cognitiveArchitecture.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,37 @@
|
|
|
4
4
|
* Portions Copyright 2025 TerminaI Authors
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
import { describe, it, expect, vi
|
|
7
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
8
|
+
// Static fixture to avoid slow execSync calls on Windows CI
|
|
9
|
+
const mockSystemSpec = {
|
|
10
|
+
os: { name: 'linux', version: '5.15.0', arch: 'x64' },
|
|
11
|
+
shell: { type: 'bash', version: '5.0.0' },
|
|
12
|
+
runtimes: { node: { version: 'v20.0.0', npm: '10.0.0' } },
|
|
13
|
+
binaries: { git: { path: '/usr/bin/git', version: '2.40.0' } },
|
|
14
|
+
packageManagers: ['npm'],
|
|
15
|
+
sudoAvailable: false,
|
|
16
|
+
network: { hasInternet: true },
|
|
17
|
+
timestamp: Date.now(),
|
|
18
|
+
};
|
|
19
|
+
// Mock scanSystemSync on Windows to avoid slow execSync calls
|
|
20
|
+
vi.mock('../systemSpec.js', async (importOriginal) => {
|
|
21
|
+
const actual = await importOriginal();
|
|
22
|
+
// Only mock on Windows - Linux CI uses real system scan
|
|
23
|
+
if (process.platform === 'win32') {
|
|
24
|
+
return {
|
|
25
|
+
...actual,
|
|
26
|
+
scanSystemSync: vi.fn(() => mockSystemSpec),
|
|
27
|
+
saveSystemSpec: vi.fn(),
|
|
28
|
+
loadSystemSpec: vi.fn(() => mockSystemSpec), // Required for executeTask()
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return actual;
|
|
32
|
+
});
|
|
8
33
|
import { ThinkingOrchestrator, scanSystemSync, saveSystemSpec, } from '../index.js';
|
|
9
34
|
describe('ThinkingOrchestrator', () => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
35
|
+
// Initialize system spec (mocked on Windows, real on Linux)
|
|
36
|
+
const spec = scanSystemSync();
|
|
37
|
+
saveSystemSpec(spec);
|
|
14
38
|
const mockConfig = {
|
|
15
39
|
getDebugMode: () => false,
|
|
16
40
|
experimentalBrainFrameworks: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinkingOrchestrator.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/thinkingOrchestrator.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"thinkingOrchestrator.test.js","sourceRoot":"","sources":["../../../../src/brain/__tests__/thinkingOrchestrator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -174,6 +174,9 @@ export class ConfigBuilder {
|
|
|
174
174
|
summarizeToolOutput: settings.model?.summarizeToolOutput,
|
|
175
175
|
compressionThreshold: settings.model?.compressionThreshold,
|
|
176
176
|
folderTrust: settings.security?.folderTrust?.enabled,
|
|
177
|
+
mcpServers: settings.mcpServers,
|
|
178
|
+
allowedMcpServers: settings.mcp?.allowed ?? settings.allowedMcpServers,
|
|
179
|
+
blockedMcpServers: settings.mcp?.excluded ?? settings.blockedMcpServers,
|
|
177
180
|
useRipgrep: settings.tools?.useRipgrep,
|
|
178
181
|
enableInteractiveShell: settings.tools?.shell?.enableInteractiveShell ?? true,
|
|
179
182
|
skipNextSpeakerCheck: settings.model?.skipNextSpeakerCheck,
|
|
@@ -199,7 +202,7 @@ export class ConfigBuilder {
|
|
|
199
202
|
?.introspectionAgentSettings,
|
|
200
203
|
retryFetchErrors: settings.general?.retryFetchErrors ?? false,
|
|
201
204
|
enableHooks: settings.tools?.enableHooks ?? false,
|
|
202
|
-
|
|
205
|
+
excludeTools: settings.tools?.exclude,
|
|
203
206
|
hooks: settings.hooks,
|
|
204
207
|
// Apply overrides
|
|
205
208
|
...(options.overrides || {}),
|