@agents-ensemble/core 0.2.1 → 0.3.2

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 (106) hide show
  1. package/dist/conductor/conductor-agent.d.ts +2 -1
  2. package/dist/conductor/conductor-agent.d.ts.map +1 -1
  3. package/dist/conductor/conductor-agent.js +3 -0
  4. package/dist/conductor/conductor-agent.js.map +1 -1
  5. package/dist/conductor/conductor-session.d.ts.map +1 -1
  6. package/dist/conductor/conductor-session.js +80 -18
  7. package/dist/conductor/conductor-session.js.map +1 -1
  8. package/dist/conductor/session/events/index.d.ts +1 -1
  9. package/dist/conductor/session/events/index.d.ts.map +1 -1
  10. package/dist/conductor/session/events/index.js.map +1 -1
  11. package/dist/conductor/session/events/session-log-event-groups.d.ts +2 -2
  12. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  13. package/dist/conductor/session/events/session-log-event-groups.js +2 -0
  14. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  15. package/dist/conductor/session/events/session-log-event.d.ts +10 -1
  16. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  17. package/dist/conductor/session/session-logger.d.ts.map +1 -1
  18. package/dist/conductor/session/session-logger.js +2 -0
  19. package/dist/conductor/session/session-logger.js.map +1 -1
  20. package/dist/dispatch/attach-worker.d.ts +2 -0
  21. package/dist/dispatch/attach-worker.d.ts.map +1 -1
  22. package/dist/dispatch/attach-worker.js +4 -0
  23. package/dist/dispatch/attach-worker.js.map +1 -1
  24. package/dist/dispatch/session-usage-tool.d.ts +2 -0
  25. package/dist/dispatch/session-usage-tool.d.ts.map +1 -1
  26. package/dist/dispatch/session-usage-tool.js +3 -1
  27. package/dist/dispatch/session-usage-tool.js.map +1 -1
  28. package/dist/dispatch/worker-acp-session.d.ts +8 -1
  29. package/dist/dispatch/worker-acp-session.d.ts.map +1 -1
  30. package/dist/dispatch/worker-acp-session.js +15 -4
  31. package/dist/dispatch/worker-acp-session.js.map +1 -1
  32. package/dist/profile/index.d.ts +5 -2
  33. package/dist/profile/index.d.ts.map +1 -1
  34. package/dist/profile/index.js +2 -1
  35. package/dist/profile/index.js.map +1 -1
  36. package/dist/profile/load-profile.d.ts +20 -19
  37. package/dist/profile/load-profile.d.ts.map +1 -1
  38. package/dist/profile/load-profile.js +55 -52
  39. package/dist/profile/load-profile.js.map +1 -1
  40. package/dist/profile/profile-paths.d.ts +19 -0
  41. package/dist/profile/profile-paths.d.ts.map +1 -0
  42. package/dist/profile/profile-paths.js +39 -0
  43. package/dist/profile/profile-paths.js.map +1 -0
  44. package/dist/profile/resolve-worker-workspace.d.ts +13 -0
  45. package/dist/profile/resolve-worker-workspace.d.ts.map +1 -0
  46. package/dist/profile/resolve-worker-workspace.js +60 -0
  47. package/dist/profile/resolve-worker-workspace.js.map +1 -0
  48. package/dist/profile/team-profile-resolution.d.ts +43 -0
  49. package/dist/profile/team-profile-resolution.d.ts.map +1 -0
  50. package/dist/profile/team-profile-resolution.js +173 -0
  51. package/dist/profile/team-profile-resolution.js.map +1 -0
  52. package/dist/profile/types.d.ts +18 -0
  53. package/dist/profile/types.d.ts.map +1 -1
  54. package/dist/profile/types.js +11 -2
  55. package/dist/profile/types.js.map +1 -1
  56. package/dist/profile/validate-team-profile-workspaces.d.ts +23 -0
  57. package/dist/profile/validate-team-profile-workspaces.d.ts.map +1 -0
  58. package/dist/profile/validate-team-profile-workspaces.js +57 -0
  59. package/dist/profile/validate-team-profile-workspaces.js.map +1 -0
  60. package/dist/profiles/implementer-and-reviewer/conductor.prompt.yaml +18 -0
  61. package/dist/profiles/implementer-and-reviewer/implementer.prompt.yaml +15 -0
  62. package/dist/profiles/implementer-and-reviewer/reviewer.prompt.yaml +16 -0
  63. package/dist/profiles/{default → implementer-and-reviewer}/team.md +9 -4
  64. package/dist/prompt/build-worker-attach-prompt.d.ts +1 -0
  65. package/dist/prompt/build-worker-attach-prompt.d.ts.map +1 -1
  66. package/dist/prompt/build-worker-attach-prompt.js +6 -3
  67. package/dist/prompt/build-worker-attach-prompt.js.map +1 -1
  68. package/dist/prompt/contexts/kind.d.ts +1 -0
  69. package/dist/prompt/contexts/kind.d.ts.map +1 -1
  70. package/dist/prompt/contexts/kind.js.map +1 -1
  71. package/dist/prompt/modules/ensemble/conductor-base-module.js +6 -6
  72. package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
  73. package/dist/prompt/modules/ensemble/worker-base-module.d.ts.map +1 -1
  74. package/dist/prompt/modules/ensemble/worker-base-module.js +3 -4
  75. package/dist/prompt/modules/ensemble/worker-base-module.js.map +1 -1
  76. package/dist/runtime/types.d.ts +2 -0
  77. package/dist/runtime/types.d.ts.map +1 -1
  78. package/dist/runtime/worker-runtime.d.ts +9 -1
  79. package/dist/runtime/worker-runtime.d.ts.map +1 -1
  80. package/dist/runtime/worker-runtime.js +37 -5
  81. package/dist/runtime/worker-runtime.js.map +1 -1
  82. package/dist/runtime/worker-session.d.ts +9 -3
  83. package/dist/runtime/worker-session.d.ts.map +1 -1
  84. package/dist/runtime/worker-session.js +9 -3
  85. package/dist/runtime/worker-session.js.map +1 -1
  86. package/dist/runtime/worker-status.d.ts +2 -0
  87. package/dist/runtime/worker-status.d.ts.map +1 -1
  88. package/dist/session/session-sidecar.d.ts +2 -0
  89. package/dist/session/session-sidecar.d.ts.map +1 -1
  90. package/dist/session/session-sidecar.js +4 -1
  91. package/dist/session/session-sidecar.js.map +1 -1
  92. package/dist/testing/mock-conductor-get-usage.d.ts +3 -0
  93. package/dist/testing/mock-conductor-get-usage.d.ts.map +1 -0
  94. package/dist/testing/mock-conductor-get-usage.js +15 -0
  95. package/dist/testing/mock-conductor-get-usage.js.map +1 -0
  96. package/dist/usage/enrich-session-usage-cost.d.ts +6 -0
  97. package/dist/usage/enrich-session-usage-cost.d.ts.map +1 -0
  98. package/dist/usage/enrich-session-usage-cost.js +17 -0
  99. package/dist/usage/enrich-session-usage-cost.js.map +1 -0
  100. package/dist/usage/types.d.ts +3 -0
  101. package/dist/usage/types.d.ts.map +1 -1
  102. package/package.json +1 -1
  103. package/dist/profiles/default/conductor.prompt.yaml +0 -29
  104. package/dist/profiles/default/implementer.prompt.yaml +0 -17
  105. package/dist/profiles/default/reviewer.prompt.yaml +0 -18
  106. /package/dist/profiles/{default → implementer-and-reviewer}/profile.yaml +0 -0
