@interchained/portal-cli 0.1.1 → 0.1.3
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,CA0Mf"}
|
|
@@ -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";
|
|
@@ -11,22 +18,6 @@ import ora from "ora";
|
|
|
11
18
|
import { Runner, Sentinel, generateFromPrompt, applyPatch, PatchStore, } from "@interchained/portal-agent";
|
|
12
19
|
import { banner, header, success, fail, 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,29 @@ 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
|
-
|
|
181
|
-
|
|
172
|
+
const { patch, sentinelReview, sentinelApplied } = result;
|
|
173
|
+
// ── Sentinel always applies (clean or self-corrected) ─────────────────────
|
|
174
|
+
if (sentinelApplied) {
|
|
175
|
+
const { sentinelFix } = result;
|
|
176
|
+
if (sentinelFix) {
|
|
177
|
+
header(`${icon.pass} Sentinel applied (auto-corrected): ${patch.file}`);
|
|
178
|
+
info(sentinelFix.summary);
|
|
179
|
+
blank();
|
|
180
|
+
sentinelFix.changes.forEach((c) => console.log(` ${icon.pass} ${pc.cyan(c)}`));
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
header(`${icon.pass} Sentinel applied (clean): ${patch.file}`);
|
|
184
|
+
if (sentinelReview)
|
|
185
|
+
info(sentinelReview.summary);
|
|
186
|
+
}
|
|
187
|
+
blank();
|
|
188
|
+
info(`Run portal dev to see the new page.`);
|
|
182
189
|
blank();
|
|
190
|
+
return;
|
|
183
191
|
}
|
|
192
|
+
// ── No sentinel — human decides ───────────────────────────────────────────
|
|
193
|
+
header(`Generated: ${patch.file}`);
|
|
194
|
+
blank();
|
|
184
195
|
console.log(pc.dim("─── preview ─────────────────────────────────────────"));
|
|
185
196
|
patch.proposed.split("\n").slice(0, 40).forEach((l) => console.log(pc.dim(" ") + l));
|
|
186
197
|
if (patch.proposed.split("\n").length > 40)
|
|
@@ -188,6 +199,7 @@ export async function generateCommand(sub, description, opts = {}) {
|
|
|
188
199
|
console.log(pc.dim("─────────────────────────────────────────────────────"));
|
|
189
200
|
blank();
|
|
190
201
|
if (opts.auto) {
|
|
202
|
+
await store.update(patch.id, { status: "approved" });
|
|
191
203
|
await applyPatch({ ...patch, status: "approved" }, root, store);
|
|
192
204
|
success(`Created: ${pc.bold(patch.file)}`);
|
|
193
205
|
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.3",
|
|
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
|
+
}
|