@canonmsg/agent-sdk 11.2.0 → 12.0.0

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 (188) hide show
  1. package/README.md +171 -536
  2. package/dist/chunks/chunk-6VK4UZHJ.js +2806 -0
  3. package/dist/chunks/chunk-FPQFTTND.js +4899 -0
  4. package/dist/chunks/chunk-OLJ7H4E2.js +14705 -0
  5. package/dist/chunks/mls-crypto-NZDNSPAO.js +10 -0
  6. package/dist/cli.js +198 -0
  7. package/dist/drivers/claude.d.ts +36 -0
  8. package/dist/drivers/code.d.ts +18 -0
  9. package/dist/drivers/codex.d.ts +37 -0
  10. package/dist/index.d.ts +12 -25
  11. package/dist/index.js +69 -13
  12. package/dist/internal/backend-contracts/agentBehaviorPolicy.d.ts +122 -0
  13. package/dist/internal/backend-contracts/agentDirectory.d.ts +32 -0
  14. package/dist/internal/backend-contracts/agentOrigin.d.ts +23 -0
  15. package/dist/internal/backend-contracts/agentSearch.d.ts +17 -0
  16. package/dist/internal/backend-contracts/api-origins.generated.d.ts +4 -0
  17. package/dist/internal/backend-contracts/apiErrors.d.ts +1 -0
  18. package/dist/internal/backend-contracts/artifactActions.d.ts +159 -0
  19. package/dist/internal/backend-contracts/artifacts.d.ts +386 -0
  20. package/dist/internal/backend-contracts/communication.d.ts +131 -0
  21. package/dist/internal/backend-contracts/conversationMembership.d.ts +28 -0
  22. package/dist/internal/backend-contracts/deliveryObservation.d.ts +23 -0
  23. package/dist/internal/backend-contracts/diffRedaction.d.ts +6 -0
  24. package/dist/internal/backend-contracts/endpoint-unread.d.ts +4 -0
  25. package/dist/internal/backend-contracts/endpoint.d.ts +103 -0
  26. package/dist/internal/backend-contracts/endpointContentPolicy.d.ts +37 -0
  27. package/dist/internal/backend-contracts/environment.d.ts +20 -0
  28. package/dist/internal/backend-contracts/externalInbound.d.ts +24 -0
  29. package/dist/internal/backend-contracts/firestoreValues.d.ts +9 -0
  30. package/dist/internal/backend-contracts/index.d.ts +48 -0
  31. package/dist/internal/backend-contracts/media-url.d.ts +6 -0
  32. package/dist/internal/backend-contracts/media.d.ts +51 -0
  33. package/dist/internal/backend-contracts/mediaDelivery.d.ts +46 -0
  34. package/dist/internal/backend-contracts/mediaTransferProtocol.d.ts +17 -0
  35. package/dist/internal/backend-contracts/membershipChange.d.ts +21 -0
  36. package/dist/internal/backend-contracts/message.d.ts +86 -0
  37. package/dist/internal/backend-contracts/messageText.d.ts +6 -0
  38. package/dist/internal/backend-contracts/mlsDevApplication.d.ts +73 -0
  39. package/dist/internal/backend-contracts/mlsDevCredential.d.ts +75 -0
  40. package/dist/internal/backend-contracts/mlsDevCredentialReconciliation.d.ts +45 -0
  41. package/dist/internal/backend-contracts/mlsDevDeviceCustody.d.ts +51 -0
  42. package/dist/internal/backend-contracts/mlsDevEnrollment.d.ts +74 -0
  43. package/dist/internal/backend-contracts/mlsDevGroup.d.ts +197 -0
  44. package/dist/internal/backend-contracts/mlsDevGroupFeed.d.ts +47 -0
  45. package/dist/internal/backend-contracts/mlsDevKeyPackage.d.ts +42 -0
  46. package/dist/internal/backend-contracts/mlsDevKeyPackages.d.ts +55 -0
  47. package/dist/internal/backend-contracts/moderation.d.ts +7 -0
  48. package/dist/internal/backend-contracts/plaintextProcessors.d.ts +63 -0
  49. package/dist/internal/backend-contracts/preparedContent.d.ts +54 -0
  50. package/dist/internal/backend-contracts/replyAuthority.d.ts +14 -0
  51. package/dist/internal/backend-contracts/runtimeCardFields.d.ts +66 -0
  52. package/dist/internal/backend-contracts/runtimeCardStorage.d.ts +3 -0
  53. package/dist/internal/backend-contracts/runtimeDescriptor.d.ts +88 -0
  54. package/dist/internal/backend-contracts/selfContext.d.ts +9 -0
  55. package/dist/internal/backend-contracts/turnProtocol.d.ts +43 -0
  56. package/dist/internal/backend-contracts/verbContract.d.ts +848 -0
  57. package/dist/internal/backend-contracts/verbSchemas.d.ts +1707 -0
  58. package/dist/internal/backend-contracts/verbWire.d.ts +493 -0
  59. package/dist/internal/backend-contracts/webAuth.d.ts +8 -0
  60. package/dist/internal/backend-contracts/workSessions.d.ts +205 -0
  61. package/dist/internal/core/agent-profiles.d.ts +69 -0
  62. package/dist/internal/core/agent-resolver.d.ts +49 -0
  63. package/dist/internal/core/agent-session.d.ts +12 -0
  64. package/dist/internal/core/approval-format.d.ts +26 -0
  65. package/dist/internal/core/approval-manager.d.ts +43 -0
  66. package/dist/internal/core/approval-types.d.ts +74 -0
  67. package/dist/internal/core/artifacts.d.ts +262 -0
  68. package/dist/internal/core/attached-native-session.d.ts +174 -0
  69. package/dist/internal/core/attached-session-file-store.d.ts +3 -0
  70. package/dist/internal/core/base-url.d.ts +1 -0
  71. package/dist/internal/core/cli-metadata.d.ts +13 -0
  72. package/dist/internal/core/client.d.ts +486 -0
  73. package/dist/internal/core/completed-output-journal.d.ts +39 -0
  74. package/dist/internal/core/constants.d.ts +4 -0
  75. package/dist/internal/core/control-poller.d.ts +221 -0
  76. package/dist/internal/core/endpoint-client.d.ts +43 -0
  77. package/dist/internal/core/exclusive-json-file-store.d.ts +7 -0
  78. package/dist/internal/core/execution-environment-mode.d.ts +8 -0
  79. package/dist/internal/core/execution-environment.d.ts +55 -0
  80. package/dist/internal/core/gifs.d.ts +35 -0
  81. package/dist/internal/core/group-context.d.ts +25 -0
  82. package/dist/internal/core/host-runtime.d.ts +257 -0
  83. package/dist/internal/core/inbound-frame.d.ts +64 -0
  84. package/dist/internal/core/index.d.ts +107 -0
  85. package/dist/internal/core/local-runtime-catalog.d.ts +131 -0
  86. package/dist/internal/core/message-format.d.ts +13 -0
  87. package/dist/internal/core/native-session-interaction.d.ts +44 -0
  88. package/dist/internal/core/node-media.d.ts +6 -0
  89. package/dist/internal/core/policy.d.ts +2 -0
  90. package/dist/internal/core/provenance.d.ts +31 -0
  91. package/dist/internal/core/registration-cli.d.ts +40 -0
  92. package/dist/internal/core/registration-profile.d.ts +10 -0
  93. package/dist/internal/core/registration-session.d.ts +55 -0
  94. package/dist/internal/core/registration.d.ts +21 -0
  95. package/dist/internal/core/retry.d.ts +122 -0
  96. package/dist/internal/core/rtdb-rest.d.ts +145 -0
  97. package/dist/internal/core/runtime-cards.d.ts +331 -0
  98. package/dist/internal/core/runtime-descriptor.d.ts +75 -0
  99. package/dist/internal/core/runtime-endpoints.d.ts +26 -0
  100. package/dist/internal/core/runtime-heartbeat.d.ts +29 -0
  101. package/dist/internal/core/runtime-presentation.d.ts +35 -0
  102. package/dist/internal/core/runtime-request-manager.d.ts +284 -0
  103. package/dist/internal/core/runtime-state-publisher.d.ts +42 -0
  104. package/dist/internal/core/self-context.d.ts +61 -0
  105. package/dist/internal/core/silent-turn.d.ts +86 -0
  106. package/dist/internal/core/stream.d.ts +77 -0
  107. package/dist/internal/core/turn-output-controller.d.ts +69 -0
  108. package/dist/internal/core/turn-protocol.d.ts +33 -0
  109. package/dist/internal/core/turn-verbosity.d.ts +97 -0
  110. package/dist/internal/core/types.d.ts +1075 -0
  111. package/dist/internal/core/typing-status-publisher.d.ts +14 -0
  112. package/dist/internal/core/unified-diff.d.ts +35 -0
  113. package/dist/internal/core/work-session-provider.d.ts +29 -0
  114. package/dist/internal/core/workspace-discovery.d.ts +17 -0
  115. package/dist/internal/endpoint/artifact-images.d.ts +60 -0
  116. package/dist/internal/endpoint/artifact-reducer.d.ts +35 -0
  117. package/dist/internal/endpoint/artifact-views.d.ts +113 -0
  118. package/dist/internal/endpoint/artifacts.d.ts +75 -0
  119. package/dist/internal/endpoint/delivery.d.ts +47 -0
  120. package/dist/internal/endpoint/engine.d.ts +219 -0
  121. package/dist/internal/endpoint/ephemeral.d.ts +8 -0
  122. package/dist/internal/endpoint/events.d.ts +32 -0
  123. package/dist/internal/endpoint/external-inbound.d.ts +36 -0
  124. package/dist/internal/endpoint/handoff.d.ts +50 -0
  125. package/dist/internal/endpoint/history.d.ts +22 -0
  126. package/dist/internal/endpoint/image-generation-errors.d.ts +2 -0
  127. package/dist/internal/endpoint/inbound.d.ts +29 -0
  128. package/dist/internal/endpoint/index.d.ts +32 -0
  129. package/dist/internal/endpoint/media.d.ts +172 -0
  130. package/dist/internal/endpoint/migration.d.ts +50 -0
  131. package/dist/internal/endpoint/mls-crypto.d.ts +25 -0
  132. package/dist/internal/endpoint/mls-dev-client.d.ts +44 -0
  133. package/dist/internal/endpoint/mls-dev-device.d.ts +67 -0
  134. package/dist/internal/endpoint/mls-dev-groups.d.ts +114 -0
  135. package/dist/internal/endpoint/mls-dev-key-package-service.d.ts +33 -0
  136. package/dist/internal/endpoint/mls-dev-key-packages.d.ts +42 -0
  137. package/dist/internal/endpoint/mls-dev-transport.d.ts +37 -0
  138. package/dist/internal/endpoint/node-mls-custody-protocol.d.ts +24 -0
  139. package/dist/internal/endpoint/node-mls-custody.d.ts +15 -0
  140. package/dist/internal/endpoint/node.d.ts +7 -0
  141. package/dist/internal/endpoint/observe-query.d.ts +17 -0
  142. package/dist/internal/endpoint/portable-node-mls-custody.d.ts +23 -0
  143. package/dist/internal/endpoint/queue.d.ts +22 -0
  144. package/dist/internal/endpoint/recovery.d.ts +27 -0
  145. package/dist/internal/endpoint/retention.d.ts +7 -0
  146. package/dist/internal/endpoint/store.d.ts +22 -0
  147. package/dist/internal/endpoint/sync.d.ts +33 -0
  148. package/dist/internal/endpoint/transient-publisher.d.ts +8 -0
  149. package/dist/internal/endpoint/transport.d.ts +58 -0
  150. package/dist/media.d.ts +1 -1
  151. package/dist/media.js +42 -541
  152. package/dist/runner/runner.d.ts +37 -0
  153. package/dist/runner/types.d.ts +168 -0
  154. package/package.json +18 -5
  155. package/dist/attached-session.d.ts +0 -58
  156. package/dist/attached-session.js +0 -638
  157. package/dist/bounded-file-read.d.ts +0 -14
  158. package/dist/bounded-file-read.js +0 -34
  159. package/dist/canon-agent.d.ts +0 -238
  160. package/dist/canon-agent.js +0 -2534
  161. package/dist/debouncer.d.ts +0 -18
  162. package/dist/debouncer.js +0 -133
  163. package/dist/inbound-handoff.d.ts +0 -6
  164. package/dist/inbound-handoff.js +0 -17
  165. package/dist/managed-session-host.d.ts +0 -27
  166. package/dist/managed-session-host.js +0 -195
  167. package/dist/managed-session-setup.d.ts +0 -99
  168. package/dist/managed-session-setup.js +0 -234
  169. package/dist/realtime.d.ts +0 -62
  170. package/dist/realtime.js +0 -193
  171. package/dist/runtime-card.d.ts +0 -48
  172. package/dist/runtime-card.js +0 -64
  173. package/dist/session-manager.d.ts +0 -77
  174. package/dist/session-manager.js +0 -285
  175. package/dist/turn-streaming-request.d.ts +0 -17
  176. package/dist/turn-streaming-request.js +0 -22
  177. package/dist/turn-verbosity-option.d.ts +0 -33
  178. package/dist/turn-verbosity-option.js +0 -23
  179. package/dist/types.d.ts +0 -387
  180. package/dist/types.js +0 -1
  181. package/dist/work-session-coordination.d.ts +0 -21
  182. package/dist/work-session-coordination.js +0 -53
  183. package/dist/work-session-host.d.ts +0 -31
  184. package/dist/work-session-host.js +0 -617
  185. package/dist/work-session-interactions.d.ts +0 -12
  186. package/dist/work-session-interactions.js +0 -173
  187. package/dist/work-session-state.d.ts +0 -36
  188. package/dist/work-session-state.js +0 -62
