@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.
- package/README.md +127 -0
- package/bin/haiai.cjs +70 -0
- package/dist/cjs/a2a.js +352 -0
- package/dist/cjs/a2a.js.map +1 -0
- package/dist/cjs/agent.js +236 -0
- package/dist/cjs/agent.js.map +1 -0
- package/dist/cjs/client.js +2168 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/config.js +176 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/errors.js +102 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/hash.js +52 -0
- package/dist/cjs/hash.js.map +1 -0
- package/dist/cjs/index.js +84 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/integrations.js +193 -0
- package/dist/cjs/integrations.js.map +1 -0
- package/dist/cjs/jacs.js +66 -0
- package/dist/cjs/jacs.js.map +1 -0
- package/dist/cjs/mime.js +100 -0
- package/dist/cjs/mime.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/signing.js +190 -0
- package/dist/cjs/signing.js.map +1 -0
- package/dist/cjs/sse.js +76 -0
- package/dist/cjs/sse.js.map +1 -0
- package/dist/cjs/types.js +6 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/verify.js +76 -0
- package/dist/cjs/verify.js.map +1 -0
- package/dist/cjs/ws.js +206 -0
- package/dist/cjs/ws.js.map +1 -0
- package/dist/esm/a2a.js +305 -0
- package/dist/esm/a2a.js.map +1 -0
- package/dist/esm/agent.js +231 -0
- package/dist/esm/agent.js.map +1 -0
- package/dist/esm/client.js +2131 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/config.js +171 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/errors.js +88 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/hash.js +49 -0
- package/dist/esm/hash.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/integrations.js +147 -0
- package/dist/esm/integrations.js.map +1 -0
- package/dist/esm/jacs.js +61 -0
- package/dist/esm/jacs.js.map +1 -0
- package/dist/esm/mime.js +97 -0
- package/dist/esm/mime.js.map +1 -0
- package/dist/esm/signing.js +183 -0
- package/dist/esm/signing.js.map +1 -0
- package/dist/esm/sse.js +73 -0
- package/dist/esm/sse.js.map +1 -0
- package/dist/esm/types.js +5 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/verify.js +72 -0
- package/dist/esm/verify.js.map +1 -0
- package/dist/esm/ws.js +168 -0
- package/dist/esm/ws.js.map +1 -0
- package/dist/types/a2a.d.ts +52 -0
- package/dist/types/a2a.d.ts.map +1 -0
- package/dist/types/agent.d.ts +202 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/client.d.ts +486 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/config.d.ts +31 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/errors.d.ts +50 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/hash.d.ts +32 -0
- package/dist/types/hash.d.ts.map +1 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/integrations.d.ts +25 -0
- package/dist/types/integrations.d.ts.map +1 -0
- package/dist/types/jacs.d.ts +26 -0
- package/dist/types/jacs.d.ts.map +1 -0
- package/dist/types/mime.d.ts +39 -0
- package/dist/types/mime.d.ts.map +1 -0
- package/dist/types/signing.d.ts +58 -0
- package/dist/types/signing.d.ts.map +1 -0
- package/dist/types/sse.d.ts +8 -0
- package/dist/types/sse.d.ts.map +1 -0
- package/dist/types/types.d.ts +652 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/verify.d.ts +20 -0
- package/dist/types/verify.d.ts.map +1 -0
- package/dist/types/ws.d.ts +30 -0
- package/dist/types/ws.d.ts.map +1 -0
- package/examples/a2a_quickstart.ts +138 -0
- package/examples/hai_quickstart.ts +111 -0
- package/examples/mcp_quickstart.ts +53 -0
- package/npm/@haiai/cli-darwin-arm64/package.json +16 -0
- package/npm/@haiai/cli-darwin-x64/package.json +16 -0
- package/npm/@haiai/cli-linux-arm64/package.json +16 -0
- package/npm/@haiai/cli-linux-x64/package.json +16 -0
- package/npm/@haiai/cli-win32-x64/package.json +16 -0
- package/package.json +68 -0
- package/scripts/build-platform-packages.js +132 -0
- package/scripts/smoke-package.cjs +114 -0
- package/scripts/write-cjs-package.cjs +9 -0
- package/src/a2a.ts +463 -0
- package/src/agent.ts +302 -0
- package/src/client.ts +2504 -0
- package/src/config.ts +204 -0
- package/src/errors.ts +99 -0
- package/src/hash.ts +66 -0
- package/src/index.ts +163 -0
- package/src/integrations.ts +210 -0
- package/src/jacs.ts +86 -0
- package/src/mime.ts +131 -0
- package/src/signing.ts +233 -0
- package/src/sse.ts +86 -0
- package/src/types.ts +773 -0
- package/src/verify.ts +89 -0
- package/src/ws.ts +198 -0
- package/tests/_debug_jacs.cjs +29 -0
- package/tests/a2a-contract.test.ts +271 -0
- package/tests/a2a-fixtures.test.ts +73 -0
- package/tests/a2a.test.ts +379 -0
- package/tests/binary.test.ts +90 -0
- package/tests/client-api-methods.test.ts +176 -0
- package/tests/client-path-escaping.test.ts +80 -0
- package/tests/client-register.test.ts +61 -0
- package/tests/config.test.ts +281 -0
- package/tests/contract.test.ts +360 -0
- package/tests/cross-lang-contract.test.ts +67 -0
- package/tests/email-conformance.test.ts +289 -0
- package/tests/email-integration.test.ts +217 -0
- package/tests/email.test.ts +767 -0
- package/tests/errors.test.ts +167 -0
- package/tests/init-contract.test.ts +129 -0
- package/tests/integrations.test.ts +132 -0
- package/tests/jacs-passthrough.test.ts +125 -0
- package/tests/key-cache.test.ts +201 -0
- package/tests/key-integration.test.ts +119 -0
- package/tests/key-lookups.test.ts +187 -0
- package/tests/key-rotation.test.ts +362 -0
- package/tests/mime.test.ts +127 -0
- package/tests/security.test.ts +109 -0
- package/tests/setup.ts +60 -0
- package/tests/signing.test.ts +142 -0
- package/tests/sse.test.ts +125 -0
- package/tests/types.test.ts +294 -0
- package/tests/verify-link.test.ts +81 -0
- package/tests/ws.test.ts +213 -0
- package/tsconfig.cjs.json +11 -0
- package/tsconfig.json +22 -0
- 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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"}
|
package/dist/cjs/hash.js
ADDED
|
@@ -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"}
|