@loicngr/kobo 1.8.5 → 1.8.8

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 (100) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/mcp-server/kobo-tasks-handlers.js +18 -0
  3. package/dist/mcp-server/kobo-tasks-server.js +458 -297
  4. package/dist/server/db/migrations.js +34 -0
  5. package/dist/server/db/schema.js +2 -0
  6. package/dist/server/routes/workspaces.js +11 -2
  7. package/dist/server/services/auto-loop-service.js +17 -4
  8. package/dist/server/services/forge/types.js +9 -4
  9. package/dist/server/services/workspace-service.js +4 -3
  10. package/dist/shared/models.js +6 -0
  11. package/package.json +6 -2
  12. package/src/client/dist/spa/assets/{ActivityFeed-NeOuB4hK.js → ActivityFeed-CFtA0ESZ.js} +1 -1
  13. package/src/client/dist/spa/assets/{ChangelogPage-DYhK35Uj.js → ChangelogPage-BRRQ3rbp.js} +1 -1
  14. package/src/client/dist/spa/assets/{ClosePopup-SUgOzeRa.js → ClosePopup-C6lH1yCG.js} +1 -1
  15. package/src/client/dist/spa/assets/CreatePage-BTCe-DOl.js +2 -0
  16. package/src/client/dist/spa/assets/CreatePage-Bu-BVtc9.css +1 -0
  17. package/src/client/dist/spa/assets/DiffViewer-4tJkKsps.js +8 -0
  18. package/src/client/dist/spa/assets/{HealthPage-CcYmw0qz.js → HealthPage-BkEv-aMq.js} +1 -1
  19. package/src/client/dist/spa/assets/{MainLayout-E8V_3jtB.js → MainLayout-Bf9oF2M-.js} +4 -4
  20. package/src/client/dist/spa/assets/{QBadge-DoPfOZ_x.js → QBadge-DV5kn4mL.js} +1 -1
  21. package/src/client/dist/spa/assets/{QBanner-C5hABcB2.js → QBanner-CmfaeizG.js} +1 -1
  22. package/src/client/dist/spa/assets/QBtnGroup-C442-yBb.js +1 -0
  23. package/src/client/dist/spa/assets/QBtnToggle-xCWfa0zI.js +1 -0
  24. package/src/client/dist/spa/assets/QChip-BdkOPqy5.js +1 -0
  25. package/src/client/dist/spa/assets/QExpansionItem-BDyoC1Ly.js +1 -0
  26. package/src/client/dist/spa/assets/QIcon-C6E-oEjI.js +1 -0
  27. package/src/client/dist/spa/assets/QInput-BF8x4RTv.js +1 -0
  28. package/src/client/dist/spa/assets/{QList-kGlJAb-p.js → QList-D5EKdFPn.js} +1 -1
  29. package/src/client/dist/spa/assets/{QPage-B-ixPPKx.js → QPage-D3rjwA1l.js} +1 -1
  30. package/src/client/dist/spa/assets/QScrollArea-DeI8xL_d.js +1 -0
  31. package/src/client/dist/spa/assets/QSelect-DxY4RU7V.js +36 -0
  32. package/src/client/dist/spa/assets/QSeparator-DWTCQxsa.js +1 -0
  33. package/src/client/dist/spa/assets/{QSpace-e68xsYE1.js → QSpace-ezNrZkuj.js} +1 -1
  34. package/src/client/dist/spa/assets/{QSpinnerDots-BOryc_9y.js → QSpinnerDots-DIV68-cV.js} +1 -1
  35. package/src/client/dist/spa/assets/QTooltip-Cpm_IfVm.js +1 -0
  36. package/src/client/dist/spa/assets/{SearchPage-CHcHBahe.js → SearchPage-eh-XyEGg.js} +1 -1
  37. package/src/client/dist/spa/assets/SettingsPage-DTd5pM5A.js +16 -0
  38. package/src/client/dist/spa/assets/TouchPan-DHAMpPA1.js +1 -0
  39. package/src/client/dist/spa/assets/WorkspacePage-Cdq798Xz.js +4 -0
  40. package/src/client/dist/spa/assets/build-path-tree-JfzwoWFk.js +1 -0
  41. package/src/client/dist/spa/assets/{cssMode-DtrJq-En.js → cssMode-CqkmkxoC.js} +1 -1
  42. package/src/client/dist/spa/assets/documents-DM1f62Ca.js +1 -0
  43. package/src/client/dist/spa/assets/{editor.api2-CinEgB5d.js → editor.api2-IJMSUmRN.js} +1 -1
  44. package/src/client/dist/spa/assets/{editor.main-BRcMV3rU.js → editor.main-CR76sugj.js} +2 -2
  45. package/src/client/dist/spa/assets/{expand-template-BT_OMXXZ.js → expand-template-lTTAWhou.js} +1 -1
  46. package/src/client/dist/spa/assets/{formatters-D24DKtIv.js → formatters-_8dkjSkO.js} +1 -1
  47. package/src/client/dist/spa/assets/{freemarker2-CjI8M1Pj.js → freemarker2-DXRiOLBf.js} +1 -1
  48. package/src/client/dist/spa/assets/{handlebars-BrrbROQJ.js → handlebars-D0LypT-N.js} +1 -1
  49. package/src/client/dist/spa/assets/{html-Dt61THwD.js → html-DmKSVUQI.js} +1 -1
  50. package/src/client/dist/spa/assets/{htmlMode-tb4PrwZE.js → htmlMode-D63dd2k1.js} +1 -1
  51. package/src/client/dist/spa/assets/i18n-DIxccx-f.js +1 -0
  52. package/src/client/dist/spa/assets/index-CwYR3iHt.css +1 -0
  53. package/src/client/dist/spa/assets/index-DODmyTEl.js +84 -0
  54. package/src/client/dist/spa/assets/{javascript-CbNLIl6K.js → javascript-BAUCdi7S.js} +1 -1
  55. package/src/client/dist/spa/assets/{jsonMode-9OB1NWBc.js → jsonMode-COygYAf4.js} +1 -1
  56. package/src/client/dist/spa/assets/{kobo-commands-BAFoc4XT.js → kobo-commands-DRr54Gj1.js} +1 -1
  57. package/src/client/dist/spa/assets/layout-CvuA9F6q.js +1 -0
  58. package/src/client/dist/spa/assets/{liquid-2Xnhq08h.js → liquid-oq8bpzTN.js} +1 -1
  59. package/src/client/dist/spa/assets/{lspLanguageFeatures-Cd0LZuqI.js → lspLanguageFeatures-CVL-3CRs.js} +1 -1
  60. package/src/client/dist/spa/assets/{mdx-BcFCQf8z.js → mdx-Byp34ebl.js} +1 -1
  61. package/src/client/dist/spa/assets/{monaco.contribution-BFELAVjU.js → monaco.contribution-D2h-fJiD.js} +2 -2
  62. package/src/client/dist/spa/assets/{network-auth-HNTN0Fqx.js → network-auth-DfISpE97.js} +1 -1
  63. package/src/client/dist/spa/assets/permissionModes-6jhegAm-.js +1 -0
  64. package/src/client/dist/spa/assets/{project-color-CnA7qsFT.js → project-color-Cvt0AAeh.js} +1 -1
  65. package/src/client/dist/spa/assets/{python-mxDs2yew.js → python-D-1c5J5l.js} +1 -1
  66. package/src/client/dist/spa/assets/{razor-Dwp1v9Mw.js → razor-CPeWkxpV.js} +1 -1
  67. package/src/client/dist/spa/assets/{render-chat-markdown-C66I22rl.js → render-chat-markdown-DbKsA_Ux.js} +18 -18
  68. package/src/client/dist/spa/assets/{tsMode-DmV0n4aC.js → tsMode-BFEzVMJt.js} +1 -1
  69. package/src/client/dist/spa/assets/{typescript-CPU1RgLJ.js → typescript-C-84YsEc.js} +1 -1
  70. package/src/client/dist/spa/assets/{use-checkbox-Dh_-xsu4.js → use-checkbox-E9SV7iH5.js} +1 -1
  71. package/src/client/dist/spa/assets/{use-onboarding-ockQMKKz.js → use-onboarding-Bxi9kF5f.js} +1 -1
  72. package/src/client/dist/spa/assets/{use-quasar-CCWojS5V.js → use-quasar-B20UL17o.js} +1 -1
  73. package/src/client/dist/spa/assets/{workers-BUpbuYJJ.js → workers-B5wOtN6Y.js} +1 -1
  74. package/src/client/dist/spa/assets/{xml-BCZKO1fH.js → xml-BjPqYcxj.js} +1 -1
  75. package/src/client/dist/spa/assets/{yaml-DT8wC8CS.js → yaml-lZDMbDzQ.js} +1 -1
  76. package/src/client/dist/spa/index.html +6 -6
  77. package/src/mcp-server/README.md +46 -1
  78. package/src/mcp-server/kobo-tasks-handlers.ts +37 -0
  79. package/src/mcp-server/kobo-tasks-server.ts +496 -328
  80. package/src/client/dist/spa/assets/CreatePage-0WIKLSHx.js +0 -2
  81. package/src/client/dist/spa/assets/CreatePage-Cyo8mr_a.css +0 -1
  82. package/src/client/dist/spa/assets/DiffViewer-JFUB2IjX.js +0 -8
  83. package/src/client/dist/spa/assets/QChip-C_hQ8zDG.js +0 -1
  84. package/src/client/dist/spa/assets/QExpansionItem-CDMqMrBW.js +0 -1
  85. package/src/client/dist/spa/assets/QIcon-CfOEsLsF.js +0 -1
  86. package/src/client/dist/spa/assets/QInput-DtrweK8o.js +0 -1
  87. package/src/client/dist/spa/assets/QScrollArea-5SknWwXm.js +0 -1
  88. package/src/client/dist/spa/assets/QSelect-DdFxTwDW.js +0 -36
  89. package/src/client/dist/spa/assets/QSeparator-BR7sWTf2.js +0 -1
  90. package/src/client/dist/spa/assets/QTooltip-wdRYvb7_.js +0 -1
  91. package/src/client/dist/spa/assets/SettingsPage-D4WRKgef.js +0 -16
  92. package/src/client/dist/spa/assets/TouchPan-CGfbFZ29.js +0 -1
  93. package/src/client/dist/spa/assets/WorkspacePage-ZMocf3BW.js +0 -4
  94. package/src/client/dist/spa/assets/build-path-tree-B2W0g5KD.js +0 -1
  95. package/src/client/dist/spa/assets/documents-BbpzccXz.js +0 -1
  96. package/src/client/dist/spa/assets/i18n-D5hQoijX.js +0 -1
  97. package/src/client/dist/spa/assets/index-C3dgH7TE.css +0 -1
  98. package/src/client/dist/spa/assets/index-DY-0-pzs.js +0 -84
  99. package/src/client/dist/spa/assets/layout-C_Qy9YRS.js +0 -1
  100. package/src/client/dist/spa/assets/permissionModes-DKmBv8m2.js +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ All notable changes to Kōbō are documented here. The format is based on