@@ -0,0 +1,173 @@
1
+ import { existsSync, readdirSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { dirname, isAbsolute, join } from 'node:path';
5
+ import yaml from 'js-yaml';
6
+ import { bundledProfilePath, bundledProfilesRoot, DEFAULT_PROFILE_ALIAS, DEFAULT_PROFILE_NAME, ENSEMBLE_DIR, PROFILE_FILE, profileDirectoryPath, PROFILES_DIR, TEAMS_DIR, } from './profile-paths.js';
7
+ import { normalizeProfileWorkers } from './types.js';
8
+ import { validateTeamProfileWorkspaces, } from './validate-team-profile-workspaces.js';
9
+ function userEnsembleRoot(options) {
10
+ return options.userEnsembleRoot ?? join(homedir(), ENSEMBLE_DIR);
11
+ }
12
+ function projectTeamsRoot(repoRoot) {
13
+ return join(repoRoot, ENSEMBLE_DIR, TEAMS_DIR);
14
+ }
15
+ function userTeamsRoot(options) {
16
+ return join(userEnsembleRoot(options), TEAMS_DIR);
17
+ }
18
+ function legacyProfilesRoot(repoRoot) {
19
+ return join(repoRoot, PROFILES_DIR);
20
+ }
21
+ export function normalizeTeamProfileName(name) {
22
+ if (name === DEFAULT_PROFILE_ALIAS) {
23
+ return DEFAULT_PROFILE_NAME;
24
+ }
25
+ return name;
26
+ }
27
+ export function teamProfileId(name, source) {
28
+ return `${normalizeTeamProfileName(name)}@${source}`;
29
+ }
30
+ function isPathLikeRef(ref) {
31
+ return (isAbsolute(ref) ||
32
+ ref.endsWith('.yaml') ||
33
+ ref.endsWith('.yml') ||
34
+ ref.includes('/'));
35
+ }
36
+ function teamProfileFilePath(teamDir) {
37
+ return join(teamDir, PROFILE_FILE);
38
+ }
39
+ function listTeamDirs(root) {
40
+ if (!existsSync(root)) {
41
+ return [];
42
+ }
43
+ return readdirSync(root, { withFileTypes: true })
44
+ .filter((entry) => entry.isDirectory())
45
+ .map((entry) => entry.name)
46
+ .sort();
47
+ }
48
+ function resolveBundledProfilePath(name) {
49
+ return bundledProfilePath(name);
50
+ }
51
+ function resolveNamedTeamProfilePath(ref, options) {
52
+ const normalized = normalizeTeamProfileName(ref);
53
+ const { repoRoot } = options;
54
+ const candidates = [];
55
+ const projectPath = teamProfileFilePath(join(projectTeamsRoot(repoRoot), ref));
56
+ if (existsSync(projectPath)) {
57
+ candidates.push({ source: 'project', path: projectPath });
58
+ }
59
+ const userPath = teamProfileFilePath(join(userTeamsRoot(options), ref));
60
+ if (existsSync(userPath)) {
61
+ candidates.push({ source: 'user', path: userPath });
62
+ }
63
+ const bundledPath = resolveBundledProfilePath(normalized);
64
+ if (existsSync(bundledPath)) {
65
+ candidates.push({ source: 'bundled', path: bundledPath });
66
+ }
67
+ const legacyPath = profileDirectoryPath(repoRoot, ref);
68
+ if (existsSync(legacyPath)) {
69
+ candidates.push({ source: 'legacy', path: legacyPath });
70
+ }
71
+ if (candidates.length === 0) {
72
+ return legacyPath;
73
+ }
74
+ return candidates[0].path;
75
+ }
76
+ /** Exploration roots in resolution priority order. */
77
+ export function teamProfileRoots(repoRoot, options) {
78
+ const resolutionOptions = {
79
+ repoRoot,
80
+ userEnsembleRoot: options?.userEnsembleRoot,
81
+ };
82
+ return [
83
+ { source: 'project', root: projectTeamsRoot(repoRoot) },
84
+ { source: 'user', root: userTeamsRoot(resolutionOptions) },
85
+ { source: 'bundled', root: bundledProfilesRoot() },
86
+ { source: 'legacy', root: legacyProfilesRoot(repoRoot) },
87
+ ];
88
+ }
89
+ /**
90
+ * Resolve a team profile reference to an absolute `profile.yaml` path.
91
+ * Name-only refs use priority: project > user > bundled > legacy.
92
+ */
93
+ export function resolveTeamProfilePath(ref, options) {
94
+ if (isPathLikeRef(ref)) {
95
+ return isAbsolute(ref) ? ref : join(options.repoRoot, ref);
96
+ }
97
+ return resolveNamedTeamProfilePath(ref, options);
98
+ }
99
+ function workerPreview(entry) {
100
+ if (typeof entry === 'string') {
101
+ return entry;
102
+ }
103
+ if (entry && typeof entry === 'object' && 'kind' in entry) {
104
+ const worker = entry;
105
+ return worker.name ?? worker.kind ?? 'worker';
106
+ }
107
+ return 'worker';
108
+ }
109
+ async function readTeamProfileMeta(filePath, fallbackName) {
110
+ try {
111
+ const raw = yaml.load(await readFile(filePath, 'utf8'));
112
+ const workersPreview = (raw?.workers ?? []).map(workerPreview);
113
+ const meta = raw?.meta
114
+ ? {
115
+ id: raw.meta.id ?? fallbackName,
116
+ title: raw.meta.title,
117
+ summary: raw.meta.summary,
118
+ }
119
+ : {
120
+ id: fallbackName,
121
+ title: fallbackName,
122
+ };
123
+ return { meta, workersPreview };
124
+ }
125
+ catch {
126
+ return { workersPreview: [] };
127
+ }
128
+ }
129
+ async function readTeamProfileWorkspaceValidation(filePath, repoRoot) {
130
+ try {
131
+ const profileDir = dirname(filePath);
132
+ const raw = yaml.load(await readFile(filePath, 'utf8'));
133
+ if (!raw || !Array.isArray(raw.workers)) {
134
+ return { availability: 'available' };
135
+ }
136
+ const workers = normalizeProfileWorkers(raw.workers, filePath);
137
+ return validateTeamProfileWorkspaces({ workers }, profileDir, repoRoot);
138
+ }
139
+ catch {
140
+ return { availability: 'available' };
141
+ }
142
+ }
143
+ async function listProfilesInRoot(source, root, repoRoot, nameMapper) {
144
+ const entries = [];
145
+ for (const dirName of listTeamDirs(root)) {
146
+ const filePath = teamProfileFilePath(join(root, dirName));
147
+ if (!existsSync(filePath)) {
148
+ continue;
149
+ }
150
+ const name = nameMapper ? nameMapper(dirName) : dirName;
151
+ const { meta, workersPreview } = await readTeamProfileMeta(filePath, name);
152
+ const validation = await readTeamProfileWorkspaceValidation(filePath, repoRoot);
153
+ entries.push({
154
+ id: teamProfileId(name, source),
155
+ name,
156
+ source,
157
+ path: filePath,
158
+ meta,
159
+ workersPreview,
160
+ availability: validation.availability,
161
+ ...(validation.issues ? { issues: validation.issues } : {}),
162
+ });
163
+ }
164
+ return entries;
165
+ }
166
+ /** List team profiles from all layers with source distinction. */
167
+ export async function listTeamProfiles(options) {
168
+ const { repoRoot } = options;
169
+ const entries = [];
170
+ entries.push(...(await listProfilesInRoot('project', projectTeamsRoot(repoRoot), repoRoot)), ...(await listProfilesInRoot('user', userTeamsRoot(options), repoRoot)), ...(await listProfilesInRoot('bundled', bundledProfilesRoot(), repoRoot)), ...(await listProfilesInRoot('legacy', legacyProfilesRoot(repoRoot), repoRoot)));
171
+ return entries;
172
+ }
173
+ //# sourceMappingURL=team-profile-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-profile-resolution.js","sourceRoot":"","sources":["../../src/profile/team-profile-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,6BAA6B,GAG9B,MAAM,uCAAuC,CAAC;AAsC/C,SAAS,gBAAgB,CAAC,OAAqC;IAC7D,OAAO,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,OAAqC;IAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAyB;IACnE,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,CACL,UAAU,CAAC,GAAG,CAAC;QACf,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,2BAA2B,CAClC,GAAW,EACX,OAAqC;IAErC,MAAM,UAAU,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,MAAM,UAAU,GAAuD,EACtE,CAAC;IAEF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,OAAgE;IAEhE,MAAM,iBAAiB,GAAiC;QACtD,QAAQ;QACR,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;KAC5C,CAAC;IAEF,OAAO;QACL,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QACvD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAE;QAC1D,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE;QAClD,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE;KACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,OAAqC;IAErC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAyC,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;IAChD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,QAAgB,EAChB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAwB,CAAC;QAC/E,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI;YACpB,CAAC,CAAC;gBACE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,YAAY;gBAC/B,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;aAC1B;YACH,CAAC,CAAC;gBACE,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,YAAY;aACpB,CAAC;QAEN,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,QAAgB,EAChB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAwB,CAAC;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,6BAA6B,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAyB,EACzB,IAAY,EACZ,QAAgB,EAChB,UAAwC;IAExC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,kCAAkC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEhF,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;YAC/B,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,cAAc;YACd,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAqC;IAErC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,MAAM,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAC9E,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,EACvE,GAAG,CAAC,MAAM,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC,EACzE,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAChF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -12,17 +12,34 @@ export interface ProfileWorkerRefObject {
12
12
  /** セッション内の識別名(一意)。省略時は kind と同じ。 */
13
13
  name?: string;
14
14
  kind: string;
15
+ /**
16
+ * その worker の ACP 起動 cwd(Issue worktree とは別概念)。
17
+ * profile ディレクトリまたは repo-root 基準の相対パス、または絶対パス。
18
+ */
19
+ workspace?: string;
15
20
  }
