taskops-cli 0.4.0__tar.gz → 0.4.1__tar.gz
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.
- taskops_cli-0.4.1/.claude/settings.json +36 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/.github/workflows/ci.yml +1 -1
- taskops_cli-0.4.1/.mcp.json +14 -0
- taskops_cli-0.4.1/.taskops/board/cache.sqlite +0 -0
- taskops_cli-0.4.1/.taskops/board/cache.sqlite-shm +0 -0
- taskops_cli-0.4.1/.taskops/board/cache.sqlite-wal +0 -0
- taskops_cli-0.4.1/.taskops/board/events.jsonl +794 -0
- taskops_cli-0.4.1/.taskops/board/live.sqlite +0 -0
- taskops_cli-0.4.1/.taskops/board/live.sqlite-shm +0 -0
- taskops_cli-0.4.1/.taskops/board/live.sqlite-wal +0 -0
- taskops_cli-0.4.1/.taskops/board.json +1 -0
- taskops_cli-0.4.1/.taskops/reports/lifecycle-chapter.html +497 -0
- taskops_cli-0.4.1/.taskops/reports/reports-chapter.html +403 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ARCHITECTURE.md +1006 -32
- taskops_cli-0.4.1/CHANGELOG.md +332 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/CLAUDE.md +92 -11
- taskops_cli-0.4.1/PKG-INFO +458 -0
- taskops_cli-0.4.1/README.md +446 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_version.py +1 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_wire.py +48 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/commands.py +45 -42
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/enrol.py +12 -0
- taskops_cli-0.4.1/src/taskops/cli/github.py +196 -0
- taskops_cli-0.4.1/src/taskops/cli/grants.py +59 -0
- taskops_cli-0.4.1/src/taskops/cli/hooks.py +50 -0
- taskops_cli-0.4.1/src/taskops/cli/main.py +116 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/operate.py +59 -38
- taskops_cli-0.4.1/src/taskops/cli/paging.py +75 -0
- taskops_cli-0.4.0/src/taskops/cli/main.py → taskops_cli-0.4.1/src/taskops/cli/parser.py +76 -101
- taskops_cli-0.4.1/src/taskops/cli/pull.py +162 -0
- taskops_cli-0.4.1/src/taskops/cli/rm.py +63 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/serving.py +14 -16
- taskops_cli-0.4.1/src/taskops/cli/team.py +96 -0
- taskops_cli-0.4.1/src/taskops/cli/window.py +154 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/wording.py +2 -2
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/chapters.py +5 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/event.py +17 -7
- taskops_cli-0.4.1/src/taskops/core/forge.py +85 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/graph.py +4 -0
- taskops_cli-0.4.1/src/taskops/core/holding.py +100 -0
- taskops_cli-0.4.1/src/taskops/core/hours.py +193 -0
- taskops_cli-0.4.1/src/taskops/core/kinds.py +45 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/replay.py +1 -1
- taskops_cli-0.4.1/src/taskops/core/reports.py +116 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/scope.py +26 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/types.py +18 -33
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/bind.py +11 -2
- taskops_cli-0.4.1/src/taskops/gitwork/catchup.py +114 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/install.py +15 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/patch.py +24 -4
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/remote.py +14 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/admin.py +36 -2
- taskops_cli-0.4.1/src/taskops/http/gitdoor.py +198 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/handler.py +15 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/ingest.py +10 -5
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/login.py +16 -2
- taskops_cli-0.4.1/src/taskops/http/members.py +178 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/mounts.py +30 -2
- taskops_cli-0.4.1/src/taskops/http/removal.py +106 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/server.py +20 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/static.py +30 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/upstream.py +1 -1
- taskops_cli-0.4.1/src/taskops/mcp/activity.py +131 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/before.py +10 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/boardview.py +10 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/brief.py +8 -0
- taskops_cli-0.4.0/src/taskops/mcp/gitmoves.py → taskops_cli-0.4.1/src/taskops/mcp/chapter.py +46 -83
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/dossier.py +14 -4
- taskops_cli-0.4.1/src/taskops/mcp/gitmoves.py +90 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/integrate.py +17 -6
- taskops_cli-0.4.1/src/taskops/mcp/orders.py +79 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/schema.py +37 -48
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/server.py +2 -2
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/tools.py +37 -5
- taskops_cli-0.4.1/src/taskops/py.typed +0 -0
- taskops_cli-0.4.1/src/taskops/store/handover.py +61 -0
- taskops_cli-0.4.1/src/taskops/ui/app.js +61 -0
- taskops_cli-0.4.1/src/taskops/ui/style.css +1 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/__init__.py +10 -0
- taskops_cli-0.4.1/src/taskops/verbs/_chapter.py +64 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_facts.py +38 -2
- taskops_cli-0.4.1/src/taskops/verbs/_rows.py +78 -0
- taskops_cli-0.4.1/src/taskops/verbs/_stories.py +94 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_waiting.py +1 -1
- taskops_cli-0.4.1/src/taskops/verbs/_windows.py +95 -0
- taskops_cli-0.4.1/src/taskops/verbs/activity.py +145 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/assign.py +13 -10
- taskops_cli-0.4.1/src/taskops/verbs/filed.py +114 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/plan.py +3 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/project.py +53 -7
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/pulse.py +27 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/record.py +23 -6
- taskops_cli-0.4.1/src/taskops/verbs/report.py +166 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/update.py +9 -39
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_claude.py +5 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_core.py +281 -4
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_git.py +165 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_mcp.py +246 -7
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_topology.py +1546 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_ui.py +192 -15
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_verbs.py +778 -7
- taskops_cli-0.4.1/tests/test_window.py +244 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/fixture.json +164 -105
- taskops_cli-0.4.1/ui/smoke/sections/actors-window-filter.tsx +266 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/actors.tsx +12 -4
- taskops_cli-0.4.1/ui/smoke/sections/board-flow-view.tsx +174 -0
- taskops_cli-0.4.1/ui/smoke/sections/board-motion-and-avatars.tsx +205 -0
- taskops_cli-0.4.1/ui/smoke/sections/chapter-completion-derivation.tsx +120 -0
- taskops_cli-0.4.1/ui/smoke/sections/chapter-story-grid.tsx +251 -0
- taskops_cli-0.4.1/ui/smoke/sections/comment-toasts-model.tsx +198 -0
- taskops_cli-0.4.1/ui/smoke/sections/comment-toasts-stack.tsx +201 -0
- taskops_cli-0.4.1/ui/smoke/sections/feed-reconnect.tsx +229 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/forge-links.tsx +18 -5
- taskops_cli-0.4.1/ui/smoke/sections/forge-opens-the-board.tsx +80 -0
- taskops_cli-0.4.1/ui/smoke/sections/report-markdown.tsx +86 -0
- taskops_cli-0.4.1/ui/smoke/sections/report-sandbox.tsx +251 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/section.ts +14 -3
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections.mjs +20 -6
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/App.tsx +118 -7
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/client.ts +54 -7
- taskops_cli-0.4.1/ui/src/completed.ts +48 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/actors/DevPanel.tsx +10 -2
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/board/CardTile.tsx +53 -22
- taskops_cli-0.4.1/ui/src/components/board/ViewToggle.tsx +42 -0
- taskops_cli-0.4.1/ui/src/components/board/flip.ts +105 -0
- taskops_cli-0.4.1/ui/src/components/board/useFlip.ts +96 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/Drawer.tsx +9 -2
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/Sections.tsx +32 -21
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/tokens.ts +10 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/chrome/AvatarStack.tsx +12 -44
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/chrome/Header.tsx +33 -4
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/chrome/TabNav.tsx +11 -5
- taskops_cli-0.4.1/ui/src/components/flow/FlowView.tsx +270 -0
- taskops_cli-0.4.1/ui/src/components/flow/layout.ts +166 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/Chapter.tsx +1 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/EventStream.tsx +16 -16
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/panels.ts +10 -0
- taskops_cli-0.4.1/ui/src/components/reports/ReportFrame.tsx +203 -0
- taskops_cli-0.4.1/ui/src/components/shared/Avatar.tsx +132 -0
- taskops_cli-0.4.1/ui/src/components/shared/Segmented.tsx +78 -0
- taskops_cli-0.4.1/ui/src/components/story/ChapterStory.tsx +423 -0
- taskops_cli-0.4.1/ui/src/components/story/stats.ts +108 -0
- taskops_cli-0.4.1/ui/src/components/toasts/ToastStack.tsx +231 -0
- taskops_cli-0.4.1/ui/src/components/toasts/model.ts +189 -0
- taskops_cli-0.4.1/ui/src/components/toasts/useToasts.ts +147 -0
- taskops_cli-0.4.1/ui/src/hoursWindow.ts +111 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/links.tsx +81 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/main.tsx +13 -3
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/pages/Actors.tsx +56 -9
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/pages/Board.tsx +104 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/pages/Monitor.tsx +16 -13
- taskops_cli-0.4.1/ui/src/pages/Reports.tsx +252 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/theme/tokens.css +17 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/types.ts +184 -1
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/useBoard.ts +53 -9
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/useEvents.ts +36 -1
- taskops_cli-0.4.0/CHANGELOG.md +0 -40
- taskops_cli-0.4.0/PKG-INFO +0 -239
- taskops_cli-0.4.0/README.md +0 -227
- taskops_cli-0.4.0/src/taskops/core/hours.py +0 -123
- taskops_cli-0.4.0/src/taskops/gitwork/catchup.py +0 -59
- taskops_cli-0.4.0/src/taskops/http/gitdoor.py +0 -103
- taskops_cli-0.4.0/src/taskops/ui/app.js +0 -60
- taskops_cli-0.4.0/src/taskops/ui/style.css +0 -1
- taskops_cli-0.4.0/src/taskops/verbs/_rows.py +0 -46
- taskops_cli-0.4.0/src/taskops/verbs/report.py +0 -120
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/.gitattributes +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/.github/workflows/workflow.yml +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/.gitignore +0 -0
- /taskops_cli-0.4.0/src/taskops/py.typed → /taskops_cli-0.4.1/.taskops/ui.lock +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/pyproject.toml +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_clock.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_errors.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_ids.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_json.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/_locate.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/board.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/__main__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/admin.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/claude.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/push.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/remote.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/cli/watch.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/actors.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/challenge.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/machine.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/mentions.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/review.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/core/seams.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/claudefiles.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/diff.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/landing.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/run.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/sig.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/trailer.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/gitwork/trees.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/auth.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/feed.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/grants.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/rpc.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/scoped.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/http/watcher.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/identity.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/__main__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/boards.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/fields.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/hello.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/render.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/mcp/thread.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/session.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/cache.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/creds.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/live.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/log.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/pubkeys.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/reviews.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/server.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/store/stores.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/ui/index.html +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_args.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_cards.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_context.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/_mentions.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/card.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/events.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/review.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/src/taskops/verbs/take.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/__init__.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/conftest.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_architecture.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_report.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/test_store.py +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/tests/ui_harness.js +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/build.mjs +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/index.html +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/package-lock.json +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/package.json +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/main.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/run.mjs +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/board-columns.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/chapter-landed.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/chapters-open.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/comment-box.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/diff-page.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/dossier.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/event-stream.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/git-diff.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/monitor-panes.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/overlay-escape.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/reviewing-skew.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/swarm-topology.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/thread-closing-note.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/smoke/sections/worktrees-index.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/actors/Daysheet.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/board/Column.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/CommentBox.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/Patch.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/Thread.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/card/split.ts +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/chrome/KpiRail.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/chrome/MilestonePicker.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/DependencyChain.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/EditSurface.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/LeaseHealth.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/LiveLeases.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/Mentions.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/Pane.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/Swarm.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/monitor/Throughput.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/shared/Markdown.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/shared/Overlay.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/components/shared/overlayStack.ts +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/format.ts +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/markdown.ts +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/pages/WorktreeDiff.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/pages/Worktrees.tsx +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/src/theme/theme.ts +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/styles/index.css +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/ui/tsconfig.json +0 -0
- {taskops_cli-0.4.0 → taskops_cli-0.4.1}/uv.lock +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PostToolUse": [
|
|
4
|
+
{
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"type": "command",
|
|
8
|
+
"command": "\"/Users/berna/.local/share/uv/tools/taskops-cli/bin/python\" -m taskops.cli hook claude"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"matcher": "*"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"UserPromptSubmit": [
|
|
15
|
+
{
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "\"/Users/berna/.local/share/uv/tools/taskops-cli/bin/python\" -m taskops.cli hook claude"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"PreToolUse": [
|
|
25
|
+
{
|
|
26
|
+
"matcher": "Bash",
|
|
27
|
+
"hooks": [
|
|
28
|
+
{
|
|
29
|
+
"type": "command",
|
|
30
|
+
"command": "c=$(jq -r '.tool_input.command // \"\"'); printf '%s' \"$c\" | grep -qE 'python[0-9.]*[[:space:]]+-(c|[[:space:]]|$)' && printf '%s' \"$c\" | grep -qE 'open_board|board[.]call|taskops[.]mcp|taskops[.]board|gitmoves' && printf '%s' '{\"hookSpecificOutput\":{\"hookEventName\":\"PreToolUse\",\"permissionDecision\":\"deny\",\"permissionDecisionReason\":\"REFUSED: the board is driven through the taskops_* MCP tools, never through the shell. Use taskops_board, taskops_card, taskops_take, taskops_update, taskops_comment, taskops_assign, taskops_merge, taskops_review or taskops_plan, each with repo_path= and actor=. Why this is hard and not a preference: the MCP tool is the ONLY door that runs both halves. taskops_assign cuts the worktrees that the plain assign verb does not, and taskops_merge runs the git merge that the plain merged verb does not, so driving a verb from the shell records board state about git that never happened. A shelled call also skips the pulse line, so you stop being told what the board is waiting for. The taskops CLI stays fine for what it owns: join, remote add, ui, serve, invite, revoke, tidy, and board create/ls/push.\"}}'; exit 0"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|