@aviaratech/ai-delivery 0.3.21 → 0.3.23

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.
Files changed (57) hide show
  1. package/README.md +41 -10
  2. package/dist/agent.d.ts +2 -1
  3. package/dist/agent.js +1 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli.js +77 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/delivery/common.d.ts +4 -1
  8. package/dist/delivery/common.js +49 -6
  9. package/dist/delivery/common.js.map +1 -1
  10. package/dist/delivery/stage.d.ts +6 -0
  11. package/dist/delivery/stage.js +11 -2
  12. package/dist/delivery/stage.js.map +1 -1
  13. package/dist/dispatch.js +6 -1
  14. package/dist/dispatch.js.map +1 -1
  15. package/dist/github/relationships.d.ts +4 -1
  16. package/dist/github/relationships.js +30 -3
  17. package/dist/github/relationships.js.map +1 -1
  18. package/dist/issue.d.ts +64 -1
  19. package/dist/issue.js +350 -3
  20. package/dist/issue.js.map +1 -1
  21. package/dist/issueTracking.test.d.ts +1 -0
  22. package/dist/issueTracking.test.js +624 -0
  23. package/dist/issueTracking.test.js.map +1 -0
  24. package/dist/lifecycle.test.js +4 -0
  25. package/dist/lifecycle.test.js.map +1 -1
  26. package/dist/mcp/index.js +2 -1
  27. package/dist/mcp/index.js.map +1 -1
  28. package/dist/mcp/tools.d.ts +56 -0
  29. package/dist/mcp/tools.js +41 -2
  30. package/dist/mcp/tools.js.map +1 -1
  31. package/dist/pluginInstaller.d.ts +51 -0
  32. package/dist/pluginInstaller.js +774 -0
  33. package/dist/pluginInstaller.js.map +1 -0
  34. package/dist/pluginInstaller.test.d.ts +1 -0
  35. package/dist/pluginInstaller.test.js +543 -0
  36. package/dist/pluginInstaller.test.js.map +1 -0
  37. package/dist/pluginPackaging.test.d.ts +1 -0
  38. package/dist/pluginPackaging.test.js +116 -0
  39. package/dist/pluginPackaging.test.js.map +1 -0
  40. package/dist/setup.d.ts +1 -0
  41. package/dist/setup.js +71 -10
  42. package/dist/setup.js.map +1 -1
  43. package/dist/setup.test.js +584 -199
  44. package/dist/setup.test.js.map +1 -1
  45. package/dist/verification.d.ts +61 -0
  46. package/dist/verification.js +168 -6
  47. package/dist/verification.js.map +1 -1
  48. package/package.json +4 -4
  49. package/plugins/ai-delivery/.claude-plugin/plugin.json +6 -1
  50. package/plugins/ai-delivery/LICENSE +21 -0
  51. package/plugins/ai-delivery/README.md +4 -2
  52. package/plugins/ai-delivery/dist/mcp-launcher.js +19 -8
  53. package/plugins/ai-delivery/mcp.json +10 -0
  54. package/plugins/ai-delivery/plugin.json +10 -0
  55. package/plugins/ai-delivery/runtime/dist/THIRD-PARTY-NOTICES.md +1010 -0
  56. package/plugins/ai-delivery/runtime/dist/cli.js +285 -0
  57. package/plugins/ai-delivery/runtime/package.json +13 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ai-delivery
2
2
 
3
- Generic GitHub issue and pull request delivery with Git/GitHub discovery and a source-controlled `RepositoryDeliveryPolicy@1` module. Routing overrides are optional. The package provides one `ai-delivery` CLI, one stdio MCP server, and thin plugin assets in `plugins/ai-delivery`.
3
+ Generic GitHub issue and pull request delivery with Git/GitHub discovery and a source-controlled `RepositoryDeliveryPolicy@1` module. Routing overrides are optional. The package provides one `ai-delivery` CLI, one stdio MCP server, and a self-contained plugin root in `plugins/ai-delivery`. The packaged root includes portable `plugin.json` / `mcp.json`, Claude-compatible manifests, the three delivery skills, a built stdio launcher and bundled dependency notices. Hosts can copy the root into their native cache without resolving a parent npm installation or running an installation build.
4
4
 
