@xaidenlabs/uso 1.2.0 → 1.2.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/bin/index.js +1 -1
- package/package.json +1 -1
- package/packages/uso-core/dist/cjs/agent/brain.d.ts.map +1 -1
- package/packages/uso-core/dist/cjs/agent/brain.js +42 -1
- package/packages/uso-core/dist/cjs/agent/brain.js.map +1 -1
- package/packages/uso-core/dist/cjs/agent/prompts.d.ts.map +1 -1
- package/packages/uso-core/dist/cjs/agent/prompts.js +3 -2
- package/packages/uso-core/dist/cjs/agent/prompts.js.map +1 -1
- package/packages/uso-core/dist/esm/agent/brain.d.ts.map +1 -1
- package/packages/uso-core/dist/esm/agent/brain.js +42 -1
- package/packages/uso-core/dist/esm/agent/brain.js.map +1 -1
- package/packages/uso-core/dist/esm/agent/prompts.d.ts.map +1 -1
- package/packages/uso-core/dist/esm/agent/prompts.js +3 -2
- package/packages/uso-core/dist/esm/agent/prompts.js.map +1 -1
- package/packages/uso-core/src/agent/brain.ts +48 -1
- package/packages/uso-core/src/agent/prompts.ts +3 -2
package/bin/index.js
CHANGED
|
@@ -107,7 +107,7 @@ program
|
|
|
107
107
|
.description('Start the AI Agent to accomplish a goal autonomously')
|
|
108
108
|
.option('--model <model>', 'LLM model to use (e.g., llama3.1:8b, gemini-2.0-flash, openai/gpt-4o)')
|
|
109
109
|
.option('--provider <provider>', 'Force a specific LLM provider (ollama, gemini, openai, github)')
|
|
110
|
-
.option('--max-loops <n>', 'Maximum reasoning iterations', '
|
|
110
|
+
.option('--max-loops <n>', 'Maximum reasoning iterations', '10')
|
|
111
111
|
.option('--verbose', 'Show full reasoning traces')
|
|
112
112
|
.action(agent);
|
|
113
113
|
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,aAAa,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;gBADL,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,YAAY;IAG7B;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,aAAa,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;gBADL,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,YAAY;IAG7B;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAmHnF;;OAEG;IACG,GAAG,CACP,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAwCxE;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB,OAAO,CAAC,cAAc;CA6BvB"}
|
|
@@ -31,7 +31,28 @@ class AgentBrain {
|
|
|
31
31
|
maxTokens: 2048,
|
|
32
32
|
};
|
|
33
33
|
// Try native function calling if the adapter supports it
|
|
34
|
-
const toolDefs = this.tools.getDefinitions();
|
|
34
|
+
const toolDefs = [...this.tools.getDefinitions()];
|
|
35
|
+
toolDefs.push({
|
|
36
|
+
name: "TASK_COMPLETE",
|
|
37
|
+
description: "Mark the user's goal as complete.",
|
|
38
|
+
parameters: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
summary: { type: "string", description: "Summary of what was accomplished." }
|
|
42
|
+
},
|
|
43
|
+
required: ["summary"],
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
name: "TASK_FAILED",
|
|
47
|
+
description: "Mark the user's goal as failed due to inability to accomplish it.",
|
|
48
|
+
parameters: {
|
|
49
|
+
type: "object",
|
|
50
|
+
properties: {
|
|
51
|
+
reason: { type: "string", description: "Reason why the goal could not be completed." }
|
|
52
|
+
},
|
|
53
|
+
required: ["reason"],
|
|
54
|
+
}
|
|
55
|
+
});
|
|
35
56
|
if (this.llm.provider === "openai" ||
|
|
36
57
|
this.llm.provider === "github" ||
|
|
37
58
|
this.llm.provider === "gemini") {
|
|
@@ -64,6 +85,26 @@ class AgentBrain {
|
|
|
64
85
|
role: "thought",
|
|
65
86
|
content: thought,
|
|
66
87
|
});
|
|
88
|
+
if (tc.name === "TASK_COMPLETE") {
|
|
89
|
+
return {
|
|
90
|
+
action: {
|
|
91
|
+
type: "task_complete",
|
|
92
|
+
thought,
|
|
93
|
+
summary: String(tc.arguments?.summary ?? ""),
|
|
94
|
+
},
|
|
95
|
+
state: newState,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
if (tc.name === "TASK_FAILED") {
|
|
99
|
+
return {
|
|
100
|
+
action: {
|
|
101
|
+
type: "task_failed",
|
|
102
|
+
thought,
|
|
103
|
+
reason: String(tc.arguments?.reason ?? ""),
|
|
104
|
+
},
|
|
105
|
+
state: newState,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
67
108
|
return {
|
|
68
109
|
action: {
|
|
69
110
|
type: "tool_call",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":";;;AAGA,uCAKmB;AACnB,mCAAqD;AAYrD;;;;;;;;;;GAUG;AACH,MAAa,UAAU;IAEX;IACA;IAFV,YACU,GAAe,EACf,KAAmB;QADnB,QAAG,GAAH,GAAG,CAAY;QACf,UAAK,GAAL,KAAK,CAAc;IAC1B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAe;YAC1B,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,MAAM,CAuDR;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY5D;AAGD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAiBR;AAGD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAGR"}
|
|
@@ -50,14 +50,15 @@ THOUGHT: <explanation of why>
|
|
|
50
50
|
ACTION: {"action": "TASK_FAILED", "params": {"reason": "<reason>"}}
|
|
51
51
|
|
|
52
52
|
## Rules
|
|
53
|
-
1. ALWAYS output exactly ONE action per turn. Never output
|
|
53
|
+
1. ALWAYS output exactly ONE action per turn. You MUST use a tool or ACTION block for EVERY single response. Never just output plain text.
|
|
54
54
|
2. ALWAYS include a THOUGHT before your ACTION.
|
|
55
55
|
3. Use check_environment FIRST before attempting any build/test/deploy.
|
|
56
|
-
4. NEVER deploy to mainnet-beta without explicitly confirming with the user.
|
|
56
|
+
4. NEVER deploy to mainnet-beta without explicitly confirming with the user. If the user asked to deploy to devnet or testnet, proceed without asking for confirmation.
|
|
57
57
|
5. If a command fails, analyze the error and try a different approach. Don't repeat the same failing command.
|
|
58
58
|
6. Cap your terminal commands to reasonable timeouts.
|
|
59
59
|
7. When reading files, only read what's necessary. Don't dump entire codebases.
|
|
60
60
|
8. If you need to install missing tools, use the appropriate uso/solana/anchor commands.
|
|
61
|
+
9. If you need to talk to the user, use TASK_COMPLETE with your message as the summary, or TASK_FAILED if you are stuck.
|
|
61
62
|
|
|
62
63
|
## Error Recovery
|
|
63
64
|
When a tool returns an error:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAKH,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAKH,8CA2DC;AAGD,kDAYC;AAGD,sDAqBC;AAGD,0DAOC;AA7GD,sEAAsE;AACtE,SAAgB,iBAAiB,CAC/B,YAA0B,EAC1B,EAAU,EACV,KAAa;IAEb,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAElD,OAAO;;;;;;sBAMa,EAAE;mBACL,KAAK;uBACD,OAAO,CAAC,GAAG,EAAE;;;;;EAKlC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAsCoE,CAAC;AAClF,CAAC;AAED,sEAAsE;AACtE,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,OAAO;;GAEN,QAAQ;;;;;;;;gEAQqD,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,SAAgB,qBAAqB,CACnC,UAAkB,EAClB,WAAmB,EACnB,YAAoB;IAEpB,OAAO;;eAEM,UAAU;;;EAGvB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;mBAGT,YAAY;;;;;;;gDAOiB,CAAC;AACjD,CAAC;AAED,sEAAsE;AACtE,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,OAAgB,EAChB,MAAc;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAClD,OAAO,gBAAgB,QAAQ,KAAK,MAAM,MAAM,MAAM,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,aAAa,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;gBADL,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,YAAY;IAG7B;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,aAAa,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;gBADL,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,YAAY;IAG7B;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAmHnF;;OAEG;IACG,GAAG,CACP,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAwCxE;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB,OAAO,CAAC,cAAc;CA6BvB"}
|
|
@@ -28,7 +28,28 @@ export class AgentBrain {
|
|
|
28
28
|
maxTokens: 2048,
|
|
29
29
|
};
|
|
30
30
|
// Try native function calling if the adapter supports it
|
|
31
|
-
const toolDefs = this.tools.getDefinitions();
|
|
31
|
+
const toolDefs = [...this.tools.getDefinitions()];
|
|
32
|
+
toolDefs.push({
|
|
33
|
+
name: "TASK_COMPLETE",
|
|
34
|
+
description: "Mark the user's goal as complete.",
|
|
35
|
+
parameters: {
|
|
36
|
+
type: "object",
|
|
37
|
+
properties: {
|
|
38
|
+
summary: { type: "string", description: "Summary of what was accomplished." }
|
|
39
|
+
},
|
|
40
|
+
required: ["summary"],
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
name: "TASK_FAILED",
|
|
44
|
+
description: "Mark the user's goal as failed due to inability to accomplish it.",
|
|
45
|
+
parameters: {
|
|
46
|
+
type: "object",
|
|
47
|
+
properties: {
|
|
48
|
+
reason: { type: "string", description: "Reason why the goal could not be completed." }
|
|
49
|
+
},
|
|
50
|
+
required: ["reason"],
|
|
51
|
+
}
|
|
52
|
+
});
|
|
32
53
|
if (this.llm.provider === "openai" ||
|
|
33
54
|
this.llm.provider === "github" ||
|
|
34
55
|
this.llm.provider === "gemini") {
|
|
@@ -61,6 +82,26 @@ export class AgentBrain {
|
|
|
61
82
|
role: "thought",
|
|
62
83
|
content: thought,
|
|
63
84
|
});
|
|
85
|
+
if (tc.name === "TASK_COMPLETE") {
|
|
86
|
+
return {
|
|
87
|
+
action: {
|
|
88
|
+
type: "task_complete",
|
|
89
|
+
thought,
|
|
90
|
+
summary: String(tc.arguments?.summary ?? ""),
|
|
91
|
+
},
|
|
92
|
+
state: newState,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
if (tc.name === "TASK_FAILED") {
|
|
96
|
+
return {
|
|
97
|
+
action: {
|
|
98
|
+
type: "task_failed",
|
|
99
|
+
thought,
|
|
100
|
+
reason: String(tc.arguments?.reason ?? ""),
|
|
101
|
+
},
|
|
102
|
+
state: newState,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
64
105
|
return {
|
|
65
106
|
action: {
|
|
66
107
|
type: "tool_call",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAYrD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,UAAU;IAEX;IACA;IAFV,YACU,GAAe,EACf,KAAmB;QADnB,QAAG,GAAH,GAAG,CAAY;QACf,UAAK,GAAL,KAAK,CAAc;IAC1B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAe;YAC1B,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../../src/agent/brain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,MAAM,CAuDR;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY5D;AAGD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAiBR;AAGD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAGR"}
|
|
@@ -44,14 +44,15 @@ THOUGHT: <explanation of why>
|
|
|
44
44
|
ACTION: {"action": "TASK_FAILED", "params": {"reason": "<reason>"}}
|
|
45
45
|
|
|
46
46
|
## Rules
|
|
47
|
-
1. ALWAYS output exactly ONE action per turn. Never output
|
|
47
|
+
1. ALWAYS output exactly ONE action per turn. You MUST use a tool or ACTION block for EVERY single response. Never just output plain text.
|
|
48
48
|
2. ALWAYS include a THOUGHT before your ACTION.
|
|
49
49
|
3. Use check_environment FIRST before attempting any build/test/deploy.
|
|
50
|
-
4. NEVER deploy to mainnet-beta without explicitly confirming with the user.
|
|
50
|
+
4. NEVER deploy to mainnet-beta without explicitly confirming with the user. If the user asked to deploy to devnet or testnet, proceed without asking for confirmation.
|
|
51
51
|
5. If a command fails, analyze the error and try a different approach. Don't repeat the same failing command.
|
|
52
52
|
6. Cap your terminal commands to reasonable timeouts.
|
|
53
53
|
7. When reading files, only read what's necessary. Don't dump entire codebases.
|
|
54
54
|
8. If you need to install missing tools, use the appropriate uso/solana/anchor commands.
|
|
55
|
+
9. If you need to talk to the user, use TASK_COMPLETE with your message as the summary, or TASK_FAILED if you are stuck.
|
|
55
56
|
|
|
56
57
|
## Error Recovery
|
|
57
58
|
When a tool returns an error:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAC/B,YAA0B,EAC1B,EAAU,EACV,KAAa;IAEb,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAElD,OAAO;;;;;;sBAMa,EAAE;mBACL,KAAK;uBACD,OAAO,CAAC,GAAG,EAAE;;;;;EAKlC,WAAW
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAC/B,YAA0B,EAC1B,EAAU,EACV,KAAa;IAEb,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAElD,OAAO;;;;;;sBAMa,EAAE;mBACL,KAAK;uBACD,OAAO,CAAC,GAAG,EAAE;;;;;EAKlC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAsCoE,CAAC;AAClF,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO;;GAEN,QAAQ;;;;;;;;gEAQqD,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,WAAmB,EACnB,YAAoB;IAEpB,OAAO;;eAEM,UAAU;;;EAGvB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;mBAGT,YAAY;;;;;;;gDAOiB,CAAC;AACjD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,OAAgB,EAChB,MAAc;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAClD,OAAO,gBAAgB,QAAQ,KAAK,MAAM,MAAM,MAAM,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -48,7 +48,32 @@ export class AgentBrain {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
// Try native function calling if the adapter supports it
|
|
51
|
-
const toolDefs = this.tools.getDefinitions();
|
|
51
|
+
const toolDefs = [...this.tools.getDefinitions()];
|
|
52
|
+
toolDefs.push(
|
|
53
|
+
{
|
|
54
|
+
name: "TASK_COMPLETE",
|
|
55
|
+
description: "Mark the user's goal as complete.",
|
|
56
|
+
parameters: {
|
|
57
|
+
type: "object",
|
|
58
|
+
properties: {
|
|
59
|
+
summary: { type: "string", description: "Summary of what was accomplished." }
|
|
60
|
+
},
|
|
61
|
+
required: ["summary"],
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "TASK_FAILED",
|
|
66
|
+
description: "Mark the user's goal as failed due to inability to accomplish it.",
|
|
67
|
+
parameters: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: {
|
|
70
|
+
reason: { type: "string", description: "Reason why the goal could not be completed." }
|
|
71
|
+
},
|
|
72
|
+
required: ["reason"],
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
|
|
52
77
|
if (
|
|
53
78
|
this.llm.provider === "openai" ||
|
|
54
79
|
this.llm.provider === "github" ||
|
|
@@ -86,6 +111,28 @@ export class AgentBrain {
|
|
|
86
111
|
content: thought,
|
|
87
112
|
});
|
|
88
113
|
|
|
114
|
+
if (tc.name === "TASK_COMPLETE") {
|
|
115
|
+
return {
|
|
116
|
+
action: {
|
|
117
|
+
type: "task_complete",
|
|
118
|
+
thought,
|
|
119
|
+
summary: String(tc.arguments?.summary ?? ""),
|
|
120
|
+
},
|
|
121
|
+
state: newState,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (tc.name === "TASK_FAILED") {
|
|
126
|
+
return {
|
|
127
|
+
action: {
|
|
128
|
+
type: "task_failed",
|
|
129
|
+
thought,
|
|
130
|
+
reason: String(tc.arguments?.reason ?? ""),
|
|
131
|
+
},
|
|
132
|
+
state: newState,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
89
136
|
return {
|
|
90
137
|
action: {
|
|
91
138
|
type: "tool_call",
|
|
@@ -52,14 +52,15 @@ THOUGHT: <explanation of why>
|
|
|
52
52
|
ACTION: {"action": "TASK_FAILED", "params": {"reason": "<reason>"}}
|
|
53
53
|
|
|
54
54
|
## Rules
|
|
55
|
-
1. ALWAYS output exactly ONE action per turn. Never output
|
|
55
|
+
1. ALWAYS output exactly ONE action per turn. You MUST use a tool or ACTION block for EVERY single response. Never just output plain text.
|
|
56
56
|
2. ALWAYS include a THOUGHT before your ACTION.
|
|
57
57
|
3. Use check_environment FIRST before attempting any build/test/deploy.
|
|
58
|
-
4. NEVER deploy to mainnet-beta without explicitly confirming with the user.
|
|
58
|
+
4. NEVER deploy to mainnet-beta without explicitly confirming with the user. If the user asked to deploy to devnet or testnet, proceed without asking for confirmation.
|
|
59
59
|
5. If a command fails, analyze the error and try a different approach. Don't repeat the same failing command.
|
|
60
60
|
6. Cap your terminal commands to reasonable timeouts.
|
|
61
61
|
7. When reading files, only read what's necessary. Don't dump entire codebases.
|
|
62
62
|
8. If you need to install missing tools, use the appropriate uso/solana/anchor commands.
|
|
63
|
+
9. If you need to talk to the user, use TASK_COMPLETE with your message as the summary, or TASK_FAILED if you are stuck.
|
|
63
64
|
|
|
64
65
|
## Error Recovery
|
|
65
66
|
When a tool returns an error:
|