@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.
- package/LICENSE +21 -0
- package/dist/{auth-PN7TMQHV-2W4ICG64.js → auth-FWM7MM4Q-VZC3U2XZ.js} +1 -1
- package/dist/{auth-BFFBUJUC.js → auth-HDK7ECJL.js} +2 -1
- package/dist/{chunk-RJIRWQJD.js → chunk-3BCW6ABU.js} +402 -142
- package/dist/{chunk-L3PWNHSA.js → chunk-3WB5CXH4.js} +180 -5
- package/dist/{chunk-K4OVPFY2.js → chunk-4UCJIAOU.js} +2 -2
- package/dist/chunk-4XTHZVDS.js +109 -0
- package/dist/chunk-4ZPOZULQ.js +6522 -0
- package/dist/{chunk-SIAQVRKG.js → chunk-5MI5GIXM.js} +48 -2
- package/dist/{chunk-KLEASXUR.js → chunk-6ZL6NXMV.js} +1 -1
- package/dist/{chunk-AV5RB3N2.js → chunk-76D3BYJD.js} +48 -0
- package/dist/{chunk-DOIKS6C5.js → chunk-AWOSRA5F.js} +1 -1
- package/dist/{chunk-UCMT5OKP.js → chunk-BFEKZZHM.js} +274 -57
- package/dist/chunk-C7CLUQI6.js +1286 -0
- package/dist/{chunk-ELTGWMDE.js → chunk-E3B5NROU.js} +7 -7
- package/dist/chunk-EJ7TW77N.js +1418 -0
- package/dist/{chunk-6OURRFP7.js → chunk-IV6MWETF.js} +383 -168
- package/dist/chunk-IZPJHSPX.js +1478 -0
- package/dist/chunk-JLHNLM3C.js +228 -0
- package/dist/{chunk-P2RESJRN.js → chunk-KYYI23AQ.js} +2 -2
- package/dist/chunk-S6ANCSYO.js +1271 -0
- package/dist/chunk-SEU7WWNQ.js +1251 -0
- package/dist/chunk-SNQ7NAIS.js +453 -0
- package/dist/{ulpi-RMMCUAGP-EWYUE7RU.js → chunk-TSLDGT5O.js} +73 -35
- package/dist/{chunk-EIWYSP3A.js → chunk-UXHCHOWQ.js} +83 -62
- package/dist/chunk-V2H5D6Y3.js +146 -0
- package/dist/{chunk-5SCG7UYM.js → chunk-VVEDXI7E.js} +1 -1
- package/dist/chunk-VXH5Y4FO.js +6761 -0
- package/dist/chunk-WED4LM5N.js +322 -0
- package/dist/{chunk-74WVVWJ4.js → chunk-YOKL7RB5.js} +184 -15
- package/dist/chunk-Z53CAR7G.js +298 -0
- package/dist/{ci-JQ56YIKC.js → ci-X3U2W4HC.js} +124 -26
- package/dist/cloud-2F3NLVHN.js +274 -0
- package/dist/{codemap-HMYBXJL2.js → codemap-XNGMAF3F.js} +37 -37
- package/dist/codex-MB5YTMRT.js +132 -0
- package/dist/{config-YYWEN7U2.js → config-OOELBYTH.js} +1 -1
- package/dist/dist-2BJYR5EI.js +59 -0
- package/dist/dist-3EIQTZHT.js +1380 -0
- package/dist/{dist-WAMAQVPK.js → dist-4U5L2X2C.js} +2 -2
- package/dist/{dist-4XTJ6HLM.js → dist-54KAMNLO.js} +16 -15
- package/dist/dist-6M4MZWZW.js +58 -0
- package/dist/dist-6X576SU2.js +27 -0
- package/dist/dist-7QOEYLFX.js +103 -0
- package/dist/dist-AYBGHEDY.js +2541 -0
- package/dist/dist-EK45QNEM.js +45 -0
- package/dist/{dist-U7ZIJMZD.js → dist-FKFEJRPX.js} +16 -15
- package/dist/dist-GTEJUBBT.js +66 -0
- package/dist/dist-HA74OKJZ.js +40 -0
- package/dist/{dist-XG2GG5SD.js → dist-HU5RZAON.js} +14 -2
- package/dist/dist-IYE3OBRB.js +374 -0
- package/dist/{dist-7WLLPWWB.js → dist-JLU26AB6.js} +12 -9
- package/dist/{dist-6G7JC2RA.js → dist-KUCI6JFE.js} +49 -9
- package/dist/dist-NUEMFZFL.js +33 -0
- package/dist/{dist-GWGTAHNM.js → dist-NUXMDXZ3.js} +31 -3
- package/dist/{dist-5R4RYNQO.js → dist-YCNWHSLN.js} +15 -5
- package/dist/{dist-6MFVWIFF.js → dist-YFFG2ZD6.js} +9 -16
- package/dist/dist-ZG4OKCSR.js +15 -0
- package/dist/doctor-SI4LLLDZ.js +345 -0
- package/dist/{export-import-4A5MWLIA.js → export-import-JFQH4KSJ.js} +1 -1
- package/dist/{history-RNUWO4JZ.js → history-5NE46ZAH.js} +7 -7
- package/dist/{hooks-installer-K2JXEBNN.js → hooks-installer-UN5JZLDQ.js} +2 -2
- package/dist/index.js +394 -618
- package/dist/{init-NQWFZPKO.js → init-5FK3VKRT.js} +76 -10
- package/dist/job-HIDMAFW2.js +376 -0
- package/dist/jobs.memory-PLMMSFHB-VBECCTHN.js +33 -0
- package/dist/kiro-VMUHDFGK.js +153 -0
- package/dist/{launchd-OYXUAVW6.js → launchd-6AWT54HR.js} +9 -17
- package/dist/mcp-PDUD7SGP.js +249 -0
- package/dist/mcp-installer-PQU3XOGO.js +259 -0
- package/dist/mcp-setup-OA7IB3H3.js +263 -0
- package/dist/{memory-D6ZFFCI2.js → memory-ZNAEAK3B.js} +17 -17
- package/dist/{ollama-3XCUZMZT-FYKHW4TZ.js → ollama-3XCUZMZT-4JMH6B7P.js} +1 -1
- package/dist/{openai-E7G2YAHU-IG33BFYF.js → openai-E7G2YAHU-T3HMBPH7.js} +2 -2
- package/dist/portal-JYWVHXDU.js +210 -0
- package/dist/prd-Q4J5NVAR.js +408 -0
- package/dist/repos-WWZXNN3P.js +271 -0
- package/dist/review-integration-5WHEJU2A.js +14 -0
- package/dist/{rules-3OFGWHP4.js → rules-Y4VSOY5Y.js} +3 -3
- package/dist/run-VPNXEIBY.js +687 -0
- package/dist/server-COL4AXKU-P7S7NNF6.js +11 -0
- package/dist/server-KKSETHDV-XSSLEENT.js +20 -0
- package/dist/{skills-GY2CTPWN.js → skills-QEYU2N27.js} +4 -2
- package/dist/start-JYOEL7AJ.js +303 -0
- package/dist/{status-SE43TIFJ.js → status-BHQYYGAL.js} +2 -2
- package/dist/{templates-O2XDKB5R.js → templates-CBRUJ66V.js} +6 -5
- package/dist/tui-DP7736EX.js +61 -0
- package/dist/ulpi-5EN6JCAS-LFE3WSL4.js +10 -0
- package/dist/{uninstall-KWGSGZTI.js → uninstall-ICUV6DDV.js} +3 -3
- package/dist/{update-QYZA4D23.js → update-7ZMAYRBH.js} +3 -3
- package/dist/{version-checker-MVB74DEX.js → version-checker-4ZFMZA7Y.js} +2 -2
- package/package.json +39 -31
- package/dist/chunk-26LLDX2T.js +0 -553
- package/dist/chunk-DDRLI6JU.js +0 -331
- package/dist/chunk-IFATANHR.js +0 -453
- package/dist/chunk-JWUUVXIV.js +0 -13694
- package/dist/chunk-LD52XG3X.js +0 -4273
- package/dist/chunk-MIAQVCFW.js +0 -39
- package/dist/chunk-YYZOFYS6.js +0 -415
- package/dist/dist-XD4YI27T.js +0 -26
- package/dist/mcp-installer-TOYDP77X.js +0 -124
- package/dist/projects-COUJP4ZC.js +0 -271
- package/dist/review-KMGP2S25.js +0 -152
- package/dist/server-USLHY6GH-F4JSXCWA.js +0 -18
- package/dist/server-X5P6WH2M-ULZF5WHZ.js +0 -11
- package/dist/skills/ulpi-generate-guardian/SKILL.md +0 -750
- package/dist/skills/ulpi-generate-guardian/references/framework-rules.md +0 -849
- package/dist/skills/ulpi-generate-guardian/references/language-rules.md +0 -591
- package/dist/ui-4SM2SUI6.js +0 -167
- package/dist/ui.html +0 -698
package/dist/ui-4SM2SUI6.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createApiServer,
|
|
3
|
-
setUiServerPort
|
|
4
|
-
} from "./chunk-LD52XG3X.js";
|
|
5
|
-
import {
|
|
6
|
-
attachWebSocket
|
|
7
|
-
} from "./chunk-ELTGWMDE.js";
|
|
8
|
-
import {
|
|
9
|
-
generateApiSecret,
|
|
10
|
-
setApiSecret
|
|
11
|
-
} from "./chunk-MIAQVCFW.js";
|
|
12
|
-
import "./chunk-YYZOFYS6.js";
|
|
13
|
-
import "./chunk-RJIRWQJD.js";
|
|
14
|
-
import "./chunk-EIWYSP3A.js";
|
|
15
|
-
import "./chunk-SIAQVRKG.js";
|
|
16
|
-
import "./chunk-IFATANHR.js";
|
|
17
|
-
import "./chunk-RSFJ6QSR.js";
|
|
18
|
-
import "./chunk-L3PWNHSA.js";
|
|
19
|
-
import "./chunk-26LLDX2T.js";
|
|
20
|
-
import "./chunk-KIKPIH6N.js";
|
|
21
|
-
import {
|
|
22
|
-
API_LOCK_FILE,
|
|
23
|
-
getApiHost,
|
|
24
|
-
getApiPort
|
|
25
|
-
} from "./chunk-DDRLI6JU.js";
|
|
26
|
-
import "./chunk-4VNS5WPM.js";
|
|
27
|
-
|
|
28
|
-
// src/commands/ui.ts
|
|
29
|
-
import chalk from "chalk";
|
|
30
|
-
|
|
31
|
-
// ../api/dist/index.js
|
|
32
|
-
import * as fs from "fs";
|
|
33
|
-
import * as path from "path";
|
|
34
|
-
function writeApiLockFile(port, secret) {
|
|
35
|
-
try {
|
|
36
|
-
const dir = path.dirname(API_LOCK_FILE);
|
|
37
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
38
|
-
const lockData = { port, pid: process.pid, startedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
39
|
-
if (secret) lockData.secret = secret;
|
|
40
|
-
fs.writeFileSync(API_LOCK_FILE, JSON.stringify(lockData), { encoding: "utf-8", mode: 384 });
|
|
41
|
-
} catch {
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function removeApiLockFile() {
|
|
45
|
-
try {
|
|
46
|
-
fs.unlinkSync(API_LOCK_FILE);
|
|
47
|
-
} catch {
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function main() {
|
|
51
|
-
const { getApiPort: getApiPort2, getApiHost: getApiHost2 } = await import("./dist-GWGTAHNM.js");
|
|
52
|
-
const { generateApiSecret: generateApiSecret2, setApiSecret: setApiSecret2 } = await import("./auth-PN7TMQHV-2W4ICG64.js");
|
|
53
|
-
const port = getApiPort2();
|
|
54
|
-
const host = getApiHost2();
|
|
55
|
-
const projectDir = process.argv[2] || process.cwd();
|
|
56
|
-
const secret = generateApiSecret2();
|
|
57
|
-
setApiSecret2(secret);
|
|
58
|
-
const { createApiServer: createApiServer2 } = await import("./server-USLHY6GH-F4JSXCWA.js");
|
|
59
|
-
const { attachWebSocket: attachWebSocket2 } = await import("./server-X5P6WH2M-ULZF5WHZ.js");
|
|
60
|
-
const server = createApiServer2(projectDir);
|
|
61
|
-
const wss = attachWebSocket2(server, projectDir);
|
|
62
|
-
const shutdown = () => {
|
|
63
|
-
console.log("\nShutting down ULPI API server...");
|
|
64
|
-
removeApiLockFile();
|
|
65
|
-
for (const client of wss.clients) {
|
|
66
|
-
client.close();
|
|
67
|
-
}
|
|
68
|
-
wss.close();
|
|
69
|
-
server.close(() => {
|
|
70
|
-
console.log("Server stopped.");
|
|
71
|
-
process.exit(0);
|
|
72
|
-
});
|
|
73
|
-
setTimeout(() => process.exit(0), 5e3).unref();
|
|
74
|
-
};
|
|
75
|
-
process.on("SIGTERM", shutdown);
|
|
76
|
-
process.on("SIGINT", shutdown);
|
|
77
|
-
server.listen(port, host, () => {
|
|
78
|
-
writeApiLockFile(port, secret);
|
|
79
|
-
console.log(`ULPI API server running at http://${host}:${port}`);
|
|
80
|
-
console.log(` WebSocket: ws://${host}:${port}/ws`);
|
|
81
|
-
console.log(` API: http://${host}:${port}/api/health`);
|
|
82
|
-
console.log(` Project: ${projectDir}`);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
var isDirectRun = process.argv[1] && (process.argv[1].endsWith("index.js") || process.argv[1].endsWith("index.mjs"));
|
|
86
|
-
if (isDirectRun) {
|
|
87
|
-
main().catch((err) => {
|
|
88
|
-
console.error(
|
|
89
|
-
"Fatal:",
|
|
90
|
-
err instanceof Error ? err.message : String(err)
|
|
91
|
-
);
|
|
92
|
-
process.exit(1);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// src/commands/ui.ts
|
|
97
|
-
async function runUI(args, projectDir) {
|
|
98
|
-
const portIndex = args.indexOf("--port");
|
|
99
|
-
let port = getApiPort();
|
|
100
|
-
if (portIndex !== -1 && args[portIndex + 1]) {
|
|
101
|
-
const parsed = parseInt(args[portIndex + 1], 10);
|
|
102
|
-
if (isNaN(parsed) || parsed < 1 || parsed > 65535) {
|
|
103
|
-
console.log(chalk.red("Invalid port number. Must be between 1 and 65535."));
|
|
104
|
-
process.exit(1);
|
|
105
|
-
}
|
|
106
|
-
port = parsed;
|
|
107
|
-
}
|
|
108
|
-
const host = getApiHost();
|
|
109
|
-
try {
|
|
110
|
-
const secret = generateApiSecret();
|
|
111
|
-
setApiSecret(secret);
|
|
112
|
-
setUiServerPort(port);
|
|
113
|
-
const server = createApiServer(projectDir);
|
|
114
|
-
const wss = attachWebSocket(server, projectDir);
|
|
115
|
-
const shutdown = () => {
|
|
116
|
-
console.log("\nShutting down ULPI server...");
|
|
117
|
-
removeApiLockFile();
|
|
118
|
-
for (const client of wss.clients) {
|
|
119
|
-
client.close();
|
|
120
|
-
}
|
|
121
|
-
wss.close();
|
|
122
|
-
server.close(() => {
|
|
123
|
-
console.log("Server stopped.");
|
|
124
|
-
process.exit(0);
|
|
125
|
-
});
|
|
126
|
-
setTimeout(() => process.exit(0), 5e3).unref();
|
|
127
|
-
};
|
|
128
|
-
process.on("SIGTERM", shutdown);
|
|
129
|
-
process.on("SIGINT", shutdown);
|
|
130
|
-
await new Promise((resolve, reject) => {
|
|
131
|
-
server.on("error", (err) => {
|
|
132
|
-
if (err.code === "EADDRINUSE") {
|
|
133
|
-
console.error(
|
|
134
|
-
`Port ${port} is already in use. Try a different port with --port.`
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
reject(err);
|
|
138
|
-
});
|
|
139
|
-
server.listen(port, host, () => {
|
|
140
|
-
writeApiLockFile(port, secret);
|
|
141
|
-
console.log(`
|
|
142
|
-
ULPI server running at:
|
|
143
|
-
`);
|
|
144
|
-
console.log(` http://${host}:${port}
|
|
145
|
-
`);
|
|
146
|
-
console.log(` WebSocket: ws://${host}:${port}/ws`);
|
|
147
|
-
console.log(` API: http://${host}:${port}/api/rules
|
|
148
|
-
`);
|
|
149
|
-
console.log(`Project dir: ${projectDir}
|
|
150
|
-
`);
|
|
151
|
-
console.log(`Press Ctrl+C to stop.
|
|
152
|
-
`);
|
|
153
|
-
resolve();
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
} catch (err) {
|
|
157
|
-
console.error(
|
|
158
|
-
chalk.red(
|
|
159
|
-
`Failed to start UI server: ${err instanceof Error ? err.message : String(err)}`
|
|
160
|
-
)
|
|
161
|
-
);
|
|
162
|
-
process.exit(1);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
export {
|
|
166
|
-
runUI
|
|
167
|
-
};
|