5
5
  The package contains no repository-specific policy, credential, model, or deployment configuration. A consuming repository owns its issue taxonomy, author and reviewer credentials, native Project fields, delivery stages, and phase constraints. The runtime refuses an untracked override file or a missing or untracked policy module. Credentials and delivery policy remain explicit.
6
6
 
@@ -145,11 +145,11 @@ does not use an ambient `gh` session or another environment token. The legacy
145
145
  and `config:resolve`; configure the personal author role above for complete PR
146
146
  delivery with matching review artifacts and policy evidence.
147
147
 
148
- | Route | Package behavior | Native required approval |
149
- | --- | --- | --- |
150
- | Configured personal author + reviewer App | One App submits the exact-head independent review. | With Contents write accepted on the App installation, confirm that GitHub counts it; an eligible independent human may still need to approve if another rule blocks it. |
151
- | Author App + reviewer App | Existing separate App roles keep their credential and review bindings. | With Contents write accepted on the reviewer App installation, confirm that GitHub counts its approval. |
152
- | Author App + eligible human reviewer | A valid GitHub route for a repository that requires human approval; the current package still needs its configured reviewer App for the formal artifact receipt. | The human reviews and approves in GitHub. |
148
+ | Route | Package behavior | Native required approval |
149
+ | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
150
+ | Configured personal author + reviewer App | One App submits the exact-head independent review. | With Contents write accepted on the App installation, confirm that GitHub counts it; an eligible independent human may still need to approve if another rule blocks it. |
151
+ | Author App + reviewer App | Existing separate App roles keep their credential and review bindings. | With Contents write accepted on the reviewer App installation, confirm that GitHub counts its approval. |
152
+ | Author App + eligible human reviewer | A valid GitHub route for a repository that requires human approval; the current package still needs its configured reviewer App for the formal artifact receipt. | The human reviews and approves in GitHub. |
153
153
 
154
154
  GitHub requires qualifying approvals under [branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) and [rulesets](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets). Pull requests write permits submitting a review; it does not grant repository write access for a required approval. When a required-approval rule is visible and the reviewer App's effective Contents grant is read-only, `pr:create --dry-run` reports `approvalEligibility: insufficient-permission` before publication. Unknown grants or rules remain `unknown`. The post-review readback reports `submittedReviewAuthorCanPushToRepository` when GitHub exposes it for the exact submitted review. Neither an App's scopes nor a submitted `APPROVED` review proves that it counted. The live PR `reviewDecision` is the required-review readback; it does not attribute a counted approval to one actor. Recheck it on the current head before merge.
155
155
 
@@ -200,6 +200,32 @@ operation authority. The authenticated author and distinct reviewer App must
200
200
  pass the existing repository-access preflight. Unknown rule visibility or
201
201
  approval eligibility remains unknown; setup does not establish counted approval.
202
202
 
203
+ Manage the native plugin with an explicit package version:
204
+
205
+ ```sh
206
+ ai-delivery plugin install --host codex --scope user --version <published-version> --json
207
+ ai-delivery plugin doctor --host codex --scope user --json
208
+ ai-delivery plugin update --host codex --scope user --version <published-version> --json
209
+ ai-delivery plugin rollback --host codex --scope user --json
210
+ ai-delivery plugin remove --host codex --scope user --json
211
+ ```
212
+
213
+ Use `--host claude-code` for Claude Code. Its supported scopes are `user`,
214
+ `project`, and `local`; select the project directory with the global
215
+ `--repo-root` option. Codex currently supports `user`. Install and update require
216
+ a literal version. Rollback selects the recorded previous version. The commands
217
+ keep verified version units in a private directory and use the native host's
218
+ marketplace and plugin commands to select that exact local source. Removal keeps
219
+ the managed version units for recovery and uses Claude Code's `--keep-data`.
220
+
221
+ Every command supports `--dry-run` and `--json`. Dry-run reports the target
222
+ without fetching an archive, running a native command, or writing configuration.
223
+ Doctor reports managed installation and source integrity, skills, and a direct
224
+ stdio startup check of the selected bundled MCP server. Restart the native host
225
+ after changing a plugin so it reloads that selection. Installing a plugin does
226
+ not admit a consumer repository: use the explicit setup operations below before
227
+ a lifecycle write.
228
+
203
229
  First read `config:resolve` with the configured author, then stage a reviewed
