@aviaratech/ai-delivery 0.3.2 → 0.3.3
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 +10 -5
- package/dist/github/client.d.ts +1 -0
- package/dist/github/client.js +3 -2
- package/dist/github/client.js.map +1 -1
- package/dist/lifecycle.test.js +27 -6
- package/dist/lifecycle.test.js.map +1 -1
- package/dist/pr.d.ts +2 -1
- package/dist/pr.js +18 -6
- package/dist/pr.js.map +1 -1
- package/dist/review.d.ts +5 -1
- package/dist/review.js +34 -3
- package/dist/review.js.map +1 -1
- package/dist/review.test.js +96 -3
- package/dist/review.test.js.map +1 -1
- package/package.json +1 -1
- package/plugins/ai-delivery/.claude-plugin/plugin.json +1 -1
- package/plugins/ai-delivery/skills/pr-handoff/SKILL.md +2 -2
package/README.md
CHANGED
|
@@ -109,8 +109,13 @@ For App roles, set environment variables for the App ID, installation ID and abs
|
|
|
109
109
|
private-key path. Secret values and keys stay outside Git. The author App needs
|
|
110
110
|
Contents, Issues, organization Projects and Pull requests write permissions plus
|
|
111
111
|
read access to repository issue types and fields. Discovery uses that author
|
|
112
|
-
identity; review operations still use the distinct reviewer App (Contents read
|
|
113
|
-
Pull requests write).
|
|
112
|
+
identity; review operations still use the distinct reviewer App (Contents read
|
|
113
|
+
and Pull requests write suffice to submit a review). For that App's approval to
|
|
114
|
+
satisfy a required-review rule, configure Contents write as well. Contents write
|
|
115
|
+
also grants the App real code-write capability; grant it only when that review
|
|
116
|
+
route is intended. Accept the App's new permissions on its installation and
|
|
117
|
+
obtain fresh installation credentials before relying on the changed grant.
|
|
118
|
+
Existing App author configurations remain valid.
|
|
114
119
|
|
|
115
120
|
To use the host user's GitHub identity for publication, replace only the author
|
|
116
121
|
role in `deliverySettings`:
|
|
@@ -133,11 +138,11 @@ artifacts and policy evidence.
|
|
|
133
138
|
|
|
134
139
|
| Route | Package behavior | Native required approval |
|
|
135
140
|
| --- | --- | --- |
|
|
136
|
-
| Configured personal author + reviewer App | One App submits the exact-head independent review. |
|
|
137
|
-
| Author App + reviewer App | Existing separate App roles keep their credential and review bindings. |
|
|
141
|
+
| 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. |
|
|
142
|
+
| 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. |
|
|
138
143
|
| 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. |
|
|
139
144
|
|
|
140
|
-
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).
|
|
145
|
+
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.
|
|
141
146
|
|
|
142
147
|
The local Git commit author is metadata. The selected author token authenticates
|
|
143
148
|
the push and PR creation; `issue_pr_info.authorLogin` confirms the actual PR
|
package/dist/github/client.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { DeliveryConfig, DeliveryRole } from '../config/deliveryConfig.js';
|
|
|
4
4
|
export interface GitHubClients {
|
|
5
5
|
authSource: 'app' | 'personal';
|
|
6
6
|
credentialSource?: string;
|
|
7
|
+
effectiveContentsPermission?: DeliveryPermission | 'admin';
|
|
7
8
|
role: DeliveryRole;
|
|
8
9
|
appActorLogin?: () => Promise<string>;
|
|
9
10
|
authenticatedAuthor?: () => Promise<{
|
package/dist/github/client.js
CHANGED
|
@@ -123,7 +123,7 @@ export async function createDeliveryGitHubClients(input) {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
: undefined;
|
|
126
|
-
return buildClients(result.token, 'app', input.role, `app:${credentials.appId}:installation:${credentials.installationId}`, appActorLogin, authenticatedAuthor);
|
|
126
|
+
return buildClients(result.token, 'app', input.role, `app:${credentials.appId}:installation:${credentials.installationId}`, appActorLogin, authenticatedAuthor, result.permissions.contents);
|
|
127
127
|
}
|
|
128
128
|
catch (error) {
|
|
129
129
|
if (error instanceof DeliveryError)
|
|
@@ -150,10 +150,11 @@ function personalClients(token, credentialSource) {
|
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
function buildClients(token, authSource, role, credentialSource, appActorLogin, authenticatedAuthor) {
|
|
153
|
+
function buildClients(token, authSource, role, credentialSource, appActorLogin, authenticatedAuthor, effectiveContentsPermission) {
|
|
154
154
|
const clients = {
|
|
155
155
|
authSource,
|
|
156
156
|
credentialSource,
|
|
157
|
+
...(effectiveContentsPermission ? { effectiveContentsPermission } : {}),
|
|
157
158
|
role,
|
|
158
159
|
...(appActorLogin ? { appActorLogin } : {}),
|
|
159
160
|
...(authenticatedAuthor ? { authenticatedAuthor } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
|
package/dist/lifecycle.test.js
CHANGED
|
@@ -76,13 +76,33 @@ vi.mock('./github/client.js', async (importOriginal) => {
|
|
|
76
76
|
},
|
|
77
77
|
},
|
|
78
78
|
},
|
|
79
|
-
graphql: async (query, variables) =>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
graphql: async (query, variables) => {
|
|
80
|
+
if (query.includes('DeliveryReviewDecision')) {
|
|
81
|
+
return {
|
|
82
|
+
repository: {
|
|
83
|
+
pullRequest: { headRefOid: personalRoute.headSha, reviewDecision: 'REVIEW_REQUIRED' },
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (query.includes('DeliveryReviewAccess')) {
|
|
88
|
+
return {
|
|
89
|
+
repository: {
|
|
90
|
+
pullRequest: {
|
|
91
|
+
reviews: {
|
|
92
|
+
nodes: personalRoute.reviews.map((review) => ({
|
|
93
|
+
fullDatabaseId: String(review.id),
|
|
94
|
+
author: { login: review.user.login.replace(/\[bot\]$/u, '') },
|
|
95
|
+
authorCanPushToRepository: false,
|
|
96
|
+
commit: { oid: review.commit_id },
|
|
97
|
+
state: review.state,
|
|
98
|
+
})),
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
};
|
|
84
103
|
}
|
|
85
|
-
|
|
104
|
+
return syntheticDiscoveryClients().graphql(query, variables);
|
|
105
|
+
},
|
|
86
106
|
};
|
|
87
107
|
}
|
|
88
108
|
assert.equal(input.identity, 'host-author');
|
|
@@ -1791,6 +1811,7 @@ exec "${realGit}" "$@"
|
|
|
1791
1811
|
const reviewInput = { issueNumber: 17, prNumber: 23, identity: 'synthetic-reviewer', artifact };
|
|
1792
1812
|
const first = (await executeTool('issue_pr_review', reviewInput, execution));
|
|
1793
1813
|
assert.equal(first.reviewState.status, 'still-required');
|
|
1814
|
+
assert.equal(first.reviewState.submittedReviewAuthorCanPushToRepository, false);
|
|
1794
1815
|
assert.equal(personalRoute.submitted, 1);
|
|
1795
1816
|
const second = (await executeTool('issue_pr_review', reviewInput, execution));
|
|
1796
1817
|
assert.equal(second.receiptId, first.receiptId);
|