qlogicagent 2.13.5 → 2.13.7

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 (1277) hide show
  1. package/dist/cli.js +304 -304
  2. package/dist/index.js +1269 -15
  3. package/dist/permissions.js +1 -1
  4. package/dist/pet-contracts.js +1 -1
  5. package/dist/types/cli/community-skill-installer.d.ts +2 -0
  6. package/dist/types/cli/handlers/community-handler.d.ts +6 -0
  7. package/dist/types/cli/runtime-dependency-catalog.d.ts +38 -12
  8. package/dist/types/cli/skills-query-service.d.ts +4 -0
  9. package/dist/types/config/cn-mirror.d.ts +23 -0
  10. package/dist/types/index.d.ts +1 -0
  11. package/dist/types/protocol/methods.d.ts +27 -3
  12. package/dist/types/runtime/community/community-consent-client.d.ts +58 -1
  13. package/dist/types/runtime/community/community-telemetry-types.d.ts +1 -1
  14. package/dist/types/runtime/community/package-materialize.d.ts +19 -0
  15. package/dist/types/runtime/community/ranged-download.d.ts +15 -0
  16. package/dist/types/runtime/community/registry-signature.d.ts +48 -0
  17. package/dist/types/runtime/infra/llmrouter-catalog.d.ts +3 -3
  18. package/dist/types/runtime/infra/model-registry.d.ts +17 -2
  19. package/dist/types/runtime/pet/pet-community-assets.d.ts +14 -1
  20. package/package.json +110 -110
  21. package/dist/agent/agent.d.ts +0 -48
  22. package/dist/agent/agent.js +0 -197
  23. package/dist/agent/memory-recall-context.d.ts +0 -18
  24. package/dist/agent/memory-recall-context.js +0 -139
  25. package/dist/agent/memory-recall-context.test.d.ts +0 -1
  26. package/dist/agent/memory-recall-context.test.js +0 -58
  27. package/dist/agent/memory-recall-injection.d.ts +0 -34
  28. package/dist/agent/memory-recall-injection.js +0 -66
  29. package/dist/agent/runtime-vars.d.ts +0 -48
  30. package/dist/agent/runtime-vars.js +0 -54
  31. package/dist/agent/tool-access.d.ts +0 -1
  32. package/dist/agent/tool-access.js +0 -1
  33. package/dist/agent/tool-loop/artifact-events.d.ts +0 -17
  34. package/dist/agent/tool-loop/artifact-events.js +0 -75
  35. package/dist/agent/tool-loop/budget-continuation-policy.d.ts +0 -22
  36. package/dist/agent/tool-loop/budget-continuation-policy.js +0 -44
  37. package/dist/agent/tool-loop/completion-action-policy.d.ts +0 -19
  38. package/dist/agent/tool-loop/completion-action-policy.js +0 -68
  39. package/dist/agent/tool-loop/completion-action-policy.test.d.ts +0 -1
  40. package/dist/agent/tool-loop/completion-action-policy.test.js +0 -77
  41. package/dist/agent/tool-loop/completion-stop-policy.d.ts +0 -19
  42. package/dist/agent/tool-loop/completion-stop-policy.js +0 -31
  43. package/dist/agent/tool-loop/compression-pipeline.d.ts +0 -44
  44. package/dist/agent/tool-loop/compression-pipeline.js +0 -68
  45. package/dist/agent/tool-loop/loop-helpers.d.ts +0 -15
  46. package/dist/agent/tool-loop/loop-helpers.js +0 -86
  47. package/dist/agent/tool-loop/recovery-helpers.d.ts +0 -18
  48. package/dist/agent/tool-loop/recovery-helpers.js +0 -42
  49. package/dist/agent/tool-loop/single-round.d.ts +0 -2
  50. package/dist/agent/tool-loop/single-round.js +0 -43
  51. package/dist/agent/tool-loop/skill-instruction-policy.d.ts +0 -7
  52. package/dist/agent/tool-loop/skill-instruction-policy.js +0 -18
  53. package/dist/agent/tool-loop/stream-error-recovery.d.ts +0 -59
  54. package/dist/agent/tool-loop/stream-error-recovery.js +0 -93
  55. package/dist/agent/tool-loop/tool-failure-policy.d.ts +0 -22
  56. package/dist/agent/tool-loop/tool-failure-policy.js +0 -46
  57. package/dist/agent/tool-loop/tool-result-events.d.ts +0 -11
  58. package/dist/agent/tool-loop/tool-result-events.js +0 -59
  59. package/dist/agent/tool-loop/tool-result-events.test.d.ts +0 -1
  60. package/dist/agent/tool-loop/tool-result-events.test.js +0 -30
  61. package/dist/agent/tool-loop.contract.test.d.ts +0 -1
  62. package/dist/agent/tool-loop.contract.test.js +0 -254
  63. package/dist/agent/tool-loop.d.ts +0 -121
  64. package/dist/agent/tool-loop.js +0 -1017
  65. package/dist/agent/tool-loop.policy-architecture.test.d.ts +0 -1
  66. package/dist/agent/tool-loop.policy-architecture.test.js +0 -21
  67. package/dist/agent/tool-loop.states.test.d.ts +0 -1
  68. package/dist/agent/tool-loop.states.test.js +0 -211
  69. package/dist/agent/tunable-defaults.d.ts +0 -1
  70. package/dist/agent/tunable-defaults.js +0 -1
  71. package/dist/agent/types.d.ts +0 -311
  72. package/dist/agent/types.js +0 -8
  73. package/dist/cli/acp-commands.d.ts +0 -32
  74. package/dist/cli/acp-commands.js +0 -145
  75. package/dist/cli/acp-commands.test.d.ts +0 -1
  76. package/dist/cli/acp-commands.test.js +0 -89
  77. package/dist/cli/acp-extended-handlers.d.ts +0 -69
  78. package/dist/cli/acp-extended-handlers.js +0 -484
  79. package/dist/cli/acp-extended-handlers.product-confirm.test.d.ts +0 -1
  80. package/dist/cli/acp-extended-handlers.product-confirm.test.js +0 -56
  81. package/dist/cli/acp-extended-handlers.product-project.test.d.ts +0 -1
  82. package/dist/cli/acp-extended-handlers.product-project.test.js +0 -66
  83. package/dist/cli/acp-extended-handlers.solo-project.test.d.ts +0 -1
  84. package/dist/cli/acp-extended-handlers.solo-project.test.js +0 -51
  85. package/dist/cli/acp-extended-handlers.specchat.test.d.ts +0 -1
  86. package/dist/cli/acp-extended-handlers.specchat.test.js +0 -62
  87. package/dist/cli/acp-extended-handlers.workflowchat.test.d.ts +0 -1
  88. package/dist/cli/acp-extended-handlers.workflowchat.test.js +0 -49
  89. package/dist/cli/acp-extended-host-adapter.d.ts +0 -29
  90. package/dist/cli/acp-extended-host-adapter.js +0 -40
  91. package/dist/cli/acp-extended-host-adapter.test.d.ts +0 -1
  92. package/dist/cli/acp-extended-host-adapter.test.js +0 -63
  93. package/dist/cli/acp-message-router.d.ts +0 -8
  94. package/dist/cli/acp-message-router.js +0 -40
  95. package/dist/cli/acp-message-router.test.d.ts +0 -1
  96. package/dist/cli/acp-message-router.test.js +0 -30
  97. package/dist/cli/acp-session-handlers.d.ts +0 -41
  98. package/dist/cli/acp-session-handlers.js +0 -304
  99. package/dist/cli/acp-session-handlers.test.d.ts +0 -1
  100. package/dist/cli/acp-session-handlers.test.js +0 -346
  101. package/dist/cli/acp-session-host.d.ts +0 -48
  102. package/dist/cli/acp-session-host.js +0 -1
  103. package/dist/cli/agent-config-coordinator.d.ts +0 -16
  104. package/dist/cli/agent-config-coordinator.js +0 -56
  105. package/dist/cli/agent-config-coordinator.test.d.ts +0 -1
  106. package/dist/cli/agent-config-coordinator.test.js +0 -51
  107. package/dist/cli/agent-config-runtime.d.ts +0 -11
  108. package/dist/cli/agent-config-runtime.js +0 -4
  109. package/dist/cli/agent-runner-factory.d.ts +0 -2
  110. package/dist/cli/agent-runner-factory.js +0 -11
  111. package/dist/cli/agent-runtime-bootstrap.d.ts +0 -67
  112. package/dist/cli/agent-runtime-bootstrap.js +0 -104
  113. package/dist/cli/agent-runtime-ports-adapter.d.ts +0 -2
  114. package/dist/cli/agent-runtime-ports-adapter.js +0 -22
  115. package/dist/cli/agent-runtime-session-state.d.ts +0 -24
  116. package/dist/cli/agent-runtime-session-state.js +0 -51
  117. package/dist/cli/agent-status-notifier.d.ts +0 -11
  118. package/dist/cli/agent-status-notifier.js +0 -26
  119. package/dist/cli/agent-status-notifier.test.d.ts +0 -1
  120. package/dist/cli/agent-status-notifier.test.js +0 -33
  121. package/dist/cli/base-tool-bootstrap.d.ts +0 -16
  122. package/dist/cli/base-tool-bootstrap.js +0 -20
  123. package/dist/cli/cli-acp-request-handler.d.ts +0 -11
  124. package/dist/cli/cli-acp-request-handler.js +0 -61
  125. package/dist/cli/cli-acp-request-handler.test.d.ts +0 -1
  126. package/dist/cli/cli-acp-request-handler.test.js +0 -58
  127. package/dist/cli/cli-agent-builder.d.ts +0 -35
  128. package/dist/cli/cli-agent-builder.js +0 -33
  129. package/dist/cli/community-resource-installer.d.ts +0 -30
  130. package/dist/cli/community-resource-installer.js +0 -66
  131. package/dist/cli/community-resource-installer.test.d.ts +0 -1
  132. package/dist/cli/community-resource-installer.test.js +0 -175
  133. package/dist/cli/community-skill-installer.d.ts +0 -12
  134. package/dist/cli/community-skill-installer.js +0 -220
  135. package/dist/cli/community-skill-installer.test.d.ts +0 -1
  136. package/dist/cli/community-skill-installer.test.js +0 -179
  137. package/dist/cli/community-workflow-installer.d.ts +0 -29
  138. package/dist/cli/community-workflow-installer.js +0 -69
  139. package/dist/cli/conversation-context.d.ts +0 -30
  140. package/dist/cli/conversation-context.js +0 -69
  141. package/dist/cli/conversation-context.test.d.ts +0 -1
  142. package/dist/cli/conversation-context.test.js +0 -61
  143. package/dist/cli/core-tool-coordinator.d.ts +0 -41
  144. package/dist/cli/core-tool-coordinator.js +0 -55
  145. package/dist/cli/core-tools/agent-tool-bootstrap.d.ts +0 -12
  146. package/dist/cli/core-tools/agent-tool-bootstrap.js +0 -5
  147. package/dist/cli/core-tools/agent-tool-service.background.test.d.ts +0 -1
  148. package/dist/cli/core-tools/agent-tool-service.background.test.js +0 -212
  149. package/dist/cli/core-tools/agent-tool-service.d.ts +0 -36
  150. package/dist/cli/core-tools/agent-tool-service.js +0 -152
  151. package/dist/cli/core-tools/checkpoint-tool-bootstrap.d.ts +0 -9
  152. package/dist/cli/core-tools/checkpoint-tool-bootstrap.js +0 -8
  153. package/dist/cli/core-tools/checkpoint-tool-service.d.ts +0 -7
  154. package/dist/cli/core-tools/checkpoint-tool-service.js +0 -5
  155. package/dist/cli/core-tools/config-tool-bootstrap.d.ts +0 -5
  156. package/dist/cli/core-tools/config-tool-bootstrap.js +0 -5
  157. package/dist/cli/core-tools/config-tool-service.d.ts +0 -11
  158. package/dist/cli/core-tools/config-tool-service.js +0 -86
  159. package/dist/cli/core-tools/config-tool-service.test.d.ts +0 -1
  160. package/dist/cli/core-tools/config-tool-service.test.js +0 -69
  161. package/dist/cli/core-tools/cron-tool-bootstrap.d.ts +0 -8
  162. package/dist/cli/core-tools/cron-tool-bootstrap.js +0 -8
  163. package/dist/cli/core-tools/cron-workflow-service.d.ts +0 -7
  164. package/dist/cli/core-tools/cron-workflow-service.js +0 -206
  165. package/dist/cli/core-tools/cron-workflow-service.test.d.ts +0 -1
  166. package/dist/cli/core-tools/cron-workflow-service.test.js +0 -78
  167. package/dist/cli/core-tools/fork-system-prompt.d.ts +0 -45
  168. package/dist/cli/core-tools/fork-system-prompt.js +0 -66
  169. package/dist/cli/core-tools/fork-system-prompt.test.d.ts +0 -1
  170. package/dist/cli/core-tools/fork-system-prompt.test.js +0 -77
  171. package/dist/cli/core-tools/monitor-tool-bootstrap.d.ts +0 -7
  172. package/dist/cli/core-tools/monitor-tool-bootstrap.js +0 -8
  173. package/dist/cli/core-tools/monitor-tool-service.d.ts +0 -6
  174. package/dist/cli/core-tools/monitor-tool-service.js +0 -74
  175. package/dist/cli/core-tools/registry.d.ts +0 -8
  176. package/dist/cli/core-tools/registry.js +0 -60
  177. package/dist/cli/core-tools/session-tool-manifest.d.ts +0 -12
  178. package/dist/cli/core-tools/session-tool-manifest.js +0 -19
  179. package/dist/cli/core-tools/team-registry.d.ts +0 -62
  180. package/dist/cli/core-tools/team-registry.js +0 -85
  181. package/dist/cli/core-tools/team-registry.test.d.ts +0 -1
  182. package/dist/cli/core-tools/team-registry.test.js +0 -79
  183. package/dist/cli/core-tools/team-tool-bootstrap.d.ts +0 -11
  184. package/dist/cli/core-tools/team-tool-bootstrap.js +0 -8
  185. package/dist/cli/core-tools/team-tool-service.d.ts +0 -43
  186. package/dist/cli/core-tools/team-tool-service.js +0 -326
  187. package/dist/cli/core-tools/team-tool-service.test.d.ts +0 -1
  188. package/dist/cli/core-tools/team-tool-service.test.js +0 -48
  189. package/dist/cli/credential-vault.d.ts +0 -62
  190. package/dist/cli/credential-vault.js +0 -190
  191. package/dist/cli/credential-vault.test.d.ts +0 -6
  192. package/dist/cli/credential-vault.test.js +0 -130
  193. package/dist/cli/default-project-bootstrap.d.ts +0 -8
  194. package/dist/cli/default-project-bootstrap.js +0 -39
  195. package/dist/cli/dev-tool-bootstrap.d.ts +0 -8
  196. package/dist/cli/dev-tool-bootstrap.js +0 -19
  197. package/dist/cli/dev-tools/dev-tool-bootstrap-service.d.ts +0 -6
  198. package/dist/cli/dev-tools/dev-tool-bootstrap-service.js +0 -6
  199. package/dist/cli/dev-tools/dev-tool-registry.d.ts +0 -6
  200. package/dist/cli/dev-tools/dev-tool-registry.js +0 -7
  201. package/dist/cli/dev-tools/lsp-tool-service.d.ts +0 -5
  202. package/dist/cli/dev-tools/lsp-tool-service.js +0 -30
  203. package/dist/cli/dev-tools/lsp-tool-service.test.d.ts +0 -1
  204. package/dist/cli/dev-tools/lsp-tool-service.test.js +0 -14
  205. package/dist/cli/dream-host-adapter.d.ts +0 -23
  206. package/dist/cli/dream-host-adapter.js +0 -33
  207. package/dist/cli/gateway-rpc-connection.d.ts +0 -50
  208. package/dist/cli/gateway-rpc-connection.js +0 -133
  209. package/dist/cli/handlers/agents-handler.d.ts +0 -51
  210. package/dist/cli/handlers/agents-handler.js +0 -769
  211. package/dist/cli/handlers/community-handler.d.ts +0 -39
  212. package/dist/cli/handlers/community-handler.js +0 -671
  213. package/dist/cli/handlers/community-handler.test.d.ts +0 -1
  214. package/dist/cli/handlers/community-handler.test.js +0 -1602
  215. package/dist/cli/handlers/config-handler.d.ts +0 -28
  216. package/dist/cli/handlers/config-handler.js +0 -438
  217. package/dist/cli/handlers/config-handler.test.d.ts +0 -1
  218. package/dist/cli/handlers/config-handler.test.js +0 -140
  219. package/dist/cli/handlers/config-handler.tools-list.test.d.ts +0 -1
  220. package/dist/cli/handlers/config-handler.tools-list.test.js +0 -93
  221. package/dist/cli/handlers/control-handler.d.ts +0 -23
  222. package/dist/cli/handlers/control-handler.js +0 -88
  223. package/dist/cli/handlers/dream-handler.d.ts +0 -31
  224. package/dist/cli/handlers/dream-handler.js +0 -235
  225. package/dist/cli/handlers/files-handler.d.ts +0 -22
  226. package/dist/cli/handlers/files-handler.instructions.test.d.ts +0 -1
  227. package/dist/cli/handlers/files-handler.instructions.test.js +0 -127
  228. package/dist/cli/handlers/files-handler.js +0 -593
  229. package/dist/cli/handlers/media-handler.d.ts +0 -19
  230. package/dist/cli/handlers/media-handler.js +0 -212
  231. package/dist/cli/handlers/media-handler.test.d.ts +0 -1
  232. package/dist/cli/handlers/media-handler.test.js +0 -107
  233. package/dist/cli/handlers/memory-handler.d.ts +0 -61
  234. package/dist/cli/handlers/memory-handler.js +0 -792
  235. package/dist/cli/handlers/pet-confirm-handler.d.ts +0 -7
  236. package/dist/cli/handlers/pet-confirm-handler.js +0 -6
  237. package/dist/cli/handlers/pet-handler.d.ts +0 -47
  238. package/dist/cli/handlers/pet-handler.js +0 -455
  239. package/dist/cli/handlers/pet-handler.test.d.ts +0 -1
  240. package/dist/cli/handlers/pet-handler.test.js +0 -620
  241. package/dist/cli/handlers/product-handler.d.ts +0 -37
  242. package/dist/cli/handlers/product-handler.js +0 -393
  243. package/dist/cli/handlers/project-handler.d.ts +0 -28
  244. package/dist/cli/handlers/project-handler.js +0 -421
  245. package/dist/cli/handlers/session-handler.channel.test.d.ts +0 -1
  246. package/dist/cli/handlers/session-handler.channel.test.js +0 -157
  247. package/dist/cli/handlers/session-handler.d.ts +0 -58
  248. package/dist/cli/handlers/session-handler.delete.test.d.ts +0 -1
  249. package/dist/cli/handlers/session-handler.delete.test.js +0 -38
  250. package/dist/cli/handlers/session-handler.js +0 -833
  251. package/dist/cli/handlers/session-handler.resume.test.d.ts +0 -1
  252. package/dist/cli/handlers/session-handler.resume.test.js +0 -66
  253. package/dist/cli/handlers/settings-handler.d.ts +0 -19
  254. package/dist/cli/handlers/settings-handler.js +0 -710
  255. package/dist/cli/handlers/settings-handler.remote-catalog.test.d.ts +0 -1
  256. package/dist/cli/handlers/settings-handler.remote-catalog.test.js +0 -1247
  257. package/dist/cli/handlers/skills-handler.d.ts +0 -29
  258. package/dist/cli/handlers/skills-handler.js +0 -368
  259. package/dist/cli/handlers/skills-handler.profile.test.d.ts +0 -1
  260. package/dist/cli/handlers/skills-handler.profile.test.js +0 -70
  261. package/dist/cli/handlers/solo-handler.d.ts +0 -38
  262. package/dist/cli/handlers/solo-handler.js +0 -351
  263. package/dist/cli/handlers/turn-handler.d.ts +0 -52
  264. package/dist/cli/handlers/turn-handler.js +0 -574
  265. package/dist/cli/handlers/turn-handler.test.d.ts +0 -1
  266. package/dist/cli/handlers/turn-handler.test.js +0 -22
  267. package/dist/cli/handlers/workflow-handler.d.ts +0 -181
  268. package/dist/cli/handlers/workflow-handler.events.test.d.ts +0 -1
  269. package/dist/cli/handlers/workflow-handler.events.test.js +0 -113
  270. package/dist/cli/handlers/workflow-handler.js +0 -1449
  271. package/dist/cli/handlers/workflow-handler.multiroot.test.d.ts +0 -12
  272. package/dist/cli/handlers/workflow-handler.multiroot.test.js +0 -745
  273. package/dist/cli/idle-dream-coordinator.d.ts +0 -47
  274. package/dist/cli/idle-dream-coordinator.js +0 -126
  275. package/dist/cli/idle-dream-coordinator.test.d.ts +0 -1
  276. package/dist/cli/idle-dream-coordinator.test.js +0 -125
  277. package/dist/cli/main.d.ts +0 -15
  278. package/dist/cli/main.js +0 -112
  279. package/dist/cli/mcp-bootstrap.d.ts +0 -20
  280. package/dist/cli/mcp-bootstrap.js +0 -66
  281. package/dist/cli/mcp-plugin-bootstrap.d.ts +0 -2
  282. package/dist/cli/mcp-plugin-bootstrap.js +0 -2
  283. package/dist/cli/mcp-plugin-bootstrap.test.d.ts +0 -1
  284. package/dist/cli/mcp-plugin-bootstrap.test.js +0 -38
  285. package/dist/cli/mcp-tool-proxy.d.ts +0 -7
  286. package/dist/cli/mcp-tool-proxy.js +0 -15
  287. package/dist/cli/media-capability-schema.d.ts +0 -49
  288. package/dist/cli/media-capability-schema.js +0 -384
  289. package/dist/cli/media-capability-schema.test.d.ts +0 -1
  290. package/dist/cli/media-capability-schema.test.js +0 -103
  291. package/dist/cli/media-file-api-service.d.ts +0 -73
  292. package/dist/cli/media-file-api-service.js +0 -143
  293. package/dist/cli/media-file-api-service.test.d.ts +0 -1
  294. package/dist/cli/media-file-api-service.test.js +0 -119
  295. package/dist/cli/media-file-tool-service.d.ts +0 -13
  296. package/dist/cli/media-file-tool-service.js +0 -63
  297. package/dist/cli/media-runtime-capability.test.d.ts +0 -1
  298. package/dist/cli/media-runtime-capability.test.js +0 -106
  299. package/dist/cli/media-runtime-facade.d.ts +0 -51
  300. package/dist/cli/media-runtime-facade.js +0 -389
  301. package/dist/cli/media-runtime-facade.test.d.ts +0 -1
  302. package/dist/cli/media-runtime-facade.test.js +0 -42
  303. package/dist/cli/memory-candidate-service.d.ts +0 -83
  304. package/dist/cli/memory-candidate-service.js +0 -341
  305. package/dist/cli/memory-coordinator.d.ts +0 -37
  306. package/dist/cli/memory-coordinator.js +0 -85
  307. package/dist/cli/memory-coordinator.test.d.ts +0 -1
  308. package/dist/cli/memory-coordinator.test.js +0 -78
  309. package/dist/cli/memory-multimodal.test.d.ts +0 -1
  310. package/dist/cli/memory-multimodal.test.js +0 -137
  311. package/dist/cli/model-client-resolver.d.ts +0 -31
  312. package/dist/cli/model-client-resolver.js +0 -173
  313. package/dist/cli/model-client-resolver.test.d.ts +0 -1
  314. package/dist/cli/model-client-resolver.test.js +0 -105
  315. package/dist/cli/multi-agent-handler-host.d.ts +0 -27
  316. package/dist/cli/multi-agent-handler-host.js +0 -55
  317. package/dist/cli/multi-agent-handler-host.test.d.ts +0 -1
  318. package/dist/cli/multi-agent-handler-host.test.js +0 -63
  319. package/dist/cli/multi-agent-state-coordinator.d.ts +0 -11
  320. package/dist/cli/multi-agent-state-coordinator.js +0 -7
  321. package/dist/cli/permission-approval-bridge.d.ts +0 -15
  322. package/dist/cli/permission-approval-bridge.js +0 -66
  323. package/dist/cli/permission-approval-bridge.test.d.ts +0 -1
  324. package/dist/cli/permission-approval-bridge.test.js +0 -100
  325. package/dist/cli/permission-bootstrap.d.ts +0 -40
  326. package/dist/cli/permission-bootstrap.js +0 -58
  327. package/dist/cli/permission-bootstrap.test.d.ts +0 -1
  328. package/dist/cli/permission-bootstrap.test.js +0 -129
  329. package/dist/cli/permission-runtime-service.d.ts +0 -9
  330. package/dist/cli/permission-runtime-service.js +0 -11
  331. package/dist/cli/permission-settings-store.d.ts +0 -1
  332. package/dist/cli/permission-settings-store.js +0 -3
  333. package/dist/cli/permission-settings-store.test.d.ts +0 -1
  334. package/dist/cli/permission-settings-store.test.js +0 -65
  335. package/dist/cli/pet-confirm-coordinator.d.ts +0 -20
  336. package/dist/cli/pet-confirm-coordinator.js +0 -32
  337. package/dist/cli/pet-confirm-coordinator.test.d.ts +0 -1
  338. package/dist/cli/pet-confirm-coordinator.test.js +0 -34
  339. package/dist/cli/pet-runtime.d.ts +0 -55
  340. package/dist/cli/pet-runtime.js +0 -220
  341. package/dist/cli/pet-runtime.test.d.ts +0 -1
  342. package/dist/cli/pet-runtime.test.js +0 -46
  343. package/dist/cli/plugin-bootstrap.d.ts +0 -15
  344. package/dist/cli/plugin-bootstrap.js +0 -63
  345. package/dist/cli/product-coordinator.d.ts +0 -34
  346. package/dist/cli/product-coordinator.js +0 -124
  347. package/dist/cli/product-coordinator.test.d.ts +0 -1
  348. package/dist/cli/product-coordinator.test.js +0 -51
  349. package/dist/cli/project-command-service.d.ts +0 -28
  350. package/dist/cli/project-command-service.js +0 -99
  351. package/dist/cli/project-context.d.ts +0 -1
  352. package/dist/cli/project-context.js +0 -4
  353. package/dist/cli/project-memory-store-factory.d.ts +0 -2
  354. package/dist/cli/project-memory-store-factory.js +0 -11
  355. package/dist/cli/project-template-seeder.d.ts +0 -5
  356. package/dist/cli/project-template-seeder.js +0 -43
  357. package/dist/cli/provider-core-facade.d.ts +0 -31
  358. package/dist/cli/provider-core-facade.js +0 -51
  359. package/dist/cli/provider-core-facade.test.d.ts +0 -1
  360. package/dist/cli/provider-core-facade.test.js +0 -9
  361. package/dist/cli/resolved-agent-cache.d.ts +0 -47
  362. package/dist/cli/resolved-agent-cache.js +0 -38
  363. package/dist/cli/rpc-registry.community.test.d.ts +0 -1
  364. package/dist/cli/rpc-registry.community.test.js +0 -45
  365. package/dist/cli/rpc-registry.d.ts +0 -62
  366. package/dist/cli/rpc-registry.js +0 -243
  367. package/dist/cli/runtime-dependency-catalog.d.ts +0 -56
  368. package/dist/cli/runtime-dependency-catalog.js +0 -110
  369. package/dist/cli/runtime-hook-bootstrap.d.ts +0 -38
  370. package/dist/cli/runtime-hook-bootstrap.js +0 -71
  371. package/dist/cli/runtime-watcher-bootstrap.d.ts +0 -15
  372. package/dist/cli/runtime-watcher-bootstrap.js +0 -30
  373. package/dist/cli/session-context.d.ts +0 -32
  374. package/dist/cli/session-context.js +0 -15
  375. package/dist/cli/session-coordinator.d.ts +0 -22
  376. package/dist/cli/session-coordinator.js +0 -47
  377. package/dist/cli/session-coordinator.test.d.ts +0 -1
  378. package/dist/cli/session-coordinator.test.js +0 -61
  379. package/dist/cli/session-history-coordinator.d.ts +0 -8
  380. package/dist/cli/session-history-coordinator.js +0 -57
  381. package/dist/cli/session-history-coordinator.test.d.ts +0 -1
  382. package/dist/cli/session-history-coordinator.test.js +0 -39
  383. package/dist/cli/session-query-service.d.ts +0 -24
  384. package/dist/cli/session-query-service.js +0 -57
  385. package/dist/cli/skill-meta-subturn-service.d.ts +0 -26
  386. package/dist/cli/skill-meta-subturn-service.js +0 -93
  387. package/dist/cli/skill-meta-tool-bootstrap.d.ts +0 -34
  388. package/dist/cli/skill-meta-tool-bootstrap.js +0 -295
  389. package/dist/cli/skill-meta-tool-bootstrap.test.d.ts +0 -1
  390. package/dist/cli/skill-meta-tool-bootstrap.test.js +0 -42
  391. package/dist/cli/skill-supporting-file.test.d.ts +0 -1
  392. package/dist/cli/skill-supporting-file.test.js +0 -97
  393. package/dist/cli/skills-query-service.d.ts +0 -29
  394. package/dist/cli/skills-query-service.js +0 -38
  395. package/dist/cli/stdio-acp-protocol-coordinator.d.ts +0 -18
  396. package/dist/cli/stdio-acp-protocol-coordinator.js +0 -33
  397. package/dist/cli/stdio-acp-request-host.d.ts +0 -28
  398. package/dist/cli/stdio-acp-request-host.js +0 -82
  399. package/dist/cli/stdio-acp-request-host.test.d.ts +0 -1
  400. package/dist/cli/stdio-acp-request-host.test.js +0 -61
  401. package/dist/cli/stdio-agent-session-bootstrap.d.ts +0 -80
  402. package/dist/cli/stdio-agent-session-bootstrap.js +0 -74
  403. package/dist/cli/stdio-rpc-handler-hosts.d.ts +0 -50
  404. package/dist/cli/stdio-rpc-handler-hosts.js +0 -135
  405. package/dist/cli/stdio-rpc-handler-hosts.test.d.ts +0 -1
  406. package/dist/cli/stdio-rpc-handler-hosts.test.js +0 -10
  407. package/dist/cli/stdio-runtime-bootstrap.d.ts +0 -16
  408. package/dist/cli/stdio-runtime-bootstrap.js +0 -17
  409. package/dist/cli/stdio-runtime-services.d.ts +0 -36
  410. package/dist/cli/stdio-runtime-services.js +0 -53
  411. package/dist/cli/stdio-server.architecture.test.d.ts +0 -1
  412. package/dist/cli/stdio-server.architecture.test.js +0 -18
  413. package/dist/cli/stdio-server.contract.test.d.ts +0 -1
  414. package/dist/cli/stdio-server.contract.test.js +0 -96
  415. package/dist/cli/stdio-server.d.ts +0 -211
  416. package/dist/cli/stdio-server.js +0 -731
  417. package/dist/cli/stdio-session-runtime-coordinator.d.ts +0 -19
  418. package/dist/cli/stdio-session-runtime-coordinator.js +0 -21
  419. package/dist/cli/test-support/tool-catalog-fixture.d.ts +0 -3
  420. package/dist/cli/test-support/tool-catalog-fixture.js +0 -98
  421. package/dist/cli/tool-bootstrap-core-registration.d.ts +0 -30
  422. package/dist/cli/tool-bootstrap-core-registration.js +0 -555
  423. package/dist/cli/tool-bootstrap-media-registration.d.ts +0 -8
  424. package/dist/cli/tool-bootstrap-media-registration.js +0 -348
  425. package/dist/cli/tool-bootstrap-paths.d.ts +0 -7
  426. package/dist/cli/tool-bootstrap-paths.js +0 -17
  427. package/dist/cli/tool-bootstrap-providers.d.ts +0 -3
  428. package/dist/cli/tool-bootstrap-providers.js +0 -10
  429. package/dist/cli/tool-bootstrap-web-registration.d.ts +0 -13
  430. package/dist/cli/tool-bootstrap-web-registration.js +0 -144
  431. package/dist/cli/tool-bootstrap-workflow-registration.d.ts +0 -7
  432. package/dist/cli/tool-bootstrap-workflow-registration.js +0 -65
  433. package/dist/cli/tool-bootstrap.background-exec.test.d.ts +0 -1
  434. package/dist/cli/tool-bootstrap.background-exec.test.js +0 -83
  435. package/dist/cli/tool-bootstrap.cwd.test.d.ts +0 -1
  436. package/dist/cli/tool-bootstrap.cwd.test.js +0 -37
  437. package/dist/cli/tool-bootstrap.d.ts +0 -63
  438. package/dist/cli/tool-bootstrap.instructions.test.d.ts +0 -1
  439. package/dist/cli/tool-bootstrap.instructions.test.js +0 -37
  440. package/dist/cli/tool-bootstrap.js +0 -255
  441. package/dist/cli/tool-bootstrap.media-provider-alias.test.d.ts +0 -1
  442. package/dist/cli/tool-bootstrap.media-provider-alias.test.js +0 -90
  443. package/dist/cli/tool-bootstrap.test.d.ts +0 -1
  444. package/dist/cli/tool-bootstrap.test.js +0 -94
  445. package/dist/cli/tool-catalog.d.ts +0 -4
  446. package/dist/cli/tool-catalog.js +0 -14
  447. package/dist/cli/tool-invoker-factory.d.ts +0 -12
  448. package/dist/cli/tool-invoker-factory.js +0 -45
  449. package/dist/cli/tool-registration-modules.contract.test.d.ts +0 -1
  450. package/dist/cli/tool-registration-modules.contract.test.js +0 -75
  451. package/dist/cli/tool-registry-adapter.d.ts +0 -5
  452. package/dist/cli/tool-registry-adapter.js +0 -27
  453. package/dist/cli/tool-result-processor.d.ts +0 -14
  454. package/dist/cli/tool-result-processor.js +0 -83
  455. package/dist/cli/tool-result-processor.test.d.ts +0 -1
  456. package/dist/cli/tool-result-processor.test.js +0 -69
  457. package/dist/cli/transport.d.ts +0 -30
  458. package/dist/cli/transport.js +0 -68
  459. package/dist/cli/tunable-store.d.ts +0 -26
  460. package/dist/cli/tunable-store.js +0 -105
  461. package/dist/cli/turn-ask-user-setup.d.ts +0 -24
  462. package/dist/cli/turn-ask-user-setup.js +0 -46
  463. package/dist/cli/turn-ask-user-setup.test.d.ts +0 -1
  464. package/dist/cli/turn-ask-user-setup.test.js +0 -39
  465. package/dist/cli/turn-core.d.ts +0 -57
  466. package/dist/cli/turn-core.js +0 -58
  467. package/dist/cli/turn-event-forwarder.d.ts +0 -10
  468. package/dist/cli/turn-event-forwarder.js +0 -136
  469. package/dist/cli/turn-lifecycle.d.ts +0 -19
  470. package/dist/cli/turn-lifecycle.js +0 -53
  471. package/dist/cli/turn-lifecycle.test.d.ts +0 -1
  472. package/dist/cli/turn-lifecycle.test.js +0 -32
  473. package/dist/cli/turn-media-setup.d.ts +0 -19
  474. package/dist/cli/turn-media-setup.js +0 -71
  475. package/dist/cli/turn-media-setup.test.d.ts +0 -1
  476. package/dist/cli/turn-media-setup.test.js +0 -280
  477. package/dist/cli/turn-permission-sync.d.ts +0 -6
  478. package/dist/cli/turn-permission-sync.js +0 -7
  479. package/dist/cli/turn-permission-sync.test.d.ts +0 -1
  480. package/dist/cli/turn-permission-sync.test.js +0 -20
  481. package/dist/cli/turn-project-router.d.ts +0 -22
  482. package/dist/cli/turn-project-router.js +0 -141
  483. package/dist/cli/turn-project-router.test.d.ts +0 -1
  484. package/dist/cli/turn-project-router.test.js +0 -79
  485. package/dist/cli/turn-skill-autopersist.d.ts +0 -47
  486. package/dist/cli/turn-skill-autopersist.js +0 -262
  487. package/dist/cli/turn-skill-autopersist.test.d.ts +0 -1
  488. package/dist/cli/turn-skill-autopersist.test.js +0 -222
  489. package/dist/cli/turn-suggestion-generator.d.ts +0 -15
  490. package/dist/cli/turn-suggestion-generator.js +0 -34
  491. package/dist/cli/workflow-host-adapter.d.ts +0 -29
  492. package/dist/cli/workflow-host-adapter.js +0 -15
  493. package/dist/cli/workflow-host-adapter.test.d.ts +0 -1
  494. package/dist/cli/workflow-host-adapter.test.js +0 -35
  495. package/dist/config/config.d.ts +0 -17
  496. package/dist/config/config.js +0 -21
  497. package/dist/contracts/fire-hook.d.ts +0 -14
  498. package/dist/contracts/fire-hook.js +0 -14
  499. package/dist/contracts/fire-hook.test.d.ts +0 -1
  500. package/dist/contracts/fire-hook.test.js +0 -34
  501. package/dist/contracts/hooks.d.ts +0 -186
  502. package/dist/contracts/hooks.js +0 -7
  503. package/dist/contracts/index.d.ts +0 -4
  504. package/dist/contracts/index.js +0 -4
  505. package/dist/index.d.ts +0 -15
  506. package/dist/orchestration/agent-instance.d.ts +0 -84
  507. package/dist/orchestration/agent-instance.js +0 -535
  508. package/dist/orchestration/context/context-collapse.d.ts +0 -58
  509. package/dist/orchestration/context/context-collapse.js +0 -134
  510. package/dist/orchestration/context/reactive-compact.d.ts +0 -73
  511. package/dist/orchestration/context/reactive-compact.js +0 -78
  512. package/dist/orchestration/context/turn-loop-guard.d.ts +0 -86
  513. package/dist/orchestration/context/turn-loop-guard.js +0 -100
  514. package/dist/orchestration/dag-scheduler.d.ts +0 -167
  515. package/dist/orchestration/dag-scheduler.js +0 -546
  516. package/dist/orchestration/error-handling/error-classification.d.ts +0 -3
  517. package/dist/orchestration/error-handling/error-classification.js +0 -35
  518. package/dist/orchestration/error-handling/failover-classification.d.ts +0 -8
  519. package/dist/orchestration/error-handling/failover-classification.js +0 -381
  520. package/dist/orchestration/error-handling/retry-loop.d.ts +0 -69
  521. package/dist/orchestration/error-handling/retry-loop.js +0 -96
  522. package/dist/orchestration/index.d.ts +0 -15
  523. package/dist/orchestration/index.js +0 -18
  524. package/dist/orchestration/product-budget.d.ts +0 -56
  525. package/dist/orchestration/product-budget.js +0 -112
  526. package/dist/orchestration/product-checkpoint.d.ts +0 -46
  527. package/dist/orchestration/product-checkpoint.js +0 -74
  528. package/dist/orchestration/product-dag-mutation-applier.d.ts +0 -10
  529. package/dist/orchestration/product-dag-mutation-applier.js +0 -91
  530. package/dist/orchestration/product-persistence.d.ts +0 -35
  531. package/dist/orchestration/product-persistence.js +0 -55
  532. package/dist/orchestration/product-planner.d.ts +0 -146
  533. package/dist/orchestration/product-planner.js +0 -379
  534. package/dist/orchestration/product-run-coordinator.d.ts +0 -31
  535. package/dist/orchestration/product-run-coordinator.js +0 -31
  536. package/dist/orchestration/product-worktree.d.ts +0 -12
  537. package/dist/orchestration/product-worktree.js +0 -69
  538. package/dist/orchestration/skill-improvement.d.ts +0 -129
  539. package/dist/orchestration/skill-improvement.js +0 -243
  540. package/dist/orchestration/solo-evaluator.d.ts +0 -124
  541. package/dist/orchestration/solo-evaluator.js +0 -611
  542. package/dist/orchestration/solo-persistence.d.ts +0 -48
  543. package/dist/orchestration/solo-persistence.js +0 -67
  544. package/dist/orchestration/solo-spec-builder.d.ts +0 -48
  545. package/dist/orchestration/solo-spec-builder.js +0 -139
  546. package/dist/orchestration/subagent/agent-registry.d.ts +0 -46
  547. package/dist/orchestration/subagent/agent-registry.js +0 -129
  548. package/dist/orchestration/subagent/fork-subagent.d.ts +0 -100
  549. package/dist/orchestration/subagent/fork-subagent.js +0 -101
  550. package/dist/orchestration/subagent/task-types.d.ts +0 -1
  551. package/dist/orchestration/subagent/task-types.js +0 -1
  552. package/dist/orchestration/tool-cascade.d.ts +0 -49
  553. package/dist/orchestration/tool-cascade.js +0 -86
  554. package/dist/orchestration/tool-loop/conversation-repair.d.ts +0 -61
  555. package/dist/orchestration/tool-loop/conversation-repair.js +0 -429
  556. package/dist/orchestration/tool-loop/tool-choice-policy.d.ts +0 -54
  557. package/dist/orchestration/tool-loop/tool-choice-policy.js +0 -164
  558. package/dist/orchestration/tool-loop/tool-loop-state.d.ts +0 -50
  559. package/dist/orchestration/tool-loop/tool-loop-state.js +0 -133
  560. package/dist/orchestration/tool-loop/tool-schema.d.ts +0 -46
  561. package/dist/orchestration/tool-loop/tool-schema.js +0 -208
  562. package/dist/orchestration/workflow/budget-permission-gate.d.ts +0 -85
  563. package/dist/orchestration/workflow/budget-permission-gate.js +0 -134
  564. package/dist/orchestration/workflow/builtin-executors.d.ts +0 -18
  565. package/dist/orchestration/workflow/builtin-executors.js +0 -191
  566. package/dist/orchestration/workflow/capability-catalog.d.ts +0 -64
  567. package/dist/orchestration/workflow/capability-catalog.js +0 -166
  568. package/dist/orchestration/workflow/cron-schedule.d.ts +0 -37
  569. package/dist/orchestration/workflow/cron-schedule.js +0 -199
  570. package/dist/orchestration/workflow/data-item.d.ts +0 -39
  571. package/dist/orchestration/workflow/data-item.js +0 -52
  572. package/dist/orchestration/workflow/expression.d.ts +0 -60
  573. package/dist/orchestration/workflow/expression.js +0 -474
  574. package/dist/orchestration/workflow/host-executors.d.ts +0 -15
  575. package/dist/orchestration/workflow/host-executors.js +0 -207
  576. package/dist/orchestration/workflow/n8n-expression.d.ts +0 -48
  577. package/dist/orchestration/workflow/n8n-expression.js +0 -95
  578. package/dist/orchestration/workflow/n8n-import.d.ts +0 -68
  579. package/dist/orchestration/workflow/n8n-import.js +0 -319
  580. package/dist/orchestration/workflow/node-registry.d.ts +0 -19
  581. package/dist/orchestration/workflow/node-registry.js +0 -45
  582. package/dist/orchestration/workflow/node-schema.d.ts +0 -232
  583. package/dist/orchestration/workflow/node-schema.js +0 -29
  584. package/dist/orchestration/workflow/qla-executor-host.d.ts +0 -77
  585. package/dist/orchestration/workflow/qla-executor-host.js +0 -124
  586. package/dist/orchestration/workflow/run-checkpoint-store.d.ts +0 -53
  587. package/dist/orchestration/workflow/run-checkpoint-store.js +0 -59
  588. package/dist/orchestration/workflow/run-history-store.d.ts +0 -65
  589. package/dist/orchestration/workflow/run-history-store.js +0 -104
  590. package/dist/orchestration/workflow/trigger-validation.d.ts +0 -22
  591. package/dist/orchestration/workflow/trigger-validation.js +0 -241
  592. package/dist/orchestration/workflow/workflow-audit-store.d.ts +0 -31
  593. package/dist/orchestration/workflow/workflow-audit-store.js +0 -55
  594. package/dist/orchestration/workflow/workflow-bundle.d.ts +0 -65
  595. package/dist/orchestration/workflow/workflow-bundle.js +0 -168
  596. package/dist/orchestration/workflow/workflow-controller.d.ts +0 -219
  597. package/dist/orchestration/workflow/workflow-controller.js +0 -522
  598. package/dist/orchestration/workflow/workflow-patch.d.ts +0 -116
  599. package/dist/orchestration/workflow/workflow-patch.js +0 -369
  600. package/dist/orchestration/workflow/workflow-render.d.ts +0 -41
  601. package/dist/orchestration/workflow/workflow-render.js +0 -108
  602. package/dist/orchestration/workflow/workflow-runtime.d.ts +0 -171
  603. package/dist/orchestration/workflow/workflow-runtime.js +0 -474
  604. package/dist/orchestration/workflow/workflow-scheduler.d.ts +0 -111
  605. package/dist/orchestration/workflow/workflow-scheduler.js +0 -230
  606. package/dist/orchestration/workflow/workflow-service.d.ts +0 -14
  607. package/dist/orchestration/workflow/workflow-service.js +0 -18
  608. package/dist/orchestration/workflow/workflow-store.d.ts +0 -81
  609. package/dist/orchestration/workflow/workflow-store.js +0 -123
  610. package/dist/orchestration/workflow/workflow-trigger.d.ts +0 -35
  611. package/dist/orchestration/workflow/workflow-trigger.js +0 -1
  612. package/dist/orchestration/workflow-chat-builder.d.ts +0 -57
  613. package/dist/orchestration/workflow-chat-builder.js +0 -202
  614. package/dist/permissions.d.ts +0 -2
  615. package/dist/permissions.public-api.test.d.ts +0 -1
  616. package/dist/permissions.public-api.test.js +0 -32
  617. package/dist/pet-contracts.d.ts +0 -1
  618. package/dist/protocol/index.d.ts +0 -7
  619. package/dist/protocol/index.js +0 -7
  620. package/dist/protocol/methods.d.ts +0 -1190
  621. package/dist/protocol/methods.js +0 -110
  622. package/dist/protocol/notifications.d.ts +0 -9
  623. package/dist/protocol/notifications.js +0 -9
  624. package/dist/protocol/wire/acp-agent-management.d.ts +0 -456
  625. package/dist/protocol/wire/acp-agent-management.js +0 -7
  626. package/dist/protocol/wire/acp-protocol.d.ts +0 -369
  627. package/dist/protocol/wire/acp-protocol.js +0 -120
  628. package/dist/protocol/wire/agent-events.d.ts +0 -32
  629. package/dist/protocol/wire/agent-events.js +0 -113
  630. package/dist/protocol/wire/agent-methods.d.ts +0 -564
  631. package/dist/protocol/wire/agent-methods.js +0 -11
  632. package/dist/protocol/wire/agent-rpc.d.ts +0 -100
  633. package/dist/protocol/wire/agent-rpc.js +0 -72
  634. package/dist/protocol/wire/capability-manifest.d.ts +0 -112
  635. package/dist/protocol/wire/capability-manifest.js +0 -149
  636. package/dist/protocol/wire/capability-transport.d.ts +0 -207
  637. package/dist/protocol/wire/capability-transport.js +0 -1
  638. package/dist/protocol/wire/channel-ingress.d.ts +0 -29
  639. package/dist/protocol/wire/channel-ingress.js +0 -1
  640. package/dist/protocol/wire/channel.d.ts +0 -89
  641. package/dist/protocol/wire/channel.js +0 -1
  642. package/dist/protocol/wire/chat-types.d.ts +0 -106
  643. package/dist/protocol/wire/chat-types.js +0 -7
  644. package/dist/protocol/wire/checkpoint-runtime.d.ts +0 -61
  645. package/dist/protocol/wire/checkpoint-runtime.js +0 -499
  646. package/dist/protocol/wire/checkpoint.d.ts +0 -72
  647. package/dist/protocol/wire/checkpoint.js +0 -12
  648. package/dist/protocol/wire/execution.d.ts +0 -391
  649. package/dist/protocol/wire/execution.js +0 -1
  650. package/dist/protocol/wire/gateway-contract.d.ts +0 -61
  651. package/dist/protocol/wire/gateway-contract.js +0 -236
  652. package/dist/protocol/wire/gateway-contract.test.d.ts +0 -1
  653. package/dist/protocol/wire/gateway-contract.test.js +0 -123
  654. package/dist/protocol/wire/gateway-rpc.d.ts +0 -652
  655. package/dist/protocol/wire/gateway-rpc.js +0 -58
  656. package/dist/protocol/wire/gateway.d.ts +0 -62
  657. package/dist/protocol/wire/gateway.js +0 -1
  658. package/dist/protocol/wire/hook-protocol.d.ts +0 -37
  659. package/dist/protocol/wire/hook-protocol.js +0 -2
  660. package/dist/protocol/wire/index.d.ts +0 -28
  661. package/dist/protocol/wire/index.js +0 -27
  662. package/dist/protocol/wire/memory-provider-lifecycle.d.ts +0 -82
  663. package/dist/protocol/wire/memory-provider-lifecycle.js +0 -24
  664. package/dist/protocol/wire/notification-payloads.d.ts +0 -918
  665. package/dist/protocol/wire/notification-payloads.js +0 -13
  666. package/dist/protocol/wire/pet-contracts.d.ts +0 -76
  667. package/dist/protocol/wire/pet-contracts.js +0 -23
  668. package/dist/protocol/wire/provider-runtime-contract.d.ts +0 -66
  669. package/dist/protocol/wire/provider-runtime-contract.js +0 -23
  670. package/dist/protocol/wire/provider-runtime-core.d.ts +0 -147
  671. package/dist/protocol/wire/provider-runtime-core.js +0 -488
  672. package/dist/protocol/wire/provider-runtime-io.d.ts +0 -20
  673. package/dist/protocol/wire/provider-runtime-io.js +0 -57
  674. package/dist/protocol/wire/resource-manifest.d.ts +0 -68
  675. package/dist/protocol/wire/resource-manifest.js +0 -174
  676. package/dist/protocol/wire/session.d.ts +0 -32
  677. package/dist/protocol/wire/session.js +0 -1
  678. package/dist/protocol/wire/thread-protocol.d.ts +0 -145
  679. package/dist/protocol/wire/thread-protocol.js +0 -13
  680. package/dist/protocol/wire/transport.d.ts +0 -57
  681. package/dist/protocol/wire/transport.js +0 -1
  682. package/dist/protocol/wire/turn.d.ts +0 -208
  683. package/dist/protocol/wire/turn.js +0 -1
  684. package/dist/protocol/wire/web-capability.d.ts +0 -54
  685. package/dist/protocol/wire/web-capability.js +0 -52
  686. package/dist/runtime/community/community-consent-client.d.ts +0 -142
  687. package/dist/runtime/community/community-consent-client.js +0 -381
  688. package/dist/runtime/community/community-consent-client.test.d.ts +0 -1
  689. package/dist/runtime/community/community-consent-client.test.js +0 -491
  690. package/dist/runtime/community/community-desensitization-red-team-cli.d.ts +0 -7
  691. package/dist/runtime/community/community-desensitization-red-team-cli.js +0 -43
  692. package/dist/runtime/community/community-desensitization-red-team-cli.test.d.ts +0 -1
  693. package/dist/runtime/community/community-desensitization-red-team-cli.test.js +0 -23
  694. package/dist/runtime/community/community-desensitization.d.ts +0 -29
  695. package/dist/runtime/community/community-desensitization.js +0 -81
  696. package/dist/runtime/community/community-desensitization.test.d.ts +0 -1
  697. package/dist/runtime/community/community-desensitization.test.js +0 -43
  698. package/dist/runtime/community/community-discovery-cache.d.ts +0 -24
  699. package/dist/runtime/community/community-discovery-cache.js +0 -52
  700. package/dist/runtime/community/community-discovery-coordinator.d.ts +0 -33
  701. package/dist/runtime/community/community-discovery-coordinator.js +0 -84
  702. package/dist/runtime/community/community-discovery-coordinator.test.d.ts +0 -1
  703. package/dist/runtime/community/community-discovery-coordinator.test.js +0 -97
  704. package/dist/runtime/community/community-pet-publisher.d.ts +0 -30
  705. package/dist/runtime/community/community-pet-publisher.js +0 -53
  706. package/dist/runtime/community/community-pet-publisher.test.d.ts +0 -1
  707. package/dist/runtime/community/community-pet-publisher.test.js +0 -53
  708. package/dist/runtime/community/community-signal-reporter.d.ts +0 -33
  709. package/dist/runtime/community/community-signal-reporter.js +0 -85
  710. package/dist/runtime/community/community-signal-reporter.test.d.ts +0 -1
  711. package/dist/runtime/community/community-signal-reporter.test.js +0 -100
  712. package/dist/runtime/community/community-telemetry-metadata.d.ts +0 -4
  713. package/dist/runtime/community/community-telemetry-metadata.js +0 -42
  714. package/dist/runtime/community/community-telemetry-recorder.d.ts +0 -6
  715. package/dist/runtime/community/community-telemetry-recorder.js +0 -31
  716. package/dist/runtime/community/community-telemetry-types.d.ts +0 -1
  717. package/dist/runtime/community/community-telemetry-types.js +0 -1
  718. package/dist/runtime/config/tunable-defaults.d.ts +0 -255
  719. package/dist/runtime/config/tunable-defaults.js +0 -293
  720. package/dist/runtime/context/context-compression-strategies.d.ts +0 -301
  721. package/dist/runtime/context/context-compression-strategies.js +0 -860
  722. package/dist/runtime/execution/dream-agent.d.ts +0 -260
  723. package/dist/runtime/execution/dream-agent.js +0 -974
  724. package/dist/runtime/execution/dream-category-context.d.ts +0 -47
  725. package/dist/runtime/execution/dream-category-context.js +0 -226
  726. package/dist/runtime/execution/dream-lock.test.d.ts +0 -1
  727. package/dist/runtime/execution/dream-lock.test.js +0 -54
  728. package/dist/runtime/execution/fork-context.d.ts +0 -14
  729. package/dist/runtime/execution/fork-context.js +0 -20
  730. package/dist/runtime/execution/fork-context.test.d.ts +0 -1
  731. package/dist/runtime/execution/fork-context.test.js +0 -101
  732. package/dist/runtime/execution/forked-agent.d.ts +0 -111
  733. package/dist/runtime/execution/forked-agent.js +0 -172
  734. package/dist/runtime/execution/index.d.ts +0 -7
  735. package/dist/runtime/execution/index.js +0 -8
  736. package/dist/runtime/execution/memory-decay.d.ts +0 -69
  737. package/dist/runtime/execution/memory-decay.js +0 -80
  738. package/dist/runtime/execution/progress-tracker.d.ts +0 -78
  739. package/dist/runtime/execution/progress-tracker.js +0 -107
  740. package/dist/runtime/execution/streaming-tool-executor.d.ts +0 -102
  741. package/dist/runtime/execution/streaming-tool-executor.js +0 -345
  742. package/dist/runtime/execution/streaming-tool-executor.test.d.ts +0 -1
  743. package/dist/runtime/execution/streaming-tool-executor.test.js +0 -49
  744. package/dist/runtime/execution/tool-eligibility.d.ts +0 -36
  745. package/dist/runtime/execution/tool-eligibility.js +0 -94
  746. package/dist/runtime/execution/tool-eligibility.test.d.ts +0 -1
  747. package/dist/runtime/execution/tool-eligibility.test.js +0 -96
  748. package/dist/runtime/execution/tool-result-storage.d.ts +0 -87
  749. package/dist/runtime/execution/tool-result-storage.js +0 -274
  750. package/dist/runtime/hooks/context-compression.d.ts +0 -61
  751. package/dist/runtime/hooks/context-compression.js +0 -334
  752. package/dist/runtime/hooks/hook-registry.d.ts +0 -12
  753. package/dist/runtime/hooks/hook-registry.js +0 -61
  754. package/dist/runtime/hooks/hook-registry.test.d.ts +0 -1
  755. package/dist/runtime/hooks/hook-registry.test.js +0 -51
  756. package/dist/runtime/hooks/index.d.ts +0 -4
  757. package/dist/runtime/hooks/index.js +0 -5
  758. package/dist/runtime/hooks/memory-hooks.d.ts +0 -75
  759. package/dist/runtime/hooks/memory-hooks.js +0 -356
  760. package/dist/runtime/hooks/skill-recall-hooks.d.ts +0 -37
  761. package/dist/runtime/hooks/skill-recall-hooks.js +0 -263
  762. package/dist/runtime/hooks/skill-recall-hooks.test.d.ts +0 -1
  763. package/dist/runtime/hooks/skill-recall-hooks.test.js +0 -52
  764. package/dist/runtime/index.d.ts +0 -5
  765. package/dist/runtime/index.js +0 -13
  766. package/dist/runtime/infra/acp-detector.d.ts +0 -133
  767. package/dist/runtime/infra/acp-detector.js +0 -862
  768. package/dist/runtime/infra/acp-detector.test.d.ts +0 -1
  769. package/dist/runtime/infra/acp-detector.test.js +0 -164
  770. package/dist/runtime/infra/acp-host-handler.d.ts +0 -31
  771. package/dist/runtime/infra/acp-host-handler.js +0 -123
  772. package/dist/runtime/infra/acp-host-handler.test.d.ts +0 -1
  773. package/dist/runtime/infra/acp-host-handler.test.js +0 -64
  774. package/dist/runtime/infra/acp-protocol-adapter.d.ts +0 -146
  775. package/dist/runtime/infra/acp-protocol-adapter.js +0 -382
  776. package/dist/runtime/infra/acp-protocol-adapter.test.d.ts +0 -1
  777. package/dist/runtime/infra/acp-protocol-adapter.test.js +0 -180
  778. package/dist/runtime/infra/acp-usage-tracker.d.ts +0 -46
  779. package/dist/runtime/infra/acp-usage-tracker.js +0 -92
  780. package/dist/runtime/infra/agent-catalog.test.d.ts +0 -1
  781. package/dist/runtime/infra/agent-catalog.test.js +0 -174
  782. package/dist/runtime/infra/agent-config-store.d.ts +0 -30
  783. package/dist/runtime/infra/agent-config-store.js +0 -115
  784. package/dist/runtime/infra/agent-install-runner.d.ts +0 -57
  785. package/dist/runtime/infra/agent-install-runner.js +0 -123
  786. package/dist/runtime/infra/agent-install-runner.test.d.ts +0 -1
  787. package/dist/runtime/infra/agent-install-runner.test.js +0 -103
  788. package/dist/runtime/infra/agent-paths.d.ts +0 -67
  789. package/dist/runtime/infra/agent-paths.js +0 -167
  790. package/dist/runtime/infra/agent-paths.test.d.ts +0 -1
  791. package/dist/runtime/infra/agent-paths.test.js +0 -49
  792. package/dist/runtime/infra/agent-process.d.ts +0 -299
  793. package/dist/runtime/infra/agent-process.js +0 -1318
  794. package/dist/runtime/infra/background-tasks.d.ts +0 -115
  795. package/dist/runtime/infra/background-tasks.js +0 -249
  796. package/dist/runtime/infra/background-tasks.test.d.ts +0 -1
  797. package/dist/runtime/infra/background-tasks.test.js +0 -242
  798. package/dist/runtime/infra/checkpoint-backend.d.ts +0 -8
  799. package/dist/runtime/infra/checkpoint-backend.js +0 -110
  800. package/dist/runtime/infra/cleanup-registry.d.ts +0 -23
  801. package/dist/runtime/infra/cleanup-registry.js +0 -34
  802. package/dist/runtime/infra/default-path-service.d.ts +0 -33
  803. package/dist/runtime/infra/default-path-service.js +0 -76
  804. package/dist/runtime/infra/default-path-service.test.d.ts +0 -1
  805. package/dist/runtime/infra/default-path-service.test.js +0 -31
  806. package/dist/runtime/infra/disk-storage.d.ts +0 -20
  807. package/dist/runtime/infra/disk-storage.js +0 -64
  808. package/dist/runtime/infra/external-agent-approvals.d.ts +0 -41
  809. package/dist/runtime/infra/external-agent-approvals.js +0 -101
  810. package/dist/runtime/infra/external-agent-approvals.test.d.ts +0 -1
  811. package/dist/runtime/infra/external-agent-approvals.test.js +0 -99
  812. package/dist/runtime/infra/external-agent-pool.d.ts +0 -54
  813. package/dist/runtime/infra/external-agent-pool.js +0 -0
  814. package/dist/runtime/infra/external-agent-pool.test.d.ts +0 -1
  815. package/dist/runtime/infra/external-agent-pool.test.js +0 -102
  816. package/dist/runtime/infra/file-watcher.d.ts +0 -72
  817. package/dist/runtime/infra/file-watcher.js +0 -154
  818. package/dist/runtime/infra/index.d.ts +0 -19
  819. package/dist/runtime/infra/index.js +0 -19
  820. package/dist/runtime/infra/key-injection.test.d.ts +0 -1
  821. package/dist/runtime/infra/key-injection.test.js +0 -88
  822. package/dist/runtime/infra/key-pool.d.ts +0 -122
  823. package/dist/runtime/infra/key-pool.js +0 -378
  824. package/dist/runtime/infra/key-pool.test.d.ts +0 -1
  825. package/dist/runtime/infra/key-pool.test.js +0 -36
  826. package/dist/runtime/infra/llmrouter-catalog.d.ts +0 -84
  827. package/dist/runtime/infra/llmrouter-catalog.js +0 -287
  828. package/dist/runtime/infra/llmrouter-catalog.test.d.ts +0 -1
  829. package/dist/runtime/infra/llmrouter-catalog.test.js +0 -80
  830. package/dist/runtime/infra/llmrouter-zero-config.test.d.ts +0 -1
  831. package/dist/runtime/infra/llmrouter-zero-config.test.js +0 -64
  832. package/dist/runtime/infra/mcp-bridge.d.ts +0 -166
  833. package/dist/runtime/infra/mcp-bridge.js +0 -161
  834. package/dist/runtime/infra/media-persistence.d.ts +0 -87
  835. package/dist/runtime/infra/media-persistence.js +0 -278
  836. package/dist/runtime/infra/migrate-project-skills.d.ts +0 -21
  837. package/dist/runtime/infra/migrate-project-skills.js +0 -131
  838. package/dist/runtime/infra/migrate-project-skills.test.d.ts +0 -1
  839. package/dist/runtime/infra/migrate-project-skills.test.js +0 -69
  840. package/dist/runtime/infra/model-id-translator.d.ts +0 -22
  841. package/dist/runtime/infra/model-id-translator.js +0 -74
  842. package/dist/runtime/infra/model-registry.d.ts +0 -148
  843. package/dist/runtime/infra/model-registry.js +0 -529
  844. package/dist/runtime/infra/model-registry.test.d.ts +0 -1
  845. package/dist/runtime/infra/model-registry.test.js +0 -253
  846. package/dist/runtime/infra/process-config-port.d.ts +0 -2
  847. package/dist/runtime/infra/process-config-port.js +0 -5
  848. package/dist/runtime/infra/profile-storage.test.d.ts +0 -1
  849. package/dist/runtime/infra/profile-storage.test.js +0 -41
  850. package/dist/runtime/infra/project-instructions-store.d.ts +0 -30
  851. package/dist/runtime/infra/project-instructions-store.js +0 -124
  852. package/dist/runtime/infra/project-skill-manifest.d.ts +0 -32
  853. package/dist/runtime/infra/project-skill-manifest.js +0 -160
  854. package/dist/runtime/infra/project-skill-manifest.test.d.ts +0 -1
  855. package/dist/runtime/infra/project-skill-manifest.test.js +0 -42
  856. package/dist/runtime/infra/project-store.d.ts +0 -48
  857. package/dist/runtime/infra/project-store.js +0 -284
  858. package/dist/runtime/infra/secure-storage.d.ts +0 -81
  859. package/dist/runtime/infra/secure-storage.js +0 -117
  860. package/dist/runtime/infra/skill-injector.d.ts +0 -59
  861. package/dist/runtime/infra/skill-injector.js +0 -155
  862. package/dist/runtime/infra/skill-injector.test.d.ts +0 -1
  863. package/dist/runtime/infra/skill-injector.test.js +0 -9
  864. package/dist/runtime/infra/skill-resolver.d.ts +0 -51
  865. package/dist/runtime/infra/skill-resolver.js +0 -109
  866. package/dist/runtime/infra/skill-resolver.test.d.ts +0 -1
  867. package/dist/runtime/infra/skill-resolver.test.js +0 -72
  868. package/dist/runtime/infra/task-runtime.d.ts +0 -71
  869. package/dist/runtime/infra/task-runtime.js +0 -181
  870. package/dist/runtime/infra/token-budget.d.ts +0 -92
  871. package/dist/runtime/infra/token-budget.js +0 -170
  872. package/dist/runtime/infra/worktree-backend.d.ts +0 -86
  873. package/dist/runtime/infra/worktree-backend.js +0 -522
  874. package/dist/runtime/memory/categories.d.ts +0 -5
  875. package/dist/runtime/memory/categories.js +0 -4
  876. package/dist/runtime/memory/find-relevant-memories.d.ts +0 -70
  877. package/dist/runtime/memory/find-relevant-memories.js +0 -270
  878. package/dist/runtime/memory/implicit-extraction.d.ts +0 -58
  879. package/dist/runtime/memory/implicit-extraction.js +0 -187
  880. package/dist/runtime/memory/recall-category-filter.d.ts +0 -54
  881. package/dist/runtime/memory/recall-category-filter.js +0 -215
  882. package/dist/runtime/permission-model.d.ts +0 -19
  883. package/dist/runtime/permission-model.js +0 -24
  884. package/dist/runtime/permission-model.test.d.ts +0 -1
  885. package/dist/runtime/permission-model.test.js +0 -32
  886. package/dist/runtime/pet/hatch-pet-runner.d.ts +0 -18
  887. package/dist/runtime/pet/hatch-pet-runner.js +0 -120
  888. package/dist/runtime/pet/hatch-pet-runner.test.d.ts +0 -1
  889. package/dist/runtime/pet/hatch-pet-runner.test.js +0 -28
  890. package/dist/runtime/pet/index.d.ts +0 -18
  891. package/dist/runtime/pet/index.js +0 -9
  892. package/dist/runtime/pet/pet-community-assets.d.ts +0 -13
  893. package/dist/runtime/pet/pet-community-assets.js +0 -106
  894. package/dist/runtime/pet/pet-file-loader.d.ts +0 -5
  895. package/dist/runtime/pet/pet-file-loader.js +0 -11
  896. package/dist/runtime/pet/pet-growth-engine.d.ts +0 -2
  897. package/dist/runtime/pet/pet-growth-engine.js +0 -1
  898. package/dist/runtime/pet/pet-profile-service.d.ts +0 -91
  899. package/dist/runtime/pet/pet-profile-service.js +0 -296
  900. package/dist/runtime/pet/pet-profile-service.test.d.ts +0 -1
  901. package/dist/runtime/pet/pet-profile-service.test.js +0 -171
  902. package/dist/runtime/pet/pet-reaction-engine.d.ts +0 -11
  903. package/dist/runtime/pet/pet-reaction-engine.js +0 -11
  904. package/dist/runtime/pet/pet-reaction-engine.test.d.ts +0 -1
  905. package/dist/runtime/pet/pet-reaction-engine.test.js +0 -12
  906. package/dist/runtime/pet/pet-soul-service.d.ts +0 -21
  907. package/dist/runtime/pet/pet-soul-service.js +0 -63
  908. package/dist/runtime/pet/pet-soul-service.test.d.ts +0 -1
  909. package/dist/runtime/pet/pet-soul-service.test.js +0 -115
  910. package/dist/runtime/pet/pet-types.d.ts +0 -1
  911. package/dist/runtime/pet/pet-types.js +0 -1
  912. package/dist/runtime/pet/petdex-asset.d.ts +0 -32
  913. package/dist/runtime/pet/petdex-asset.js +0 -242
  914. package/dist/runtime/pet/petdex-asset.test.d.ts +0 -1
  915. package/dist/runtime/pet/petdex-asset.test.js +0 -257
  916. package/dist/runtime/pet/petdex-forge-service.d.ts +0 -19
  917. package/dist/runtime/pet/petdex-forge-service.js +0 -820
  918. package/dist/runtime/pet/petdex-forge-service.test.d.ts +0 -1
  919. package/dist/runtime/pet/petdex-forge-service.test.js +0 -142
  920. package/dist/runtime/ports/agent-execution-contracts.d.ts +0 -182
  921. package/dist/runtime/ports/agent-execution-contracts.js +0 -1
  922. package/dist/runtime/ports/agent-runtime-ports.d.ts +0 -76
  923. package/dist/runtime/ports/agent-runtime-ports.js +0 -1
  924. package/dist/runtime/ports/checkpoint-contracts.d.ts +0 -19
  925. package/dist/runtime/ports/checkpoint-contracts.js +0 -1
  926. package/dist/runtime/ports/config-port.d.ts +0 -4
  927. package/dist/runtime/ports/config-port.js +0 -5
  928. package/dist/runtime/ports/index.d.ts +0 -19
  929. package/dist/runtime/ports/index.js +0 -5
  930. package/dist/runtime/ports/memory-provider.d.ts +0 -181
  931. package/dist/runtime/ports/memory-provider.js +0 -1
  932. package/dist/runtime/ports/memory-recall-source.d.ts +0 -3
  933. package/dist/runtime/ports/memory-recall-source.js +0 -1
  934. package/dist/runtime/ports/memory-writer.d.ts +0 -21
  935. package/dist/runtime/ports/memory-writer.js +0 -1
  936. package/dist/runtime/ports/model-transport-contracts.d.ts +0 -125
  937. package/dist/runtime/ports/model-transport-contracts.js +0 -9
  938. package/dist/runtime/ports/path-service.d.ts +0 -31
  939. package/dist/runtime/ports/path-service.js +0 -1
  940. package/dist/runtime/ports/permission-contracts.d.ts +0 -128
  941. package/dist/runtime/ports/permission-contracts.js +0 -5
  942. package/dist/runtime/ports/project-memory-store.d.ts +0 -44
  943. package/dist/runtime/ports/project-memory-store.js +0 -1
  944. package/dist/runtime/ports/source-provider.d.ts +0 -39
  945. package/dist/runtime/ports/source-provider.js +0 -4
  946. package/dist/runtime/ports/tool-call-contracts.d.ts +0 -16
  947. package/dist/runtime/ports/tool-call-contracts.js +0 -13
  948. package/dist/runtime/ports/tool-contracts.d.ts +0 -87
  949. package/dist/runtime/ports/tool-contracts.js +0 -3
  950. package/dist/runtime/ports/tool-risk.d.ts +0 -7
  951. package/dist/runtime/ports/tool-risk.js +0 -16
  952. package/dist/runtime/ports/web-search-contracts.d.ts +0 -21
  953. package/dist/runtime/ports/web-search-contracts.js +0 -1
  954. package/dist/runtime/ports/worktree-contracts.d.ts +0 -22
  955. package/dist/runtime/ports/worktree-contracts.js +0 -1
  956. package/dist/runtime/prompt/environment-context.d.ts +0 -60
  957. package/dist/runtime/prompt/environment-context.js +0 -410
  958. package/dist/runtime/prompt/environment-context.test.d.ts +0 -1
  959. package/dist/runtime/prompt/environment-context.test.js +0 -75
  960. package/dist/runtime/prompt/fresh-workspace-evidence.d.ts +0 -21
  961. package/dist/runtime/prompt/fresh-workspace-evidence.js +0 -224
  962. package/dist/runtime/prompt/fresh-workspace-evidence.test.d.ts +0 -1
  963. package/dist/runtime/prompt/fresh-workspace-evidence.test.js +0 -163
  964. package/dist/runtime/prompt/index.d.ts +0 -5
  965. package/dist/runtime/prompt/index.js +0 -6
  966. package/dist/runtime/prompt/instruction-loader.d.ts +0 -70
  967. package/dist/runtime/prompt/instruction-loader.js +0 -515
  968. package/dist/runtime/prompt/instruction-loader.test.d.ts +0 -1
  969. package/dist/runtime/prompt/instruction-loader.test.js +0 -64
  970. package/dist/runtime/prompt/prompt-policy.d.ts +0 -12
  971. package/dist/runtime/prompt/prompt-policy.js +0 -40
  972. package/dist/runtime/prompt/system-prompt-sections.d.ts +0 -65
  973. package/dist/runtime/prompt/system-prompt-sections.js +0 -93
  974. package/dist/runtime/prompt/task-domain.d.ts +0 -82
  975. package/dist/runtime/prompt/task-domain.js +0 -248
  976. package/dist/runtime/sandbox/index.d.ts +0 -2
  977. package/dist/runtime/sandbox/index.js +0 -2
  978. package/dist/runtime/sandbox/skill-sandbox.d.ts +0 -53
  979. package/dist/runtime/sandbox/skill-sandbox.js +0 -93
  980. package/dist/runtime/sandbox/skill-sandbox.test.d.ts +0 -1
  981. package/dist/runtime/sandbox/skill-sandbox.test.js +0 -172
  982. package/dist/runtime/sandbox/windows-skill-sandbox.d.ts +0 -78
  983. package/dist/runtime/sandbox/windows-skill-sandbox.js +0 -128
  984. package/dist/runtime/session/group-session-split.d.ts +0 -38
  985. package/dist/runtime/session/group-session-split.js +0 -99
  986. package/dist/runtime/session/index.d.ts +0 -4
  987. package/dist/runtime/session/index.js +0 -5
  988. package/dist/runtime/session/session-catalog.d.ts +0 -4
  989. package/dist/runtime/session/session-catalog.js +0 -59
  990. package/dist/runtime/session/session-locator.d.ts +0 -26
  991. package/dist/runtime/session/session-locator.js +0 -91
  992. package/dist/runtime/session/session-locator.test.d.ts +0 -1
  993. package/dist/runtime/session/session-locator.test.js +0 -59
  994. package/dist/runtime/session/session-metadata-store.d.ts +0 -8
  995. package/dist/runtime/session/session-metadata-store.js +0 -167
  996. package/dist/runtime/session/session-paths.d.ts +0 -9
  997. package/dist/runtime/session/session-paths.js +0 -27
  998. package/dist/runtime/session/session-persistence.d.ts +0 -16
  999. package/dist/runtime/session/session-persistence.js +0 -16
  1000. package/dist/runtime/session/session-persistence.test.d.ts +0 -1
  1001. package/dist/runtime/session/session-persistence.test.js +0 -237
  1002. package/dist/runtime/session/session-resume.d.ts +0 -4
  1003. package/dist/runtime/session/session-resume.js +0 -60
  1004. package/dist/runtime/session/session-schema.d.ts +0 -10
  1005. package/dist/runtime/session/session-schema.js +0 -35
  1006. package/dist/runtime/session/session-state.d.ts +0 -96
  1007. package/dist/runtime/session/session-state.js +0 -180
  1008. package/dist/runtime/session/session-summary.d.ts +0 -5
  1009. package/dist/runtime/session/session-summary.js +0 -67
  1010. package/dist/runtime/session/session-transcript-store.d.ts +0 -13
  1011. package/dist/runtime/session/session-transcript-store.js +0 -109
  1012. package/dist/runtime/session/session-types.d.ts +0 -77
  1013. package/dist/runtime/session/session-types.js +0 -1
  1014. package/dist/runtime/session/session-write-queue.d.ts +0 -2
  1015. package/dist/runtime/session/session-write-queue.js +0 -48
  1016. package/dist/runtime/tasks/task-types.d.ts +0 -166
  1017. package/dist/runtime/tasks/task-types.js +0 -64
  1018. package/dist/server/search-svc.d.ts +0 -1
  1019. package/dist/server/search-svc.js +0 -113
  1020. package/dist/skills/index.d.ts +0 -6
  1021. package/dist/skills/index.js +0 -5
  1022. package/dist/skills/mcp/index.d.ts +0 -1
  1023. package/dist/skills/mcp/index.js +0 -3
  1024. package/dist/skills/mcp/mcp-manager.d.ts +0 -75
  1025. package/dist/skills/mcp/mcp-manager.js +0 -358
  1026. package/dist/skills/mcp/mcp-tool-metadata.d.ts +0 -18
  1027. package/dist/skills/mcp/mcp-tool-metadata.js +0 -48
  1028. package/dist/skills/memory/categories.d.ts +0 -1
  1029. package/dist/skills/memory/categories.js +0 -1
  1030. package/dist/skills/memory/find-relevant-memories.d.ts +0 -1
  1031. package/dist/skills/memory/find-relevant-memories.js +0 -1
  1032. package/dist/skills/memory/implicit-extraction.d.ts +0 -1
  1033. package/dist/skills/memory/implicit-extraction.js +0 -1
  1034. package/dist/skills/memory/local-embedding.d.ts +0 -80
  1035. package/dist/skills/memory/local-embedding.js +0 -210
  1036. package/dist/skills/memory/local-memory-provider.d.ts +0 -257
  1037. package/dist/skills/memory/local-memory-provider.js +0 -486
  1038. package/dist/skills/memory/local-store-records.d.ts +0 -184
  1039. package/dist/skills/memory/local-store-records.js +0 -1
  1040. package/dist/skills/memory/local-store.d.ts +0 -479
  1041. package/dist/skills/memory/local-store.js +0 -1022
  1042. package/dist/skills/memory/memdir.d.ts +0 -93
  1043. package/dist/skills/memory/memdir.js +0 -530
  1044. package/dist/skills/memory/memory-attachment-store.d.ts +0 -62
  1045. package/dist/skills/memory/memory-attachment-store.js +0 -0
  1046. package/dist/skills/memory/memory-consolidation.d.ts +0 -43
  1047. package/dist/skills/memory/memory-consolidation.js +0 -462
  1048. package/dist/skills/memory/memory-db-path.d.ts +0 -13
  1049. package/dist/skills/memory/memory-db-path.js +0 -27
  1050. package/dist/skills/memory/memory-embedding-config.d.ts +0 -31
  1051. package/dist/skills/memory/memory-embedding-config.js +0 -66
  1052. package/dist/skills/memory/memory-provider-factory.d.ts +0 -33
  1053. package/dist/skills/memory/memory-provider-factory.js +0 -79
  1054. package/dist/skills/memory/memory-tool.d.ts +0 -85
  1055. package/dist/skills/memory/memory-tool.js +0 -326
  1056. package/dist/skills/memory/memory-vector-utils.d.ts +0 -2
  1057. package/dist/skills/memory/memory-vector-utils.js +0 -19
  1058. package/dist/skills/memory/recall-category-filter.d.ts +0 -1
  1059. package/dist/skills/memory/recall-category-filter.js +0 -1
  1060. package/dist/skills/memory/sqlite-memory-mappers.d.ts +0 -6
  1061. package/dist/skills/memory/sqlite-memory-mappers.js +0 -104
  1062. package/dist/skills/memory/sqlite-memory-schema.d.ts +0 -3
  1063. package/dist/skills/memory/sqlite-memory-schema.js +0 -152
  1064. package/dist/skills/permissions/bash-classifier.d.ts +0 -30
  1065. package/dist/skills/permissions/bash-classifier.js +0 -174
  1066. package/dist/skills/permissions/classifier-cache.d.ts +0 -51
  1067. package/dist/skills/permissions/classifier-cache.js +0 -103
  1068. package/dist/skills/permissions/community-sandbox-policy.d.ts +0 -3
  1069. package/dist/skills/permissions/community-sandbox-policy.js +0 -233
  1070. package/dist/skills/permissions/community-sandbox-red-team-cli.d.ts +0 -7
  1071. package/dist/skills/permissions/community-sandbox-red-team-cli.js +0 -43
  1072. package/dist/skills/permissions/community-sandbox-red-team.d.ts +0 -32
  1073. package/dist/skills/permissions/community-sandbox-red-team.js +0 -221
  1074. package/dist/skills/permissions/denial-audit-log.d.ts +0 -52
  1075. package/dist/skills/permissions/denial-audit-log.js +0 -80
  1076. package/dist/skills/permissions/denial-tracking.d.ts +0 -42
  1077. package/dist/skills/permissions/denial-tracking.js +0 -60
  1078. package/dist/skills/permissions/group-security-policy.d.ts +0 -15
  1079. package/dist/skills/permissions/group-security-policy.js +0 -60
  1080. package/dist/skills/permissions/hook-runner.d.ts +0 -120
  1081. package/dist/skills/permissions/hook-runner.js +0 -545
  1082. package/dist/skills/permissions/index.d.ts +0 -13
  1083. package/dist/skills/permissions/index.js +0 -8
  1084. package/dist/skills/permissions/operation-classifier.d.ts +0 -43
  1085. package/dist/skills/permissions/operation-classifier.js +0 -251
  1086. package/dist/skills/permissions/permission-classifier.d.ts +0 -41
  1087. package/dist/skills/permissions/permission-classifier.js +0 -186
  1088. package/dist/skills/permissions/rule-engine.d.ts +0 -49
  1089. package/dist/skills/permissions/rule-engine.js +0 -285
  1090. package/dist/skills/permissions/settings-watcher.d.ts +0 -19
  1091. package/dist/skills/permissions/settings-watcher.js +0 -121
  1092. package/dist/skills/permissions/types.d.ts +0 -2
  1093. package/dist/skills/permissions/types.js +0 -1
  1094. package/dist/skills/plugins/index.d.ts +0 -2
  1095. package/dist/skills/plugins/index.js +0 -3
  1096. package/dist/skills/plugins/plugin-api.d.ts +0 -38
  1097. package/dist/skills/plugins/plugin-api.js +0 -18
  1098. package/dist/skills/plugins/plugin-loader.d.ts +0 -57
  1099. package/dist/skills/plugins/plugin-loader.js +0 -254
  1100. package/dist/skills/plugins/plugin-marketplace.d.ts +0 -61
  1101. package/dist/skills/plugins/plugin-marketplace.js +0 -229
  1102. package/dist/skills/portable-tool.d.ts +0 -165
  1103. package/dist/skills/portable-tool.js +0 -34
  1104. package/dist/skills/skill-system/skill-frontmatter.d.ts +0 -19
  1105. package/dist/skills/skill-system/skill-frontmatter.js +0 -344
  1106. package/dist/skills/skill-system/skill-guard.d.ts +0 -23
  1107. package/dist/skills/skill-system/skill-guard.js +0 -229
  1108. package/dist/skills/skill-system/skill-lifecycle.d.ts +0 -93
  1109. package/dist/skills/skill-system/skill-lifecycle.js +0 -236
  1110. package/dist/skills/skill-system/skill-source.d.ts +0 -38
  1111. package/dist/skills/skill-system/skill-source.js +0 -75
  1112. package/dist/skills/skill-system/skill-types.d.ts +0 -140
  1113. package/dist/skills/skill-system/skill-types.js +0 -6
  1114. package/dist/skills/skill-system/skill-validation.d.ts +0 -29
  1115. package/dist/skills/skill-system/skill-validation.js +0 -154
  1116. package/dist/skills/tool-access.d.ts +0 -30
  1117. package/dist/skills/tool-access.js +0 -58
  1118. package/dist/skills/tools/agent-tool.d.ts +0 -102
  1119. package/dist/skills/tools/agent-tool.js +0 -159
  1120. package/dist/skills/tools/ask-user-tool.d.ts +0 -80
  1121. package/dist/skills/tools/ask-user-tool.js +0 -121
  1122. package/dist/skills/tools/brief-tool.d.ts +0 -74
  1123. package/dist/skills/tools/brief-tool.js +0 -95
  1124. package/dist/skills/tools/browser-tool.d.ts +0 -114
  1125. package/dist/skills/tools/browser-tool.js +0 -160
  1126. package/dist/skills/tools/checkpoint-tool.d.ts +0 -66
  1127. package/dist/skills/tools/checkpoint-tool.js +0 -102
  1128. package/dist/skills/tools/config-tool.d.ts +0 -61
  1129. package/dist/skills/tools/config-tool.js +0 -123
  1130. package/dist/skills/tools/cron-tool.d.ts +0 -96
  1131. package/dist/skills/tools/cron-tool.js +0 -165
  1132. package/dist/skills/tools/edit-tool.d.ts +0 -43
  1133. package/dist/skills/tools/edit-tool.js +0 -72
  1134. package/dist/skills/tools/exec-tool.d.ts +0 -117
  1135. package/dist/skills/tools/exec-tool.js +0 -354
  1136. package/dist/skills/tools/file-management-tool.d.ts +0 -90
  1137. package/dist/skills/tools/file-management-tool.js +0 -166
  1138. package/dist/skills/tools/image-generate-tool.d.ts +0 -74
  1139. package/dist/skills/tools/image-generate-tool.js +0 -91
  1140. package/dist/skills/tools/instructions-tool.d.ts +0 -65
  1141. package/dist/skills/tools/instructions-tool.js +0 -209
  1142. package/dist/skills/tools/lsp-tool.d.ts +0 -153
  1143. package/dist/skills/tools/lsp-tool.js +0 -230
  1144. package/dist/skills/tools/media-cancel-tool.d.ts +0 -30
  1145. package/dist/skills/tools/media-cancel-tool.js +0 -46
  1146. package/dist/skills/tools/monitor-tool.d.ts +0 -113
  1147. package/dist/skills/tools/monitor-tool.js +0 -129
  1148. package/dist/skills/tools/music-generate-tool.d.ts +0 -80
  1149. package/dist/skills/tools/music-generate-tool.js +0 -98
  1150. package/dist/skills/tools/notebook-edit-tool.d.ts +0 -15
  1151. package/dist/skills/tools/notebook-edit-tool.js +0 -206
  1152. package/dist/skills/tools/patch-tool.d.ts +0 -52
  1153. package/dist/skills/tools/patch-tool.js +0 -556
  1154. package/dist/skills/tools/petdex-create-tool.d.ts +0 -47
  1155. package/dist/skills/tools/petdex-create-tool.js +0 -95
  1156. package/dist/skills/tools/plan-mode-tool.d.ts +0 -98
  1157. package/dist/skills/tools/plan-mode-tool.js +0 -164
  1158. package/dist/skills/tools/read-tool.d.ts +0 -51
  1159. package/dist/skills/tools/read-tool.js +0 -88
  1160. package/dist/skills/tools/search-tool.d.ts +0 -112
  1161. package/dist/skills/tools/search-tool.js +0 -226
  1162. package/dist/skills/tools/shell/bash-provider.d.ts +0 -26
  1163. package/dist/skills/tools/shell/bash-provider.js +0 -125
  1164. package/dist/skills/tools/shell/command-classification.d.ts +0 -44
  1165. package/dist/skills/tools/shell/command-classification.js +0 -119
  1166. package/dist/skills/tools/shell/command-semantics.d.ts +0 -14
  1167. package/dist/skills/tools/shell/command-semantics.js +0 -87
  1168. package/dist/skills/tools/shell/destructive-command-warning.d.ts +0 -10
  1169. package/dist/skills/tools/shell/destructive-command-warning.js +0 -80
  1170. package/dist/skills/tools/shell/exec-permissions.d.ts +0 -52
  1171. package/dist/skills/tools/shell/exec-permissions.js +0 -277
  1172. package/dist/skills/tools/shell/index.d.ts +0 -18
  1173. package/dist/skills/tools/shell/index.js +0 -18
  1174. package/dist/skills/tools/shell/powershell-provider.d.ts +0 -15
  1175. package/dist/skills/tools/shell/powershell-provider.js +0 -80
  1176. package/dist/skills/tools/shell/sandbox/helper-resolver.d.ts +0 -7
  1177. package/dist/skills/tools/shell/sandbox/helper-resolver.js +0 -20
  1178. package/dist/skills/tools/shell/sandbox/landlock-argv.d.ts +0 -6
  1179. package/dist/skills/tools/shell/sandbox/landlock-argv.js +0 -13
  1180. package/dist/skills/tools/shell/sandbox/platform.d.ts +0 -3
  1181. package/dist/skills/tools/shell/sandbox/platform.js +0 -13
  1182. package/dist/skills/tools/shell/sandbox/sandbox-launcher.d.ts +0 -15
  1183. package/dist/skills/tools/shell/sandbox/sandbox-launcher.js +0 -59
  1184. package/dist/skills/tools/shell/sandbox/sandbox-scope.d.ts +0 -6
  1185. package/dist/skills/tools/shell/sandbox/sandbox-scope.js +0 -17
  1186. package/dist/skills/tools/shell/sandbox/sandbox-types.d.ts +0 -47
  1187. package/dist/skills/tools/shell/sandbox/sandbox-types.js +0 -1
  1188. package/dist/skills/tools/shell/sandbox/seatbelt-profile.d.ts +0 -6
  1189. package/dist/skills/tools/shell/sandbox/seatbelt-profile.js +0 -28
  1190. package/dist/skills/tools/shell/shell-command.d.ts +0 -54
  1191. package/dist/skills/tools/shell/shell-command.js +0 -347
  1192. package/dist/skills/tools/shell/shell-exec.d.ts +0 -38
  1193. package/dist/skills/tools/shell/shell-exec.js +0 -202
  1194. package/dist/skills/tools/shell/shell-provider.d.ts +0 -85
  1195. package/dist/skills/tools/shell/shell-provider.js +0 -38
  1196. package/dist/skills/tools/shell/subprocess-env.d.ts +0 -6
  1197. package/dist/skills/tools/shell/subprocess-env.js +0 -87
  1198. package/dist/skills/tools/shell/task-output.d.ts +0 -44
  1199. package/dist/skills/tools/shell/task-output.js +0 -137
  1200. package/dist/skills/tools/skill-tool.d.ts +0 -106
  1201. package/dist/skills/tools/skill-tool.js +0 -265
  1202. package/dist/skills/tools/sleep-tool.d.ts +0 -49
  1203. package/dist/skills/tools/sleep-tool.js +0 -81
  1204. package/dist/skills/tools/structured-output-tool.d.ts +0 -116
  1205. package/dist/skills/tools/structured-output-tool.js +0 -176
  1206. package/dist/skills/tools/stt-tool.d.ts +0 -33
  1207. package/dist/skills/tools/stt-tool.js +0 -58
  1208. package/dist/skills/tools/task-tool.d.ts +0 -125
  1209. package/dist/skills/tools/task-tool.js +0 -390
  1210. package/dist/skills/tools/team-tool.d.ts +0 -156
  1211. package/dist/skills/tools/team-tool.js +0 -173
  1212. package/dist/skills/tools/three-d-generate-tool.d.ts +0 -46
  1213. package/dist/skills/tools/three-d-generate-tool.js +0 -66
  1214. package/dist/skills/tools/tool-search-tool.d.ts +0 -62
  1215. package/dist/skills/tools/tool-search-tool.js +0 -187
  1216. package/dist/skills/tools/tts-tool.d.ts +0 -50
  1217. package/dist/skills/tools/tts-tool.js +0 -58
  1218. package/dist/skills/tools/video-edit-tool.d.ts +0 -72
  1219. package/dist/skills/tools/video-edit-tool.js +0 -84
  1220. package/dist/skills/tools/video-generate-tool.d.ts +0 -162
  1221. package/dist/skills/tools/video-generate-tool.js +0 -178
  1222. package/dist/skills/tools/video-merge-tool.d.ts +0 -105
  1223. package/dist/skills/tools/video-merge-tool.js +0 -95
  1224. package/dist/skills/tools/video-upscale-tool.d.ts +0 -45
  1225. package/dist/skills/tools/video-upscale-tool.js +0 -57
  1226. package/dist/skills/tools/voice-clone-tool.d.ts +0 -40
  1227. package/dist/skills/tools/voice-clone-tool.js +0 -58
  1228. package/dist/skills/tools/web-answer-tool.d.ts +0 -27
  1229. package/dist/skills/tools/web-answer-tool.js +0 -124
  1230. package/dist/skills/tools/web-fetch-tool.d.ts +0 -80
  1231. package/dist/skills/tools/web-fetch-tool.js +0 -95
  1232. package/dist/skills/tools/web-research-tool.d.ts +0 -48
  1233. package/dist/skills/tools/web-research-tool.js +0 -254
  1234. package/dist/skills/tools/web-search-tool.d.ts +0 -46
  1235. package/dist/skills/tools/web-search-tool.js +0 -95
  1236. package/dist/skills/tools/workflow-tool.d.ts +0 -45
  1237. package/dist/skills/tools/workflow-tool.js +0 -113
  1238. package/dist/skills/tools/worktree-tool.d.ts +0 -69
  1239. package/dist/skills/tools/worktree-tool.js +0 -147
  1240. package/dist/skills/tools/write-tool.d.ts +0 -45
  1241. package/dist/skills/tools/write-tool.js +0 -83
  1242. package/dist/skills/tools.d.ts +0 -45
  1243. package/dist/skills/tools.js +0 -165
  1244. package/dist/skills/web-search/brave-source.d.ts +0 -2
  1245. package/dist/skills/web-search/brave-source.js +0 -36
  1246. package/dist/skills/web-search/crawl4ai-extractor.d.ts +0 -15
  1247. package/dist/skills/web-search/crawl4ai-extractor.js +0 -92
  1248. package/dist/skills/web-search/embedding-rerank.d.ts +0 -13
  1249. package/dist/skills/web-search/embedding-rerank.js +0 -44
  1250. package/dist/skills/web-search/exa-source.d.ts +0 -2
  1251. package/dist/skills/web-search/exa-source.js +0 -43
  1252. package/dist/skills/web-search/multi-source-backend.d.ts +0 -23
  1253. package/dist/skills/web-search/multi-source-backend.js +0 -99
  1254. package/dist/skills/web-search/redis-source-cache.d.ts +0 -6
  1255. package/dist/skills/web-search/redis-source-cache.js +0 -44
  1256. package/dist/skills/web-search/search-svc-source.d.ts +0 -4
  1257. package/dist/skills/web-search/search-svc-source.js +0 -64
  1258. package/dist/skills/web-search/searxng-source.d.ts +0 -2
  1259. package/dist/skills/web-search/searxng-source.js +0 -91
  1260. package/dist/skills/web-search/serper-source.d.ts +0 -2
  1261. package/dist/skills/web-search/serper-source.js +0 -33
  1262. package/dist/skills/web-search/source-factory.d.ts +0 -5
  1263. package/dist/skills/web-search/source-factory.js +0 -15
  1264. package/dist/skills/web-search/stability.d.ts +0 -26
  1265. package/dist/skills/web-search/stability.js +0 -57
  1266. package/dist/transport/acp-event-emitter.d.ts +0 -21
  1267. package/dist/transport/acp-event-emitter.js +0 -142
  1268. package/dist/transport/acp-event-emitter.test.d.ts +0 -1
  1269. package/dist/transport/acp-event-emitter.test.js +0 -87
  1270. package/dist/transport/acp-server.d.ts +0 -169
  1271. package/dist/transport/acp-server.js +0 -480
  1272. package/dist/transport/acp-server.test.d.ts +0 -1
  1273. package/dist/transport/acp-server.test.js +0 -230
  1274. package/dist/transport/index.d.ts +0 -7
  1275. package/dist/transport/index.js +0 -5
  1276. package/dist/transport/io-transport.d.ts +0 -19
  1277. package/dist/transport/io-transport.js +0 -8