204
230
  local archive using its independently accepted SHA-256 and package version:
205
231
 
@@ -527,10 +553,16 @@ their existing owners and checks.
527
553
 
528
554
  ## Compatibility contract
529
555
 
530
- The MCP input and result contract is `ai-delivery.mcp@1`, exported as `AI_DELIVERY_MCP_CONTRACT_VERSION`. It retains the existing tools and adds typed `issue_comment`. Each tool rejects unknown fields at the request boundary. `issue_create` accepts a title with optional body, Issue Type, Points, Priority, taxonomy labels, milestone, parent and blockers; it returns `{body, created: {number, title, url}, routing}`. A linked parent is read back and cleared of Points. `issue_start({issueNumber})` always checks readiness and prepares that existing issue; `develop` gates only preparation of a newly created issue. New starts default to 2 Points. `resumeCreated` requires `issueNumber` and an explicit `develop` boolean and never creates a second issue; `develop: false` recovers creation-only registration and journaling. Immediate creation and development preflights readiness before creation and returns `ai-delivery.issue-start-registration@1` with `status: "started"` or a `created-not-started` failure and exact `safeResume` arguments. The CLI prints that recovery JSON and exits nonzero for `created-not-started`. Scratch starts derive safe names from the request or title and return the branch and worktree path. `repo` on create, start and ready check, or global CLI `--repo`, must match the repository selected by the checkout's validated Git remote; a mismatch fails before a GitHub call.
556
+ The MCP input and result contract is `ai-delivery.mcp@1`, exported as `AI_DELIVERY_MCP_CONTRACT_VERSION`. Existing `issue_*` tools remain available, with typed `issue_comment`, `issue_list` and `issue_search` added. Each tool rejects unknown fields at the request boundary. `issue_create` accepts a title with optional body, Issue Type, Points, Priority, taxonomy labels, milestone, parent and blockers; it returns `{body, created: {number, title, url}, routing}`. A linked parent is read back and cleared of Points. `issue_start({issueNumber})` always checks readiness and prepares that existing issue; `develop` gates only preparation of a newly created issue. New starts default to 2 Points. `resumeCreated` requires `issueNumber` and an explicit `develop` boolean and never creates a second issue; `develop: false` recovers creation-only registration and journaling. Immediate creation and development preflights readiness before creation and returns `ai-delivery.issue-start-registration@1` with `status: "started"` or a `created-not-started` failure and exact `safeResume` arguments. The CLI prints that recovery JSON and exits nonzero for `created-not-started`. Scratch starts derive safe names from the request or title and return the branch and worktree path. `repo` on create, start and ready check, or global CLI `--repo`, must match the repository selected by the checkout's validated Git remote; a mismatch fails before a GitHub call.
557
+
558
+ `issue_list` and `issue_search` return a bounded GitHub page with `{issues, page, perPage, nextPage}`. Both accept state, labels, parent issue, Issue Type, Project status, updated-since timestamp, page and per-page filters. Search requires literal text in `query`; list accepts it optionally. Text containing quotes, backslashes or newlines is rejected so search cannot replace the selected repository. Search fails on incomplete results or more than GitHub's 1,000-result window; narrow the query. Parent and Project filters apply to the fetched page, so an empty `issues` array can still have a `nextPage`. Continue until `nextPage` is null. Results include number, title, state, labels, Issue Type, parent, all native blockers, Project status, URL, update time and organization issue `fields` keyed by their actual names, including custom Points/Priority names and configured Effort/date fields. Unset fields are null. Field, option, relationship and Project item IDs stay internal. CLI `list` and `search` use these same tools.
531
559
 
532
560
  `issue_update` returns authoritative issue readback and synchronizes configured Project status from live native blockers. Closed issues and Done items remain Done; removing the last unresolved blocker returns to Todo. To park execution while retaining a worktree, use `ai-delivery update --issue 17 --park` or `issue_update({issueNumber: 17, park: true})`; status becomes Todo, or Blocked while native blockers remain. Unrelated metadata edits preserve parked presentation. Resume explicitly with `develop`/`issue_develop` or an existing-issue start, which still requires readiness; worktree presence never establishes active execution. `issue_info` returns current native metadata, parent, blockers, Project state and registered worktree; `issue_ready_check` returns deterministic admission and reasons; `issue_develop` and `issue_worktree_create` return registered worktree rows. `issue_verify` returns classification, aggregate, manifest and publication evidence IDs, plus the sampled resource summary when limits were supplied. `issue_pr_create` returns the PR number, URL and bound publication evidence ID, plus route evidence or the live review state on ready promotion; `issue_pr_info` returns number, state, exact head/base, draft flag, author login and URL. `issue_pr_review` returns an exact-head submitted review receipt and live required-review state, `issue_pr_merge` a durable merge receipt, and `issue_finish` returns the merge SHA and successful issue/cleanup readback. CLI and MCP call the same owners for these tools.
