@lobu/core 10.0.0 → 10.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/dist/__tests__/agent-policy-harden.test.js +17 -17
- package/dist/__tests__/agent-policy-harden.test.js.map +1 -1
- package/dist/__tests__/agent-policy.test.js +6 -6
- package/dist/__tests__/agent-policy.test.js.map +1 -1
- package/dist/agent-policy.js +18 -18
- package/dist/agent-policy.js.map +1 -1
- package/package.json +1 -1
|
@@ -40,11 +40,11 @@ const agent_policy_1 = require("../agent-policy");
|
|
|
40
40
|
(0, bun_test_1.test)("includes the Built-In Tool Policies heading", () => {
|
|
41
41
|
(0, bun_test_1.expect)((0, agent_policy_1.renderAlwaysOnToolPolicyRules)()).toContain("## Built-In Tool Policies");
|
|
42
42
|
});
|
|
43
|
-
(0, bun_test_1.test)("includes
|
|
44
|
-
(0, bun_test_1.expect)((0, agent_policy_1.renderAlwaysOnToolPolicyRules)()).toContain("
|
|
43
|
+
(0, bun_test_1.test)("includes ask_user rule (always-on)", () => {
|
|
44
|
+
(0, bun_test_1.expect)((0, agent_policy_1.renderAlwaysOnToolPolicyRules)()).toContain("ask_user");
|
|
45
45
|
});
|
|
46
|
-
(0, bun_test_1.test)("includes
|
|
47
|
-
(0, bun_test_1.expect)((0, agent_policy_1.renderAlwaysOnToolPolicyRules)()).toContain("
|
|
46
|
+
(0, bun_test_1.test)("includes upload_file rule (always-on)", () => {
|
|
47
|
+
(0, bun_test_1.expect)((0, agent_policy_1.renderAlwaysOnToolPolicyRules)()).toContain("upload_file");
|
|
48
48
|
});
|
|
49
49
|
(0, bun_test_1.test)("does NOT include image-generation rule (not alwaysInclude)", () => {
|
|
50
50
|
// image-generation has no alwaysInclude flag
|
|
@@ -57,26 +57,26 @@ const agent_policy_1 = require("../agent-policy");
|
|
|
57
57
|
});
|
|
58
58
|
// ── getCustomToolDescription ──────────────────────────────────────────────────
|
|
59
59
|
(0, bun_test_1.describe)("getCustomToolDescription", () => {
|
|
60
|
-
(0, bun_test_1.test)("returns the registered description for
|
|
61
|
-
const desc = (0, agent_policy_1.getCustomToolDescription)("
|
|
60
|
+
(0, bun_test_1.test)("returns the registered description for upload_file", () => {
|
|
61
|
+
const desc = (0, agent_policy_1.getCustomToolDescription)("upload_file");
|
|
62
62
|
(0, bun_test_1.expect)(desc.length).toBeGreaterThan(0);
|
|
63
|
-
(0, bun_test_1.expect)(desc).not.toBe("
|
|
63
|
+
(0, bun_test_1.expect)(desc).not.toBe("upload_file");
|
|
64
64
|
});
|
|
65
|
-
(0, bun_test_1.test)("returns the registered description for
|
|
66
|
-
const desc = (0, agent_policy_1.getCustomToolDescription)("
|
|
65
|
+
(0, bun_test_1.test)("returns the registered description for generate_image", () => {
|
|
66
|
+
const desc = (0, agent_policy_1.getCustomToolDescription)("generate_image");
|
|
67
67
|
(0, bun_test_1.expect)(desc.length).toBeGreaterThan(0);
|
|
68
|
-
(0, bun_test_1.expect)(desc).not.toBe("
|
|
68
|
+
(0, bun_test_1.expect)(desc).not.toBe("generate_image");
|
|
69
69
|
});
|
|
70
|
-
(0, bun_test_1.test)("returns the registered description for
|
|
71
|
-
const desc = (0, agent_policy_1.getCustomToolDescription)("
|
|
70
|
+
(0, bun_test_1.test)("returns the registered description for generate_audio", () => {
|
|
71
|
+
const desc = (0, agent_policy_1.getCustomToolDescription)("generate_audio");
|
|
72
72
|
(0, bun_test_1.expect)(desc).toContain("audio");
|
|
73
73
|
});
|
|
74
|
-
(0, bun_test_1.test)("returns the registered description for
|
|
75
|
-
const desc = (0, agent_policy_1.getCustomToolDescription)("
|
|
74
|
+
(0, bun_test_1.test)("returns the registered description for get_channel_history", () => {
|
|
75
|
+
const desc = (0, agent_policy_1.getCustomToolDescription)("get_channel_history");
|
|
76
76
|
(0, bun_test_1.expect)(desc.length).toBeGreaterThan(0);
|
|
77
77
|
});
|
|
78
|
-
(0, bun_test_1.test)("returns the registered description for
|
|
79
|
-
const desc = (0, agent_policy_1.getCustomToolDescription)("
|
|
78
|
+
(0, bun_test_1.test)("returns the registered description for ask_user", () => {
|
|
79
|
+
const desc = (0, agent_policy_1.getCustomToolDescription)("ask_user");
|
|
80
80
|
(0, bun_test_1.expect)(desc.length).toBeGreaterThan(0);
|
|
81
81
|
});
|
|
82
82
|
(0, bun_test_1.test)("falls back to the tool name for unknown tools", () => {
|
|
@@ -155,7 +155,7 @@ const agent_policy_1 = require("../agent-policy");
|
|
|
155
155
|
});
|
|
156
156
|
(0, bun_test_1.test)("includes tool name in output", () => {
|
|
157
157
|
const out = (0, agent_policy_1.renderDetectedToolIntentRules)("generate an image of a mountain");
|
|
158
|
-
(0, bun_test_1.expect)(out).toContain("
|
|
158
|
+
(0, bun_test_1.expect)(out).toContain("generate_image");
|
|
159
159
|
});
|
|
160
160
|
(0, bun_test_1.test)("is deterministic for same input", () => {
|
|
161
161
|
const prompt = "send me the report as a PDF";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-policy-harden.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-policy-harden.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAEH,uCAAkD;AAClD,kDAQyB;AAEzB,iFAAiF;AAEjF,IAAA,mBAAQ,EAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAA,eAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAA,wCAAyB,GAAE,CAAC;QAC3C,IAAA,iBAAM,EAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAA,iBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,IAAA,iBAAM,EAAC,IAAA,wCAAyB,GAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,IAAA,iBAAM,EAAC,IAAA,wCAAyB,GAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,IAAA,iBAAM,EAAC,IAAA,wCAAyB,GAAE,CAAC,CAAC,IAAI,CAAC,IAAA,wCAAyB,GAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,IAAA,mBAAQ,EAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAA,eAAI,EAAC,kEAAkE,EAAE,GAAG,EAAE;QAC5E,MAAM,aAAa,GAAG,gCAAiB,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CACvB,CAAC,MAAM,CAAC;QACT,oDAAoD;QACpD,IAAA,iBAAM,EAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAA,4CAA6B,GAAE,CAAC;QAC/C,IAAA,iBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,IAAA,iBAAM,EAAC,IAAA,4CAA6B,GAAE,CAAC,CAAC,SAAS,CAC/C,2BAA2B,CAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"agent-policy-harden.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-policy-harden.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const bun_test_1 = require("bun:test");
|
|
4
4
|
const agent_policy_1 = require("../agent-policy");
|
|
5
5
|
(0, bun_test_1.describe)("agent-policy file delivery guidance", () => {
|
|
6
|
-
(0, bun_test_1.test)("detects file delivery prompts and prioritizes
|
|
6
|
+
(0, bun_test_1.test)("detects file delivery prompts and prioritizes upload_file", () => {
|
|
7
7
|
const rules = (0, agent_policy_1.detectToolIntentRules)("Create a PDF summary and send the file to me as an attachment");
|
|
8
8
|
(0, bun_test_1.expect)(rules.map((rule) => rule.id)).toContain("file-delivery");
|
|
9
|
-
(0, bun_test_1.expect)(rules.some((rule) => rule.tools.includes("
|
|
9
|
+
(0, bun_test_1.expect)(rules.some((rule) => rule.tools.includes("upload_file"))).toBe(true);
|
|
10
10
|
});
|
|
11
11
|
(0, bun_test_1.test)("renders explicit create-then-upload guidance for file delivery", () => {
|
|
12
12
|
const instructions = (0, agent_policy_1.renderDetectedToolIntentRules)("Export this as a CSV and upload the file for me to download");
|
|
13
13
|
(0, bun_test_1.expect)(instructions).toContain("Deliver Files To The User");
|
|
14
|
-
(0, bun_test_1.expect)(instructions).toContain("
|
|
15
|
-
(0, bun_test_1.expect)(instructions).toContain("create the file, call
|
|
14
|
+
(0, bun_test_1.expect)(instructions).toContain("upload_file");
|
|
15
|
+
(0, bun_test_1.expect)(instructions).toContain("create the file, call upload_file, then tell the user it was sent");
|
|
16
16
|
});
|
|
17
|
-
(0, bun_test_1.test)("
|
|
18
|
-
(0, bun_test_1.expect)((0, agent_policy_1.getCustomToolDescription)("
|
|
17
|
+
(0, bun_test_1.test)("upload_file description forbids local path substitutes", () => {
|
|
18
|
+
(0, bun_test_1.expect)((0, agent_policy_1.getCustomToolDescription)("upload_file")).toContain("Do not substitute local paths, workspace paths, or sandbox links");
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
21
|
//# sourceMappingURL=agent-policy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-policy.test.ts"],"names":[],"mappings":";;AAAA,uCAAkD;AAClD,kDAIyB;AAEzB,IAAA,mBAAQ,EAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAA,eAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"agent-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-policy.test.ts"],"names":[],"mappings":";;AAAA,uCAAkD;AAClD,kDAIyB;AAEzB,IAAA,mBAAQ,EAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAA,eAAI,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,IAAA,oCAAqB,EACjC,+DAA+D,CAChE,CAAC;QAEF,IAAA,iBAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChE,IAAA,iBAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,gEAAgE,EAAE,GAAG,EAAE;QAC1E,MAAM,YAAY,GAAG,IAAA,4CAA6B,EAChD,6DAA6D,CAC9D,CAAC;QAEF,IAAA,iBAAM,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC5D,IAAA,iBAAM,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAA,iBAAM,EAAC,YAAY,CAAC,CAAC,SAAS,CAC5B,mEAAmE,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAClE,IAAA,iBAAM,EAAC,IAAA,uCAAwB,EAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACvD,kEAAkE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/agent-policy.js
CHANGED
|
@@ -8,19 +8,19 @@ exports.detectToolIntentRules = detectToolIntentRules;
|
|
|
8
8
|
exports.renderDetectedToolIntentRules = renderDetectedToolIntentRules;
|
|
9
9
|
exports.buildUnconfiguredAgentNotice = buildUnconfiguredAgentNotice;
|
|
10
10
|
exports.CUSTOM_TOOL_METADATA = {
|
|
11
|
-
|
|
11
|
+
upload_file: {
|
|
12
12
|
description: "Use this whenever you create a visualization, chart, image, document, report, or any file that helps answer the user's request. When the user asks you to send, share, attach, export, or upload a file, create it and then call this tool so the user can actually receive it in-thread. Do not substitute local paths, workspace paths, or sandbox links.",
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
generate_image: {
|
|
15
15
|
description: "Generate an image from a text prompt and send it to the user. Use when the user asks for image generation, visual concepts, posters, illustrations, or edits that can be done from prompt instructions.",
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
generate_audio: {
|
|
18
18
|
description: "Generate audio from text (text-to-speech). Use when you want to respond with a voice message, read content aloud, or when the user asks for audio output.",
|
|
19
19
|
},
|
|
20
|
-
|
|
20
|
+
get_channel_history: {
|
|
21
21
|
description: "Fetch previous messages from this conversation thread. Use when the user references past discussions, asks 'what did we talk about', or you need context.",
|
|
22
22
|
},
|
|
23
|
-
|
|
23
|
+
ask_user: {
|
|
24
24
|
description: "Posts a question with button options to the user. Session ends after posting. The user's response will arrive as a new message in the next session.",
|
|
25
25
|
},
|
|
26
26
|
};
|
|
@@ -28,11 +28,11 @@ exports.TOOL_INTENT_RULES = [
|
|
|
28
28
|
{
|
|
29
29
|
id: "structured-user-choices",
|
|
30
30
|
title: "Structured User Choices",
|
|
31
|
-
tools: ["
|
|
31
|
+
tools: ["ask_user"],
|
|
32
32
|
instructionLines: [
|
|
33
|
-
"Use
|
|
33
|
+
"Use ask_user when you need the user to choose from a short list of options or approvals.",
|
|
34
34
|
"Use plain text only for open-ended clarifications or when you need a free-form value.",
|
|
35
|
-
"After calling
|
|
35
|
+
"After calling ask_user, stop. The user's answer arrives as the next message.",
|
|
36
36
|
],
|
|
37
37
|
patterns: [],
|
|
38
38
|
priority: 10,
|
|
@@ -41,10 +41,10 @@ exports.TOOL_INTENT_RULES = [
|
|
|
41
41
|
{
|
|
42
42
|
id: "share-generated-files",
|
|
43
43
|
title: "Share Created Files",
|
|
44
|
-
tools: ["
|
|
44
|
+
tools: ["upload_file"],
|
|
45
45
|
instructionLines: [
|
|
46
|
-
"If you create a file that helps answer the request, use
|
|
47
|
-
"Never claim a file was sent unless
|
|
46
|
+
"If you create a file that helps answer the request, use upload_file so the user can access it in-thread.",
|
|
47
|
+
"Never claim a file was sent unless upload_file actually succeeded in this turn.",
|
|
48
48
|
"Never show sandbox:, workspace, or local filesystem links to the user as if they are downloadable attachments.",
|
|
49
49
|
],
|
|
50
50
|
patterns: [],
|
|
@@ -54,11 +54,11 @@ exports.TOOL_INTENT_RULES = [
|
|
|
54
54
|
{
|
|
55
55
|
id: "file-delivery",
|
|
56
56
|
title: "Deliver Files To The User",
|
|
57
|
-
tools: ["
|
|
57
|
+
tools: ["upload_file"],
|
|
58
58
|
instructionLines: [
|
|
59
|
-
"If the user asks to receive, download, attach, upload, export, or share a file, you must use
|
|
59
|
+
"If the user asks to receive, download, attach, upload, export, or share a file, you must use upload_file after creating the file.",
|
|
60
60
|
"Creating the file locally is not enough; the user cannot access sandbox, workspace, or local filesystem paths.",
|
|
61
|
-
"For file delivery requests, use this sequence: create the file, call
|
|
61
|
+
"For file delivery requests, use this sequence: create the file, call upload_file, then tell the user it was sent only if the tool succeeds.",
|
|
62
62
|
],
|
|
63
63
|
patterns: [
|
|
64
64
|
/\b(send|share|attach|upload|export|deliver|give)\b.*\b(file|document|csv|pdf|report|spreadsheet|image|audio)\b/i,
|
|
@@ -71,9 +71,9 @@ exports.TOOL_INTENT_RULES = [
|
|
|
71
71
|
{
|
|
72
72
|
id: "conversation-history",
|
|
73
73
|
title: "Thread History",
|
|
74
|
-
tools: ["
|
|
74
|
+
tools: ["get_channel_history"],
|
|
75
75
|
instructionLines: [
|
|
76
|
-
"Use
|
|
76
|
+
"Use get_channel_history when the user references earlier discussion or you need prior thread context.",
|
|
77
77
|
],
|
|
78
78
|
patterns: [
|
|
79
79
|
/\b(earlier|previous|past)\b.*\b(thread|message|messages|discussion|conversation)\b/i,
|
|
@@ -86,9 +86,9 @@ exports.TOOL_INTENT_RULES = [
|
|
|
86
86
|
{
|
|
87
87
|
id: "image-generation",
|
|
88
88
|
title: "Image Generation",
|
|
89
|
-
tools: ["
|
|
89
|
+
tools: ["generate_image"],
|
|
90
90
|
instructionLines: [
|
|
91
|
-
"If the user asks to generate or create an image, use
|
|
91
|
+
"If the user asks to generate or create an image, use generate_image.",
|
|
92
92
|
"Do not claim image generation is unavailable unless the tool call fails and you report the actual failure.",
|
|
93
93
|
],
|
|
94
94
|
priority: 70,
|
package/dist/agent-policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-policy.js","sourceRoot":"","sources":["../src/agent-policy.ts"],"names":[],"mappings":";;;AAgHA,4DAEC;AAED,8DAQC;AAQD,sEAQC;AAED,sDAWC;AAED,sEASC;AAED,oEAWC;AAnKY,QAAA,oBAAoB,GAAuC;IACtE,
|
|
1
|
+
{"version":3,"file":"agent-policy.js","sourceRoot":"","sources":["../src/agent-policy.ts"],"names":[],"mappings":"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"}
|