notsleep 1.1.0 → 1.2.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/.env.example +130 -124
- package/README.md +67 -0
- package/dashboard/index.html +22 -4
- package/dist/agent.d.ts +16 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +126 -45
- package/dist/agent.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -13
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +12 -0
- package/dist/context.js.map +1 -1
- package/dist/cost.d.ts +5 -1
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +17 -2
- package/dist/cost.js.map +1 -1
- package/dist/dashboard.d.ts +2 -0
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/fileconfig.d.ts +5 -0
- package/dist/fileconfig.d.ts.map +1 -1
- package/dist/fileconfig.js.map +1 -1
- package/dist/index.js +21 -21
- package/dist/memory.d.ts +9 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +27 -0
- package/dist/memory.js.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +42 -6
- package/dist/provider.js.map +1 -1
- package/dist/repomap.d.ts +39 -0
- package/dist/repomap.d.ts.map +1 -0
- package/dist/repomap.js +286 -0
- package/dist/repomap.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +9 -0
- package/dist/schema.js.map +1 -1
- package/dist/test-dashboard.d.ts.map +1 -1
- package/dist/test-dashboard.js +9 -1
- package/dist/test-dashboard.js.map +1 -1
- package/dist/tools.d.ts +19 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +207 -85
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface RepoSymbol {
|
|
2
|
+
name: string;
|
|
3
|
+
kind: string;
|
|
4
|
+
/** How many times other files mention this name (importance proxy). */
|
|
5
|
+
refs: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RepoFile {
|
|
8
|
+
/** Path relative to the repo root, with forward slashes. */
|
|
9
|
+
rel: string;
|
|
10
|
+
symbols: RepoSymbol[];
|
|
11
|
+
/** Sum of the file's symbol references — drives ranking. */
|
|
12
|
+
score: number;
|
|
13
|
+
}
|
|
14
|
+
export interface RepoMapOptions {
|
|
15
|
+
root: string;
|
|
16
|
+
/** Approximate token budget for the rendered map (chars/4). */
|
|
17
|
+
maxTokens?: number;
|
|
18
|
+
/** Max symbols listed per file, so one big file can't crowd out the rest. */
|
|
19
|
+
maxSymbolsPerFile?: number;
|
|
20
|
+
/** Max files scanned (safety valve for huge repos). */
|
|
21
|
+
maxFiles?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Extract the top-level symbols declared in one file's source. */
|
|
24
|
+
export declare function extractSymbols(source: string, lang: string): Array<{
|
|
25
|
+
name: string;
|
|
26
|
+
kind: string;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Build the ranked file/symbol structure for a repo. Exposed separately from
|
|
30
|
+
* rendering so it can be tested and reused.
|
|
31
|
+
*/
|
|
32
|
+
export declare function analyzeRepo(opts: RepoMapOptions): RepoFile[];
|
|
33
|
+
/**
|
|
34
|
+
* Render a repo map that fits the token budget. Highest-signal files first, so
|
|
35
|
+
* truncation drops the least important ones. Returns '' when there's nothing
|
|
36
|
+
* useful to show.
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildRepoMap(opts: RepoMapOptions): string;
|
|
39
|
+
//# sourceMappingURL=repomap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repomap.d.ts","sourceRoot":"","sources":["../src/repomap.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6ED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBlG;AAiCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,EAAE,CAgE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAsBzD"}
|
package/dist/repomap.js
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// NotSleep - Repository Map
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// The single biggest waste in an autonomous coding loop is the agent reading
|
|
7
|
+
// files blindly to figure out where things live. Aider's insight: give the
|
|
8
|
+
// model a COMPRESSED MAP of the codebase — the top-level symbols of each file,
|
|
9
|
+
// ranked by importance — and it can navigate directly to what it needs instead
|
|
10
|
+
// of opening everything.
|
|
11
|
+
//
|
|
12
|
+
// This is a dependency-free approximation of that idea:
|
|
13
|
+
// 1. Walk the repo, skipping vendor/build dirs.
|
|
14
|
+
// 2. Extract top-level symbols per file with language-aware patterns
|
|
15
|
+
// (TS/JS, Python, Go, Rust, Java, Ruby, PHP, C-family, C#).
|
|
16
|
+
// 3. Rank symbols by how often OTHER files reference them — a cheap stand-in
|
|
17
|
+
// for Aider's PageRank over the symbol graph.
|
|
18
|
+
// 4. Render the highest-signal files/symbols into a fixed token budget.
|
|
19
|
+
//
|
|
20
|
+
// The result is injected into the system prompt, so the agent starts every run
|
|
21
|
+
// already knowing the shape of the codebase.
|
|
22
|
+
// ============================================================
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.extractSymbols = extractSymbols;
|
|
58
|
+
exports.analyzeRepo = analyzeRepo;
|
|
59
|
+
exports.buildRepoMap = buildRepoMap;
|
|
60
|
+
const fs = __importStar(require("fs"));
|
|
61
|
+
const path = __importStar(require("path"));
|
|
62
|
+
const SKIP_DIRS = new Set([
|
|
63
|
+
'node_modules', '.git', 'dist', 'build', 'out', 'coverage', '__pycache__',
|
|
64
|
+
'.next', '.nuxt', 'target', 'vendor', '.venv', 'venv', '.notsleep', '.idea', '.vscode',
|
|
65
|
+
]);
|
|
66
|
+
/** Source extensions we know how to extract symbols from. */
|
|
67
|
+
const EXT_LANG = {
|
|
68
|
+
'.ts': 'ts', '.tsx': 'ts', '.mts': 'ts', '.cts': 'ts',
|
|
69
|
+
'.js': 'ts', '.jsx': 'ts', '.mjs': 'ts', '.cjs': 'ts',
|
|
70
|
+
'.py': 'py',
|
|
71
|
+
'.go': 'go',
|
|
72
|
+
'.rs': 'rs',
|
|
73
|
+
'.java': 'java', '.kt': 'java',
|
|
74
|
+
'.rb': 'rb',
|
|
75
|
+
'.php': 'php',
|
|
76
|
+
'.c': 'c', '.h': 'c', '.cpp': 'c', '.hpp': 'c', '.cc': 'c',
|
|
77
|
+
'.cs': 'cs',
|
|
78
|
+
};
|
|
79
|
+
/** Top-level declaration patterns per language. First capture group = name. */
|
|
80
|
+
const PATTERNS = {
|
|
81
|
+
ts: [
|
|
82
|
+
{ re: /^\s*export\s+(?:default\s+)?(?:async\s+)?function\s+(\w+)/, kind: 'fn' },
|
|
83
|
+
{ re: /^\s*export\s+(?:abstract\s+)?class\s+(\w+)/, kind: 'class' },
|
|
84
|
+
{ re: /^\s*export\s+interface\s+(\w+)/, kind: 'interface' },
|
|
85
|
+
{ re: /^\s*export\s+type\s+(\w+)/, kind: 'type' },
|
|
86
|
+
{ re: /^\s*export\s+enum\s+(\w+)/, kind: 'enum' },
|
|
87
|
+
{ re: /^\s*export\s+const\s+(\w+)/, kind: 'const' },
|
|
88
|
+
{ re: /^\s*(?:async\s+)?function\s+(\w+)/, kind: 'fn' },
|
|
89
|
+
{ re: /^\s*(?:abstract\s+)?class\s+(\w+)/, kind: 'class' },
|
|
90
|
+
],
|
|
91
|
+
py: [
|
|
92
|
+
{ re: /^\s*def\s+(\w+)/, kind: 'def' },
|
|
93
|
+
{ re: /^\s*class\s+(\w+)/, kind: 'class' },
|
|
94
|
+
],
|
|
95
|
+
go: [
|
|
96
|
+
{ re: /^\s*func\s+(?:\([^)]*\)\s*)?(\w+)/, kind: 'func' },
|
|
97
|
+
{ re: /^\s*type\s+(\w+)\s+(?:struct|interface)/, kind: 'type' },
|
|
98
|
+
],
|
|
99
|
+
rs: [
|
|
100
|
+
{ re: /^\s*(?:pub\s+)?(?:async\s+)?fn\s+(\w+)/, kind: 'fn' },
|
|
101
|
+
{ re: /^\s*(?:pub\s+)?struct\s+(\w+)/, kind: 'struct' },
|
|
102
|
+
{ re: /^\s*(?:pub\s+)?enum\s+(\w+)/, kind: 'enum' },
|
|
103
|
+
{ re: /^\s*(?:pub\s+)?trait\s+(\w+)/, kind: 'trait' },
|
|
104
|
+
],
|
|
105
|
+
java: [
|
|
106
|
+
{ re: /^\s*(?:public|private|protected)?\s*(?:static\s+)?(?:final\s+)?class\s+(\w+)/, kind: 'class' },
|
|
107
|
+
{ re: /^\s*(?:public|private|protected)?\s*interface\s+(\w+)/, kind: 'interface' },
|
|
108
|
+
{ re: /^\s*(?:public|private|protected)\s+(?:static\s+)?[\w<>[\].]+\s+(\w+)\s*\(/, kind: 'method' },
|
|
109
|
+
],
|
|
110
|
+
rb: [
|
|
111
|
+
{ re: /^\s*def\s+(\w+)/, kind: 'def' },
|
|
112
|
+
{ re: /^\s*class\s+(\w+)/, kind: 'class' },
|
|
113
|
+
{ re: /^\s*module\s+(\w+)/, kind: 'module' },
|
|
114
|
+
],
|
|
115
|
+
php: [
|
|
116
|
+
{ re: /^\s*(?:public|private|protected)?\s*function\s+(\w+)/, kind: 'fn' },
|
|
117
|
+
{ re: /^\s*class\s+(\w+)/, kind: 'class' },
|
|
118
|
+
],
|
|
119
|
+
c: [
|
|
120
|
+
{ re: /^\s*(?:static\s+)?[\w*]+\s+(\w+)\s*\([^;]*\)\s*\{/, kind: 'fn' },
|
|
121
|
+
{ re: /^\s*(?:typedef\s+)?struct\s+(\w+)/, kind: 'struct' },
|
|
122
|
+
],
|
|
123
|
+
cs: [
|
|
124
|
+
{ re: /^\s*(?:public|private|protected|internal)?\s*(?:static\s+)?class\s+(\w+)/, kind: 'class' },
|
|
125
|
+
{ re: /^\s*(?:public|private|protected|internal)\s+(?:static\s+)?[\w<>[\]]+\s+(\w+)\s*\(/, kind: 'method' },
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
/** Names too generic to be useful signal in a map. */
|
|
129
|
+
const NOISE = new Set([
|
|
130
|
+
'main', 'init', 'test', 'setup', 'run', 'get', 'set', 'new', 'to', 'of', 'is',
|
|
131
|
+
'constructor', 'toString', 'default', 'index', 'options', 'config', 'data',
|
|
132
|
+
]);
|
|
133
|
+
/** Extract the top-level symbols declared in one file's source. */
|
|
134
|
+
function extractSymbols(source, lang) {
|
|
135
|
+
const patterns = PATTERNS[lang];
|
|
136
|
+
if (!patterns)
|
|
137
|
+
return [];
|
|
138
|
+
const out = [];
|
|
139
|
+
const seen = new Set();
|
|
140
|
+
for (const line of source.split('\n')) {
|
|
141
|
+
// Skip obvious comment lines cheaply.
|
|
142
|
+
const t = line.trimStart();
|
|
143
|
+
if (t.startsWith('//') || t.startsWith('#') || t.startsWith('*') || t.startsWith('/*'))
|
|
144
|
+
continue;
|
|
145
|
+
for (const { re, kind } of patterns) {
|
|
146
|
+
const m = line.match(re);
|
|
147
|
+
if (m && m[1] && !seen.has(m[1]) && !NOISE.has(m[1])) {
|
|
148
|
+
seen.add(m[1]);
|
|
149
|
+
out.push({ name: m[1], kind });
|
|
150
|
+
break; // one symbol per line
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
/** Recursively collect source files, skipping vendor/build dirs. */
|
|
157
|
+
function collectFiles(root, maxFiles) {
|
|
158
|
+
const found = [];
|
|
159
|
+
const walk = (dir, depth) => {
|
|
160
|
+
if (found.length >= maxFiles || depth > 8)
|
|
161
|
+
return;
|
|
162
|
+
let entries;
|
|
163
|
+
try {
|
|
164
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
for (const e of entries) {
|
|
170
|
+
if (found.length >= maxFiles)
|
|
171
|
+
return;
|
|
172
|
+
if (e.name.startsWith('.') && e.name !== '.') {
|
|
173
|
+
if (SKIP_DIRS.has(e.name))
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (SKIP_DIRS.has(e.name))
|
|
177
|
+
continue;
|
|
178
|
+
const full = path.join(dir, e.name);
|
|
179
|
+
if (e.isDirectory()) {
|
|
180
|
+
walk(full, depth + 1);
|
|
181
|
+
}
|
|
182
|
+
else if (EXT_LANG[path.extname(e.name).toLowerCase()]) {
|
|
183
|
+
found.push(full);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
walk(root, 0);
|
|
188
|
+
return found;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Build the ranked file/symbol structure for a repo. Exposed separately from
|
|
192
|
+
* rendering so it can be tested and reused.
|
|
193
|
+
*/
|
|
194
|
+
function analyzeRepo(opts) {
|
|
195
|
+
const root = path.resolve(opts.root);
|
|
196
|
+
const maxFiles = opts.maxFiles ?? 800;
|
|
197
|
+
const maxSymbols = opts.maxSymbolsPerFile ?? 10;
|
|
198
|
+
const files = collectFiles(root, maxFiles);
|
|
199
|
+
// Pass 1 — read EVERY source file. Files with no symbols of their own still
|
|
200
|
+
// matter: they REFERENCE symbols, and that's exactly the importance signal.
|
|
201
|
+
// (Only files that declare something end up in the rendered map.)
|
|
202
|
+
const scanned = [];
|
|
203
|
+
const allNames = new Set();
|
|
204
|
+
for (const full of files) {
|
|
205
|
+
let source = '';
|
|
206
|
+
try {
|
|
207
|
+
source = fs.readFileSync(full, 'utf-8');
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
if (source.length > 400_000)
|
|
213
|
+
continue; // skip absurdly large/generated files
|
|
214
|
+
const lang = EXT_LANG[path.extname(full).toLowerCase()];
|
|
215
|
+
const syms = extractSymbols(source, lang);
|
|
216
|
+
const rel = path.relative(root, full).split(path.sep).join('/');
|
|
217
|
+
scanned.push({ rel, source, syms });
|
|
218
|
+
syms.forEach((s) => allNames.add(s.name));
|
|
219
|
+
}
|
|
220
|
+
// Pass 2 — for each symbol, collect the SET of files that mention it.
|
|
221
|
+
// Importance = how many OTHER files reference it (a cheap stand-in for
|
|
222
|
+
// PageRank). Counting raw occurrences instead would let a test helper used 20
|
|
223
|
+
// times inside its own file outrank a core type used by the whole codebase.
|
|
224
|
+
const mentionedIn = new Map();
|
|
225
|
+
for (const f of scanned) {
|
|
226
|
+
const ident = /\b[A-Za-z_]\w*\b/g; // fresh regex per file (stateful /g)
|
|
227
|
+
const idents = new Set();
|
|
228
|
+
let m;
|
|
229
|
+
while ((m = ident.exec(f.source)) !== null) {
|
|
230
|
+
if (allNames.has(m[0]))
|
|
231
|
+
idents.add(m[0]);
|
|
232
|
+
}
|
|
233
|
+
for (const name of idents) {
|
|
234
|
+
let set = mentionedIn.get(name);
|
|
235
|
+
if (!set) {
|
|
236
|
+
set = new Set();
|
|
237
|
+
mentionedIn.set(name, set);
|
|
238
|
+
}
|
|
239
|
+
set.add(f.rel);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Score: a symbol's refs = distinct OTHER files mentioning it.
|
|
243
|
+
// Only files that declare symbols appear in the map.
|
|
244
|
+
const perFile = scanned.filter((f) => f.syms.length > 0);
|
|
245
|
+
const result = perFile.map((f) => {
|
|
246
|
+
const symbols = f.syms
|
|
247
|
+
.map((s) => {
|
|
248
|
+
const files = mentionedIn.get(s.name);
|
|
249
|
+
const refs = files ? files.size - (files.has(f.rel) ? 1 : 0) : 0;
|
|
250
|
+
return { name: s.name, kind: s.kind, refs };
|
|
251
|
+
})
|
|
252
|
+
.sort((a, b) => b.refs - a.refs || a.name.localeCompare(b.name))
|
|
253
|
+
.slice(0, maxSymbols);
|
|
254
|
+
const score = symbols.reduce((sum, s) => sum + s.refs, 0);
|
|
255
|
+
return { rel: f.rel, symbols, score };
|
|
256
|
+
});
|
|
257
|
+
return result.sort((a, b) => b.score - a.score || a.rel.localeCompare(b.rel));
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Render a repo map that fits the token budget. Highest-signal files first, so
|
|
261
|
+
* truncation drops the least important ones. Returns '' when there's nothing
|
|
262
|
+
* useful to show.
|
|
263
|
+
*/
|
|
264
|
+
function buildRepoMap(opts) {
|
|
265
|
+
const maxTokens = opts.maxTokens ?? 2000;
|
|
266
|
+
const files = analyzeRepo(opts);
|
|
267
|
+
if (files.length === 0)
|
|
268
|
+
return '';
|
|
269
|
+
const header = 'REPOSITORY MAP (the codebase at a glance — top-level symbols per file, most-referenced first).\n' +
|
|
270
|
+
'Use this to jump STRAIGHT to the right file instead of reading files to find things.\n' +
|
|
271
|
+
'Only read a file when you actually need its body.\n\n';
|
|
272
|
+
const budgetChars = maxTokens * 4;
|
|
273
|
+
let body = '';
|
|
274
|
+
for (const f of files) {
|
|
275
|
+
if (f.symbols.length === 0)
|
|
276
|
+
continue;
|
|
277
|
+
const line = `${f.rel}\n ${f.symbols.map((s) => `${s.kind} ${s.name}`).join(' · ')}\n`;
|
|
278
|
+
if (header.length + body.length + line.length > budgetChars)
|
|
279
|
+
break;
|
|
280
|
+
body += line;
|
|
281
|
+
}
|
|
282
|
+
if (!body)
|
|
283
|
+
return '';
|
|
284
|
+
return header + body.trimEnd();
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=repomap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repomap.js","sourceRoot":"","sources":["../src/repomap.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAwBA,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAwBA,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwHxD,CAAC;AAEF,2CAA2C;AAC3C,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,yBAAyB,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -133,6 +133,15 @@ exports.NOTSLEEP_JSON_SCHEMA = {
|
|
|
133
133
|
autoReflect: { type: 'boolean', description: 'Auto-distill lessons after each completed task (uses the small model).' },
|
|
134
134
|
},
|
|
135
135
|
},
|
|
136
|
+
repoMap: {
|
|
137
|
+
type: 'object',
|
|
138
|
+
additionalProperties: false,
|
|
139
|
+
description: 'Repository map: a ranked, compressed view of the codebase (top-level symbols per file) injected into the prompt so the agent navigates instead of reading files to find things.',
|
|
140
|
+
properties: {
|
|
141
|
+
enabled: { type: 'boolean' },
|
|
142
|
+
maxTokens: { type: 'integer', minimum: 100, description: 'Approximate token budget for the rendered map (default 2000).' },
|
|
143
|
+
},
|
|
144
|
+
},
|
|
136
145
|
customTools: {
|
|
137
146
|
type: 'array',
|
|
138
147
|
description: 'User-defined shell-command tools the agent can call.',
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,+DAA+D;AAC/D,8EAA8E;AAC9E,6EAA6E;AAC7E,2CAA2C;AAC3C,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-dashboard.d.ts","sourceRoot":"","sources":["../src/test-dashboard.ts"],"names":[],"mappings":"AAUA,QAAA,MAAQ,eAAe,KAA2B,CAAC;AACnD,QAAA,MAAQ,MAAM,OAAE,QAAQ,KAAwB,CAAC;AACjD,QAAA,MAAM,EAAE,KAAgB,CAAC;AAEzB,iBAAe,IAAI,
|
|
1
|
+
{"version":3,"file":"test-dashboard.d.ts","sourceRoot":"","sources":["../src/test-dashboard.ts"],"names":[],"mappings":"AAUA,QAAA,MAAQ,eAAe,KAA2B,CAAC;AACnD,QAAA,MAAQ,MAAM,OAAE,QAAQ,KAAwB,CAAC;AACjD,QAAA,MAAM,EAAE,KAAgB,CAAC;AAEzB,iBAAe,IAAI,kBA+MlB"}
|
package/dist/test-dashboard.js
CHANGED
|
@@ -57,9 +57,14 @@ async function main() {
|
|
|
57
57
|
console.log(' Press Ctrl+C to stop');
|
|
58
58
|
console.log(' ============================================\n');
|
|
59
59
|
// Simulated state
|
|
60
|
+
// A deliberately LONG current task (like a full mission.txt) to verify the
|
|
61
|
+
// banner is capped and doesn't push the stats row off-screen.
|
|
62
|
+
const longTask = 'You are the autonomous maintainer of this project. Work entirely on your own: ' +
|
|
63
|
+
'decide what to do, do it, verify it, commit it, and immediately pick the next thing. ' +
|
|
64
|
+
'Never stop until a STOP file appears. '.repeat(20);
|
|
60
65
|
const currentState = {
|
|
61
66
|
status: 'running',
|
|
62
|
-
currentTask:
|
|
67
|
+
currentTask: longTask,
|
|
63
68
|
taskQueue: [
|
|
64
69
|
{
|
|
65
70
|
id: 'task-1',
|
|
@@ -164,6 +169,9 @@ async function main() {
|
|
|
164
169
|
currentState.stats.totalCostUsd = (tokens / 1_000_000) * 15;
|
|
165
170
|
// Context window fills up over ~30 iterations, then a summarize resets it.
|
|
166
171
|
currentState.contextUsage = Math.min(((iteration % 30) / 30) * 0.98, 0.98);
|
|
172
|
+
// Real per-call context size (like the API's prompt_tokens) — distinct from
|
|
173
|
+
// the cumulative "Total tokens" above.
|
|
174
|
+
currentState.contextTokens = Math.round(currentState.contextUsage * currentState.contextLimit);
|
|
167
175
|
if (iteration % 30 === 0) {
|
|
168
176
|
currentState.stats.contextResets++;
|
|
169
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-dashboard.js","sourceRoot":"","sources":["../src/test-dashboard.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D;AAC/D,wDAAwD;AACxD,2DAA2D;AAC3D,EAAE;AACF,mCAAmC;AACnC,8BAA8B;AAC9B,+DAA+D;AAE/D,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,KAAK,UAAU,IAAI;IACjB,wBAAwB;IACxB,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpD,2BAA2B;IAC3B,MAAM,CAAC,KAAK,GAAG,CAAC,KAAU,EAAE,EAAE;QAC5B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,0BAA0B;IAC1B,SAAS,CAAC,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElE,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,yBAAyB;YACzB,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ;gBAClC,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC;YACF,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC/B,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;YAC3B,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;YAC5B,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAEhE,kBAAkB;IAClB,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"test-dashboard.js","sourceRoot":"","sources":["../src/test-dashboard.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { ToolDefinition, QueuedTask, CustomToolConfig } from './types';
|
|
2
2
|
import { Logger } from './logger';
|
|
3
|
+
/**
|
|
4
|
+
* Parse a Retry-After header value into milliseconds to wait.
|
|
5
|
+
* The header can be either a number of seconds (e.g. "120") or an HTTP-date
|
|
6
|
+
* (e.g. "Fri, 31 Dec 1999 23:59:59 GMT"). Returns the delay in ms, clamped
|
|
7
|
+
* to [1000, 120000]. Returns null if the header is missing or unparseable.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseRetryAfter(header: string | undefined): number | null;
|
|
10
|
+
/**
|
|
11
|
+
* Compute exponential backoff delay with jitter.
|
|
12
|
+
* @param attempt - zero-indexed retry attempt number
|
|
13
|
+
* @param baseMs - base delay in ms (default 1000)
|
|
14
|
+
* @param maxMs - maximum delay in ms (default 30000)
|
|
15
|
+
*/
|
|
16
|
+
export declare function backoffDelay(attempt: number, baseMs?: number, maxMs?: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if the HTTP status code indicates a rate-limit or transient
|
|
19
|
+
* server error that should be retried.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isRetryableStatus(status: number): boolean;
|
|
3
22
|
/**
|
|
4
23
|
* Build ToolDefinitions from user-declared custom tools (notsleep.json).
|
|
5
24
|
* Each runs its shell `command`, substituting {param} placeholders with
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAoBzE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAO,EAAE,KAAK,SAAS,GAAG,MAAM,CAKnF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAqBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,cAAc,EAAE,CA+ElB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAuClF;AA8DD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,UAAU,EAAE,EACvB,aAAa,GAAE,MAAsB,GACpC,cAAc,EAAE,CA4jClB"}
|