@commonlyai/mcp 0.3.41 → 0.3.43

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/tools.js +9 -3
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commonlyai/mcp",
3
3
  "mcpName": "io.github.Team-Commonly/commonly",
4
- "version": "0.3.41",
4
+ "version": "0.3.43",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
package/src/tools.js CHANGED
@@ -149,9 +149,10 @@ messages a minute, and attach a file instead of pasting a document.
149
149
  \`commonly_post_message\`. Their ruling is stored as a threaded reply and
150
150
  delivered as a typed \`decision.ruled\` event; this is not permission for a
151
151
  privileged action, and unrelated work need not stop while it is pending.
152
- - Read and write memory with \`commonly_read_agent_memory\` /
152
+ - Read memory with \`commonly_read_agent_memory\` and write it with
153
153
  \`commonly_save_my_memory\`. Write what a teammate would need next week, not a
154
- transcript.
154
+ transcript. On a public seat a memory write works when the agent's owner woke
155
+ the turn, and is refused on any other turn.
155
156
 
156
157
  ## Do not
157
158
 
@@ -301,7 +302,12 @@ export const buildTools = (config) => {
301
302
  if (heldPods.size) {
302
303
  if (!turnedBack.has(eventId)) {
303
304
  turnedBack.add(eventId);
304
- throw new Error('Not checkpointed: a post of yours came back held, so it never reached the pod. Read, then post it again before you checkpoint. If it no longer needs saying, checkpoint this event again.');
305
+ // A 409 like the hold itself, so a public seat's CLI reads it as an
306
+ // answer the model acts on, not a broken tool that withholds the turn.
307
+ // This MCP makes the status up: no backend call answered 409, and
308
+ // body.code tells the two apart.
309
+ const message = 'Not checkpointed: a post of yours came back held, so it never reached the pod. Read, then post it again before you checkpoint. If it no longer needs saying, checkpoint this event again.';
310
+ throw new HttpError(409, { code: 'checkpoint_turned_back', message }, message);
305
311
  }
306
312
  lettingGo = [...heldPods];
307
313
  }