@agimon-ai/po-author 0.0.0-alpha.2 → 0.0.0-alpha.20

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.
Files changed (38) hide show
  1. package/README.md +5 -3
  2. package/dist/apiContracts.cjs +3 -3
  3. package/dist/apiContracts.cjs.map +1 -1
  4. package/dist/apiContracts.mjs +3 -3
  5. package/dist/apiContracts.mjs.map +1 -1
  6. package/dist/{authorFacade-BYvlm8Ff.cjs → authorFacade-BkIMF1lR.cjs} +2 -2
  7. package/dist/authorFacade-BkIMF1lR.cjs.map +1 -0
  8. package/dist/{authorFacade--Lc599Ft.mjs → authorFacade-CpLG3duk.mjs} +3 -3
  9. package/dist/authorFacade-CpLG3duk.mjs.map +1 -0
  10. package/dist/{authorFacade-89Eb2-sW.d.mts → authorFacade-DCTTx7EE.d.mts} +3 -3
  11. package/dist/{authorFacade-89Eb2-sW.d.mts.map → authorFacade-DCTTx7EE.d.mts.map} +1 -1
  12. package/dist/authorFacade.cjs +1 -1
  13. package/dist/authorFacade.d.mts +1 -1
  14. package/dist/authorFacade.mjs +1 -1
  15. package/dist/extensions/server.cjs +104 -40
  16. package/dist/extensions/server.cjs.map +1 -1
  17. package/dist/extensions/server.d.mts +2 -2
  18. package/dist/extensions/server.d.mts.map +1 -1
  19. package/dist/extensions/server.mjs +101 -37
  20. package/dist/extensions/server.mjs.map +1 -1
  21. package/dist/extensions/web.mjs +751 -379
  22. package/dist/extensions/web.mjs.map +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.mts +6 -6
  26. package/dist/index.d.mts.map +1 -1
  27. package/dist/index.mjs +1 -1
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/{structuredDocuments-B914GLxx.mjs → structuredDocuments-BAvFI8VH.mjs} +9 -7
  30. package/dist/structuredDocuments-BAvFI8VH.mjs.map +1 -0
  31. package/dist/{structuredDocuments-CNac1JmJ.cjs → structuredDocuments-OYXnnCrZ.cjs} +18 -10
  32. package/dist/structuredDocuments-OYXnnCrZ.cjs.map +1 -0
  33. package/package.json +17 -16
  34. package/src/prompts/po-use-author/SKILL.md +1 -1
  35. package/dist/authorFacade--Lc599Ft.mjs.map +0 -1
  36. package/dist/authorFacade-BYvlm8Ff.cjs.map +0 -1
  37. package/dist/structuredDocuments-B914GLxx.mjs.map +0 -1
  38. package/dist/structuredDocuments-CNac1JmJ.cjs.map +0 -1
package/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # @agimon-ai/po-author
2
2
 
3
- Private, optional Po minor mode for focused document review and bounded visual authoring.
3
+ Private Po cockpit support for focused document review and bounded visual authoring.
4
4
 
5
5
  ## Behavior
6
6
 
7
- Author is a session-scoped minor mode. Its three tools remain registered for the life of the extension but are active only while Author mode is active:
7
+ Installing Author adds document tabs, annotation controls, image feedback, and the Author dock face. These manual surfaces remain available whether Author mode is on or off.
8
+
9
+ Author is also a session-scoped minor mode. It grants the agent three tools only while the mode is active:
8
10
 
9
11
  - `open_authoring_file({"path":"relative/file.png","alias":"review"})` validates a repository file and opens or reuses its temporary canvas without writing the file. Alias is optional. Opening the same file under another name returns the original alias; an alias cannot be reassigned to another file.
10
12
  - `describe_author_tools({})` lists canvas aliases and readiness. `describe_author_tools({"alias":"review"})` returns that canvas's current capability catalog and server-issued token when ready. Opening does not wait for the tab to become ready; describe again after it opens.
@@ -18,8 +20,8 @@ The package declares session API, cockpit client, and web hub entries. Each canv
18
20
  ## Public API
19
21
 
20
22
  ```ts
21
- import { activateAuthorExtension } from '@agimon-ai/po-author/extensions/pi';
22
23
  import { createAuthorCatalog, DescribeAuthorToolsInputSchema, UseAuthorToolInputSchema } from '@agimon-ai/po-author';
24
+ import { activateAuthorExtension } from '@agimon-ai/po-author/extensions/pi';
23
25
  ```
