@stelis/agent-q-core 0.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 (47) hide show
  1. package/README.md +144 -0
  2. package/dist/adapter-internal.d.ts +5 -0
  3. package/dist/adapter-internal.js +6 -0
  4. package/dist/adapter-internal.js.map +1 -0
  5. package/dist/config.d.ts +74 -0
  6. package/dist/config.js +489 -0
  7. package/dist/config.js.map +1 -0
  8. package/dist/core.d.ts +320 -0
  9. package/dist/core.js +840 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/device.d.ts +55 -0
  12. package/dist/device.js +23 -0
  13. package/dist/device.js.map +1 -0
  14. package/dist/errors.d.ts +6 -0
  15. package/dist/errors.js +20 -0
  16. package/dist/errors.js.map +1 -0
  17. package/dist/host-output-schema.d.ts +2437 -0
  18. package/dist/host-output-schema.js +655 -0
  19. package/dist/host-output-schema.js.map +1 -0
  20. package/dist/protocol-error.d.ts +4 -0
  21. package/dist/protocol-error.js +9 -0
  22. package/dist/protocol-error.js.map +1 -0
  23. package/dist/protocol-management-primitives.d.ts +27 -0
  24. package/dist/protocol-management-primitives.js +51 -0
  25. package/dist/protocol-management-primitives.js.map +1 -0
  26. package/dist/protocol-primitives.d.ts +53 -0
  27. package/dist/protocol-primitives.js +331 -0
  28. package/dist/protocol-primitives.js.map +1 -0
  29. package/dist/protocol.d.ts +207 -0
  30. package/dist/protocol.js +897 -0
  31. package/dist/protocol.js.map +1 -0
  32. package/dist/provider-protocol.d.ts +262 -0
  33. package/dist/provider-protocol.js +637 -0
  34. package/dist/provider-protocol.js.map +1 -0
  35. package/dist/public-error.d.ts +9 -0
  36. package/dist/public-error.js +79 -0
  37. package/dist/public-error.js.map +1 -0
  38. package/dist/safe-text.d.ts +31 -0
  39. package/dist/safe-text.js +143 -0
  40. package/dist/safe-text.js.map +1 -0
  41. package/dist/transport-invariants.d.ts +18 -0
  42. package/dist/transport-invariants.js +24 -0
  43. package/dist/transport-invariants.js.map +1 -0
  44. package/dist/usb.d.ts +76 -0
  45. package/dist/usb.js +454 -0
  46. package/dist/usb.js.map +1 -0
  47. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import { type DeviceState, type ProvisioningState } from "./safe-text.js";