16
21
  /** parse 後の worker 定義。 */
17
22
  export interface ProfileWorkerEntry {
18
23
  name: string;
19
24
  kind: string;
25
+ /** profile YAML の raw 値。 */
26
+ workspace?: string;
27
+ /** `loadProfile` 後に解決された絶対パス。 */
28
+ resolvedWorkspacePath?: string;
29
+ }
30
+ /** team-profile 選択・一覧用メタデータ([#176](https://github.com/otolab/agents-ensemble/issues/176))。 */
31
+ export interface ProfileMeta {
32
+ id?: string;
33
+ title?: string;
34
+ summary?: string;
20
35
  }
21
36
  /**
22
37
  * 作業手順・役割分担の定義。
23
38
  * agent 定義と、セッション開始時に起動する worker の一覧を返す。
24
39
  */
25
40
  export interface Profile {
41
+ /** 一覧・選択 UI 向けメタデータ。未指定時はディレクトリ名等でフォールバック。 */
42
+ meta?: ProfileMeta;
26
43
  /** kind 名 → agent 定義。`default` はフォールバック用。 */
27
44
  agents?: Record<string, AgentDefinition>;
28
45
  /** セッション開始時に起動する worker(name + kind)。 */
@@ -55,6 +72,7 @@ export interface SessionWorkerSpec {
55
72
  name: string;
56
73
  kind: string;
57
74
  prompt?: PromptModule;
75
+ resolvedWorkspacePath?: string;
58
76
  }
59
77
  /** compile 時に state へ載せる worker 構成と kind 一覧。 */
60
78
  export interface EnsembleSessionState {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,15 @@ export function normalizeProfileWorker(entry, label, index) {
31
31
  if (!worker.kind) {
32
32
  throw new Error(`Invalid profile worker[${index}] in ${label}: needs "kind"`);
33
33
  }
34
- return { name: worker.name ?? worker.kind, kind: worker.kind };
34
+ return {
35
+ name: worker.name ?? worker.kind,
36
+ kind: worker.kind,
37
+ ...(typeof worker.workspace === 'string' && worker.workspace.length > 0
38
+ ? { workspace: worker.workspace }
39
+ : {}),
40
+ };
35
41
  }
36
- throw new Error(`Invalid profile worker[${index}] in ${label}: expected kind string or { name?, kind }`);
42
+ throw new Error(`Invalid profile worker[${index}] in ${label}: expected kind string or { name?, kind, workspace? }`);
37
43
  }
38
44
  export function normalizeProfileWorkers(workers, label) {
39
45
  const normalized = workers.map((entry, index) => normalizeProfileWorker(entry, label, index));
@@ -51,6 +57,9 @@ export function profileWorkersToSessionSpecs(profile) {
51
57
  name: worker.name,
52
58
  kind: worker.kind,
53
59
  prompt: resolveAgentPromptModule(worker.kind, profile.agents),
60
+ ...(worker.resolvedWorkspacePath
61
+ ? { resolvedWorkspacePath: worker.resolvedWorkspacePath }
62
+ : {}),
54
63
  }));
