cofounder-crew 0.1.11 → 0.1.13

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.
@@ -0,0 +1,355 @@
1
+ import { mkdir, readdir, rm, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { stringify as stringifyToml } from "smol-toml";
4
+ import YAML from "yaml";
5
+ import { getMember, getMemberPaths, loadMemberSettings, loadProject } from "./config.js";
6
+ import { CofounderError } from "./errors.js";
7
+ import { pathExists } from "./paths.js";
8
+ export async function addMember(startDir, options) {
9
+ const project = await loadProject(startDir);
10
+ validateId(options.id, "member id");
11
+ if (project.team.members[options.id]) {
12
+ throw new CofounderError(`Member already exists: ${options.id}`);
13
+ }
14
+ const member = {
15
+ id: options.id,
16
+ title: options.title ?? titleFromId(options.id),
17
+ runner: "codex",
18
+ prompt: `members/${options.id}/prompt.md`,
19
+ settings: `members/${options.id}/settings.toml`,
20
+ home: `members/${options.id}/home`,
21
+ responsibilities: options.responsibilities?.length ? options.responsibilities : ["handle assigned work"],
22
+ can_call: options.can_call ?? []
23
+ };
24
+ const nextTeam = cloneTeam(project.team);
25
+ nextTeam.members[options.id] = member;
26
+ await writeTeam(project, nextTeam);
27
+ const memberDir = path.join(project.configRoot, "members", options.id);
28
+ await mkdir(path.join(memberDir, "home"), { recursive: true });
29
+ await writeFile(path.join(memberDir, "prompt.md"), defaultMemberPrompt(member), "utf8");
30
+ await writeFile(path.join(memberDir, "settings.toml"), formatMemberSettings({
31
+ model: options.model ?? "gpt-5.5",
32
+ sandbox: options.sandbox ?? "workspace-write",
33
+ approval: options.approval ?? "never",
34
+ reasoning_effort: options.reasoning_effort ?? "high",
35
+ live_interrupt: false,
36
+ write: { mode: options.write_mode ?? "direct" },
37
+ mcp: { mode: "none", from_main: [], team: [] },
38
+ skills: { mode: "isolated", from_project: [], from_main: [], team: [] },
39
+ memory: { project: true, member: true, max_snippets: 5 },
40
+ runner: {
41
+ codex: {
42
+ json: true,
43
+ extra_args: [],
44
+ use_member_home: false,
45
+ include_project_doc: false
46
+ }
47
+ }
48
+ }), "utf8");
49
+ await writeFile(path.join(project.configRoot, "memory", "members", `${options.id}.md`), `# ${options.id} Memory\n\n`, "utf8");
50
+ return {
51
+ changed: [
52
+ ".cofounder/team.yaml",
53
+ path.relative(project.projectRoot, path.join(memberDir, "prompt.md")),
54
+ path.relative(project.projectRoot, path.join(memberDir, "settings.toml")),
55
+ path.relative(project.projectRoot, path.join(project.configRoot, "memory", "members", `${options.id}.md`))
56
+ ],
57
+ skipped: [],
58
+ notes: [`Added member ${options.id}.`]
59
+ };
60
+ }
61
+ export async function setMember(startDir, memberId, options) {
62
+ const project = await loadProject(startDir);
63
+ const member = getMember(project, memberId);
64
+ const settings = await loadMemberSettings(project, member);
65
+ if (options.model)
66
+ settings.model = options.model;
67
+ if (options.reasoning_effort)
68
+ settings.reasoning_effort = options.reasoning_effort;
69
+ if (options.sandbox)
70
+ settings.sandbox = options.sandbox;
71
+ if (options.approval)
72
+ settings.approval = options.approval;
73
+ if (options.write_mode)
74
+ settings.write = { ...(settings.write ?? {}), mode: options.write_mode };
75
+ if (options.mcp_mode)
76
+ settings.mcp = { ...(settings.mcp ?? {}), mode: options.mcp_mode };
77
+ if (options.skills_mode)
78
+ settings.skills = { ...(settings.skills ?? {}), mode: options.skills_mode };
79
+ const paths = getMemberPaths(project, member);
80
+ await writeFile(paths.settingsAbsolutePath, formatMemberSettings(settings), "utf8");
81
+ return {
82
+ changed: [paths.settingsPath],
83
+ skipped: [],
84
+ notes: [`Updated member ${memberId}.`]
85
+ };
86
+ }
87
+ export async function removeMember(startDir, memberId, options = {}) {
88
+ const project = await loadProject(startDir);
89
+ getMember(project, memberId);
90
+ const nextTeam = cloneTeam(project.team);
91
+ delete nextTeam.members[memberId];
92
+ for (const member of Object.values(nextTeam.members)) {
93
+ member.can_call = member.can_call.filter((id) => id !== memberId);
94
+ }
95
+ await writeTeam(project, nextTeam);
96
+ const changed = [".cofounder/team.yaml"];
97
+ if (options.deleteFiles) {
98
+ await rm(path.join(project.configRoot, "members", memberId), { recursive: true, force: true });
99
+ await rm(path.join(project.configRoot, "memory", "members", `${memberId}.md`), { force: true });
100
+ changed.push(`.cofounder/members/${memberId}`, `.cofounder/memory/members/${memberId}.md`);
101
+ }
102
+ return {
103
+ changed,
104
+ skipped: [],
105
+ notes: [`Removed member ${memberId}.`]
106
+ };
107
+ }
108
+ export async function addMcpServer(startDir, options) {
109
+ const project = await loadProject(startDir);
110
+ validateId(options.id, "MCP server id");
111
+ if (!options.url && !options.command) {
112
+ throw new CofounderError("MCP add requires --url or --command");
113
+ }
114
+ if (options.url && options.command) {
115
+ throw new CofounderError("MCP add accepts either --url or --command, not both");
116
+ }
117
+ const serverConfig = options.url
118
+ ? { url: options.url }
119
+ : { command: options.command, args: options.args ?? [] };
120
+ if (options.cwd)
121
+ serverConfig.cwd = options.cwd;
122
+ if (options.env && Object.keys(options.env).length > 0)
123
+ serverConfig.env = options.env;
124
+ const serverPath = path.join(project.configRoot, "mcp", `${options.id}.toml`);
125
+ await mkdir(path.dirname(serverPath), { recursive: true });
126
+ await writeFile(serverPath, `${stringifyToml(serverConfig)}\n`, "utf8");
127
+ const changed = [path.relative(project.projectRoot, serverPath)];
128
+ if (options.assign?.length) {
129
+ const assigned = await assignMcpServer(startDir, options.id, "team", options.assign);
130
+ changed.push(...assigned.changed);
131
+ }
132
+ return {
133
+ changed: unique(changed),
134
+ skipped: [],
135
+ notes: [`Added team MCP server ${options.id}.`]
136
+ };
137
+ }
138
+ export async function assignMcpServer(startDir, serverId, source, members) {
139
+ const project = await loadProject(startDir);
140
+ validateId(serverId, "MCP server id");
141
+ const changed = [];
142
+ for (const memberId of members) {
143
+ const member = getMember(project, memberId);
144
+ const settings = await loadMemberSettings(project, member);
145
+ settings.mcp = {
146
+ mode: "isolated",
147
+ from_main: settings.mcp?.from_main ?? [],
148
+ team: settings.mcp?.team ?? [],
149
+ config_path: settings.mcp?.config_path,
150
+ include_inline_env: settings.mcp?.include_inline_env
151
+ };
152
+ const key = source === "main" ? "from_main" : "team";
153
+ settings.mcp[key] = addUnique(settings.mcp[key] ?? [], serverId);
154
+ const paths = getMemberPaths(project, member);
155
+ await writeFile(paths.settingsAbsolutePath, formatMemberSettings(settings), "utf8");
156
+ changed.push(paths.settingsPath);
157
+ }
158
+ return {
159
+ changed: unique(changed),
160
+ skipped: [],
161
+ notes: [`Assigned MCP ${serverId} to ${members.join(", ")}.`]
162
+ };
163
+ }
164
+ export async function removeMcpServer(startDir, serverId) {
165
+ const project = await loadProject(startDir);
166
+ const serverPath = path.join(project.configRoot, "mcp", `${serverId}.toml`);
167
+ await rm(serverPath, { force: true });
168
+ const changed = [path.relative(project.projectRoot, serverPath)];
169
+ for (const member of Object.values(project.team.members)) {
170
+ const settings = await loadMemberSettings(project, member);
171
+ const before = JSON.stringify(settings.mcp ?? {});
172
+ if (settings.mcp?.from_main)
173
+ settings.mcp.from_main = settings.mcp.from_main.filter((id) => id !== serverId);
174
+ if (settings.mcp?.team)
175
+ settings.mcp.team = settings.mcp.team.filter((id) => id !== serverId);
176
+ if (before !== JSON.stringify(settings.mcp ?? {})) {
177
+ const paths = getMemberPaths(project, member);
178
+ await writeFile(paths.settingsAbsolutePath, formatMemberSettings(settings), "utf8");
179
+ changed.push(paths.settingsPath);
180
+ }
181
+ }
182
+ return {
183
+ changed: unique(changed),
184
+ skipped: [],
185
+ notes: [`Removed MCP ${serverId}.`]
186
+ };
187
+ }
188
+ export async function addSkill(startDir, options) {
189
+ const project = await loadProject(startDir);
190
+ validateId(options.id, "skill id");
191
+ const changed = [];
192
+ if (options.source === "project" || options.source === "team") {
193
+ const root = options.source === "project"
194
+ ? path.join(project.projectRoot, ".agents", "skills", options.id)
195
+ : path.join(project.configRoot, "skills", options.id);
196
+ const skillPath = path.join(root, "SKILL.md");
197
+ if (!(await pathExists(skillPath))) {
198
+ await mkdir(root, { recursive: true });
199
+ await writeFile(skillPath, formatSkillMarkdown(options.id, options.description, options.instructions), "utf8");
200
+ changed.push(path.relative(project.projectRoot, skillPath));
201
+ }
202
+ }
203
+ if (options.assign?.length) {
204
+ const assigned = await assignSkill(startDir, options.id, options.source, options.assign);
205
+ changed.push(...assigned.changed);
206
+ }
207
+ return {
208
+ changed: unique(changed),
209
+ skipped: [],
210
+ notes: [`Added ${options.source} skill ${options.id}.`]
211
+ };
212
+ }
213
+ export async function assignSkill(startDir, skillId, source, members) {
214
+ const project = await loadProject(startDir);
215
+ validateId(skillId, "skill id");
216
+ const changed = [];
217
+ for (const memberId of members) {
218
+ const member = getMember(project, memberId);
219
+ const settings = await loadMemberSettings(project, member);
220
+ settings.skills = {
221
+ mode: "isolated",
222
+ from_project: settings.skills?.from_project ?? [],
223
+ from_main: settings.skills?.from_main ?? [],
224
+ team: settings.skills?.team ?? [],
225
+ roots: settings.skills?.roots,
226
+ max_bytes: settings.skills?.max_bytes
227
+ };
228
+ const key = source === "project" ? "from_project" : source === "main" ? "from_main" : "team";
229
+ settings.skills[key] = addUnique(settings.skills[key] ?? [], skillId);
230
+ const paths = getMemberPaths(project, member);
231
+ await writeFile(paths.settingsAbsolutePath, formatMemberSettings(settings), "utf8");
232
+ changed.push(paths.settingsPath);
233
+ }
234
+ return {
235
+ changed: unique(changed),
236
+ skipped: [],
237
+ notes: [`Assigned skill ${skillId} to ${members.join(", ")}.`]
238
+ };
239
+ }
240
+ export async function removeSkill(startDir, skillId, source, options = {}) {
241
+ const project = await loadProject(startDir);
242
+ const changed = [];
243
+ for (const member of Object.values(project.team.members)) {
244
+ const settings = await loadMemberSettings(project, member);
245
+ const before = JSON.stringify(settings.skills ?? {});
246
+ if (settings.skills?.from_project)
247
+ settings.skills.from_project = settings.skills.from_project.filter((id) => id !== skillId);
248
+ if (settings.skills?.from_main)
249
+ settings.skills.from_main = settings.skills.from_main.filter((id) => id !== skillId);
250
+ if (settings.skills?.team)
251
+ settings.skills.team = settings.skills.team.filter((id) => id !== skillId);
252
+ if (before !== JSON.stringify(settings.skills ?? {})) {
253
+ const paths = getMemberPaths(project, member);
254
+ await writeFile(paths.settingsAbsolutePath, formatMemberSettings(settings), "utf8");
255
+ changed.push(paths.settingsPath);
256
+ }
257
+ }
258
+ if (options.deleteFiles && source !== "main") {
259
+ const root = source === "project"
260
+ ? path.join(project.projectRoot, ".agents", "skills", skillId)
261
+ : path.join(project.configRoot, "skills", skillId);
262
+ await rm(root, { recursive: true, force: true });
263
+ changed.push(path.relative(project.projectRoot, root));
264
+ }
265
+ return {
266
+ changed: unique(changed),
267
+ skipped: [],
268
+ notes: [`Removed skill ${skillId} from assignments.`]
269
+ };
270
+ }
271
+ export async function setContextMode(startDir, mode) {
272
+ const project = await loadProject(startDir);
273
+ const nextTeam = cloneTeam(project.team);
274
+ nextTeam.project_context = {
275
+ ...(nextTeam.project_context ?? { file: "project.md" }),
276
+ mode
277
+ };
278
+ await writeTeam(project, nextTeam);
279
+ return {
280
+ changed: [".cofounder/team.yaml"],
281
+ skipped: [],
282
+ notes: [`Set project context mode to ${mode}.`]
283
+ };
284
+ }
285
+ export async function listProjectMcpServers(startDir) {
286
+ const project = await loadProject(startDir);
287
+ const dir = path.join(project.configRoot, "mcp");
288
+ if (!(await pathExists(dir)))
289
+ return [];
290
+ return (await readdir(dir))
291
+ .filter((file) => file.endsWith(".toml"))
292
+ .map((file) => file.replace(/\.toml$/, ""))
293
+ .sort();
294
+ }
295
+ export async function listProjectSkills(startDir, source) {
296
+ const project = await loadProject(startDir);
297
+ const dir = source === "project"
298
+ ? path.join(project.projectRoot, ".agents", "skills")
299
+ : path.join(project.configRoot, "skills");
300
+ if (!(await pathExists(dir)))
301
+ return [];
302
+ return (await readdir(dir, { withFileTypes: true }))
303
+ .filter((entry) => entry.isDirectory())
304
+ .map((entry) => entry.name)
305
+ .sort();
306
+ }
307
+ function defaultMemberPrompt(member) {
308
+ return `# ${member.title}
309
+
310
+ You are ${member.id}, a Cofounder teammate.
311
+
312
+ Responsibilities:
313
+
314
+ ${member.responsibilities.map((item) => `- ${item}`).join("\n")}
315
+
316
+ Keep work scoped to the assigned task, report changed files, and include verification results.
317
+ `;
318
+ }
319
+ function formatMemberSettings(settings) {
320
+ return `${stringifyToml(settings)}\n`;
321
+ }
322
+ function formatSkillMarkdown(id, description = "Describe when this skill should be used.", instructions = "Write skill instructions here.") {
323
+ return `---
324
+ name: ${id}
325
+ description: ${description}
326
+ ---
327
+
328
+ ${instructions}
329
+ `;
330
+ }
331
+ async function writeTeam(project, team) {
332
+ await writeFile(path.join(project.configRoot, "team.yaml"), YAML.stringify(team), "utf8");
333
+ }
334
+ function cloneTeam(team) {
335
+ return JSON.parse(JSON.stringify(team));
336
+ }
337
+ function titleFromId(id) {
338
+ return id
339
+ .split(/[-_]/g)
340
+ .filter(Boolean)
341
+ .map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`)
342
+ .join(" ") || id;
343
+ }
344
+ function validateId(id, label) {
345
+ if (!/^[A-Za-z0-9_-]+$/.test(id)) {
346
+ throw new CofounderError(`Invalid ${label}: ${id}. Use letters, numbers, "_" or "-".`);
347
+ }
348
+ }
349
+ function addUnique(values, next) {
350
+ return values.includes(next) ? values : [...values, next];
351
+ }
352
+ function unique(values) {
353
+ return [...new Set(values)];
354
+ }
355
+ //# sourceMappingURL=manage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/manage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type PreparedCodexConfig } from "./codexConfig.js";
2
+ import { type PreparedSkills } from "./skills.js";
2
3
  import type { LoadedProject, MemberDefinition, MemberSettings } from "./types.js";
3
4
  export interface PreparedMemberRuntime {
4
5
  member: MemberDefinition;
@@ -9,5 +10,6 @@ export interface PreparedMemberRuntime {
9
10
  member_effective_config_path: string | null;
10
11
  member_codex_config_path: string | null;
11
12
  codex_config: PreparedCodexConfig;
13
+ skills: PreparedSkills;
12
14
  }
13
15
  export declare function prepareMemberRuntime(project: LoadedProject, member: MemberDefinition): Promise<PreparedMemberRuntime>;
@@ -1,8 +1,12 @@
1
- import { mkdir, writeFile } from "node:fs/promises";
1
+ import { mkdir, symlink, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
2
3
  import path from "node:path";
3
4
  import { stringify as stringifyToml } from "smol-toml";
4
5
  import { prepareCodexConfig } from "./codexConfig.js";
5
6
  import { getMemberPaths, loadMemberSettings } from "./config.js";
7
+ import { CofounderError } from "./errors.js";
8
+ import { pathExists } from "./paths.js";
9
+ import { prepareSkills } from "./skills.js";
6
10
  export async function prepareMemberRuntime(project, member) {
7
11
  const settings = await loadMemberSettings(project, member);
8
12
  const paths = getMemberPaths(project, member);
@@ -11,11 +15,20 @@ export async function prepareMemberRuntime(project, member) {
11
15
  if (paths.homeAbsolutePath) {
12
16
  await mkdir(paths.homeAbsolutePath, { recursive: true });
13
17
  }
14
- const codexConfig = await prepareCodexConfig(project, member, settings, paths.homeAbsolutePath);
18
+ const skills = await prepareSkills(project, settings, paths.homeAbsolutePath);
19
+ const codexConfig = await prepareCodexConfig(project, member, settings, paths.homeAbsolutePath, {
20
+ disabledSkillPaths: skills.disabled_project_skill_paths
21
+ });
15
22
  codexConfigPath = codexConfig.config_path;
23
+ if (skills.requires_member_home && codexConfig.mode === "inherit") {
24
+ throw new CofounderError("skills.mode other than \"inherit\" requires explicit mcp.mode = \"isolated\" or \"none\" so member CODEX_HOME does not silently lose inherited MCP configuration");
25
+ }
26
+ if ((skills.requires_member_home || settings.runner?.codex?.use_member_home) && paths.homeAbsolutePath) {
27
+ await prepareMemberCodexHome(paths.homeAbsolutePath);
28
+ }
16
29
  if (paths.homeAbsolutePath) {
17
30
  const effectiveConfigAbsolutePath = path.join(paths.homeAbsolutePath, "cofounder.effective.toml");
18
- await writeFile(effectiveConfigAbsolutePath, buildEffectiveConfig(member, settings, codexConfig), "utf8");
31
+ await writeFile(effectiveConfigAbsolutePath, buildEffectiveConfig(member, settings, codexConfig, skills), "utf8");
19
32
  effectiveConfigPath = path.relative(project.projectRoot, effectiveConfigAbsolutePath);
20
33
  }
21
34
  return {
@@ -26,10 +39,11 @@ export async function prepareMemberRuntime(project, member) {
26
39
  member_settings_path: paths.settingsPath,
27
40
  member_effective_config_path: effectiveConfigPath,
28
41
  member_codex_config_path: codexConfigPath,
29
- codex_config: codexConfig
42
+ codex_config: codexConfig,
43
+ skills
30
44
  };
31
45
  }
32
- function buildEffectiveConfig(member, settings, codexConfig) {
46
+ function buildEffectiveConfig(member, settings, codexConfig, skills) {
33
47
  const codex = {};
34
48
  if (settings.model) {
35
49
  codex.model = settings.model;
@@ -43,8 +57,18 @@ function buildEffectiveConfig(member, settings, codexConfig) {
43
57
  codex_config_path: codexConfig.config_path ?? "",
44
58
  mcp_mode: codexConfig.mode,
45
59
  mcp_allowed_servers: codexConfig.allowed_servers,
60
+ mcp_from_main_servers: codexConfig.from_main_servers,
61
+ mcp_team_servers: codexConfig.team_servers,
46
62
  mcp_isolated: codexConfig.isolated,
47
- work_mode: settings.write?.mode ?? "direct"
63
+ work_mode: settings.write?.mode ?? "direct",
64
+ skill_mode: skills.mode,
65
+ skill_from_project: skills.from_project,
66
+ skill_from_main: skills.from_main,
67
+ skill_team: skills.team,
68
+ disabled_project_skill_paths: skills.disabled_project_skill_paths,
69
+ skill_requires_member_home: skills.requires_member_home,
70
+ skill_agent_root: skills.agent_skill_root ?? "",
71
+ skill_codex_root: skills.codex_skill_root ?? ""
48
72
  };
49
73
  if (settings.sandbox) {
50
74
  cofounder.sandbox = settings.sandbox;
@@ -61,10 +85,28 @@ function buildEffectiveConfig(member, settings, codexConfig) {
61
85
  cofounder,
62
86
  write: settings.write ?? { mode: "direct" },
63
87
  memory: settings.memory ?? {},
88
+ skills: settings.skills ?? {},
64
89
  runner: {
65
90
  codex: runnerCodex
66
91
  }
67
92
  };
68
93
  return `# Generated by Cofounder. Inspectable runtime settings; not used as Codex auth storage.\n${stringifyToml(config)}\n`;
69
94
  }
95
+ async function prepareMemberCodexHome(memberHomeAbsolutePath) {
96
+ await mkdir(memberHomeAbsolutePath, { recursive: true });
97
+ const sourceCodexHome = process.env.CODEX_HOME
98
+ ? path.resolve(process.env.CODEX_HOME)
99
+ : path.join(os.homedir(), ".codex");
100
+ const sourceAuthPath = path.join(sourceCodexHome, "auth.json");
101
+ const targetAuthPath = path.join(memberHomeAbsolutePath, "auth.json");
102
+ if (!(await pathExists(sourceAuthPath)) || await pathExists(targetAuthPath)) {
103
+ return;
104
+ }
105
+ try {
106
+ await symlink(sourceAuthPath, targetAuthPath);
107
+ }
108
+ catch (error) {
109
+ throw new CofounderError(`Could not link Codex auth into member home: ${error.message}`);
110
+ }
111
+ }
70
112
  //# sourceMappingURL=memberRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memberRuntime.js","sourceRoot":"","sources":["../../src/memberRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memberRuntime.js","sourceRoot":"","sources":["../../src/memberRuntime.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,11 @@ export async function runMember(memberId, task, options = {}) {
53
53
  member_codex_config_path: runtime.member_codex_config_path,
54
54
  work_mode: workMode
55
55
  }, prompt);