2
+ import { ProtocolError } from "./protocol-error.js";
3
+ import { ED25519_PUBLIC_KEY_BASE64_PATTERN, MAX_ACCOUNTS_PER_RESPONSE, MAX_CAPABILITY_ACCOUNTS_PER_CHAIN, MAX_CAPABILITY_CHAINS, MAX_RAW_PROTOCOL_JSON_BYTES, MAX_SESSION_TTL_MS, MAX_SIGN_RESULT_PAYLOAD_BASE64_CHARS, MAX_SIGNING_CAPABILITIES, MAX_SUI_SIGN_PERSONAL_MESSAGE_BASE64_CHARS, MAX_SUI_SIGN_PERSONAL_MESSAGE_BYTES, MAX_SUI_SIGN_TRANSACTION_TX_BYTES, MAX_SUI_SIGN_TRANSACTION_TX_BYTES_BASE64_CHARS, PROTOCOL_VERSION, SIGN_RESULT_ERROR_MESSAGES, SUI_ADDRESS_PATTERN, SUI_CHAIN_ID, SUI_DERIVATION_PATH, SUI_ED25519_SIGNATURE_BASE64_PATTERN, SUI_SIGN_PERSONAL_MESSAGE_METHOD, SUI_SIGN_TRANSACTION_METHOD, SUI_SIGN_TRANSACTION_NETWORKS, consumeProtocolResponseChunk, createRequestId, isSuiAddressForPublicKey, type SuiSignMethod, type SuiSignTransactionNetwork } from "./protocol-primitives.js";
4
+ export { ProtocolError };
5
+ export { ED25519_PUBLIC_KEY_BASE64_PATTERN, MAX_ACCOUNTS_PER_RESPONSE, MAX_CAPABILITY_ACCOUNTS_PER_CHAIN, MAX_CAPABILITY_CHAINS, MAX_RAW_PROTOCOL_JSON_BYTES, MAX_SESSION_TTL_MS, MAX_SIGN_RESULT_PAYLOAD_BASE64_CHARS, MAX_SIGNING_CAPABILITIES, MAX_SUI_SIGN_PERSONAL_MESSAGE_BASE64_CHARS, MAX_SUI_SIGN_PERSONAL_MESSAGE_BYTES, MAX_SUI_SIGN_TRANSACTION_TX_BYTES, MAX_SUI_SIGN_TRANSACTION_TX_BYTES_BASE64_CHARS, PROTOCOL_VERSION, SIGN_RESULT_ERROR_MESSAGES, SUI_ADDRESS_PATTERN, SUI_CHAIN_ID, SUI_DERIVATION_PATH, SUI_ED25519_SIGNATURE_BASE64_PATTERN, SUI_SIGN_PERSONAL_MESSAGE_METHOD, SUI_SIGN_TRANSACTION_METHOD, SUI_SIGN_TRANSACTION_NETWORKS, consumeProtocolResponseChunk, createRequestId, isSuiAddressForPublicKey, };
6
+ export { AGENT_Q_USB_PRODUCT_ID_NUMBER, AGENT_Q_USB_VENDOR_ID_NUMBER, DEFAULT_AGENT_Q_USB_BAUD_RATE, INTERNAL_CONNECT_DEADLINE_MS, INTERNAL_DISCONNECT_DEADLINE_MS, INTERNAL_SIGN_PERSONAL_MESSAGE_DEADLINE_MS, INTERNAL_SIGN_TRANSACTION_DEADLINE_MS, INTERNAL_USB_DEADLINE_MS, MAX_PROTOCOL_RESPONSE_LINE_BYTES, } from "./transport-invariants.js";
7
+ export type { DeviceState, ProvisioningState };
8
+ export interface DeviceStatus {
9
+ deviceId: string;
10
+ state: DeviceState;
11
+ firmwareName: string;
12
+ hardware: string;
13
+ firmwareVersion: string;
14
+ }
15
+ export interface ConnectRequest {
16
+ id: string;
17
+ version: typeof PROTOCOL_VERSION;
18
+ type: "connect";
19
+ params: {
20
+ clientName: string;
21
+ };
22
+ }
23
+ export interface DisconnectRequest {
24
+ id: string;
25
+ version: typeof PROTOCOL_VERSION;
26
+ type: "disconnect";
27
+ sessionId: string;
28
+ }
29
+ export interface GetCapabilitiesRequest {
30
+ id: string;
31
+ version: typeof PROTOCOL_VERSION;
32
+ type: "get_capabilities";
33
+ sessionId: string;
34
+ }
35
+ export interface GetAccountsRequest {
36
+ id: string;
37
+ version: typeof PROTOCOL_VERSION;
38
+ type: "get_accounts";
39
+ sessionId: string;
40
+ }
41
+ export interface GetResultRequest {
42
+ id: string;
43
+ version: typeof PROTOCOL_VERSION;
44
+ type: "get_result";
45
+ sessionId: string;
46
+ }
47
+ export interface AckResultRequest {
48
+ id: string;
49
+ version: typeof PROTOCOL_VERSION;
50
+ type: "ack_result";
51
+ sessionId: string;
52
+ }
53
+ export interface SignTransactionParams {
54
+ network: SuiSignTransactionNetwork;
55
+ txBytes: string;
56
+ }
57
+ export interface SignPersonalMessageParams {
58
+ network: SuiSignTransactionNetwork;
59
+ message: string;
60
+ }
61
+ export type SignOperationType = typeof SUI_SIGN_TRANSACTION_METHOD | typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
62
+ export type SupportedSignRoute = {
63
+ operation: typeof SUI_SIGN_TRANSACTION_METHOD;
64
+ chain: typeof SUI_CHAIN_ID;
65
+ method: typeof SUI_SIGN_TRANSACTION_METHOD;
66
+ route: "sui_sign_transaction";
67
+ } | {
68
+ operation: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
69
+ chain: typeof SUI_CHAIN_ID;
70
+ method: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
71
+ route: "sui_sign_personal_message";
72
+ };
73
+ export interface SignTransactionRequest {
74
+ id: string;
75
+ version: typeof PROTOCOL_VERSION;
76
+ type: typeof SUI_SIGN_TRANSACTION_METHOD;
77
+ sessionId: string;
78
+ chain: typeof SUI_CHAIN_ID;
79
+ method: typeof SUI_SIGN_TRANSACTION_METHOD;
80
+ params: SignTransactionParams;
81
+ }
82
+ export interface SignPersonalMessageRequest {
83
+ id: string;
84
+ version: typeof PROTOCOL_VERSION;
85
+ type: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
86
+ sessionId: string;
87
+ chain: typeof SUI_CHAIN_ID;
88
+ method: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
89
+ params: SignPersonalMessageParams;
90
+ }
91
+ export type ProviderProtocolRequest = ConnectRequest | DisconnectRequest | GetAccountsRequest | GetCapabilitiesRequest | GetResultRequest | AckResultRequest | SignPersonalMessageRequest | SignTransactionRequest;
92
+ export interface ConnectApprovedResponse {
93
+ id: string;
94
+ version: typeof PROTOCOL_VERSION;
95
+ type: "connect_result";
96
+ status: "approved";
97
+ sessionId: string;
98
+ sessionTtlMs: number;
99
+ device: DeviceStatus;
100
+ }
101
+ export interface ConnectRejectedResponse {
102
+ id: string;
103
+ version: typeof PROTOCOL_VERSION;
104
+ type: "connect_result";
105
+ status: "rejected";
106
+ error: {
107
+ code: string;
108
+ message: string;
109
+ };
110
+ }
111
+ export type ConnectResponse = ConnectApprovedResponse | ConnectRejectedResponse;
112
+ export interface DisconnectResponse {
113
+ id: string;
114
+ version: typeof PROTOCOL_VERSION;
115
+ type: "disconnect_result";
116
+ status: "disconnected";
117
+ }
118
+ export interface AckResultResponse {
119
+ id: string;
120
+ version: typeof PROTOCOL_VERSION;
121
+ type: "ack_result";
122
+ status: "acked";
123
+ }
124
+ export interface CapabilityAccount {
125
+ keyScheme: string;
126
+ derivationPath: string;
127
+ }
128
+ export interface CapabilityChain {
129
+ id: string;
130
+ accounts: CapabilityAccount[];
131
+ methods: string[];
132
+ }
133
+ export interface SigningCapabilityEntry {
134
+ chain: typeof SUI_CHAIN_ID;
135
+ method: SuiSignMethod;
136
+ }
137
+ export type SignResultAuthorization = "user" | "policy";
138
+ export interface SigningCapabilities {
139
+ authorization: SignResultAuthorization;
140
+ methods: SigningCapabilityEntry[];
141
+ }
142
+ export interface CapabilitiesResponse {
143
+ id: string;
144
+ version: typeof PROTOCOL_VERSION;
145
+ type: "capabilities";
146
+ chains: CapabilityChain[];
147
+ signing?: SigningCapabilities;
148
+ }
149
+ export interface Account {
150
+ chain: string;
151
+ address: string;
152
+ publicKey: string;
153
+ keyScheme: string;
154
+ derivationPath: string;
155
+ }
156
+ export interface AccountsResponse {
157
+ id: string;
158
+ version: typeof PROTOCOL_VERSION;
159
+ type: "accounts";
160
+ accounts: Account[];
161
+ }
162
+ export interface SignTransactionSignedResponse {
163
+ id: string;
164
+ version: typeof PROTOCOL_VERSION;
165
+ type: "sign_result";
166
+ authorization: SignResultAuthorization;
167
+ status: "signed";
168
+ chain: typeof SUI_CHAIN_ID;
169
+ method: typeof SUI_SIGN_TRANSACTION_METHOD;
170
+ signature: string;
171
+ }
172
+ export interface SignPersonalMessageSignedResponse {
173
+ id: string;
174
+ version: typeof PROTOCOL_VERSION;
175
+ type: "sign_result";
176
+ authorization: "user";
177
+ status: "signed";
178
+ chain: typeof SUI_CHAIN_ID;
179
+ method: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
180
+ signature: string;
181
+ messageBytes: string;
182
+ }
183
+ export type SignResultSignedResponse = SignTransactionSignedResponse | SignPersonalMessageSignedResponse;
184
+ export interface SignResultUserRejectedResponse {
185
+ id: string;
186
+ version: typeof PROTOCOL_VERSION;
187
+ type: "sign_result";
188
+ authorization: "user";
189
+ status: "user_rejected" | "user_timed_out";
190
+ error: {
191
+ code: "user_rejected" | "user_timed_out";
192
+ message: string;
193
+ };
194
+ }
195
+ export interface SignResultPolicyRejectedResponse {
196
+ id: string;
197
+ version: typeof PROTOCOL_VERSION;
198
+ type: "sign_result";
199
+ authorization: "policy";
200
+ status: "policy_rejected";
201
+ policyHash: string;
202
+ ruleRef: string;
203
+ error: {
204
+ code: "policy_rejected";
205
+ message: string;
206
+ };
207
+ }
208
+ export interface SignResultSigningFailedResponse {
209
+ id: string;
210
+ version: typeof PROTOCOL_VERSION;
211
+ type: "sign_result";
212
+ authorization: SignResultAuthorization;
213
+ status: "signing_failed";
214
+ error: {
215
+ code: "signing_failed";
216
+ message: string;
217
+ };
218
+ }
219
+ export type SignResultResponse = SignResultSignedResponse | SignResultUserRejectedResponse | SignResultPolicyRejectedResponse | SignResultSigningFailedResponse;
220
+ export type SignResultStatus = SignResultResponse["status"];
221
+ export interface ProtocolErrorResponse {
222
+ id?: string;
223
+ version: typeof PROTOCOL_VERSION;
224
+ type: "error";
225
+ error: {
226
+ code: string;
227
+ message: string;
228
+ };
229
+ }
230
+ export type ProviderProtocolResponse = AccountsResponse | AckResultResponse | CapabilitiesResponse | ConnectResponse | DisconnectResponse | ProtocolErrorResponse | SignResultResponse;
231
+ export declare function makeConnectRequest(clientName: string, id?: string): ConnectRequest;
232
+ export declare function makeDisconnectRequest(sessionId: string, id?: string): DisconnectRequest;
233
+ export declare function makeGetCapabilitiesRequest(sessionId: string, id?: string): GetCapabilitiesRequest;
234
+ export declare function makeGetAccountsRequest(sessionId: string, id?: string): GetAccountsRequest;
235
+ export declare function makeGetResultRequest(sessionId: string, id: string): GetResultRequest;
236
+ export declare function makeAckResultRequest(sessionId: string, id: string): AckResultRequest;
237
+ export declare function makeSignTransactionRequest(sessionId: string, chain: unknown, method: unknown, params: unknown, id?: string): SignTransactionRequest;
238
+ export declare function makeSignPersonalMessageRequest(sessionId: string, chain: unknown, method: unknown, params: unknown, id?: string): SignPersonalMessageRequest;
239
+ export declare function serializeProviderProtocolRequest(request: ProviderProtocolRequest): string;
240
+ export declare function parseJsonLine(line: string): unknown;
241
+ export declare function parseProviderProtocolResponse(line: string, expectedId?: string): ProviderProtocolResponse;
242
+ export declare function assertConnectResponse(response: ProviderProtocolResponse): ConnectResponse;
243
+ export declare function assertDisconnectResponse(response: ProviderProtocolResponse): DisconnectResponse;
244
+ export declare function assertAckResultResponse(response: ProviderProtocolResponse): AckResultResponse;
245
+ export declare function assertCapabilitiesResponse(response: ProviderProtocolResponse): CapabilitiesResponse;
246
+ export declare function assertAccountsResponse(response: ProviderProtocolResponse): AccountsResponse;
247
+ export declare function assertSignResultResponse(response: ProviderProtocolResponse): SignResultResponse;
248
+ export declare function validateSignTransactionInput(chain: unknown, method: unknown, params: unknown, requestType?: string): SignTransactionParams;
249
+ export declare function validateSignTransactionParams(params: unknown, requestType?: string): SignTransactionParams;
250
+ export declare function validateSignPersonalMessageInput(chain: unknown, method: unknown, params: unknown, requestType?: string): SignPersonalMessageParams;
251
+ export declare function validateSignPersonalMessageParams(params: unknown, requestType?: string): SignPersonalMessageParams;
252
+ export declare function identifySignRoute(operation: typeof SUI_SIGN_TRANSACTION_METHOD, chain: unknown, method: unknown): Extract<SupportedSignRoute, {
253
+ operation: typeof SUI_SIGN_TRANSACTION_METHOD;
254
+ }>;
255
+ export declare function identifySignRoute(operation: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD, chain: unknown, method: unknown): Extract<SupportedSignRoute, {
256
+ operation: typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
257
+ }>;
258
+ export declare function identifySignRoute(operation: SignOperationType, chain: unknown, method: unknown): SupportedSignRoute;
259
+ export declare function sanitizeDeviceStatus(value: unknown): DeviceStatus | null;
260
+ export declare function sanitizeProvisioningStatus(value: unknown): {
261
+ state: ProvisioningState;
262
+ } | null;