@ulpi/cli 0.1.5 → 0.1.6

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 (109) hide show
  1. package/LICENSE +21 -0
  2. package/dist/{auth-PN7TMQHV-2W4ICG64.js → auth-FWM7MM4Q-VZC3U2XZ.js} +1 -1
  3. package/dist/{auth-BFFBUJUC.js → auth-HDK7ECJL.js} +2 -1
  4. package/dist/{chunk-RJIRWQJD.js → chunk-3BCW6ABU.js} +402 -142
  5. package/dist/{chunk-L3PWNHSA.js → chunk-3WB5CXH4.js} +180 -5
  6. package/dist/{chunk-K4OVPFY2.js → chunk-4UCJIAOU.js} +2 -2
  7. package/dist/chunk-4XTHZVDS.js +109 -0
  8. package/dist/chunk-4ZPOZULQ.js +6522 -0
  9. package/dist/{chunk-SIAQVRKG.js → chunk-5MI5GIXM.js} +48 -2
  10. package/dist/{chunk-KLEASXUR.js → chunk-6ZL6NXMV.js} +1 -1
  11. package/dist/{chunk-AV5RB3N2.js → chunk-76D3BYJD.js} +48 -0
  12. package/dist/{chunk-DOIKS6C5.js → chunk-AWOSRA5F.js} +1 -1
  13. package/dist/{chunk-UCMT5OKP.js → chunk-BFEKZZHM.js} +274 -57
  14. package/dist/chunk-C7CLUQI6.js +1286 -0
  15. package/dist/{chunk-ELTGWMDE.js → chunk-E3B5NROU.js} +7 -7
  16. package/dist/chunk-EJ7TW77N.js +1418 -0
  17. package/dist/{chunk-6OURRFP7.js → chunk-IV6MWETF.js} +383 -168
  18. package/dist/chunk-IZPJHSPX.js +1478 -0
  19. package/dist/chunk-JLHNLM3C.js +228 -0
  20. package/dist/{chunk-P2RESJRN.js → chunk-KYYI23AQ.js} +2 -2
  21. package/dist/chunk-S6ANCSYO.js +1271 -0
  22. package/dist/chunk-SEU7WWNQ.js +1251 -0
  23. package/dist/chunk-SNQ7NAIS.js +453 -0
  24. package/dist/{ulpi-RMMCUAGP-EWYUE7RU.js → chunk-TSLDGT5O.js} +73 -35
  25. package/dist/{chunk-EIWYSP3A.js → chunk-UXHCHOWQ.js} +83 -62
  26. package/dist/chunk-V2H5D6Y3.js +146 -0
  27. package/dist/{chunk-5SCG7UYM.js → chunk-VVEDXI7E.js} +1 -1
  28. package/dist/chunk-VXH5Y4FO.js +6761 -0
  29. package/dist/chunk-WED4LM5N.js +322 -0
  30. package/dist/{chunk-74WVVWJ4.js → chunk-YOKL7RB5.js} +184 -15
  31. package/dist/chunk-Z53CAR7G.js +298 -0
  32. package/dist/{ci-JQ56YIKC.js → ci-X3U2W4HC.js} +124 -26
  33. package/dist/cloud-2F3NLVHN.js +274 -0
  34. package/dist/{codemap-HMYBXJL2.js → codemap-XNGMAF3F.js} +37 -37
  35. package/dist/codex-MB5YTMRT.js +132 -0
  36. package/dist/{config-YYWEN7U2.js → config-OOELBYTH.js} +1 -1
  37. package/dist/dist-2BJYR5EI.js +59 -0
  38. package/dist/dist-3EIQTZHT.js +1380 -0
  39. package/dist/{dist-WAMAQVPK.js → dist-4U5L2X2C.js} +2 -2
  40. package/dist/{dist-4XTJ6HLM.js → dist-54KAMNLO.js} +16 -15
  41. package/dist/dist-6M4MZWZW.js +58 -0
  42. package/dist/dist-6X576SU2.js +27 -0
  43. package/dist/dist-7QOEYLFX.js +103 -0
  44. package/dist/dist-AYBGHEDY.js +2541 -0
  45. package/dist/dist-EK45QNEM.js +45 -0
  46. package/dist/{dist-U7ZIJMZD.js → dist-FKFEJRPX.js} +16 -15
  47. package/dist/dist-GTEJUBBT.js +66 -0
  48. package/dist/dist-HA74OKJZ.js +40 -0
  49. package/dist/{dist-XG2GG5SD.js → dist-HU5RZAON.js} +14 -2
  50. package/dist/dist-IYE3OBRB.js +374 -0
  51. package/dist/{dist-7WLLPWWB.js → dist-JLU26AB6.js} +12 -9
  52. package/dist/{dist-6G7JC2RA.js → dist-KUCI6JFE.js} +49 -9
  53. package/dist/dist-NUEMFZFL.js +33 -0
  54. package/dist/{dist-GWGTAHNM.js → dist-NUXMDXZ3.js} +31 -3
  55. package/dist/{dist-5R4RYNQO.js → dist-YCNWHSLN.js} +15 -5
  56. package/dist/{dist-6MFVWIFF.js → dist-YFFG2ZD6.js} +9 -16
  57. package/dist/dist-ZG4OKCSR.js +15 -0
  58. package/dist/doctor-SI4LLLDZ.js +345 -0
  59. package/dist/{export-import-4A5MWLIA.js → export-import-JFQH4KSJ.js} +1 -1
  60. package/dist/{history-RNUWO4JZ.js → history-5NE46ZAH.js} +7 -7
  61. package/dist/{hooks-installer-K2JXEBNN.js → hooks-installer-UN5JZLDQ.js} +2 -2
  62. package/dist/index.js +394 -618
  63. package/dist/{init-NQWFZPKO.js → init-5FK3VKRT.js} +76 -10
  64. package/dist/job-HIDMAFW2.js +376 -0
  65. package/dist/jobs.memory-PLMMSFHB-VBECCTHN.js +33 -0
  66. package/dist/kiro-VMUHDFGK.js +153 -0
  67. package/dist/{launchd-OYXUAVW6.js → launchd-6AWT54HR.js} +9 -17
  68. package/dist/mcp-PDUD7SGP.js +249 -0
  69. package/dist/mcp-installer-PQU3XOGO.js +259 -0
  70. package/dist/mcp-setup-OA7IB3H3.js +263 -0
  71. package/dist/{memory-D6ZFFCI2.js → memory-ZNAEAK3B.js} +17 -17
  72. package/dist/{ollama-3XCUZMZT-FYKHW4TZ.js → ollama-3XCUZMZT-4JMH6B7P.js} +1 -1
  73. package/dist/{openai-E7G2YAHU-IG33BFYF.js → openai-E7G2YAHU-T3HMBPH7.js} +2 -2
  74. package/dist/portal-JYWVHXDU.js +210 -0
  75. package/dist/prd-Q4J5NVAR.js +408 -0
  76. package/dist/repos-WWZXNN3P.js +271 -0
  77. package/dist/review-integration-5WHEJU2A.js +14 -0
  78. package/dist/{rules-3OFGWHP4.js → rules-Y4VSOY5Y.js} +3 -3
  79. package/dist/run-VPNXEIBY.js +687 -0
  80. package/dist/server-COL4AXKU-P7S7NNF6.js +11 -0
  81. package/dist/server-KKSETHDV-XSSLEENT.js +20 -0
  82. package/dist/{skills-GY2CTPWN.js → skills-QEYU2N27.js} +4 -2
  83. package/dist/start-JYOEL7AJ.js +303 -0
  84. package/dist/{status-SE43TIFJ.js → status-BHQYYGAL.js} +2 -2
  85. package/dist/{templates-O2XDKB5R.js → templates-CBRUJ66V.js} +6 -5
  86. package/dist/tui-DP7736EX.js +61 -0
  87. package/dist/ulpi-5EN6JCAS-LFE3WSL4.js +10 -0
  88. package/dist/{uninstall-KWGSGZTI.js → uninstall-ICUV6DDV.js} +3 -3
  89. package/dist/{update-QYZA4D23.js → update-7ZMAYRBH.js} +3 -3
  90. package/dist/{version-checker-MVB74DEX.js → version-checker-4ZFMZA7Y.js} +2 -2
  91. package/package.json +39 -31
  92. package/dist/chunk-26LLDX2T.js +0 -553
  93. package/dist/chunk-DDRLI6JU.js +0 -331
  94. package/dist/chunk-IFATANHR.js +0 -453
  95. package/dist/chunk-JWUUVXIV.js +0 -13694
  96. package/dist/chunk-LD52XG3X.js +0 -4273
  97. package/dist/chunk-MIAQVCFW.js +0 -39
  98. package/dist/chunk-YYZOFYS6.js +0 -415
  99. package/dist/dist-XD4YI27T.js +0 -26
  100. package/dist/mcp-installer-TOYDP77X.js +0 -124
  101. package/dist/projects-COUJP4ZC.js +0 -271
  102. package/dist/review-KMGP2S25.js +0 -152
  103. package/dist/server-USLHY6GH-F4JSXCWA.js +0 -18
  104. package/dist/server-X5P6WH2M-ULZF5WHZ.js +0 -11
  105. package/dist/skills/ulpi-generate-guardian/SKILL.md +0 -750
  106. package/dist/skills/ulpi-generate-guardian/references/framework-rules.md +0 -849
  107. package/dist/skills/ulpi-generate-guardian/references/language-rules.md +0 -591
  108. package/dist/ui-4SM2SUI6.js +0 -167
  109. package/dist/ui.html +0 -698
