@cotal-ai/connector-hermes 0.9.0 → 0.9.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/connector-hermes",
3
3
  "description": "Cotal connector for the Hermes (Nous Research) agent.",
4
- "version": "0.9.0",
4
+ "version": "0.9.1",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -23,14 +23,14 @@
23
23
  "dependencies": {
24
24
  "tsx": "^4.22.4",
25
25
  "zod": "^4.4.3",
26
- "@cotal-ai/connector-core": "0.9.0"
26
+ "@cotal-ai/connector-core": "0.9.1"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "@cotal-ai/core": ">=0.1.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "esbuild": "^0.28.0",
33
- "@cotal-ai/core": "0.9.0"
33
+ "@cotal-ai/core": "0.9.1"
34
34
  },
35
35
  "files": [
36
36
  "bin",
@@ -16617,7 +16617,56 @@ var SYS_LIMITS = { ...BASE_LIMITS, mem_storage: 0, disk_storage: 0 };
16617
16617
  // ../../packages/core/dist/streams.js
16618
16618
  var import_jetstream = __toESM(require_mod4(), 1);
16619
16619
  var import_transport_node = __toESM(require_transport_node(), 1);
16620
+ var import_kv2 = __toESM(require_mod6(), 1);
16621
+
16622
+ // ../../packages/core/dist/acls.js
16620
16623
  var import_kv = __toESM(require_mod6(), 1);
16624
+ async function openAclRegistry(nc, space, opts = {}) {
16625
+ const kvm = new import_kv.Kvm(nc);
16626
+ return opts.create ? kvm.create(aclBucket(space)) : kvm.open(aclBucket(space));
16627
+ }
16628
+ async function readAcl(kv, owner) {
16629
+ const e = await kv.get(aclKey(owner));
16630
+ if (!e || e.operation === "DEL" || e.operation === "PURGE")
16631
+ return void 0;
16632
+ try {
16633
+ const record2 = e.json();
16634
+ if (!Array.isArray(record2.allowSubscribe))
16635
+ return void 0;
16636
+ return { record: record2, revision: e.revision };
16637
+ } catch {
16638
+ return void 0;
16639
+ }
16640
+ }
16641
+ async function commitAcl(kv, owner, allowSubscribe) {
16642
+ const key = aclKey(owner);
16643
+ for (let attempt = 0; attempt < 5; attempt++) {
16644
+ const cur = await readAcl(kv, owner);
16645
+ const next = {
16646
+ allowSubscribe: [...allowSubscribe],
16647
+ revision: (cur?.record.revision ?? 0) + 1,
16648
+ updatedAt: Date.now()
16649
+ };
16650
+ const data = new TextEncoder().encode(JSON.stringify(next));
16651
+ if (!cur) {
16652
+ try {
16653
+ await kv.create(key, data);
16654
+ return next;
16655
+ } catch {
16656
+ continue;
16657
+ }
16658
+ }
16659
+ try {
16660
+ await kv.update(key, data, cur.revision);
16661
+ return next;
16662
+ } catch {
16663
+ continue;
16664
+ }
16665
+ }
16666
+ throw new Error(`acl CAS exhausted retries for ${owner}`);
16667
+ }
16668
+
16669
+ // ../../packages/core/dist/streams.js
16621
16670
  var MAX_MSGS_PER_SUBJECT = 1e3;
16622
16671
  var PLANE3_DEDUP_WINDOW_MS = 2 * 60 * 60 * 1e3;
16623
16672
  var DINBOX_MAX_ACK_PENDING = 1e3;
@@ -16723,7 +16772,7 @@ function fanoutDurableConfig(space, opts = {}) {
16723
16772
  }
16724
16773
 
16725
16774
  // ../../packages/core/dist/channels.js
16726
- var import_kv2 = __toESM(require_mod6(), 1);
16775
+ var import_kv3 = __toESM(require_mod6(), 1);
16727
16776
  var import_transport_node2 = __toESM(require_transport_node(), 1);
16728
16777
  function parseDuration(s) {
16729
16778
  const m = /^(\d+)(s|m|h|d)$/.exec(s.trim());
@@ -16744,7 +16793,7 @@ function effectiveDeliveryClass(cfg, defaults) {
16744
16793
  return cfg?.deliveryClass ?? defaults?.deliveryClass ?? "durable";
16745
16794
  }
16746
16795
  async function openChannelRegistry(nc, space, opts = {}) {
16747
- const kvm = new import_kv2.Kvm(nc);
16796
+ const kvm = new import_kv3.Kvm(nc);
16748
16797
  return opts.create ? kvm.create(channelBucket(space)) : kvm.open(channelBucket(space));
16749
16798
  }
16750
16799
  async function readChannelConfig(kv, channel) {
@@ -16765,7 +16814,7 @@ async function decode(kv, key) {
16765
16814
  }
16766
16815
 
16767
16816
  // ../../packages/core/dist/members.js
16768
- var import_kv3 = __toESM(require_mod6(), 1);
16817
+ var import_kv4 = __toESM(require_mod6(), 1);
16769
16818
  var StaleMembershipWrite = class extends Error {
16770
16819
  constructor(channel, owner, attempted, current) {
16771
16820
  super(`stale membership write for ${channel}/${owner}: generation ${attempted} < current ${current}`);
@@ -16773,7 +16822,7 @@ var StaleMembershipWrite = class extends Error {
16773
16822
  }
16774
16823
  };
16775
16824
  async function openMembersRegistry(nc, space, opts = {}) {
16776
- const kvm = new import_kv3.Kvm(nc);
16825
+ const kvm = new import_kv4.Kvm(nc);
16777
16826
  return opts.create ? kvm.create(membersBucket(space)) : kvm.open(membersBucket(space));
16778
16827
  }
16779
16828
  async function readMember(kv, channel, owner) {
@@ -16872,53 +16921,6 @@ function durableEligible(rec, seq) {
16872
16921
  return true;
16873
16922
  }
16874
16923
 
16875
- // ../../packages/core/dist/acls.js
16876
- var import_kv4 = __toESM(require_mod6(), 1);
16877
- async function openAclRegistry(nc, space, opts = {}) {
16878
- const kvm = new import_kv4.Kvm(nc);
16879
- return opts.create ? kvm.create(aclBucket(space)) : kvm.open(aclBucket(space));
16880
- }
16881
- async function readAcl(kv, owner) {
16882
- const e = await kv.get(aclKey(owner));
16883
- if (!e || e.operation === "DEL" || e.operation === "PURGE")
16884
- return void 0;
16885
- try {
16886
- const record2 = e.json();
16887
- if (!Array.isArray(record2.allowSubscribe))
16888
- return void 0;
16889
- return { record: record2, revision: e.revision };
16890
- } catch {
16891
- return void 0;
16892
- }
16893
- }
16894
- async function commitAcl(kv, owner, allowSubscribe) {
16895
- const key = aclKey(owner);
16896
- for (let attempt = 0; attempt < 5; attempt++) {
16897
- const cur = await readAcl(kv, owner);
16898
- const next = {
16899
- allowSubscribe: [...allowSubscribe],
16900
- revision: (cur?.record.revision ?? 0) + 1,
16901
- updatedAt: Date.now()
16902
- };
16903
- const data = new TextEncoder().encode(JSON.stringify(next));
16904
- if (!cur) {
16905
- try {
16906
- await kv.create(key, data);
16907
- return next;
16908
- } catch {
16909
- continue;
16910
- }
16911
- }
16912
- try {
16913
- await kv.update(key, data, cur.revision);
16914
- return next;
16915
- } catch {
16916
- continue;
16917
- }
16918
- }
16919
- throw new Error(`acl CAS exhausted retries for ${owner}`);
16920
- }
16921
-
16922
16924
  // ../../packages/core/dist/membership-feed.js
16923
16925
  var import_transport_node3 = __toESM(require_transport_node(), 1);
16924
16926
  var import_kv5 = __toESM(require_mod6(), 1);