light-plan 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +3181 -2
- package/assets/README.md +111 -0
- package/assets/agents/lpm-developer.md +468 -0
- package/assets/agents/lpm-planner.md +532 -0
- package/assets/harnesses/claude.yml +43 -0
- package/assets/harnesses/copilot.yml +54 -0
- package/assets/harnesses/reasonix.yml +49 -0
- package/assets/hcm/light-plan.yml +45 -0
- package/assets/skills/lpm-board-health.md +243 -0
- package/assets/skills/lpm-board-setup.md +354 -0
- package/assets/skills/lpm-delivery.md +344 -0
- package/assets/skills/lpm-planning.md +411 -0
- package/assets/skills/lpm-templates.md +144 -0
- package/assets/skills/lpm.md +267 -0
- package/dist/cli/agent-view.d.ts +27 -0
- package/dist/cli/agent-view.js +247 -0
- package/dist/cli/agent-view.js.map +1 -0
- package/dist/cli/commands/agent/assets.d.ts +64 -0
- package/dist/cli/commands/agent/assets.js +106 -0
- package/dist/cli/commands/agent/assets.js.map +1 -0
- package/dist/cli/commands/agent/glob.d.ts +25 -0
- package/dist/cli/commands/agent/glob.js +82 -0
- package/dist/cli/commands/agent/glob.js.map +1 -0
- package/dist/cli/commands/agent/index.d.ts +11 -0
- package/dist/cli/commands/agent/index.js +284 -0
- package/dist/cli/commands/agent/index.js.map +1 -0
- package/dist/cli/commands/agent/install.d.ts +59 -0
- package/dist/cli/commands/agent/install.js +131 -0
- package/dist/cli/commands/agent/install.js.map +1 -0
- package/dist/cli/commands/agent/mapping.d.ts +175 -0
- package/dist/cli/commands/agent/mapping.js +256 -0
- package/dist/cli/commands/agent/mapping.js.map +1 -0
- package/dist/cli/commands/check.d.ts +2 -0
- package/dist/cli/commands/check.js +81 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/comment.d.ts +2 -0
- package/dist/cli/commands/comment.js +104 -0
- package/dist/cli/commands/comment.js.map +1 -0
- package/dist/cli/commands/convert.d.ts +2 -0
- package/dist/cli/commands/convert.js +115 -0
- package/dist/cli/commands/convert.js.map +1 -0
- package/dist/cli/commands/copy.d.ts +2 -0
- package/dist/cli/commands/copy.js +69 -0
- package/dist/cli/commands/copy.js.map +1 -0
- package/dist/cli/commands/export.d.ts +11 -0
- package/dist/cli/commands/export.js +226 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/flag.d.ts +2 -0
- package/dist/cli/commands/flag.js +172 -0
- package/dist/cli/commands/flag.js.map +1 -0
- package/dist/cli/commands/git.d.ts +11 -0
- package/dist/cli/commands/git.js +357 -0
- package/dist/cli/commands/git.js.map +1 -0
- package/dist/cli/commands/hcm/bundle.d.ts +60 -0
- package/dist/cli/commands/hcm/bundle.js +166 -0
- package/dist/cli/commands/hcm/bundle.js.map +1 -0
- package/dist/cli/commands/hcm/index.d.ts +11 -0
- package/dist/cli/commands/hcm/index.js +162 -0
- package/dist/cli/commands/hcm/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.js +81 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/insert.d.ts +2 -0
- package/dist/cli/commands/insert.js +70 -0
- package/dist/cli/commands/insert.js.map +1 -0
- package/dist/cli/commands/instructions.d.ts +7 -0
- package/dist/cli/commands/instructions.js +256 -0
- package/dist/cli/commands/instructions.js.map +1 -0
- package/dist/cli/commands/link.d.ts +2 -0
- package/dist/cli/commands/link.js +121 -0
- package/dist/cli/commands/link.js.map +1 -0
- package/dist/cli/commands/mcp/config.d.ts +71 -0
- package/dist/cli/commands/mcp/config.js +119 -0
- package/dist/cli/commands/mcp/config.js.map +1 -0
- package/dist/cli/commands/mcp/index.d.ts +9 -0
- package/dist/cli/commands/mcp/index.js +92 -0
- package/dist/cli/commands/mcp/index.js.map +1 -0
- package/dist/cli/commands/mcp/serve.d.ts +1 -0
- package/dist/cli/commands/mcp/serve.js +76 -0
- package/dist/cli/commands/mcp/serve.js.map +1 -0
- package/dist/cli/commands/mcp/setup.d.ts +1 -0
- package/dist/cli/commands/mcp/setup.js +83 -0
- package/dist/cli/commands/mcp/setup.js.map +1 -0
- package/dist/cli/commands/me.d.ts +2 -0
- package/dist/cli/commands/me.js +85 -0
- package/dist/cli/commands/me.js.map +1 -0
- package/dist/cli/commands/move.d.ts +2 -0
- package/dist/cli/commands/move.js +81 -0
- package/dist/cli/commands/move.js.map +1 -0
- package/dist/cli/commands/new.d.ts +2 -0
- package/dist/cli/commands/new.js +222 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/commands/open.d.ts +2 -0
- package/dist/cli/commands/open.js +43 -0
- package/dist/cli/commands/open.js.map +1 -0
- package/dist/cli/commands/period.d.ts +10 -0
- package/dist/cli/commands/period.js +165 -0
- package/dist/cli/commands/period.js.map +1 -0
- package/dist/cli/commands/profile.d.ts +2 -0
- package/dist/cli/commands/profile.js +133 -0
- package/dist/cli/commands/profile.js.map +1 -0
- package/dist/cli/commands/queue.d.ts +2 -0
- package/dist/cli/commands/queue.js +582 -0
- package/dist/cli/commands/queue.js.map +1 -0
- package/dist/cli/commands/remote.d.ts +10 -0
- package/dist/cli/commands/remote.js +3142 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/commands/rm.d.ts +2 -0
- package/dist/cli/commands/rm.js +63 -0
- package/dist/cli/commands/rm.js.map +1 -0
- package/dist/cli/commands/set.d.ts +2 -0
- package/dist/cli/commands/set.js +139 -0
- package/dist/cli/commands/set.js.map +1 -0
- package/dist/cli/commands/split.d.ts +2 -0
- package/dist/cli/commands/split.js +90 -0
- package/dist/cli/commands/split.js.map +1 -0
- package/dist/cli/commands/task.d.ts +2 -0
- package/dist/cli/commands/task.js +298 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/team.d.ts +2 -0
- package/dist/cli/commands/team.js +114 -0
- package/dist/cli/commands/team.js.map +1 -0
- package/dist/cli/commands/template.d.ts +2 -0
- package/dist/cli/commands/template.js +338 -0
- package/dist/cli/commands/template.js.map +1 -0
- package/dist/cli/commands/ui.d.ts +2 -0
- package/dist/cli/commands/ui.js +98 -0
- package/dist/cli/commands/ui.js.map +1 -0
- package/dist/cli/commands/upstream.d.ts +2 -0
- package/dist/cli/commands/upstream.js +218 -0
- package/dist/cli/commands/upstream.js.map +1 -0
- package/dist/cli/context.d.ts +24 -0
- package/dist/cli/context.js +52 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +208 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/live.d.ts +71 -0
- package/dist/cli/live.js +182 -0
- package/dist/cli/live.js.map +1 -0
- package/dist/cli/plan.d.ts +28 -0
- package/dist/cli/plan.js +76 -0
- package/dist/cli/plan.js.map +1 -0
- package/dist/cli/prompt.d.ts +60 -0
- package/dist/cli/prompt.js +185 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/ui.d.ts +65 -0
- package/dist/cli/ui.js +79 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/core/board/dependency-rollup.d.ts +54 -0
- package/dist/core/board/dependency-rollup.js +72 -0
- package/dist/core/board/dependency-rollup.js.map +1 -0
- package/dist/core/board/flag-rollup.d.ts +33 -0
- package/dist/core/board/flag-rollup.js +56 -0
- package/dist/core/board/flag-rollup.js.map +1 -0
- package/dist/core/board/index.d.ts +21 -0
- package/dist/core/board/index.js +22 -0
- package/dist/core/board/index.js.map +1 -0
- package/dist/core/board/load/cache.d.ts +52 -0
- package/dist/core/board/load/cache.js +105 -0
- package/dist/core/board/load/cache.js.map +1 -0
- package/dist/core/board/load/fields.d.ts +33 -0
- package/dist/core/board/load/fields.js +154 -0
- package/dist/core/board/load/fields.js.map +1 -0
- package/dist/core/board/load/scan.d.ts +39 -0
- package/dist/core/board/load/scan.js +88 -0
- package/dist/core/board/load/scan.js.map +1 -0
- package/dist/core/board/load/tree.d.ts +10 -0
- package/dist/core/board/load/tree.js +114 -0
- package/dist/core/board/load/tree.js.map +1 -0
- package/dist/core/board/load.d.ts +69 -0
- package/dist/core/board/load.js +204 -0
- package/dist/core/board/load.js.map +1 -0
- package/dist/core/board/query.d.ts +126 -0
- package/dist/core/board/query.js +291 -0
- package/dist/core/board/query.js.map +1 -0
- package/dist/core/board/registry.d.ts +51 -0
- package/dist/core/board/registry.js +98 -0
- package/dist/core/board/registry.js.map +1 -0
- package/dist/core/board/remote-scopes.d.ts +71 -0
- package/dist/core/board/remote-scopes.js +103 -0
- package/dist/core/board/remote-scopes.js.map +1 -0
- package/dist/core/board/rollup.d.ts +32 -0
- package/dist/core/board/rollup.js +67 -0
- package/dist/core/board/rollup.js.map +1 -0
- package/dist/core/board/scope.d.ts +81 -0
- package/dist/core/board/scope.js +134 -0
- package/dist/core/board/scope.js.map +1 -0
- package/dist/core/board/simulate.d.ts +138 -0
- package/dist/core/board/simulate.js +141 -0
- package/dist/core/board/simulate.js.map +1 -0
- package/dist/core/board/tasks/index.d.ts +25 -0
- package/dist/core/board/tasks/index.js +26 -0
- package/dist/core/board/tasks/index.js.map +1 -0
- package/dist/core/board/tasks/ranking.d.ts +155 -0
- package/dist/core/board/tasks/ranking.js +374 -0
- package/dist/core/board/tasks/ranking.js.map +1 -0
- package/dist/core/board/tasks/roster.d.ts +42 -0
- package/dist/core/board/tasks/roster.js +82 -0
- package/dist/core/board/tasks/roster.js.map +1 -0
- package/dist/core/board/tasks.d.ts +1 -0
- package/dist/core/board/tasks.js +2 -0
- package/dist/core/board/tasks.js.map +1 -0
- package/dist/core/config/index.d.ts +9 -0
- package/dist/core/config/index.js +10 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/config/lookup.d.ts +114 -0
- package/dist/core/config/lookup.js +221 -0
- package/dist/core/config/lookup.js.map +1 -0
- package/dist/core/config/remote-blocks.d.ts +17 -0
- package/dist/core/config/remote-blocks.js +47 -0
- package/dist/core/config/remote-blocks.js.map +1 -0
- package/dist/core/config/schema.d.ts +10 -0
- package/dist/core/config/schema.js +451 -0
- package/dist/core/config/schema.js.map +1 -0
- package/dist/core/errors.d.ts +23 -0
- package/dist/core/errors.js +31 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/gitsync/hosts.d.ts +40 -0
- package/dist/core/gitsync/hosts.js +115 -0
- package/dist/core/gitsync/hosts.js.map +1 -0
- package/dist/core/gitsync/index.d.ts +25 -0
- package/dist/core/gitsync/index.js +25 -0
- package/dist/core/gitsync/index.js.map +1 -0
- package/dist/core/gitsync/integrate.d.ts +72 -0
- package/dist/core/gitsync/integrate.js +115 -0
- package/dist/core/gitsync/integrate.js.map +1 -0
- package/dist/core/gitsync/repo.d.ts +61 -0
- package/dist/core/gitsync/repo.js +213 -0
- package/dist/core/gitsync/repo.js.map +1 -0
- package/dist/core/gitsync/run.d.ts +58 -0
- package/dist/core/gitsync/run.js +102 -0
- package/dist/core/gitsync/run.js.map +1 -0
- package/dist/core/gitsync/status.d.ts +59 -0
- package/dist/core/gitsync/status.js +81 -0
- package/dist/core/gitsync/status.js.map +1 -0
- package/dist/core/gitsync/sync.d.ts +111 -0
- package/dist/core/gitsync/sync.js +275 -0
- package/dist/core/gitsync/sync.js.map +1 -0
- package/dist/core/index.d.ts +31 -0
- package/dist/core/index.js +32 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/instructions/analyze.d.ts +70 -0
- package/dist/core/instructions/analyze.js +275 -0
- package/dist/core/instructions/analyze.js.map +1 -0
- package/dist/core/instructions/builtin.d.ts +21 -0
- package/dist/core/instructions/builtin.js +133 -0
- package/dist/core/instructions/builtin.js.map +1 -0
- package/dist/core/instructions/context.d.ts +155 -0
- package/dist/core/instructions/context.js +209 -0
- package/dist/core/instructions/context.js.map +1 -0
- package/dist/core/instructions/index.d.ts +29 -0
- package/dist/core/instructions/index.js +30 -0
- package/dist/core/instructions/index.js.map +1 -0
- package/dist/core/instructions/instructions.d.ts +90 -0
- package/dist/core/instructions/instructions.js +179 -0
- package/dist/core/instructions/instructions.js.map +1 -0
- package/dist/core/instructions/template.d.ts +108 -0
- package/dist/core/instructions/template.js +252 -0
- package/dist/core/instructions/template.js.map +1 -0
- package/dist/core/model/attributes.d.ts +16 -0
- package/dist/core/model/attributes.js +119 -0
- package/dist/core/model/attributes.js.map +1 -0
- package/dist/core/model/index.d.ts +10 -0
- package/dist/core/model/index.js +11 -0
- package/dist/core/model/index.js.map +1 -0
- package/dist/core/model/links.d.ts +34 -0
- package/dist/core/model/links.js +114 -0
- package/dist/core/model/links.js.map +1 -0
- package/dist/core/model/profile.d.ts +31 -0
- package/dist/core/model/profile.js +8 -0
- package/dist/core/model/profile.js.map +1 -0
- package/dist/core/model/types.d.ts +441 -0
- package/dist/core/model/types.js +167 -0
- package/dist/core/model/types.js.map +1 -0
- package/dist/core/model/zod.d.ts +6 -0
- package/dist/core/model/zod.js +11 -0
- package/dist/core/model/zod.js.map +1 -0
- package/dist/core/operations/board-index.d.ts +45 -0
- package/dist/core/operations/board-index.js +147 -0
- package/dist/core/operations/board-index.js.map +1 -0
- package/dist/core/operations/claim.d.ts +69 -0
- package/dist/core/operations/claim.js +115 -0
- package/dist/core/operations/claim.js.map +1 -0
- package/dist/core/operations/comment.d.ts +30 -0
- package/dist/core/operations/comment.js +46 -0
- package/dist/core/operations/comment.js.map +1 -0
- package/dist/core/operations/create.d.ts +82 -0
- package/dist/core/operations/create.js +306 -0
- package/dist/core/operations/create.js.map +1 -0
- package/dist/core/operations/flag.d.ts +58 -0
- package/dist/core/operations/flag.js +95 -0
- package/dist/core/operations/flag.js.map +1 -0
- package/dist/core/operations/git-sync.d.ts +148 -0
- package/dist/core/operations/git-sync.js +341 -0
- package/dist/core/operations/git-sync.js.map +1 -0
- package/dist/core/operations/index.d.ts +44 -0
- package/dist/core/operations/index.js +45 -0
- package/dist/core/operations/index.js.map +1 -0
- package/dist/core/operations/init.d.ts +25 -0
- package/dist/core/operations/init.js +122 -0
- package/dist/core/operations/init.js.map +1 -0
- package/dist/core/operations/link.d.ts +40 -0
- package/dist/core/operations/link.js +131 -0
- package/dist/core/operations/link.js.map +1 -0
- package/dist/core/operations/move.d.ts +43 -0
- package/dist/core/operations/move.js +103 -0
- package/dist/core/operations/move.js.map +1 -0
- package/dist/core/operations/profile.d.ts +23 -0
- package/dist/core/operations/profile.js +26 -0
- package/dist/core/operations/profile.js.map +1 -0
- package/dist/core/operations/remotes-off.d.ts +12 -0
- package/dist/core/operations/remotes-off.js +67 -0
- package/dist/core/operations/remotes-off.js.map +1 -0
- package/dist/core/operations/remove.d.ts +18 -0
- package/dist/core/operations/remove.js +114 -0
- package/dist/core/operations/remove.js.map +1 -0
- package/dist/core/operations/retype.d.ts +25 -0
- package/dist/core/operations/retype.js +59 -0
- package/dist/core/operations/retype.js.map +1 -0
- package/dist/core/operations/rollup.d.ts +74 -0
- package/dist/core/operations/rollup.js +121 -0
- package/dist/core/operations/rollup.js.map +1 -0
- package/dist/core/operations/shared.d.ts +133 -0
- package/dist/core/operations/shared.js +383 -0
- package/dist/core/operations/shared.js.map +1 -0
- package/dist/core/operations/update.d.ts +43 -0
- package/dist/core/operations/update.js +161 -0
- package/dist/core/operations/update.js.map +1 -0
- package/dist/core/operations/user.d.ts +27 -0
- package/dist/core/operations/user.js +68 -0
- package/dist/core/operations/user.js.map +1 -0
- package/dist/core/profile/current.d.ts +35 -0
- package/dist/core/profile/current.js +31 -0
- package/dist/core/profile/current.js.map +1 -0
- package/dist/core/profile/index.d.ts +14 -0
- package/dist/core/profile/index.js +15 -0
- package/dist/core/profile/index.js.map +1 -0
- package/dist/core/profile/schema.d.ts +9 -0
- package/dist/core/profile/schema.js +100 -0
- package/dist/core/profile/schema.js.map +1 -0
- package/dist/core/storage/activity.d.ts +78 -0
- package/dist/core/storage/activity.js +131 -0
- package/dist/core/storage/activity.js.map +1 -0
- package/dist/core/storage/atomic.d.ts +34 -0
- package/dist/core/storage/atomic.js +117 -0
- package/dist/core/storage/atomic.js.map +1 -0
- package/dist/core/storage/comments.d.ts +39 -0
- package/dist/core/storage/comments.js +88 -0
- package/dist/core/storage/comments.js.map +1 -0
- package/dist/core/storage/document.d.ts +16 -0
- package/dist/core/storage/document.js +98 -0
- package/dist/core/storage/document.js.map +1 -0
- package/dist/core/storage/frontmatter.d.ts +16 -0
- package/dist/core/storage/frontmatter.js +33 -0
- package/dist/core/storage/frontmatter.js.map +1 -0
- package/dist/core/storage/git.d.ts +8 -0
- package/dist/core/storage/git.js +48 -0
- package/dist/core/storage/git.js.map +1 -0
- package/dist/core/storage/index.d.ts +27 -0
- package/dist/core/storage/index.js +28 -0
- package/dist/core/storage/index.js.map +1 -0
- package/dist/core/storage/local.d.ts +57 -0
- package/dist/core/storage/local.js +133 -0
- package/dist/core/storage/local.js.map +1 -0
- package/dist/core/storage/lock.d.ts +85 -0
- package/dist/core/storage/lock.js +364 -0
- package/dist/core/storage/lock.js.map +1 -0
- package/dist/core/storage/paths.d.ts +125 -0
- package/dist/core/storage/paths.js +202 -0
- package/dist/core/storage/paths.js.map +1 -0
- package/dist/core/storage/state.d.ts +32 -0
- package/dist/core/storage/state.js +71 -0
- package/dist/core/storage/state.js.map +1 -0
- package/dist/core/storage/templates.d.ts +29 -0
- package/dist/core/storage/templates.js +62 -0
- package/dist/core/storage/templates.js.map +1 -0
- package/dist/core/storage/views.d.ts +18 -0
- package/dist/core/storage/views.js +62 -0
- package/dist/core/storage/views.js.map +1 -0
- package/dist/core/validation/check.d.ts +4 -0
- package/dist/core/validation/check.js +22 -0
- package/dist/core/validation/check.js.map +1 -0
- package/dist/core/validation/checks/collection.d.ts +4 -0
- package/dist/core/validation/checks/collection.js +152 -0
- package/dist/core/validation/checks/collection.js.map +1 -0
- package/dist/core/validation/checks/counters.d.ts +3 -0
- package/dist/core/validation/checks/counters.js +23 -0
- package/dist/core/validation/checks/counters.js.map +1 -0
- package/dist/core/validation/checks/dependencies.d.ts +3 -0
- package/dist/core/validation/checks/dependencies.js +58 -0
- package/dist/core/validation/checks/dependencies.js.map +1 -0
- package/dist/core/validation/checks/gitignore.d.ts +10 -0
- package/dist/core/validation/checks/gitignore.js +22 -0
- package/dist/core/validation/checks/gitignore.js.map +1 -0
- package/dist/core/validation/checks/index-file.d.ts +8 -0
- package/dist/core/validation/checks/index-file.js +26 -0
- package/dist/core/validation/checks/index-file.js.map +1 -0
- package/dist/core/validation/checks/index.d.ts +20 -0
- package/dist/core/validation/checks/index.js +21 -0
- package/dist/core/validation/checks/index.js.map +1 -0
- package/dist/core/validation/checks/issues.d.ts +3 -0
- package/dist/core/validation/checks/issues.js +152 -0
- package/dist/core/validation/checks/issues.js.map +1 -0
- package/dist/core/validation/checks/periods.d.ts +3 -0
- package/dist/core/validation/checks/periods.js +89 -0
- package/dist/core/validation/checks/periods.js.map +1 -0
- package/dist/core/validation/checks/remotes.d.ts +20 -0
- package/dist/core/validation/checks/remotes.js +42 -0
- package/dist/core/validation/checks/remotes.js.map +1 -0
- package/dist/core/validation/checks/resources.d.ts +3 -0
- package/dist/core/validation/checks/resources.js +77 -0
- package/dist/core/validation/checks/resources.js.map +1 -0
- package/dist/core/validation/checks/rollup.d.ts +27 -0
- package/dist/core/validation/checks/rollup.js +53 -0
- package/dist/core/validation/checks/rollup.js.map +1 -0
- package/dist/core/validation/checks/squads.d.ts +3 -0
- package/dist/core/validation/checks/squads.js +42 -0
- package/dist/core/validation/checks/squads.js.map +1 -0
- package/dist/core/validation/checks/templates.d.ts +14 -0
- package/dist/core/validation/checks/templates.js +119 -0
- package/dist/core/validation/checks/templates.js.map +1 -0
- package/dist/core/validation/fix.d.ts +7 -0
- package/dist/core/validation/fix.js +273 -0
- package/dist/core/validation/fix.js.map +1 -0
- package/dist/core/validation/index.d.ts +7 -0
- package/dist/core/validation/index.js +8 -0
- package/dist/core/validation/index.js.map +1 -0
- package/dist/core/validation/shared.d.ts +47 -0
- package/dist/core/validation/shared.js +66 -0
- package/dist/core/validation/shared.js.map +1 -0
- package/dist/mcp/context.d.ts +70 -0
- package/dist/mcp/context.js +110 -0
- package/dist/mcp/context.js.map +1 -0
- package/dist/mcp/index.d.ts +49 -0
- package/dist/mcp/index.js +90 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/reply.d.ts +28 -0
- package/dist/mcp/reply.js +34 -0
- package/dist/mcp/reply.js.map +1 -0
- package/dist/mcp/tools/plan/create.d.ts +3 -0
- package/dist/mcp/tools/plan/create.js +128 -0
- package/dist/mcp/tools/plan/create.js.map +1 -0
- package/dist/mcp/tools/plan/delete.d.ts +3 -0
- package/dist/mcp/tools/plan/delete.js +35 -0
- package/dist/mcp/tools/plan/delete.js.map +1 -0
- package/dist/mcp/tools/plan/graph.d.ts +3 -0
- package/dist/mcp/tools/plan/graph.js +53 -0
- package/dist/mcp/tools/plan/graph.js.map +1 -0
- package/dist/mcp/tools/plan/index.d.ts +15 -0
- package/dist/mcp/tools/plan/index.js +16 -0
- package/dist/mcp/tools/plan/index.js.map +1 -0
- package/dist/mcp/tools/plan/link.d.ts +3 -0
- package/dist/mcp/tools/plan/link.js +46 -0
- package/dist/mcp/tools/plan/link.js.map +1 -0
- package/dist/mcp/tools/plan/registrar.d.ts +10 -0
- package/dist/mcp/tools/plan/registrar.js +24 -0
- package/dist/mcp/tools/plan/registrar.js.map +1 -0
- package/dist/mcp/tools/plan/reshape.d.ts +3 -0
- package/dist/mcp/tools/plan/reshape.js +95 -0
- package/dist/mcp/tools/plan/reshape.js.map +1 -0
- package/dist/mcp/tools/plan/timeline.d.ts +3 -0
- package/dist/mcp/tools/plan/timeline.js +68 -0
- package/dist/mcp/tools/plan/timeline.js.map +1 -0
- package/dist/mcp/tools/plan/upstream.d.ts +14 -0
- package/dist/mcp/tools/plan/upstream.js +69 -0
- package/dist/mcp/tools/plan/upstream.js.map +1 -0
- package/dist/mcp/tools/plan.d.ts +1 -0
- package/dist/mcp/tools/plan.js +2 -0
- package/dist/mcp/tools/plan.js.map +1 -0
- package/dist/mcp/tools/read.d.ts +3 -0
- package/dist/mcp/tools/read.js +339 -0
- package/dist/mcp/tools/read.js.map +1 -0
- package/dist/mcp/tools/remote.d.ts +3 -0
- package/dist/mcp/tools/remote.js +254 -0
- package/dist/mcp/tools/remote.js.map +1 -0
- package/dist/mcp/tools/templates.d.ts +12 -0
- package/dist/mcp/tools/templates.js +165 -0
- package/dist/mcp/tools/templates.js.map +1 -0
- package/dist/mcp/tools/work.d.ts +16 -0
- package/dist/mcp/tools/work.js +359 -0
- package/dist/mcp/tools/work.js.map +1 -0
- package/dist/remote/accounts.d.ts +158 -0
- package/dist/remote/accounts.js +207 -0
- package/dist/remote/accounts.js.map +1 -0
- package/dist/remote/adopt.d.ts +139 -0
- package/dist/remote/adopt.js +181 -0
- package/dist/remote/adopt.js.map +1 -0
- package/dist/remote/anchor.d.ts +35 -0
- package/dist/remote/anchor.js +53 -0
- package/dist/remote/anchor.js.map +1 -0
- package/dist/remote/attributes.d.ts +103 -0
- package/dist/remote/attributes.js +245 -0
- package/dist/remote/attributes.js.map +1 -0
- package/dist/remote/audit.d.ts +112 -0
- package/dist/remote/audit.js +215 -0
- package/dist/remote/audit.js.map +1 -0
- package/dist/remote/capabilities.d.ts +267 -0
- package/dist/remote/capabilities.js +225 -0
- package/dist/remote/capabilities.js.map +1 -0
- package/dist/remote/check.d.ts +49 -0
- package/dist/remote/check.js +356 -0
- package/dist/remote/check.js.map +1 -0
- package/dist/remote/comments.d.ts +86 -0
- package/dist/remote/comments.js +87 -0
- package/dist/remote/comments.js.map +1 -0
- package/dist/remote/config-file.d.ts +237 -0
- package/dist/remote/config-file.js +640 -0
- package/dist/remote/config-file.js.map +1 -0
- package/dist/remote/conflicts.d.ts +110 -0
- package/dist/remote/conflicts.js +188 -0
- package/dist/remote/conflicts.js.map +1 -0
- package/dist/remote/connection-catalogue.d.ts +65 -0
- package/dist/remote/connection-catalogue.js +66 -0
- package/dist/remote/connection-catalogue.js.map +1 -0
- package/dist/remote/connection.d.ts +84 -0
- package/dist/remote/connection.js +229 -0
- package/dist/remote/connection.js.map +1 -0
- package/dist/remote/coverage.d.ts +65 -0
- package/dist/remote/coverage.js +244 -0
- package/dist/remote/coverage.js.map +1 -0
- package/dist/remote/credentials.d.ts +95 -0
- package/dist/remote/credentials.js +210 -0
- package/dist/remote/credentials.js.map +1 -0
- package/dist/remote/execute.d.ts +178 -0
- package/dist/remote/execute.js +1245 -0
- package/dist/remote/execute.js.map +1 -0
- package/dist/remote/fingerprint.d.ts +172 -0
- package/dist/remote/fingerprint.js +337 -0
- package/dist/remote/fingerprint.js.map +1 -0
- package/dist/remote/fixtures.d.ts +176 -0
- package/dist/remote/fixtures.js +432 -0
- package/dist/remote/fixtures.js.map +1 -0
- package/dist/remote/guard.d.ts +90 -0
- package/dist/remote/guard.js +83 -0
- package/dist/remote/guard.js.map +1 -0
- package/dist/remote/hierarchy.d.ts +141 -0
- package/dist/remote/hierarchy.js +129 -0
- package/dist/remote/hierarchy.js.map +1 -0
- package/dist/remote/index.d.ts +145 -0
- package/dist/remote/index.js +146 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/remote/inspect.d.ts +103 -0
- package/dist/remote/inspect.js +152 -0
- package/dist/remote/inspect.js.map +1 -0
- package/dist/remote/labels.d.ts +75 -0
- package/dist/remote/labels.js +137 -0
- package/dist/remote/labels.js.map +1 -0
- package/dist/remote/ladder.d.ts +145 -0
- package/dist/remote/ladder.js +387 -0
- package/dist/remote/ladder.js.map +1 -0
- package/dist/remote/ledger.d.ts +97 -0
- package/dist/remote/ledger.js +148 -0
- package/dist/remote/ledger.js.map +1 -0
- package/dist/remote/lifecycle.d.ts +175 -0
- package/dist/remote/lifecycle.js +274 -0
- package/dist/remote/lifecycle.js.map +1 -0
- package/dist/remote/links.d.ts +411 -0
- package/dist/remote/links.js +748 -0
- package/dist/remote/links.js.map +1 -0
- package/dist/remote/managed-block.d.ts +182 -0
- package/dist/remote/managed-block.js +406 -0
- package/dist/remote/managed-block.js.map +1 -0
- package/dist/remote/managed-comment.d.ts +104 -0
- package/dist/remote/managed-comment.js +92 -0
- package/dist/remote/managed-comment.js.map +1 -0
- package/dist/remote/mapping.d.ts +282 -0
- package/dist/remote/mapping.js +336 -0
- package/dist/remote/mapping.js.map +1 -0
- package/dist/remote/merge.d.ts +172 -0
- package/dist/remote/merge.js +221 -0
- package/dist/remote/merge.js.map +1 -0
- package/dist/remote/periods.d.ts +209 -0
- package/dist/remote/periods.js +224 -0
- package/dist/remote/periods.js.map +1 -0
- package/dist/remote/plan.d.ts +671 -0
- package/dist/remote/plan.js +1210 -0
- package/dist/remote/plan.js.map +1 -0
- package/dist/remote/policy.d.ts +67 -0
- package/dist/remote/policy.js +67 -0
- package/dist/remote/policy.js.map +1 -0
- package/dist/remote/preflight.d.ts +112 -0
- package/dist/remote/preflight.js +342 -0
- package/dist/remote/preflight.js.map +1 -0
- package/dist/remote/prerequisites.d.ts +113 -0
- package/dist/remote/prerequisites.js +161 -0
- package/dist/remote/prerequisites.js.map +1 -0
- package/dist/remote/provider.d.ts +802 -0
- package/dist/remote/provider.js +27 -0
- package/dist/remote/provider.js.map +1 -0
- package/dist/remote/providers/github/config.d.ts +84 -0
- package/dist/remote/providers/github/config.js +161 -0
- package/dist/remote/providers/github/config.js.map +1 -0
- package/dist/remote/providers/github/connector.d.ts +33 -0
- package/dist/remote/providers/github/connector.js +774 -0
- package/dist/remote/providers/github/connector.js.map +1 -0
- package/dist/remote/providers/github/edges.d.ts +29 -0
- package/dist/remote/providers/github/edges.js +56 -0
- package/dist/remote/providers/github/edges.js.map +1 -0
- package/dist/remote/providers/github/hierarchy.d.ts +21 -0
- package/dist/remote/providers/github/hierarchy.js +46 -0
- package/dist/remote/providers/github/hierarchy.js.map +1 -0
- package/dist/remote/providers/github/index.d.ts +26 -0
- package/dist/remote/providers/github/index.js +69 -0
- package/dist/remote/providers/github/index.js.map +1 -0
- package/dist/remote/providers/github/project-iteration.d.ts +71 -0
- package/dist/remote/providers/github/project-iteration.js +203 -0
- package/dist/remote/providers/github/project-iteration.js.map +1 -0
- package/dist/remote/providers/github/project-provision.d.ts +130 -0
- package/dist/remote/providers/github/project-provision.js +247 -0
- package/dist/remote/providers/github/project-provision.js.map +1 -0
- package/dist/remote/providers/github/project-status.d.ts +115 -0
- package/dist/remote/providers/github/project-status.js +317 -0
- package/dist/remote/providers/github/project-status.js.map +1 -0
- package/dist/remote/providers/github/projects.d.ts +181 -0
- package/dist/remote/providers/github/projects.js +481 -0
- package/dist/remote/providers/github/projects.js.map +1 -0
- package/dist/remote/providers/github/translator.d.ts +103 -0
- package/dist/remote/providers/github/translator.js +400 -0
- package/dist/remote/providers/github/translator.js.map +1 -0
- package/dist/remote/providers/jira/config.d.ts +96 -0
- package/dist/remote/providers/jira/config.js +200 -0
- package/dist/remote/providers/jira/config.js.map +1 -0
- package/dist/remote/providers/jira/connector.d.ts +42 -0
- package/dist/remote/providers/jira/connector.js +1688 -0
- package/dist/remote/providers/jira/connector.js.map +1 -0
- package/dist/remote/providers/jira/fields.d.ts +292 -0
- package/dist/remote/providers/jira/fields.js +463 -0
- package/dist/remote/providers/jira/fields.js.map +1 -0
- package/dist/remote/providers/jira/hierarchy.d.ts +28 -0
- package/dist/remote/providers/jira/hierarchy.js +60 -0
- package/dist/remote/providers/jira/hierarchy.js.map +1 -0
- package/dist/remote/providers/jira/index.d.ts +29 -0
- package/dist/remote/providers/jira/index.js +100 -0
- package/dist/remote/providers/jira/index.js.map +1 -0
- package/dist/remote/providers/jira/links.d.ts +41 -0
- package/dist/remote/providers/jira/links.js +102 -0
- package/dist/remote/providers/jira/links.js.map +1 -0
- package/dist/remote/providers/jira/sprints.d.ts +80 -0
- package/dist/remote/providers/jira/sprints.js +107 -0
- package/dist/remote/providers/jira/sprints.js.map +1 -0
- package/dist/remote/providers/jira/translator.d.ts +61 -0
- package/dist/remote/providers/jira/translator.js +382 -0
- package/dist/remote/providers/jira/translator.js.map +1 -0
- package/dist/remote/providers/jira/types.d.ts +112 -0
- package/dist/remote/providers/jira/types.js +160 -0
- package/dist/remote/providers/jira/types.js.map +1 -0
- package/dist/remote/providers/jira/vocabulary.d.ts +55 -0
- package/dist/remote/providers/jira/vocabulary.js +91 -0
- package/dist/remote/providers/jira/vocabulary.js.map +1 -0
- package/dist/remote/providers/jsonfile/config.d.ts +61 -0
- package/dist/remote/providers/jsonfile/config.js +83 -0
- package/dist/remote/providers/jsonfile/config.js.map +1 -0
- package/dist/remote/providers/jsonfile/connector.d.ts +34 -0
- package/dist/remote/providers/jsonfile/connector.js +251 -0
- package/dist/remote/providers/jsonfile/connector.js.map +1 -0
- package/dist/remote/providers/jsonfile/index.d.ts +38 -0
- package/dist/remote/providers/jsonfile/index.js +90 -0
- package/dist/remote/providers/jsonfile/index.js.map +1 -0
- package/dist/remote/providers/jsonfile/store.d.ts +59 -0
- package/dist/remote/providers/jsonfile/store.js +48 -0
- package/dist/remote/providers/jsonfile/store.js.map +1 -0
- package/dist/remote/providers/jsonfile/translator.d.ts +54 -0
- package/dist/remote/providers/jsonfile/translator.js +199 -0
- package/dist/remote/providers/jsonfile/translator.js.map +1 -0
- package/dist/remote/providers/linear/config.d.ts +83 -0
- package/dist/remote/providers/linear/config.js +140 -0
- package/dist/remote/providers/linear/config.js.map +1 -0
- package/dist/remote/providers/linear/connector.d.ts +36 -0
- package/dist/remote/providers/linear/connector.js +438 -0
- package/dist/remote/providers/linear/connector.js.map +1 -0
- package/dist/remote/providers/linear/estimate.d.ts +63 -0
- package/dist/remote/providers/linear/estimate.js +112 -0
- package/dist/remote/providers/linear/estimate.js.map +1 -0
- package/dist/remote/providers/linear/index.d.ts +31 -0
- package/dist/remote/providers/linear/index.js +75 -0
- package/dist/remote/providers/linear/index.js.map +1 -0
- package/dist/remote/providers/linear/labels.d.ts +51 -0
- package/dist/remote/providers/linear/labels.js +129 -0
- package/dist/remote/providers/linear/labels.js.map +1 -0
- package/dist/remote/providers/linear/states.d.ts +97 -0
- package/dist/remote/providers/linear/states.js +124 -0
- package/dist/remote/providers/linear/states.js.map +1 -0
- package/dist/remote/providers/linear/translator.d.ts +48 -0
- package/dist/remote/providers/linear/translator.js +343 -0
- package/dist/remote/providers/linear/translator.js.map +1 -0
- package/dist/remote/providers/linear/vocabulary.d.ts +27 -0
- package/dist/remote/providers/linear/vocabulary.js +42 -0
- package/dist/remote/providers/linear/vocabulary.js.map +1 -0
- package/dist/remote/provision.d.ts +45 -0
- package/dist/remote/provision.js +81 -0
- package/dist/remote/provision.js.map +1 -0
- package/dist/remote/pull.d.ts +52 -0
- package/dist/remote/pull.js +116 -0
- package/dist/remote/pull.js.map +1 -0
- package/dist/remote/readiness.d.ts +67 -0
- package/dist/remote/readiness.js +336 -0
- package/dist/remote/readiness.js.map +1 -0
- package/dist/remote/rebase.d.ts +157 -0
- package/dist/remote/rebase.js +255 -0
- package/dist/remote/rebase.js.map +1 -0
- package/dist/remote/reconcile.d.ts +115 -0
- package/dist/remote/reconcile.js +140 -0
- package/dist/remote/reconcile.js.map +1 -0
- package/dist/remote/redact.d.ts +70 -0
- package/dist/remote/redact.js +132 -0
- package/dist/remote/redact.js.map +1 -0
- package/dist/remote/registry.d.ts +32 -0
- package/dist/remote/registry.js +54 -0
- package/dist/remote/registry.js.map +1 -0
- package/dist/remote/remotes.d.ts +94 -0
- package/dist/remote/remotes.js +182 -0
- package/dist/remote/remotes.js.map +1 -0
- package/dist/remote/render.d.ts +147 -0
- package/dist/remote/render.js +683 -0
- package/dist/remote/render.js.map +1 -0
- package/dist/remote/report.d.ts +63 -0
- package/dist/remote/report.js +345 -0
- package/dist/remote/report.js.map +1 -0
- package/dist/remote/resolutions.d.ts +115 -0
- package/dist/remote/resolutions.js +217 -0
- package/dist/remote/resolutions.js.map +1 -0
- package/dist/remote/scaffold.d.ts +134 -0
- package/dist/remote/scaffold.js +370 -0
- package/dist/remote/scaffold.js.map +1 -0
- package/dist/remote/scope.d.ts +57 -0
- package/dist/remote/scope.js +91 -0
- package/dist/remote/scope.js.map +1 -0
- package/dist/remote/selection.d.ts +38 -0
- package/dist/remote/selection.js +50 -0
- package/dist/remote/selection.js.map +1 -0
- package/dist/remote/shape.d.ts +141 -0
- package/dist/remote/shape.js +220 -0
- package/dist/remote/shape.js.map +1 -0
- package/dist/remote/status.d.ts +104 -0
- package/dist/remote/status.js +238 -0
- package/dist/remote/status.js.map +1 -0
- package/dist/remote/sync.d.ts +182 -0
- package/dist/remote/sync.js +523 -0
- package/dist/remote/sync.js.map +1 -0
- package/dist/remote/transport/budget.d.ts +48 -0
- package/dist/remote/transport/budget.js +68 -0
- package/dist/remote/transport/budget.js.map +1 -0
- package/dist/remote/transport/connector.d.ts +115 -0
- package/dist/remote/transport/connector.js +21 -0
- package/dist/remote/transport/connector.js.map +1 -0
- package/dist/remote/transport/error.d.ts +88 -0
- package/dist/remote/transport/error.js +196 -0
- package/dist/remote/transport/error.js.map +1 -0
- package/dist/remote/transport/gh.d.ts +20 -0
- package/dist/remote/transport/gh.js +41 -0
- package/dist/remote/transport/gh.js.map +1 -0
- package/dist/remote/transport/graphql.d.ts +25 -0
- package/dist/remote/transport/graphql.js +81 -0
- package/dist/remote/transport/graphql.js.map +1 -0
- package/dist/remote/transport/http.d.ts +47 -0
- package/dist/remote/transport/http.js +195 -0
- package/dist/remote/transport/http.js.map +1 -0
- package/dist/remote/transport/index.d.ts +18 -0
- package/dist/remote/transport/index.js +19 -0
- package/dist/remote/transport/index.js.map +1 -0
- package/dist/remote/transport/process.d.ts +39 -0
- package/dist/remote/transport/process.js +121 -0
- package/dist/remote/transport/process.js.map +1 -0
- package/dist/remote/transport/rest.d.ts +22 -0
- package/dist/remote/transport/rest.js +57 -0
- package/dist/remote/transport/rest.js.map +1 -0
- package/dist/remote/transport/retry.d.ts +91 -0
- package/dist/remote/transport/retry.js +138 -0
- package/dist/remote/transport/retry.js.map +1 -0
- package/dist/remote/transport-error.d.ts +19 -0
- package/dist/remote/transport-error.js +22 -0
- package/dist/remote/transport-error.js.map +1 -0
- package/dist/remote/vocabulary.d.ts +126 -0
- package/dist/remote/vocabulary.js +57 -0
- package/dist/remote/vocabulary.js.map +1 -0
- package/dist/runner/config.d.ts +7 -0
- package/dist/runner/config.js +61 -0
- package/dist/runner/config.js.map +1 -0
- package/dist/runner/git.d.ts +19 -0
- package/dist/runner/git.js +26 -0
- package/dist/runner/git.js.map +1 -0
- package/dist/runner/index.d.ts +20 -0
- package/dist/runner/index.js +21 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/loop.d.ts +46 -0
- package/dist/runner/loop.js +243 -0
- package/dist/runner/loop.js.map +1 -0
- package/dist/runner/pi.d.ts +39 -0
- package/dist/runner/pi.js +276 -0
- package/dist/runner/pi.js.map +1 -0
- package/dist/runner/shell.d.ts +44 -0
- package/dist/runner/shell.js +174 -0
- package/dist/runner/shell.js.map +1 -0
- package/dist/runner/stats.d.ts +19 -0
- package/dist/runner/stats.js +58 -0
- package/dist/runner/stats.js.map +1 -0
- package/dist/runner/types.d.ts +218 -0
- package/dist/runner/types.js +37 -0
- package/dist/runner/types.js.map +1 -0
- package/dist/server/git.d.ts +8 -0
- package/dist/server/git.js +50 -0
- package/dist/server/git.js.map +1 -0
- package/dist/server/http/respond.d.ts +13 -0
- package/dist/server/http/respond.js +59 -0
- package/dist/server/http/respond.js.map +1 -0
- package/dist/server/http/router.d.ts +27 -0
- package/dist/server/http/router.js +48 -0
- package/dist/server/http/router.js.map +1 -0
- package/dist/server/http/static.d.ts +14 -0
- package/dist/server/http/static.js +55 -0
- package/dist/server/http/static.js.map +1 -0
- package/dist/server/index.d.ts +58 -0
- package/dist/server/index.js +124 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/routes/board.d.ts +8 -0
- package/dist/server/routes/board.js +19 -0
- package/dist/server/routes/board.js.map +1 -0
- package/dist/server/routes/comments.d.ts +13 -0
- package/dist/server/routes/comments.js +36 -0
- package/dist/server/routes/comments.js.map +1 -0
- package/dist/server/routes/flags.d.ts +16 -0
- package/dist/server/routes/flags.js +37 -0
- package/dist/server/routes/flags.js.map +1 -0
- package/dist/server/routes/git.d.ts +13 -0
- package/dist/server/routes/git.js +84 -0
- package/dist/server/routes/git.js.map +1 -0
- package/dist/server/routes/remotes.d.ts +36 -0
- package/dist/server/routes/remotes.js +749 -0
- package/dist/server/routes/remotes.js.map +1 -0
- package/dist/server/routes/views.d.ts +10 -0
- package/dist/server/routes/views.js +63 -0
- package/dist/server/routes/views.js.map +1 -0
- package/dist/server/views/schema.d.ts +2 -0
- package/dist/server/views/schema.js +121 -0
- package/dist/server/views/schema.js.map +1 -0
- package/dist/server/views/store.d.ts +17 -0
- package/dist/server/views/store.js +67 -0
- package/dist/server/views/store.js.map +1 -0
- package/dist/shared/adf.d.ts +83 -0
- package/dist/shared/adf.js +795 -0
- package/dist/shared/adf.js.map +1 -0
- package/dist/shared/blocking.d.ts +130 -0
- package/dist/shared/blocking.js +179 -0
- package/dist/shared/blocking.js.map +1 -0
- package/dist/shared/changes.d.ts +100 -0
- package/dist/shared/changes.js +112 -0
- package/dist/shared/changes.js.map +1 -0
- package/dist/shared/cohesion.d.ts +75 -0
- package/dist/shared/cohesion.js +132 -0
- package/dist/shared/cohesion.js.map +1 -0
- package/dist/shared/dependency-rollup.d.ts +91 -0
- package/dist/shared/dependency-rollup.js +132 -0
- package/dist/shared/dependency-rollup.js.map +1 -0
- package/dist/shared/errors.d.ts +23 -0
- package/dist/shared/errors.js +24 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/flag-rollup.d.ts +88 -0
- package/dist/shared/flag-rollup.js +119 -0
- package/dist/shared/flag-rollup.js.map +1 -0
- package/dist/shared/git-sync.d.ts +90 -0
- package/dist/shared/git-sync.js +9 -0
- package/dist/shared/git-sync.js.map +1 -0
- package/dist/shared/index.d.ts +40 -0
- package/dist/shared/index.js +41 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/model.d.ts +218 -0
- package/dist/shared/model.js +95 -0
- package/dist/shared/model.js.map +1 -0
- package/dist/shared/period-query.d.ts +21 -0
- package/dist/shared/period-query.js +26 -0
- package/dist/shared/period-query.js.map +1 -0
- package/dist/shared/period-stance.d.ts +45 -0
- package/dist/shared/period-stance.js +50 -0
- package/dist/shared/period-stance.js.map +1 -0
- package/dist/shared/plans/breakdown.d.ts +66 -0
- package/dist/shared/plans/breakdown.js +186 -0
- package/dist/shared/plans/breakdown.js.map +1 -0
- package/dist/shared/plans/index.d.ts +21 -0
- package/dist/shared/plans/index.js +22 -0
- package/dist/shared/plans/index.js.map +1 -0
- package/dist/shared/plans/instantiate.d.ts +61 -0
- package/dist/shared/plans/instantiate.js +184 -0
- package/dist/shared/plans/instantiate.js.map +1 -0
- package/dist/shared/plans/reading.d.ts +79 -0
- package/dist/shared/plans/reading.js +149 -0
- package/dist/shared/plans/reading.js.map +1 -0
- package/dist/shared/plans/reparent.d.ts +54 -0
- package/dist/shared/plans/reparent.js +217 -0
- package/dist/shared/plans/reparent.js.map +1 -0
- package/dist/shared/plans/timeline.d.ts +93 -0
- package/dist/shared/plans/timeline.js +224 -0
- package/dist/shared/plans/timeline.js.map +1 -0
- package/dist/shared/plans/upstream.d.ts +67 -0
- package/dist/shared/plans/upstream.js +73 -0
- package/dist/shared/plans/upstream.js.map +1 -0
- package/dist/shared/remote-api.d.ts +413 -0
- package/dist/shared/remote-api.js +11 -0
- package/dist/shared/remote-api.js.map +1 -0
- package/dist/shared/remote-coverage.d.ts +120 -0
- package/dist/shared/remote-coverage.js +98 -0
- package/dist/shared/remote-coverage.js.map +1 -0
- package/dist/shared/remote-readiness.d.ts +162 -0
- package/dist/shared/remote-readiness.js +49 -0
- package/dist/shared/remote-readiness.js.map +1 -0
- package/dist/shared/remote-status.d.ts +268 -0
- package/dist/shared/remote-status.js +79 -0
- package/dist/shared/remote-status.js.map +1 -0
- package/dist/shared/rollup.d.ts +90 -0
- package/dist/shared/rollup.js +119 -0
- package/dist/shared/rollup.js.map +1 -0
- package/dist/shared/static.d.ts +65 -0
- package/dist/shared/static.js +107 -0
- package/dist/shared/static.js.map +1 -0
- package/dist/shared/template-params.d.ts +80 -0
- package/dist/shared/template-params.js +141 -0
- package/dist/shared/template-params.js.map +1 -0
- package/dist/shared/view.d.ts +105 -0
- package/dist/shared/view.js +44 -0
- package/dist/shared/view.js.map +1 -0
- package/dist/shared/work-unit.d.ts +34 -0
- package/dist/shared/work-unit.js +47 -0
- package/dist/shared/work-unit.js.map +1 -0
- package/dist/sync/apply.d.ts +21 -0
- package/dist/sync/apply.js +149 -0
- package/dist/sync/apply.js.map +1 -0
- package/dist/sync/dto.d.ts +9 -0
- package/dist/sync/dto.js +162 -0
- package/dist/sync/dto.js.map +1 -0
- package/dist/sync/index.d.ts +24 -0
- package/dist/sync/index.js +25 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/patch.d.ts +13 -0
- package/dist/sync/patch.js +212 -0
- package/dist/sync/patch.js.map +1 -0
- package/dist/sync/session.d.ts +31 -0
- package/dist/sync/session.js +55 -0
- package/dist/sync/session.js.map +1 -0
- package/dist/sync/static.d.ts +11 -0
- package/dist/sync/static.js +33 -0
- package/dist/sync/static.js.map +1 -0
- package/package.json +95 -4
- package/templates/blank.yml +71 -0
- package/templates/context/bug.md +107 -0
- package/templates/context/default.md +119 -0
- package/templates/context/epic.md +81 -0
- package/templates/context/feature.md +91 -0
- package/templates/context/research.md +87 -0
- package/templates/context/review.md +81 -0
- package/templates/context/story.md +94 -0
- package/templates/context/sub_task.md +108 -0
- package/templates/context/task.md +86 -0
- package/templates/context/test.md +73 -0
- package/templates/context/user_story.md +147 -0
- package/templates/kanban.yml +226 -0
- package/templates/scrum.yml +567 -0
- package/web/dist/assets/index-D0j8OnHq.js +35 -0
- package/web/dist/assets/index-DFL7v8aP.css +1 -0
- package/web/dist/index.html +13 -0
- package/web/dist-viewer/assets/index-Bcns6OuC.css +1 -0
- package/web/dist-viewer/assets/index-vVXzeiFo.js +7 -0
- package/web/dist-viewer/index.html +14 -0
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The correspondence store — which document is which remote issue, and what it
|
|
3
|
+
* looked like last time both sides agreed.
|
|
4
|
+
*
|
|
5
|
+
* Lives under `.lpm/remotes/<name>/links.json`, committed like everything else.
|
|
6
|
+
* Its sibling `mapping.json` holds the mapping fingerprint every sync compares
|
|
7
|
+
* against (LP-370, `fingerprint.ts`).
|
|
8
|
+
*
|
|
9
|
+
* Why not a frontmatter field? `remote_id:` would be a breaking reserved field
|
|
10
|
+
* (it would shadow a user attribute of that name), it does not extend to two
|
|
11
|
+
* remotes, and it has nowhere to keep the base snapshot. Same reasoning that
|
|
12
|
+
* keeps derived inverses out of the documents.
|
|
13
|
+
*
|
|
14
|
+
* ## Merge safety
|
|
15
|
+
*
|
|
16
|
+
* Keys are written sorted and each link entry is a contiguous line-group, so
|
|
17
|
+
* two people syncing different issues on different branches produce a
|
|
18
|
+
* non-overlapping diff. The file ends with a trailing newline. A hand-edited
|
|
19
|
+
* or merge-mangled file is rejected with a `BoardError` naming the path and the
|
|
20
|
+
* offending key — never a bare JSON parse error.
|
|
21
|
+
*
|
|
22
|
+
* ## Concurrency
|
|
23
|
+
*
|
|
24
|
+
* Two syncs can race on this file (CI plus a laptop, two teammates). The
|
|
25
|
+
* design decision is **last-writer-wins with git as the backstop**: no lockfile
|
|
26
|
+
* in the per-remote folder. The store's public API (`loadLinkStore` /
|
|
27
|
+
* `saveLinkStore`) is free of the single-file assumption so a per-document split
|
|
28
|
+
* under `links/` remains an internal change if the single file proves
|
|
29
|
+
* conflict-prone in practice.
|
|
30
|
+
*/
|
|
31
|
+
import type { BoardPaths } from '../core/storage/paths.js';
|
|
32
|
+
import type { HierarchyRecord } from './hierarchy.js';
|
|
33
|
+
/** One document's remote twin, as stored on disk. */
|
|
34
|
+
export interface LinkEntry {
|
|
35
|
+
/** The remote system's opaque id for this issue. */
|
|
36
|
+
remoteId: string;
|
|
37
|
+
/** A human-readable key, e.g. `acme/payments#418`. */
|
|
38
|
+
remoteKey: string;
|
|
39
|
+
/** Full URL to the remote issue, so nothing has to reconstruct it. */
|
|
40
|
+
remoteUrl: string;
|
|
41
|
+
/**
|
|
42
|
+
* The remote's GraphQL node id, where the platform has one (GitHub's
|
|
43
|
+
* `node_id`). Recorded beside the number (`remoteId`) and the URL so a later
|
|
44
|
+
* story (sub-issues, Projects v2) can address the issue on the GraphQL side
|
|
45
|
+
* without a second lookup (LP-307). Absent on a platform without one.
|
|
46
|
+
*/
|
|
47
|
+
nodeId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* The remote parent this twin was actually filed under, as the last write
|
|
50
|
+
* left it: the remote id, or `null` for "filed with no remote parent".
|
|
51
|
+
*
|
|
52
|
+
* The base snapshot records the *local* parent (`base.parent`), which
|
|
53
|
+
* answers "did somebody reparent this locally?" and cannot answer the
|
|
54
|
+
* question a plan filed a piece at a time asks — **was the parent on the
|
|
55
|
+
* remote yet when this was created?** A story pushed before its feature is
|
|
56
|
+
* filed at the remote's top level with its local parent unchanged, so no
|
|
57
|
+
* diff ever appears, and pushing the feature afterwards left the story
|
|
58
|
+
* hanging at the root for good. Recorded as `null` in that case, the next
|
|
59
|
+
* push of the story sees a parent that has since become resolvable and
|
|
60
|
+
* repairs the shape.
|
|
61
|
+
*
|
|
62
|
+
* Absent on a link written before this was recorded, which is read as "we do
|
|
63
|
+
* not know" and changes nothing — an unknown must not manufacture a
|
|
64
|
+
* reparent for every twin on the board.
|
|
65
|
+
*/
|
|
66
|
+
parentRemoteId?: string | null;
|
|
67
|
+
/** When this link was last written (ISO-8601). */
|
|
68
|
+
syncedAt: string;
|
|
69
|
+
/**
|
|
70
|
+
* The remote's own revision marker at the time of sync — a timestamp or a
|
|
71
|
+
* content hash, whatever the connector supplies. Used on the next pull to
|
|
72
|
+
* ask "has the remote side changed?".
|
|
73
|
+
*/
|
|
74
|
+
remoteRev: string;
|
|
75
|
+
/**
|
|
76
|
+
* Every mapped field's value as it stood when both sides last agreed, keyed
|
|
77
|
+
* by local attribute name. Absent when no base snapshot has been stored yet
|
|
78
|
+
* (the link was just created and a pull has not confirmed it).
|
|
79
|
+
*
|
|
80
|
+
* Fields encoded in a managed block rather than a native remote field still
|
|
81
|
+
* appear here under their local names — the base is vocabulary-agnostic.
|
|
82
|
+
*/
|
|
83
|
+
base?: Record<string, unknown>;
|
|
84
|
+
/**
|
|
85
|
+
* The remote id of the managed comment holding this twin's degraded fields,
|
|
86
|
+
* when `encoding: comment` (or a refused body write) put them there. Absent
|
|
87
|
+
* when the block lives in the body, or when no managed comment exists yet.
|
|
88
|
+
* The next push needs this id to edit rather than duplicate the comment.
|
|
89
|
+
*/
|
|
90
|
+
managedCommentId?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Local user-comment index (1-based, as a string) → the remote comment id
|
|
93
|
+
* that comment was posted as (LP-316). The push posts only indexes absent
|
|
94
|
+
* from this map; the pull appends only remote ids absent from its values.
|
|
95
|
+
* The managed comment is tracked separately (`managedCommentId`) and never
|
|
96
|
+
* appears here, so it is excluded from comment sync in both directions.
|
|
97
|
+
*/
|
|
98
|
+
commentIds?: Record<string, string>;
|
|
99
|
+
/**
|
|
100
|
+
* The hierarchy encoding the remote last used (LP-493), recorded after a
|
|
101
|
+
* successful sync so the next sync can detect an encoding switch. Absent
|
|
102
|
+
* before the first sync, or on a store predating LP-493.
|
|
103
|
+
*/
|
|
104
|
+
hierarchy?: HierarchyRecord;
|
|
105
|
+
/**
|
|
106
|
+
* Content hash of `base` at write time, so a reader can detect an edit to
|
|
107
|
+
* the file without comparing every field. Absent when `base` is absent.
|
|
108
|
+
*/
|
|
109
|
+
baseHash?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A decoupled document's tombstone — the memory that a human deliberately
|
|
113
|
+
* dropped a link, so no later sync re-files it (LP-366 writes these; the
|
|
114
|
+
* lifecycle resolver only reads them). Unlike a link, a tombstone names no
|
|
115
|
+
* living twin: the link is gone, and the last known remote key plus the reason
|
|
116
|
+
* it was dropped are the whole record.
|
|
117
|
+
*/
|
|
118
|
+
export interface Tombstone {
|
|
119
|
+
/** The last known human-readable key, e.g. `acme/payments#418`. */
|
|
120
|
+
remoteKey: string;
|
|
121
|
+
/** Why the link was dropped: `manual`, `out_of_scope`, or a policy reason. */
|
|
122
|
+
reason: string;
|
|
123
|
+
/** When it happened (ISO-8601). */
|
|
124
|
+
at: string;
|
|
125
|
+
}
|
|
126
|
+
/** What lives on disk inside `.lpm/remotes/<name>/links.json`. */
|
|
127
|
+
export interface LinkStoreFile {
|
|
128
|
+
version: 1;
|
|
129
|
+
/**
|
|
130
|
+
* The remote's cursor at the last successful pull — a page token, a
|
|
131
|
+
* timestamp, or whatever the provider returns. Lets the next pull ask only
|
|
132
|
+
* for what changed since last time. Null before the first pull.
|
|
133
|
+
*/
|
|
134
|
+
cursor: string | null;
|
|
135
|
+
/** Every linked document, keyed by local id. Written in sorted key order. */
|
|
136
|
+
links: Record<string, LinkEntry>;
|
|
137
|
+
/**
|
|
138
|
+
* The hierarchy encoding the remote last used, recorded after a successful
|
|
139
|
+
* sync (LP-493). Absent on a store that has never synced.
|
|
140
|
+
*/
|
|
141
|
+
hierarchy?: HierarchyRecord;
|
|
142
|
+
/**
|
|
143
|
+
* Documents deliberately decoupled, keyed by local id. Written in sorted key
|
|
144
|
+
* order under a key separate from `links`, so the merge-friendliness of the
|
|
145
|
+
* file covers tombstones too (LP-366). Absent when there are none.
|
|
146
|
+
*/
|
|
147
|
+
tombstones?: Record<string, Tombstone>;
|
|
148
|
+
/**
|
|
149
|
+
* When a person first confirmed writing to this remote (ISO-8601), the
|
|
150
|
+
* one-time first-write consent (LP-350). Absent until then; a sync that
|
|
151
|
+
* would make the first write asks for confirmation once and records this.
|
|
152
|
+
*/
|
|
153
|
+
consentedAt?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The link store in memory: forward and reverse indexes for O(1) lookup in
|
|
157
|
+
* both directions.
|
|
158
|
+
*/
|
|
159
|
+
export interface LinkStore {
|
|
160
|
+
version: number;
|
|
161
|
+
cursor: string | null;
|
|
162
|
+
/** Local id → remote twin. */
|
|
163
|
+
links: Map<string, LinkEntry>;
|
|
164
|
+
/** Remote id → local id. Built on load; never written to disk. */
|
|
165
|
+
byRemote: Map<string, string>;
|
|
166
|
+
/** Local id → tombstone, for documents deliberately decoupled. */
|
|
167
|
+
tombstones: Map<string, Tombstone>;
|
|
168
|
+
/** The hierarchy encoding the remote last used (LP-493). */
|
|
169
|
+
hierarchy?: HierarchyRecord;
|
|
170
|
+
/** When first-write consent was recorded (LP-350); absent until then. */
|
|
171
|
+
consentedAt?: string;
|
|
172
|
+
}
|
|
173
|
+
/** The path to one remote's link store. */
|
|
174
|
+
export declare function linksPath(paths: BoardPaths, remoteName: string): string;
|
|
175
|
+
/**
|
|
176
|
+
* Read the link store from disk. A missing file is a valid empty store — the
|
|
177
|
+
* first sync creates it. A file that exists but cannot be parsed is a
|
|
178
|
+
* `BoardError` naming the path.
|
|
179
|
+
*/
|
|
180
|
+
export declare function loadLinkStore(paths: BoardPaths, remoteName: string): LinkStore;
|
|
181
|
+
/**
|
|
182
|
+
* Write the link store to disk. Creates the per-remote folder if it does not
|
|
183
|
+
* exist. Keys are written in sorted order so two people syncing different
|
|
184
|
+
* issues produce a mergeable diff.
|
|
185
|
+
*/
|
|
186
|
+
export declare function saveLinkStore(paths: BoardPaths, remoteName: string, store: LinkStore): void;
|
|
187
|
+
/** The remote twin of `localId`, or undefined when it is not linked. */
|
|
188
|
+
export declare function getLink(store: LinkStore, localId: string): LinkEntry | undefined;
|
|
189
|
+
/** The tombstone for `localId`, when the document was deliberately decoupled. */
|
|
190
|
+
export declare function getTombstone(store: LinkStore, localId: string): Tombstone | undefined;
|
|
191
|
+
/** True when `localId` was deliberately decoupled (LP-366 records these). */
|
|
192
|
+
export declare function isDecoupled(store: LinkStore, localId: string): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Record (or replace) the tombstone for `localId`. A tombstone is the memory
|
|
195
|
+
* that a human dropped the link on purpose; it never names a living twin.
|
|
196
|
+
*/
|
|
197
|
+
export declare function setTombstone(store: LinkStore, localId: string, tombstone: Tombstone): void;
|
|
198
|
+
/**
|
|
199
|
+
* Remove the tombstone for `localId` — the document is free to be linked (and
|
|
200
|
+
* therefore filed) again. Returns true when there was one to remove.
|
|
201
|
+
*/
|
|
202
|
+
export declare function clearTombstone(store: LinkStore, localId: string): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Decouple a document: drop its link (and with it the base snapshot — there is
|
|
205
|
+
* nothing left to be a base for) and record a tombstone carrying the last
|
|
206
|
+
* known remote key, the reason, and when it happened. The remote twin is
|
|
207
|
+
* never touched by this — decoupling is a local decision that leaves the
|
|
208
|
+
* remote issue alone.
|
|
209
|
+
*
|
|
210
|
+
* Works whether or not the document is currently linked: a never-linked
|
|
211
|
+
* document is decoupled with an empty remote key, which still marks it as
|
|
212
|
+
* "never file this". Returns the tombstone written.
|
|
213
|
+
*/
|
|
214
|
+
export declare function decoupleLink(store: LinkStore, localId: string, reason: string, at: string): Tombstone;
|
|
215
|
+
/** The local id linked to `remoteId`, or undefined when it is not linked. */
|
|
216
|
+
export declare function getLocalId(store: LinkStore, remoteId: string): string | undefined;
|
|
217
|
+
/** True when `localId` has a recorded remote twin. */
|
|
218
|
+
export declare function isLinked(store: LinkStore, localId: string): boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Record (or replace) the remote twin of `localId`. If this local id was
|
|
221
|
+
* previously linked to a different remote id the old reverse entry is dropped.
|
|
222
|
+
*/
|
|
223
|
+
export declare function setLink(store: LinkStore, localId: string, entry: LinkEntry): void;
|
|
224
|
+
/**
|
|
225
|
+
* Remove the link for `localId`. Returns true when there was one to remove.
|
|
226
|
+
*/
|
|
227
|
+
export declare function removeLink(store: LinkStore, localId: string): boolean;
|
|
228
|
+
/** The remote id of the managed comment recorded for `localId`, or undefined. */
|
|
229
|
+
export declare function getManagedCommentId(store: LinkStore, localId: string): string | undefined;
|
|
230
|
+
/**
|
|
231
|
+
* True when a remote comment is the managed comment for `localId` — our own
|
|
232
|
+
* output, excluded from comment sync in both directions (LP-278). Known by
|
|
233
|
+
* id where the link store records it; by body where the id was lost. A push
|
|
234
|
+
* never re-posts it as a user comment, and a pull never imports it as one.
|
|
235
|
+
*/
|
|
236
|
+
export declare function isManagedComment(store: LinkStore, localId: string, commentId: string, body: string): boolean;
|
|
237
|
+
/**
|
|
238
|
+
* Record (or clear) the managed comment id for `localId`. A no-op when the
|
|
239
|
+
* document is not linked — the comment is an attribute of an existing link.
|
|
240
|
+
*/
|
|
241
|
+
export declare function setManagedCommentId(store: LinkStore, localId: string, commentId: string | undefined): void;
|
|
242
|
+
/**
|
|
243
|
+
* The local comment indexes (1-based, as a string) already synced for
|
|
244
|
+
* `localId`, or an empty set when the document is unlinked or has none. The
|
|
245
|
+
* push posts only indexes absent from this set; a comment the log has since
|
|
246
|
+
* grown past (new entries appended below) is still present, because appends
|
|
247
|
+
* never shift the indexes recorded for earlier entries.
|
|
248
|
+
*/
|
|
249
|
+
export declare function getSyncedCommentIndexes(store: LinkStore, localId: string): Set<number>;
|
|
250
|
+
/**
|
|
251
|
+
* The remote comment ids already synced for `localId`, or an empty set. The
|
|
252
|
+
* pull appends only remote ids absent from this set; the managed comment's id
|
|
253
|
+
* is deliberately not among them, so the caller still excludes it by body/id
|
|
254
|
+
* rather than trusting the absence to be meaningful.
|
|
255
|
+
*/
|
|
256
|
+
export declare function getSyncedRemoteCommentIds(store: LinkStore, localId: string): Set<string>;
|
|
257
|
+
/**
|
|
258
|
+
* Record that the local comment at `index` (1-based) is the remote comment
|
|
259
|
+
* `commentId` for `localId` (LP-316). A no-op when the document is not
|
|
260
|
+
* linked. Clearing a synced comment is not offered — the log is append-only
|
|
261
|
+
* and a recorded id stays recorded, so nothing is ever posted twice.
|
|
262
|
+
*/
|
|
263
|
+
export declare function setCommentId(store: LinkStore, localId: string, index: number, commentId: string): void;
|
|
264
|
+
/**
|
|
265
|
+
* Change the local id a link is keyed under. Does nothing when `oldId` has no
|
|
266
|
+
* link or when the two ids are equal, and overwrites any existing link at
|
|
267
|
+
* `newId` as the safe default — the caller must resolve that collision first.
|
|
268
|
+
*/
|
|
269
|
+
export declare function rewriteLinkId(store: LinkStore, oldId: string, newId: string): void;
|
|
270
|
+
/**
|
|
271
|
+
* Report links whose local document no longer exists. Never prunes silently —
|
|
272
|
+
* the caller decides whether to call `removeLink` for each. The returned array
|
|
273
|
+
* is the list of local ids that have no matching document.
|
|
274
|
+
*/
|
|
275
|
+
export declare function findMissingLinks(store: LinkStore, existingIds: Set<string>): string[];
|
|
276
|
+
/**
|
|
277
|
+
* Remove every link whose local document is not in `existingIds`. Returns the
|
|
278
|
+
* ids that were pruned.
|
|
279
|
+
*/
|
|
280
|
+
export declare function pruneMissingLinks(store: LinkStore, existingIds: Set<string>): string[];
|
|
281
|
+
/**
|
|
282
|
+
* Tombstones whose local document no longer exists. Like `findMissingLinks`,
|
|
283
|
+
* never prunes silently — the caller decides. A tombstone left behind by a
|
|
284
|
+
* deleted document is dead weight, not a correctness bug, but `lpm check`
|
|
285
|
+
* reports it so the store stays honest.
|
|
286
|
+
*/
|
|
287
|
+
export declare function findMissingTombstones(store: LinkStore, existingIds: Set<string>): string[];
|
|
288
|
+
/**
|
|
289
|
+
* Remove every tombstone whose local document is not in `existingIds`.
|
|
290
|
+
* Returns the ids that were pruned.
|
|
291
|
+
*/
|
|
292
|
+
export declare function pruneMissingTombstones(store: LinkStore, existingIds: Set<string>): string[];
|
|
293
|
+
/**
|
|
294
|
+
* Strip the managed block from a body, returning the text the remote side
|
|
295
|
+
* wrote — the content the hash should represent. When there is no managed
|
|
296
|
+
* block the body is returned unchanged.
|
|
297
|
+
*/
|
|
298
|
+
export declare function stripManagedBlock(body: string): string;
|
|
299
|
+
/**
|
|
300
|
+
* Compute a stable hash of the *normalised* body — managed block excluded — so
|
|
301
|
+
* the base snapshot stores a short token rather than the full text. The
|
|
302
|
+
* returned string carries a `sha256:` prefix so a reader can tell a hash from
|
|
303
|
+
* a literal body value at a glance.
|
|
304
|
+
*
|
|
305
|
+
* The hash is over the trimmed text after the managed block is removed; two
|
|
306
|
+
* bodies that differ only in trailing whitespace outside the managed block
|
|
307
|
+
* produce the same hash.
|
|
308
|
+
*
|
|
309
|
+
* **Line endings are normalised first**, and that is not cosmetic. A board
|
|
310
|
+
* checked out on Windows has `
|
|
311
|
+
` in every document; a remote hands its text
|
|
312
|
+
* back with `
|
|
313
|
+
`. Hashing them apart makes every document permanently *ahead*:
|
|
314
|
+
* the push rewrites all of them, the next push does it again, and two
|
|
315
|
+
* teammates on different operating systems fight over bodies neither has
|
|
316
|
+
* edited.
|
|
317
|
+
*
|
|
318
|
+
* `normalize` is the same argument made for a remote whose body format is not
|
|
319
|
+
* markdown (`Translator.normalizeBody`): Jira stores ADF, which has paragraphs
|
|
320
|
+
* but no source line breaks, so a hard-wrapped body comes back as one long
|
|
321
|
+
* line and would differ from itself for ever. Pass it when hashing a **board**
|
|
322
|
+
* body that will be compared against a base recorded from the remote's echo;
|
|
323
|
+
* never when hashing prose the remote just handed back, which has already been
|
|
324
|
+
* through that round trip.
|
|
325
|
+
*/
|
|
326
|
+
export declare function hashBody(body: string, normalize?: (markdown: string) => string): string;
|
|
327
|
+
/**
|
|
328
|
+
* True when `value` looks like a body hash — a string that starts with
|
|
329
|
+
* `sha256:` followed by 64 hex digits.
|
|
330
|
+
*/
|
|
331
|
+
export declare function isBodyHash(value: unknown): value is string;
|
|
332
|
+
/**
|
|
333
|
+
* Compute the base snapshot for one document: every mapped field's value as it
|
|
334
|
+
* stands right now. The body is stored as a hash (`hashBody`), not as the full
|
|
335
|
+
* text. Fields carried in the managed block still appear under their local
|
|
336
|
+
* names — the base is vocabulary-agnostic.
|
|
337
|
+
*
|
|
338
|
+
* `mappedFields` is the set of local attribute names the mapping declares.
|
|
339
|
+
* Only those fields land in the snapshot; nothing else is included, because a
|
|
340
|
+
* field the mapping does not mention cannot diverge.
|
|
341
|
+
*/
|
|
342
|
+
export declare function computeBase(document: {
|
|
343
|
+
title: string;
|
|
344
|
+
body: string;
|
|
345
|
+
attributes: Record<string, unknown>;
|
|
346
|
+
status?: string;
|
|
347
|
+
assignee?: string | null;
|
|
348
|
+
period?: string | null;
|
|
349
|
+
dependsOn?: string[];
|
|
350
|
+
relatesTo?: string[];
|
|
351
|
+
relatedFiles?: string[];
|
|
352
|
+
}, mappedFields: ReadonlySet<string>, normalizeBody?: (markdown: string) => string): Record<string, unknown>;
|
|
353
|
+
/**
|
|
354
|
+
* Update the base snapshot for one linked document. After a successful sync
|
|
355
|
+
* only the documents that landed should have their base updated — a partially
|
|
356
|
+
* failed sync must not snapshot work that did not reach the remote.
|
|
357
|
+
*
|
|
358
|
+
* The `base` value here should come from `computeBase`; the `baseHash` is
|
|
359
|
+
* derived from it automatically.
|
|
360
|
+
*/
|
|
361
|
+
export declare function updateBase(store: LinkStore, localId: string, base: Record<string, unknown>, remoteRev: string, syncedAt: string): void;
|
|
362
|
+
/**
|
|
363
|
+
* Return the cursor to hand to the provider on the next pull, or `null` when
|
|
364
|
+
* a full scan should be performed.
|
|
365
|
+
*
|
|
366
|
+
* A stored cursor lets the pull ask the remote only for issues updated since
|
|
367
|
+
* the last successful sync. The cursor is an opaque value the remote supplied
|
|
368
|
+
* — a page token, a timestamp, a revision hash — and its meaning is the
|
|
369
|
+
* provider's alone.
|
|
370
|
+
*
|
|
371
|
+
* When `fullSync` is `true` (the default on the CLI; `--changed` asks for the
|
|
372
|
+
* incremental listing instead) the stored cursor
|
|
373
|
+
* is ignored and `null` is returned, forcing a full listing. When the
|
|
374
|
+
* provider does not support incremental queries the caller should also pass
|
|
375
|
+
* `null` regardless; this function does not inspect capabilities — the caller
|
|
376
|
+
* knows which provider it is talking to.
|
|
377
|
+
*/
|
|
378
|
+
export declare function getCursorForPull(store: LinkStore, opts?: {
|
|
379
|
+
fullSync?: boolean;
|
|
380
|
+
}): string | null;
|
|
381
|
+
/**
|
|
382
|
+
* Advance the cursor to a value the **remote** supplied.
|
|
383
|
+
*
|
|
384
|
+
* The cursor must come from the remote's response (a `nextCursor` or
|
|
385
|
+
* equivalent field), never from `Date.now()`. Using local wall-clock time
|
|
386
|
+
* would miss edits made during the sync window whenever the clocks differ —
|
|
387
|
+
* every provider that supports incremental queries returns a server-side
|
|
388
|
+
* marker, and the caller must use it.
|
|
389
|
+
*
|
|
390
|
+
* This function does not validate the value at runtime; the contract is
|
|
391
|
+
* enforced by the pull planner, which is the only caller.
|
|
392
|
+
*/
|
|
393
|
+
export declare function advanceCursor(store: LinkStore, cursor: string): void;
|
|
394
|
+
/**
|
|
395
|
+
* Reset the cursor to `null`, forcing the next pull to do a full scan.
|
|
396
|
+
*
|
|
397
|
+
* Safe to call at any time — a store with no cursor is a valid state (it is
|
|
398
|
+
* how every store starts). Useful after a failed pull, when the remote
|
|
399
|
+
* configuration changes, or when the operator wants to rebuild the link
|
|
400
|
+
* store from a fresh crawl.
|
|
401
|
+
*/
|
|
402
|
+
export declare function clearCursor(store: LinkStore): void;
|
|
403
|
+
/**
|
|
404
|
+
* Record the one-time first-write consent (LP-350): a person confirmed that
|
|
405
|
+
* writing to this remote is intended, so the next sync no longer asks. Set
|
|
406
|
+
* once; an existing consent is never overwritten, because the confirmation is
|
|
407
|
+
* a fact about the remote, not about this particular run.
|
|
408
|
+
*/
|
|
409
|
+
export declare function recordConsent(store: LinkStore, at: string): void;
|
|
410
|
+
/** True when first-write consent has been recorded for this remote. */
|
|
411
|
+
export declare function isConsented(store: LinkStore): boolean;
|