@tomsun28/pizza 0.0.5 → 0.0.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/dist/main.js +60 -8
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { InteractiveMode, SessionManager, createAgentSessionRuntime, createAgentSessionServices, createAgentSessionFromServices, getAgentDir, } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
import { InteractiveMode, SessionManager, createAgentSessionRuntime, createAgentSessionServices, createAgentSessionFromServices, getAgentDir, runPrintMode, } from "@mariozechner/pi-coding-agent";
|
|
3
3
|
import { getModel } from "@mariozechner/pi-ai";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { join, dirname } from "node:path";
|
|
@@ -25,17 +25,36 @@ function printBanner() {
|
|
|
25
25
|
console.log(d + " /cli-mode /help Ctrl+P: model Ctrl+T: think Ctrl+C: stop" + r);
|
|
26
26
|
console.log();
|
|
27
27
|
}
|
|
28
|
-
// ─── CLI arg parsing ──────────────────────────────────────────────────────────
|
|
29
28
|
function parseArgs() {
|
|
30
29
|
const args = process.argv.slice(2);
|
|
31
30
|
const result = {};
|
|
32
31
|
for (let i = 0; i < args.length; i++) {
|
|
33
|
-
if ((args[i] === "--provider" || args[i] === "-p") && args[i + 1]) {
|
|
32
|
+
if ((args[i] === "--provider" || args[i] === "-p") && args[i + 1] && !args[i + 1].startsWith("-")) {
|
|
34
33
|
result.provider = args[++i];
|
|
35
34
|
}
|
|
36
35
|
else if ((args[i] === "--model" || args[i] === "-m") && args[i + 1]) {
|
|
37
36
|
result.model = args[++i];
|
|
38
37
|
}
|
|
38
|
+
else if (args[i] === "--mode" && args[i + 1]) {
|
|
39
|
+
const m = args[++i];
|
|
40
|
+
if (m === "json" || m === "text")
|
|
41
|
+
result.mode = m;
|
|
42
|
+
}
|
|
43
|
+
else if (args[i] === "-p" || args[i] === "--print") {
|
|
44
|
+
result.print = true;
|
|
45
|
+
}
|
|
46
|
+
else if (args[i] === "--no-session") {
|
|
47
|
+
result.noSession = true;
|
|
48
|
+
}
|
|
49
|
+
else if (args[i] === "--no-skills") {
|
|
50
|
+
result.noSkills = true;
|
|
51
|
+
}
|
|
52
|
+
else if (args[i] === "--no-extensions") {
|
|
53
|
+
result.noExtensions = true;
|
|
54
|
+
}
|
|
55
|
+
else if (args[i] === "--no-prompt-templates") {
|
|
56
|
+
result.noPromptTemplates = true;
|
|
57
|
+
}
|
|
39
58
|
else if (args[i] === "--help" || args[i] === "-h") {
|
|
40
59
|
printHelp();
|
|
41
60
|
process.exit(0);
|
|
@@ -54,25 +73,49 @@ function printHelp() {
|
|
|
54
73
|
pizza [options] [message]
|
|
55
74
|
|
|
56
75
|
OPTIONS
|
|
57
|
-
|
|
58
|
-
-m, --model <id>
|
|
59
|
-
|
|
76
|
+
--provider <name> LLM provider (default: from pizza settings)
|
|
77
|
+
-m, --model <id> Model ID (default: from pizza settings)
|
|
78
|
+
--mode <text|json> Output mode: text or JSON event stream
|
|
79
|
+
-p, --print Print mode (non-interactive, single-shot)
|
|
80
|
+
--no-session Disable session persistence
|
|
81
|
+
--no-skills Disable skills
|
|
82
|
+
--no-extensions Disable extensions
|
|
83
|
+
--no-prompt-templates Disable prompt templates
|
|
84
|
+
-h, --help Show this help
|
|
60
85
|
|
|
61
86
|
Powered by pi coding agent. Uses pi's TUI, session management, and extension system.
|
|
62
87
|
[CLI] tag mode is active by default. Use /pizza-mode inside the session to toggle it.
|
|
63
88
|
`);
|
|
64
89
|
}
|
|
65
90
|
// ─── Main ─────────────────────────────────────────────────────────────────────
|
|
91
|
+
async function readPipedStdin() {
|
|
92
|
+
if (process.stdin.isTTY)
|
|
93
|
+
return undefined;
|
|
94
|
+
return new Promise((resolve) => {
|
|
95
|
+
let data = "";
|
|
96
|
+
process.stdin.setEncoding("utf8");
|
|
97
|
+
process.stdin.on("data", (chunk) => { data += chunk; });
|
|
98
|
+
process.stdin.on("end", () => { resolve(data.trim() || undefined); });
|
|
99
|
+
process.stdin.resume();
|
|
100
|
+
});
|
|
101
|
+
}
|
|
66
102
|
async function main() {
|
|
67
103
|
const args = parseArgs();
|
|
104
|
+
const stdinContent = await readPipedStdin();
|
|
105
|
+
const isPrintMode = args.print || args.mode === "json" || args.mode === "text" || (!process.stdin.isTTY && stdinContent !== undefined);
|
|
106
|
+
const outputMode = args.mode === "json" ? "json" : "text";
|
|
107
|
+
const initialMessage = args.message ?? stdinContent;
|
|
68
108
|
const cwd = process.cwd();
|
|
69
109
|
const createRuntime = async ({ cwd, agentDir, sessionManager, sessionStartEvent }) => {
|
|
70
110
|
const services = await createAgentSessionServices({
|
|
71
111
|
cwd,
|
|
72
112
|
agentDir,
|
|
73
113
|
resourceLoaderOptions: {
|
|
74
|
-
extensionFactories: [pizzaExtension],
|
|
114
|
+
extensionFactories: isPrintMode ? [] : [pizzaExtension],
|
|
75
115
|
additionalThemePaths: [join(THEMES_DIR, "pizza.json")],
|
|
116
|
+
noExtensions: args.noExtensions,
|
|
117
|
+
noSkills: args.noSkills,
|
|
118
|
+
noPromptTemplates: args.noPromptTemplates,
|
|
76
119
|
},
|
|
77
120
|
});
|
|
78
121
|
const { settingsManager } = services;
|
|
@@ -93,12 +136,21 @@ async function main() {
|
|
|
93
136
|
return { ...created, services, diagnostics: [] };
|
|
94
137
|
};
|
|
95
138
|
const agentDir = getAgentDir();
|
|
96
|
-
const sessionManager =
|
|
139
|
+
const sessionManager = args.noSession
|
|
140
|
+
? SessionManager.inMemory()
|
|
141
|
+
: SessionManager.create(cwd);
|
|
97
142
|
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
98
143
|
cwd,
|
|
99
144
|
agentDir,
|
|
100
145
|
sessionManager,
|
|
101
146
|
});
|
|
147
|
+
if (isPrintMode) {
|
|
148
|
+
const exitCode = await runPrintMode(runtime, {
|
|
149
|
+
mode: outputMode,
|
|
150
|
+
initialMessage,
|
|
151
|
+
});
|
|
152
|
+
process.exit(exitCode);
|
|
153
|
+
}
|
|
102
154
|
const interactive = new InteractiveMode(runtime, {
|
|
103
155
|
modelFallbackMessage: runtime.modelFallbackMessage,
|
|
104
156
|
initialMessage: args.message,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EACN,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,WAAW,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|