@mulmoclaude/core 1.4.0 → 1.5.0

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.
@@ -48,9 +48,24 @@ export declare function listTasks(accessToken: string, input?: ListTasksInput):
48
48
  export declare function createTask(accessToken: string, input: CreateTaskInput): Promise<TaskSummary>;
49
49
  /** PATCH body for a task edit — only the fields the caller supplied. As with
50
50
  * events, `undefined` means "leave as is" and `""` means "clear it", so the
51
- * two must stay distinct. `status` is deliberately absent: `completeTask`
52
- * owns that transition, and two ways to set it would drift apart. */
51
+ * two must stay distinct. `status` is deliberately absent: `completeTask` /
52
+ * `uncompleteTask` own that transition, and two ways to set it would drift
53
+ * apart. */
53
54
  export declare const buildTaskPatch: (input: UpdateTaskInput) => Record<string, unknown>;
54
55
  export declare function updateTask(accessToken: string, input: UpdateTaskInput): Promise<TaskSummary>;
55
56
  export declare function completeTask(accessToken: string, input: CompleteTaskInput): Promise<TaskSummary>;
57
+ /** Send a completed task back to the to-do list.
58
+ *
59
+ * Its own function rather than a flag on `completeTask`, and deliberately not
60
+ * a `status` field on `updateTask`: one kind per target state keeps the name
61
+ * honest and leaves exactly one code path setting each value.
62
+ *
63
+ * The patch carries `status` alone — mirroring `completeTask`, which also
64
+ * sets only `status` and lets Google fill in the `completed` timestamp. Note
65
+ * that whether Google *clears* that timestamp on the way back is its
66
+ * behaviour, not ours, and is unverified here: `TaskSummary` doesn't carry
67
+ * `completed`, so nothing in this codebase would show a stale one. If a
68
+ * reopened task ever displays a completion date in Google's own UI, this is
69
+ * the place to add `completed: null` to the patch. */
70
+ export declare function uncompleteTask(accessToken: string, input: CompleteTaskInput): Promise<TaskSummary>;
56
71
  export declare function deleteTask(accessToken: string, input: CompleteTaskInput): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mulmoclaude/core",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Shared server-side core for MulmoClaude and MulmoTerminal — the always-shipped-together subsystems consolidated behind subpath exports so the two hosts can't drift. Server-only except the browser-safe ./artifacts, ./whisper/client, ./workspace-setup/slug, ./translation/client, ./remote-view, ./remote-host and ./plugin-vue entries. All host specifics are injected.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -213,8 +213,8 @@
213
213
  },
214
214
  "dependencies": {
215
215
  "@duckdb/node-api": "^1.5.5-r.1",
216
- "@mulmoclaude/common": "^1.1.0",
217
- "@mulmoclaude/markdown-utils": "^1.3.0",
216
+ "@mulmoclaude/common": "^1.1.1",
217
+ "@mulmoclaude/markdown-utils": "^1.3.1",
218
218
  "fast-xml-parser": "^5.10.1",
219
219
  "google-auth-library": "^10.9.1",
220
220
  "iconv-lite": "^0.7.3",
@@ -222,7 +222,7 @@
222
222
  "zod": "^4.4.3"
223
223
  },
224
224
  "peerDependencies": {
225
- "@receptron/task-scheduler": "^1.0.0",
225
+ "@receptron/task-scheduler": "^1.0.1",
226
226
  "firebase": "^12.0.0",
227
227
  "gui-chat-protocol": "^1.2.0",
228
228
  "vue": "^3.5.0",
@@ -240,7 +240,7 @@
240
240
  }
241
241
  },
242
242
  "devDependencies": {
243
- "@receptron/task-scheduler": "^1.0.0",
243
+ "@receptron/task-scheduler": "^1.0.1",
244
244
  "@types/node": "^26.1.1",
245
245
  "gui-chat-protocol": "^1.2.0",
246
246
  "tsx": "^4.23.1",
@@ -250,5 +250,13 @@
250
250
  "vue": "^3.5.40",
251
251
  "vue-i18n": "^11.4.7"
252
252
  },
253
- "license": "MIT"
253
+ "license": "MIT",
254
+ "keywords": [
255
+ "mulmoclaude",
256
+ "mulmoterminal",
257
+ "claude-code",
258
+ "ai-agent",
259
+ "collections",
260
+ "scheduler"
261
+ ]
254
262
  }