pi-harness-runtime 0.9.22 → 0.10.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.
Files changed (393) hide show
  1. package/CHANGELOG.md +49 -7
  2. package/README.md +51 -51
  3. package/footer-status.ts +84 -44
  4. package/harness/auto-compact.ts +1 -1
  5. package/harness/auto-quota-resume.ts +15 -12
  6. package/harness/autonomous-review.ts +88 -0
  7. package/harness/context-compact-orchestrator.ts +23 -23
  8. package/harness/context-window-manager.ts +5 -5
  9. package/harness/continue-prompt.ts +3 -3
  10. package/harness/e2e/minimax-quota-scraper.ts +10 -10
  11. package/harness/e2e/openai-quota-scraper.ts +442 -0
  12. package/harness/forked-summarizer.ts +4 -4
  13. package/harness/herdr-agents.ts +91 -0
  14. package/harness/index.ts +5 -5
  15. package/harness/loop-code-agent.ts +284 -0
  16. package/harness/loop-controller.ts +201 -0
  17. package/harness/loop-review-agent.ts +295 -0
  18. package/harness/loop-runtime.ts +21 -17
  19. package/harness/loop-types.ts +118 -0
  20. package/harness/notification-events.ts +3 -3
  21. package/harness/output-limit-handler.ts +1 -1
  22. package/harness/partial-recovery.ts +3 -3
  23. package/harness/session-memory.ts +5 -5
  24. package/index.ts +211 -80
  25. package/package.json +2 -2
  26. package/packages/a2a-adapter/package.json +1 -1
  27. package/packages/a2a-adapter/src/types.ts +5 -5
  28. package/packages/auth/dist/minimax-browser-auth.d.ts +89 -0
  29. package/packages/auth/dist/minimax-browser-auth.d.ts.map +1 -0
  30. package/packages/auth/dist/minimax-browser-auth.js +890 -0
  31. package/packages/auth/dist/minimax-browser-auth.js.map +1 -0
  32. package/packages/auth/dist/run-minimax-auth.d.ts +19 -0
  33. package/packages/auth/dist/run-minimax-auth.d.ts.map +1 -0
  34. package/packages/auth/dist/run-minimax-auth.js +112 -0
  35. package/packages/auth/dist/run-minimax-auth.js.map +1 -0
  36. package/packages/auth/package.json +1 -1
  37. package/packages/auth/tsconfig.json +9 -0
  38. package/packages/autonomous-refactor/package.json +1 -1
  39. package/packages/autonomous-runtime/dist/inbox.d.ts +3 -3
  40. package/packages/autonomous-runtime/dist/inbox.js +12 -12
  41. package/packages/autonomous-runtime/dist/lease.js +14 -14
  42. package/packages/autonomous-runtime/dist/types.js +1 -1
  43. package/packages/autonomous-runtime/package.json +1 -1
  44. package/packages/autonomous-runtime/src/inbox.ts +12 -12
  45. package/packages/autonomous-runtime/src/lease.ts +15 -15
  46. package/packages/autonomous-runtime/src/types.ts +13 -13
  47. package/packages/autonomous-runtime/tsconfig.tsbuildinfo +1 -1
  48. package/packages/cache-strategy/package.json +1 -1
  49. package/packages/capability-registry/dist/types.js +1 -1
  50. package/packages/capability-registry/package.json +1 -1
  51. package/packages/capability-registry/src/types.ts +5 -5
  52. package/packages/checkpoint/README.md +6 -6
  53. package/packages/checkpoint/dist/differ.js +2 -2
  54. package/packages/checkpoint/dist/engine.js +3 -3
  55. package/packages/checkpoint/dist/index.js +5 -5
  56. package/packages/checkpoint/dist/storage.js +3 -3
  57. package/packages/checkpoint/dist/types.js +1 -1
  58. package/packages/checkpoint/package.json +1 -1
  59. package/packages/checkpoint/src/differ.ts +2 -2
  60. package/packages/checkpoint/src/engine.ts +3 -3
  61. package/packages/checkpoint/src/index.ts +5 -5
  62. package/packages/checkpoint/src/storage.ts +3 -3
  63. package/packages/checkpoint/src/types.ts +10 -10
  64. package/packages/checkpoint/tsconfig.tsbuildinfo +1 -1
  65. package/packages/cli-plugin-sdk/package.json +1 -1
  66. package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -1
  67. package/packages/clipboard/dist/src/clipboard.js +15 -7
  68. package/packages/clipboard/dist/src/clipboard.js.map +1 -1
  69. package/packages/clipboard/package.json +1 -1
  70. package/packages/clipboard/src/clipboard.ts +16 -9
  71. package/packages/code-generation/README.md +13 -13
  72. package/packages/code-generation/dist/faker.js +4 -4
  73. package/packages/code-generation/dist/generator.js +3 -3
  74. package/packages/code-generation/dist/index.js +3 -3
  75. package/packages/code-generation/dist/templates/registry.js +1 -1
  76. package/packages/code-generation/dist/types.js +1 -1
  77. package/packages/code-generation/package.json +1 -1
  78. package/packages/code-generation/src/faker.ts +5 -5
  79. package/packages/code-generation/src/generator.ts +4 -4
  80. package/packages/code-generation/src/index.ts +3 -3
  81. package/packages/code-generation/src/templates/registry.ts +1 -1
  82. package/packages/code-generation/src/types.ts +10 -10
  83. package/packages/code-generation/tsconfig.tsbuildinfo +1 -1
  84. package/packages/code-review/README.md +13 -13
  85. package/packages/code-review/dist/engine.js +3 -3
  86. package/packages/code-review/dist/index.js +3 -3
  87. package/packages/code-review/dist/types.js +1 -1
  88. package/packages/code-review/package.json +1 -1
  89. package/packages/code-review/src/engine.ts +3 -3
  90. package/packages/code-review/src/index.ts +3 -3
  91. package/packages/code-review/src/types.ts +10 -10
  92. package/packages/code-review/tsconfig.tsbuildinfo +1 -1
  93. package/packages/codex-adapter/package.json +1 -1
  94. package/packages/context-compiler/dist/compiler.js +1 -1
  95. package/packages/context-compiler/package.json +1 -1
  96. package/packages/context-compiler/src/compiler.ts +1 -1
  97. package/packages/context-compiler/src/types.ts +11 -11
  98. package/packages/context-compiler/test/context-compiler.test.ts +11 -11
  99. package/packages/context-discovery/package.json +1 -1
  100. package/packages/context-manager/package.json +1 -1
  101. package/packages/cookie-sanitizer/README.md +27 -27
  102. package/packages/cookie-sanitizer/package.json +1 -1
  103. package/packages/cost-optimizer/package.json +1 -1
  104. package/packages/cost-optimizer/src/types.ts +5 -5
  105. package/packages/dependency-analyzer/package.json +1 -1
  106. package/packages/django-plugin/dist/analyzer.js +7 -7
  107. package/packages/django-plugin/package.json +1 -1
  108. package/packages/django-plugin/src/analyzer.ts +7 -7
  109. package/packages/doc-generator/package.json +1 -1
  110. package/packages/evaluation-engine/dist/engine.js +9 -9
  111. package/packages/evaluation-engine/package.json +1 -1
  112. package/packages/evaluation-engine/src/engine.ts +9 -9
  113. package/packages/evaluation-engine/src/types.ts +3 -3
  114. package/packages/evaluation-runner/package.json +1 -1
  115. package/packages/event-bus/dist/src/herdr-bus.d.ts +121 -0
  116. package/packages/event-bus/dist/src/herdr-bus.d.ts.map +1 -0
  117. package/packages/event-bus/dist/src/herdr-bus.js +322 -0
  118. package/packages/event-bus/dist/src/herdr-bus.js.map +1 -0
  119. package/packages/event-bus/dist/src/index.d.ts +2 -0
  120. package/packages/event-bus/dist/src/index.d.ts.map +1 -1
  121. package/packages/event-bus/dist/src/index.js +1 -0
  122. package/packages/event-bus/dist/src/index.js.map +1 -1
  123. package/packages/event-bus/package.json +1 -1
  124. package/packages/event-bus/src/herdr-bus.ts +525 -0
  125. package/packages/event-bus/src/index.ts +29 -0
  126. package/packages/event-store/package.json +1 -1
  127. package/packages/experience-replay/dist/replay.js +7 -7
  128. package/packages/experience-replay/package.json +1 -1
  129. package/packages/experience-replay/src/replay.ts +7 -7
  130. package/packages/experience-replay/src/types.ts +5 -5
  131. package/packages/feedback-collector/package.json +1 -1
  132. package/packages/framework-detector/README.md +18 -18
  133. package/packages/framework-detector/dist/detector.js +3 -3
  134. package/packages/framework-detector/dist/index.js +3 -3
  135. package/packages/framework-detector/dist/signatures/registry.js +24 -24
  136. package/packages/framework-detector/dist/types.js +1 -1
  137. package/packages/framework-detector/package.json +1 -1
  138. package/packages/framework-detector/src/detector.ts +3 -3
  139. package/packages/framework-detector/src/index.ts +3 -3
  140. package/packages/framework-detector/src/signatures/registry.ts +24 -24
  141. package/packages/framework-detector/src/types.ts +7 -7
  142. package/packages/framework-detector/tsconfig.tsbuildinfo +1 -1
  143. package/packages/framework-plugin-sdk/README.md +23 -23
  144. package/packages/framework-plugin-sdk/dist/index.js +2 -2
  145. package/packages/framework-plugin-sdk/dist/manager.js +3 -3
  146. package/packages/framework-plugin-sdk/dist/types.js +2 -2
  147. package/packages/framework-plugin-sdk/package.json +1 -1
  148. package/packages/framework-plugin-sdk/src/index.ts +2 -2
  149. package/packages/framework-plugin-sdk/src/manager.ts +3 -3
  150. package/packages/framework-plugin-sdk/src/types.ts +10 -10
  151. package/packages/framework-plugin-sdk/tsconfig.tsbuildinfo +1 -1
  152. package/packages/frappe-plugin/dist/analyzer.js +8 -8
  153. package/packages/frappe-plugin/dist/types.js +1 -1
  154. package/packages/frappe-plugin/package.json +1 -1
  155. package/packages/frappe-plugin/src/analyzer.ts +8 -8
  156. package/packages/frappe-plugin/src/types.ts +10 -10
  157. package/packages/generic-web-plugin/dist/analyzer.js +5 -5
  158. package/packages/generic-web-plugin/package.json +1 -1
  159. package/packages/generic-web-plugin/src/analyzer.ts +5 -5
  160. package/packages/health-monitor/package.json +1 -1
  161. package/packages/health-monitor/src/monitor.ts +1 -1
  162. package/packages/intent-analyzer/package.json +1 -1
  163. package/packages/laravel-plugin/dist/analyzer.js +11 -11
  164. package/packages/laravel-plugin/package.json +1 -1
  165. package/packages/laravel-plugin/src/analyzer.ts +11 -11
  166. package/packages/learning-engine/dist/engine.js +5 -5
  167. package/packages/learning-engine/dist/types.js +1 -1
  168. package/packages/learning-engine/package.json +1 -1
  169. package/packages/learning-engine/src/engine.ts +5 -5
  170. package/packages/learning-engine/src/types.ts +6 -6
  171. package/packages/mcp-adapter/package.json +1 -1
  172. package/packages/memory-engine/dist/engine.js +8 -8
  173. package/packages/memory-engine/dist/types.js +2 -2
  174. package/packages/memory-engine/package.json +1 -1
  175. package/packages/memory-engine/src/engine.ts +8 -8
  176. package/packages/memory-engine/src/types.ts +9 -9
  177. package/packages/model-registry/package.json +1 -1
  178. package/packages/model-registry/src/types.ts +4 -4
  179. package/packages/nextjs-plugin/dist/analyzer.js +9 -9
  180. package/packages/nextjs-plugin/package.json +1 -1
  181. package/packages/nextjs-plugin/src/analyzer.ts +9 -9
  182. package/packages/notification/dist/notification-center.js +1 -1
  183. package/packages/notification/package.json +1 -1
  184. package/packages/notification/src/notification-center.ts +1 -1
  185. package/packages/observability/dist/alerts.js +2 -2
  186. package/packages/observability/dist/health.js +4 -4
  187. package/packages/observability/dist/index.js +6 -6
  188. package/packages/observability/dist/logger.js +7 -7
  189. package/packages/observability/dist/metrics.js +11 -11
  190. package/packages/observability/dist/tracer.js +3 -3
  191. package/packages/observability/dist/types.js +1 -1
  192. package/packages/observability/package.json +1 -1
  193. package/packages/observability/src/alerts.ts +2 -2
  194. package/packages/observability/src/health.ts +4 -4
  195. package/packages/observability/src/index.ts +6 -6
  196. package/packages/observability/src/logger.ts +7 -7
  197. package/packages/observability/src/metrics.ts +11 -11
  198. package/packages/observability/src/tracer.ts +3 -3
  199. package/packages/observability/src/types.ts +7 -7
  200. package/packages/observability/test/observability.test.ts +4 -4
  201. package/packages/observability/tsconfig.tsbuildinfo +1 -1
  202. package/packages/performance-optimizer/dist/optimizer.js +1 -1
  203. package/packages/performance-optimizer/package.json +1 -1
  204. package/packages/performance-optimizer/src/optimizer.ts +1 -1
  205. package/packages/performance-optimizer/src/types.ts +4 -4
  206. package/packages/privilege-broker/package.json +1 -1
  207. package/packages/project-analyzer/dist/analyzer.js +4 -4
  208. package/packages/project-analyzer/dist/index.js +8 -8
  209. package/packages/project-analyzer/dist/signals.js +3 -3
  210. package/packages/project-analyzer/dist/types.js +1 -1
  211. package/packages/project-analyzer/package.json +1 -1
  212. package/packages/project-analyzer/src/analyzer.ts +4 -4
  213. package/packages/project-analyzer/src/index.ts +9 -9
  214. package/packages/project-analyzer/src/signals.ts +4 -4
  215. package/packages/project-analyzer/src/types.ts +15 -15
  216. package/packages/project-analyzer/test/index.test.ts +17 -17
  217. package/packages/project-analyzer/tsconfig.tsbuildinfo +1 -1
  218. package/packages/projection-engine/package.json +1 -1
  219. package/packages/prompt-compiler/dist/section-builder.js +1 -1
  220. package/packages/prompt-compiler/dist/types.js +3 -3
  221. package/packages/prompt-compiler/package.json +1 -1
  222. package/packages/prompt-compiler/src/section-builder.ts +1 -1
  223. package/packages/prompt-compiler/src/types.ts +12 -12
  224. package/packages/prompt-compiler/test/prompt-compiler.test.ts +12 -12
  225. package/packages/prompt-versioning/package.json +1 -1
  226. package/packages/provider-adapter-sdk/dist/builder.js +1 -1
  227. package/packages/provider-adapter-sdk/dist/index.js +5 -5
  228. package/packages/provider-adapter-sdk/dist/registry.js +1 -1
  229. package/packages/provider-adapter-sdk/dist/tester.js +1 -1
  230. package/packages/provider-adapter-sdk/dist/types.js +1 -1
  231. package/packages/provider-adapter-sdk/package.json +1 -1
  232. package/packages/provider-adapter-sdk/src/builder.ts +1 -1
  233. package/packages/provider-adapter-sdk/src/index.ts +6 -6
  234. package/packages/provider-adapter-sdk/src/registry.ts +1 -1
  235. package/packages/provider-adapter-sdk/src/tester.ts +1 -1
  236. package/packages/provider-adapter-sdk/src/types.ts +5 -5
  237. package/packages/provider-adapter-sdk/tsconfig.tsbuildinfo +1 -1
  238. package/packages/provider-router/package.json +1 -1
  239. package/packages/provider-router/src/types.ts +4 -4
  240. package/packages/provider-selector/package.json +1 -1
  241. package/packages/providers/dist/deepagents-adapter.js +1 -1
  242. package/packages/providers/dist/provider-id.d.ts +5 -0
  243. package/packages/providers/dist/provider-id.d.ts.map +1 -1
  244. package/packages/providers/dist/provider-id.js +6 -1
  245. package/packages/providers/dist/provider-id.js.map +1 -1
  246. package/packages/providers/package.json +1 -1
  247. package/packages/providers/src/deepagents-adapter.ts +1 -1
  248. package/packages/providers/src/provider-id.ts +6 -1
  249. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
  250. package/packages/quota-manager/dist/tui-usage-monitor.js +0 -6
  251. package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
  252. package/packages/quota-manager/package.json +1 -1
  253. package/packages/quota-manager/src/tui-usage-monitor.ts +0 -21
  254. package/packages/rate-limiter/package.json +1 -1
  255. package/packages/react-vite-plugin/dist/analyzer.js +7 -7
  256. package/packages/react-vite-plugin/package.json +1 -1
  257. package/packages/react-vite-plugin/src/analyzer.ts +7 -7
  258. package/packages/release-manager/package.json +1 -1
  259. package/packages/requirement-compiler/dist/compiler.js +17 -17
  260. package/packages/requirement-compiler/dist/types.js +2 -2
  261. package/packages/requirement-compiler/package.json +1 -1
  262. package/packages/requirement-compiler/src/compiler.ts +17 -17
  263. package/packages/requirement-compiler/src/types.ts +21 -21
  264. package/packages/requirement-compiler/test/requirement-compiler.test.ts +17 -17
  265. package/packages/runtime/dist/command-executor.js +1 -1
  266. package/packages/runtime/dist/local-runtime-agent.js +1 -1
  267. package/packages/runtime/dist/policy-engine.js +1 -1
  268. package/packages/runtime/dist/runtime-api.js +1 -1
  269. package/packages/runtime/dist/workspace-manager.js +1 -1
  270. package/packages/runtime/package.json +1 -1
  271. package/packages/runtime/src/command-executor.ts +1 -1
  272. package/packages/runtime/src/local-runtime-agent.ts +1 -1
  273. package/packages/runtime/src/policy-engine.ts +1 -1
  274. package/packages/runtime/src/runtime-api.ts +1 -1
  275. package/packages/runtime/src/workspace-manager.ts +1 -1
  276. package/packages/scheduler/package.json +1 -1
  277. package/packages/scheduler-adapter/package.json +1 -1
  278. package/packages/session/README.md +18 -18
  279. package/packages/session/dist/history.js +3 -3
  280. package/packages/session/dist/index.js +5 -5
  281. package/packages/session/dist/manager.js +3 -3
  282. package/packages/session/dist/policy.js +2 -2
  283. package/packages/session/dist/store.js +2 -2
  284. package/packages/session/dist/types.js +1 -1
  285. package/packages/session/package.json +1 -1
  286. package/packages/session/src/history.ts +3 -3
  287. package/packages/session/src/index.ts +5 -5
  288. package/packages/session/src/manager.ts +3 -3
  289. package/packages/session/src/policy.ts +4 -4
  290. package/packages/session/src/store.ts +3 -3
  291. package/packages/session/src/types.ts +10 -10
  292. package/packages/session/tsconfig.tsbuildinfo +1 -1
  293. package/packages/session-api/package.json +1 -1
  294. package/packages/session-export/package.json +1 -1
  295. package/packages/shared-context/package.json +1 -1
  296. package/packages/skill-registry/package.json +1 -1
  297. package/packages/skill-registry/src/types.ts +4 -4
  298. package/packages/sprint-planner/package.json +1 -1
  299. package/packages/subscription-engine/package.json +1 -1
  300. package/packages/task-compiler/dist/compiler.js +7 -7
  301. package/packages/task-compiler/dist/decompose.js +11 -11
  302. package/packages/task-compiler/dist/file-scope.js +6 -6
  303. package/packages/task-compiler/dist/graph.js +6 -6
  304. package/packages/task-compiler/dist/index.js +2 -2
  305. package/packages/task-compiler/dist/types.js +5 -5
  306. package/packages/task-compiler/dist/validate.js +2 -2
  307. package/packages/task-compiler/dist/verification.js +2 -2
  308. package/packages/task-compiler/package.json +1 -1
  309. package/packages/task-compiler/src/command-policy.ts +1 -1
  310. package/packages/task-compiler/src/compiler.ts +7 -7
  311. package/packages/task-compiler/src/decompose.ts +11 -11
  312. package/packages/task-compiler/src/file-scope.ts +6 -6
  313. package/packages/task-compiler/src/graph.ts +6 -6
  314. package/packages/task-compiler/src/index.ts +3 -3
  315. package/packages/task-compiler/src/types.ts +14 -14
  316. package/packages/task-compiler/src/validate.ts +2 -2
  317. package/packages/task-compiler/src/verification.ts +2 -2
  318. package/packages/task-compiler/test/task-compiler.test.ts +10 -10
  319. package/packages/test-data-generator/README.md +13 -13
  320. package/packages/test-data-generator/dist/faker-adapter.js +4 -4
  321. package/packages/test-data-generator/dist/generator.js +3 -3
  322. package/packages/test-data-generator/dist/index.js +3 -3
  323. package/packages/test-data-generator/dist/types.js +1 -1
  324. package/packages/test-data-generator/package.json +1 -1
  325. package/packages/test-data-generator/src/faker-adapter.ts +4 -4
  326. package/packages/test-data-generator/src/generator.ts +3 -3
  327. package/packages/test-data-generator/src/index.ts +3 -3
  328. package/packages/test-data-generator/src/types.ts +9 -9
  329. package/packages/test-data-generator/tsconfig.tsbuildinfo +1 -1
  330. package/packages/test-generator/package.json +1 -1
  331. package/packages/token-estimation/package.json +1 -1
  332. package/packages/token-optimizer/package.json +1 -1
  333. package/packages/tui/package.json +1 -1
  334. package/packages/types/package.json +1 -1
  335. package/packages/types/src/agent-worker-types.ts +5 -5
  336. package/packages/types/src/runtime-types.ts +12 -12
  337. package/packages/types/tsconfig.tsbuildinfo +1 -1
  338. package/packages/workflow-events/package.json +1 -1
  339. package/packages/workspace-scanner/package.json +1 -1
  340. package/packages/worktree/package.json +1 -1
  341. package/renderer.ts +7 -7
  342. package/skills/harness-runtime/SKILL.md +15 -15
  343. package/packages/dependency-analyzer/dist/analyzer.d.ts +0 -17
  344. package/packages/dependency-analyzer/dist/analyzer.d.ts.map +0 -1
  345. package/packages/dependency-analyzer/dist/analyzer.js +0 -106
  346. package/packages/dependency-analyzer/dist/analyzer.js.map +0 -1
  347. package/packages/dependency-analyzer/dist/imports.d.ts +0 -12
  348. package/packages/dependency-analyzer/dist/imports.d.ts.map +0 -1
  349. package/packages/dependency-analyzer/dist/imports.js +0 -73
  350. package/packages/dependency-analyzer/dist/imports.js.map +0 -1
  351. package/packages/dependency-analyzer/dist/index.d.ts +0 -4
  352. package/packages/dependency-analyzer/dist/index.d.ts.map +0 -1
  353. package/packages/dependency-analyzer/dist/index.js +0 -3
  354. package/packages/dependency-analyzer/dist/index.js.map +0 -1
  355. package/packages/dependency-analyzer/dist/test/analyzer.test.js +0 -37
  356. package/packages/dependency-analyzer/dist/types.d.ts +0 -28
  357. package/packages/dependency-analyzer/dist/types.d.ts.map +0 -1
  358. package/packages/dependency-analyzer/dist/types.js +0 -5
  359. package/packages/dependency-analyzer/dist/types.js.map +0 -1
  360. package/packages/intent-analyzer/dist/analyzer.d.ts +0 -13
  361. package/packages/intent-analyzer/dist/analyzer.d.ts.map +0 -1
  362. package/packages/intent-analyzer/dist/analyzer.js +0 -72
  363. package/packages/intent-analyzer/dist/analyzer.js.map +0 -1
  364. package/packages/intent-analyzer/dist/index.d.ts +0 -3
  365. package/packages/intent-analyzer/dist/index.d.ts.map +0 -1
  366. package/packages/intent-analyzer/dist/index.js +0 -2
  367. package/packages/intent-analyzer/dist/index.js.map +0 -1
  368. package/packages/intent-analyzer/dist/test/analyzer.test.js +0 -56
  369. package/packages/intent-analyzer/dist/types.d.ts +0 -26
  370. package/packages/intent-analyzer/dist/types.d.ts.map +0 -1
  371. package/packages/intent-analyzer/dist/types.js +0 -7
  372. package/packages/intent-analyzer/dist/types.js.map +0 -1
  373. package/packages/workspace-scanner/dist/detect.d.ts +0 -3
  374. package/packages/workspace-scanner/dist/detect.d.ts.map +0 -1
  375. package/packages/workspace-scanner/dist/detect.js +0 -58
  376. package/packages/workspace-scanner/dist/detect.js.map +0 -1
  377. package/packages/workspace-scanner/dist/git.d.ts +0 -7
  378. package/packages/workspace-scanner/dist/git.d.ts.map +0 -1
  379. package/packages/workspace-scanner/dist/git.js +0 -75
  380. package/packages/workspace-scanner/dist/git.js.map +0 -1
  381. package/packages/workspace-scanner/dist/index.d.ts +0 -5
  382. package/packages/workspace-scanner/dist/index.d.ts.map +0 -1
  383. package/packages/workspace-scanner/dist/index.js +0 -4
  384. package/packages/workspace-scanner/dist/index.js.map +0 -1
  385. package/packages/workspace-scanner/dist/scanner.d.ts +0 -11
  386. package/packages/workspace-scanner/dist/scanner.d.ts.map +0 -1
  387. package/packages/workspace-scanner/dist/scanner.js +0 -46
  388. package/packages/workspace-scanner/dist/scanner.js.map +0 -1
  389. package/packages/workspace-scanner/dist/test/scanner.test.js +0 -34
  390. package/packages/workspace-scanner/dist/types.d.ts +0 -35
  391. package/packages/workspace-scanner/dist/types.d.ts.map +0 -1
  392. package/packages/workspace-scanner/dist/types.js +0 -5
  393. package/packages/workspace-scanner/dist/types.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  * Interfaces for replaying prior runtime execution.
