@inetafrica/open-claudia 3.5.68 → 3.5.69
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/CHANGELOG.md +9 -0
- package/bin/cards.js +28 -5
- package/core/card-coach.js +1 -1
- package/package.json +1 -1
- package/test-provider-language.js +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.5.69
|
|
4
|
+
|
|
5
|
+
3.5.68 plus the card fixes from Sumeet's 17 Oct review of the test cards (Sumeet, 20 Oct 07:43 EAT: "Why don't you just push them out now?"): a bare date did not say what it was, and the board's side-by-side columns are cramped on a phone.
|
|
6
|
+
|
|
7
|
+
- **Due dates say "Due"** (`bin/cards.js`): `card example due-dates` sets dateLabel "Due" on its rows question, so Kazee Chat draws "Due Tue 20 Oct" (chat-central f20b993, phone 4.6.3, web e25a670).
|
|
8
|
+
- **Status list instead of the board**: new `card example status`, a rows question with To do / Doing / Done chips, each row starting where it is. `card pieces` marks board "old cards only" and points to it; the card coach no longer suggests a board. Old board cards still draw and wake as before.
|
|
9
|
+
|
|
10
|
+
Tests: `test-card-blocks.js` (the due-dates label, the status example, board marked old cards only).
|
|
11
|
+
|
|
3
12
|
## 3.5.68
|
|
4
13
|
|
|
5
14
|
3.5.67 plus a guard on test runs (Sumeet, 19 Oct 11:47 EAT, card "Mac: stop parallel threads from running it out of memory": "Both: checker rule and safety net"). The Mac froze twice that morning (power button held at 10:51 and 11:09 EAT): parallel conversations' test runs wanted about 26 GB on the 16 GB Mac, 12 of those GB from one helper's `npx jest` with no worker cap. The same morning the Chat Spaces bot pod was OOM-killed twice by `jest --maxWorkers=4` under its 3 Gi limit. The rule in lessons.md never reached helpers; the tool hook does.
|
package/bin/cards.js
CHANGED
|
@@ -67,7 +67,7 @@ const EXAMPLES = {
|
|
|
67
67
|
body: "Tick the ones that are fine. Tap a date to change it.",
|
|
68
68
|
input: {
|
|
69
69
|
fields: [
|
|
70
|
-
{ id: "tasks", type: "rows", label: "Tasks", tick: true, checked: true,
|
|
70
|
+
{ id: "tasks", type: "rows", label: "Tasks", tick: true, checked: true, dateLabel: "Due",
|
|
71
71
|
options: [{ id: "close", label: "Close it" }],
|
|
72
72
|
rows: [
|
|
73
73
|
{ id: "clickhouse", label: "ClickHouse public access", detail: "Remove it, or office/VPN only", date: "2026-10-20" },
|
|
@@ -83,6 +83,29 @@ const EXAMPLES = {
|
|
|
83
83
|
},
|
|
84
84
|
policy: { responders: ["<kazeeUserId>"], mode: "first", results: "hidden" },
|
|
85
85
|
},
|
|
86
|
+
// Where things stand: a list with a status chip per row (Sumeet, 17 Oct:
|
|
87
|
+
// the board's side-by-side columns are cramped on a phone). Use this, not
|
|
88
|
+
// a board, to ask where items are.
|
|
89
|
+
status: {
|
|
90
|
+
v: 1, kind: "form", kicker: "Spaces · this week", tag: "3 tasks",
|
|
91
|
+
title: "Where do these stand?",
|
|
92
|
+
body: "Tap where each one really is, then press Send once.",
|
|
93
|
+
input: {
|
|
94
|
+
fields: [
|
|
95
|
+
{ id: "week", type: "rows", label: "This week", tick: false, dates: false,
|
|
96
|
+
options: [{ id: "todo", label: "To do" }, { id: "doing", label: "Doing" }, { id: "done", label: "Done" }],
|
|
97
|
+
rows: [
|
|
98
|
+
{ id: "dog-06", label: "Clean iNet's CRM data", detail: "DOG-06 · due 23 Oct", option: "todo" },
|
|
99
|
+
{ id: "dog-14", label: "Stop old Zoho history going out as new", detail: "DOG-14 · due 20 Oct", option: "todo" },
|
|
100
|
+
{ id: "dog-04", label: "Fix the nightly Zoho import", detail: "DOG-04", option: "done" },
|
|
101
|
+
] },
|
|
102
|
+
],
|
|
103
|
+
submitLabel: "Send",
|
|
104
|
+
},
|
|
105
|
+
policy: { responders: ["<kazeeUserId>"], mode: "first", results: "hidden" },
|
|
106
|
+
},
|
|
107
|
+
// Old cards only: phones and the web still draw a board, but a new card
|
|
108
|
+
// asks where things stand with `status` above.
|
|
86
109
|
board: {
|
|
87
110
|
v: 1, kind: "form", kicker: "Spaces · this week", tag: "3 tasks",
|
|
88
111
|
title: "Where do these stand?",
|
|
@@ -161,8 +184,8 @@ const PIECES = [
|
|
|
161
184
|
{ name: "tick", where: "question", use: "one yes/no tick box, a confirmation", example: "checks" },
|
|
162
185
|
{ name: "date", where: "question", use: "one date picker, optional min and max", example: "checks" },
|
|
163
186
|
{ name: "slots", where: "question", use: "pick meeting times from a day x time grid; busy slots can't be picked", example: "meeting" },
|
|
164
|
-
{ name: "rows", where: "question", use: "a list where each row gets a tick, a date and/or option chips (approve, re-date, close items)", example: "due-dates" },
|
|
165
|
-
{ name: "board", where: "question", use: "
|
|
187
|
+
{ name: "rows", where: "question", use: "a list where each row gets a tick, a date (dateLabel names it: \"Due\") and/or option chips (approve, re-date, close items; To do / Doing / Done)", example: "due-dates, status" },
|
|
188
|
+
{ name: "board", where: "question", use: "old cards only: to ask where things stand use rows with To do / Doing / Done options", example: "status" },
|
|
166
189
|
];
|
|
167
190
|
|
|
168
191
|
function piecesText() {
|
|
@@ -204,13 +227,13 @@ const CARD_USAGE = `Usage:
|
|
|
204
227
|
open-claudia card send <spec.json | '{json}' | -> [--wake each|first|none] [--content "plain text"]
|
|
205
228
|
open-claudia card update <messageId> [--close | --open] [--note "text"] [--spec <file|json>]
|
|
206
229
|
open-claudia card show <messageId>
|
|
207
|
-
open-claudia card example <decision|choice|rating|slider|form|report|due-dates|
|
|
230
|
+
open-claudia card example <decision|choice|rating|slider|form|report|due-dates|status|meeting|table|checks>
|
|
208
231
|
open-claudia card pieces
|
|
209
232
|
Cards are Kazee Chat only. Answers wake this conversation when --wake is each
|
|
210
233
|
(default for a card a few named people answer) or first; polls anyone answers
|
|
211
234
|
default to none. Spec: chat-central CARDS-V1 (v:1, kind, title, input, policy...).
|
|
212
235
|
Pieces (card pieces lists them): blocks text, stats, bars, facts, table; form
|
|
213
|
-
questions choice, rating, text, tick, date, slots, rows
|
|
236
|
+
questions choice, rating, text, tick, date, slots, rows (board: old cards only).`;
|
|
214
237
|
|
|
215
238
|
async function runCard(args) {
|
|
216
239
|
const sub = args.shift();
|
package/core/card-coach.js
CHANGED
|
@@ -47,7 +47,7 @@ function detect(text) {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function hintLine(items) {
|
|
50
|
-
return `Card coach: your last message listed ${items} items for the reader to decide in plain text. One card built from pieces (rows with ticks, dates or options
|
|
50
|
+
return `Card coach: your last message listed ${items} items for the reader to decide in plain text. One card built from pieces (rows with ticks, dates or options such as To do / Doing / Done; time slots; table) lets them answer with one Send. See open-claudia card pieces.`;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
function conversationKey({ adapterId, channelId, threadId }) {
|
package/package.json
CHANGED
|
@@ -653,7 +653,10 @@ assert.match(pkg.description, /provider-agnostic coding-agent harness/i);
|
|
|
653
653
|
// 3.5.68 = 3.5.67 + test-run guard (jest/vitest: 2 workers, one run at a time,
|
|
654
654
|
// 40% free memory) in the tool hook, after the Mac froze twice on 19 Oct.
|
|
655
655
|
// Sumeet, 19 Oct 11:47 EAT card: "Both: checker rule and safety net".
|
|
656
|
-
|
|
656
|
+
// 3.5.69 = 3.5.68 + card fixes from the 17 Oct review: due dates say "Due",
|
|
657
|
+
// a status list (rows with To do / Doing / Done) instead of the board.
|
|
658
|
+
// Sumeet, 20 Oct 07:43 EAT: "Why don't you just push them out now?"
|
|
659
|
+
assert.strictEqual(pkg.version, "3.5.69", "release version must remain unchanged without explicit approval");
|
|
657
660
|
for (const keyword of ["claude", "codex", "coding-agent", "provider-agnostic"]) {
|
|
658
661
|
assert.ok(pkg.keywords.includes(keyword), `package keyword missing: ${keyword}`);
|
|
659
662
|
}
|