@theagilemonkeys/facility 0.3.3 → 0.5.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theagilemonkeys/facility",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Run an AI crew on your GitHub repo: agents that plan before building, build to your standard, verify on a provisioned environment, and never merge their own work.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
package/src/init.mjs
CHANGED
|
@@ -403,6 +403,8 @@ export async function init(flags, pkgRoot, version) {
|
|
|
403
403
|
CODEX_VERSION: "0.144.6",
|
|
404
404
|
ARCHITECT_REPO_LANE: "true",
|
|
405
405
|
BUILDER_REPO_LANE: "true",
|
|
406
|
+
CODEX_ARCHITECT_REPO_LANE: "true",
|
|
407
|
+
CODEX_BUILDER_REPO_LANE: "true",
|
|
406
408
|
PROVISION_CMD: provisionCmd,
|
|
407
409
|
CHECKS_INLINE: checksInline,
|
|
408
410
|
CHECKS_RUN: checksRun(checks),
|
|
@@ -527,12 +529,14 @@ export async function init(flags, pkgRoot, version) {
|
|
|
527
529
|
codex: { provider: "openai", mode: "api-key" },
|
|
528
530
|
},
|
|
529
531
|
defaultBranch,
|
|
532
|
+
packageInstall: null,
|
|
530
533
|
provision: provision || null,
|
|
531
534
|
checks,
|
|
532
535
|
models,
|
|
533
536
|
preview,
|
|
534
537
|
canaryBot,
|
|
535
538
|
board: project ? { org, project: Number(project) } : null,
|
|
539
|
+
executionLane: { architect: "repo", builder: "repo" },
|
|
536
540
|
modules: [],
|
|
537
541
|
};
|
|
538
542
|
writeFileSync(join(dir, ".facility.json"), formatManifest(manifest));
|
package/src/platform-admin.mjs
CHANGED
|
@@ -104,7 +104,7 @@ const ADMIN_FLAGS = {
|
|
|
104
104
|
...WRITE_FLAGS,
|
|
105
105
|
],
|
|
106
106
|
conversations: ["agent", "title", ...WRITE_FLAGS],
|
|
107
|
-
github: ["query", "state", "cursor", "agent", "limit", ...WRITE_FLAGS],
|
|
107
|
+
github: ["query", "state", "cursor", "agent", "limit", "repo", ...WRITE_FLAGS],
|
|
108
108
|
providers: ["provider", "name", "secret", "base-url", ...PAGE_FLAGS, ...WRITE_FLAGS],
|
|
109
109
|
budgets: ["id", "scope", "project", "agent", "period", "limit-cents", "mode", "enabled", ...PAGE_FLAGS, ...WRITE_FLAGS],
|
|
110
110
|
registry: [
|
|
@@ -226,9 +226,9 @@ const ADMIN_SUBCOMMAND_FLAGS = {
|
|
|
226
226
|
installations: [],
|
|
227
227
|
repos: ["query"],
|
|
228
228
|
issues: ["state", "query", "cursor", "limit"],
|
|
229
|
-
issue: [],
|
|
229
|
+
issue: ["repo"],
|
|
230
230
|
sync: [...WRITE_FLAGS],
|
|
231
|
-
trigger: ["agent", ...WRITE_FLAGS],
|
|
231
|
+
trigger: ["agent", "repo", ...WRITE_FLAGS],
|
|
232
232
|
},
|
|
233
233
|
providers: {
|
|
234
234
|
__default: [...PAGE_FLAGS],
|
|
@@ -690,7 +690,12 @@ async function github(args, ctx, flags) {
|
|
|
690
690
|
if (sub === "issue") {
|
|
691
691
|
const project = await ctx.resolveProject(args[1]);
|
|
692
692
|
const number = integerArgument(args[2], "issue number");
|
|
693
|
-
return details(
|
|
693
|
+
return details(
|
|
694
|
+
ctx,
|
|
695
|
+
await ctx.api("GET", `/v1/projects/${project.id}/issues/${number}`, {
|
|
696
|
+
query: compact({ repoId: stringFlag(flags.repo) }),
|
|
697
|
+
}),
|
|
698
|
+
);
|
|
694
699
|
}
|
|
695
700
|
if (sub === "sync") {
|
|
696
701
|
const project = await ctx.resolveProject(args[1]);
|
|
@@ -704,7 +709,10 @@ async function github(args, ctx, flags) {
|
|
|
704
709
|
const result = await ctx.api(
|
|
705
710
|
"POST",
|
|
706
711
|
`/v1/projects/${project.id}/issues/${number}/trigger`,
|
|
707
|
-
{
|
|
712
|
+
{
|
|
713
|
+
query: compact({ repoId: stringFlag(flags.repo) }),
|
|
714
|
+
body: { agent },
|
|
715
|
+
},
|
|
708
716
|
);
|
|
709
717
|
return changed(ctx, result, `triggered session ${result.id} from issue #${number}`);
|
|
710
718
|
}
|
|
@@ -23,9 +23,9 @@ jobs:
|
|
|
23
23
|
if: |
|
|
24
24
|
github.event.sender.type != 'Bot' &&
|
|
25
25
|
(
|
|
26
|
-
(github.event_name == 'issue_comment' && (({{
|
|
27
|
-
(github.event_name == 'pull_request_review_comment' && (({{
|
|
28
|
-
(github.event_name == 'issues' && (({{
|
|
26
|
+
(github.event_name == 'issue_comment' && (({{CODEX_BUILDER_REPO_LANE}} && contains(github.event.comment.body, '/codex-builder')) || ({{CODEX_ARCHITECT_REPO_LANE}} && contains(github.event.comment.body, '/codex-architect')))) ||
|
|
27
|
+
(github.event_name == 'pull_request_review_comment' && (({{CODEX_BUILDER_REPO_LANE}} && contains(github.event.comment.body, '/codex-builder')) || ({{CODEX_ARCHITECT_REPO_LANE}} && contains(github.event.comment.body, '/codex-architect')))) ||
|
|
28
|
+
(github.event_name == 'issues' && (({{CODEX_BUILDER_REPO_LANE}} && (contains(github.event.issue.body || '', '/codex-builder') || contains(github.event.issue.title || '', '/codex-builder'))) || ({{CODEX_ARCHITECT_REPO_LANE}} && (contains(github.event.issue.body || '', '/codex-architect') || contains(github.event.issue.title || '', '/codex-architect')))))
|
|
29
29
|
)
|
|
30
30
|
runs-on: ubuntu-latest
|
|
31
31
|
timeout-minutes: 180
|