@mastra/factory 0.0.0-aggregate-trace-20261015182851
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.
- package/LICENSE.md +32 -0
- package/README.md +671 -0
- package/dist/auth.d.ts +201 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +623 -0
- package/dist/auth.js.map +1 -0
- package/dist/boards/define-board.d.ts +111 -0
- package/dist/boards/define-board.d.ts.map +1 -0
- package/dist/boards/define-board.js +156 -0
- package/dist/boards/define-board.js.map +1 -0
- package/dist/boards/index.d.ts +14 -0
- package/dist/boards/index.d.ts.map +1 -0
- package/dist/boards/index.js +21 -0
- package/dist/boards/index.js.map +1 -0
- package/dist/boards/registry.d.ts +16 -0
- package/dist/boards/registry.d.ts.map +1 -0
- package/dist/boards/registry.js +25 -0
- package/dist/boards/registry.js.map +1 -0
- package/dist/boards/relocate.d.ts +21 -0
- package/dist/boards/relocate.d.ts.map +1 -0
- package/dist/boards/relocate.js +58 -0
- package/dist/boards/relocate.js.map +1 -0
- package/dist/boards/review.d.ts +6 -0
- package/dist/boards/review.d.ts.map +1 -0
- package/dist/boards/review.js +104 -0
- package/dist/boards/review.js.map +1 -0
- package/dist/boards/semantics.d.ts +68 -0
- package/dist/boards/semantics.d.ts.map +1 -0
- package/dist/boards/semantics.js +119 -0
- package/dist/boards/semantics.js.map +1 -0
- package/dist/boards/transition-policy.d.ts +67 -0
- package/dist/boards/transition-policy.d.ts.map +1 -0
- package/dist/boards/transition-policy.js +36 -0
- package/dist/boards/transition-policy.js.map +1 -0
- package/dist/boards/work-tool-rules.d.ts +8 -0
- package/dist/boards/work-tool-rules.d.ts.map +1 -0
- package/dist/boards/work-tool-rules.js +20 -0
- package/dist/boards/work-tool-rules.js.map +1 -0
- package/dist/boards/work-transition-policy.d.ts +3 -0
- package/dist/boards/work-transition-policy.d.ts.map +1 -0
- package/dist/boards/work-transition-policy.js +46 -0
- package/dist/boards/work-transition-policy.js.map +1 -0
- package/dist/boards/work.d.ts +4 -0
- package/dist/boards/work.d.ts.map +1 -0
- package/dist/boards/work.js +222 -0
- package/dist/boards/work.js.map +1 -0
- package/dist/capabilities/connection.d.ts +9 -0
- package/dist/capabilities/connection.d.ts.map +1 -0
- package/dist/capabilities/connection.js +1 -0
- package/dist/capabilities/intake.d.ts +153 -0
- package/dist/capabilities/intake.d.ts.map +1 -0
- package/dist/capabilities/intake.js +1 -0
- package/dist/capabilities/version-control.d.ts +268 -0
- package/dist/capabilities/version-control.d.ts.map +1 -0
- package/dist/capabilities/version-control.js +1 -0
- package/dist/environment/build-runner.d.ts +72 -0
- package/dist/environment/build-runner.d.ts.map +1 -0
- package/dist/environment/build-runner.js +131 -0
- package/dist/environment/build-runner.js.map +1 -0
- package/dist/environment/build-schedule.d.ts +40 -0
- package/dist/environment/build-schedule.d.ts.map +1 -0
- package/dist/environment/build-schedule.js +94 -0
- package/dist/environment/build-schedule.js.map +1 -0
- package/dist/environment/build-workflow.d.ts +62 -0
- package/dist/environment/build-workflow.d.ts.map +1 -0
- package/dist/environment/build-workflow.js +149 -0
- package/dist/environment/build-workflow.js.map +1 -0
- package/dist/environment/build.d.ts +111 -0
- package/dist/environment/build.d.ts.map +1 -0
- package/dist/environment/build.js +344 -0
- package/dist/environment/build.js.map +1 -0
- package/dist/environment/heads.d.ts +36 -0
- package/dist/environment/heads.d.ts.map +1 -0
- package/dist/environment/heads.js +60 -0
- package/dist/environment/heads.js.map +1 -0
- package/dist/factory.d.ts +225 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +1006 -0
- package/dist/factory.js.map +1 -0
- package/dist/feed-events.d.ts +13 -0
- package/dist/feed-events.d.ts.map +1 -0
- package/dist/feed-events.js +25 -0
- package/dist/feed-events.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/integrations/base.d.ts +302 -0
- package/dist/integrations/base.d.ts.map +1 -0
- package/dist/integrations/base.js +1 -0
- package/dist/integrations/github/acceptance-labels.d.ts +16 -0
- package/dist/integrations/github/acceptance-labels.d.ts.map +1 -0
- package/dist/integrations/github/acceptance-labels.js +55 -0
- package/dist/integrations/github/acceptance-labels.js.map +1 -0
- package/dist/integrations/github/app-identity.d.ts +43 -0
- package/dist/integrations/github/app-identity.d.ts.map +1 -0
- package/dist/integrations/github/app-identity.js +62 -0
- package/dist/integrations/github/app-identity.js.map +1 -0
- package/dist/integrations/github/commits.d.ts +40 -0
- package/dist/integrations/github/commits.d.ts.map +1 -0
- package/dist/integrations/github/commits.js +48 -0
- package/dist/integrations/github/commits.js.map +1 -0
- package/dist/integrations/github/config.d.ts +60 -0
- package/dist/integrations/github/config.d.ts.map +1 -0
- package/dist/integrations/github/config.js +42 -0
- package/dist/integrations/github/config.js.map +1 -0
- package/dist/integrations/github/default-rules.d.ts +218 -0
- package/dist/integrations/github/default-rules.d.ts.map +1 -0
- package/dist/integrations/github/default-rules.js +296 -0
- package/dist/integrations/github/default-rules.js.map +1 -0
- package/dist/integrations/github/integration.d.ts +270 -0
- package/dist/integrations/github/integration.d.ts.map +1 -0
- package/dist/integrations/github/integration.js +1375 -0
- package/dist/integrations/github/integration.js.map +1 -0
- package/dist/integrations/github/issue-reconciler.d.ts +28 -0
- package/dist/integrations/github/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/github/issue-reconciler.js +138 -0
- package/dist/integrations/github/issue-reconciler.js.map +1 -0
- package/dist/integrations/github/pat.d.ts +38 -0
- package/dist/integrations/github/pat.d.ts.map +1 -0
- package/dist/integrations/github/pat.js +59 -0
- package/dist/integrations/github/pat.js.map +1 -0
- package/dist/integrations/github/provenance.d.ts +34 -0
- package/dist/integrations/github/provenance.d.ts.map +1 -0
- package/dist/integrations/github/provenance.js +91 -0
- package/dist/integrations/github/provenance.js.map +1 -0
- package/dist/integrations/github/reconcile-worker.d.ts +45 -0
- package/dist/integrations/github/reconcile-worker.d.ts.map +1 -0
- package/dist/integrations/github/reconcile-worker.js +189 -0
- package/dist/integrations/github/reconcile-worker.js.map +1 -0
- package/dist/integrations/github/reconciliation-config.d.ts +3 -0
- package/dist/integrations/github/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/github/reconciliation-config.js +19 -0
- package/dist/integrations/github/reconciliation-config.js.map +1 -0
- package/dist/integrations/github/routes.d.ts +90 -0
- package/dist/integrations/github/routes.d.ts.map +1 -0
- package/dist/integrations/github/routes.js +1362 -0
- package/dist/integrations/github/routes.js.map +1 -0
- package/dist/integrations/github/rules.d.ts +173 -0
- package/dist/integrations/github/rules.d.ts.map +1 -0
- package/dist/integrations/github/rules.js +1021 -0
- package/dist/integrations/github/rules.js.map +1 -0
- package/dist/integrations/github/sandbox-release.d.ts +25 -0
- package/dist/integrations/github/sandbox-release.d.ts.map +1 -0
- package/dist/integrations/github/sandbox-release.js +38 -0
- package/dist/integrations/github/sandbox-release.js.map +1 -0
- package/dist/integrations/github/sandbox.d.ts +234 -0
- package/dist/integrations/github/sandbox.d.ts.map +1 -0
- package/dist/integrations/github/sandbox.js +947 -0
- package/dist/integrations/github/sandbox.js.map +1 -0
- package/dist/integrations/github/session-subscriptions.d.ts +28 -0
- package/dist/integrations/github/session-subscriptions.d.ts.map +1 -0
- package/dist/integrations/github/session-subscriptions.js +283 -0
- package/dist/integrations/github/session-subscriptions.js.map +1 -0
- package/dist/integrations/github/settle-or-abort.d.ts +7 -0
- package/dist/integrations/github/settle-or-abort.d.ts.map +1 -0
- package/dist/integrations/github/settle-or-abort.js +25 -0
- package/dist/integrations/github/settle-or-abort.js.map +1 -0
- package/dist/integrations/github/stale-reviews.d.ts +22 -0
- package/dist/integrations/github/stale-reviews.d.ts.map +1 -0
- package/dist/integrations/github/stale-reviews.js +70 -0
- package/dist/integrations/github/stale-reviews.js.map +1 -0
- package/dist/integrations/github/subscriptions.d.ts +54 -0
- package/dist/integrations/github/subscriptions.d.ts.map +1 -0
- package/dist/integrations/github/subscriptions.js +64 -0
- package/dist/integrations/github/subscriptions.js.map +1 -0
- package/dist/integrations/github/token-refresh.d.ts +31 -0
- package/dist/integrations/github/token-refresh.d.ts.map +1 -0
- package/dist/integrations/github/token-refresh.js +42 -0
- package/dist/integrations/github/token-refresh.js.map +1 -0
- package/dist/integrations/github/webhook.d.ts +139 -0
- package/dist/integrations/github/webhook.d.ts.map +1 -0
- package/dist/integrations/github/webhook.js +432 -0
- package/dist/integrations/github/webhook.js.map +1 -0
- package/dist/integrations/gitlab/agent-tools.d.ts +14 -0
- package/dist/integrations/gitlab/agent-tools.d.ts.map +1 -0
- package/dist/integrations/gitlab/agent-tools.js +42 -0
- package/dist/integrations/gitlab/agent-tools.js.map +1 -0
- package/dist/integrations/gitlab/api.d.ts +222 -0
- package/dist/integrations/gitlab/api.d.ts.map +1 -0
- package/dist/integrations/gitlab/api.js +274 -0
- package/dist/integrations/gitlab/api.js.map +1 -0
- package/dist/integrations/gitlab/default-rules.d.ts +125 -0
- package/dist/integrations/gitlab/default-rules.d.ts.map +1 -0
- package/dist/integrations/gitlab/default-rules.js +180 -0
- package/dist/integrations/gitlab/default-rules.js.map +1 -0
- package/dist/integrations/gitlab/integration.d.ts +138 -0
- package/dist/integrations/gitlab/integration.d.ts.map +1 -0
- package/dist/integrations/gitlab/integration.js +705 -0
- package/dist/integrations/gitlab/integration.js.map +1 -0
- package/dist/integrations/gitlab/issue-reconciler.d.ts +6 -0
- package/dist/integrations/gitlab/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/gitlab/issue-reconciler.js +123 -0
- package/dist/integrations/gitlab/issue-reconciler.js.map +1 -0
- package/dist/integrations/gitlab/merge-request-reconciler.d.ts +6 -0
- package/dist/integrations/gitlab/merge-request-reconciler.d.ts.map +1 -0
- package/dist/integrations/gitlab/merge-request-reconciler.js +267 -0
- package/dist/integrations/gitlab/merge-request-reconciler.js.map +1 -0
- package/dist/integrations/gitlab/reconciler.d.ts +5 -0
- package/dist/integrations/gitlab/reconciler.d.ts.map +1 -0
- package/dist/integrations/gitlab/reconciler.js +31 -0
- package/dist/integrations/gitlab/reconciler.js.map +1 -0
- package/dist/integrations/gitlab/reconciliation-config.d.ts +3 -0
- package/dist/integrations/gitlab/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/gitlab/reconciliation-config.js +17 -0
- package/dist/integrations/gitlab/reconciliation-config.js.map +1 -0
- package/dist/integrations/gitlab/routes.d.ts +20 -0
- package/dist/integrations/gitlab/routes.d.ts.map +1 -0
- package/dist/integrations/gitlab/routes.js +474 -0
- package/dist/integrations/gitlab/routes.js.map +1 -0
- package/dist/integrations/gitlab/rules.d.ts +35 -0
- package/dist/integrations/gitlab/rules.d.ts.map +1 -0
- package/dist/integrations/gitlab/rules.js +502 -0
- package/dist/integrations/gitlab/rules.js.map +1 -0
- package/dist/integrations/gitlab/session-subscriptions.d.ts +32 -0
- package/dist/integrations/gitlab/session-subscriptions.d.ts.map +1 -0
- package/dist/integrations/gitlab/session-subscriptions.js +193 -0
- package/dist/integrations/gitlab/session-subscriptions.js.map +1 -0
- package/dist/integrations/gitlab/subscriptions.d.ts +70 -0
- package/dist/integrations/gitlab/subscriptions.d.ts.map +1 -0
- package/dist/integrations/gitlab/subscriptions.js +76 -0
- package/dist/integrations/gitlab/subscriptions.js.map +1 -0
- package/dist/integrations/gitlab/version-control.d.ts +16 -0
- package/dist/integrations/gitlab/version-control.d.ts.map +1 -0
- package/dist/integrations/gitlab/version-control.js +621 -0
- package/dist/integrations/gitlab/version-control.js.map +1 -0
- package/dist/integrations/gitlab/webhook-dispatch.d.ts +75 -0
- package/dist/integrations/gitlab/webhook-dispatch.d.ts.map +1 -0
- package/dist/integrations/gitlab/webhook-dispatch.js +235 -0
- package/dist/integrations/gitlab/webhook-dispatch.js.map +1 -0
- package/dist/integrations/gitlab/webhook.d.ts +72 -0
- package/dist/integrations/gitlab/webhook.d.ts.map +1 -0
- package/dist/integrations/gitlab/webhook.js +201 -0
- package/dist/integrations/gitlab/webhook.js.map +1 -0
- package/dist/integrations/incidentio/agent-tools.d.ts +49 -0
- package/dist/integrations/incidentio/agent-tools.d.ts.map +1 -0
- package/dist/integrations/incidentio/agent-tools.js +90 -0
- package/dist/integrations/incidentio/agent-tools.js.map +1 -0
- package/dist/integrations/incidentio/api.d.ts +400 -0
- package/dist/integrations/incidentio/api.d.ts.map +1 -0
- package/dist/integrations/incidentio/api.js +192 -0
- package/dist/integrations/incidentio/api.js.map +1 -0
- package/dist/integrations/incidentio/claim.d.ts +8 -0
- package/dist/integrations/incidentio/claim.d.ts.map +1 -0
- package/dist/integrations/incidentio/claim.js +14 -0
- package/dist/integrations/incidentio/claim.js.map +1 -0
- package/dist/integrations/incidentio/default-rules.d.ts +46 -0
- package/dist/integrations/incidentio/default-rules.d.ts.map +1 -0
- package/dist/integrations/incidentio/default-rules.js +68 -0
- package/dist/integrations/incidentio/default-rules.js.map +1 -0
- package/dist/integrations/incidentio/intake.d.ts +10 -0
- package/dist/integrations/incidentio/intake.d.ts.map +1 -0
- package/dist/integrations/incidentio/intake.js +307 -0
- package/dist/integrations/incidentio/intake.js.map +1 -0
- package/dist/integrations/incidentio/integration.d.ts +63 -0
- package/dist/integrations/incidentio/integration.d.ts.map +1 -0
- package/dist/integrations/incidentio/integration.js +141 -0
- package/dist/integrations/incidentio/integration.js.map +1 -0
- package/dist/integrations/incidentio/issue-reconciler.d.ts +10 -0
- package/dist/integrations/incidentio/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/incidentio/issue-reconciler.js +75 -0
- package/dist/integrations/incidentio/issue-reconciler.js.map +1 -0
- package/dist/integrations/incidentio/reconciliation-config.d.ts +3 -0
- package/dist/integrations/incidentio/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/incidentio/reconciliation-config.js +17 -0
- package/dist/integrations/incidentio/reconciliation-config.js.map +1 -0
- package/dist/integrations/incidentio/routes.d.ts +76 -0
- package/dist/integrations/incidentio/routes.d.ts.map +1 -0
- package/dist/integrations/incidentio/routes.js +249 -0
- package/dist/integrations/incidentio/routes.js.map +1 -0
- package/dist/integrations/incidentio/rules.d.ts +55 -0
- package/dist/integrations/incidentio/rules.d.ts.map +1 -0
- package/dist/integrations/incidentio/rules.js +189 -0
- package/dist/integrations/incidentio/rules.js.map +1 -0
- package/dist/integrations/issue-reconcile-worker.d.ts +19 -0
- package/dist/integrations/issue-reconcile-worker.d.ts.map +1 -0
- package/dist/integrations/issue-reconcile-worker.js +97 -0
- package/dist/integrations/issue-reconcile-worker.js.map +1 -0
- package/dist/integrations/issue-reconciler.d.ts +51 -0
- package/dist/integrations/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/issue-reconciler.js +158 -0
- package/dist/integrations/issue-reconciler.js.map +1 -0
- package/dist/integrations/jira/adf.d.ts +26 -0
- package/dist/integrations/jira/adf.d.ts.map +1 -0
- package/dist/integrations/jira/adf.js +73 -0
- package/dist/integrations/jira/adf.js.map +1 -0
- package/dist/integrations/jira/agent-tools.d.ts +45 -0
- package/dist/integrations/jira/agent-tools.d.ts.map +1 -0
- package/dist/integrations/jira/agent-tools.js +87 -0
- package/dist/integrations/jira/agent-tools.js.map +1 -0
- package/dist/integrations/jira/api.d.ts +157 -0
- package/dist/integrations/jira/api.d.ts.map +1 -0
- package/dist/integrations/jira/api.js +141 -0
- package/dist/integrations/jira/api.js.map +1 -0
- package/dist/integrations/jira/claim.d.ts +9 -0
- package/dist/integrations/jira/claim.d.ts.map +1 -0
- package/dist/integrations/jira/claim.js +15 -0
- package/dist/integrations/jira/claim.js.map +1 -0
- package/dist/integrations/jira/default-rules.d.ts +47 -0
- package/dist/integrations/jira/default-rules.d.ts.map +1 -0
- package/dist/integrations/jira/default-rules.js +69 -0
- package/dist/integrations/jira/default-rules.js.map +1 -0
- package/dist/integrations/jira/integration.d.ts +114 -0
- package/dist/integrations/jira/integration.d.ts.map +1 -0
- package/dist/integrations/jira/integration.js +407 -0
- package/dist/integrations/jira/integration.js.map +1 -0
- package/dist/integrations/jira/issue-reconciler.d.ts +10 -0
- package/dist/integrations/jira/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/jira/issue-reconciler.js +70 -0
- package/dist/integrations/jira/issue-reconciler.js.map +1 -0
- package/dist/integrations/jira/reconciliation-config.d.ts +3 -0
- package/dist/integrations/jira/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/jira/reconciliation-config.js +17 -0
- package/dist/integrations/jira/reconciliation-config.js.map +1 -0
- package/dist/integrations/jira/routes.d.ts +54 -0
- package/dist/integrations/jira/routes.d.ts.map +1 -0
- package/dist/integrations/jira/routes.js +260 -0
- package/dist/integrations/jira/routes.js.map +1 -0
- package/dist/integrations/jira/rules.d.ts +57 -0
- package/dist/integrations/jira/rules.d.ts.map +1 -0
- package/dist/integrations/jira/rules.js +189 -0
- package/dist/integrations/jira/rules.js.map +1 -0
- package/dist/integrations/linear/agent-tools.d.ts +34 -0
- package/dist/integrations/linear/agent-tools.d.ts.map +1 -0
- package/dist/integrations/linear/agent-tools.js +87 -0
- package/dist/integrations/linear/agent-tools.js.map +1 -0
- package/dist/integrations/linear/claim.d.ts +8 -0
- package/dist/integrations/linear/claim.d.ts.map +1 -0
- package/dist/integrations/linear/claim.js +14 -0
- package/dist/integrations/linear/claim.js.map +1 -0
- package/dist/integrations/linear/default-rules.d.ts +46 -0
- package/dist/integrations/linear/default-rules.d.ts.map +1 -0
- package/dist/integrations/linear/default-rules.js +70 -0
- package/dist/integrations/linear/default-rules.js.map +1 -0
- package/dist/integrations/linear/integration.d.ts +260 -0
- package/dist/integrations/linear/integration.d.ts.map +1 -0
- package/dist/integrations/linear/integration.js +900 -0
- package/dist/integrations/linear/integration.js.map +1 -0
- package/dist/integrations/linear/issue-reconciler.d.ts +8 -0
- package/dist/integrations/linear/issue-reconciler.d.ts.map +1 -0
- package/dist/integrations/linear/issue-reconciler.js +73 -0
- package/dist/integrations/linear/issue-reconciler.js.map +1 -0
- package/dist/integrations/linear/reconciliation-config.d.ts +3 -0
- package/dist/integrations/linear/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/linear/reconciliation-config.js +21 -0
- package/dist/integrations/linear/reconciliation-config.js.map +1 -0
- package/dist/integrations/linear/routes.d.ts +81 -0
- package/dist/integrations/linear/routes.d.ts.map +1 -0
- package/dist/integrations/linear/routes.js +380 -0
- package/dist/integrations/linear/routes.js.map +1 -0
- package/dist/integrations/linear/rules.d.ts +54 -0
- package/dist/integrations/linear/rules.d.ts.map +1 -0
- package/dist/integrations/linear/rules.js +189 -0
- package/dist/integrations/linear/rules.js.map +1 -0
- package/dist/integrations/linear/storage.d.ts +65 -0
- package/dist/integrations/linear/storage.d.ts.map +1 -0
- package/dist/integrations/linear/storage.js +1 -0
- package/dist/integrations/platform/api-client.d.ts +26 -0
- package/dist/integrations/platform/api-client.d.ts.map +1 -0
- package/dist/integrations/platform/api-client.js +177 -0
- package/dist/integrations/platform/api-client.js.map +1 -0
- package/dist/integrations/platform/connect/routes.d.ts +39 -0
- package/dist/integrations/platform/connect/routes.d.ts.map +1 -0
- package/dist/integrations/platform/connect/routes.js +133 -0
- package/dist/integrations/platform/connect/routes.js.map +1 -0
- package/dist/integrations/platform/github/event-worker.d.ts +58 -0
- package/dist/integrations/platform/github/event-worker.d.ts.map +1 -0
- package/dist/integrations/platform/github/event-worker.js +449 -0
- package/dist/integrations/platform/github/event-worker.js.map +1 -0
- package/dist/integrations/platform/github/integration.d.ts +89 -0
- package/dist/integrations/platform/github/integration.d.ts.map +1 -0
- package/dist/integrations/platform/github/integration.js +1266 -0
- package/dist/integrations/platform/github/integration.js.map +1 -0
- package/dist/integrations/platform/gitlab/event-worker.d.ts +64 -0
- package/dist/integrations/platform/gitlab/event-worker.d.ts.map +1 -0
- package/dist/integrations/platform/gitlab/event-worker.js +305 -0
- package/dist/integrations/platform/gitlab/event-worker.js.map +1 -0
- package/dist/integrations/platform/gitlab/integration.d.ts +57 -0
- package/dist/integrations/platform/gitlab/integration.d.ts.map +1 -0
- package/dist/integrations/platform/gitlab/integration.js +113 -0
- package/dist/integrations/platform/gitlab/integration.js.map +1 -0
- package/dist/integrations/platform/incidentio/integration.d.ts +74 -0
- package/dist/integrations/platform/incidentio/integration.d.ts.map +1 -0
- package/dist/integrations/platform/incidentio/integration.js +406 -0
- package/dist/integrations/platform/incidentio/integration.js.map +1 -0
- package/dist/integrations/platform/jira/agent-tools.d.ts +36 -0
- package/dist/integrations/platform/jira/agent-tools.d.ts.map +1 -0
- package/dist/integrations/platform/jira/agent-tools.js +85 -0
- package/dist/integrations/platform/jira/agent-tools.js.map +1 -0
- package/dist/integrations/platform/jira/integration.d.ts +65 -0
- package/dist/integrations/platform/jira/integration.d.ts.map +1 -0
- package/dist/integrations/platform/jira/integration.js +546 -0
- package/dist/integrations/platform/jira/integration.js.map +1 -0
- package/dist/integrations/platform/jira/routes.d.ts +55 -0
- package/dist/integrations/platform/jira/routes.d.ts.map +1 -0
- package/dist/integrations/platform/jira/routes.js +274 -0
- package/dist/integrations/platform/jira/routes.js.map +1 -0
- package/dist/integrations/platform/linear/event-worker.d.ts +105 -0
- package/dist/integrations/platform/linear/event-worker.d.ts.map +1 -0
- package/dist/integrations/platform/linear/event-worker.js +379 -0
- package/dist/integrations/platform/linear/event-worker.js.map +1 -0
- package/dist/integrations/platform/linear/integration.d.ts +92 -0
- package/dist/integrations/platform/linear/integration.d.ts.map +1 -0
- package/dist/integrations/platform/linear/integration.js +754 -0
- package/dist/integrations/platform/linear/integration.js.map +1 -0
- package/dist/integrations/pull-request-head.d.ts +18 -0
- package/dist/integrations/pull-request-head.d.ts.map +1 -0
- package/dist/integrations/pull-request-head.js +45 -0
- package/dist/integrations/pull-request-head.js.map +1 -0
- package/dist/integrations/reconciliation-config.d.ts +3 -0
- package/dist/integrations/reconciliation-config.d.ts.map +1 -0
- package/dist/integrations/reconciliation-config.js +16 -0
- package/dist/integrations/reconciliation-config.js.map +1 -0
- package/dist/integrations/slack/connect-route.d.ts +46 -0
- package/dist/integrations/slack/connect-route.d.ts.map +1 -0
- package/dist/integrations/slack/connect-route.js +186 -0
- package/dist/integrations/slack/connect-route.js.map +1 -0
- package/dist/integrations/slack/emoji-shortcodes.generated.d.ts +8 -0
- package/dist/integrations/slack/emoji-shortcodes.generated.d.ts.map +1 -0
- package/dist/integrations/slack/emoji-shortcodes.generated.js +1985 -0
- package/dist/integrations/slack/emoji-shortcodes.generated.js.map +1 -0
- package/dist/integrations/slack/emoji.d.ts +3 -0
- package/dist/integrations/slack/emoji.d.ts.map +1 -0
- package/dist/integrations/slack/emoji.js +12 -0
- package/dist/integrations/slack/emoji.js.map +1 -0
- package/dist/integrations/slack/feed-publisher.d.ts +26 -0
- package/dist/integrations/slack/feed-publisher.d.ts.map +1 -0
- package/dist/integrations/slack/feed-publisher.js +44 -0
- package/dist/integrations/slack/feed-publisher.js.map +1 -0
- package/dist/integrations/slack/integration.d.ts +80 -0
- package/dist/integrations/slack/integration.d.ts.map +1 -0
- package/dist/integrations/slack/integration.js +93 -0
- package/dist/integrations/slack/integration.js.map +1 -0
- package/dist/integrations/slack/slack.d.ts +205 -0
- package/dist/integrations/slack/slack.d.ts.map +1 -0
- package/dist/integrations/slack/slack.js +653 -0
- package/dist/integrations/slack/slack.js.map +1 -0
- package/dist/integrations/subscription-session.d.ts +49 -0
- package/dist/integrations/subscription-session.d.ts.map +1 -0
- package/dist/integrations/subscription-session.js +103 -0
- package/dist/integrations/subscription-session.js.map +1 -0
- package/dist/integrations/workos/integration.d.ts +39 -0
- package/dist/integrations/workos/integration.d.ts.map +1 -0
- package/dist/integrations/workos/integration.js +91 -0
- package/dist/integrations/workos/integration.js.map +1 -0
- package/dist/packages/_internals/workspace/dist/index.js +48 -0
- package/dist/packages/_internals/workspace/dist/index.js.map +1 -0
- package/dist/platform-auth-host.d.ts +4 -0
- package/dist/platform-auth-host.d.ts.map +1 -0
- package/dist/platform-auth-host.js +18 -0
- package/dist/platform-auth-host.js.map +1 -0
- package/dist/review-verdict.d.ts +6 -0
- package/dist/review-verdict.d.ts.map +1 -0
- package/dist/review-verdict.js +14 -0
- package/dist/review-verdict.js.map +1 -0
- package/dist/routes/attention-activity.d.ts +23 -0
- package/dist/routes/attention-activity.d.ts.map +1 -0
- package/dist/routes/attention-activity.js +152 -0
- package/dist/routes/attention-activity.js.map +1 -0
- package/dist/routes/attention-parked.d.ts +22 -0
- package/dist/routes/attention-parked.d.ts.map +1 -0
- package/dist/routes/attention-parked.js +136 -0
- package/dist/routes/attention-parked.js.map +1 -0
- package/dist/routes/attention-proposed.d.ts +3 -0
- package/dist/routes/attention-proposed.d.ts.map +1 -0
- package/dist/routes/attention-proposed.js +21 -0
- package/dist/routes/attention-proposed.js.map +1 -0
- package/dist/routes/attention-providers.d.ts +159 -0
- package/dist/routes/attention-providers.d.ts.map +1 -0
- package/dist/routes/attention-providers.js +524 -0
- package/dist/routes/attention-providers.js.map +1 -0
- package/dist/routes/attention.d.ts +23 -0
- package/dist/routes/attention.d.ts.map +1 -0
- package/dist/routes/attention.js +219 -0
- package/dist/routes/attention.js.map +1 -0
- package/dist/routes/automation-runs.d.ts +37 -0
- package/dist/routes/automation-runs.d.ts.map +1 -0
- package/dist/routes/automation-runs.js +196 -0
- package/dist/routes/automation-runs.js.map +1 -0
- package/dist/routes/config.d.ts +238 -0
- package/dist/routes/config.d.ts.map +1 -0
- package/dist/routes/config.js +1011 -0
- package/dist/routes/config.js.map +1 -0
- package/dist/routes/contracts.d.ts +1080 -0
- package/dist/routes/contracts.d.ts.map +1 -0
- package/dist/routes/contracts.js +673 -0
- package/dist/routes/contracts.js.map +1 -0
- package/dist/routes/custom-provider-source.d.ts +52 -0
- package/dist/routes/custom-provider-source.d.ts.map +1 -0
- package/dist/routes/custom-provider-source.js +124 -0
- package/dist/routes/custom-provider-source.js.map +1 -0
- package/dist/routes/fs.d.ts +189 -0
- package/dist/routes/fs.d.ts.map +1 -0
- package/dist/routes/fs.js +916 -0
- package/dist/routes/fs.js.map +1 -0
- package/dist/routes/intake.d.ts +64 -0
- package/dist/routes/intake.d.ts.map +1 -0
- package/dist/routes/intake.js +627 -0
- package/dist/routes/intake.js.map +1 -0
- package/dist/routes/knowledge.d.ts +247 -0
- package/dist/routes/knowledge.d.ts.map +1 -0
- package/dist/routes/knowledge.js +1128 -0
- package/dist/routes/knowledge.js.map +1 -0
- package/dist/routes/oauth.d.ts +43 -0
- package/dist/routes/oauth.d.ts.map +1 -0
- package/dist/routes/oauth.js +477 -0
- package/dist/routes/oauth.js.map +1 -0
- package/dist/routes/projects.d.ts +68 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +919 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/provider-credentials.d.ts +82 -0
- package/dist/routes/provider-credentials.d.ts.map +1 -0
- package/dist/routes/provider-credentials.js +80 -0
- package/dist/routes/provider-credentials.js.map +1 -0
- package/dist/routes/route.d.ts +48 -0
- package/dist/routes/route.d.ts.map +1 -0
- package/dist/routes/route.js +15 -0
- package/dist/routes/route.js.map +1 -0
- package/dist/routes/skills.d.ts +30 -0
- package/dist/routes/skills.d.ts.map +1 -0
- package/dist/routes/skills.js +198 -0
- package/dist/routes/skills.js.map +1 -0
- package/dist/routes/source-control-sessions.d.ts +22 -0
- package/dist/routes/source-control-sessions.d.ts.map +1 -0
- package/dist/routes/source-control-sessions.js +356 -0
- package/dist/routes/source-control-sessions.js.map +1 -0
- package/dist/routes/source-control-settings.d.ts +10 -0
- package/dist/routes/source-control-settings.d.ts.map +1 -0
- package/dist/routes/source-control-settings.js +87 -0
- package/dist/routes/source-control-settings.js.map +1 -0
- package/dist/routes/supervisor.d.ts +25 -0
- package/dist/routes/supervisor.d.ts.map +1 -0
- package/dist/routes/supervisor.js +35 -0
- package/dist/routes/supervisor.js.map +1 -0
- package/dist/routes/surface.d.ts +133 -0
- package/dist/routes/surface.d.ts.map +1 -0
- package/dist/routes/surface.js +518 -0
- package/dist/routes/surface.js.map +1 -0
- package/dist/routes/telemetry.d.ts +13 -0
- package/dist/routes/telemetry.d.ts.map +1 -0
- package/dist/routes/telemetry.js +60 -0
- package/dist/routes/telemetry.js.map +1 -0
- package/dist/routes/tenant-credentials.d.ts +87 -0
- package/dist/routes/tenant-credentials.d.ts.map +1 -0
- package/dist/routes/tenant-credentials.js +219 -0
- package/dist/routes/tenant-credentials.js.map +1 -0
- package/dist/routes/work-items.d.ts +49 -0
- package/dist/routes/work-items.d.ts.map +1 -0
- package/dist/routes/work-items.js +633 -0
- package/dist/routes/work-items.js.map +1 -0
- package/dist/rules/binding-context.d.ts +59 -0
- package/dist/rules/binding-context.d.ts.map +1 -0
- package/dist/rules/binding-context.js +134 -0
- package/dist/rules/binding-context.js.map +1 -0
- package/dist/rules/decision-applicability.d.ts +32 -0
- package/dist/rules/decision-applicability.d.ts.map +1 -0
- package/dist/rules/decision-applicability.js +56 -0
- package/dist/rules/decision-applicability.js.map +1 -0
- package/dist/rules/dispatch-errors.d.ts +13 -0
- package/dist/rules/dispatch-errors.d.ts.map +1 -0
- package/dist/rules/dispatch-errors.js +105 -0
- package/dist/rules/dispatch-errors.js.map +1 -0
- package/dist/rules/dispatcher.d.ts +86 -0
- package/dist/rules/dispatcher.d.ts.map +1 -0
- package/dist/rules/dispatcher.js +1159 -0
- package/dist/rules/dispatcher.js.map +1 -0
- package/dist/rules/event-rules.d.ts +23 -0
- package/dist/rules/event-rules.d.ts.map +1 -0
- package/dist/rules/event-rules.js +46 -0
- package/dist/rules/event-rules.js.map +1 -0
- package/dist/rules/index.d.ts +6 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +4 -0
- package/dist/rules/processor.d.ts +90 -0
- package/dist/rules/processor.d.ts.map +1 -0
- package/dist/rules/processor.js +486 -0
- package/dist/rules/processor.js.map +1 -0
- package/dist/rules/resolve.d.ts +15 -0
- package/dist/rules/resolve.d.ts.map +1 -0
- package/dist/rules/resolve.js +23 -0
- package/dist/rules/resolve.js.map +1 -0
- package/dist/rules/review-source-tool.d.ts +105 -0
- package/dist/rules/review-source-tool.d.ts.map +1 -0
- package/dist/rules/review-source-tool.js +109 -0
- package/dist/rules/review-source-tool.js.map +1 -0
- package/dist/rules/start-coordinator.d.ts +64 -0
- package/dist/rules/start-coordinator.d.ts.map +1 -0
- package/dist/rules/start-coordinator.js +246 -0
- package/dist/rules/start-coordinator.js.map +1 -0
- package/dist/rules/terminal-cleanup.d.ts +38 -0
- package/dist/rules/terminal-cleanup.d.ts.map +1 -0
- package/dist/rules/terminal-cleanup.js +68 -0
- package/dist/rules/terminal-cleanup.js.map +1 -0
- package/dist/rules/tools.d.ts +15 -0
- package/dist/rules/tools.d.ts.map +1 -0
- package/dist/rules/tools.js +185 -0
- package/dist/rules/tools.js.map +1 -0
- package/dist/rules/transition-service.d.ts +93 -0
- package/dist/rules/transition-service.d.ts.map +1 -0
- package/dist/rules/transition-service.js +402 -0
- package/dist/rules/transition-service.js.map +1 -0
- package/dist/rules/types.d.ts +553 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +154 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/validation.d.ts +21 -0
- package/dist/rules/validation.d.ts.map +1 -0
- package/dist/rules/validation.js +327 -0
- package/dist/rules/validation.js.map +1 -0
- package/dist/sandbox/callback-factory-sandbox.d.ts +15 -0
- package/dist/sandbox/callback-factory-sandbox.d.ts.map +1 -0
- package/dist/sandbox/callback-factory-sandbox.js +22 -0
- package/dist/sandbox/callback-factory-sandbox.js.map +1 -0
- package/dist/sandbox/git-ref.d.ts +7 -0
- package/dist/sandbox/git-ref.d.ts.map +1 -0
- package/dist/sandbox/git-ref.js +15 -0
- package/dist/sandbox/git-ref.js.map +1 -0
- package/dist/sandbox/local-factory-sandbox.d.ts +20 -0
- package/dist/sandbox/local-factory-sandbox.d.ts.map +1 -0
- package/dist/sandbox/local-factory-sandbox.js +27 -0
- package/dist/sandbox/local-factory-sandbox.js.map +1 -0
- package/dist/sandbox/materialization.d.ts +41 -0
- package/dist/sandbox/materialization.d.ts.map +1 -0
- package/dist/sandbox/materialization.js +18 -0
- package/dist/sandbox/materialization.js.map +1 -0
- package/dist/sandbox/session-retirement.d.ts +45 -0
- package/dist/sandbox/session-retirement.d.ts.map +1 -0
- package/dist/sandbox/session-retirement.js +153 -0
- package/dist/sandbox/session-retirement.js.map +1 -0
- package/dist/sandbox/session-sandbox.d.ts +185 -0
- package/dist/sandbox/session-sandbox.d.ts.map +1 -0
- package/dist/sandbox/session-sandbox.js +248 -0
- package/dist/sandbox/session-sandbox.js.map +1 -0
- package/dist/sandbox/workdir.d.ts +45 -0
- package/dist/sandbox/workdir.d.ts.map +1 -0
- package/dist/sandbox/workdir.js +64 -0
- package/dist/sandbox/workdir.js.map +1 -0
- package/dist/secret-encryption.d.ts +25 -0
- package/dist/secret-encryption.d.ts.map +1 -0
- package/dist/secret-encryption.js +107 -0
- package/dist/secret-encryption.js.map +1 -0
- package/dist/server-error.d.ts +12 -0
- package/dist/server-error.d.ts.map +1 -0
- package/dist/server-error.js +16 -0
- package/dist/server-error.js.map +1 -0
- package/dist/session/credential-policy.d.ts +20 -0
- package/dist/session/credential-policy.d.ts.map +1 -0
- package/dist/session/credential-policy.js +70 -0
- package/dist/session/credential-policy.js.map +1 -0
- package/dist/session/default-model-hydration.d.ts +46 -0
- package/dist/session/default-model-hydration.d.ts.map +1 -0
- package/dist/session/default-model-hydration.js +85 -0
- package/dist/session/default-model-hydration.js.map +1 -0
- package/dist/session/environment-repositories.d.ts +31 -0
- package/dist/session/environment-repositories.d.ts.map +1 -0
- package/dist/session/environment-repositories.js +89 -0
- package/dist/session/environment-repositories.js.map +1 -0
- package/dist/session/environment-state-processor.d.ts +59 -0
- package/dist/session/environment-state-processor.d.ts.map +1 -0
- package/dist/session/environment-state-processor.js +105 -0
- package/dist/session/environment-state-processor.js.map +1 -0
- package/dist/session/factory-session.d.ts +159 -0
- package/dist/session/factory-session.d.ts.map +1 -0
- package/dist/session/factory-session.js +226 -0
- package/dist/session/factory-session.js.map +1 -0
- package/dist/session/filesystem-capture.d.ts +50 -0
- package/dist/session/filesystem-capture.d.ts.map +1 -0
- package/dist/session/filesystem-capture.js +231 -0
- package/dist/session/filesystem-capture.js.map +1 -0
- package/dist/session/first-exec-capture.d.ts +38 -0
- package/dist/session/first-exec-capture.d.ts.map +1 -0
- package/dist/session/first-exec-capture.js +91 -0
- package/dist/session/first-exec-capture.js.map +1 -0
- package/dist/session/first-message-capture.d.ts +33 -0
- package/dist/session/first-message-capture.d.ts.map +1 -0
- package/dist/session/first-message-capture.js +35 -0
- package/dist/session/first-message-capture.js.map +1 -0
- package/dist/session/live-sessions.d.ts +63 -0
- package/dist/session/live-sessions.d.ts.map +1 -0
- package/dist/session/live-sessions.js +90 -0
- package/dist/session/live-sessions.js.map +1 -0
- package/dist/session/memory-settings-hydration.d.ts +36 -0
- package/dist/session/memory-settings-hydration.d.ts.map +1 -0
- package/dist/session/memory-settings-hydration.js +43 -0
- package/dist/session/memory-settings-hydration.js.map +1 -0
- package/dist/session/org-seed.d.ts +67 -0
- package/dist/session/org-seed.d.ts.map +1 -0
- package/dist/session/org-seed.js +53 -0
- package/dist/session/org-seed.js.map +1 -0
- package/dist/session/run-audit.d.ts +54 -0
- package/dist/session/run-audit.d.ts.map +1 -0
- package/dist/session/run-audit.js +124 -0
- package/dist/session/run-audit.js.map +1 -0
- package/dist/session/session-title.d.ts +7 -0
- package/dist/session/session-title.d.ts.map +1 -0
- package/dist/session/session-title.js +14 -0
- package/dist/session/session-title.js.map +1 -0
- package/dist/session/shell-commands.d.ts +5 -0
- package/dist/session/shell-commands.d.ts.map +1 -0
- package/dist/session/shell-commands.js +25 -0
- package/dist/session/shell-commands.js.map +1 -0
- package/dist/session/source-control-tools.d.ts +25 -0
- package/dist/session/source-control-tools.d.ts.map +1 -0
- package/dist/session/source-control-tools.js +594 -0
- package/dist/session/source-control-tools.js.map +1 -0
- package/dist/session/thread-title-mirror.d.ts +35 -0
- package/dist/session/thread-title-mirror.d.ts.map +1 -0
- package/dist/session/thread-title-mirror.js +51 -0
- package/dist/session/thread-title-mirror.js.map +1 -0
- package/dist/session/work-item-repository.d.ts +21 -0
- package/dist/session/work-item-repository.d.ts.map +1 -0
- package/dist/session/work-item-repository.js +113 -0
- package/dist/session/work-item-repository.js.map +1 -0
- package/dist/skills/catalog.d.ts +14 -0
- package/dist/skills/catalog.d.ts.map +1 -0
- package/dist/skills/catalog.js +62 -0
- package/dist/skills/catalog.js.map +1 -0
- package/dist/skills/service.d.ts +70 -0
- package/dist/skills/service.d.ts.map +1 -0
- package/dist/skills/service.js +88 -0
- package/dist/skills/service.js.map +1 -0
- package/dist/spa-static.d.ts +33 -0
- package/dist/spa-static.d.ts.map +1 -0
- package/dist/spa-static.js +104 -0
- package/dist/spa-static.js.map +1 -0
- package/dist/state-signing.d.ts +59 -0
- package/dist/state-signing.d.ts.map +1 -0
- package/dist/state-signing.js +83 -0
- package/dist/state-signing.js.map +1 -0
- package/dist/storage/domains/audit/actions.d.ts +24 -0
- package/dist/storage/domains/audit/actions.d.ts.map +1 -0
- package/dist/storage/domains/audit/actions.js +69 -0
- package/dist/storage/domains/audit/actions.js.map +1 -0
- package/dist/storage/domains/audit/actors.d.ts +5 -0
- package/dist/storage/domains/audit/actors.d.ts.map +1 -0
- package/dist/storage/domains/audit/actors.js +25 -0
- package/dist/storage/domains/audit/actors.js.map +1 -0
- package/dist/storage/domains/audit/agent-audit.d.ts +30 -0
- package/dist/storage/domains/audit/agent-audit.d.ts.map +1 -0
- package/dist/storage/domains/audit/agent-audit.js +93 -0
- package/dist/storage/domains/audit/agent-audit.js.map +1 -0
- package/dist/storage/domains/audit/base.d.ts +133 -0
- package/dist/storage/domains/audit/base.d.ts.map +1 -0
- package/dist/storage/domains/audit/base.js +206 -0
- package/dist/storage/domains/audit/base.js.map +1 -0
- package/dist/storage/domains/audit/domain.d.ts +79 -0
- package/dist/storage/domains/audit/domain.d.ts.map +1 -0
- package/dist/storage/domains/audit/domain.js +248 -0
- package/dist/storage/domains/audit/domain.js.map +1 -0
- package/dist/storage/domains/audit/wire.d.ts +24 -0
- package/dist/storage/domains/audit/wire.d.ts.map +1 -0
- package/dist/storage/domains/audit/wire.js +16 -0
- package/dist/storage/domains/audit/wire.js.map +1 -0
- package/dist/storage/domains/channel-identity/base.d.ts +100 -0
- package/dist/storage/domains/channel-identity/base.d.ts.map +1 -0
- package/dist/storage/domains/channel-identity/base.js +164 -0
- package/dist/storage/domains/channel-identity/base.js.map +1 -0
- package/dist/storage/domains/comments/activity.d.ts +40 -0
- package/dist/storage/domains/comments/activity.d.ts.map +1 -0
- package/dist/storage/domains/comments/activity.js +94 -0
- package/dist/storage/domains/comments/activity.js.map +1 -0
- package/dist/storage/domains/comments/actor.d.ts +51 -0
- package/dist/storage/domains/comments/actor.d.ts.map +1 -0
- package/dist/storage/domains/comments/actor.js +38 -0
- package/dist/storage/domains/comments/actor.js.map +1 -0
- package/dist/storage/domains/comments/base.d.ts +245 -0
- package/dist/storage/domains/comments/base.d.ts.map +1 -0
- package/dist/storage/domains/comments/base.js +533 -0
- package/dist/storage/domains/comments/base.js.map +1 -0
- package/dist/storage/domains/comments/domain.d.ts +135 -0
- package/dist/storage/domains/comments/domain.d.ts.map +1 -0
- package/dist/storage/domains/comments/domain.js +285 -0
- package/dist/storage/domains/comments/domain.js.map +1 -0
- package/dist/storage/domains/comments/feed-context.d.ts +22 -0
- package/dist/storage/domains/comments/feed-context.d.ts.map +1 -0
- package/dist/storage/domains/comments/feed-context.js +89 -0
- package/dist/storage/domains/comments/feed-context.js.map +1 -0
- package/dist/storage/domains/comments/feed-sync.d.ts +21 -0
- package/dist/storage/domains/comments/feed-sync.d.ts.map +1 -0
- package/dist/storage/domains/comments/feed-sync.js +1 -0
- package/dist/storage/domains/comments/parse.d.ts +23 -0
- package/dist/storage/domains/comments/parse.d.ts.map +1 -0
- package/dist/storage/domains/comments/parse.js +90 -0
- package/dist/storage/domains/comments/parse.js.map +1 -0
- package/dist/storage/domains/comments/routes.d.ts +24 -0
- package/dist/storage/domains/comments/routes.d.ts.map +1 -0
- package/dist/storage/domains/comments/routes.js +302 -0
- package/dist/storage/domains/comments/routes.js.map +1 -0
- package/dist/storage/domains/comments/schema.d.ts +5 -0
- package/dist/storage/domains/comments/schema.d.ts.map +1 -0
- package/dist/storage/domains/comments/schema.js +179 -0
- package/dist/storage/domains/comments/schema.js.map +1 -0
- package/dist/storage/domains/comments/wire.d.ts +40 -0
- package/dist/storage/domains/comments/wire.d.ts.map +1 -0
- package/dist/storage/domains/comments/wire.js +37 -0
- package/dist/storage/domains/comments/wire.js.map +1 -0
- package/dist/storage/domains/credentials/base.d.ts +136 -0
- package/dist/storage/domains/credentials/base.d.ts.map +1 -0
- package/dist/storage/domains/credentials/base.js +294 -0
- package/dist/storage/domains/credentials/base.js.map +1 -0
- package/dist/storage/domains/custom-providers/base.d.ts +59 -0
- package/dist/storage/domains/custom-providers/base.d.ts.map +1 -0
- package/dist/storage/domains/custom-providers/base.js +176 -0
- package/dist/storage/domains/custom-providers/base.js.map +1 -0
- package/dist/storage/domains/filesystem/base.d.ts +26 -0
- package/dist/storage/domains/filesystem/base.d.ts.map +1 -0
- package/dist/storage/domains/filesystem/base.js +74 -0
- package/dist/storage/domains/filesystem/base.js.map +1 -0
- package/dist/storage/domains/intake/base.d.ts +150 -0
- package/dist/storage/domains/intake/base.d.ts.map +1 -0
- package/dist/storage/domains/intake/base.js +431 -0
- package/dist/storage/domains/intake/base.js.map +1 -0
- package/dist/storage/domains/integrations/base.d.ts +128 -0
- package/dist/storage/domains/integrations/base.d.ts.map +1 -0
- package/dist/storage/domains/integrations/base.js +333 -0
- package/dist/storage/domains/integrations/base.js.map +1 -0
- package/dist/storage/domains/memory-settings/base.d.ts +58 -0
- package/dist/storage/domains/memory-settings/base.d.ts.map +1 -0
- package/dist/storage/domains/memory-settings/base.js +129 -0
- package/dist/storage/domains/memory-settings/base.js.map +1 -0
- package/dist/storage/domains/model-defaults/base.d.ts +29 -0
- package/dist/storage/domains/model-defaults/base.d.ts.map +1 -0
- package/dist/storage/domains/model-defaults/base.js +79 -0
- package/dist/storage/domains/model-defaults/base.js.map +1 -0
- package/dist/storage/domains/projects/base.d.ts +191 -0
- package/dist/storage/domains/projects/base.d.ts.map +1 -0
- package/dist/storage/domains/projects/base.js +352 -0
- package/dist/storage/domains/projects/base.js.map +1 -0
- package/dist/storage/domains/queue-health/base.d.ts +52 -0
- package/dist/storage/domains/queue-health/base.d.ts.map +1 -0
- package/dist/storage/domains/queue-health/base.js +122 -0
- package/dist/storage/domains/queue-health/base.js.map +1 -0
- package/dist/storage/domains/source-control/base.d.ts +422 -0
- package/dist/storage/domains/source-control/base.d.ts.map +1 -0
- package/dist/storage/domains/source-control/base.js +1114 -0
- package/dist/storage/domains/source-control/base.js.map +1 -0
- package/dist/storage/domains/source-control/inmemory.d.ts +147 -0
- package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/source-control/inmemory.js +416 -0
- package/dist/storage/domains/source-control/inmemory.js.map +1 -0
- package/dist/storage/domains/work-items/base.d.ts +794 -0
- package/dist/storage/domains/work-items/base.d.ts.map +1 -0
- package/dist/storage/domains/work-items/base.js +2747 -0
- package/dist/storage/domains/work-items/base.js.map +1 -0
- package/dist/storage/domains/work-items/board-version.d.ts +26 -0
- package/dist/storage/domains/work-items/board-version.d.ts.map +1 -0
- package/dist/storage/domains/work-items/board-version.js +110 -0
- package/dist/storage/domains/work-items/board-version.js.map +1 -0
- package/dist/storage/domains/work-items/metrics.d.ts +97 -0
- package/dist/storage/domains/work-items/metrics.d.ts.map +1 -0
- package/dist/storage/domains/work-items/metrics.js +226 -0
- package/dist/storage/domains/work-items/metrics.js.map +1 -0
- package/dist/supervisor/health-worker.d.ts +19 -0
- package/dist/supervisor/health-worker.d.ts.map +1 -0
- package/dist/supervisor/health-worker.js +74 -0
- package/dist/supervisor/health-worker.js.map +1 -0
- package/dist/supervisor/health.d.ts +79 -0
- package/dist/supervisor/health.d.ts.map +1 -0
- package/dist/supervisor/health.js +228 -0
- package/dist/supervisor/health.js.map +1 -0
- package/dist/supervisor/instructions.d.ts +6 -0
- package/dist/supervisor/instructions.d.ts.map +1 -0
- package/dist/supervisor/instructions.js +66 -0
- package/dist/supervisor/instructions.js.map +1 -0
- package/dist/supervisor/read-tools.d.ts +43 -0
- package/dist/supervisor/read-tools.d.ts.map +1 -0
- package/dist/supervisor/read-tools.js +343 -0
- package/dist/supervisor/read-tools.js.map +1 -0
- package/dist/supervisor/session-messaging.d.ts +26 -0
- package/dist/supervisor/session-messaging.d.ts.map +1 -0
- package/dist/supervisor/session-messaging.js +21 -0
- package/dist/supervisor/session-messaging.js.map +1 -0
- package/dist/supervisor/session.d.ts +38 -0
- package/dist/supervisor/session.d.ts.map +1 -0
- package/dist/supervisor/session.js +79 -0
- package/dist/supervisor/session.js.map +1 -0
- package/dist/supervisor/write-tools.d.ts +30 -0
- package/dist/supervisor/write-tools.d.ts.map +1 -0
- package/dist/supervisor/write-tools.js +231 -0
- package/dist/supervisor/write-tools.js.map +1 -0
- package/dist/telemetry-types.d.ts +7 -0
- package/dist/telemetry-types.d.ts.map +1 -0
- package/dist/telemetry-types.js +24 -0
- package/dist/telemetry-types.js.map +1 -0
- package/dist/telemetry.d.ts +9 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +47 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/timing.d.ts +15 -0
- package/dist/timing.d.ts.map +1 -0
- package/dist/timing.js +34 -0
- package/dist/timing.js.map +1 -0
- package/dist/work-item-branch.d.ts +33 -0
- package/dist/work-item-branch.d.ts.map +1 -0
- package/dist/work-item-branch.js +70 -0
- package/dist/work-item-branch.js.map +1 -0
- package/dist/workspace.d.ts +131 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +995 -0
- package/dist/workspace.js.map +1 -0
- package/factory-skills/configure-factory-rules/SKILL.md +122 -0
- package/factory-skills/factory-complete-issue/SKILL.md +24 -0
- package/factory-skills/factory-gitlab-rereview/SKILL.md +22 -0
- package/factory-skills/factory-gitlab-review/SKILL.md +48 -0
- package/factory-skills/factory-plan/SKILL.md +72 -0
- package/factory-skills/factory-rereview/SKILL.md +225 -0
- package/factory-skills/factory-review/SKILL.md +214 -0
- package/factory-skills/factory-review/references/archaeology.md +225 -0
- package/factory-skills/factory-review/references/categories/README.md +34 -0
- package/factory-skills/factory-review/references/categories/behavior-change.md +36 -0
- package/factory-skills/factory-review/references/categories/bug-fix.md +37 -0
- package/factory-skills/factory-review/references/categories/docs.md +32 -0
- package/factory-skills/factory-review/references/categories/experimental-flagged.md +34 -0
- package/factory-skills/factory-review/references/categories/infra-tooling.md +37 -0
- package/factory-skills/factory-review/references/categories/internal-capability.md +35 -0
- package/factory-skills/factory-review/references/categories/large-cross-cutting.md +35 -0
- package/factory-skills/factory-review/references/categories/mechanical.md +36 -0
- package/factory-skills/factory-review/references/categories/performance.md +33 -0
- package/factory-skills/factory-review/references/categories/public-api.md +38 -0
- package/factory-skills/factory-review/references/categories/refactor.md +35 -0
- package/factory-skills/factory-review/references/categories/revert.md +31 -0
- package/factory-skills/factory-review/references/categories/schema-storage.md +39 -0
- package/factory-skills/factory-review/references/categories/security.md +35 -0
- package/factory-skills/factory-review/references/categories/tests-only.md +38 -0
- package/factory-skills/factory-triage/SKILL.md +197 -0
- package/package.json +92 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { FactoryGitLabEventName, FactoryGitLabRuleContext, FactoryRuleHandler } from '../../rules/types.js';
|
|
2
|
+
export type GitLabRuleOverrides = Partial<Record<FactoryGitLabEventName, FactoryRuleHandler<FactoryGitLabRuleContext> | null | undefined>>;
|
|
3
|
+
export type GitLabEventRules = Readonly<Record<FactoryGitLabEventName, FactoryRuleHandler<FactoryGitLabRuleContext> | null>>;
|
|
4
|
+
declare function issueOpened(context: FactoryGitLabRuleContext): {
|
|
5
|
+
readonly type: "upsertLinkedWorkItem";
|
|
6
|
+
readonly idempotencyKey: `${string}:issue-intake`;
|
|
7
|
+
readonly board: string;
|
|
8
|
+
readonly source: "gitlab-issue";
|
|
9
|
+
readonly sourceKey: string;
|
|
10
|
+
readonly title: string;
|
|
11
|
+
readonly url: string;
|
|
12
|
+
readonly stage: string;
|
|
13
|
+
readonly metadata: {
|
|
14
|
+
readonly authorTrusted: boolean;
|
|
15
|
+
readonly autoStartCandidate: boolean;
|
|
16
|
+
readonly assignees: string[];
|
|
17
|
+
readonly labels: string[];
|
|
18
|
+
readonly labelColors: Record<string, string>;
|
|
19
|
+
readonly author?: string | undefined;
|
|
20
|
+
readonly sourceCreatedAt?: string | undefined;
|
|
21
|
+
readonly gitlabHost: string;
|
|
22
|
+
readonly gitlabProjectId: number;
|
|
23
|
+
readonly gitlabIssueIid: number;
|
|
24
|
+
readonly identifier: `${string}#${number}`;
|
|
25
|
+
};
|
|
26
|
+
} | undefined;
|
|
27
|
+
declare function retriageIssue(context: FactoryGitLabRuleContext): {
|
|
28
|
+
readonly type: "invokeSkill";
|
|
29
|
+
readonly idempotencyKey: `${string}:factory-triage`;
|
|
30
|
+
readonly role: "triage";
|
|
31
|
+
readonly skillName: "factory-triage";
|
|
32
|
+
readonly arguments: `Re-triage GitLab issue (${string}) after a comment was added.` | `Re-triage GitLab issue (${string}) after the issue changed.`;
|
|
33
|
+
} | undefined;
|
|
34
|
+
declare function issueClosed(context: FactoryGitLabRuleContext): {
|
|
35
|
+
readonly type: "transition";
|
|
36
|
+
readonly idempotencyKey: `${string}:issue-closed`;
|
|
37
|
+
readonly board: import("../../rules/types.js").FactoryRuleBoard;
|
|
38
|
+
readonly stage: string;
|
|
39
|
+
readonly message: {
|
|
40
|
+
readonly text: `GitLab issue #${number} was closed; this ${string} card was moved to ${string}.` | `GitLab issue # was closed; this ${string} card was moved to ${string}.`;
|
|
41
|
+
};
|
|
42
|
+
} | undefined;
|
|
43
|
+
declare function materializeMergeRequest(context: FactoryGitLabRuleContext): {
|
|
44
|
+
readonly type: "upsertLinkedWorkItem";
|
|
45
|
+
readonly idempotencyKey: `${string}:merge-request-intake`;
|
|
46
|
+
readonly board: "review";
|
|
47
|
+
readonly source: "gitlab-pr";
|
|
48
|
+
readonly sourceKey: string;
|
|
49
|
+
readonly title: string;
|
|
50
|
+
readonly url: string;
|
|
51
|
+
readonly stage: "intake";
|
|
52
|
+
readonly metadata: {
|
|
53
|
+
readonly author?: string | undefined;
|
|
54
|
+
readonly factoryAuthored: boolean;
|
|
55
|
+
readonly authorTrusted: boolean;
|
|
56
|
+
readonly autoStartCandidate: boolean;
|
|
57
|
+
readonly state: "closed" | "open";
|
|
58
|
+
readonly draft: boolean;
|
|
59
|
+
readonly merged: boolean;
|
|
60
|
+
readonly assignees: string[];
|
|
61
|
+
readonly requestedReviewers: string[];
|
|
62
|
+
readonly labels: string[];
|
|
63
|
+
readonly labelColors: Record<string, string>;
|
|
64
|
+
readonly headBranch: string;
|
|
65
|
+
readonly baseBranch: string;
|
|
66
|
+
readonly sourceCreatedAt?: string | undefined;
|
|
67
|
+
readonly gitlabHost: string;
|
|
68
|
+
readonly gitlabProjectId: number;
|
|
69
|
+
readonly gitlabMergeRequestIid: number;
|
|
70
|
+
};
|
|
71
|
+
} | undefined;
|
|
72
|
+
declare function mergeRequestUpdated(context: FactoryGitLabRuleContext): {
|
|
73
|
+
readonly reenter?: boolean | undefined;
|
|
74
|
+
readonly type: "transition";
|
|
75
|
+
readonly idempotencyKey: `${string}:re-review-updated`;
|
|
76
|
+
readonly board: "review";
|
|
77
|
+
readonly stage: "review";
|
|
78
|
+
} | undefined;
|
|
79
|
+
declare function mergeRequestCommented(context: FactoryGitLabRuleContext): {
|
|
80
|
+
readonly type: "sendMessage";
|
|
81
|
+
readonly idempotencyKey: `${string}:address-merge-request-comment`;
|
|
82
|
+
readonly role: "work";
|
|
83
|
+
readonly priority: "high";
|
|
84
|
+
readonly message: string;
|
|
85
|
+
} | undefined;
|
|
86
|
+
declare function mergeRequestMerged(context: FactoryGitLabRuleContext): {
|
|
87
|
+
readonly type: "transition";
|
|
88
|
+
readonly idempotencyKey: `${string}:merge-request-merged`;
|
|
89
|
+
readonly board: "review";
|
|
90
|
+
readonly stage: "done";
|
|
91
|
+
readonly message: {
|
|
92
|
+
readonly text: `GitLab merge request !${number} merged; this Review card was moved to Done.`;
|
|
93
|
+
};
|
|
94
|
+
readonly role?: undefined;
|
|
95
|
+
} | {
|
|
96
|
+
readonly type: "sendMessage";
|
|
97
|
+
readonly idempotencyKey: `${string}:assess-work-completion`;
|
|
98
|
+
readonly role: "work";
|
|
99
|
+
readonly message: string;
|
|
100
|
+
readonly board?: undefined;
|
|
101
|
+
readonly stage?: undefined;
|
|
102
|
+
} | undefined;
|
|
103
|
+
declare function mergeRequestClosed(context: FactoryGitLabRuleContext): {
|
|
104
|
+
readonly type: "transition";
|
|
105
|
+
readonly idempotencyKey: `${string}:merge-request-closed`;
|
|
106
|
+
readonly board: "review";
|
|
107
|
+
readonly stage: "canceled";
|
|
108
|
+
readonly message: {
|
|
109
|
+
readonly text: string;
|
|
110
|
+
};
|
|
111
|
+
} | undefined;
|
|
112
|
+
export declare const defaultGitLabRules: Readonly<{
|
|
113
|
+
issueOpened: typeof issueOpened;
|
|
114
|
+
issueUpdated: typeof retriageIssue;
|
|
115
|
+
issueClosed: typeof issueClosed;
|
|
116
|
+
issueCommented: typeof retriageIssue;
|
|
117
|
+
mergeRequestOpened: typeof materializeMergeRequest;
|
|
118
|
+
mergeRequestUpdated: typeof mergeRequestUpdated;
|
|
119
|
+
mergeRequestCommented: typeof mergeRequestCommented;
|
|
120
|
+
mergeRequestMerged: typeof mergeRequestMerged;
|
|
121
|
+
mergeRequestClosed: typeof mergeRequestClosed;
|
|
122
|
+
}>;
|
|
123
|
+
export declare function resolveGitLabRules(overrides?: GitLabRuleOverrides): GitLabEventRules;
|
|
124
|
+
export {};
|
|
125
|
+
//# sourceMappingURL=default-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-rules.d.ts","sourceRoot":"","sources":["../../../src/integrations/gitlab/default-rules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAChG,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACrC,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,CACpF,CAAC;AAiBF,iBAAS,WAAW,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;cA8BrD;AAED,iBAAS,aAAa,CAAC,OAAO,EAAE,wBAAwB;;;;;;cAkBvD;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;cAgBrD;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCjE;AAED,iBAAS,mBAAmB,CAAC,OAAO,EAAE,wBAAwB;;;;;;cAc7D;AAED,iBAAS,qBAAqB,CAAC,OAAO,EAAE,wBAAwB;;;;;;cAc/D;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;cAsB5D;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;cAa5D;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;EAUF,CAAC;AAE9B,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAgBpF"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { factoryRuleStage, isTerminalFactoryRuleStage } from "../../rules/types.js";
|
|
2
|
+
import { recordExplicitRuleOverrides } from "../../rules/event-rules.js";
|
|
3
|
+
//#region src/integrations/gitlab/default-rules.ts
|
|
4
|
+
function actorUsername(context) {
|
|
5
|
+
return context.actor.type === "gitlab" ? context.actor.username : void 0;
|
|
6
|
+
}
|
|
7
|
+
function trustedGitLabActor(context) {
|
|
8
|
+
return context.actor.type === "gitlab" && context.actor.trusted;
|
|
9
|
+
}
|
|
10
|
+
function createdAfterFactory(createdAt, factoryCreatedAt) {
|
|
11
|
+
if (!createdAt) return false;
|
|
12
|
+
const sourceCreatedAt = Date.parse(createdAt);
|
|
13
|
+
const projectCreatedAt = Date.parse(factoryCreatedAt);
|
|
14
|
+
return Number.isFinite(sourceCreatedAt) && Number.isFinite(projectCreatedAt) && sourceCreatedAt > projectCreatedAt;
|
|
15
|
+
}
|
|
16
|
+
function issueOpened(context) {
|
|
17
|
+
if (!context.issue) return;
|
|
18
|
+
return {
|
|
19
|
+
type: "upsertLinkedWorkItem",
|
|
20
|
+
idempotencyKey: `${context.ingress.id}:issue-intake`,
|
|
21
|
+
board: context.intake?.board ?? "work",
|
|
22
|
+
source: "gitlab-issue",
|
|
23
|
+
sourceKey: context.issue.sourceKey,
|
|
24
|
+
title: context.issue.title,
|
|
25
|
+
url: context.issue.url,
|
|
26
|
+
stage: context.intake?.initialPhase ?? "intake",
|
|
27
|
+
metadata: {
|
|
28
|
+
gitlabHost: context.repository.host,
|
|
29
|
+
gitlabProjectId: context.repository.id,
|
|
30
|
+
gitlabIssueIid: context.issue.number,
|
|
31
|
+
identifier: `${context.repository.fullName}#${context.issue.number}`,
|
|
32
|
+
...context.issue.createdAt ? { sourceCreatedAt: context.issue.createdAt } : {},
|
|
33
|
+
...context.issue.author ?? actorUsername(context) ? { author: context.issue.author ?? actorUsername(context) } : {},
|
|
34
|
+
authorTrusted: context.issue.authorTrusted,
|
|
35
|
+
autoStartCandidate: trustedGitLabActor(context) && context.issue.authorTrusted && createdAfterFactory(context.issue.createdAt, context.factory.createdAt),
|
|
36
|
+
assignees: context.issue.assignees ?? [],
|
|
37
|
+
labels: context.issue.labels ?? [],
|
|
38
|
+
labelColors: context.issue.labelColors ?? {}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function retriageIssue(context) {
|
|
43
|
+
if (!context.item || context.item.source !== "gitlab-issue" || !context.item.url) return;
|
|
44
|
+
if (context.actor.type === "gitlab" && context.actor.factoryAuthored) return;
|
|
45
|
+
if (context.board !== "work") return;
|
|
46
|
+
const stage = factoryRuleStage(context.item.stages);
|
|
47
|
+
if (stage === "execute" || stage === "review") return;
|
|
48
|
+
if (isTerminalFactoryRuleStage(context.item.stages)) return;
|
|
49
|
+
const reason = context.event === "issueCommented" ? "a comment was added" : "the issue changed";
|
|
50
|
+
return {
|
|
51
|
+
type: "invokeSkill",
|
|
52
|
+
idempotencyKey: `${context.ingress.id}:factory-triage`,
|
|
53
|
+
role: "triage",
|
|
54
|
+
skillName: "factory-triage",
|
|
55
|
+
arguments: `Re-triage GitLab issue (${context.item.url}) after ${reason}.`
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function issueClosed(context) {
|
|
59
|
+
if (!context.item || context.item.source !== "gitlab-issue") return;
|
|
60
|
+
const closure = context.boardClosure;
|
|
61
|
+
if (!context.board || !closure || closure.itemTerminal) return;
|
|
62
|
+
return {
|
|
63
|
+
type: "transition",
|
|
64
|
+
idempotencyKey: `${context.ingress.id}:issue-closed`,
|
|
65
|
+
board: context.board,
|
|
66
|
+
stage: closure.completed.phase,
|
|
67
|
+
message: { text: `GitLab issue #${context.issue?.number ?? ""} was closed; this ${closure.boardTitle} card was moved to ${closure.completed.title}.` }
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function materializeMergeRequest(context) {
|
|
71
|
+
if (!context.mergeRequest) return;
|
|
72
|
+
return {
|
|
73
|
+
type: "upsertLinkedWorkItem",
|
|
74
|
+
idempotencyKey: `${context.ingress.id}:merge-request-intake`,
|
|
75
|
+
board: "review",
|
|
76
|
+
source: "gitlab-pr",
|
|
77
|
+
sourceKey: context.mergeRequest.sourceKey,
|
|
78
|
+
title: context.mergeRequest.title,
|
|
79
|
+
url: context.mergeRequest.url,
|
|
80
|
+
stage: "intake",
|
|
81
|
+
metadata: {
|
|
82
|
+
gitlabHost: context.repository.host,
|
|
83
|
+
gitlabProjectId: context.repository.id,
|
|
84
|
+
gitlabMergeRequestIid: context.mergeRequest.number,
|
|
85
|
+
...context.mergeRequest.createdAt ? { sourceCreatedAt: context.mergeRequest.createdAt } : {},
|
|
86
|
+
factoryAuthored: context.mergeRequest.factoryAuthored,
|
|
87
|
+
authorTrusted: context.mergeRequest.authorTrusted,
|
|
88
|
+
autoStartCandidate: (trustedGitLabActor(context) && context.mergeRequest.authorTrusted || context.mergeRequest.factoryAuthored) && createdAfterFactory(context.mergeRequest.createdAt, context.factory.createdAt),
|
|
89
|
+
state: context.mergeRequest.state,
|
|
90
|
+
draft: context.mergeRequest.draft,
|
|
91
|
+
merged: context.mergeRequest.merged,
|
|
92
|
+
assignees: context.mergeRequest.assignees ?? [],
|
|
93
|
+
requestedReviewers: context.mergeRequest.reviewers ?? [],
|
|
94
|
+
labels: context.mergeRequest.labels ?? [],
|
|
95
|
+
labelColors: context.mergeRequest.labelColors ?? {},
|
|
96
|
+
headBranch: context.mergeRequest.headBranch,
|
|
97
|
+
baseBranch: context.mergeRequest.baseBranch,
|
|
98
|
+
...context.mergeRequest.author ? { author: context.mergeRequest.author } : {}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function mergeRequestUpdated(context) {
|
|
103
|
+
if (!context.item || context.item.source !== "gitlab-pr" || context.board !== "review") return;
|
|
104
|
+
if (!context.mergeRequest || context.mergeRequest.state !== "open" || context.mergeRequest.merged) return;
|
|
105
|
+
if (context.item.stages.some((stage) => stage === "intake")) return;
|
|
106
|
+
if (!trustedGitLabActor(context) && !context.mergeRequest.factoryAuthored) return;
|
|
107
|
+
const alreadyReviewing = context.item.stages.some((stage) => stage === "review");
|
|
108
|
+
return {
|
|
109
|
+
type: "transition",
|
|
110
|
+
idempotencyKey: `${context.ingress.id}:re-review-updated`,
|
|
111
|
+
board: "review",
|
|
112
|
+
stage: "review",
|
|
113
|
+
...alreadyReviewing ? { reenter: true } : {}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function mergeRequestCommented(context) {
|
|
117
|
+
if (!context.item || !context.mergeRequest || !context.note || context.board !== "work") return;
|
|
118
|
+
if (context.mergeRequest.state !== "open" || context.mergeRequest.merged) return;
|
|
119
|
+
if (context.actor.type === "gitlab" && context.actor.factoryAuthored) return;
|
|
120
|
+
return {
|
|
121
|
+
type: "sendMessage",
|
|
122
|
+
idempotencyKey: `${context.ingress.id}:address-merge-request-comment`,
|
|
123
|
+
role: "work",
|
|
124
|
+
priority: "high",
|
|
125
|
+
message: `${context.note.author ?? "Someone"} commented on GitLab merge request !${context.mergeRequest.number} (${context.note.url ?? context.mergeRequest.url}). Read the comment, address it if you agree, and push the fixes to the merge-request branch. Reply in GitLab to anything you are deliberately not changing.`
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function mergeRequestMerged(context) {
|
|
129
|
+
if (!context.item || !context.mergeRequest?.merged) return;
|
|
130
|
+
if (context.board === "review") return {
|
|
131
|
+
type: "transition",
|
|
132
|
+
idempotencyKey: `${context.ingress.id}:merge-request-merged`,
|
|
133
|
+
board: "review",
|
|
134
|
+
stage: "done",
|
|
135
|
+
message: { text: `GitLab merge request !${context.mergeRequest.number} merged; this Review card was moved to Done.` }
|
|
136
|
+
};
|
|
137
|
+
if (context.board !== "work") return;
|
|
138
|
+
return {
|
|
139
|
+
type: "sendMessage",
|
|
140
|
+
idempotencyKey: `${context.ingress.id}:assess-work-completion`,
|
|
141
|
+
role: "work",
|
|
142
|
+
message: `GitLab merge request !${context.mergeRequest.number} merged. Assess whether the linked Work item is complete. Do not mark it Done solely because this merge request merged.`
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function mergeRequestClosed(context) {
|
|
146
|
+
if (!context.item || !context.mergeRequest || context.mergeRequest.merged || context.board !== "review") return;
|
|
147
|
+
return {
|
|
148
|
+
type: "transition",
|
|
149
|
+
idempotencyKey: `${context.ingress.id}:merge-request-closed`,
|
|
150
|
+
board: "review",
|
|
151
|
+
stage: "canceled",
|
|
152
|
+
message: { text: `GitLab merge request !${context.mergeRequest.number} was closed without merging; this Review card was moved to Canceled.` }
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
const defaultGitLabRules = Object.freeze({
|
|
156
|
+
issueOpened,
|
|
157
|
+
issueUpdated: retriageIssue,
|
|
158
|
+
issueClosed,
|
|
159
|
+
issueCommented: retriageIssue,
|
|
160
|
+
mergeRequestOpened: materializeMergeRequest,
|
|
161
|
+
mergeRequestUpdated,
|
|
162
|
+
mergeRequestCommented,
|
|
163
|
+
mergeRequestMerged,
|
|
164
|
+
mergeRequestClosed
|
|
165
|
+
});
|
|
166
|
+
function resolveGitLabRules(overrides) {
|
|
167
|
+
if (overrides !== void 0 && (overrides === null || typeof overrides !== "object" || Array.isArray(overrides))) throw new Error("GitLab rules must be an object.");
|
|
168
|
+
const rules = { ...defaultGitLabRules };
|
|
169
|
+
for (const key of Reflect.ownKeys(overrides ?? {})) {
|
|
170
|
+
if (typeof key !== "string" || !Object.hasOwn(defaultGitLabRules, key)) throw new Error(`Unknown GitLab rule event: ${String(key)}.`);
|
|
171
|
+
const handler = overrides?.[key];
|
|
172
|
+
if (handler !== void 0 && handler !== null && typeof handler !== "function") throw new Error(`GitLab rule ${key} must be a function, null, or undefined.`);
|
|
173
|
+
if (handler !== void 0) rules[key] = handler;
|
|
174
|
+
}
|
|
175
|
+
return recordExplicitRuleOverrides(Object.freeze(rules), overrides);
|
|
176
|
+
}
|
|
177
|
+
//#endregion
|
|
178
|
+
export { defaultGitLabRules, resolveGitLabRules };
|
|
179
|
+
|
|
180
|
+
//# sourceMappingURL=default-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-rules.js","names":[],"sources":["../../../src/integrations/gitlab/default-rules.ts"],"sourcesContent":["import { recordExplicitRuleOverrides } from '../../rules/event-rules.js';\nimport { factoryRuleStage, isTerminalFactoryRuleStage } from '../../rules/types.js';\nimport type { FactoryGitLabEventName, FactoryGitLabRuleContext, FactoryRuleHandler } from '../../rules/types.js';\n\nexport type GitLabRuleOverrides = Partial<\n Record<FactoryGitLabEventName, FactoryRuleHandler<FactoryGitLabRuleContext> | null | undefined>\n>;\nexport type GitLabEventRules = Readonly<\n Record<FactoryGitLabEventName, FactoryRuleHandler<FactoryGitLabRuleContext> | null>\n>;\n\nfunction actorUsername(context: Pick<FactoryGitLabRuleContext, 'actor'>): string | undefined {\n return context.actor.type === 'gitlab' ? context.actor.username : undefined;\n}\n\nfunction trustedGitLabActor(context: Pick<FactoryGitLabRuleContext, 'actor'>): boolean {\n return context.actor.type === 'gitlab' && context.actor.trusted;\n}\n\nfunction createdAfterFactory(createdAt: string | undefined, factoryCreatedAt: string): boolean {\n if (!createdAt) return false;\n const sourceCreatedAt = Date.parse(createdAt);\n const projectCreatedAt = Date.parse(factoryCreatedAt);\n return Number.isFinite(sourceCreatedAt) && Number.isFinite(projectCreatedAt) && sourceCreatedAt > projectCreatedAt;\n}\n\nfunction issueOpened(context: FactoryGitLabRuleContext) {\n if (!context.issue) return;\n return {\n type: 'upsertLinkedWorkItem',\n idempotencyKey: `${context.ingress.id}:issue-intake`,\n board: context.intake?.board ?? 'work',\n source: 'gitlab-issue',\n sourceKey: context.issue.sourceKey,\n title: context.issue.title,\n url: context.issue.url,\n stage: context.intake?.initialPhase ?? 'intake',\n metadata: {\n gitlabHost: context.repository.host,\n gitlabProjectId: context.repository.id,\n gitlabIssueIid: context.issue.number,\n identifier: `${context.repository.fullName}#${context.issue.number}`,\n ...(context.issue.createdAt ? { sourceCreatedAt: context.issue.createdAt } : {}),\n ...((context.issue.author ?? actorUsername(context))\n ? { author: context.issue.author ?? actorUsername(context) }\n : {}),\n authorTrusted: context.issue.authorTrusted,\n autoStartCandidate:\n trustedGitLabActor(context) &&\n context.issue.authorTrusted &&\n createdAfterFactory(context.issue.createdAt, context.factory.createdAt),\n assignees: context.issue.assignees ?? [],\n labels: context.issue.labels ?? [],\n labelColors: context.issue.labelColors ?? {},\n },\n } as const;\n}\n\nfunction retriageIssue(context: FactoryGitLabRuleContext) {\n if (!context.item || context.item.source !== 'gitlab-issue' || !context.item.url) return;\n if (context.actor.type === 'gitlab' && context.actor.factoryAuthored) return;\n // The stage checks below use Work lane names; other boards opt in with their own rules.\n if (context.board !== 'work') return;\n // Re-triage would take over a card that is being built or reviewed.\n const stage = factoryRuleStage(context.item.stages);\n if (stage === 'execute' || stage === 'review') return;\n // A finished card has nothing left to triage.\n if (isTerminalFactoryRuleStage(context.item.stages)) return;\n const reason = context.event === 'issueCommented' ? 'a comment was added' : 'the issue changed';\n return {\n type: 'invokeSkill',\n idempotencyKey: `${context.ingress.id}:factory-triage`,\n role: 'triage',\n skillName: 'factory-triage',\n arguments: `Re-triage GitLab issue (${context.item.url}) after ${reason}.`,\n } as const;\n}\n\nfunction issueClosed(context: FactoryGitLabRuleContext) {\n if (!context.item || context.item.source !== 'gitlab-issue') return;\n // The card's board decides where a closed source sends it; boards that declare no\n // `sourceClosed` mapping keep the card where it is, as do cards already finished.\n const closure = context.boardClosure;\n if (!context.board || !closure || closure.itemTerminal) return;\n // GitLab reports no close reason, so every closure counts as completed.\n return {\n type: 'transition',\n idempotencyKey: `${context.ingress.id}:issue-closed`,\n board: context.board,\n stage: closure.completed.phase,\n message: {\n text: `GitLab issue #${context.issue?.number ?? ''} was closed; this ${closure.boardTitle} card was moved to ${closure.completed.title}.`,\n },\n } as const;\n}\n\nfunction materializeMergeRequest(context: FactoryGitLabRuleContext) {\n if (!context.mergeRequest) return;\n return {\n type: 'upsertLinkedWorkItem',\n idempotencyKey: `${context.ingress.id}:merge-request-intake`,\n board: 'review',\n source: 'gitlab-pr',\n sourceKey: context.mergeRequest.sourceKey,\n title: context.mergeRequest.title,\n url: context.mergeRequest.url,\n stage: 'intake',\n metadata: {\n gitlabHost: context.repository.host,\n gitlabProjectId: context.repository.id,\n gitlabMergeRequestIid: context.mergeRequest.number,\n ...(context.mergeRequest.createdAt ? { sourceCreatedAt: context.mergeRequest.createdAt } : {}),\n factoryAuthored: context.mergeRequest.factoryAuthored,\n authorTrusted: context.mergeRequest.authorTrusted,\n autoStartCandidate:\n ((trustedGitLabActor(context) && context.mergeRequest.authorTrusted) || context.mergeRequest.factoryAuthored) &&\n createdAfterFactory(context.mergeRequest.createdAt, context.factory.createdAt),\n state: context.mergeRequest.state,\n draft: context.mergeRequest.draft,\n merged: context.mergeRequest.merged,\n assignees: context.mergeRequest.assignees ?? [],\n requestedReviewers: context.mergeRequest.reviewers ?? [],\n labels: context.mergeRequest.labels ?? [],\n labelColors: context.mergeRequest.labelColors ?? {},\n headBranch: context.mergeRequest.headBranch,\n baseBranch: context.mergeRequest.baseBranch,\n ...(context.mergeRequest.author ? { author: context.mergeRequest.author } : {}),\n },\n } as const;\n}\n\nfunction mergeRequestUpdated(context: FactoryGitLabRuleContext) {\n if (!context.item || context.item.source !== 'gitlab-pr' || context.board !== 'review') return;\n if (!context.mergeRequest || context.mergeRequest.state !== 'open' || context.mergeRequest.merged) return;\n if (context.item.stages.some(stage => stage === 'intake')) return;\n // An untrusted push must not start review passes on demand.\n if (!trustedGitLabActor(context) && !context.mergeRequest.factoryAuthored) return;\n const alreadyReviewing = context.item.stages.some(stage => stage === 'review');\n return {\n type: 'transition',\n idempotencyKey: `${context.ingress.id}:re-review-updated`,\n board: 'review',\n stage: 'review',\n ...(alreadyReviewing ? { reenter: true } : {}),\n } as const;\n}\n\nfunction mergeRequestCommented(context: FactoryGitLabRuleContext) {\n if (!context.item || !context.mergeRequest || !context.note || context.board !== 'work') return;\n if (context.mergeRequest.state !== 'open' || context.mergeRequest.merged) return;\n if (context.actor.type === 'gitlab' && context.actor.factoryAuthored) return;\n return {\n type: 'sendMessage',\n idempotencyKey: `${context.ingress.id}:address-merge-request-comment`,\n role: 'work',\n priority: 'high',\n message:\n `${context.note.author ?? 'Someone'} commented on GitLab merge request !${context.mergeRequest.number} ` +\n `(${context.note.url ?? context.mergeRequest.url}). Read the comment, address it if you agree, and push ` +\n 'the fixes to the merge-request branch. Reply in GitLab to anything you are deliberately not changing.',\n } as const;\n}\n\nfunction mergeRequestMerged(context: FactoryGitLabRuleContext) {\n if (!context.item || !context.mergeRequest?.merged) return;\n if (context.board === 'review') {\n return {\n type: 'transition',\n idempotencyKey: `${context.ingress.id}:merge-request-merged`,\n board: 'review',\n stage: 'done',\n message: {\n text: `GitLab merge request !${context.mergeRequest.number} merged; this Review card was moved to Done.`,\n },\n } as const;\n }\n if (context.board !== 'work') return;\n return {\n type: 'sendMessage',\n idempotencyKey: `${context.ingress.id}:assess-work-completion`,\n role: 'work',\n message:\n `GitLab merge request !${context.mergeRequest.number} merged. Assess whether the linked Work item is complete. ` +\n 'Do not mark it Done solely because this merge request merged.',\n } as const;\n}\n\nfunction mergeRequestClosed(context: FactoryGitLabRuleContext) {\n if (!context.item || !context.mergeRequest || context.mergeRequest.merged || context.board !== 'review') return;\n return {\n type: 'transition',\n idempotencyKey: `${context.ingress.id}:merge-request-closed`,\n board: 'review',\n stage: 'canceled',\n message: {\n text:\n `GitLab merge request !${context.mergeRequest.number} was closed without merging; ` +\n 'this Review card was moved to Canceled.',\n },\n } as const;\n}\n\nexport const defaultGitLabRules = Object.freeze({\n issueOpened,\n issueUpdated: retriageIssue,\n issueClosed,\n issueCommented: retriageIssue,\n mergeRequestOpened: materializeMergeRequest,\n mergeRequestUpdated,\n mergeRequestCommented,\n mergeRequestMerged,\n mergeRequestClosed,\n} satisfies GitLabEventRules);\n\nexport function resolveGitLabRules(overrides?: GitLabRuleOverrides): GitLabEventRules {\n if (overrides !== undefined && (overrides === null || typeof overrides !== 'object' || Array.isArray(overrides))) {\n throw new Error('GitLab rules must be an object.');\n }\n const rules: Record<string, FactoryRuleHandler<FactoryGitLabRuleContext> | null> = { ...defaultGitLabRules };\n for (const key of Reflect.ownKeys(overrides ?? {})) {\n if (typeof key !== 'string' || !Object.hasOwn(defaultGitLabRules, key)) {\n throw new Error(`Unknown GitLab rule event: ${String(key)}.`);\n }\n const handler = overrides?.[key as FactoryGitLabEventName];\n if (handler !== undefined && handler !== null && typeof handler !== 'function') {\n throw new Error(`GitLab rule ${key} must be a function, null, or undefined.`);\n }\n if (handler !== undefined) rules[key] = handler;\n }\n return recordExplicitRuleOverrides(Object.freeze(rules) as GitLabEventRules, overrides);\n}\n"],"mappings":";;;AAWA,SAAS,cAAc,SAAsE;CAC3F,OAAO,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,WAAW,KAAA;AACpE;AAEA,SAAS,mBAAmB,SAA2D;CACrF,OAAO,QAAQ,MAAM,SAAS,YAAY,QAAQ,MAAM;AAC1D;AAEA,SAAS,oBAAoB,WAA+B,kBAAmC;CAC7F,IAAI,CAAC,WAAW,OAAO;CACvB,MAAM,kBAAkB,KAAK,MAAM,SAAS;CAC5C,MAAM,mBAAmB,KAAK,MAAM,gBAAgB;CACpD,OAAO,OAAO,SAAS,eAAe,KAAK,OAAO,SAAS,gBAAgB,KAAK,kBAAkB;AACpG;AAEA,SAAS,YAAY,SAAmC;CACtD,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO,QAAQ,QAAQ,SAAS;EAChC,QAAQ;EACR,WAAW,QAAQ,MAAM;EACzB,OAAO,QAAQ,MAAM;EACrB,KAAK,QAAQ,MAAM;EACnB,OAAO,QAAQ,QAAQ,gBAAgB;EACvC,UAAU;GACR,YAAY,QAAQ,WAAW;GAC/B,iBAAiB,QAAQ,WAAW;GACpC,gBAAgB,QAAQ,MAAM;GAC9B,YAAY,GAAG,QAAQ,WAAW,SAAS,GAAG,QAAQ,MAAM;GAC5D,GAAI,QAAQ,MAAM,YAAY,EAAE,iBAAiB,QAAQ,MAAM,UAAU,IAAI,CAAC;GAC9E,GAAK,QAAQ,MAAM,UAAU,cAAc,OAAO,IAC9C,EAAE,QAAQ,QAAQ,MAAM,UAAU,cAAc,OAAO,EAAE,IACzD,CAAC;GACL,eAAe,QAAQ,MAAM;GAC7B,oBACE,mBAAmB,OAAO,KAC1B,QAAQ,MAAM,iBACd,oBAAoB,QAAQ,MAAM,WAAW,QAAQ,QAAQ,SAAS;GACxE,WAAW,QAAQ,MAAM,aAAa,CAAC;GACvC,QAAQ,QAAQ,MAAM,UAAU,CAAC;GACjC,aAAa,QAAQ,MAAM,eAAe,CAAC;EAC7C;CACF;AACF;AAEA,SAAS,cAAc,SAAmC;CACxD,IAAI,CAAC,QAAQ,QAAQ,QAAQ,KAAK,WAAW,kBAAkB,CAAC,QAAQ,KAAK,KAAK;CAClF,IAAI,QAAQ,MAAM,SAAS,YAAY,QAAQ,MAAM,iBAAiB;CAEtE,IAAI,QAAQ,UAAU,QAAQ;CAE9B,MAAM,QAAQ,iBAAiB,QAAQ,KAAK,MAAM;CAClD,IAAI,UAAU,aAAa,UAAU,UAAU;CAE/C,IAAI,2BAA2B,QAAQ,KAAK,MAAM,GAAG;CACrD,MAAM,SAAS,QAAQ,UAAU,mBAAmB,wBAAwB;CAC5E,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,MAAM;EACN,WAAW;EACX,WAAW,2BAA2B,QAAQ,KAAK,IAAI,UAAU,OAAO;CAC1E;AACF;AAEA,SAAS,YAAY,SAAmC;CACtD,IAAI,CAAC,QAAQ,QAAQ,QAAQ,KAAK,WAAW,gBAAgB;CAG7D,MAAM,UAAU,QAAQ;CACxB,IAAI,CAAC,QAAQ,SAAS,CAAC,WAAW,QAAQ,cAAc;CAExD,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO,QAAQ;EACf,OAAO,QAAQ,UAAU;EACzB,SAAS,EACP,MAAM,iBAAiB,QAAQ,OAAO,UAAU,GAAG,oBAAoB,QAAQ,WAAW,qBAAqB,QAAQ,UAAU,MAAM,GACzI;CACF;AACF;AAEA,SAAS,wBAAwB,SAAmC;CAClE,IAAI,CAAC,QAAQ,cAAc;CAC3B,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO;EACP,QAAQ;EACR,WAAW,QAAQ,aAAa;EAChC,OAAO,QAAQ,aAAa;EAC5B,KAAK,QAAQ,aAAa;EAC1B,OAAO;EACP,UAAU;GACR,YAAY,QAAQ,WAAW;GAC/B,iBAAiB,QAAQ,WAAW;GACpC,uBAAuB,QAAQ,aAAa;GAC5C,GAAI,QAAQ,aAAa,YAAY,EAAE,iBAAiB,QAAQ,aAAa,UAAU,IAAI,CAAC;GAC5F,iBAAiB,QAAQ,aAAa;GACtC,eAAe,QAAQ,aAAa;GACpC,qBACI,mBAAmB,OAAO,KAAK,QAAQ,aAAa,iBAAkB,QAAQ,aAAa,oBAC7F,oBAAoB,QAAQ,aAAa,WAAW,QAAQ,QAAQ,SAAS;GAC/E,OAAO,QAAQ,aAAa;GAC5B,OAAO,QAAQ,aAAa;GAC5B,QAAQ,QAAQ,aAAa;GAC7B,WAAW,QAAQ,aAAa,aAAa,CAAC;GAC9C,oBAAoB,QAAQ,aAAa,aAAa,CAAC;GACvD,QAAQ,QAAQ,aAAa,UAAU,CAAC;GACxC,aAAa,QAAQ,aAAa,eAAe,CAAC;GAClD,YAAY,QAAQ,aAAa;GACjC,YAAY,QAAQ,aAAa;GACjC,GAAI,QAAQ,aAAa,SAAS,EAAE,QAAQ,QAAQ,aAAa,OAAO,IAAI,CAAC;EAC/E;CACF;AACF;AAEA,SAAS,oBAAoB,SAAmC;CAC9D,IAAI,CAAC,QAAQ,QAAQ,QAAQ,KAAK,WAAW,eAAe,QAAQ,UAAU,UAAU;CACxF,IAAI,CAAC,QAAQ,gBAAgB,QAAQ,aAAa,UAAU,UAAU,QAAQ,aAAa,QAAQ;CACnG,IAAI,QAAQ,KAAK,OAAO,MAAK,UAAS,UAAU,QAAQ,GAAG;CAE3D,IAAI,CAAC,mBAAmB,OAAO,KAAK,CAAC,QAAQ,aAAa,iBAAiB;CAC3E,MAAM,mBAAmB,QAAQ,KAAK,OAAO,MAAK,UAAS,UAAU,QAAQ;CAC7E,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO;EACP,OAAO;EACP,GAAI,mBAAmB,EAAE,SAAS,KAAK,IAAI,CAAC;CAC9C;AACF;AAEA,SAAS,sBAAsB,SAAmC;CAChE,IAAI,CAAC,QAAQ,QAAQ,CAAC,QAAQ,gBAAgB,CAAC,QAAQ,QAAQ,QAAQ,UAAU,QAAQ;CACzF,IAAI,QAAQ,aAAa,UAAU,UAAU,QAAQ,aAAa,QAAQ;CAC1E,IAAI,QAAQ,MAAM,SAAS,YAAY,QAAQ,MAAM,iBAAiB;CACtE,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,MAAM;EACN,UAAU;EACV,SACE,GAAG,QAAQ,KAAK,UAAU,UAAU,sCAAsC,QAAQ,aAAa,OAAO,IAClG,QAAQ,KAAK,OAAO,QAAQ,aAAa,IAAI;CAErD;AACF;AAEA,SAAS,mBAAmB,SAAmC;CAC7D,IAAI,CAAC,QAAQ,QAAQ,CAAC,QAAQ,cAAc,QAAQ;CACpD,IAAI,QAAQ,UAAU,UACpB,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO;EACP,OAAO;EACP,SAAS,EACP,MAAM,yBAAyB,QAAQ,aAAa,OAAO,8CAC7D;CACF;CAEF,IAAI,QAAQ,UAAU,QAAQ;CAC9B,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,MAAM;EACN,SACE,yBAAyB,QAAQ,aAAa,OAAO;CAEzD;AACF;AAEA,SAAS,mBAAmB,SAAmC;CAC7D,IAAI,CAAC,QAAQ,QAAQ,CAAC,QAAQ,gBAAgB,QAAQ,aAAa,UAAU,QAAQ,UAAU,UAAU;CACzG,OAAO;EACL,MAAM;EACN,gBAAgB,GAAG,QAAQ,QAAQ,GAAG;EACtC,OAAO;EACP,OAAO;EACP,SAAS,EACP,MACE,yBAAyB,QAAQ,aAAa,OAAO,sEAEzD;CACF;AACF;AAEA,MAAa,qBAAqB,OAAO,OAAO;CAC9C;CACA,cAAc;CACd;CACA,gBAAgB;CAChB,oBAAoB;CACpB;CACA;CACA;CACA;AACF,CAA4B;AAE5B,SAAgB,mBAAmB,WAAmD;CACpF,IAAI,cAAc,KAAA,MAAc,cAAc,QAAQ,OAAO,cAAc,YAAY,MAAM,QAAQ,SAAS,IAC5G,MAAM,IAAI,MAAM,iCAAiC;CAEnD,MAAM,QAA6E,EAAE,GAAG,mBAAmB;CAC3G,KAAK,MAAM,OAAO,QAAQ,QAAQ,aAAa,CAAC,CAAC,GAAG;EAClD,IAAI,OAAO,QAAQ,YAAY,CAAC,OAAO,OAAO,oBAAoB,GAAG,GACnE,MAAM,IAAI,MAAM,8BAA8B,OAAO,GAAG,EAAE,EAAE;EAE9D,MAAM,UAAU,YAAY;EAC5B,IAAI,YAAY,KAAA,KAAa,YAAY,QAAQ,OAAO,YAAY,YAClE,MAAM,IAAI,MAAM,eAAe,IAAI,yCAAyC;EAE9E,IAAI,YAAY,KAAA,GAAW,MAAM,OAAO;CAC1C;CACA,OAAO,4BAA4B,OAAO,OAAO,KAAK,GAAuB,SAAS;AACxF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { RequestContext } from '@mastra/core/request-context';
|
|
2
|
+
import type { ApiRoute } from '@mastra/core/server';
|
|
3
|
+
import type { MastraWorker } from '@mastra/core/worker';
|
|
4
|
+
import type { IntegrationConnection } from '../../capabilities/connection.js';
|
|
5
|
+
import type { Intake, IntakeIssueDetail } from '../../capabilities/intake.js';
|
|
6
|
+
import type { RouteAuth } from '../../routes/route.js';
|
|
7
|
+
import type { IntegrationStorageHandle } from '../../storage/domains/integrations/base.js';
|
|
8
|
+
import type { FactoryProjectsStorage } from '../../storage/domains/projects/base.js';
|
|
9
|
+
import type { SourceControlStorageHandle } from '../../storage/domains/source-control/base.js';
|
|
10
|
+
import type { FactoryIntegration, IntegrationContext, IntegrationTools } from '../base.js';
|
|
11
|
+
import { GitLabApiClient } from './api.js';
|
|
12
|
+
import type { GitLabEventRules, GitLabRuleOverrides } from './default-rules.js';
|
|
13
|
+
import type { GitLabSubscriptionStorage } from './subscriptions.js';
|
|
14
|
+
interface GitLabConnectionContext {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string | null;
|
|
17
|
+
api: GitLabApiClient;
|
|
18
|
+
connection: IntegrationConnection;
|
|
19
|
+
host: string;
|
|
20
|
+
webBaseUrl?: string;
|
|
21
|
+
/** Resolves a fresh provider token for a single brokered git operation. */
|
|
22
|
+
repositoryAccessToken?: () => Promise<string>;
|
|
23
|
+
}
|
|
24
|
+
interface GitLabSourceReference {
|
|
25
|
+
/** Present only on legacy v1 ids; authentication is not resource identity. */
|
|
26
|
+
connectionId?: string;
|
|
27
|
+
/** Canonical v2 ids use the GitLab instance host plus immutable project id. */
|
|
28
|
+
host?: string;
|
|
29
|
+
projectId: string;
|
|
30
|
+
/** Legacy ids carry display metadata; v2 resolves it from GitLab. */
|
|
31
|
+
projectPath?: string;
|
|
32
|
+
}
|
|
33
|
+
interface GitLabIssueReference extends GitLabSourceReference {
|
|
34
|
+
issueIid: number;
|
|
35
|
+
}
|
|
36
|
+
export interface GitLabMergeRequestReference {
|
|
37
|
+
version: 1;
|
|
38
|
+
host: string;
|
|
39
|
+
projectId: number;
|
|
40
|
+
mergeRequestIid: number;
|
|
41
|
+
}
|
|
42
|
+
export interface GitLabStatusConnection {
|
|
43
|
+
id: string;
|
|
44
|
+
integrationId: string;
|
|
45
|
+
status: 'active' | 'needs_reauth';
|
|
46
|
+
accountLabel: string | null;
|
|
47
|
+
}
|
|
48
|
+
export declare const GITLAB_TRUSTED_ACCESS_LEVEL = 30;
|
|
49
|
+
export declare abstract class GitLabIntegrationBase implements FactoryIntegration {
|
|
50
|
+
#private;
|
|
51
|
+
readonly id = "gitlab";
|
|
52
|
+
readonly rules: GitLabEventRules;
|
|
53
|
+
constructor(rules?: GitLabRuleOverrides);
|
|
54
|
+
readonly intake: Intake;
|
|
55
|
+
readonly versionControl: import("../../capabilities/version-control.js").VersionControl;
|
|
56
|
+
initialize({ storage, projects, auth, sourceControl, }: {
|
|
57
|
+
storage?: IntegrationStorageHandle;
|
|
58
|
+
projects: FactoryProjectsStorage;
|
|
59
|
+
auth: RouteAuth;
|
|
60
|
+
sourceControl?: SourceControlStorageHandle;
|
|
61
|
+
}): void;
|
|
62
|
+
/** Generic integration persistence (merge-request subscriptions). */
|
|
63
|
+
get integrationStorage(): GitLabSubscriptionStorage;
|
|
64
|
+
/** Source-control rows for this integration; absent when the host runs without them. */
|
|
65
|
+
get sourceControlStorage(): SourceControlStorageHandle | undefined;
|
|
66
|
+
get authEnabled(): boolean;
|
|
67
|
+
get projects(): FactoryProjectsStorage;
|
|
68
|
+
resolveOrgId(resourceId: string): Promise<string | null>;
|
|
69
|
+
clearCaches(): void;
|
|
70
|
+
abstract hasActiveConnections(): Promise<boolean>;
|
|
71
|
+
abstract authFailureMessage(): string;
|
|
72
|
+
protected abstract activeContexts(): Promise<GitLabConnectionContext[]>;
|
|
73
|
+
protected abstract contextById(connectionId: string): Promise<GitLabConnectionContext>;
|
|
74
|
+
/** Resolve only a GitLab repository linked to this Factory in this organization. */
|
|
75
|
+
getLinkedRepository(input: {
|
|
76
|
+
orgId: string;
|
|
77
|
+
factoryProjectId: string;
|
|
78
|
+
projectRepositoryId: string;
|
|
79
|
+
}): Promise<{
|
|
80
|
+
repository: import("../../storage/domains/source-control/base.js").SourceControlRepository;
|
|
81
|
+
host: string;
|
|
82
|
+
} | null>;
|
|
83
|
+
getProjectMemberAccessLevel(connectionId: string, projectId: string, username: string): Promise<number | undefined>;
|
|
84
|
+
getWorkItemAuthorUsername(connectionId: string, projectId: string, kind: 'issue' | 'merge_request', iid: number): Promise<string | undefined>;
|
|
85
|
+
isProjectMemberTrustedForSource(sourceId: string, username: string): Promise<boolean>;
|
|
86
|
+
getIssueForFactoryProject(input: {
|
|
87
|
+
orgId: string;
|
|
88
|
+
factoryProjectId: string;
|
|
89
|
+
issueId: string;
|
|
90
|
+
}): Promise<IntakeIssueDetail | null>;
|
|
91
|
+
/** Platform mode exposes org connections; direct mode returns undefined. */
|
|
92
|
+
statusConnections(): Promise<GitLabStatusConnection[] | undefined>;
|
|
93
|
+
/** Direct mode verifies its configured credential; Platform mode uses connection status. */
|
|
94
|
+
verifyStatus(): Promise<void>;
|
|
95
|
+
protected get webhookSecret(): string | undefined;
|
|
96
|
+
workers(ctx: IntegrationContext): MastraWorker[];
|
|
97
|
+
routes(ctx: IntegrationContext): ApiRoute[];
|
|
98
|
+
agentTools(args: {
|
|
99
|
+
requestContext: RequestContext;
|
|
100
|
+
}): Promise<IntegrationTools>;
|
|
101
|
+
sessionTools({ requestContext }: {
|
|
102
|
+
requestContext: RequestContext;
|
|
103
|
+
}): IntegrationTools;
|
|
104
|
+
postToolObserver({ toolContext, requestContext, }: Parameters<NonNullable<FactoryIntegration['postToolObserver']>>[0]): Promise<void>;
|
|
105
|
+
abstract diagnostics(): Record<string, unknown>;
|
|
106
|
+
/** Prefer the configured direct token over an older Platform installation on the same host. */
|
|
107
|
+
resolveActiveConnectionForHost(storedConnectionId: string, host: string): Promise<string>;
|
|
108
|
+
}
|
|
109
|
+
export type GitLabAccessTokenType = 'personal' | 'group';
|
|
110
|
+
export interface GitLabIntegrationConfig {
|
|
111
|
+
rules?: GitLabRuleOverrides;
|
|
112
|
+
accessToken?: string;
|
|
113
|
+
/** Defaults to `personal`; both token types authenticate identically but have different resource reach. */
|
|
114
|
+
accessTokenType?: GitLabAccessTokenType;
|
|
115
|
+
baseUrl?: string;
|
|
116
|
+
webhookSecret?: string;
|
|
117
|
+
fetchImpl?: typeof fetch;
|
|
118
|
+
}
|
|
119
|
+
export declare class GitLabIntegration extends GitLabIntegrationBase {
|
|
120
|
+
#private;
|
|
121
|
+
constructor(config?: GitLabIntegrationConfig);
|
|
122
|
+
protected get webhookSecret(): string | undefined;
|
|
123
|
+
hasActiveConnections(): Promise<boolean>;
|
|
124
|
+
verifyStatus(): Promise<void>;
|
|
125
|
+
authFailureMessage(): string;
|
|
126
|
+
protected activeContexts(): Promise<GitLabConnectionContext[]>;
|
|
127
|
+
protected contextById(connectionId: string): Promise<GitLabConnectionContext>;
|
|
128
|
+
diagnostics(): Record<string, unknown>;
|
|
129
|
+
}
|
|
130
|
+
export declare function encodeSourceId(reference: GitLabSourceReference): string;
|
|
131
|
+
export declare function decodeSourceId(value: string): GitLabSourceReference | null;
|
|
132
|
+
export declare function encodeIssueReference(reference: GitLabIssueReference): string;
|
|
133
|
+
export declare function decodeIssueReference(value: string): GitLabIssueReference | null;
|
|
134
|
+
export declare function decodeMergeRequestReference(value: string): GitLabMergeRequestReference | null;
|
|
135
|
+
export declare function gitlabConnection(connectionId: string): IntegrationConnection;
|
|
136
|
+
export declare function normalizeGitLabHost(host: string): string;
|
|
137
|
+
export {};
|
|
138
|
+
//# sourceMappingURL=integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/integrations/gitlab/integration.ts"],"names":[],"mappings":"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"}
|