@agentshouse/mdruntime-adapter 0.1.0-alpha.12 → 0.1.0-alpha.14
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.
- package/dist/actions.d.ts +2 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +7 -7
- package/dist/actions.js.map +1 -1
- package/package.json +3 -3
package/dist/actions.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ActionDeclaration, type ActionRequest, type ActionResult, type ConversationCards } from '@agentshouse/mdruntime';
|
|
2
2
|
import type { HouseDoor, HouseDoorAnswer, HouseTransport } from './transport.js';
|
|
3
3
|
export declare const CONVERSATION_ACTIONS: readonly ['conversation.create', 'conversation.send', 'conversation.answer', 'conversation.interrupt', 'conversation.kill', 'conversation.cancel', 'conversation.delete', 'conversation.history'];
|
|
4
|
-
export declare const HOUSE_ACTS: readonly ['conversations/interaction/read', 'conversations/originals/read', 'apps/read', 'apps/customize', 'rooms/read', 'rooms/access/read', 'rooms/access/invitations', 'rooms/access/entries', 'rooms/access/invite', 'rooms/access/invitation-cancel', 'rooms/access/revoke', 'rooms/access/leave', 'rooms/roles/define', 'rooms/roles/remove', 'rooms/roles/assign', 'rooms/roles/unassign', 'rooms/settings/processing/read', 'rooms/settings/processing/write', 'profiles/create', 'profiles/read', 'profiles/edit', 'profiles/duplicate', 'profiles/delegate', 'agents/create', 'agents/read', 'routines/requests', 'routines/access', 'routines/owned', 'routines/granted', 'routines/grant', 'routines/send', 'routines/cancel', 'routines/start', 'routines/schedules', 'routines/schedules/create', 'routines/schedules/enabled', 'account/security/read', 'storage/inventory', 'storage/usage', 'usage/statement', 'storage/archive', 'storage/archive/status', '
|
|
5
|
-
export declare const HOUSE_PROVIDER_ACTIONS: readonly ["conversation.create", "conversation.send", "conversation.answer", "conversation.interrupt", "conversation.kill", "conversation.cancel", "conversation.delete", "conversation.history", "conversations/interaction/read", "conversations/originals/read", "apps/read", "apps/customize", "rooms/read", "rooms/access/read", "rooms/access/invitations", "rooms/access/entries", "rooms/access/invite", "rooms/access/invitation-cancel", "rooms/access/revoke", "rooms/access/leave", "rooms/roles/define", "rooms/roles/remove", "rooms/roles/assign", "rooms/roles/unassign", "rooms/settings/processing/read", "rooms/settings/processing/write", "profiles/create", "profiles/read", "profiles/edit", "profiles/duplicate", "profiles/delegate", "agents/create", "agents/read", "routines/requests", "routines/access", "routines/owned", "routines/granted", "routines/grant", "routines/send", "routines/cancel", "routines/start", "routines/schedules", "routines/schedules/create", "routines/schedules/enabled", "account/security/read", "storage/inventory", "storage/usage", "usage/statement", "storage/archive", "storage/archive/status", "
|
|
4
|
+
export declare const HOUSE_ACTS: readonly ['conversations/interaction/read', 'conversations/originals/read', 'apps/read', 'apps/customize', 'rooms/read', 'rooms/access/read', 'rooms/access/invitations', 'rooms/access/entries', 'rooms/access/invite', 'rooms/access/invitation-cancel', 'rooms/access/revoke', 'rooms/access/leave', 'rooms/roles/define', 'rooms/roles/remove', 'rooms/roles/assign', 'rooms/roles/unassign', 'rooms/settings/processing/read', 'rooms/settings/processing/write', 'profiles/create', 'profiles/read', 'profiles/edit', 'profiles/duplicate', 'profiles/delegate', 'agents/create', 'agents/read', 'routines/requests', 'routines/access', 'routines/owned', 'routines/granted', 'routines/grant', 'routines/send', 'routines/cancel', 'routines/start', 'routines/schedules', 'routines/schedules/create', 'routines/schedules/enabled', 'account/security/read', 'storage/inventory', 'storage/usage', 'usage/statement', 'storage/archive', 'storage/archive/status', 'envs/read', 'envs/create', 'envs/start', 'envs/stop', 'envs/delete', 'envs/renewals/read', 'envs/work/read', 'nodes/read'];
|
|
5
|
+
export declare const HOUSE_PROVIDER_ACTIONS: readonly ["conversation.create", "conversation.send", "conversation.answer", "conversation.interrupt", "conversation.kill", "conversation.cancel", "conversation.delete", "conversation.history", "conversations/interaction/read", "conversations/originals/read", "apps/read", "apps/customize", "rooms/read", "rooms/access/read", "rooms/access/invitations", "rooms/access/entries", "rooms/access/invite", "rooms/access/invitation-cancel", "rooms/access/revoke", "rooms/access/leave", "rooms/roles/define", "rooms/roles/remove", "rooms/roles/assign", "rooms/roles/unassign", "rooms/settings/processing/read", "rooms/settings/processing/write", "profiles/create", "profiles/read", "profiles/edit", "profiles/duplicate", "profiles/delegate", "agents/create", "agents/read", "routines/requests", "routines/access", "routines/owned", "routines/granted", "routines/grant", "routines/send", "routines/cancel", "routines/start", "routines/schedules", "routines/schedules/create", "routines/schedules/enabled", "account/security/read", "storage/inventory", "storage/usage", "usage/statement", "storage/archive", "storage/archive/status", "envs/read", "envs/create", "envs/start", "envs/stop", "envs/delete", "envs/renewals/read", "envs/work/read", "nodes/read"];
|
|
6
6
|
export declare const HISTORY_PAGE = 100;
|
|
7
7
|
export declare const HOUSE_CONVERSATION_CARDS: ConversationCards;
|
|
8
8
|
export declare function declaredActions(): readonly ActionDeclaration[];
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjF,eAAO,MAAM,oBAAoB,YAC/B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,CACd,CAAC;AAEX,eAAO,MAAM,UAAU,YACrB,gCAAgC,EAChC,8BAA8B,EAC9B,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,EAChC,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjF,eAAO,MAAM,oBAAoB,YAC/B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,CACd,CAAC;AAEX,eAAO,MAAM,UAAU,YACrB,gCAAgC,EAChC,8BAA8B,EAC9B,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,EAChC,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,sBAAsB,kuCAAoD,CAAC;AAIxF,eAAO,MAAM,YAAY,MAAM,CAAC;AAiBhC,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF,wBAAgB,eAAe,IAAI,SAAS,iBAAiB,EAAE,CAM9D;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAWvB;AA4DD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CASjF;AA6ID,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CA4B9D"}
|
package/dist/actions.js
CHANGED
|
@@ -55,13 +55,13 @@ export const HOUSE_ACTS = [
|
|
|
55
55
|
'usage/statement',
|
|
56
56
|
'storage/archive',
|
|
57
57
|
'storage/archive/status',
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
58
|
+
'envs/read',
|
|
59
|
+
'envs/create',
|
|
60
|
+
'envs/start',
|
|
61
|
+
'envs/stop',
|
|
62
|
+
'envs/delete',
|
|
63
|
+
'envs/renewals/read',
|
|
64
|
+
'envs/work/read',
|
|
65
65
|
'nodes/read'
|
|
66
66
|
];
|
|
67
67
|
export const HOUSE_PROVIDER_ACTIONS = [
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/actions.ts"],"sourcesContent":["import { VERSION } from '@agentshouse/mdmodel';\nimport {\n changeBatchIdentity,\n type ActionDeclaration,\n type ActionRequest,\n type ActionResult,\n type ConversationCards,\n} from '@agentshouse/mdruntime';\nimport { doorRefusal } from './refusal.js';\nimport { PRIVATE_AUTHORITY } from './transport.js';\nimport type { HouseDoor, HouseDoorAnswer, HouseTransport } from './transport.js';\n\nexport const CONVERSATION_ACTIONS = [\n 'conversation.create',\n 'conversation.send',\n 'conversation.answer',\n 'conversation.interrupt',\n 'conversation.kill',\n 'conversation.cancel',\n 'conversation.delete',\n 'conversation.history',\n] as const;\n\nexport const HOUSE_ACTS = [\n 'conversations/interaction/read',\n 'conversations/originals/read',\n 'apps/read',\n 'apps/customize',\n 'rooms/read',\n 'rooms/access/read',\n 'rooms/access/invitations',\n 'rooms/access/entries',\n 'rooms/access/invite',\n 'rooms/access/invitation-cancel',\n 'rooms/access/revoke',\n 'rooms/access/leave',\n 'rooms/roles/define',\n 'rooms/roles/remove',\n 'rooms/roles/assign',\n 'rooms/roles/unassign',\n 'rooms/settings/processing/read',\n 'rooms/settings/processing/write',\n 'profiles/create',\n 'profiles/read',\n 'profiles/edit',\n 'profiles/duplicate',\n 'profiles/delegate',\n 'agents/create',\n 'agents/read',\n 'routines/requests',\n 'routines/access',\n 'routines/owned',\n 'routines/granted',\n 'routines/grant',\n 'routines/send',\n 'routines/cancel',\n 'routines/start',\n 'routines/schedules',\n 'routines/schedules/create',\n 'routines/schedules/enabled',\n 'account/security/read',\n 'storage/inventory',\n 'storage/usage',\n 'usage/statement',\n 'storage/archive',\n 'storage/archive/status',\n 'environments/read',\n 'environments/create',\n 'environments/start',\n 'environments/stop',\n 'environments/delete',\n 'environments/renewals/read',\n 'environments/work/read',\n 'nodes/read',\n] as const;\n\nexport const HOUSE_PROVIDER_ACTIONS = [...CONVERSATION_ACTIONS, ...HOUSE_ACTS] as const;\n\nconst DECLARED = new Set<string>(HOUSE_PROVIDER_ACTIONS);\n\nexport const HISTORY_PAGE = 100;\n\nconst OCTET_STREAM = 'application/octet-stream';\n\nconst CONVERSATION_ROUTES: Readonly<Record<string, string>> = {\n 'conversation.create': '/door/conversations/create',\n 'conversation.send': '/door/conversations/send',\n 'conversation.answer': '/door/conversations/interaction/answer',\n 'conversation.interrupt': '/door/conversations/interrupt',\n 'conversation.kill': '/door/conversations/kill',\n 'conversation.cancel': '/door/conversations/cancel',\n 'conversation.delete': '/door/conversations/delete',\n 'conversation.history': '/door/conversations/history',\n 'conversations/interaction/read': '/door/conversations/interaction/read',\n 'conversations/originals/read': '/door/conversations/originals/read',\n};\n\nexport const HOUSE_CONVERSATION_CARDS: ConversationCards = {\n locator: PRIVATE_AUTHORITY,\n type: 'conversation',\n identity: 'conversation',\n agent: 'agent',\n};\n\nexport function declaredActions(): readonly ActionDeclaration[] {\n return HOUSE_PROVIDER_ACTIONS.map((name) => ({\n name,\n inputShape: {},\n resultKind: 'house',\n }));\n}\n\nexport function houseAction(\n transport: HouseTransport,\n request: ActionRequest,\n): Promise<ActionResult> {\n if (!DECLARED.has(request.name)) {\n return Promise.resolve({\n kind: 'rejected',\n code: 'action-unimplemented',\n fields: { name: request.name, mdModel: VERSION },\n });\n }\n if (request.name === 'conversation.send') return sendAction(transport, request.input);\n if (request.name === 'conversation.history') return historyAction(transport, request.input);\n return carry(transport, request.name, request.input);\n}\n\nfunction routeOf(name: string): string {\n return CONVERSATION_ROUTES[name] ?? `/door/${name}`;\n}\n\nfunction record(value: unknown): Record<string, unknown> {\n return typeof value === 'object' && value !== null ? (value as Record<string, unknown>) : {};\n}\n\nfunction text(value: unknown, name: string): string | undefined {\n const held = record(value)[name];\n return typeof held === 'string' ? held : undefined;\n}\n\nfunction operationId(input: unknown): string {\n return text(input, 'operation_id') ?? changeBatchIdentity();\n}\n\nfunction malformed(): ActionResult {\n return { kind: 'rejected', code: 'invalid_request', fields: {} };\n}\n\nfunction bodyOf(name: string, input: unknown): unknown {\n if (name === 'conversation.create') {\n return { agent_id: text(input, 'agent_id'), operation_id: operationId(input) };\n }\n if (\n name === 'conversation.interrupt' ||\n name === 'conversation.kill' ||\n name === 'conversation.delete'\n ) {\n return { conversation_id: text(input, 'conversation'), operation_id: operationId(input) };\n }\n if (name === 'conversation.cancel') {\n return {\n conversation_id: text(input, 'conversation'),\n message_id: text(input, 'turn'),\n operation_id: operationId(input),\n };\n }\n if (name === 'conversation.answer') {\n const nested = record(record(input).answer);\n return {\n conversation_id: text(input, 'conversation'),\n operation_id: operationId(input),\n interaction_id: text(nested, 'interaction_id'),\n revision: nested.revision,\n response: nested.response,\n };\n }\n return input;\n}\n\nfunction withTurn(body: unknown): unknown {\n const held = record(body);\n const turn = text(held, 'message_id');\n return turn === undefined ? body : { ...held, turn };\n}\n\nexport function actionOutcome(answer: HouseDoorAnswer, name: string): ActionResult {\n if (answer.status === 401) return { kind: 'revoked-authorization' };\n const refusal = doorRefusal(answer.body);\n if (refusal !== null) {\n return { kind: 'rejected', code: refusal.code, fields: refusal.fields };\n }\n if (answer.status === 0 || answer.status >= 400) return { kind: 'transport-uncertainty' };\n if (name === 'conversation.send') return { kind: 'action', result: withTurn(answer.body) };\n return { kind: 'action', result: answer.body };\n}\n\nasync function carry(\n transport: HouseTransport,\n name: string,\n input: unknown,\n): Promise<ActionResult> {\n const answer = await transport.door(routeOf(name), bodyOf(name, input));\n return actionOutcome(answer, name);\n}\n\nfunction sendFile(entry: unknown): Record<string, unknown> | null {\n const file = record(entry);\n const name = text(file, 'name');\n const bytes = file.byteLength;\n const sha256 = text(file, 'contentHash');\n if (name === undefined || typeof bytes !== 'number' || sha256 === undefined) return null;\n const mediaType = text(file, 'mediaType');\n const width = file.width;\n const height = file.height;\n return {\n name,\n media_type: mediaType !== undefined && mediaType.length > 0 ? mediaType : OCTET_STREAM,\n bytes,\n sha256,\n ...(typeof width === 'number' && typeof height === 'number'\n ? { dimensions: { width, height } }\n : {}),\n };\n}\n\nfunction sendFiles(input: unknown): readonly Record<string, unknown>[] | null {\n const files = record(input).files;\n if (files === undefined) return [];\n if (!Array.isArray(files)) return null;\n const declared: Record<string, unknown>[] = [];\n for (const entry of files) {\n const file = sendFile(entry);\n if (file === null) return null;\n declared.push(file);\n }\n return declared;\n}\n\nfunction sendBody(input: unknown): Record<string, unknown> | null {\n const files = sendFiles(input);\n if (files === null) return null;\n const textValue = text(input, 'text');\n return {\n conversation_id: text(input, 'conversation'),\n operation_id: operationId(input),\n ...(textValue !== undefined && textValue.length > 0 ? { text: textValue } : {}),\n ...(files.length === 0 ? {} : { files }),\n };\n}\n\nasync function fileBytes(file: unknown): Promise<Uint8Array | null> {\n const blob = record(file).blob;\n if (blob === undefined || typeof blob !== 'object' || blob === null) return null;\n if (!('arrayBuffer' in blob) || typeof blob.arrayBuffer !== 'function') return null;\n return new Uint8Array(await (blob as Blob).arrayBuffer());\n}\n\nfunction uploadGrant(\n entry: unknown,\n): { method: 'POST'; operation: string; url: string } | 'absent' | null {\n if (!('upload' in record(entry))) return 'absent';\n const upload = record(record(entry).upload);\n if (upload.method !== 'POST') return null;\n if (typeof upload.operation !== 'string' || typeof upload.url !== 'string') return null;\n return { method: 'POST', operation: upload.operation, url: upload.url };\n}\n\nasync function uploadOriginals(\n transport: HouseTransport,\n input: unknown,\n result: unknown,\n): Promise<ActionResult | null> {\n const originals = record(result).originals;\n if (!Array.isArray(originals) || originals.length === 0) return null;\n const files = Array.isArray(record(input).files) ? (record(input).files as unknown[]) : [];\n for (const [index, entry] of originals.entries()) {\n const grant = uploadGrant(entry);\n if (grant === 'absent') continue;\n if (grant === null) return malformed();\n const bytes = index < files.length ? await fileBytes(files[index]) : null;\n if (bytes === null) {\n return { kind: 'rejected', code: 'conversation_original_descriptor_required', fields: {} };\n }\n const delivered = await transport.transfer({\n act: 'conversation_original_upload',\n method: 'POST',\n url: grant.url,\n body: bytes,\n operation: grant.operation,\n });\n if (delivered.status === 200) continue;\n return actionOutcome(delivered, 'conversation.send');\n }\n return null;\n}\n\nasync function sendAction(transport: HouseTransport, input: unknown): Promise<ActionResult> {\n const body = sendBody(input);\n if (body === null) return malformed();\n const answer = await transport.door('/door/conversations/send', body);\n const outcome = actionOutcome(answer, 'conversation.send');\n if (outcome.kind !== 'action') return outcome;\n const uploaded = await uploadOriginals(transport, input, outcome.result);\n if (uploaded !== null) return uploaded;\n return outcome;\n}\n\ntype HistoryCursor = { accepted_at: string; message_id: string };\n\nfunction historyCursor(value: string): HistoryCursor | null {\n let parsed: unknown;\n try {\n parsed = JSON.parse(value) as unknown;\n } catch {\n return null;\n }\n const acceptedAt = text(parsed, 'accepted_at');\n const messageId = text(parsed, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) return null;\n return { accepted_at: acceptedAt, message_id: messageId };\n}\n\nfunction turned(entry: unknown): { turn: string; message: unknown } | null {\n const turn = text(entry, 'message_id');\n if (turn === undefined) return null;\n return { turn, message: structuredClone(entry) };\n}\n\nfunction olderCursor(entry: { message: unknown }): string | null {\n const acceptedAt = text(entry.message, 'accepted_at');\n const messageId = text(entry.message, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) return null;\n return JSON.stringify({ accepted_at: acceptedAt, message_id: messageId });\n}\n\nexport async function readConversationHistory(\n transport: HouseDoor,\n conversationId: string,\n): Promise<{ messages: unknown[] } | { outcome: ActionResult }> {\n const messages: unknown[] = [];\n let after: HistoryCursor | undefined;\n for (;;) {\n const answer = await transport.door('/door/conversations/history', {\n conversation_id: conversationId,\n ...(after === undefined ? {} : { after }),\n limit: HISTORY_PAGE,\n });\n const outcome = actionOutcome(answer, 'conversation.history');\n if (outcome.kind !== 'action') return { outcome };\n const held = record(outcome.result);\n if (!Array.isArray(held.messages)) return { outcome: { kind: 'transport-uncertainty' } };\n for (const entry of held.messages) {\n if (text(entry, 'message_id') === undefined) {\n return { outcome: { kind: 'transport-uncertainty' } };\n }\n messages.push(entry);\n }\n if (held.next === null || held.next === undefined) return { messages };\n const next = record(held.next);\n const acceptedAt = text(next, 'accepted_at');\n const messageId = text(next, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) {\n return { outcome: { kind: 'transport-uncertainty' } };\n }\n after = { accepted_at: acceptedAt, message_id: messageId };\n }\n}\n\nfunction historyPage(\n conversationId: string,\n messages: readonly { turn: string; message: unknown }[],\n until: number,\n): ActionResult {\n const from = Math.max(0, until - HISTORY_PAGE);\n const page = messages.slice(from, until);\n const first = page[0];\n const cursor = from === 0 || first === undefined ? null : olderCursor(first);\n if (from > 0 && cursor === null) return { kind: 'transport-uncertainty' };\n return {\n kind: 'action',\n result: {\n conversation_id: conversationId,\n messages: page,\n ...(cursor === null ? {} : { cursor }),\n },\n };\n}\n\nasync function historyAction(transport: HouseTransport, input: unknown): Promise<ActionResult> {\n const conversationId = text(input, 'conversation');\n if (conversationId === undefined) return malformed();\n const cursorValue = text(input, 'cursor');\n let olderThan: HistoryCursor | undefined;\n if (cursorValue !== undefined) {\n const parsed = historyCursor(cursorValue);\n if (parsed === null) {\n return { kind: 'rejected', code: 'unknown-cursor', fields: { cursor: cursorValue } };\n }\n olderThan = parsed;\n }\n const held = await readConversationHistory(transport, conversationId);\n if ('outcome' in held) return held.outcome;\n const messages: { turn: string; message: unknown }[] = [];\n for (const entry of held.messages) {\n const mapped = turned(entry);\n if (mapped === null) return { kind: 'transport-uncertainty' };\n messages.push(mapped);\n }\n if (olderThan === undefined) {\n return historyPage(conversationId, messages, messages.length);\n }\n const at = messages.findIndex(\n (entry) =>\n text(entry.message, 'accepted_at') === olderThan.accepted_at &&\n text(entry.message, 'message_id') === olderThan.message_id,\n );\n if (at === -1) {\n return { kind: 'rejected', code: 'unknown-cursor', fields: { cursor: cursorValue } };\n }\n return historyPage(conversationId, messages, at);\n}\n"],"names":["VERSION","changeBatchIdentity","doorRefusal","PRIVATE_AUTHORITY","CONVERSATION_ACTIONS","HOUSE_ACTS","HOUSE_PROVIDER_ACTIONS","DECLARED","Set","HISTORY_PAGE","OCTET_STREAM","CONVERSATION_ROUTES","HOUSE_CONVERSATION_CARDS","locator","type","identity","agent","declaredActions","map","name","inputShape","resultKind","houseAction","transport","request","has","Promise","resolve","kind","code","fields","mdModel","sendAction","input","historyAction","carry","routeOf","record","value","text","held","undefined","operationId","malformed","bodyOf","agent_id","operation_id","conversation_id","message_id","nested","answer","interaction_id","revision","response","withTurn","body","turn","actionOutcome","status","refusal","result","door","sendFile","entry","file","bytes","byteLength","sha256","mediaType","width","height","media_type","length","dimensions","sendFiles","files","Array","isArray","declared","push","sendBody","textValue","fileBytes","blob","arrayBuffer","Uint8Array","uploadGrant","upload","method","operation","url","uploadOriginals","originals","index","entries","grant","delivered","transfer","act","outcome","uploaded","historyCursor","parsed","JSON","parse","acceptedAt","messageId","accepted_at","turned","message","structuredClone","olderCursor","stringify","readConversationHistory","conversationId","messages","after","limit","next","historyPage","until","from","Math","max","page","slice","first","cursor","cursorValue","olderThan","mapped","at","findIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/actions.ts"],"sourcesContent":["import { VERSION } from '@agentshouse/mdmodel';\nimport {\n changeBatchIdentity,\n type ActionDeclaration,\n type ActionRequest,\n type ActionResult,\n type ConversationCards,\n} from '@agentshouse/mdruntime';\nimport { doorRefusal } from './refusal.js';\nimport { PRIVATE_AUTHORITY } from './transport.js';\nimport type { HouseDoor, HouseDoorAnswer, HouseTransport } from './transport.js';\n\nexport const CONVERSATION_ACTIONS = [\n 'conversation.create',\n 'conversation.send',\n 'conversation.answer',\n 'conversation.interrupt',\n 'conversation.kill',\n 'conversation.cancel',\n 'conversation.delete',\n 'conversation.history',\n] as const;\n\nexport const HOUSE_ACTS = [\n 'conversations/interaction/read',\n 'conversations/originals/read',\n 'apps/read',\n 'apps/customize',\n 'rooms/read',\n 'rooms/access/read',\n 'rooms/access/invitations',\n 'rooms/access/entries',\n 'rooms/access/invite',\n 'rooms/access/invitation-cancel',\n 'rooms/access/revoke',\n 'rooms/access/leave',\n 'rooms/roles/define',\n 'rooms/roles/remove',\n 'rooms/roles/assign',\n 'rooms/roles/unassign',\n 'rooms/settings/processing/read',\n 'rooms/settings/processing/write',\n 'profiles/create',\n 'profiles/read',\n 'profiles/edit',\n 'profiles/duplicate',\n 'profiles/delegate',\n 'agents/create',\n 'agents/read',\n 'routines/requests',\n 'routines/access',\n 'routines/owned',\n 'routines/granted',\n 'routines/grant',\n 'routines/send',\n 'routines/cancel',\n 'routines/start',\n 'routines/schedules',\n 'routines/schedules/create',\n 'routines/schedules/enabled',\n 'account/security/read',\n 'storage/inventory',\n 'storage/usage',\n 'usage/statement',\n 'storage/archive',\n 'storage/archive/status',\n 'envs/read',\n 'envs/create',\n 'envs/start',\n 'envs/stop',\n 'envs/delete',\n 'envs/renewals/read',\n 'envs/work/read',\n 'nodes/read',\n] as const;\n\nexport const HOUSE_PROVIDER_ACTIONS = [...CONVERSATION_ACTIONS, ...HOUSE_ACTS] as const;\n\nconst DECLARED = new Set<string>(HOUSE_PROVIDER_ACTIONS);\n\nexport const HISTORY_PAGE = 100;\n\nconst OCTET_STREAM = 'application/octet-stream';\n\nconst CONVERSATION_ROUTES: Readonly<Record<string, string>> = {\n 'conversation.create': '/door/conversations/create',\n 'conversation.send': '/door/conversations/send',\n 'conversation.answer': '/door/conversations/interaction/answer',\n 'conversation.interrupt': '/door/conversations/interrupt',\n 'conversation.kill': '/door/conversations/kill',\n 'conversation.cancel': '/door/conversations/cancel',\n 'conversation.delete': '/door/conversations/delete',\n 'conversation.history': '/door/conversations/history',\n 'conversations/interaction/read': '/door/conversations/interaction/read',\n 'conversations/originals/read': '/door/conversations/originals/read',\n};\n\nexport const HOUSE_CONVERSATION_CARDS: ConversationCards = {\n locator: PRIVATE_AUTHORITY,\n type: 'conversation',\n identity: 'conversation',\n agent: 'agent',\n};\n\nexport function declaredActions(): readonly ActionDeclaration[] {\n return HOUSE_PROVIDER_ACTIONS.map((name) => ({\n name,\n inputShape: {},\n resultKind: 'house',\n }));\n}\n\nexport function houseAction(\n transport: HouseTransport,\n request: ActionRequest,\n): Promise<ActionResult> {\n if (!DECLARED.has(request.name)) {\n return Promise.resolve({\n kind: 'rejected',\n code: 'action-unimplemented',\n fields: { name: request.name, mdModel: VERSION },\n });\n }\n if (request.name === 'conversation.send') return sendAction(transport, request.input);\n if (request.name === 'conversation.history') return historyAction(transport, request.input);\n return carry(transport, request.name, request.input);\n}\n\nfunction routeOf(name: string): string {\n return CONVERSATION_ROUTES[name] ?? `/door/${name}`;\n}\n\nfunction record(value: unknown): Record<string, unknown> {\n return typeof value === 'object' && value !== null ? (value as Record<string, unknown>) : {};\n}\n\nfunction text(value: unknown, name: string): string | undefined {\n const held = record(value)[name];\n return typeof held === 'string' ? held : undefined;\n}\n\nfunction operationId(input: unknown): string {\n return text(input, 'operation_id') ?? changeBatchIdentity();\n}\n\nfunction malformed(): ActionResult {\n return { kind: 'rejected', code: 'invalid_request', fields: {} };\n}\n\nfunction bodyOf(name: string, input: unknown): unknown {\n if (name === 'conversation.create') {\n return { agent_id: text(input, 'agent_id'), operation_id: operationId(input) };\n }\n if (\n name === 'conversation.interrupt' ||\n name === 'conversation.kill' ||\n name === 'conversation.delete'\n ) {\n return { conversation_id: text(input, 'conversation'), operation_id: operationId(input) };\n }\n if (name === 'conversation.cancel') {\n return {\n conversation_id: text(input, 'conversation'),\n message_id: text(input, 'turn'),\n operation_id: operationId(input),\n };\n }\n if (name === 'conversation.answer') {\n const nested = record(record(input).answer);\n return {\n conversation_id: text(input, 'conversation'),\n operation_id: operationId(input),\n interaction_id: text(nested, 'interaction_id'),\n revision: nested.revision,\n response: nested.response,\n };\n }\n return input;\n}\n\nfunction withTurn(body: unknown): unknown {\n const held = record(body);\n const turn = text(held, 'message_id');\n return turn === undefined ? body : { ...held, turn };\n}\n\nexport function actionOutcome(answer: HouseDoorAnswer, name: string): ActionResult {\n if (answer.status === 401) return { kind: 'revoked-authorization' };\n const refusal = doorRefusal(answer.body);\n if (refusal !== null) {\n return { kind: 'rejected', code: refusal.code, fields: refusal.fields };\n }\n if (answer.status === 0 || answer.status >= 400) return { kind: 'transport-uncertainty' };\n if (name === 'conversation.send') return { kind: 'action', result: withTurn(answer.body) };\n return { kind: 'action', result: answer.body };\n}\n\nasync function carry(\n transport: HouseTransport,\n name: string,\n input: unknown,\n): Promise<ActionResult> {\n const answer = await transport.door(routeOf(name), bodyOf(name, input));\n return actionOutcome(answer, name);\n}\n\nfunction sendFile(entry: unknown): Record<string, unknown> | null {\n const file = record(entry);\n const name = text(file, 'name');\n const bytes = file.byteLength;\n const sha256 = text(file, 'contentHash');\n if (name === undefined || typeof bytes !== 'number' || sha256 === undefined) return null;\n const mediaType = text(file, 'mediaType');\n const width = file.width;\n const height = file.height;\n return {\n name,\n media_type: mediaType !== undefined && mediaType.length > 0 ? mediaType : OCTET_STREAM,\n bytes,\n sha256,\n ...(typeof width === 'number' && typeof height === 'number'\n ? { dimensions: { width, height } }\n : {}),\n };\n}\n\nfunction sendFiles(input: unknown): readonly Record<string, unknown>[] | null {\n const files = record(input).files;\n if (files === undefined) return [];\n if (!Array.isArray(files)) return null;\n const declared: Record<string, unknown>[] = [];\n for (const entry of files) {\n const file = sendFile(entry);\n if (file === null) return null;\n declared.push(file);\n }\n return declared;\n}\n\nfunction sendBody(input: unknown): Record<string, unknown> | null {\n const files = sendFiles(input);\n if (files === null) return null;\n const textValue = text(input, 'text');\n return {\n conversation_id: text(input, 'conversation'),\n operation_id: operationId(input),\n ...(textValue !== undefined && textValue.length > 0 ? { text: textValue } : {}),\n ...(files.length === 0 ? {} : { files }),\n };\n}\n\nasync function fileBytes(file: unknown): Promise<Uint8Array | null> {\n const blob = record(file).blob;\n if (blob === undefined || typeof blob !== 'object' || blob === null) return null;\n if (!('arrayBuffer' in blob) || typeof blob.arrayBuffer !== 'function') return null;\n return new Uint8Array(await (blob as Blob).arrayBuffer());\n}\n\nfunction uploadGrant(\n entry: unknown,\n): { method: 'POST'; operation: string; url: string } | 'absent' | null {\n if (!('upload' in record(entry))) return 'absent';\n const upload = record(record(entry).upload);\n if (upload.method !== 'POST') return null;\n if (typeof upload.operation !== 'string' || typeof upload.url !== 'string') return null;\n return { method: 'POST', operation: upload.operation, url: upload.url };\n}\n\nasync function uploadOriginals(\n transport: HouseTransport,\n input: unknown,\n result: unknown,\n): Promise<ActionResult | null> {\n const originals = record(result).originals;\n if (!Array.isArray(originals) || originals.length === 0) return null;\n const files = Array.isArray(record(input).files) ? (record(input).files as unknown[]) : [];\n for (const [index, entry] of originals.entries()) {\n const grant = uploadGrant(entry);\n if (grant === 'absent') continue;\n if (grant === null) return malformed();\n const bytes = index < files.length ? await fileBytes(files[index]) : null;\n if (bytes === null) {\n return { kind: 'rejected', code: 'conversation_original_descriptor_required', fields: {} };\n }\n const delivered = await transport.transfer({\n act: 'conversation_original_upload',\n method: 'POST',\n url: grant.url,\n body: bytes,\n operation: grant.operation,\n });\n if (delivered.status === 200) continue;\n return actionOutcome(delivered, 'conversation.send');\n }\n return null;\n}\n\nasync function sendAction(transport: HouseTransport, input: unknown): Promise<ActionResult> {\n const body = sendBody(input);\n if (body === null) return malformed();\n const answer = await transport.door('/door/conversations/send', body);\n const outcome = actionOutcome(answer, 'conversation.send');\n if (outcome.kind !== 'action') return outcome;\n const uploaded = await uploadOriginals(transport, input, outcome.result);\n if (uploaded !== null) return uploaded;\n return outcome;\n}\n\ntype HistoryCursor = { accepted_at: string; message_id: string };\n\nfunction historyCursor(value: string): HistoryCursor | null {\n let parsed: unknown;\n try {\n parsed = JSON.parse(value) as unknown;\n } catch {\n return null;\n }\n const acceptedAt = text(parsed, 'accepted_at');\n const messageId = text(parsed, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) return null;\n return { accepted_at: acceptedAt, message_id: messageId };\n}\n\nfunction turned(entry: unknown): { turn: string; message: unknown } | null {\n const turn = text(entry, 'message_id');\n if (turn === undefined) return null;\n return { turn, message: structuredClone(entry) };\n}\n\nfunction olderCursor(entry: { message: unknown }): string | null {\n const acceptedAt = text(entry.message, 'accepted_at');\n const messageId = text(entry.message, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) return null;\n return JSON.stringify({ accepted_at: acceptedAt, message_id: messageId });\n}\n\nexport async function readConversationHistory(\n transport: HouseDoor,\n conversationId: string,\n): Promise<{ messages: unknown[] } | { outcome: ActionResult }> {\n const messages: unknown[] = [];\n let after: HistoryCursor | undefined;\n for (;;) {\n const answer = await transport.door('/door/conversations/history', {\n conversation_id: conversationId,\n ...(after === undefined ? {} : { after }),\n limit: HISTORY_PAGE,\n });\n const outcome = actionOutcome(answer, 'conversation.history');\n if (outcome.kind !== 'action') return { outcome };\n const held = record(outcome.result);\n if (!Array.isArray(held.messages)) return { outcome: { kind: 'transport-uncertainty' } };\n for (const entry of held.messages) {\n if (text(entry, 'message_id') === undefined) {\n return { outcome: { kind: 'transport-uncertainty' } };\n }\n messages.push(entry);\n }\n if (held.next === null || held.next === undefined) return { messages };\n const next = record(held.next);\n const acceptedAt = text(next, 'accepted_at');\n const messageId = text(next, 'message_id');\n if (acceptedAt === undefined || messageId === undefined) {\n return { outcome: { kind: 'transport-uncertainty' } };\n }\n after = { accepted_at: acceptedAt, message_id: messageId };\n }\n}\n\nfunction historyPage(\n conversationId: string,\n messages: readonly { turn: string; message: unknown }[],\n until: number,\n): ActionResult {\n const from = Math.max(0, until - HISTORY_PAGE);\n const page = messages.slice(from, until);\n const first = page[0];\n const cursor = from === 0 || first === undefined ? null : olderCursor(first);\n if (from > 0 && cursor === null) return { kind: 'transport-uncertainty' };\n return {\n kind: 'action',\n result: {\n conversation_id: conversationId,\n messages: page,\n ...(cursor === null ? {} : { cursor }),\n },\n };\n}\n\nasync function historyAction(transport: HouseTransport, input: unknown): Promise<ActionResult> {\n const conversationId = text(input, 'conversation');\n if (conversationId === undefined) return malformed();\n const cursorValue = text(input, 'cursor');\n let olderThan: HistoryCursor | undefined;\n if (cursorValue !== undefined) {\n const parsed = historyCursor(cursorValue);\n if (parsed === null) {\n return { kind: 'rejected', code: 'unknown-cursor', fields: { cursor: cursorValue } };\n }\n olderThan = parsed;\n }\n const held = await readConversationHistory(transport, conversationId);\n if ('outcome' in held) return held.outcome;\n const messages: { turn: string; message: unknown }[] = [];\n for (const entry of held.messages) {\n const mapped = turned(entry);\n if (mapped === null) return { kind: 'transport-uncertainty' };\n messages.push(mapped);\n }\n if (olderThan === undefined) {\n return historyPage(conversationId, messages, messages.length);\n }\n const at = messages.findIndex(\n (entry) =>\n text(entry.message, 'accepted_at') === olderThan.accepted_at &&\n text(entry.message, 'message_id') === olderThan.message_id,\n );\n if (at === -1) {\n return { kind: 'rejected', code: 'unknown-cursor', fields: { cursor: cursorValue } };\n }\n return historyPage(conversationId, messages, at);\n}\n"],"names":["VERSION","changeBatchIdentity","doorRefusal","PRIVATE_AUTHORITY","CONVERSATION_ACTIONS","HOUSE_ACTS","HOUSE_PROVIDER_ACTIONS","DECLARED","Set","HISTORY_PAGE","OCTET_STREAM","CONVERSATION_ROUTES","HOUSE_CONVERSATION_CARDS","locator","type","identity","agent","declaredActions","map","name","inputShape","resultKind","houseAction","transport","request","has","Promise","resolve","kind","code","fields","mdModel","sendAction","input","historyAction","carry","routeOf","record","value","text","held","undefined","operationId","malformed","bodyOf","agent_id","operation_id","conversation_id","message_id","nested","answer","interaction_id","revision","response","withTurn","body","turn","actionOutcome","status","refusal","result","door","sendFile","entry","file","bytes","byteLength","sha256","mediaType","width","height","media_type","length","dimensions","sendFiles","files","Array","isArray","declared","push","sendBody","textValue","fileBytes","blob","arrayBuffer","Uint8Array","uploadGrant","upload","method","operation","url","uploadOriginals","originals","index","entries","grant","delivered","transfer","act","outcome","uploaded","historyCursor","parsed","JSON","parse","acceptedAt","messageId","accepted_at","turned","message","structuredClone","olderCursor","stringify","readConversationHistory","conversationId","messages","after","limit","next","historyPage","until","from","Math","max","page","slice","first","cursor","cursorValue","olderThan","mapped","at","findIndex"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentshouse/mdruntime-adapter",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.14",
|
|
4
4
|
"description": "Agents House Adapter for the MD Runtime",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"url": "https://github.com/agentshouse/mdruntime/issues"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@agentshouse/mdmodel": "0.1.0-alpha.
|
|
37
|
-
"@agentshouse/mdruntime": "0.1.0-alpha.
|
|
36
|
+
"@agentshouse/mdmodel": "0.1.0-alpha.13",
|
|
37
|
+
"@agentshouse/mdruntime": "0.1.0-alpha.19"
|
|
38
38
|
}
|
|
39
39
|
}
|