@dlnk/cli 0.2.0 → 0.3.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/dist/memory.js ADDED
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.MemoryManager = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const os = __importStar(require("os"));
40
+ // ── Memory Manager ─────────────────────────────────────────────
41
+ const MEMORY_DIR = path.join(os.homedir(), '.dlnk', 'memory');
42
+ const LONG_TERM_FILE = path.join(MEMORY_DIR, 'longterm.json');
43
+ class MemoryManager {
44
+ short;
45
+ session;
46
+ longTerm;
47
+ constructor(cwd) {
48
+ if (!fs.existsSync(MEMORY_DIR))
49
+ fs.mkdirSync(MEMORY_DIR, { recursive: true });
50
+ this.short = { messages: [], maxMessages: 50 };
51
+ this.session = {
52
+ sessionId: Date.now().toString(36),
53
+ startedAt: new Date().toISOString(),
54
+ cwd,
55
+ filesRead: [],
56
+ filesWritten: [],
57
+ commandsRun: [],
58
+ notes: [],
59
+ };
60
+ this.longTerm = this.loadLongTerm();
61
+ }
62
+ // Short-term: sliding window of messages
63
+ addMessage(role, content) {
64
+ this.short.messages.push({ role, content });
65
+ if (this.short.messages.length > this.short.maxMessages) {
66
+ // Keep system prompt + last N messages
67
+ const sys = this.short.messages.filter(m => m.role === 'system');
68
+ const rest = this.short.messages.filter(m => m.role !== 'system');
69
+ this.short.messages = [...sys, ...rest.slice(-40)];
70
+ }
71
+ }
72
+ getMessages() {
73
+ return this.short.messages;
74
+ }
75
+ // Session tracking
76
+ trackFileRead(filePath) {
77
+ if (!this.session.filesRead.includes(filePath)) {
78
+ this.session.filesRead.push(filePath);
79
+ }
80
+ }
81
+ trackFileWrite(filePath) {
82
+ if (!this.session.filesWritten.includes(filePath)) {
83
+ this.session.filesWritten.push(filePath);
84
+ }
85
+ }
86
+ trackCommand(command) {
87
+ this.session.commandsRun.push(command.slice(0, 100));
88
+ }
89
+ addNote(note) {
90
+ this.session.notes.push(note);
91
+ }
92
+ // Long-term: persisted across sessions
93
+ loadLongTerm() {
94
+ try {
95
+ if (fs.existsSync(LONG_TERM_FILE)) {
96
+ return JSON.parse(fs.readFileSync(LONG_TERM_FILE, 'utf-8'));
97
+ }
98
+ }
99
+ catch { }
100
+ return {
101
+ facts: [],
102
+ preferences: [],
103
+ projectContext: {},
104
+ lastUpdated: new Date().toISOString(),
105
+ };
106
+ }
107
+ saveLongTerm() {
108
+ this.longTerm.lastUpdated = new Date().toISOString();
109
+ fs.writeFileSync(LONG_TERM_FILE, JSON.stringify(this.longTerm, null, 2));
110
+ }
111
+ addFact(fact) {
112
+ if (!this.longTerm.facts.includes(fact)) {
113
+ this.longTerm.facts.push(fact);
114
+ this.saveLongTerm();
115
+ }
116
+ }
117
+ setProjectContext(key, value) {
118
+ this.longTerm.projectContext[key] = value;
119
+ this.saveLongTerm();
120
+ }
121
+ // Build memory context block for system prompt
122
+ getMemoryContext() {
123
+ const parts = [];
124
+ if (this.longTerm.facts.length > 0) {
125
+ parts.push(`## Known Facts\n${this.longTerm.facts.slice(-10).map(f => `- ${f}`).join('\n')}`);
126
+ }
127
+ if (Object.keys(this.longTerm.projectContext).length > 0) {
128
+ const ctx = Object.entries(this.longTerm.projectContext)
129
+ .map(([k, v]) => `- ${k}: ${v}`)
130
+ .join('\n');
131
+ parts.push(`## Project Context\n${ctx}`);
132
+ }
133
+ if (this.session.filesRead.length > 0 || this.session.filesWritten.length > 0) {
134
+ const sessionInfo = [];
135
+ if (this.session.filesRead.length)
136
+ sessionInfo.push(`Read: ${this.session.filesRead.slice(-5).join(', ')}`);
137
+ if (this.session.filesWritten.length)
138
+ sessionInfo.push(`Written: ${this.session.filesWritten.slice(-5).join(', ')}`);
139
+ parts.push(`## This Session\n${sessionInfo.join('\n')}`);
140
+ }
141
+ return parts.length ? '\n\n' + parts.join('\n\n') : '';
142
+ }
143
+ // Save session summary to disk
144
+ saveSession() {
145
+ const sessionFile = path.join(MEMORY_DIR, `session-${this.session.sessionId}.json`);
146
+ fs.writeFileSync(sessionFile, JSON.stringify(this.session, null, 2));
147
+ // Clean old sessions (keep last 10)
148
+ const sessions = fs.readdirSync(MEMORY_DIR)
149
+ .filter(f => f.startsWith('session-'))
150
+ .sort()
151
+ .reverse();
152
+ sessions.slice(10).forEach(f => {
153
+ try {
154
+ fs.unlinkSync(path.join(MEMORY_DIR, f));
155
+ }
156
+ catch { }
157
+ });
158
+ }
159
+ }
160
+ exports.MemoryManager = MemoryManager;
161
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
package/dist/react.js CHANGED
@@ -48,7 +48,7 @@ async function runReAct(task, agentRole = 'general', onStep, verbose = false) {
48
48
  const messages = [];
49
49
  const systemPrompt = `${agentRole ? `You are a ${agentRole} agent.` : 'You are a helpful AI agent.'}
50
50
 
51
- ${(0, tools_js_1.getToolsSystemPrompt)()}
51
+ ${(0, tools_js_1.getToolsSystemPrompt)(process.cwd())}
52
52
 
53
53
  Current working directory: ${process.cwd()}`;
54
54
  messages.push({ role: 'system', content: systemPrompt });
@@ -100,7 +100,7 @@ Current working directory: ${process.cwd()}`;
100
100
  if (onStep)
101
101
  onStep(callStep);
102
102
  // Execute tool
103
- const result = await (0, tools_js_1.executeTool)(toolCall);
103
+ const result = await (0, tools_js_1.executeTool)(toolCall, { cwd: process.cwd(), confirm: async () => true });
104
104
  const resultStep = {
105
105
  type: 'tool_result',
106
106
  content: result.success ? result.output : `ERROR: ${result.error}`,
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,8 +1,20 @@
1
- export interface Tool {
1
+ import { z } from 'zod';
2
+ export type PermissionMode = 'auto' | 'ask' | 'deny';
3
+ export interface ToolPermission {
4
+ mode: PermissionMode;
5
+ allowedCommands?: string[];
6
+ blockedPatterns?: RegExp[];
7
+ }
8
+ export interface ToolDef {
2
9
  name: string;
3
10
  description: string;
4
- parameters: Record<string, string>;
5
- execute: (params: Record<string, string>) => Promise<ToolResult>;
11
+ schema: z.ZodTypeAny;
12
+ permission: ToolPermission;
13
+ execute: (params: any, ctx: ToolContext) => Promise<ToolResult>;
14
+ }
15
+ export interface ToolContext {
16
+ cwd: string;
17
+ confirm: (message: string) => Promise<boolean>;
6
18
  }
7
19
  export interface ToolResult {
8
20
  success: boolean;
@@ -11,11 +23,20 @@ export interface ToolResult {
11
23
  }
12
24
  export interface ToolCall {
13
25
  tool: string;
14
- params: Record<string, string>;
26
+ params: Record<string, unknown>;
27
+ id?: string;
15
28
  }
16
- export declare const ALL_TOOLS: Tool[];
17
- export declare const TOOL_MAP: Record<string, Tool>;
18
- export declare function getToolsSystemPrompt(): string;
29
+ export declare const readFileTool: ToolDef;
30
+ export declare const writeFileTool: ToolDef;
31
+ export declare const patchFileTool: ToolDef;
32
+ export declare const listDirTool: ToolDef;
33
+ export declare const shellTool: ToolDef;
34
+ export declare const fetchUrlTool: ToolDef;
35
+ export declare const searchTool: ToolDef;
36
+ export declare const gitTool: ToolDef;
37
+ export declare const ALL_TOOLS: ToolDef[];
38
+ export declare const TOOL_MAP: Record<string, ToolDef>;
39
+ export declare function getToolsSystemPrompt(cwd: string): string;
19
40
  export declare function parseToolCall(text: string): ToolCall | null;
20
- export declare function executeTool(call: ToolCall): Promise<ToolResult>;
41
+ export declare function executeTool(call: ToolCall, ctx: ToolContext): Promise<ToolResult>;
21
42
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAoHD,eAAO,MAAM,SAAS,EAAE,IAAI,EAO3B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAEzC,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,MAAM,CAuB7C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAU3D;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAIrE"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAmBD,eAAO,MAAM,YAAY,EAAE,OAoB1B,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAkB3B,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAsB3B,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,OAmBzB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,OAgCvB,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,OA0B1B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,OAyBxB,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,OAoBrB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,OAAO,EAS9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAE5C,CAAC;AAGF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA+BxD;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAU3D;AAGD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAyBrB"}