@hienlh/ppm 0.13.75 → 0.13.76

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 (128) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/cli-reference.md +4 -4
  4. package/assets/skills/ppm/references/http-api.md +7 -1
  5. package/bun.lock +2142 -0
  6. package/bunfig.toml +2 -0
  7. package/dist/web/assets/ai-settings-section-D0VMZ4aE.js +1 -0
  8. package/dist/web/assets/{api-settings-BJTjIG4U.js → api-settings-Byph7lae.js} +1 -1
  9. package/dist/web/assets/architecture-PBZL5I3N-DyeqgxGw.js +1 -0
  10. package/dist/web/assets/{audio-preview-BQUzmaMW.js → audio-preview-DXCxll7f.js} +1 -1
  11. package/dist/web/assets/chat-tab-D5j5gP5j.js +16 -0
  12. package/dist/web/assets/code-editor-CL2gcvDj.js +10 -0
  13. package/dist/web/assets/{conflict-editor-CrpXDFE1.js → conflict-editor-RMsNwUKp.js} +1 -1
  14. package/dist/web/assets/{csv-preview-asMfgR0r.js → csv-preview-CwEbP_iZ.js} +1 -1
  15. package/dist/web/assets/{data-grid-overlay-editor-DGjqvYn6.js → data-grid-overlay-editor-C36FRqE8.js} +1 -1
  16. package/dist/web/assets/database-viewer-2TbU0m7s.js +1 -0
  17. package/dist/web/assets/{diff-viewer-CdZ15fOk.js → diff-viewer--SSMwMoS.js} +1 -1
  18. package/dist/web/assets/{docx-preview-AgoO5zwo.js → docx-preview-BL398ELS.js} +1 -1
  19. package/dist/web/assets/{esm-xVTUq__o.js → esm-DH3rpl0I.js} +1 -1
  20. package/dist/web/assets/{extension-webview-C4D4PnO3.js → extension-webview-DrnDwQpM.js} +2 -2
  21. package/dist/web/assets/git-log-panel-u6ehykcl.js +1 -0
  22. package/dist/web/assets/gitGraph-HDMCJU4V-CZAWeLUi.js +1 -0
  23. package/dist/web/assets/{glide-data-grid-BfXnM2CC.js → glide-data-grid-Benw7NI4.js} +6 -6
  24. package/dist/web/assets/globe-CQ8NAYvi.js +1 -0
  25. package/dist/web/assets/{image-preview-CyL9Lj_O.js → image-preview-DeNH71Ez.js} +1 -1
  26. package/dist/web/assets/index-BS3CQIT3.js +27 -0
  27. package/dist/web/assets/info-3K5VOQVL-BqVOLnRc.js +1 -0
  28. package/dist/web/assets/{input-CArJe9WS.js → input-DSELw5zU.js} +1 -1
  29. package/dist/web/assets/keybindings-store-gFa7vUoe.js +1 -0
  30. package/dist/web/assets/{markdown-renderer-Cat4uT8B.js → markdown-renderer-D5B629qw.js} +3 -3
  31. package/dist/web/assets/notification-store-qViiZZaY.js +1 -0
  32. package/dist/web/assets/{number-overlay-editor-DtUBprPW.js → number-overlay-editor-JsUdft7z.js} +1 -1
  33. package/dist/web/assets/packet-RMMSAZCW-BGMrAgbD.js +1 -0
  34. package/dist/web/assets/{panel-store-C9VAhbZz.js → panel-store-DlvwzOll.js} +1 -1
  35. package/dist/web/assets/{pdf-preview-BSrz_N0g.js → pdf-preview-yUMARG8r.js} +1 -1
  36. package/dist/web/assets/pie-UPGHQEXC-9IRPAyAe.js +1 -0
  37. package/dist/web/assets/port-forwarding-tab-D7rVcasa.js +1 -0
  38. package/dist/web/assets/{postgres-viewer-GpXLzmnT.js → postgres-viewer-C28tRuh5.js} +3 -3
  39. package/dist/web/assets/{project-store-DlbHpIq0.js → project-store-CpC02pIv.js} +1 -1
  40. package/dist/web/assets/radar-KQ55EAFF-CxjdSb6M.js +1 -0
  41. package/dist/web/assets/refresh-cw-CRD2qr4U.js +1 -0
  42. package/dist/web/assets/{settings-store-DQUFTPk2.js → settings-store-MXJgFUnl.js} +2 -2
  43. package/dist/web/assets/settings-tab-0kWZtlCi.js +1 -0
  44. package/dist/web/assets/{sql-query-editor-PFN7evxv.js → sql-query-editor-DCx7kPlY.js} +1 -1
  45. package/dist/web/assets/sqlite-viewer-W1RhaCr0.js +1 -0
  46. package/dist/web/assets/system-monitor-tab-CJojQd3x.js +1 -0
  47. package/dist/web/assets/{tab-store-CIcbSn0c.js → tab-store-Bdw8DIbZ.js} +1 -1
  48. package/dist/web/assets/{terminal-tab-D2OwQv1h.js → terminal-tab-B1_sAuIi.js} +2 -2
  49. package/dist/web/assets/treemap-KZPCXAKY-BYrmfSj5.js +1 -0
  50. package/dist/web/assets/{use-blob-url-DrPfBQBM.js → use-blob-url-CBi0HMq5.js} +1 -1
  51. package/dist/web/assets/{use-monaco-theme-BLIgarH5.js → use-monaco-theme-CbzQcrwD.js} +1 -1
  52. package/dist/web/assets/{vendor-mermaid-DkqjpqJK.js → vendor-mermaid-D2cOxeao.js} +3 -3
  53. package/dist/web/assets/{video-preview-49zZk7VQ.js → video-preview-D-nAiQsv.js} +1 -1
  54. package/dist/web/index.html +20 -17
  55. package/dist/web/sw.js +1 -1
  56. package/package.json +1 -1
  57. package/src/index.ts +0 -0
  58. package/src/providers/claude-agent-sdk.ts +6 -2
  59. package/src/server/index.ts +2 -0
  60. package/src/server/routes/chat.ts +7 -6
  61. package/src/server/routes/push.ts +54 -0
  62. package/src/services/cloud-ws.service.ts +1 -27
  63. package/src/services/config.service.ts +1 -1
  64. package/src/services/db.service.ts +24 -0
  65. package/src/services/notification.service.ts +5 -14
  66. package/src/services/push-notification.service.ts +104 -0
  67. package/src/types/config.ts +7 -0
  68. package/src/web/components/chat/chat-tab.tsx +10 -0
  69. package/src/web/components/settings/settings-tab.tsx +66 -12
  70. package/src/web/hooks/use-push-notification.ts +114 -0
  71. package/src/web/sw.ts +45 -0
  72. package/.opencode/.env.example +0 -98
  73. package/.opencode/skills/ads-management/scripts/.env.example +0 -13
  74. package/.opencode/skills/ai-multimodal/.env.example +0 -230
  75. package/.opencode/skills/cip-design/.env.example +0 -6
  76. package/.opencode/skills/devops/.env.example +0 -76
  77. package/.opencode/skills/docs-seeker/.env.example +0 -15
  78. package/.opencode/skills/elevenlabs/.env.example +0 -3
  79. package/.opencode/skills/marketing-dashboard/.env.example +0 -15
  80. package/.opencode/skills/marketing-dashboard/app/.env.example +0 -2
  81. package/.opencode/skills/marketing-dashboard/server/.env.example +0 -2
  82. package/.opencode/skills/mcp-management/scripts/dist/analyze-tools.js +0 -70
  83. package/.opencode/skills/mcp-management/scripts/dist/cli.js +0 -160
  84. package/.opencode/skills/mcp-management/scripts/dist/mcp-client.js +0 -183
  85. package/.opencode/skills/payment-integration/scripts/.env.example +0 -20
  86. package/.opencode/skills/sequential-thinking/.env.example +0 -8
  87. package/dist/web/assets/architecture-PBZL5I3N-CkdUQjA_.js +0 -1
  88. package/dist/web/assets/chat-tab-B80a21gx.js +0 -16
  89. package/dist/web/assets/code-editor-hFO6vAKT.js +0 -10
  90. package/dist/web/assets/database-viewer-CAjJc7bL.js +0 -1
  91. package/dist/web/assets/git-log-panel-J0pVWvZl.js +0 -1
  92. package/dist/web/assets/gitGraph-HDMCJU4V-D3UR56AG.js +0 -1
  93. package/dist/web/assets/index-Dd6YEaE6.js +0 -27
  94. package/dist/web/assets/info-3K5VOQVL-DUhLSKI2.js +0 -1
  95. package/dist/web/assets/keybindings-store-C1yHwKEc.js +0 -1
  96. package/dist/web/assets/notification-store-CBTVrgEf.js +0 -1
  97. package/dist/web/assets/packet-RMMSAZCW-BIpeVUGW.js +0 -1
  98. package/dist/web/assets/pie-UPGHQEXC-CNoizzjb.js +0 -1
  99. package/dist/web/assets/port-forwarding-tab-BpeFzbAM.js +0 -1
  100. package/dist/web/assets/radar-KQ55EAFF-7dns-ho5.js +0 -1
  101. package/dist/web/assets/settings-tab-Cjiu2egJ.js +0 -1
  102. package/dist/web/assets/sqlite-viewer-ONh1tmxh.js +0 -1
  103. package/dist/web/assets/system-monitor-tab-BznIBj8p.js +0 -1
  104. package/dist/web/assets/treemap-KZPCXAKY-D3DZCLoE.js +0 -1
  105. /package/dist/web/assets/{api-client-BK4NPNoY.js → api-client-DG9qwosT.js} +0 -0
  106. /package/dist/web/assets/{chevron-down-CiFNPrfI.js → chevron-down-BMo4cBth.js} +0 -0
  107. /package/dist/web/assets/{chevron-right-BzAdxJRG.js → chevron-right-CD8e6Aj4.js} +0 -0
  108. /package/dist/web/assets/{code-CuravVys.js → code-DiNmA3eR.js} +0 -0
  109. /package/dist/web/assets/{csv-parser-D1b_lg2T.js → csv-parser-B_TuHmnd.js} +0 -0
  110. /package/dist/web/assets/{data-grid-types-DzL5W2em.js → data-grid-types-CO_3iSwd.js} +0 -0
  111. /package/dist/web/assets/{database-NmqHg29g.js → database-Dc8mr-dP.js} +0 -0
  112. /package/dist/web/assets/{dist-CohudVKa.js → dist-C1jciI67.js} +0 -0
  113. /package/dist/web/assets/{dist-BM2EHhLH.js → dist-D4dFaZkK.js} +0 -0
  114. /package/dist/web/assets/{file-exclamation-point-Baz81y5z.js → file-exclamation-point-B__2Hrd6.js} +0 -0
  115. /package/dist/web/assets/{katex-CHaeM9QC.js → katex-DveWxdWJ.js} +0 -0
  116. /package/dist/web/assets/{lib-LPmTkMu4.js → lib-D4YDpYv4.js} +0 -0
  117. /package/dist/web/assets/{react-DHBl6KRc.js → react-BXxixfbh.js} +0 -0
  118. /package/dist/web/assets/{search-BEy08Exr.js → search-D90WJ5fo.js} +0 -0
  119. /package/dist/web/assets/{shield-check-77W0OMbn.js → shield-check-DeIMQtEj.js} +0 -0
  120. /package/dist/web/assets/{shield-off-C_MK1u09.js → shield-off-D4jBmG5E.js} +0 -0
  121. /package/dist/web/assets/{sparkles-CulWHe4c.js → sparkles-DyeiGE7Q.js} +0 -0
  122. /package/dist/web/assets/{table-BzjWcs87.js → table-DCYlHUNQ.js} +0 -0
  123. /package/dist/web/assets/{text-wrap-DJz9Bgpa.js → text-wrap-B3mYv9Yo.js} +0 -0
  124. /package/dist/web/assets/{trash-2-D5P4y8p_.js → trash-2-DkIfBY8d.js} +0 -0
  125. /package/dist/web/assets/{utils-CSCvNZxE.js → utils-Bs_TFEQf.js} +0 -0
  126. /package/dist/web/assets/{vendor-xterm-t3d5xZdz.js → vendor-xterm-BHJtSw6L.js} +0 -0
  127. /package/dist/web/assets/{wifi-CgM9T6HR.js → wifi-DifNnmbA.js} +0 -0
  128. /package/dist/web/assets/{x-Dx3jsRgu.js → x-WwAMX3EB.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.13.76] - 2026-05-15