533
561
 
562
+ `issue_update({issueNumber: 17, title: "New title", body: "New body", preserveHistory: true})` posts the complete previous title and body in a collapsed comment and confirms that comment before rewriting. HTML escaping preserves the prior text, whitespace and line endings. The result includes `historyComment` with its id, URL, exact body and retry status. Unchanged title/body adds no comment. An oversized complete history or failed comment readback prevents the rewrite; concurrent content edits detected after preservation also fail and require retrying against the current content. GitHub does not provide an atomic title/body compare-and-set, so edits made after that final read can still race with the update. CLI uses `--preserve-history`.
563
+
564
+ Closing with `issue_update({issueNumber: 17, state: "closed", closeReason: "duplicate", supersededBy: 18})` validates the same-repository superseding issue, records the requested reason and supersession through the canonical comment writer, then reads back GitHub's native closure. Reasons are `completed`, `not_planned` and `duplicate`; `supersededBy` is optional and defaults the reason to `completed` when no reason is supplied. Duplicate closure also sets and verifies the native duplicate relationship. The result includes `closure` with native state, `closeReason`, repository-qualified `duplicateOf`, recorded `supersededBy` and the authoritative `comment` readback. Closure details require `state: "closed"`. Exact retries reuse the authored comment; a different reason or duplicate target on an already closed issue fails, because GitHub ignores reason changes without a state transition. Reopen explicitly before changing those native closure details. Comments record intent and remain available if a later mutation fails. CLI uses `--state closed --close-reason duplicate --superseded-by 18`.
565
+
534
566
  The CLI also exposes native relationship reads (`parent`, `subissues`, `blockers`), registry reads and clean registered PR/standalone cleanup (`worktrees:list`, `worktrees:status`, `worktrees:cleanup`), and PR reads and exact-head selected-author checkout (`pr:list`, `pr:checks`, `pr:checkout`). `pr:checks` includes GitHub's current review decision. A cleaned PR worktree can be reopened when its retained branch still matches the remote head. `migrate:legacy-issues --input-file` produces an offline `ai-delivery.legacy-issue-migration@1` plan without live writes. `metrics velocity --json` reads completed local delivery records and returns `ai-delivery.velocity-report@1` with buckets for configured Points; unknown blocker and review measurements remain null. `finish` can confirm completion after a lost response by matching the exact merge receipts, delivery record and live issue/Project state. Installing the package never migrates active runtime state automatically.
535
567
 
536
568
  ## Typed issue journals