@@ -1,34 +0,0 @@
1
- export class BoundedFileReadError extends Error {
2
- failure;
3
- constructor(failure) {
4
- super(failure);
5
- this.failure = failure;
6
- this.name = 'BoundedFileReadError';
7
- }
8
- }
9
- /**
10
- * Read a regular file through an already-open handle without ever requesting
11
- * more than maxBytes + 1. The extra byte detects a file that grew after stat
12
- * without allowing an unbounded path-based read.
13
- */
14
- export async function readBoundedRegularFileHandle(handle, maxBytes) {
15
- if (!Number.isSafeInteger(maxBytes) || maxBytes <= 0) {
16
- throw new Error('maxBytes must be a positive safe integer');
17
- }
18
- const fileStat = await handle.stat();
19
- if (!fileStat.isFile())
20
- throw new BoundedFileReadError('not-file');
21
- if (fileStat.size > maxBytes)
22
- throw new BoundedFileReadError('too-large');
23
- const buffer = Buffer.allocUnsafe(maxBytes + 1);
24
- let totalBytes = 0;
25
- while (totalBytes < buffer.byteLength) {
26
- const { bytesRead } = await handle.read(buffer, totalBytes, buffer.byteLength - totalBytes, totalBytes);
27
- if (bytesRead === 0)
28
- break;
29
- totalBytes += bytesRead;
30
- }
31
- if (totalBytes > maxBytes)
32
- throw new BoundedFileReadError('too-large');
33
- return buffer.subarray(0, totalBytes);
34
- }
@@ -1,238 +0,0 @@
1
- import { type AddMemberResult, type CanonContact, type CommunicateInput, type CommunicateResult, type DiscoverAgentsInput, type DiscoverAgentsResult, type CanonConversation, type CanonConversationsPage, type CanonConversationsPageOptions, type CreateGroupOptions, type CreateGroupResult, type CanonRuntimeActivityItem, type CanonRuntimeCommandDescriptor, type CanonRuntimeFact, type CanonRuntimePrimitiveId, type ClearRuntimeActivityOptions, type RegistrationInput, type RegistrationStatus, type CanonVoiceSession, type CanonVoiceSessionToken, type CreateVoiceSessionOptions, type VoiceSessionEventPayload } from '@canonmsg/core';
2
- import type { CanonAgentConnectionOptions, CanonAgentOptions, ContactAddedHandler, ContactRemovedHandler, MessageHandler, MessageUpdatedHandler, ParticipationSuppressedHandler, RuntimeSignalHandler, RuntimePrimitiveHandler } from './types.js';
3
- /**
4
- * Contact-graph operations exposed under `agent.contacts`. Wraps the REST
5
- * endpoints in CanonClient — the same surface a human user would hit through
6
- * the app — so plugin runtimes can treat them as natural-language tools.
7
- */
8
- export interface AgentContactsAPI {
9
- list(): Promise<CanonContact[]>;
10
- get(contactId: string): Promise<CanonContact | null>;
11
- remove(contactId: string): Promise<void>;
12
- }
13
- /**
14
- * User-level moderation actions exposed under `agent.users`.
15
- */
16
- export interface AgentUsersAPI {
17
- block(userId: string): Promise<void>;
18
- unblock(userId: string): Promise<void>;
19
- }
20
- export interface AgentConversationsAPI {
21
- list(options?: {
22
- targetUserId?: string;
23
- }): Promise<CanonConversation[]>;
24
- /**
25
- * One page of conversations plus the cursor to continue from, for agents
26
- * with enough conversations that fetching all of them on every poll is
27
- * wasteful. Continue with `before: page.nextBefore` until it is null.
28
- *
29
- * Kept separate from `list` on purpose: `list` filters by `targetUserId`
30
- * over the complete set, which cannot be honored a page at a time.
31
- */
32
- page(options?: CanonConversationsPageOptions): Promise<CanonConversationsPage>;
33
- }
34
- /** Owner-published agent-directory search, subject to this agent's outbound policy. */
35
- export interface AgentDirectoryAPI {
36
- search(input?: DiscoverAgentsInput): Promise<DiscoverAgentsResult>;
37
- }
38
- export declare class CanonAgent {
39
- private options;
40
- private readonly runtimeConnection;
41
- private apiClient;
42
- private debouncer;
43
- private realtimeManager;
44
- private sessionManager;
45
- private handler;
46
- private contactAddedHandler;
47
- private contactRemovedHandler;
48
- private messageUpdatedHandler;
49
- private participationSuppressedHandler;
50
- private interruptHandler;
51
- private stopAndDropHandler;
52
- private newSessionHandler;
53
- private callStartedHandler;
54
- private callEndedHandler;
55
- /** Whether the live SSE stream was opened with the voice family attached. */
56
- private voiceEventsEnabled;
57
- private readonly primitiveHandlers;
58
- private primitiveFallbackHandler;
59
- /** Contact-graph operations (`agent.contacts.*`). Initialized in the constructor. */
60
- readonly contacts: AgentContactsAPI;
61
- /** Block/unblock operations (`agent.users.*`). Initialized in the constructor. */
62
- readonly users: AgentUsersAPI;
63
- /** Conversation discovery for choosing existing sessions intentionally. */
64
- readonly conversations: AgentConversationsAPI;
65
- /** Discoverable Canon agents that can be selected for a later communication action. */
66
- readonly directory: AgentDirectoryAPI;
67
- private agentId;
68
- private agentContext;
69
- private approvalManager;
70
- private approvalManagerAgentId;
71
- private approvalManagerOwnerId;
72
- /**
73
- * Shared poll/timeout/abort engine for interactive runtime input + card
74
- * requests. The server request is still created inline (host-specific
75
- * `native`/`responseUserId`), so the descriptors register a no-op `create`
76
- * but keep the built-in `cancel`: passing the turn's abort `signal` lets the
77
- * manager fire `consume({ cancel: true })` on interrupt, so the hosts no
78
- * longer hand-roll a `cancelPendingRequest`.
79
- */
80
- private runtimeRequestManager;
81
- private cachedConversationIds;
82
- private running;
83
- private startPromise;
84
- private stopPromise;
85
- private lifecycleGeneration;
86
- private runtimeHeartbeat;
87
- private runtimeStatePublisher;
88
- private rtdbHandle;
89
- private controlPoller;
90
- private readonly activeInbound;
91
- private readonly activeAbortControllers;
92
- private readonly activeTurns;
93
- private readonly conversationMemberIds;
94
- private readonly conversationMembershipRevisions;
95
- private readonly pendingMembershipChanges;
96
- private readonly typingSignals;
97
- private sseConnectedLogged;
98
- constructor(options: CanonAgentOptions);
99
- private ensureApprovalManager;
100
- /**
101
- * Shared engine for interactive runtime input + card polling. Unlike approval,
102
- * these families do not need an owner (the request is created inline with the
103
- * caller's own `responseUserId` policy), so the manager is always available.
104
- * The registered descriptors keep the built-in poll/consume/timeout logic and
105
- * the built-in `cancel` (best-effort `consume({ cancel: true })`), replacing
106
- * only `create` with a no-op because the request is already created inline.
107
- * On abort the manager runs that cancel via the passed `signal`.
108
- */
109
- private ensureRuntimeRequestManager;
110
- private filterApprovalReplyMessages;
111
- on(event: 'message', handler: MessageHandler): void;
112
- on(event: 'messageUpdated', handler: MessageUpdatedHandler): void;
113
- on(event: 'contactAdded', handler: ContactAddedHandler): void;
114
- on(event: 'contactRemoved', handler: ContactRemovedHandler): void;
115
- /**
116
- * OBSERVE-ONLY. Fires when the participation gate suppressed a turn this
117
- * agent would otherwise have been dispatched (cap reached, mention required,
118
- * agent-to-agent disabled). Never run a turn off this event — the withheld
119
- * message is deliberately not delivered, and replying to it would defeat the
120
- * loop protection. It exists so a benched agent can tell deliberate
121
- * participation policy from a dead stream.
122
- */
123
- on(event: 'participationSuppressed', handler: ParticipationSuppressedHandler): void;
124
- on(event: 'interrupt', handler: RuntimeSignalHandler): void;
125
- on(event: 'stopAndDrop', handler: RuntimeSignalHandler): void;
126
- on(event: 'newSession', handler: RuntimeSignalHandler): void;
127
- on(event: 'callStarted', handler: (payload: VoiceSessionEventPayload) => void | Promise<void>): void;
128
- on(event: 'callEnded', handler: (payload: VoiceSessionEventPayload) => void | Promise<void>): void;
129
- onPrimitive(primitive: CanonRuntimePrimitiveId | '*', handler: RuntimePrimitiveHandler): void;
130
- describeCommands(): ReadonlyArray<CanonRuntimeCommandDescriptor>;
131
- publishRuntimeFacts(conversationId: string, facts: ReadonlyArray<CanonRuntimeFact>): Promise<void>;
132
- publishRuntimeActivity(conversationId: string, item: CanonRuntimeActivityItem): Promise<void>;
133
- clearRuntimeActivity(conversationId: string, options?: ClearRuntimeActivityOptions): Promise<void>;
134
- /**
135
- * Message an existing Canon conversation or start/continue a direct one.
136
- * Policy and admission are enforced by Canon; this method deliberately
137
- * exposes no runtime configuration or trusted source-context fields.
138
- */
139
- communicate(input: CommunicateInput): Promise<CommunicateResult>;
140
- start(): Promise<void>;
141
- private startRuntime;
142
- createGroup(options: CreateGroupOptions): Promise<CreateGroupResult>;
143
- /** Start (or rejoin) a call in a conversation and get the room token. */
144
- startCall(options: CreateVoiceSessionOptions): Promise<CanonVoiceSessionToken>;
145
- /** Join an active call session and get the room token. */
146
- joinCall(conversationId: string, sessionId: string): Promise<CanonVoiceSessionToken>;
147
- /** Decline an incoming call: stops this agent's ring only. */
148
- declineCall(conversationId: string, sessionId: string): Promise<void>;
149
- /** End an active call session for everyone. */
150
- endCall(conversationId: string, sessionId: string): Promise<void>;
151
- /** Fetch the current state of a call session. */
152
- getCallState(conversationId: string, sessionId: string): Promise<CanonVoiceSession>;
153
- updateTopic(conversationId: string, topic: string): Promise<void>;
154
- leaveConversation(conversationId: string): Promise<void>;
155
- updateConversationName(conversationId: string, name: string): Promise<void>;
156
- /**
157
- * Add a member to a group conversation.
158
- *
159
- * Outcome depends on the target's `groupJoinPolicy` and the relationship
160
- * graph:
161
- * - `{ status: 'added' }` — the member was added immediately.
162
- * - `{ status: 'pending', requestId }` — the target needs policy approval.
163
- * The server created one `group_invite`; membership activates after approval
164
- * The approved membership arrives through the normal conversation update.
165
- *
166
- * Throws `CanonApiError` for hard failures (block, inactive, closed policy,
167
- * member cap, requester not authorized).
168
- */
169
- addMember(conversationId: string, userId: string): Promise<AddMemberResult>;
170
- removeMember(conversationId: string, userId: string): Promise<void>;
171
- uploadMedia(conversationId: string, data: string, mimeType: string, fileName?: string): Promise<{
172
- url: string;
173
- attachment: import('@canonmsg/core').MediaAttachment;
174
- }>;
175
- private handleContactGraphEvent;
176
- private handleParticipationSuppressedEvent;
177
- private handleMessageUpdatedEvent;
178
- stop(): Promise<void>;
179
- private cleanupRuntime;
180
- private hasInterruptSupport;
181
- private hasStopAndDropSupport;
182
- private hasNewSessionSupport;
183
- private hasRuntimeSignalSupport;
184
- private hasRuntimePrimitiveSupport;
185
- private hasRuntimeControlSupport;
186
- private supportsInputInterrupt;
187
- private buildRuntimeDescriptor;
188
- private buildRuntimeCapabilities;
189
- private rememberConversationId;
190
- private rememberConversationMembers;
191
- private handleConversationUpdated;
192
- private buildGroupContext;
193
- /**
194
- * Shared `/control` channel poller, configured to the agent-sdk host
195
- * profile pinned by core's characterization tests: flat 2s single-flight
196
- * cadence, parallel conversations, signal + primitive keys (no session),
197
- * eager signal baseline, and TTL'd primitive dedupe released on successful
198
- * consume. The poller talks only to the scoped RTDB handle captured in
199
- * start() — never the module-global default client.
200
- */
201
- private ensureControlPoller;
202
- private baselineRuntimeControlSignals;
203
- private baselineAndStartRuntimeControlPolling;
204
- private startRuntimeControlPolling;
205
- private stopRuntimeControlPolling;
206
- private handleRuntimePrimitiveEvent;
207
- private handleRuntimeSignalEvent;
208
- private firstActiveTurn;
209
- private publishAcceptedRuntimeSignal;
210
- private abortActiveTurns;
211
- private resolveBatchDeliveryIntent;
212
- private markQueuedMessagesAccepted;
213
- private notifyMessageInterrupt;
214
- /**
215
- * Builds a runtime-state publisher bound to this agent's scoped RTDB
216
- * handle (captured in start()). Threading the handle keeps every
217
- * publish on this agent's own credentials — without it the publisher
218
- * would fall back to core's deprecated module-global RTDB client,
219
- * where the last-started agent's token wins in multi-agent processes.
220
- */
221
- private createRuntimeStatePublisher;
222
- private requireRuntimeStatePublisher;
223
- private handleMessages;
224
- private executeHandler;
225
- private executeOwnedHandler;
226
- static register(options: Omit<RegistrationInput, 'baseUrl' | 'developerInfo'> & {
227
- developerInfo: string;
228
- } & CanonAgentConnectionOptions): Promise<{
229
- requestId: string;
230
- pollToken?: string;
231
- }>;
232
- static checkStatus(requestId: string, options: CanonAgentConnectionOptions & {
233
- pollToken?: string;
234
- }): Promise<RegistrationStatus>;
235
- static ackStatus(requestId: string, options: CanonAgentConnectionOptions & {
236
- pollToken?: string;
237
- }): Promise<void>;
238
- }