4
4
  [Keep a Changelog](https://keepachangelog.com/). Each release is an `## <version>`
5
5
  section — the in-app "What's new" dialog reads this file.
6
6
 
7
+ ## 1.8.8
8
+
9
+ - fix: resolve npm audit findings and scope client audit to prod deps
10
+ - feat: add auto-loop brainstorming model override and Claude Opus 5
11
+
12
+ ## 1.8.7
13
+
14
+ - feat: add auto-loop brainstorming model override and Claude Opus 5
15
+
16
+ ## 1.8.6
17
+
18
+ - feat: add auto-loop session modes and global MCP workspace tools
19
+
7
20
  ## 1.8.5
8
21
 
9
22
  - feat: add gpt-5.6 codex model family and gpt-5.2 to catalogue
@@ -22,6 +22,24 @@ export function listTasksHandler(db, workspaceId) {
22
22
  .all(workspaceId);
23
23
  return rows.map(rowToDto);
24
24
  }
25
+ /**
26
+ * List workspaces for the global `list_workspaces` MCP tool. Reads SQLite
27
+ * directly (no backend HTTP dependency) so it works even when the Kōbō
28
+ * server isn't running — the same DB file the backend uses.
29
+ */
30
+ export function listWorkspacesHandler(db, opts) {
31
+ // updated_at can collide at second resolution (e.g. bulk-seeded test data); rowid DESC breaks ties, most-recently-inserted first.
32
+ const sql = opts.includeArchived
33
+ ? 'SELECT id, name, status, created_at FROM workspaces ORDER BY updated_at DESC, rowid DESC'
34
+ : 'SELECT id, name, status, created_at FROM workspaces WHERE archived_at IS NULL ORDER BY updated_at DESC, rowid DESC';
35
+ const rows = db.prepare(sql).all();
36
+ return rows.map((row) => ({
37
+ id: row.id,
38
+ title: row.name,
39
+ status: row.status,
40
+ createdAt: row.created_at,
41
+ }));
42
+ }
25
43
  /**
26
44
  * Flip the workspace's `auto_loop_ready` flag. Called at the end of a
27
45
  * `/kobo-prep-autoloop` grooming session to unlock the auto-loop toggle.