@burtson-labs/agent-core 1.6.16 → 1.6.18
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 +2 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/activation.js +16 -8
- package/dist/mcp/activation.js.map +1 -1
- package/dist/mcp/clientPool.js +40 -22
- package/dist/mcp/clientPool.js.map +1 -1
- package/dist/mcp/server.js +16 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/toolAdapter.js +21 -11
- package/dist/mcp/toolAdapter.js.map +1 -1
- package/dist/providers/deterministic-provider.d.ts +1 -1
- package/dist/providers/deterministic-provider.d.ts.map +1 -1
- package/dist/runtime/AgentRuntime.d.ts +2 -2
- package/dist/runtime/AgentRuntime.d.ts.map +1 -1
- package/dist/security/secretPatterns.js +4 -2
- package/dist/security/secretPatterns.js.map +1 -1
- package/dist/telemetry/otlpExporter.d.ts +69 -0
- package/dist/telemetry/otlpExporter.d.ts.map +1 -0
- package/dist/telemetry/otlpExporter.js +321 -0
- package/dist/telemetry/otlpExporter.js.map +1 -0
- package/dist/tools/ask-user-tool.js +8 -4
- package/dist/tools/ask-user-tool.js.map +1 -1
- package/dist/tools/compactMessages.js +6 -3
- package/dist/tools/compactMessages.js.map +1 -1
- package/dist/tools/core-tools.js +151 -81
- package/dist/tools/core-tools.js.map +1 -1
- package/dist/tools/git-tools.js +22 -11
- package/dist/tools/git-tools.js.map +1 -1
- package/dist/tools/language-adapters.d.ts +1 -1
- package/dist/tools/language-adapters.d.ts.map +1 -1
- package/dist/tools/language-adapters.js +36 -18
- package/dist/tools/language-adapters.js.map +1 -1
- package/dist/tools/loop/finalAnswerNudges.js +12 -6
- package/dist/tools/loop/finalAnswerNudges.js.map +1 -1
- package/dist/tools/loop/goalAnchor.d.ts.map +1 -1
- package/dist/tools/loop/goalAnchor.js +2 -1
- package/dist/tools/loop/goalAnchor.js.map +1 -1
- package/dist/tools/loop/llmStream.js +11 -8
- package/dist/tools/loop/llmStream.js.map +1 -1
- package/dist/tools/loop/loopShared.d.ts +20 -0
- package/dist/tools/loop/loopShared.d.ts.map +1 -0
- package/dist/tools/loop/loopShared.js +105 -0
- package/dist/tools/loop/loopShared.js.map +1 -0
- package/dist/tools/loop/parallelExecute.d.ts +1 -1
- package/dist/tools/loop/parallelExecute.js +2 -1
- package/dist/tools/loop/parallelExecute.js.map +1 -1
- package/dist/tools/loop/singleToolExecute.js +8 -4
- package/dist/tools/loop/singleToolExecute.js.map +1 -1
- package/dist/tools/loop/turnSetup.js +9 -6
- package/dist/tools/loop/turnSetup.js.map +1 -1
- package/dist/tools/ocr.d.ts.map +1 -1
- package/dist/tools/ocr.js +7 -5
- package/dist/tools/ocr.js.map +1 -1
- package/dist/tools/post-edit-checks.js +25 -13
- package/dist/tools/post-edit-checks.js.map +1 -1
- package/dist/tools/skill-loader.d.ts +1 -1
- package/dist/tools/skill-loader.d.ts.map +1 -1
- package/dist/tools/skill-loader.js +14 -7
- package/dist/tools/skill-loader.js.map +1 -1
- package/dist/tools/skill-registry.js +2 -1
- package/dist/tools/skill-registry.js.map +1 -1
- package/dist/tools/skills/mail-search-skill.js +16 -9
- package/dist/tools/skills/mail-search-skill.js.map +1 -1
- package/dist/tools/skills/plan-skill.js +4 -2
- package/dist/tools/skills/plan-skill.js.map +1 -1
- package/dist/tools/skills/semantic-search-skill.js +12 -6
- package/dist/tools/skills/semantic-search-skill.js.map +1 -1
- package/dist/tools/skills/test-gen-skill.js +8 -4
- package/dist/tools/skills/test-gen-skill.js.map +1 -1
- package/dist/tools/tool-registry.d.ts +17 -0
- package/dist/tools/tool-registry.d.ts.map +1 -1
- package/dist/tools/tool-registry.js +110 -30
- package/dist/tools/tool-registry.js.map +1 -1
- package/dist/tools/tool-use-loop.d.ts +16 -8
- package/dist/tools/tool-use-loop.d.ts.map +1 -1
- package/dist/tools/tool-use-loop.js +144 -160
- package/dist/tools/tool-use-loop.js.map +1 -1
- package/dist/tools/tool-use-parser.d.ts +33 -0
- package/dist/tools/tool-use-parser.d.ts.map +1 -1
- package/dist/tools/tool-use-parser.js +105 -28
- package/dist/tools/tool-use-parser.js.map +1 -1
- package/dist/tools/toolAvailabilityDetector.d.ts +0 -24
- package/dist/tools/toolAvailabilityDetector.d.ts.map +1 -1
- package/dist/tools/toolAvailabilityDetector.js +26 -12
- package/dist/tools/toolAvailabilityDetector.js.map +1 -1
- package/dist/tools/unified-patch.js +16 -8
- package/dist/tools/unified-patch.js.map +1 -1
- package/dist/utils/event-emitter.d.ts +1 -1
- package/dist/utils/event-emitter.d.ts.map +1 -1
- package/package.json +20 -1
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool-availability self-correction detector.
|
|
3
|
-
*
|
|
4
|
-
* Failure mode: after a compaction-heavy turn, OR when an earlier tool
|
|
5
|
-
* call errored, the model sometimes claims a tool "isn't available" /
|
|
6
|
-
* "I don't have access to X" / "no X tool exists" — even though the
|
|
7
|
-
* tool IS registered and would have shown up in the native-tools
|
|
8
|
-
* schema sent on this very turn. The model is hallucinating absence,
|
|
9
|
-
* usually because a prior error message ("Error: tool 'X' not
|
|
10
|
-
* registered" from a typo, or "Expected object, received string"
|
|
11
|
-
* from a schema rejection) survived into the compacted history while
|
|
12
|
-
* the actual success path didn't.
|
|
13
|
-
*
|
|
14
|
-
* Captured 2026-05-25 (Mark, live CLI session): model said it couldn't
|
|
15
|
-
* trash messages even though `burtson-labs.trashMessage` was registered
|
|
16
|
-
* in the MCP pool with 119 other tools. Restarting Bandit "fixed" it.
|
|
17
|
-
* That's a band-aid; the framework should detect the false claim and
|
|
18
|
-
* correct the model inline.
|
|
19
|
-
*
|
|
20
|
-
* Strategy: if the model's response (with no tool_call) contains a
|
|
21
|
-
* negation phrase paired with a tool-name-shaped token that matches
|
|
22
|
-
* a registered tool, push a corrective user message that lists the
|
|
23
|
-
* actually-available tools by name. Capped per-turn to avoid loops.
|
|
24
|
-
*/
|
|
25
1
|
export interface ToolAvailabilityCheckResult {
|
|
26
2
|
/** True iff the response claims a tool is missing AND that tool IS registered. */
|
|
27
3
|
detected: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolAvailabilityDetector.d.ts","sourceRoot":"","sources":["../../src/tools/toolAvailabilityDetector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolAvailabilityDetector.d.ts","sourceRoot":"","sources":["../../src/tools/toolAvailabilityDetector.ts"],"names":[],"mappings":"AAkEA,MAAM,WAAW,2BAA2B;IAC1C,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,yFAAyF;IACzF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,GACxB,2BAA2B,CA6D7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,CAYtF"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectFalseToolAbsence = detectFalseToolAbsence;
|
|
4
|
+
exports.buildToolAvailabilityNudge = buildToolAvailabilityNudge;
|
|
5
|
+
const tool_use_parser_1 = require("./tool-use-parser");
|
|
2
6
|
/**
|
|
3
7
|
* Tool-availability self-correction detector.
|
|
4
8
|
*
|
|
@@ -23,15 +27,19 @@
|
|
|
23
27
|
* a registered tool, push a corrective user message that lists the
|
|
24
28
|
* actually-available tools by name. Capped per-turn to avoid loops.
|
|
25
29
|
*/
|
|
26
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.detectFalseToolAbsence = detectFalseToolAbsence;
|
|
28
|
-
exports.buildToolAvailabilityNudge = buildToolAvailabilityNudge;
|
|
29
30
|
/**
|
|
30
31
|
* Phrases that signal the model is asserting tool unavailability.
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
32
|
+
*
|
|
33
|
+
* The registry-membership check is NOT a sufficient false-positive
|
|
34
|
+
* guard on its own: reasoning/plan text routinely names registered
|
|
35
|
+
* tools while narrating normal work ("I used `read_file`", "No further
|
|
36
|
+
* tool calls are needed"), so callers MUST strip reasoning channels
|
|
37
|
+
* before passing text here, and the "no … tool" phrases must not match
|
|
38
|
+
* completion statements about tool CALLS. Captured 2026-06-12 (Mark,
|
|
39
|
+
* a local CLI session, gemma4:e4b): the reasoning closer "No further tool
|
|
40
|
+
* calls are needed" + an in-reasoning `read_file` mention fired the
|
|
41
|
+
* nudge and replaced a fully-formed final answer with confused
|
|
42
|
+
* meta-commentary about tool availability.
|
|
35
43
|
*/
|
|
36
44
|
const ABSENCE_PHRASES = [
|
|
37
45
|
// "I don't have access to" / "I do not have a … tool"
|
|
@@ -40,9 +48,13 @@ const ABSENCE_PHRASES = [
|
|
|
40
48
|
/\b(?:I'?m|I am)\s+unable\s+to\s+(?:find|locate|access|use)/i,
|
|
41
49
|
// "cannot find / locate / access X tool"
|
|
42
50
|
/\b(?:cannot|can'?t)\s+(?:find|locate|access|use|call|invoke)\s+/i,
|
|
43
|
-
// "no such tool" / "no … tool is available"
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
// "no such tool" / "no … tool is available". The negative lookahead
|
|
52
|
+
// excludes completion statements about tool CALLS ("no further tool
|
|
53
|
+
// calls are needed", "no additional tool calls required") — those
|
|
54
|
+
// assert DONE-ness, not absence; the trailing guard skips "tool
|
|
55
|
+
// call(s)" so only "<some kind of> tool" matches.
|
|
56
|
+
/\bno\s+(?:such\s+)?(?!further\b|additional\b|more\b|extra\b|other\b|new\b)\S+(?:\s+\S+){0,3}\s+tool\b(?!\s*call)/i,
|
|
57
|
+
/\bthere\s+is\s+no\s+(?!further\b|additional\b|more\b|extra\b|other\b|new\b)\S+(?:\s+\S+){0,3}\s+tool\b(?!\s*call)/i,
|
|
46
58
|
// "X is not available / unavailable"
|
|
47
59
|
/\b(?:is\s+not\s+available|isn'?t\s+available|are\s+not\s+available|aren'?t\s+available|is\s+unavailable|are\s+unavailable)\b/i,
|
|
48
60
|
/\b(?:not\s+available|unavailable)\s+(?:in|for|to|here|right\s+now|at\s+the\s+moment)/i,
|
|
@@ -131,7 +143,8 @@ function detectFalseToolAbsence(response, registeredTools) {
|
|
|
131
143
|
function buildToolAvailabilityNudge(result) {
|
|
132
144
|
const names = result.suggestedTools.length > 0 ? result.suggestedTools : result.matchedToolNames;
|
|
133
145
|
const list = names.map((n) => ` - ${n}`).join('\n');
|
|
134
|
-
return (
|
|
146
|
+
return (tool_use_parser_1.AUTOMATED_NUDGE_PREFIX +
|
|
147
|
+
'You claimed a tool is unavailable, but the following tool(s) ARE registered for this turn ' +
|
|
135
148
|
'(check the system tool list — they were sent in the native-tools schema, even if a prior compaction collapsed earlier results):\n' +
|
|
136
149
|
`${list}\n\n` +
|
|
137
150
|
'Re-attempt the action with the correct tool name from the list above. If you have already tried these and they errored, ' +
|
|
@@ -140,8 +153,9 @@ function buildToolAvailabilityNudge(result) {
|
|
|
140
153
|
}
|
|
141
154
|
function stripNamespace(toolName) {
|
|
142
155
|
const dotIdx = toolName.indexOf('.');
|
|
143
|
-
if (dotIdx > 0)
|
|
156
|
+
if (dotIdx > 0) {
|
|
144
157
|
return toolName.slice(dotIdx + 1);
|
|
158
|
+
}
|
|
145
159
|
const underIdx = toolName.indexOf('__');
|
|
146
160
|
if (underIdx > 0 && toolName.startsWith('mcp__')) {
|
|
147
161
|
const after = toolName.slice(underIdx + 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolAvailabilityDetector.js","sourceRoot":"","sources":["../../src/tools/toolAvailabilityDetector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolAvailabilityDetector.js","sourceRoot":"","sources":["../../src/tools/toolAvailabilityDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,8 +77,9 @@ function parseUnifiedPatch(patch) {
|
|
|
77
77
|
i++;
|
|
78
78
|
continue;
|
|
79
79
|
}
|
|
80
|
-
if (hunks.length === 0)
|
|
80
|
+
if (hunks.length === 0) {
|
|
81
81
|
return null;
|
|
82
|
+
}
|
|
82
83
|
break;
|
|
83
84
|
}
|
|
84
85
|
const oldStart = parseInt(headerMatch[1], 10);
|
|
@@ -91,8 +92,9 @@ function parseUnifiedPatch(patch) {
|
|
|
91
92
|
let newSeen = 0;
|
|
92
93
|
while (i < lines.length && (oldSeen < oldCount || newSeen < newCount)) {
|
|
93
94
|
const line = lines[i];
|
|
94
|
-
if (line.startsWith('@@'))
|
|
95
|
+
if (line.startsWith('@@')) {
|
|
95
96
|
break;
|
|
97
|
+
}
|
|
96
98
|
if (line.startsWith(' ')) {
|
|
97
99
|
oldSeen++;
|
|
98
100
|
newSeen++;
|
|
@@ -122,8 +124,9 @@ function parseUnifiedPatch(patch) {
|
|
|
122
124
|
}
|
|
123
125
|
hunks.push({ oldStart, oldCount, newStart, newCount, bodyLines });
|
|
124
126
|
}
|
|
125
|
-
if (hunks.length === 0)
|
|
127
|
+
if (hunks.length === 0) {
|
|
126
128
|
return null;
|
|
129
|
+
}
|
|
127
130
|
return { oldPath, newPath, hunks };
|
|
128
131
|
}
|
|
129
132
|
/**
|
|
@@ -196,21 +199,26 @@ function findContextIndex(lines, context, expected, fuzz) {
|
|
|
196
199
|
return Math.max(0, Math.min(expected, lines.length));
|
|
197
200
|
}
|
|
198
201
|
const matches = (start) => {
|
|
199
|
-
if (start < 0 || start + context.length > lines.length)
|
|
202
|
+
if (start < 0 || start + context.length > lines.length) {
|
|
200
203
|
return false;
|
|
204
|
+
}
|
|
201
205
|
for (let i = 0; i < context.length; i++) {
|
|
202
|
-
if (lines[start + i] !== context[i])
|
|
206
|
+
if (lines[start + i] !== context[i]) {
|
|
203
207
|
return false;
|
|
208
|
+
}
|
|
204
209
|
}
|
|
205
210
|
return true;
|
|
206
211
|
};
|
|
207
|
-
if (matches(expected))
|
|
212
|
+
if (matches(expected)) {
|
|
208
213
|
return expected;
|
|
214
|
+
}
|
|
209
215
|
for (let d = 1; d <= fuzz; d++) {
|
|
210
|
-
if (matches(expected - d))
|
|
216
|
+
if (matches(expected - d)) {
|
|
211
217
|
return expected - d;
|
|
212
|
-
|
|
218
|
+
}
|
|
219
|
+
if (matches(expected + d)) {
|
|
213
220
|
return expected + d;
|
|
221
|
+
}
|
|
214
222
|
}
|
|
215
223
|
return -1;
|
|
216
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-patch.js","sourceRoot":"","sources":["../../src/tools/unified-patch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;AA6BH,8CAsEC;AA4BD,4CAuCC;AA7ID;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,OAA2B,CAAC;IAChC,IAAI,OAA2B,CAAC;IAChC,kEAAkE;IAClE,4BAA4B;IAC5B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,6CAA6C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,8DAA8D;YAC9D,0DAA0D;YAC1D,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"unified-patch.js","sourceRoot":"","sources":["../../src/tools/unified-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/utils/event-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/utils/event-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAE7D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAA8C;IAE/D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAMrD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQvD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAWtD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIjE,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQxC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU9C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burtson-labs/agent-core",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.18",
|
|
4
|
+
"author": {
|
|
5
|
+
"name": "Burtson Labs",
|
|
6
|
+
"email": "team@burtson.ai",
|
|
7
|
+
"url": "https://burtson.ai"
|
|
8
|
+
},
|
|
4
9
|
"description": "Core reasoning and planning engine for Bandit Agent Framework.",
|
|
5
10
|
"main": "dist/index.js",
|
|
6
11
|
"types": "dist/index.d.ts",
|
|
@@ -23,6 +28,20 @@
|
|
|
23
28
|
"vitest": "^4.0.10"
|
|
24
29
|
},
|
|
25
30
|
"license": "Apache-2.0",
|
|
31
|
+
"keywords": [
|
|
32
|
+
"ai",
|
|
33
|
+
"agent",
|
|
34
|
+
"llm",
|
|
35
|
+
"agentic",
|
|
36
|
+
"tool-use",
|
|
37
|
+
"bandit",
|
|
38
|
+
"local-first",
|
|
39
|
+
"ollama",
|
|
40
|
+
"agent-core"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
26
45
|
"scripts": {
|
|
27
46
|
"build": "tsc -p tsconfig.build.json",
|
|
28
47
|
"dev": "tsc -p tsconfig.build.json --watch",
|