@agents-ensemble/core 0.4.0 → 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.
Files changed (119) hide show
  1. package/dist/acp/acp-preset-bins.d.ts +10 -0
  2. package/dist/acp/acp-preset-bins.d.ts.map +1 -0
  3. package/dist/acp/acp-preset-bins.js +27 -0
  4. package/dist/acp/acp-preset-bins.js.map +1 -0
  5. package/dist/acp/index.d.ts +3 -0
  6. package/dist/acp/index.d.ts.map +1 -1
  7. package/dist/acp/index.js +3 -0
  8. package/dist/acp/index.js.map +1 -1
  9. package/dist/acp/resolve-acp-spawn.d.ts +2 -0
  10. package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
  11. package/dist/acp/resolve-acp-spawn.js +10 -6
  12. package/dist/acp/resolve-acp-spawn.js.map +1 -1
  13. package/dist/acp/resolve-bundled-acp-bin.d.ts +11 -0
  14. package/dist/acp/resolve-bundled-acp-bin.d.ts.map +1 -0
  15. package/dist/acp/resolve-bundled-acp-bin.js +60 -0
  16. package/dist/acp/resolve-bundled-acp-bin.js.map +1 -0
  17. package/dist/acp/validate-acp-preset-prerequisites.d.ts +24 -0
  18. package/dist/acp/validate-acp-preset-prerequisites.d.ts.map +1 -0
  19. package/dist/acp/validate-acp-preset-prerequisites.js +121 -0
  20. package/dist/acp/validate-acp-preset-prerequisites.js.map +1 -0
  21. package/dist/conductor/conductor-session-driver.d.ts +2 -0
  22. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  23. package/dist/conductor/conductor-session-driver.js +16 -7
  24. package/dist/conductor/conductor-session-driver.js.map +1 -1
  25. package/dist/conductor/conductor-session.d.ts +3 -0
  26. package/dist/conductor/conductor-session.d.ts.map +1 -1
  27. package/dist/conductor/conductor-session.js +149 -62
  28. package/dist/conductor/conductor-session.js.map +1 -1
  29. package/dist/conductor/resolve-conductor-model-id.d.ts +7 -3
  30. package/dist/conductor/resolve-conductor-model-id.d.ts.map +1 -1
  31. package/dist/conductor/resolve-conductor-model-id.js +9 -11
  32. package/dist/conductor/resolve-conductor-model-id.js.map +1 -1
  33. package/dist/conductor/session/events/session-log-event-groups.d.ts +2 -2
  34. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  35. package/dist/conductor/session/events/session-log-event-groups.js +1 -0
  36. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  37. package/dist/conductor/session/events/session-log-event.d.ts +9 -1
  38. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  39. package/dist/conductor/session/session-logger.d.ts.map +1 -1
  40. package/dist/conductor/session/session-logger.js +1 -0
  41. package/dist/conductor/session/session-logger.js.map +1 -1
  42. package/dist/config/deep-merge.d.ts +3 -0
  43. package/dist/config/deep-merge.d.ts.map +1 -0
  44. package/dist/config/deep-merge.js +20 -0
  45. package/dist/config/deep-merge.js.map +1 -0
  46. package/dist/config/defaults.d.ts +5 -0
  47. package/dist/config/defaults.d.ts.map +1 -0
  48. package/dist/config/defaults.js +35 -0
  49. package/dist/config/defaults.js.map +1 -0
  50. package/dist/config/index.d.ts +9 -0
  51. package/dist/config/index.d.ts.map +1 -0
  52. package/dist/config/index.js +6 -0
  53. package/dist/config/index.js.map +1 -0
  54. package/dist/config/load-ensemble-config.d.ts +12 -0
  55. package/dist/config/load-ensemble-config.d.ts.map +1 -0
  56. package/dist/config/load-ensemble-config.js +44 -0
  57. package/dist/config/load-ensemble-config.js.map +1 -0
  58. package/dist/config/parse-config.d.ts +7 -0
  59. package/dist/config/parse-config.d.ts.map +1 -0
  60. package/dist/config/parse-config.js +179 -0
  61. package/dist/config/parse-config.js.map +1 -0
  62. package/dist/config/resolve-settings.d.ts +78 -0
  63. package/dist/config/resolve-settings.d.ts.map +1 -0
  64. package/dist/config/resolve-settings.js +141 -0
  65. package/dist/config/resolve-settings.js.map +1 -0
  66. package/dist/config/types.d.ts +52 -0
  67. package/dist/config/types.d.ts.map +1 -0
  68. package/dist/config/types.js +2 -0
  69. package/dist/config/types.js.map +1 -0
  70. package/dist/github/fetch-github-updates.d.ts +17 -3
  71. package/dist/github/fetch-github-updates.d.ts.map +1 -1
  72. package/dist/github/fetch-github-updates.js +97 -97
  73. package/dist/github/fetch-github-updates.js.map +1 -1
  74. package/dist/github/github-auth.d.ts +15 -0
  75. package/dist/github/github-auth.d.ts.map +1 -0
  76. package/dist/github/github-auth.js +44 -0
  77. package/dist/github/github-auth.js.map +1 -0
  78. package/dist/github/github-client.d.ts +76 -0
  79. package/dist/github/github-client.d.ts.map +1 -0
  80. package/dist/github/github-client.js +198 -0
  81. package/dist/github/github-client.js.map +1 -0
  82. package/dist/github/github-monitor-error.d.ts +24 -0
  83. package/dist/github/github-monitor-error.d.ts.map +1 -0
  84. package/dist/github/github-monitor-error.js +75 -0
  85. package/dist/github/github-monitor-error.js.map +1 -0
  86. package/dist/github/github-monitor.d.ts +9 -3
  87. package/dist/github/github-monitor.d.ts.map +1 -1
  88. package/dist/github/github-monitor.js +41 -3
  89. package/dist/github/github-monitor.js.map +1 -1
  90. package/dist/github/github-test-fixtures.d.ts +52 -0
  91. package/dist/github/github-test-fixtures.d.ts.map +1 -1
  92. package/dist/github/github-test-fixtures.js +42 -0
  93. package/dist/github/github-test-fixtures.js.map +1 -1
  94. package/dist/github/index.d.ts +11 -2
  95. package/dist/github/index.d.ts.map +1 -1
  96. package/dist/github/index.js +6 -2
  97. package/dist/github/index.js.map +1 -1
  98. package/dist/github/issue-context.d.ts +8 -1
  99. package/dist/github/issue-context.d.ts.map +1 -1
  100. package/dist/github/issue-context.js +13 -12
  101. package/dist/github/issue-context.js.map +1 -1
  102. package/dist/github/resolve-github-auth-token.d.ts +19 -0
  103. package/dist/github/resolve-github-auth-token.d.ts.map +1 -0
  104. package/dist/github/resolve-github-auth-token.js +32 -0
  105. package/dist/github/resolve-github-auth-token.js.map +1 -0
  106. package/dist/github/run-gh.d.ts +24 -2
  107. package/dist/github/run-gh.d.ts.map +1 -1
  108. package/dist/github/run-gh.js +62 -9
  109. package/dist/github/run-gh.js.map +1 -1
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +1 -0
  113. package/dist/index.js.map +1 -1
  114. package/dist/profile/load-profile.d.ts +5 -2
  115. package/dist/profile/load-profile.d.ts.map +1 -1
  116. package/dist/profile/load-profile.js +9 -7
  117. package/dist/profile/load-profile.js.map +1 -1
  118. package/dist/profiles/implementer-and-reviewer/team.md +11 -3
  119. package/package.json +6 -1
