beam-protocol-sdk 0.2.2 → 0.3.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/dist/identity.js DELETED
@@ -1,65 +0,0 @@
1
- import { generateKeyPairSync, sign, verify, createPrivateKey, createPublicKey, randomUUID } from 'node:crypto';
2
- export class BeamIdentity {
3
- beamId;
4
- publicKeyBase64;
5
- _privateKey;
6
- _publicKey;
7
- constructor(beamId, privateKey, publicKey) {
8
- this.beamId = beamId;
9
- this._privateKey = privateKey;
10
- this._publicKey = publicKey;
11
- this.publicKeyBase64 = publicKey.export({ type: 'spki', format: 'der' }).toString('base64');
12
- }
13
- static generate(config) {
14
- const { privateKey, publicKey } = generateKeyPairSync('ed25519');
15
- const beamId = `${config.agentName}@${config.orgName}.beam.directory`;
16
- return new BeamIdentity(beamId, privateKey, publicKey);
17
- }
18
- static fromData(data) {
19
- const privateKey = createPrivateKey({
20
- key: Buffer.from(data.privateKeyBase64, 'base64'),
21
- format: 'der',
22
- type: 'pkcs8'
23
- });
24
- const publicKey = createPublicKey({
25
- key: Buffer.from(data.publicKeyBase64, 'base64'),
26
- format: 'der',
27
- type: 'spki'
28
- });
29
- return new BeamIdentity(data.beamId, privateKey, publicKey);
30
- }
31
- export() {
32
- return {
33
- beamId: this.beamId,
34
- publicKeyBase64: this.publicKeyBase64,
35
- privateKeyBase64: this._privateKey.export({ type: 'pkcs8', format: 'der' }).toString('base64')
36
- };
37
- }
38
- sign(data) {
39
- const signature = sign(null, Buffer.from(data, 'utf8'), this._privateKey);
40
- return signature.toString('base64');
41
- }
42
- static verify(data, signatureBase64, publicKeyBase64) {
43
- try {
44
- const publicKey = createPublicKey({
45
- key: Buffer.from(publicKeyBase64, 'base64'),
46
- format: 'der',
47
- type: 'spki'
48
- });
49
- return verify(null, Buffer.from(data, 'utf8'), publicKey, Buffer.from(signatureBase64, 'base64'));
50
- }
51
- catch {
52
- return false;
53
- }
54
- }
55
- static parseBeamId(beamId) {
56
- const match = beamId.match(/^([a-z0-9_-]+)@([a-z0-9_-]+)\.beam\.directory$/);
57
- if (!match)
58
- return null;
59
- return { agent: match[1], org: match[2] };
60
- }
61
- static generateNonce() {
62
- return randomUUID();
63
- }
64
- }
65
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { BeamIdentity } from './identity.js';
2
- export { BeamDirectory, BeamDirectoryError } from './directory.js';
3
- export { BeamClient, BeamThread } from './client.js';
4
- export { createIntentFrame, createResultFrame, signFrame, validateIntentFrame, validateResultFrame, canonicalizeFrame, MAX_FRAME_SIZE, REPLAY_WINDOW_MS } from './frames.js';
5
- export type { BeamIdString, BeamIdentityConfig, BeamIdentityData, IntentFrame, ResultFrame, AgentRegistration, AgentRecord, DirectoryConfig, BeamClientConfig, AgentSearchQuery } from './types.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EACjB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAA"}
package/dist/index.js DELETED
@@ -1,5 +0,0 @@
1
- export { BeamIdentity } from './identity.js';
2
- export { BeamDirectory, BeamDirectoryError } from './directory.js';
3
- export { BeamClient, BeamThread } from './client.js';
4
- export { createIntentFrame, createResultFrame, signFrame, validateIntentFrame, validateResultFrame, canonicalizeFrame, MAX_FRAME_SIZE, REPLAY_WINDOW_MS } from './frames.js';
5
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EACjB,MAAM,aAAa,CAAA"}
package/dist/types.d.ts DELETED
@@ -1,60 +0,0 @@
1
- /** Beam ID format: agent@org.beam.directory */
2
- export type BeamIdString = `${string}@${string}.beam.directory`;
3
- export interface BeamIdentityConfig {
4
- agentName: string;
5
- orgName: string;
6
- }
7
- export interface BeamIdentityData {
8
- beamId: BeamIdString;
9
- publicKeyBase64: string;
10
- privateKeyBase64: string;
11
- }
12
- export interface IntentFrame {
13
- v: '1';
14
- intent: string;
15
- from: BeamIdString;
16
- to: BeamIdString;
17
- payload: Record<string, unknown>;
18
- nonce: string;
19
- timestamp: string;
20
- signature?: string;
21
- }
22
- export interface ResultFrame {
23
- v: '1';
24
- success: boolean;
25
- payload?: Record<string, unknown>;
26
- error?: string;
27
- errorCode?: string;
28
- nonce: string;
29
- timestamp: string;
30
- latency?: number;
31
- signature?: string;
32
- }
33
- export interface AgentRegistration {
34
- beamId: BeamIdString;
35
- displayName: string;
36
- capabilities: string[];
37
- publicKey: string;
38
- org: string;
39
- }
40
- export interface AgentRecord extends AgentRegistration {
41
- trustScore: number;
42
- verified: boolean;
43
- createdAt: string;
44
- lastSeen: string;
45
- }
46
- export interface DirectoryConfig {
47
- baseUrl: string;
48
- apiKey?: string;
49
- }
50
- export interface BeamClientConfig {
51
- identity: BeamIdentityData;
52
- directoryUrl: string;
53
- }
54
- export interface AgentSearchQuery {
55
- org?: string;
56
- capabilities?: string[];
57
- minTrustScore?: number;
58
- limit?: number;
59
- }
60
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,MAAM,iBAAiB,CAAA;AAE/D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,GAAG,CAAA;IACN,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,EAAE,EAAE,YAAY,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,GAAG,CAAA;IACN,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}