@haiai/haiai 0.1.2

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 (153) hide show
  1. package/README.md +127 -0
  2. package/bin/haiai.cjs +70 -0
  3. package/dist/cjs/a2a.js +352 -0
  4. package/dist/cjs/a2a.js.map +1 -0
  5. package/dist/cjs/agent.js +236 -0
  6. package/dist/cjs/agent.js.map +1 -0
  7. package/dist/cjs/client.js +2168 -0
  8. package/dist/cjs/client.js.map +1 -0
  9. package/dist/cjs/config.js +176 -0
  10. package/dist/cjs/config.js.map +1 -0
  11. package/dist/cjs/errors.js +102 -0
  12. package/dist/cjs/errors.js.map +1 -0
  13. package/dist/cjs/hash.js +52 -0
  14. package/dist/cjs/hash.js.map +1 -0
  15. package/dist/cjs/index.js +84 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/integrations.js +193 -0
  18. package/dist/cjs/integrations.js.map +1 -0
  19. package/dist/cjs/jacs.js +66 -0
  20. package/dist/cjs/jacs.js.map +1 -0
  21. package/dist/cjs/mime.js +100 -0
  22. package/dist/cjs/mime.js.map +1 -0
  23. package/dist/cjs/package.json +3 -0
  24. package/dist/cjs/signing.js +190 -0
  25. package/dist/cjs/signing.js.map +1 -0
  26. package/dist/cjs/sse.js +76 -0
  27. package/dist/cjs/sse.js.map +1 -0
  28. package/dist/cjs/types.js +6 -0
  29. package/dist/cjs/types.js.map +1 -0
  30. package/dist/cjs/verify.js +76 -0
  31. package/dist/cjs/verify.js.map +1 -0
  32. package/dist/cjs/ws.js +206 -0
  33. package/dist/cjs/ws.js.map +1 -0
  34. package/dist/esm/a2a.js +305 -0
  35. package/dist/esm/a2a.js.map +1 -0
  36. package/dist/esm/agent.js +231 -0
  37. package/dist/esm/agent.js.map +1 -0
  38. package/dist/esm/client.js +2131 -0
  39. package/dist/esm/client.js.map +1 -0
  40. package/dist/esm/config.js +171 -0
  41. package/dist/esm/config.js.map +1 -0
  42. package/dist/esm/errors.js +88 -0
  43. package/dist/esm/errors.js.map +1 -0
  44. package/dist/esm/hash.js +49 -0
  45. package/dist/esm/hash.js.map +1 -0
  46. package/dist/esm/index.js +27 -0
  47. package/dist/esm/index.js.map +1 -0
  48. package/dist/esm/integrations.js +147 -0
  49. package/dist/esm/integrations.js.map +1 -0
  50. package/dist/esm/jacs.js +61 -0
  51. package/dist/esm/jacs.js.map +1 -0
  52. package/dist/esm/mime.js +97 -0
  53. package/dist/esm/mime.js.map +1 -0
  54. package/dist/esm/signing.js +183 -0
  55. package/dist/esm/signing.js.map +1 -0
  56. package/dist/esm/sse.js +73 -0
  57. package/dist/esm/sse.js.map +1 -0
  58. package/dist/esm/types.js +5 -0
  59. package/dist/esm/types.js.map +1 -0
  60. package/dist/esm/verify.js +72 -0
  61. package/dist/esm/verify.js.map +1 -0
  62. package/dist/esm/ws.js +168 -0
  63. package/dist/esm/ws.js.map +1 -0
  64. package/dist/types/a2a.d.ts +52 -0
  65. package/dist/types/a2a.d.ts.map +1 -0
  66. package/dist/types/agent.d.ts +202 -0
  67. package/dist/types/agent.d.ts.map +1 -0
  68. package/dist/types/client.d.ts +486 -0
  69. package/dist/types/client.d.ts.map +1 -0
  70. package/dist/types/config.d.ts +31 -0
  71. package/dist/types/config.d.ts.map +1 -0
  72. package/dist/types/errors.d.ts +50 -0
  73. package/dist/types/errors.d.ts.map +1 -0
  74. package/dist/types/hash.d.ts +32 -0
  75. package/dist/types/hash.d.ts.map +1 -0
  76. package/dist/types/index.d.ts +22 -0
  77. package/dist/types/index.d.ts.map +1 -0
  78. package/dist/types/integrations.d.ts +25 -0
  79. package/dist/types/integrations.d.ts.map +1 -0
  80. package/dist/types/jacs.d.ts +26 -0
  81. package/dist/types/jacs.d.ts.map +1 -0
  82. package/dist/types/mime.d.ts +39 -0
  83. package/dist/types/mime.d.ts.map +1 -0
  84. package/dist/types/signing.d.ts +58 -0
  85. package/dist/types/signing.d.ts.map +1 -0
  86. package/dist/types/sse.d.ts +8 -0
  87. package/dist/types/sse.d.ts.map +1 -0
  88. package/dist/types/types.d.ts +652 -0
  89. package/dist/types/types.d.ts.map +1 -0
  90. package/dist/types/verify.d.ts +20 -0
  91. package/dist/types/verify.d.ts.map +1 -0
  92. package/dist/types/ws.d.ts +30 -0
  93. package/dist/types/ws.d.ts.map +1 -0
  94. package/examples/a2a_quickstart.ts +138 -0
  95. package/examples/hai_quickstart.ts +111 -0
  96. package/examples/mcp_quickstart.ts +53 -0
  97. package/npm/@haiai/cli-darwin-arm64/package.json +16 -0
  98. package/npm/@haiai/cli-darwin-x64/package.json +16 -0
  99. package/npm/@haiai/cli-linux-arm64/package.json +16 -0
  100. package/npm/@haiai/cli-linux-x64/package.json +16 -0
  101. package/npm/@haiai/cli-win32-x64/package.json +16 -0
  102. package/package.json +68 -0
  103. package/scripts/build-platform-packages.js +132 -0
  104. package/scripts/smoke-package.cjs +114 -0
  105. package/scripts/write-cjs-package.cjs +9 -0
  106. package/src/a2a.ts +463 -0
  107. package/src/agent.ts +302 -0
  108. package/src/client.ts +2504 -0
  109. package/src/config.ts +204 -0
  110. package/src/errors.ts +99 -0
  111. package/src/hash.ts +66 -0
  112. package/src/index.ts +163 -0
  113. package/src/integrations.ts +210 -0
  114. package/src/jacs.ts +86 -0
  115. package/src/mime.ts +131 -0
  116. package/src/signing.ts +233 -0
  117. package/src/sse.ts +86 -0
  118. package/src/types.ts +773 -0
  119. package/src/verify.ts +89 -0
  120. package/src/ws.ts +198 -0
  121. package/tests/_debug_jacs.cjs +29 -0
  122. package/tests/a2a-contract.test.ts +271 -0
  123. package/tests/a2a-fixtures.test.ts +73 -0
  124. package/tests/a2a.test.ts +379 -0
  125. package/tests/binary.test.ts +90 -0
  126. package/tests/client-api-methods.test.ts +176 -0
  127. package/tests/client-path-escaping.test.ts +80 -0
  128. package/tests/client-register.test.ts +61 -0
  129. package/tests/config.test.ts +281 -0
  130. package/tests/contract.test.ts +360 -0
  131. package/tests/cross-lang-contract.test.ts +67 -0
  132. package/tests/email-conformance.test.ts +289 -0
  133. package/tests/email-integration.test.ts +217 -0
  134. package/tests/email.test.ts +767 -0
  135. package/tests/errors.test.ts +167 -0
  136. package/tests/init-contract.test.ts +129 -0
  137. package/tests/integrations.test.ts +132 -0
  138. package/tests/jacs-passthrough.test.ts +125 -0
  139. package/tests/key-cache.test.ts +201 -0
  140. package/tests/key-integration.test.ts +119 -0
  141. package/tests/key-lookups.test.ts +187 -0
  142. package/tests/key-rotation.test.ts +362 -0
  143. package/tests/mime.test.ts +127 -0
  144. package/tests/security.test.ts +109 -0
  145. package/tests/setup.ts +60 -0
  146. package/tests/signing.test.ts +142 -0
  147. package/tests/sse.test.ts +125 -0
  148. package/tests/types.test.ts +294 -0
  149. package/tests/verify-link.test.ts +81 -0
  150. package/tests/ws.test.ts +213 -0
  151. package/tsconfig.cjs.json +11 -0
  152. package/tsconfig.json +22 -0
  153. package/vitest.config.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadPrivateKeyPassphrase = loadPrivateKeyPassphrase;