@@ -1,7 +1,11 @@
1
- export { runGh } from './run-gh.js';
1
+ export { runGh, RunGhError } from './run-gh.js';
2
+ export { resolveGitHubAuthToken } from './resolve-github-auth-token.js';
3
+ export { buildGitHubClient, createGitHubClient, GitHubApiError, } from './github-client.js';
4
+ export { formatGitHubAuthRecoveryHint, formatGitHubErrorMessage, GITHUB_AUTH_HINT, hasGitHubAuth, isGitHubAuthError, } from './github-auth.js';
2
5
  export { fetchIssueContext, } from './issue-context.js';
3
6
  export { formatIssueContextForPrompt, formatIssueContextYaml, } from './format-issue-context-prompt.js';
4
7
  export { createGitHubMonitor, DEFAULT_GITHUB_MONITOR_DEBOUNCE_MS, DEFAULT_GITHUB_MONITOR_POLL_INTERVAL_MS, DEFAULT_GITHUB_MONITOR_ACTIVE_POLL_INTERVAL_MS, } from './github-monitor.js';
5
8
  export { emptyGitHubMonitorCursor, isEmptyGitHubMonitorCursor, normalizeGitHubMonitorCursor, } from './github-monitor-cursor.js';
6
- export { fetchGitHubUpdates } from './fetch-github-updates.js';
9
+ export { fetchGitHubUpdates, normalizeStatusCheckRollup } from './fetch-github-updates.js';
10
+ export { GitHubMonitorError, safeUpperString, classifyGitHubMonitorError, createGitHubMonitorPhaseError, } from './github-monitor-error.js';
7
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EACL,mBAAmB,EACnB,kCAAkC,EAClC,uCAAuC,EACvC,8CAA8C,GAC/C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EACL,mBAAmB,EACnB,kCAAkC,EAClC,uCAAuC,EACvC,8CAA8C,GAC/C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAK3F,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC"}
@@ -1,4 +1,6 @@
1
+ import type { EnsembleConfig } from '../config/types.js';
1
2
  import type { IssueRef } from '../issue/issue-ref.js';
