@zerox1/client 0.4.2 → 0.4.3

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.
@@ -5,6 +5,7 @@
5
5
  * Does not manage the node binary — use @zerox1/sdk for that.
6
6
  */
7
7
  import type { NodeIdentity, PeerSnapshot, ReputationSnapshot, SendResult, NegotiateResult, SkillMeta, ApiEvent, InboundEnvelope, MsgType } from './types.js';
8
+ import type { BroadcastPayload } from './types.js';
8
9
  export interface NodeClientOptions {
9
10
  /** Node API base URL, e.g. "http://127.0.0.1:9090" or "https://my-node.com" */
10
11
  url: string;
@@ -40,6 +41,12 @@ export interface AcceptParams {
40
41
  amountMicro: bigint;
41
42
  message?: string;
42
43
  }
44
+ export interface BroadcastParams {
45
+ /** Pre-encoded payload bytes. Use `encodeBroadcastPayload()` to build this. */
46
+ payload: BroadcastPayload;
47
+ /** Optional conversation ID for grouping a series of chunks into one episode. */
48
+ conversationId?: string;
49
+ }
43
50
  export declare class NodeClient {
44
51
  private readonly baseUrl;
45
52
  private readonly secret;
@@ -51,6 +58,27 @@ export declare class NodeClient {
51
58
  peers(): Promise<PeerSnapshot[]>;
52
59
  reputation(agentId: string): Promise<ReputationSnapshot>;
53
60
  send(params: SendParams): Promise<SendResult>;
61
+ /**
62
+ * Publish a BROADCAST envelope on gossipsub — no recipient, delivered to all
63
+ * subscribers of the named topic.
64
+ *
65
+ * ```ts
66
+ * await client.broadcast({
67
+ * payload: {
68
+ * topic: 'radio:defi-daily',
69
+ * title: 'Solana DeFi Digest — Ep 42',
70
+ * tags: ['defi', 'solana', 'en'],
71
+ * format: 'audio',
72
+ * content_b64: '<base64 mp3 chunk>',
73
+ * content_type: 'audio/mpeg',
74
+ * chunk_index: 0,
75
+ * duration_ms: 5000,
76
+ * price_per_epoch_micro: 10_000, // 0.01 USDC
77
+ * },
78
+ * })
79
+ * ```
80
+ */
81
+ broadcast(params: BroadcastParams): Promise<SendResult>;
54
82
  propose(params: ProposeParams): Promise<NegotiateResult>;
55
83
  counter(params: CounterParams): Promise<NegotiateResult>;
56
84
  accept(params: AcceptParams): Promise<NegotiateResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClient.d.ts","sourceRoot":"","sources":["../src/NodeClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,OAAO,EACR,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAA;IACX,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,+DAA+D;IAC/D,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,IAAI,EAAE,iBAAiB;IAOnC,OAAO,CAAC,OAAO;YAMD,GAAG;YAMH,IAAI;IAYZ,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIhC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMxD,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAW7C,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAUxD,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAWxD,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAWtD,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAI1D;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAItD,OAAO,CAAC,YAAY;CA+BrB"}
1
+ {"version":3,"file":"NodeClient.d.ts","sourceRoot":"","sources":["../src/NodeClient.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,33 @@ class NodeClient {
59
59
  payload_b64: (0, codec_js_1.bytesToBase64)(params.payload),
60
60
  });
61
61
  }
62
+ /**
63
+ * Publish a BROADCAST envelope on gossipsub — no recipient, delivered to all
64
+ * subscribers of the named topic.
65
+ *
66
+ * ```ts
67
+ * await client.broadcast({
68
+ * payload: {
69
+ * topic: 'radio:defi-daily',
70
+ * title: 'Solana DeFi Digest — Ep 42',
71
+ * tags: ['defi', 'solana', 'en'],
72
+ * format: 'audio',
73
+ * content_b64: '<base64 mp3 chunk>',
74
+ * content_type: 'audio/mpeg',
75
+ * chunk_index: 0,
76
+ * duration_ms: 5000,
77
+ * price_per_epoch_micro: 10_000, // 0.01 USDC
78
+ * },
79
+ * })
80
+ * ```
81
+ */
82
+ async broadcast(params) {
83
+ return this.send({
84
+ msgType: 'BROADCAST',
85
+ conversationId: params.conversationId,
86
+ payload: (0, codec_js_1.encodeBroadcastPayload)(params.payload),
87
+ });
88
+ }
62
89
  // ── Negotiate shortcuts ───────────────────────────────────────────────────
63
90
  async propose(params) {
64
91
  return this.post('/negotiate/propose', {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClient.js","sourceRoot":"","sources":["../src/NodeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeClient.js","sourceRoot":"","sources":["../src/NodeClient.ts"],"names":[],"mappings":"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"}
package/dist/codec.d.ts CHANGED
@@ -1,5 +1,21 @@
1
1
  /**
2
2
  * Codec re-export — all negotiation codec lives in @zerox1/core.
3
+ * BROADCAST codec is defined here as it is client-specific.
3
4
  */
4
5
  export { encodeProposePayload, decodeProposePayload, encodeCounterPayload, decodeCounterPayload, encodeAcceptPayload, decodeAcceptPayload, encodeFeedbackPayload, decodeDeliverPayload, encodeJsonPayload, decodeJsonPayload, newConversationId, bytesToBase64, base64ToBytes, hexToBase64, base64ToHex, } from '@zerox1/core';
6
+ import type { BroadcastPayload } from './types.js';
7
+ /**
8
+ * Encode a BroadcastPayload to Uint8Array (UTF-8 JSON).
9
+ *
10
+ * ```ts
11
+ * const bytes = encodeBroadcastPayload({ topic: 'radio:defi', title: 'EP1', tags: ['defi'], format: 'audio' })
12
+ * await client.broadcast({ payload: bytes, topic: 'radio:defi', ... })
13
+ * ```
14
+ */
15
+ export declare function encodeBroadcastPayload(payload: BroadcastPayload): Uint8Array;
16
+ /**
17
+ * Decode a BroadcastPayload from a base64 string (as received in an inbound envelope).
18
+ * Returns `null` on malformed input — always null-check the result.
19
+ */
20
+ export declare function decodeBroadcastPayload(payloadB64: string): BroadcastPayload | null;
5
21
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAE5E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CASlF"}
package/dist/codec.js CHANGED
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Codec re-export — all negotiation codec lives in @zerox1/core.
4
+ * BROADCAST codec is defined here as it is client-specific.
4
5
  */
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
7
  exports.base64ToHex = exports.hexToBase64 = exports.base64ToBytes = exports.bytesToBase64 = exports.newConversationId = exports.decodeJsonPayload = exports.encodeJsonPayload = exports.decodeDeliverPayload = exports.encodeFeedbackPayload = exports.decodeAcceptPayload = exports.encodeAcceptPayload = exports.decodeCounterPayload = exports.encodeCounterPayload = exports.decodeProposePayload = exports.encodeProposePayload = void 0;
8
+ exports.encodeBroadcastPayload = encodeBroadcastPayload;
9
+ exports.decodeBroadcastPayload = decodeBroadcastPayload;
7
10
  var core_1 = require("@zerox1/core");
8
11
  Object.defineProperty(exports, "encodeProposePayload", { enumerable: true, get: function () { return core_1.encodeProposePayload; } });
9
12
  Object.defineProperty(exports, "decodeProposePayload", { enumerable: true, get: function () { return core_1.decodeProposePayload; } });
@@ -20,4 +23,32 @@ Object.defineProperty(exports, "bytesToBase64", { enumerable: true, get: functio
20
23
  Object.defineProperty(exports, "base64ToBytes", { enumerable: true, get: function () { return core_1.base64ToBytes; } });
21
24
  Object.defineProperty(exports, "hexToBase64", { enumerable: true, get: function () { return core_1.hexToBase64; } });
22
25
  Object.defineProperty(exports, "base64ToHex", { enumerable: true, get: function () { return core_1.base64ToHex; } });
26
+ const core_2 = require("@zerox1/core");
27
+ /**
28
+ * Encode a BroadcastPayload to Uint8Array (UTF-8 JSON).
29
+ *
30
+ * ```ts
31
+ * const bytes = encodeBroadcastPayload({ topic: 'radio:defi', title: 'EP1', tags: ['defi'], format: 'audio' })
32
+ * await client.broadcast({ payload: bytes, topic: 'radio:defi', ... })
33
+ * ```
34
+ */
35
+ function encodeBroadcastPayload(payload) {
36
+ return new TextEncoder().encode(JSON.stringify(payload));
37
+ }
38
+ /**
39
+ * Decode a BroadcastPayload from a base64 string (as received in an inbound envelope).
40
+ * Returns `null` on malformed input — always null-check the result.
41
+ */
42
+ function decodeBroadcastPayload(payloadB64) {
43
+ try {
44
+ const bytes = (0, core_2.base64ToBytes)(payloadB64);
45
+ const obj = JSON.parse(new TextDecoder().decode(bytes));
46
+ if (typeof obj.topic !== 'string' || typeof obj.title !== 'string')
47
+ return null;
48
+ return obj;
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ }
23
54
  //# sourceMappingURL=codec.js.map
package/dist/codec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAgBqB;AAfnB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,2GAAA,mBAAmB,OAAA;AACnB,2GAAA,mBAAmB,OAAA;AACnB,6GAAA,qBAAqB,OAAA;AACrB,4GAAA,oBAAoB,OAAA;AACpB,yGAAA,iBAAiB,OAAA;AACjB,yGAAA,iBAAiB,OAAA;AACjB,yGAAA,iBAAiB,OAAA;AACjB,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,mGAAA,WAAW,OAAA;AACX,mGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA+BH,wDAEC;AAMD,wDASC;AA9CD,qCAgBqB;AAfnB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,2GAAA,mBAAmB,OAAA;AACnB,2GAAA,mBAAmB,OAAA;AACnB,6GAAA,qBAAqB,OAAA;AACrB,4GAAA,oBAAoB,OAAA;AACpB,yGAAA,iBAAiB,OAAA;AACjB,yGAAA,iBAAiB,OAAA;AACjB,yGAAA,iBAAiB,OAAA;AACjB,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,mGAAA,WAAW,OAAA;AACX,mGAAA,WAAW,OAAA;AAGb,uCAA2D;AAG3D;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,OAAyB;IAC9D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,oBAAa,EAAC,UAAU,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/E,OAAO,GAAuB,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -40,13 +40,13 @@
40
40
  * ```
41
41
  */
42
42
  export { NodeClient } from './NodeClient.js';
43
- export type { NodeClientOptions, SendParams, ProposeParams, CounterParams, AcceptParams } from './NodeClient.js';
43
+ export type { NodeClientOptions, SendParams, ProposeParams, CounterParams, AcceptParams, BroadcastParams } from './NodeClient.js';
44
44
  export { HostedFleet, HostedAgent, Conversation, MultiFleet } from './HostedFleet.js';
45
45
  export type { HostedFleetOptions, HostedAgentOptions, HostedSendParams, TokenStore, MultiFleetOptions } from './HostedFleet.js';
46
46
  export { AggregatorClient } from './AggregatorClient.js';
47
47
  export type { AggregatorClientOptions } from './AggregatorClient.js';
48
- export { encodeProposePayload, decodeProposePayload, encodeCounterPayload, decodeCounterPayload, encodeAcceptPayload, decodeAcceptPayload, encodeFeedbackPayload, decodeDeliverPayload, encodeJsonPayload, decodeJsonPayload, newConversationId, bytesToBase64, base64ToBytes, hexToBase64, base64ToHex, } from './codec.js';
49
- export type { NegotiationMsgType, MsgType, InboundEnvelope, FeedbackPayload, NotarizeBidPayload, DeliverPayload, ProposePayload, CounterPayload, AcceptPayload, NodeIdentity, PeerSnapshot, ReputationSnapshot, SendResult, NegotiateResult, SkillMeta, ApiEvent, AgentRecord, AgentProfile, ActivityEvent, NetworkStats, HostingNode, AgentsParams, ActivityParams, } from './types.js';
48
+ export { encodeProposePayload, decodeProposePayload, encodeCounterPayload, decodeCounterPayload, encodeAcceptPayload, decodeAcceptPayload, encodeFeedbackPayload, decodeDeliverPayload, encodeJsonPayload, decodeJsonPayload, newConversationId, bytesToBase64, base64ToBytes, hexToBase64, base64ToHex, encodeBroadcastPayload, decodeBroadcastPayload, } from './codec.js';
49
+ export type { NegotiationMsgType, MsgType, InboundEnvelope, FeedbackPayload, NotarizeBidPayload, DeliverPayload, ProposePayload, CounterPayload, AcceptPayload, NodeIdentity, PeerSnapshot, ReputationSnapshot, SendResult, NegotiateResult, SkillMeta, ApiEvent, AgentRecord, AgentProfile, ActivityEvent, NetworkStats, HostingNode, AgentsParams, ActivityParams, BroadcastPayload, } from './types.js';
50
50
  /** Public aggregator URL. Override with your own or enterprise aggregator. */
51
51
  export declare const PUBLIC_AGGREGATOR_URL = "https://agg.0x01.world";
52
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEhH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACrF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAE/H,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAA;AAEnB,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjI,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACrF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAE/H,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,2BAA2B,CAAA"}
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@
41
41
  * ```
42
42
  */
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.PUBLIC_AGGREGATOR_URL = exports.base64ToHex = exports.hexToBase64 = exports.base64ToBytes = exports.bytesToBase64 = exports.newConversationId = exports.decodeJsonPayload = exports.encodeJsonPayload = exports.decodeDeliverPayload = exports.encodeFeedbackPayload = exports.decodeAcceptPayload = exports.encodeAcceptPayload = exports.decodeCounterPayload = exports.encodeCounterPayload = exports.decodeProposePayload = exports.encodeProposePayload = exports.AggregatorClient = exports.MultiFleet = exports.Conversation = exports.HostedAgent = exports.HostedFleet = exports.NodeClient = void 0;
44
+ exports.PUBLIC_AGGREGATOR_URL = exports.decodeBroadcastPayload = exports.encodeBroadcastPayload = exports.base64ToHex = exports.hexToBase64 = exports.base64ToBytes = exports.bytesToBase64 = exports.newConversationId = exports.decodeJsonPayload = exports.encodeJsonPayload = exports.decodeDeliverPayload = exports.encodeFeedbackPayload = exports.decodeAcceptPayload = exports.encodeAcceptPayload = exports.decodeCounterPayload = exports.encodeCounterPayload = exports.decodeProposePayload = exports.encodeProposePayload = exports.AggregatorClient = exports.MultiFleet = exports.Conversation = exports.HostedAgent = exports.HostedFleet = exports.NodeClient = void 0;
45
45
  var NodeClient_js_1 = require("./NodeClient.js");
46
46
  Object.defineProperty(exports, "NodeClient", { enumerable: true, get: function () { return NodeClient_js_1.NodeClient; } });
47
47
  var HostedFleet_js_1 = require("./HostedFleet.js");
@@ -67,6 +67,8 @@ Object.defineProperty(exports, "bytesToBase64", { enumerable: true, get: functio
67
67
  Object.defineProperty(exports, "base64ToBytes", { enumerable: true, get: function () { return codec_js_1.base64ToBytes; } });
68
68
  Object.defineProperty(exports, "hexToBase64", { enumerable: true, get: function () { return codec_js_1.hexToBase64; } });
69
69
  Object.defineProperty(exports, "base64ToHex", { enumerable: true, get: function () { return codec_js_1.base64ToHex; } });
70
+ Object.defineProperty(exports, "encodeBroadcastPayload", { enumerable: true, get: function () { return codec_js_1.encodeBroadcastPayload; } });
71
+ Object.defineProperty(exports, "decodeBroadcastPayload", { enumerable: true, get: function () { return codec_js_1.decodeBroadcastPayload; } });
70
72
  /** Public aggregator URL. Override with your own or enterprise aggregator. */
71
73
  exports.PUBLIC_AGGREGATOR_URL = 'https://agg.0x01.world';
72
74
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEH,iDAA4C;AAAnC,2GAAA,UAAU,OAAA;AAGnB,mDAAqF;AAA5E,6GAAA,WAAW,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,4GAAA,UAAU,OAAA;AAG3D,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AAGzB,uCAgBmB;AAfjB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AA6Bb,8EAA8E;AACjE,QAAA,qBAAqB,GAAG,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEH,iDAA4C;AAAnC,2GAAA,UAAU,OAAA;AAGnB,mDAAqF;AAA5E,6GAAA,WAAW,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,4GAAA,UAAU,OAAA;AAG3D,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AAGzB,uCAkBmB;AAjBjB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AA8BxB,8EAA8E;AACjE,QAAA,qBAAqB,GAAG,wBAAwB,CAAA"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import type { NegotiationMsgType, InboundEnvelope as CoreInboundEnvelope, AgentRecord as CoreAgentRecord, AgentsParams as CoreAgentsParams, NotarizeBidPayload } from '@zerox1/core';
6
6
  /** Full public mesh message type — negotiation + system messages. */
7
- export type MsgType = NegotiationMsgType | 'VERDICT' | 'ADVERTISE' | 'DISCOVER' | 'BEACON' | 'NOTARIZE_BID' | 'NOTARIZE_ASSIGN';
7
+ export type MsgType = NegotiationMsgType | 'VERDICT' | 'ADVERTISE' | 'DISCOVER' | 'BEACON' | 'NOTARIZE_BID' | 'NOTARIZE_ASSIGN' | 'BROADCAST';
8
8
  /**
9
9
  * Public mesh inbound envelope.
10
10
  *
@@ -50,5 +50,42 @@ export interface AgentsParams extends CoreAgentsParams {
50
50
  country?: string;
51
51
  capabilities?: string;
52
52
  }
53
+ /**
54
+ * Payload for a BROADCAST envelope — one-to-many gossipsub publish.
55
+ *
56
+ * A BROADCAST carries a named `topic` that listener agents subscribe to.
57
+ * Content can be a streaming audio chunk, a text post, or arbitrary data.
58
+ * The envelope has no `recipient` field — it is delivered to all subscribers.
59
+ *
60
+ * Typical radio use:
61
+ * - Producer agent publishes successive chunks with `chunk_index` counting up.
62
+ * - Listener agents match on `topic` + `tags` and relay audio to the app.
63
+ * - `price_per_epoch_micro` signals the subscription cost; payment is handled
64
+ * out-of-band via a standard PROPOSE/ACCEPT negotiation.
65
+ */
66
+ export interface BroadcastPayload {
67
+ /** Named gossipsub topic, e.g. "radio:defi-daily" or "data:sol-price". */
68
+ topic: string;
69
+ /** Human-readable title for this episode / content item. */
70
+ title: string;
71
+ /** Discovery tags: capability names, language codes, genre, etc. */
72
+ tags: string[];
73
+ /** Content format. */
74
+ format: 'audio' | 'text' | 'data';
75
+ /** Base64-encoded content chunk. Omit for metadata-only announces. */
76
+ content_b64?: string;
77
+ /** MIME type of content, e.g. "audio/mpeg" or "text/plain". */
78
+ content_type?: string;
79
+ /** For streaming: zero-based chunk index within the current episode. */
80
+ chunk_index?: number;
81
+ /** Total number of chunks in the episode if known upfront. */
82
+ total_chunks?: number;
83
+ /** Duration of this audio chunk in milliseconds. */
84
+ duration_ms?: number;
85
+ /** Subscription price in USDC micro (1 USDC = 1_000_000). */
86
+ price_per_epoch_micro?: number;
87
+ /** Monotonic epoch / sequence number for ordering. */
88
+ epoch?: number;
89
+ }
53
90
  export type { NegotiationMsgType, FeedbackPayload, NotarizeBidPayload, DeliverPayload, ProposePayload, CounterPayload, AcceptPayload, NodeIdentity, PeerSnapshot, SendResult, NegotiateResult, SkillMeta, ApiEvent, ActivityEvent, NetworkStats, HostingNode, ActivityParams, } from '@zerox1/core';
54
91
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,IAAI,mBAAmB,EACtC,WAAW,IAAI,eAAe,EAC9B,YAAY,IAAI,gBAAgB,EAChC,kBAAkB,EACnB,MAAM,cAAc,CAAA;AAIrB,qEAAqE;AACrE,MAAM,MAAM,OAAO,GACf,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,cAAc,GACd,iBAAiB,CAAA;AAErB;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG;IAC3D,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAAA;AAID,qEAAqE;AACrE,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAID,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,IAAI,mBAAmB,EACtC,WAAW,IAAI,eAAe,EAC9B,YAAY,IAAI,gBAAgB,EAChC,kBAAkB,EACnB,MAAM,cAAc,CAAA;AAIrB,qEAAqE;AACrE,MAAM,MAAM,OAAO,GACf,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,cAAc,GACd,iBAAiB,GACjB,WAAW,CAAA;AAEf;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG;IAC3D,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAAA;AAID,qEAAqE;AACrE,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sBAAsB;IACtB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;IACjC,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAID,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerox1/client",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "0x01 app-layer client SDK — talk to nodes and the aggregator without running an agent",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,15 +9,7 @@
9
9
  "directory": "packages/client"
10
10
  },
11
11
  "homepage": "https://0x01.world",
12
- "keywords": [
13
- "zerox1",
14
- "0x01",
15
- "agent",
16
- "mesh",
17
- "p2p",
18
- "sdk",
19
- "hosted"
20
- ],
12
+ "keywords": ["zerox1", "0x01", "agent", "mesh", "p2p", "sdk", "hosted"],
21
13
  "main": "./dist/index.js",
22
14
  "types": "./dist/index.d.ts",
23
15
  "exports": {
@@ -36,7 +28,7 @@
36
28
  },
37
29
  "dependencies": {
38
30
  "ws": "^8.18.0",
39
- "@zerox1/core": "0.4.2"
31
+ "@zerox1/core": "^0.1.0"
40
32
  },
41
33
  "devDependencies": {
42
34
  "@types/node": "^20.0.0",