@@ -538,9 +570,8 @@ The CLI also exposes native relationship reads (`parent`, `subissues`, `blockers
538
570
  `issue_comment` posts a typed journal through the configured author role. The public
539
571
  `commentIssue(context, input)` API uses the same implementation. The returned
540
572
  `commentId`, `url`, `body` and `reused` come from a fresh GitHub comment readback;
541
- the author, issue target and body must agree. This comment-tool slice is part of
542
- the journal feature; list/search, historical rewrites and reasoned issue closure
543
- are separate work.
573
+ the author, issue target and body must agree. Historical rewrites and reasoned
574
+ issue closure call this same writer through `issue_update`.
544
575
 
545
576
  The public agent API also accepts `commentIssue(context, {issueNumber, body})`
546
577
  for exact raw comments, such as an already-rendered history snapshot. It preserves
package/dist/agent.d.ts CHANGED
@@ -5,9 +5,10 @@ export { resolveDeliveryRepo } from './github/repo.js';
5
5
  export { AI_DELIVERY_MCP_CONTRACT_VERSION, AI_DELIVERY_MCP_TOOLS, createAiDeliveryMcpServer } from './mcp/index.js';
6
6
  export { executeTool } from './dispatch.js';
7
7
  export { evaluateAgentReadiness } from './services/agentReadinessService.js';
8
- export { createIssue, updateIssue, issueInfo, readyCheck, developIssue, listIssueSubissues, commentIssue, } from './issue.js';
8
+ export { createIssue, updateIssue, issueInfo, readyCheck, developIssue, listIssueSubissues, listIssues, commentIssue, } from './issue.js';
9
9
  export { ISSUE_COMMENT_BODY_LIMIT } from './issue.js';
10
10
  export type { IssueCommentInput, IssueCommentReadback } from './issue.js';
11
+ export type { ListIssuesInput, UpdateIssueInput, UpdateIssueResult, IssueClosureReadback } from './issue.js';
11
12
  export type { JournalInput } from './issueJournal.js';
12
13
  export { prInfo, listPrs, prChecks, checkoutPr, publishPr, submitFormalReview, mergePr, finishIssue } from './pr.js';
13
14
  export { preparePrWorktree, cleanupNonIssueWorktree } from './worktree.js';
package/dist/agent.js CHANGED
@@ -4,7 +4,7 @@ export { resolveDeliveryRepo } from './github/repo.js';
4
4
  export { AI_DELIVERY_MCP_CONTRACT_VERSION, AI_DELIVERY_MCP_TOOLS, createAiDeliveryMcpServer } from './mcp/index.js';
5
5
  export { executeTool } from './dispatch.js';
6
6
  export { evaluateAgentReadiness } from './services/agentReadinessService.js';
7
- export { createIssue, updateIssue, issueInfo, readyCheck, developIssue, listIssueSubissues, commentIssue, } from './issue.js';
7
+ export { createIssue, updateIssue, issueInfo, readyCheck, developIssue, listIssueSubissues, listIssues, commentIssue, } from './issue.js';
8
8
  export { ISSUE_COMMENT_BODY_LIMIT } from './issue.js';
9
9
  export { prInfo, listPrs, prChecks, checkoutPr, publishPr, submitFormalReview, mergePr, finishIssue } from './pr.js';
10
10
  export { preparePrWorktree, cleanupNonIssueWorktree } from './worktree.js';
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEpH,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,iCAAiC,EACjC,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAItD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEpH,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,iCAAiC,EACjC,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
package/dist/cli.js CHANGED
@@ -14,6 +14,7 @@ import { buildVelocityReport, getDeliveryRecords } from './services/deliveryReco
14
14
  import { listWorktreesStrict } from './services/worktreeRegistry.js';
15
15
  import { cleanupNonIssueWorktree } from './worktree.js';
16
16
  import { PACKAGE_VERSION } from './version.js';
17
+ import { managePlugin } from './pluginInstaller.js';
17
18
  const program = new Command();
18
19
  program
19
20
  .name('ai-delivery')
@@ -23,6 +24,20 @@ program
23
24
  .option('--personal-auth', 'Explicit legacy personal-token author override')
24
25
  .option('--repo <owner/name>', 'Repository selector; must match the configured checkout')
25
26
  .option('--repo-root <path>', 'Target Git repository root', process.cwd());
27
+ // Only the plugin command group owns a local --version input. Skip global option
28
+ // values when selecting its parser so an unrelated argument named plugin has no effect.
29
+ for (let index = 2; index < process.argv.length; index++) {
30
+ const argument = process.argv[index];
31
+ const option = program.options.find((value) => value.long === argument.split('=')[0] || value.short === argument);
32
+ if (option) {
33
+ if (option.required && !argument.includes('='))
34
+ index++;
35
+ continue;
36
+ }
37
+ if (argument === 'plugin')
38
+ program.enablePositionalOptions();
39
+ break;
40
+ }
26
41
  function execution() {
27
42
  const options = program.opts();
28
43
  const identity = options.identity ?? process.env.AI_DELIVERY_IDENTITY;
@@ -58,6 +73,36 @@ function run(name, input) {
58
73
  function print(value) {
59
74
  process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
60
75
  }
76
+ const plugin = program.command('plugin').description('Manage the ai-delivery native plugin');
77
+ for (const action of ['install', 'doctor', 'update', 'rollback', 'remove']) {
78
+ const command = plugin
79
+ .command(action)
80
+ .requiredOption('--host <host>', 'Native host: codex or claude-code')
81
+ .option('--scope <scope>', 'Native scope: user, project, or local; Codex supports user', 'user')
82
+ .option('--dry-run', 'Describe the selected target without changing files or contacting native tools')
83
+ .option('--json', 'Print the result as JSON');
84
+ if (action === 'install' || action === 'update')
85
+ command.requiredOption('--version <version>', 'Explicit published package version');
86
+ command.action(async (options) => {
87
+ const result = await managePlugin({
88
+ action,
89
+ host: options.host,
90
+ scope: options.scope,
91
+ ...(options.version === undefined ? {} : { version: options.version }),
92
+ dryRun: options.dryRun === true,
93
+ repoRoot: execution().repoRoot,
94
+ });
95
+ if (options.json) {
96
+ print(result);
97
+ return;
98
+ }
99
+ process.stdout.write(`${result.dryRun ? 'Dry run: ' : ''}${result.host} ${result.scope}: ${action}; version ${result.version ?? 'none'}; installed ${result.installed}; changed ${result.changed}\n`);
100
+ if (result.mcp)
101
+ process.stdout.write(`Bundled MCP startup: ${result.mcp.startup}${result.mcp.error ? ` (${result.mcp.error})` : ''}\n`);
102
+ if (result.recoveryRequired)
103
+ process.stdout.write('Resume the interrupted original plugin command to recover this target.\n');
104
+ });
105
+ }
61
106
  program
62
107
  .command('runtime:stage')
63
108
  .description('Stage a reviewed archive in a private directory; does not activate or admit it')
@@ -67,6 +112,7 @@ program
67
112
  .requiredOption('--source-commit <sha>')
68
113
  .requiredOption('--config-digest <digest>')
69
114
  .requiredOption('--runtime-directory <path>')
115
+ .option('--native-plugin-root <path>', 'Bind the exact reviewed native plugin root')
70
116
  .option('--max-aggregate-rss-bytes <bytes>', 'Sampled controller plus children RSS limit')
71
117
  .option('--max-new-output-bytes <bytes>', 'Owned stage and metadata output limit')
72
118
  .option('--min-free-disk-bytes <bytes>', 'Required free disk headroom')
@@ -80,6 +126,7 @@ program
80
126
  expectedSourceCommit: o.sourceCommit,
81
127
  expectedConfigDigest: o.configDigest,
82
128
  runtimeDirectory: o.runtimeDirectory,
129
+ ...(o.nativePluginRoot === undefined ? {} : { nativePluginRoot: o.nativePluginRoot }),
83
130
  ...(['maxAggregateRssBytes', 'maxNewOutputBytes', 'minFreeDiskBytes', 'maxCapturedOutputBytes'].some((key) => o[key] !== undefined)
84
131
  ? {
85
132
  resourceBounds: {
@@ -171,6 +218,30 @@ program
171
218
  develop: o.develop === true,
172
219
  resumeCreated: o.resumeCreated === true,
173
220
  }));
221
+ for (const name of ['list', 'search']) {
222
+ program
223
+ .command(name)
224
+ .option('--query <text>', 'Literal text to search in the selected repository')
225
+ .option('--state <state>')
226
+ .option('--labels <labels>')
227
+ .option('--parent <number>')
228
+ .option('--type <type>')
229
+ .option('--project-status <status>')
230
+ .option('--updated-since <timestamp>')
231
+ .option('--page <number>')
232
+ .option('--per-page <number>')
233
+ .action(async (o) => run(name === 'list' ? 'issue_list' : 'issue_search', {
234
+ query: o.query,
235
+ state: o.state,
236
+ labels: list(o.labels),
237
+ parentIssueNumber: int(o.parent),
238
+ issueType: o.type,
239
+ projectStatus: o.projectStatus,
240
+ updatedSince: o.updatedSince,
241
+ page: int(o.page),
242
+ perPage: int(o.perPage),
243
+ }));
244
+ }
174
245
  program
175
246
  .command('update')
176
247
  .requiredOption('--issue <number>')
@@ -185,6 +256,9 @@ program
185
256
  .option('--milestone <number>')
186
257
  .option('--parent <number>')
187
258
  .option('--state <state>')
259
+ .option('--preserve-history', 'Preserve the previous title and body before a rewrite')
260
+ .option('--close-reason <reason>')
261
+ .option('--superseded-by <number>')
188
262
  .option('--park', 'Park execution while retaining the issue worktree')
189
263
  .action(async (o) => run('issue_update', {
190
264
  issueNumber: int(o.issue),
@@ -198,6 +272,9 @@ program
198
272
  milestone: int(o.milestone),
199
273
  parentIssueNumber: int(o.parent),
200
274
  state: o.state,
275
+ preserveHistory: o.preserveHistory === true ? true : undefined,
276
+ closeReason: o.closeReason,
277
+ supersededBy: int(o.supersededBy),
201
278
  park: o.park === true ? true : undefined,
202
279
  }));
203
280
  program
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,8 @@ export declare function assertArtifact(repoRoot: string, artifact: {
24
24
  digest: string;
25
25
  path: string;
26
26
  }): void;
27
- export declare function assertPrivateFile(path: string): Buffer;
27
+ export declare function assertPrivateFile(path: string, bounds?: {
28
+ maxBytes?: number;
29
+ expectedBytes?: number;
30
+ }): Buffer;
28
31
  export declare function writeCreateOnly(path: string, bytes: Buffer, bytesDigest?: string): string;
@@ -1,7 +1,7 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { execFileSync } from 'node:child_process';
3
3
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
4
- import { closeSync, fsyncSync, linkSync, lstatSync, mkdirSync, openSync, readFileSync, realpathSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
4
+ import { closeSync, fstatSync, fsyncSync, linkSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, realpathSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
5
5
  import { z } from 'zod';
6
6
  export const DigestSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/u);
7
7
  export const ShaSchema = z.string().regex(/^[a-f0-9]{40}$/u);
@@ -74,11 +74,53 @@ export function assertArtifact(repoRoot, artifact) {
74
74
  if (digestBytes(readFileSync(path)) !== artifact.digest)
75
75
  throw new Error(`Repository artifact is corrupt: ${artifact.path}`);
76
76
  }
77
- export function assertPrivateFile(path) {
77
+ export function assertPrivateFile(path, bounds) {
78
78
  const metadata = lstatSync(path);
79
79
  if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.nlink !== 1 || (metadata.mode & 0o777) !== 0o600)
80
80
  throw new Error('Delivery evidence must be a private regular file.');
81
- return readFileSync(path);
81
+ if (bounds === undefined)
82
+ return readFileSync(path);
83
+ if ((bounds.maxBytes !== undefined && metadata.size > bounds.maxBytes) ||
84
+ (bounds.expectedBytes !== undefined && metadata.size !== bounds.expectedBytes))
85
+ throw new Error('Delivery evidence size exceeds its bound or differs from retained evidence.');
86
+ const descriptor = openSync(path, 'r');
87
+ try {
88
+ const before = fstatSync(descriptor);
89
+ if (before.dev !== metadata.dev ||
90
+ before.ino !== metadata.ino ||
91
+ before.size !== metadata.size ||
92
+ before.mode !== metadata.mode ||
93
+ before.nlink !== metadata.nlink ||
94
+ before.uid !== metadata.uid ||
95
+ before.mtimeMs !== metadata.mtimeMs ||
96
+ before.ctimeMs !== metadata.ctimeMs)
97
+ throw new Error('Delivery evidence identity changed before its bounded read.');
98
+ const bytes = Buffer.alloc(metadata.size);
99
+ let offset = 0;
100
+ while (offset < bytes.length) {
101
+ const count = readSync(descriptor, bytes, offset, bytes.length - offset, offset);
102
+ if (count === 0)
103
+ throw new Error('Delivery evidence was truncated during its bounded read.');
104
+ offset += count;
105
+ }
106
+ const after = fstatSync(descriptor), named = lstatSync(path);
107
+ if (after.dev !== before.dev ||
108
+ after.ino !== before.ino ||
109
+ after.size !== before.size ||
110
+ after.mode !== before.mode ||
111
+ after.nlink !== before.nlink ||
112
+ after.uid !== before.uid ||
113
+ after.mtimeMs !== before.mtimeMs ||
114
+ after.ctimeMs !== before.ctimeMs ||
115
+ named.dev !== after.dev ||
116
+ named.ino !== after.ino ||
117
+ named.isSymbolicLink())
118
+ throw new Error('Delivery evidence bytes are missing, corrupt or changed during its bounded read.');
119
+ return bytes;
120
+ }
121
+ finally {
122
+ closeSync(descriptor);
123
+ }
82
124
  }
83
125
  function syncEvidenceDirectory(path) {
84
126
  const directory = openSync(dirname(path), 'r');
@@ -95,7 +137,7 @@ export function writeCreateOnly(path, bytes, bytesDigest) {
95
137
  (bytesDigest !== digestBytes(bytes) || basename(path) !== `${bytesDigest.slice(7)}.bin`))
96
138
  throw new Error('Immutable output path does not bind its bytes.');
97
139
  try {
98
- if (!assertPrivateFile(path).equals(bytes))
140
+ if (!assertPrivateFile(path, { expectedBytes: bytes.length }).equals(bytes))
99
141
  throw new Error('Content addressed evidence path collision.');
100
142
  syncEvidenceDirectory(path);
101
143
  return path;
@@ -125,7 +167,8 @@ export function writeCreateOnly(path, bytes, bytesDigest) {
125
167
  }
126
168
  }
127
169
  catch (error) {
128
- if (error.code !== 'EEXIST' || !assertPrivateFile(path).equals(bytes))
170
+ if (error.code !== 'EEXIST' ||
171
+ !assertPrivateFile(path, { expectedBytes: bytes.length }).equals(bytes))
129
172
  throw error;
130
173
  }
131
174
  }
@@ -134,7 +177,7 @@ export function writeCreateOnly(path, bytes, bytesDigest) {
134
177
  unlinkSync(temporary);
135
178
  }
136
179
  syncEvidenceDirectory(path);
137
- if (!assertPrivateFile(path).equals(bytes))
180
+ if (!assertPrivateFile(path, { expectedBytes: bytes.length }).equals(bytes))
138
181
  throw new Error('Content addressed evidence write failed.');
139
182
  return path;
140
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/delivery/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/delivery/common.ts"],"names":[],"mappings":"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"}
@@ -149,6 +149,12 @@ export declare function writeRepositoryCommandOutput(input: {
149
149
  bytes: Buffer;
150
150
  gitCommonDir: string;
151
151
  }): `sha256:${string}`;
152
+ /** @internal Read immutable command evidence through its existing storage owner. */
153
+ export declare function readRepositoryCommandOutput(input: {
154
+ gitCommonDir: string;
155
+ digest: string;
156
+ expectedBytes?: number;
157
+ }): Buffer;
152
158
  export declare function assertRepositoryStageProof(input: {
153
159
  gitCommonDir: string;
154
160
  receipt: RepositoryStageReceipt;
@@ -201,13 +201,22 @@ export function writeRepositoryCommandOutput(input) {
201
201
  writeCreateOnly(outputPath(input.gitCommonDir, digest), input.bytes, digest);
202
202
  return digest;
203
203
  }
204
+ /** @internal Read immutable command evidence through its existing storage owner. */
205
+ export function readRepositoryCommandOutput(input) {
206
+ const bytes = assertPrivateFile(outputPath(input.gitCommonDir, input.digest), {
207
+ maxBytes: 8 * 1024 ** 2,
208
+ ...(input.expectedBytes === undefined ? {} : { expectedBytes: input.expectedBytes }),
209
+ });
210
+ if (digestBytes(bytes) !== input.digest)
211
+ throw new Error('Command output bytes are corrupt.');
212
+ return bytes;
213
+ }
204
214
  export function assertRepositoryStageProof(input) {
205
215
  const receipt = RepositoryStageReceiptSchema.parse(input.receipt);
206
216
  for (const artifact of receipt.artifacts)
207
217
  assertArtifact(input.repoRoot, artifact);
208
218
  for (const command of receipt.commands)
209
- if (digestBytes(assertPrivateFile(outputPath(input.gitCommonDir, command.outputDigest))) !== command.outputDigest)
210
- throw new Error('Command output bytes are missing or corrupt.');
219
+ readRepositoryCommandOutput({ gitCommonDir: input.gitCommonDir, digest: command.outputDigest });
211
220
  }
212
221
  export function writeRepositoryStageCheckpoint(input) {
213
222
  const receipt = RepositoryStageReceiptSchema.parse(input.receipt);
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/delivery/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/delivery/stage.ts"],"names":[],"mappings":"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"}