{"version":3,"file":"subagentTool.mjs","names":[],"sources":["../../src/schemas/subagentTool.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\nexport const SUBAGENT_ACTIONS = {\n  agents: 'agents',\n  run: 'run',\n  status: 'status',\n  steer: 'steer',\n  stop: 'stop',\n  suspended: 'suspended',\n  restore: 'restore',\n} as const;\n\nexport type SubagentAction = (typeof SUBAGENT_ACTIONS)[keyof typeof SUBAGENT_ACTIONS];\n\nexport const SUBAGENT_ACTION_FIELDS = {\n  agents: ['action', 'name', 'cwd', 'scope'],\n  run: ['action', 'requests', 'concurrency', 'artifacts', 'scope'],\n  status: ['action', 'id', 'transcriptLines'],\n  steer: ['action', 'id', 'message'],\n  stop: ['action', 'id', 'reason'],\n  suspended: ['action'],\n  restore: ['action', 'id'],\n} as const satisfies Record<SubagentAction, readonly string[]>;\n\nconst IMPLEMENTED_ACTIONS: ReadonlySet<string> = new Set(Object.values(SUBAGENT_ACTIONS));\n\nexport function isSubagentAction(value: unknown): value is SubagentAction {\n  return typeof value === 'string' && IMPLEMENTED_ACTIONS.has(value);\n}\n\nexport function subagentActionAcceptsField(action: SubagentAction, field: string): boolean {\n  return (SUBAGENT_ACTION_FIELDS[action] as readonly string[]).includes(field);\n}\n\nconst AgentScope = Type.Union([Type.Literal('user'), Type.Literal('project'), Type.Literal('both')]);\n\nexport const InlineAgentSchema = Type.Object(\n  { systemPrompt: Type.String({ minLength: 1 }) },\n  { additionalProperties: false },\n);\nexport type InlineAgent = Static<typeof InlineAgentSchema>;\n\nconst RunRequest = Type.Object(\n  {\n    agent: Type.String({ minLength: 1 }),\n    inlineAgent: Type.Optional(InlineAgentSchema),\n    task: Type.String({ minLength: 1 }),\n    cwd: Type.Optional(Type.String({ minLength: 1 })),\n    model: Type.Optional(Type.String({ minLength: 1 })),\n    runtime: Type.Optional(Type.String({ minLength: 1 })),\n  },\n  { additionalProperties: false },\n);\n\nconst AgentsParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.agents),\n    name: Type.Optional(Type.String({ minLength: 1 })),\n    cwd: Type.Optional(Type.String({ minLength: 1 })),\n    scope: Type.Optional(AgentScope),\n  },\n  { additionalProperties: false },\n);\n\nconst RunParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.run),\n    requests: Type.Array(RunRequest, { minItems: 1 }),\n    concurrency: Type.Optional(Type.Integer({ minimum: 1 })),\n    artifacts: Type.Optional(Type.Boolean()),\n    scope: Type.Optional(AgentScope),\n  },\n  { additionalProperties: false },\n);\n\nconst FleetStatusParams = Type.Object(\n  { action: Type.Literal(SUBAGENT_ACTIONS.status) },\n  { additionalProperties: false },\n);\n\nconst RunStatusParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.status),\n    id: Type.String({ minLength: 1 }),\n    transcriptLines: Type.Optional(Type.Integer({ minimum: 1, maximum: 500 })),\n  },\n  { additionalProperties: false },\n);\n\nconst SteerParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.steer),\n    id: Type.String({ minLength: 1 }),\n    message: Type.String({ minLength: 1 }),\n  },\n  { additionalProperties: false },\n);\n\nconst StopParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.stop),\n    id: Type.String({ minLength: 1 }),\n    reason: Type.Optional(Type.String({ minLength: 1 })),\n  },\n  { additionalProperties: false },\n);\n\nconst SuspendedParams = Type.Object(\n  { action: Type.Literal(SUBAGENT_ACTIONS.suspended) },\n  { additionalProperties: false },\n);\n\nconst RestoreParams = Type.Object(\n  {\n    action: Type.Literal(SUBAGENT_ACTIONS.restore),\n    id: Type.String({ minLength: 1 }),\n  },\n  { additionalProperties: false },\n);\n\nexport const SubagentParams = Type.Union([\n  AgentsParams,\n  RunParams,\n  FleetStatusParams,\n  RunStatusParams,\n  SteerParams,\n  StopParams,\n  SuspendedParams,\n  RestoreParams,\n]);\n\nexport type SubagentToolParams = Static<typeof SubagentParams>;\n"],"mappings":"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"}