@markjaquith/agency 3.9.1 → 3.9.2

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/README.md CHANGED
@@ -616,21 +616,20 @@ handoffs restore the terminal before starting the interactive worker, then reope
616
616
  the TUI when the worker returns. A configured
617
617
  external chooser continues to offer goals and **Browse items** through that chooser.
618
618
 
619
- | Goal | Choose in `act` | Discovery/action ID |
620
- | ------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
621
- | Manage repositories | Add, link, set up, materialize, fetch, verify, rename, update, unlink, or remove aliases | `repo-add`, `repo-link`, `repo-setup`, `repo-materialize`, `repo-fetch`, `repo-verify`, `repo-rename`, `repo-remote`, `repo-unlink`, `repo-remove` |
622
- | Create work | Create a standard task, multi-phase task, investigation, epic, or a task inside an epic | `task-create`, `multi-phase-create`, `investigation-create`, `epic-create`, `task-create-in-epic` |
623
- | Split work | Add a phase / split this task; name the existing work's first phase | `split` |
624
- | Work on a task or phase | Work on this item | `work` |
625
- | Move from investigation to execution | Create implementation follow-up | `handoff` |
626
- | Review someone else's work | Review a PR, or a remote branch/commit | `review`, `review-ref` |
627
- | Close finished work | Close or reopen work → complete without a PR, drop abandoned work, refresh a merged PR, or reopen | `complete`, `drop`, `sync`, `reopen` |
628
- | Publish or update PR status | Push without a PR, refresh provider state, create a PR, mark a GitHub PR ready, or close it | `push`, `sync`, `pr`, `pr-ready`, `pr-close` |
629
- | Maintain review work | Fetch and repin a review task to its current source | `review-refresh` |
630
- | Organize work | Rename an item, move a task into/out of an epic, or add/remove a sibling dependency | `rename`, `move-to-epic`, `remove-from-epic`, `dependency-add`, `dependency-remove` |
631
- | Archive terminal work | Archive | `archive` |
632
- | See work status | See current or ready work | `current-work`, `ready-work` |
633
- | Check or refresh the workbase | Validate, diagnose, reconcile all state, or inspect/update managed integration files | `validate`, `doctor`, `sync-all`, `integration-status`, `integration-sync` |
619
+ | Goal | Choose in `act` | Discovery/action ID |
620
+ | ------------------------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
621
+ | Manage repositories | Add, link, set up, materialize, fetch, verify, rename, update, unlink, or remove aliases | `repo-add`, `repo-link`, `repo-setup`, `repo-materialize`, `repo-fetch`, `repo-verify`, `repo-rename`, `repo-remote`, `repo-unlink`, `repo-remove` |
622
+ | Create work | Create a standard task, multi-phase task, investigation, epic, or a task inside an epic | `task-create`, `multi-phase-create`, `investigation-create`, `epic-create`, `task-create-in-epic` |
623
+ | Split work | Add a phase / split this task; name the existing work's first phase | `split` |
624
+ | Work on a task or phase | Work on this item | `work` |
625
+ | Move from investigation to execution | Create implementation follow-up | `handoff` |
626
+ | Review someone else's work | Review a PR, or a remote branch/commit | `review`, `review-ref` |
627
+ | Publish or update PR status | Push without a PR, refresh provider state, create a PR, mark a GitHub PR ready, or close it | `push`, `sync`, `pr`, `pr-ready`, `pr-close` |
628
+ | Maintain review work | Fetch and repin a review task to its current source | `review-refresh` |
629
+ | Organize work | Rename an item, move a task into/out of an epic, or add/remove a sibling dependency | `rename`, `move-to-epic`, `remove-from-epic`, `dependency-add`, `dependency-remove` |
630
+ | Archive terminal work | Archive | `archive` |
631
+ | See work status | See current or ready work | `current-work`, `ready-work` |
632
+ | Check or refresh the workbase | Validate, diagnose, reconcile all state, or inspect/update managed integration files | `validate`, `doctor`, `sync-all`, `integration-status`, `integration-sync` |
634
633
 
635
634
  After creating a task, phase, review, or implementation follow-up, choose **Work
636
635
  on the new item now** or **Finish**. Only choosing Work prepares checkouts and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markjaquith/agency",
3
- "version": "3.9.1",
3
+ "version": "3.9.2",
4
4
  "description": "Manage agentic work across repositories with durable workbases",
5
5
  "keywords": [
6
6
  "agents",
@@ -292,6 +292,9 @@ const actionPresentation: Record<
292
292
  },
293
293
  }
294
294
 
295
+ export const isActActionId = (id: string): boolean =>
296
+ Object.hasOwn(actionPresentation, id)
297
+
295
298
  const present = (details: Details) => {
296
299
  const presentation = actionPresentation[details.id]
297
300
  if (!presentation)
@@ -386,12 +389,6 @@ export const actionGroups = [
386
389
  icon: "",
387
390
  actions: ["push", "sync", "pr", "pr-ready", "pr-close"],
388
391
  },
389
- {
390
- id: "close",
391
- label: "Close or reopen work",
392
- icon: "󰄬",
393
- actions: ["complete", "drop", "sync", "reopen"],
394
- },
395
392
  {
396
393
  id: "archive",
397
394
  label: "Archive finished work",
@@ -14,6 +14,7 @@ import {
14
14
  actionGroups,
15
15
  actActions,
16
16
  actionOutput,
17
+ isActActionId,
17
18
  type ActAction,
18
19
  type ActEntity,
19
20
  } from "./act-actions"
@@ -360,10 +361,7 @@ const actStep = (
360
361
  if (session && options.directory && isPath && !selectedKey && !actionId)
361
362
  session.activateTab("workbase")
362
363
  state.view = !selectedKey && !actionId ? "home" : "flow"
363
- if (
364
- actionId &&
365
- !actionGroups.some((group) => group.actions.some((id) => id === actionId))
366
- )
364
+ if (actionId && !isActActionId(actionId))
367
365
  return yield* Effect.fail(
368
366
  new Error(
369
367
  `Unknown action '${actionId}'; use agency act --json to discover actions`,