@boboddy/sdk 0.0.7-alpha → 0.0.8-alpha

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 (215) hide show
  1. package/dist/apps/api/src/app.d.ts +1371 -575
  2. package/dist/apps/api/src/http/routes/step-definition-templates.d.ts +477 -0
  3. package/dist/apps/api/src/http/routes/step-executions.d.ts +1 -0
  4. package/dist/packages/core/src/access/authorization/application/authorization-service.d.ts +12 -0
  5. package/dist/packages/core/src/access/authorization/infra/project-authorization-service.d.ts +7 -0
  6. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/ai-container-launcher.d.ts +21 -0
  7. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/create-project-runtime-session.d.ts +13 -0
  8. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/devcontainer-launcher.d.ts +21 -0
  9. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/get-project-runtime-session.d.ts +11 -0
  10. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/git-clone-service.d.ts +11 -0
  11. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/list-project-runtime-sessions.d.ts +11 -0
  12. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/project-runtime-session-contract-mapper.d.ts +3 -0
  13. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/project-runtime-session-execution-target.d.ts +3 -0
  14. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/project-runtime-session-network-metadata.d.ts +15 -0
  15. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/project-runtime-session-repo.d.ts +10 -0
  16. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/runtime-session-network-manager.d.ts +14 -0
  17. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/stop-project-runtime-session.d.ts +29 -0
  18. package/dist/packages/core/src/agent-sessions/project-runtime-session/application/workspace-manager.d.ts +10 -0
  19. package/dist/packages/core/src/agent-sessions/project-runtime-session/contracts/project-runtime-session-contracts.d.ts +62 -0
  20. package/dist/packages/core/src/agent-sessions/project-runtime-session/domain/project-runtime-session-entity-helpers.d.ts +12 -0
  21. package/dist/packages/core/src/agent-sessions/project-runtime-session/domain/project-runtime-session-entity.d.ts +99 -0
  22. package/dist/packages/core/src/agent-sessions/project-runtime-session/domain/project-runtime-session-execution-target.d.ts +16 -0
  23. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/devcontainer-cli-launcher.d.ts +6 -0
  24. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/docker-ai-container-launcher.d.ts +8 -0
  25. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/drizzle-project-runtime-session-repo.d.ts +11 -0
  26. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/git-cli-clone-service.d.ts +4 -0
  27. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-devcontainer-jsonc.d.ts +4 -0
  28. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-devcontainer-port-forward-manager-support.d.ts +42 -0
  29. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-devcontainer-port-forward-manager.d.ts +24 -0
  30. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-devcontainer-working-directory.d.ts +5 -0
  31. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-docker-runtime-session-network-manager.d.ts +17 -0
  32. package/dist/packages/core/src/agent-sessions/project-runtime-session/infra/local-workspace-manager.d.ts +11 -0
  33. package/dist/packages/core/src/agent-sessions/runtime-command/application/complete-claimed-runtime-command.d.ts +11 -0
  34. package/dist/packages/core/src/agent-sessions/runtime-command/application/create-runtime-command.d.ts +17 -0
  35. package/dist/packages/core/src/agent-sessions/runtime-command/application/fail-claimed-runtime-command.d.ts +11 -0
  36. package/dist/packages/core/src/agent-sessions/runtime-command/application/interrupt-claimed-runtime-command.d.ts +11 -0
  37. package/dist/packages/core/src/agent-sessions/runtime-command/application/run-runtime-command-locally.d.ts +26 -0
  38. package/dist/packages/core/src/agent-sessions/runtime-command/application/runtime-command-claim-helpers.d.ts +1 -0
  39. package/dist/packages/core/src/agent-sessions/runtime-command/application/runtime-command-contract-mapper.d.ts +3 -0
  40. package/dist/packages/core/src/agent-sessions/runtime-command/application/runtime-command-output-summary.d.ts +4 -0
  41. package/dist/packages/core/src/agent-sessions/runtime-command/application/runtime-command-repo.d.ts +20 -0
  42. package/dist/packages/core/src/agent-sessions/runtime-command/application/runtime-command-runner.d.ts +25 -0
  43. package/dist/packages/core/src/agent-sessions/runtime-command/contracts/runtime-command-contracts.d.ts +194 -0
  44. package/dist/packages/core/src/agent-sessions/runtime-command/domain/runtime-command-entity.d.ts +111 -0
  45. package/dist/packages/core/src/agent-sessions/runtime-command/infra/drizzle-runtime-command-repo.d.ts +20 -0
  46. package/dist/packages/core/src/agent-sessions/runtime-command/infra/local-runtime-command-runner.d.ts +25 -0
  47. package/dist/packages/core/src/agent-sessions/runtime-environment/domain/runtime-environment.d.ts +12 -0
  48. package/dist/packages/core/src/agent-sessions/runtime-operation-event/application/runtime-operation-event-publisher.d.ts +24 -0
  49. package/dist/packages/core/src/agent-sessions/runtime-operation-event/application/runtime-operation-event-repo.d.ts +17 -0
  50. package/dist/packages/core/src/agent-sessions/runtime-operation-event/domain/runtime-operation-event.d.ts +35 -0
  51. package/dist/packages/core/src/agent-sessions/runtime-operation-event/infra/file-runtime-operation-event-repo.d.ts +25 -0
  52. package/dist/packages/core/src/agent-sessions/runtime-service/application/create-runtime-service.d.ts +17 -0
  53. package/dist/packages/core/src/agent-sessions/runtime-service/application/get-runtime-service.d.ts +11 -0
  54. package/dist/packages/core/src/agent-sessions/runtime-service/application/runtime-service-contract-mapper.d.ts +3 -0
  55. package/dist/packages/core/src/agent-sessions/runtime-service/application/runtime-service-output-summary.d.ts +10 -0
  56. package/dist/packages/core/src/agent-sessions/runtime-service/application/runtime-service-repo.d.ts +9 -0
  57. package/dist/packages/core/src/agent-sessions/runtime-service/application/runtime-service-runner.d.ts +23 -0
  58. package/dist/packages/core/src/agent-sessions/runtime-service/application/runtime-session-service-exposure-provider.d.ts +19 -0
  59. package/dist/packages/core/src/agent-sessions/runtime-service/application/start-runtime-service-locally.d.ts +21 -0
  60. package/dist/packages/core/src/agent-sessions/runtime-service/application/stop-runtime-service.d.ts +32 -0
  61. package/dist/packages/core/src/agent-sessions/runtime-service/contracts/runtime-service-contracts.d.ts +140 -0
  62. package/dist/packages/core/src/agent-sessions/runtime-service/domain/runtime-service-access-point.d.ts +12 -0
  63. package/dist/packages/core/src/agent-sessions/runtime-service/domain/runtime-service-entity.d.ts +76 -0
  64. package/dist/packages/core/src/agent-sessions/runtime-service/domain/runtime-service-healthcheck.d.ts +20 -0
  65. package/dist/packages/core/src/agent-sessions/runtime-service/infra/drizzle-runtime-service-repo.d.ts +9 -0
  66. package/dist/packages/core/src/agent-sessions/runtime-service/infra/local-runtime-service-readiness-probe.d.ts +42 -0
  67. package/dist/packages/core/src/agent-sessions/runtime-service/infra/local-runtime-service-runner.d.ts +32 -0
  68. package/dist/packages/core/src/common/contracts/json.d.ts +9 -0
  69. package/dist/packages/core/src/common/contracts/opencode-mcp.d.ts +73 -0
  70. package/dist/packages/core/src/common/contracts/uuid-v7.d.ts +8 -0
  71. package/dist/packages/core/src/lib/db/db-executor.d.ts +4 -0
  72. package/dist/packages/core/src/lib/db/index.d.ts +7 -0
  73. package/dist/packages/core/src/lib/db/schema.d.ts +4950 -0
  74. package/dist/packages/core/src/lib/di.d.ts +112 -0
  75. package/dist/packages/core/src/lib/domain-events/domain-event.d.ts +12 -0
  76. package/dist/packages/core/src/lib/domain-events/in-memory-domain-event-dispatcher.d.ts +7 -0
  77. package/dist/packages/core/src/lib/errors.d.ts +36 -0
  78. package/dist/packages/core/src/lib/logger.d.ts +7 -0
  79. package/dist/packages/core/src/lib/time-provider.d.ts +5 -0
  80. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/add-linear-pipeline-step-definition.d.ts +9 -0
  81. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/archive-linear-pipeline-definition.d.ts +9 -0
  82. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/create-linear-pipeline-definition.d.ts +9 -0
  83. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/get-linear-pipeline-definition.d.ts +7 -0
  84. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/linear-pipeline-definition-contract-mapper.d.ts +3 -0
  85. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/linear-pipeline-definition-repo.d.ts +9 -0
  86. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/list-linear-pipeline-definitions.d.ts +7 -0
  87. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/remove-linear-pipeline-step-definition.d.ts +9 -0
  88. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/set-linear-pipeline-step-advancement-policy-definition.d.ts +9 -0
  89. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/update-linear-pipeline-definition.d.ts +9 -0
  90. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/application/update-linear-pipeline-step-definition.d.ts +9 -0
  91. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/contracts/linear-pipeline-definition-contracts.d.ts +357 -0
  92. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/domain/linear-pipeline-definition-entity.d.ts +36 -0
  93. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/entities/linear-pipeline-step-advancement-policy-definition-entity.d.ts +42 -0
  94. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/entities/linear-pipeline-step-definition-entity.d.ts +42 -0
  95. package/dist/packages/core/src/pipeline-definitions/pipeline-definition/infra/drizzle-linear-pipeline-definition-repo.d.ts +11 -0
  96. package/dist/packages/core/src/pipeline-definitions/step-definition/application/archive-step-definition.d.ts +9 -0
  97. package/dist/packages/core/src/pipeline-definitions/step-definition/application/create-step-definition.d.ts +9 -0
  98. package/dist/packages/core/src/pipeline-definitions/step-definition/application/get-step-definition.d.ts +7 -0
  99. package/dist/packages/core/src/pipeline-definitions/step-definition/application/list-step-definitions.d.ts +7 -0
  100. package/dist/packages/core/src/pipeline-definitions/step-definition/application/step-definition-contract-mapper.d.ts +3 -0
  101. package/dist/packages/core/src/pipeline-definitions/step-definition/application/step-definition-repo.d.ts +9 -0
  102. package/dist/packages/core/src/pipeline-definitions/step-definition/application/update-step-definition.d.ts +9 -0
  103. package/dist/packages/core/src/pipeline-definitions/step-definition/contracts/step-definition-contracts.d.ts +281 -0
  104. package/dist/packages/core/src/pipeline-definitions/step-definition/domain/step-definition-entity.d.ts +53 -0
  105. package/dist/packages/core/src/pipeline-definitions/step-definition/entities/computed-signal-definition-entity.d.ts +31 -0
  106. package/dist/packages/core/src/pipeline-definitions/step-definition/entities/signal-extractor-definition-entity.d.ts +30 -0
  107. package/dist/packages/core/src/pipeline-definitions/step-definition/infra/drizzle-step-definition-repo.d.ts +11 -0
  108. package/dist/packages/core/src/pipeline-definitions/step-definition-template/application/get-step-definition-template.d.ts +6 -0
  109. package/dist/packages/core/src/pipeline-definitions/step-definition-template/application/instantiate-step-definition-template.d.ts +11 -0
  110. package/dist/packages/core/src/pipeline-definitions/step-definition-template/application/list-step-definition-templates.d.ts +5 -0
  111. package/dist/packages/core/src/pipeline-definitions/step-definition-template/application/step-definition-template-repo.d.ts +7 -0
  112. package/dist/packages/core/src/pipeline-definitions/step-definition-template/contracts/step-definition-template-contracts.d.ts +98 -0
  113. package/dist/packages/core/src/pipeline-definitions/step-definition-template/domain/step-definition-template-entity.d.ts +37 -0
  114. package/dist/packages/core/src/pipeline-definitions/step-definition-template/infra/drizzle-step-definition-template-repo.d.ts +9 -0
  115. package/dist/packages/core/src/pipeline-executions/feedback-request/application/create-feedback-requests-on-step-signal-created.d.ts +9 -0
  116. package/dist/packages/core/src/pipeline-executions/feedback-request/application/decline-feedback-request.d.ts +14 -0
  117. package/dist/packages/core/src/pipeline-executions/feedback-request/application/feedback-request-repo.d.ts +8 -0
  118. package/dist/packages/core/src/pipeline-executions/feedback-request/application/list-feedback-requests-by-step-signal.d.ts +15 -0
  119. package/dist/packages/core/src/pipeline-executions/feedback-request/contracts/feedback-request-contracts.d.ts +21 -0
  120. package/dist/packages/core/src/pipeline-executions/feedback-request/domain/feedback-request-entity.d.ts +29 -0
  121. package/dist/packages/core/src/pipeline-executions/feedback-request/infra/drizzle-feedback-request-repo.d.ts +10 -0
  122. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/accept-linear-pipeline-step-run.d.ts +15 -0
  123. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/apply-linear-pipeline-step-result-and-advance.d.ts +17 -0
  124. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/cancel-linear-pipeline-execution.d.ts +11 -0
  125. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/create-linear-pipeline-execution.d.ts +11 -0
  126. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/create-linear-pipeline-step-run-attempt.d.ts +13 -0
  127. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/get-linear-pipeline-execution.d.ts +11 -0
  128. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/linear-pipeline-execution-contract-mapper.d.ts +3 -0
  129. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/linear-pipeline-execution-helpers.d.ts +52 -0
  130. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/linear-pipeline-execution-repo.d.ts +15 -0
  131. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/linear-pipeline-step-input-resolution.d.ts +5 -0
  132. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/list-linear-pipeline-executions-by-definition.d.ts +11 -0
  133. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/list-linear-pipeline-executions.d.ts +11 -0
  134. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/mark-linear-pipeline-step-run-attempt-running.d.ts +11 -0
  135. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/project-linear-pipeline-executions.d.ts +10 -0
  136. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/queue-first-linear-pipeline-step-run.d.ts +15 -0
  137. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/retrigger-linear-pipeline-step-run.d.ts +13 -0
  138. package/dist/packages/core/src/pipeline-executions/pipeline-execution/application/start-linear-pipeline-execution.d.ts +15 -0
  139. package/dist/packages/core/src/pipeline-executions/pipeline-execution/contracts/linear-pipeline-execution-contracts.d.ts +330 -0
  140. package/dist/packages/core/src/pipeline-executions/pipeline-execution/domain/linear-pipeline-execution-entity.d.ts +43 -0
  141. package/dist/packages/core/src/pipeline-executions/pipeline-execution/entities/linear-pipeline-execution-event-entity.d.ts +25 -0
  142. package/dist/packages/core/src/pipeline-executions/pipeline-execution/entities/linear-pipeline-step-evaluation-entity.d.ts +45 -0
  143. package/dist/packages/core/src/pipeline-executions/pipeline-execution/entities/linear-pipeline-step-run-attempt-entity.d.ts +24 -0
  144. package/dist/packages/core/src/pipeline-executions/pipeline-execution/entities/linear-pipeline-step-run-entity.d.ts +63 -0
  145. package/dist/packages/core/src/pipeline-executions/pipeline-execution/infra/drizzle-linear-pipeline-execution-repo.d.ts +19 -0
  146. package/dist/packages/core/src/pipeline-executions/step-execution/application/add-step-execution-result.d.ts +9 -0
  147. package/dist/packages/core/src/pipeline-executions/step-execution/application/claim-step-executions.d.ts +17 -0
  148. package/dist/packages/core/src/pipeline-executions/step-execution/application/complete-claimed-step-execution.d.ts +35 -0
  149. package/dist/packages/core/src/pipeline-executions/step-execution/application/create-step-execution.d.ts +9 -0
  150. package/dist/packages/core/src/pipeline-executions/step-execution/application/extract-step-execution-signals.d.ts +13 -0
  151. package/dist/packages/core/src/pipeline-executions/step-execution/application/get-step-execution-worker-context.d.ts +13 -0
  152. package/dist/packages/core/src/pipeline-executions/step-execution/application/get-step-execution.d.ts +9 -0
  153. package/dist/packages/core/src/pipeline-executions/step-execution/application/heartbeat-step-execution-claim.d.ts +17 -0
  154. package/dist/packages/core/src/pipeline-executions/step-execution/application/list-step-executions-by-project.d.ts +9 -0
  155. package/dist/packages/core/src/pipeline-executions/step-execution/application/load-status-adjusted-step-executions.d.ts +31 -0
  156. package/dist/packages/core/src/pipeline-executions/step-execution/application/mark-step-execution-running.d.ts +9 -0
  157. package/dist/packages/core/src/pipeline-executions/step-execution/application/step-execution-claim-helpers.d.ts +13 -0
  158. package/dist/packages/core/src/pipeline-executions/step-execution/application/step-execution-contract-mapper.d.ts +7 -0
  159. package/dist/packages/core/src/pipeline-executions/step-execution/application/step-execution-repo.d.ts +29 -0
  160. package/dist/packages/core/src/pipeline-executions/step-execution/contracts/step-execution-contracts.d.ts +325 -0
  161. package/dist/packages/core/src/pipeline-executions/step-execution/domain/step-execution-entity.d.ts +61 -0
  162. package/dist/packages/core/src/pipeline-executions/step-execution/domain/step-signal-created.domain-event.d.ts +18 -0
  163. package/dist/packages/core/src/pipeline-executions/step-execution/entities/step-execution-result-entity.d.ts +32 -0
  164. package/dist/packages/core/src/pipeline-executions/step-execution/entities/step-signal-entity.d.ts +36 -0
  165. package/dist/packages/core/src/pipeline-executions/step-execution/infra/drizzle-step-execution-repo.d.ts +31 -0
  166. package/dist/packages/core/src/projects/project/application/create-project.d.ts +13 -0
  167. package/dist/packages/core/src/projects/project/application/default-pipelines/default-create-failing-test-step-definition.d.ts +4 -0
  168. package/dist/packages/core/src/projects/project/application/default-pipelines/default-description-quality-step-definition.d.ts +4 -0
  169. package/dist/packages/core/src/projects/project/application/default-pipelines/default-fix-failing-test-step-definition.d.ts +4 -0
  170. package/dist/packages/core/src/projects/project/application/default-pipelines/default-linear-pipeline-conventions.d.ts +9 -0
  171. package/dist/packages/core/src/projects/project/application/default-pipelines/default-linear-pipeline-definitions.d.ts +7 -0
  172. package/dist/packages/core/src/projects/project/application/default-pipelines/default-step-definitions.d.ts +8 -0
  173. package/dist/packages/core/src/projects/project/application/default-pipelines/default-web-repro-playwright-step-definition.d.ts +4 -0
  174. package/dist/packages/core/src/projects/project/application/get-project.d.ts +9 -0
  175. package/dist/packages/core/src/projects/project/application/list-projects.d.ts +9 -0
  176. package/dist/packages/core/src/projects/project/application/project-authorization.d.ts +4 -0
  177. package/dist/packages/core/src/projects/project/application/project-contract-mapper.d.ts +3 -0
  178. package/dist/packages/core/src/projects/project/application/project-repo.d.ts +9 -0
  179. package/dist/packages/core/src/projects/project/application/seed-default-pipelines-on-project-created.d.ts +12 -0
  180. package/dist/packages/core/src/projects/project/application/update-project-membership.d.ts +11 -0
  181. package/dist/packages/core/src/projects/project/contracts/project-contracts.d.ts +37 -0
  182. package/dist/packages/core/src/projects/project/domain/project-created.domain-event.d.ts +13 -0
  183. package/dist/packages/core/src/projects/project/domain/project-entity.d.ts +31 -0
  184. package/dist/packages/core/src/projects/project/domain/project-git-url.d.ts +7 -0
  185. package/dist/packages/core/src/projects/project/domain/project-membership.d.ts +21 -0
  186. package/dist/packages/core/src/projects/project/domain/project-permission.d.ts +7 -0
  187. package/dist/packages/core/src/projects/project/infra/drizzle-project-repo.d.ts +11 -0
  188. package/dist/packages/core/src/projects/project-context/application/create-project-context-entry.d.ts +13 -0
  189. package/dist/packages/core/src/projects/project-context/application/delete-project-context-entry.d.ts +10 -0
  190. package/dist/packages/core/src/projects/project-context/application/list-project-context-entries.d.ts +13 -0
  191. package/dist/packages/core/src/projects/project-context/application/project-context-entry-repo.d.ts +8 -0
  192. package/dist/packages/core/src/projects/project-context/contracts/project-context-entry-contracts.d.ts +46 -0
  193. package/dist/packages/core/src/projects/project-context/domain/project-context-entry-entity.d.ts +27 -0
  194. package/dist/packages/core/src/projects/project-context/infra/drizzle-project-context-entry-repo.d.ts +10 -0
  195. package/dist/packages/core/src/projects/project-opencode-config/application/project-opencode-runtime-metadata.d.ts +17 -0
  196. package/dist/packages/core/src/work-items/work-item/application/create-work-item.d.ts +16 -0
  197. package/dist/packages/core/src/work-items/work-item/application/delete-work-items.d.ts +14 -0
  198. package/dist/packages/core/src/work-items/work-item/application/get-work-items.d.ts +14 -0
  199. package/dist/packages/core/src/work-items/work-item/application/list-work-items-by-project.d.ts +11 -0
  200. package/dist/packages/core/src/work-items/work-item/application/upsert-work-item.d.ts +16 -0
  201. package/dist/packages/core/src/work-items/work-item/application/work-item-contract-mapper.d.ts +4 -0
  202. package/dist/packages/core/src/work-items/work-item/application/work-item-repo.d.ts +27 -0
  203. package/dist/packages/core/src/work-items/work-item/contracts/work-item-contracts.d.ts +119 -0
  204. package/dist/packages/core/src/work-items/work-item/domain/date-utils.d.ts +1 -0
  205. package/dist/packages/core/src/work-items/work-item/domain/work-item-entity.d.ts +58 -0
  206. package/dist/packages/core/src/work-items/work-item/domain/work-item-field-value.d.ts +3 -0
  207. package/dist/packages/core/src/work-items/work-item/domain/work-item-id.d.ts +6 -0
  208. package/dist/packages/core/src/work-items/work-item/domain/work-item-platform.d.ts +2 -0
  209. package/dist/packages/core/src/work-items/work-item/domain/work-item-projection-fingerprint-entity.d.ts +18 -0
  210. package/dist/packages/core/src/work-items/work-item/infra/drizzle-work-item-repo.d.ts +25 -0
  211. package/dist/packages/sdks/js/src/define-step.d.ts +72 -0
  212. package/dist/packages/sdks/js/src/step-definitions-client.d.ts +202 -0
  213. package/dist/packages/sdks/js/src/step-execution-plane-client.d.ts +1 -0
  214. package/dist/packages/sdks/js/test/define-step.test.d.ts +1 -0
  215. package/package.json +17 -2
