@interchained/portal-cli 0.1.9 → 0.1.11

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.
@@ -1,6 +1,15 @@
1
1
  /**
2
2
  * portal agent list — list configured agents and their permissions
3
3
  * portal agent run — run a specific agent task manually
4
+ *
5
+ * Agents are real defineAgent({ ... }) definitions loaded from agents/*.agent.ts.
6
+ * Their declared permissions are enforced:
7
+ * - canPatch: false → read-only; the agent analyzes and reports, never writes
8
+ * - canPatch: true → may produce patches
9
+ * - requiresApproval: true → patches stay pending for `portal patch`
10
+ * - requiresApproval: false→ clean patches are applied automatically
11
+ * When requiresApproval is unset it falls back to the contract's publishing policy,
12
+ * defaulting to "requires approval" unless publishing is explicitly "immediate".
4
13
  */
5
14
  export declare function agentListCommand(): Promise<void>;
6
15
  export declare function agentRunCommand(name: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/agent-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CtD;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmHjE"}
1
+ {"version":3,"file":"agent-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/agent-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiEH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BtD;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKjE"}
@@ -1,21 +1,58 @@
1
1
  /**
2
2
  * portal agent list — list configured agents and their permissions
3
3
  * portal agent run — run a specific agent task manually
4
+ *
5
+ * Agents are real defineAgent({ ... }) definitions loaded from agents/*.agent.ts.
6
+ * Their declared permissions are enforced:
7
+ * - canPatch: false → read-only; the agent analyzes and reports, never writes
8
+ * - canPatch: true → may produce patches
9
+ * - requiresApproval: true → patches stay pending for `portal patch`
10
+ * - requiresApproval: false→ clean patches are applied automatically
11
+ * When requiresApproval is unset it falls back to the contract's publishing policy,
12
+ * defaulting to "requires approval" unless publishing is explicitly "immediate".
4
13
  */
5
- import { readFile, readdir, access } from "node:fs/promises";
6
- import { join, basename, extname } from "node:path";
14
+ import { readFile, readdir } from "node:fs/promises";
15
+ import { join } from "node:path";
7
16
  import pc from "picocolors";
8
17
  import ora from "ora";
9
- import { Runner, Sentinel, PatchStore, createPatch } from "@interchained/portal-agent";
18
+ import { Runner, Sentinel, PatchStore, createPatch, applyPatch, } from "@interchained/portal-agent";
10
19
  import { banner, header, success, fail, info, step, blank } from "../utils/print.js";
11
20
  import { loadContract } from "../utils/contract.js";
12
- async function exists(p) {
21
+ import { findAgentFiles, matchAgentFile, loadAgent } from "../utils/agents.js";
22
+ // ── helpers ─────────────────────────────────────────────────────────────────
23
+ /**
24
+ * Resolve whether an agent's patches require approval.
25
+ * Fail-safe: defaults to true unless the contract explicitly publishes immediately.
26
+ */
27
+ function resolveRequiresApproval(def, contract) {
28
+ return def.requiresApproval ?? contract.policies?.publishing !== "immediate";
29
+ }
30
+ function permsLabel(def, contract) {
31
+ const canPatch = def.canPatch === true;
32
+ const parts = [
33
+ canPatch ? pc.yellow("can patch") : pc.dim("read-only"),
34
+ canPatch
35
+ ? resolveRequiresApproval(def, contract)
36
+ ? pc.cyan("requires approval")
37
+ : pc.dim("auto-apply")
38
+ : null,
39
+ def.model ? pc.dim(`model: ${def.model}`) : null,
40
+ ].filter(Boolean);
41
+ return parts.join(" ");
42
+ }
43
+ /** Extract a JSON findings array from a model response that may include prose/fences. */
44
+ function parseFindings(raw) {
45
+ const match = raw.match(/\[[\s\S]*\]/);
46
+ if (!match)
47
+ return [];
13
48
  try {
14
- await access(p);
15
- return true;
49
+ const arr = JSON.parse(match[0]);
50
+ if (!Array.isArray(arr))
51
+ return [];
52
+ return arr.filter((f) => typeof f === "object" && f !== null);
16
53
  }
17
54
  catch {
18
- return false;
55
+ return [];
19
56
  }
20
57
  }
21
58
  // ── portal agent list ─────────────────────────────────────────────────────────
@@ -23,34 +60,21 @@ export async function agentListCommand() {
23
60
  banner();
24
61
  const root = process.cwd();
25
62
  const agentsDir = join(root, "agents");
26
- if (!(await exists(agentsDir))) {
27
- info("No agents/ directory found.");
28
- info("Create agents/seo.agent.ts to get started.");
29
- blank();
30
- return;
31
- }
32
- const entries = await readdir(agentsDir);
33
- const agentFiles = entries.filter((f) => f.endsWith(".agent.ts") || f.endsWith(".agent.js"));
34
- if (agentFiles.length === 0) {
35
- info("agents/ directory is empty — no agents configured.");
63
+ const files = await findAgentFiles(agentsDir);
64
+ if (files.length === 0) {
65
+ info("No agents configured.");
66
+ info("Create agents/seo.agent.ts with defineAgent({ ... }) to get started.");
36
67
  blank();
37
68
  return;
38
69
  }
70
+ const contract = await loadContract(root);
39
71
  header("Configured Agents");
40
72
  blank();
41
- for (const file of agentFiles) {
42
- const src = await readFile(join(agentsDir, file), "utf-8");
43
- // Extract name and task from defineAgent({ ... }) call
44
- const nameMatch = src.match(/name\s*:\s*["']([^"']+)["']/);
45
- const taskMatch = src.match(/task\s*:\s*["']([^"']+)["']/);
46
- const canPatch = src.includes("canPatch: true");
47
- const needsApproval = src.includes("requiresApproval: true");
48
- const name = nameMatch?.[1] ?? basename(file, extname(file));
49
- const task = taskMatch?.[1] ?? "No task description";
50
- console.log(`${pc.bold(pc.cyan(name))} ${pc.dim("·")} ${pc.dim(file)}`);
51
- console.log(` ${task}`);
52
- console.log(` ${canPatch ? pc.yellow("can patch") : pc.dim("read-only")} ` +
53
- `${needsApproval ? pc.cyan("requires approval") : pc.dim("auto-apply")}`);
73
+ for (const file of files) {
74
+ const def = await loadAgent(join(agentsDir, file));
75
+ console.log(`${pc.bold(pc.cyan(def.name))} ${pc.dim("·")} ${pc.dim(file)}`);
76
+ console.log(` ${def.task || pc.dim("No task description")}`);
77
+ console.log(` ${permsLabel(def, contract)}`);
54
78
  blank();
55
79
  }
56
80
  }
@@ -60,48 +84,44 @@ export async function agentRunCommand(name) {
60
84
  const root = process.cwd();
61
85
  const agentsDir = join(root, "agents");
62
86
  const contract = await loadContract(root);
63
- // Find the agent file
64
- let agentFile = null;
65
- try {
66
- const entries = await readdir(agentsDir);
67
- agentFile =
68
- entries.find((f) => f === `${name}.agent.ts` || f === `${name}.agent.js`) ?? null;
69
- if (!agentFile) {
70
- agentFile = entries.find((f) => f.includes(name)) ?? null;
71
- }
72
- }
73
- catch {
74
- fail("agents/ directory not found. Create an agent first.");
87
+ const files = await findAgentFiles(agentsDir);
88
+ if (files.length === 0) {
89
+ fail("No agents configured. Create agents/<name>.agent.ts first.");
75
90
  process.exit(1);
76
91
  }
92
+ const agentFile = matchAgentFile(files, name);
77
93
  if (!agentFile) {
78
94
  fail(`Agent not found: "${name}"`);
79
- info(`Run portal agent list to see available agents.`);
95
+ info("Run portal agent list to see available agents.");
80
96
  process.exit(1);
81
97
  }
82
- const src = await readFile(join(agentsDir, agentFile), "utf-8");
83
- const taskMatch = src.match(/task\s*:\s*["']([^"']+)["']/);
84
- const canPatch = src.includes("canPatch: true");
85
- const task = taskMatch?.[1] ?? name;
86
- header(`Running agent: ${pc.bold(name)}`);
98
+ const def = await loadAgent(join(agentsDir, agentFile));
99
+ const canPatch = def.canPatch === true;
100
+ const requiresApproval = resolveRequiresApproval(def, contract);
101
+ const task = def.task || def.name;
102
+ const mode = !canPatch
103
+ ? "read-only (analyze & report)"
104
+ : requiresApproval
105
+ ? "propose patches (requires approval)"
106
+ : "auto-apply clean patches";
107
+ header(`Running agent: ${pc.bold(def.name)}`);
87
108
  console.log(pc.dim(` Task: ${task}`));
88
109
  console.log(pc.dim(` App: ${contract.name}`));
110
+ console.log(pc.dim(` Mode: ${mode}`));
89
111
  blank();
90
- let runner;
91
- try {
92
- runner = new Runner();
93
- }
94
- catch {
95
- fail("AIASSIST_API_KEY not set.");
112
+ // Agents need a model key to do any work — fail early and clearly.
113
+ if (!process.env["AIASSIST_API_KEY"] && !process.env["VITE_AIAS_API_KEY"]) {
114
+ fail("AIASSIST_API_KEY not set — agents need it to run.");
96
115
  process.exit(1);
97
116
  }
98
- const sentinel = new Sentinel();
117
+ const runner = new Runner(def.model ? { model: def.model } : {});
118
+ const sentinel = new Sentinel(def.sentinel ? { model: def.sentinel } : {});
99
119
  const store = new PatchStore(root);
100
- // Run the agent task against each route file
120
+ // Gather route files to run the task against.
101
121
  const routesDir = join(root, "routes");
102
122
  let routeFiles = [];
103
123
  try {
104
- const entries = await readdir(routesDir, { recursive: true });
124
+ const entries = (await readdir(routesDir, { recursive: true }));
105
125
  routeFiles = entries
106
126
  .filter((f) => f.endsWith(".page.tsx") || f.endsWith(".page.jsx"))
107
127
  .map((f) => join(routesDir, f));
@@ -110,52 +130,113 @@ export async function agentRunCommand(name) {
110
130
  fail("No routes/ directory found.");
111
131
  process.exit(1);
112
132
  }
133
+ if (routeFiles.length === 0) {
134
+ info("No route files found under routes/.");
135
+ blank();
136
+ return;
137
+ }
113
138
  const contractSummary = `App: ${contract.name}\nGoals: ${contract.goals.join("; ")}`;
114
- let patchCount = 0;
139
+ let proposed = 0;
140
+ let applied = 0;
141
+ let reviewed = 0;
142
+ let findings = 0;
143
+ let firstError = null;
115
144
  for (const filePath of routeFiles) {
116
145
  const content = await readFile(filePath, "utf-8");
117
146
  const rel = filePath.replace(root + "/", "");
118
147
  const spinner = ora(` Processing ${rel}…`).start();
119
148
  try {
120
- const proposed = await runner.generatePatch({
149
+ // ── Read-only agent: analyze and report, never write. ───────────────────
150
+ if (!canPatch) {
151
+ const raw = await runner.analyzeFile({
152
+ filePath: rel,
153
+ content,
154
+ checks: [task],
155
+ contract: contractSummary,
156
+ });
157
+ spinner.stop();
158
+ reviewed++;
159
+ const notable = parseFindings(raw).filter((f) => f.status !== "pass");
160
+ if (notable.length === 0) {
161
+ step(`${rel} ${pc.dim("·")} ${pc.green("ok")}`);
162
+ }
163
+ else {
164
+ for (const f of notable) {
165
+ findings++;
166
+ const tag = f.status === "fail" ? pc.red("fail") : pc.yellow("warn");
167
+ step(`${rel} ${pc.dim("·")} ${tag} ${f.message ?? "issue found"}`);
168
+ if (f.suggestion)
169
+ console.log(pc.dim(` → ${f.suggestion}`));
170
+ }
171
+ }
172
+ continue;
173
+ }
174
+ // ── Patch-capable agent: generate, review, save / apply. ─────────────────
175
+ const next = await runner.generatePatch({
121
176
  filePath: rel,
122
177
  originalContent: content,
123
178
  finding: task,
124
179
  contract: contractSummary,
125
180
  });
126
181
  spinner.stop();
182
+ if (next.trim() === content.trim())
183
+ continue; // no meaningful change
127
184
  const review = await sentinel.review({
128
185
  contract,
129
186
  filePath: rel,
130
187
  original: content,
131
- proposed,
188
+ proposed: next,
132
189
  agentTask: task,
133
190
  });
134
191
  const patch = createPatch({
135
- agent: name,
192
+ agent: def.name,
136
193
  file: rel,
137
194
  original: content,
138
- proposed,
195
+ proposed: next,
139
196
  reason: task,
140
- requiresApproval: true,
197
+ requiresApproval,
141
198
  sentinelApproved: review.approved,
142
199
  sentinelSummary: review.summary,
143
200
  sentinelViolations: review.violations,
144
201
  });
145
202
  await store.save(patch);
146
- patchCount++;
147
- step(`Patch saved for ${rel} run portal patch to review`);
203
+ proposed++;
204
+ // Auto-apply only when the agent permits it and the review is clean.
205
+ if (!requiresApproval && review.approved) {
206
+ await store.update(patch.id, { status: "approved" });
207
+ await applyPatch({ ...patch, status: "approved" }, root, store);
208
+ applied++;
209
+ step(`${rel} ${pc.dim("·")} ${pc.green("applied")} ${review.summary}`);
210
+ }
211
+ else {
212
+ step(`${rel} ${pc.dim("·")} ${pc.cyan("patch saved")} run portal patch to review`);
213
+ }
148
214
  }
149
- catch {
215
+ catch (err) {
150
216
  spinner.stop();
217
+ if (!firstError)
218
+ firstError = err instanceof Error ? err.message : String(err);
151
219
  }
152
220
  }
153
221
  blank();
154
- if (patchCount > 0) {
155
- success(`${patchCount} patch${patchCount !== 1 ? "es" : ""} queued — run portal patch to review and apply`);
222
+ if (firstError)
223
+ fail(`Some files could not be processed: ${firstError}`);
224
+ if (!canPatch) {
225
+ if (findings > 0) {
226
+ info(`Read-only run complete — ${reviewed} file${reviewed !== 1 ? "s" : ""} reviewed, ${findings} finding${findings !== 1 ? "s" : ""} reported.`);
227
+ }
228
+ else {
229
+ success(`Read-only run complete — ${reviewed} file${reviewed !== 1 ? "s" : ""} reviewed, no issues found.`);
230
+ }
231
+ }
232
+ else if (proposed === 0) {
233
+ info("No changes proposed.");
234
+ }
235
+ else if (applied > 0) {
236
+ success(`${applied} applied, ${proposed - applied} pending — run portal patch to review the rest.`);
156
237
  }
157
238
  else {
158
- info("No patches generated.");
239
+ success(`${proposed} patch${proposed !== 1 ? "es" : ""} queued — run portal patch to review and apply.`);
159
240
  }
160
241
  blank();
161
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-cmd.js","sourceRoot":"","sources":["../../src/commands/agent-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-cmd.js","sourceRoot":"","sources":["../../src/commands/agent-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAwUH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiRzE"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA0UH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwRzE"}
@@ -198,13 +198,15 @@ function extractEarlyHints(html) {
198
198
  (h.as === "font" ? "; crossorigin" : ""));
199
199
  }
200
200
  // ── Security headers ──────────────────────────────────────────────────────────
201
- // Default CSP. Google Fonts is allowed out of the box because every Portal
202
- // template ships with it a default that blocks our own fonts is a footgun.
201
+ // Default CSP. Google Fonts + Cloudflare's analytics beacon are allowed out of
202
+ // the box: every Portal template ships with Google Fonts, and the most common
203
+ // deploy path is behind Cloudflare (which auto-injects beacon.min.js). A default
204
+ // that blocks our own fonts or the standard CDN's analytics is a footgun.
203
205
  // Represented as directive → sources so `--csp-add` can merge into it.
204
206
  function defaultCspDirectives() {
205
207
  return new Map([
206
208
  ["default-src", ["'self'"]],
207
- ["script-src", ["'self'"]],
209
+ ["script-src", ["'self'", "https://static.cloudflareinsights.com"]],
208
210
  ["style-src", ["'self'", "'unsafe-inline'", "https://fonts.googleapis.com"]],
209
211
  ["img-src", ["'self'", "data:", "blob:", "https:"]],
210
212
  ["font-src", ["'self'", "https://fonts.gstatic.com", "data:"]],
@@ -345,11 +347,18 @@ export async function serveCommand(opts = {}) {
345
347
  const earlyHintLinks = useHints && indexAsset
346
348
  ? extractEarlyHints(indexAsset.raw.toString("utf-8"))
347
349
  : [];
350
+ // Allow CSP tweaks via env — handy for VPS / process-manager deploys that
351
+ // can't easily change the launch command. PORTAL_CSP_ADD is comma/newline-
352
+ // separated fragments; PORTAL_CSP_POLICY replaces the whole policy.
353
+ const envCspAdd = (process.env["PORTAL_CSP_ADD"] ?? "")
354
+ .split(/[\n,]/)
355
+ .map((s) => s.trim())
356
+ .filter(Boolean);
348
357
  const secHeaders = securityHeaders({
349
358
  csp: useCsp,
350
359
  hsts: useHsts,
351
- cspPolicy: opts.cspPolicy,
352
- cspAdd: opts.cspAdd,
360
+ cspPolicy: opts.cspPolicy ?? process.env["PORTAL_CSP_POLICY"],
361
+ cspAdd: [...(opts.cspAdd ?? []), ...envCspAdd],
353
362
  });
354
363
  // ── Compression report ──────────────────────────────────────────────────────
355
364
  const brSaved = report.rawBytes - report.brBytes;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Load agent definitions from a Portal project's agents/ directory.
3
+ *
4
+ * Mirrors the contract loader's philosophy (see utils/contract.ts): we extract
5
+ * the `defineAgent({ ... })` object literal and evaluate just that object rather
6
+ * than executing the whole module. AgentDefinition is a flat object, so this is
7
+ * safe and predictable.
8
+ */
9
+ import type { AgentDefinition } from "@interchained/portal-contract";
10
+ export declare function agentsDirExists(agentsDir: string): Promise<boolean>;
11
+ /** List the *.agent.ts / *.agent.js files in agents/. */
12
+ export declare function findAgentFiles(agentsDir: string): Promise<string[]>;
13
+ /**
14
+ * Resolve a user-supplied name to an agent file.
15
+ * Prefers an exact `<name>.agent.{ts,js}` match, then a substring match.
16
+ */
17
+ export declare function matchAgentFile(files: string[], name: string): string | null;
18
+ /** Load and parse a single agent definition file. */
19
+ export declare function loadAgent(filePath: string): Promise<AgentDefinition>;
20
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzE;AAED,yDAAyD;AACzD,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3E;AAED,qDAAqD;AACrD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA2B1E"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Load agent definitions from a Portal project's agents/ directory.
3
+ *
4
+ * Mirrors the contract loader's philosophy (see utils/contract.ts): we extract
5
+ * the `defineAgent({ ... })` object literal and evaluate just that object rather
6
+ * than executing the whole module. AgentDefinition is a flat object, so this is
7
+ * safe and predictable.
8
+ */
9
+ import { readFile, readdir, access } from "node:fs/promises";
10
+ import { basename, extname } from "node:path";
11
+ export async function agentsDirExists(agentsDir) {
12
+ try {
13
+ await access(agentsDir);
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ /** List the *.agent.ts / *.agent.js files in agents/. */
21
+ export async function findAgentFiles(agentsDir) {
22
+ try {
23
+ const entries = await readdir(agentsDir);
24
+ return entries
25
+ .filter((f) => f.endsWith(".agent.ts") || f.endsWith(".agent.js"))
26
+ .sort();
27
+ }
28
+ catch {
29
+ return [];
30
+ }
31
+ }
32
+ /**
33
+ * Resolve a user-supplied name to an agent file.
34
+ * Prefers an exact `<name>.agent.{ts,js}` match, then a substring match.
35
+ */
36
+ export function matchAgentFile(files, name) {
37
+ return (files.find((f) => f === `${name}.agent.ts` || f === `${name}.agent.js`) ??
38
+ files.find((f) => f.includes(name)) ??
39
+ null);
40
+ }
41
+ /** Load and parse a single agent definition file. */
42
+ export async function loadAgent(filePath) {
43
+ const fallbackName = basename(filePath, extname(filePath)).replace(/\.agent$/, "");
44
+ let src;
45
+ try {
46
+ src = await readFile(filePath, "utf-8");
47
+ }
48
+ catch {
49
+ return { name: fallbackName, task: "" };
50
+ }
51
+ // Extraction patterns, most specific first.
52
+ const objSrc = src.match(/defineAgent\s*\(\s*(\{[\s\S]*?\})\s*\)/)?.[1] ??
53
+ src.match(/export\s+default\s+(\{[\s\S]*\})\s*;?\s*$/)?.[1] ??
54
+ src.match(/const\s+\w+\s*(?::\s*AgentDefinition)?\s*=\s*(\{[\s\S]*?\})\s*;?\s*$/m)?.[1];
55
+ if (!objSrc)
56
+ return { name: fallbackName, task: "" };
57
+ try {
58
+ const def = evalAgentObject(objSrc);
59
+ return {
60
+ ...def,
61
+ name: typeof def.name === "string" && def.name.trim() ? def.name : fallbackName,
62
+ task: typeof def.task === "string" ? def.task : "",
63
+ };
64
+ }
65
+ catch {
66
+ return { name: fallbackName, task: "" };
67
+ }
68
+ }
69
+ function evalAgentObject(src) {
70
+ const cleaned = src
71
+ .replace(/\s+as\s+\w[\w.]*(\[\])?/g, "")
72
+ .replace(/\s+satisfies\s+\w[\w.]*/g, "");
73
+ const fn = new Function(`return (${cleaned})`);
74
+ const raw = fn();
75
+ if (typeof raw !== "object" || raw === null) {
76
+ throw new Error("agent file must export a defineAgent({ ... }) object");
77
+ }
78
+ return raw;
79
+ }
80
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interchained/portal-cli",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Portal CLI — dev, build, serve, compress, audit, improve, generate, guard",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "author": "Interchained <dev@interchained.org>",