@saccolabs/tars 1.0.37 → 1.0.39
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 +5 -4
- package/context/skills/create-extension/SKILL.md +14 -16
- package/context/skills/manage-extensions/SKILL.md +32 -37
- package/dist/supervisor/cron-service.js +4 -1
- package/dist/supervisor/cron-service.js.map +1 -1
- package/dist/supervisor/gemini-engine.d.ts +4 -0
- package/dist/supervisor/gemini-engine.js +61 -2
- package/dist/supervisor/gemini-engine.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,8 +36,8 @@ Tars is designed for developers who need an assistant that integrates deeply wit
|
|
|
36
36
|
## Key Features
|
|
37
37
|
|
|
38
38
|
- **Multi-Agent Orchestration**: Delegates specialized tasks (like coding or research) to sub-agents for better accuracy.
|
|
39
|
-
- **
|
|
40
|
-
- **Autonomous
|
|
39
|
+
- **Native Gemini Core**: Integrated directly with the `@google/gemini-cli-core` library for high-speed, direct communication without subprocess overhead.
|
|
40
|
+
- **Autonomous Persistence**: A background "Heartbeat" service manages scheduled tasks and system health automatically.
|
|
41
41
|
- **Context-Aware Memory**: Utilizes `GEMINI.md` files to maintain long-term awareness of project structures and decisions.
|
|
42
42
|
|
|
43
43
|
---
|
|
@@ -54,11 +54,12 @@ Full documentation is available in the `site/` directory or at the deployed site
|
|
|
54
54
|
|
|
55
55
|
### Prerequisites
|
|
56
56
|
|
|
57
|
-
- **Node.js**: ≥ 22.0.
|
|
58
|
-
- **Gemini CLI**: `npm i -g @google/gemini-cli`
|
|
57
|
+
- **Node.js**: ≥ 22.0.2
|
|
59
58
|
|
|
60
59
|
### Installation
|
|
61
60
|
|
|
61
|
+
Tars is powered by the **Gemini CLI Core** library, which is automatically bundled during installation. No external CLI tools are required.
|
|
62
|
+
|
|
62
63
|
```bash
|
|
63
64
|
npm install -g @saccolabs/tars
|
|
64
65
|
```
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: extension-builder
|
|
3
|
-
description: Guide for creating new
|
|
3
|
+
description: Guide for creating new MCP extensions at runtime.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# extension-builder Guide Skill
|
|
7
7
|
|
|
8
|
-
This skill allows Tars to create new
|
|
8
|
+
This skill allows Tars to create new MCP extensions to expand its own toolset.
|
|
9
9
|
|
|
10
10
|
## Instructions
|
|
11
11
|
|
|
@@ -13,22 +13,20 @@ When you need to build a new tool or integration:
|
|
|
13
13
|
|
|
14
14
|
1. **Plan the Extension**: Define the name and the MCP tools it will expose.
|
|
15
15
|
2. **Create the Directory**: Move to `~/.tars/.gemini/extensions/<name>`.
|
|
16
|
-
3. **Initialize npm**: Run `npm init -y`.
|
|
16
|
+
3. **Initialize npm**: Run `npm init -y`. Set `"type": "module"` in `package.json`.
|
|
17
17
|
4. **Install Dependencies**: Install `@modelcontextprotocol/sdk` and any other required libraries.
|
|
18
18
|
5. **Write the Server (JavaScript)**: Create a `server.js` file.
|
|
19
|
-
- **CRITICAL**: Use plain JavaScript for runtime-created extensions to avoid a build step.
|
|
19
|
+
- **CRITICAL**: Use **plain JavaScript** for runtime-created extensions to avoid a build step.
|
|
20
20
|
- Use the `@modelcontextprotocol/sdk` to define tools and handle stdio.
|
|
21
21
|
6. **Create Manifest**: Create `gemini-extension.json`.
|
|
22
|
-
7. **Enable Extension**: Edit `~/.tars/.gemini/extensions/extension-enablement.json
|
|
23
|
-
-
|
|
24
|
-
- You must now authorize it by adding an entry matching your Tars workspace path:
|
|
22
|
+
7. **Enable Extension**: Edit `~/.tars/.gemini/extensions/extension-enablement.json`.
|
|
23
|
+
- You must authorize the extension by adding its entry with safety overrides:
|
|
25
24
|
```json
|
|
26
25
|
"my-extension": {
|
|
27
|
-
"overrides": ["/path/to/
|
|
26
|
+
"overrides": ["/path/to/my/workspace/*"]
|
|
28
27
|
}
|
|
29
28
|
```
|
|
30
|
-
8. **Finalize**: Restart Tars using
|
|
31
|
-
- **Note**: Tars automatically enables extensions found in its source repository, but for runtime-created extensions like this one, you must manually add the enablement rule.
|
|
29
|
+
8. **Finalize**: Restart Tars using `tars stop && tars start`.
|
|
32
30
|
|
|
33
31
|
## Manifest Template (gemini-extension.json)
|
|
34
32
|
|
|
@@ -65,7 +63,9 @@ server.registerTool(
|
|
|
65
63
|
'my_tool',
|
|
66
64
|
{
|
|
67
65
|
description: 'Describe tool here',
|
|
68
|
-
inputSchema: z.object({
|
|
66
|
+
inputSchema: z.object({
|
|
67
|
+
param: z.string().description('example param')
|
|
68
|
+
})
|
|
69
69
|
},
|
|
70
70
|
async (args) => {
|
|
71
71
|
return {
|
|
@@ -80,11 +80,9 @@ await server.connect(transport);
|
|
|
80
80
|
|
|
81
81
|
## Handling Secrets & Authentication
|
|
82
82
|
|
|
83
|
-
Do **NOT**
|
|
84
|
-
|
|
85
|
-
**Standard Workflow:**
|
|
83
|
+
Do **NOT** hardcode API keys.
|
|
86
84
|
|
|
87
85
|
1. **Access**: Use `process.env.MY_SECRET_KEY` in your extension code.
|
|
88
86
|
2. **Missing Key Handling**: If missing, return a clear error:
|
|
89
87
|
`"API Key missing. Please run 'tars secret set MY_SECRET_KEY <YOUR_KEY>' and restart Tars."`
|
|
90
|
-
3. **Storage**: Tars manages these via `~/.tars/.env`
|
|
88
|
+
3. **Storage**: Tars manages these via `~/.tars/.env`. Use `tars secret set KEY VALUE` to store them.
|
|
@@ -1,69 +1,64 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: extension-manager
|
|
3
|
-
description: Enable, disable, list, and install
|
|
3
|
+
description: Enable, disable, list, and install MCP extensions at runtime.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# manage-extensions Guide Skill
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Use this skill when you need to manage Tars' MCP extensions. Tars integrates extensions from `~/.tars/.gemini/extensions/`.
|
|
9
9
|
|
|
10
10
|
## How It Works
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Tars performs **Extension Discovery** at startup. It scans the extensions directory for `gemini-extension.json` files. Enablement state and safety overrides are persisted in `~/.tars/.gemini/extensions/extension-enablement.json`.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
`~/.tars/.gemini/extensions/extension-enablement.json`
|
|
14
|
+
## Operational Tasks
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
### 1. List Installed Extensions
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### List Extensions
|
|
18
|
+
Check the contents of the extensions directory and the enablement file.
|
|
22
19
|
|
|
23
20
|
```bash
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Shows all installed extensions, their enabled/disabled state, and their MCP servers.
|
|
21
|
+
# List all extension directories
|
|
22
|
+
ls -F ~/.tars/.gemini/extensions/
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
gemini extensions disable <name>
|
|
24
|
+
# Check enablement and safety overrides
|
|
25
|
+
cat ~/.tars/.gemini/extensions/extension-enablement.json
|
|
33
26
|
```
|
|
34
27
|
|
|
35
|
-
|
|
28
|
+
### 2. Enable/Disable an Extension
|
|
36
29
|
|
|
37
|
-
|
|
38
|
-
- `--scope workspace` - Disable only for the current project.
|
|
30
|
+
Modify `~/.tars/.gemini/extensions/extension-enablement.json`.
|
|
39
31
|
|
|
40
|
-
|
|
32
|
+
To **enable** or reconfigure an extension, add an entry with trusted path overrides:
|
|
41
33
|
|
|
42
|
-
```
|
|
43
|
-
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"extension-name": {
|
|
37
|
+
"overrides": ["/home/user/src/*"]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
44
40
|
```
|
|
45
41
|
|
|
46
|
-
|
|
42
|
+
To **disable**, simply remove its key from the JSON object.
|
|
47
43
|
|
|
48
|
-
### Install
|
|
44
|
+
### 3. Install a New Extension
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
1. Create a directory in `~/.tars/.gemini/extensions/<name>`.
|
|
47
|
+
2. Add a `gemini-extension.json` manifest.
|
|
48
|
+
3. Add the extension server code (prefer plain JavaScript for runtime extensions).
|
|
49
|
+
4. Register it in `extension-enablement.json`.
|
|
50
|
+
5. Restart Tars.
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
### 4. Restart Tars
|
|
55
53
|
|
|
56
|
-
|
|
54
|
+
Changes to extensions (installing or modifying manifests) require a system restart to be picked up by the Gemini Core.
|
|
57
55
|
|
|
58
56
|
```bash
|
|
59
|
-
|
|
57
|
+
tars stop && tars start
|
|
60
58
|
```
|
|
61
59
|
|
|
62
|
-
Creates a symlink to a local extension directory. Changes to the source are reflected immediately without reinstalling.
|
|
63
|
-
|
|
64
60
|
## Important Notes
|
|
65
61
|
|
|
66
|
-
1. **
|
|
67
|
-
2. **
|
|
68
|
-
3. **
|
|
69
|
-
4. **Discovery**: If an extension's MCP server fails to connect at startup, it will show an error in the logs but won't crash the session.
|
|
62
|
+
1. **JS vs TS**: Extensions created at runtime should use **plain JavaScript** with ESM (`type: "module"` in `package.json` or `.js` extension with `import`/`export`) to avoid a compilation step.
|
|
63
|
+
2. **Path Substitution**: Use `${extensionPath}` in your `gemini-extension.json` `args` or `env` to ensure paths resolve correctly regardless of the host's absolute path.
|
|
64
|
+
3. **Safety**: Always include appropriate path patterns in the `overrides` array in `extension-enablement.json` to allow the extension to access your workspace.
|
|
@@ -16,7 +16,9 @@ export class CronService {
|
|
|
16
16
|
this.config = config;
|
|
17
17
|
}
|
|
18
18
|
async start() {
|
|
19
|
-
|
|
19
|
+
const tasks = await this.loadTasks();
|
|
20
|
+
const activeTasks = tasks.filter((t) => t.enabled);
|
|
21
|
+
logger.info(`⏰ Cron service started (Precision: ${CronService.POLL_INTERVAL_MS / 1000}s, Monitoring ${activeTasks.length} active tasks)`);
|
|
20
22
|
// Start the polling loop
|
|
21
23
|
this.interval = setInterval(() => this.tick(), CronService.POLL_INTERVAL_MS);
|
|
22
24
|
// Initial tick to catch any tasks immediately
|
|
@@ -35,6 +37,7 @@ export class CronService {
|
|
|
35
37
|
this.isExecuting = true;
|
|
36
38
|
try {
|
|
37
39
|
const tasks = await this.loadTasks();
|
|
40
|
+
logger.debug(`⏰ Cron tick: Checking ${tasks.length} tasks...`);
|
|
38
41
|
const now = new Date();
|
|
39
42
|
const dueTasks = tasks.filter((t) => t.enabled && new Date(t.nextRun) <= now);
|
|
40
43
|
if (dueTasks.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/supervisor/cron-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAG7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,WAAW;IAMC;IACA;IANb,QAAQ,GAA0B,IAAI,CAAC;IACvC,WAAW,GAAY,KAAK,CAAC;IAC7B,MAAM,CAAU,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,qBAAqB;IAE3E,YACqB,UAAsB,EACtB,MAAc;QADd,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/supervisor/cron-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,10 @@ export declare class GeminiEngine extends EventEmitter {
|
|
|
33
33
|
* Initializes the core Gemini client with proper auth and config.
|
|
34
34
|
*/
|
|
35
35
|
initialize(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Discovers extensions from the ~/.tars/.gemini/extensions directory.
|
|
38
|
+
*/
|
|
39
|
+
private discoverExtensions;
|
|
36
40
|
/**
|
|
37
41
|
* Executes a prompt and streams events back.
|
|
38
42
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config as CoreConfig, GeminiEventType, AuthType, promptIdContext, Scheduler, ApprovalMode, PolicyDecision } from '@google/gemini-cli-core';
|
|
1
|
+
import { Config as CoreConfig, GeminiEventType, AuthType, promptIdContext, Scheduler, ApprovalMode, PolicyDecision, SimpleExtensionLoader, MCPServerConfig } from '@google/gemini-cli-core';
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import logger from '../utils/logger.js';
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
@@ -56,6 +56,8 @@ export class GeminiEngine extends EventEmitter {
|
|
|
56
56
|
const systemMdPath = path.join(this.tarsConfig.homeDir, '.gemini', 'system.md');
|
|
57
57
|
process.env.GEMINI_SYSTEM_MD = systemMdPath;
|
|
58
58
|
const authType = getAuthTypeFromEnv() || AuthType.LOGIN_WITH_GOOGLE;
|
|
59
|
+
const discoveredExtensions = await this.discoverExtensions();
|
|
60
|
+
const extensionLoader = new SimpleExtensionLoader(discoveredExtensions);
|
|
59
61
|
this.coreConfig = new CoreConfig({
|
|
60
62
|
sessionId: uuidv4(),
|
|
61
63
|
targetDir: this.tarsConfig.homeDir,
|
|
@@ -73,7 +75,10 @@ export class GeminiEngine extends EventEmitter {
|
|
|
73
75
|
enableAgents: true, // Enable agents support
|
|
74
76
|
skillsSupport: true,
|
|
75
77
|
adminSkillsEnabled: true,
|
|
76
|
-
noBrowser: true
|
|
78
|
+
noBrowser: true,
|
|
79
|
+
folderTrust: true,
|
|
80
|
+
trustedFolder: true,
|
|
81
|
+
extensionLoader
|
|
77
82
|
});
|
|
78
83
|
await this.coreConfig.refreshAuth(authType);
|
|
79
84
|
await this.coreConfig.initialize();
|
|
@@ -90,6 +95,60 @@ export class GeminiEngine extends EventEmitter {
|
|
|
90
95
|
process.env.HOME = savedHome;
|
|
91
96
|
}
|
|
92
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Discovers extensions from the ~/.tars/.gemini/extensions directory.
|
|
100
|
+
*/
|
|
101
|
+
async discoverExtensions() {
|
|
102
|
+
const extensionsDir = path.join(this.tarsConfig.homeDir, '.gemini', 'extensions');
|
|
103
|
+
if (!fs.existsSync(extensionsDir))
|
|
104
|
+
return [];
|
|
105
|
+
const extensions = [];
|
|
106
|
+
try {
|
|
107
|
+
const entries = fs.readdirSync(extensionsDir, { withFileTypes: true });
|
|
108
|
+
for (const entry of entries) {
|
|
109
|
+
if (!entry.isDirectory())
|
|
110
|
+
continue;
|
|
111
|
+
const extPath = path.resolve(extensionsDir, entry.name);
|
|
112
|
+
const configPath = path.join(extPath, 'gemini-extension.json');
|
|
113
|
+
if (fs.existsSync(configPath)) {
|
|
114
|
+
try {
|
|
115
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
116
|
+
const config = JSON.parse(content);
|
|
117
|
+
// Ensure mcpServers are converted to MCPServerConfig instances if they exist
|
|
118
|
+
const mcpServers = {};
|
|
119
|
+
if (config.mcpServers) {
|
|
120
|
+
for (const [name, srv] of Object.entries(config.mcpServers)) {
|
|
121
|
+
const s = srv;
|
|
122
|
+
// Manually resolve ${extensionPath} since we are constructing configs early
|
|
123
|
+
const resolvedArgs = s.args?.map((arg) => arg.replace(/\${extensionPath}/g, extPath));
|
|
124
|
+
const resolvedEnv = s.env ? { ...s.env } : {};
|
|
125
|
+
for (const key in resolvedEnv) {
|
|
126
|
+
resolvedEnv[key] = resolvedEnv[key].replace(/\${extensionPath}/g, extPath);
|
|
127
|
+
}
|
|
128
|
+
mcpServers[name] = new MCPServerConfig(s.command, resolvedArgs, resolvedEnv, s.cwd?.replace(/\${extensionPath}/g, extPath), s.url?.replace(/\${extensionPath}/g, extPath), s.httpUrl?.replace(/\${extensionPath}/g, extPath), s.headers, s.tcp, s.type, s.timeout, s.trust);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
extensions.push({
|
|
132
|
+
...config,
|
|
133
|
+
id: config.name,
|
|
134
|
+
path: extPath,
|
|
135
|
+
isActive: true,
|
|
136
|
+
mcpServers,
|
|
137
|
+
contextFiles: config.contextFiles || []
|
|
138
|
+
});
|
|
139
|
+
logger.info(`🔌 Found extension: ${config.name}`);
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
logger.error(`Failed to parse extension at ${extPath}: ${e}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
logger.error(`Error during extension discovery: ${error}`);
|
|
149
|
+
}
|
|
150
|
+
return extensions;
|
|
151
|
+
}
|
|
93
152
|
/**
|
|
94
153
|
* Executes a prompt and streams events back.
|
|
95
154
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-engine.js","sourceRoot":"","sources":["../../src/supervisor/gemini-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini-engine.js","sourceRoot":"","sources":["../../src/supervisor/gemini-engine.ts"],"names":[],"mappings":"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"}
|