55
64
  }
56
65
  /** kind に対応する profile agent module。agents[kind] → agents.default → undefined。 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ProfileWorkerEntry } from './types.js';
2
+ export type TeamProfileAvailability = 'available' | 'unusable';
3
+ export interface TeamProfileValidationIssue {
4
+ worker: string;
5
+ kind: string;
6
+ workspace: string;
7
+ reason: 'missing' | 'not_directory';
8
+ message: string;
9
+ }
10
+ export interface TeamProfileWorkspaceValidation {
11
+ availability: TeamProfileAvailability;
12
+ issues?: TeamProfileValidationIssue[];
13
+ }
14
+ /** team profile の全 worker workspace を検証する。1 体でも不正なら profile 全体を unusable とする。 */
15
+ export declare function validateTeamProfileWorkspaces(profile: {
16
+ workers: ProfileWorkerEntry[];
17
+ }, profileDir: string, repoRoot: string): TeamProfileWorkspaceValidation;
18
+ export declare function formatTeamProfileActivationError(profileRef: string, issue: TeamProfileValidationIssue): string;
19
+ /** unusable な profile の activate / 起動を拒否する。`loadProfile` と将来の `select_profile`(#174)が使う。 */
20
+ export declare function assertTeamProfileWorkspacesAvailable(profile: {
21
+ workers: ProfileWorkerEntry[];
22
+ }, profileDir: string, repoRoot: string, profileRef: string): void;
23
+ //# sourceMappingURL=validate-team-profile-workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-team-profile-workspaces.d.ts","sourceRoot":"","sources":["../../src/profile/validate-team-profile-workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMrD,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,eAAe,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,uBAAuB,CAAC;IACtC,MAAM,CAAC,EAAE,0BAA0B,EAAE,CAAC;CACvC;AA6BD,iFAAiF;AACjF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,EAC1C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,8BAA8B,CAuBhC;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAGR;AAED,4FAA4F;AAC5F,wBAAgB,oCAAoC,CAClD,OAAO,EAAE;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,EAC1C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,IAAI,CAYN"}
@@ -0,0 +1,57 @@
1
+ import { assertWorkerWorkspaceDirectory, resolveWorkerWorkspacePath, } from './resolve-worker-workspace.js';
2
+ function checkWorkerWorkspaceDirectory(path, workerName, kind) {
3
+ try {
4
+ assertWorkerWorkspaceDirectory(path, workerName);
5
+ return undefined;
6
+ }
7
+ catch (error) {
8
+ if (!(error instanceof Error)) {
9
+ throw error;
10
+ }
11
+ const reason = error.message.includes('not a directory')
12
+ ? 'not_directory'
13
+ : 'missing';
14
+ return {
15
+ worker: workerName,
16
+ kind,
17
+ workspace: path,
18
+ reason,
19
+ message: error.message,
20
+ };
21
+ }
22
+ }
23
+ /** team profile の全 worker workspace を検証する。1 体でも不正なら profile 全体を unusable とする。 */
24
+ export function validateTeamProfileWorkspaces(profile, profileDir, repoRoot) {
25
+ const issues = [];
26
+ for (const worker of profile.workers) {
27
+ if (!worker.workspace) {
28
+ continue;
29
+ }
30
+ const resolvedPath = resolveWorkerWorkspacePath(worker.workspace, profileDir, repoRoot);
31
+ const issue = checkWorkerWorkspaceDirectory(resolvedPath, worker.name, worker.kind);
32
+ if (issue) {
33
+ issues.push(issue);
34
+ }
35
+ }
36
+ if (issues.length === 0) {
37
+ return { availability: 'available' };
38
+ }
39
+ return { availability: 'unusable', issues };
40
+ }
41
+ export function formatTeamProfileActivationError(profileRef, issue) {
42
+ const workerPart = issue.message.replace(/^Worker /, 'worker ');
43
+ return `Cannot use team profile "${profileRef}": ${workerPart}`;
44
+ }
45
+ /** unusable な profile の activate / 起動を拒否する。`loadProfile` と将来の `select_profile`(#174)が使う。 */
46
+ export function assertTeamProfileWorkspacesAvailable(profile, profileDir, repoRoot, profileRef) {
47
+ const validation = validateTeamProfileWorkspaces(profile, profileDir, repoRoot);
48
+ if (validation.availability === 'available') {
49
+ return;
50
+ }
51
+ const issue = validation.issues?.[0];
52
+ if (!issue) {
53
+ throw new Error(`Cannot use team profile "${profileRef}": workspace validation failed`);
54
+ }
55
+ throw new Error(formatTeamProfileActivationError(profileRef, issue));
56
+ }
57
+ //# sourceMappingURL=validate-team-profile-workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-team-profile-workspaces.js","sourceRoot":"","sources":["../../src/profile/validate-team-profile-workspaces.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAiBvC,SAAS,6BAA6B,CACpC,IAAY,EACZ,UAAkB,EAClB,IAAY;IAEZ,IAAI,CAAC;QACH,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAyC,KAAK,CAAC,OAAO,CAAC,QAAQ,CACzE,iBAAiB,CAClB;YACC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC;QACd,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,6BAA6B,CAC3C,OAA0C,EAC1C,UAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAiC,EAAE,CAAC;IAEhD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,0BAA0B,CAC7C,MAAM,CAAC,SAAS,EAChB,UAAU,EACV,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,6BAA6B,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,UAAkB,EAClB,KAAiC;IAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,OAAO,4BAA4B,UAAU,MAAM,UAAU,EAAE,CAAC;AAClE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oCAAoC,CAClD,OAA0C,EAC1C,UAAkB,EAClB,QAAgB,EAChB,UAAkB;IAElB,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,gCAAgC,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,18 @@
1
+ persona:
2
+ - あなたは **conductor** です。
3
+ - implementer / reviewer とチームを組み、指示を出して進捗を管理します
4
+ instructions:
5
+ - 自分で判断できないことは open question でオペレータの最終判断を仰ぐ
6
+ - implementer / reviewer との会話は簡潔に行います。詳細な状態・報告の正本は Issue / PR とします。
7
+ - permission.pending が届いたら、必ず resolve_permission で可否を決定します(回答があるまで worker は作業を完遂できません)。不安要素があれば ask_human でオペレータに問い合わせます
8
+ - '指示の典型的な内容:'
9
+ - ' - **implementer** へ: 対象 Issue、今回のゴール、スコープ、使う Skill 等'
10
+ - ' - **reviewer** へ: 対象 PR URL、レビュー観点、再レビューなら前回ブロッカー'
11
+ - type: subsection
12
+ title: 資料の読み方
13
+ items:
14
+ - 同梱の `team.md`(標準動作モード)を読んでください。
15
+ - '**§3 conductor** — 指示として従う'
16
+ - その他の章 — 相手(implementer / reviewer)への期待として読む
17
+ - §1 全員の前提、§6 連携 — 全員共通のルール
18
+ - '`team.md` は手順書ではなく、役割の境界と連携の作法を決める。いま何をすべきかの正本は **Issue / PR** と、指示のあった **Skill**。'
@@ -0,0 +1,15 @@
1
+ persona:
2
+ - あなたは **implementer** です。
3
+ - 調査・実装・テスト・ドキュメント・PR 作成を担います
4
+ instructions:
5
+ - reviewer と直接会話しない。伝えることは Issue / PR に書く
6
+ - 作業が長く続く場合は、手を止めて conductor との情報共有することができます
7
+ - 気づき・違和感・未解決は解決できなくても Issue に残す
8
+ - type: subsection
9
+ title: 資料の読み方
10
+ items:
11
+ - 同梱の `team.md`(標準動作モード)を読んでください。
12
+ - '**§4 implementer** — 指示として従う'
13
+ - その他の章 — 相手(conductor / reviewer)への期待として読む
14
+ - §1 全員の前提、§6 連携 — 全員共通のルール
15
+ - 手順の細部の正本は **Skill(指示があれば)と Issue / PR**。
@@ -0,0 +1,16 @@
1
+ persona:
2
+ - あなたは **reviewer** です。
3
+ - 独立した検証者として振る舞います。
4
+ instructions:
5
+ - '**コードは書かない。** 成果物は判定と根拠(PR コメント)'
6
+ - conductor から PR URL とレビュー観点の指示を受けてから動く
7
+ - implementer が作成した worktree に入って独立検証する
8
+ - implementer と直接会話はできません
9
+ - type: subsection
10
+ title: 資料の読み方
11
+ items:
12
+ - 同梱の `team.md`(標準動作モード)を読んでください。
13
+ - '**§5 reviewer** — 指示として従う'
14
+ - その他の章 — 相手(conductor / implementer)への期待として読む
15
+ - §1 全員の前提、§6 連携 — 全員共通のルール
16
+ - '`team.md` 全文は conductor の materials にも載る。検証のたびに **Issue / PR から読み直す**(会話の記憶や前回の approve を前提にしない)。'
@@ -105,6 +105,7 @@ worker は、スコープ外・破壊的・環境に触る操作の許可を con
105
105
  | 方針転換・Issue の目標そのものへの疑義 | 手順や Skill に書いてあること |