4
+
5
+ ### Fixed
6
+ - **Fork session returns empty session**: Forking a chat at a specific message no longer silently creates an empty session when the SDK can't find the message UUID. Backend now returns `400` with clear error and FE shows a toast — common after auto-compaction or interrupted streams.
7
+ - **Ghost message UUIDs in streaming**: Provider no longer captures `lastMessageUuid` from `stream_event` partial envelopes (per-event UUIDs that aren't persisted to JSONL). Only canonical `SDKAssistantMessage.uuid` is used, eliminating ghost UUIDs that broke fork/rewind around auto-compact boundaries.
8
+
3
9
  ## [0.13.74] - 2026-05-12
4
10
 
5
11
  ### Fixed
@@ -71,4 +71,4 @@ This skill covers the `ppm` CLI, its HTTP API, and its config DB. It does **not*
71
71
  - Third-party extensions (inspect via `ppm ext list`).
72
72
  - The Claude Agent SDK internals (separate skill).
73
73
 
74
- <!-- Generated for PPM v0.13.75 at build time. Re-run `ppm export skill --install` to refresh. -->
74
+ <!-- Generated for PPM v0.13.76 at build time. Re-run `ppm export skill --install` to refresh. -->
@@ -700,7 +700,7 @@ Restart the server (keeps tunnel alive)
700
700
  Manage and inspect discovered skills & commands
701
701
 
702
702
  **Options:**
703
- - `--project <path>` — Project path (default: `"/home/hienlh/Projects/ppm"`)
703
+ - `--project <path>` — Project path (default: `"/Users/hienlh/Projects/ppm"`)
704
704
 
705
705
  **Usage:** `ppm skills [options] [command]`
706
706
 
@@ -710,7 +710,7 @@ List all discovered skills and commands
710
710
 
711
711
  **Options:**
712
712
  - `--json` — JSON output
713
- - `--project <path>` — Project path (default: `"/home/hienlh/Projects/ppm"`)
713
+ - `--project <path>` — Project path (default: `"/Users/hienlh/Projects/ppm"`)
714
714
 
715
715
  ### `ppm skills search`
716
716
 
@@ -718,7 +718,7 @@ Fuzzy search skills and commands
718
718
 
719
719
  **Options:**
720
720
  - `--json` — JSON output
721
- - `--project <path>` — Project path (default: `"/home/hienlh/Projects/ppm"`)
721
+ - `--project <path>` — Project path (default: `"/Users/hienlh/Projects/ppm"`)
722
722
 
723
723
  **Usage:** `ppm skills search [options] <query>`
724
724
 
@@ -728,7 +728,7 @@ Show detailed info for a specific skill
728
728
 
729
729
  **Options:**
730
730
  - `--json` — JSON output
731
- - `--project <path>` — Project path (default: `"/home/hienlh/Projects/ppm"`)
731
+ - `--project <path>` — Project path (default: `"/Users/hienlh/Projects/ppm"`)
732
732
 
733
733
  **Usage:** `ppm skills info [options] <name>`
734
734
 
@@ -121,6 +121,12 @@ _Base URL: `http://localhost:8080` (default; override via `ppm config set port <
121
121
  - `PATCH /api/projects/:name`
122
122
  - `DELETE /api/projects/:name`
123
123
 
124
+ ## /api/push
125
+
126
+ - `GET /api/push/vapid-key`
127
+ - `POST /api/push/subscribe`
128
+ - `DELETE /api/push/subscribe`
129
+
124
130
  ## /api/settings
125
131
 
126
132
  - `PUT /api/settings/device-name`
@@ -206,4 +212,4 @@ _Base URL: `http://localhost:8080` (default; override via `ppm config set port <
206
212
  - `ws://<host>/ws/terminal` — PTY terminal multiplexer
207
213
  - `ws://<host>/ws/extensions` — extension host channel
208
214
 
209
- <!-- Generated from src/server/routes/ for PPM v0.13.75 -->
215
+ <!-- Generated from src/server/routes/ for PPM v0.13.76 -->