@antaif3ng/til-work 0.1.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/README.md +573 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/agent.d.ts +78 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +372 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/compaction.d.ts +40 -0
- package/dist/core/compaction.d.ts.map +1 -0
- package/dist/core/compaction.js +228 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/config.d.ts +54 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +257 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/llm.d.ts +29 -0
- package/dist/core/llm.d.ts.map +1 -0
- package/dist/core/llm.js +553 -0
- package/dist/core/llm.js.map +1 -0
- package/dist/core/markdown.d.ts +20 -0
- package/dist/core/markdown.d.ts.map +1 -0
- package/dist/core/markdown.js +173 -0
- package/dist/core/markdown.js.map +1 -0
- package/dist/core/memory.d.ts +30 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +163 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/pricing.d.ts +21 -0
- package/dist/core/pricing.d.ts.map +1 -0
- package/dist/core/pricing.js +70 -0
- package/dist/core/pricing.js.map +1 -0
- package/dist/core/session-manager.d.ts +83 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +250 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/session.d.ts +76 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +270 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/skills.d.ts +49 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +232 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/system-prompt.d.ts +17 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +77 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/tool-permissions.d.ts +12 -0
- package/dist/core/tool-permissions.d.ts.map +1 -0
- package/dist/core/tool-permissions.js +71 -0
- package/dist/core/tool-permissions.js.map +1 -0
- package/dist/core/types.d.ts +157 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +21 -0
- package/dist/core/types.js.map +1 -0
- package/dist/extensions/builtin/mcp.d.ts +61 -0
- package/dist/extensions/builtin/mcp.d.ts.map +1 -0
- package/dist/extensions/builtin/mcp.js +407 -0
- package/dist/extensions/builtin/mcp.js.map +1 -0
- package/dist/extensions/index.d.ts +4 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +3 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/loader.d.ts +19 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +118 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/runner.d.ts +28 -0
- package/dist/extensions/runner.d.ts.map +1 -0
- package/dist/extensions/runner.js +77 -0
- package/dist/extensions/runner.js.map +1 -0
- package/dist/extensions/types.d.ts +84 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +6 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +5 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +355 -0
- package/dist/main.js.map +1 -0
- package/dist/modes/interactive.d.ts +6 -0
- package/dist/modes/interactive.d.ts.map +1 -0
- package/dist/modes/interactive.js +961 -0
- package/dist/modes/interactive.js.map +1 -0
- package/dist/modes/oneshot.d.ts +8 -0
- package/dist/modes/oneshot.d.ts.map +1 -0
- package/dist/modes/oneshot.js +71 -0
- package/dist/modes/oneshot.js.map +1 -0
- package/dist/tools/bash.d.ts +3 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +104 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit.d.ts +3 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +63 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/file-manager.d.ts +3 -0
- package/dist/tools/file-manager.d.ts.map +1 -0
- package/dist/tools/file-manager.js +85 -0
- package/dist/tools/file-manager.js.map +1 -0
- package/dist/tools/index.d.ts +17 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +42 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/read.d.ts +3 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +65 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/system-info.d.ts +3 -0
- package/dist/tools/system-info.d.ts.map +1 -0
- package/dist/tools/system-info.js +101 -0
- package/dist/tools/system-info.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +3 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +117 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +9 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +124 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write.d.ts +3 -0
- package/dist/tools/write.d.ts.map +1 -0
- package/dist/tools/write.js +30 -0
- package/dist/tools/write.js.map +1 -0
- package/dist/utils/autocomplete.d.ts +23 -0
- package/dist/utils/autocomplete.d.ts.map +1 -0
- package/dist/utils/autocomplete.js +191 -0
- package/dist/utils/autocomplete.js.map +1 -0
- package/dist/utils/file-processor.d.ts +19 -0
- package/dist/utils/file-processor.d.ts.map +1 -0
- package/dist/utils/file-processor.js +86 -0
- package/dist/utils/file-processor.js.map +1 -0
- package/dist/utils/path.d.ts +8 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +60 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/shell.d.ts +6 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +64 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/truncate.d.ts +12 -0
- package/dist/utils/truncate.d.ts.map +1 -0
- package/dist/utils/truncate.js +46 -0
- package/dist/utils/truncate.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension discovery and loading.
|
|
3
|
+
* Scans .til/extensions/, ~/.til/extensions/, and config-specified paths.
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { homedir } from "node:os";
|
|
8
|
+
function createExtensionAPI(extension, cwd, config, onToolRegistered) {
|
|
9
|
+
return {
|
|
10
|
+
cwd,
|
|
11
|
+
config,
|
|
12
|
+
registerTool(tool) {
|
|
13
|
+
extension.tools.set(tool.name, tool);
|
|
14
|
+
onToolRegistered?.();
|
|
15
|
+
},
|
|
16
|
+
registerCommand(cmd) {
|
|
17
|
+
extension.commands.set(cmd.name, cmd);
|
|
18
|
+
},
|
|
19
|
+
on(event, handler) {
|
|
20
|
+
if (!extension.handlers.has(event)) {
|
|
21
|
+
extension.handlers.set(event, []);
|
|
22
|
+
}
|
|
23
|
+
extension.handlers.get(event).push(handler);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function createEmptyExtension(path, name) {
|
|
28
|
+
return {
|
|
29
|
+
path,
|
|
30
|
+
name,
|
|
31
|
+
tools: new Map(),
|
|
32
|
+
commands: new Map(),
|
|
33
|
+
handlers: new Map(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Load a single extension from an absolute path to a .ts or .js file.
|
|
38
|
+
*/
|
|
39
|
+
export async function loadExtension(extensionPath, cwd, config, onToolRegistered) {
|
|
40
|
+
if (!existsSync(extensionPath))
|
|
41
|
+
return null;
|
|
42
|
+
const name = extensionPath.split("/").pop()?.replace(/\.(ts|js)$/, "") ?? "unknown";
|
|
43
|
+
const extension = createEmptyExtension(extensionPath, name);
|
|
44
|
+
const api = createExtensionAPI(extension, cwd, config, onToolRegistered);
|
|
45
|
+
try {
|
|
46
|
+
const mod = await import(extensionPath);
|
|
47
|
+
const factory = mod.default ?? mod.activate ?? mod;
|
|
48
|
+
if (typeof factory === "function") {
|
|
49
|
+
await factory(api);
|
|
50
|
+
}
|
|
51
|
+
return extension;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
console.error(`Failed to load extension ${extensionPath}: ${err.message}`);
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Discover extension paths from standard locations.
|
|
60
|
+
*/
|
|
61
|
+
export function discoverExtensionPaths(cwd, configPaths) {
|
|
62
|
+
const paths = [];
|
|
63
|
+
// 1. Project-local: .til/extensions/
|
|
64
|
+
const localDir = join(cwd, ".til", "extensions");
|
|
65
|
+
if (existsSync(localDir)) {
|
|
66
|
+
paths.push(...scanExtensionDir(localDir));
|
|
67
|
+
}
|
|
68
|
+
// 2. User global: ~/.til/extensions/
|
|
69
|
+
const globalDir = join(homedir(), ".til", "extensions");
|
|
70
|
+
if (existsSync(globalDir)) {
|
|
71
|
+
paths.push(...scanExtensionDir(globalDir));
|
|
72
|
+
}
|
|
73
|
+
// 3. Config-specified paths
|
|
74
|
+
if (configPaths) {
|
|
75
|
+
for (const p of configPaths) {
|
|
76
|
+
if (existsSync(p)) {
|
|
77
|
+
paths.push(p);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return [...new Set(paths)];
|
|
82
|
+
}
|
|
83
|
+
function scanExtensionDir(dir) {
|
|
84
|
+
const results = [];
|
|
85
|
+
try {
|
|
86
|
+
for (const entry of readdirSync(dir)) {
|
|
87
|
+
const full = join(dir, entry);
|
|
88
|
+
const stat = statSync(full);
|
|
89
|
+
if (stat.isFile() && (entry.endsWith(".js") || entry.endsWith(".mjs"))) {
|
|
90
|
+
results.push(full);
|
|
91
|
+
}
|
|
92
|
+
else if (stat.isDirectory()) {
|
|
93
|
+
const index = join(full, "index.js");
|
|
94
|
+
if (existsSync(index))
|
|
95
|
+
results.push(index);
|
|
96
|
+
const indexMjs = join(full, "index.mjs");
|
|
97
|
+
if (existsSync(indexMjs))
|
|
98
|
+
results.push(indexMjs);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch { /* directory not readable */ }
|
|
103
|
+
return results;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Load all discovered extensions plus any built-in extensions.
|
|
107
|
+
*/
|
|
108
|
+
export async function loadAllExtensions(cwd, config, onToolRegistered) {
|
|
109
|
+
const extensions = [];
|
|
110
|
+
const paths = discoverExtensionPaths(cwd, config.extensions);
|
|
111
|
+
for (const path of paths) {
|
|
112
|
+
const ext = await loadExtension(path, cwd, config, onToolRegistered);
|
|
113
|
+
if (ext)
|
|
114
|
+
extensions.push(ext);
|
|
115
|
+
}
|
|
116
|
+
return extensions;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/extensions/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension runtime: manages loaded extensions, event dispatch, and tool collection.
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentTool } from "../core/types.js";
|
|
5
|
+
import type { LoadedExtension, CommandDefinition, ExtensionEventType, ExtensionEventMap } from "./types.js";
|
|
6
|
+
export declare class ExtensionRunner {
|
|
7
|
+
private extensions;
|
|
8
|
+
constructor(extensions: LoadedExtension[]);
|
|
9
|
+
get loadedExtensions(): LoadedExtension[];
|
|
10
|
+
/**
|
|
11
|
+
* Collect all tools registered across all extensions.
|
|
12
|
+
* First-registered tool wins for name conflicts.
|
|
13
|
+
*/
|
|
14
|
+
getAllTools(): AgentTool[];
|
|
15
|
+
/**
|
|
16
|
+
* Collect all commands registered across all extensions.
|
|
17
|
+
*/
|
|
18
|
+
getAllCommands(): Map<string, CommandDefinition>;
|
|
19
|
+
/**
|
|
20
|
+
* Emit an event to all extensions that have registered handlers.
|
|
21
|
+
*/
|
|
22
|
+
emit<T extends ExtensionEventType>(event: T, data: ExtensionEventMap[T]): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Shut down all extensions (emit session_end).
|
|
25
|
+
*/
|
|
26
|
+
shutdown(cwd: string): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/extensions/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EACX,eAAe,EAEf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IAC3B,OAAO,CAAC,UAAU,CAAyB;gBAE/B,UAAU,EAAE,eAAe,EAAE;IAIzC,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAExC;IAED;;;OAGG;IACH,WAAW,IAAI,SAAS,EAAE;IAc1B;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAYhD;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7F;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension runtime: manages loaded extensions, event dispatch, and tool collection.
|
|
3
|
+
*/
|
|
4
|
+
export class ExtensionRunner {
|
|
5
|
+
extensions = [];
|
|
6
|
+
constructor(extensions) {
|
|
7
|
+
this.extensions = extensions;
|
|
8
|
+
}
|
|
9
|
+
get loadedExtensions() {
|
|
10
|
+
return [...this.extensions];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Collect all tools registered across all extensions.
|
|
14
|
+
* First-registered tool wins for name conflicts.
|
|
15
|
+
*/
|
|
16
|
+
getAllTools() {
|
|
17
|
+
const toolMap = new Map();
|
|
18
|
+
for (const ext of this.extensions) {
|
|
19
|
+
for (const [name, def] of ext.tools) {
|
|
20
|
+
if (!toolMap.has(name)) {
|
|
21
|
+
toolMap.set(name, { definition: def, extensionName: ext.name });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return Array.from(toolMap.values()).map(({ definition }) => wrapToolDefinition(definition));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Collect all commands registered across all extensions.
|
|
29
|
+
*/
|
|
30
|
+
getAllCommands() {
|
|
31
|
+
const commands = new Map();
|
|
32
|
+
for (const ext of this.extensions) {
|
|
33
|
+
for (const [name, cmd] of ext.commands) {
|
|
34
|
+
if (!commands.has(name)) {
|
|
35
|
+
commands.set(name, cmd);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return commands;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Emit an event to all extensions that have registered handlers.
|
|
43
|
+
*/
|
|
44
|
+
async emit(event, data) {
|
|
45
|
+
for (const ext of this.extensions) {
|
|
46
|
+
const handlers = ext.handlers.get(event);
|
|
47
|
+
if (!handlers)
|
|
48
|
+
continue;
|
|
49
|
+
for (const handler of handlers) {
|
|
50
|
+
try {
|
|
51
|
+
await handler(data);
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
console.error(`Extension ${ext.name} error on ${event}: ${err.message}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Shut down all extensions (emit session_end).
|
|
61
|
+
*/
|
|
62
|
+
async shutdown(cwd) {
|
|
63
|
+
await this.emit("session_end", { cwd });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function wrapToolDefinition(def) {
|
|
67
|
+
return {
|
|
68
|
+
name: def.name,
|
|
69
|
+
label: def.label,
|
|
70
|
+
description: def.description,
|
|
71
|
+
parameters: def.parameters,
|
|
72
|
+
execute: async (toolCallId, params, signal) => {
|
|
73
|
+
return def.execute(toolCallId, params, signal);
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/extensions/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,OAAO,eAAe;IACnB,UAAU,GAAsB,EAAE,CAAC;IAE3C,YAAY,UAA6B;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,WAAW;QACV,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiE,CAAC;QAEzF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;OAEG;IACH,cAAc;QACb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAA+B,KAAQ,EAAE,IAA0B;QAC5E,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,aAAa,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAW;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;CACD;AAED,SAAS,kBAAkB,CAAC,GAAmB;IAC9C,OAAO;QACN,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension system type definitions.
|
|
3
|
+
* Lightweight version inspired by pi-mono's extension architecture.
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentToolResult, ToolSchema } from "../core/types.js";
|
|
6
|
+
import type { TilConfig } from "../core/config.js";
|
|
7
|
+
export interface ToolDefinition {
|
|
8
|
+
name: string;
|
|
9
|
+
label: string;
|
|
10
|
+
description: string;
|
|
11
|
+
parameters: ToolSchema;
|
|
12
|
+
execute: (toolCallId: string, params: Record<string, any>, signal?: AbortSignal) => Promise<AgentToolResult>;
|
|
13
|
+
}
|
|
14
|
+
export interface CommandDefinition {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
execute: (args: string[]) => Promise<string | void>;
|
|
18
|
+
}
|
|
19
|
+
export type ExtensionEventType = "session_start" | "session_end" | "agent_start" | "agent_end" | "tool_call" | "tool_result";
|
|
20
|
+
export interface ExtensionEventMap {
|
|
21
|
+
session_start: {
|
|
22
|
+
cwd: string;
|
|
23
|
+
};
|
|
24
|
+
session_end: {
|
|
25
|
+
cwd: string;
|
|
26
|
+
};
|
|
27
|
+
agent_start: Record<string, never>;
|
|
28
|
+
agent_end: {
|
|
29
|
+
messages: any[];
|
|
30
|
+
};
|
|
31
|
+
tool_call: {
|
|
32
|
+
toolName: string;
|
|
33
|
+
args: Record<string, any>;
|
|
34
|
+
};
|
|
35
|
+
tool_result: {
|
|
36
|
+
toolName: string;
|
|
37
|
+
result: AgentToolResult;
|
|
38
|
+
isError: boolean;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export type ExtensionEventHandler<T extends ExtensionEventType> = (event: ExtensionEventMap[T]) => void | Promise<void>;
|
|
42
|
+
export interface ExtensionAPI {
|
|
43
|
+
/** Register a new tool that the agent can use */
|
|
44
|
+
registerTool(tool: ToolDefinition): void;
|
|
45
|
+
/** Register a slash command for the interactive REPL */
|
|
46
|
+
registerCommand(cmd: CommandDefinition): void;
|
|
47
|
+
/** Subscribe to extension events */
|
|
48
|
+
on<T extends ExtensionEventType>(event: T, handler: ExtensionEventHandler<T>): void;
|
|
49
|
+
/** Current working directory */
|
|
50
|
+
readonly cwd: string;
|
|
51
|
+
/** Loaded configuration */
|
|
52
|
+
readonly config: TilConfig;
|
|
53
|
+
}
|
|
54
|
+
export type ExtensionFactory = (api: ExtensionAPI) => void | Promise<void>;
|
|
55
|
+
export interface LoadedExtension {
|
|
56
|
+
path: string;
|
|
57
|
+
name: string;
|
|
58
|
+
tools: Map<string, ToolDefinition>;
|
|
59
|
+
commands: Map<string, CommandDefinition>;
|
|
60
|
+
handlers: Map<ExtensionEventType, ExtensionEventHandler<any>[]>;
|
|
61
|
+
}
|
|
62
|
+
export interface McpServerConfig {
|
|
63
|
+
/**
|
|
64
|
+
* Transport type. Accepts both `transport` and `type` for compatibility
|
|
65
|
+
* with different config conventions (Cursor uses `type`, MCP spec uses `transport`).
|
|
66
|
+
* Auto-detected if omitted: "stdio" when `command` is set, "streamable_http" when `url` is set.
|
|
67
|
+
*/
|
|
68
|
+
transport?: "stdio" | "sse" | "streamable_http" | "http";
|
|
69
|
+
/** Alias for `transport`, used by Cursor / 智谱 etc. */
|
|
70
|
+
type?: "stdio" | "sse" | "streamable_http" | "http";
|
|
71
|
+
/** Stdio transport: executable command */
|
|
72
|
+
command?: string;
|
|
73
|
+
/** Stdio transport: command arguments */
|
|
74
|
+
args?: string[];
|
|
75
|
+
/** Stdio transport: environment variables */
|
|
76
|
+
env?: Record<string, string>;
|
|
77
|
+
/** HTTP transport: server URL */
|
|
78
|
+
url?: string;
|
|
79
|
+
/** HTTP transport: custom request headers (e.g. authorization) */
|
|
80
|
+
headers?: Record<string, string>;
|
|
81
|
+
/** Timeout in ms for initial connection (default: 10000) */
|
|
82
|
+
timeout?: number;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/extensions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/extensions/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { Agent } from "./core/agent.js";
|
|
2
|
+
export { TilSession } from "./core/session.js";
|
|
3
|
+
export { loadConfig, saveConfig, resolveModel, resolveApiKey, resolveBaseUrl } from "./core/config.js";
|
|
4
|
+
export type { TilConfig, ProviderConfig } from "./core/config.js";
|
|
5
|
+
export { buildSystemPrompt } from "./core/system-prompt.js";
|
|
6
|
+
export { streamLLM, completeLLM } from "./core/llm.js";
|
|
7
|
+
export { loadSkills, formatSkillsForPrompt } from "./core/skills.js";
|
|
8
|
+
export type { Skill, LoadSkillsResult, LoadSkillsOptions } from "./core/skills.js";
|
|
9
|
+
export { loadMemory, loadProjectContextFiles, formatMemoryForPrompt, formatContextFilesForPrompt } from "./core/memory.js";
|
|
10
|
+
export type { MemoryContent, ContextFile } from "./core/memory.js";
|
|
11
|
+
export { SessionManager } from "./core/session-manager.js";
|
|
12
|
+
export type { SessionHeader, SessionMessageEntry, SessionInfo } from "./core/session-manager.js";
|
|
13
|
+
export { estimateTokens, estimateAllTokens, calculateContextTokens, shouldCompact, findCutPoint, isContextOverflow, compact, DEFAULT_COMPACTION_SETTINGS, } from "./core/compaction.js";
|
|
14
|
+
export type { CompactionSettings, CompactionResult, CutResult } from "./core/compaction.js";
|
|
15
|
+
export { calculateCost, formatUsage, formatTokenCount, formatCost, formatContextPercent, MODEL_PRICING } from "./core/pricing.js";
|
|
16
|
+
export type { ModelPricing } from "./core/pricing.js";
|
|
17
|
+
export { isDangerousCommand, getDangerReason, createToolCallRequestHandler } from "./core/tool-permissions.js";
|
|
18
|
+
export { MarkdownRenderer, renderMarkdown } from "./core/markdown.js";
|
|
19
|
+
export * from "./core/types.js";
|
|
20
|
+
export * from "./tools/index.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvG,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC3H,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EACN,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EACzD,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EACvD,2BAA2B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClI,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { Agent } from "./core/agent.js";
|
|
2
|
+
export { TilSession } from "./core/session.js";
|
|
3
|
+
export { loadConfig, saveConfig, resolveModel, resolveApiKey, resolveBaseUrl } from "./core/config.js";
|
|
4
|
+
export { buildSystemPrompt } from "./core/system-prompt.js";
|
|
5
|
+
export { streamLLM, completeLLM } from "./core/llm.js";
|
|
6
|
+
export { loadSkills, formatSkillsForPrompt } from "./core/skills.js";
|
|
7
|
+
export { loadMemory, loadProjectContextFiles, formatMemoryForPrompt, formatContextFilesForPrompt } from "./core/memory.js";
|
|
8
|
+
export { SessionManager } from "./core/session-manager.js";
|
|
9
|
+
export { estimateTokens, estimateAllTokens, calculateContextTokens, shouldCompact, findCutPoint, isContextOverflow, compact, DEFAULT_COMPACTION_SETTINGS, } from "./core/compaction.js";
|
|
10
|
+
export { calculateCost, formatUsage, formatTokenCount, formatCost, formatContextPercent, MODEL_PRICING } from "./core/pricing.js";
|
|
11
|
+
export { isDangerousCommand, getDangerReason, createToolCallRequestHandler } from "./core/tool-permissions.js";
|
|
12
|
+
export { MarkdownRenderer, renderMarkdown } from "./core/markdown.js";
|
|
13
|
+
export * from "./core/types.js";
|
|
14
|
+
export * from "./tools/index.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE3H,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EACN,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EACzD,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EACvD,2BAA2B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElI,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+SH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGxD"}
|