@@ -0,0 +1,322 @@
1
+ import {
2
+ installKiroSkill
3
+ } from "./chunk-IZPJHSPX.js";
4
+ import {
5
+ BUNDLED_SKILLS
6
+ } from "./chunk-4ZPOZULQ.js";
7
+ import {
8
+ getBinaryPath
9
+ } from "./chunk-C7CLUQI6.js";
10
+
11
+ // ../../packages/agent-installer/dist/index.js
12
+ import * as fs from "fs";
13
+ import * as path from "path";
14
+ import * as os from "os";
15
+ import * as fs2 from "fs";
16
+ import * as path2 from "path";
17
+ function buildMcpServers() {
18
+ const binary = getBinaryPath();
19
+ return {
20
+ "ulpi-codemap": {
21
+ command: binary,
22
+ args: ["codemap", "serve"],
23
+ transportType: "stdio"
24
+ },
25
+ "ulpi-memory": {
26
+ command: binary,
27
+ args: ["memory", "serve"],
28
+ transportType: "stdio"
29
+ }
30
+ };
31
+ }
32
+ function kiroAgentsDir() {
33
+ return path.join(os.homedir(), ".kiro", "agents");
34
+ }
35
+ function kiroAgentPath(name) {
36
+ return path.join(kiroAgentsDir(), `${name}.json`);
37
+ }
38
+ function kiroSkillsDir(projectDir) {
39
+ return path.join(projectDir, ".kiro", "skills");
40
+ }
41
+ function buildHooks() {
42
+ const binary = getBinaryPath();
43
+ return {
44
+ agentSpawn: [{ command: `${binary} session-start` }],
45
+ preToolUse: [{ matcher: "*", command: `${binary} pre-tool` }],
46
+ postToolUse: [{ matcher: "*", command: `${binary} post-tool` }],
47
+ stop: [{ command: `${binary} stop` }]
48
+ };
49
+ }
50
+ function generateAgentConfig() {
51
+ return {
52
+ name: "ulpi-governance",
53
+ description: "ULPI-governed coding agent. Enforces rules from .ulpi/guards.yml, tracks sessions, captures memory, and provides CodeMap semantic search.",
54
+ tools: ["read", "write", "shell"],
55
+ allowedTools: ["read"],
56
+ hooks: buildHooks(),
57
+ resources: [
58
+ "skill://.kiro/skills/*/SKILL.md",
59
+ "file://.ulpi/guards.yml"
60
+ ],
61
+ mcpServers: buildMcpServers()
62
+ };
63
+ }
64
+ function installKiroHooks(mode) {
65
+ if (mode === "agent") {
66
+ const agentConfig = generateAgentConfig();
67
+ const agentPath = kiroAgentPath("ulpi-governance");
68
+ const dir2 = path.dirname(agentPath);
69
+ fs.mkdirSync(dir2, { recursive: true });
70
+ fs.writeFileSync(agentPath, JSON.stringify(agentConfig, null, 2) + "\n", "utf-8");
71
+ return { file: agentPath, agent: "ulpi-governance" };
72
+ }
73
+ const defaultPath = kiroAgentPath("kiro_default");
74
+ let config = {};
75
+ if (fs.existsSync(defaultPath)) {
76
+ try {
77
+ config = JSON.parse(fs.readFileSync(defaultPath, "utf-8"));
78
+ } catch {
79
+ }
80
+ }
81
+ config.hooks = buildHooks();
82
+ config.mcpServers = { ...config.mcpServers ?? {}, ...buildMcpServers() };
83
+ const dir = path.dirname(defaultPath);
84
+ fs.mkdirSync(dir, { recursive: true });
85
+ fs.writeFileSync(defaultPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
86
+ return { file: defaultPath, agent: "kiro_default" };
87
+ }
88
+ function installKiroSkills(projectDir) {
89
+ let count = 0;
90
+ for (const skillInfo of BUNDLED_SKILLS) {
91
+ const skill = {
92
+ name: skillInfo.id,
93
+ path: skillInfo.filename,
94
+ source: "bundled",
95
+ description: skillInfo.description
96
+ };
97
+ const dirName = `ulpi-${skillInfo.id}`;
98
+ const skillDir = path.join(kiroSkillsDir(projectDir), dirName);
99
+ const skillPath = path.join(skillDir, "SKILL.md");
100
+ if (fs.existsSync(skillPath)) continue;
101
+ installKiroSkill(skill, projectDir, "repo");
102
+ count++;
103
+ }
104
+ return count;
105
+ }
106
+ function uninstallKiro(projectDir) {
107
+ let agentRemoved = false;
108
+ let skillsRemoved = 0;
109
+ let agentsRemoved = 0;
110
+ const agentPath = kiroAgentPath("ulpi-governance");
111
+ if (fs.existsSync(agentPath)) {
112
+ fs.unlinkSync(agentPath);
113
+ agentRemoved = true;
114
+ }
115
+ const skillsDir = kiroSkillsDir(projectDir);
116
+ if (fs.existsSync(skillsDir)) {
117
+ const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
118
+ for (const entry of entries) {
119
+ if (entry.isDirectory() && entry.name.startsWith("ulpi-")) {
120
+ fs.rmSync(path.join(skillsDir, entry.name), { recursive: true, force: true });
121
+ skillsRemoved++;
122
+ }
123
+ }
124
+ }
125
+ const claudeAgentsDir = path.join(projectDir, ".claude", "agents");
126
+ const kiroAgentsBase = path.join(projectDir, ".kiro", "agents");
127
+ if (fs.existsSync(claudeAgentsDir) && fs.existsSync(kiroAgentsBase)) {
128
+ const claudeEntries = fs.readdirSync(claudeAgentsDir);
129
+ for (const file of claudeEntries) {
130
+ if (!file.endsWith(".md")) continue;
131
+ const agentName = file.replace(/\.md$/, "");
132
+ const kiroJson = path.join(kiroAgentsBase, `${agentName}.json`);
133
+ const kiroPromptDir = path.join(kiroAgentsBase, agentName);
134
+ if (fs.existsSync(kiroJson)) {
135
+ fs.unlinkSync(kiroJson);
136
+ agentsRemoved++;
137
+ }
138
+ if (fs.existsSync(kiroPromptDir)) {
139
+ fs.rmSync(kiroPromptDir, { recursive: true, force: true });
140
+ }
141
+ }
142
+ }
143
+ return { agentRemoved, skillsRemoved, agentsRemoved };
144
+ }
145
+ function getKiroStatus(projectDir) {
146
+ const agentPath = kiroAgentPath("ulpi-governance");
147
+ const agentInstalled = fs.existsSync(agentPath);
148
+ let skillCount = 0;
149
+ let convertedSkillCount = 0;
150
+ const skillsDir = kiroSkillsDir(projectDir);
151
+ if (fs.existsSync(skillsDir)) {
152
+ const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
153
+ for (const e of entries) {
154
+ if (!e.isDirectory()) continue;
155
+ if (e.name.startsWith("ulpi-")) {
156
+ skillCount++;
157
+ } else {
158
+ convertedSkillCount++;
159
+ }
160
+ }
161
+ }
162
+ let convertedAgentCount = 0;
163
+ const claudeAgentsDir = path.join(projectDir, ".claude", "agents");
164
+ const kiroAgentsBase = path.join(projectDir, ".kiro", "agents");
165
+ if (fs.existsSync(claudeAgentsDir) && fs.existsSync(kiroAgentsBase)) {
166
+ const claudeEntries = fs.readdirSync(claudeAgentsDir);
167
+ for (const file of claudeEntries) {
168
+ if (!file.endsWith(".md")) continue;
169
+ const agentName = file.replace(/\.md$/, "");
170
+ if (fs.existsSync(path.join(kiroAgentsBase, `${agentName}.json`))) {
171
+ convertedAgentCount++;
172
+ }
173
+ }
174
+ }
175
+ const mcpPath = path.join(projectDir, ".kiro", "settings", "mcp.json");
176
+ let mcpConfigured = false;
177
+ if (fs.existsSync(mcpPath)) {
178
+ try {
179
+ const mcpConfig = JSON.parse(fs.readFileSync(mcpPath, "utf-8"));
180
+ const servers = mcpConfig.mcpServers;
181
+ mcpConfigured = !!(servers?.["ulpi-codemap"] || servers?.["ulpi-memory"]);
182
+ } catch {
183
+ }
184
+ }
185
+ return { agentInstalled, agentPath, skillCount, convertedSkillCount, convertedAgentCount, mcpConfigured };
186
+ }
187
+ function installCodexMcpServers(projectDir) {
188
+ const configPath = path2.join(projectDir, ".codex", "config.toml");
189
+ let content = "";
190
+ if (fs2.existsSync(configPath)) {
191
+ content = fs2.readFileSync(configPath, "utf-8");
192
+ }
193
+ const servers = buildMcpServers();
194
+ let added = 0;
195
+ for (const [name, entry] of Object.entries(servers)) {
196
+ const actualHeader = `[mcp_servers.${name}]`;
197
+ if (content.includes(actualHeader)) continue;
198
+ const argsToml = entry.args.map((a) => `"${a}"`).join(", ");
199
+ content += `
200
+ ${actualHeader}
201
+ command = "${entry.command}"
202
+ args = [${argsToml}]
203
+ `;
204
+ added++;
205
+ }
206
+ if (added > 0) {
207
+ const dir = path2.dirname(configPath);
208
+ fs2.mkdirSync(dir, { recursive: true });
209
+ fs2.writeFileSync(configPath, content, "utf-8");
210
+ }
211
+ return added;
212
+ }
213
+ function uninstallCodex(projectDir) {
214
+ let agentsRemoved = 0;
215
+ let skillsRemoved = 0;
216
+ let mcpRemoved = false;
217
+ const claudeAgentsDir = path2.join(projectDir, ".claude", "agents");
218
+ const codexAgentsBase = path2.join(projectDir, ".codex", "agents");
219
+ if (fs2.existsSync(claudeAgentsDir) && fs2.existsSync(codexAgentsBase)) {
220
+ const claudeEntries = fs2.readdirSync(claudeAgentsDir);
221
+ for (const file of claudeEntries) {
222
+ if (!file.endsWith(".md")) continue;
223
+ const agentName = file.replace(/\.md$/, "");
224
+ const codexToml = path2.join(codexAgentsBase, `${agentName}.toml`);
225
+ const codexInstructionsDir = path2.join(codexAgentsBase, agentName);
226
+ if (fs2.existsSync(codexToml)) {
227
+ fs2.unlinkSync(codexToml);
228
+ agentsRemoved++;
229
+ }
230
+ if (fs2.existsSync(codexInstructionsDir)) {
231
+ fs2.rmSync(codexInstructionsDir, { recursive: true, force: true });
232
+ }
233
+ }
234
+ }
235
+ const claudeSkillsDir = path2.join(projectDir, ".claude", "skills");
236
+ const codexSkillsDir = path2.join(projectDir, ".codex", "skills");
237
+ if (fs2.existsSync(claudeSkillsDir) && fs2.existsSync(codexSkillsDir)) {
238
+ const claudeEntries = fs2.readdirSync(claudeSkillsDir, { withFileTypes: true });
239
+ for (const entry of claudeEntries) {
240
+ if (!entry.isDirectory()) continue;
241
+ const codexSkillDir = path2.join(codexSkillsDir, entry.name);
242
+ if (fs2.existsSync(codexSkillDir)) {
243
+ fs2.rmSync(codexSkillDir, { recursive: true, force: true });
244
+ skillsRemoved++;
245
+ }
246
+ }
247
+ }
248
+ const configPath = path2.join(projectDir, ".codex", "config.toml");
249
+ if (fs2.existsSync(configPath)) {
250
+ let content = fs2.readFileSync(configPath, "utf-8");
251
+ const originalLen = content.length;
252
+ for (const name of ["ulpi-codemap", "ulpi-memory"]) {
253
+ const sectionRegex = new RegExp(
254
+ `\\n?\\[mcp_servers\\.${name.replace(/-/g, "\\-")}\\]\\n(?:[^\\[]*?)(?=\\n\\[|$)`,
255
+ "s"
256
+ );
257
+ content = content.replace(sectionRegex, "");
258
+ }
259
+ if (fs2.existsSync(claudeAgentsDir)) {
260
+ const claudeEntries = fs2.readdirSync(claudeAgentsDir);
261
+ for (const file of claudeEntries) {
262
+ if (!file.endsWith(".md")) continue;
263
+ const agentName = file.replace(/\.md$/, "");
264
+ const sectionRegex = new RegExp(
265
+ `\\n?\\[agents\\.${agentName}\\]\\n(?:[^\\[]*?)(?=\\n\\[|$)`,
266
+ "s"
267
+ );
268
+ content = content.replace(sectionRegex, "");
269
+ }
270
+ }
271
+ if (content.length !== originalLen) {
272
+ mcpRemoved = true;
273
+ fs2.writeFileSync(configPath, content.trim() + "\n", "utf-8");
274
+ }
275
+ }
276
+ return { agentsRemoved, skillsRemoved, mcpRemoved };
277
+ }
278
+ function getCodexStatus(projectDir) {
279
+ let convertedAgentCount = 0;
280
+ let convertedSkillCount = 0;
281
+ const claudeAgentsDir = path2.join(projectDir, ".claude", "agents");
282
+ const codexAgentsBase = path2.join(projectDir, ".codex", "agents");
283
+ if (fs2.existsSync(claudeAgentsDir) && fs2.existsSync(codexAgentsBase)) {
284
+ const claudeEntries = fs2.readdirSync(claudeAgentsDir);
285
+ for (const file of claudeEntries) {
286
+ if (!file.endsWith(".md")) continue;
287
+ const agentName = file.replace(/\.md$/, "");
288
+ if (fs2.existsSync(path2.join(codexAgentsBase, `${agentName}.toml`))) {
289
+ convertedAgentCount++;
290
+ }
291
+ }
292
+ }
293
+ const claudeSkillsDir = path2.join(projectDir, ".claude", "skills");
294
+ const codexSkillsDir = path2.join(projectDir, ".codex", "skills");
295
+ if (fs2.existsSync(claudeSkillsDir) && fs2.existsSync(codexSkillsDir)) {
296
+ const claudeEntries = fs2.readdirSync(claudeSkillsDir, { withFileTypes: true });
297
+ for (const entry of claudeEntries) {
298
+ if (!entry.isDirectory()) continue;
299
+ if (fs2.existsSync(path2.join(codexSkillsDir, entry.name, "SKILL.md"))) {
300
+ convertedSkillCount++;
301
+ }
302
+ }
303
+ }
304
+ const configPath = path2.join(projectDir, ".codex", "config.toml");
305
+ let mcpConfigured = false;
306
+ if (fs2.existsSync(configPath)) {
307
+ const content = fs2.readFileSync(configPath, "utf-8");
308
+ mcpConfigured = content.includes("[mcp_servers.ulpi-codemap]") || content.includes("[mcp_servers.ulpi-memory]");
309
+ }
310
+ return { convertedAgentCount, convertedSkillCount, mcpConfigured };
311
+ }
312
+
313
+ export {
314
+ buildMcpServers,
315
+ installKiroHooks,
316
+ installKiroSkills,
317
+ uninstallKiro,
318
+ getKiroStatus,
319
+ installCodexMcpServers,
320
+ uninstallCodex,
321
+ getCodexStatus
322
+ };
@@ -136,9 +136,9 @@ var PlanStatusSchema = external_exports.enum([
136
136
  "executing",
137
137
  "completed"
138
138
  ]);
139
- var CodemapEmbeddingProviderSchema = external_exports.enum(["openai", "ollama", "ulpi"]);
140
- var CodemapEmbeddingConfigSchema = external_exports.object({
141
- provider: CodemapEmbeddingProviderSchema.default("ulpi"),
139
+ var EmbeddingProviderSchema = external_exports.enum(["openai", "ollama", "ulpi"]);
140
+ var EmbeddingConfigSchema = external_exports.object({
141
+ provider: EmbeddingProviderSchema.default("ulpi"),
142
142
  model: external_exports.string().max(100).default("code"),
143
143
  dimensions: external_exports.number().int().positive().max(4096).default(1024),
144
144
  baseUrl: external_exports.string().url().max(200).optional()
@@ -175,13 +175,15 @@ var CodemapHybridConfigSchema = external_exports.object({
175
175
  weights: CodemapHybridWeightsSchema.default({})
176
176
  });
177
177
  var CodemapConfigSchema = external_exports.object({
178
- embedding: CodemapEmbeddingConfigSchema.default({}),
178
+ embedding: EmbeddingConfigSchema.default({}),
179
179
  chunking: CodemapChunkingConfigSchema.default({}),
180
180
  batch: CodemapBatchConfigSchema.default({}),
181
181
  hybrid: CodemapHybridConfigSchema.default({}),
182
182
  deny: external_exports.array(external_exports.string().max(500)).max(200).default(["**/.env*", "**/secrets/**", "**/certs/**"]),
183
183
  maxFileSize: external_exports.number().int().positive().default(1048576),
184
184
  // 1MB
185
+ searchTimeoutMs: external_exports.number().int().positive().default(15e3),
186
+ // Search embed timeout
185
187
  autoExport: external_exports.boolean().default(true),
186
188
  // Export to shadow branch on push / session-end
187
189
  autoImport: external_exports.boolean().default(true)
@@ -256,12 +258,6 @@ var MemoryEntrySchema = external_exports.object({
256
258
  lastAccessedAt: external_exports.string().optional(),
257
259
  supersededBy: external_exports.string().max(64).optional()
258
260
  });
259
- var MemoryEmbeddingConfigSchema = external_exports.object({
260
- provider: external_exports.enum(["openai", "ollama", "ulpi"]).default("ulpi"),
261
- model: external_exports.string().max(100).default("code"),
262
- dimensions: external_exports.number().int().positive().max(4096).default(1024),
263
- baseUrl: external_exports.string().url().max(200).optional()
264
- });
265
261
  var MemoryClassifierConfigSchema = external_exports.object({
266
262
  enabled: external_exports.boolean().default(true),
267
263
  model: external_exports.string().max(100).default("claude-sonnet-4-20250514"),
@@ -294,7 +290,7 @@ var MemoryConfigSchema = external_exports.object({
294
290
  captureMode: CaptureModeSchema.default("continuous"),
295
291
  surfaceOnStart: external_exports.boolean().default(true),
296
292
  surfaceLimit: external_exports.number().int().positive().max(20).default(5),
297
- embedding: MemoryEmbeddingConfigSchema.default({}),
293
+ embedding: EmbeddingConfigSchema.default({ model: "memory" }),
298
294
  classifier: MemoryClassifierConfigSchema.default({}),
299
295
  retention: MemoryRetentionConfigSchema.default({}),
300
296
  ranking: MemoryRankingConfigSchema.default({}),
@@ -328,6 +324,159 @@ var DepgraphConfigSchema = external_exports.object({
328
324
  excludeUnranked: external_exports.boolean().default(false),
329
325
  excludeUnrankedThreshold: external_exports.number().nonnegative().default(1e-4)
330
326
  });
327
+ var TrackerTaskStatusSchema = external_exports.enum([
328
+ "open",
329
+ "in_progress",
330
+ "done",
331
+ "failed",
332
+ "skipped"
333
+ ]);
334
+ var TaskPrioritySchema = external_exports.union([
335
+ external_exports.literal(0),
336
+ external_exports.literal(1),
337
+ external_exports.literal(2),
338
+ external_exports.literal(3),
339
+ external_exports.literal(4)
340
+ ]);
341
+ var TrackerTaskSchema = external_exports.object({
342
+ id: external_exports.string(),
343
+ title: external_exports.string(),
344
+ status: TrackerTaskStatusSchema,
345
+ priority: TaskPrioritySchema,
346
+ description: external_exports.string().optional(),
347
+ labels: external_exports.array(external_exports.string()).optional(),
348
+ type: external_exports.string().optional(),
349
+ parentId: external_exports.string().optional(),
350
+ dependsOn: external_exports.array(external_exports.string()).optional(),
351
+ blocks: external_exports.array(external_exports.string()).optional(),
352
+ assignee: external_exports.string().optional(),
353
+ createdAt: external_exports.string().optional(),
354
+ updatedAt: external_exports.string().optional(),
355
+ metadata: external_exports.record(external_exports.unknown()).optional()
356
+ });
357
+ var TaskFilterSchema = external_exports.object({
358
+ status: external_exports.union([TrackerTaskStatusSchema, external_exports.array(TrackerTaskStatusSchema)]).optional(),
359
+ priority: external_exports.union([TaskPrioritySchema, external_exports.array(TaskPrioritySchema)]).optional(),
360
+ labels: external_exports.array(external_exports.string()).optional(),
361
+ assignee: external_exports.string().optional(),
362
+ type: external_exports.union([external_exports.string(), external_exports.array(external_exports.string())]).optional(),
363
+ parentId: external_exports.string().optional(),
364
+ ready: external_exports.boolean().optional(),
365
+ limit: external_exports.number().int().positive().optional(),
366
+ offset: external_exports.number().int().nonnegative().optional(),
367
+ excludeIds: external_exports.array(external_exports.string()).optional()
368
+ });
369
+ var TaskCompletionResultSchema = external_exports.object({
370
+ taskId: external_exports.string(),
371
+ status: TrackerTaskStatusSchema,
372
+ summary: external_exports.string(),
373
+ filesChanged: external_exports.array(external_exports.string()).optional(),
374
+ commitSha: external_exports.string().optional()
375
+ });
376
+ var AgentPluginMetaSchema = external_exports.object({
377
+ name: external_exports.string(),
378
+ version: external_exports.string(),
379
+ description: external_exports.string(),
380
+ cliCommand: external_exports.string(),
381
+ supportsHooks: external_exports.boolean(),
382
+ supportsSkills: external_exports.boolean(),
383
+ supportsStreaming: external_exports.boolean(),
384
+ supportsSubagentTracing: external_exports.boolean()
385
+ });
386
+ var ExecuteOptionsSchema = external_exports.object({
387
+ prompt: external_exports.string(),
388
+ workingDir: external_exports.string(),
389
+ timeout: external_exports.number().positive().optional(),
390
+ env: external_exports.record(external_exports.string()).optional(),
391
+ sandboxConfig: external_exports.record(external_exports.unknown()).optional()
392
+ });
393
+ var ExecuteResultSchema = external_exports.object({
394
+ exitCode: external_exports.number(),
395
+ stdout: external_exports.string(),
396
+ stderr: external_exports.string(),
397
+ duration: external_exports.number(),
398
+ tokenUsage: external_exports.object({
399
+ input: external_exports.number().optional(),
400
+ output: external_exports.number().optional()
401
+ }).optional()
402
+ });
403
+ var TrackerPluginMetaSchema = external_exports.object({
404
+ id: external_exports.string(),
405
+ name: external_exports.string(),
406
+ description: external_exports.string(),
407
+ version: external_exports.string(),
408
+ supportsBidirectionalSync: external_exports.boolean(),
409
+ supportsHierarchy: external_exports.boolean(),
410
+ supportsDependencies: external_exports.boolean()
411
+ });
412
+ var SyncResultSchema = external_exports.object({
413
+ success: external_exports.boolean(),
414
+ message: external_exports.string(),
415
+ added: external_exports.number().optional(),
416
+ updated: external_exports.number().optional(),
417
+ removed: external_exports.number().optional(),
418
+ error: external_exports.string().optional(),
419
+ syncedAt: external_exports.string()
420
+ });
421
+ var McpConfigFieldSchema = external_exports.object({
422
+ type: external_exports.enum(["string", "number", "boolean"]).default("string"),
423
+ format: external_exports.enum(["env-ref", "plain"]).optional(),
424
+ required: external_exports.boolean().default(false),
425
+ sensitive: external_exports.boolean().default(false),
426
+ description: external_exports.string().optional(),
427
+ default: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]).optional()
428
+ });
429
+ var McpTransportSchema = external_exports.enum(["stdio", "sse", "http"]).default("stdio");
430
+ var McpCategorySchema = external_exports.enum([
431
+ "database",
432
+ "api",
433
+ "devtools",
434
+ "comms",
435
+ "analytics",
436
+ "cloud",
437
+ "ai",
438
+ "search",
439
+ "monitoring",
440
+ "project-management",
441
+ "design",
442
+ "custom"
443
+ ]).default("custom");
444
+ var McpSourceSchema = external_exports.enum(["catalog", "manual"]).default("manual");
445
+ var McpDetectSignalsSchema = external_exports.object({
446
+ dependencies: external_exports.array(external_exports.string()).default([]),
447
+ env_vars: external_exports.array(external_exports.string()).default([]),
448
+ docker_services: external_exports.array(external_exports.string()).default([]),
449
+ config_files: external_exports.array(external_exports.string()).default([])
450
+ }).partial();
451
+ var McpDefinitionSchema = external_exports.object({
452
+ name: external_exports.string().min(1).max(128),
453
+ display_name: external_exports.string().max(256).optional(),
454
+ description: external_exports.string().max(1024).optional(),
455
+ command: external_exports.string().min(1).max(256),
456
+ args: external_exports.array(external_exports.string()).default([]),
457
+ transport: McpTransportSchema,
458
+ category: McpCategorySchema,
459
+ config_schema: external_exports.record(external_exports.string(), McpConfigFieldSchema).optional(),
460
+ tags: external_exports.array(external_exports.string()).default([]),
461
+ source: McpSourceSchema,
462
+ added_at: external_exports.string().optional()
463
+ });
464
+ var McpLibrarySchema = external_exports.object({
465
+ mcps: external_exports.record(external_exports.string(), McpDefinitionSchema).default({})
466
+ });
467
+ var McpActivationSchema = external_exports.object({
468
+ enabled: external_exports.boolean().default(true),
469
+ config: external_exports.record(external_exports.string(), external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()])).default({})
470
+ });
471
+ var McpRepoConfigSchema = external_exports.object({
472
+ mcps: external_exports.record(external_exports.string(), McpActivationSchema).default({})
473
+ });
474
+ var McpCatalogEntrySchema = McpDefinitionSchema.extend({
475
+ detect_signals: McpDetectSignalsSchema.optional()
476
+ });
477
+ var McpCatalogSchema = external_exports.object({
478
+ catalog: external_exports.array(McpCatalogEntrySchema).default([])
479
+ });
331
480
 
332
481
  export {
333
482
  BlockTypeSchema,
@@ -349,8 +498,8 @@ export {
349
498
  ReviewDecisionSchema,
350
499
  RepoInfoSchema,
351
500
  PlanStatusSchema,
352
- CodemapEmbeddingProviderSchema,
353
- CodemapEmbeddingConfigSchema,
501
+ EmbeddingProviderSchema,
502
+ EmbeddingConfigSchema,
354
503
  CodemapChunkingStrategySchema,
355
504
  CodemapChunkingConfigSchema,
356
505
  CodemapBatchConfigSchema,
@@ -363,7 +512,6 @@ export {
363
512
  CaptureModeSchema,
364
513
  MemorySourceSchema,
365
514
  MemoryEntrySchema,
366
- MemoryEmbeddingConfigSchema,
367
515
  MemoryClassifierConfigSchema,
368
516
  MemoryRetentionConfigSchema,
369
517
  MemoryRankingConfigSchema,
@@ -371,5 +519,26 @@ export {
371
519
  ClassificationResultSchema,
372
520
  DepgraphPersonalizationConfigSchema,
373
521
  DepgraphPagerankConfigSchema,
374
- DepgraphConfigSchema
522
+ DepgraphConfigSchema,
523
+ TrackerTaskStatusSchema,
524
+ TaskPrioritySchema,
525
+ TrackerTaskSchema,
526
+ TaskFilterSchema,
527
+ TaskCompletionResultSchema,
528
+ AgentPluginMetaSchema,
529
+ ExecuteOptionsSchema,
530
+ ExecuteResultSchema,
531
+ TrackerPluginMetaSchema,
532
+ SyncResultSchema,
533
+ McpConfigFieldSchema,
534
+ McpTransportSchema,
535
+ McpCategorySchema,
536
+ McpSourceSchema,
537
+ McpDetectSignalsSchema,
538
+ McpDefinitionSchema,
539
+ McpLibrarySchema,
540
+ McpActivationSchema,
541
+ McpRepoConfigSchema,
542
+ McpCatalogEntrySchema,
543
+ McpCatalogSchema
375
544
  };