3
+ import { type GitHubClient, type CreateGitHubClientOptions } from './github-client.js';
2
4
  export interface IssueComment {
3
5
  author: string;
4
6
  body: string;
@@ -12,5 +14,10 @@ export interface IssueContext {
12
14
  labels: string[];
13
15
  comments: IssueComment[];
14
16
  }
15
- export declare function fetchIssueContext(issueUrl: string): Promise<IssueContext>;
17
+ export interface FetchIssueContextOptions {
18
+ ensembleConfig: EnsembleConfig;
19
+ githubClient?: GitHubClient;
20
+ createClientOptions?: Omit<CreateGitHubClientOptions, 'config'>;
21
+ }
22
+ export declare function fetchIssueContext(issueUrl: string, options: FetchIssueContextOptions): Promise<IssueContext>;
16
23
  //# sourceMappingURL=issue-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"issue-context.d.ts","sourceRoot":"","sources":["../../src/github/issue-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAcD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAuB/E"}
1
+ {"version":3,"file":"issue-context.d.ts","sourceRoot":"","sources":["../../src/github/issue-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mBAAmB,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;CACjE;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CA0BvB"}
@@ -1,25 +1,26 @@
1
1
  import { parseIssueUrl } from '../issue/issue-ref.js';
2
- import { runGh } from './run-gh.js';
3
- export async function fetchIssueContext(issueUrl) {
2
+ import { createGitHubClient, } from './github-client.js';
3
+ export async function fetchIssueContext(issueUrl, options) {
4
4
  const issue = parseIssueUrl(issueUrl);
5
- const stdout = await runGh([
6
- 'issue',
7
- 'view',
8
- issue.url,
9
- '--json',
10
- 'title,body,state,labels,comments',
5
+ const client = options.githubClient ??
6
+ (await createGitHubClient({
7
+ config: options.ensembleConfig,
8
+ ...options.createClientOptions,
9
+ }));
10
+ const [data, comments] = await Promise.all([
11
+ client.getIssue(issue.owner, issue.repo, issue.number),
12
+ client.listIssueComments(issue.owner, issue.repo, issue.number),
11
13
  ]);
12
- const data = JSON.parse(stdout);
13
14
  return {
14
15
  issue,
15
16
  title: data.title,
16
17
  body: data.body ?? '',
17
18
  state: data.state,
18
19
  labels: (data.labels ?? []).map((label) => label.name),
19
- comments: (data.comments ?? []).map((comment) => ({
20
- author: comment.author.login,
20
+ comments: comments.map((comment) => ({
21
+ author: comment.user.login,
21
22
  body: comment.body,
22
- createdAt: comment.createdAt,
23
+ createdAt: comment.created_at,
23
24
  })),
24
25
  };
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issue-context.js","sourceRoot":"","sources":["../../src/github/issue-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA6BpC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,OAAO;QACP,MAAM;QACN,KAAK,CAAC,GAAG;QACT,QAAQ;QACR,kCAAkC;KACnC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAgB,CAAC;IAE/C,OAAO;QACL,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACtD,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"issue-context.js","sourceRoot":"","sources":["../../src/github/issue-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAuB5B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,OAAiC;IAEjC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,MAAM,GACV,OAAO,CAAC,YAAY;QACpB,CAAC,MAAM,kBAAkB,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,cAAc;YAC9B,GAAG,OAAO,CAAC,mBAAmB;SAC/B,CAAC,CAAC,CAAC;IAEN,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;KAChE,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACtD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,UAAU;SAC9B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { EnsembleConfig } from '../config/types.js';
2
+ import { runGh } from './run-gh.js';
3
+ export type GitHubAuthTokenSource = 'GITHUB_TOKEN' | 'GH_TOKEN' | 'gh_auth_token';
4
+ export interface ResolveGitHubAuthTokenResult {
5
+ token?: string;
6
+ source?: GitHubAuthTokenSource;
7
+ }
8
+ export interface ResolveGitHubAuthTokenOptions {
9
+ config: EnsembleConfig;
10
+ env?: NodeJS.ProcessEnv;
11
+ runGhFn?: typeof runGh;
12
+ }
13
+ /**
14
+ * GitHub API 用トークンを解決する。
15
+ * 解決順: `GITHUB_TOKEN` → `GH_TOKEN` →(config 許可時のみ)`gh auth token`。
16
+ * 環境変数は config より優先する。
17
+ */
18
+ export declare function resolveGitHubAuthToken(options: ResolveGitHubAuthTokenOptions): Promise<ResolveGitHubAuthTokenResult>;
19
+ //# sourceMappingURL=resolve-github-auth-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-github-auth-token.d.ts","sourceRoot":"","sources":["../../src/github/resolve-github-auth-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,UAAU,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CA0BvC"}
@@ -0,0 +1,32 @@
1
+ import { runGh } from './run-gh.js';
2
+ /**
3
+ * GitHub API 用トークンを解決する。
4
+ * 解決順: `GITHUB_TOKEN` → `GH_TOKEN` →(config 許可時のみ)`gh auth token`。
5
+ * 環境変数は config より優先する。
6
+ */
7
+ export async function resolveGitHubAuthToken(options) {
8
+ const env = options.env ?? process.env;
9
+ const githubToken = env.GITHUB_TOKEN?.trim();
10
+ if (githubToken) {
11
+ return { token: githubToken, source: 'GITHUB_TOKEN' };
12
+ }
13
+ const ghToken = env.GH_TOKEN?.trim();
14
+ if (ghToken) {
15
+ return { token: ghToken, source: 'GH_TOKEN' };
16
+ }
17
+ if (!options.config.github.auth.allowGhAuthTokenFallback) {
18
+ return {};
19
+ }
20
+ const runGhFn = options.runGhFn ?? runGh;
21
+ try {
22
+ const token = (await runGhFn(['auth', 'token'])).trim();
23
+ if (!token) {
24
+ return {};
25
+ }
26
+ return { token, source: 'gh_auth_token' };
27
+ }
28
+ catch {
29
+ return {};
30
+ }
31
+ }
32
+ //# sourceMappingURL=resolve-github-auth-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-github-auth-token.js","sourceRoot":"","sources":["../../src/github/resolve-github-auth-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAepC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsC;IAEtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,4 +1,26 @@
1
- export declare function runGh(args: string[], options?: {
1
+ /**
2
+ * @deprecated GitHub 情報取得には `GitHubClient` を使用する。
3
+ * `resolveGitHubAuthToken` の `gh auth token` フォールバックのみが残存利用者。
4
+ */
5
+ export interface RunGhOptions {
2
6
  cwd?: string;
3
- }): Promise<string>;
7
+ signal?: AbortSignal;
8
+ }
9
+ export type RunGhErrorCause = 'auth' | 'rate_limit' | 'repo_access' | 'unknown';
10
+ /** `gh` CLI 実行失敗。認証・rate limit 等を分類する。 */
11
+ export declare class RunGhError extends Error {
12
+ readonly retryable: boolean;
13
+ readonly cause: RunGhErrorCause;
14
+ constructor(message: string, options: {
15
+ retryable: boolean;
16
+ cause: RunGhErrorCause;
17
+ });
18
+ }
19
+ /**
20
+ * @deprecated GitHub 情報取得には `GitHubClient` を使用する。
21
+ * `resolveGitHubAuthToken` の `gh auth token` フォールバックのみが残存利用者。
22
+ */
23
+ export declare function runGh(args: string[], options?: RunGhOptions): Promise<string>;
24
+ /** @internal テスト用に export。 */
25
+ export declare function classifyRunGhFailure(args: string[], detail: string): RunGhError;
4
26
  //# sourceMappingURL=run-gh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-gh.d.ts","sourceRoot":"","sources":["../../src/github/run-gh.ts"],"names":[],"mappings":"AAKA,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB"}
1
+ {"version":3,"file":"run-gh.d.ts","sourceRoot":"","sources":["../../src/github/run-gh.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,CAAC;AAEhF,0CAA0C;AAC1C,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;gBAG9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;CAO1D;AAED;;;GAGG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED,8BAA8B;AAC9B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAuC/E"}
@@ -1,19 +1,72 @@
1
1
  import { execFile } from 'node:child_process';
2
- import { promisify } from 'node:util';
3
- const execFileAsync = promisify(execFile);
2
+ /** `gh` CLI 実行失敗。認証・rate limit 等を分類する。 */
3
+ export class RunGhError extends Error {
4
+ retryable;
5
+ cause;
6
+ constructor(message, options) {
7
+ super(message);
8
+ this.name = 'RunGhError';
9
+ this.retryable = options.retryable;
10
+ this.cause = options.cause;
11
+ }
12
+ }
13
+ /**
14
+ * @deprecated GitHub 情報取得には `GitHubClient` を使用する。
15
+ * `resolveGitHubAuthToken` の `gh auth token` フォールバックのみが残存利用者。
16
+ */
4
17
  export async function runGh(args, options = {}) {
5
- try {
6
- const { stdout } = await execFileAsync('gh', args, {
18
+ if (options.signal?.aborted) {
19
+ throw createRunGhAbortError();
20
+ }
21
+ return new Promise((resolve, reject) => {
22
+ let child;
23
+ const onAbort = () => {
24
+ child.kill('SIGTERM');
25
+ cleanup();
26
+ reject(createRunGhAbortError());
27
+ };
28
+ const cleanup = () => {
29
+ options.signal?.removeEventListener('abort', onAbort);
30
+ };
31
+ child = execFile('gh', args, {
7
32
  cwd: options.cwd,
8
33
  encoding: 'utf8',
9
34
  maxBuffer: 10 * 1024 * 1024,
35
+ }, (error, stdout, stderr) => {
36
+ cleanup();
37
+ if (error) {
38
+ const detail = (typeof stderr === 'string' ? stderr.trim() : '') || error.message;
39
+ reject(classifyRunGhFailure(args, detail));
40
+ return;
41
+ }
42
+ resolve(stdout);
10
43
  });
11
- return stdout;
44
+ options.signal?.addEventListener('abort', onAbort, { once: true });
45
+ });
46
+ }
47
+ /** @internal テスト用に export。 */
48
+ export function classifyRunGhFailure(args, detail) {
49
+ const command = `gh ${args.join(' ')}`;
50
+ const lower = detail.toLowerCase();
51
+ if (/not logged in|authentication required|401|bad credentials|gh auth login|to authenticate/i.test(lower)) {
52
+ return new RunGhError(`${command} failed: ${detail}\n\n` +
53
+ 'GitHub CLI 認証が必要です。`gh auth login` を実行するか、`export GITHUB_TOKEN=...` を設定してください。', { cause: 'auth', retryable: false });
54
+ }
55
+ if (/rate limit|429|secondary rate limit|abuse detection/i.test(lower)) {
56
+ return new RunGhError(`${command} failed: ${detail}(rate limit — しばらく待ってから再試行してください)`, { cause: 'rate_limit', retryable: true });
12
57
  }
13
- catch (error) {
14
- const err = error;
15
- const detail = err.stderr?.trim() || err.message;
16
- throw new Error(`gh ${args.join(' ')} failed: ${detail}`);
58
+ if (/could not resolve|not found|404|does not have|repository.*not|no such repository/i.test(lower)) {
59
+ return new RunGhError(`${command} failed: ${detail}\n\n` +
60
+ 'リポジトリアクセスを確認してください(issue URL と作業ディレクトリの origin が一致しているか)。', { cause: 'repo_access', retryable: false });
17
61
  }
62
+ return new RunGhError(`${command} failed: ${detail}`, {
63
+ cause: 'unknown',
64
+ retryable: false,
65
+ });
66
+ }
67
+ function createRunGhAbortError() {
68
+ const error = new Error('gh command aborted');
69
+ error.name = 'AbortError';
70
+ return error;
18
71
  }
19
72
  //# sourceMappingURL=run-gh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-gh.js","sourceRoot":"","sources":["../../src/github/run-gh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,IAAc,EACd,UAA4B,EAAE;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;YACjD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAoD,CAAC;QACjE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run-gh.js","sourceRoot":"","sources":["../../src/github/run-gh.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /** Shared orchestration types and logic for agents-ensemble. */
2
2
  export declare const PACKAGE_NAME = "@agents-ensemble/core";
3
+ export * from './config/index.js';
3
4
  export * from './acp/index.js';
4
5
  export * from './workspace/index.js';
5
6
  export * from './profile/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,uEAAuE;AACvE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,uEAAuE;AACvE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,uEAAuE;AACvE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,uEAAuE;AACvE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  /** Shared orchestration types and logic for agents-ensemble. */
2
2
  export const PACKAGE_NAME = '@agents-ensemble/core';
3
+ export * from './config/index.js';
3
4
  export * from './acp/index.js';
4
5
  export * from './workspace/index.js';
5
6
  export * from './profile/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,uEAAuE;AACvE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,uEAAuE;AACvE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Profile, ResolvedProfile } from './types.js';
2
+ import type { EnsembleConfig } from '../config/types.js';
2
3
  export { bundledDefaultProfilePath, bundledProfilePath, bundledProfilesRoot, corePackageRoot, DEFAULT_PROFILE_ALIAS, DEFAULT_PROFILE_NAME, ENSEMBLE_DIR, PROFILE_FILE, profileDirectoryPath, PROFILES_DIR, TEAMS_DIR, } from './profile-paths.js';
3
4
  export { teamProfileRoots, resolveTeamProfilePath, listTeamProfiles, normalizeTeamProfileName, teamProfileId, } from './team-profile-resolution.js';
4
5
  export { validateTeamProfileWorkspaces, assertTeamProfileWorkspacesAvailable, formatTeamProfileActivationError, } from './validate-team-profile-workspaces.js';
@@ -17,11 +18,12 @@ export declare function loadProfileFromFile(filePath: string, options?: {
17
18
  */
18
19
  export declare function resolveProfilePath(ref: string, repoRoot: string): string;
19
20
  /** `--profile` 未指定時のデフォルト team profile(`--profile` と同じ解釈)。 */
20
- export declare const ENSEMBLE_DEFAULT_PROFILE_ENV = "ENSEMBLE_DEFAULT_PROFILE";
21
- /** CLI `--profile` > `ENSEMBLE_DEFAULT_PROFILE` > bundled default のうち、先に有効な参照を返す。 */
21
+ export { ENSEMBLE_DEFAULT_PROFILE_ENV } from '../config/resolve-settings.js';
22
+ /** CLI `--profile` > `ENSEMBLE_DEFAULT_PROFILE` > config > bundled default のうち、先に有効な参照を返す。 */
22
23
  export declare function resolveProfileRef(options: {
23
24
  profile?: string;
24
25
  env?: NodeJS.ProcessEnv;
26
+ config?: EnsembleConfig;
25
27
  }): string | undefined;
26
28
  /** `--profile` / env も未指定時は同梱 default。 */
27
29
  export declare function resolveDefaultProfilePath(): string;
@@ -29,6 +31,7 @@ export declare function loadProfile(options: {
29
31
  profile?: string;
30
32
  cwd?: string;
31
33
  env?: NodeJS.ProcessEnv;
34
+ config?: EnsembleConfig;
32
35
  }): Promise<{
33
36
  profile: ResolvedProfile;
34
37
  profilePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"load-profile.d.ts","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,OAAO,EAGP,eAAe,EAChB,MAAM,YAAY,CAAC;AAiBpB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAe/C,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA+CpE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlF;AAoED,8CAA8C;AAC9C,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAkB1B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAEvE,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB7D"}
1
+ {"version":3,"file":"load-profile.d.ts","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,OAAO,EAGP,eAAe,EAChB,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAazD,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAe/C,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA+CpE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlF;AAoED,8CAA8C;AAC9C,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAkB1B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,8DAA8D;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB7D"}
@@ -6,6 +6,7 @@ import { resolveWorkerWorkspacePath } from './resolve-worker-workspace.js';
6
6
  import { assertTeamProfileWorkspacesAvailable } from './validate-team-profile-workspaces.js';
7
7
  import { normalizeProfileWorkers } from './types.js';
8
8
  import { parseProfileAcpConfig } from '../acp/resolve-acp-spawn.js';
9
+ import { resolveProfileDefaultRef } from '../config/resolve-settings.js';
9
10
  import { normalizeTeamProfileName, resolveTeamProfilePath, } from './team-profile-resolution.js';
10
11
  import { bundledDefaultProfilePath, PROFILE_FILE, } from './profile-paths.js';
11
12
  export { bundledDefaultProfilePath, bundledProfilePath, bundledProfilesRoot, corePackageRoot, DEFAULT_PROFILE_ALIAS, DEFAULT_PROFILE_NAME, ENSEMBLE_DIR, PROFILE_FILE, profileDirectoryPath, PROFILES_DIR, TEAMS_DIR, } from './profile-paths.js';
@@ -133,14 +134,14 @@ export function resolveProfilePath(ref, repoRoot) {
133
134
  return resolveTeamProfilePath(ref, { repoRoot });
134
135
  }
135
136
  /** `--profile` 未指定時のデフォルト team profile(`--profile` と同じ解釈)。 */
136
- export const ENSEMBLE_DEFAULT_PROFILE_ENV = 'ENSEMBLE_DEFAULT_PROFILE';
137
- /** CLI `--profile` > `ENSEMBLE_DEFAULT_PROFILE` > bundled default のうち、先に有効な参照を返す。 */
137
+ export { ENSEMBLE_DEFAULT_PROFILE_ENV } from '../config/resolve-settings.js';
138
+ /** CLI `--profile` > `ENSEMBLE_DEFAULT_PROFILE` > config > bundled default のうち、先に有効な参照を返す。 */
138
139
  export function resolveProfileRef(options) {
139
- if (options.profile?.trim()) {
140
- return options.profile.trim();
141
- }
142
- const fromEnv = options.env?.[ENSEMBLE_DEFAULT_PROFILE_ENV]?.trim();
143
- return fromEnv || undefined;
140
+ return resolveProfileDefaultRef({
141
+ cliProfile: options.profile,
142
+ env: options.env ?? process.env,
143
+ config: options.config,
144
+ });
144
145
  }
145
146
  /** `--profile` / env も未指定時は同梱 default。 */
146
147
  export function resolveDefaultProfilePath() {
@@ -151,6 +152,7 @@ export async function loadProfile(options) {
151
152
  const ref = resolveProfileRef({
152
153
  profile: options.profile,
153
154
  env: options.env ?? process.env,
155
+ config: options.config,
154
156
  });
155
157
  const profilePath = ref
156
158
  ? resolveProfilePath(ref, cwd)
@@ -1 +1 @@
1
- {"version":3,"file":"load-profile.js","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-profile.js","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"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"}
@@ -74,9 +74,16 @@ conductor の仕事は、この連鎖が途切れないようにすること。
74
74
  6. **差し戻しループを回す** — 指摘 → 対応 → 再判定。**再判定は 0 ベースで**(前回の approve を前提にしない。前回ブロッカーは対応確認の入力として使う)
75
75
  7. **逸脱と違和感を Issue に残す**(後述)
76
76
  8. **permission を判定する**(後述)
77
- 9. **マージして終われるかを判断する** — 往復から解決していない問題を見つける。コンフリクトやCIの成否の確認
78
- 10. **システムとしての評価** — PR として十分でも、システムとして不十分なら、**人間に新 Issue の起票を提案し**、現 PR はマージに回す
79
- 11. **人間へ引き渡し、その後も待機する** — 「あとはマージするだけ」の状態にして渡す。追加の問いには、必要なら implementer / reviewer に再度尋ねて答える
77
+ 9. **マージして終われるかを判断する**
78
+ - コンフリクトやCIは解消していなければならない。flakyなテストは数回なら再実行できる
79
+ — 往復から解決していない問題を見つける
80
+ — PR として十分でも、システムとして不十分なら解決すべき残課題として扱う(Issue の起票を提案は選択肢となる)
81
+ 10. **未解決問題のまとめ、解消と決定**
82
+ - 先送り・未対応・残課題の最終可否はオペレータの責務なのでエスカレーションが必要
83
+ 11. **人間へ引き渡し、その後も待機する**
84
+ — 「あとはマージするだけ」の状態にして渡す
85
+ - Issueに簡潔にまとめコメントを投稿
86
+ - オペレータからの追加の問いには、必要なら worker に再度尋ねて答える
80
87
 
81
88
  ### 逸脱と違和感の扱い
82
89
 
@@ -159,6 +166,7 @@ worker は、スコープ外・破壊的・環境に触る操作の許可を con
159
166
  | Issue に報告するタイミング | 方針を決めたとき / 想定と違ったとき / 詰まったとき。**着手前でよい**。1 コメント 1 話題で小さく |
160
167
  | テストの深さ | 主ユースケース(正常系だけでなく停止・再開・失敗系)が縦に通るか |
161
168
  | スコープ超過を見つけた | 自分で広げない。**判断を conductor に返す** |
169
+ | 「手順の正本」への疑念 | 例えば、指示通りに作業しても正しく動かない可能性をみつけた場合など、事実を Issue に書いて conductor に返す |
162
170
  | 受け入れ条件に無理があると分かった | 実装で押し切らない。事実を Issue に書いて conductor に返す |
163
171
 
164
172
  ### やらないこと
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/core",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Core types and orchestration logic for agents-ensemble",
6
6
  "main": "dist/index.js",
@@ -30,6 +30,11 @@
30
30
  "@modular-prompt/core": "0.3.0",
31
31
  "js-yaml": "4.1.0"
32
32
  },
33
+ "optionalDependencies": {
34
+ "@agentclientprotocol/claude-agent-acp": "0.70.0",
35
+ "@agentclientprotocol/codex-acp": "1.6.2",
36
+ "pi-acp": "0.0.33"
37
+ },
33
38
  "files": [
34
39
  "dist"
35
40
  ],