@@ -0,0 +1,32 @@
1
+ import type { AnyJsonValue } from "@boboddy/core/common/contracts/json";
2
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import { StepSignalEntity, type StepSignalEntityProps } from "./step-signal-entity";
4
+ export declare const stepExecutionResultStatusValues: readonly ["succeeded", "failed"];
5
+ export type StepExecutionResultStatus = (typeof stepExecutionResultStatusValues)[number];
6
+ export type StepExecutionResultEntityProps = {
7
+ id: UuidV7;
8
+ stepExecutionId: UuidV7;
9
+ attempt: number;
10
+ status: StepExecutionResultStatus;
11
+ resultJson: AnyJsonValue;
12
+ errorJson?: AnyJsonValue | null | undefined;
13
+ signals?: readonly StepSignalEntityProps[] | undefined;
14
+ createdAt?: Date | string | null | undefined;
15
+ };
16
+ export type CreateStepExecutionResultEntityProps = Omit<StepExecutionResultEntityProps, "id"> & {
17
+ id?: UuidV7 | undefined;
18
+ };
19
+ export declare class StepExecutionResultEntity {
20
+ readonly id: UuidV7;
21
+ readonly stepExecutionId: UuidV7;
22
+ readonly attempt: number;
23
+ readonly status: StepExecutionResultStatus;
24
+ readonly resultJson: AnyJsonValue;
25
+ readonly errorJson: AnyJsonValue | null;
26
+ readonly signals: StepSignalEntity[];
27
+ readonly createdAt: Date | null | undefined;
28
+ private constructor();
29
+ static create(props: CreateStepExecutionResultEntityProps): StepExecutionResultEntity;
30
+ static rehydrate(props: StepExecutionResultEntityProps): StepExecutionResultEntity;
31
+ toJSON(): StepExecutionResultEntityProps;
32
+ }
@@ -0,0 +1,36 @@
1
+ import type { AnyJsonValue } from "@boboddy/core/common/contracts/json";
2
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { SignalExtractorDefinitionType } from "@boboddy/core/pipeline-definitions/step-definition/entities/signal-extractor-definition-entity";
4
+ export declare const stepSignalSourceValues: readonly ["extracted", "computed"];
5
+ export type StepSignalSource = (typeof stepSignalSourceValues)[number];
6
+ export type StepSignalType = SignalExtractorDefinitionType;
7
+ export type StepSignalEntityProps = {
8
+ id: UuidV7;
9
+ stepExecutionResultId: UuidV7;
10
+ key: string;
11
+ type: StepSignalType;
12
+ source: StepSignalSource;
13
+ valueJson: AnyJsonValue;
14
+ sourcePath?: string | null | undefined;
15
+ computedFromSignalKeys?: string[] | null | undefined;
16
+ createdAt?: Date | string | null | undefined;
17
+ };
18
+ export type CreateStepSignalEntityProps = Omit<StepSignalEntityProps, "id"> & {
19
+ id?: UuidV7 | undefined;
20
+ };
21
+ export declare const inferStepSignalType: (value: AnyJsonValue) => StepSignalType;
22
+ export declare class StepSignalEntity {
23
+ readonly id: UuidV7;
24
+ readonly stepExecutionResultId: UuidV7;
25
+ readonly key: string;
26
+ readonly type: StepSignalType;
27
+ readonly source: StepSignalSource;
28
+ readonly valueJson: AnyJsonValue;
29
+ readonly sourcePath: string | null;
30
+ readonly computedFromSignalKeys: string[] | null;
31
+ readonly createdAt: Date | null | undefined;
32
+ private constructor();
33
+ static create(props: CreateStepSignalEntityProps): StepSignalEntity;
34
+ static rehydrate(props: StepSignalEntityProps): StepSignalEntity;
35
+ toJSON(): StepSignalEntityProps;
36
+ }
@@ -0,0 +1,31 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { StepExecutionRepo } from "../application/step-execution-repo";
3
+ import { StepExecutionEntity, type StepExecutionEntityProps } from "../domain/step-execution-entity";
4
+ import { StepExecutionResultEntity, type StepExecutionResultEntityProps } from "../entities/step-execution-result-entity";
5
+ import { StepSignalEntity } from "../entities/step-signal-entity";
6
+ export declare class DrizzleStepExecutionRepo implements StepExecutionRepo {
7
+ private toEntity;
8
+ private loadManyFromRows;
9
+ load(id: StepExecutionEntityProps["id"], dbExecutor?: DbExecutor): Promise<StepExecutionEntity | null>;
10
+ loadMany(ids: StepExecutionEntityProps["id"][], dbExecutor?: DbExecutor): Promise<(StepExecutionEntity | null)[]>;
11
+ loadByResultId(stepExecutionResultId: StepExecutionResultEntityProps["id"], dbExecutor?: DbExecutor): Promise<StepExecutionEntity | null>;
12
+ listByProjectId(projectId: StepExecutionEntityProps["projectId"], dbExecutor?: DbExecutor): Promise<StepExecutionEntity[]>;
13
+ loadClaimableByProjectId(projectId: StepExecutionEntityProps["projectId"], limit: number, now: Date, dbExecutor?: DbExecutor, workItemId?: string): Promise<StepExecutionEntity[]>;
14
+ create(stepExecution: StepExecutionEntity, dbExecutor?: DbExecutor): Promise<StepExecutionEntity>;
15
+ claim(stepExecutionId: StepExecutionEntityProps["id"], claim: {
16
+ workerId: string;
17
+ claimToken: string;
18
+ claimedAt: Date;
19
+ startedAt: Date;
20
+ leaseExpiresAt: Date;
21
+ executionDeadlineAt?: Date | null | undefined;
22
+ }, dbExecutor?: DbExecutor): Promise<StepExecutionEntity | null>;
23
+ heartbeat(stepExecutionId: StepExecutionEntityProps["id"], claimToken: string, heartbeat: {
24
+ lastHeartbeatAt: Date;
25
+ leaseExpiresAt: Date;
26
+ }, dbExecutor?: DbExecutor): Promise<StepExecutionEntity | null>;
27
+ save(stepExecution: StepExecutionEntity, dbExecutor?: DbExecutor): Promise<StepExecutionEntity>;
28
+ saveMany(stepExecutionEntities: StepExecutionEntity[], dbExecutor?: DbExecutor): Promise<StepExecutionEntity[]>;
29
+ addResult(stepExecutionResult: StepExecutionResultEntity, dbExecutor?: DbExecutor): Promise<StepExecutionResultEntity>;
30
+ replaceSignals(stepExecutionResultId: StepExecutionResultEntityProps["id"], signals: StepSignalEntity[], dbExecutor?: DbExecutor): Promise<StepSignalEntity[]>;
31
+ }
@@ -0,0 +1,13 @@
1
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { InMemoryDomainEventDispatcher } from "@boboddy/core/lib/domain-events/in-memory-domain-event-dispatcher";
3
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
4
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
5
+ import type { ProjectRepo } from "./project-repo";
6
+ import { type CreateProjectInput, type ProjectContract } from "../contracts/project-contracts";
7
+ export declare const createProject: (input: CreateProjectInput, { userId, projectRepo, timeProvider, domainEventDispatcher, dbExecutor, }: {
8
+ userId: UuidV7;
9
+ projectRepo: ProjectRepo;
10
+ timeProvider: TimeProvider;
11
+ domainEventDispatcher?: InMemoryDomainEventDispatcher | undefined;
12
+ dbExecutor?: DbExecutor | undefined;
13
+ }) => Promise<ProjectContract>;
@@ -0,0 +1,4 @@
1
+ import type { CreateStepDefinitionInput } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ export declare const DEFAULT_CREATE_FAILING_TEST_STEP_KEY = "create_failing_test";
4
+ export declare const buildDefaultCreateFailingTestStepDefinition: (projectId: UuidV7) => CreateStepDefinitionInput;
@@ -0,0 +1,4 @@
1
+ import type { CreateStepDefinitionInput } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ export declare const DEFAULT_DESCRIPTION_QUALITY_STEP_KEY = "description_quality_rank";
4
+ export declare const buildDefaultDescriptionQualityStepDefinition: (projectId: UuidV7) => CreateStepDefinitionInput;
@@ -0,0 +1,4 @@
1
+ import type { CreateStepDefinitionInput } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ export declare const DEFAULT_FIX_FAILING_TEST_STEP_KEY = "fix_failing_test";
4
+ export declare const buildDefaultFixFailingTestStepDefinition: (projectId: UuidV7) => CreateStepDefinitionInput;
@@ -0,0 +1,9 @@
1
+ export declare const defaultContinuePolicyDefinition: {
2
+ rulesJson: {
3
+ rules: [];
4
+ };
5
+ defaultEventType: "continue";
6
+ defaultEventParamsJson: null;
7
+ allowedEventTypes: ["continue"];
8
+ };
9
+ export declare const DEFAULT_AGENTIC_STEP_TIMEOUT_SECONDS = 1800;
@@ -0,0 +1,7 @@
1
+ import type { CreateLinearPipelineDefinitionInput } from "@boboddy/core/pipeline-definitions/pipeline-definition/contracts/linear-pipeline-definition-contracts";
2
+ import type { StepDefinitionContract } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
3
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
4
+ export declare const DEFAULT_DESCRIPTION_QUALITY_PIPELINE_KEY = "description_quality_rank";
5
+ export declare const DEFAULT_CREATE_FAILING_TEST_THEN_FIX_PIPELINE_KEY = "create_failing_test_then_fix";
6
+ export declare const DEFAULT_WEB_REPRO_PLAYWRIGHT_PIPELINE_KEY = "web_repro_playwright";
7
+ export declare const buildDefaultLinearPipelineDefinitions: (projectId: UuidV7, stepDefinitions: readonly StepDefinitionContract[]) => CreateLinearPipelineDefinitionInput[];
@@ -0,0 +1,8 @@
1
+ import type { CreateStepDefinitionInput } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import { DEFAULT_CREATE_FAILING_TEST_STEP_KEY } from "./default-create-failing-test-step-definition";
4
+ import { DEFAULT_DESCRIPTION_QUALITY_STEP_KEY } from "./default-description-quality-step-definition";
5
+ import { DEFAULT_FIX_FAILING_TEST_STEP_KEY } from "./default-fix-failing-test-step-definition";
6
+ import { DEFAULT_WEB_REPRO_PLAYWRIGHT_STEP_KEY } from "./default-web-repro-playwright-step-definition";
7
+ export { DEFAULT_CREATE_FAILING_TEST_STEP_KEY, DEFAULT_DESCRIPTION_QUALITY_STEP_KEY, DEFAULT_FIX_FAILING_TEST_STEP_KEY, DEFAULT_WEB_REPRO_PLAYWRIGHT_STEP_KEY, };
8
+ export declare const buildDefaultStepDefinitions: (projectId: UuidV7) => CreateStepDefinitionInput[];
@@ -0,0 +1,4 @@
1
+ import type { CreateStepDefinitionInput } from "@boboddy/core/pipeline-definitions/step-definition/contracts/step-definition-contracts";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ export declare const DEFAULT_WEB_REPRO_PLAYWRIGHT_STEP_KEY = "web_repro_playwright";
4
+ export declare const buildDefaultWebReproPlaywrightStepDefinition: (projectId: UuidV7) => CreateStepDefinitionInput;
@@ -0,0 +1,9 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectRepo } from "./project-repo";
4
+ import { type GetProjectInput, type ProjectContract } from "../contracts/project-contracts";
5
+ export declare const getProject: (input: GetProjectInput, { userId, projectRepo, dbExecutor, }: {
6
+ userId: UuidV7;
7
+ projectRepo: ProjectRepo;
8
+ dbExecutor?: DbExecutor | undefined;
9
+ }) => Promise<ProjectContract>;
@@ -0,0 +1,9 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectRepo } from "./project-repo";
4
+ import type { ProjectContract } from "../contracts/project-contracts";
5
+ export declare const listProjects: ({ userId, projectRepo, dbExecutor, }: {
6
+ userId: UuidV7;
7
+ projectRepo: ProjectRepo;
8
+ dbExecutor?: DbExecutor | undefined;
9
+ }) => Promise<ProjectContract[]>;
@@ -0,0 +1,4 @@
1
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { ProjectEntity } from "../domain/project-entity";
3
+ import { type ProjectPermission } from "../domain/project-permission";
4
+ export declare const assertProjectPermission: (project: ProjectEntity, userId: UuidV7, permission: ProjectPermission) => import("../domain/project-membership").ProjectMembership;
@@ -0,0 +1,3 @@
1
+ import { type ProjectContract } from "../contracts/project-contracts";
2
+ import type { ProjectEntity } from "../domain/project-entity";
3
+ export declare const projectEntityToContract: (project: ProjectEntity) => ProjectContract;
@@ -0,0 +1,9 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectEntity } from "../domain/project-entity";
4
+ export type ProjectRepo = {
5
+ load(id: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectEntity | null>;
6
+ listByUser(userId: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectEntity[]>;
7
+ create(project: ProjectEntity, dbExecutor?: DbExecutor): Promise<ProjectEntity>;
8
+ save(project: ProjectEntity, dbExecutor?: DbExecutor): Promise<ProjectEntity>;
9
+ };
@@ -0,0 +1,12 @@
1
+ import type { LinearPipelineDefinitionRepo } from "@boboddy/core/pipeline-definitions/pipeline-definition/application/linear-pipeline-definition-repo";
2
+ import type { StepDefinitionRepo } from "@boboddy/core/pipeline-definitions/step-definition/application/step-definition-repo";
3
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
4
+ import type { DomainEventHandler } from "@boboddy/core/lib/domain-events/domain-event";
5
+ import type { ProjectCreatedDomainEvent } from "@boboddy/core/projects/project/domain/project-created.domain-event";
6
+ export declare class SeedDefaultPipelinesOnProjectCreated implements DomainEventHandler<ProjectCreatedDomainEvent> {
7
+ private readonly stepDefinitionRepo;
8
+ private readonly linearPipelineDefinitionRepo;
9
+ private readonly timeProvider;
10
+ constructor(stepDefinitionRepo: StepDefinitionRepo, linearPipelineDefinitionRepo: LinearPipelineDefinitionRepo, timeProvider: TimeProvider);
11
+ handle(event: ProjectCreatedDomainEvent, context: Parameters<DomainEventHandler<ProjectCreatedDomainEvent>["handle"]>[1]): Promise<void>;
12
+ }
@@ -0,0 +1,11 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
4
+ import type { ProjectRepo } from "./project-repo";
5
+ import { type ProjectContract, type UpdateProjectMembershipInput } from "../contracts/project-contracts";
6
+ export declare const updateProjectMembership: (input: UpdateProjectMembershipInput, { actorUserId, projectRepo, timeProvider, dbExecutor, }: {
7
+ actorUserId: UuidV7;
8
+ projectRepo: ProjectRepo;
9
+ timeProvider: TimeProvider;
10
+ dbExecutor?: DbExecutor | undefined;
11
+ }) => Promise<ProjectContract>;
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ export declare const projectMembershipSchema: z.ZodObject<{
3
+ userId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
4
+ permissions: z.ZodArray<z.ZodString>;
5
+ createdAt: z.ZodISODateTime;
6
+ updatedAt: z.ZodISODateTime;
7
+ }, z.core.$strip>;
8
+ export declare const projectSchema: z.ZodObject<{
9
+ id: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
10
+ name: z.ZodString;
11
+ description: z.ZodNullable<z.ZodString>;
12
+ gitUrl: z.ZodString;
13
+ createdByUserId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
14
+ memberships: z.ZodArray<z.ZodObject<{
15
+ userId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
16
+ permissions: z.ZodArray<z.ZodString>;
17
+ createdAt: z.ZodISODateTime;
18
+ updatedAt: z.ZodISODateTime;
19
+ }, z.core.$strip>>;
20
+ createdAt: z.ZodISODateTime;
21
+ updatedAt: z.ZodISODateTime;
22
+ }, z.core.$strip>;
23
+ export declare const createProjectInputSchema: z.ZodObject<{
24
+ name: z.ZodString;
25
+ description: z.ZodNullable<z.ZodString>;
26
+ gitUrl: z.ZodString;
27
+ }, z.core.$strip>;
28
+ export declare const getProjectInputSchema: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
29
+ export declare const updateProjectMembershipInputSchema: z.ZodObject<{
30
+ projectId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
31
+ userId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
32
+ permissions: z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>;
33
+ }, z.core.$strip>;
34
+ export type ProjectContract = z.infer<typeof projectSchema>;
35
+ export type CreateProjectInput = z.input<typeof createProjectInputSchema>;
36
+ export type GetProjectInput = z.input<typeof getProjectInputSchema>;
37
+ export type UpdateProjectMembershipInput = z.input<typeof updateProjectMembershipInputSchema>;
@@ -0,0 +1,13 @@
1
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { DomainEvent } from "@boboddy/core/lib/domain-events/domain-event";
3
+ export declare const PROJECT_CREATED_DOMAIN_EVENT_TYPE = "project.created";
4
+ export type ProjectCreatedDomainEventPayload = {
5
+ projectId: UuidV7;
6
+ createdByUserId: UuidV7;
7
+ };
8
+ export declare class ProjectCreatedDomainEvent implements DomainEvent<typeof PROJECT_CREATED_DOMAIN_EVENT_TYPE, ProjectCreatedDomainEventPayload> {
9
+ readonly payload: ProjectCreatedDomainEventPayload;
10
+ readonly type = "project.created";
11
+ readonly occurredAt: Date;
12
+ constructor(payload: ProjectCreatedDomainEventPayload, occurredAt?: Date);
13
+ }
@@ -0,0 +1,31 @@
1
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import { ProjectMembership, type ProjectMembershipProps } from "./project-membership";
3
+ export type ProjectEntityProps = {
4
+ id: UuidV7;
5
+ name: string;
6
+ description?: string | null | undefined;
7
+ gitUrl: string;
8
+ createdByUserId: UuidV7;
9
+ memberships: readonly ProjectMembershipProps[];
10
+ createdAt?: Date | string | null | undefined;
11
+ updatedAt?: Date | string | null | undefined;
12
+ };
13
+ export type CreateProjectProps = Omit<ProjectEntityProps, "id"> & {
14
+ id?: UuidV7 | undefined;
15
+ };
16
+ export declare class ProjectEntity {
17
+ readonly id: UuidV7;
18
+ readonly name: string;
19
+ readonly description: string | null;
20
+ readonly gitUrl: string;
21
+ readonly createdByUserId: UuidV7;
22
+ readonly memberships: ProjectMembership[];
23
+ readonly createdAt: Date | null | undefined;
24
+ readonly updatedAt: Date | null | undefined;
25
+ private constructor();
26
+ static create(props: CreateProjectProps): ProjectEntity;
27
+ static rehydrate(props: ProjectEntityProps): ProjectEntity;
28
+ getMembership(userId: UuidV7): ProjectMembership | null;
29
+ withMembership(membership: ProjectMembership, updatedAt: Date): ProjectEntity;
30
+ toJSON(): ProjectEntityProps;
31
+ }
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export type ProjectGitUrl = string & {
3
+ readonly __brand: "project-git-url";
4
+ };
5
+ export declare const isProjectGitUrl: (value: string) => boolean;
6
+ export declare const parseProjectGitUrl: (value: string) => ProjectGitUrl;
7
+ export declare const projectGitUrlSchema: z.ZodString;
@@ -0,0 +1,21 @@
1
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import { type ProjectPermission } from "./project-permission";
3
+ export type ProjectMembershipProps = {
4
+ projectId: UuidV7;
5
+ userId: UuidV7;
6
+ permissions: readonly ProjectPermission[];
7
+ createdAt?: Date | string | null | undefined;
8
+ updatedAt?: Date | string | null | undefined;
9
+ };
10
+ export declare class ProjectMembership {
11
+ readonly projectId: UuidV7;
12
+ readonly userId: UuidV7;
13
+ readonly permissions: ProjectPermission[];
14
+ readonly createdAt: Date | null | undefined;
15
+ readonly updatedAt: Date | null | undefined;
16
+ private constructor();
17
+ static create(props: ProjectMembershipProps): ProjectMembership;
18
+ static rehydrate(props: ProjectMembershipProps): ProjectMembership;
19
+ withPermissions(permissions: readonly ProjectPermission[], updatedAt: Date): ProjectMembership;
20
+ toJSON(): ProjectMembershipProps;
21
+ }
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export declare const projectPermissionSchema: z.ZodString;
3
+ export declare const projectPermissionListSchema: z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>;
4
+ export type ProjectPermission = z.infer<typeof projectPermissionSchema>;
5
+ export declare const parseProjectPermission: (value: string) => ProjectPermission;
6
+ export declare const parseProjectPermissions: (values: readonly string[]) => ProjectPermission[];
7
+ export declare const hasProjectPermission: (permissions: readonly ProjectPermission[], permission: ProjectPermission) => boolean;
@@ -0,0 +1,11 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectRepo } from "../application/project-repo";
4
+ import { ProjectEntity } from "../domain/project-entity";
5
+ export declare class DrizzleProjectRepo implements ProjectRepo {
6
+ private toEntity;
7
+ load(id: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectEntity | null>;
8
+ listByUser(userId: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectEntity[]>;
9
+ create(project: ProjectEntity, dbExecutor?: DbExecutor): Promise<ProjectEntity>;
10
+ save(project: ProjectEntity, dbExecutor?: DbExecutor): Promise<ProjectEntity>;
11
+ }
@@ -0,0 +1,13 @@
1
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
3
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
4
+ import { type CreateProjectContextEntryInput, type ProjectContextEntryContract } from "../contracts/project-context-entry-contracts";
5
+ import type { ProjectContextEntryRepo } from "./project-context-entry-repo";
6
+ type CreateProjectContextEntryDeps = {
7
+ userId: UuidV7;
8
+ authz: AuthorizationService;
9
+ projectContextEntryRepo: ProjectContextEntryRepo;
10
+ timeProvider: TimeProvider;
11
+ };
12
+ export declare const createProjectContextEntry: (input: CreateProjectContextEntryInput, deps: CreateProjectContextEntryDeps) => Promise<ProjectContextEntryContract>;
13
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
3
+ import type { ProjectContextEntryRepo } from "./project-context-entry-repo";
4
+ type DeleteProjectContextEntryDeps = {
5
+ userId: UuidV7;
6
+ authz: AuthorizationService;
7
+ projectContextEntryRepo: ProjectContextEntryRepo;
8
+ };
9
+ export declare const deleteProjectContextEntry: (id: UuidV7, projectId: UuidV7, deps: DeleteProjectContextEntryDeps) => Promise<void>;
10
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
3
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
4
+ import { type ProjectContextEntryContract } from "../contracts/project-context-entry-contracts";
5
+ import type { ProjectContextEntryRepo } from "./project-context-entry-repo";
6
+ type ListProjectContextEntriesDeps = {
7
+ userId: UuidV7;
8
+ authz: AuthorizationService;
9
+ projectContextEntryRepo: ProjectContextEntryRepo;
10
+ timeProvider: TimeProvider;
11
+ };
12
+ export declare const listProjectContextEntries: (projectId: UuidV7, deps: ListProjectContextEntriesDeps) => Promise<ProjectContextEntryContract[]>;
13
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectContextEntryEntity } from "../domain/project-context-entry-entity";
4
+ export type ProjectContextEntryRepo = {
5
+ create(entry: ProjectContextEntryEntity, dbExecutor?: DbExecutor): Promise<ProjectContextEntryEntity>;
6
+ listByProjectId(projectId: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectContextEntryEntity[]>;
7
+ delete(id: UuidV7, projectId: UuidV7, dbExecutor?: DbExecutor): Promise<number>;
8
+ };
@@ -0,0 +1,46 @@
1
+ import { z } from "zod";
2
+ export declare const projectContextEntryCategoryValues: readonly ["persona", "product", "workflows", "glossary", "compliance", "billing", "app-surfaces"];
3
+ export type ProjectContextEntryCategory = (typeof projectContextEntryCategoryValues)[number];
4
+ export declare const projectContextEntrySchema: z.ZodObject<{
5
+ id: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
6
+ projectId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
7
+ category: z.ZodEnum<{
8
+ persona: "persona";
9
+ product: "product";
10
+ workflows: "workflows";
11
+ glossary: "glossary";
12
+ compliance: "compliance";
13
+ billing: "billing";
14
+ "app-surfaces": "app-surfaces";
15
+ }>;
16
+ key: z.ZodString;
17
+ value: z.ZodString;
18
+ createdByUserId: z.ZodNullable<z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>>;
19
+ createdAt: z.ZodISODateTime;
20
+ updatedAt: z.ZodISODateTime;
21
+ }, z.core.$strip>;
22
+ export declare const createProjectContextEntryInputSchema: z.ZodObject<{
23
+ projectId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
24
+ category: z.ZodEnum<{
25
+ persona: "persona";
26
+ product: "product";
27
+ workflows: "workflows";
28
+ glossary: "glossary";
29
+ compliance: "compliance";
30
+ billing: "billing";
31
+ "app-surfaces": "app-surfaces";
32
+ }>;
33
+ key: z.ZodString;
34
+ value: z.ZodString;
35
+ }, z.core.$strip>;
36
+ export declare const deleteProjectContextEntryInputSchema: z.ZodObject<{
37
+ projectId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
38
+ id: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
39
+ }, z.core.$strip>;
40
+ export declare const listProjectContextEntriesInputSchema: z.ZodObject<{
41
+ projectId: z.ZodString & z.ZodType<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string, z.core.$ZodTypeInternals<import("@boboddy/core/common/contracts/uuid-v7").UuidV7, string>>;
42
+ }, z.core.$strip>;
43
+ export type ProjectContextEntryContract = z.infer<typeof projectContextEntrySchema>;
44
+ export type CreateProjectContextEntryInput = z.input<typeof createProjectContextEntryInputSchema>;
45
+ export type DeleteProjectContextEntryInput = z.input<typeof deleteProjectContextEntryInputSchema>;
46
+ export type ListProjectContextEntriesInput = z.input<typeof listProjectContextEntriesInputSchema>;
@@ -0,0 +1,27 @@
1
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
2
+ export type ProjectContextEntryEntityProps = {
3
+ id: UuidV7;
4
+ projectId: UuidV7;
5
+ category: string;
6
+ key: string;
7
+ value: string;
8
+ createdByUserId: UuidV7 | null;
9
+ createdAt: Date | null | undefined;
10
+ updatedAt: Date | null | undefined;
11
+ };
12
+ export type CreateProjectContextEntryProps = Omit<ProjectContextEntryEntityProps, "id" | "createdAt" | "updatedAt"> & {
13
+ id?: UuidV7 | undefined;
14
+ };
15
+ export declare class ProjectContextEntryEntity {
16
+ readonly id: UuidV7;
17
+ readonly projectId: UuidV7;
18
+ readonly category: string;
19
+ readonly key: string;
20
+ readonly value: string;
21
+ readonly createdByUserId: UuidV7 | null;
22
+ readonly createdAt: Date | null | undefined;
23
+ readonly updatedAt: Date | null | undefined;
24
+ private constructor();
25
+ static create(props: CreateProjectContextEntryProps): ProjectContextEntryEntity;
26
+ static rehydrate(props: ProjectContextEntryEntityProps): ProjectContextEntryEntity;
27
+ }
@@ -0,0 +1,10 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { ProjectContextEntryRepo } from "../application/project-context-entry-repo";
4
+ import { ProjectContextEntryEntity } from "../domain/project-context-entry-entity";
5
+ export declare class DrizzleProjectContextEntryRepo implements ProjectContextEntryRepo {
6
+ private toEntity;
7
+ create(entry: ProjectContextEntryEntity, dbExecutor?: DbExecutor): Promise<ProjectContextEntryEntity>;
8
+ listByProjectId(projectId: UuidV7, dbExecutor?: DbExecutor): Promise<ProjectContextEntryEntity[]>;
9
+ delete(id: UuidV7, projectId: UuidV7, dbExecutor?: DbExecutor): Promise<number>;
10
+ }
@@ -0,0 +1,17 @@
1
+ import type { AnyJsonObject } from "@boboddy/core/common/contracts/json";
2
+ export declare const PROJECT_OPENCODE_RUNTIME_METADATA_KEY = "projectOpencode";
3
+ export type ProjectOpencodeRuntimeDefinitionKind = "command" | "service";
4
+ export type ProjectOpencodeRuntimeMetadata = {
5
+ definitionKind: ProjectOpencodeRuntimeDefinitionKind;
6
+ definitionName: string;
7
+ definitionDescription: string;
8
+ cwd: string | null;
9
+ };
10
+ export declare const getProjectOpencodeRuntimeMetadata: (metadata: AnyJsonObject) => ProjectOpencodeRuntimeMetadata | null;
11
+ export declare const setProjectOpencodeRuntimeMetadata: (input: {
12
+ metadata: AnyJsonObject;
13
+ definitionKind: ProjectOpencodeRuntimeDefinitionKind;
14
+ definitionName: string;
15
+ definitionDescription: string;
16
+ cwd: string | null;
17
+ }) => AnyJsonObject;
@@ -0,0 +1,16 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
4
+ import { type WorkItemContract, type UpsertWorkItemInput, type UpsertWorkItemsInput } from "../contracts/work-item-contracts";
5
+ import type { WorkItemRepo } from "./work-item-repo";
6
+ import type { TimeProvider } from "@boboddy/core/lib/time-provider";
7
+ type CreateWorkItemsDeps = {
8
+ userId: UuidV7;
9
+ authz: AuthorizationService;
10
+ workItemRepo: WorkItemRepo;
11
+ timeProvider: TimeProvider;
12
+ dbExecutor?: DbExecutor | undefined;
13
+ };
14
+ export declare const createWorkItems: (input: UpsertWorkItemsInput, deps: CreateWorkItemsDeps) => Promise<WorkItemContract[]>;
15
+ export declare const createWorkItem: (input: UpsertWorkItemInput, deps: CreateWorkItemsDeps) => Promise<WorkItemContract>;
16
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
4
+ import type { WorkItemRepo } from "./work-item-repo";
5
+ import { type DeleteWorkItemInput, type DeleteWorkItemsInput } from "../contracts/work-item-contracts";
6
+ type DeleteWorkItemsDeps = {
7
+ userId: UuidV7;
8
+ authz: AuthorizationService;
9
+ workItemRepo: WorkItemRepo;
10
+ dbExecutor?: DbExecutor;
11
+ };
12
+ export declare const deleteWorkItems: (input: DeleteWorkItemsInput, deps: DeleteWorkItemsDeps) => Promise<number>;
13
+ export declare const deleteWorkItem: (input: DeleteWorkItemInput, deps: DeleteWorkItemsDeps) => Promise<number>;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import type { UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { AuthorizationService } from "@boboddy/core/access/authorization/application/authorization-service";
4
+ import type { WorkItemRepo } from "./work-item-repo";
5
+ import { type GetWorkItemInput, type GetWorkItemsInput, type WorkItemContract } from "../contracts/work-item-contracts";
6
+ type GetWorkItemsDeps = {
7
+ userId: UuidV7;
8
+ authz: AuthorizationService;
9
+ workItemRepo: WorkItemRepo;
10
+ dbExecutor?: DbExecutor;
11
+ };
12
+ export declare const getWorkItems: (input: GetWorkItemsInput, deps: GetWorkItemsDeps) => Promise<WorkItemContract[]>;
13
+ export declare const getWorkItem: (input: GetWorkItemInput, deps: GetWorkItemsDeps) => Promise<WorkItemContract>;
14
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { DbExecutor } from "@boboddy/core/lib/db/db-executor";
2
+ import { type UuidV7 } from "@boboddy/core/common/contracts/uuid-v7";
3
+ import type { WorkItemRepo } from "./work-item-repo";
4
+ import type { ProjectRepo } from "@boboddy/core/projects/project/application/project-repo";
5
+ import type { WorkItemContract } from "../contracts/work-item-contracts";
6
+ export declare const listWorkItemsByProject: (input: string, { userId, projectRepo, workItemRepo, dbExecutor, }: {
7
+ userId: UuidV7;
8
+ projectRepo: ProjectRepo;
9
+ workItemRepo: WorkItemRepo;
10
+ dbExecutor?: DbExecutor;
11
+ }) => Promise<WorkItemContract[]>;