56
- return await runCodexTask(record, runtime.member, runtime.settings, { streamToConsole: options.streamToConsole, codexConfig: runtime.codex_config });
56
+ return await runCodexTask(record, runtime.member, runtime.settings, {
57
+ streamToConsole: options.streamToConsole,
58
+ codexConfig: runtime.codex_config,
59
+ skills: runtime.skills
60
+ });
57
61
  }
58
62
  export async function delegateMember(memberId, task, options = {}) {
59
63
  const project = await loadProject(options.startDir);
@@ -83,7 +87,10 @@ export async function runWorkerTask(taskId, startDir = process.cwd()) {
83
87
  const task = await readTask(project.projectRoot, taskId);
84
88
  const member = getMember(project, task.assignee);
85
89
  const runtime = await prepareMemberRuntime(project, member);
86
- return await runCodexTask(task, runtime.member, runtime.settings, { codexConfig: runtime.codex_config });
90
+ return await runCodexTask(task, runtime.member, runtime.settings, {
91
+ codexConfig: runtime.codex_config,
92
+ skills: runtime.skills
93
+ });
87
94
  }
88
95
  export async function getTask(taskId, startDir = process.cwd()) {
89
96
  const project = await loadProject(startDir);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuC9D,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;QAC7B,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,aAAa,EAAE,KAAK,CAAC,YAAY;gBACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,IAAY,EACZ,UAA6E,EAAE;IAE/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;QACvC,MAAM;QACN,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,IAAI,EAAE,KAAK;QACX,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;QAClE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,SAAS,EAAE,QAAQ;KACpB,EAAE,MAAM,CAAC,CAAC;IACX,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AACvJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,IAAY,EACZ,UAAkD,EAAE;IAEpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;QACvC,MAAM;QACN,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;QAClE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,SAAS,EAAE,QAAQ;KACpB,EAAE,MAAM,CAAC,CAAC;IACX,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC1E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACpE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,UAAgD,EAAE;IACnG,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,OAAO;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACjF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAAuF,EAAE;IAEzF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAAgH,EAAE;IAElH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEvD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC/D,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;QAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;KACzC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC1E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,cAAc,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QAC7D,gBAAgB,EAAE,SAAS;QAC3B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,aAAa,EAAE,SAAS,CAAC,KAAK;KAC/B,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;QAClD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe;QAClF,GAAG,EAAE;YACH,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU,EAAE,SAAS;SACtB;KACF,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAErC,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,OAAe,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,cAAc,CAAC,QAAQ,MAAM,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CAAC;YACzD,GAAG,EAAE,IAAI,CAAC,aAAa;YACvB,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;SAC1C,CAAC,CAAC;QACH,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,QAAQ,MAAM,4DAA4D,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;QAClE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB;QAC9C,mBAAmB,EAAE,IAAI,CAAC,EAAE;QAC5B,iBAAiB,EAAE,OAAO;KAC3B,EAAE,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;QAC3B,aAAa,IAAI,CAAC,QAAQ,EAAE;QAC5B,WAAW,IAAI,CAAC,MAAM,EAAE;QACxB,YAAY,IAAI,CAAC,UAAU,EAAE;KAC9B,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,IAAI,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACrG,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnH,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,4BAA4B,IAAI,MAAM,EAAE,CAAC,CAAC;IACtF,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,wBAAwB,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC;IAC9C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,cAAc,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgB,EAAE,OAAe;IAC7D,OAAO;;oBAEW,IAAI,CAAC,EAAE;;;;EAIzB,OAAO;CACR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAoB;IAC1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;QACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;QACxB,QAAQ;QACR,aAAa,EAAE,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI;QACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC;QACvD,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;QAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;QAClC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;QACtC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAC9C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAoB,EAAE,QAAiB;IACzE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,4IAA4I,CAAC;IACtJ,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,wFAAwF,CAAC;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1D,OAAO,sFAAsF,CAAC;IAChG,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IAED,OAAO,kFAAkF,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,IAAgB,EAChB,OAAiE;IAEjE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAE9F,OAAO;QACL,IAAI;QACJ,MAAM;QACN,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAC3C,gBAAgB,EAAE,eAAe;QACjC,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;QACpC,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA4B;IACpD,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAsB,EAAE,MAAkB;IACnE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;QAC/C,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAChF,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,cAAc,CAAC,+CAA+C,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO;YACL,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAuB;IACtC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAuB;IAClD,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,0FAA0F;IAC5F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}