@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.
- package/README.md +144 -0
- package/dist/adapter-internal.d.ts +5 -0
- package/dist/adapter-internal.js +6 -0
- package/dist/adapter-internal.js.map +1 -0
- package/dist/config.d.ts +74 -0
- package/dist/config.js +489 -0
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +320 -0
- package/dist/core.js +840 -0
- package/dist/core.js.map +1 -0
- package/dist/device.d.ts +55 -0
- package/dist/device.js +23 -0
- package/dist/device.js.map +1 -0
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +20 -0
- package/dist/errors.js.map +1 -0
- package/dist/host-output-schema.d.ts +2437 -0
- package/dist/host-output-schema.js +655 -0
- package/dist/host-output-schema.js.map +1 -0
- package/dist/protocol-error.d.ts +4 -0
- package/dist/protocol-error.js +9 -0
- package/dist/protocol-error.js.map +1 -0
- package/dist/protocol-management-primitives.d.ts +27 -0
- package/dist/protocol-management-primitives.js +51 -0
- package/dist/protocol-management-primitives.js.map +1 -0
- package/dist/protocol-primitives.d.ts +53 -0
- package/dist/protocol-primitives.js +331 -0
- package/dist/protocol-primitives.js.map +1 -0
- package/dist/protocol.d.ts +207 -0
- package/dist/protocol.js +897 -0
- package/dist/protocol.js.map +1 -0
- package/dist/provider-protocol.d.ts +262 -0
- package/dist/provider-protocol.js +637 -0
- package/dist/provider-protocol.js.map +1 -0
- package/dist/public-error.d.ts +9 -0
- package/dist/public-error.js +79 -0
- package/dist/public-error.js.map +1 -0
- package/dist/safe-text.d.ts +31 -0
- package/dist/safe-text.js +143 -0
- package/dist/safe-text.js.map +1 -0
- package/dist/transport-invariants.d.ts +18 -0
- package/dist/transport-invariants.js +24 -0
- package/dist/transport-invariants.js.map +1 -0
- package/dist/usb.d.ts +76 -0
- package/dist/usb.js +454 -0
- package/dist/usb.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-output-schema.js","sourceRoot":"","sources":["../src/host-output-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-error.js","sourceRoot":"","sources":["../src/protocol-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const AGENT_Q_POLICY_SCHEMA = "agentq.policy.v0";
|
|
2
|
+
export declare const POLICY_ID_PATTERN: RegExp;
|
|
3
|
+
export declare const MAX_POLICY_RULE_COUNT = 16;
|
|
4
|
+
export declare const MAX_POLICY_RULE_CRITERIA = 12;
|
|
5
|
+
export declare const MAX_POLICY_CRITERION_VALUES = 16;
|
|
6
|
+
export declare const MAX_POLICY_FIELD_ID_LENGTH = 48;
|
|
7
|
+
export declare const MAX_POLICY_RULE_ID_LENGTH = 32;
|
|
8
|
+
export declare const MAX_POLICY_CHAIN_ID_LENGTH = 32;
|
|
9
|
+
export declare const MAX_POLICY_METHOD_LENGTH = 64;
|
|
10
|
+
export declare const MAX_POLICY_VALUE_LENGTH = 96;
|
|
11
|
+
export declare const MAX_POLICY_UPDATE_REQUEST_JSON_BYTES = 4096;
|
|
12
|
+
export declare const MAX_APPROVAL_HISTORY_RECORDS = 4;
|
|
13
|
+
export declare const UINT_DECIMAL_STRING_PATTERN: RegExp;
|
|
14
|
+
export declare const POLICY_ACTIONS: readonly ["reject", "sign"];
|
|
15
|
+
export declare const POLICY_OPERATORS: readonly ["eq", "in", "lte"];
|
|
16
|
+
export declare const POLICY_RULE_ID_PATTERN: RegExp;
|
|
17
|
+
export declare const POLICY_IDENTIFIER_PATTERN: RegExp;
|
|
18
|
+
export declare const POLICY_FIELD_ID_PATTERN: RegExp;
|
|
19
|
+
export declare const APPROVAL_HISTORY_REASON_CODE_PATTERN: RegExp;
|
|
20
|
+
export declare const APPROVAL_HISTORY_RULE_REF_PATTERN: RegExp;
|
|
21
|
+
export declare const SIGNING_HISTORY_RECORD_KINDS: readonly ["confirmation", "terminal"];
|
|
22
|
+
export declare const SIGNING_HISTORY_TERMINAL_RESULTS: readonly ["signed", "user_rejected", "user_timed_out", "policy_rejected", "signing_failed"];
|
|
23
|
+
export declare const APPROVAL_HISTORY_POLICY_UPDATE_RESULTS: readonly ["applied", "rejected", "timed_out", "storage_error"];
|
|
24
|
+
export declare const APPROVAL_HISTORY_HIGHEST_ACTIONS: readonly ["reject", "sign"];
|
|
25
|
+
export declare const POLICY_PROPOSE_RESULT_STATUSES: readonly ["applied", "rejected", "timed_out", "invalid_policy", "ui_error", "storage_error", "consistency_error"];
|
|
26
|
+
export declare const SIGN_CHAIN_PATTERN: RegExp;
|
|
27
|
+
export declare const SIGN_METHOD_PATTERN: RegExp;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { HASH_ID_PATTERN, RULE_REF_PATTERN, } from "./protocol-primitives.js";
|
|
2
|
+
export const AGENT_Q_POLICY_SCHEMA = "agentq.policy.v0";
|
|
3
|
+
export const POLICY_ID_PATTERN = HASH_ID_PATTERN;
|
|
4
|
+
export const MAX_POLICY_RULE_COUNT = 16;
|
|
5
|
+
export const MAX_POLICY_RULE_CRITERIA = 12;
|
|
6
|
+
export const MAX_POLICY_CRITERION_VALUES = 16;
|
|
7
|
+
export const MAX_POLICY_FIELD_ID_LENGTH = 48;
|
|
8
|
+
export const MAX_POLICY_RULE_ID_LENGTH = 32;
|
|
9
|
+
export const MAX_POLICY_CHAIN_ID_LENGTH = 32;
|
|
10
|
+
export const MAX_POLICY_METHOD_LENGTH = 64;
|
|
11
|
+
export const MAX_POLICY_VALUE_LENGTH = 96;
|
|
12
|
+
export const MAX_POLICY_UPDATE_REQUEST_JSON_BYTES = 4096;
|
|
13
|
+
export const MAX_APPROVAL_HISTORY_RECORDS = 4;
|
|
14
|
+
export const UINT_DECIMAL_STRING_PATTERN = /^(0|[1-9][0-9]{0,19})$/;
|
|
15
|
+
export const POLICY_ACTIONS = ["reject", "sign"];
|
|
16
|
+
export const POLICY_OPERATORS = ["eq", "in", "lte"];
|
|
17
|
+
export const POLICY_RULE_ID_PATTERN = /^[a-z][a-z0-9_.:/-]{0,31}$/;
|
|
18
|
+
export const POLICY_IDENTIFIER_PATTERN = /^[a-z0-9_.:/-]+$/;
|
|
19
|
+
export const POLICY_FIELD_ID_PATTERN = /^[a-z0-9_]+\.[a-z0-9_]+$/;
|
|
20
|
+
export const APPROVAL_HISTORY_REASON_CODE_PATTERN = /^[a-z][a-z0-9_]{0,31}$/;
|
|
21
|
+
export const APPROVAL_HISTORY_RULE_REF_PATTERN = RULE_REF_PATTERN;
|
|
22
|
+
export const SIGNING_HISTORY_RECORD_KINDS = [
|
|
23
|
+
"confirmation",
|
|
24
|
+
"terminal",
|
|
25
|
+
];
|
|
26
|
+
export const SIGNING_HISTORY_TERMINAL_RESULTS = [
|
|
27
|
+
"signed",
|
|
28
|
+
"user_rejected",
|
|
29
|
+
"user_timed_out",
|
|
30
|
+
"policy_rejected",
|
|
31
|
+
"signing_failed",
|
|
32
|
+
];
|
|
33
|
+
export const APPROVAL_HISTORY_POLICY_UPDATE_RESULTS = [
|
|
34
|
+
"applied",
|
|
35
|
+
"rejected",
|
|
36
|
+
"timed_out",
|
|
37
|
+
"storage_error",
|
|
38
|
+
];
|
|
39
|
+
export const APPROVAL_HISTORY_HIGHEST_ACTIONS = ["reject", "sign"];
|
|
40
|
+
export const POLICY_PROPOSE_RESULT_STATUSES = [
|
|
41
|
+
"applied",
|
|
42
|
+
"rejected",
|
|
43
|
+
"timed_out",
|
|
44
|
+
"invalid_policy",
|
|
45
|
+
"ui_error",
|
|
46
|
+
"storage_error",
|
|
47
|
+
"consistency_error",
|
|
48
|
+
];
|
|
49
|
+
export const SIGN_CHAIN_PATTERN = /^[a-z][a-z0-9_.-]{0,31}$/;
|
|
50
|
+
export const SIGN_METHOD_PATTERN = /^[a-z][a-z0-9_.-]{0,63}$/;
|
|
51
|
+
//# sourceMappingURL=protocol-management-primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-management-primitives.js","sourceRoot":"","sources":["../src/protocol-management-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAClE,MAAM,CAAC,MAAM,oCAAoC,GAAG,wBAAwB,CAAC;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG,gBAAgB,CAAC;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc;IACd,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,QAAQ;IACR,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AACX,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,SAAS;IACT,UAAU;IACV,WAAW;IACX,eAAe;CACP,CAAC;AACX,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,SAAS;IACT,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,mBAAmB;CACX,CAAC;AACX,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { MAX_PROTOCOL_RESPONSE_LINE_BYTES } from "./transport-invariants.js";
|
|
2
|
+
export declare const PROTOCOL_VERSION = 1;
|
|
3
|
+
export declare const MAX_SESSION_TTL_MS = 4294967295;
|
|
4
|
+
export declare const MAX_RAW_PROTOCOL_JSON_BYTES = 4096;
|
|
5
|
+
export declare const MAX_SIGN_RESULT_PAYLOAD_BASE64_CHARS: number;
|
|
6
|
+
export { MAX_PROTOCOL_RESPONSE_LINE_BYTES };
|
|
7
|
+
export declare const SUI_CHAIN_ID = "sui";
|
|
8
|
+
export declare const SUI_SIGN_TRANSACTION_METHOD = "sign_transaction";
|
|
9
|
+
export declare const SUI_SIGN_PERSONAL_MESSAGE_METHOD = "sign_personal_message";
|
|
10
|
+
export type SuiSignMethod = typeof SUI_SIGN_TRANSACTION_METHOD | typeof SUI_SIGN_PERSONAL_MESSAGE_METHOD;
|
|
11
|
+
export declare const SUI_SIGN_TRANSACTION_NETWORKS: readonly ["mainnet", "testnet", "devnet", "localnet"];
|
|
12
|
+
export type SuiSignTransactionNetwork = (typeof SUI_SIGN_TRANSACTION_NETWORKS)[number];
|
|
13
|
+
export declare const MAX_SUI_SIGN_TRANSACTION_TX_BYTES = 384;
|
|
14
|
+
export declare const MAX_SUI_SIGN_TRANSACTION_TX_BYTES_BASE64_CHARS = 512;
|
|
15
|
+
export declare const MAX_SUI_SIGN_PERSONAL_MESSAGE_BYTES = 256;
|
|
16
|
+
export declare const MAX_SUI_SIGN_PERSONAL_MESSAGE_BASE64_CHARS = 344;
|
|
17
|
+
export declare const SUI_ADDRESS_PATTERN: RegExp;
|
|
18
|
+
export declare const ED25519_PUBLIC_KEY_BASE64_PATTERN: RegExp;
|
|
19
|
+
export declare const SUI_ED25519_SIGNATURE_BASE64_PATTERN: RegExp;
|
|
20
|
+
export declare const SUI_DERIVATION_PATH = "m/44'/784'/0'/0'/0'";
|
|
21
|
+
export declare const MAX_CAPABILITY_CHAINS = 1;
|
|
22
|
+
export declare const MAX_CAPABILITY_ACCOUNTS_PER_CHAIN = 1;
|
|
23
|
+
export declare const MAX_SIGNING_CAPABILITIES = 2;
|
|
24
|
+
export declare const MAX_ACCOUNTS_PER_RESPONSE = 1;
|
|
25
|
+
export declare const HASH_ID_PATTERN: RegExp;
|
|
26
|
+
export declare const RULE_REF_PATTERN: RegExp;
|
|
27
|
+
export declare const UNSUPPORTED_METHOD_MESSAGE = "Method is not supported.";
|
|
28
|
+
export declare const SIGN_RESULT_ERROR_MESSAGES: {
|
|
29
|
+
readonly user_rejected: "The signing request was rejected on the device.";
|
|
30
|
+
readonly user_timed_out: "The signing request timed out on the device.";
|
|
31
|
+
readonly policy_rejected: "The signing request was rejected by device policy.";
|
|
32
|
+
readonly signing_failed: "The device could not produce a signature.";
|
|
33
|
+
};
|
|
34
|
+
export type SignResultErrorCode = keyof typeof SIGN_RESULT_ERROR_MESSAGES;
|
|
35
|
+
export declare const FORBIDDEN_SECRET_FIELD_NAMES: readonly ["entropy", "mnemonic", "phrase", "prefixes", "privateKey", "private_key", "privateMaterial", "private_material", "recoveryPhrase", "recovery_phrase", "rootEntropy", "root_entropy", "rootMaterial", "root_material", "secret", "seed", "signingKey", "signing_key", "words"];
|
|
36
|
+
export declare const BASE64_CANONICAL_PATTERN: RegExp;
|
|
37
|
+
export declare function createRequestId(): string;
|
|
38
|
+
export declare function consumeProtocolResponseChunk(buffer: string, chunk: string, maxLineBytes?: number): {
|
|
39
|
+
buffer: string;
|
|
40
|
+
lines: string[];
|
|
41
|
+
};
|
|
42
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
43
|
+
export declare function asRecord(value: unknown, label: string): Record<string, unknown>;
|
|
44
|
+
export declare function requireOnlyKeys(value: Record<string, unknown>, allowedKeys: readonly string[], label: string): void;
|
|
45
|
+
export declare function hasOnlyObjectKeys(value: Record<string, unknown>, allowedKeys: readonly string[]): boolean;
|
|
46
|
+
export declare function hasSecretPayloadKey(value: unknown): boolean;
|
|
47
|
+
export declare function rejectSecretPayload(value: Record<string, unknown>, label: string): void;
|
|
48
|
+
export declare function validateCanonicalBase64Syntax(value: unknown, maxChars: number, label: string, errorCode?: string): string;
|
|
49
|
+
export declare function decodeCanonicalBase64(value: string): Uint8Array | null;
|
|
50
|
+
export declare function isSuiAddressForPublicKey(address: string, publicKeyBase64: string): boolean;
|
|
51
|
+
export declare function randomBytesPortable(length: number): Uint8Array;
|
|
52
|
+
export declare function utf8ByteLength(value: string): number;
|
|
53
|
+
export declare function hexLower(bytes: Uint8Array): string;
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { MAX_PROTOCOL_RESPONSE_LINE_BYTES } from "./transport-invariants.js";
|
|
2
|
+
import { ProtocolError } from "./protocol-error.js";
|
|
3
|
+
export const PROTOCOL_VERSION = 1;
|
|
4
|
+
// sessionTtlMs is uint32 wire metadata. Agent-Q does not use it as the session
|
|
5
|
+
// authority; it is bounded here only to reject malformed Firmware responses.
|
|
6
|
+
export const MAX_SESSION_TTL_MS = 4_294_967_295;
|
|
7
|
+
export const MAX_RAW_PROTOCOL_JSON_BYTES = 4096;
|
|
8
|
+
// Variable-size Firmware-authored sign_result payload fields are bounded by the
|
|
9
|
+
// response line transport cap, not by request-frame or current adapter capacity.
|
|
10
|
+
export const MAX_SIGN_RESULT_PAYLOAD_BASE64_CHARS = MAX_PROTOCOL_RESPONSE_LINE_BYTES;
|
|
11
|
+
export { MAX_PROTOCOL_RESPONSE_LINE_BYTES };
|
|
12
|
+
export const SUI_CHAIN_ID = "sui";
|
|
13
|
+
export const SUI_SIGN_TRANSACTION_METHOD = "sign_transaction";
|
|
14
|
+
export const SUI_SIGN_PERSONAL_MESSAGE_METHOD = "sign_personal_message";
|
|
15
|
+
export const SUI_SIGN_TRANSACTION_NETWORKS = ["mainnet", "testnet", "devnet", "localnet"];
|
|
16
|
+
export const MAX_SUI_SIGN_TRANSACTION_TX_BYTES = 384;
|
|
17
|
+
export const MAX_SUI_SIGN_TRANSACTION_TX_BYTES_BASE64_CHARS = 512;
|
|
18
|
+
export const MAX_SUI_SIGN_PERSONAL_MESSAGE_BYTES = 256;
|
|
19
|
+
export const MAX_SUI_SIGN_PERSONAL_MESSAGE_BASE64_CHARS = 344;
|
|
20
|
+
export const SUI_ADDRESS_PATTERN = /^0x[0-9a-f]{64}$/;
|
|
21
|
+
// Raw 32-byte Ed25519 public key as base64 is exactly 43 payload chars + one "=".
|
|
22
|
+
export const ED25519_PUBLIC_KEY_BASE64_PATTERN = /^[A-Za-z0-9+/]{43}=$/;
|
|
23
|
+
// Sui Ed25519 signatures are scheme flag + 64-byte signature + 32-byte public key.
|
|
24
|
+
export const SUI_ED25519_SIGNATURE_BASE64_PATTERN = /^[A-Za-z0-9+/]{130}==$/;
|
|
25
|
+
export const SUI_DERIVATION_PATH = "m/44'/784'/0'/0'/0'";
|
|
26
|
+
export const MAX_CAPABILITY_CHAINS = 1;
|
|
27
|
+
export const MAX_CAPABILITY_ACCOUNTS_PER_CHAIN = 1;
|
|
28
|
+
export const MAX_SIGNING_CAPABILITIES = 2;
|
|
29
|
+
export const MAX_ACCOUNTS_PER_RESPONSE = 1;
|
|
30
|
+
export const HASH_ID_PATTERN = /^sha256:[0-9a-f]{64}$/;
|
|
31
|
+
export const RULE_REF_PATTERN = /^[a-z][a-z0-9_.:/-]{0,31}$/;
|
|
32
|
+
export const UNSUPPORTED_METHOD_MESSAGE = "Method is not supported.";
|
|
33
|
+
export const SIGN_RESULT_ERROR_MESSAGES = {
|
|
34
|
+
user_rejected: "The signing request was rejected on the device.",
|
|
35
|
+
user_timed_out: "The signing request timed out on the device.",
|
|
36
|
+
policy_rejected: "The signing request was rejected by device policy.",
|
|
37
|
+
signing_failed: "The device could not produce a signature.",
|
|
38
|
+
};
|
|
39
|
+
export const FORBIDDEN_SECRET_FIELD_NAMES = [
|
|
40
|
+
"entropy",
|
|
41
|
+
"mnemonic",
|
|
42
|
+
"phrase",
|
|
43
|
+
"prefixes",
|
|
44
|
+
"privateKey",
|
|
45
|
+
"private_key",
|
|
46
|
+
"privateMaterial",
|
|
47
|
+
"private_material",
|
|
48
|
+
"recoveryPhrase",
|
|
49
|
+
"recovery_phrase",
|
|
50
|
+
"rootEntropy",
|
|
51
|
+
"root_entropy",
|
|
52
|
+
"rootMaterial",
|
|
53
|
+
"root_material",
|
|
54
|
+
"secret",
|
|
55
|
+
"seed",
|
|
56
|
+
"signingKey",
|
|
57
|
+
"signing_key",
|
|
58
|
+
"words",
|
|
59
|
+
];
|
|
60
|
+
export const BASE64_CANONICAL_PATTERN = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
|
|
61
|
+
const FORBIDDEN_SECRET_FIELD_NAME_SET = new Set(FORBIDDEN_SECRET_FIELD_NAMES.map((fieldName) => fieldName.toLowerCase()));
|
|
62
|
+
export function createRequestId() {
|
|
63
|
+
return `req_${hexLower(randomBytesPortable(12))}`;
|
|
64
|
+
}
|
|
65
|
+
export function consumeProtocolResponseChunk(buffer, chunk, maxLineBytes = MAX_PROTOCOL_RESPONSE_LINE_BYTES) {
|
|
66
|
+
const combined = buffer + chunk;
|
|
67
|
+
const parts = combined.split("\n");
|
|
68
|
+
const nextBuffer = parts.pop() ?? "";
|
|
69
|
+
const lines = parts;
|
|
70
|
+
for (const line of lines) {
|
|
71
|
+
if (utf8ByteLength(line) > maxLineBytes) {
|
|
72
|
+
throw new ProtocolError("protocol_error", "Protocol response line exceeds maximum length.");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (utf8ByteLength(nextBuffer) > maxLineBytes) {
|
|
76
|
+
throw new ProtocolError("protocol_error", "Protocol response line exceeds maximum length.");
|
|
77
|
+
}
|
|
78
|
+
return { buffer: nextBuffer, lines };
|
|
79
|
+
}
|
|
80
|
+
export function isRecord(value) {
|
|
81
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
82
|
+
}
|
|
83
|
+
export function asRecord(value, label) {
|
|
84
|
+
if (!isRecord(value)) {
|
|
85
|
+
throw new ProtocolError("invalid_params", `${label} must be an object.`);
|
|
86
|
+
}
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
export function requireOnlyKeys(value, allowedKeys, label) {
|
|
90
|
+
if (!hasOnlyObjectKeys(value, allowedKeys)) {
|
|
91
|
+
throw new ProtocolError("protocol_error", `${label} contains unsupported fields.`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function hasOnlyObjectKeys(value, allowedKeys) {
|
|
95
|
+
return Object.keys(value).every((key) => allowedKeys.includes(key));
|
|
96
|
+
}
|
|
97
|
+
export function hasSecretPayloadKey(value) {
|
|
98
|
+
if (Array.isArray(value)) {
|
|
99
|
+
return value.some((item) => hasSecretPayloadKey(item));
|
|
100
|
+
}
|
|
101
|
+
if (!isRecord(value)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
for (const [key, child] of Object.entries(value)) {
|
|
105
|
+
if (FORBIDDEN_SECRET_FIELD_NAME_SET.has(key.toLowerCase())) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
if (hasSecretPayloadKey(child)) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
export function rejectSecretPayload(value, label) {
|
|
115
|
+
if (hasSecretPayloadKey(value)) {
|
|
116
|
+
throw new ProtocolError("protocol_error", `${label} must not include secret material.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export function validateCanonicalBase64Syntax(value, maxChars, label, errorCode = "invalid_params") {
|
|
120
|
+
if (typeof value !== "string") {
|
|
121
|
+
throw new ProtocolError(errorCode, `${label} must be base64.`);
|
|
122
|
+
}
|
|
123
|
+
if (value.length === 0 ||
|
|
124
|
+
value.length > maxChars ||
|
|
125
|
+
value.length % 4 !== 0 ||
|
|
126
|
+
!BASE64_CANONICAL_PATTERN.test(value) ||
|
|
127
|
+
!hasCanonicalBase64PaddingBits(value)) {
|
|
128
|
+
throw new ProtocolError(errorCode, `${label} must be canonical base64.`);
|
|
129
|
+
}
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
export function decodeCanonicalBase64(value) {
|
|
133
|
+
if (value.length === 0 || value.length % 4 !== 0 || !BASE64_CANONICAL_PATTERN.test(value)) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
|
|
137
|
+
const output = new Uint8Array((value.length / 4) * 3 - padding);
|
|
138
|
+
let outputOffset = 0;
|
|
139
|
+
for (let offset = 0; offset < value.length; offset += 4) {
|
|
140
|
+
const first = decodeBase64Char(value.charCodeAt(offset));
|
|
141
|
+
const second = decodeBase64Char(value.charCodeAt(offset + 1));
|
|
142
|
+
const thirdPadded = value.charCodeAt(offset + 2) === 61;
|
|
143
|
+
const fourthPadded = value.charCodeAt(offset + 3) === 61;
|
|
144
|
+
const third = thirdPadded ? 0 : decodeBase64Char(value.charCodeAt(offset + 2));
|
|
145
|
+
const fourth = fourthPadded ? 0 : decodeBase64Char(value.charCodeAt(offset + 3));
|
|
146
|
+
if (first < 0 || second < 0 || third < 0 || fourth < 0) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
const isFinalBlock = offset + 4 === value.length;
|
|
150
|
+
if ((thirdPadded || fourthPadded) && !isFinalBlock) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
if (thirdPadded && !fourthPadded) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
if (thirdPadded && (second & 0x0f) !== 0) {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
if (!thirdPadded && fourthPadded && (third & 0x03) !== 0) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
const triple = (first << 18) | (second << 12) | (third << 6) | fourth;
|
|
163
|
+
if (outputOffset < output.length) {
|
|
164
|
+
output[outputOffset++] = (triple >> 16) & 0xff;
|
|
165
|
+
}
|
|
166
|
+
if (outputOffset < output.length) {
|
|
167
|
+
output[outputOffset++] = (triple >> 8) & 0xff;
|
|
168
|
+
}
|
|
169
|
+
if (outputOffset < output.length) {
|
|
170
|
+
output[outputOffset++] = triple & 0xff;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return output;
|
|
174
|
+
}
|
|
175
|
+
export function isSuiAddressForPublicKey(address, publicKeyBase64) {
|
|
176
|
+
if (!SUI_ADDRESS_PATTERN.test(address) || !ED25519_PUBLIC_KEY_BASE64_PATTERN.test(publicKeyBase64)) {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
const expectedAddress = deriveSuiAddressFromPublicKey(publicKeyBase64);
|
|
180
|
+
return expectedAddress !== null && address === expectedAddress;
|
|
181
|
+
}
|
|
182
|
+
export function randomBytesPortable(length) {
|
|
183
|
+
const bytes = new Uint8Array(length);
|
|
184
|
+
const cryptoLike = globalThis.crypto;
|
|
185
|
+
if (cryptoLike?.getRandomValues === undefined) {
|
|
186
|
+
throw new Error("Secure random source is unavailable.");
|
|
187
|
+
}
|
|
188
|
+
cryptoLike.getRandomValues(bytes);
|
|
189
|
+
return bytes;
|
|
190
|
+
}
|
|
191
|
+
export function utf8ByteLength(value) {
|
|
192
|
+
return new TextEncoder().encode(value).length;
|
|
193
|
+
}
|
|
194
|
+
export function hexLower(bytes) {
|
|
195
|
+
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
196
|
+
}
|
|
197
|
+
function hasCanonicalBase64PaddingBits(value) {
|
|
198
|
+
if (value.endsWith("==")) {
|
|
199
|
+
return (decodeBase64Char(value.charCodeAt(value.length - 3)) & 0x0f) === 0;
|
|
200
|
+
}
|
|
201
|
+
if (value.endsWith("=")) {
|
|
202
|
+
return (decodeBase64Char(value.charCodeAt(value.length - 2)) & 0x03) === 0;
|
|
203
|
+
}
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
function decodeBase64Char(code) {
|
|
207
|
+
if (code >= 65 && code <= 90) {
|
|
208
|
+
return code - 65;
|
|
209
|
+
}
|
|
210
|
+
if (code >= 97 && code <= 122) {
|
|
211
|
+
return code - 71;
|
|
212
|
+
}
|
|
213
|
+
if (code >= 48 && code <= 57) {
|
|
214
|
+
return code + 4;
|
|
215
|
+
}
|
|
216
|
+
if (code === 43) {
|
|
217
|
+
return 62;
|
|
218
|
+
}
|
|
219
|
+
if (code === 47) {
|
|
220
|
+
return 63;
|
|
221
|
+
}
|
|
222
|
+
return -1;
|
|
223
|
+
}
|
|
224
|
+
function deriveSuiAddressFromPublicKey(publicKeyBase64) {
|
|
225
|
+
const publicKey = decodeCanonicalBase64(publicKeyBase64);
|
|
226
|
+
if (publicKey === null || publicKey.length !== 32) {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
const addressInput = new Uint8Array(33);
|
|
230
|
+
addressInput[0] = 0x00; // Sui Ed25519 scheme flag.
|
|
231
|
+
addressInput.set(publicKey, 1);
|
|
232
|
+
return `0x${hexLower(blake2b256(addressInput))}`;
|
|
233
|
+
}
|
|
234
|
+
const U64_MASK = (1n << 64n) - 1n;
|
|
235
|
+
const BLAKE2B_BLOCK_BYTES = 128;
|
|
236
|
+
const BLAKE2B_256_BYTES = 32;
|
|
237
|
+
const BLAKE2B_IV = [
|
|
238
|
+
0x6a09e667f3bcc908n,
|
|
239
|
+
0xbb67ae8584caa73bn,
|
|
240
|
+
0x3c6ef372fe94f82bn,
|
|
241
|
+
0xa54ff53a5f1d36f1n,
|
|
242
|
+
0x510e527fade682d1n,
|
|
243
|
+
0x9b05688c2b3e6c1fn,
|
|
244
|
+
0x1f83d9abfb41bd6bn,
|
|
245
|
+
0x5be0cd19137e2179n,
|
|
246
|
+
];
|
|
247
|
+
const BLAKE2B_SIGMA = [
|
|
248
|
+
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
|
249
|
+
[14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3],
|
|
250
|
+
[11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4],
|
|
251
|
+
[7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8],
|
|
252
|
+
[9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13],
|
|
253
|
+
[2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9],
|
|
254
|
+
[12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11],
|
|
255
|
+
[13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10],
|
|
256
|
+
[6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5],
|
|
257
|
+
[10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0],
|
|
258
|
+
];
|
|
259
|
+
function add64(...values) {
|
|
260
|
+
return values.reduce((sum, value) => (sum + value) & U64_MASK, 0n);
|
|
261
|
+
}
|
|
262
|
+
function rotr64(value, shift) {
|
|
263
|
+
return ((value >> BigInt(shift)) | (value << BigInt(64 - shift))) & U64_MASK;
|
|
264
|
+
}
|
|
265
|
+
function readU64Le(input, offset) {
|
|
266
|
+
let value = 0n;
|
|
267
|
+
for (let index = 0; index < 8; ++index) {
|
|
268
|
+
value |= BigInt(input[offset + index] ?? 0) << BigInt(index * 8);
|
|
269
|
+
}
|
|
270
|
+
return value;
|
|
271
|
+
}
|
|
272
|
+
function writeU64Le(output, offset, value) {
|
|
273
|
+
for (let index = 0; index < 8; ++index) {
|
|
274
|
+
output[offset + index] = Number((value >> BigInt(index * 8)) & 0xffn);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function blake2bCompress(h, block, bytesCompressed, isLast) {
|
|
278
|
+
const m = Array.from({ length: 16 }, (_, index) => readU64Le(block, index * 8));
|
|
279
|
+
const v = [...h, ...BLAKE2B_IV];
|
|
280
|
+
v[12] ^= bytesCompressed & U64_MASK;
|
|
281
|
+
v[13] ^= bytesCompressed >> 64n;
|
|
282
|
+
if (isLast) {
|
|
283
|
+
v[14] ^= U64_MASK;
|
|
284
|
+
}
|
|
285
|
+
const g = (a, b, c, d, x, y) => {
|
|
286
|
+
v[a] = add64(v[a], v[b], m[x]);
|
|
287
|
+
v[d] = rotr64(v[d] ^ v[a], 32);
|
|
288
|
+
v[c] = add64(v[c], v[d]);
|
|
289
|
+
v[b] = rotr64(v[b] ^ v[c], 24);
|
|
290
|
+
v[a] = add64(v[a], v[b], m[y]);
|
|
291
|
+
v[d] = rotr64(v[d] ^ v[a], 16);
|
|
292
|
+
v[c] = add64(v[c], v[d]);
|
|
293
|
+
v[b] = rotr64(v[b] ^ v[c], 63);
|
|
294
|
+
};
|
|
295
|
+
for (let round = 0; round < 12; ++round) {
|
|
296
|
+
const sigma = BLAKE2B_SIGMA[round % BLAKE2B_SIGMA.length];
|
|
297
|
+
g(0, 4, 8, 12, sigma[0], sigma[1]);
|
|
298
|
+
g(1, 5, 9, 13, sigma[2], sigma[3]);
|
|
299
|
+
g(2, 6, 10, 14, sigma[4], sigma[5]);
|
|
300
|
+
g(3, 7, 11, 15, sigma[6], sigma[7]);
|
|
301
|
+
g(0, 5, 10, 15, sigma[8], sigma[9]);
|
|
302
|
+
g(1, 6, 11, 12, sigma[10], sigma[11]);
|
|
303
|
+
g(2, 7, 8, 13, sigma[12], sigma[13]);
|
|
304
|
+
g(3, 4, 9, 14, sigma[14], sigma[15]);
|
|
305
|
+
}
|
|
306
|
+
for (let index = 0; index < h.length; ++index) {
|
|
307
|
+
h[index] = (h[index] ^ v[index] ^ v[index + 8]) & U64_MASK;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
function blake2b256(input) {
|
|
311
|
+
const h = [...BLAKE2B_IV];
|
|
312
|
+
h[0] ^= 0x01010000n ^ BigInt(BLAKE2B_256_BYTES);
|
|
313
|
+
let offset = 0;
|
|
314
|
+
let bytesCompressed = 0n;
|
|
315
|
+
while (offset + BLAKE2B_BLOCK_BYTES < input.length) {
|
|
316
|
+
bytesCompressed += BigInt(BLAKE2B_BLOCK_BYTES);
|
|
317
|
+
blake2bCompress(h, input.subarray(offset, offset + BLAKE2B_BLOCK_BYTES), bytesCompressed, false);
|
|
318
|
+
offset += BLAKE2B_BLOCK_BYTES;
|
|
319
|
+
}
|
|
320
|
+
const finalBlock = new Uint8Array(BLAKE2B_BLOCK_BYTES);
|
|
321
|
+
const remaining = input.subarray(offset);
|
|
322
|
+
finalBlock.set(remaining);
|
|
323
|
+
bytesCompressed += BigInt(remaining.length);
|
|
324
|
+
blake2bCompress(h, finalBlock, bytesCompressed, true);
|
|
325
|
+
const digest = new Uint8Array(BLAKE2B_256_BYTES);
|
|
326
|
+
for (let index = 0; index < BLAKE2B_256_BYTES / 8; ++index) {
|
|
327
|
+
writeU64Le(digest, index * 8, h[index]);
|
|
328
|
+
}
|
|
329
|
+
return digest;
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=protocol-primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-primitives.js","sourceRoot":"","sources":["../src/protocol-primitives.ts"],"names":[],"mappings":"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CtD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9C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"}
|