@@ -1,820 +0,0 @@
1
- /**
2
- * Petdex forge — drives the vendored OpenAI Codex Hatch-Pet Python pipeline
3
- * (Apache-2.0, under vendor/hatch-pet) to produce Codex-compatible animated pet
4
- * sprite atlases.
5
- *
6
- * The forge owns NO image-processing heuristics. Chroma-key background removal,
7
- * stable-slots frame extraction, atlas composition and validation are all done
8
- * by the deterministic vendored Python scripts — the same pipeline OpenAI ships
9
- * for Codex `/hatch`. This module only:
10
- * 1. spawns prepare_pet_run.py to lay out a run directory (prompts, layout
11
- * guides, chroma-key selection, imagegen-jobs.json),
12
- * 2. fulfils each generation job by calling the provider-core media generator,
13
- * 3. spawns extract / inspect / compose / validate / contact-sheet / preview,
14
- * 4. reads the composed atlas back and packages it through pet-core.
15
- *
16
- * Prompts come exclusively from the Python prompt files (single source of
17
- * truth, chroma-hex + per-state frame counts baked in) — there is no TS prompt
18
- * builder path.
19
- */
20
- import fs from "node:fs/promises";
21
- import os from "node:os";
22
- import path from "node:path";
23
- import { createCanvas, loadImage } from "@napi-rs/canvas";
24
- import { createPetdexAssetFromSpritesheet, writePetdexAssetPackage, PETDEX_ATLAS_CONTRACT } from "./petdex-asset.js";
25
- import { isHatchPetAvailable, runHatchPetScript } from "./hatch-pet-runner.js";
26
- import { PETDEX_REFERENCE_IMAGE_SIZE, buildPetdexProductionRun, petdexSourceMode, accumulatePetdexUsage, } from "@xiaozhiclaw/pet-core";
27
- export { PETDEX_PRODUCTION_SCHEMA, } from "@xiaozhiclaw/pet-core";
28
- const CANONICAL_BASE_REL = "references/canonical-base.png";
29
- const BASE_STYLE = "single centered full-body desktop pet character on a flat chroma-key background, readable at pet size";
30
- const ROW_STYLE = "one horizontal animation row strip with evenly spaced full-body frames sharing a single consistent character identity";
31
- // Row strips are generated at a wide, provider-accepted resolution rather than
32
- // the (tiny) layout-guide dimensions: image providers like Volcengine Seedream
33
- // enforce a minimum pixel count (~1920x1920 = 3.69M px) that a 1536x208 guide
34
- // strip violates. extract_strip_frames slots by frame count, independent of the
35
- // generated resolution, so a 4096x1024 (4:1) strip extracts cleanly.
36
- const ROW_STRIP_SIZE = "4096x1024";
37
- // Image models do not honour the requested chroma-key hex exactly (e.g. Volcengine
38
- // Seedream renders a deep purple-magenta ~#9413A3 instead of pure #FF00FF), so
39
- // keying on the configured fallback leaves the real background behind. We detect
40
- // the actual flat background from the generated base and key extraction on that.
41
- const FALLBACK_CHROMA_HEX = "#FF00FF";
42
- const CHROMA_KEY_THRESHOLD = "110";
43
- // Component-based extraction with a shared viewport: finds the actual pose blobs
44
- // (merging detached bits — sweat drops, antenna balls — into the nearest pose by
45
- // x-position) so a drifting pose is never sliced across two cells, and crops every
46
- // pose to ONE shared viewport so the character keeps a stable scale across the row
47
- // (no size popping). This needs clean flat strips with no separator lines, which
48
- // the layout-guide-suppression + anti-frame guard now produce; pure equal-slot
49
- // "slots" was a stopgap for the separator era and could halve a misplaced pose.
50
- const EXTRACT_METHOD = "stable-slots";
51
- // inspect_frames' chroma-adjacent check must stay BELOW the extraction threshold:
52
- // extraction already removes everything within CHROMA_KEY_THRESHOLD of the key,
53
- // so anything still opaque is intentionally-kept character. The default (150) is
54
- // above our 110 and would flag the character's own edges as "chroma residue",
55
- // triggering an endless false-positive repair storm.
56
- const INSPECT_CHROMA_ADJ_THRESHOLD = "90";
57
- // Some image models (e.g. Volcengine Seedream) interpret "N frames in a row" as
58
- // a gallery of framed pictures — drawing white borders / mats / panels around
59
- // each pose. Those bright frames survive chroma keying and show as bars in the
60
- // atlas. The vendored Codex prompts (tuned for GPT-image) don't forbid this, so
61
- // we append an explicit anti-frame guard the orchestrator owns.
62
- const GENERATION_LAYOUT_GUARD = [
63
- "STRICT BACKGROUND: render one single continuous flat background of the same solid color filling the entire image edge to edge.",
64
- "Do NOT draw any picture frame, framed panel, border, mat, outline, box, gallery frame, white or light margin, or divider around or between the poses.",
65
- "The poses sit directly on the one seamless flat background, evenly spaced, with nothing separating them.",
66
- "IDENTITY LOCK: every frame is the EXACT same character — identical species, body shape, proportions, colors, palette, face, and markings. Do not redesign, restyle, recolor, or resize the character between frames; only its pose changes.",
67
- "Each pose is ONE connected solid silhouette at a consistent size. No detached parts, sweat drops, tears, dust, puffs, sparkles, speed lines, motion blur, floating effects, or drop shadows.",
68
- ].join(" ");
69
- const MIRROR_DECISION_NOTE = "Leftward gait is the framewise horizontal mirror of the approved rightward row, preserving frame order and timing semantics.";
70
- // Vision-QA loop (Codex method): generate up to N candidates per job and keep the
71
- // first that a vision model accepts; if none pass, fall through with the last (the
72
- // deterministic validate_atlas gate still protects the contract). Default 2.
73
- const DEFAULT_CANDIDATES = 2;
74
- const MAX_QA_PROMPTS = 2; // initial prompt, then the row's retry prompt
75
- // ── Public API ─────────────────────────────────────────────
76
- export async function forgePetdexAsset(input, generateImage, options = {}) {
77
- if (!(await isHatchPetAvailable())) {
78
- throw new Error("Petdex forge requires the vendored Hatch-Pet pipeline (Python with Pillow). Install Python + Pillow or set QLOGICAGENT_PYTHON to a python that can `import PIL`.");
79
- }
80
- const usage = { billingQuantity: 0, durationMs: 0 };
81
- const productionJobs = [];
82
- const combinedPrompts = [];
83
- const sourceMode = petdexSourceMode(input);
84
- const runDir = await createRunDir();
85
- const stagedRefs = await stageReferenceFiles(input);
86
- try {
87
- // 1. Lay out the run directory: prompts, layout guides, chroma-key, jobs.
88
- await runScript("prepare_pet_run.py", [
89
- "--pet-name", input.name,
90
- "--display-name", input.name,
91
- "--description", input.description,
92
- "--pet-notes", input.prompt?.trim() || input.description,
93
- "--pet-id", asciiSlug(input.id ?? input.name),
94
- "--output-dir", runDir,
95
- "--chroma-key", "auto",
96
- ...stagedRefs.flatMap((file) => ["--reference", file]),
97
- ]);
98
- const manifestPath = path.join(runDir, "imagegen-jobs.json");
99
- const manifest = await readJson(manifestPath);
100
- // 2. Fulfil each job in manifest order. The array is dependency-ordered
101
- // (base first; idle/running-right next, then the rest), so a plain
102
- // in-order walk satisfies depends_on and gives the Codex identity+gait
103
- // check for free: base → idle → running-right are vision-QA'd first.
104
- const inspectImage = options.inspectImage;
105
- const candidates = Math.max(1, options.candidates ?? DEFAULT_CANDIDATES);
106
- const generatedRows = [];
107
- let chromaHex = FALLBACK_CHROMA_HEX;
108
- let baseDataUrl;
109
- for (const job of manifest.jobs) {
110
- // running-left is mirror-derivable. Without vision QA we mirror it (cheap,
111
- // current behaviour). With vision QA we instead generate it as a normal
112
- // grounded row so each frame is independently checked — Codex only mirrors
113
- // a confirmed-safe running-right, and a drifting mirror yields empty cells.
114
- const isDerived = !!(job.derivation_policy?.may_derive && job.derivation_policy.may_derive_from);
115
- if (isDerived && !inspectImage) {
116
- await deriveRow(runDir);
117
- productionJobs.push({
118
- id: `row-${job.id}`,
119
- kind: "row-strip",
120
- status: "complete",
121
- animationId: job.id,
122
- prompt: `derived: framewise-horizontal-mirror of ${job.derivation_policy.may_derive_from}`,
123
- inputImages: [],
124
- outputUrl: job.output_path,
125
- });
126
- continue;
127
- }
128
- const prompt = await fs.readFile(path.join(runDir, job.prompt_file), "utf-8");
129
- const retryPrompt = job.retry_prompt_file
130
- ? await fs.readFile(path.join(runDir, job.retry_prompt_file), "utf-8").catch(() => undefined)
131
- : undefined;
132
- combinedPrompts.push(prompt);
133
- const isBase = job.kind === "base-pet";
134
- const { mediaUrl, inputImages } = await selectJobImage({
135
- runDir, job, prompt, retryPrompt, generateImage, inspectImage, candidates, usage, upload: options.uploadReferenceImage, baseDataUrl,
136
- });
137
- // The canonical base is the identity reference every row reuses; it also
138
- // reveals the actual flat background colour the model rendered (which we
139
- // key extraction on) and is the image vision QA compares every row against.
140
- if (isBase) {
141
- await fs.copyFile(path.join(runDir, job.output_path), path.join(runDir, CANONICAL_BASE_REL));
142
- chromaHex = await detectChromaHex(path.join(runDir, job.output_path));
143
- baseDataUrl = await fileToDataUrl(path.join(runDir, CANONICAL_BASE_REL));
144
- }
145
- // The vendored mirror step gates on running-right being marked complete
146
- // in the manifest, so persist job status as each generation lands.
147
- job.status = "complete";
148
- await fs.writeFile(manifestPath, JSON.stringify(manifest, null, 2), "utf-8");
149
- productionJobs.push({
150
- id: isBase ? "base-reference" : `row-${job.id}`,
151
- kind: isBase ? "reference" : "row-strip",
152
- status: "complete",
153
- ...(isBase ? {} : { animationId: job.id }),
154
- prompt,
155
- inputImages,
156
- outputUrl: mediaUrl,
157
- });
158
- if (!isBase)
159
- generatedRows.push(job);
160
- }
161
- // 3. Deterministic pipeline: extract → QA-repair → compose → validate (+ artifacts).
162
- const decodedDir = path.join(runDir, "decoded");
163
- const framesDir = path.join(runDir, "frames");
164
- const atlasPng = path.join(runDir, "atlas.png");
165
- const atlasWebp = path.join(runDir, "atlas.webp");
166
- await runScript("extract_strip_frames.py", ["--decoded-dir", decodedDir, "--output-dir", framesDir, "--chroma-key", chromaHex, "--key-threshold", CHROMA_KEY_THRESHOLD, "--method", EXTRACT_METHOD]);
167
- // Codex deterministic repair: regenerate only the rows inspect flags
168
- // (empty/sparse frames, wrong cell size, chroma bleed) with the retry
169
- // prompt, re-extract that row, and re-inspect — bounded retries per row.
170
- await repairFlaggedRows({
171
- runDir, decodedDir, framesDir, generatedRows, chromaHex, generateImage,
172
- inspectImage, candidates, baseDataUrl, usage, upload: options.uploadReferenceImage, productionJobs,
173
- });
174
- const contactSheet = path.join(runDir, "qa", "contact-sheet.png");
175
- await composeAndValidate(runDir, framesDir, atlasPng, atlasWebp, contactSheet);
176
- // Hybrid frame-level repair: the strip pass gives temporal continuity; here
177
- // each extracted frame is scored DETERMINISTICALLY (non-transparent pixel
178
- // count + mean brightness vs the row median) to catch dark silhouettes,
179
- // off-brightness, empty, or fragment frames cheaply (no per-frame vision
180
- // call). Each flagged frame is regenerated as ONE pose (img2img on the base,
181
- // vision-QA'd when a vision model is present) and spliced back into its cell,
182
- // then the atlas is recomposed + re-validated. One bounded round.
183
- if (baseDataUrl) {
184
- await repairBadFrames({
185
- runDir, framesDir, atlasPng, atlasWebp, contactSheet, generatedRows,
186
- generateImage, inspectImage, candidates, usage, upload: options.uploadReferenceImage, baseDataUrl,
187
- });
188
- }
189
- await runScriptSoft("render_animation_previews.py", ["--frames-root", framesDir, "--output-dir", path.join(runDir, "qa", "previews")]);
190
- // 4. Package through pet-core (re-encodes webp, builds the Codex-aligned manifest).
191
- const spritesheet = await fs.readFile(atlasWebp);
192
- const asset = await createPetdexAssetFromSpritesheet({
193
- id: input.id,
194
- name: input.name,
195
- description: input.description,
196
- prompt: input.prompt,
197
- spritesheet,
198
- sourceKind: "forge",
199
- });
200
- return {
201
- ...asset,
202
- prompt: combinedPrompts.join("\n\n---\n\n"),
203
- productionRun: buildPetdexProductionRun(sourceMode, productionJobs),
204
- model: usage.model,
205
- size: usage.size,
206
- durationMs: usage.durationMs || undefined,
207
- ...(usage.provider ? {
208
- mediaUsage: {
209
- provider: usage.provider,
210
- model: usage.model ?? "unknown",
211
- billingUnit: usage.billingUnit ?? "per_call",
212
- billingQuantity: usage.billingQuantity || 1,
213
- },
214
- } : {}),
215
- };
216
- }
217
- finally {
218
- await cleanupDir(stagedRefs.length ? path.dirname(stagedRefs[0]) : undefined);
219
- if (!keepRuns())
220
- await cleanupDir(runDir);
221
- }
222
- }
223
- export async function forgePetdexAssetPackage(params) {
224
- const forged = await forgePetdexAsset(params.input, params.generateImage, {
225
- uploadReferenceImage: params.uploadReferenceImage,
226
- });
227
- const assetDir = path.join(params.outputDir, forged.asset.id);
228
- await fs.mkdir(assetDir, { recursive: true });
229
- const manifestPath = path.join(assetDir, "pet.json");
230
- const spritesheetPath = path.join(assetDir, "spritesheet.webp");
231
- const validationPath = path.join(assetDir, "validation.json");
232
- const productionRunPath = path.join(assetDir, "production-run.json");
233
- await fs.writeFile(manifestPath, JSON.stringify(forged.asset, null, 2), "utf-8");
234
- await fs.writeFile(spritesheetPath, forged.spritesheet);
235
- await fs.writeFile(validationPath, JSON.stringify(forged.validation, null, 2), "utf-8");
236
- await fs.writeFile(productionRunPath, JSON.stringify(forged.productionRun, null, 2), "utf-8");
237
- const packagePath = await writePetdexAssetPackage({
238
- asset: forged.asset,
239
- spritesheet: forged.spritesheet,
240
- validation: forged.validation,
241
- productionRun: forged.productionRun,
242
- outputDir: params.outputDir,
243
- fileName: `${forged.asset.id}.petdex`,
244
- });
245
- return {
246
- ...forged,
247
- packagePath,
248
- assetDir,
249
- manifestPath,
250
- spritesheetPath,
251
- validationPath,
252
- productionRunPath,
253
- };
254
- }
255
- export async function readGeneratedPetdexImage(mediaUrl) {
256
- if (mediaUrl.startsWith("data:")) {
257
- const match = mediaUrl.match(/^data:[^;]+;base64,(.+)$/);
258
- if (!match)
259
- throw new Error("Generated Petdex image data URL is not base64 encoded");
260
- return Buffer.from(match[1], "base64");
261
- }
262
- if (/^https?:\/\//i.test(mediaUrl)) {
263
- const response = await fetch(mediaUrl);
264
- if (!response.ok)
265
- throw new Error(`Generated Petdex image download failed: ${response.status} ${response.statusText}`);
266
- return Buffer.from(await response.arrayBuffer());
267
- }
268
- if (mediaUrl.startsWith("file://")) {
269
- return fs.readFile(new URL(mediaUrl));
270
- }
271
- return fs.readFile(mediaUrl);
272
- }
273
- // ── Internal helpers ───────────────────────────────────────
274
- async function deriveRow(runDir) {
275
- await runScript("derive_running_left_from_running_right.py", [
276
- "--run-dir", runDir,
277
- "--confirm-appropriate-mirror",
278
- "--decision-note", MIRROR_DECISION_NOTE,
279
- "--force",
280
- ]);
281
- }
282
- /** Generate one candidate image (base or row). Does NOT write to disk. */
283
- async function generateCandidate(runDir, job, promptText, generateImage, usage, upload) {
284
- const inputImages = await resolveJobImages(runDir, job, upload);
285
- const isBase = job.kind === "base-pet";
286
- // Do NOT send the layout guide to the model: providers like Seedream copy its
287
- // visible slot boxes / crosslines straight into the output. Frame spacing comes
288
- // from the prompt ("N evenly-spaced frames") and the explicit ROW_STRIP_SIZE;
289
- // extraction divides into equal slots regardless. The base pet grounds identity.
290
- const sentImages = inputImages.filter((image) => image.role !== "layout-guide");
291
- const identity = sentImages.find((image) => image.role === "canonical-reference") ?? sentImages[0];
292
- const result = await generateImage({
293
- prompt: `${promptText}\n\n${GENERATION_LAYOUT_GUARD}`,
294
- purpose: isBase ? "petdex-reference" : "petdex-row-strip",
295
- ...(isBase ? {} : { animationId: job.id }),
296
- style: isBase ? BASE_STYLE : ROW_STYLE,
297
- size: isBase ? PETDEX_REFERENCE_IMAGE_SIZE : ROW_STRIP_SIZE,
298
- imageUrl: identity?.imageUrl,
299
- referenceImages: sentImages,
300
- n: 1,
301
- quality: "auto",
302
- });
303
- accumulatePetdexUsage(usage, result);
304
- const mediaUrl = result.mediaUrls[0];
305
- if (!mediaUrl)
306
- throw new Error(`Petdex generation returned no image for job ${job.id}`);
307
- return { mediaUrl, inputImages: sentImages };
308
- }
309
- async function writeDecoded(runDir, job, mediaUrl) {
310
- const outputPath = path.join(runDir, job.output_path);
311
- await fs.mkdir(path.dirname(outputPath), { recursive: true });
312
- await fs.writeFile(outputPath, await readGeneratedPetdexImage(mediaUrl));
313
- }
314
- /**
315
- * Generate a job image with the Codex vision-QA loop: up to `candidates` per
316
- * prompt (initial, then the row's retry prompt), keeping the first that vision QA
317
- * accepts. With no inspectImage, takes the first candidate. The chosen image is
318
- * written to the decoded output path. If nothing passes, the last candidate is
319
- * used — validate_atlas stays the hard contract gate.
320
- */
321
- async function selectJobImage(ctx) {
322
- const prompts = [ctx.prompt, ...(ctx.retryPrompt ? [ctx.retryPrompt] : [])].slice(0, MAX_QA_PROMPTS);
323
- let fallback = null;
324
- for (const promptText of prompts) {
325
- for (let attempt = 0; attempt < ctx.candidates; attempt++) {
326
- const candidate = await generateCandidate(ctx.runDir, ctx.job, promptText, ctx.generateImage, ctx.usage, ctx.upload);
327
- if (!ctx.inspectImage) {
328
- await writeDecoded(ctx.runDir, ctx.job, candidate.mediaUrl);
329
- return candidate;
330
- }
331
- const verdict = await qaJobImage(ctx.inspectImage, ctx.job, candidate.mediaUrl, ctx.baseDataUrl);
332
- if (verdict.ok) {
333
- await writeDecoded(ctx.runDir, ctx.job, candidate.mediaUrl);
334
- return candidate;
335
- }
336
- fallback = candidate;
337
- }
338
- }
339
- const chosen = fallback ?? await generateCandidate(ctx.runDir, ctx.job, ctx.prompt, ctx.generateImage, ctx.usage, ctx.upload);
340
- await writeDecoded(ctx.runDir, ctx.job, chosen.mediaUrl);
341
- return chosen;
342
- }
343
- // ── Vision QA (Codex method) ───────────────────────────────
344
- const FRAME_COUNTS = {
345
- idle: 6, "running-right": 8, "running-left": 8, waving: 4, jumping: 5, failed: 8, waiting: 6, running: 6, review: 6,
346
- };
347
- /** Lenient parse: only an explicit FAIL blocks (ambiguous output never burns regenerations). */
348
- function parseVerdict(text) {
349
- const value = (text ?? "").trim();
350
- if (/\bfail\b/i.test(value) && !/\bpass\b/i.test(value.slice(0, 8))) {
351
- const match = value.match(/fail[:\s-]*(.+)/i);
352
- return { ok: false, reason: (match?.[1] ?? "").trim().slice(0, 200) };
353
- }
354
- return { ok: true, reason: "" };
355
- }
356
- async function qaJobImage(inspectImage, job, mediaUrl, baseDataUrl) {
357
- try {
358
- if (job.kind === "base-pet") {
359
- return parseVerdict(await inspectImage({ prompt: BASE_QA_PROMPT, imageUrls: [mediaUrl] }));
360
- }
361
- const frames = FRAME_COUNTS[job.id] ?? 6;
362
- const imageUrls = baseDataUrl ? [mediaUrl, baseDataUrl] : [mediaUrl];
363
- return parseVerdict(await inspectImage({ prompt: rowQaPrompt(job.id, frames), imageUrls }));
364
- }
365
- catch {
366
- return { ok: true, reason: "" }; // a QA-call failure must not block generation
367
- }
368
- }
369
- const BASE_QA_PROMPT = [
370
- "You are a strict desktop-pet sprite reviewer. The image is a single pet character reference.",
371
- "Reply PASS only if ALL hold: one centered full-body cute pet; one flat solid background; no text, scenery, picture frames, borders, drop shadows, or detached effects.",
372
- 'Reply with exactly "PASS" or "FAIL: <one short reason>".',
373
- ].join(" ");
374
- function rowQaPrompt(state, frames) {
375
- return [
376
- `You are a strict sprite-sheet reviewer. Image 1 is a horizontal strip of ${frames} animation frames for a desktop pet's "${state}" animation. Image 2 is the canonical reference of the SAME pet.`,
377
- "Reply PASS only if ALL hold: (1) every frame is the SAME character as the reference — same species, colors, palette, face, proportions, markings; (2) one flat solid background with NO picture frames, borders, boxes, mats, panels, dividers, or copied guide lines; (3) each pose is a complete pet, fully inside its own area, not cut off or split between cells; (4) no detached effects — no drop shadows, sparkles, dust, tears, speed lines, or text.",
378
- 'Reply with exactly "PASS" or "FAIL: <one short reason>".',
379
- ].join(" ");
380
- }
381
- async function fileToDataUrl(filePath) {
382
- const buffer = await fs.readFile(filePath);
383
- const mimeType = filePath.toLowerCase().endsWith(".webp") ? "image/webp" : "image/png";
384
- return `data:${mimeType};base64,${buffer.toString("base64")}`;
385
- }
386
- const MAX_ROW_REPAIRS = 2;
387
- /**
388
- * Re-inspect extracted frames and regenerate only the rows that fail QA, using
389
- * each row's retry prompt and re-extracting just that row. Mirrors the Codex
390
- * "repair the smallest failing scope first" policy; bounded per row so a
391
- * persistently bad row falls through to the hard validate gate rather than
392
- * looping forever.
393
- */
394
- async function repairFlaggedRows(ctx) {
395
- const reviewPath = path.join(ctx.runDir, "qa", "review.json");
396
- const inspect = () => runScriptSoft("inspect_frames.py", ["--frames-root", ctx.framesDir, "--json-out", reviewPath, "--chroma-adjacent-threshold", INSPECT_CHROMA_ADJ_THRESHOLD]);
397
- await inspect();
398
- let review = await readReview(reviewPath);
399
- for (const job of ctx.generatedRows) {
400
- let attempts = 0;
401
- while (review && rowFailed(review, job.id) && attempts < MAX_ROW_REPAIRS) {
402
- attempts++;
403
- await regenerateRow(ctx, job);
404
- await reextractRows(ctx, await rowsToReextract(ctx, job));
405
- await inspect();
406
- review = await readReview(reviewPath);
407
- }
408
- }
409
- }
410
- /** Regenerate one row (vision-QA loop) and update its provenance + decoded output. */
411
- async function regenerateRow(ctx, job) {
412
- // Repairs escalate to the row's stricter retry prompt as the primary prompt.
413
- const prompt = await fs.readFile(path.join(ctx.runDir, job.prompt_file), "utf-8");
414
- const retryPrompt = job.retry_prompt_file
415
- ? await fs.readFile(path.join(ctx.runDir, job.retry_prompt_file), "utf-8").catch(() => undefined)
416
- : undefined;
417
- const repairPrompt = retryPrompt ?? prompt;
418
- const { mediaUrl, inputImages } = await selectJobImage({
419
- runDir: ctx.runDir, job, prompt: repairPrompt, generateImage: ctx.generateImage, inspectImage: ctx.inspectImage,
420
- candidates: ctx.candidates, usage: ctx.usage, upload: ctx.upload, baseDataUrl: ctx.baseDataUrl,
421
- });
422
- const provenance = ctx.productionJobs.find((entry) => entry.id === `row-${job.id}`);
423
- if (provenance) {
424
- provenance.prompt = repairPrompt;
425
- provenance.outputUrl = mediaUrl;
426
- provenance.inputImages = inputImages;
427
- }
428
- }
429
- /** When running-right is regenerated and running-left was mirror-derived, re-mirror it. */
430
- async function rowsToReextract(ctx, job) {
431
- if (job.id !== "running-right")
432
- return job.id;
433
- // running-left was mirror-derived only when there is no vision QA.
434
- const leftDerived = !ctx.inspectImage && await fileExists(path.join(ctx.decodedDir, "running-left.png"));
435
- if (leftDerived) {
436
- await deriveRow(ctx.runDir);
437
- return "running-right,running-left";
438
- }
439
- return "running-right";
440
- }
441
- async function reextractRows(ctx, states) {
442
- await runScript("extract_strip_frames.py", ["--decoded-dir", ctx.decodedDir, "--output-dir", ctx.framesDir, "--states", states, "--chroma-key", ctx.chromaHex, "--key-threshold", CHROMA_KEY_THRESHOLD, "--method", EXTRACT_METHOD]);
443
- }
444
- async function fileExists(filePath) {
445
- return fs.access(filePath).then(() => true, () => false);
446
- }
447
- /** Compose the atlas, hard-validate it, and refresh the contact sheet. */
448
- async function composeAndValidate(runDir, framesDir, atlasPng, atlasWebp, contactSheet) {
449
- await runScript("compose_atlas.py", ["--frames-root", framesDir, "--output", atlasPng, "--webp-output", atlasWebp]);
450
- // Atlas validation is the hard gate: a contract-violating atlas is never packaged.
451
- await runScript("validate_atlas.py", [atlasPng, "--json-out", path.join(runDir, "qa", "validation.json")]);
452
- await runScriptSoft("make_contact_sheet.py", [atlasPng, "--output", contactSheet]);
453
- }
454
- const MAX_FRAME_REPAIRS_PER_ROW = 4; // cap single-frame regenerations per row
455
- const SINGLE_FRAME_STYLE = "one single centered full-body desktop pet pose on a flat chroma-key background";
456
- const FRAME_EXTRACT_THRESHOLD = 120; // chroma distance for single-frame background removal
457
- // Brief per-state pose hints for single-frame regeneration (the row prompt is for
458
- // a whole strip; one replacement frame just needs the state's gist + identity).
459
- const STATE_HINTS = {
460
- idle: "a calm resting pose, breathing, standing still",
461
- "running-right": "a mid-stride running pose facing and moving to the right",
462
- "running-left": "a mid-stride running pose facing and moving to the left",
463
- waving: "raising a paw/hand/limb in a friendly wave",
464
- jumping: "a mid-air playful jump",
465
- failed: "a sad, deflated, slumped reaction pose",
466
- waiting: "an expectant waiting pose, looking up for input",
467
- running: "a focused working/thinking pose, busy but not foot-running",
468
- review: "a focused inspecting pose, leaning in to review",
469
- };
470
- const MIN_FRAME_PIXELS = 400; // matches inspect_frames --min-used-pixels
471
- const ABSOLUTE_DARK_LUM = 45; // mean luminance below which a frame is a dark silhouette
472
- /**
473
- * Frame-level repair (deterministic detection): score every extracted frame by
474
- * non-transparent pixel count + mean brightness against the row median. Frames
475
- * that are empty/fragment (too few pixels) or a dark silhouette / off-brightness
476
- * (much darker than the row) are regenerated as ONE pose (img2img on the base,
477
- * vision-QA'd when a vision model is present) and spliced back into the cell.
478
- * No per-frame vision call — the user's "black vs blue / wrong count" defects are
479
- * measurable directly, which also keeps the run fast enough for the RPC timeout.
480
- */
481
- async function repairBadFrames(ctx) {
482
- let repaired = 0;
483
- for (const job of ctx.generatedRows) {
484
- const frames = FRAME_COUNTS[job.id] ?? 6;
485
- const stats = [];
486
- for (let index = 0; index < frames; index++) {
487
- stats.push(await analyzeFrame(path.join(ctx.framesDir, job.id, `${String(index).padStart(2, "0")}.png`)));
488
- }
489
- const medianCount = median(stats.map((s) => s.count).filter((c) => c > 0));
490
- const medianLum = median(stats.map((s) => s.lum).filter((l) => l > 0));
491
- let rowRepairs = 0;
492
- for (let index = 0; index < frames && rowRepairs < MAX_FRAME_REPAIRS_PER_ROW; index++) {
493
- const stat = stats[index];
494
- const sparse = stat.count < Math.max(MIN_FRAME_PIXELS, medianCount * 0.4);
495
- const dark = stat.lum < ABSOLUTE_DARK_LUM || (medianLum > 0 && stat.lum < medianLum * 0.6);
496
- if (!sparse && !dark)
497
- continue;
498
- const single = await generateSingleFrame(ctx, job, index, frames);
499
- if (!single)
500
- continue;
501
- await extractFrameToCell(await readGeneratedPetdexImage(single), path.join(ctx.framesDir, job.id, `${String(index).padStart(2, "0")}.png`));
502
- rowRepairs++;
503
- repaired++;
504
- }
505
- }
506
- if (repaired > 0) {
507
- await composeAndValidate(ctx.runDir, ctx.framesDir, ctx.atlasPng, ctx.atlasWebp, ctx.contactSheet);
508
- }
509
- }
510
- /** Non-transparent pixel count + mean luminance of those pixels for one frame. */
511
- async function analyzeFrame(framePath) {
512
- try {
513
- const image = await loadImage(await fs.readFile(framePath));
514
- const width = Math.max(1, image.width);
515
- const height = Math.max(1, image.height);
516
- const canvas = createCanvas(width, height);
517
- const ctx = canvas.getContext("2d");
518
- ctx.drawImage(image, 0, 0);
519
- const data = ctx.getImageData(0, 0, width, height).data;
520
- let count = 0;
521
- let lumSum = 0;
522
- for (let i = 0; i < data.length; i += 4) {
523
- if ((data[i + 3] ?? 0) > 40) {
524
- count++;
525
- lumSum += 0.299 * (data[i] ?? 0) + 0.587 * (data[i + 1] ?? 0) + 0.114 * (data[i + 2] ?? 0);
526
- }
527
- }
528
- return { count, lum: count ? lumSum / count : 0 };
529
- }
530
- catch {
531
- return { count: Number.MAX_SAFE_INTEGER, lum: 255 }; // unreadable → treat as ok
532
- }
533
- }
534
- function median(values) {
535
- if (values.length === 0)
536
- return 0;
537
- const sorted = [...values].sort((a, b) => a - b);
538
- const mid = Math.floor(sorted.length / 2);
539
- return sorted.length % 2 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
540
- }
541
- function frameQaPrompt(state) {
542
- return [
543
- `Image 1 is ONE animation frame of a desktop pet's "${state}" pose. Image 2 is the canonical reference of the SAME pet.`,
544
- "Reply PASS only if image 1 shows ONE complete pet that clearly matches the reference — same species, colors, palette, BRIGHTNESS, proportions, markings; centered and fully visible.",
545
- "Reply FAIL if it is a dark or black silhouette, off-colour, dimmer/brighter than the reference, cut off, empty, a fragment, or shows two pets.",
546
- 'Reply with exactly "PASS" or "FAIL: <one short reason>".',
547
- ].join(" ");
548
- }
549
- /** Generate ONE replacement pose (img2img on the canonical base), vision-QA'd. */
550
- async function generateSingleFrame(ctx, job, index, frames) {
551
- const prompt = [
552
- `Create ONE single image of a desktop pet in the "${job.id}" animation, pose ${index + 1} of ${frames}.`,
553
- "Output exactly ONE complete, centered, full-body pose of the SAME pet as the attached reference image — identical species, colors, palette, brightness, proportions, and markings.",
554
- "This is a single sprite frame: NOT a strip, NOT a grid, NOT multiple poses, NOT a dark silhouette.",
555
- `Pose: ${STATE_HINTS[job.id] ?? "a clear pose for this state"}.`,
556
- ].join(" ");
557
- let fallback = null;
558
- for (let attempt = 0; attempt < ctx.candidates; attempt++) {
559
- const result = await ctx.generateImage({
560
- prompt: `${prompt}\n\n${GENERATION_LAYOUT_GUARD}`,
561
- purpose: "petdex-reference",
562
- style: SINGLE_FRAME_STYLE,
563
- size: PETDEX_REFERENCE_IMAGE_SIZE,
564
- imageUrl: ctx.baseDataUrl,
565
- referenceImages: [{ role: "canonical-reference", imageUrl: ctx.baseDataUrl }],
566
- n: 1,
567
- quality: "auto",
568
- });
569
- accumulatePetdexUsage(ctx.usage, result);
570
- const url = result.mediaUrls[0];
571
- if (!url)
572
- continue;
573
- fallback = url;
574
- if (!ctx.inspectImage)
575
- return url;
576
- try {
577
- const verdict = parseVerdict(await ctx.inspectImage({ prompt: frameQaPrompt(job.id), imageUrls: [url, ctx.baseDataUrl] }));
578
- if (verdict.ok)
579
- return url;
580
- }
581
- catch {
582
- return url; // vision-call failure → accept the candidate
583
- }
584
- }
585
- return fallback;
586
- }
587
- /**
588
- * Extract a single generated pose into one transparent 192x208 cell: detect the
589
- * flat background colour from the image border, key it out, then crop-to-content
590
- * and fit centred. (Single clean pose only — not the flawed multi-pose slotting.)
591
- */
592
- async function extractFrameToCell(srcBuffer, outPath) {
593
- const image = await loadImage(srcBuffer);
594
- const width = Math.max(1, image.width);
595
- const height = Math.max(1, image.height);
596
- const canvas = createCanvas(width, height);
597
- const ctx = canvas.getContext("2d");
598
- ctx.drawImage(image, 0, 0);
599
- const imageData = ctx.getImageData(0, 0, width, height);
600
- const data = imageData.data;
601
- const [kr, kg, kb] = dominantBorderColor(data, width, height);
602
- for (let i = 0; i < data.length; i += 4) {
603
- const dr = (data[i] ?? 0) - kr;
604
- const dg = (data[i + 1] ?? 0) - kg;
605
- const db = (data[i + 2] ?? 0) - kb;
606
- if (Math.sqrt(dr * dr + dg * dg + db * db) <= FRAME_EXTRACT_THRESHOLD) {
607
- data[i] = 0;
608
- data[i + 1] = 0;
609
- data[i + 2] = 0;
610
- data[i + 3] = 0;
611
- }
612
- }
613
- ctx.putImageData(imageData, 0, 0);
614
- let minX = width, minY = height, maxX = -1, maxY = -1;
615
- for (let y = 0; y < height; y++) {
616
- for (let x = 0; x < width; x++) {
617
- if ((data[(y * width + x) * 4 + 3] ?? 0) > 16) {
618
- if (x < minX)
619
- minX = x;
620
- if (x > maxX)
621
- maxX = x;
622
- if (y < minY)
623
- minY = y;
624
- if (y > maxY)
625
- maxY = y;
626
- }
627
- }
628
- }
629
- const cell = createCanvas(PETDEX_ATLAS_CONTRACT.cellWidth, PETDEX_ATLAS_CONTRACT.cellHeight);
630
- const cellCtx = cell.getContext("2d");
631
- if (maxX >= minX && maxY >= minY) {
632
- const bw = maxX - minX + 1;
633
- const bh = maxY - minY + 1;
634
- const maxW = PETDEX_ATLAS_CONTRACT.cellWidth - 10;
635
- const maxH = PETDEX_ATLAS_CONTRACT.cellHeight - 10;
636
- const scale = Math.min(maxW / bw, maxH / bh, 1);
637
- const dw = bw * scale;
638
- const dh = bh * scale;
639
- cellCtx.imageSmoothingEnabled = true;
640
- cellCtx.imageSmoothingQuality = "high";
641
- cellCtx.drawImage(canvas, minX, minY, bw, bh, (PETDEX_ATLAS_CONTRACT.cellWidth - dw) / 2, (PETDEX_ATLAS_CONTRACT.cellHeight - dh) / 2, dw, dh);
642
- }
643
- await fs.mkdir(path.dirname(outPath), { recursive: true });
644
- await fs.writeFile(outPath, Buffer.from(cell.toBuffer("image/png")));
645
- }
646
- /** Dominant colour of an inset border ring (the flat chroma background). */
647
- function dominantBorderColor(data, width, height) {
648
- const inset = Math.max(4, Math.floor(Math.min(width, height) * 0.02));
649
- const step = Math.max(1, Math.floor(width / 200));
650
- const buckets = new Map();
651
- const sample = (x, y) => {
652
- const idx = (y * width + x) * 4;
653
- const r = data[idx] ?? 0, g = data[idx + 1] ?? 0, b = data[idx + 2] ?? 0;
654
- if (r + g + b < 24)
655
- return;
656
- const key = ((r >> 4) << 8) | ((g >> 4) << 4) | (b >> 4);
657
- const e = buckets.get(key) ?? { n: 0, r: 0, g: 0, b: 0 };
658
- e.n++;
659
- e.r += r;
660
- e.g += g;
661
- e.b += b;
662
- buckets.set(key, e);
663
- };
664
- for (let x = inset; x < width - inset; x += step) {
665
- sample(x, inset);
666
- sample(x, height - 1 - inset);
667
- }
668
- for (let y = inset; y < height - inset; y += step) {
669
- sample(inset, y);
670
- sample(width - 1 - inset, y);
671
- }
672
- let best = null;
673
- for (const e of buckets.values())
674
- if (!best || e.n > best.n)
675
- best = e;
676
- if (!best || best.n === 0)
677
- return [255, 0, 255];
678
- return [Math.round(best.r / best.n), Math.round(best.g / best.n), Math.round(best.b / best.n)];
679
- }
680
- function rowFailed(review, state) {
681
- const row = review.rows.find((entry) => entry.state === state);
682
- return row ? row.ok === false : false;
683
- }
684
- async function readReview(reviewPath) {
685
- return readJson(reviewPath).catch(() => null);
686
- }
687
- async function resolveJobImages(runDir, job, upload) {
688
- const images = [];
689
- for (const image of job.input_images) {
690
- const absPath = path.join(runDir, image.path);
691
- // canonical-base is produced after the base job; tolerate its absence on
692
- // the base job itself (where it is not referenced anyway).
693
- const buffer = await fs.readFile(absPath).catch(() => null);
694
- if (!buffer)
695
- continue;
696
- const imageUrl = await toImageUrl(buffer, path.basename(absPath), upload);
697
- images.push({ role: mapReferenceRole(image.role), imageUrl });
698
- }
699
- return images;
700
- }
701
- function mapReferenceRole(role) {
702
- const lower = role.toLowerCase();
703
- if (lower.includes("layout guide"))
704
- return "layout-guide";
705
- if (lower.includes("atlas"))
706
- return "existing-atlas";
707
- return "canonical-reference";
708
- }
709
- async function toImageUrl(buffer, filename, upload) {
710
- const mimeType = filename.toLowerCase().endsWith(".webp") ? "image/webp" : "image/png";
711
- if (upload)
712
- return upload({ buffer, mimeType, filename });
713
- return `data:${mimeType};base64,${buffer.toString("base64")}`;
714
- }
715
- async function stageReferenceFiles(input) {
716
- const buffers = [];
717
- if (input.referenceImageUrl)
718
- buffers.push(await readGeneratedPetdexImage(input.referenceImageUrl));
719
- // A refine run grounds identity on the existing atlas.
720
- if (input.baseSpritesheet)
721
- buffers.push(input.baseSpritesheet);
722
- if (buffers.length === 0)
723
- return [];
724
- const stagingDir = await fs.mkdtemp(path.join(os.tmpdir(), "petdex-ref-"));
725
- const files = [];
726
- for (let index = 0; index < buffers.length; index++) {
727
- const file = path.join(stagingDir, `reference-${String(index + 1).padStart(2, "0")}.png`);
728
- await fs.writeFile(file, buffers[index]);
729
- files.push(file);
730
- }
731
- return files;
732
- }
733
- async function createRunDir() {
734
- const base = process.env.QLOGICAGENT_PETDEX_RUN_DIR?.trim() || os.tmpdir();
735
- await fs.mkdir(base, { recursive: true });
736
- return fs.mkdtemp(path.join(base, "petdex-run-"));
737
- }
738
- function keepRuns() {
739
- const value = process.env.QLOGICAGENT_PETDEX_KEEP_RUNS?.trim().toLowerCase();
740
- return value === "1" || value === "true";
741
- }
742
- async function cleanupDir(dir) {
743
- if (!dir)
744
- return;
745
- await fs.rm(dir, { recursive: true, force: true }).catch(() => undefined);
746
- }
747
- async function readJson(file) {
748
- return JSON.parse(await fs.readFile(file, "utf-8"));
749
- }
750
- /**
751
- * Detect the flat background colour the model actually rendered, by taking the
752
- * dominant colour of an inset border ring of the base image. Image models do not
753
- * honour the requested chroma hex, so extraction must key on what was produced.
754
- */
755
- async function detectChromaHex(pngPath) {
756
- try {
757
- const image = await loadImage(await fs.readFile(pngPath));
758
- const width = Math.max(1, image.width);
759
- const height = Math.max(1, image.height);
760
- const canvas = createCanvas(width, height);
761
- const ctx = canvas.getContext("2d");
762
- ctx.drawImage(image, 0, 0);
763
- const data = ctx.getImageData(0, 0, width, height).data;
764
- const inset = Math.max(8, Math.floor(Math.min(width, height) * 0.02));
765
- const step = Math.max(1, Math.floor(width / 240));
766
- const buckets = new Map();
767
- const sample = (x, y) => {
768
- const idx = (y * width + x) * 4;
769
- const a = data[idx + 3] ?? 0;
770
- const r = data[idx] ?? 0;
771
- const g = data[idx + 1] ?? 0;
772
- const b = data[idx + 2] ?? 0;
773
- if (a < 200)
774
- return;
775
- if (r + g + b < 48)
776
- return; // skip near-black borders/separator lines
777
- const key = ((r >> 4) << 8) | ((g >> 4) << 4) | (b >> 4);
778
- const e = buckets.get(key) ?? { n: 0, r: 0, g: 0, b: 0 };
779
- e.n++;
780
- e.r += r;
781
- e.g += g;
782
- e.b += b;
783
- buckets.set(key, e);
784
- };
785
- for (let x = inset; x < width - inset; x += step) {
786
- sample(x, inset);
787
- sample(x, height - 1 - inset);
788
- }
789
- for (let y = inset; y < height - inset; y += step) {
790
- sample(inset, y);
791
- sample(width - 1 - inset, y);
792
- }
793
- let best = null;
794
- for (const e of buckets.values())
795
- if (!best || e.n > best.n)
796
- best = e;
797
- if (!best || best.n === 0)
798
- return FALLBACK_CHROMA_HEX;
799
- const r = Math.round(best.r / best.n);
800
- const g = Math.round(best.g / best.n);
801
- const b = Math.round(best.b / best.n);
802
- return `#${[r, g, b].map((v) => v.toString(16).padStart(2, "0")).join("")}`.toUpperCase();
803
- }
804
- catch {
805
- return FALLBACK_CHROMA_HEX;
806
- }
807
- }
808
- function asciiSlug(value) {
809
- const slug = value.replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
810
- return slug || "petdex";
811
- }
812
- async function runScript(script, args) {
813
- const result = await runHatchPetScript(script, args, { timeoutMs: 180_000 });
814
- if (!result.ok) {
815
- throw new Error(`Petdex pipeline step ${script} failed (exit ${result.code ?? "?"}): ${result.stderr.trim() || result.stdout.trim()}`);
816
- }
817
- }
818
- async function runScriptSoft(script, args) {
819
- await runHatchPetScript(script, args, { timeoutMs: 180_000 }).catch(() => undefined);
820
- }