@cotal-ai/connector-claude-code 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/dist/hook.cjs +6 -4
- package/dist/mcp.cjs +53 -51
- package/package.json +3 -3
package/dist/hook.cjs
CHANGED
|
@@ -16332,18 +16332,20 @@ var SYS_LIMITS = { ...BASE_LIMITS, mem_storage: 0, disk_storage: 0 };
|
|
|
16332
16332
|
// ../../packages/core/dist/streams.js
|
|
16333
16333
|
var import_jetstream = __toESM(require_mod4(), 1);
|
|
16334
16334
|
var import_transport_node = __toESM(require_transport_node(), 1);
|
|
16335
|
+
var import_kv2 = __toESM(require_mod6(), 1);
|
|
16336
|
+
|
|
16337
|
+
// ../../packages/core/dist/acls.js
|
|
16335
16338
|
var import_kv = __toESM(require_mod6(), 1);
|
|
16339
|
+
|
|
16340
|
+
// ../../packages/core/dist/streams.js
|
|
16336
16341
|
var PLANE3_DEDUP_WINDOW_MS = 2 * 60 * 60 * 1e3;
|
|
16337
16342
|
var MEMBERSHIP_MAX_BYTES = 64 * 1024 * 1024;
|
|
16338
16343
|
|
|
16339
16344
|
// ../../packages/core/dist/channels.js
|
|
16340
|
-
var
|
|
16345
|
+
var import_kv3 = __toESM(require_mod6(), 1);
|
|
16341
16346
|
var import_transport_node2 = __toESM(require_transport_node(), 1);
|
|
16342
16347
|
|
|
16343
16348
|
// ../../packages/core/dist/members.js
|
|
16344
|
-
var import_kv3 = __toESM(require_mod6(), 1);
|
|
16345
|
-
|
|
16346
|
-
// ../../packages/core/dist/acls.js
|
|
16347
16349
|
var import_kv4 = __toESM(require_mod6(), 1);
|
|
16348
16350
|
|
|
16349
16351
|
// ../../packages/core/dist/membership-feed.js
|
package/dist/mcp.cjs
CHANGED
|
@@ -47533,7 +47533,56 @@ var SYS_LIMITS = { ...BASE_LIMITS, mem_storage: 0, disk_storage: 0 };
|
|
|
47533
47533
|
// ../../packages/core/dist/streams.js
|
|
47534
47534
|
var import_jetstream = __toESM(require_mod4(), 1);
|
|
47535
47535
|
var import_transport_node = __toESM(require_transport_node(), 1);
|
|
47536
|
+
var import_kv2 = __toESM(require_mod6(), 1);
|
|
47537
|
+
|
|
47538
|
+
// ../../packages/core/dist/acls.js
|
|
47536
47539
|
var import_kv = __toESM(require_mod6(), 1);
|
|
47540
|
+
async function openAclRegistry(nc, space, opts = {}) {
|
|
47541
|
+
const kvm = new import_kv.Kvm(nc);
|
|
47542
|
+
return opts.create ? kvm.create(aclBucket(space)) : kvm.open(aclBucket(space));
|
|
47543
|
+
}
|
|
47544
|
+
async function readAcl(kv, owner) {
|
|
47545
|
+
const e = await kv.get(aclKey(owner));
|
|
47546
|
+
if (!e || e.operation === "DEL" || e.operation === "PURGE")
|
|
47547
|
+
return void 0;
|
|
47548
|
+
try {
|
|
47549
|
+
const record2 = e.json();
|
|
47550
|
+
if (!Array.isArray(record2.allowSubscribe))
|
|
47551
|
+
return void 0;
|
|
47552
|
+
return { record: record2, revision: e.revision };
|
|
47553
|
+
} catch {
|
|
47554
|
+
return void 0;
|
|
47555
|
+
}
|
|
47556
|
+
}
|
|
47557
|
+
async function commitAcl(kv, owner, allowSubscribe) {
|
|
47558
|
+
const key = aclKey(owner);
|
|
47559
|
+
for (let attempt = 0; attempt < 5; attempt++) {
|
|
47560
|
+
const cur = await readAcl(kv, owner);
|
|
47561
|
+
const next = {
|
|
47562
|
+
allowSubscribe: [...allowSubscribe],
|
|
47563
|
+
revision: (cur?.record.revision ?? 0) + 1,
|
|
47564
|
+
updatedAt: Date.now()
|
|
47565
|
+
};
|
|
47566
|
+
const data = new TextEncoder().encode(JSON.stringify(next));
|
|
47567
|
+
if (!cur) {
|
|
47568
|
+
try {
|
|
47569
|
+
await kv.create(key, data);
|
|
47570
|
+
return next;
|
|
47571
|
+
} catch {
|
|
47572
|
+
continue;
|
|
47573
|
+
}
|
|
47574
|
+
}
|
|
47575
|
+
try {
|
|
47576
|
+
await kv.update(key, data, cur.revision);
|
|
47577
|
+
return next;
|
|
47578
|
+
} catch {
|
|
47579
|
+
continue;
|
|
47580
|
+
}
|
|
47581
|
+
}
|
|
47582
|
+
throw new Error(`acl CAS exhausted retries for ${owner}`);
|
|
47583
|
+
}
|
|
47584
|
+
|
|
47585
|
+
// ../../packages/core/dist/streams.js
|
|
47537
47586
|
var MAX_MSGS_PER_SUBJECT = 1e3;
|
|
47538
47587
|
var PLANE3_DEDUP_WINDOW_MS = 2 * 60 * 60 * 1e3;
|
|
47539
47588
|
var DINBOX_MAX_ACK_PENDING = 1e3;
|
|
@@ -47639,7 +47688,7 @@ function fanoutDurableConfig(space, opts = {}) {
|
|
|
47639
47688
|
}
|
|
47640
47689
|
|
|
47641
47690
|
// ../../packages/core/dist/channels.js
|
|
47642
|
-
var
|
|
47691
|
+
var import_kv3 = __toESM(require_mod6(), 1);
|
|
47643
47692
|
var import_transport_node2 = __toESM(require_transport_node(), 1);
|
|
47644
47693
|
function parseDuration(s) {
|
|
47645
47694
|
const m = /^(\d+)(s|m|h|d)$/.exec(s.trim());
|
|
@@ -47660,7 +47709,7 @@ function effectiveDeliveryClass(cfg, defaults) {
|
|
|
47660
47709
|
return cfg?.deliveryClass ?? defaults?.deliveryClass ?? "durable";
|
|
47661
47710
|
}
|
|
47662
47711
|
async function openChannelRegistry(nc, space, opts = {}) {
|
|
47663
|
-
const kvm = new
|
|
47712
|
+
const kvm = new import_kv3.Kvm(nc);
|
|
47664
47713
|
return opts.create ? kvm.create(channelBucket(space)) : kvm.open(channelBucket(space));
|
|
47665
47714
|
}
|
|
47666
47715
|
async function readChannelConfig(kv, channel) {
|
|
@@ -47681,7 +47730,7 @@ async function decode3(kv, key) {
|
|
|
47681
47730
|
}
|
|
47682
47731
|
|
|
47683
47732
|
// ../../packages/core/dist/members.js
|
|
47684
|
-
var
|
|
47733
|
+
var import_kv4 = __toESM(require_mod6(), 1);
|
|
47685
47734
|
var StaleMembershipWrite = class extends Error {
|
|
47686
47735
|
constructor(channel, owner, attempted, current) {
|
|
47687
47736
|
super(`stale membership write for ${channel}/${owner}: generation ${attempted} < current ${current}`);
|
|
@@ -47689,7 +47738,7 @@ var StaleMembershipWrite = class extends Error {
|
|
|
47689
47738
|
}
|
|
47690
47739
|
};
|
|
47691
47740
|
async function openMembersRegistry(nc, space, opts = {}) {
|
|
47692
|
-
const kvm = new
|
|
47741
|
+
const kvm = new import_kv4.Kvm(nc);
|
|
47693
47742
|
return opts.create ? kvm.create(membersBucket(space)) : kvm.open(membersBucket(space));
|
|
47694
47743
|
}
|
|
47695
47744
|
async function readMember(kv, channel, owner) {
|
|
@@ -47788,53 +47837,6 @@ function durableEligible(rec, seq) {
|
|
|
47788
47837
|
return true;
|
|
47789
47838
|
}
|
|
47790
47839
|
|
|
47791
|
-
// ../../packages/core/dist/acls.js
|
|
47792
|
-
var import_kv4 = __toESM(require_mod6(), 1);
|
|
47793
|
-
async function openAclRegistry(nc, space, opts = {}) {
|
|
47794
|
-
const kvm = new import_kv4.Kvm(nc);
|
|
47795
|
-
return opts.create ? kvm.create(aclBucket(space)) : kvm.open(aclBucket(space));
|
|
47796
|
-
}
|
|
47797
|
-
async function readAcl(kv, owner) {
|
|
47798
|
-
const e = await kv.get(aclKey(owner));
|
|
47799
|
-
if (!e || e.operation === "DEL" || e.operation === "PURGE")
|
|
47800
|
-
return void 0;
|
|
47801
|
-
try {
|
|
47802
|
-
const record2 = e.json();
|
|
47803
|
-
if (!Array.isArray(record2.allowSubscribe))
|
|
47804
|
-
return void 0;
|
|
47805
|
-
return { record: record2, revision: e.revision };
|
|
47806
|
-
} catch {
|
|
47807
|
-
return void 0;
|
|
47808
|
-
}
|
|
47809
|
-
}
|
|
47810
|
-
async function commitAcl(kv, owner, allowSubscribe) {
|
|
47811
|
-
const key = aclKey(owner);
|
|
47812
|
-
for (let attempt = 0; attempt < 5; attempt++) {
|
|
47813
|
-
const cur = await readAcl(kv, owner);
|
|
47814
|
-
const next = {
|
|
47815
|
-
allowSubscribe: [...allowSubscribe],
|
|
47816
|
-
revision: (cur?.record.revision ?? 0) + 1,
|
|
47817
|
-
updatedAt: Date.now()
|
|
47818
|
-
};
|
|
47819
|
-
const data = new TextEncoder().encode(JSON.stringify(next));
|
|
47820
|
-
if (!cur) {
|
|
47821
|
-
try {
|
|
47822
|
-
await kv.create(key, data);
|
|
47823
|
-
return next;
|
|
47824
|
-
} catch {
|
|
47825
|
-
continue;
|
|
47826
|
-
}
|
|
47827
|
-
}
|
|
47828
|
-
try {
|
|
47829
|
-
await kv.update(key, data, cur.revision);
|
|
47830
|
-
return next;
|
|
47831
|
-
} catch {
|
|
47832
|
-
continue;
|
|
47833
|
-
}
|
|
47834
|
-
}
|
|
47835
|
-
throw new Error(`acl CAS exhausted retries for ${owner}`);
|
|
47836
|
-
}
|
|
47837
|
-
|
|
47838
47840
|
// ../../packages/core/dist/membership-feed.js
|
|
47839
47841
|
var import_transport_node3 = __toESM(require_transport_node(), 1);
|
|
47840
47842
|
var import_kv5 = __toESM(require_mod6(), 1);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/connector-claude-code",
|
|
3
3
|
"description": "Cotal connector for Claude Code: an installed plugin that joins a session to the mesh.",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.1",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
22
|
-
"@cotal-ai/connector-core": "0.9.
|
|
22
|
+
"@cotal-ai/connector-core": "0.9.1"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@cotal-ai/core": ">=0.1.0"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"esbuild": "^0.28.0",
|
|
29
29
|
"tsx": "^4.22.4",
|
|
30
|
-
"@cotal-ai/core": "0.9.
|
|
30
|
+
"@cotal-ai/core": "0.9.1"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|