4
+ exports.loadConfig = loadConfig;
5
+ exports.loadPrivateKey = loadPrivateKey;
6
+ const promises_1 = require("node:fs/promises");
7
+ const node_path_1 = require("node:path");
8
+ const ENV_PASSWORD = 'JACS_PRIVATE_KEY_PASSWORD';
9
+ const ENV_PASSWORD_FILE = 'JACS_PASSWORD_FILE';
10
+ const ENV_DISABLE_PASSWORD_ENV = 'JACS_DISABLE_PASSWORD_ENV';
11
+ const ENV_DISABLE_PASSWORD_FILE = 'JACS_DISABLE_PASSWORD_FILE';
12
+ function isDisabled(flagName) {
13
+ const raw = process.env[flagName]?.trim().toLowerCase();
14
+ return raw === '1' || raw === 'true' || raw === 'yes' || raw === 'on';
15
+ }
16
+ function trimTrailingNewlines(value) {
17
+ return value.replace(/[\r\n]+$/, '');
18
+ }
19
+ async function readPasswordFileStrict(filePath) {
20
+ let stats;
21
+ try {
22
+ stats = await (0, promises_1.lstat)(filePath);
23
+ }
24
+ catch (error) {
25
+ const message = error.message;
26
+ throw new Error(`Failed to read JACS_PASSWORD_FILE (${filePath}): ${message}`);
27
+ }
28
+ if (stats.isSymbolicLink()) {
29
+ throw new Error(`JACS_PASSWORD_FILE must not be a symlink: ${filePath}`);
30
+ }
31
+ if (!stats.isFile()) {
32
+ throw new Error(`JACS_PASSWORD_FILE must be a regular file: ${filePath}`);
33
+ }
34
+ if (process.platform !== 'win32') {
35
+ const mode = stats.mode & 0o777;
36
+ if ((mode & 0o077) !== 0) {
37
+ throw new Error(`JACS_PASSWORD_FILE has insecure permissions (${mode.toString(8)}): ${filePath}. ` +
38
+ "Restrict to owner-only (for example: chmod 600 '/path/to/password.txt').");
39
+ }
40
+ }
41
+ let content;
42
+ try {
43
+ content = await (0, promises_1.readFile)(filePath, 'utf-8');
44
+ }
45
+ catch (error) {
46
+ const message = error.message;
47
+ throw new Error(`Failed to read JACS_PASSWORD_FILE (${filePath}): ${message}`);
48
+ }
49
+ const passphrase = trimTrailingNewlines(content);
50
+ if (!passphrase) {
51
+ throw new Error(`JACS_PASSWORD_FILE is empty: ${filePath}`);
52
+ }
53
+ return passphrase;
54
+ }
55
+ /**
56
+ * Resolve private-key passphrase from configured secret sources.
57
+ *
58
+ * Exactly one source must be configured after source filters are applied.
59
+ *
60
+ * Sources:
61
+ * - JACS_PRIVATE_KEY_PASSWORD (developer default)
62
+ * - JACS_PASSWORD_FILE
63
+ *
64
+ * Optional source disable flags:
65
+ * - JACS_DISABLE_PASSWORD_ENV=1
66
+ * - JACS_DISABLE_PASSWORD_FILE=1
67
+ */
68
+ async function loadPrivateKeyPassphrase() {
69
+ const envEnabled = !isDisabled(ENV_DISABLE_PASSWORD_ENV);
70
+ const fileEnabled = !isDisabled(ENV_DISABLE_PASSWORD_FILE);
71
+ const envPassword = process.env[ENV_PASSWORD];
72
+ const passwordFile = process.env[ENV_PASSWORD_FILE];
73
+ const configured = [];
74
+ if (envEnabled && envPassword) {
75
+ configured.push(ENV_PASSWORD);
76
+ }
77
+ if (fileEnabled && passwordFile) {
78
+ configured.push(ENV_PASSWORD_FILE);
79
+ }
80
+ if (configured.length > 1) {
81
+ throw new Error(`Multiple password sources configured: ${configured.join(', ')}. Configure exactly one.`);
82
+ }
83
+ if (configured.length === 0) {
84
+ throw new Error('Private key password required. Configure exactly one of JACS_PRIVATE_KEY_PASSWORD or JACS_PASSWORD_FILE.');
85
+ }
86
+ if (configured[0] === ENV_PASSWORD) {
87
+ return envPassword;
88
+ }
89
+ const filePath = passwordFile;
90
+ return readPasswordFileStrict(filePath);
91
+ }
92
+ /**
93
+ * Load JACS agent configuration from a jacs.config.json file.
94
+ *
95
+ * Resolves config path in order:
96
+ * 1. Explicit configPath argument
97
+ * 2. JACS_CONFIG_PATH environment variable
98
+ * 3. ./jacs.config.json (current directory)
99
+ */
100
+ async function loadConfig(configPath) {
101
+ const resolvedPath = configPath
102
+ ?? process.env.JACS_CONFIG_PATH
103
+ ?? './jacs.config.json';
104
+ const absoluteConfigPath = (0, node_path_1.resolve)(resolvedPath);
105
+ const configDir = (0, node_path_1.dirname)(absoluteConfigPath);
106
+ const raw = await (0, promises_1.readFile)(absoluteConfigPath, 'utf-8');
107
+ const json = JSON.parse(raw);
108
+ const name = (json.jacsAgentName ?? json.agent_name);
109
+ const version = (json.jacsAgentVersion ?? json.agent_version);
110
+ const keyDir = (json.jacsKeyDir ?? json.key_dir);
111
+ const missing = [];
112
+ if (!name)
113
+ missing.push('jacsAgentName');
114
+ if (!version)
115
+ missing.push('jacsAgentVersion');
116
+ if (!keyDir)
117
+ missing.push('jacsKeyDir');
118
+ if (missing.length > 0) {
119
+ throw new Error(`JACS config missing required fields: ${missing.join(', ')}`);
120
+ }
121
+ const resolvedKeyDir = keyDir;
122
+ const privateKeyPath = (json.jacsPrivateKeyPath ?? json.private_key_path);
123
+ return {
124
+ jacsAgentName: name,
125
+ jacsAgentVersion: version,
126
+ // Resolve relative paths from the config location, not the caller CWD.
127
+ jacsKeyDir: (0, node_path_1.isAbsolute)(resolvedKeyDir)
128
+ ? resolvedKeyDir
129
+ : (0, node_path_1.resolve)(configDir, resolvedKeyDir),
130
+ jacsId: (json.jacsId ?? json.jacs_id),
131
+ jacsPrivateKeyPath: privateKeyPath
132
+ ? ((0, node_path_1.isAbsolute)(privateKeyPath) ? privateKeyPath : (0, node_path_1.resolve)(configDir, privateKeyPath))
133
+ : undefined,
134
+ };
135
+ }
136
+ /**
137
+ * Load the Ed25519 private key PEM from the configured key directory.
138
+ *
139
+ * Searches common file names in the key directory, or uses an explicit path
140
+ * from the config.
141
+ */
142
+ async function loadPrivateKey(config) {
143
+ const keyDir = config.jacsKeyDir;
144
+ const candidates = [];
145
+ // Explicit path takes priority
146
+ if (config.jacsPrivateKeyPath) {
147
+ try {
148
+ await (0, promises_1.readFile)(config.jacsPrivateKeyPath, 'utf-8');
149
+ }
150
+ catch {
151
+ throw new Error(`Configured jacsPrivateKeyPath does not exist: ${config.jacsPrivateKeyPath}`);
152
+ }
153
+ candidates.push(config.jacsPrivateKeyPath);
154
+ }
155
+ // Search in standardized order for cross-SDK compatibility
156
+ candidates.push((0, node_path_1.join)(keyDir, 'agent_private_key.pem'), (0, node_path_1.join)(keyDir, `${config.jacsAgentName}.private.pem`), (0, node_path_1.join)(keyDir, 'private_key.pem'));
157
+ for (const candidate of candidates) {
158
+ try {
159
+ const content = await (0, promises_1.readFile)(candidate, 'utf-8');
160
+ // Strip comment lines (e.g. "# WARNING: TEST-ONLY KEY")
161
+ const pem = content
162
+ .split('\n')
163
+ .filter((line) => !line.startsWith('#'))
164
+ .join('\n')
165
+ .trim();
166
+ if (pem)
167
+ return pem;
168
+ }
169
+ catch {
170
+ // Try next candidate
171
+ }
172
+ }
173
+ throw new Error(`No private key found. Searched: ${candidates.join(', ')}. ` +
174
+ 'Set jacsKeyDir or jacsPrivateKeyPath in your config.');
175
+ }
176
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateLimitedError = exports.RecipientNotFoundError = exports.EmailNotActiveError = exports.HaiApiError = exports.SSEError = exports.BenchmarkError = exports.RegistrationError = exports.WebSocketError = exports.HaiConnectionError = exports.AuthenticationError = exports.HaiError = void 0;
4
+ /** Base error class for all HAI SDK errors. */
5
+ class HaiError extends Error {
6
+ statusCode;
7
+ responseData;
8
+ constructor(message, statusCode, responseData) {
9
+ super(message);
10
+ this.name = 'HaiError';
11
+ this.statusCode = statusCode;
12
+ this.responseData = responseData;
13
+ }
14
+ }
15
+ exports.HaiError = HaiError;
16
+ /** Thrown when JACS authentication is rejected. */
17
+ class AuthenticationError extends HaiError {
18
+ constructor(message, statusCode) {
19
+ super(message, statusCode);
20
+ this.name = 'AuthenticationError';
21
+ }
22
+ }
23
+ exports.AuthenticationError = AuthenticationError;
24
+ /** Thrown when connection to HAI fails. */
25
+ class HaiConnectionError extends HaiError {
26
+ constructor(message) {
27
+ super(message);
28
+ this.name = 'HaiConnectionError';
29
+ }
30
+ }
31
+ exports.HaiConnectionError = HaiConnectionError;
32
+ /** Thrown for WebSocket-specific errors. */
33
+ class WebSocketError extends HaiError {
34
+ constructor(message, statusCode) {
35
+ super(message, statusCode);
36
+ this.name = 'WebSocketError';
37
+ }
38
+ }
39
+ exports.WebSocketError = WebSocketError;
40
+ /** Thrown when agent registration fails. */
41
+ class RegistrationError extends HaiError {
42
+ constructor(message, statusCode) {
43
+ super(message, statusCode);
44
+ this.name = 'RegistrationError';
45
+ }
46
+ }
47
+ exports.RegistrationError = RegistrationError;
48
+ /** Thrown when a benchmark operation fails. */
49
+ class BenchmarkError extends HaiError {
50
+ constructor(message, statusCode) {
51
+ super(message, statusCode);
52
+ this.name = 'BenchmarkError';
53
+ }
54
+ }
55
+ exports.BenchmarkError = BenchmarkError;
56
+ /** Thrown when SSE streaming fails. */
57
+ class SSEError extends HaiError {
58
+ constructor(message, statusCode) {
59
+ super(message, statusCode);
60
+ this.name = 'SSEError';
61
+ }
62
+ }
63
+ exports.SSEError = SSEError;
64
+ /** General API error (non-auth, non-connection). */
65
+ class HaiApiError extends HaiError {
66
+ /** Structured error code from the API (e.g., 'EMAIL_NOT_ACTIVE'). */
67
+ errorCode;
68
+ /** Raw response body text. */
69
+ body;
70
+ constructor(message, statusCode, responseData, errorCode = '', body = '') {
71
+ super(message, statusCode, responseData);
72
+ this.name = 'HaiApiError';
73
+ this.errorCode = errorCode;
74
+ this.body = body;
75
+ }
76
+ }
77
+ exports.HaiApiError = HaiApiError;
78
+ /** Thrown when the agent's email is not yet active (status is "allocated"). */
79
+ class EmailNotActiveError extends HaiApiError {
80
+ constructor(message, statusCode = 403, body = '') {
81
+ super(message, statusCode, undefined, 'EMAIL_NOT_ACTIVE', body);
82
+ this.name = 'EmailNotActiveError';
83
+ }
84
+ }
85
+ exports.EmailNotActiveError = EmailNotActiveError;
86
+ /** Thrown when the recipient address cannot be resolved. */
87
+ class RecipientNotFoundError extends HaiApiError {
88
+ constructor(message, statusCode = 400, body = '') {
89
+ super(message, statusCode, undefined, 'RECIPIENT_NOT_FOUND', body);
90
+ this.name = 'RecipientNotFoundError';
91
+ }
92
+ }
93
+ exports.RecipientNotFoundError = RecipientNotFoundError;
94
+ /** Thrown when the agent has exceeded its email rate limit. */
95
+ class RateLimitedError extends HaiApiError {
96
+ constructor(message, statusCode = 429, body = '') {
97
+ super(message, statusCode, undefined, 'RATE_LIMITED', body);
98
+ this.name = 'RateLimitedError';
99
+ }
100
+ }
101
+ exports.RateLimitedError = RateLimitedError;
102
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Content hash computation for cross-SDK email conformance.
4
+ *
5
+ * All SDKs must produce identical content hashes for the same inputs.
6
+ * Algorithm mirrors JACS's compute_attachment_hash convention:
7
+ *
8
+ * 1. Per-attachment hash: sha256(filename_utf8 + ":" + content_type_lower + ":" + raw_bytes)
9
+ * 2. Sort attachment hashes lexicographically
10
+ * 3. Overall hash:
11
+ * - No attachments: sha256(subject + "\n" + body)
12
+ * - With attachments: sha256(subject + "\n" + body + "\n" + sorted_hashes.join("\n"))
13
+ *
14
+ * Returns "sha256:<hex>" format.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.computeContentHash = computeContentHash;
18
+ const node_crypto_1 = require("node:crypto");
19
+ /**
20
+ * Compute a deterministic content hash for email content.
21
+ *
22
+ * @param subject - Email subject line.
23
+ * @param body - Email body text.
24
+ * @param attachments - Attachments with filename, content_type, and data/data_utf8.
25
+ * @returns "sha256:<hex>" hash string.
26
+ */
27
+ function computeContentHash(subject, body, attachments = []) {
28
+ // Compute per-attachment hashes
29
+ const attHashes = attachments.map((att) => {
30
+ const contentType = att.content_type.toLowerCase();
31
+ const data = att.data ?? Buffer.from(att.data_utf8 ?? '', 'utf-8');
32
+ const h = (0, node_crypto_1.createHash)('sha256');
33
+ h.update(att.filename, 'utf-8');
34
+ h.update(':');
35
+ h.update(contentType, 'utf-8');
36
+ h.update(':');
37
+ h.update(data);
38
+ return `sha256:${h.digest('hex')}`;
39
+ });
40
+ attHashes.sort();
41
+ // Compute overall content hash
42
+ const h = (0, node_crypto_1.createHash)('sha256');
43
+ h.update(subject, 'utf-8');
44
+ h.update('\n');
45
+ h.update(body, 'utf-8');
46
+ for (const ah of attHashes) {
47
+ h.update('\n');
48
+ h.update(ah, 'utf-8');
49
+ }
50
+ return `sha256:${h.digest('hex')}`;
51
+ }
52
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/hash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAsBH,gDA8BC;AAlDD,6CAAyC;AAYzC;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,OAAe,EACf,IAAY,EACZ,cAAuC,EAAE;IAEzC,gCAAgC;IAChC,MAAM,SAAS,GAAa,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,CAAC,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,CAAC,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HaiApiError = exports.SSEError = exports.BenchmarkError = exports.RegistrationError = exports.WebSocketError = exports.HaiConnectionError = exports.AuthenticationError = exports.HaiError = exports.wsEventStream = exports.wsRecv = exports.openWebSocket = exports.parseSseStream = exports.loadPrivateKey = exports.loadConfig = exports.onMediatedBenchmarkJob = exports.registerWithAgentCard = exports.mergeAgentJsonWithAgentCard = exports.trustA2AAgent = exports.assessRemoteAgent = exports.generateWellKnownDocuments = exports.createChainOfCustody = exports.verifyArtifact = exports.signArtifact = exports.exportAgentCard = exports.quickstartA2A = exports.getA2AIntegration = exports.verifyAgentSdkPayload = exports.createAgentSdkToolWrapper = exports.registerJacsMcpTools = exports.getJacsMcpToolDefinitions = exports.createJacsMcpTransportProxy = exports.createJacsLangchainTools = exports.langgraphToolNode = exports.langgraphWrapToolCall = exports.langchainSignedTool = exports.resolveJacsCliBin = exports.runJacsCli = exports.MAX_VERIFY_DOCUMENT_BYTES = exports.MAX_VERIFY_URL_LEN = exports.generateVerifyLink = exports.canonicalJson = exports.clearServerKeysCache = exports.getServerKeys = exports.signResponse = exports.unwrapSignedEvent = exports.computeContentHash = exports.buildRfc5322Email = exports.EmailNamespace = exports.Agent = exports.HaiClient = void 0;
4
+ exports.RateLimitedError = exports.RecipientNotFoundError = exports.EmailNotActiveError = void 0;
5
+ // Client
6
+ var client_js_1 = require("./client.js");
7
+ Object.defineProperty(exports, "HaiClient", { enumerable: true, get: function () { return client_js_1.HaiClient; } });
8
+ // Agent (high-level wrapper with agent.email.* namespace)
9
+ var agent_js_1 = require("./agent.js");
10
+ Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_js_1.Agent; } });
11
+ Object.defineProperty(exports, "EmailNamespace", { enumerable: true, get: function () { return agent_js_1.EmailNamespace; } });
12
+ // MIME construction
13
+ var mime_js_1 = require("./mime.js");
14
+ Object.defineProperty(exports, "buildRfc5322Email", { enumerable: true, get: function () { return mime_js_1.buildRfc5322Email; } });
15
+ // Content hash computation (cross-SDK conformance)
16
+ var hash_js_1 = require("./hash.js");
17
+ Object.defineProperty(exports, "computeContentHash", { enumerable: true, get: function () { return hash_js_1.computeContentHash; } });
18
+ // Signing (all crypto delegated to JACS core)
19
+ var signing_js_1 = require("./signing.js");
20
+ Object.defineProperty(exports, "unwrapSignedEvent", { enumerable: true, get: function () { return signing_js_1.unwrapSignedEvent; } });
21
+ Object.defineProperty(exports, "signResponse", { enumerable: true, get: function () { return signing_js_1.signResponse; } });
22
+ Object.defineProperty(exports, "getServerKeys", { enumerable: true, get: function () { return signing_js_1.getServerKeys; } });
23
+ Object.defineProperty(exports, "clearServerKeysCache", { enumerable: true, get: function () { return signing_js_1.clearServerKeysCache; } });
24
+ Object.defineProperty(exports, "canonicalJson", { enumerable: true, get: function () { return signing_js_1.canonicalJson; } });
25
+ // Verify link
26
+ var verify_js_1 = require("./verify.js");
27
+ Object.defineProperty(exports, "generateVerifyLink", { enumerable: true, get: function () { return verify_js_1.generateVerifyLink; } });
28
+ Object.defineProperty(exports, "MAX_VERIFY_URL_LEN", { enumerable: true, get: function () { return verify_js_1.MAX_VERIFY_URL_LEN; } });
29
+ Object.defineProperty(exports, "MAX_VERIFY_DOCUMENT_BYTES", { enumerable: true, get: function () { return verify_js_1.MAX_VERIFY_DOCUMENT_BYTES; } });
30
+ // JACS CLI passthrough helpers
31
+ var jacs_js_1 = require("./jacs.js");
32
+ Object.defineProperty(exports, "runJacsCli", { enumerable: true, get: function () { return jacs_js_1.runJacsCli; } });
33
+ Object.defineProperty(exports, "resolveJacsCliBin", { enumerable: true, get: function () { return jacs_js_1.resolveJacsCliBin; } });
34
+ // Framework integrations (LangGraph/LangChain, MCP, Agent SDK wrapper)
35
+ var integrations_js_1 = require("./integrations.js");
36
+ Object.defineProperty(exports, "langchainSignedTool", { enumerable: true, get: function () { return integrations_js_1.langchainSignedTool; } });
37
+ Object.defineProperty(exports, "langgraphWrapToolCall", { enumerable: true, get: function () { return integrations_js_1.langgraphWrapToolCall; } });
38
+ Object.defineProperty(exports, "langgraphToolNode", { enumerable: true, get: function () { return integrations_js_1.langgraphToolNode; } });
39
+ Object.defineProperty(exports, "createJacsLangchainTools", { enumerable: true, get: function () { return integrations_js_1.createJacsLangchainTools; } });
40
+ Object.defineProperty(exports, "createJacsMcpTransportProxy", { enumerable: true, get: function () { return integrations_js_1.createJacsMcpTransportProxy; } });
41
+ Object.defineProperty(exports, "getJacsMcpToolDefinitions", { enumerable: true, get: function () { return integrations_js_1.getJacsMcpToolDefinitions; } });
42
+ Object.defineProperty(exports, "registerJacsMcpTools", { enumerable: true, get: function () { return integrations_js_1.registerJacsMcpTools; } });
43
+ Object.defineProperty(exports, "createAgentSdkToolWrapper", { enumerable: true, get: function () { return integrations_js_1.createAgentSdkToolWrapper; } });
44
+ Object.defineProperty(exports, "verifyAgentSdkPayload", { enumerable: true, get: function () { return integrations_js_1.verifyAgentSdkPayload; } });
45
+ // A2A integration wrappers (delegates to @hai.ai/jacs/a2a)
46
+ var a2a_js_1 = require("./a2a.js");
47
+ Object.defineProperty(exports, "getA2AIntegration", { enumerable: true, get: function () { return a2a_js_1.getA2AIntegration; } });
48
+ Object.defineProperty(exports, "quickstartA2A", { enumerable: true, get: function () { return a2a_js_1.quickstartA2A; } });
49
+ Object.defineProperty(exports, "exportAgentCard", { enumerable: true, get: function () { return a2a_js_1.exportAgentCard; } });
50
+ Object.defineProperty(exports, "signArtifact", { enumerable: true, get: function () { return a2a_js_1.signArtifact; } });
51
+ Object.defineProperty(exports, "verifyArtifact", { enumerable: true, get: function () { return a2a_js_1.verifyArtifact; } });
52
+ Object.defineProperty(exports, "createChainOfCustody", { enumerable: true, get: function () { return a2a_js_1.createChainOfCustody; } });
53
+ Object.defineProperty(exports, "generateWellKnownDocuments", { enumerable: true, get: function () { return a2a_js_1.generateWellKnownDocuments; } });
54
+ Object.defineProperty(exports, "assessRemoteAgent", { enumerable: true, get: function () { return a2a_js_1.assessRemoteAgent; } });
55
+ Object.defineProperty(exports, "trustA2AAgent", { enumerable: true, get: function () { return a2a_js_1.trustA2AAgent; } });
56
+ Object.defineProperty(exports, "mergeAgentJsonWithAgentCard", { enumerable: true, get: function () { return a2a_js_1.mergeAgentJsonWithAgentCard; } });
57
+ Object.defineProperty(exports, "registerWithAgentCard", { enumerable: true, get: function () { return a2a_js_1.registerWithAgentCard; } });
58
+ Object.defineProperty(exports, "onMediatedBenchmarkJob", { enumerable: true, get: function () { return a2a_js_1.onMediatedBenchmarkJob; } });
59
+ // Config
60
+ var config_js_1 = require("./config.js");
61
+ Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_js_1.loadConfig; } });
62
+ Object.defineProperty(exports, "loadPrivateKey", { enumerable: true, get: function () { return config_js_1.loadPrivateKey; } });
63
+ // SSE parser
64
+ var sse_js_1 = require("./sse.js");
65
+ Object.defineProperty(exports, "parseSseStream", { enumerable: true, get: function () { return sse_js_1.parseSseStream; } });
66
+ // WebSocket helpers
67
+ var ws_js_1 = require("./ws.js");
68
+ Object.defineProperty(exports, "openWebSocket", { enumerable: true, get: function () { return ws_js_1.openWebSocket; } });
69
+ Object.defineProperty(exports, "wsRecv", { enumerable: true, get: function () { return ws_js_1.wsRecv; } });
70
+ Object.defineProperty(exports, "wsEventStream", { enumerable: true, get: function () { return ws_js_1.wsEventStream; } });
71
+ // Errors
72
+ var errors_js_1 = require("./errors.js");
73
+ Object.defineProperty(exports, "HaiError", { enumerable: true, get: function () { return errors_js_1.HaiError; } });
74
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_js_1.AuthenticationError; } });
75
+ Object.defineProperty(exports, "HaiConnectionError", { enumerable: true, get: function () { return errors_js_1.HaiConnectionError; } });
76
+ Object.defineProperty(exports, "WebSocketError", { enumerable: true, get: function () { return errors_js_1.WebSocketError; } });
77
+ Object.defineProperty(exports, "RegistrationError", { enumerable: true, get: function () { return errors_js_1.RegistrationError; } });
78
+ Object.defineProperty(exports, "BenchmarkError", { enumerable: true, get: function () { return errors_js_1.BenchmarkError; } });
79
+ Object.defineProperty(exports, "SSEError", { enumerable: true, get: function () { return errors_js_1.SSEError; } });
80
+ Object.defineProperty(exports, "HaiApiError", { enumerable: true, get: function () { return errors_js_1.HaiApiError; } });
81
+ Object.defineProperty(exports, "EmailNotActiveError", { enumerable: true, get: function () { return errors_js_1.EmailNotActiveError; } });
82
+ Object.defineProperty(exports, "RecipientNotFoundError", { enumerable: true, get: function () { return errors_js_1.RecipientNotFoundError; } });
83
+ Object.defineProperty(exports, "RateLimitedError", { enumerable: true, get: function () { return errors_js_1.RateLimitedError; } });
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,SAAS;AACT,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,0DAA0D;AAC1D,uCAAmD;AAA1C,iGAAA,KAAK,OAAA;AAAE,0GAAA,cAAc,OAAA;AAG9B,oBAAoB;AACpB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAG1B,mDAAmD;AACnD,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAG3B,8CAA8C;AAC9C,2CAMsB;AALpB,+GAAA,iBAAiB,OAAA;AACjB,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,kHAAA,oBAAoB,OAAA;AACpB,2GAAA,aAAa,OAAA;AAIf,cAAc;AACd,yCAAgG;AAAvF,+GAAA,kBAAkB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,sHAAA,yBAAyB,OAAA;AAE1E,+BAA+B;AAC/B,qCAA0D;AAAjD,qGAAA,UAAU,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAGtC,uEAAuE;AACvE,qDAU2B;AATzB,sHAAA,mBAAmB,OAAA;AACnB,wHAAA,qBAAqB,OAAA;AACrB,oHAAA,iBAAiB,OAAA;AACjB,2HAAA,wBAAwB,OAAA;AACxB,8HAAA,2BAA2B,OAAA;AAC3B,4HAAA,yBAAyB,OAAA;AACzB,uHAAA,oBAAoB,OAAA;AACpB,4HAAA,yBAAyB,OAAA;AACzB,wHAAA,qBAAqB,OAAA;AAQvB,2DAA2D;AAC3D,mCAakB;AAZhB,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,8GAAA,oBAAoB,OAAA;AACpB,oHAAA,0BAA0B,OAAA;AAC1B,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,qHAAA,2BAA2B,OAAA;AAC3B,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AAWxB,SAAS;AACT,yCAAyD;AAAhD,uGAAA,UAAU,OAAA;AAAE,2GAAA,cAAc,OAAA;AAEnC,aAAa;AACb,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAEvB,oBAAoB;AACpB,iCAA+D;AAAtD,sGAAA,aAAa,OAAA;AAAE,+FAAA,MAAM,OAAA;AAAE,sGAAA,aAAa,OAAA;AAG7C,SAAS;AACT,yCAYqB;AAXnB,qGAAA,QAAQ,OAAA;AACR,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,gHAAA,mBAAmB,OAAA;AACnB,mHAAA,sBAAsB,OAAA;AACtB,6GAAA,gBAAgB,OAAA"}