@bosun-sh/logbook 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +139 -0
- package/README.md +248 -318
- package/bin/logbook.cjs +18 -0
- package/dist/context/attachments.d.ts +55 -0
- package/dist/context/attachments.d.ts.map +1 -0
- package/dist/context/attachments.js +329 -0
- package/dist/context/attachments.js.map +1 -0
- package/dist/context/create.d.ts +31 -0
- package/dist/context/create.d.ts.map +1 -0
- package/dist/context/create.js +101 -0
- package/dist/context/create.js.map +1 -0
- package/dist/context/delete.d.ts +20 -0
- package/dist/context/delete.d.ts.map +1 -0
- package/dist/context/delete.js +55 -0
- package/dist/context/delete.js.map +1 -0
- package/dist/context/get.d.ts +20 -0
- package/dist/context/get.d.ts.map +1 -0
- package/dist/context/get.js +55 -0
- package/dist/context/get.js.map +1 -0
- package/dist/context/list.d.ts +30 -0
- package/dist/context/list.d.ts.map +1 -0
- package/dist/context/list.js +172 -0
- package/dist/context/list.js.map +1 -0
- package/dist/context/schema.d.ts +156 -0
- package/dist/context/schema.d.ts.map +1 -0
- package/dist/context/schema.js +34 -0
- package/dist/context/schema.js.map +1 -0
- package/dist/context/search.d.ts +27 -0
- package/dist/context/search.d.ts.map +1 -0
- package/dist/context/search.js +266 -0
- package/dist/context/search.js.map +1 -0
- package/dist/context/topics.d.ts +4 -0
- package/dist/context/topics.d.ts.map +1 -0
- package/dist/context/topics.js +54 -0
- package/dist/context/topics.js.map +1 -0
- package/dist/context/update.d.ts +29 -0
- package/dist/context/update.d.ts.map +1 -0
- package/dist/context/update.js +134 -0
- package/dist/context/update.js.map +1 -0
- package/dist/epic/cascade-delete.d.ts +30 -0
- package/dist/epic/cascade-delete.d.ts.map +1 -0
- package/dist/epic/cascade-delete.js +173 -0
- package/dist/epic/cascade-delete.js.map +1 -0
- package/dist/epic/create.d.ts +24 -0
- package/dist/epic/create.d.ts.map +1 -0
- package/dist/epic/create.js +54 -0
- package/dist/epic/create.js.map +1 -0
- package/dist/epic/delete.d.ts +21 -0
- package/dist/epic/delete.d.ts.map +1 -0
- package/dist/epic/delete.js +42 -0
- package/dist/epic/delete.js.map +1 -0
- package/dist/epic/get.d.ts +19 -0
- package/dist/epic/get.d.ts.map +1 -0
- package/dist/epic/get.js +31 -0
- package/dist/epic/get.js.map +1 -0
- package/dist/epic/list.d.ts +25 -0
- package/dist/epic/list.d.ts.map +1 -0
- package/dist/epic/list.js +114 -0
- package/dist/epic/list.js.map +1 -0
- package/dist/epic/rules.d.ts +34 -0
- package/dist/epic/rules.d.ts.map +1 -0
- package/dist/epic/rules.js +127 -0
- package/dist/epic/rules.js.map +1 -0
- package/dist/epic/schema.d.ts +85 -0
- package/dist/epic/schema.d.ts.map +1 -0
- package/dist/epic/schema.js +14 -0
- package/dist/epic/schema.js.map +1 -0
- package/dist/epic/update.d.ts +25 -0
- package/dist/epic/update.d.ts.map +1 -0
- package/dist/epic/update.js +69 -0
- package/dist/epic/update.js.map +1 -0
- package/dist/hook/list.d.ts +71 -0
- package/dist/hook/list.d.ts.map +1 -0
- package/dist/hook/list.js +364 -0
- package/dist/hook/list.js.map +1 -0
- package/dist/hook/ports.d.ts +16 -0
- package/dist/hook/ports.d.ts.map +1 -0
- package/dist/hook/ports.js +3 -0
- package/dist/hook/ports.js.map +1 -0
- package/dist/hook/run.d.ts +24 -0
- package/dist/hook/run.d.ts.map +1 -0
- package/dist/hook/run.js +185 -0
- package/dist/hook/run.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin/hook-tools.d.ts +8 -0
- package/dist/plugin/hook-tools.d.ts.map +1 -0
- package/dist/plugin/hook-tools.js +31 -0
- package/dist/plugin/hook-tools.js.map +1 -0
- package/dist/plugin/linear-pull-tool.d.ts +20 -0
- package/dist/plugin/linear-pull-tool.d.ts.map +1 -0
- package/dist/plugin/linear-pull-tool.js +19 -0
- package/dist/plugin/linear-pull-tool.js.map +1 -0
- package/dist/plugin/linear-push-tool.d.ts +20 -0
- package/dist/plugin/linear-push-tool.d.ts.map +1 -0
- package/dist/plugin/linear-push-tool.js +27 -0
- package/dist/plugin/linear-push-tool.js.map +1 -0
- package/dist/plugin/linear-setup-tool.d.ts +2 -0
- package/dist/plugin/linear-setup-tool.d.ts.map +1 -0
- package/dist/plugin/linear-setup-tool.js +22 -0
- package/dist/plugin/linear-setup-tool.js.map +1 -0
- package/dist/plugin/linear-status-tool.d.ts +10 -0
- package/dist/plugin/linear-status-tool.d.ts.map +1 -0
- package/dist/plugin/linear-status-tool.js +10 -0
- package/dist/plugin/linear-status-tool.js.map +1 -0
- package/dist/plugin/list.d.ts +15 -0
- package/dist/plugin/list.d.ts.map +1 -0
- package/dist/plugin/list.js +87 -0
- package/dist/plugin/list.js.map +1 -0
- package/dist/plugin/public-schemas.d.ts +42 -0
- package/dist/plugin/public-schemas.d.ts.map +1 -0
- package/dist/plugin/public-schemas.js +577 -0
- package/dist/plugin/public-schemas.js.map +1 -0
- package/dist/plugin/registry.d.ts +3 -0
- package/dist/plugin/registry.d.ts.map +1 -0
- package/dist/plugin/registry.js +3 -0
- package/dist/plugin/registry.js.map +1 -0
- package/dist/plugin/results.d.ts +8 -0
- package/dist/plugin/results.d.ts.map +1 -0
- package/dist/plugin/results.js +114 -0
- package/dist/plugin/results.js.map +1 -0
- package/dist/plugin/sync-conflict-tools.d.ts +2 -0
- package/dist/plugin/sync-conflict-tools.d.ts.map +1 -0
- package/dist/plugin/sync-conflict-tools.js +5 -0
- package/dist/plugin/sync-conflict-tools.js.map +1 -0
- package/dist/plugin/tool-registry.d.ts +23 -0
- package/dist/plugin/tool-registry.d.ts.map +1 -0
- package/dist/plugin/tool-registry.js +251 -0
- package/dist/plugin/tool-registry.js.map +1 -0
- package/dist/plugin/workspace-init-tool.d.ts +2 -0
- package/dist/plugin/workspace-init-tool.d.ts.map +1 -0
- package/dist/plugin/workspace-init-tool.js +16 -0
- package/dist/plugin/workspace-init-tool.js.map +1 -0
- package/dist/plugin/workspace-status-tool.d.ts +2 -0
- package/dist/plugin/workspace-status-tool.d.ts.map +1 -0
- package/dist/plugin/workspace-status-tool.js +15 -0
- package/dist/plugin/workspace-status-tool.js.map +1 -0
- package/dist/shared/ids.d.ts +3 -0
- package/dist/shared/ids.d.ts.map +1 -0
- package/dist/shared/ids.js +15 -0
- package/dist/shared/ids.js.map +1 -0
- package/dist/shared/pagination.d.ts +19 -0
- package/dist/shared/pagination.d.ts.map +1 -0
- package/dist/shared/pagination.js +110 -0
- package/dist/shared/pagination.js.map +1 -0
- package/dist/shared/result.d.ts +20 -0
- package/dist/shared/result.d.ts.map +1 -0
- package/dist/shared/result.js +6 -0
- package/dist/shared/result.js.map +1 -0
- package/dist/shared/schema/value-objects.d.ts +363 -0
- package/dist/shared/schema/value-objects.d.ts.map +1 -0
- package/dist/shared/schema/value-objects.js +112 -0
- package/dist/shared/schema/value-objects.js.map +1 -0
- package/dist/shared/storage/atomic-write.d.ts +25 -0
- package/dist/shared/storage/atomic-write.d.ts.map +1 -0
- package/dist/shared/storage/atomic-write.js +71 -0
- package/dist/shared/storage/atomic-write.js.map +1 -0
- package/dist/shared/storage/jsonl-repository.d.ts +85 -0
- package/dist/shared/storage/jsonl-repository.d.ts.map +1 -0
- package/dist/shared/storage/jsonl-repository.js +278 -0
- package/dist/shared/storage/jsonl-repository.js.map +1 -0
- package/dist/shared/storage/transaction.d.ts +3 -0
- package/dist/shared/storage/transaction.d.ts.map +1 -0
- package/dist/shared/storage/transaction.js +22 -0
- package/dist/shared/storage/transaction.js.map +1 -0
- package/dist/shared/time.d.ts +3 -0
- package/dist/shared/time.d.ts.map +1 -0
- package/dist/shared/time.js +3 -0
- package/dist/shared/time.js.map +1 -0
- package/dist/story/cascade-delete.d.ts +22 -0
- package/dist/story/cascade-delete.d.ts.map +1 -0
- package/dist/story/cascade-delete.js +117 -0
- package/dist/story/cascade-delete.js.map +1 -0
- package/dist/story/create.d.ts +30 -0
- package/dist/story/create.d.ts.map +1 -0
- package/dist/story/create.js +69 -0
- package/dist/story/create.js.map +1 -0
- package/dist/story/delete.d.ts +21 -0
- package/dist/story/delete.d.ts.map +1 -0
- package/dist/story/delete.js +42 -0
- package/dist/story/delete.js.map +1 -0
- package/dist/story/get.d.ts +19 -0
- package/dist/story/get.d.ts.map +1 -0
- package/dist/story/get.js +31 -0
- package/dist/story/get.js.map +1 -0
- package/dist/story/hierarchy.d.ts +20 -0
- package/dist/story/hierarchy.d.ts.map +1 -0
- package/dist/story/hierarchy.js +30 -0
- package/dist/story/hierarchy.js.map +1 -0
- package/dist/story/list.d.ts +25 -0
- package/dist/story/list.d.ts.map +1 -0
- package/dist/story/list.js +118 -0
- package/dist/story/list.js.map +1 -0
- package/dist/story/rules.d.ts +34 -0
- package/dist/story/rules.d.ts.map +1 -0
- package/dist/story/rules.js +100 -0
- package/dist/story/rules.js.map +1 -0
- package/dist/story/schema.d.ts +65 -0
- package/dist/story/schema.d.ts.map +1 -0
- package/dist/story/schema.js +14 -0
- package/dist/story/schema.js.map +1 -0
- package/dist/story/update.d.ts +23 -0
- package/dist/story/update.d.ts.map +1 -0
- package/dist/story/update.js +67 -0
- package/dist/story/update.js.map +1 -0
- package/dist/sync/base-snapshot.d.ts +38 -0
- package/dist/sync/base-snapshot.d.ts.map +1 -0
- package/dist/sync/base-snapshot.js +86 -0
- package/dist/sync/base-snapshot.js.map +1 -0
- package/dist/sync/conflict-tools.d.ts +75 -0
- package/dist/sync/conflict-tools.d.ts.map +1 -0
- package/dist/sync/conflict-tools.js +53 -0
- package/dist/sync/conflict-tools.js.map +1 -0
- package/dist/sync/conflicts.d.ts +201 -0
- package/dist/sync/conflicts.d.ts.map +1 -0
- package/dist/sync/conflicts.js +526 -0
- package/dist/sync/conflicts.js.map +1 -0
- package/dist/sync/deferred-providers.d.ts +2 -0
- package/dist/sync/deferred-providers.d.ts.map +1 -0
- package/dist/sync/deferred-providers.js +6 -0
- package/dist/sync/deferred-providers.js.map +1 -0
- package/dist/sync/events.d.ts +401 -0
- package/dist/sync/events.d.ts.map +1 -0
- package/dist/sync/events.js +357 -0
- package/dist/sync/events.js.map +1 -0
- package/dist/sync/external-links.d.ts +154 -0
- package/dist/sync/external-links.d.ts.map +1 -0
- package/dist/sync/external-links.js +306 -0
- package/dist/sync/external-links.js.map +1 -0
- package/dist/sync/linear/config.d.ts +60 -0
- package/dist/sync/linear/config.d.ts.map +1 -0
- package/dist/sync/linear/config.js +302 -0
- package/dist/sync/linear/config.js.map +1 -0
- package/dist/sync/linear/mapping.d.ts +115 -0
- package/dist/sync/linear/mapping.d.ts.map +1 -0
- package/dist/sync/linear/mapping.js +159 -0
- package/dist/sync/linear/mapping.js.map +1 -0
- package/dist/sync/linear/pull.d.ts +33 -0
- package/dist/sync/linear/pull.d.ts.map +1 -0
- package/dist/sync/linear/pull.js +376 -0
- package/dist/sync/linear/pull.js.map +1 -0
- package/dist/sync/linear/push.d.ts +34 -0
- package/dist/sync/linear/push.d.ts.map +1 -0
- package/dist/sync/linear/push.js +681 -0
- package/dist/sync/linear/push.js.map +1 -0
- package/dist/sync/linear/setup.d.ts +33 -0
- package/dist/sync/linear/setup.d.ts.map +1 -0
- package/dist/sync/linear/setup.js +129 -0
- package/dist/sync/linear/setup.js.map +1 -0
- package/dist/sync/linear/status.d.ts +35 -0
- package/dist/sync/linear/status.d.ts.map +1 -0
- package/dist/sync/linear/status.js +138 -0
- package/dist/sync/linear/status.js.map +1 -0
- package/dist/sync/linear/transport.d.ts +47 -0
- package/dist/sync/linear/transport.d.ts.map +1 -0
- package/dist/sync/linear/transport.js +249 -0
- package/dist/sync/linear/transport.js.map +1 -0
- package/dist/sync/provider-port.d.ts +81 -0
- package/dist/sync/provider-port.d.ts.map +1 -0
- package/dist/sync/provider-port.js +16 -0
- package/dist/sync/provider-port.js.map +1 -0
- package/dist/sync/provider-registry.d.ts +38 -0
- package/dist/sync/provider-registry.d.ts.map +1 -0
- package/dist/sync/provider-registry.js +115 -0
- package/dist/sync/provider-registry.js.map +1 -0
- package/dist/sync/schema.d.ts +147 -0
- package/dist/sync/schema.d.ts.map +1 -0
- package/dist/sync/schema.js +28 -0
- package/dist/sync/schema.js.map +1 -0
- package/dist/task/comments.d.ts +9 -0
- package/dist/task/comments.d.ts.map +1 -0
- package/dist/task/comments.js +79 -0
- package/dist/task/comments.js.map +1 -0
- package/dist/task/create.d.ts +34 -0
- package/dist/task/create.d.ts.map +1 -0
- package/dist/task/create.js +126 -0
- package/dist/task/create.js.map +1 -0
- package/dist/task/current.d.ts +18 -0
- package/dist/task/current.d.ts.map +1 -0
- package/dist/task/current.js +105 -0
- package/dist/task/current.js.map +1 -0
- package/dist/task/edit.d.ts +22 -0
- package/dist/task/edit.d.ts.map +1 -0
- package/dist/task/edit.js +105 -0
- package/dist/task/edit.js.map +1 -0
- package/dist/task/estimate.d.ts +20 -0
- package/dist/task/estimate.d.ts.map +1 -0
- package/dist/task/estimate.js +141 -0
- package/dist/task/estimate.js.map +1 -0
- package/dist/task/get.d.ts +13 -0
- package/dist/task/get.d.ts.map +1 -0
- package/dist/task/get.js +29 -0
- package/dist/task/get.js.map +1 -0
- package/dist/task/hierarchy.d.ts +18 -0
- package/dist/task/hierarchy.d.ts.map +1 -0
- package/dist/task/hierarchy.js +56 -0
- package/dist/task/hierarchy.js.map +1 -0
- package/dist/task/lifecycle.d.ts +14 -0
- package/dist/task/lifecycle.d.ts.map +1 -0
- package/dist/task/lifecycle.js +80 -0
- package/dist/task/lifecycle.js.map +1 -0
- package/dist/task/list.d.ts +24 -0
- package/dist/task/list.d.ts.map +1 -0
- package/dist/task/list.js +116 -0
- package/dist/task/list.js.map +1 -0
- package/dist/task/model-assignment.d.ts +33 -0
- package/dist/task/model-assignment.d.ts.map +1 -0
- package/dist/task/model-assignment.js +145 -0
- package/dist/task/model-assignment.js.map +1 -0
- package/dist/task/ordering.d.ts +4 -0
- package/dist/task/ordering.d.ts.map +1 -0
- package/dist/task/ordering.js +14 -0
- package/dist/task/ordering.js.map +1 -0
- package/dist/task/ports.d.ts +37 -0
- package/dist/task/ports.d.ts.map +1 -0
- package/dist/task/ports.js +3 -0
- package/dist/task/ports.js.map +1 -0
- package/dist/task/schema.d.ts +447 -0
- package/dist/task/schema.d.ts.map +1 -0
- package/dist/task/schema.js +35 -0
- package/dist/task/schema.js.map +1 -0
- package/dist/task/session-assignment.d.ts +23 -0
- package/dist/task/session-assignment.d.ts.map +1 -0
- package/dist/task/session-assignment.js +197 -0
- package/dist/task/session-assignment.js.map +1 -0
- package/dist/task/session-registry.d.ts +8 -0
- package/dist/task/session-registry.d.ts.map +1 -0
- package/dist/task/session-registry.js +3 -0
- package/dist/task/session-registry.js.map +1 -0
- package/dist/task/update.d.ts +23 -0
- package/dist/task/update.d.ts.map +1 -0
- package/dist/task/update.js +92 -0
- package/dist/task/update.js.map +1 -0
- package/dist/task/v1-compat.d.ts +94 -0
- package/dist/task/v1-compat.d.ts.map +1 -0
- package/dist/task/v1-compat.js +181 -0
- package/dist/task/v1-compat.js.map +1 -0
- package/dist/workspace/bin-cli.d.ts +2 -0
- package/dist/workspace/bin-cli.d.ts.map +1 -0
- package/dist/workspace/bin-cli.js +36 -0
- package/dist/workspace/bin-cli.js.map +1 -0
- package/dist/workspace/cli-adapter.d.ts +16 -0
- package/dist/workspace/cli-adapter.d.ts.map +1 -0
- package/dist/workspace/cli-adapter.js +229 -0
- package/dist/workspace/cli-adapter.js.map +1 -0
- package/dist/workspace/cli-commands.d.ts +11 -0
- package/dist/workspace/cli-commands.d.ts.map +1 -0
- package/dist/workspace/cli-commands.js +12 -0
- package/dist/workspace/cli-commands.js.map +1 -0
- package/dist/workspace/duckdb-index.d.ts +56 -0
- package/dist/workspace/duckdb-index.d.ts.map +1 -0
- package/dist/workspace/duckdb-index.js +178 -0
- package/dist/workspace/duckdb-index.js.map +1 -0
- package/dist/workspace/hook-templates/need-info-notify/config.json +10 -0
- package/dist/workspace/hook-templates/need-info-notify/script.mjs +68 -0
- package/dist/workspace/hook-templates/review-spawn/config.json +10 -0
- package/dist/workspace/hook-templates/review-spawn/script.mjs +100 -0
- package/dist/workspace/init-onboarding.d.ts +9 -0
- package/dist/workspace/init-onboarding.d.ts.map +1 -0
- package/dist/workspace/init-onboarding.js +259 -0
- package/dist/workspace/init-onboarding.js.map +1 -0
- package/dist/workspace/init.d.ts +20 -0
- package/dist/workspace/init.d.ts.map +1 -0
- package/dist/workspace/init.js +288 -0
- package/dist/workspace/init.js.map +1 -0
- package/dist/workspace/layers.d.ts +127 -0
- package/dist/workspace/layers.d.ts.map +1 -0
- package/dist/workspace/layers.js +50 -0
- package/dist/workspace/layers.js.map +1 -0
- package/dist/workspace/mcp-server.d.ts +28 -0
- package/dist/workspace/mcp-server.d.ts.map +1 -0
- package/dist/workspace/mcp-server.js +190 -0
- package/dist/workspace/mcp-server.js.map +1 -0
- package/dist/workspace/mcp-stdio.d.ts +2 -0
- package/dist/workspace/mcp-stdio.d.ts.map +1 -0
- package/dist/workspace/mcp-stdio.js +66 -0
- package/dist/workspace/mcp-stdio.js.map +1 -0
- package/dist/workspace/mcp-tools.d.ts +24 -0
- package/dist/workspace/mcp-tools.d.ts.map +1 -0
- package/dist/workspace/mcp-tools.js +43 -0
- package/dist/workspace/mcp-tools.js.map +1 -0
- package/dist/workspace/migrate-v1.d.ts +12 -0
- package/dist/workspace/migrate-v1.d.ts.map +1 -0
- package/dist/workspace/migrate-v1.js +301 -0
- package/dist/workspace/migrate-v1.js.map +1 -0
- package/dist/workspace/ohtools-app.d.ts +3 -0
- package/dist/workspace/ohtools-app.d.ts.map +1 -0
- package/dist/workspace/ohtools-app.js +10 -0
- package/dist/workspace/ohtools-app.js.map +1 -0
- package/dist/workspace/repositories.d.ts +25 -0
- package/dist/workspace/repositories.d.ts.map +1 -0
- package/dist/workspace/repositories.js +76 -0
- package/dist/workspace/repositories.js.map +1 -0
- package/dist/workspace/runtime.d.ts +123 -0
- package/dist/workspace/runtime.d.ts.map +1 -0
- package/dist/workspace/runtime.js +4 -0
- package/dist/workspace/runtime.js.map +1 -0
- package/dist/workspace/session-liveness.d.ts +6 -0
- package/dist/workspace/session-liveness.d.ts.map +1 -0
- package/dist/workspace/session-liveness.js +3 -0
- package/dist/workspace/session-liveness.js.map +1 -0
- package/dist/workspace/status.d.ts +46 -0
- package/dist/workspace/status.d.ts.map +1 -0
- package/dist/workspace/status.js +345 -0
- package/dist/workspace/status.js.map +1 -0
- package/dist/workspace/storage-layout.d.ts +19 -0
- package/dist/workspace/storage-layout.d.ts.map +1 -0
- package/dist/workspace/storage-layout.js +55 -0
- package/dist/workspace/storage-layout.js.map +1 -0
- package/dist/workspace/storage-paths.d.ts +16 -0
- package/dist/workspace/storage-paths.d.ts.map +1 -0
- package/dist/workspace/storage-paths.js +15 -0
- package/dist/workspace/storage-paths.js.map +1 -0
- package/dist/workspace/v1-cli-aliases.d.ts +18 -0
- package/dist/workspace/v1-cli-aliases.d.ts.map +1 -0
- package/dist/workspace/v1-cli-aliases.js +223 -0
- package/dist/workspace/v1-cli-aliases.js.map +1 -0
- package/dist/workspace/v1-cli-task.d.ts +2 -0
- package/dist/workspace/v1-cli-task.d.ts.map +1 -0
- package/dist/workspace/v1-cli-task.js +53 -0
- package/dist/workspace/v1-cli-task.js.map +1 -0
- package/package.json +28 -12
- package/quickstart.md +163 -0
- package/hooks/need-info-notify/config.yml +0 -3
- package/hooks/need-info-notify/script.ts +0 -69
- package/hooks/review-spawn/config.yml +0 -3
- package/hooks/review-spawn/script.ts +0 -96
- package/src/cli/cli.ts +0 -489
- package/src/cli/init.ts +0 -230
- package/src/domain/fibonacci.ts +0 -39
- package/src/domain/kTokens.ts +0 -65
- package/src/domain/status-machine.ts +0 -49
- package/src/domain/types.ts +0 -66
- package/src/hook/hook-executor.ts +0 -70
- package/src/hook/ports.ts +0 -16
- package/src/infra/hook-config-loader.ts +0 -111
- package/src/infra/jsonl-task-repository.ts +0 -157
- package/src/infra/layer.ts +0 -34
- package/src/infra/logger.ts +0 -40
- package/src/infra/pid-session-registry.ts +0 -67
- package/src/mcp/error-codes.ts +0 -213
- package/src/mcp/server.ts +0 -396
- package/src/mcp/session.ts +0 -1
- package/src/mcp/tool-create-task.ts +0 -28
- package/src/mcp/tool-current-task.ts +0 -19
- package/src/mcp/tool-edit-task.ts +0 -40
- package/src/mcp/tool-list-tasks.ts +0 -34
- package/src/mcp/tool-update-task.ts +0 -55
- package/src/task/create-task.ts +0 -67
- package/src/task/current-task.ts +0 -111
- package/src/task/edit-task.ts +0 -59
- package/src/task/list-tasks.ts +0 -35
- package/src/task/ports.ts +0 -15
- package/src/task/session-registry.ts +0 -9
- package/src/task/update-task.ts +0 -160
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/sync/linear/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ToolResult } from "../../shared/result.js";
|
|
2
|
+
import { type LinearGraphQLClient } from "../../sync/linear/transport.js";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
export type SetupLinearSyncInput = {
|
|
5
|
+
readonly teamUrl?: string | undefined;
|
|
6
|
+
readonly workspaceId?: string | undefined;
|
|
7
|
+
readonly teamId?: string | undefined;
|
|
8
|
+
readonly teamKey?: string | undefined;
|
|
9
|
+
readonly projectId?: string | undefined;
|
|
10
|
+
readonly apiTokenEnv?: string | undefined;
|
|
11
|
+
readonly apiToken?: string | undefined;
|
|
12
|
+
readonly writeEnv?: boolean | undefined;
|
|
13
|
+
readonly checkProvider?: boolean | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type SetupLinearSyncResult = {
|
|
16
|
+
readonly configPath: string;
|
|
17
|
+
readonly apiTokenEnv: string;
|
|
18
|
+
readonly workspaceId: string;
|
|
19
|
+
readonly defaultTeamId: string;
|
|
20
|
+
readonly defaultProjectId?: string | undefined;
|
|
21
|
+
readonly resolvedFromUrl?: boolean | undefined;
|
|
22
|
+
readonly dotenv?: {
|
|
23
|
+
readonly path: string;
|
|
24
|
+
readonly created: boolean;
|
|
25
|
+
readonly updated: boolean;
|
|
26
|
+
};
|
|
27
|
+
readonly gitignore?: {
|
|
28
|
+
readonly path?: string | undefined;
|
|
29
|
+
readonly updated: boolean;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export declare const setupLinearSync: (input: SetupLinearSyncInput) => Effect.Effect<ToolResult<SetupLinearSyncResult>, never, LinearGraphQLClient>;
|
|
33
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/sync/linear/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAS3D,OAAO,EAAE,KAAK,mBAAmB,EAAmB,MAAM,mCAAmC,CAAA;AAC7F,OAAO,EAAW,MAAM,EAAE,MAAM,QAAQ,CAAA;AAOxC,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;CACF,CAAA;AAkBD,eAAO,MAAM,eAAe,GAC1B,OAAO,oBAAoB,KAC1B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAwI1E,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { defaultLinearApiTokenEnv, ensureDotenvGitignored, parseLinearTeamUrl, readLinearApiToken, upsertDotenvValue, upsertLinearWorkspaceConfig, } from "../../sync/linear/config.js";
|
|
2
|
+
import { LinearTransport } from "../../sync/linear/transport.js";
|
|
3
|
+
import { Context, Effect } from "effect";
|
|
4
|
+
const LINEAR_PROVIDER_ID = "linear";
|
|
5
|
+
const LINEAR_RESOLVE_OPERATION = "LinearResolveSetup";
|
|
6
|
+
const LinearGraphQLClientTag = Context.GenericTag("LinearGraphQLClient");
|
|
7
|
+
export const setupLinearSync = (input) => Effect.gen(function* () {
|
|
8
|
+
const apiTokenEnv = input.apiTokenEnv !== undefined && input.apiTokenEnv.length > 0
|
|
9
|
+
? input.apiTokenEnv
|
|
10
|
+
: defaultLinearApiTokenEnv;
|
|
11
|
+
const parsedUrl = input.teamUrl === undefined ? undefined : parseLinearTeamUrl(input.teamUrl);
|
|
12
|
+
if (input.teamUrl !== undefined && parsedUrl === undefined) {
|
|
13
|
+
return failure("validation_error", "Linear team URL must look like https://linear.app/<workspace>/team/<team>.", {
|
|
14
|
+
provider: LINEAR_PROVIDER_ID,
|
|
15
|
+
teamUrl: input.teamUrl,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const token = typeof input.apiToken === "string" && input.apiToken.trim().length > 0
|
|
19
|
+
? input.apiToken.trim()
|
|
20
|
+
: readLinearApiToken({ apiTokenEnv });
|
|
21
|
+
let workspaceId = input.workspaceId;
|
|
22
|
+
let defaultTeamId = input.teamId;
|
|
23
|
+
const shouldResolve = parsedUrl !== undefined || (workspaceId === undefined && input.teamKey !== undefined);
|
|
24
|
+
if (shouldResolve) {
|
|
25
|
+
if (token === undefined) {
|
|
26
|
+
return failure("provider_error", "Linear API token is required to resolve workspace and team ids.", {
|
|
27
|
+
provider: LINEAR_PROVIDER_ID,
|
|
28
|
+
apiTokenEnv,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const client = typeof input.apiToken === "string" && input.apiToken.trim().length > 0
|
|
32
|
+
? LinearTransport.make({ apiToken: input.apiToken.trim() })
|
|
33
|
+
: yield* LinearGraphQLClientTag;
|
|
34
|
+
const resolved = yield* Effect.either(client.request({
|
|
35
|
+
operationName: LINEAR_RESOLVE_OPERATION,
|
|
36
|
+
query: LINEAR_RESOLVE_QUERY,
|
|
37
|
+
variables: {
|
|
38
|
+
teamKey: parsedUrl?.teamKey ?? input.teamKey,
|
|
39
|
+
},
|
|
40
|
+
}));
|
|
41
|
+
if (resolved._tag === "Left") {
|
|
42
|
+
return failure("provider_error", "Linear setup failed to resolve workspace and team.", {
|
|
43
|
+
provider: LINEAR_PROVIDER_ID,
|
|
44
|
+
error: resolved.left,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const workspaceSlug = parsedUrl?.workspaceSlug;
|
|
48
|
+
const organization = resolved.right.organization;
|
|
49
|
+
if (workspaceSlug !== undefined &&
|
|
50
|
+
organization?.urlKey !== undefined &&
|
|
51
|
+
organization.urlKey !== workspaceSlug) {
|
|
52
|
+
return failure("validation_error", "Linear API token belongs to a different workspace.", {
|
|
53
|
+
provider: LINEAR_PROVIDER_ID,
|
|
54
|
+
expectedWorkspace: workspaceSlug,
|
|
55
|
+
actualWorkspace: organization.urlKey,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const teamKey = parsedUrl?.teamKey ?? input.teamKey;
|
|
59
|
+
const team = resolved.right.teams?.nodes?.find((candidate) => candidate.key === teamKey);
|
|
60
|
+
if (organization?.id === undefined || team?.id === undefined) {
|
|
61
|
+
return failure("not_found", "Linear workspace or team was not found.", {
|
|
62
|
+
provider: LINEAR_PROVIDER_ID,
|
|
63
|
+
workspace: workspaceSlug,
|
|
64
|
+
teamKey,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
workspaceId = organization.id;
|
|
68
|
+
defaultTeamId = team.id;
|
|
69
|
+
}
|
|
70
|
+
if (workspaceId === undefined || workspaceId.length === 0) {
|
|
71
|
+
return failure("validation_error", "Linear workspaceId is required.", {
|
|
72
|
+
provider: LINEAR_PROVIDER_ID,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (defaultTeamId === undefined || defaultTeamId.length === 0) {
|
|
76
|
+
return failure("validation_error", "Linear teamId is required.", {
|
|
77
|
+
provider: LINEAR_PROVIDER_ID,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const configured = yield* Effect.promise(() => upsertLinearWorkspaceConfig({
|
|
81
|
+
apiTokenEnv,
|
|
82
|
+
workspaceId,
|
|
83
|
+
defaultTeamId,
|
|
84
|
+
defaultProjectId: input.projectId,
|
|
85
|
+
}));
|
|
86
|
+
if (!configured.ok) {
|
|
87
|
+
return configured;
|
|
88
|
+
}
|
|
89
|
+
const dotenv = input.writeEnv === true && token !== undefined
|
|
90
|
+
? yield* Effect.promise(() => upsertDotenvValue({ name: apiTokenEnv, value: token }))
|
|
91
|
+
: undefined;
|
|
92
|
+
if (dotenv !== undefined && !dotenv.ok) {
|
|
93
|
+
return dotenv;
|
|
94
|
+
}
|
|
95
|
+
const gitignore = yield* Effect.promise(() => ensureDotenvGitignored());
|
|
96
|
+
if (!gitignore.ok) {
|
|
97
|
+
return gitignore;
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
ok: true,
|
|
101
|
+
data: {
|
|
102
|
+
configPath: configured.data.path,
|
|
103
|
+
apiTokenEnv: configured.data.linear.apiTokenEnv,
|
|
104
|
+
workspaceId,
|
|
105
|
+
defaultTeamId,
|
|
106
|
+
...(input.projectId === undefined ? {} : { defaultProjectId: input.projectId }),
|
|
107
|
+
...(parsedUrl === undefined ? {} : { resolvedFromUrl: true }),
|
|
108
|
+
...(dotenv?.data === undefined ? {} : { dotenv: dotenv.data }),
|
|
109
|
+
gitignore: gitignore.data,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
const LINEAR_RESOLVE_QUERY = `
|
|
114
|
+
query LinearResolveSetup($teamKey: String) {
|
|
115
|
+
organization { id urlKey }
|
|
116
|
+
teams(first: 100, filter: { key: { eq: $teamKey } }) {
|
|
117
|
+
nodes { id key name }
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
`;
|
|
121
|
+
const failure = (code, message, details) => ({
|
|
122
|
+
ok: false,
|
|
123
|
+
error: {
|
|
124
|
+
code,
|
|
125
|
+
message,
|
|
126
|
+
...(details === undefined ? {} : { details }),
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/sync/linear/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ToolResult } from "../../shared/result.js";
|
|
2
|
+
import type { LinearGraphQLClient } from "../../sync/linear/transport.js";
|
|
3
|
+
import type { SyncConflict, SyncEvent } from "../../sync/schema.js";
|
|
4
|
+
import { type Clock, Effect } from "effect";
|
|
5
|
+
type SyncEventRepositoryShape = {
|
|
6
|
+
create(event: SyncEvent): Effect.Effect<SyncEvent, unknown>;
|
|
7
|
+
list(): Effect.Effect<readonly SyncEvent[], unknown>;
|
|
8
|
+
};
|
|
9
|
+
type SyncConflictRepositoryShape = {
|
|
10
|
+
create(conflict: SyncConflict): Effect.Effect<SyncConflict, unknown>;
|
|
11
|
+
get(id: string): Effect.Effect<SyncConflict, unknown>;
|
|
12
|
+
list(): Effect.Effect<readonly SyncConflict[], unknown>;
|
|
13
|
+
update(conflict: SyncConflict): Effect.Effect<SyncConflict, unknown>;
|
|
14
|
+
};
|
|
15
|
+
export type GetLinearStatusInput = {
|
|
16
|
+
readonly checkProvider?: boolean | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type LinearStatus = {
|
|
19
|
+
readonly configured: boolean;
|
|
20
|
+
readonly reachable?: boolean | undefined;
|
|
21
|
+
readonly authenticated?: boolean | undefined;
|
|
22
|
+
readonly lastSyncAt?: string | undefined;
|
|
23
|
+
readonly pendingConflicts: number;
|
|
24
|
+
readonly warnings?: readonly ToolWarning[] | undefined;
|
|
25
|
+
};
|
|
26
|
+
export type GetLinearStatusResult = {
|
|
27
|
+
readonly status: LinearStatus;
|
|
28
|
+
readonly warnings?: readonly ToolWarning[] | undefined;
|
|
29
|
+
};
|
|
30
|
+
type ToolWarning = NonNullable<Extract<ToolResult<never>, {
|
|
31
|
+
ok: true;
|
|
32
|
+
}>["warnings"]>[number];
|
|
33
|
+
export declare const getLinearStatus: (input?: GetLinearStatusInput) => Effect.Effect<ToolResult<GetLinearStatusResult>, never, LinearGraphQLClient | SyncEventRepositoryShape | SyncConflictRepositoryShape | Clock.Clock>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/sync/linear/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,KAAK,KAAK,EAAW,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKpD,KAAK,wBAAwB,GAAG;IAC9B,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3D,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;CACrD,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACpE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACrD,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,YAAY,EAAE,EAAE,OAAO,CAAC,CAAA;IACvD,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;CACrE,CAAA;AAOD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,KAAK,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAS5F,eAAO,MAAM,eAAe,GAC1B,QAAO,oBAAyB,KAC/B,MAAM,CAAC,MAAM,CACd,UAAU,CAAC,qBAAqB,CAAC,EACjC,KAAK,EACL,mBAAmB,GAAG,wBAAwB,GAAG,2BAA2B,GAAG,KAAK,CAAC,KAAK,CAkFxF,CAAA"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { readLinearApiToken, readLinearWorkspaceConfig } from "../../sync/linear/config.js";
|
|
2
|
+
import { Context, Effect } from "effect";
|
|
3
|
+
const LINEAR_PROVIDER_ID = "linear";
|
|
4
|
+
const LINEAR_HEALTH_OPERATION = "LinearHealthCheck";
|
|
5
|
+
const SyncEventRepository = Context.GenericTag("SyncEventRepository");
|
|
6
|
+
const SyncConflictRepository = Context.GenericTag("SyncConflictRepository");
|
|
7
|
+
const LinearGraphQLClientTag = Context.GenericTag("LinearGraphQLClient");
|
|
8
|
+
export const getLinearStatus = (input = {}) => Effect.gen(function* () {
|
|
9
|
+
const configResult = yield* Effect.promise(() => readLinearWorkspaceConfig());
|
|
10
|
+
if (!configResult.ok) {
|
|
11
|
+
return configResult;
|
|
12
|
+
}
|
|
13
|
+
const config = configResult.data;
|
|
14
|
+
const warnings = [];
|
|
15
|
+
const configured = config !== undefined;
|
|
16
|
+
const token = readLinearApiToken(config);
|
|
17
|
+
const authenticated = token !== undefined;
|
|
18
|
+
const events = yield* loadEvents();
|
|
19
|
+
if (!events.ok) {
|
|
20
|
+
return events;
|
|
21
|
+
}
|
|
22
|
+
const conflicts = yield* loadConflicts();
|
|
23
|
+
if (!conflicts.ok) {
|
|
24
|
+
return conflicts;
|
|
25
|
+
}
|
|
26
|
+
const lastSyncAt = latestSuccessfulSyncAt(events.data);
|
|
27
|
+
const pendingConflicts = conflicts.data.filter((conflict) => conflict.provider === LINEAR_PROVIDER_ID && conflict.status === "open").length;
|
|
28
|
+
let reachable;
|
|
29
|
+
if (input.checkProvider !== false) {
|
|
30
|
+
if (!authenticated) {
|
|
31
|
+
warnings.push({
|
|
32
|
+
code: "provider_warning",
|
|
33
|
+
message: "Linear is configured but its API token environment variable is not set.",
|
|
34
|
+
details: {
|
|
35
|
+
provider: LINEAR_PROVIDER_ID,
|
|
36
|
+
apiTokenEnv: config?.apiTokenEnv ?? "LINEAR_API_KEY",
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
reachable = false;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const client = (yield* LinearGraphQLClientTag);
|
|
43
|
+
const health = yield* Effect.either(client.request({
|
|
44
|
+
operationName: LINEAR_HEALTH_OPERATION,
|
|
45
|
+
query: LINEAR_HEALTH_QUERY,
|
|
46
|
+
variables: {},
|
|
47
|
+
}));
|
|
48
|
+
if (health._tag === "Left") {
|
|
49
|
+
warnings.push(providerWarning(health.left));
|
|
50
|
+
reachable = false;
|
|
51
|
+
}
|
|
52
|
+
else if (health.right.viewer === undefined || health.right.viewer === null) {
|
|
53
|
+
warnings.push({
|
|
54
|
+
code: "provider_warning",
|
|
55
|
+
message: "Linear health check returned no viewer.",
|
|
56
|
+
details: {
|
|
57
|
+
provider: LINEAR_PROVIDER_ID,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
reachable = false;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
reachable = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const status = {
|
|
68
|
+
configured,
|
|
69
|
+
authenticated,
|
|
70
|
+
pendingConflicts,
|
|
71
|
+
...(lastSyncAt === undefined ? {} : { lastSyncAt }),
|
|
72
|
+
...(reachable === undefined ? {} : { reachable }),
|
|
73
|
+
...(warnings.length === 0 ? {} : { warnings }),
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
ok: true,
|
|
77
|
+
data: {
|
|
78
|
+
status,
|
|
79
|
+
...(warnings.length === 0 ? {} : { warnings }),
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
const loadEvents = () => Effect.gen(function* () {
|
|
84
|
+
const repo = (yield* SyncEventRepository);
|
|
85
|
+
const listed = yield* Effect.either(repo.list());
|
|
86
|
+
if (listed._tag === "Left") {
|
|
87
|
+
return {
|
|
88
|
+
ok: false,
|
|
89
|
+
error: storageError(listed.left),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return { ok: true, data: listed.right };
|
|
93
|
+
});
|
|
94
|
+
const loadConflicts = () => Effect.gen(function* () {
|
|
95
|
+
const repo = (yield* SyncConflictRepository);
|
|
96
|
+
const listed = yield* Effect.either(repo.list());
|
|
97
|
+
if (listed._tag === "Left") {
|
|
98
|
+
return {
|
|
99
|
+
ok: false,
|
|
100
|
+
error: storageError(listed.left),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return { ok: true, data: listed.right };
|
|
104
|
+
});
|
|
105
|
+
const latestSuccessfulSyncAt = (events) => {
|
|
106
|
+
const successful = events.filter((event) => event.provider === LINEAR_PROVIDER_ID &&
|
|
107
|
+
event.result !== "failed" &&
|
|
108
|
+
event.result !== "conflict");
|
|
109
|
+
successful.sort((left, right) => right.createdAt.localeCompare(left.createdAt) || right.id.localeCompare(left.id));
|
|
110
|
+
return successful[0]?.createdAt;
|
|
111
|
+
};
|
|
112
|
+
const providerWarning = (error) => ({
|
|
113
|
+
code: "provider_warning",
|
|
114
|
+
message: "Linear provider health check failed.",
|
|
115
|
+
details: {
|
|
116
|
+
provider: LINEAR_PROVIDER_ID,
|
|
117
|
+
...(isProviderError(error) ? { error } : { error: String(error) }),
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
const storageError = (cause) => ({
|
|
121
|
+
code: "storage_error",
|
|
122
|
+
message: "Repository operation failed.",
|
|
123
|
+
details: { cause },
|
|
124
|
+
});
|
|
125
|
+
const isProviderError = (value) => isRecord(value) &&
|
|
126
|
+
typeof value.providerId === "string" &&
|
|
127
|
+
typeof value.code === "string" &&
|
|
128
|
+
typeof value.retryable === "boolean" &&
|
|
129
|
+
typeof value.message === "string";
|
|
130
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
131
|
+
const LINEAR_HEALTH_QUERY = `
|
|
132
|
+
query LinearHealthCheck {
|
|
133
|
+
viewer {
|
|
134
|
+
id
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
`;
|
|
138
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/sync/linear/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { SyncProviderError } from "../../sync/provider-port.js";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
type FetchLike = (input: string, init: RequestInit) => Promise<Response>;
|
|
4
|
+
type LinearGraphQLRequest = {
|
|
5
|
+
readonly operationName: string;
|
|
6
|
+
readonly query: string;
|
|
7
|
+
readonly variables?: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
export type LinearGraphQLError = {
|
|
10
|
+
readonly message?: unknown;
|
|
11
|
+
readonly path?: unknown;
|
|
12
|
+
readonly extensions?: unknown;
|
|
13
|
+
};
|
|
14
|
+
export type LinearTransportFixture = {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly request: {
|
|
17
|
+
readonly operationName: string;
|
|
18
|
+
readonly variables?: Record<string, unknown>;
|
|
19
|
+
};
|
|
20
|
+
readonly response: {
|
|
21
|
+
readonly status: number;
|
|
22
|
+
readonly headers?: Record<string, string>;
|
|
23
|
+
readonly body: {
|
|
24
|
+
readonly data?: Record<string, unknown>;
|
|
25
|
+
readonly errors?: readonly LinearGraphQLError[];
|
|
26
|
+
};
|
|
27
|
+
} | {
|
|
28
|
+
readonly networkError: "timeout" | "connection_reset";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
type LinearTransportOptions = {
|
|
32
|
+
readonly apiToken: string;
|
|
33
|
+
readonly endpoint?: string;
|
|
34
|
+
readonly fetch?: FetchLike;
|
|
35
|
+
readonly timeoutMs?: number;
|
|
36
|
+
readonly retryAttempts?: number;
|
|
37
|
+
readonly backoffMs?: number;
|
|
38
|
+
};
|
|
39
|
+
export type LinearGraphQLClient = {
|
|
40
|
+
request<TData extends Record<string, unknown> = Record<string, unknown>>(request: LinearGraphQLRequest): Effect.Effect<TData, SyncProviderError>;
|
|
41
|
+
};
|
|
42
|
+
export declare const LinearTransport: {
|
|
43
|
+
readonly make: (options: LinearTransportOptions) => LinearGraphQLClient;
|
|
44
|
+
readonly fixture: (fixtures: readonly LinearTransportFixture[]) => LinearGraphQLClient;
|
|
45
|
+
};
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/sync/linear/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAW/B,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAExE,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC7C,CAAA;IACD,QAAQ,CAAC,QAAQ,EACb;QACE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,QAAQ,CAAC,IAAI,EAAE;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;SAChD,CAAA;KACF,GACD;QAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,kBAAkB,CAAA;KAAE,CAAA;CAC9D,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,eAAe;6BACV,sBAAsB,KAAG,mBAAmB;iCACxC,SAAS,sBAAsB,EAAE,KAAG,mBAAmB;CAMnE,CAAA"}
|