24
26
 
25
27
  The Pi host entry is available at `@agimon-ai/po-author/extensions/pi`.
@@ -315,14 +315,14 @@ const apiContracts = (0, _agimon_ai_po_core_apiContracts.defineApiContract)({
315
315
  member: "send",
316
316
  kind: "method",
317
317
  direction: "client-to-server",
318
- description: "Scoped author bridge method invoked through po.plugin.v1.",
318
+ description: "Scoped author bridge method invoked through po.hub.",
319
319
  input: AuthorBridgeInputSchema,
320
320
  output: typebox.Type.Object({}, { additionalProperties: false })
321
321
  },
322
322
  {
323
323
  id: "author.browser",
324
324
  scope,
325
- service: "po.hub.v1",
325
+ service: "po.hub",
326
326
  member: "author_webmcp",
327
327
  kind: "channel",
328
328
  direction: "client-to-server",
@@ -332,7 +332,7 @@ const apiContracts = (0, _agimon_ai_po_core_apiContracts.defineApiContract)({
332
332
  {
333
333
  id: "author.hub",
334
334
  scope,
335
- service: "po.hub.v1",
335
+ service: "po.hub",
336
336
  member: "author_webmcp",
337
337
  kind: "channel",
338
338
  direction: "server-to-client",
@@ -1 +1 @@
1
- {"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/po-core/packageApi';\nimport { defineDoomPluginMethod } from '@agimon-ai/po-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/po-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 po.plugin.v1.',\n input: AuthorBridgeInputSchema,\n output: Type.Object({}, { additionalProperties: false }),\n },\n {\n id: 'author.browser',\n scope,\n service: 'po.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: 'po.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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"}
1
+ {"version":3,"file":"apiContracts.cjs","names":["Type","Type","jsonApiResponses","defineApiContract"],"sources":["../src/schemas/authorFacade.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import type { PoApiScope } from '@agimon-ai/po-core/packageApi';\nimport { definePoPluginMethod } from '@agimon-ai/po-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<PoApiScope, 'global' | 'workspace'>) {\n return definePoPluginMethod({\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 PoHttpContract } from '@agimon-ai/po-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): PoHttpContract => ({\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 po.hub.',\n input: AuthorBridgeInputSchema,\n output: Type.Object({}, { additionalProperties: false }),\n },\n {\n id: 'author.browser',\n scope,\n service: 'po.hub',\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: 'po.hub',\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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"}
@@ -311,14 +311,14 @@ const apiContracts = defineApiContract({
311
311
  member: "send",
312
312
  kind: "method",
313
313
  direction: "client-to-server",
314
- description: "Scoped author bridge method invoked through po.plugin.v1.",
314
+ description: "Scoped author bridge method invoked through po.hub.",
315
315
  input: AuthorBridgeInputSchema,
316
316
  output: Type.Object({}, { additionalProperties: false })
317
317
  },
318
318
  {
319
319
  id: "author.browser",
320
320
  scope,
321
- service: "po.hub.v1",
321
+ service: "po.hub",
322
322
  member: "author_webmcp",
323
323
  kind: "channel",
324
324
  direction: "client-to-server",
@@ -328,7 +328,7 @@ const apiContracts = defineApiContract({
328
328
  {
329
329
  id: "author.hub",
330
330
  scope,
331
- service: "po.hub.v1",
331
+ service: "po.hub",
332
332
  member: "author_webmcp",
333
333
  kind: "channel",
334
334
  direction: "server-to-client",
@@ -1 +1 @@
1
- {"version":3,"file":"apiContracts.mjs","names":[],"sources":["../src/schemas/authorFacade.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import type { DoomApiScope } from '@agimon-ai/po-core/packageApi';\nimport { defineDoomPluginMethod } from '@agimon-ai/po-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/po-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 po.plugin.v1.',\n input: AuthorBridgeInputSchema,\n output: Type.Object({}, { additionalProperties: false }),\n },\n {\n id: 'author.browser',\n scope,\n service: 'po.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: 'po.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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"}
1
+ {"version":3,"file":"apiContracts.mjs","names":[],"sources":["../src/schemas/authorFacade.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import type { PoApiScope } from '@agimon-ai/po-core/packageApi';\nimport { definePoPluginMethod } from '@agimon-ai/po-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<PoApiScope, 'global' | 'workspace'>) {\n return definePoPluginMethod({\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 PoHttpContract } from '@agimon-ai/po-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): PoHttpContract => ({\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 po.hub.',\n input: AuthorBridgeInputSchema,\n output: Type.Object({}, { additionalProperties: false }),\n },\n {\n id: 'author.browser',\n scope,\n service: 'po.hub',\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: 'po.hub',\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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"}
@@ -69,7 +69,7 @@ const AuthorBridgeInputSchema = typebox.Type.Object({
69
69
  message: AuthorBridgeMessageSchema
70
70
  }, { additionalProperties: false });
71
71
  function authorBridgeMethod(scope) {
72
- return (0, _agimon_ai_po_core_pluginProtocol.defineDoomPluginMethod)({
72
+ return (0, _agimon_ai_po_core_pluginProtocol.definePoPluginMethod)({
73
73
  service: "author.bridge",
74
74
  method: "send",
75
75
  scope,
@@ -116,4 +116,4 @@ Object.defineProperty(exports, "authorBridgeMethod", {
116
116
  }
117
117
  });
118
118
 
119
- //# sourceMappingURL=authorFacade-BYvlm8Ff.cjs.map
119
+ //# sourceMappingURL=authorFacade-BkIMF1lR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorFacade-BkIMF1lR.cjs","names":["Type","definePoPluginMethod"],"sources":["../src/schemas/authorFacade.ts"],"sourcesContent":["import type { PoApiScope } from '@agimon-ai/po-core/packageApi';\nimport { definePoPluginMethod } from '@agimon-ai/po-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<PoApiScope, 'global' | 'workspace'>) {\n return definePoPluginMethod({\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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineDoomPluginMethod } from "@agimon-ai/po-core/pluginProtocol";
1
+ import { definePoPluginMethod } from "@agimon-ai/po-core/pluginProtocol";
2
2
  import { Type } from "typebox";
3
3
  //#region src/schemas/authorFacade.ts
4
4
  const AuthorCapabilityNameSchema = Type.String({
@@ -69,7 +69,7 @@ const AuthorBridgeInputSchema = Type.Object({
69
69
  message: AuthorBridgeMessageSchema
70
70
  }, { additionalProperties: false });
71
71
  function authorBridgeMethod(scope) {
72
- return defineDoomPluginMethod({
72
+ return definePoPluginMethod({
73
73
  service: "author.bridge",
74
74
  method: "send",
75
75
  scope,
@@ -81,4 +81,4 @@ function authorBridgeMethod(scope) {
81
81
  //#endregion
82
82
  export { AuthorUseToolsInputSchema as a, AuthorDescribeToolsInputSchema as i, AuthorBridgeInputSchema as n, authorBridgeMethod as o, AuthorBridgeMessageSchema as r, AuthorAliasSchema as t };
83
83
 
84
- //# sourceMappingURL=authorFacade--Lc599Ft.mjs.map
84
+ //# sourceMappingURL=authorFacade-CpLG3duk.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorFacade-CpLG3duk.mjs","names":[],"sources":["../src/schemas/authorFacade.ts"],"sourcesContent":["import type { PoApiScope } from '@agimon-ai/po-core/packageApi';\nimport { definePoPluginMethod } from '@agimon-ai/po-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<PoApiScope, 'global' | 'workspace'>) {\n return definePoPluginMethod({\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"],"mappings":";;;AAIA,MAAM,6BAA6B,KAAK,OAAO;CAC7C,WAAW;CACX,WAAW;CACX,SAAS;AACX,CAAC;AAED,MAAa,oBAAoB,KAAK,OAAO;CAAE,WAAW;CAAG,WAAW;CAAI,SAAS;AAA0B,CAAC;;AAGhH,MAAa,iCAAiC,KAAK,OACjD,EAAE,OAAO,KAAK,SAAS,iBAAiB,EAAE,GAC1C,EAAE,sBAAsB,MAAM,CAChC;;AAIA,MAAa,4BAA4B,KAAK,OAC5C;CACE,OAAO,KAAK,SAAS,iBAAiB;CACtC,cAAc,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAI,CAAC;CAC1D,MAAM;CACN,WAAW,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,QAAQ,CAAC;AACtD,GACA,EAAE,sBAAsB,MAAM,CAChC;AAGA,MAAM,mBAAmB;CACvB,OAAO;CACP,YAAY,KAAK,OAAO,EAAE,SAAS,EAAE,CAAC;AACxC;;AAGA,MAAa,4BAA4B,KAAK,MAAM;CAClD,KAAK,OAAO;EAAE,GAAG;EAAkB,MAAM,KAAK,QAAQ,UAAU;CAAE,GAAG,EAAE,sBAAsB,MAAM,CAAC;CACpG,KAAK,OAAO;EAAE,GAAG;EAAkB,MAAM,KAAK,QAAQ,SAAS;CAAE,GAAG,EAAE,sBAAsB,MAAM,CAAC;CACnG,KAAK,OACH;EACE,GAAG;EACH,MAAM,KAAK,QAAQ,SAAS;EAC5B,YAAY,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EACxC,OAAO,KAAK,MACV,KAAK,OACH;GACE,MAAM,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;GAClC,OAAO,KAAK,OAAO;GACnB,aAAa,KAAK,OAAO;GACzB,aAAa,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,QAAQ,CAAC;EACxD,GACA,EAAE,sBAAsB,MAAM,CAChC,CACF;CACF,GACA,EAAE,sBAAsB,MAAM,CAChC;CACA,KAAK,OACH;EACE,GAAG;EACH,MAAM,KAAK,QAAQ,QAAQ;EAC3B,YAAY,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EACxC,cAAc,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EAC1C,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EACvC,QAAQ,KAAK,QAAQ;CACvB,GACA,EAAE,sBAAsB,MAAM,CAChC;CACA,KAAK,OACH;EACE,GAAG;EACH,MAAM,KAAK,QAAQ,WAAW;EAC9B,YAAY,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EACxC,cAAc,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EAC1C,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CACzC,GACA,EAAE,sBAAsB,MAAM,CAChC;AACF,CAAC;AAED,MAAa,0BAA0B,KAAK,OAC1C;CAAE,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CAAG,SAAS;AAA0B,GAC/E,EAAE,sBAAsB,MAAM,CAChC;AAEA,SAAgB,mBAAmB,OAAoD;CACrF,OAAO,qBAAqB;EAC1B,SAAS;EACT,QAAQ;EACR;EACA,WAAW;EACX,OAAO;EACP,QAAQ,KAAK,OAAO,CAAC,GAAG,EAAE,sBAAsB,MAAM,CAAC;CACzD,CAAC;AACH"}
@@ -1,5 +1,5 @@
1
1
  import { Static, Type } from "typebox";
2
- import { DoomApiScope } from "@agimon-ai/po-core/packageApi";
2
+ import { PoApiScope } from "@agimon-ai/po-core/packageApi";
3
3
  //#region src/schemas/authorFacade.d.ts
4
4
  declare const AuthorAliasSchema: Type.TString;
5
5
  /** Lists canvases or the capabilities of one named canvas. */
@@ -89,7 +89,7 @@ declare const AuthorBridgeInputSchema: Type.TObject<{
89
89
  requestId: Type.TString;
90
90
  }>]>;
91
91
  }>;
92
- declare function authorBridgeMethod(scope: Extract<DoomApiScope, 'global' | 'workspace'>): import("@agimon-ai/po-core/pluginProtocol").DoomPluginMethod<Type.TObject<{
92
+ declare function authorBridgeMethod(scope: Extract<PoApiScope, 'global' | 'workspace'>): import("@agimon-ai/po-core/pluginProtocol").PoPluginMethod<Type.TObject<{
93
93
  sessionId: Type.TString;
94
94
  message: Type.TUnion<[Type.TObject<{
95
95
  alias: Type.TString;
@@ -129,4 +129,4 @@ declare function authorBridgeMethod(scope: Extract<DoomApiScope, 'global' | 'wor
129
129
  }>, Type.TObject<{}>>;
130
130
  //#endregion
131
131
  export { AuthorDescribeToolsInputSchema as a, authorBridgeMethod as c, AuthorDescribeToolsInput as i, AuthorBridgeInputSchema as n, AuthorUseToolsInput as o, AuthorBridgeMessageSchema as r, AuthorUseToolsInputSchema as s, AuthorAliasSchema as t };
132
- //# sourceMappingURL=authorFacade-89Eb2-sW.d.mts.map
132
+ //# sourceMappingURL=authorFacade-DCTTx7EE.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorFacade-89Eb2-sW.d.mts","names":[],"sources":["../src/schemas/authorFacade.ts"],"mappings":";;;cAUa,mBAAiB,KAAA;;cAGjB,gCAA8B,KAAA;;;KAI/B,2BAA2B,cAAc;;cAGxC,2BAAyB,KAAA;;;;;;KAS1B,sBAAsB,cAAc;;cAQnC,2BAAyB,KAAA,QAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CzB,yBAAuB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpB,mBAAmB,OAAO,QAAQ,oFAAqC,iBAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAStF,KAAA"}
1
+ {"version":3,"file":"authorFacade-DCTTx7EE.d.mts","names":[],"sources":["../src/schemas/authorFacade.ts"],"mappings":";;;cAUa,mBAAiB,KAAA;;cAGjB,gCAA8B,KAAA;;;KAI/B,2BAA2B,cAAc;;cAGxC,2BAAyB,KAAA;;;;;;KAS1B,sBAAsB,cAAc;;cAQnC,2BAAyB,KAAA,QAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CzB,yBAAuB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpB,mBAAmB,OAAO,QAAQ,kFAAmC,eAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASpF,KAAA"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_authorFacade = require("./authorFacade-BYvlm8Ff.cjs");
2
+ const require_authorFacade = require("./authorFacade-BkIMF1lR.cjs");
3
3
  let _agimon_ai_po_core_authorTools = require("@agimon-ai/po-core/authorTools");
4
4
  Object.defineProperty(exports, "AUTHOR_DESCRIBE_TOOL_NAME", {
5
5
  enumerable: true,
@@ -1,3 +1,3 @@
1
- import { a as AuthorDescribeToolsInputSchema, c as authorBridgeMethod, i as AuthorDescribeToolsInput, n as AuthorBridgeInputSchema, o as AuthorUseToolsInput, r as AuthorBridgeMessageSchema, s as AuthorUseToolsInputSchema, t as AuthorAliasSchema } from "./authorFacade-89Eb2-sW.mjs";
1
+ import { a as AuthorDescribeToolsInputSchema, c as authorBridgeMethod, i as AuthorDescribeToolsInput, n as AuthorBridgeInputSchema, o as AuthorUseToolsInput, r as AuthorBridgeMessageSchema, s as AuthorUseToolsInputSchema, t as AuthorAliasSchema } from "./authorFacade-DCTTx7EE.mjs";
2
2
  import { AUTHOR_DESCRIBE_TOOL_NAME, AUTHOR_FACADE_TOOL_NAMES, AUTHOR_USE_TOOL_NAME } from "@agimon-ai/po-core/authorTools";
3
3
  export { AUTHOR_DESCRIBE_TOOL_NAME, AUTHOR_FACADE_TOOL_NAMES, AUTHOR_USE_TOOL_NAME, AuthorAliasSchema, AuthorBridgeInputSchema, AuthorBridgeMessageSchema, type AuthorDescribeToolsInput, AuthorDescribeToolsInputSchema, type AuthorUseToolsInput, AuthorUseToolsInputSchema, authorBridgeMethod };
@@ -1,3 +1,3 @@
1
- import { a as AuthorUseToolsInputSchema, i as AuthorDescribeToolsInputSchema, n as AuthorBridgeInputSchema, o as authorBridgeMethod, r as AuthorBridgeMessageSchema, t as AuthorAliasSchema } from "./authorFacade--Lc599Ft.mjs";
1
+ import { a as AuthorUseToolsInputSchema, i as AuthorDescribeToolsInputSchema, n as AuthorBridgeInputSchema, o as authorBridgeMethod, r as AuthorBridgeMessageSchema, t as AuthorAliasSchema } from "./authorFacade-CpLG3duk.mjs";
2
2
  import { AUTHOR_DESCRIBE_TOOL_NAME, AUTHOR_FACADE_TOOL_NAMES, AUTHOR_USE_TOOL_NAME } from "@agimon-ai/po-core/authorTools";
3
3
  export { AUTHOR_DESCRIBE_TOOL_NAME, AUTHOR_FACADE_TOOL_NAMES, AUTHOR_USE_TOOL_NAME, AuthorAliasSchema, AuthorBridgeInputSchema, AuthorBridgeMessageSchema, AuthorDescribeToolsInputSchema, AuthorUseToolsInputSchema, authorBridgeMethod };