@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 CHANGED
@@ -22,12 +22,13 @@ Register the plugin in your `opencode.jsonc`:
22
22
  }
23
23
  ```
24
24
 
25
- The plugin registers four tools:
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: \`pi\`
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 = "pi";
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=7838B318ED86DB9164756E2164756E21
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: \\`pi\\`\n`.trim();\n },\n });\n}\n",
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": "7838B318ED86DB9164756E2164756E21",
24
+ "mappings": ";AAoBA,SAAS,kBAAkB,GAAiB;AAAA,EAC1C,OAAO;AAAA,IACL,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ,WAAW,IAAI;AAAA,EACjB;AAAA;AAAA;AAGK,MAAM,aAAa;AAAA,EACP,WAAW,IAAI;AAAA,EAExB,aAAa,CAAC,WAAiC;AAAA,IACrD,MAAM,WAAW,KAAK,SAAS,IAAI,SAAS;AAAA,IAE5C,IAAI,UAAU;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,UAAU,mBAAmB;AAAA,IACnC,KAAK,SAAS,IAAI,WAAW,OAAO;AAAA,IACpC,OAAO;AAAA;AAAA,EAGT,OAAO,CAAC,WAAmB,WAAmB,MAAyB;AAAA,IACrE,KAAK,cAAc,SAAS,EAAE,MAAM,IAAI,WAAW,IAAI;AAAA;AAAA,EAGzD,OAAO,CAAC,WAAmB,WAAuC;AAAA,IAChE,OAAO,KAAK,SAAS,IAAI,SAAS,GAAG,MAAM,IAAI,SAAS,KAAK;AAAA;AAAA,EAG/D,QAAQ,CAAC,WAAmB,WAAmB,OAAqB;AAAA,IAClE,KAAK,cAAc,SAAS,EAAE,OAAO,IAAI,WAAW,KAAK;AAAA;AAAA,EAG3D,QAAQ,CAAC,WAAmB,WAAkC;AAAA,IAC5D,OAAO,KAAK,SAAS,IAAI,SAAS,GAAG,OAAO,IAAI,SAAS,KAAK;AAAA;AAAA,EAGhE,WAAW,CACT,WACA,QACA,WACA,MACM;AAAA,IACN,KAAK,cAAc,SAAS,EAAE,UAAU,IAAI,QAAQ;AAAA,MAClD,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,IACF,CAAC;AAAA;AAAA,EAGH,WAAW,CAAC,WAAmB,QAAuC;AAAA,IACpE,OAAO,KAAK,SAAS,IAAI,SAAS,GAAG,UAAU,IAAI,MAAM,KAAK;AAAA;AAAA,EAGhE,cAAc,CAAC,WAAmB,WAA2B;AAAA,IAC3D,MAAM,UAAU,KAAK,SAAS,IAAI,SAAS;AAAA,IAE3C,IAAI,CAAC,SAAS;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IAEA,OAAO,CAAC,GAAG,QAAQ,UAAU,OAAO,CAAC,EAClC,OAAO,CAAC,SAAS,KAAK,cAAc,SAAS,EAC7C,IAAI,CAAC,SAAS,KAAK,IAAI,EACvB,KAAK,EAAE;AAAA;AAAA,EAGZ,QAAQ,CAAC,WAAoC;AAAA,IAC3C,MAAM,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,mBAAmB;AAAA,IAEnE,OAAO;AAAA,MACL,OAAO,OAAO,YAAY,QAAQ,KAAK;AAAA,MACvC,QAAQ,OAAO,YAAY,QAAQ,MAAM;AAAA,MACzC,WAAW,CAAC,GAAG,QAAQ,UAAU,OAAO,CAAC;AAAA,IAC3C;AAAA;AAAA,EAGF,OAAO,CAAC,WAAyB;AAAA,IAC/B,KAAK,SAAS,OAAO,SAAS;AAAA;AAElC;;;AC3EA,IAAM,wBAAwB,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,aAAa;AAC5E,IAAM,4BAA4B;AAClC,IAAM,wBAAwB;AAC9B,IAAM,2BAA2B;AACjC,IAAM,6BAA6B;AACnC,IAAM,0BAA0B;AAChC,IAAM,uBAAuB;AAE7B,SAAS,eAAe,GAAc;AAAA,EACpC,OAAO;AAAA,IACL,OAAO,CAAC;AAAA,IACR,YAAY,CAAC;AAAA,IACb,iBAAiB,CAAC;AAAA,IAClB,eAAe,CAAC;AAAA,IAChB,cAAc,CAAC;AAAA,IACf,OAAO;AAAA,EACT;AAAA;AAGF,SAAS,mBAAmB,GAAkB;AAAA,EAC5C,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB,CAAC;AAAA,IAClB,eAAe,CAAC;AAAA,IAChB,eAAe;AAAA,EACjB;AAAA;AAGF,SAAS,gBAAgB,CAAC,cAAoC;AAAA,EAC5D,OAAO;AAAA,IACL,QAAQ,aAAa,SAAS,IAAI,YAAY;AAAA,IAC9C,eAAe,CAAC,GAAG,YAAY;AAAA,IAC/B,cAAc;AAAA,IACd,cAAc,CAAC;AAAA,IACf,eAAe;AAAA,EACjB;AAAA;AAGF,SAAS,kBAAkB,CACzB,iBACA,WACc;AAAA,EACd,MAAM,iBAAiB,mBAAmB;AAAA,EAC1C,MAAM,mBACJ,mBAAmB,OAAO,kBAAkB,YAAY;AAAA,EAE1D,OAAO;AAAA,IACL,kBAAkB;AAAA,IAClB;AAAA,IACA,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,oBAAoB;AAAA,EACtB;AAAA;AAGF,SAAS,mBAAmB,CAAC,SAAmD;AAAA,EAC9E,OAAO;AAAA,IACL,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,wBAAwB;AAAA,IACxB,kBAAkB,QAAQ,kBAAkB;AAAA,IAC5C,oBAAoB,QAAQ,oBAAoB;AAAA,IAChD,iBAAiB,QAAQ,iBAAiB;AAAA,EAC5C;AAAA;AAGK,SAAS,kBAAkB,CAChC,MACA,UAAqC,CAAC,GACvB;AAAA,EACf,MAAM,YAAY,QAAQ,aAAa;AAAA,EACvC,MAAM,eAAe,QAAQ,gBAAgB,CAAC;AAAA,EAE9C,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,MAAM,QAAQ,QAAQ;AAAA,IACtB,OAAO,QAAQ,SAAS;AAAA,IACxB;AAAA,IACA,YAAY,gBAAgB;AAAA,IAC5B,qBAAqB,CAAC;AAAA,IACtB,eAAe,CAAC,GAAI,QAAQ,gBAAgB,qBAAsB;AAAA,IAClE,eAAe,CAAC,GAAG,YAAY;AAAA,IAC/B,gBAAgB,oBAAoB;AAAA,IACpC,aAAa,iBAAiB,QAAQ,gBAAgB,YAAY;AAAA,IAClE,eAAe,mBACb,QAAQ,mBAAmB,MAC3B,QAAQ,oBAAoB,yBAC9B;AAAA,IACA,mBAAmB;AAAA,IACnB,kBAAkB,CAAC;AAAA,IACnB,gBAAgB,oBAAoB,OAAO;AAAA,IAC3C,aAAa;AAAA,IACb,qBAAqB;AAAA,MACnB,QAAQ,CAAC;AAAA,MACT,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,IAClB;AAAA,IACA,oBAAoB;AAAA,IACpB,eAAe,QAAQ,gBAAgB;AAAA,IACvC,cAAc,QAAQ,eAAe;AAAA,IACrC,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACb;AAAA;AAGK,SAAS,kBAAkB,CAChC,WACA,MACA,UAAwD,CAAC,GAC1C;AAAA,EACf,OAAO,mBAAmB,MAAM;AAAA,OAC3B;AAAA,IACH;AAAA,IACA,MAAM,QAAQ,QAAQ;AAAA,IACtB,OAAO,QAAQ,SAAS;AAAA,EAC1B,CAAC;AAAA;;;AC7II,SAAS,uBAAuB,CACrC,SACQ;AAAA,EACR,OAAO;AAAA,IACL,0BAA0B,QAAQ,iBAAiB,QAAQ;AAAA,IAC3D;AAAA,IACA,kBAAkB,QAAQ;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA;;ACTb,IAAM,sBACJ;AACF,IAAM,kBACJ;AAEK,SAAS,oBAAoB,CAAC,MAAyC;AAAA,EAC5E,MAAM,QAAQ,KAAK,MAAM,mBAAmB;AAAA,EAE5C,IAAI,CAAC,OAAO;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EAEA,SAAS,WAAW,aAAa;AAAA,EAEjC,IAAI,CAAC,aAAa,cAAc,WAAW;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,UAAU,YAAY;AAAA,EACrC,OAAO;AAAA,IACL;AAAA,IACA,QAAQ,UAAU,KAAK,KAAK,cAAc,MAAM;AAAA,EAClD;AAAA;AAGK,SAAS,oBAAoB,CAAC,MAAsB;AAAA,EACzD,OAAO,KAAK,QAAQ,qBAAqB,EAAE,EAAE,QAAQ;AAAA;AAGhD,SAAS,uBAAuB,CAAC,MAAkC;AAAA,EACxE,MAAM,SAAS,qBAAqB,IAAI;AAAA,EAExC,IAAI,QAAQ;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,KAAK,KAAK;AAAA,EACzB,IAAI,CAAC,QAAQ;AAAA,IACX,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,gBAAgB,KAAK,MAAM,GAAG;AAAA,IAChC,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA;AAGF,SAAS,aAAa,CAAC,QAA0C;AAAA,EAC/D,IAAI,WAAW,YAAY;AAAA,IACzB,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,WAAW,WAAW;AAAA,IACxB,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA;;AC5DF,SAAS,mBAAmB,CAAC,OAAiD;AAAA,EACnF,IAAI,CAAC,OAAO;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,QAAkB,CAAC;AAAA,EAEzB,IAAI,MAAM,QAAQ;AAAA,IAChB,QAAQ,OAAO,OAAO,WAAW,MAAM;AAAA,IAEvC,IAAI,OAAO,SAAS,KAAK,GAAG;AAAA,MAC1B,MAAM,KAAK,GAAG,cAAc;AAAA,IAC9B,EAAO,SAAI,OAAO,SAAS,KAAK,KAAK,OAAO,SAAS,MAAM,GAAG;AAAA,MAC5D,MAAM,aAAuB,CAAC;AAAA,MAE9B,IAAI,OAAO,SAAS,KAAK,GAAG;AAAA,QAC1B,WAAW,KAAK,MAAM,OAAO;AAAA,MAC/B;AAAA,MAEA,IAAI,OAAO,SAAS,MAAM,GAAG;AAAA,QAC3B,WAAW,KAAK,OAAO,QAAQ;AAAA,MACjC;AAAA,MAEA,IAAI,WAAW,SAAS,GAAG;AAAA,QACzB,MAAM,KAAK,WAAW,KAAK,IAAI,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,YAAY,MAAM,MAAM;AAAA,EAC9B,IAAI,OAAO,SAAS,SAAS,GAAG;AAAA,IAC9B,MAAM,KAAK,QAAQ,WAAW;AAAA,EAChC;AAAA,EAEA,OAAO,MAAM,KAAK,IAAI;AAAA;AAGjB,SAAS,uBAAuB,CACrC,OACQ;AAAA,EACR,IAAI,CAAC,OAAO;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS;AAAA,IACb,SAAS,MAAM;AAAA,IACf,QAAQ,MAAM;AAAA,IACd,aAAa,MAAM,sBAAsB,MAAM;AAAA,IAC/C,SAAS,MAAM;AAAA,EACjB;AAAA,EAEA,IAAI,MAAM,aAAa;AAAA,IACrB,OAAO,KAAK,QAAQ,MAAM,aAAa;AAAA,EACzC;AAAA,EAEA,MAAM,cAAc,MAAM,oBAAoB,OAAO,GAAG,EAAE;AAAA,EAC1D,IAAI,aAAa;AAAA,IACf,OAAO,KAAK,cAAc,YAAY,YAAY;AAAA,EACpD;AAAA,EAEA,OAAO,qBAAqB,OAAO,KAAK,IAAI;AAAA;;ACzEvC,IAAM,kCAAkC;AACxC,IAAM,qCAAqC;AAE3C,SAAS,qBAAqB,CAAC,OAAwB;AAAA,EAC5D,MAAM,UAAU,OAAO,KAAK;AAAA,EAE5B,IAAI,CAAC,OAAO,SAAS,OAAO,KAAK,WAAW,GAAG;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,KAAK,IACV,oCACA,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,CAAC,CACjC;AAAA;;ACbK,SAAS,0BAA0B,GAAW;AAAA,EACnD,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA;;ACKN,SAAS,qBAAqB,GAAoB;AAAA,EACvD,OAAO;AAAA,IACL,wBAAwB;AAAA,IACxB,WAAW;AAAA,IACX,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,wBAAwB;AAAA,EAC1B;AAAA;AAuBF,SAAS,QAAQ,CAAC,OAAiC;AAAA,EACjD,OAAO,OAAO,UAAU;AAAA;AAG1B,SAAS,QAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU;AAAA;AAGhD,SAAS,cAAc,CACrB,OAC4D;AAAA,EAC5D,IAAI,CAAC,SAAS,KAAK;AAAA,IAAG;AAAA,EAEtB,MAAM,SAAyD,CAAC;AAAA,EAEhE,IAAI,SAAS,MAAM,OAAO,GAAG;AAAA,IAC3B,OAAO,OAAO,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,SAAS,MAAM,OAAO,KAAK,SAAS,MAAM,QAAQ,UAAU,GAAG;AAAA,IACjE,OAAO,OAAO,EAAE,SAAS,MAAM,QAAQ,WAAW;AAAA,EACpD;AAAA,EAEA,OAAO;AAAA;AAYF,SAAS,kBAAkB,CAChC,MAC+C;AAAA,EAC/C;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,EAEJ,OAAO,eAAe,WAAW,CAAC,OAEhB;AAAA,IAChB,QAAQ,UAAU;AAAA,IAElB,QAAQ,MAAM;AAAA,WACP,mBAAmB;AAAA,QACtB,MAAM,OAAO,MAAM,WAAW;AAAA,QAC9B,IAAI,CAAC,SAAS,IAAI;AAAA,UAAG;AAAA,QAErB,MAAM,YAAY,KAAK;AAAA,QACvB,MAAM,YAAY,KAAK;AAAA,QACvB,MAAM,OAAO,KAAK;AAAA,QAElB,IAAI,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS,IAAI,GAAG;AAAA,UACnE;AAAA,QACF;AAAA,QAEA,IAAI,SAAS,UAAU,SAAS,aAAa;AAAA,UAC3C,aAAa,QAAQ,WAAW,WAAW,IAAI;AAAA,QACjD;AAAA,QAEA,IAAI,WAAW,QAAQ,SAAS,KAAK,QAAQ,GAAG;AAAA,UAC9C,aAAa,SAAS,WAAW,WAAW,KAAK,QAAQ;AAAA,QAC3D;AAAA,QAEA,IAAI,SAAS,aAAa;AAAA,UACxB,MAAM,QAAQ,SAAS,SAAS;AAAA,UAChC,MAAM,WAAW,YAAY,SAAS;AAAA,UAEtC,IAAI,SAAS,YAAY,SAAS,qBAAqB;AAAA,YACrD,MAAM,QACJ,WAAW,QAAQ,SAAS,KAAK,QAAQ,IACrC,KAAK,WACL;AAAA,YAEN,IAAI,UAAU,MAAM,cAAc;AAAA,cAChC,SAAS,yBAAyB;AAAA,cAClC,SAAS,YAAY;AAAA,gBACnB,QAAQ,KAAK;AAAA,gBACb,MAAM,KAAK;AAAA,cACb;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WAEK,wBAAwB;AAAA,QAC3B,MAAM,OAAO,MAAM,WAAW;AAAA,QAC9B,IAAI,CAAC,SAAS,IAAI;AAAA,UAAG;AAAA,QAErB,IACE,KAAK,YAAY,UACjB,CAAC,SAAS,KAAK,YAAY,KAC3B,CAAC,SAAS,KAAK,YAAY,KAC3B,CAAC,SAAS,KAAK,KAAK,KACpB,CAAC,SAAS,KAAK,OAAO,GACtB;AAAA,UACA;AAAA,QACF;AAAA,QAEA,MAAM,QAAQ,SAAS,KAAK,YAAY;AAAA,QACxC,IAAI,CAAC;AAAA,UAAO;AAAA,QAEZ,MAAM,aAAa,aAAa,QAC9B,KAAK,cACL,KAAK,YACP;AAAA,QACA,MAAM,cAAc,aAAa,SAC/B,KAAK,cACL,KAAK,YACP;AAAA,QAEA,IAAI,eAAe,eAAe,gBAAgB,MAAM,cAAc;AAAA,UACpE,aAAa,YACX,KAAK,cACL,KAAK,OACL,KAAK,cACL,KAAK,OACP;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WAEK,gBAAgB;AAAA,QACnB,MAAM,YAAY,MAAM,WAAW;AAAA,QACnC,IAAI,CAAC,SAAS,SAAS;AAAA,UAAG;AAAA,QAE1B,MAAM,cAAc,SAAS;AAAA,QAC7B;AAAA,MACF;AAAA,WAEK,iBAAiB;AAAA,QACpB,MAAM,YAAY,MAAM,WAAW;AAAA,QACnC,IAAI,CAAC,SAAS,SAAS;AAAA,UAAG;AAAA,QAE1B,MAAM,QAAQ,SAAS,SAAS;AAAA,QAChC,IAAI,CAAC,SAAS,MAAM,SAAS;AAAA,UAAW;AAAA,QAExC,MAAM,QAAQ,eAAe,MAAM,WAAW,QAAQ;AAAA,QACtD,MAAM,eAAe,WAAW,KAAK;AAAA,QACrC;AAAA,MACF;AAAA,WAEK,mBAAmB;AAAA,QACtB,MAAM,OAAO,MAAM,WAAW;AAAA,QAC9B,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;AAAA,UAAG;AAAA,QAE9C,aAAa,QAAQ,KAAK,KAAK;AAAA,QAC/B,YAAY,KAAK,KAAK;AAAA,QACtB;AAAA,MACF;AAAA,WAEK,sBAAsB;AAAA,QACzB,MAAM,YAAY,MAAM,WAAW;AAAA,QACnC,IAAI,CAAC,SAAS,SAAS;AAAA,UAAG;AAAA,QAE1B,MAAM,QAAQ,SAAS,SAAS;AAAA,QAChC,MAAM,WAAW,YAAY,SAAS;AAAA,QAEtC,IAAI,CAAC,SAAS,MAAM,SAAS,aAAa,CAAC;AAAA,UAAU;AAAA,QAIrD,SAAS,sBAAsB;AAAA,QAC/B,MAAM,WAAW,SAAS,MAAM,WAAW,OAAO,IAC9C,MAAM,WAAW,UACjB;AAAA,QACJ,MAAM,WAAW,MAAM,WAAW;AAAA,QAClC,MAAM,aAAa,MAAM,QAAQ,QAAQ,IACrC,SAAS,OAAO,QAAQ,EAAE,KAAK,IAAI,IACnC,SAAS,QAAQ,IACf,WACA;AAAA,QACN,SAAS,yBACP,UAAU,YAAY,aAAa,KAAK;AAAA,QAC1C;AAAA,MACF;AAAA;AAAA;AAAA;;;AC/LC,SAAS,oBAAoB,CAClC,MACqE;AAAA,EACrE,OAAO,OACL,OACA,WACkB;AAAA,IAClB,MAAM,QAAQ,KAAK,SAAS,MAAM,SAAS;AAAA,IAE3C,IAAI,CAAC,SAAS,MAAM,SAAS,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,IAEA,MAAM,iBAAiB,KAAK,kBAAkB,MAAM,SAAS;AAAA,IAE7D,IAAI,mBAAmB,aAAa;AAAA,MAClC,OAAO,SAAS;AAAA,MAChB;AAAA,IACF;AAAA,IAEA,IAAI,mBAAmB,WAAW;AAAA,MAChC,OAAO,SAAS;AAAA,MAChB,KAAK,qBAAqB,MAAM,WAAW;AAAA,QACzC,MAAM,MAAM;AAAA,QACZ,SAAS,MAAM;AAAA,QACf,OAAO,MAAM;AAAA,MACf,CAAC;AAAA,IACH;AAAA;AAAA;;;ACzCG,SAAS,yBAAyB,CACvC,MAIiB;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,EAEJ,OAAO,OACL,OACA,WACkB;AAAA,IAClB,QAAQ,cAAc;AAAA,IAEtB,IAAI,cAAc,WAAW;AAAA,MAC3B;AAAA,IACF;AAAA,IAEA,MAAM,QAAQ,SAAS,SAAS;AAAA,IAEhC,IAAI,CAAC,SAAS,MAAM,SAAS,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,IAEA,MAAM,gBAAgB,iBAAiB,SAAS;AAAA,IAEhD,IAAI,gBAAgB,GAAG;AAAA,MACrB,uBAAuB,SAAS;AAAA,MAChC;AAAA,IACF;AAAA,IAEA,IAAI,CAAC,MAAM,QAAQ,OAAO,MAAM,GAAG;AAAA,MACjC,OAAO,SAAS,CAAC;AAAA,IACnB;AAAA,IAEA,OAAO,OAAO,KAAK,kBAAkB,CAAC;AAAA;AAAA;;;AC7DnC,IAAM,gBAAgB;AAwBtB,SAAS,qBAAqB,CACnC,MACuE;AAAA,EACvE,QAAQ,UAAU,2BAA2B;AAAA,EAE7C,OAAO,OACL,OACA,YACkB;AAAA,IAClB,MAAM,QAAQ,SAAS,MAAM,SAAS;AAAA,IAEtC,IAAI,CAAC,SAAS,MAAM,SAAS,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,IAEA,IAAI,MAAM,UAAU,eAAe;AAAA,MACjC,uBAAuB,MAAM,SAAS;AAAA,IACxC;AAAA;AAAA;;;ACzCJ,IAAM,wBAAwB;AAmBvB,SAAS,mBAAmB,CACjC,MACmE;AAAA,EACnE,OAAO,OACL,OACA,WACkB;AAAA,IAClB,IAAI,MAAM,SAAS,uBAAuB;AAAA,MACxC;AAAA,IACF;AAAA,IAEA,OAAO,SAAS,KAAK,YAAY,OAAO,MAAM;AAAA;AAAA;;;AClClD;AA4BA,IAAM,2BAA2B;AAE1B,SAAS,eAAe,CAAC,MAAqB;AAAA,EACnD,OAAO,KAAK;AAAA,IACV,aAAa;AAAA,IACb,MAAM;AAAA,MACJ,MAAM,KAAK,OACR,OAAO,EACP,IAAI,CAAC,EACL,SAAS,2CAA2C;AAAA,MACvD,gBAAgB,KAAK,OAClB,KAAK,CAAC,WAAW,WAAW,CAAC,EAC7B,SAAS,EACT,SACC,yDACF;AAAA,MACF,cAAc,KAAK,OAChB,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,SACC,iFACF;AAAA,MACF,aAAa,KAAK,OACf,OAAO,EACP,SAAS,EACT,SACC,4DACF;AAAA,IACJ;AAAA,SACM,QAAO,CAAC,MAAM,SAAS;AAAA,MAC3B,IAAI,KAAK,KAAK,KAAK,EAAE,YAAY,MAAM,QAAQ;AAAA,QAC7C,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBb,KAAK;AAAA,MACD;AAAA,MAEA,MAAM,iBAAiB,KAAK,kBAAkB;AAAA,MAC9C,MAAM,eAAe,KAAK,sBAAsB,KAAK,YAAY;AAAA,MACjE,MAAM,cACJ,KAAK,aAAa,KAAK,KAAK,KAAK,sBAAsB;AAAA,MAEzD,MAAM,QAAQ,KAAK,mBAAmB,QAAQ,WAAW,KAAK,KAAK,KAAK,GAAG;AAAA,QACzE;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MAID,OAAO,eAAe,OAAO,kBAAkB;AAAA,QAC7C,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB,CAAC;AAAA,MAED,KAAK,SAAS,QAAQ,WAAW,KAAK;AAAA,MACtC,KAAK,YAAY,QAAQ,SAAS;AAAA,MAElC,QAAQ,SAAS;AAAA,QACf,OAAO;AAAA,QACP,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAED,MAAM,KAAK,QAAQ,QAAQ,WAAW,KAAK;AAAA,MAE3C,OAAO,sBAAsB,4BAA4B,yEAAyE;AAAA;AAAA,EAEtI,CAAC;AAAA;;;AC3HH,iBAAS;AAiBF,SAAS,gBAAgB,CAAC,MAAsB;AAAA,EACrD,OAAO,MAAK;AAAA,IACV,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,SACD,QAAO,CAAC,OAAO,SAAS;AAAA,MAC5B,MAAM,QAAQ,KAAK,SAAS,QAAQ,SAAS;AAAA,MAE7C,IAAI,CAAC,OAAO;AAAA,QACV,OAAO,KAAK,eAAe,KAAK;AAAA,MAClC;AAAA,MAEA,MAAM,UAAU,KAAK,WAAW,QAAQ,SAAS;AAAA,MACjD,MAAM,aACJ,QAAQ,SAAS,IACb;AAAA;AAAA,IAAuB,QAAQ,KAAK;AAAA,GAAM,MAC1C;AAAA,MAEN,OAAO,GAAG,KAAK,eAAe,KAAK,IAAI;AAAA;AAAA,EAE3C,CAAC;AAAA;;;ACpCH,iBAAS;AAgBF,SAAS,cAAc,CAAC,MAAoB;AAAA,EACjD,OAAO,MAAK;AAAA,IACV,aAAa;AAAA,IACb,MAAM;AAAA,MACJ,QAAQ,MAAK,OACV,OAAO,EACP,SAAS,EACT,SAAS,gDAAgD;AAAA,IAC9D;AAAA,SACM,QAAO,CAAC,MAAM,SAAS;AAAA,MAC3B,MAAM,QAAQ,KAAK,SAAS,QAAQ,SAAS;AAAA,MAE7C,IAAI,CAAC,SAAS,MAAM,SAAS,WAAW;AAAA,QACtC,OAAO;AAAA,MACT;AAAA,MAEA,KAAK,OAAO,QAAQ,WAAW,KAAK,MAAM;AAAA,MAE1C,OAAO,KAAK,SACR,sBAAsB,KAAK,WAC3B;AAAA;AAAA,EAER,CAAC;AAAA;;;ACtCH,iBAAS;AAEF,SAAS,cAAc,GAAG;AAAA,EAC/B,OAAO,MAAK;AAAA,IACV,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,SAAS,YAAY;AAAA,MACnB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBX,KAAK;AAAA;AAAA,EAEL,CAAC;AAAA;;;ACjCH,iBAAS;AAET,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BlB,SAAS,gBAAgB,GAAG;AAAA,EACjC,OAAO,MAAK;AAAA,IACV,aACE;AAAA,IACF,MAAM,CAAC;AAAA,IACP,SAAS,YAAY;AAAA,EACvB,CAAC;AAAA;;;ACFH,IAAM,4BAA2B;AACjC,IAAM,sBAAsB;AAMrB,IAAM,kBAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,MACI;AAAA,EAEJ,MAAM,iBAAiB,IAAI;AAAA,EAC3B,MAAM,oBAAoB,IAAI;AAAA,EAC9B,MAAM,yBAAyB,IAAI;AAAA,EACnC,MAAM,mBAAmB,IAAI;AAAA,EAC7B,MAAM,0BAA0B,IAAI;AAAA,EACpC,MAAM,eAAe,IAAI;AAAA,EAGzB,MAAM,WAAW,CAAC,cAChB,eAAe,IAAI,SAAS;AAAA,EAE9B,MAAM,WAAW,CAAC,WAAmB,UAA+B;AAAA,IAClE,eAAe,IAAI,WAAW,KAAK;AAAA;AAAA,EAGrC,MAAM,cAAc,CAAC,cAA4B;AAAA,IAC/C,eAAe,OAAO,SAAS;AAAA,IAC/B,kBAAkB,OAAO,SAAS;AAAA,IAClC,uBAAuB,OAAO,SAAS;AAAA,IACvC,iBAAiB,OAAO,SAAS;AAAA,IACjC,wBAAwB,OAAO,SAAS;AAAA;AAAA,EAG1C,MAAM,cAAc,CAAC,cACnB,kBAAkB,IAAI,SAAS;AAAA,EAEjC,MAAM,cAAc,CAAC,cAA4B;AAAA,IAC/C,kBAAkB,IAAI,WAAW,sBAAsB,CAAC;AAAA,IACxD,uBAAuB,IAAI,WAAW,CAAC;AAAA,IACvC,iBAAiB,IAAI,WAAW,CAAC,CAAC;AAAA;AAAA,EAGpC,MAAM,gBAAgB,CAAC,WAAmB,YAA0B;AAAA,IAClE,IAAI,UAAU,iBAAiB,IAAI,SAAS;AAAA,IAC5C,IAAI,CAAC,SAAS;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,iBAAiB,IAAI,WAAW,OAAO;AAAA,IACzC;AAAA,IACA,QAAQ,KAAK,OAAO;AAAA,IACpB,IAAI,QAAQ,SAAS,qBAAqB;AAAA,MACxC,iBAAiB,IAAI,WAAW,QAAQ,MAAM,CAAC,mBAAmB,CAAC;AAAA,IACrE;AAAA;AAAA,EAIF,MAAM,YAAY,OAAO,SAIJ;AAAA,IACnB,IAAI;AAAA,MACF,MAAM,OAAO,IAAI,UAAU;AAAA,QACzB;AAAA,QACA,WAAW;AAAA,QACX,OAAO,KAAK;AAAA,QACZ,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,MACZ,CAAC;AAAA,MACD,MAAM;AAAA;AAAA,EAMV,MAAM,aAAa,OACjB,WACA,QACA,QACA,UAAoD,WAClC;AAAA,IAClB,MAAM,QAAQ,SAAS,SAAS;AAAA,IAChC,IAAI,CAAC;AAAA,MAAO;AAAA,IAEZ,MAAM,OAAO;AAAA,IACb,MAAM,QAAQ;AAAA,IACd,MAAM,cAAc;AAAA,IACpB,cAAc,WAAW,SAAS,GAAG,WAAW,WAAW,MAAM;AAAA,IAEjE,MAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,SAAS,SAAS,GAAG,WAAW,WAAW;AAAA,MAC3C;AAAA,IACF,CAAC;AAAA;AAAA,EAIH,MAAM,iBAAiB,OACrB,WACA,OACA,eACkB;AAAA,IAClB,MAAM,WAAW,YAAY,SAAS;AAAA,IACtC,IAAI,CAAC;AAAA,MAAU;AAAA,IAEf,SAAS,sBAAsB;AAAA,IAC/B,SAAS,yBAAyB;AAAA,IAElC,IAAI;AAAA,MAGF,MAAO,OAAO,QAAQ,YAAoE;AAAA,QACxF;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,OAAO,MAAM;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,QAAiB,MAAM,WAAW,CAAC;AAAA,MACrD,CAAC;AAAA,MACD,MAAM;AAAA;AAAA,EAMV,MAAM,gBAAgB,OAAO,cAAqC;AAAA,IAChE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAChC,MAAM,WAAW,YAAY,SAAS;AAAA,IACtC,IAAI,CAAC,SAAS,MAAM,SAAS,aAAa,CAAC;AAAA,MAAU;AAAA,IAGrD,IAAI,MAAM,UAAU,aAAa,MAAM,uBAAuB,KAAK,CAAC,SAAS,wBAAwB;AAAA,MACnG,cAAc,WAAW,sBAAsB,MAAM,cAAc;AAAA,MACnE,MAAM,UAAU;AAAA,QACd,OAAO;AAAA,QACP,SAAS,sBAAsB,MAAM;AAAA,QACrC,SAAS;AAAA,MACX,CAAC;AAAA,MACD,MAAM,eAAe,WAAW,OAAO,MAAM,IAAI;AAAA,MACjD;AAAA,IACF;AAAA,IAGA,IAAI,SAAS,qBAAqB;AAAA,MAChC,SAAS,sBAAsB;AAAA,MAC/B,MAAM,WACJ,WACA,0BACA,SAAS,0BACP,iDACF,SACF;AAAA,MACA;AAAA,IACF;AAAA,IAGA,MAAM,YAAY,SAAS;AAAA,IAC3B,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,SAAS,sBAAsB;AAAA,IAC/B,SAAS,yBAAyB;AAAA,IAElC,MAAM,gBAAgB,aAAa,eAAe,WAAW,SAAS;AAAA,IACtE,MAAM,YAAY,wBAAwB,aAAa;AAAA,IAEvD,IAAI,UAAU,WAAW,YAAY;AAAA,MACnC,MAAM,WACJ,WACA,kBACA,UAAU,QACV,SACF;AAAA,MACA;AAAA,IACF;AAAA,IAEA,IAAI,UAAU,WAAW,WAAW;AAAA,MAClC,MAAM,WACJ,WACA,gBACA,UAAU,QACV,SACF;AAAA,MACA;AAAA,IACF;AAAA,IAGA,IAAI,MAAM,sBAAsB,MAAM,eAAe;AAAA,MACnD,MAAM,WACJ,WACA,8BACA,iBAAiB,MAAM,gDACvB,SACF;AAAA,MACA;AAAA,IACF;AAAA,IAGA,MAAM,sBAAsB;AAAA,IAC5B,MAAM,YAAY,oBAChB,SAAS,SACX;AAAA,IACA,MAAM,SAAS,YAAY,KAAK,eAAe;AAAA,IAC/C,cACE,WACA,gBAAgB,MAAM,sBAAsB,MAAM,gBAAgB,QACpE;AAAA,IAEA,MAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,SAAS,gBAAgB,MAAM,sBAAsB,MAAM,gBAAgB;AAAA,MAC3E,SAAS;AAAA,IACX,CAAC;AAAA,IAED,MAAM,eACJ,WACA,OACA,wBAAwB;AAAA,MACtB,eAAe,MAAM;AAAA,MACrB,cAAc,MAAM;AAAA,MACpB,MAAM,MAAM;AAAA,IACd,CAAC,CACH;AAAA;AAAA,EAIF,MAAM,eAAe,mBAAmB;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,gBAAgB,OAAO,WAAW,UAAU;AAAA,MAC1C,MAAM,eACJ,OAAO,MAAM,WAAW;AAAA,MAC1B,MAAM,UAAU,OAAO,SAAS;AAAA,MAChC,MAAM,SAAS,UAAU,gBAAgB;AAAA,MACzC,MAAM,UAA+B,UAAU,YAAY;AAAA,MAC3D,MAAM,WAAW,WAAW,QAAQ,cAAc,OAAO;AAAA;AAAA,EAE7D,CAAC;AAAA,EAED,MAAM,iBAAiB,qBAAqB;AAAA,IAC1C;AAAA,IACA,mBAAmB,CAAC,cAAc,wBAAwB,IAAI,SAAS;AAAA,IACvE,oBAAoB,CAAC,WAAW,eAAe;AAAA,MAC7C,MAAM,WAAW,YAAY,SAAS;AAAA,MACtC,IAAI,CAAC;AAAA,QAAU;AAAA,MACf,SAAS,sBAAsB;AAAA,MAC/B,MAAM,aAAa,MAAM,QAAQ,WAAW,OAAO,IAC/C,WAAW,QAAQ,KAAK,IAAI,IAC5B,WAAW,WAAW;AAAA,MAC1B,SAAS,yBACP,UAAU,WAAW,QAAQ,aAAa,KAAK;AAAA,MACjD,cACE,WACA,SAAS,sBACX;AAAA;AAAA,EAEJ,CAAC;AAAA,EAED,MAAM,sBAAsB,0BAA0B;AAAA,IACpD;AAAA,IACA,kBAAkB,CAAC,cACjB,uBAAuB,IAAI,SAAS,KAAK;AAAA,IAC3C,wBAAwB,CAAC,cAAc;AAAA,MACrC,MAAM,UAAU,uBAAuB,IAAI,SAAS,KAAK;AAAA,MACzD,IAAI,UAAU,GAAG;AAAA,QACf,uBAAuB,IAAI,WAAW,UAAU,CAAC;AAAA,MACnD;AAAA;AAAA,IAEF,mBAAmB;AAAA,EACrB,CAAC;AAAA,EAED,MAAM,kBAAkB,sBAAsB;AAAA,IAC5C;AAAA,IACA,wBAAwB,CAAC,cAAc;AAAA,MACrC,MAAM,UAAU,uBAAuB,IAAI,SAAS,KAAK;AAAA,MACzD,uBAAuB,IAAI,WAAW,UAAU,CAAC;AAAA;AAAA,EAErD,CAAC;AAAA,EAED,MAAM,gBAAgB,oBAAoB;AAAA,IACxC,aAAa;AAAA,EACf,CAAC;AAAA,EAGD,MAAM,YAAY,gBAAgB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,SAAS,OAAO,WAAW,UAAU;AAAA,MAEnC,MAAM,KAAM,MAA6C;AAAA,MACzD,IAAI,OAAO,eAAe,OAAO,WAAW;AAAA,QAC1C,wBAAwB,IAAI,WAAW,EAAE;AAAA,MAC3C,EAAO;AAAA,QACL,wBAAwB,IAAI,WAAW,SAAS;AAAA;AAAA,MAElD,cACE,WACA,YAAY,wBAAwB,IAAI,SAAS,eAAe,MAAM,eACxE;AAAA,MACA,cACE,WACA,uBAAuB,MAAM,gBAC/B;AAAA;AAAA,EAEJ,CAAC;AAAA,EAED,MAAM,aAAa,iBAAiB;AAAA,IAClC;AAAA,IACA,gBAAgB;AAAA,IAChB,YAAY,CAAC,cAAc,iBAAiB,IAAI,SAAS,KAAK,CAAC;AAAA,EACjE,CAAC;AAAA,EAED,MAAM,WAAW,eAAe;AAAA,IAC9B;AAAA,IACA,QAAQ,CAAC,WAAW,WAAW;AAAA,MAC7B,MAAM,QAAQ,SAAS,SAAS;AAAA,MAChC,IAAI,CAAC;AAAA,QAAO;AAAA,MACZ,MAAM,OAAO;AAAA,MACb,MAAM,QAAQ;AAAA,MACd,MAAM,cAAc;AAAA,MACpB,cACE,WACA,SAAS,sBAAsB,WAAW,mBAC5C;AAAA;AAAA,EAEJ,CAAC;AAAA,EAED,MAAM,WAAW,eAAe;AAAA,EAChC,MAAM,aAAa,iBAAiB;AAAA,EAGpC,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,IACpB;AAAA,IAEA,OAAO;AAAA,IAEP,kBAAkB;AAAA,IAElB,sCAAsC;AAAA,IAEtC,gBAAgB;AAAA,IAEhB,sBAAsB;AAAA,EACxB;AAAA;",
25
+ "debugId": "B16FACD3D9E9525064756E2164756E21",
25
26
  "names": []
26
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withakay/opencode-autopilot",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Autopilot mode plugin for OpenCode - autonomous multi-step task execution with safety guarantees",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",