skillspp 0.2.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/background-executor.js +5091 -0
- package/dist/background-executor.js.map +7 -0
- package/dist/background-worker.js +59 -0
- package/dist/background-worker.js.map +7 -0
- package/dist/cli.js +854 -909
- package/dist/cli.js.map +4 -4
- package/package.json +8 -2
- package/src/assets/ascii/logo/skillspp-logo.session.json +14630 -0
- package/src/assets/ascii/logo/skillspp-logo.txt +9 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// ../../packages/platform-node/src/background-worker.ts
|
|
2
|
+
function sendMessage(message) {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
if (!process.send) {
|
|
5
|
+
reject(new Error("Background worker requires IPC"));
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
process.send(message, (error) => {
|
|
9
|
+
if (error) {
|
|
10
|
+
reject(error);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
resolve();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async function sendProgress(label) {
|
|
18
|
+
await sendMessage({ type: "progress", label });
|
|
19
|
+
}
|
|
20
|
+
async function sendError(error) {
|
|
21
|
+
const code = error && typeof error === "object" && "code" in error ? String(error.code) : void 0;
|
|
22
|
+
try {
|
|
23
|
+
await sendMessage({
|
|
24
|
+
type: "error",
|
|
25
|
+
message: error instanceof Error ? error.message : String(error),
|
|
26
|
+
stack: error instanceof Error ? error.stack : void 0,
|
|
27
|
+
code
|
|
28
|
+
});
|
|
29
|
+
} finally {
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function loadExecutor() {
|
|
34
|
+
const modulePath = process.env.SKILLSPP_BG_EXECUTOR;
|
|
35
|
+
if (!modulePath) {
|
|
36
|
+
throw new Error("Missing SKILLSPP_BG_EXECUTOR for background worker");
|
|
37
|
+
}
|
|
38
|
+
const loaded = await import(modulePath);
|
|
39
|
+
if (!loaded.executeBackgroundTask) {
|
|
40
|
+
throw new Error(`Executor module does not export executeBackgroundTask: ${modulePath}`);
|
|
41
|
+
}
|
|
42
|
+
return loaded;
|
|
43
|
+
}
|
|
44
|
+
process.once("message", async (message) => {
|
|
45
|
+
try {
|
|
46
|
+
const executor = await loadExecutor();
|
|
47
|
+
const maybeRequest = message;
|
|
48
|
+
const cwd = maybeRequest.payload?.cwd;
|
|
49
|
+
if (typeof cwd === "string" && cwd.length > 0) {
|
|
50
|
+
process.chdir(cwd);
|
|
51
|
+
}
|
|
52
|
+
const result = await executor.executeBackgroundTask(message, sendProgress);
|
|
53
|
+
await sendMessage({ type: "result", result });
|
|
54
|
+
process.exit(0);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
await sendError(error);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=background-worker.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/platform-node/src/background-worker.ts"],
|
|
4
|
+
"sourcesContent": ["type TaskProgressEvent = {\n type: \"progress\";\n label: string;\n};\n\ntype TaskResultEvent = {\n type: \"result\";\n result: unknown;\n};\n\ntype TaskErrorEvent = {\n type: \"error\";\n message: string;\n stack?: string;\n code?: string;\n};\n\ntype TaskEvent = TaskProgressEvent | TaskResultEvent | TaskErrorEvent;\n\ntype TaskExecutorModule = {\n executeBackgroundTask: (\n request: unknown,\n emitProgress: (label: string) => Promise<void> | void,\n ) => Promise<unknown>;\n};\n\nfunction sendMessage(message: TaskEvent): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!process.send) {\n reject(new Error(\"Background worker requires IPC\"));\n return;\n }\n process.send(message, (error) => {\n if (error) {\n reject(error);\n return;\n }\n resolve();\n });\n });\n}\n\nasync function sendProgress(label: string): Promise<void> {\n await sendMessage({ type: \"progress\", label });\n}\n\nasync function sendError(error: unknown): Promise<void> {\n const code =\n error && typeof error === \"object\" && \"code\" in error\n ? String((error as { code?: unknown }).code)\n : undefined;\n\n try {\n await sendMessage({\n type: \"error\",\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n code,\n });\n } finally {\n process.exit(1);\n }\n}\n\nasync function loadExecutor(): Promise<TaskExecutorModule> {\n const modulePath = process.env.SKILLSPP_BG_EXECUTOR;\n if (!modulePath) {\n throw new Error(\"Missing SKILLSPP_BG_EXECUTOR for background worker\");\n }\n\n const loaded = (await import(modulePath)) as Partial<TaskExecutorModule>;\n if (!loaded.executeBackgroundTask) {\n throw new Error(`Executor module does not export executeBackgroundTask: ${modulePath}`);\n }\n\n return loaded as TaskExecutorModule;\n}\n\nprocess.once(\"message\", async (message: unknown) => {\n try {\n const executor = await loadExecutor();\n\n const maybeRequest = message as { payload?: { cwd?: unknown } };\n const cwd = maybeRequest.payload?.cwd;\n if (typeof cwd === \"string\" && cwd.length > 0) {\n process.chdir(cwd);\n }\n\n const result = await executor.executeBackgroundTask(message, sendProgress);\n await sendMessage({ type: \"result\", result });\n process.exit(0);\n } catch (error) {\n await sendError(error);\n }\n});\n"],
|
|
5
|
+
"mappings": ";AA0BA,SAAS,YAAY,SAAmC;AACtD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,QAAI,CAAC,QAAQ,MAAM;AACjB,aAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD;AAAA,IACF;AACA,YAAQ,KAAK,SAAS,CAAC,UAAU;AAC/B,UAAI,OAAO;AACT,eAAO,KAAK;AACZ;AAAA,MACF;AACA,cAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;AAEA,eAAe,aAAa,OAA8B;AACxD,QAAM,YAAY,EAAE,MAAM,YAAY,MAAM,CAAC;AAC/C;AAEA,eAAe,UAAU,OAA+B;AACtD,QAAM,OACJ,SAAS,OAAO,UAAU,YAAY,UAAU,QAC5C,OAAQ,MAA6B,IAAI,IACzC;AAEN,MAAI;AACF,UAAM,YAAY;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,OAAO,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,MAC9C;AAAA,IACF,CAAC;AAAA,EACH,UAAE;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,eAAe,eAA4C;AACzD,QAAM,aAAa,QAAQ,IAAI;AAC/B,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AAEA,QAAM,SAAU,MAAM,OAAO;AAC7B,MAAI,CAAC,OAAO,uBAAuB;AACjC,UAAM,IAAI,MAAM,0DAA0D,UAAU,EAAE;AAAA,EACxF;AAEA,SAAO;AACT;AAEA,QAAQ,KAAK,WAAW,OAAO,YAAqB;AAClD,MAAI;AACF,UAAM,WAAW,MAAM,aAAa;AAEpC,UAAM,eAAe;AACrB,UAAM,MAAM,aAAa,SAAS;AAClC,QAAI,OAAO,QAAQ,YAAY,IAAI,SAAS,GAAG;AAC7C,cAAQ,MAAM,GAAG;AAAA,IACnB;AAEA,UAAM,SAAS,MAAM,SAAS,sBAAsB,SAAS,YAAY;AACzE,UAAM,YAAY,EAAE,MAAM,UAAU,OAAO,CAAC;AAC5C,YAAQ,KAAK,CAAC;AAAA,EAChB,SAAS,OAAO;AACd,UAAM,UAAU,KAAK;AAAA,EACvB;AACF,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|