@interchained/portal-cli 0.1.1 → 0.1.2
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.
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
* portal generate page <description>
|
|
3
3
|
* portal generate component <name>
|
|
4
4
|
* portal generate api <name>
|
|
5
|
+
*
|
|
6
|
+
* Flow when Sentinel is active (default):
|
|
7
|
+
* Runner generates → Sentinel reviews → Sentinel applies if approved
|
|
8
|
+
* → if rejected: show violations, offer "apply anyway" or discard
|
|
9
|
+
*
|
|
10
|
+
* Flow with --no-sentinel:
|
|
11
|
+
* Runner generates → preview shown → human approves/saves/discards
|
|
5
12
|
*/
|
|
6
13
|
export type GenerateSubcommand = "page" | "landing" | "component" | "api";
|
|
7
14
|
export interface GenerateOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAyBD,wBAAsB,eAAe,CACnC,GAAG,EAAE,kBAAkB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Of"}
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
* portal generate page <description>
|
|
3
3
|
* portal generate component <name>
|
|
4
4
|
* portal generate api <name>
|
|
5
|
+
*
|
|
6
|
+
* Flow when Sentinel is active (default):
|
|
7
|
+
* Runner generates → Sentinel reviews → Sentinel applies if approved
|
|
8
|
+
* → if rejected: show violations, offer "apply anyway" or discard
|
|
9
|
+
*
|
|
10
|
+
* Flow with --no-sentinel:
|
|
11
|
+
* Runner generates → preview shown → human approves/saves/discards
|
|
5
12
|
*/
|
|
6
13
|
import { join } from "node:path";
|
|
7
14
|
import { writeFile, mkdir } from "node:fs/promises";
|
|
@@ -9,24 +16,8 @@ import prompts from "prompts";
|
|
|
9
16
|
import pc from "picocolors";
|
|
10
17
|
import ora from "ora";
|
|
11
18
|
import { Runner, Sentinel, generateFromPrompt, applyPatch, PatchStore, } from "@interchained/portal-agent";
|
|
12
|
-
import { banner, header, success, fail, info, blank, icon } from "../utils/print.js";
|
|
19
|
+
import { banner, header, success, fail, warn, info, blank, icon } from "../utils/print.js";
|
|
13
20
|
import { loadContract } from "../utils/contract.js";
|
|
14
|
-
// ── Component generation prompt ───────────────────────────────────────────────
|
|
15
|
-
async function generateComponentSource(runner, name, description, colors, voice) {
|
|
16
|
-
return runner["client"]
|
|
17
|
-
? runner
|
|
18
|
-
.client.complete("", "")
|
|
19
|
-
.then(() => "")
|
|
20
|
-
.catch(() => "")
|
|
21
|
-
: runner["generateComponent" in runner
|
|
22
|
-
? "generateComponent"
|
|
23
|
-
: "generateComponent"]({
|
|
24
|
-
route: `/components/${name}`,
|
|
25
|
-
purpose: description,
|
|
26
|
-
brandVoice: voice,
|
|
27
|
-
colors,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
21
|
// ── API route template ────────────────────────────────────────────────────────
|
|
31
22
|
function apiRouteTemplate(name) {
|
|
32
23
|
const fnName = name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
@@ -38,9 +29,7 @@ function apiRouteTemplate(name) {
|
|
|
38
29
|
*/
|
|
39
30
|
export async function ${fnName}Handler(req: Request, res: Response): Promise<void> {
|
|
40
31
|
try {
|
|
41
|
-
// Read from req.body, req.query, req.params as needed
|
|
42
32
|
const data = {};
|
|
43
|
-
|
|
44
33
|
res.json({ ok: true, data });
|
|
45
34
|
} catch (err) {
|
|
46
35
|
res.status(500).json({ ok: false, error: (err as Error).message });
|
|
@@ -64,11 +53,11 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
64
53
|
const outPath = join(apiDir, `${slug}.ts`);
|
|
65
54
|
await mkdir(apiDir, { recursive: true });
|
|
66
55
|
const source = apiRouteTemplate(slug);
|
|
56
|
+
console.log(pc.dim("─── preview ─────────────────────────────────────────"));
|
|
57
|
+
source.split("\n").forEach((l) => console.log(pc.dim(" ") + l));
|
|
58
|
+
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
59
|
+
blank();
|
|
67
60
|
if (!opts.auto) {
|
|
68
|
-
console.log(pc.dim("─── preview ─────────────────────────────────────────"));
|
|
69
|
-
source.split("\n").forEach((l) => console.log(pc.dim(" ") + l));
|
|
70
|
-
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
71
|
-
blank();
|
|
72
61
|
const { choice } = await prompts({
|
|
73
62
|
type: "select",
|
|
74
63
|
name: "choice",
|
|
@@ -122,6 +111,8 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
122
111
|
const relPath = `src/components/${pascal}.tsx`;
|
|
123
112
|
console.log(pc.dim("─── preview ─────────────────────────────────────────"));
|
|
124
113
|
source.split("\n").slice(0, 30).forEach((l) => console.log(pc.dim(" ") + l));
|
|
114
|
+
if (source.split("\n").length > 30)
|
|
115
|
+
console.log(pc.dim(" …"));
|
|
125
116
|
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
126
117
|
blank();
|
|
127
118
|
if (!opts.auto) {
|
|
@@ -146,7 +137,7 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
146
137
|
blank();
|
|
147
138
|
return;
|
|
148
139
|
}
|
|
149
|
-
// ── Page / landing
|
|
140
|
+
// ── Page / landing ────────────────────────────────────────────────────────
|
|
150
141
|
let runner;
|
|
151
142
|
try {
|
|
152
143
|
runner = new Runner();
|
|
@@ -155,15 +146,22 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
155
146
|
fail("AIASSIST_API_KEY not set — cannot generate pages.");
|
|
156
147
|
process.exit(1);
|
|
157
148
|
}
|
|
158
|
-
const
|
|
159
|
-
const
|
|
149
|
+
const useSentinel = !opts.noSentinel;
|
|
150
|
+
const sentinel = useSentinel ? new Sentinel() : undefined;
|
|
151
|
+
const spinMsg = sentinel
|
|
152
|
+
? `Runner generating… then Sentinel will review + apply`
|
|
153
|
+
: `Generating "${description}"…`;
|
|
154
|
+
const spinner = ora(spinMsg).start();
|
|
160
155
|
let result;
|
|
161
156
|
try {
|
|
162
157
|
result = await generateFromPrompt(description, {
|
|
163
|
-
runner,
|
|
158
|
+
runner,
|
|
159
|
+
sentinel,
|
|
160
|
+
contract,
|
|
161
|
+
projectRoot: root,
|
|
164
162
|
route: opts.route,
|
|
165
163
|
requiresApproval: !opts.auto,
|
|
166
|
-
});
|
|
164
|
+
}, store);
|
|
167
165
|
spinner.stop();
|
|
168
166
|
}
|
|
169
167
|
catch (err) {
|
|
@@ -171,16 +169,60 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
171
169
|
fail(`Generation failed: ${err.message}`);
|
|
172
170
|
process.exit(1);
|
|
173
171
|
}
|
|
174
|
-
const { patch, sentinelReview } = result;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
172
|
+
const { patch, sentinelReview, sentinelApplied } = result;
|
|
173
|
+
// ── Sentinel applied it ───────────────────────────────────────────────────
|
|
174
|
+
if (sentinelApplied) {
|
|
175
|
+
header(`${icon.pass} Sentinel approved & applied: ${patch.file}`);
|
|
176
|
+
if (sentinelReview) {
|
|
177
|
+
info(sentinelReview.summary);
|
|
178
|
+
}
|
|
179
|
+
blank();
|
|
180
|
+
info(`Run portal dev to see the new page.`);
|
|
181
|
+
blank();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
// ── Sentinel rejected ─────────────────────────────────────────────────────
|
|
185
|
+
if (sentinelReview && !sentinelReview.approved) {
|
|
186
|
+
header(`${icon.fail} Sentinel blocked: ${patch.file}`);
|
|
187
|
+
info(sentinelReview.summary);
|
|
188
|
+
blank();
|
|
181
189
|
sentinelReview.violations.forEach((v) => console.log(` ${icon.fail} ${pc.red(v)}`));
|
|
182
190
|
blank();
|
|
191
|
+
// Show a preview of what was generated anyway
|
|
192
|
+
console.log(pc.dim("─── preview (blocked) ───────────────────────────────"));
|
|
193
|
+
patch.proposed.split("\n").slice(0, 30).forEach((l) => console.log(pc.dim(" ") + l));
|
|
194
|
+
if (patch.proposed.split("\n").length > 30)
|
|
195
|
+
console.log(pc.dim(" …"));
|
|
196
|
+
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
197
|
+
blank();
|
|
198
|
+
const { choice } = await prompts({
|
|
199
|
+
type: "select",
|
|
200
|
+
name: "choice",
|
|
201
|
+
message: "Sentinel rejected this patch. What do you want to do?",
|
|
202
|
+
choices: [
|
|
203
|
+
{ title: pc.yellow("⚠ Apply anyway (override sentinel)"), value: "override" },
|
|
204
|
+
{ title: pc.blue("~ Save as pending for later review"), value: "save" },
|
|
205
|
+
{ title: pc.red("✗ Discard"), value: "discard" },
|
|
206
|
+
],
|
|
207
|
+
});
|
|
208
|
+
if (choice === "override") {
|
|
209
|
+
await store.update(patch.id, { status: "approved" });
|
|
210
|
+
await applyPatch({ ...patch, status: "approved" }, root, store);
|
|
211
|
+
warn(`Applied with sentinel override: ${pc.bold(patch.file)}`);
|
|
212
|
+
}
|
|
213
|
+
else if (choice === "save") {
|
|
214
|
+
info(`Patch saved as pending — run portal patch to revisit.`);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
await store.update(patch.id, { status: "rejected" });
|
|
218
|
+
info("Discarded.");
|
|
219
|
+
}
|
|
220
|
+
blank();
|
|
221
|
+
return;
|
|
183
222
|
}
|
|
223
|
+
// ── No sentinel — human decides ───────────────────────────────────────────
|
|
224
|
+
header(`Generated: ${patch.file}`);
|
|
225
|
+
blank();
|
|
184
226
|
console.log(pc.dim("─── preview ─────────────────────────────────────────"));
|
|
185
227
|
patch.proposed.split("\n").slice(0, 40).forEach((l) => console.log(pc.dim(" ") + l));
|
|
186
228
|
if (patch.proposed.split("\n").length > 40)
|
|
@@ -188,6 +230,7 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
188
230
|
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
189
231
|
blank();
|
|
190
232
|
if (opts.auto) {
|
|
233
|
+
await store.update(patch.id, { status: "approved" });
|
|
191
234
|
await applyPatch({ ...patch, status: "approved" }, root, store);
|
|
192
235
|
success(`Created: ${pc.bold(patch.file)}`);
|
|
193
236
|
info(`Run portal dev to see the new page.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interchained/portal-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Portal CLI — dev, build, audit, improve, generate, guard",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"author": "Interchained <dev@interchained.org>",
|
|
@@ -13,16 +13,23 @@
|
|
|
13
13
|
"README.md",
|
|
14
14
|
"LICENSE"
|
|
15
15
|
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"clean": "rm -rf dist",
|
|
21
|
+
"prepublishOnly": "npm run typecheck && npm run build"
|
|
22
|
+
},
|
|
16
23
|
"dependencies": {
|
|
24
|
+
"@interchained/portal-contract": "workspace:*",
|
|
25
|
+
"@interchained/portal-agent": "workspace:*",
|
|
26
|
+
"@interchained/portal-core": "workspace:*",
|
|
17
27
|
"commander": "^12.0.0",
|
|
18
28
|
"picocolors": "^1.0.1",
|
|
19
29
|
"ora": "^8.0.1",
|
|
20
30
|
"prompts": "^2.4.2",
|
|
21
31
|
"execa": "^8.0.1",
|
|
22
|
-
"vite": "^5.2.0"
|
|
23
|
-
"@interchained/portal-core": "0.1.1",
|
|
24
|
-
"@interchained/portal-agent": "0.1.1",
|
|
25
|
-
"@interchained/portal-contract": "0.1.0"
|
|
32
|
+
"vite": "^5.2.0"
|
|
26
33
|
},
|
|
27
34
|
"devDependencies": {
|
|
28
35
|
"@types/node": "^20.12.7",
|
|
@@ -34,11 +41,5 @@
|
|
|
34
41
|
},
|
|
35
42
|
"publishConfig": {
|
|
36
43
|
"access": "public"
|
|
37
|
-
},
|
|
38
|
-
"scripts": {
|
|
39
|
-
"build": "tsc",
|
|
40
|
-
"dev": "tsc --watch",
|
|
41
|
-
"typecheck": "tsc --noEmit",
|
|
42
|
-
"clean": "rm -rf dist"
|
|
43
44
|
}
|
|
44
|
-
}
|
|
45
|
+
}
|