{"version":3,"file":"apiContracts.cjs","names":["Type","Type","jsonApiResponses","defineApiContract"],"sources":["../src/schemas/authorFacade.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import type { DoomApiScope } from '@agimon-ai/doompi-core/packageApi';\nimport { defineDoomPluginMethod } from '@agimon-ai/doompi-core/pluginProtocol';\nimport { type Static, Type } from 'typebox';\n\nconst AuthorCapabilityNameSchema = Type.String({\n  minLength: 1,\n  maxLength: 30,\n  pattern: '^[a-z][a-z0-9_]*$',\n});\n\nexport const AuthorAliasSchema = Type.String({ minLength: 1, maxLength: 64, pattern: '^[a-z][a-z0-9_-]{0,63}$' });\n\n/** Lists canvases or the capabilities of one named canvas. */\nexport const AuthorDescribeToolsInputSchema = Type.Object(\n  { alias: Type.Optional(AuthorAliasSchema) },\n  { additionalProperties: false },\n);\nexport type AuthorDescribeToolsInput = Static<typeof AuthorDescribeToolsInputSchema>;\n\n/** Invokes one capability exposed by the current Author viewport. */\nexport const AuthorUseToolsInputSchema = Type.Object(\n  {\n    alias: Type.Optional(AuthorAliasSchema),\n    catalogToken: Type.String({ minLength: 1, maxLength: 256 }),\n    name: AuthorCapabilityNameSchema,\n    arguments: Type.Record(Type.String(), Type.Unknown()),\n  },\n  { additionalProperties: false },\n);\nexport type AuthorUseToolsInput = Static<typeof AuthorUseToolsInputSchema>;\n\nconst AuthorBridgeBase = {\n  alias: AuthorAliasSchema,\n  generation: Type.Number({ minimum: 0 }),\n};\n\n/** Browser-to-server lease messages, validated before Author sees the payload. */\nexport const AuthorBridgeMessageSchema = Type.Union([\n  Type.Object({ ...AuthorBridgeBase, kind: Type.Literal('register') }, { additionalProperties: false }),\n  Type.Object({ ...AuthorBridgeBase, kind: Type.Literal('release') }, { additionalProperties: false }),\n  Type.Object(\n    {\n      ...AuthorBridgeBase,\n      kind: Type.Literal('catalog'),\n      ownerToken: Type.String({ minLength: 1 }),\n      tools: Type.Array(\n        Type.Object(\n          {\n            name: Type.String({ minLength: 1 }),\n            label: Type.String(),\n            description: Type.String(),\n            inputSchema: Type.Record(Type.String(), Type.Unknown()),\n          },\n          { additionalProperties: false },\n        ),\n      ),\n    },\n    { additionalProperties: false },\n  ),\n  Type.Object(\n    {\n      ...AuthorBridgeBase,\n      kind: Type.Literal('result'),\n      ownerToken: Type.String({ minLength: 1 }),\n      catalogToken: Type.String({ minLength: 1 }),\n      requestId: Type.String({ minLength: 1 }),\n      result: Type.Unknown(),\n    },\n    { additionalProperties: false },\n  ),\n  Type.Object(\n    {\n      ...AuthorBridgeBase,\n      kind: Type.Literal('cancelled'),\n      ownerToken: Type.String({ minLength: 1 }),\n      catalogToken: Type.String({ minLength: 1 }),\n      requestId: Type.String({ minLength: 1 }),\n    },\n    { additionalProperties: false },\n  ),\n]);\n\nexport const AuthorBridgeInputSchema = Type.Object(\n  { sessionId: Type.String({ minLength: 1 }), message: AuthorBridgeMessageSchema },\n  { additionalProperties: false },\n);\n\nexport function authorBridgeMethod(scope: Extract<DoomApiScope, 'global' | 'workspace'>) {\n  return defineDoomPluginMethod({\n    service: 'author.bridge',\n    method: 'send',\n    scope,\n    direction: 'client-to-server',\n    input: AuthorBridgeInputSchema,\n    output: Type.Object({}, { additionalProperties: false }),\n  });\n}\n","import { defineApiContract, jsonApiResponses, type DoomHttpContract } from '@agimon-ai/doompi-core/apiContracts';\nimport { Type } from 'typebox';\n\nimport {\n  AuthorAliasSchema,\n  AuthorBridgeMessageSchema,\n  AuthorBridgeInputSchema,\n  AuthorUseToolsInputSchema,\n} from './authorFacade';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst B = Type.Boolean();\nconst O = Type.Optional;\nconst Json = Type.Unknown({\n  description: 'Runtime author capability value, validated against the capability catalog inputSchema.',\n});\nconst values = <T extends string>(items: T[]) => Type.Union(items.map((item) => Type.Literal(item)));\nconst Capability = Type.Object({ name: S, label: S, description: S, inputSchema: Type.Record(S, Json) });\nconst Accepted = Type.Object({\n  alias: AuthorAliasSchema,\n  kind: Type.Literal('accepted'),\n  generation: N,\n  ownerToken: S,\n  catalogToken: O(S),\n  leaseMs: N,\n});\nconst Identity = { alias: AuthorAliasSchema, generation: N, ownerToken: S, catalogToken: S, requestId: S };\nconst Request = Type.Object({ kind: Type.Literal('request'), ...Identity, name: S, arguments: Type.Record(S, Json) });\nconst Cancel = Type.Object({ kind: Type.Literal('cancel'), ...Identity });\nexport const AuthorHubMessageSchema = Type.Union([\n  Accepted,\n  Request,\n  Cancel,\n  Type.Object({ alias: AuthorAliasSchema, kind: Type.Literal('rejected'), reason: S }),\n]);\nconst Binding = { alias: AuthorAliasSchema, bindingId: S, generation: Type.Integer({ minimum: 0 }) };\nconst Owner = { ...Binding, ownerToken: S };\nconst ResultIdentity = { ...Owner, catalogToken: S, requestId: S };\nconst Format = values(['markdown-slides', 'csv', 'pptx', 'xlsx']);\nconst Manifest = Type.Object({\n  format: Format,\n  sourceDigest: S,\n  byteLength: N,\n  fragmentCount: N,\n  metadata: Type.Record(S, Type.Union([S, N, B])),\n});\nconst Operation = { fragmentId: S, replacement: S };\nconst Log = Type.Array(Type.Object({ ...Operation, previous: S }));\nconst Document = {\n  path: S,\n  format: Format,\n  operations: O(Type.Array(Type.Object(Operation), { maxItems: 100000 })),\n  csvDialect: O(\n    Type.Object({\n      delimiter: O(values([',', ';', '\\t', '|'])),\n      quote: O(values(['\"', \"'\"])),\n      recordDelimiter: O(values(['\\n', '\\r\\n'])),\n    }),\n  ),\n};\nconst ParsedDocument = Type.Object({\n  manifest: Manifest,\n  fragments: Type.Array(\n    Type.Object({ id: S, kind: values(['slide', 'cell', 'text-run']), text: S, readOnly: O(B), location: S }),\n  ),\n  renderModel: Type.Object({ format: Format, blocks: Type.Array(Type.Object({ id: S, text: S, readOnly: B })) }),\n});\nconst post = (id: string, path: string, schema: object, output: object): DoomHttpContract => ({\n  id,\n  scope: 'session',\n  basePath: 'author',\n  path,\n  method: 'POST',\n  authentication: 'owner',\n  description: `Author ${id}.`,\n  body: { required: true, contentType: 'application/json', schema },\n  responses: jsonApiResponses(output),\n});\nexport const apiContracts = defineApiContract({\n  version: 1,\n  dynamic: ['Author capability catalogs supply input JSON Schemas and arbitrary JSON results at runtime.'],\n  http: [\n    {\n      id: 'author.state',\n      scope: 'session',\n      basePath: 'author',\n      path: '/state',\n      method: 'GET',\n      authentication: 'owner',\n      description: 'Read author activation.',\n      responses: jsonApiResponses(\n        Type.Object({\n          sessionId: Type.Union([S, Type.Null()]),\n          activation: values(['inactive', 'active']),\n          capabilityCount: N,\n        }),\n      ),\n    },\n    post('bridge.register', '/bridge/register', Type.Object(Binding), Accepted),\n    post('bridge.catalog', '/bridge/catalog', Type.Object({ ...Owner, tools: Type.Array(Capability) }), Accepted),\n    post('bridge.next', '/bridge/next', Type.Object(Owner), Type.Union([Request, Cancel])),\n    post(\n      'bridge.result',\n      '/bridge/result',\n      Type.Object({ ...ResultIdentity, result: Json }),\n      Type.Object({ accepted: Type.Literal(true) }),\n    ),\n    post(\n      'bridge.cancelled',\n      '/bridge/cancelled',\n      Type.Object(ResultIdentity),\n      Type.Object({ accepted: Type.Literal(true) }),\n    ),\n    post(\n      'bridge.disconnect',\n      '/bridge/disconnect',\n      Type.Object(Binding),\n      Type.Object({ accepted: Type.Literal(true) }),\n    ),\n    post(\n      'bridge.close',\n      '/bridge/close',\n      Type.Object({ alias: AuthorAliasSchema }),\n      Type.Object({ accepted: Type.Literal(true) }),\n    ),\n    {\n      id: 'bridge.describe',\n      scope: 'session',\n      basePath: 'author',\n      path: '/bridge/describe',\n      method: 'GET',\n      authentication: 'owner',\n      description: 'Read runtime author capabilities.',\n      responses: jsonApiResponses(\n        Type.Object({\n          catalogToken: S,\n          tools: Type.Array(Capability),\n          canvases: Type.Array(Type.Object({ alias: S, path: S, status: values(['opening', 'ready', 'unavailable']) })),\n        }),\n      ),\n    },\n    post(\n      'bridge.invoke',\n      '/bridge/invoke',\n      AuthorUseToolsInputSchema,\n      Type.Object({ alias: AuthorAliasSchema, catalogToken: S, name: S, result: Json }),\n    ),\n    post(\n      'documents.open',\n      '/documents/open',\n      Type.Object({ ...Document, format: O(Format), alias: O(AuthorAliasSchema) }),\n      Type.Union([\n        Type.Object({\n          path: S,\n          byteLength: N,\n          alias: AuthorAliasSchema,\n          status: values(['opening', 'ready', 'unavailable']),\n          reused: B,\n        }),\n        ParsedDocument,\n      ]),\n    ),\n    post(\n      'documents.preflight',\n      '/documents/preflight',\n      Type.Object(Document),\n      Type.Object({\n        accepted: B,\n        digest: S,\n        sourceDigest: S,\n        operations: Log,\n        issues: Type.Array(Type.Object({ code: S, message: S, fragmentId: O(S) })),\n      }),\n    ),\n    post(\n      'documents.serialize',\n      '/documents/serialize',\n      Type.Object({ ...Document, preflightDigest: S }),\n      Type.Object({ bytes: S, encoding: Type.Literal('base64'), manifest: Manifest, operationLog: Log }),\n    ),\n  ],\n  sockets: (['global', 'workspace'] as const).flatMap((scope) => [\n    {\n      id: 'author.send',\n      scope,\n      service: 'author.bridge',\n      member: 'send',\n      kind: 'method',\n      direction: 'client-to-server',\n      description: 'Scoped author bridge method invoked through doompi.plugin.v1.',\n      input: AuthorBridgeInputSchema,\n      output: Type.Object({}, { additionalProperties: false }),\n    },\n    {\n      id: 'author.browser',\n      scope,\n      service: 'doompi.hub.v1',\n      member: 'author_webmcp',\n      kind: 'channel',\n      direction: 'client-to-server',\n      description: 'Browser author channel payload.',\n      input: AuthorBridgeMessageSchema,\n    },\n    {\n      id: 'author.hub',\n      scope,\n      service: 'doompi.hub.v1',\n      member: 'author_webmcp',\n      kind: 'channel',\n      direction: 'server-to-client',\n      description: 'Hub author channel payload.',\n      input: AuthorHubMessageSchema,\n    },\n  ]),\n});\nexport default apiContracts;\n"],"mappings":"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"}