@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.3",
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));
@@ -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(ctx, await ctx.api("GET", `/v1/projects/${project.id}/issues/${number}`));
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
- { body: { agent } },
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' && (({{BUILDER_REPO_LANE}} && contains(github.event.comment.body, '/codex-builder')) || ({{ARCHITECT_REPO_LANE}} && contains(github.event.comment.body, '/codex-architect')))) ||
27
- (github.event_name == 'pull_request_review_comment' && (({{BUILDER_REPO_LANE}} && contains(github.event.comment.body, '/codex-builder')) || ({{ARCHITECT_REPO_LANE}} && contains(github.event.comment.body, '/codex-architect')))) ||
28
- (github.event_name == 'issues' && (({{BUILDER_REPO_LANE}} && (contains(github.event.issue.body || '', '/codex-builder') || contains(github.event.issue.title || '', '/codex-builder'))) || ({{ARCHITECT_REPO_LANE}} && (contains(github.event.issue.body || '', '/codex-architect') || contains(github.event.issue.title || '', '/codex-architect')))))
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