{"version":3,"file":"apiContracts.cjs","names":["Type","defineApiContract"],"sources":["../../../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineApiContract } from '@agimon-ai/doompi-core/api-contracts';\nimport { Type } from 'typebox';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst O = Type.Optional;\nconst literals = <T extends string>(values: T[]) => Type.Union(values.map((value) => Type.Literal(value)));\nexport const TasksPayloadSchema = Type.Object({\n  tasks: Type.Array(\n    Type.Object({\n      id: N,\n      subject: S,\n      description: O(S),\n      activeForm: O(S),\n      status: literals(['pending', 'in_progress', 'completed', 'failed', 'deleted']),\n      blockedBy: Type.Array(N),\n      owner: O(S),\n      updatedAt: O(S),\n      delegation: O(Type.Object({ agent: O(S), state: O(S) })),\n    }),\n  ),\n  rev: N,\n});\nexport const apiContracts = defineApiContract({\n  version: 1,\n  http: [],\n  dynamic: [],\n  sockets: (['global', 'workspace'] as const).map((scope) => ({\n    id: 'tasks.channel',\n    scope,\n    service: 'doompi.hub.v1',\n    member: 'task_graph',\n    kind: 'channel',\n    direction: 'server-to-client',\n    description: 'Task graph channel payload.',\n    input: TasksPayloadSchema,\n  })),\n});\nexport default apiContracts;\n"],"mappings":";;;AAGA,MAAM,IAAIA,QAAAA,KAAK,OAAO;AACtB,MAAM,IAAIA,QAAAA,KAAK,OAAO;AACtB,MAAM,IAAIA,QAAAA,KAAK;AACf,MAAM,YAA8B,WAAgBA,QAAAA,KAAK,MAAM,OAAO,KAAK,UAAUA,QAAAA,KAAK,QAAQ,KAAK,CAAC,CAAC;AACzG,MAAa,qBAAqBA,QAAAA,KAAK,OAAO;CAC5C,OAAOA,QAAAA,KAAK,MACVA,QAAAA,KAAK,OAAO;EACV,IAAI;EACJ,SAAS;EACT,aAAa,EAAE,CAAC;EAChB,YAAY,EAAE,CAAC;EACf,QAAQ,SAAS;GAAC;GAAW;GAAe;GAAa;GAAU;EAAS,CAAC;EAC7E,WAAWA,QAAAA,KAAK,MAAM,CAAC;EACvB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,CAAC;EACd,YAAY,EAAEA,QAAAA,KAAK,OAAO;GAAE,OAAO,EAAE,CAAC;GAAG,OAAO,EAAE,CAAC;EAAE,CAAC,CAAC;CACzD,CAAC,CACH;CACA,KAAK;AACP,CAAC;AACD,MAAa,gBAAA,GAAeC,qCAAAA,kBAAAA,CAAkB;CAC5C,SAAS;CACT,MAAM,CAAC;CACP,SAAS,CAAC;CACV,SAAU,CAAC,UAAU,WAAW,CAAC,CAAW,KAAK,WAAW;EAC1D,IAAI;EACJ;EACA,SAAS;EACT,QAAQ;EACR,MAAM;EACN,WAAW;EACX,aAAa;EACb,OAAO;CACT,EAAE;AACJ,CAAC"}