@burtson-labs/host-kit 0.3.3 → 0.4.1
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 +77 -2
- package/dist/hooks.d.ts +9 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +19 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/insights.d.ts.map +1 -1
- package/dist/insights.js +5 -26
- package/dist/insights.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +10 -8
- package/dist/mcp.js.map +1 -1
- package/dist/memory.d.ts +64 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +179 -3
- package/dist/memory.js.map +1 -1
- package/dist/memoryIndex.d.ts +35 -1
- package/dist/memoryIndex.d.ts.map +1 -1
- package/dist/memoryIndex.js +207 -23
- package/dist/memoryIndex.js.map +1 -1
- package/dist/securityGuard.d.ts +29 -0
- package/dist/securityGuard.d.ts.map +1 -0
- package/dist/securityGuard.js +164 -0
- package/dist/securityGuard.js.map +1 -0
- package/dist/tools/extraTools.js +1 -1
- package/dist/tools/extraTools.js.map +1 -1
- package/dist/tools/readMemoryTool.d.ts.map +1 -1
- package/dist/tools/readMemoryTool.js +11 -9
- package/dist/tools/readMemoryTool.js.map +1 -1
- package/package.json +21 -2
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface SecurityGuardSettings {
|
|
2
|
+
/** Master switch. Off by default. Set in `.bandit/settings.json` (or the
|
|
3
|
+
* global `~/.bandit/settings.json`) under `security.guard`. */
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
/** Extra command-substring patterns (regex source) to block, on top of the
|
|
6
|
+
* built-ins. */
|
|
7
|
+
blockCommands?: string[];
|
|
8
|
+
/** Extra absolute/`~` path prefixes to protect from writes. */
|
|
9
|
+
protectPaths?: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface SecurityGuardContext {
|
|
12
|
+
workspaceRoot?: string;
|
|
13
|
+
homeDir?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface SecurityGuardDecision {
|
|
16
|
+
allow: boolean;
|
|
17
|
+
reason?: string;
|
|
18
|
+
/** Identifier of the rule that fired (for logging / tests). */
|
|
19
|
+
rule?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Evaluate a tool call against the guard. Returns `{allow:true}` when the guard
|
|
23
|
+
* is disabled or nothing matches. Never throws.
|
|
24
|
+
*/
|
|
25
|
+
export declare function evaluateSecurityGuard(call: {
|
|
26
|
+
name: string;
|
|
27
|
+
params: Record<string, string>;
|
|
28
|
+
}, settings: SecurityGuardSettings | undefined, ctx?: SecurityGuardContext): SecurityGuardDecision;
|
|
29
|
+
//# sourceMappingURL=securityGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"securityGuard.d.ts","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,qBAAqB;IACpC;oEACgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;qBACiB;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA6ED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAC3C,GAAG,GAAE,oBAAyB,GAC7B,qBAAqB,CA8BvB"}
|
|
@@ -0,0 +1,164 @@
|
|
|
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.evaluateSecurityGuard = evaluateSecurityGuard;
|
|
37
|
+
/**
|
|
38
|
+
* Built-in pre-tool security guard — an in-process, no-shell-spawn safety net
|
|
39
|
+
* that blocks the handful of tool calls that are almost never legitimate
|
|
40
|
+
* (catastrophic `rm`, piping a remote script into a shell, writing to system /
|
|
41
|
+
* credential paths, exfiltrating an SSH/cloud key over the network, …).
|
|
42
|
+
*
|
|
43
|
+
* It runs in `beforeToolExecute` BEFORE the user's own PreToolUse hooks and the
|
|
44
|
+
* permission policy, so it's the first line of defense against the *model*
|
|
45
|
+
* footgunning (prompt injection, a hallucinated `rm -rf /`) — NOT a sandbox and
|
|
46
|
+
* NOT protection against a malicious user (who controls the settings).
|
|
47
|
+
*
|
|
48
|
+
* Opt-in, OFF by default (`security.guard.enabled`). Deliberately conservative:
|
|
49
|
+
* every rule targets a pattern that legitimate agent work essentially never
|
|
50
|
+
* produces, so false positives stay rare. Shared by the CLI and the IDE host.
|
|
51
|
+
*/
|
|
52
|
+
const path = __importStar(require("path"));
|
|
53
|
+
const os = __importStar(require("os"));
|
|
54
|
+
const WRITE_TOOLS = new Set(['write_file', 'apply_edit', 'replace_range', 'apply_patch', 'delete_file']);
|
|
55
|
+
/** Recursive+force `rm` aimed at `/`, `~`, `$HOME`, or `/*`. */
|
|
56
|
+
function isCatastrophicRm(cmd) {
|
|
57
|
+
if (!/\brm\b/.test(cmd))
|
|
58
|
+
return false;
|
|
59
|
+
const recursive = /(^|\s)-[a-zA-Z]*r[a-zA-Z]*\b/.test(cmd) || /--recursive\b/.test(cmd);
|
|
60
|
+
const force = /(^|\s)-[a-zA-Z]*f[a-zA-Z]*\b/.test(cmd) || /--force\b/.test(cmd) || /--no-preserve-root\b/.test(cmd);
|
|
61
|
+
if (!(recursive && force))
|
|
62
|
+
return false;
|
|
63
|
+
if (/--no-preserve-root\b/.test(cmd))
|
|
64
|
+
return true;
|
|
65
|
+
// A bare root/home/glob-of-root target (slash/tilde/$HOME/`/*` followed by
|
|
66
|
+
// end, whitespace, or another slash/star — so `/tmp/x` is NOT matched).
|
|
67
|
+
return /(\s|=|["'])(\/|~|\$\{?HOME\}?|\/\*)(\s|$|["']|\/(?:\*|\s|$)|\*)/.test(cmd)
|
|
68
|
+
|| /\s\/\s*$/.test(cmd) || /\s~\s*$/.test(cmd) || /\s\/\*/.test(cmd);
|
|
69
|
+
}
|
|
70
|
+
const COMMAND_RULES = [
|
|
71
|
+
{ id: 'rm-root', reason: 'recursive force-delete of a root/home path', test: isCatastrophicRm },
|
|
72
|
+
{ id: 'curl-pipe-shell', reason: 'a downloaded script piped straight into a shell', test: (c) => /(?:curl|wget|fetch)\b[\s\S]*?\|\s*(?:sudo\s+)?(?:sh|bash|zsh|dash|python[0-9.]*|perl|ruby|node)\b/i.test(c) },
|
|
73
|
+
{ id: 'fork-bomb', reason: 'a fork bomb', test: (c) => /:\s*\(\s*\)\s*\{\s*:\s*\|\s*:\s*&\s*\}\s*;\s*:/.test(c) },
|
|
74
|
+
{ id: 'disk-destroy', reason: 'a raw write to a block device / filesystem', test: (c) => /\bmkfs(?:\.\w+)?\b/i.test(c) || /\bdd\b[\s\S]*\bof=\/dev\/(?:sd|nvme|hd|disk|mmcblk|vd)/i.test(c) || />\s*\/dev\/(?:sd|nvme|hd|disk|mmcblk|vd)/i.test(c) },
|
|
75
|
+
{ id: 'chmod-chown-root', reason: 'a recursive permission/owner change on `/`', test: (c) => /\bchmod\s+(?:-[a-z]*R[a-z]*\s+)?0?[0-7]{3}\s+\/(?:\s|$)/i.test(c) || /\bchown\s+-[a-z]*R[a-z]*\b[\s\S]*\s\/(?:\s|$)/i.test(c) },
|
|
76
|
+
{ id: 'redirect-sensitive', reason: 'output redirected into a system / credential path', test: (c) => />>?\s*(?:["']?)(?:\/etc\/|\/usr\/|\/bin\/|\/sbin\/|\/boot\/|~\/?\.ssh\/|\$HOME\/\.ssh\/|\.ssh\/authorized_keys|\/root\/)/i.test(c) },
|
|
77
|
+
{
|
|
78
|
+
id: 'secret-exfil',
|
|
79
|
+
reason: 'a credential file read AND sent over the network in one command',
|
|
80
|
+
test: (c) => {
|
|
81
|
+
const secretRead = /(?:\.ssh\/[\w.-]*(?:id_[a-z0-9]+|_rsa|_ed25519|_ecdsa|_dsa)\b|\bid_rsa\b|\.aws\/credentials|\.netrc\b|\.kube\/config\b|\.docker\/config\.json\b|\.gnupg\/)/i.test(c);
|
|
82
|
+
const netEgress = /\b(?:curl|wget|nc|netcat|ncat|telnet|scp|sftp)\b|https?:\/\//i.test(c);
|
|
83
|
+
return secretRead && netEgress;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
];
|
|
87
|
+
const SENSITIVE_WRITE_PREFIXES = [
|
|
88
|
+
'/etc/', '/usr/', '/bin/', '/sbin/', '/boot/', '/sys/', '/proc/', '/dev/', '/root/',
|
|
89
|
+
'/System/', '/Library/'
|
|
90
|
+
];
|
|
91
|
+
const SENSITIVE_WRITE_SUFFIXES = [
|
|
92
|
+
'/.ssh/', '/.aws/', '/.gnupg/', '/.kube/config', '/.docker/config.json',
|
|
93
|
+
'/.bashrc', '/.zshrc', '/.profile', '/.bash_profile'
|
|
94
|
+
];
|
|
95
|
+
function checkWritePath(rawPath, ctx, extraProtected) {
|
|
96
|
+
const home = ctx.homeDir ?? os.homedir();
|
|
97
|
+
const expanded = rawPath.trim().replace(/^~(?=\/|$)/, home);
|
|
98
|
+
const norm = expanded.replace(/\\/g, '/');
|
|
99
|
+
for (const prefix of [...SENSITIVE_WRITE_PREFIXES, ...extraProtected]) {
|
|
100
|
+
if (norm === prefix.replace(/\/$/, '') || norm.startsWith(prefix)) {
|
|
101
|
+
return { allow: false, rule: 'write-sensitive', reason: `writing to a protected system/credential path (${prefix})` };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
for (const suffix of SENSITIVE_WRITE_SUFFIXES) {
|
|
105
|
+
if (norm.includes(suffix)) {
|
|
106
|
+
return { allow: false, rule: 'write-sensitive', reason: `writing to a protected credential path (${suffix})` };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Path traversal outside the workspace (only when we know the root and the
|
|
110
|
+
// path isn't an unrelated absolute temp path the host already allows).
|
|
111
|
+
if (ctx.workspaceRoot) {
|
|
112
|
+
const resolved = path.resolve(ctx.workspaceRoot, expanded);
|
|
113
|
+
const root = path.resolve(ctx.workspaceRoot);
|
|
114
|
+
if (resolved !== root && !resolved.startsWith(root + path.sep)) {
|
|
115
|
+
// Only flag when the original path explicitly traverses up; bare absolute
|
|
116
|
+
// temp paths (e.g. /tmp/x) aren't the guard's job and the host gates them.
|
|
117
|
+
if (/(^|\/)\.\.(\/|$)/.test(rawPath)) {
|
|
118
|
+
return { allow: false, rule: 'write-escape', reason: 'writing outside the workspace root via `..` traversal' };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return { allow: true };
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Evaluate a tool call against the guard. Returns `{allow:true}` when the guard
|
|
126
|
+
* is disabled or nothing matches. Never throws.
|
|
127
|
+
*/
|
|
128
|
+
function evaluateSecurityGuard(call, settings, ctx = {}) {
|
|
129
|
+
if (!settings?.enabled)
|
|
130
|
+
return { allow: true };
|
|
131
|
+
try {
|
|
132
|
+
const name = call.name;
|
|
133
|
+
const params = call.params ?? {};
|
|
134
|
+
if (name === 'run_command') {
|
|
135
|
+
const cmd = `${params.cmd ?? ''} ${params.args ?? ''}`.trim();
|
|
136
|
+
if (!cmd)
|
|
137
|
+
return { allow: true };
|
|
138
|
+
for (const rule of COMMAND_RULES) {
|
|
139
|
+
if (rule.test(cmd))
|
|
140
|
+
return { allow: false, rule: rule.id, reason: rule.reason };
|
|
141
|
+
}
|
|
142
|
+
for (const extra of settings.blockCommands ?? []) {
|
|
143
|
+
try {
|
|
144
|
+
if (new RegExp(extra, 'i').test(cmd))
|
|
145
|
+
return { allow: false, rule: 'custom-command', reason: `matched a configured blockCommands pattern (${extra})` };
|
|
146
|
+
}
|
|
147
|
+
catch { /* invalid user regex — ignore */ }
|
|
148
|
+
}
|
|
149
|
+
return { allow: true };
|
|
150
|
+
}
|
|
151
|
+
if (WRITE_TOOLS.has(name)) {
|
|
152
|
+
const target = params.path ?? '';
|
|
153
|
+
if (!target)
|
|
154
|
+
return { allow: true };
|
|
155
|
+
return checkWritePath(target, ctx, settings.protectPaths ?? []);
|
|
156
|
+
}
|
|
157
|
+
return { allow: true };
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// The guard must never break a turn — fail open.
|
|
161
|
+
return { allow: true };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=securityGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"securityGuard.js","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/extraTools.js
CHANGED
|
@@ -213,7 +213,7 @@ function buildTodoWriteTool(store) {
|
|
|
213
213
|
function buildRememberTool() {
|
|
214
214
|
return {
|
|
215
215
|
name: 'remember',
|
|
216
|
-
description: 'Persist a single fact to project memory (BANDIT.md at the workspace root) so it survives across sessions. Use this when the user says "remember X", "always do Y", "note that I", or otherwise asks for cross-session persistence — NOT for transient task tracking (use `todo_write` for that). One bullet per call. Examples: "All repos live in ~/Documents/GitHub", "Prefer pnpm over npm", "Local Ollama at http://
|
|
216
|
+
description: 'Persist a single fact to project memory (BANDIT.md at the workspace root) so it survives across sessions. Use this when the user says "remember X", "always do Y", "note that I", or otherwise asks for cross-session persistence — NOT for transient task tracking (use `todo_write` for that). One bullet per call. Examples: "All repos live in ~/Documents/GitHub", "Prefer pnpm over npm", "Local Ollama at http://localhost:11434".',
|
|
217
217
|
parameters: [
|
|
218
218
|
{ name: 'fact', description: 'The single fact to remember. Will be appended as a bullet under the "## Notes" heading in BANDIT.md (file is created with a minimal scaffold if missing).', required: true }
|
|
219
219
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraTools.js","sourceRoot":"","sources":["../../src/tools/extraTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extraTools.js","sourceRoot":"","sources":["../../src/tools/extraTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readMemoryTool.d.ts","sourceRoot":"","sources":["../../src/tools/readMemoryTool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAoC,MAAM,0BAA0B,CAAC;AAO5F,wBAAgB,mBAAmB,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"readMemoryTool.d.ts","sourceRoot":"","sources":["../../src/tools/readMemoryTool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAoC,MAAM,0BAA0B,CAAC;AAO5F,wBAAgB,mBAAmB,IAAI,SAAS,CAqE/C"}
|
|
@@ -35,11 +35,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.buildReadMemoryTool = buildReadMemoryTool;
|
|
37
37
|
/**
|
|
38
|
-
* `read_memory` — load a single topic file from
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* pull the full file into context.
|
|
38
|
+
* `read_memory` — load a single topic file from `.bandit/memory/<name>.md`
|
|
39
|
+
* (preferred) or the legacy `memory/<name>.md` on demand. Paired with
|
|
40
|
+
* `loadMemoryIndex` (the MEMORY.md index injected into the system prompt
|
|
41
|
+
* every turn). The agent decides whether a topic is relevant by reading the
|
|
42
|
+
* index's hook, then calls this tool to pull the full file into context.
|
|
43
43
|
*
|
|
44
44
|
* Rejects path traversal (`..`, absolute paths). On miss, the error
|
|
45
45
|
* lists the available slugs so the model can self-correct.
|
|
@@ -50,11 +50,11 @@ const memoryIndex_1 = require("../memoryIndex");
|
|
|
50
50
|
function buildReadMemoryTool() {
|
|
51
51
|
return {
|
|
52
52
|
name: 'read_memory',
|
|
53
|
-
description: 'Read a single topic memory file by slug. Use this when
|
|
53
|
+
description: 'Read a single topic memory file by slug. Use this when the memory index (shown in the system prompt) lists a topic whose hook matches the current task. The slug is the part after "memory/" in [Title](memory/<slug>.md) — without the .md suffix. Returns the full file content (capped at 32 KB).',
|
|
54
54
|
parameters: [
|
|
55
55
|
{
|
|
56
56
|
name: 'name',
|
|
57
|
-
description: 'Memory file slug (no `memory/` prefix, no `.md` suffix). Example: "auth-conventions" loads memory/auth-conventions.md.',
|
|
57
|
+
description: 'Memory file slug (no `memory/` prefix, no `.md` suffix). Example: "auth-conventions" loads .bandit/memory/auth-conventions.md (or the legacy memory/auth-conventions.md).',
|
|
58
58
|
required: true
|
|
59
59
|
}
|
|
60
60
|
],
|
|
@@ -82,8 +82,10 @@ function buildReadMemoryTool() {
|
|
|
82
82
|
if (!entry) {
|
|
83
83
|
const available = index.entries.map((e) => e.name);
|
|
84
84
|
if (available.length === 0) {
|
|
85
|
+
const banditIndexPath = path.resolve(ctx.workspaceRoot, memoryIndex_1.BANDIT_MEMORY_DIR, 'MEMORY.md');
|
|
86
|
+
const rootIndexPath = path.resolve(ctx.workspaceRoot, 'MEMORY.md');
|
|
85
87
|
return {
|
|
86
|
-
output: `No memory index found. MEMORY.md is missing
|
|
88
|
+
output: `No memory index found. MEMORY.md is missing from both ${banditIndexPath} and ${rootIndexPath}.`,
|
|
87
89
|
isError: true
|
|
88
90
|
};
|
|
89
91
|
}
|
|
@@ -105,7 +107,7 @@ function buildReadMemoryTool() {
|
|
|
105
107
|
catch (err) {
|
|
106
108
|
const msg = err instanceof Error ? err.message : String(err);
|
|
107
109
|
return {
|
|
108
|
-
output: `Could not read ${
|
|
110
|
+
output: `Could not read ${entry.relPath}: ${msg}`,
|
|
109
111
|
isError: true
|
|
110
112
|
};
|
|
111
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readMemoryTool.js","sourceRoot":"","sources":["../../src/tools/readMemoryTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,
|
|
1
|
+
{"version":3,"file":"readMemoryTool.js","sourceRoot":"","sources":["../../src/tools/readMemoryTool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burtson-labs/host-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"author": {
|
|
5
|
+
"name": "Burtson Labs",
|
|
6
|
+
"email": "team@burtson.ai",
|
|
7
|
+
"url": "https://burtson.ai"
|
|
8
|
+
},
|
|
4
9
|
"description": "Host-agnostic building blocks for the Bandit agent framework — memory files, hooks, mentions, and the extra tool set (todo_write, web_fetch).",
|
|
5
10
|
"main": "dist/index.js",
|
|
6
11
|
"types": "dist/index.d.ts",
|
|
@@ -17,7 +22,7 @@
|
|
|
17
22
|
"dist"
|
|
18
23
|
],
|
|
19
24
|
"dependencies": {
|
|
20
|
-
"@burtson-labs/agent-core": "1.6.
|
|
25
|
+
"@burtson-labs/agent-core": "1.6.18"
|
|
21
26
|
},
|
|
22
27
|
"devDependencies": {
|
|
23
28
|
"@types/node": "^20.11.0",
|
|
@@ -25,6 +30,20 @@
|
|
|
25
30
|
"vitest": "^4.0.10"
|
|
26
31
|
},
|
|
27
32
|
"license": "Apache-2.0",
|
|
33
|
+
"keywords": [
|
|
34
|
+
"ai",
|
|
35
|
+
"agent",
|
|
36
|
+
"llm",
|
|
37
|
+
"agentic",
|
|
38
|
+
"tool-use",
|
|
39
|
+
"bandit",
|
|
40
|
+
"local-first",
|
|
41
|
+
"ollama",
|
|
42
|
+
"host-kit"
|
|
43
|
+
],
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
28
47
|
"scripts": {
|
|
29
48
|
"prebuild": "pnpm -C ../.. --filter @burtson-labs/agent-core build",
|
|
30
49
|
"build": "tsc -p tsconfig.build.json",
|