@withakay/opencode-autopilot 0.1.0 → 0.1.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 +6 -4
- package/dist/index.js +41 -4
- package/dist/index.js.map +6 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,12 +22,13 @@ Register the plugin in your `opencode.jsonc`:
|
|
|
22
22
|
}
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
The plugin registers
|
|
25
|
+
The plugin registers five tools:
|
|
26
26
|
|
|
27
27
|
- **`autopilot_start`** — Arm autopilot mode for the current session
|
|
28
28
|
- **`autopilot_status`** — Show autopilot status for the current session
|
|
29
29
|
- **`autopilot_stop`** — Stop autopilot mode for the current session
|
|
30
30
|
- **`autopilot_help`** — Show usage instructions
|
|
31
|
+
- **`autopilot_prompt`** — Get the control agent prompt (call at session start)
|
|
31
32
|
|
|
32
33
|
### Control Agent
|
|
33
34
|
|
|
@@ -39,20 +40,21 @@ Create an agent in `opencode.jsonc` to control the plugin:
|
|
|
39
40
|
"autopilot": {
|
|
40
41
|
"description": "Control agent for autopilot plugin",
|
|
41
42
|
"mode": "primary",
|
|
42
|
-
"model": "github-copilot/gpt-5-mini",
|
|
43
43
|
"temperature": 0,
|
|
44
|
-
"prompt": "{file:./prompts/autopilot.txt}",
|
|
45
44
|
"tools": {
|
|
46
45
|
"autopilot_start": true,
|
|
47
46
|
"autopilot_status": true,
|
|
48
47
|
"autopilot_stop": true,
|
|
49
|
-
"autopilot_help": true
|
|
48
|
+
"autopilot_help": true,
|
|
49
|
+
"autopilot_prompt": true
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
The agent should call `autopilot_prompt` at the start of each session to get its operating instructions.
|
|
57
|
+
|
|
56
58
|
Then switch to the Autopilot agent and send your task.
|
|
57
59
|
|
|
58
60
|
### Permission Modes
|
package/dist/index.js
CHANGED
|
@@ -649,14 +649,49 @@ Examples:
|
|
|
649
649
|
Defaults:
|
|
650
650
|
- permission mode: \`limited\`
|
|
651
651
|
- continuation limit: \`10\`
|
|
652
|
-
- worker agent: \`
|
|
652
|
+
- worker agent: \`general\`
|
|
653
653
|
`.trim();
|
|
654
654
|
}
|
|
655
655
|
});
|
|
656
656
|
}
|
|
657
657
|
|
|
658
|
+
// tools/prompt.ts
|
|
659
|
+
import { tool as tool5 } from "@opencode-ai/plugin";
|
|
660
|
+
var AUTOPILOT_PROMPT = `You are the Autopilot control agent.
|
|
661
|
+
|
|
662
|
+
Your job is to operate the local autopilot plugin, not to do the coding work yourself.
|
|
663
|
+
The plugin should handle the autonomous execution loop, while the worker agent (default \`pi\`) does the task work.
|
|
664
|
+
|
|
665
|
+
Rules:
|
|
666
|
+
- If the user asks for help, usage, or examples, call \`autopilot_help\` and return the tool result.
|
|
667
|
+
- If the user asks for status, progress, whether autopilot is running, or similar, call \`autopilot_status\` and return the tool result.
|
|
668
|
+
- If the user asks to stop, cancel, disable, or pause autopilot, call \`autopilot_stop\`. Pass through a short reason when one is provided. Return the tool result.
|
|
669
|
+
- Otherwise, treat the user's message as a request to start autopilot.
|
|
670
|
+
- On a start request, call \`autopilot_start\` immediately before doing anything else.
|
|
671
|
+
- Default start settings: \`permissionMode: limited\`, \`maxContinues: 10\`, \`workerAgent: general\`.
|
|
672
|
+
- If the user clearly requests \`allow-all\`, \`allow all\`, or similar, set \`permissionMode: allow-all\`.
|
|
673
|
+
- If the user clearly requests \`limited\`, set \`permissionMode: limited\`.
|
|
674
|
+
- If the user clearly gives a continuation cap such as \`max 3\`, \`max=3\`, or \`continue 3 times\`, pass it as \`maxContinues\`.
|
|
675
|
+
- If the user clearly asks for a different worker agent, such as \`use build-high\`, \`worker agent build-high\`, or \`agent=build-high\`, pass it as \`workerAgent\`.
|
|
676
|
+
- Use the user's full request as the \`task\` unless they clearly separate control options from the task.
|
|
677
|
+
- Do not solve the task yourself after starting autopilot. Return the tool result so the session can continue under the plugin.
|
|
678
|
+
|
|
679
|
+
Examples:
|
|
680
|
+
- \`Fix the failing autopilot tests\` -> \`autopilot_start(task="Fix the failing autopilot tests")\`
|
|
681
|
+
- \`Start autopilot in allow-all mode and use build-high to refactor the reducer\` -> \`autopilot_start(permissionMode="allow-all", workerAgent="build-high", task="refactor the reducer")\`
|
|
682
|
+
- \`Use allow all and max 3 to debug the plugin startup failure\` -> \`autopilot_start(permissionMode="allow-all", maxContinues=3, task="debug the plugin startup failure")\`
|
|
683
|
+
- \`status\` -> \`autopilot_status()\`
|
|
684
|
+
- \`stop because I want to inspect manually\` -> \`autopilot_stop(reason="because I want to inspect manually")\``;
|
|
685
|
+
function createPromptTool() {
|
|
686
|
+
return tool5({
|
|
687
|
+
description: "Get the autopilot control agent prompt. Call this at the start of a session to get your operating instructions.",
|
|
688
|
+
args: {},
|
|
689
|
+
execute: async () => AUTOPILOT_PROMPT
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
|
|
658
693
|
// plugin.ts
|
|
659
|
-
var AUTOPILOT_FALLBACK_AGENT2 = "
|
|
694
|
+
var AUTOPILOT_FALLBACK_AGENT2 = "general";
|
|
660
695
|
var MAX_HISTORY_ENTRIES = 10;
|
|
661
696
|
var AutopilotPlugin = async ({
|
|
662
697
|
client,
|
|
@@ -877,12 +912,14 @@ var AutopilotPlugin = async ({
|
|
|
877
912
|
}
|
|
878
913
|
});
|
|
879
914
|
const helpTool = createHelpTool();
|
|
915
|
+
const promptTool = createPromptTool();
|
|
880
916
|
return {
|
|
881
917
|
tool: {
|
|
882
918
|
autopilot_start: startTool,
|
|
883
919
|
autopilot_status: statusTool,
|
|
884
920
|
autopilot_stop: stopTool,
|
|
885
|
-
autopilot_help: helpTool
|
|
921
|
+
autopilot_help: helpTool,
|
|
922
|
+
autopilot_prompt: promptTool
|
|
886
923
|
},
|
|
887
924
|
event: eventHandler,
|
|
888
925
|
"permission.ask": permissionHook,
|
|
@@ -895,5 +932,5 @@ export {
|
|
|
895
932
|
AutopilotPlugin
|
|
896
933
|
};
|
|
897
934
|
|
|
898
|
-
//# debugId=
|
|
935
|
+
//# debugId=B16FACD3D9E9525064756E2164756E21
|
|
899
936
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../state/session-cache.ts", "../state/factory.ts", "../prompts/continuation.ts", "../prompts/directives.ts", "../prompts/format.ts", "../prompts/normalize.ts", "../prompts/system-prompt.ts", "../hooks/event-handler.ts", "../hooks/permission.ts", "../hooks/system-transform.ts", "../hooks/chat-message.ts", "../hooks/tool-after.ts", "../tools/start.ts", "../tools/status.ts", "../tools/stop.ts", "../tools/help.ts", "../plugin.ts"],
|
|
3
|
+
"sources": ["../state/session-cache.ts", "../state/factory.ts", "../prompts/continuation.ts", "../prompts/directives.ts", "../prompts/format.ts", "../prompts/normalize.ts", "../prompts/system-prompt.ts", "../hooks/event-handler.ts", "../hooks/permission.ts", "../hooks/system-transform.ts", "../hooks/chat-message.ts", "../hooks/tool-after.ts", "../tools/start.ts", "../tools/status.ts", "../tools/stop.ts", "../tools/help.ts", "../tools/prompt.ts", "../plugin.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"type MessageRole = \"user\" | \"assistant\" | \"system\" | \"tool\";\n\nexport interface CachedTextPart {\n id: string;\n messageID: string;\n text: string;\n}\n\nexport interface SessionSnapshot {\n roles: Record<string, MessageRole>;\n agents: Record<string, string>;\n textParts: CachedTextPart[];\n}\n\ninterface SessionStore {\n roles: Map<string, MessageRole>;\n agents: Map<string, string>;\n textParts: Map<string, CachedTextPart>;\n}\n\nfunction createSessionStore(): SessionStore {\n return {\n roles: new Map<string, MessageRole>(),\n agents: new Map<string, string>(),\n textParts: new Map<string, CachedTextPart>(),\n };\n}\n\nexport class SessionCache {\n private readonly sessions = new Map<string, SessionStore>();\n\n private ensureSession(sessionID: string): SessionStore {\n const existing = this.sessions.get(sessionID);\n\n if (existing) {\n return existing;\n }\n\n const created = createSessionStore();\n this.sessions.set(sessionID, created);\n return created;\n }\n\n setRole(sessionID: string, messageID: string, role: MessageRole): void {\n this.ensureSession(sessionID).roles.set(messageID, role);\n }\n\n getRole(sessionID: string, messageID: string): MessageRole | null {\n return this.sessions.get(sessionID)?.roles.get(messageID) ?? null;\n }\n\n setAgent(sessionID: string, messageID: string, agent: string): void {\n this.ensureSession(sessionID).agents.set(messageID, agent);\n }\n\n getAgent(sessionID: string, messageID: string): string | null {\n return this.sessions.get(sessionID)?.agents.get(messageID) ?? null;\n }\n\n setTextPart(\n sessionID: string,\n partID: string,\n messageID: string,\n text: string,\n ): void {\n this.ensureSession(sessionID).textParts.set(partID, {\n id: partID,\n messageID,\n text,\n });\n }\n\n getTextPart(sessionID: string, partID: string): CachedTextPart | null {\n return this.sessions.get(sessionID)?.textParts.get(partID) ?? null;\n }\n\n getMessageText(sessionID: string, messageID: string): string {\n const session = this.sessions.get(sessionID);\n\n if (!session) {\n return \"\";\n }\n\n return [...session.textParts.values()]\n .filter((part) => part.messageID === messageID)\n .map((part) => part.text)\n .join(\"\");\n }\n\n snapshot(sessionID: string): SessionSnapshot {\n const session = this.sessions.get(sessionID) ?? createSessionStore();\n\n return {\n roles: Object.fromEntries(session.roles),\n agents: Object.fromEntries(session.agents),\n textParts: [...session.textParts.values()],\n };\n }\n\n cleanup(sessionID: string): void {\n this.sessions.delete(sessionID);\n }\n}\n\nexport type { MessageRole };\n",
|
|
6
6
|
"import type {\n AgentMode,\n AgentPhase,\n ApprovalState,\n ContextState,\n ExtendedState,\n PlanState,\n RetryCounters,\n TrustState,\n} from \"../types/index.ts\";\n\nexport interface CreateInitialStateOptions {\n sessionID?: string;\n mode?: AgentMode;\n phase?: AgentPhase;\n allowedTools?: string[];\n allowedPaths?: string[];\n maxContinues?: number;\n workerAgent?: string;\n remainingBudget?: number | null;\n contextThreshold?: number;\n maxStepRetries?: number;\n maxGlobalRetries?: number;\n maxNoProgress?: number;\n trustedPaths?: string[];\n}\n\nconst DEFAULT_ALLOWED_TOOLS = [\"bash\", \"read\", \"glob\", \"grep\", \"apply_patch\"];\nconst DEFAULT_CONTEXT_THRESHOLD = 8_000;\nconst DEFAULT_MAX_CONTINUES = 25;\nconst DEFAULT_MAX_STEP_RETRIES = 2;\nconst DEFAULT_MAX_GLOBAL_RETRIES = 6;\nconst DEFAULT_MAX_NO_PROGRESS = 3;\nconst DEFAULT_WORKER_AGENT = \"pi\";\n\nfunction createPlanState(): PlanState {\n return {\n steps: [],\n open_items: [],\n completed_items: [],\n blocked_items: [],\n dependencies: {},\n stale: false,\n };\n}\n\nfunction createApprovalState(): ApprovalState {\n return {\n status: \"idle\",\n pending_action: null,\n pending_scope: null,\n approved_scopes: [],\n denied_scopes: [],\n last_feedback: null,\n };\n}\n\nfunction createTrustState(trustedPaths: string[]): TrustState {\n return {\n status: trustedPaths.length > 0 ? \"trusted\" : \"untrusted\",\n trusted_paths: [...trustedPaths],\n pending_path: null,\n denied_paths: [],\n last_feedback: null,\n };\n}\n\nfunction createContextState(\n remainingBudget: number | null,\n threshold: number,\n): ContextState {\n const resolvedBudget = remainingBudget ?? null;\n const compactionNeeded =\n resolvedBudget !== null ? resolvedBudget <= threshold : false;\n\n return {\n remaining_budget: resolvedBudget,\n threshold,\n compaction_needed: compactionNeeded,\n compacted_at: null,\n unsafe_to_continue: compactionNeeded,\n };\n}\n\nfunction createRetryCounters(options: CreateInitialStateOptions): RetryCounters {\n return {\n step_retry_count: 0,\n global_retry_count: 0,\n no_progress_count: 0,\n recovery_attempt_count: 0,\n max_step_retries: options.maxStepRetries ?? DEFAULT_MAX_STEP_RETRIES,\n max_global_retries: options.maxGlobalRetries ?? DEFAULT_MAX_GLOBAL_RETRIES,\n max_no_progress: options.maxNoProgress ?? DEFAULT_MAX_NO_PROGRESS,\n };\n}\n\nexport function createInitialState(\n goal: string,\n options: CreateInitialStateOptions = {},\n): ExtendedState {\n const sessionID = options.sessionID ?? \"\";\n const allowedPaths = options.allowedPaths ?? [];\n\n return {\n session_id: sessionID,\n mode: options.mode ?? \"DISABLED\",\n phase: options.phase ?? \"STOPPED\",\n goal,\n plan_state: createPlanState(),\n completion_evidence: [],\n allowed_tools: [...(options.allowedTools ?? DEFAULT_ALLOWED_TOOLS)],\n allowed_paths: [...allowedPaths],\n approval_state: createApprovalState(),\n trust_state: createTrustState(options.trustedPaths ?? allowedPaths),\n context_state: createContextState(\n options.remainingBudget ?? null,\n options.contextThreshold ?? DEFAULT_CONTEXT_THRESHOLD,\n ),\n foreground_action: null,\n background_tasks: [],\n retry_counters: createRetryCounters(options),\n stop_reason: null,\n latest_observations: {\n events: [],\n last_user_input: null,\n last_tool_result: null,\n last_tool_error: null,\n last_interrupt: null,\n },\n continuation_count: 0,\n max_continues: options.maxContinues ?? DEFAULT_MAX_CONTINUES,\n worker_agent: options.workerAgent ?? DEFAULT_WORKER_AGENT,\n last_updated_at: null,\n resumable: true,\n };\n}\n\nexport function createSessionState(\n sessionID: string,\n goal: string,\n options: Omit<CreateInitialStateOptions, \"sessionID\"> = {},\n): ExtendedState {\n return createInitialState(goal, {\n ...options,\n sessionID,\n mode: options.mode ?? \"ENABLED\",\n phase: options.phase ?? \"OBSERVE\",\n });\n}\n",
|
|
@@ -17,10 +17,11 @@
|
|
|
17
17
|
"import { tool } from \"@opencode-ai/plugin\";\nimport type { ExtendedState } from \"../types/index.ts\";\n\n// ---------------------------------------------------------------------------\n// Deps\n// ---------------------------------------------------------------------------\n\nexport interface StartToolDeps {\n getState: (sessionID: string) => ExtendedState | undefined;\n setState: (sessionID: string, state: ExtendedState) => void;\n createSessionState: (\n sessionID: string,\n goal: string,\n options: {\n maxContinues?: number;\n workerAgent?: string;\n },\n ) => ExtendedState;\n normalizeMaxContinues: (value: unknown) => number;\n initSession: (sessionID: string) => void;\n onArmed: (sessionID: string, state: ExtendedState) => Promise<void>;\n defaultWorkerAgent: string;\n}\n\n// ---------------------------------------------------------------------------\n// Tool factory\n// ---------------------------------------------------------------------------\n\nconst AUTOPILOT_FALLBACK_AGENT = \"pi\";\n\nexport function createStartTool(deps: StartToolDeps) {\n return tool({\n description: \"Arm autopilot mode for the current session\",\n args: {\n task: tool.schema\n .string()\n .min(1)\n .describe(\"Task for the autonomous worker to execute\"),\n permissionMode: tool.schema\n .enum([\"limited\", \"allow-all\"])\n .optional()\n .describe(\n \"How permissions should behave while autopilot is active\",\n ),\n maxContinues: tool.schema\n .number()\n .int()\n .positive()\n .optional()\n .describe(\n \"Maximum number of autonomous continuation prompts after the initial task prompt\",\n ),\n workerAgent: tool.schema\n .string()\n .optional()\n .describe(\n \"Agent used for autonomous follow-up turns (defaults to pi)\",\n ),\n },\n async execute(args, context) {\n if (args.task.trim().toLowerCase() === \"help\") {\n return `\n## Autopilot Usage\n\nUse the global \\`Autopilot\\` agent to control the autopilot plugin.\n\n**Start Autopilot:**\nSwitch to the \\`Autopilot\\` agent, then send the task you want delegated.\n\nExamples:\n- \\`Fix the failing tests\\`\n- \\`Use allow-all mode and build-high to refactor the reducer\\`\n\n**Check Status:**\n- \\`status\\`\n- \\`is autopilot running?\\`\n\n**Stop Autopilot:**\n- \\`stop\\`\n- \\`stop because I want to inspect manually\\`\n\nDefaults:\n- permission mode: \\`limited\\`\n- continuation limit: \\`10\\`\n- worker agent: \\`pi\\`\n`.trim();\n }\n\n const permissionMode = args.permissionMode ?? \"limited\";\n const maxContinues = deps.normalizeMaxContinues(args.maxContinues);\n const workerAgent =\n args.workerAgent?.trim() || deps.defaultWorkerAgent || AUTOPILOT_FALLBACK_AGENT;\n\n const state = deps.createSessionState(context.sessionID, args.task.trim(), {\n maxContinues,\n workerAgent,\n });\n\n // Store permission mode alongside the state.\n // We set it via Object.defineProperty to keep strict types clean.\n Object.defineProperty(state, \"permissionMode\", {\n value: permissionMode,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n\n deps.setState(context.sessionID, state);\n deps.initSession(context.sessionID);\n\n context.metadata({\n title: \"Autopilot armed\",\n metadata: {\n permissionMode,\n maxContinues,\n workerAgent,\n },\n });\n\n await deps.onArmed(context.sessionID, state);\n\n return `Autopilot armed in ${permissionMode} mode with ${workerAgent}. It will start after this response and may continue up to ${maxContinues} times.`;\n },\n });\n}\n",
|
|
18
18
|
"import { tool } from \"@opencode-ai/plugin\";\nimport type { ExtendedState } from \"../types/index.ts\";\n\n// ---------------------------------------------------------------------------\n// Deps\n// ---------------------------------------------------------------------------\n\nexport interface StatusToolDeps {\n getState: (sessionID: string) => ExtendedState | undefined;\n summarizeState: (state: ExtendedState | null | undefined) => string;\n getHistory: (sessionID: string) => string[];\n}\n\n// ---------------------------------------------------------------------------\n// Tool factory\n// ---------------------------------------------------------------------------\n\nexport function createStatusTool(deps: StatusToolDeps) {\n return tool({\n description: \"Show autopilot status for the current session\",\n args: {},\n async execute(_args, context) {\n const state = deps.getState(context.sessionID);\n\n if (!state) {\n return deps.summarizeState(state);\n }\n\n const history = deps.getHistory(context.sessionID);\n const historyStr =\n history.length > 0\n ? `\\nRecent events:\\n- ${history.join(\"\\n- \")}`\n : \"\";\n\n return `${deps.summarizeState(state)}${historyStr}`;\n },\n });\n}\n",
|
|
19
19
|
"import { tool } from \"@opencode-ai/plugin\";\nimport type { ExtendedState } from \"../types/index.ts\";\n\n// ---------------------------------------------------------------------------\n// Deps\n// ---------------------------------------------------------------------------\n\nexport interface StopToolDeps {\n getState: (sessionID: string) => ExtendedState | undefined;\n onStop: (sessionID: string, reason: string | undefined) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Tool factory\n// ---------------------------------------------------------------------------\n\nexport function createStopTool(deps: StopToolDeps) {\n return tool({\n description: \"Stop autopilot mode for the current session\",\n args: {\n reason: tool.schema\n .string()\n .optional()\n .describe(\"Optional reason to include in the stop message\"),\n },\n async execute(args, context) {\n const state = deps.getState(context.sessionID);\n\n if (!state || state.mode !== \"ENABLED\") {\n return \"Autopilot is not running in this session.\";\n }\n\n deps.onStop(context.sessionID, args.reason);\n\n return args.reason\n ? `Autopilot stopped: ${args.reason}`\n : \"Autopilot stopped for this session.\";\n },\n });\n}\n",
|
|
20
|
-
"import { tool } from \"@opencode-ai/plugin\";\n\nexport function createHelpTool() {\n return tool({\n description: \"Show autopilot usage instructions\",\n args: {},\n execute: async () => {\n return `\n## Autopilot Usage\n\nUse the global \\`Autopilot\\` agent to control the autopilot plugin.\n\n**Start Autopilot:**\nSwitch to the \\`Autopilot\\` agent, then send the task you want delegated.\n\nExamples:\n- \\`Fix the failing tests\\`\n- \\`Use allow-all mode and build-high to refactor the reducer\\`\n\n**Check Status:**\n- \\`status\\`\n- \\`is autopilot running?\\`\n\n**Stop Autopilot:**\n- \\`stop\\`\n- \\`stop because I want to inspect manually\\`\n\nDefaults:\n- permission mode: \\`limited\\`\n- continuation limit: \\`10\\`\n- worker agent: \\`
|
|
21
|
-
"import type { Plugin } from \"@opencode-ai/plugin\";\nimport type { ExtendedState } from \"./types/index.ts\";\nimport { SessionCache } from \"./state/session-cache.ts\";\nimport { createSessionState } from \"./state/factory.ts\";\nimport {\n buildAutopilotSystemPrompt,\n buildContinuationPrompt,\n formatUsageMetadata,\n inferAutopilotDirective,\n normalizeMaxContinues,\n stripAutopilotMarker,\n summarizeAutopilotState,\n} from \"./prompts/index.ts\";\nimport {\n createEventHandler,\n createSessionTracking,\n} from \"./hooks/event-handler.ts\";\nimport type { SessionTracking } from \"./hooks/event-handler.ts\";\nimport { createPermissionHook } from \"./hooks/permission.ts\";\nimport { createSystemTransformHook } from \"./hooks/system-transform.ts\";\nimport { createChatMessageHook } from \"./hooks/chat-message.ts\";\nimport { createToolAfterHook } from \"./hooks/tool-after.ts\";\nimport { createStartTool } from \"./tools/start.ts\";\nimport { createStatusTool } from \"./tools/status.ts\";\nimport { createStopTool } from \"./tools/stop.ts\";\nimport { createHelpTool } from \"./tools/help.ts\";\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\nconst AUTOPILOT_FALLBACK_AGENT = \"pi\";\nconst MAX_HISTORY_ENTRIES = 10;\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport const AutopilotPlugin: Plugin = async ({\n client,\n directory,\n worktree,\n}) => {\n // -- Shared state stores (per-session) --\n const stateBySession = new Map<string, ExtendedState>();\n const trackingBySession = new Map<string, SessionTracking>();\n const suppressCountBySession = new Map<string, number>();\n const historyBySession = new Map<string, string[]>();\n const permissionModeBySession = new Map<string, \"allow-all\" | \"limited\">();\n const sessionCache = new SessionCache();\n\n // -- State accessors --\n const getState = (sessionID: string): ExtendedState | undefined =>\n stateBySession.get(sessionID);\n\n const setState = (sessionID: string, state: ExtendedState): void => {\n stateBySession.set(sessionID, state);\n };\n\n const deleteState = (sessionID: string): void => {\n stateBySession.delete(sessionID);\n trackingBySession.delete(sessionID);\n suppressCountBySession.delete(sessionID);\n historyBySession.delete(sessionID);\n permissionModeBySession.delete(sessionID);\n };\n\n const getTracking = (sessionID: string): SessionTracking | undefined =>\n trackingBySession.get(sessionID);\n\n const initSession = (sessionID: string): void => {\n trackingBySession.set(sessionID, createSessionTracking());\n suppressCountBySession.set(sessionID, 0);\n historyBySession.set(sessionID, []);\n };\n\n const recordHistory = (sessionID: string, message: string): void => {\n let history = historyBySession.get(sessionID);\n if (!history) {\n history = [];\n historyBySession.set(sessionID, history);\n }\n history.push(message);\n if (history.length > MAX_HISTORY_ENTRIES) {\n historyBySession.set(sessionID, history.slice(-MAX_HISTORY_ENTRIES));\n }\n };\n\n // -- Toast helper --\n const safeToast = async (opts: {\n title: string;\n message: string;\n variant: \"info\" | \"success\" | \"warning\" | \"error\";\n }): Promise<void> => {\n try {\n await client.tui.showToast({\n directory,\n workspace: worktree,\n title: opts.title,\n message: opts.message,\n variant: opts.variant,\n duration: 3000,\n });\n } catch {\n // Ignore TUI toast failures in non-TUI sessions.\n }\n };\n\n // -- Stop helper --\n const setStopped = async (\n sessionID: string,\n reason: string,\n detail: string | undefined,\n variant: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\n ): Promise<void> => {\n const state = getState(sessionID);\n if (!state) return;\n\n state.mode = \"DISABLED\";\n state.phase = \"STOPPED\";\n state.stop_reason = \"USER_STOP\";\n recordHistory(sessionID, detail ? `${reason}: ${detail}` : reason);\n\n await safeToast({\n title: \"Autopilot stopped\",\n message: detail ? `${reason}: ${detail}` : reason,\n variant,\n });\n };\n\n // -- Dispatch helper --\n const dispatchPrompt = async (\n sessionID: string,\n state: ExtendedState,\n promptText: string,\n ): Promise<void> => {\n const tracking = getTracking(sessionID);\n if (!tracking) return;\n\n tracking.awaitingWorkerReply = true;\n tracking.lastAssistantMessageID = undefined;\n\n try {\n // The plugin runtime provides a wrapped client that accepts these\n // named params directly (matching the legacy JS plugin pattern).\n await (client.session.promptAsync as (opts: Record<string, unknown>) => Promise<unknown>)({\n directory,\n workspace: worktree,\n sessionID,\n agent: state.worker_agent,\n parts: [{ type: \"text\" as const, text: promptText }],\n });\n } catch {\n // Prompt dispatch failure — will be caught by session.error\n }\n };\n\n // -- Continuation logic (called on session.idle) --\n const maybeContinue = async (sessionID: string): Promise<void> => {\n const state = getState(sessionID);\n const tracking = getTracking(sessionID);\n if (!state || state.mode !== \"ENABLED\" || !tracking) return;\n\n // Initial dispatch after arming\n if (state.phase === \"OBSERVE\" && state.continuation_count === 0 && !tracking.lastAssistantMessageID) {\n recordHistory(sessionID, `Starting task with ${state.worker_agent}`);\n await safeToast({\n title: \"Autopilot armed\",\n message: `Starting task with ${state.worker_agent}`,\n variant: \"info\",\n });\n await dispatchPrompt(sessionID, state, state.goal);\n return;\n }\n\n // Permission block check\n if (tracking.blockedByPermission) {\n tracking.blockedByPermission = false;\n await setStopped(\n sessionID,\n \"Blocked by permissions\",\n tracking.permissionBlockMessage ??\n \"A required action was denied in limited mode.\",\n \"warning\",\n );\n return;\n }\n\n // Check for worker reply\n const messageID = tracking.lastAssistantMessageID;\n if (!messageID) return;\n\n tracking.awaitingWorkerReply = false;\n tracking.lastAssistantMessageID = undefined;\n\n const assistantText = sessionCache.getMessageText(sessionID, messageID);\n const directive = inferAutopilotDirective(assistantText);\n\n if (directive.status === \"complete\") {\n await setStopped(\n sessionID,\n \"Task completed\",\n directive.reason,\n \"success\",\n );\n return;\n }\n\n if (directive.status === \"blocked\") {\n await setStopped(\n sessionID,\n \"Task blocked\",\n directive.reason,\n \"warning\",\n );\n return;\n }\n\n // Check continuation limit\n if (state.continuation_count >= state.max_continues) {\n await setStopped(\n sessionID,\n \"Continuation limit reached\",\n `Stopped after ${state.continuation_count} autonomous continuations.`,\n \"warning\",\n );\n return;\n }\n\n // Continue\n state.continuation_count += 1;\n const usageBits = formatUsageMetadata(\n tracking.lastUsage as Parameters<typeof formatUsageMetadata>[0],\n );\n const suffix = usageBits ? ` (${usageBits})` : \"\";\n recordHistory(\n sessionID,\n `Continuation ${state.continuation_count}/${state.max_continues}${suffix}`,\n );\n\n await safeToast({\n title: \"Autopilot continuing\",\n message: `Continuation ${state.continuation_count}/${state.max_continues}${suffix}`,\n variant: \"info\",\n });\n\n await dispatchPrompt(\n sessionID,\n state,\n buildContinuationPrompt({\n continueCount: state.continuation_count,\n maxContinues: state.max_continues,\n task: state.goal,\n }),\n );\n };\n\n // -- Build hooks --\n const eventHandler = createEventHandler({\n getState,\n deleteState,\n sessionCache,\n getTracking,\n onSessionIdle: maybeContinue,\n onSessionError: async (sessionID, error) => {\n const errorMessage =\n error?.data?.message ?? \"Autopilot encountered an unknown error.\";\n const isAbort = error?.name === \"MessageAbortedError\";\n const reason = isAbort ? \"Interrupted\" : \"Error\";\n const variant: \"warning\" | \"error\" = isAbort ? \"warning\" : \"error\";\n await setStopped(sessionID, reason, errorMessage, variant);\n },\n });\n\n const permissionHook = createPermissionHook({\n getState,\n getPermissionMode: (sessionID) => permissionModeBySession.get(sessionID),\n onPermissionDenied: (sessionID, permission) => {\n const tracking = getTracking(sessionID);\n if (!tracking) return;\n tracking.blockedByPermission = true;\n const patternStr = Array.isArray(permission.pattern)\n ? permission.pattern.join(\", \")\n : permission.pattern ?? \"\";\n tracking.permissionBlockMessage =\n `Denied ${permission.type} ${patternStr}`.trim();\n recordHistory(\n sessionID,\n tracking.permissionBlockMessage,\n );\n },\n });\n\n const systemTransformHook = createSystemTransformHook({\n getState,\n getSuppressCount: (sessionID) =>\n suppressCountBySession.get(sessionID) ?? 0,\n decrementSuppressCount: (sessionID) => {\n const current = suppressCountBySession.get(sessionID) ?? 0;\n if (current > 0) {\n suppressCountBySession.set(sessionID, current - 1);\n }\n },\n buildSystemPrompt: buildAutopilotSystemPrompt,\n });\n\n const chatMessageHook = createChatMessageHook({\n getState,\n incrementSuppressCount: (sessionID) => {\n const current = suppressCountBySession.get(sessionID) ?? 0;\n suppressCountBySession.set(sessionID, current + 1);\n },\n });\n\n const toolAfterHook = createToolAfterHook({\n stripMarker: stripAutopilotMarker,\n });\n\n // -- Build tools --\n const startTool = createStartTool({\n getState,\n setState,\n createSessionState,\n normalizeMaxContinues,\n initSession,\n defaultWorkerAgent: AUTOPILOT_FALLBACK_AGENT,\n onArmed: async (sessionID, state) => {\n // Extract and store permissionMode\n const pm = (state as unknown as Record<string, unknown>)[\"permissionMode\"];\n if (pm === \"allow-all\" || pm === \"limited\") {\n permissionModeBySession.set(sessionID, pm);\n } else {\n permissionModeBySession.set(sessionID, \"limited\");\n }\n recordHistory(\n sessionID,\n `Armed in ${permissionModeBySession.get(sessionID)} mode with ${state.worker_agent}.`,\n );\n recordHistory(\n sessionID,\n `Continuation limit: ${state.max_continues}.`,\n );\n },\n });\n\n const statusTool = createStatusTool({\n getState,\n summarizeState: summarizeAutopilotState,\n getHistory: (sessionID) => historyBySession.get(sessionID) ?? [],\n });\n\n const stopTool = createStopTool({\n getState,\n onStop: (sessionID, reason) => {\n const state = getState(sessionID);\n if (!state) return;\n state.mode = \"DISABLED\";\n state.phase = \"STOPPED\";\n state.stop_reason = \"USER_STOP\";\n recordHistory(\n sessionID,\n reason ? `Cancelled by user: ${reason}` : \"Cancelled by user\",\n );\n },\n });\n\n const helpTool = createHelpTool();\n\n // -- Return assembled hooks --\n return {\n tool: {\n autopilot_start: startTool,\n autopilot_status: statusTool,\n autopilot_stop: stopTool,\n autopilot_help: helpTool,\n },\n\n event: eventHandler,\n\n \"permission.ask\": permissionHook,\n\n \"experimental.chat.system.transform\": systemTransformHook,\n\n \"chat.message\": chatMessageHook,\n\n \"tool.execute.after\": toolAfterHook,\n };\n};\n"
|
|
20
|
+
"import { tool } from \"@opencode-ai/plugin\";\n\nexport function createHelpTool() {\n return tool({\n description: \"Show autopilot usage instructions\",\n args: {},\n execute: async () => {\n return `\n## Autopilot Usage\n\nUse the global \\`Autopilot\\` agent to control the autopilot plugin.\n\n**Start Autopilot:**\nSwitch to the \\`Autopilot\\` agent, then send the task you want delegated.\n\nExamples:\n- \\`Fix the failing tests\\`\n- \\`Use allow-all mode and build-high to refactor the reducer\\`\n\n**Check Status:**\n- \\`status\\`\n- \\`is autopilot running?\\`\n\n**Stop Autopilot:**\n- \\`stop\\`\n- \\`stop because I want to inspect manually\\`\n\nDefaults:\n- permission mode: \\`limited\\`\n- continuation limit: \\`10\\`\n- worker agent: \\`general\\`\n`.trim();\n },\n });\n}\n",
|
|
21
|
+
"import { tool } from \"@opencode-ai/plugin\";\n\nconst AUTOPILOT_PROMPT = `You are the Autopilot control agent.\n\nYour job is to operate the local autopilot plugin, not to do the coding work yourself.\nThe plugin should handle the autonomous execution loop, while the worker agent (default \\`pi\\`) does the task work.\n\nRules:\n- If the user asks for help, usage, or examples, call \\`autopilot_help\\` and return the tool result.\n- If the user asks for status, progress, whether autopilot is running, or similar, call \\`autopilot_status\\` and return the tool result.\n- If the user asks to stop, cancel, disable, or pause autopilot, call \\`autopilot_stop\\`. Pass through a short reason when one is provided. Return the tool result.\n- Otherwise, treat the user's message as a request to start autopilot.\n- On a start request, call \\`autopilot_start\\` immediately before doing anything else.\n- Default start settings: \\`permissionMode: limited\\`, \\`maxContinues: 10\\`, \\`workerAgent: general\\`.\n- If the user clearly requests \\`allow-all\\`, \\`allow all\\`, or similar, set \\`permissionMode: allow-all\\`.\n- If the user clearly requests \\`limited\\`, set \\`permissionMode: limited\\`.\n- If the user clearly gives a continuation cap such as \\`max 3\\`, \\`max=3\\`, or \\`continue 3 times\\`, pass it as \\`maxContinues\\`.\n- If the user clearly asks for a different worker agent, such as \\`use build-high\\`, \\`worker agent build-high\\`, or \\`agent=build-high\\`, pass it as \\`workerAgent\\`.\n- Use the user's full request as the \\`task\\` unless they clearly separate control options from the task.\n- Do not solve the task yourself after starting autopilot. Return the tool result so the session can continue under the plugin.\n\nExamples:\n- \\`Fix the failing autopilot tests\\` -> \\`autopilot_start(task=\"Fix the failing autopilot tests\")\\`\n- \\`Start autopilot in allow-all mode and use build-high to refactor the reducer\\` -> \\`autopilot_start(permissionMode=\"allow-all\", workerAgent=\"build-high\", task=\"refactor the reducer\")\\`\n- \\`Use allow all and max 3 to debug the plugin startup failure\\` -> \\`autopilot_start(permissionMode=\"allow-all\", maxContinues=3, task=\"debug the plugin startup failure\")\\`\n- \\`status\\` -> \\`autopilot_status()\\`\n- \\`stop because I want to inspect manually\\` -> \\`autopilot_stop(reason=\"because I want to inspect manually\")\\``;\n\nexport function createPromptTool() {\n return tool({\n description:\n \"Get the autopilot control agent prompt. Call this at the start of a session to get your operating instructions.\",\n args: {},\n execute: async () => AUTOPILOT_PROMPT,\n });\n}\n",
|
|
22
|
+
"import type { Plugin } from \"@opencode-ai/plugin\";\nimport type { ExtendedState } from \"./types/index.ts\";\nimport { SessionCache } from \"./state/session-cache.ts\";\nimport { createSessionState } from \"./state/factory.ts\";\nimport {\n buildAutopilotSystemPrompt,\n buildContinuationPrompt,\n formatUsageMetadata,\n inferAutopilotDirective,\n normalizeMaxContinues,\n stripAutopilotMarker,\n summarizeAutopilotState,\n} from \"./prompts/index.ts\";\nimport {\n createEventHandler,\n createSessionTracking,\n} from \"./hooks/event-handler.ts\";\nimport type { SessionTracking } from \"./hooks/event-handler.ts\";\nimport { createPermissionHook } from \"./hooks/permission.ts\";\nimport { createSystemTransformHook } from \"./hooks/system-transform.ts\";\nimport { createChatMessageHook } from \"./hooks/chat-message.ts\";\nimport { createToolAfterHook } from \"./hooks/tool-after.ts\";\nimport { createStartTool } from \"./tools/start.ts\";\nimport { createStatusTool } from \"./tools/status.ts\";\nimport { createStopTool } from \"./tools/stop.ts\";\nimport { createHelpTool } from \"./tools/help.ts\";\nimport { createPromptTool } from \"./tools/prompt.ts\";\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\nconst AUTOPILOT_FALLBACK_AGENT = \"general\";\nconst MAX_HISTORY_ENTRIES = 10;\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport const AutopilotPlugin: Plugin = async ({\n client,\n directory,\n worktree,\n}) => {\n // -- Shared state stores (per-session) --\n const stateBySession = new Map<string, ExtendedState>();\n const trackingBySession = new Map<string, SessionTracking>();\n const suppressCountBySession = new Map<string, number>();\n const historyBySession = new Map<string, string[]>();\n const permissionModeBySession = new Map<string, \"allow-all\" | \"limited\">();\n const sessionCache = new SessionCache();\n\n // -- State accessors --\n const getState = (sessionID: string): ExtendedState | undefined =>\n stateBySession.get(sessionID);\n\n const setState = (sessionID: string, state: ExtendedState): void => {\n stateBySession.set(sessionID, state);\n };\n\n const deleteState = (sessionID: string): void => {\n stateBySession.delete(sessionID);\n trackingBySession.delete(sessionID);\n suppressCountBySession.delete(sessionID);\n historyBySession.delete(sessionID);\n permissionModeBySession.delete(sessionID);\n };\n\n const getTracking = (sessionID: string): SessionTracking | undefined =>\n trackingBySession.get(sessionID);\n\n const initSession = (sessionID: string): void => {\n trackingBySession.set(sessionID, createSessionTracking());\n suppressCountBySession.set(sessionID, 0);\n historyBySession.set(sessionID, []);\n };\n\n const recordHistory = (sessionID: string, message: string): void => {\n let history = historyBySession.get(sessionID);\n if (!history) {\n history = [];\n historyBySession.set(sessionID, history);\n }\n history.push(message);\n if (history.length > MAX_HISTORY_ENTRIES) {\n historyBySession.set(sessionID, history.slice(-MAX_HISTORY_ENTRIES));\n }\n };\n\n // -- Toast helper --\n const safeToast = async (opts: {\n title: string;\n message: string;\n variant: \"info\" | \"success\" | \"warning\" | \"error\";\n }): Promise<void> => {\n try {\n await client.tui.showToast({\n directory,\n workspace: worktree,\n title: opts.title,\n message: opts.message,\n variant: opts.variant,\n duration: 3000,\n });\n } catch {\n // Ignore TUI toast failures in non-TUI sessions.\n }\n };\n\n // -- Stop helper --\n const setStopped = async (\n sessionID: string,\n reason: string,\n detail: string | undefined,\n variant: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\n ): Promise<void> => {\n const state = getState(sessionID);\n if (!state) return;\n\n state.mode = \"DISABLED\";\n state.phase = \"STOPPED\";\n state.stop_reason = \"USER_STOP\";\n recordHistory(sessionID, detail ? `${reason}: ${detail}` : reason);\n\n await safeToast({\n title: \"Autopilot stopped\",\n message: detail ? `${reason}: ${detail}` : reason,\n variant,\n });\n };\n\n // -- Dispatch helper --\n const dispatchPrompt = async (\n sessionID: string,\n state: ExtendedState,\n promptText: string,\n ): Promise<void> => {\n const tracking = getTracking(sessionID);\n if (!tracking) return;\n\n tracking.awaitingWorkerReply = true;\n tracking.lastAssistantMessageID = undefined;\n\n try {\n // The plugin runtime provides a wrapped client that accepts these\n // named params directly (matching the legacy JS plugin pattern).\n await (client.session.promptAsync as (opts: Record<string, unknown>) => Promise<unknown>)({\n directory,\n workspace: worktree,\n sessionID,\n agent: state.worker_agent,\n parts: [{ type: \"text\" as const, text: promptText }],\n });\n } catch {\n // Prompt dispatch failure — will be caught by session.error\n }\n };\n\n // -- Continuation logic (called on session.idle) --\n const maybeContinue = async (sessionID: string): Promise<void> => {\n const state = getState(sessionID);\n const tracking = getTracking(sessionID);\n if (!state || state.mode !== \"ENABLED\" || !tracking) return;\n\n // Initial dispatch after arming\n if (state.phase === \"OBSERVE\" && state.continuation_count === 0 && !tracking.lastAssistantMessageID) {\n recordHistory(sessionID, `Starting task with ${state.worker_agent}`);\n await safeToast({\n title: \"Autopilot armed\",\n message: `Starting task with ${state.worker_agent}`,\n variant: \"info\",\n });\n await dispatchPrompt(sessionID, state, state.goal);\n return;\n }\n\n // Permission block check\n if (tracking.blockedByPermission) {\n tracking.blockedByPermission = false;\n await setStopped(\n sessionID,\n \"Blocked by permissions\",\n tracking.permissionBlockMessage ??\n \"A required action was denied in limited mode.\",\n \"warning\",\n );\n return;\n }\n\n // Check for worker reply\n const messageID = tracking.lastAssistantMessageID;\n if (!messageID) return;\n\n tracking.awaitingWorkerReply = false;\n tracking.lastAssistantMessageID = undefined;\n\n const assistantText = sessionCache.getMessageText(sessionID, messageID);\n const directive = inferAutopilotDirective(assistantText);\n\n if (directive.status === \"complete\") {\n await setStopped(\n sessionID,\n \"Task completed\",\n directive.reason,\n \"success\",\n );\n return;\n }\n\n if (directive.status === \"blocked\") {\n await setStopped(\n sessionID,\n \"Task blocked\",\n directive.reason,\n \"warning\",\n );\n return;\n }\n\n // Check continuation limit\n if (state.continuation_count >= state.max_continues) {\n await setStopped(\n sessionID,\n \"Continuation limit reached\",\n `Stopped after ${state.continuation_count} autonomous continuations.`,\n \"warning\",\n );\n return;\n }\n\n // Continue\n state.continuation_count += 1;\n const usageBits = formatUsageMetadata(\n tracking.lastUsage as Parameters<typeof formatUsageMetadata>[0],\n );\n const suffix = usageBits ? ` (${usageBits})` : \"\";\n recordHistory(\n sessionID,\n `Continuation ${state.continuation_count}/${state.max_continues}${suffix}`,\n );\n\n await safeToast({\n title: \"Autopilot continuing\",\n message: `Continuation ${state.continuation_count}/${state.max_continues}${suffix}`,\n variant: \"info\",\n });\n\n await dispatchPrompt(\n sessionID,\n state,\n buildContinuationPrompt({\n continueCount: state.continuation_count,\n maxContinues: state.max_continues,\n task: state.goal,\n }),\n );\n };\n\n // -- Build hooks --\n const eventHandler = createEventHandler({\n getState,\n deleteState,\n sessionCache,\n getTracking,\n onSessionIdle: maybeContinue,\n onSessionError: async (sessionID, error) => {\n const errorMessage =\n error?.data?.message ?? \"Autopilot encountered an unknown error.\";\n const isAbort = error?.name === \"MessageAbortedError\";\n const reason = isAbort ? \"Interrupted\" : \"Error\";\n const variant: \"warning\" | \"error\" = isAbort ? \"warning\" : \"error\";\n await setStopped(sessionID, reason, errorMessage, variant);\n },\n });\n\n const permissionHook = createPermissionHook({\n getState,\n getPermissionMode: (sessionID) => permissionModeBySession.get(sessionID),\n onPermissionDenied: (sessionID, permission) => {\n const tracking = getTracking(sessionID);\n if (!tracking) return;\n tracking.blockedByPermission = true;\n const patternStr = Array.isArray(permission.pattern)\n ? permission.pattern.join(\", \")\n : permission.pattern ?? \"\";\n tracking.permissionBlockMessage =\n `Denied ${permission.type} ${patternStr}`.trim();\n recordHistory(\n sessionID,\n tracking.permissionBlockMessage,\n );\n },\n });\n\n const systemTransformHook = createSystemTransformHook({\n getState,\n getSuppressCount: (sessionID) =>\n suppressCountBySession.get(sessionID) ?? 0,\n decrementSuppressCount: (sessionID) => {\n const current = suppressCountBySession.get(sessionID) ?? 0;\n if (current > 0) {\n suppressCountBySession.set(sessionID, current - 1);\n }\n },\n buildSystemPrompt: buildAutopilotSystemPrompt,\n });\n\n const chatMessageHook = createChatMessageHook({\n getState,\n incrementSuppressCount: (sessionID) => {\n const current = suppressCountBySession.get(sessionID) ?? 0;\n suppressCountBySession.set(sessionID, current + 1);\n },\n });\n\n const toolAfterHook = createToolAfterHook({\n stripMarker: stripAutopilotMarker,\n });\n\n // -- Build tools --\n const startTool = createStartTool({\n getState,\n setState,\n createSessionState,\n normalizeMaxContinues,\n initSession,\n defaultWorkerAgent: AUTOPILOT_FALLBACK_AGENT,\n onArmed: async (sessionID, state) => {\n // Extract and store permissionMode\n const pm = (state as unknown as Record<string, unknown>)[\"permissionMode\"];\n if (pm === \"allow-all\" || pm === \"limited\") {\n permissionModeBySession.set(sessionID, pm);\n } else {\n permissionModeBySession.set(sessionID, \"limited\");\n }\n recordHistory(\n sessionID,\n `Armed in ${permissionModeBySession.get(sessionID)} mode with ${state.worker_agent}.`,\n );\n recordHistory(\n sessionID,\n `Continuation limit: ${state.max_continues}.`,\n );\n },\n });\n\n const statusTool = createStatusTool({\n getState,\n summarizeState: summarizeAutopilotState,\n getHistory: (sessionID) => historyBySession.get(sessionID) ?? [],\n });\n\n const stopTool = createStopTool({\n getState,\n onStop: (sessionID, reason) => {\n const state = getState(sessionID);\n if (!state) return;\n state.mode = \"DISABLED\";\n state.phase = \"STOPPED\";\n state.stop_reason = \"USER_STOP\";\n recordHistory(\n sessionID,\n reason ? `Cancelled by user: ${reason}` : \"Cancelled by user\",\n );\n },\n });\n\n const helpTool = createHelpTool();\n const promptTool = createPromptTool();\n\n // -- Return assembled hooks --\n return {\n tool: {\n autopilot_start: startTool,\n autopilot_status: statusTool,\n autopilot_stop: stopTool,\n autopilot_help: helpTool,\n autopilot_prompt: promptTool,\n },\n\n event: eventHandler,\n\n \"permission.ask\": permissionHook,\n\n \"experimental.chat.system.transform\": systemTransformHook,\n\n \"chat.message\": chatMessageHook,\n\n \"tool.execute.after\": toolAfterHook,\n };\n};\n"
|
|
22
23
|
],
|
|
23
|
-
"mappings": "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",
|
|
24
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "B16FACD3D9E9525064756E2164756E21",
|
|
25
26
|
"names": []
|
|
26
27
|
}
|
package/package.json
CHANGED