oceanbus 0.1.7 → 0.2.1

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 (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +170 -171
  3. package/bin/oceanbus.js +28 -28
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +3 -6
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/loader.d.ts.map +1 -1
  8. package/dist/config/loader.js +0 -3
  9. package/dist/config/loader.js.map +1 -1
  10. package/dist/crypto/ed25519.d.ts +6 -0
  11. package/dist/crypto/ed25519.d.ts.map +1 -1
  12. package/dist/crypto/ed25519.js +46 -18
  13. package/dist/crypto/ed25519.js.map +1 -1
  14. package/dist/crypto/index.d.ts +1 -1
  15. package/dist/crypto/index.d.ts.map +1 -1
  16. package/dist/crypto/index.js +3 -1
  17. package/dist/crypto/index.js.map +1 -1
  18. package/dist/index.d.ts +12 -10
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +24 -31
  21. package/dist/index.js.map +1 -1
  22. package/dist/l1/base-client.d.ts.map +1 -1
  23. package/dist/l1/base-client.js +8 -2
  24. package/dist/l1/base-client.js.map +1 -1
  25. package/dist/l1/dispatcher.d.ts +2 -0
  26. package/dist/l1/dispatcher.d.ts.map +1 -1
  27. package/dist/l1/dispatcher.js +12 -0
  28. package/dist/l1/dispatcher.js.map +1 -1
  29. package/dist/l1/index.d.ts +1 -0
  30. package/dist/l1/index.d.ts.map +1 -1
  31. package/dist/l1/index.js.map +1 -1
  32. package/dist/l1/yellow-pages.d.ts +38 -8
  33. package/dist/l1/yellow-pages.d.ts.map +1 -1
  34. package/dist/l1/yellow-pages.js +138 -38
  35. package/dist/l1/yellow-pages.js.map +1 -1
  36. package/dist/types/config.d.ts +0 -6
  37. package/dist/types/config.d.ts.map +1 -1
  38. package/dist/types/l1.d.ts +17 -7
  39. package/dist/types/l1.d.ts.map +1 -1
  40. package/dist/types/l1.js +12 -0
  41. package/dist/types/l1.js.map +1 -1
  42. package/package.json +52 -52
  43. package/dist/quota/index.d.ts +0 -2
  44. package/dist/quota/index.d.ts.map +0 -1
  45. package/dist/quota/index.js +0 -6
  46. package/dist/quota/index.js.map +0 -1
  47. package/dist/quota/manager.d.ts +0 -25
  48. package/dist/quota/manager.d.ts.map +0 -1
  49. package/dist/quota/manager.js +0 -118
  50. package/dist/quota/manager.js.map +0 -1
@@ -2,34 +2,87 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.YellowPagesClient = void 0;
4
4
  const base_client_1 = require("./base-client");
5
+ const l1_1 = require("../types/l1");
5
6
  const errors_1 = require("../client/errors");
7
+ const idgen_1 = require("../messaging/idgen");
6
8
  const DEFAULT_HEARTBEAT_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes (real-time services)
7
9
  class YellowPagesClient extends base_client_1.L1Client {
8
10
  heartbeatTimer = null;
9
11
  heartbeatIntervalMs;
10
12
  heartbeatOpenid = null;
11
- heartbeatSig = null;
13
+ heartbeatSigner = null;
14
+ onHeartbeatError = null;
15
+ // ── Stored identity — set once, skip openid/signer on every call ──
16
+ defaultOpenid = null;
17
+ defaultSigner = null;
18
+ defaultPublicKey = null;
12
19
  constructor(sendFn, serviceOpenid, dispatcher, requestTimeoutMs = 30000, heartbeatIntervalMs = DEFAULT_HEARTBEAT_INTERVAL_MS) {
13
20
  super(sendFn, serviceOpenid, dispatcher, requestTimeoutMs);
14
21
  this.heartbeatIntervalMs = heartbeatIntervalMs;
15
22
  }
16
- async registerService(openid, tags, description, publicKey, sig) {
23
+ // ── identity management ──
24
+ /** Store default identity so subsequent calls can omit openid/signer. */
25
+ setIdentity(openid, signer, publicKey) {
26
+ this.defaultOpenid = openid;
27
+ this.defaultSigner = signer;
28
+ if (publicKey !== undefined)
29
+ this.defaultPublicKey = publicKey;
30
+ }
31
+ /** Clear stored identity. */
32
+ clearIdentity() {
33
+ this.defaultOpenid = null;
34
+ this.defaultSigner = null;
35
+ this.defaultPublicKey = null;
36
+ }
37
+ hasIdentity() {
38
+ return this.defaultOpenid !== null && this.defaultSigner !== null;
39
+ }
40
+ resolveIdentity(openid, signer) {
41
+ const resolvedOpenid = openid ?? this.defaultOpenid;
42
+ const resolvedSigner = signer ?? this.defaultSigner;
43
+ if (!resolvedOpenid || !resolvedSigner) {
44
+ throw new errors_1.OceanBusError('openid and signer are required — call setIdentity() or pass them explicitly');
45
+ }
46
+ return { openid: resolvedOpenid, signer: resolvedSigner };
47
+ }
48
+ async registerService(openidOrTags, tagsOrDesc, descOrPubKey, pubKeyOrSigner, signerOrNothing) {
49
+ let openid;
50
+ let tags;
51
+ let description;
52
+ let publicKey;
53
+ let signer;
54
+ if (Array.isArray(openidOrTags)) {
55
+ // Short form: registerService(tags, description, publicKey?)
56
+ tags = openidOrTags;
57
+ description = tagsOrDesc;
58
+ publicKey = descOrPubKey ?? this.defaultPublicKey ?? '';
59
+ ({ openid, signer } = this.resolveIdentity());
60
+ }
61
+ else {
62
+ // Long form: registerService(openid, tags, description, publicKey, signer)
63
+ openid = openidOrTags;
64
+ tags = tagsOrDesc;
65
+ description = descOrPubKey;
66
+ publicKey = pubKeyOrSigner;
67
+ signer = signerOrNothing;
68
+ }
17
69
  const totalTagChars = tags.reduce((sum, t) => sum + t.length, 0);
18
70
  if (totalTagChars > 120)
19
71
  throw new errors_1.OceanBusError('Tags total character count exceeds 120');
20
- if (description.length > 2000)
21
- throw new errors_1.OceanBusError('Description exceeds 2000 characters');
22
- const request = {
23
- ...this.buildRequest('register_service'),
72
+ if (description.length > 800)
73
+ throw new errors_1.OceanBusError('Description exceeds 800 characters');
74
+ const payload = {
24
75
  action: 'register_service',
76
+ request_id: (0, idgen_1.generateRequestId)(),
25
77
  openid,
26
78
  tags,
27
79
  description,
28
80
  public_key: publicKey,
29
- sig,
30
81
  };
31
- return this.sendAction(request);
82
+ const sig = await signer(payload);
83
+ return this.sendAction({ ...payload, sig });
32
84
  }
85
+ // ── discover (read-only, no signature needed) ──
33
86
  async discover(tags, limit, cursor) {
34
87
  const request = {
35
88
  ...this.buildRequest('discover'),
@@ -38,33 +91,61 @@ class YellowPagesClient extends base_client_1.L1Client {
38
91
  limit,
39
92
  cursor,
40
93
  };
41
- return this.sendAction(request);
94
+ const response = await this.sendAction(request);
95
+ if (response.code === l1_1.YP_CODE.OK && response.data) {
96
+ const d = response.data;
97
+ if (!Array.isArray(d.entries)) {
98
+ throw new errors_1.OceanBusError('Yellow Pages discover response missing entries array');
99
+ }
100
+ }
101
+ return response;
42
102
  }
43
- async heartbeat(openid, sig) {
44
- const request = {
45
- ...this.buildRequest('heartbeat'),
103
+ async heartbeat(openid, signer) {
104
+ const resolved = this.resolveIdentity(openid, signer);
105
+ const payload = {
46
106
  action: 'heartbeat',
47
- openid,
48
- sig,
107
+ request_id: (0, idgen_1.generateRequestId)(),
108
+ openid: resolved.openid,
49
109
  };
50
- return this.sendAction(request);
110
+ const sig = await resolved.signer(payload);
111
+ return this.sendAction({ ...payload, sig });
51
112
  }
52
- startHeartbeat(openid, sig) {
53
- if (this.heartbeatIntervalMs <= 0) {
113
+ startHeartbeat(openidOrOptions, signer, options) {
114
+ let openid;
115
+ let resolvedSigner;
116
+ let resolvedOptions;
117
+ if (typeof openidOrOptions === 'string') {
118
+ // Long form
119
+ openid = openidOrOptions;
120
+ resolvedSigner = signer;
121
+ resolvedOptions = options || {};
122
+ }
123
+ else {
124
+ // Short form
125
+ const resolved = this.resolveIdentity();
126
+ openid = resolved.openid;
127
+ resolvedSigner = resolved.signer;
128
+ resolvedOptions = openidOrOptions || {};
129
+ }
130
+ const intervalMs = resolvedOptions.intervalMs ?? this.heartbeatIntervalMs;
131
+ if (intervalMs <= 0) {
54
132
  throw new errors_1.OceanBusError('Heartbeat interval must be > 0 to enable auto-heartbeat');
55
133
  }
56
134
  this.stopHeartbeat();
57
135
  this.heartbeatOpenid = openid;
58
- this.heartbeatSig = sig;
136
+ this.heartbeatSigner = resolvedSigner;
137
+ this.onHeartbeatError = resolvedOptions.onError || null;
138
+ const effectiveIntervalMs = intervalMs;
59
139
  this.heartbeatTimer = setInterval(async () => {
60
140
  try {
61
- await this.heartbeat(openid, sig);
141
+ await this.heartbeat(openid, resolvedSigner);
62
142
  }
63
- catch {
64
- // Heartbeat failures are non-fatal — the Yellow Pages only records
65
- // last_heartbeat time and consumer AI decides freshness
143
+ catch (e) {
144
+ if (this.onHeartbeatError) {
145
+ this.onHeartbeatError(e instanceof Error ? e : new Error(String(e)));
146
+ }
66
147
  }
67
- }, this.heartbeatIntervalMs);
148
+ }, effectiveIntervalMs);
68
149
  }
69
150
  stopHeartbeat() {
70
151
  if (this.heartbeatTimer) {
@@ -72,33 +153,52 @@ class YellowPagesClient extends base_client_1.L1Client {
72
153
  this.heartbeatTimer = null;
73
154
  }
74
155
  this.heartbeatOpenid = null;
75
- this.heartbeatSig = null;
156
+ this.heartbeatSigner = null;
157
+ this.onHeartbeatError = null;
76
158
  }
77
159
  isHeartbeating() {
78
160
  return this.heartbeatTimer !== null;
79
161
  }
80
- async updateService(openid, sig, tags, description) {
81
- const request = {
82
- ...this.buildRequest('update_service'),
162
+ async updateService(openidOrTags, signerOrDesc, tagsOrNothing, description) {
163
+ let openid;
164
+ let signer;
165
+ let tags;
166
+ let desc;
167
+ if (typeof openidOrTags === 'string' && typeof signerOrDesc === 'function') {
168
+ // Long form: updateService(openid, signer, tags?, description?)
169
+ openid = openidOrTags;
170
+ signer = signerOrDesc;
171
+ tags = tagsOrNothing;
172
+ desc = description;
173
+ }
174
+ else {
175
+ // Short form: updateService(tags?, description?)
176
+ ({ openid, signer } = this.resolveIdentity());
177
+ tags = openidOrTags;
178
+ desc = signerOrDesc;
179
+ }
180
+ const payload = {
83
181
  action: 'update_service',
182
+ request_id: (0, idgen_1.generateRequestId)(),
84
183
  openid,
85
- sig,
86
184
  };
87
185
  if (tags !== undefined)
88
- request.tags = tags;
89
- if (description !== undefined)
90
- request.description = description;
91
- return this.sendAction(request);
186
+ payload.tags = tags;
187
+ if (desc !== undefined)
188
+ payload.description = desc;
189
+ const sig = await signer(payload);
190
+ return this.sendAction({ ...payload, sig });
92
191
  }
93
- async deregisterService(openid, sig) {
192
+ async deregisterService(openid, signer) {
94
193
  this.stopHeartbeat();
95
- const request = {
96
- ...this.buildRequest('deregister_service'),
194
+ const resolved = this.resolveIdentity(openid, signer);
195
+ const payload = {
97
196
  action: 'deregister_service',
98
- openid,
99
- sig,
197
+ request_id: (0, idgen_1.generateRequestId)(),
198
+ openid: resolved.openid,
100
199
  };
101
- return this.sendAction(request);
200
+ const sig = await resolved.signer(payload);
201
+ return this.sendAction({ ...payload, sig });
102
202
  }
103
203
  }
104
204
  exports.YellowPagesClient = YellowPagesClient;
@@ -1 +1 @@
1
- {"version":3,"file":"yellow-pages.js","sourceRoot":"","sources":["../../src/l1/yellow-pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yellow-pages.js","sourceRoot":"","sources":["../../src/l1/yellow-pages.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,6 @@ export interface L1Config {
27
27
  export interface InterceptorConfig {
28
28
  enabled: boolean;
29
29
  }
30
- export interface QuotaConfig {
31
- enforceLocal: boolean;
32
- dailyLimit: number;
33
- dailyLimitWarnThreshold: number;
34
- }
35
30
  export interface OceanBusConfig {
36
31
  baseUrl: string;
37
32
  identity?: {
@@ -43,7 +38,6 @@ export interface OceanBusConfig {
43
38
  mailbox: MailboxConfig;
44
39
  l1: L1Config;
45
40
  interceptor: InterceptorConfig;
46
- quota: QuotaConfig;
47
41
  }
48
42
  type DeepPartial<T> = T extends object ? {
49
43
  [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends object ? DeepPartial<T[P]> : T[P];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;KACtC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAClE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjD,GAAG,CAAC,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG;IACxD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;KACtC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAClE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjD,GAAG,CAAC,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG;IACxD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC"}
@@ -4,6 +4,10 @@ export interface L1Request {
4
4
  sig?: string;
5
5
  [key: string]: unknown;
6
6
  }
7
+ /** L1Request with signature attached — used for all mutating operations after signing */
8
+ export interface SignedL1Request extends L1Request {
9
+ sig: string;
10
+ }
7
11
  export interface L1Response<T = unknown> {
8
12
  code: number;
9
13
  request_id: string;
@@ -11,13 +15,25 @@ export interface L1Response<T = unknown> {
11
15
  error?: string;
12
16
  msg?: string;
13
17
  }
18
+ /** Yellow Pages response codes */
19
+ export declare const YP_CODE: {
20
+ readonly OK: 0;
21
+ readonly SIG_INVALID: 1001;
22
+ readonly OPENID_EXISTS: 1002;
23
+ readonly MISSING_FIELDS: 1003;
24
+ readonly TAGS_TOO_LONG: 1004;
25
+ readonly DESCRIPTION_TOO_LONG: 1005;
26
+ readonly UUID_EXISTS: 1006;
27
+ readonly ENTRY_NOT_FOUND: 1007;
28
+ };
29
+ export type YpCode = (typeof YP_CODE)[keyof typeof YP_CODE];
14
30
  export interface YpEntry {
15
31
  openid: string;
16
32
  tags: string[];
17
33
  description: string;
18
34
  registered_at?: string;
35
+ updated_at?: string;
19
36
  last_heartbeat?: string;
20
- certificate?: unknown;
21
37
  }
22
38
  export interface YpDiscoverRequest extends L1Request {
23
39
  action: 'discover';
@@ -25,12 +41,6 @@ export interface YpDiscoverRequest extends L1Request {
25
41
  limit?: number;
26
42
  cursor?: string | null;
27
43
  }
28
- export interface YpDiscoverResponse extends L1Response<{
29
- entries: YpEntry[];
30
- total: number;
31
- next_cursor: string | null;
32
- }> {
33
- }
34
44
  export interface YpRegisterRequest extends L1Request {
35
45
  action: 'register_service';
36
46
  openid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"l1.d.ts","sourceRoot":"","sources":["../../src/types/l1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l1.d.ts","sourceRoot":"","sources":["../../src/types/l1.ts"],"names":[],"mappings":"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"}
package/dist/types/l1.js CHANGED
@@ -2,4 +2,16 @@
2
2
  // L1 service communication protocol
3
3
  // All L1 services are OceanBus agents — they communicate via L0 messaging
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.YP_CODE = void 0;
6
+ /** Yellow Pages response codes */
7
+ exports.YP_CODE = {
8
+ OK: 0,
9
+ SIG_INVALID: 1001,
10
+ OPENID_EXISTS: 1002,
11
+ MISSING_FIELDS: 1003,
12
+ TAGS_TOO_LONG: 1004,
13
+ DESCRIPTION_TOO_LONG: 1005,
14
+ UUID_EXISTS: 1006,
15
+ ENTRY_NOT_FOUND: 1007,
16
+ };
5
17
  //# sourceMappingURL=l1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"l1.js","sourceRoot":"","sources":["../../src/types/l1.ts"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,0EAA0E"}
1
+ {"version":3,"file":"l1.js","sourceRoot":"","sources":["../../src/types/l1.ts"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,0EAA0E;;;AAsB1E,kCAAkC;AACrB,QAAA,OAAO,GAAG;IACrB,EAAE,EAAE,CAAC;IACL,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;CACb,CAAC"}
package/package.json CHANGED
@@ -1,52 +1,52 @@
1
- {
2
- "name": "oceanbus",
3
- "version": "0.1.7",
4
- "description": "OceanBus AI Agent Communication & Trust Infrastructure SDK",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "oceanbus": "./bin/oceanbus.js"
9
- },
10
- "scripts": {
11
- "build": "tsc",
12
- "dev": "tsc --watch",
13
- "test": "npm run test:unit && npm run test:e2e",
14
- "test:unit": "jest",
15
- "test:e2e": "node test/integration/run-all.mjs"
16
- },
17
- "keywords": [
18
- "oceanbus",
19
- "agent",
20
- "ai-agent",
21
- "messaging",
22
- "anti-fraud",
23
- "trust",
24
- "reputation",
25
- "secure-chat",
26
- "identity",
27
- "e2ee"
28
- ],
29
- "license": "MIT",
30
- "files": [
31
- "dist/",
32
- "bin/",
33
- "README.md",
34
- "LICENSE"
35
- ],
36
- "dependencies": {
37
- "@noble/ed25519": "^2.1.0",
38
- "@noble/hashes": "^1.7.0",
39
- "superagent": "^10.3.0",
40
- "yargs": "^17.7.0"
41
- },
42
- "devDependencies": {
43
- "@jest/globals": "^30.3.0",
44
- "@types/jest": "^30.0.0",
45
- "@types/node": "^22.0.0",
46
- "@types/superagent": "^8.1.0",
47
- "@types/yargs": "^17.0.0",
48
- "jest": "^30.3.0",
49
- "ts-jest": "^29.4.9",
50
- "typescript": "^5.7.0"
51
- }
52
- }
1
+ {
2
+ "name": "oceanbus",
3
+ "version": "0.2.1",
4
+ "description": "OceanBus AI Agent Communication & Trust Infrastructure SDK",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "oceanbus": "./bin/oceanbus.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "test": "npm run test:unit && npm run test:e2e",
14
+ "test:unit": "jest",
15
+ "test:e2e": "node test/integration/run-all.mjs"
16
+ },
17
+ "keywords": [
18
+ "oceanbus",
19
+ "agent",
20
+ "ai-agent",
21
+ "messaging",
22
+ "anti-fraud",
23
+ "trust",
24
+ "reputation",
25
+ "secure-chat",
26
+ "identity",
27
+ "e2ee"
28
+ ],
29
+ "license": "MIT",
30
+ "files": [
31
+ "dist/",
32
+ "bin/",
33
+ "README.md",
34
+ "LICENSE"
35
+ ],
36
+ "dependencies": {
37
+ "@noble/ed25519": "^2.1.0",
38
+ "@noble/hashes": "^1.7.0",
39
+ "superagent": "^10.3.0",
40
+ "yargs": "^17.7.0"
41
+ },
42
+ "devDependencies": {
43
+ "@jest/globals": "^30.3.0",
44
+ "@types/jest": "^30.0.0",
45
+ "@types/node": "^22.0.0",
46
+ "@types/superagent": "^8.1.0",
47
+ "@types/yargs": "^17.0.0",
48
+ "jest": "^30.3.0",
49
+ "ts-jest": "^29.4.9",
50
+ "typescript": "^5.7.0"
51
+ }
52
+ }
@@ -1,2 +0,0 @@
1
- export { QuotaManager } from './manager';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QuotaManager = void 0;
4
- var manager_1 = require("./manager");
5
- Object.defineProperty(exports, "QuotaManager", { enumerable: true, get: function () { return manager_1.QuotaManager; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quota/index.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AAAhC,uGAAA,YAAY,OAAA"}
@@ -1,25 +0,0 @@
1
- export declare class QuotaManager {
2
- private filePath;
3
- private dailyCount;
4
- private date;
5
- private warnThreshold;
6
- private dailyLimit;
7
- private lock;
8
- constructor(filePath?: string, warnThreshold?: number, dailyLimit?: number);
9
- load(): Promise<void>;
10
- save(): Promise<void>;
11
- private resetIfNewDay;
12
- checkAndIncrement(): Promise<{
13
- allowed: boolean;
14
- remaining: number;
15
- warning: boolean;
16
- }>;
17
- getUsage(): {
18
- used: number;
19
- limit: number;
20
- remaining: number;
21
- };
22
- setLimit(limit: number): void;
23
- reset(): Promise<void>;
24
- }
25
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/quota/manager.ts"],"names":[],"mappings":"AAIA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAoC;gBAEpC,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,MAAY,EAAE,UAAU,GAAE,MAAY;IAM9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,OAAO,CAAC,aAAa;IAQf,iBAAiB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA6B7F,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAS9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}