106
106
  | スコープ外・破壊的な操作の許可 | 受け入れ条件から機械的に決まること |
107
107
  | レビュー水準の合否が割れたまま解決しないもの | implementer / reviewer に聞けば済むこと |
108
+ | システム外との境界の仕様変更 | 内部仕様は概ね自由 |
108
109
  | マージ判断(多くのケース) | |
109
110
 
110
111
  出し方: **何が決まらないと進めないのか / 選択肢とそれぞれの帰結 / conductor の推奨**。質問は残して待ち、憶測で進めない。
@@ -118,11 +119,15 @@ worker は、スコープ外・破壊的・環境に触る操作の許可を con
118
119
  - 未回答の質問を放置したまま自律ターンを重ねる
119
120
  - worker の報告をそのまま信じる(**approve も入力の一つ**)
120
121
 
121
- ### 終わり方
122
+ ### 終了の判断と終わり方
122
123
 
123
- - 受け入れ条件を満たし、reviewer が根拠つきで approve し、人間がマージするだけ → 引き渡して自律的な進行を止め、待機に入る
124
- - 判断待ちがある → 質問を残して待つ
125
- - 進めないまま同じことを繰り返しそうなとき → 止めて人間に状況を渡す
124
+ - Issueの目的をPRが達成できている。受け入れ条件を満たし、reviewer が根拠つきで approve し、人間がマージするだけになっている
125
+ - → 短く簡潔にPRで行った作業をまとめて引き継ぎとする(マージの最終判断は人間)
126
+ - → 自律的な進行を止め、待機に入る
127
+ - 判断待ちがある
128
+ - → 質問を残して待つ
129
+ - 進めないまま同じことを繰り返しそうなとき
130
+ - → 止めて人間に状況を渡す
126
131
 
