{"version":3,"file":"fablePlanApi-CW-iehCk.cjs","names":["Type"],"sources":["../src/schemas/fablePlanApi.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport { type Static, Type } from 'typebox';\n\nexport const FABLE_PLAN_REQUESTER = '@agimon-ai/doompi-plan' as const;\nexport const FABLE_PLAN_RUNTIME = 'claude' as const;\nexport const FABLE_PLAN_MODEL = 'fable' as const;\nexport const FABLE_PLAN_PROFILE = 'claude/fable-plan-v1' as const;\nexport const DOOM_FABLE_PLAN_SERVICE = 'doom/fable-plan';\n\nconst MAX_OPERATION_ID_LENGTH = 128;\nconst MAX_RUN_ID_LENGTH = 128;\nconst MAX_SOURCE_PATH_LENGTH = 512;\nconst MAX_ITEM_LENGTH = 4_096;\nconst MAX_GOAL_ITEMS = 8;\nconst MAX_CONSTRAINT_ITEMS = 16;\nconst MAX_DECISION_ITEMS = 16;\nconst MAX_FINDING_ITEMS = 24;\nconst MAX_QUESTION_ITEMS = 16;\nconst MAX_PLAN_LENGTH = 16_384;\nconst MAX_OUTPUT_LENGTH = 16_384;\nconst MAX_ERROR_CODE_LENGTH = 128;\nconst MAX_STATUS_LENGTH = 128;\n\nconst OperationIdSchema = Type.String({ minLength: 1, maxLength: MAX_OPERATION_ID_LENGTH });\nconst RunIdSchema = Type.String({ minLength: 1, maxLength: MAX_RUN_ID_LENGTH });\nconst ItemSchema = Type.String({ minLength: 1, maxLength: MAX_ITEM_LENGTH });\n\nexport const FablePlanFindingSchema = Type.Object(\n  {\n    path: Type.String({ minLength: 1, maxLength: MAX_SOURCE_PATH_LENGTH }),\n    finding: ItemSchema,\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanFinding = Static<typeof FablePlanFindingSchema>;\n\nexport const FablePlanPacketSchema = Type.Object(\n  {\n    goal: Type.Array(ItemSchema, { minItems: 1, maxItems: MAX_GOAL_ITEMS }),\n    constraints: Type.Array(ItemSchema, { maxItems: MAX_CONSTRAINT_ITEMS }),\n    decisions: Type.Array(ItemSchema, { maxItems: MAX_DECISION_ITEMS }),\n    verifiedFindings: Type.Array(FablePlanFindingSchema, { maxItems: MAX_FINDING_ITEMS }),\n    inferredFindings: Type.Array(ItemSchema, { maxItems: MAX_FINDING_ITEMS }),\n    unresolvedQuestions: Type.Array(ItemSchema, { maxItems: MAX_QUESTION_ITEMS }),\n    currentPlan: Type.Optional(Type.String({ maxLength: MAX_PLAN_LENGTH })),\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanPacket = Static<typeof FablePlanPacketSchema>;\n\nexport const FablePlanStageSchema = Type.Union([\n  Type.Literal('draft'),\n  Type.Literal('review'),\n  Type.Literal('completed'),\n  Type.Literal('failed'),\n  Type.Literal('cancelled'),\n  Type.Literal('interrupted'),\n]);\nexport type FablePlanStage = Static<typeof FablePlanStageSchema>;\n\nexport const FablePlanStatusSchema = Type.Union([\n  Type.Literal('completed'),\n  Type.Literal('failed'),\n  Type.Literal('timed_out'),\n  Type.Literal('cancelled'),\n  Type.Literal('interrupted'),\n]);\nexport type FablePlanStatus = Static<typeof FablePlanStatusSchema>;\n\nexport const FablePlanStartSchema = Type.Object(\n  {\n    requester: Type.Literal(FABLE_PLAN_REQUESTER),\n    operationId: OperationIdSchema,\n    runtime: Type.Literal(FABLE_PLAN_RUNTIME),\n    model: Type.Literal(FABLE_PLAN_MODEL),\n    profile: Type.Literal(FABLE_PLAN_PROFILE),\n    packet: FablePlanPacketSchema,\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanStartPayload = Static<typeof FablePlanStartSchema>;\n\nexport const FablePlanStartedSchema = Type.Object(\n  {\n    operationId: OperationIdSchema,\n    runId: RunIdSchema,\n    stage: Type.Union([Type.Literal('draft'), Type.Literal('review')]),\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanStartedPayload = Static<typeof FablePlanStartedSchema>;\n\nexport const FablePlanProgressSchema = Type.Object(\n  {\n    operationId: OperationIdSchema,\n    runId: RunIdSchema,\n    stage: Type.Union([Type.Literal('draft'), Type.Literal('review')]),\n    status: Type.String({ minLength: 1, maxLength: MAX_STATUS_LENGTH }),\n    durationMs: Type.Integer({ minimum: 0 }),\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanProgressPayload = Static<typeof FablePlanProgressSchema>;\n\nexport const FablePlanResultSchema = Type.Object(\n  {\n    operationId: OperationIdSchema,\n    status: FablePlanStatusSchema,\n    stage: FablePlanStageSchema,\n    draft: Type.Optional(Type.String({ maxLength: MAX_OUTPUT_LENGTH })),\n    review: Type.Optional(Type.String({ maxLength: MAX_OUTPUT_LENGTH })),\n    draftRunId: Type.Optional(RunIdSchema),\n    reviewRunId: Type.Optional(RunIdSchema),\n    durationMs: Type.Integer({ minimum: 0 }),\n    errorCode: Type.Optional(Type.String({ minLength: 1, maxLength: MAX_ERROR_CODE_LENGTH })),\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanResultPayload = Static<typeof FablePlanResultSchema>;\n\nexport const FablePlanCancelSchema = Type.Object(\n  {\n    requester: Type.Literal(FABLE_PLAN_REQUESTER),\n    operationId: OperationIdSchema,\n    reason: Type.String({ minLength: 1, maxLength: MAX_STATUS_LENGTH }),\n  },\n  { additionalProperties: false },\n);\nexport type FablePlanCancelPayload = Static<typeof FablePlanCancelSchema>;\n\nexport interface DoomFablePlanService {\n  readonly sessionId: string;\n  readonly generation: string;\n  start(request: FablePlanStartPayload, signal: AbortSignal): Promise<FablePlanResultPayload>;\n  cancel(request: FablePlanCancelPayload): void;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n  interface Context {\n    'doom/fable-plan': DoomFablePlanService;\n  }\n}\n\nexport function readDoomFablePlanService(ctx: Context): DoomFablePlanService | undefined {\n  return ctx.get(DOOM_FABLE_PLAN_SERVICE) as DoomFablePlanService | undefined;\n}\n"],"mappings":"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"}