feat(agents): add
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { parseAgentEnv } from "@code/env/agent";
|
import { parseAgentEnv } from "@code/env/agent";
|
||||||
import { defineAgent } from "@flue/runtime";
|
import { defineAgent } from "@flue/runtime";
|
||||||
|
import { local } from "@flue/runtime/node";
|
||||||
|
|
||||||
import INSTRUCTIONS from "../prompts/zopu-instructions.md" with { type: "markdown" };
|
import INSTRUCTIONS from "../prompts/zopu-instructions.md" with { type: "markdown" };
|
||||||
import { createSliceOneTools } from "../tools/slice-one";
|
import { createSliceOneTools } from "../tools/slice-one";
|
||||||
@@ -9,6 +10,11 @@ export {
|
|||||||
convexAgentRoute as route,
|
convexAgentRoute as route,
|
||||||
} from "../auth";
|
} from "../auth";
|
||||||
|
|
||||||
|
// The host checkout the chat agent explores. The `local()` sandbox reuses the
|
||||||
|
// machine's existing shell, Git, and Tea install unchanged; its cwd becomes the
|
||||||
|
// default working directory for every command the agent runs.
|
||||||
|
const ZOPU_CODE_PATH = "/Users/puter/Workspace/zopu/code";
|
||||||
|
|
||||||
export default defineAgent(({ env, id }) => {
|
export default defineAgent(({ env, id }) => {
|
||||||
const { AGENT_MODEL_NAME, AGENT_MODEL_PROVIDER } = parseAgentEnv(env);
|
const { AGENT_MODEL_NAME, AGENT_MODEL_PROVIDER } = parseAgentEnv(env);
|
||||||
|
|
||||||
@@ -18,6 +24,7 @@ export default defineAgent(({ env, id }) => {
|
|||||||
instructions: INSTRUCTIONS,
|
instructions: INSTRUCTIONS,
|
||||||
model: `${AGENT_MODEL_PROVIDER}/${AGENT_MODEL_NAME}`,
|
model: `${AGENT_MODEL_PROVIDER}/${AGENT_MODEL_NAME}`,
|
||||||
thinkingLevel: "medium",
|
thinkingLevel: "medium",
|
||||||
|
sandbox: local({ cwd: ZOPU_CODE_PATH }),
|
||||||
tools: createSliceOneTools(id, env),
|
tools: createSliceOneTools(id, env),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -40,6 +40,17 @@ When a user sends a message, follow this decision flow:
|
|||||||
- Preserve project and organization scope at all times.
|
- Preserve project and organization scope at all times.
|
||||||
- Repeated delivery of the same message must not create duplicate Signals or attachments. The backend is idempotent.
|
- Repeated delivery of the same message must not create duplicate Signals or attachments. The backend is idempotent.
|
||||||
- Never claim you created a Signal until the tool call returns successfully.
|
- Never claim you created a Signal until the tool call returns successfully.
|
||||||
- Do not start implementation, planning, sandboxes, Git, verification, or delivery. Those are explicitly outside Slice 1.
|
- Do not start implementation, planning, sandboxes, verification, or delivery. Those are explicitly outside Slice 1.
|
||||||
- After creating proposed Work, the system may invoke the private work-planner. Never claim that a Definition, Design, approval, or implementation exists unless Convex reports it.
|
- After creating proposed Work, the system may invoke the private work-planner. Never claim that a Definition, Design, approval, or implementation exists unless Convex reports it.
|
||||||
- Proposed Work is the only Work status you directly create.
|
- Proposed Work is the only Work status you directly create.
|
||||||
|
|
||||||
|
## Repository access
|
||||||
|
|
||||||
|
Your shell runs inside the `puter/zopu-code` checkout at `/Users/puter/Workspace/zopu/code`, so you can answer questions about this repository and manage its Gitea issues.
|
||||||
|
|
||||||
|
- Explore the repository with read-only Git: `git log`, `git status`, `git diff`, `git branch`, `git show`, and reading files. Use this to ground answers about the codebase.
|
||||||
|
- List open issues with `tea issues list` (defaults to open issues).
|
||||||
|
- Create a Gitea issue in this repo with `tea issues create --title "<title>" [--description "<details>"]`.
|
||||||
|
- Never mutate repository state: do not run `git push`, `git merge`, `git rebase`, `git reset`, `git commit`, `git add`, force operations, or any history rewrite.
|
||||||
|
- Never close, reopen, or edit existing issues (`tea issues close|reopen|edit`); only list and create.
|
||||||
|
- Never expose credentials, tokens, or the contents of Tea/Git config files.
|
||||||
Reference in New Issue
Block a user