pi-harness-runtime 1.1.0 → 1.1.2

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 (612) hide show
  1. package/.pi/plugins/herdr-clipboard/herdr-plugin.toml +22 -0
  2. package/.pi/plugins/herdr-clipboard/start-bridge.sh +29 -0
  3. package/.pi/plugins/herdr-clipboard/tmux-watch.sh +39 -0
  4. package/CHANGELOG.md +175 -13
  5. package/README.md +87 -1
  6. package/config.toml.example +35 -0
  7. package/harness/autonomous-review.ts +5 -2
  8. package/harness/e2e/chatgpt-quota-scraper.ts +478 -0
  9. package/harness/e2e/glm-quota-scraper.ts +449 -0
  10. package/harness/herdr-agents.ts +6 -2
  11. package/harness/loop-code-agent.ts +4 -1
  12. package/harness/loop-review-agent.ts +5 -6
  13. package/harness/notification-events.ts +2 -2
  14. package/harness/task-graph.d.ts +51 -0
  15. package/index.ts +147 -2
  16. package/package.json +17 -16
  17. package/packages/a2a-adapter/dist/index.d.ts +1 -0
  18. package/packages/a2a-adapter/dist/index.d.ts.map +1 -1
  19. package/packages/a2a-adapter/dist/index.js +1 -0
  20. package/packages/a2a-adapter/dist/index.js.map +1 -1
  21. package/packages/a2a-adapter/package.json +1 -1
  22. package/packages/a2a-adapter/src/discovery.ts +106 -0
  23. package/packages/a2a-adapter/src/index.ts +8 -0
  24. package/packages/architecture-generator/package.json +21 -0
  25. package/packages/architecture-generator/src/adr.ts +51 -0
  26. package/packages/architecture-generator/src/index.ts +9 -0
  27. package/packages/architecture-generator/src/mermaid.ts +76 -0
  28. package/packages/architecture-generator/src/types.ts +30 -0
  29. package/packages/auth/package.json +1 -1
  30. package/packages/autonomous-refactor/package.json +1 -1
  31. package/packages/autonomous-runtime/package.json +1 -1
  32. package/packages/cache-strategy/package.json +1 -1
  33. package/packages/capability-registry/package.json +1 -1
  34. package/packages/checkpoint/package.json +1 -1
  35. package/packages/cli-plugin-sdk/package.json +2 -2
  36. package/packages/clipboard/package.json +1 -1
  37. package/packages/clipboard/src/copy-sync.ts +52 -3
  38. package/packages/clipboard/src/index.ts +1 -0
  39. package/packages/clipboard/src/paste-bridge.ts +86 -0
  40. package/packages/clipboard-plugin/package.json +17 -0
  41. package/packages/clipboard-plugin/src/index.ts +74 -0
  42. package/packages/clipboard-plugin/src/types.ts +30 -0
  43. package/packages/code-generation/package.json +1 -1
  44. package/packages/code-review/package.json +1 -1
  45. package/packages/codex-adapter/package.json +2 -2
  46. package/packages/config-capture/package.json +23 -0
  47. package/packages/config-capture/src/index.ts +357 -0
  48. package/packages/context-compiler/package.json +1 -1
  49. package/packages/context-discovery/package.json +1 -1
  50. package/packages/context-manager/package.json +1 -1
  51. package/packages/cookie-sanitizer/package.json +1 -1
  52. package/packages/cost-optimizer/package.json +1 -1
  53. package/packages/dependency-analyzer/package.json +1 -1
  54. package/packages/django-plugin/package.json +1 -1
  55. package/packages/doc-generator/package.json +1 -1
  56. package/packages/evaluation-engine/package.json +1 -1
  57. package/packages/evaluation-runner/package.json +1 -1
  58. package/packages/event-bus/package.json +1 -1
  59. package/packages/event-bus/src/herdr-bus.ts +4 -1
  60. package/packages/event-store/package.json +1 -1
  61. package/packages/experience-replay/package.json +1 -1
  62. package/packages/feedback-collector/package.json +1 -1
  63. package/packages/file-copy-helper/package.json +17 -0
  64. package/packages/file-copy-helper/src/extension.debug.ts +226 -0
  65. package/packages/file-copy-helper/src/extension.ts +226 -0
  66. package/packages/file-copy-helper/src/index.ts +1 -0
  67. package/packages/framework-detector/package.json +1 -1
  68. package/packages/framework-plugin-sdk/package.json +1 -1
  69. package/packages/frappe-plugin/package.json +1 -1
  70. package/packages/generic-web-plugin/package.json +1 -1
  71. package/packages/health-monitor/package.json +1 -1
  72. package/packages/intent-analyzer/package.json +1 -1
  73. package/packages/knowledge-graph/package.json +24 -0
  74. package/packages/knowledge-graph/src/graph-extractor.ts +338 -0
  75. package/packages/knowledge-graph/src/index.ts +27 -0
  76. package/packages/knowledge-graph/src/mcp-client.ts +237 -0
  77. package/packages/knowledge-graph/src/provenance-linker.ts +101 -0
  78. package/packages/knowledge-graph/src/types.ts +86 -0
  79. package/packages/knowledge-retrieval/package.json +25 -0
  80. package/packages/knowledge-retrieval/src/index.ts +18 -0
  81. package/packages/knowledge-retrieval/src/mcp-client.ts +212 -0
  82. package/packages/knowledge-retrieval/src/types.ts +112 -0
  83. package/packages/laravel-plugin/package.json +1 -1
  84. package/packages/learning-engine/package.json +1 -1
  85. package/packages/mcp-adapter/package.json +1 -1
  86. package/packages/memory-engine/package.json +1 -1
  87. package/packages/milestone-manager/package.json +21 -0
  88. package/packages/milestone-manager/src/engine.ts +105 -0
  89. package/packages/milestone-manager/src/index.ts +6 -0
  90. package/packages/milestone-manager/src/types.ts +28 -0
  91. package/packages/model-registry/package.json +1 -1
  92. package/packages/nextjs-plugin/package.json +1 -1
  93. package/packages/notification/package.json +1 -1
  94. package/packages/notification/src/adapters/line-adapter.ts +119 -0
  95. package/packages/notification/src/index.ts +1 -0
  96. package/packages/notification/src/notification-center.ts +6 -0
  97. package/packages/notification/src/types.ts +7 -2
  98. package/packages/observability/package.json +1 -1
  99. package/packages/okf-indexer/package.json +12 -0
  100. package/packages/okf-indexer/src/cli.ts +25 -0
  101. package/packages/okf-indexer/src/indexer.ts +186 -0
  102. package/packages/performance-optimizer/package.json +1 -1
  103. package/packages/privilege-broker/package.json +1 -1
  104. package/packages/project-analyzer/package.json +1 -1
  105. package/packages/project-bootstrap/package.json +24 -0
  106. package/packages/project-bootstrap/src/bootstrap.ts +166 -0
  107. package/packages/project-bootstrap/src/frappe.ts +97 -0
  108. package/packages/project-bootstrap/src/index.ts +27 -0
  109. package/packages/project-bootstrap/src/minimal.ts +45 -0
  110. package/packages/project-bootstrap/src/types.ts +66 -0
  111. package/packages/project-bootstrap/src/typescript.ts +114 -0
  112. package/packages/projection-engine/package.json +1 -1
  113. package/packages/prompt-compiler/package.json +1 -1
  114. package/packages/prompt-versioning/package.json +1 -1
  115. package/packages/provider-adapter-sdk/package.json +1 -1
  116. package/packages/provider-router/dist/src/types.js +1 -1
  117. package/packages/provider-router/package.json +1 -1
  118. package/packages/provider-selector/package.json +1 -1
  119. package/packages/providers/package.json +1 -1
  120. package/packages/providers/src/adapters.ts +1 -1
  121. package/packages/providers/src/deepagents-adapter.ts +2 -2
  122. package/packages/quota-manager/package.json +1 -1
  123. package/packages/quota-manager/src/quota-manager.ts +1 -4
  124. package/packages/rate-limiter/package.json +1 -1
  125. package/packages/react-vite-plugin/package.json +1 -1
  126. package/packages/release-manager/package.json +1 -1
  127. package/packages/requirement-compiler/package.json +1 -1
  128. package/packages/runtime/package.json +1 -1
  129. package/packages/runtime/src/runtime-api.ts +16 -16
  130. package/packages/scheduler/package.json +1 -1
  131. package/packages/scheduler-adapter/package.json +1 -1
  132. package/packages/session/dist/manager.d.ts.map +1 -1
  133. package/packages/session/dist/manager.js +3 -1
  134. package/packages/session/dist/manager.js.map +1 -1
  135. package/packages/session/package.json +1 -1
  136. package/packages/session/src/manager.ts +4 -1
  137. package/packages/session-api/package.json +1 -1
  138. package/packages/session-export/package.json +1 -1
  139. package/packages/shared-context/package.json +1 -1
  140. package/packages/skill-registry/package.json +1 -1
  141. package/packages/sprint-planner/package.json +1 -1
  142. package/packages/subscription-engine/package.json +1 -1
  143. package/packages/task-compiler/package.json +1 -1
  144. package/packages/tencentdb-memory/package.json +23 -0
  145. package/packages/tencentdb-memory/src/client.ts +130 -0
  146. package/packages/tencentdb-memory/src/index.ts +32 -0
  147. package/packages/tencentdb-memory/src/loader.ts +150 -0
  148. package/packages/tencentdb-memory/src/mcp-tools.ts +213 -0
  149. package/packages/tencentdb-memory/src/types.ts +101 -0
  150. package/packages/tencentdb-sync/package.json +26 -0
  151. package/packages/tencentdb-sync/src/cli.ts +363 -0
  152. package/packages/tencentdb-sync/src/client.ts +268 -0
  153. package/packages/tencentdb-sync/src/config.ts +139 -0
  154. package/packages/tencentdb-sync/src/index.ts +15 -0
  155. package/packages/test-data-generator/package.json +1 -1
  156. package/packages/test-generator/package.json +1 -1
  157. package/packages/todo-bd-sync/package.json +1 -1
  158. package/packages/todo-bd-sync/src/detector.ts +25 -4
  159. package/packages/todo-bd-sync/src/extension.ts +8 -86
  160. package/packages/todo-bd-sync/src/task-analyzer.ts +314 -0
  161. package/packages/token-estimation/package.json +1 -1
  162. package/packages/token-optimizer/package.json +1 -1
  163. package/packages/tui/package.json +1 -1
  164. package/packages/types/package.json +1 -1
  165. package/packages/types/src/agent-worker-types.d.ts +206 -0
  166. package/packages/types/src/ai-providers.d.ts +36 -0
  167. package/packages/types/src/runtime-types.d.ts +6 -0
  168. package/packages/workflow-events/package.json +1 -1
  169. package/packages/workspace-scanner/package.json +1 -1
  170. package/packages/worktree/package.json +1 -1
  171. package/packages/worktree/src/worktree.ts +1 -4
  172. package/packages/write-review/package.json +22 -0
  173. package/packages/write-review/src/blackboard.ts +249 -0
  174. package/packages/write-review/src/gate.ts +169 -0
  175. package/packages/write-review/src/index.ts +65 -0
  176. package/packages/write-review/src/injection.ts +190 -0
  177. package/packages/write-review/src/review.ts +206 -0
  178. package/packages/write-review/src/trigger.ts +133 -0
  179. package/packages/write-review/src/types.ts +90 -0
  180. package/prompts/agents/reviewer.md +57 -0
  181. package/prompts/agents/writer.md +42 -0
  182. package/prompts/slash-commands.md +40 -0
  183. package/prompts/tencentdb-connect.md +35 -0
  184. package/prompts/tencentdb-setup.md +101 -0
  185. package/prompts/tencentdb.md +88 -0
  186. package/prompts/write-review.md +50 -0
  187. package/scripts/check-version-sync.ts +80 -0
  188. package/scripts/convert-skills-to-okf.ts +168 -0
  189. package/scripts/copy-plugins.js +56 -0
  190. package/scripts/gist-auth.ts +64 -0
  191. package/scripts/gist-poll.sh +127 -0
  192. package/scripts/release/actions-monitor.ts +357 -0
  193. package/scripts/release/adapters/base.ts +95 -0
  194. package/scripts/release/adapters/detector.ts +181 -0
  195. package/scripts/release/adapters/node-workspace.ts +230 -0
  196. package/scripts/release/adapters/python.ts +236 -0
  197. package/scripts/release/adapters/rust.ts +129 -0
  198. package/scripts/release/adapters/tauri.ts +298 -0
  199. package/scripts/release/orchestrator.ts +278 -0
  200. package/scripts/release-all.ts +211 -0
  201. package/scripts/scan-secrets.sh +68 -0
  202. package/scripts/skills-sync.ts +487 -0
  203. package/packages/a2a-adapter/tsconfig.json +0 -5
  204. package/packages/auth/dist/minimax-browser-auth.d.ts +0 -89
  205. package/packages/auth/dist/minimax-browser-auth.d.ts.map +0 -1
  206. package/packages/auth/dist/minimax-browser-auth.js +0 -890
  207. package/packages/auth/dist/minimax-browser-auth.js.map +0 -1
  208. package/packages/auth/dist/run-minimax-auth.d.ts +0 -19
  209. package/packages/auth/dist/run-minimax-auth.d.ts.map +0 -1
  210. package/packages/auth/dist/run-minimax-auth.js +0 -112
  211. package/packages/auth/dist/run-minimax-auth.js.map +0 -1
  212. package/packages/auth/tsconfig.json +0 -9
  213. package/packages/autonomous-refactor/tsconfig.json +0 -5
  214. package/packages/autonomous-runtime/test/inbox.test.mjs +0 -266
  215. package/packages/autonomous-runtime/tsconfig.json +0 -22
  216. package/packages/autonomous-runtime/tsconfig.tsbuildinfo +0 -1
  217. package/packages/cache-strategy/tsconfig.json +0 -5
  218. package/packages/capability-registry/src/types.d.ts.map +0 -1
  219. package/packages/capability-registry/src/types.js +0 -10
  220. package/packages/capability-registry/src/types.js.map +0 -1
  221. package/packages/capability-registry/tsconfig.json +0 -22
  222. package/packages/checkpoint/tsconfig.json +0 -33
  223. package/packages/checkpoint/tsconfig.tsbuildinfo +0 -1
  224. package/packages/cli-plugin-sdk/tsconfig.json +0 -11
  225. package/packages/clipboard/dist/src/clipboard.d.ts +0 -11
  226. package/packages/clipboard/dist/src/clipboard.d.ts.map +0 -1
  227. package/packages/clipboard/dist/src/clipboard.js +0 -51
  228. package/packages/clipboard/dist/src/clipboard.js.map +0 -1
  229. package/packages/clipboard/dist/src/copy-sync.d.ts +0 -27
  230. package/packages/clipboard/dist/src/copy-sync.d.ts.map +0 -1
  231. package/packages/clipboard/dist/src/copy-sync.js +0 -170
  232. package/packages/clipboard/dist/src/copy-sync.js.map +0 -1
  233. package/packages/clipboard/dist/src/gist-relay.d.ts +0 -48
  234. package/packages/clipboard/dist/src/gist-relay.d.ts.map +0 -1
  235. package/packages/clipboard/dist/src/gist-relay.js +0 -186
  236. package/packages/clipboard/dist/src/gist-relay.js.map +0 -1
  237. package/packages/clipboard/dist/src/github-login.d.ts +0 -16
  238. package/packages/clipboard/dist/src/github-login.d.ts.map +0 -1
  239. package/packages/clipboard/dist/src/github-login.js +0 -69
  240. package/packages/clipboard/dist/src/github-login.js.map +0 -1
  241. package/packages/clipboard/dist/src/index.d.ts +0 -4
  242. package/packages/clipboard/dist/src/index.d.ts.map +0 -1
  243. package/packages/clipboard/dist/src/index.js +0 -3
  244. package/packages/clipboard/dist/src/index.js.map +0 -1
  245. package/packages/clipboard/dist/src/types.d.ts +0 -13
  246. package/packages/clipboard/dist/src/types.d.ts.map +0 -1
  247. package/packages/clipboard/dist/src/types.js +0 -5
  248. package/packages/clipboard/dist/src/types.js.map +0 -1
  249. package/packages/clipboard/test/mojibake.test.mjs +0 -143
  250. package/packages/clipboard/tsconfig.json +0 -10
  251. package/packages/code-generation/tsconfig.json +0 -33
  252. package/packages/code-generation/tsconfig.tsbuildinfo +0 -1
  253. package/packages/code-review/tsconfig.json +0 -33
  254. package/packages/code-review/tsconfig.tsbuildinfo +0 -1
  255. package/packages/codex-adapter/tsconfig.json +0 -5
  256. package/packages/context-compiler/tsconfig.json +0 -17
  257. package/packages/context-discovery/dist/src/discover.d.ts +0 -3
  258. package/packages/context-discovery/dist/src/discover.d.ts.map +0 -1
  259. package/packages/context-discovery/dist/src/discover.js +0 -42
  260. package/packages/context-discovery/dist/src/discover.js.map +0 -1
  261. package/packages/context-discovery/dist/src/discovery.d.ts +0 -28
  262. package/packages/context-discovery/dist/src/discovery.d.ts.map +0 -1
  263. package/packages/context-discovery/dist/src/discovery.js +0 -21
  264. package/packages/context-discovery/dist/src/discovery.js.map +0 -1
  265. package/packages/context-discovery/dist/src/index.d.ts +0 -3
  266. package/packages/context-discovery/dist/src/index.d.ts.map +0 -1
  267. package/packages/context-discovery/dist/src/index.js +0 -2
  268. package/packages/context-discovery/dist/src/index.js.map +0 -1
  269. package/packages/context-discovery/dist/src/types.d.ts +0 -16
  270. package/packages/context-discovery/dist/src/types.d.ts.map +0 -1
  271. package/packages/context-discovery/dist/src/types.js +0 -2
  272. package/packages/context-discovery/dist/src/types.js.map +0 -1
  273. package/packages/context-discovery/tsconfig.json +0 -10
  274. package/packages/context-manager/tsconfig.json +0 -6
  275. package/packages/cookie-sanitizer/tsconfig.json +0 -8
  276. package/packages/cost-optimizer/tsconfig.json +0 -22
  277. package/packages/dependency-analyzer/dist/src/analyzer.d.ts +0 -17
  278. package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +0 -1
  279. package/packages/dependency-analyzer/dist/src/analyzer.js +0 -119
  280. package/packages/dependency-analyzer/dist/src/analyzer.js.map +0 -1
  281. package/packages/dependency-analyzer/dist/src/imports.d.ts +0 -12
  282. package/packages/dependency-analyzer/dist/src/imports.d.ts.map +0 -1
  283. package/packages/dependency-analyzer/dist/src/imports.js +0 -73
  284. package/packages/dependency-analyzer/dist/src/imports.js.map +0 -1
  285. package/packages/dependency-analyzer/dist/src/index.d.ts +0 -4
  286. package/packages/dependency-analyzer/dist/src/index.d.ts.map +0 -1
  287. package/packages/dependency-analyzer/dist/src/index.js +0 -3
  288. package/packages/dependency-analyzer/dist/src/index.js.map +0 -1
  289. package/packages/dependency-analyzer/dist/src/types.d.ts +0 -28
  290. package/packages/dependency-analyzer/dist/src/types.d.ts.map +0 -1
  291. package/packages/dependency-analyzer/dist/src/types.js +0 -5
  292. package/packages/dependency-analyzer/dist/src/types.js.map +0 -1
  293. package/packages/dependency-analyzer/test/analyzer.test.js +0 -37
  294. package/packages/dependency-analyzer/tsconfig.json +0 -10
  295. package/packages/django-plugin/tsconfig.json +0 -12
  296. package/packages/doc-generator/tsconfig.json +0 -6
  297. package/packages/evaluation-engine/tsconfig.json +0 -8
  298. package/packages/evaluation-runner/tsconfig.json +0 -5
  299. package/packages/event-bus/dist/src/bus.d.ts +0 -15
  300. package/packages/event-bus/dist/src/bus.d.ts.map +0 -1
  301. package/packages/event-bus/dist/src/bus.js +0 -98
  302. package/packages/event-bus/dist/src/bus.js.map +0 -1
  303. package/packages/event-bus/dist/src/herdr-bus.d.ts +0 -121
  304. package/packages/event-bus/dist/src/herdr-bus.d.ts.map +0 -1
  305. package/packages/event-bus/dist/src/herdr-bus.js +0 -322
  306. package/packages/event-bus/dist/src/herdr-bus.js.map +0 -1
  307. package/packages/event-bus/dist/src/index.d.ts +0 -6
  308. package/packages/event-bus/dist/src/index.d.ts.map +0 -1
  309. package/packages/event-bus/dist/src/index.js +0 -4
  310. package/packages/event-bus/dist/src/index.js.map +0 -1
  311. package/packages/event-bus/dist/src/types.d.ts +0 -27
  312. package/packages/event-bus/dist/src/types.d.ts.map +0 -1
  313. package/packages/event-bus/dist/src/types.js +0 -10
  314. package/packages/event-bus/dist/src/types.js.map +0 -1
  315. package/packages/event-bus/tsconfig.json +0 -10
  316. package/packages/event-store/dist/src/index.d.ts +0 -3
  317. package/packages/event-store/dist/src/index.d.ts.map +0 -1
  318. package/packages/event-store/dist/src/index.js +0 -2
  319. package/packages/event-store/dist/src/index.js.map +0 -1
  320. package/packages/event-store/dist/src/store.d.ts +0 -15
  321. package/packages/event-store/dist/src/store.d.ts.map +0 -1
  322. package/packages/event-store/dist/src/store.js +0 -139
  323. package/packages/event-store/dist/src/store.js.map +0 -1
  324. package/packages/event-store/dist/src/types.d.ts +0 -48
  325. package/packages/event-store/dist/src/types.d.ts.map +0 -1
  326. package/packages/event-store/dist/src/types.js +0 -5
  327. package/packages/event-store/dist/src/types.js.map +0 -1
  328. package/packages/event-store/src/types.d.ts.map +0 -1
  329. package/packages/event-store/src/types.js +0 -5
  330. package/packages/event-store/src/types.js.map +0 -1
  331. package/packages/event-store/tsconfig.json +0 -10
  332. package/packages/experience-replay/tsconfig.json +0 -8
  333. package/packages/feedback-collector/tsconfig.json +0 -5
  334. package/packages/framework-detector/tsconfig.json +0 -33
  335. package/packages/framework-detector/tsconfig.tsbuildinfo +0 -1
  336. package/packages/framework-plugin-sdk/tsconfig.json +0 -33
  337. package/packages/framework-plugin-sdk/tsconfig.tsbuildinfo +0 -1
  338. package/packages/frappe-plugin/tsconfig.json +0 -12
  339. package/packages/generic-web-plugin/tsconfig.json +0 -12
  340. package/packages/health-monitor/tsconfig.json +0 -5
  341. package/packages/intent-analyzer/dist/src/analyzer.d.ts +0 -13
  342. package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +0 -1
  343. package/packages/intent-analyzer/dist/src/analyzer.js +0 -239
  344. package/packages/intent-analyzer/dist/src/analyzer.js.map +0 -1
  345. package/packages/intent-analyzer/dist/src/index.d.ts +0 -3
  346. package/packages/intent-analyzer/dist/src/index.d.ts.map +0 -1
  347. package/packages/intent-analyzer/dist/src/index.js +0 -2
  348. package/packages/intent-analyzer/dist/src/index.js.map +0 -1
  349. package/packages/intent-analyzer/dist/src/types.d.ts +0 -26
  350. package/packages/intent-analyzer/dist/src/types.d.ts.map +0 -1
  351. package/packages/intent-analyzer/dist/src/types.js +0 -7
  352. package/packages/intent-analyzer/dist/src/types.js.map +0 -1
  353. package/packages/intent-analyzer/tsconfig.json +0 -10
  354. package/packages/laravel-plugin/tsconfig.json +0 -12
  355. package/packages/learning-engine/tsconfig.json +0 -8
  356. package/packages/mcp-adapter/tsconfig.json +0 -8
  357. package/packages/memory-engine/tsconfig.json +0 -8
  358. package/packages/model-registry/src/types.d.ts.map +0 -1
  359. package/packages/model-registry/src/types.js +0 -5
  360. package/packages/model-registry/src/types.js.map +0 -1
  361. package/packages/model-registry/tsconfig.json +0 -22
  362. package/packages/nextjs-plugin/tsconfig.json +0 -12
  363. package/packages/notification/dist/adapters/email-adapter.d.ts +0 -17
  364. package/packages/notification/dist/adapters/email-adapter.d.ts.map +0 -1
  365. package/packages/notification/dist/adapters/email-adapter.js +0 -89
  366. package/packages/notification/dist/adapters/email-adapter.js.map +0 -1
  367. package/packages/notification/dist/adapters/ntfy-adapter.d.ts +0 -17
  368. package/packages/notification/dist/adapters/ntfy-adapter.d.ts.map +0 -1
  369. package/packages/notification/dist/adapters/ntfy-adapter.js +0 -84
  370. package/packages/notification/dist/adapters/ntfy-adapter.js.map +0 -1
  371. package/packages/notification/dist/adapters/telegram-adapter.d.ts +0 -17
  372. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +0 -1
  373. package/packages/notification/dist/adapters/telegram-adapter.js +0 -88
  374. package/packages/notification/dist/adapters/telegram-adapter.js.map +0 -1
  375. package/packages/notification/dist/adapters/webhook-adapter.d.ts +0 -15
  376. package/packages/notification/dist/adapters/webhook-adapter.d.ts.map +0 -1
  377. package/packages/notification/dist/adapters/webhook-adapter.js +0 -64
  378. package/packages/notification/dist/adapters/webhook-adapter.js.map +0 -1
  379. package/packages/notification/dist/base-adapter.d.ts +0 -36
  380. package/packages/notification/dist/base-adapter.d.ts.map +0 -1
  381. package/packages/notification/dist/base-adapter.js +0 -39
  382. package/packages/notification/dist/base-adapter.js.map +0 -1
  383. package/packages/notification/dist/index.d.ts +0 -9
  384. package/packages/notification/dist/index.d.ts.map +0 -1
  385. package/packages/notification/dist/index.js +0 -9
  386. package/packages/notification/dist/index.js.map +0 -1
  387. package/packages/notification/dist/notification-center.d.ts +0 -46
  388. package/packages/notification/dist/notification-center.d.ts.map +0 -1
  389. package/packages/notification/dist/notification-center.js +0 -228
  390. package/packages/notification/dist/notification-center.js.map +0 -1
  391. package/packages/notification/dist/types.d.ts +0 -65
  392. package/packages/notification/dist/types.d.ts.map +0 -1
  393. package/packages/notification/dist/types.js +0 -7
  394. package/packages/notification/dist/types.js.map +0 -1
  395. package/packages/notification/tsconfig.json +0 -8
  396. package/packages/observability/tsconfig.json +0 -33
  397. package/packages/observability/tsconfig.tsbuildinfo +0 -1
  398. package/packages/performance-optimizer/tsconfig.json +0 -8
  399. package/packages/privilege-broker/config/privileges.yaml.example +0 -172
  400. package/packages/privilege-broker/tsconfig.json +0 -22
  401. package/packages/privilege-broker/tsconfig.tsbuildinfo +0 -1
  402. package/packages/project-analyzer/tsconfig.json +0 -33
  403. package/packages/project-analyzer/tsconfig.tsbuildinfo +0 -1
  404. package/packages/projection-engine/dist/src/engine.d.ts +0 -61
  405. package/packages/projection-engine/dist/src/engine.d.ts.map +0 -1
  406. package/packages/projection-engine/dist/src/engine.js +0 -87
  407. package/packages/projection-engine/dist/src/engine.js.map +0 -1
  408. package/packages/projection-engine/dist/src/index.d.ts +0 -2
  409. package/packages/projection-engine/dist/src/index.d.ts.map +0 -1
  410. package/packages/projection-engine/dist/src/index.js +0 -2
  411. package/packages/projection-engine/dist/src/index.js.map +0 -1
  412. package/packages/projection-engine/dist/src/project.d.ts +0 -3
  413. package/packages/projection-engine/dist/src/project.d.ts.map +0 -1
  414. package/packages/projection-engine/dist/src/project.js +0 -24
  415. package/packages/projection-engine/dist/src/project.js.map +0 -1
  416. package/packages/projection-engine/dist/src/types.d.ts +0 -55
  417. package/packages/projection-engine/dist/src/types.d.ts.map +0 -1
  418. package/packages/projection-engine/dist/src/types.js +0 -5
  419. package/packages/projection-engine/dist/src/types.js.map +0 -1
  420. package/packages/projection-engine/src/types.d.ts.map +0 -1
  421. package/packages/projection-engine/src/types.js +0 -5
  422. package/packages/projection-engine/src/types.js.map +0 -1
  423. package/packages/projection-engine/tsconfig.json +0 -10
  424. package/packages/prompt-compiler/tsconfig.json +0 -19
  425. package/packages/prompt-versioning/tsconfig.json +0 -5
  426. package/packages/provider-adapter-sdk/dist/tsconfig.tsbuildinfo +0 -1
  427. package/packages/provider-adapter-sdk/tsconfig.json +0 -34
  428. package/packages/provider-adapter-sdk/tsconfig.tsbuildinfo +0 -1
  429. package/packages/provider-router/tsconfig.json +0 -20
  430. package/packages/provider-selector/tsconfig.json +0 -6
  431. package/packages/providers/dist/adapters.d.ts +0 -133
  432. package/packages/providers/dist/adapters.d.ts.map +0 -1
  433. package/packages/providers/dist/adapters.js +0 -236
  434. package/packages/providers/dist/adapters.js.map +0 -1
  435. package/packages/providers/dist/deepagents-adapter.d.ts +0 -78
  436. package/packages/providers/dist/deepagents-adapter.d.ts.map +0 -1
  437. package/packages/providers/dist/deepagents-adapter.js +0 -323
  438. package/packages/providers/dist/deepagents-adapter.js.map +0 -1
  439. package/packages/providers/dist/glm-usage.d.ts +0 -102
  440. package/packages/providers/dist/glm-usage.d.ts.map +0 -1
  441. package/packages/providers/dist/glm-usage.js +0 -197
  442. package/packages/providers/dist/glm-usage.js.map +0 -1
  443. package/packages/providers/dist/index.d.ts +0 -11
  444. package/packages/providers/dist/index.d.ts.map +0 -1
  445. package/packages/providers/dist/index.js +0 -11
  446. package/packages/providers/dist/index.js.map +0 -1
  447. package/packages/providers/dist/openai-usage.d.ts +0 -103
  448. package/packages/providers/dist/openai-usage.d.ts.map +0 -1
  449. package/packages/providers/dist/openai-usage.js +0 -208
  450. package/packages/providers/dist/openai-usage.js.map +0 -1
  451. package/packages/providers/dist/provider-id.d.ts +0 -46
  452. package/packages/providers/dist/provider-id.d.ts.map +0 -1
  453. package/packages/providers/dist/provider-id.js +0 -113
  454. package/packages/providers/dist/provider-id.js.map +0 -1
  455. package/packages/providers/tsconfig.json +0 -8
  456. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts +0 -35
  457. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts.map +0 -1
  458. package/packages/quota-manager/dist/examples/tui-usage-integration.js +0 -73
  459. package/packages/quota-manager/dist/examples/tui-usage-integration.js.map +0 -1
  460. package/packages/quota-manager/dist/index.d.ts +0 -8
  461. package/packages/quota-manager/dist/index.d.ts.map +0 -1
  462. package/packages/quota-manager/dist/index.js +0 -8
  463. package/packages/quota-manager/dist/index.js.map +0 -1
  464. package/packages/quota-manager/dist/quota-manager.d.ts +0 -70
  465. package/packages/quota-manager/dist/quota-manager.d.ts.map +0 -1
  466. package/packages/quota-manager/dist/quota-manager.js +0 -260
  467. package/packages/quota-manager/dist/quota-manager.js.map +0 -1
  468. package/packages/quota-manager/dist/tui-usage-monitor.d.ts +0 -96
  469. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +0 -1
  470. package/packages/quota-manager/dist/tui-usage-monitor.js +0 -268
  471. package/packages/quota-manager/dist/tui-usage-monitor.js.map +0 -1
  472. package/packages/quota-manager/tsconfig.json +0 -8
  473. package/packages/rate-limiter/tsconfig.json +0 -5
  474. package/packages/react-vite-plugin/tsconfig.json +0 -12
  475. package/packages/release-manager/tsconfig.json +0 -5
  476. package/packages/requirement-compiler/tsconfig.json +0 -22
  477. package/packages/runtime/dist/command-executor.d.ts +0 -129
  478. package/packages/runtime/dist/command-executor.d.ts.map +0 -1
  479. package/packages/runtime/dist/command-executor.js +0 -383
  480. package/packages/runtime/dist/command-executor.js.map +0 -1
  481. package/packages/runtime/dist/index.d.ts +0 -11
  482. package/packages/runtime/dist/index.d.ts.map +0 -1
  483. package/packages/runtime/dist/index.js +0 -11
  484. package/packages/runtime/dist/index.js.map +0 -1
  485. package/packages/runtime/dist/local-runtime-agent.d.ts +0 -111
  486. package/packages/runtime/dist/local-runtime-agent.d.ts.map +0 -1
  487. package/packages/runtime/dist/local-runtime-agent.js +0 -356
  488. package/packages/runtime/dist/local-runtime-agent.js.map +0 -1
  489. package/packages/runtime/dist/policy-engine.d.ts +0 -203
  490. package/packages/runtime/dist/policy-engine.d.ts.map +0 -1
  491. package/packages/runtime/dist/policy-engine.js +0 -592
  492. package/packages/runtime/dist/policy-engine.js.map +0 -1
  493. package/packages/runtime/dist/runtime-api.d.ts +0 -137
  494. package/packages/runtime/dist/runtime-api.d.ts.map +0 -1
  495. package/packages/runtime/dist/runtime-api.js +0 -454
  496. package/packages/runtime/dist/runtime-api.js.map +0 -1
  497. package/packages/runtime/dist/workspace-manager.d.ts +0 -162
  498. package/packages/runtime/dist/workspace-manager.d.ts.map +0 -1
  499. package/packages/runtime/dist/workspace-manager.js +0 -451
  500. package/packages/runtime/dist/workspace-manager.js.map +0 -1
  501. package/packages/runtime/tsconfig.json +0 -8
  502. package/packages/scheduler-adapter/tsconfig.json +0 -22
  503. package/packages/scheduler-adapter/tsconfig.tsbuildinfo +0 -1
  504. package/packages/session/tsconfig.json +0 -33
  505. package/packages/session/tsconfig.tsbuildinfo +0 -1
  506. package/packages/session-api/dist/src/api.d.ts +0 -83
  507. package/packages/session-api/dist/src/api.d.ts.map +0 -1
  508. package/packages/session-api/dist/src/api.js +0 -49
  509. package/packages/session-api/dist/src/api.js.map +0 -1
  510. package/packages/session-api/dist/src/index.d.ts +0 -2
  511. package/packages/session-api/dist/src/index.d.ts.map +0 -1
  512. package/packages/session-api/dist/src/index.js +0 -2
  513. package/packages/session-api/dist/src/index.js.map +0 -1
  514. package/packages/session-api/dist/src/types.d.ts +0 -22
  515. package/packages/session-api/dist/src/types.d.ts.map +0 -1
  516. package/packages/session-api/dist/src/types.js +0 -5
  517. package/packages/session-api/dist/src/types.js.map +0 -1
  518. package/packages/session-api/tsconfig.json +0 -10
  519. package/packages/session-export/dist/src/exporter.d.ts +0 -28
  520. package/packages/session-export/dist/src/exporter.d.ts.map +0 -1
  521. package/packages/session-export/dist/src/exporter.js +0 -42
  522. package/packages/session-export/dist/src/exporter.js.map +0 -1
  523. package/packages/session-export/dist/src/index.d.ts +0 -2
  524. package/packages/session-export/dist/src/index.d.ts.map +0 -1
  525. package/packages/session-export/dist/src/index.js +0 -2
  526. package/packages/session-export/dist/src/index.js.map +0 -1
  527. package/packages/session-export/dist/src/types.d.ts +0 -20
  528. package/packages/session-export/dist/src/types.d.ts.map +0 -1
  529. package/packages/session-export/dist/src/types.js +0 -5
  530. package/packages/session-export/dist/src/types.js.map +0 -1
  531. package/packages/session-export/tsconfig.json +0 -10
  532. package/packages/skill-registry/tsconfig.json +0 -22
  533. package/packages/sprint-planner/tsconfig.json +0 -5
  534. package/packages/subscription-engine/dist/src/engine.d.ts +0 -13
  535. package/packages/subscription-engine/dist/src/engine.d.ts.map +0 -1
  536. package/packages/subscription-engine/dist/src/engine.js +0 -40
  537. package/packages/subscription-engine/dist/src/engine.js.map +0 -1
  538. package/packages/subscription-engine/dist/src/index.d.ts +0 -2
  539. package/packages/subscription-engine/dist/src/index.d.ts.map +0 -1
  540. package/packages/subscription-engine/dist/src/index.js +0 -2
  541. package/packages/subscription-engine/dist/src/index.js.map +0 -1
  542. package/packages/subscription-engine/dist/src/subscriptions.d.ts +0 -19
  543. package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +0 -1
  544. package/packages/subscription-engine/dist/src/subscriptions.js +0 -39
  545. package/packages/subscription-engine/dist/src/subscriptions.js.map +0 -1
  546. package/packages/subscription-engine/dist/src/types.d.ts +0 -24
  547. package/packages/subscription-engine/dist/src/types.d.ts.map +0 -1
  548. package/packages/subscription-engine/dist/src/types.js +0 -5
  549. package/packages/subscription-engine/dist/src/types.js.map +0 -1
  550. package/packages/subscription-engine/tsconfig.json +0 -10
  551. package/packages/task-compiler/tsconfig.json +0 -24
  552. package/packages/test-data-generator/tsconfig.json +0 -33
  553. package/packages/test-data-generator/tsconfig.tsbuildinfo +0 -1
  554. package/packages/test-generator/tsconfig.json +0 -6
  555. package/packages/token-optimizer/tsconfig.json +0 -6
  556. package/packages/tui/tsconfig.json +0 -8
  557. package/packages/types/src/runtime-types.d.ts.map +0 -1
  558. package/packages/types/src/runtime-types.js +0 -2
  559. package/packages/types/src/runtime-types.js.map +0 -1
  560. package/packages/types/tsconfig.json +0 -21
  561. package/packages/types/tsconfig.tsbuildinfo +0 -1
  562. package/packages/workflow-events/dist/src/events.d.ts +0 -38
  563. package/packages/workflow-events/dist/src/events.d.ts.map +0 -1
  564. package/packages/workflow-events/dist/src/events.js +0 -55
  565. package/packages/workflow-events/dist/src/events.js.map +0 -1
  566. package/packages/workflow-events/dist/src/index.d.ts +0 -2
  567. package/packages/workflow-events/dist/src/index.d.ts.map +0 -1
  568. package/packages/workflow-events/dist/src/index.js +0 -2
  569. package/packages/workflow-events/dist/src/index.js.map +0 -1
  570. package/packages/workflow-events/dist/src/pipeline.d.ts +0 -21
  571. package/packages/workflow-events/dist/src/pipeline.d.ts.map +0 -1
  572. package/packages/workflow-events/dist/src/pipeline.js +0 -36
  573. package/packages/workflow-events/dist/src/pipeline.js.map +0 -1
  574. package/packages/workflow-events/dist/src/types.d.ts +0 -110
  575. package/packages/workflow-events/dist/src/types.d.ts.map +0 -1
  576. package/packages/workflow-events/dist/src/types.js +0 -5
  577. package/packages/workflow-events/dist/src/types.js.map +0 -1
  578. package/packages/workflow-events/src/types.d.ts.map +0 -1
  579. package/packages/workflow-events/src/types.js +0 -5
  580. package/packages/workflow-events/src/types.js.map +0 -1
  581. package/packages/workflow-events/tsconfig.json +0 -10
  582. package/packages/workspace-scanner/dist/src/detect.d.ts +0 -3
  583. package/packages/workspace-scanner/dist/src/detect.d.ts.map +0 -1
  584. package/packages/workspace-scanner/dist/src/detect.js +0 -60
  585. package/packages/workspace-scanner/dist/src/detect.js.map +0 -1
  586. package/packages/workspace-scanner/dist/src/git.d.ts +0 -7
  587. package/packages/workspace-scanner/dist/src/git.d.ts.map +0 -1
  588. package/packages/workspace-scanner/dist/src/git.js +0 -75
  589. package/packages/workspace-scanner/dist/src/git.js.map +0 -1
  590. package/packages/workspace-scanner/dist/src/index.d.ts +0 -5
  591. package/packages/workspace-scanner/dist/src/index.d.ts.map +0 -1
  592. package/packages/workspace-scanner/dist/src/index.js +0 -4
  593. package/packages/workspace-scanner/dist/src/index.js.map +0 -1
  594. package/packages/workspace-scanner/dist/src/scanner.d.ts +0 -11
  595. package/packages/workspace-scanner/dist/src/scanner.d.ts.map +0 -1
  596. package/packages/workspace-scanner/dist/src/scanner.js +0 -59
  597. package/packages/workspace-scanner/dist/src/scanner.js.map +0 -1
  598. package/packages/workspace-scanner/dist/src/types.d.ts +0 -35
  599. package/packages/workspace-scanner/dist/src/types.d.ts.map +0 -1
  600. package/packages/workspace-scanner/dist/src/types.js +0 -5
  601. package/packages/workspace-scanner/dist/src/types.js.map +0 -1
  602. package/packages/workspace-scanner/test/scanner.test.js +0 -31
  603. package/packages/workspace-scanner/tsconfig.json +0 -10
  604. package/packages/worktree/dist/index.d.ts +0 -7
  605. package/packages/worktree/dist/index.d.ts.map +0 -1
  606. package/packages/worktree/dist/index.js +0 -7
  607. package/packages/worktree/dist/index.js.map +0 -1
  608. package/packages/worktree/dist/worktree.d.ts +0 -88
  609. package/packages/worktree/dist/worktree.d.ts.map +0 -1
  610. package/packages/worktree/dist/worktree.js +0 -242
  611. package/packages/worktree/dist/worktree.js.map +0 -1
  612. package/packages/worktree/tsconfig.json +0 -8
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: Configure TencentDB-Agent-Memory connection
3
+ argument-hint: "[server-url]"
4
+ ---
5
+ # Configure TencentDB-Agent-Memory
6
+
7
+ This command helps you connect to your own TencentDB-Agent-Memory server for centralized knowledge retrieval.
8
+
9
+ ## Options
10
+
11
+ ### 1. Use Default Server (Recommended for Testing)
12
+ If you don't have your own server, you can use the public demo:
13
+ - **URL**: `https://https://your-memory-server.example.com`
14
+ - **Note**: This is a shared server, data may be visible to others
15
+
16
+ ### 2. Deploy Your Own Server
17
+ Deploy TencentDB-Agent-Memory on your own VPS:
18
+
19
+ **Minimal Requirements:**
20
+ - 2 vCPU, 4GB RAM, 50GB SSD
21
+ - Ubuntu 22.04 LTS
22
+ - Docker installed
23
+
24
+ **Quick Deploy:**
25
+ ```bash
26
+ # SSH into your VPS
27
+ ssh user@your-vps-ip
28
+
29
+ # Install Docker if needed
30
+ curl -fsSL https://get.docker.com | sh
31
+
32
+ # Deploy the server
33
+ docker run -d \
34
+ --name tencentdb-memory \
35
+ -p 8080:8080 \
36
+ -e OPENAI_API_KEY=your-api-key \
37
+ ghcr.io/tencentcloud/tdai-memory:latest
38
+ ```
39
+
40
+ ### 3. Connect via MCP
41
+ After deployment, configure the MCP connection:
42
+
43
+ **Server URL**: `${1:-https://your-vps-ip:8080}`
44
+
45
+ **Required Headers**:
46
+ ```
47
+ x-tdai-service-id: default
48
+ x-tdai-user-key: YOUR_USER_KEY
49
+ ```
50
+
51
+ **Available Endpoints**:
52
+ - `POST /api/v1/memory/search` - Search knowledge base
53
+ - `POST /api/v1/memory/conversation/search` - Search conversations
54
+ - `GET /api/v1/health` - Health check
55
+
56
+ ## Configuration
57
+
58
+ ### Quick Setup
59
+
60
+ To connect to a TencentDB-Agent-Memory server, provide:
61
+
62
+ 1. **Server URL** (e.g., `https://memory.example.com`)
63
+ 2. **Service ID** (usually `default`)
64
+ 3. **User Key** (from your server admin)
65
+
66
+ ### Environment Variables
67
+
68
+ Add to your `.env` or shell profile:
69
+
70
+ ```bash
71
+ # TencentDB-Agent-Memory Configuration
72
+ TENANTDB_URL=https://your-server.com
73
+ TENANTDB_SERVICE_ID=default
74
+ TENANTDB_USER_KEY=your-user-key
75
+ ```
76
+
77
+ ## Next Steps
78
+
79
+ After configuration, you can:
80
+
81
+ 1. **Search Knowledge**: Use `/search <query>` to find skills and documentation
82
+ 2. **Sync Skills**: Upload your local skills to the centralized server
83
+ 3. **Query Code**: Search across all indexed codebases
84
+
85
+ ## Need Help?
86
+
87
+ - **Documentation**: https://github.com/TencentCloud/TencentDB-Agent-Memory
88
+ - **Issues**: Report bugs on the GitHub repository
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: Activate write-review loop - writer implements, reviewer checks, loop until approved
3
+ argument-hint: "<task description>"
4
+ ---
5
+ # Write-Review Loop
6
+
7
+ Use the subagent tool with chain parameter:
8
+
9
+ ```
10
+ /wr <task>
11
+ ```
12
+
13
+ ## How It Works
14
+
15
+ 1. **Writer Agent** - Reads task, implements code, writes `## WRITER_DONE`
16
+ 2. **Reviewer Agent** - Reads blackboard, reviews code quality
17
+ 3. **Loop** - If changes requested, writer updates code
18
+ 4. **Done** - When approved, writer can build/commit
19
+
20
+ ## Status File
21
+
22
+ `{project}/.write-review/status.json` shows current phase:
23
+
24
+ - `idle` - No active review
25
+ - `writing` - Writer is implementing
26
+ - `reviewing` - Reviewer is evaluating
27
+ - `approved` - Ready to build/commit
28
+ - `changes_requested` - Writer needs to update
29
+
30
+ ## Verdict Types
31
+
32
+ | Verdict | Meaning | Action |
33
+ |---------|---------|--------|
34
+ | APPROVED | Code is good | Build/commit |
35
+ | CHANGES_REQUESTED | Issues found | Update code |
36
+ | BLOCKED | Critical issues | Human help needed |
37
+
38
+ ## Examples
39
+
40
+ ```
41
+ /wr Create a React Button component
42
+ /wr Fix the login bug
43
+ /wr Add unit tests for auth module
44
+ ```
45
+
46
+ ## Prerequisites
47
+
48
+ - `.write-review/` directory in project
49
+ - `write-review` package installed
50
+ - Review agent configured in pi-harness-runtime
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Check that all version files match the latest git tag.
4
+ * Usage: bun scripts/check-version-sync.ts
5
+ *
6
+ * Exits 0 if all versions match, exits 1 if mismatch.
7
+ */
8
+
9
+ import { execSync } from "node:child_process";
10
+ import { readFileSync } from "node:fs";
11
+ import { resolve } from "path";
12
+
13
+ const repoRoot = resolve(import.meta.dir, "..");
14
+
15
+ function git(args: string[]): string {
16
+ try {
17
+ return execSync(`git ${args.join(" ")}`, {
18
+ cwd: repoRoot,
19
+ encoding: "utf-8",
20
+ stdio: ["pipe", "pipe", "pipe"],
21
+ }).trim();
22
+ } catch (e) {
23
+ const err = e as { status?: number };
24
+ if (err.status === 128) return ""; // no tags
25
+ throw e;
26
+ }
27
+ }
28
+
29
+ interface PackageJson {
30
+ version: string;
31
+ workspaces?: string[];
32
+ }
33
+
34
+ function readJson(path: string): PackageJson | null {
35
+ try {
36
+ return JSON.parse(readFileSync(resolve(repoRoot, path), "utf-8"));
37
+ } catch {
38
+ return null;
39
+ }
40
+ }
41
+
42
+ // Get latest git tag
43
+ const tags = git(["tag", "--sort=-v:refname"]);
44
+ const latestTag = tags.split("\n")[0] || "";
45
+ const latestVersion = latestTag.startsWith("v")
46
+ ? latestTag.slice(1)
47
+ : latestTag;
48
+
49
+ console.log(`Git tag (latest): ${latestVersion}`);
50
+
51
+ // Check root package.json
52
+ const rootPkg = readJson("package.json");
53
+ if (!rootPkg) {
54
+ console.error("Cannot read package.json");
55
+ process.exit(1);
56
+ }
57
+ console.log(`package.json : ${rootPkg.version}`);
58
+
59
+ // Check all workspace packages
60
+ let hasMismatch = rootPkg.version !== latestVersion;
61
+
62
+ const workspaces = rootPkg.workspaces ?? [];
63
+ for (const ws of workspaces) {
64
+ const pkgPath = ws.replace(/\/\*$/, "/package.json");
65
+ const pkg = readJson(pkgPath);
66
+ if (pkg && pkg.version !== latestVersion) {
67
+ console.log(`${pkgPath} : ${pkg.version} ❌`);
68
+ hasMismatch = true;
69
+ }
70
+ }
71
+
72
+ // Result
73
+ if (hasMismatch) {
74
+ console.log("\n❌ Version files do not match latest git tag.");
75
+ console.log(`\nTo fix: bun run release:patch\n`);
76
+ process.exit(1);
77
+ } else {
78
+ console.log("\n✅ All versions match git tag");
79
+ process.exit(0);
80
+ }
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Skills to OKF Converter
4
+ *
5
+ * Converts frappe-bench skills to OKF format for pi-harness-runtime
6
+ * - Sanitizes sensitive info (IPs, URLs, API keys)
7
+ * - Converts to OKF markdown format
8
+ * - Preserves procedures and best practices
9
+ */
10
+
11
+ import { readdir, readFile, writeFile, mkdir } from "fs/promises";
12
+ import { existsSync } from "fs";
13
+
14
+ const SOURCE_DIR =
15
+ "/home/frappe/frappe-bench/.claude-plugins/moocoding-skills/skills";
16
+ const OUTPUT_DIR = "./OKF/skills";
17
+
18
+ // Sensitive patterns to sanitize
19
+ const SANITIZE_PATTERNS: [RegExp, string][] = [
20
+ // IP addresses
21
+ [/(\b\d{1,3}\.){3}\d{1,3}\b/g, "{IP}"],
22
+ // Specific domains (high priority - before generic)
23
+ [/grist\.bunchee\.online/gi, "{GRIST_DOMAIN}"],
24
+ [
25
+ /(https?:\/\/)?[\w.-]+\.(bunchee\.online|hetzner\.com|digitalocean\.com)/gi,
26
+ "{DOMAIN}",
27
+ ],
28
+ // API keys (generic pattern - 32+ chars)
29
+ [/(?<![a-zA-Z0-9])[a-zA-Z0-9]{32,}(?![a-zA-Z0-9])/g, "{API_KEY}"],
30
+ // Bearer tokens
31
+ [/Bearer [a-zA-Z0-9._-]+/g, "Bearer {TOKEN}"],
32
+ // NPM tokens
33
+ [/npm_[a-zA-Z0-9]{36}/gi, "npm_{TOKEN}"],
34
+ // Frappe sites
35
+ [/frappe-bench\/sites\/[\w.-]+/g, "frappe-bench/sites/{SITE}"],
36
+ // Server paths
37
+ [/\/home\/frappe\/[\w-]+/g, "/home/{USER}"],
38
+ ];
39
+
40
+ interface SkillMetadata {
41
+ name: string;
42
+ description: string;
43
+ scope?: string;
44
+ }
45
+
46
+ function sanitize(text: string): string {
47
+ let result = text;
48
+ for (const [pattern, replacement] of SANITIZE_PATTERNS) {
49
+ result = result.replace(pattern, replacement);
50
+ }
51
+ return result;
52
+ }
53
+
54
+ function parseSkillMetadata(content: string): SkillMetadata | null {
55
+ const nameMatch = content.match(/^name:\s*(.+)$/m);
56
+ const descMatch = content.match(/^description:\s*(.+)$/m);
57
+ const scopeMatch = content.match(/^scope:\s*(.+)$/m);
58
+
59
+ if (!nameMatch || !descMatch) return null;
60
+
61
+ return {
62
+ name: sanitize(nameMatch[1].trim()),
63
+ description: sanitize(descMatch[1].trim()),
64
+ scope: scopeMatch?.[1]?.trim(),
65
+ };
66
+ }
67
+
68
+ function convertToOKF(skillPath: string, content: string): string {
69
+ const metadata = parseSkillMetadata(content);
70
+ if (!metadata) return "";
71
+
72
+ const sanitized = sanitize(content);
73
+
74
+ // Convert YAML frontmatter to OKF header
75
+ let okf = `# ${metadata.name}\n\n`;
76
+ okf += `## Overview\n\n`;
77
+ okf += `${metadata.description}\n\n`;
78
+
79
+ // Extract key sections
80
+ const sections = extractSections(sanitized);
81
+
82
+ for (const [title, body] of Object.entries(sections)) {
83
+ okf += `## ${title}\n\n`;
84
+ okf += body.trim() + "\n\n";
85
+ }
86
+
87
+ // Add provenance
88
+ okf += `---\n\n`;
89
+ okf += `**Source:** ${skillPath}\n`;
90
+ okf += `**Scope:** ${metadata.scope || "global"}\n`;
91
+ okf += `**Converted:** ${new Date().toISOString().split("T")[0]}\n`;
92
+
93
+ return okf;
94
+ }
95
+
96
+ function extractSections(content: string): Record<string, string> {
97
+ const sections: Record<string, string> = {};
98
+ const lines = content.split("\n");
99
+ let currentSection = "Details";
100
+ let currentBody: string[] = [];
101
+
102
+ for (const line of lines) {
103
+ const h2Match = line.match(/^## (.+)$/);
104
+ const h3Match = line.match(/^### (.+)$/);
105
+
106
+ if (h2Match) {
107
+ if (currentBody.length > 0) {
108
+ sections[currentSection] = currentBody.join("\n");
109
+ }
110
+ currentSection = h2Match[1];
111
+ currentBody = [];
112
+ } else if (h3Match) {
113
+ currentBody.push(`### ${h3Match[1]}`);
114
+ } else if (
115
+ !line.startsWith("---") &&
116
+ !line.match(/^name:|^description:|^scope:/)
117
+ ) {
118
+ currentBody.push(line);
119
+ }
120
+ }
121
+
122
+ if (currentBody.length > 0) {
123
+ sections[currentSection] = currentBody.join("\n");
124
+ }
125
+
126
+ return sections;
127
+ }
128
+
129
+ async function convertSkills(): Promise<void> {
130
+ if (!existsSync(OUTPUT_DIR)) {
131
+ await mkdir(OUTPUT_DIR, { recursive: true });
132
+ }
133
+
134
+ const skillDirs = await readdir(SOURCE_DIR);
135
+ let converted = 0;
136
+ let skipped = 0;
137
+
138
+ for (const dir of skillDirs) {
139
+ const skillFile = `${SOURCE_DIR}/${dir}/SKILL.md`;
140
+
141
+ if (!existsSync(skillFile)) {
142
+ skipped++;
143
+ continue;
144
+ }
145
+
146
+ try {
147
+ const content = await readFile(skillFile, "utf-8");
148
+ const okfContent = convertToOKF(skillFile, content);
149
+
150
+ if (okfContent) {
151
+ const outputPath = `${OUTPUT_DIR}/${dir}.md`;
152
+ await writeFile(outputPath, okfContent);
153
+ console.log(`✅ Converted: ${dir}`);
154
+ converted++;
155
+ } else {
156
+ console.log(`⚠️ Skipped (no metadata): ${dir}`);
157
+ skipped++;
158
+ }
159
+ } catch (err) {
160
+ console.error(`❌ Error converting ${dir}:`, err);
161
+ skipped++;
162
+ }
163
+ }
164
+
165
+ console.log(`\n📊 Results: ${converted} converted, ${skipped} skipped`);
166
+ }
167
+
168
+ convertSkills();
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Copy herdr plugins to runtime directory
3
+ *
4
+ * Copies herdr plugins from .pi/plugins/ to ~/.config/herdr/plugins/
5
+ * The source .pi/plugins/ is gitignored but included in npm package via files array.
6
+ */
7
+
8
+ import { copyFileSync, mkdirSync, existsSync, readdirSync, cpSync } from "node:fs";
9
+ import { join, dirname } from "node:path";
10
+ import { fileURLToPath } from "node:url";
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ const SOURCE_PLUGINS_DIR = join(__dirname, "..", ".pi", "plugins");
16
+ const HERDR_PLUGINS_DIR = join(process.env.HOME || "~", ".config", "herdr", "plugins");
17
+
18
+ function ensureDir(dir) {
19
+ if (!existsSync(dir)) {
20
+ mkdirSync(dir, { recursive: true });
21
+ }
22
+ }
23
+
24
+ function copyPlugin(pluginName) {
25
+ const srcDir = join(SOURCE_PLUGINS_DIR, pluginName);
26
+ const destDir = join(HERDR_PLUGINS_DIR, pluginName);
27
+
28
+ if (!existsSync(srcDir)) {
29
+ console.log(`[copy-plugins] No source plugin: ${pluginName}, skipping`);
30
+ return;
31
+ }
32
+
33
+ ensureDir(destDir);
34
+ cpSync(srcDir, destDir, { recursive: true });
35
+
36
+ console.log(`[copy-plugins] Copied ${pluginName} to ${destDir}`);
37
+ }
38
+
39
+ function main() {
40
+ if (!existsSync(SOURCE_PLUGINS_DIR)) {
41
+ console.log("[copy-plugins] No .pi/plugins/ directory found, skipping");
42
+ return;
43
+ }
44
+
45
+ ensureDir(HERDR_PLUGINS_DIR);
46
+ console.log(`[copy-plugins] Herdr plugins dir: ${HERDR_PLUGINS_DIR}`);
47
+
48
+ const plugins = readdirSync(SOURCE_PLUGINS_DIR);
49
+ for (const plugin of plugins) {
50
+ copyPlugin(plugin);
51
+ }
52
+
53
+ console.log("[copy-plugins] Done!");
54
+ }
55
+
56
+ main();
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Gist Auth Setup
3
+ *
4
+ * Usage:
5
+ * bun run gist-auth
6
+ *
7
+ * Prompts for GitHub PAT and creates a secret Gist for clipboard sync.
8
+ */
9
+
10
+ import { readline } from "bun";
11
+ import {
12
+ createGist,
13
+ isConfigured,
14
+ } from "../packages/clipboard/src/gist-relay.ts";
15
+
16
+ async function main() {
17
+ console.log("\n=== pi-harness-runtime Gist Clipboard Sync Setup ===\n");
18
+
19
+ if (isConfigured()) {
20
+ console.log("Gist clipboard sync is already configured.");
21
+ console.log("Run with --reset to reconfigure.\n");
22
+ const rl = new readline.Interface({ input: stdin, output: stdout });
23
+ const answer = await rl.question("Reset configuration? (y/N): ");
24
+ rl.close();
25
+ if (answer.toLowerCase() !== "y") {
26
+ console.log("Aborted.\n");
27
+ return;
28
+ }
29
+ }
30
+
31
+ console.log("To enable clipboard sync to GitHub Gist:\n");
32
+ console.log("1. Go to https://github.com/settings/tokens");
33
+ console.log("2. Click 'Generate new token (classic)'");
34
+ console.log("3. Select scopes: 'gist' (read and write gists)");
35
+ console.log("4. Copy the token\n");
36
+
37
+ const rl = new readline.Interface({ input: stdin, output: stdout });
38
+ const token = await rl.question("GitHub Personal Access Token: ");
39
+ rl.close();
40
+
41
+ if (!token.trim()) {
42
+ console.log("No token provided. Aborted.\n");
43
+ return;
44
+ }
45
+
46
+ console.log("\nCreating secret Gist...\n");
47
+
48
+ const testContent = `pi-harness-runtime clipboard sync active
49
+ Timestamp: ${new Date().toISOString()}
50
+ `;
51
+
52
+ const result = await createGist(token.trim(), testContent);
53
+
54
+ if (result) {
55
+ console.log("✅ Gist clipboard sync configured!");
56
+ console.log(` Gist URL: ${result.gistUrl}`);
57
+ console.log("\nClient devices can poll this Gist for clipboard content.");
58
+ console.log("See scripts/gist-poll.sh for client setup.\n");
59
+ } else {
60
+ console.log("❌ Failed to create Gist. Check your token and try again.\n");
61
+ }
62
+ }
63
+
64
+ main().catch(console.error);
@@ -0,0 +1,127 @@
1
+ #!/bin/bash
2
+ # =============================================================================
3
+ # gist-poll.sh — Client clipboard poller for pi-harness-runtime Gist sync
4
+ # =============================================================================
5
+ # Cross-platform clipboard sync via GitHub Gist.
6
+ # Run this on Mac/iPad/Ubuntu to receive clipboard content from the server.
7
+ #
8
+ # Setup:
9
+ # 1. Run /github-login on the server (pi session)
10
+ # 2. Copy Gist ID from the confirmation message
11
+ # 3. Export GITHUB_TOKEN and GIST_ID below, or pass as arguments
12
+ # 4. Run this script: bash gist-poll.sh
13
+ #
14
+ # Usage:
15
+ # bash gist-poll.sh # Uses env vars or prompts
16
+ # bash gist-poll.sh <token> <gist-id> # Arguments
17
+ # GITHUB_TOKEN=xxx GIST_ID=xxx bash gist-poll.sh # Env vars
18
+ # =============================================================================
19
+
20
+ set -euo pipefail
21
+
22
+ # ── Config ────────────────────────────────────────────────────────────────────
23
+ POLL_INTERVAL="${POLL_INTERVAL:-2}" # seconds between polls
24
+ TIMEOUT_SEC=10 # curl timeout
25
+
26
+ # ── Colors ─────────────────────────────────────────────────────────────────────
27
+ RED='\033[0;31m'
28
+ GREEN='\033[0;32m'
29
+ YELLOW='\033[1;33m'
30
+ NC='\033[0m' # No Color
31
+
32
+ # ── Helpers ───────────────────────────────────────────────────────────────────
33
+ log_info() { echo -e "${GREEN}[gist-poll]${NC} $*"; }
34
+ log_warn() { echo -e "${YELLOW}[gist-poll]${NC} $*" >&2; }
35
+ log_error() { echo -e "${RED}[gist-poll]${NC} $*" >&2; }
36
+
37
+ # ── Argument parsing ───────────────────────────────────────────────────────────
38
+ GITHUB_TOKEN="${1:-${GITHUB_TOKEN:-}}"
39
+ GIST_ID="${2:-${GIST_ID:-}}"
40
+
41
+ if [[ -z "$GITHUB_TOKEN" ]] || [[ -z "$GIST_ID" ]]; then
42
+ echo ""
43
+ echo "=== pi-harness-runtime Gist Clipboard Poller ==="
44
+ echo ""
45
+ echo "Configure one of:"
46
+ echo " 1. Export variables: export GITHUB_TOKEN=xxx GIST_ID=xxx"
47
+ echo " 2. Pass arguments: bash gist-poll.sh <token> <gist-id>"
48
+ echo ""
49
+ echo "Get these from the /github-login confirmation message on the server."
50
+ echo ""
51
+ echo "The /github-login command shows the Gist URL like:"
52
+ echo " https://gist.github.com/<username>/<GIST_ID>"
53
+ echo ""
54
+ echo "Example:"
55
+ echo " bash gist-poll.sh ghp_xxxxx abc123def456"
56
+ echo ""
57
+ exit 1
58
+ fi
59
+
60
+ # ── Detect clipboard tool ───────────────────────────────────────────────────────
61
+ detect_clipboard_tool() {
62
+ if command -v pbcopy >/dev/null 2>&1; then
63
+ echo "pbcopy"
64
+ elif command -v xclip >/dev/null 2>&1; then
65
+ echo "xclip"
66
+ elif command -v xsel >/dev/null 2>&1; then
67
+ echo "xsel"
68
+ else
69
+ log_error "No clipboard tool found (pbcopy, xclip, xsel)"
70
+ log_error "Install one of: pbcopy (macOS), xclip (Linux), xsel (Linux)"
71
+ exit 1
72
+ fi
73
+ }
74
+
75
+ write_clipboard() {
76
+ local content="$1"
77
+ local tool
78
+ tool=$(detect_clipboard_tool)
79
+
80
+ case "$tool" in
81
+ pbcopy)
82
+ echo "$content" | pbcopy
83
+ ;;
84
+ xclip)
85
+ echo "$content" | xclip -selection clipboard -in
86
+ ;;
87
+ xsel)
88
+ echo "$content" | xsel --clipboard --input
89
+ ;;
90
+ esac
91
+ log_info "Updated clipboard (${tool}): ${#content} chars"
92
+ }
93
+
94
+ # ── Fetch from Gist ───────────────────────────────────────────────────────────
95
+ fetch_gist_content() {
96
+ curl -s \
97
+ --max-time "$TIMEOUT_SEC" \
98
+ -H "Authorization: Bearer $GITHUB_TOKEN" \
99
+ -H "Accept: application/vnd.github+json" \
100
+ -H "X-GitHub-Api-Version: 2022-11-28" \
101
+ "https://api.github.com/gists/$GIST_ID" |
102
+ grep -o '"content":"[^"]*"' |
103
+ sed 's/"content":"//;s/"$//' |
104
+ head -1
105
+ }
106
+
107
+ # ── Main loop ─────────────────────────────────────────────────────────────────
108
+ log_info "Starting Gist clipboard poller..."
109
+ log_info "Poll interval: ${POLL_INTERVAL}s"
110
+ log_info "Gist: https://gist.github.com/${GIST_ID}"
111
+ log_info "Clipboard tool: $(detect_clipboard_tool)"
112
+ log_info ""
113
+ log_info "Press Ctrl+C to stop."
114
+ log_info "Any text copied on the server (Ctrl+Shift+C) will appear here."
115
+
116
+ LAST_CONTENT=""
117
+
118
+ while true; do
119
+ CURRENT_CONTENT=$(fetch_gist_content 2>/dev/null || echo "")
120
+
121
+ if [[ -n "$CURRENT_CONTENT" ]] && [[ "$CURRENT_CONTENT" != "$LAST_CONTENT" ]]; then
122
+ LAST_CONTENT="$CURRENT_CONTENT"
123
+ write_clipboard "$CURRENT_CONTENT"
124
+ fi
125
+
126
+ sleep "$POLL_INTERVAL"
127
+ done