@tandryio/opencode 0.1.0-alpha.3 → 0.1.0-alpha.4
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/README.md +1 -1
- package/THIRD_PARTY_NOTICES.md +0 -3
- package/dist/index.js +30 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Tandry for OpenCode
|
|
2
2
|
|
|
3
|
-
Native plugin for OpenCode 1.18.30. It registers
|
|
3
|
+
Native plugin for OpenCode 1.18.30. It registers eleven `tandry_*` tools and five
|
|
4
4
|
commands: `/tandry-join`, `/tandry-new-room`, `/tandry-leave`, `/tandry-members`,
|
|
5
5
|
and `/tandry-status`.
|
|
6
6
|
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -704,7 +704,6 @@ Cloudflare-generated runtime declarations also retain their upstream headers.
|
|
|
704
704
|
- [why-is-node-running@2.3.0](https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz) — MIT; [notice 6a134e51aa31](#license-6a134e51aa31)
|
|
705
705
|
- [workerd@1.20260911.1](https://registry.npmjs.org/workerd/-/workerd-1.20260911.1.tgz) — Apache-2.0; [notice bb28c48e3e07](#license-bb28c48e3e07)
|
|
706
706
|
- [workerd@1.20260916.1](https://registry.npmjs.org/workerd/-/workerd-1.20260916.1.tgz) — Apache-2.0; [notice bb28c48e3e07](#license-bb28c48e3e07)
|
|
707
|
-
- [wrangler@4.131.1](https://registry.npmjs.org/wrangler/-/wrangler-4.131.1.tgz) — MIT OR Apache-2.0; [notice b30df9a48463](#license-b30df9a48463), [notice 9bb3b077cc86](#license-9bb3b077cc86)
|
|
708
707
|
- [wrangler@4.133.0](https://registry.npmjs.org/wrangler/-/wrangler-4.133.0.tgz) — MIT OR Apache-2.0; [notice b30df9a48463](#license-b30df9a48463), [notice 9bb3b077cc86](#license-9bb3b077cc86)
|
|
709
708
|
- [wrappy@1.0.2](https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz) — ISC; [notice 4ec3d4c66cd8](#license-4ec3d4c66cd8)
|
|
710
709
|
- [ws@8.21.0](https://registry.npmjs.org/ws/-/ws-8.21.0.tgz) — MIT; [notice 2b29dcfe0d64](#license-2b29dcfe0d64)
|
|
@@ -11956,7 +11955,6 @@ SOFTWARE.
|
|
|
11956
11955
|
- @cloudflare/vitest-plugin@1.1.11: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-MIT
|
|
11957
11956
|
- miniflare@5.20260911.0-alpha: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-MIT
|
|
11958
11957
|
- miniflare@5.20260916.0-alpha: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-MIT
|
|
11959
|
-
- wrangler@4.131.1: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-MIT
|
|
11960
11958
|
- wrangler@4.133.0: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-MIT
|
|
11961
11959
|
|
|
11962
11960
|
```text
|
|
@@ -13372,7 +13370,6 @@ SOFTWARE.
|
|
|
13372
13370
|
|
|
13373
13371
|
- @cloudflare/kv-asset-handler@0.5.0: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-APACHE
|
|
13374
13372
|
- @cloudflare/unenv-preset@2.16.1: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-APACHE
|
|
13375
|
-
- wrangler@4.131.1: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-APACHE
|
|
13376
13373
|
- wrangler@4.133.0: https://raw.githubusercontent.com/cloudflare/workers-sdk/main/LICENSE-APACHE
|
|
13377
13374
|
|
|
13378
13375
|
```text
|
package/dist/index.js
CHANGED
|
@@ -21058,6 +21058,7 @@ function inactive(view) {
|
|
|
21058
21058
|
if (!view.joined) return "This conversation has not joined a room.";
|
|
21059
21059
|
if (view.ended) return view.ended.message && view.ended.reason === "upgrade_required" ? view.ended.message : ENDED[view.ended.reason];
|
|
21060
21060
|
if (!view.connected) return "The connection to the Hub dropped; reconnecting. Operations still work.";
|
|
21061
|
+
if (!view.wakeable) return view.unwakeable ?? "This conversation cannot be woken while idle right now; mail waits for its next turn.";
|
|
21061
21062
|
return null;
|
|
21062
21063
|
}
|
|
21063
21064
|
|
|
@@ -21089,11 +21090,12 @@ function parseAddress(address) {
|
|
|
21089
21090
|
const slash = address.indexOf("/");
|
|
21090
21091
|
return { handle: address.slice(0, slash), name: address.slice(slash + 1) };
|
|
21091
21092
|
}
|
|
21092
|
-
var HostKind = external_exports.enum(["claude", "codex", "kimi", "pi", "opencode", "dsh", "claude-web", "chatgpt-web", "web"]);
|
|
21093
|
+
var HostKind = external_exports.enum(["claude", "codex", "grok", "kimi", "pi", "opencode", "dsh", "claude-web", "chatgpt-web", "web"]);
|
|
21093
21094
|
var Tier = external_exports.enum(["push", "pull"]);
|
|
21094
21095
|
var HOST_LABELS = {
|
|
21095
21096
|
claude: "Claude Code",
|
|
21096
21097
|
codex: "Codex",
|
|
21098
|
+
grok: "Grok Build",
|
|
21097
21099
|
kimi: "Kimi Code",
|
|
21098
21100
|
pi: "pi",
|
|
21099
21101
|
opencode: "opencode",
|
|
@@ -21112,11 +21114,15 @@ var MemberState = external_exports.enum(["online", "offline"]);
|
|
|
21112
21114
|
var Presence = external_exports.object({
|
|
21113
21115
|
state: MemberState,
|
|
21114
21116
|
tier: Tier,
|
|
21115
|
-
/** Only meaningful for an online push member. */
|
|
21116
|
-
wakeable: external_exports.boolean(),
|
|
21117
21117
|
/** Reported by a connected push host; absent for pull hosts. */
|
|
21118
21118
|
busy: external_exports.boolean().optional(),
|
|
21119
|
-
lastActiveAt: external_exports.number()
|
|
21119
|
+
lastActiveAt: external_exports.number(),
|
|
21120
|
+
/**
|
|
21121
|
+
* Deprecated. Clients up to 0.1.0-alpha.3 require it; it now equals
|
|
21122
|
+
* `state === "online"` for push members and is false for pull members.
|
|
21123
|
+
* Nothing new reads it. Remove once those clients are gone.
|
|
21124
|
+
*/
|
|
21125
|
+
wakeable: external_exports.boolean().optional()
|
|
21120
21126
|
});
|
|
21121
21127
|
var Visibility = external_exports.enum(["room", "dm"]);
|
|
21122
21128
|
var MessageKind = external_exports.enum(["text", "intro"]);
|
|
@@ -21320,7 +21326,7 @@ var new_room = operation({
|
|
|
21320
21326
|
description: external_exports.string().trim().max(ROOM_DESCRIPTION_LIMIT)
|
|
21321
21327
|
}),
|
|
21322
21328
|
output: external_exports.object({ id: RoomId, name: external_exports.string(), code: external_exports.string() }),
|
|
21323
|
-
errors: [...SIGNED_IN, "handle_required", "limit_reached"]
|
|
21329
|
+
errors: [...SIGNED_IN, "handle_required", "limit_reached", "not_in_room", "forbidden"]
|
|
21324
21330
|
});
|
|
21325
21331
|
var update_room = operation({
|
|
21326
21332
|
name: "update_room",
|
|
@@ -21334,6 +21340,13 @@ var update_room = operation({
|
|
|
21334
21340
|
output: RoomSummary,
|
|
21335
21341
|
errors: [...SIGNED_IN, "no_such_room", "forbidden"]
|
|
21336
21342
|
});
|
|
21343
|
+
var delete_room = operation({
|
|
21344
|
+
name: "delete_room",
|
|
21345
|
+
scope: "account",
|
|
21346
|
+
input: external_exports.object({ room: RoomId }),
|
|
21347
|
+
output: Empty,
|
|
21348
|
+
errors: [...SIGNED_IN, "forbidden"]
|
|
21349
|
+
});
|
|
21337
21350
|
var join = operation({
|
|
21338
21351
|
name: "join",
|
|
21339
21352
|
scope: "account",
|
|
@@ -21465,6 +21478,7 @@ var operations = {
|
|
|
21465
21478
|
revoke_device,
|
|
21466
21479
|
new_room,
|
|
21467
21480
|
update_room,
|
|
21481
|
+
delete_room,
|
|
21468
21482
|
join,
|
|
21469
21483
|
leave,
|
|
21470
21484
|
rename,
|
|
@@ -21713,9 +21727,9 @@ Older messages exist. Call history with before: ${page.nextBefore}.` : "";
|
|
|
21713
21727
|
].join("\n") + more;
|
|
21714
21728
|
}
|
|
21715
21729
|
function renderPresence(presence, now) {
|
|
21716
|
-
if (presence.state === "offline") return `offline, last active ${relativeTime(presence.lastActiveAt, now)}; reads it when its
|
|
21730
|
+
if (presence.state === "offline") return `offline, last active ${relativeTime(presence.lastActiveAt, now)}; reads it when its owner is next back in that conversation`;
|
|
21717
21731
|
if (presence.tier === "pull") return "online in a web chat; reads it at its next inbox check";
|
|
21718
|
-
return
|
|
21732
|
+
return "online; told now";
|
|
21719
21733
|
}
|
|
21720
21734
|
function renderSent(result, now) {
|
|
21721
21735
|
if (!result.recipients.length) return `Sent ${result.id}. On record in the room; nobody was told.`;
|
|
@@ -22513,7 +22527,15 @@ function createBridge(options) {
|
|
|
22513
22527
|
waker.evaluate();
|
|
22514
22528
|
},
|
|
22515
22529
|
inactive() {
|
|
22516
|
-
return inactive({
|
|
22530
|
+
return inactive({
|
|
22531
|
+
loggedIn: !!readCredentials(hub),
|
|
22532
|
+
bound: !!conversation,
|
|
22533
|
+
joined: !!marker,
|
|
22534
|
+
ended,
|
|
22535
|
+
connected: !!link?.connected,
|
|
22536
|
+
wakeable: options.shell.wakeable(),
|
|
22537
|
+
unwakeable: options.shell.unwakeable?.() ?? null
|
|
22538
|
+
});
|
|
22517
22539
|
},
|
|
22518
22540
|
dispose() {
|
|
22519
22541
|
disposed = true;
|