127
132
  ---
128
133
 
@@ -4,6 +4,7 @@ export interface WorkerAttachPromptOptions {
4
4
  issueUrl: string;
5
5
  kind: string;
6
6
  worktreePath?: string;
7
+ workspacePath?: string;
7
8
  worktreeInRepo?: boolean;
8
9
  sessionState: EnsembleSessionState;
9
10
  agentModule?: PromptModule;
@@ -1 +1 @@
1
- {"version":3,"file":"build-worker-attach-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/build-worker-attach-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAiBD,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAaR"}
1
+ {"version":3,"file":"build-worker-attach-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/build-worker-attach-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAmBD,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAcR"}
@@ -7,9 +7,11 @@ const workerAttachModule = {
7
7
  instructions: [
8
8
  (ctx) => ctx.worktreeInRepo
9
9
  ? '⚠️ 特別モード: メイン worktree(リポジトリルート)で直接作業する。通常の isolated worktree は使わない。'
10
- : ctx.worktreePath
11
- ? `作業 worktree: ${ctx.worktreePath}`
12
- : null,
10
+ : ctx.workspacePath && ctx.workspacePath !== ctx.worktreePath
11
+ ? `作業ディレクトリ: ${ctx.workspacePath}(Issue worktree とは別の ACP cwd)`
12
+ : ctx.worktreePath
13
+ ? `作業 worktree: ${ctx.worktreePath}`
14
+ : null,
13
15
  '- 自分の立場: conductor 配下の実作業者。Issue / PR 上の記録も成果物',
14
16
  '- 届く prompt の種類: **init prompt**(本 prompt・attach 用・待機が目的)と **instruction**(conductor からの本番作業指示)',
15
17
  '- セッションに attach 済み。conductor からの作業指示(次の session/prompt)を待つ',
@@ -26,6 +28,7 @@ export function buildWorkerAttachPrompt(options) {
26
28
  return renderCompiledPrompt(compile(module, {
27
29
  ...ensembleContext(options.kind, options.issueUrl, options.sessionState),
28
30
  worktreePath: options.worktreePath,
31
+ workspacePath: options.workspacePath,
29
32
  worktreeInRepo: options.worktreeInRepo,
30
33
  }));
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-worker-attach-prompt.js","sourceRoot":"","sources":["../../src/prompt/build-worker-attach-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAWnE,MAAM,kBAAkB,GAAwC;IAC9D,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,GAAG,CAAC,YAAY;gBAChB,CAAC,CAAC,gBAAgB,GAAG,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,IAAI;QACZ,gDAAgD;QAChD,iGAAiG;QACjG,4DAA4D;QAC5D,+DAA+D;KAChE;CACF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB,CACrC,OAAkC;IAElC,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS;KAC1C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjF,OAAO,oBAAoB,CACzB,OAAO,CAAC,MAAM,EAAE;QACd,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;QACxE,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"build-worker-attach-prompt.js","sourceRoot":"","sources":["../../src/prompt/build-worker-attach-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAYnE,MAAM,kBAAkB,GAAwC;IAC9D,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,YAAY;gBAC3D,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,+BAA+B;gBAC/D,CAAC,CAAC,GAAG,CAAC,YAAY;oBAChB,CAAC,CAAC,gBAAgB,GAAG,CAAC,YAAY,EAAE;oBACpC,CAAC,CAAC,IAAI;QACd,gDAAgD;QAChD,iGAAiG;QACjG,4DAA4D;QAC5D,+DAA+D;KAChE;CACF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB,CACrC,OAAkC;IAElC,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS;KAC1C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjF,OAAO,oBAAoB,CACzB,OAAO,CAAC,MAAM,EAAE;QACd,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;QACxE,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -8,6 +8,7 @@ export interface EnsembleContext extends EnsembleSessionState {
8
8
  /** worker dispatch 時に instructions へ載せる実行時データ。 */
9
9
  export type WorkerDispatchContext = EnsembleContext & {
10
10
  worktreePath?: string;
11
+ workspacePath?: string;
11
12
  worktreeInRepo?: boolean;
12
13
  };
13
14
  export declare function ensembleContext(kind: string, issueUrl: string, session: EnsembleSessionState): EnsembleContext;
@@ -1 +1 @@
1
- {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../../../src/prompt/contexts/kind.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,gDAAgD;AAChD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CASjB"}
1
+ {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../../../src/prompt/contexts/kind.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,gDAAgD;AAChD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CASjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"kind.js","sourceRoot":"","sources":["../../../src/prompt/contexts/kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAgBzD,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,QAAgB,EAChB,OAA6B;IAE7B,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,GAAG;QACjB,WAAW,EAAE,GAAG,CAAC,MAAM;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"kind.js","sourceRoot":"","sources":["../../../src/prompt/contexts/kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAiBzD,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,QAAgB,EAChB,OAA6B;IAE7B,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,GAAG;QACjB,WAAW,EAAE,GAAG,CAAC,MAAM;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC"}
@@ -4,18 +4,18 @@
4
4
  */
5
5
  export const conductorBaseModule = {
6
6
  objective: [
7
- '作業フローの連鎖(Issue の明確さ → worker の自律実行 → オペレータのゲート)が途切れないよう調整する。',
8
- 'Issue / PR を正本とし、`prompt_worker` で常駐 worker に作業を指示する。',
7
+ '- チーム全体を統合し、Issue 解決を目指してください',
8
+ '- conductor は演奏しない(ファイル編集・シェル実行・直接実装はしない)',
9
9
  ],
10
10
  terms: [
11
11
  '- **open question**: conductor がオペレータの最終判断を仰ぐために登録する質問',
12
12
  '- **セッションイベント**: worker の完了・失敗・permission 待ちなど、実行時に conductor へ届く通知',
13
- '- **harness**: オペレータ、conductor、workerを繋いでいる定型処理のプログラム部分',
13
+ '- **harness**: オペレータ、conductor、worker を繋いでいる定型処理のプログラム部分',
14
14
  ],
15
15
  instructions: [
16
- '- conductorは演奏しない(ファイル編集・シェル実行・直接実装はしない)',
17
- '- チーム全体を統合し、issue解決を目指してください',
18
- '- チーム内の出来事を非同期で処理する必要があります。Awaitツールは使わないようにしてください',
16
+ '- 作業フローの連鎖(Issue の明確さ → worker の自律実行 → オペレータのゲート)が途切れないよう調整する。',
17
+ '- Issue / PR を正本とし、`prompt_worker` で常駐 worker に作業を指示する。',
18
+ '- チーム内の出来事を非同期で処理する必要があります。`Await` ツールは使わないようにしてください',
19
19
  {
20
20
  type: 'subsection',
21
21
  title: 'harnessからのイベント',
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/conductor-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,SAAS,EAAE;QACT,8DAA8D;QAC9D,uDAAuD;KACxD;IACD,KAAK,EAAE;QACL,wDAAwD;QACxD,qEAAqE;QACrE,yDAAyD;KAC1D;IACD,YAAY,EAAE;QACZ,0CAA0C;QAC1C,8BAA8B;QAC9B,mDAAmD;QACnD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE;gBACL,mCAAmC;gBACnC,wCAAwC;gBACxC,wCAAwC;gBACxC,kKAAkK;gBAClK,2CAA2C;aAC5C;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE;gBACL,sDAAsD;gBACtD,gFAAgF;gBAChF,gDAAgD;gBAChD,mFAAmF;aACpF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,gDAAgD;gBAChD,2CAA2C;gBAC3C,oCAAoC;gBACpC,2EAA2E;gBAC3E,qDAAqD;gBACrD,2BAA2B;aAC5B;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,iGAAiG;gBACjG,yEAAyE;gBACzE,iEAAiE;gBACjE,2DAA2D;aAC5D;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE;gBACL,8FAA8F;gBAC9F,uEAAuE;gBACvE,8DAA8D;gBAC9D,2DAA2D;aAC5D;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE;gBACL,+CAA+C;gBAC/C,8CAA8C;gBAC9C,yCAAyC;gBACzC,iCAAiC;gBACjC,uDAAuD;aACxD;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,wCAAwC;gBACxC,qDAAqD;gBACrD,+BAA+B;gBAC/B,qDAAqD;gBACrD,0DAA0D;aAC3D;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"conductor-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/conductor-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,SAAS,EAAE;QACT,+BAA+B;QAC/B,2CAA2C;KAC5C;IACD,KAAK,EAAE;QACL,wDAAwD;QACxD,qEAAqE;QACrE,0DAA0D;KAC3D;IACD,YAAY,EAAE;QACZ,gEAAgE;QAChE,yDAAyD;QACzD,sDAAsD;QACtD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE;gBACL,mCAAmC;gBACnC,wCAAwC;gBACxC,wCAAwC;gBACxC,kKAAkK;gBAClK,2CAA2C;aAC5C;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE;gBACL,sDAAsD;gBACtD,gFAAgF;gBAChF,gDAAgD;gBAChD,mFAAmF;aACpF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,gDAAgD;gBAChD,2CAA2C;gBAC3C,oCAAoC;gBACpC,2EAA2E;gBAC3E,qDAAqD;gBACrD,2BAA2B;aAC5B;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,iGAAiG;gBACjG,yEAAyE;gBACzE,iEAAiE;gBACjE,2DAA2D;aAC5D;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE;gBACL,8FAA8F;gBAC9F,uEAAuE;gBACvE,8DAA8D;gBAC9D,2DAA2D;aAC5D;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE;gBACL,+CAA+C;gBAC/C,8CAA8C;gBAC9C,yCAAyC;gBACzC,iCAAiC;gBACjC,uDAAuD;aACxD;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE;gBACL,wCAAwC;gBACxC,qDAAqD;gBACrD,+BAA+B;gBAC/B,qDAAqD;gBACrD,0DAA0D;aAC3D;SACF;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-base-module.d.ts","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,eAAe,CAW1D,CAAC"}
1
+ {"version":3,"file":"worker-base-module.d.ts","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,eAAe,CAU1D,CAAC"}
@@ -4,14 +4,13 @@
4
4
  */
5
5
  export const workerBaseModule = {
6
6
  objective: [
7
- 'セッション開始時に起動し、conductor からの作業指示を待つ。',
7
+ '- 作業者としてチームに貢献する',
8
8
  ],
9
9
  instructions: [
10
- '- 作業指示が届いたら Issue / PR を正本として動く',
11
- '- 起動後はconductorからの明示的な作業指示のメッセージが来るまで待機すること',
10
+ '- セッション開始時に起動し、conductor からの作業指示を待つ。明示的な作業指示のメッセージが来るまで待機すること',
11
+ '- 手順の細部は Skill(指示があれば)と Issue / PR を正本にする',
12
12
  '- 気づき・違和感・未解決は解決できなくても Issue に残す',
13
13
  '- 操作の許可が必要なときは harness 経由で permission を要求する',
14
- '- 手順の細部は Skill(指示があれば)と Issue / PR を正本にする',
15
14
  ],
16
15
  };
17
16
  //# sourceMappingURL=worker-base-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,SAAS,EAAE;QACT,oCAAoC;KACrC;IACD,YAAY,EAAE;QACZ,iCAAiC;QACjC,6CAA6C;QAC7C,kCAAkC;QAClC,6CAA6C;QAC7C,2CAA2C;KAC5C;CACF,CAAC"}
1
+ {"version":3,"file":"worker-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,SAAS,EAAE;QACT,kBAAkB;KACnB;IACD,YAAY,EAAE;QACZ,+DAA+D;QAC/D,2CAA2C;QAC3C,kCAAkC;QAClC,6CAA6C;KAC9C;CACF,CAAC"}
@@ -11,6 +11,8 @@ export interface WorkerStartParams {
11
11
  issueUrl: string;
12
12
  worktree: WorktreeRef;
13
13
  sessionState: EnsembleSessionState;
14
+ resolvedWorkspacePath?: string;
15
+ expectedResumeAcpCwd?: string;
14
16
  resumeAcpSessionId?: string;
15
17
  }
16
18
  export interface WorkerStartedInfo extends WorkerStartParams {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAC;CACxD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAC;CACxD"}