5
5
  */
6
6
 
7
- // ─── Local Type Definitions ───────────────────────────────────────────────
7
+ // --- Local Type Definitions -----------------------------------------------
8
8
 
9
9
  export interface RuntimeEvent {
10
10
  ts: string;
@@ -40,7 +40,7 @@ export interface TaskGraph {
40
40
  edges: Array<{ from: string; to: string }>;
41
41
  }
42
42
 
43
- // ─── Replay Types ─────────────────────────────────────────────────────────────
43
+ // --- Replay Types -------------------------------------------------------------
44
44
 
45
45
  export type ReplayMode = "inspect" | "simulate" | "reexecute";
46
46
 
@@ -86,7 +86,7 @@ export interface ReplayResult {
86
86
  replayedAt: string;
87
87
  }
88
88
 
89
- // ─── Replay Sources ───────────────────────────────────────────────────────────
89
+ // --- Replay Sources -----------------------------------------------------------
90
90
 
91
91
  export interface ReplaySources {
92
92
  checkpoint?: RuntimeCheckpoint;
@@ -103,7 +103,7 @@ export interface ReplaySources {
103
103
  toSequence?: number;
104
104
  }
105
105
 
106
- // ─── Divergence Detection ─────────────────────────────────────────────────────
106
+ // --- Divergence Detection -----------------------------------------------------
107
107
 
108
108
  export type DivergenceReason =
109
109
  | "source_file_changed"
@@ -119,7 +119,7 @@ export interface DivergenceCheck {
119
119
  severity: "info" | "warning" | "error";
120
120
  }
121
121
 
122
- // ─── Runtime Events ───────────────────────────────────────────────────────────
122
+ // --- Runtime Events -----------------------------------------------------------
123
123
 
124
124
  export type ReplayRuntimeEvent =
125
125
  | { type: "replay.started"; jobId: string; mode: ReplayMode }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/feedback-collector",
3
- "version": "0.9.15",
3
+ "version": "0.9.25",
4
4
  "type": "module",
5
5
  "description": "Collect and aggregate human/automated feedback (RFC-0021)",
6
6
  "main": "dist/index.js",
@@ -262,22 +262,22 @@ interface DetectionSignal {
262
262
  ## Architecture
263
263
 
264
264
  ```
265
- ┌─────────────────────────────────────────────────────────┐
266
- │ FrameworkDetector │
267
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
268
- │ │ Scanner │ │ Matcher │ │ Confidence │ │
269
- │ │ │──│ │──│ Calculator │ │
270
- │ └─────────────┘ └─────────────┘ └─────────────────┘ │
271
- │ │ │ │
272
- │ ▼ ▼ │
273
- │ ┌─────────────┐ ┌─────────────────┐│
274
- │ │ File │ │ Detection ││
275
- │ │ Cache │ │ Results ││
276
- │ └─────────────┘ └─────────────────┘│
277
- │ │ │
278
- │ ┌─────────────────────────────────────────────────────┐│
279
- │ │ Signature Registry ││
280
- │ │ [React] [Vue] [Next.js] [Django] [Frappe] [...] ││
281
- │ └─────────────────────────────────────────────────────┘│
282
- └─────────────────────────────────────────────────────────┘
265
+ +---------------------------------------------------------+
266
+ | FrameworkDetector |
267
+ | +-------------+ +-------------+ +-----------------+ |
268
+ | | Scanner | | Matcher | | Confidence | |
269
+ | | |--| |--| Calculator | |
270
+ | +-------------+ +-------------+ +-----------------+ |
271
+ | | | |
272
+ | ▼ ▼ |
273
+ | +-------------+ +-----------------+|
274
+ | | File | | Detection ||
275
+ | | Cache | | Results ||
276
+ | +-------------+ +-----------------+|
277
+ | | |
278
+ | +-----------------------------------------------------+|
279
+ | | Signature Registry ||
280
+ | | [React] [Vue] [Next.js] [Django] [Frappe] [...] ||
281
+ | +-----------------------------------------------------+|
282
+ +---------------------------------------------------------+
283
283
  ```
@@ -7,7 +7,7 @@ import { existsSync, readFileSync } from "node:fs";
7
7
  import { readdir } from "node:fs/promises";
8
8
  import { basename, extname, join } from "node:path";
9
9
  import { SignatureRegistry } from "./signatures/registry.js";
10
- // ─── Default Configuration ─────────────────────────────────────────────────
10
+ // --- Default Configuration -------------------------------------------------
11
11
  const DEFAULT_CONFIG = {
12
12
  confidenceThreshold: 0.3,
13
13
  detectVersions: true,
@@ -17,7 +17,7 @@ const DEFAULT_CONFIG = {
17
17
  timeoutMs: 30000, // 30 seconds
18
18
  signatures: [],
19
19
  };
20
- // ─── Framework Detector ────────────────────────────────────────────────────
20
+ // --- Framework Detector ----------------------------------------------------
21
21
  export class FrameworkDetector {
22
22
  config;
23
23
  registry;
@@ -463,7 +463,7 @@ export class FrameworkDetector {
463
463
  return this.registry;
464
464
  }
465
465
  }
466
- // ─── Factory Function ──────────────────────────────────────────────────────
466
+ // --- Factory Function ------------------------------------------------------
467
467
  /**
468
468
  * Create a framework detector
469
469
  */
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * Intelligent framework detection system with confidence scoring.
5
5
  */
6
- // ─── Detector ──────────────────────────────────────────────────────────
6
+ // --- Detector ----------------------------------------------------------
7
7
  export { FrameworkDetector, createFrameworkDetector, } from "./detector.js";
8
- // ─── Signatures ────────────────────────────────────────────────────────
8
+ // --- Signatures --------------------------------------------------------
9
9
  export { SignatureRegistry, getDefaultSignatures, } from "./signatures/registry.js";
10
- // ─── Types ───────────────────────────────────────────────────────────
10
+ // --- Types -----------------------------------------------------------
11
11
  export { SDK_VERSION, } from "./types.js";
12
12
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Registry of framework detection signatures.
5
5
  */
6
- // ─── Default Signatures ────────────────────────────────────────────────────
6
+ // --- Default Signatures ----------------------------------------------------
7
7
  /**
8
8
  * Get all default framework signatures
9
9
  */
@@ -39,7 +39,7 @@ export function getDefaultSignatures() {
39
39
  getFrappeSpaSignature(),
40
40
  ];
41
41
  }
42
- // ─── React ──────────────────────────────────────────────────────────────
42
+ // --- React --------------------------------------------------------------
43
43
  function getReactSignature() {
44
44
  return {
45
45
  id: "react",
@@ -61,7 +61,7 @@ function getReactSignature() {
61
61
  tags: ["javascript", "ui", "component"],
62
62
  };
63
63
  }
64
- // ─── Vue ───────────────────────────────────────────────────────────────
64
+ // --- Vue ---------------------------------------------------------------
65
65
  function getVueSignature() {
66
66
  return {
67
67
  id: "vue",
@@ -87,7 +87,7 @@ function getVueSignature() {
87
87
  tags: ["javascript", "ui", "component"],
88
88
  };
89
89
  }
90
- // ─── Angular ───────────────────────────────────────────────────────────
90
+ // --- Angular -----------------------------------------------------------
91
91
  function getAngularSignature() {
92
92
  return {
93
93
  id: "angular",
@@ -112,7 +112,7 @@ function getAngularSignature() {
112
112
  tags: ["typescript", "ui", "enterprise"],
113
113
  };
114
114
  }
115
- // ─── Next.js ───────────────────────────────────────────────────────────
115
+ // --- Next.js -----------------------------------------------------------
116
116
  function getNextJsSignature() {
117
117
  return {
118
118
  id: "nextjs",
@@ -130,7 +130,7 @@ function getNextJsSignature() {
130
130
  tags: ["react", "ssr", "fullstack"],
131
131
  };
132
132
  }
133
- // ─── Nuxt ──────────────────────────────────────────────────────────────
133
+ // --- Nuxt --------------------------------------------------------------
134
134
  function getNuxtSignature() {
135
135
  return {
136
136
  id: "nuxt",
@@ -146,7 +146,7 @@ function getNuxtSignature() {
146
146
  tags: ["vue", "ssr", "fullstack"],
147
147
  };
148
148
  }
149
- // ─── Svelte ───────────────────────────────────────────────────────────
149
+ // --- Svelte -----------------------------------------------------------
150
150
  function getSvelteSignature() {
151
151
  return {
152
152
  id: "svelte",
@@ -161,7 +161,7 @@ function getSvelteSignature() {
161
161
  tags: ["javascript", "compiler"],
162
162
  };
163
163
  }
164
- // ─── Express ───────────────────────────────────────────────────────────
164
+ // --- Express -----------------------------------------------------------
165
165
  function getExpressSignature() {
166
166
  return {
167
167
  id: "express",
@@ -182,7 +182,7 @@ function getExpressSignature() {
182
182
  tags: ["nodejs", "api", "backend"],
183
183
  };
184
184
  }
185
- // ─── Fastify ──────────────────────────────────────────────────────────
185
+ // --- Fastify ----------------------------------------------------------
186
186
  function getFastifySignature() {
187
187
  return {
188
188
  id: "fastify",
@@ -201,7 +201,7 @@ function getFastifySignature() {
201
201
  tags: ["nodejs", "api", "high-performance"],
202
202
  };
203
203
  }
204
- // ─── NestJS ───────────────────────────────────────────────────────────
204
+ // --- NestJS -----------------------------------------------------------
205
205
  function getNestJsSignature() {
206
206
  return {
207
207
  id: "nestjs",
@@ -226,7 +226,7 @@ function getNestJsSignature() {
226
226
  tags: ["nodejs", "api", "enterprise", "typescript"],
227
227
  };
228
228
  }
229
- // ─── Django ───────────────────────────────────────────────────────────
229
+ // --- Django -----------------------------------------------------------
230
230
  function getDjangoSignature() {
231
231
  return {
232
232
  id: "django",
@@ -246,7 +246,7 @@ function getDjangoSignature() {
246
246
  tags: ["python", "fullstack", "orm"],
247
247
  };
248
248
  }
249
- // ─── Flask ─────────────────────────────────────────────────────────────
249
+ // --- Flask -------------------------------------------------------------
250
250
  function getFlaskSignature() {
251
251
  return {
252
252
  id: "flask",
@@ -265,7 +265,7 @@ function getFlaskSignature() {
265
265
  tags: ["python", "api", "micro"],
266
266
  };
267
267
  }
268
- // ─── Spring Boot ──────────────────────────────────────────────────────
268
+ // --- Spring Boot ------------------------------------------------------
269
269
  function getSpringBootSignature() {
270
270
  return {
271
271
  id: "spring-boot",
@@ -301,7 +301,7 @@ function getSpringBootSignature() {
301
301
  tags: ["java", "enterprise", "api"],
302
302
  };
303
303
  }
304
- // ─── FastAPI ──────────────────────────────────────────────────────────
304
+ // --- FastAPI ----------------------------------------------------------
305
305
  function getFastApiSignature() {
306
306
  return {
307
307
  id: "fastapi",
@@ -320,7 +320,7 @@ function getFastApiSignature() {
320
320
  tags: ["python", "api", "modern"],
321
321
  };
322
322
  }
323
- // ─── Remix ────────────────────────────────────────────────────────────
323
+ // --- Remix ------------------------------------------------------------
324
324
  function getRemixSignature() {
325
325
  return {
326
326
  id: "remix",
@@ -345,7 +345,7 @@ function getRemixSignature() {
345
345
  tags: ["react", "fullstack", "ssr"],
346
346
  };
347
347
  }
348
- // ─── Astro ───────────────────────────────────────────────────────────
348
+ // --- Astro -----------------------------------------------------------
349
349
  function getAstroSignature() {
350
350
  return {
351
351
  id: "astro",
@@ -364,7 +364,7 @@ function getAstroSignature() {
364
364
  tags: ["static", "content", " Islands"],
365
365
  };
366
366
  }
367
- // ─── Electron ────────────────────────────────────────────────────────
367
+ // --- Electron --------------------------------------------------------
368
368
  function getElectronSignature() {
369
369
  return {
370
370
  id: "electron",
@@ -379,7 +379,7 @@ function getElectronSignature() {
379
379
  tags: ["desktop", "chromium", "cross-platform"],
380
380
  };
381
381
  }
382
- // ─── Tauri ───────────────────────────────────────────────────────────
382
+ // --- Tauri -----------------------------------------------------------
383
383
  function getTauriSignature() {
384
384
  return {
385
385
  id: "tauri",
@@ -404,7 +404,7 @@ function getTauriSignature() {
404
404
  tags: ["desktop", "rust", "lightweight"],
405
405
  };
406
406
  }
407
- // ─── React Native ────────────────────────────────────────────────────
407
+ // --- React Native ----------------------------------------------------
408
408
  function getReactNativeSignature() {
409
409
  return {
410
410
  id: "react-native",
@@ -425,7 +425,7 @@ function getReactNativeSignature() {
425
425
  tags: ["mobile", "native", "javascript"],
426
426
  };
427
427
  }
428
- // ─── Flutter ──────────────────────────────────────────────────────────
428
+ // --- Flutter ----------------------------------------------------------
429
429
  function getFlutterSignature() {
430
430
  return {
431
431
  id: "flutter",
@@ -439,7 +439,7 @@ function getFlutterSignature() {
439
439
  tags: ["mobile", "dart", "native"],
440
440
  };
441
441
  }
442
- // ─── Frappe ───────────────────────────────────────────────────────────
442
+ // --- Frappe -----------------------------------------------------------
443
443
  function getFrappeSignature() {
444
444
  return {
445
445
  id: "frappe",
@@ -460,7 +460,7 @@ function getFrappeSignature() {
460
460
  tags: ["python", "fullstack", "bench"],
461
461
  };
462
462
  }
463
- // ─── ERPNext ──────────────────────────────────────────────────────────
463
+ // --- ERPNext ----------------------------------------------------------
464
464
  function getErpNextSignature() {
465
465
  return {
466
466
  id: "erpnext",
@@ -475,7 +475,7 @@ function getErpNextSignature() {
475
475
  tags: ["erp", "business", "python"],
476
476
  };
477
477
  }
478
- // ─── Frappe SPA ───────────────────────────────────────────────────────
478
+ // --- Frappe SPA -------------------------------------------------------
479
479
  function getFrappeSpaSignature() {
480
480
  return {
481
481
  id: "frappe-spa",
@@ -501,7 +501,7 @@ function getFrappeSpaSignature() {
501
501
  tags: ["javascript", "spa", "frappe"],
502
502
  };
503
503
  }
504
- // ─── Signature Registry Class ───────────────────────────────────────────
504
+ // --- Signature Registry Class -------------------------------------------
505
505
  export class SignatureRegistry {
506
506
  signatures = new Map();
507
507
  categoryIndex = new Map();
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Core types for framework detection.
5
5
  */
6
- // ─── SDK Version ────────────────────────────────────────────────────────────
6
+ // --- SDK Version ------------------------------------------------------------
7
7
  /**
8
8
  * SDK version for compatibility checks
9
9
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/framework-detector",
3
- "version": "0.9.15",
3
+ "version": "0.9.25",
4
4
  "description": "Framework detection system for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@ import type {
20
20
  } from "./types.js";
21
21
  import { SignatureRegistry } from "./signatures/registry.js";
22
22
 
23
- // ─── Default Configuration ─────────────────────────────────────────────────
23
+ // --- Default Configuration -------------------------------------------------
24
24
 
25
25
  const DEFAULT_CONFIG: Required<DetectorConfig> = {
26
26
  confidenceThreshold: 0.3,
@@ -32,7 +32,7 @@ const DEFAULT_CONFIG: Required<DetectorConfig> = {
32
32
  signatures: [],
33
33
  };
34
34
 
35
- // ─── Framework Detector ────────────────────────────────────────────────────
35
+ // --- Framework Detector ----------------------------------------------------
36
36
 
37
37
  export class FrameworkDetector {
38
38
  private readonly config: Required<DetectorConfig>;
@@ -574,7 +574,7 @@ export class FrameworkDetector {
574
574
  }
575
575
  }
576
576
 
577
- // ─── Factory Function ──────────────────────────────────────────────────────
577
+ // --- Factory Function ------------------------------------------------------
578
578
 
579
579
  /**
580
580
  * Create a framework detector
@@ -4,21 +4,21 @@
4
4
  * Intelligent framework detection system with confidence scoring.
5
5
  */
6
6
 
7
- // ─── Detector ──────────────────────────────────────────────────────────
7
+ // --- Detector ----------------------------------------------------------
8
8
 
9
9
  export {
10
10
  FrameworkDetector,
11
11
  createFrameworkDetector,
12
12
  } from "./detector.js";
13
13
 
14
- // ─── Signatures ────────────────────────────────────────────────────────
14
+ // --- Signatures --------------------------------------------------------
15
15
 
16
16
  export {
17
17
  SignatureRegistry,
18
18
  getDefaultSignatures,
19
19
  } from "./signatures/registry.js";
20
20
 
21
- // ─── Types ───────────────────────────────────────────────────────────
21
+ // --- Types -----------------------------------------------------------
22
22
 
23
23
  export {
24
24
  SDK_VERSION,
@@ -6,7 +6,7 @@
6
6
 
7
7
  import type { FrameworkSignature } from "../types.js";
8
8
 
9
- // ─── Default Signatures ────────────────────────────────────────────────────
9
+ // --- Default Signatures ----------------------------------------------------
10
10
 
11
11
  /**
12
12
  * Get all default framework signatures
@@ -49,7 +49,7 @@ export function getDefaultSignatures(): FrameworkSignature[] {
49
49
  ];
50
50
  }
51
51
 
52
- // ─── React ──────────────────────────────────────────────────────────────
52
+ // --- React --------------------------------------------------------------
53
53
 
54
54
  function getReactSignature(): FrameworkSignature {
55
55
  return {
@@ -73,7 +73,7 @@ function getReactSignature(): FrameworkSignature {
73
73
  };
74
74
  }
75
75
 
76
- // ─── Vue ───────────────────────────────────────────────────────────────
76
+ // --- Vue ---------------------------------------------------------------
77
77
 
78
78
  function getVueSignature(): FrameworkSignature {
79
79
  return {
@@ -101,7 +101,7 @@ function getVueSignature(): FrameworkSignature {
101
101
  };
102
102
  }
103
103
 
104
- // ─── Angular ───────────────────────────────────────────────────────────
104
+ // --- Angular -----------------------------------------------------------
105
105
 
106
106
  function getAngularSignature(): FrameworkSignature {
107
107
  return {
@@ -128,7 +128,7 @@ function getAngularSignature(): FrameworkSignature {
128
128
  };
129
129
  }
130
130
 
131
- // ─── Next.js ───────────────────────────────────────────────────────────
131
+ // --- Next.js -----------------------------------------------------------
132
132
 
133
133
  function getNextJsSignature(): FrameworkSignature {
134
134
  return {
@@ -148,7 +148,7 @@ function getNextJsSignature(): FrameworkSignature {
148
148
  };
149
149
  }
150
150
 
151
- // ─── Nuxt ──────────────────────────────────────────────────────────────
151
+ // --- Nuxt --------------------------------------------------------------
152
152
 
153
153
  function getNuxtSignature(): FrameworkSignature {
154
154
  return {
@@ -166,7 +166,7 @@ function getNuxtSignature(): FrameworkSignature {
166
166
  };
167
167
  }
168
168
 
169
- // ─── Svelte ───────────────────────────────────────────────────────────
169
+ // --- Svelte -----------------------------------------------------------
170
170
 
171
171
  function getSvelteSignature(): FrameworkSignature {
172
172
  return {
@@ -183,7 +183,7 @@ function getSvelteSignature(): FrameworkSignature {
183
183
  };
184
184
  }
185
185
 
186
- // ─── Express ───────────────────────────────────────────────────────────
186
+ // --- Express -----------------------------------------------------------
187
187
 
188
188
  function getExpressSignature(): FrameworkSignature {
189
189
  return {
@@ -206,7 +206,7 @@ function getExpressSignature(): FrameworkSignature {
206
206
  };
207
207
  }
208
208
 
209
- // ─── Fastify ──────────────────────────────────────────────────────────
209
+ // --- Fastify ----------------------------------------------------------
210
210
 
211
211
  function getFastifySignature(): FrameworkSignature {
212
212
  return {
@@ -227,7 +227,7 @@ function getFastifySignature(): FrameworkSignature {
227
227
  };
228
228
  }
229
229
 
230
- // ─── NestJS ───────────────────────────────────────────────────────────
230
+ // --- NestJS -----------------------------------------------------------
231
231
 
232
232
  function getNestJsSignature(): FrameworkSignature {
233
233
  return {
@@ -254,7 +254,7 @@ function getNestJsSignature(): FrameworkSignature {
254
254
  };
255
255
  }
256
256
 
257
- // ─── Django ───────────────────────────────────────────────────────────
257
+ // --- Django -----------------------------------------------------------
258
258
 
259
259
  function getDjangoSignature(): FrameworkSignature {
260
260
  return {
@@ -276,7 +276,7 @@ function getDjangoSignature(): FrameworkSignature {
276
276
  };
277
277
  }
278
278
 
279
- // ─── Flask ─────────────────────────────────────────────────────────────
279
+ // --- Flask -------------------------------------------------------------
280
280
 
281
281
  function getFlaskSignature(): FrameworkSignature {
282
282
  return {
@@ -297,7 +297,7 @@ function getFlaskSignature(): FrameworkSignature {
297
297
  };
298
298
  }
299
299
 
300
- // ─── Spring Boot ──────────────────────────────────────────────────────
300
+ // --- Spring Boot ------------------------------------------------------
301
301
 
302
302
  function getSpringBootSignature(): FrameworkSignature {
303
303
  return {
@@ -335,7 +335,7 @@ function getSpringBootSignature(): FrameworkSignature {
335
335
  };
336
336
  }
337
337
 
338
- // ─── FastAPI ──────────────────────────────────────────────────────────
338
+ // --- FastAPI ----------------------------------------------------------
339
339
 
340
340
  function getFastApiSignature(): FrameworkSignature {
341
341
  return {
@@ -356,7 +356,7 @@ function getFastApiSignature(): FrameworkSignature {
356
356
  };
357
357
  }
358
358
 
359
- // ─── Remix ────────────────────────────────────────────────────────────
359
+ // --- Remix ------------------------------------------------------------
360
360
 
361
361
  function getRemixSignature(): FrameworkSignature {
362
362
  return {
@@ -383,7 +383,7 @@ function getRemixSignature(): FrameworkSignature {
383
383
  };
384
384
  }
385
385
 
386
- // ─── Astro ───────────────────────────────────────────────────────────
386
+ // --- Astro -----------------------------------------------------------
387
387
 
388
388
  function getAstroSignature(): FrameworkSignature {
389
389
  return {
@@ -404,7 +404,7 @@ function getAstroSignature(): FrameworkSignature {
404
404
  };
405
405
  }
406
406
 
407
- // ─── Electron ────────────────────────────────────────────────────────
407
+ // --- Electron --------------------------------------------------------
408
408
 
409
409
  function getElectronSignature(): FrameworkSignature {
410
410
  return {
@@ -421,7 +421,7 @@ function getElectronSignature(): FrameworkSignature {
421
421
  };
422
422
  }
423
423
 
424
- // ─── Tauri ───────────────────────────────────────────────────────────
424
+ // --- Tauri -----------------------------------------------------------
425
425
 
426
426
  function getTauriSignature(): FrameworkSignature {
427
427
  return {
@@ -448,7 +448,7 @@ function getTauriSignature(): FrameworkSignature {
448
448
  };
449
449
  }
450
450
 
451
- // ─── React Native ────────────────────────────────────────────────────
451
+ // --- React Native ----------------------------------------------------
452
452
 
453
453
  function getReactNativeSignature(): FrameworkSignature {
454
454
  return {
@@ -471,7 +471,7 @@ function getReactNativeSignature(): FrameworkSignature {
471
471
  };
472
472
  }
473
473
 
474
- // ─── Flutter ──────────────────────────────────────────────────────────
474
+ // --- Flutter ----------------------------------------------------------
475
475
 
476
476
  function getFlutterSignature(): FrameworkSignature {
477
477
  return {
@@ -487,7 +487,7 @@ function getFlutterSignature(): FrameworkSignature {
487
487
  };
488
488
  }
489
489
 
490
- // ─── Frappe ───────────────────────────────────────────────────────────
490
+ // --- Frappe -----------------------------------------------------------
491
491
 
492
492
  function getFrappeSignature(): FrameworkSignature {
493
493
  return {
@@ -510,7 +510,7 @@ function getFrappeSignature(): FrameworkSignature {
510
510
  };
511
511
  }
512
512
 
513
- // ─── ERPNext ──────────────────────────────────────────────────────────
513
+ // --- ERPNext ----------------------------------------------------------
514
514
 
515
515
  function getErpNextSignature(): FrameworkSignature {
516
516
  return {
@@ -527,7 +527,7 @@ function getErpNextSignature(): FrameworkSignature {
527
527
  };
528
528
  }
529
529
 
530
- // ─── Frappe SPA ───────────────────────────────────────────────────────
530
+ // --- Frappe SPA -------------------------------------------------------
531
531
 
532
532
  function getFrappeSpaSignature(): FrameworkSignature {
533
533
  return {
@@ -555,7 +555,7 @@ function getFrappeSpaSignature(): FrameworkSignature {
555
555
  };
556
556
  }
557
557
 
558
- // ─── Signature Registry Class ───────────────────────────────────────────
558
+ // --- Signature Registry Class -------------------------------------------
559
559
 
560
560
  export class SignatureRegistry {
561
561
  private signatures: Map<string, FrameworkSignature> = new Map();