@agentled/cli 0.1.5 → 0.4.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.
Files changed (43) hide show
  1. package/README.md +136 -0
  2. package/dist/commands/auth.js +30 -0
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/examples.d.ts +15 -0
  5. package/dist/commands/examples.js +100 -0
  6. package/dist/commands/examples.js.map +1 -0
  7. package/dist/commands/scaffold.d.ts +14 -0
  8. package/dist/commands/scaffold.js +103 -0
  9. package/dist/commands/scaffold.js.map +1 -0
  10. package/dist/commands/schema.d.ts +10 -0
  11. package/dist/commands/schema.js +58 -0
  12. package/dist/commands/schema.js.map +1 -0
  13. package/dist/commands/skills.d.ts +9 -0
  14. package/dist/commands/skills.js +94 -0
  15. package/dist/commands/skills.js.map +1 -0
  16. package/dist/commands/workflows.js +227 -9
  17. package/dist/commands/workflows.js.map +1 -1
  18. package/dist/index.js +6 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/utils/preflight.d.ts +25 -0
  21. package/dist/utils/preflight.js +185 -0
  22. package/dist/utils/preflight.js.map +1 -0
  23. package/dist/utils/skills.d.ts +49 -0
  24. package/dist/utils/skills.js +214 -0
  25. package/dist/utils/skills.js.map +1 -0
  26. package/package.json +4 -1
  27. package/patterns/v1/00-why-agentic-ops.md +107 -0
  28. package/patterns/v1/01-trigger-design.md +107 -0
  29. package/patterns/v1/02-dedup-gates.md +135 -0
  30. package/patterns/v1/03-credit-efficiency.md +130 -0
  31. package/patterns/v1/04-loop-patterns.md +147 -0
  32. package/patterns/v1/05-child-workflow-contracts.md +151 -0
  33. package/patterns/v1/06-conditional-routing.md +151 -0
  34. package/patterns/v1/07-error-handling.md +157 -0
  35. package/patterns/v1/08-composed-email-approval.md +130 -0
  36. package/patterns/v1/09-reports-and-knowledge-storage.md +166 -0
  37. package/scaffolds/README.md +61 -0
  38. package/scaffolds/email-polling-dedup.json +71 -0
  39. package/scaffolds/extract-threshold-alert.json +131 -0
  40. package/scaffolds/lead-scoring-kg.json +84 -0
  41. package/scaffolds/list-match-email.json +131 -0
  42. package/scaffolds/minimal.json +20 -0
  43. package/skills/agentled/SKILL.md +568 -0
package/README.md CHANGED
@@ -47,6 +47,142 @@ AGENTLED_WORKSPACE=inovexus agentled workflows list
47
47
  agentled auth remove bestseo4u
48
48
  ```
49
49
 
50
+ ### Claude Code skill auto-install (v0.2+)
51
+
52
+ On first successful login, `agentled auth login` installs the bundled Agentled
53
+ skill into `~/.claude/skills/agentled/` so Claude Code picks up pipeline shape
54
+ hints (valid step types, common invalid patterns) automatically. Returning
55
+ users see a line showing the installed version and whether a newer one is
56
+ available.
57
+
58
+ Skip the auto-install with `--skip-skills`:
59
+
60
+ ```bash
61
+ agentled auth login --skip-skills
62
+ ```
63
+
64
+ Manage the skill manually with the `agentled skills` subcommands:
65
+
66
+ ```bash
67
+ # Fresh install to ~/.claude/skills/ (or --project for the current project)
68
+ agentled skills install
69
+
70
+ # Update to the version bundled with this CLI release
71
+ agentled skills update
72
+
73
+ # Show bundled vs installed versions
74
+ agentled skills status
75
+
76
+ # Overwrite hand-edited skills (advanced)
77
+ agentled skills install --force
78
+ ```
79
+
80
+ ## Auto-validation on create / update
81
+
82
+ `agentled workflows create` and `agentled workflows update` call
83
+ `validate_workflow` immediately after the API returns 201/200. If validation
84
+ finds errors, the command:
85
+
86
+ - prints a structured error report (stepId, message, code, suggested fix)
87
+ - exits with status code **`2`** (distinct from `1` = CLI/network error)
88
+ - tells you how to re-check, fix, or delete the broken workflow
89
+
90
+ Pass `--skip-validate` to restore the legacy raw-create behavior (useful for
91
+ CI pipelines that run their own validation logic).
92
+
93
+ ```bash
94
+ # Create + validate (default)
95
+ agentled workflows create --file pipeline.json
96
+
97
+ # Create without validation
98
+ agentled workflows create --file pipeline.json --skip-validate
99
+
100
+ # Update + validate (default)
101
+ agentled workflows update <id> --file updates.json
102
+ ```
103
+
104
+ ## Schema and best-practice patterns (v0.3+)
105
+
106
+ Before writing pipeline JSON, look up the canonical field schema and the
107
+ matching agentic-ops pattern. These commands avoid the "agent invents step
108
+ types" failure mode that produces 201-but-broken workflows.
109
+
110
+ ```bash
111
+ # Full canonical PipelineStep field schema
112
+ agentled schema
113
+
114
+ # Fields applicable to an aiAction step
115
+ agentled schema --step-type aiAction
116
+
117
+ # Human-readable instead of JSON
118
+ agentled schema --format table
119
+
120
+ # List the 8 bundled workflow patterns
121
+ agentled examples
122
+
123
+ # Print one pattern (by slug, number, or keyword)
124
+ agentled examples trigger-design
125
+ agentled examples 04 # loops
126
+ agentled examples dedup
127
+
128
+ # Summary + link to the canonical public repo
129
+ agentled best-practices
130
+ ```
131
+
132
+ The patterns are maintained publicly at
133
+ [github.com/agentled/agentic-ops](https://github.com/agentled/agentic-ops).
134
+ The CLI ships a byte-identical mirror for offline reading; a CI drift test
135
+ in this repo keeps them in sync.
136
+
137
+ ## Scaffolds and preflight (v0.4+)
138
+
139
+ `agentled workflows scaffold` and `agentled workflows validate --file` let
140
+ you start from a known-good template and check your draft locally before
141
+ any API call. Both avoid the "201 Created but silently broken" failure mode.
142
+
143
+ ```bash
144
+ # List the bundled scaffolds
145
+ agentled workflows scaffold --list
146
+
147
+ # Print a scaffold to stdout
148
+ agentled workflows scaffold lead-scoring-kg
149
+
150
+ # Write a scaffold to a file to start editing from
151
+ agentled workflows scaffold list-match-email --out pipeline.json
152
+
153
+ # Client-side preflight: no API call, catches invalid step types, stripped
154
+ # root fields (prompt / responseStructure / listKey / appId), dangling
155
+ # next.stepId, missing required sub-object fields, duplicate step IDs.
156
+ # Exits 2 on error so CI can gate on it.
157
+ agentled workflows validate --file pipeline.json
158
+
159
+ # Server-side validate of a stored workflow (unchanged)
160
+ agentled workflows validate <workflowId>
161
+ ```
162
+
163
+ Scaffolds are **pattern shapes, not domain templates** — domain-agnostic
164
+ placeholders (`candidate`, `metric_a`, `entity_id`) so they adapt to any
165
+ vertical. See `packages/cli/scaffolds/README.md` for the contract and how
166
+ to add a new one.
167
+
168
+ | Name | Patterns | Shape |
169
+ |------|----------|-------|
170
+ | `minimal` | — | trigger → milestone |
171
+ | `email-polling-dedup` | 02 + 13 | schedule → fetch emails (label dedup) → loop process → add label |
172
+ | `lead-scoring-kg` | 04 + 09 | trigger → kg.read-list → AI scoring loop → knowledgeSync |
173
+ | `list-match-email` | 08 | trigger → kg.read-list → AI match → composed email (approval gate) → knowledgeSync |
174
+ | `extract-threshold-alert` | 06 + 09 | trigger → AI extract → threshold check → external update → conditional Slack alert → knowledgeSync |
175
+
176
+ Each bundled scaffold passes `workflows validate --file` out of the box.
177
+
178
+ ### Bring your own scaffolds
179
+
180
+ Drop JSON files in `~/.agentled/scaffolds/` or set `AGENTLED_SCAFFOLDS_DIR`
181
+ to point at a directory. Local scaffolds appear with a `[local]` tag in
182
+ `scaffold --list`, and local slugs **shadow** bundled ones with the same
183
+ name — a team can override `list-match-email.json` without waiting on a
184
+ CLI release.
185
+
50
186
  ## Company profile commands
51
187
 
52
188
  ```bash
@@ -5,6 +5,7 @@ import { getBaseUrl, getConfigPath, getSelectedWorkspace, listWorkspaces, loadCo
5
5
  import { browserLogin } from '../utils/browser-auth.js';
6
6
  import { printError, printOutput } from '../utils/output.js';
7
7
  import { runOnboarding } from './onboarding.js';
8
+ import { getSkillsTargetDir, installSkills, summarizeForLoginBanner, } from '../utils/skills.js';
8
9
  function prompt(question) {
9
10
  const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
10
11
  return new Promise(resolve => {
@@ -48,6 +49,31 @@ function printSavedWorkspaceSummary() {
48
49
  const count = savedWorkspaces.length;
49
50
  console.log(`Saved ${count} ${pluralize(count, 'workspace', 'workspaces')}. Use "agentled auth list" to inspect them.`);
50
51
  }
52
+ /**
53
+ * Installs the Agentled Claude Code skill into ~/.claude/skills on successful
54
+ * login. Silently no-op'd by --skip-skills. Never blocks login on failure —
55
+ * skills are a convenience, not a hard requirement.
56
+ *
57
+ * This is what closes Nick-from-Inovexus-class bugs: without the skill
58
+ * auto-loaded, agents invent step types (`type: "ai"`, `knowledge_graph_query`)
59
+ * that the API silently strips.
60
+ */
61
+ function installSkillsAfterLogin(skipSkills) {
62
+ if (skipSkills)
63
+ return;
64
+ try {
65
+ const targetDir = getSkillsTargetDir(true); // default: global
66
+ const results = installSkills({ global: true });
67
+ const banner = summarizeForLoginBanner(results, targetDir);
68
+ if (banner) {
69
+ console.log(banner);
70
+ }
71
+ }
72
+ catch (err) {
73
+ // Never fail login because of skill install. Surface a hint instead.
74
+ console.log(`(Skill auto-install skipped: ${err?.message ?? String(err)}. Run \`agentled skills install\` manually.)`);
75
+ }
76
+ }
51
77
  export function registerAuthCommands(program) {
52
78
  const auth = program.command('auth').description('Manage authentication');
53
79
  auth
@@ -57,6 +83,7 @@ export function registerAuthCommands(program) {
57
83
  .option('--alias <alias>', 'Optional local alias for this workspace profile')
58
84
  .option('--url <baseUrl>', 'Base URL (default: https://www.agentled.app)')
59
85
  .option('--no-browser', 'Skip browser flow, prompt for API key instead')
86
+ .option('--skip-skills', 'Skip auto-installing the Claude Code skill on successful login')
60
87
  .action(async (opts) => {
61
88
  const baseUrl = opts.url || getBaseUrl();
62
89
  if (opts.key) {
@@ -75,6 +102,7 @@ export function registerAuthCommands(program) {
75
102
  });
76
103
  console.log(`Authenticated to workspace "${workspace.workspaceName}" ✓`);
77
104
  printSavedWorkspaceSummary();
105
+ installSkillsAfterLogin(Boolean(opts.skipSkills));
78
106
  return;
79
107
  }
80
108
  catch (error) {
@@ -98,6 +126,7 @@ export function registerAuthCommands(program) {
98
126
  });
99
127
  console.log(`Authenticated to workspace "${workspace.workspaceName}" ✓`);
100
128
  printSavedWorkspaceSummary();
129
+ installSkillsAfterLogin(Boolean(opts.skipSkills));
101
130
  return;
102
131
  }
103
132
  catch (error) {
@@ -118,6 +147,7 @@ export function registerAuthCommands(program) {
118
147
  });
119
148
  console.log(`Authenticated to workspace "${result.workspaceName}" ✓`);
120
149
  printSavedWorkspaceSummary();
150
+ installSkillsAfterLogin(Boolean(opts.skipSkills));
121
151
  if (result.isNewUser) {
122
152
  await runOnboarding();
123
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `agentled examples` — surface the agentic-ops patterns bundled with the CLI.
3
+ *
4
+ * The patterns are maintained in the public `agentled/agentic-ops` repo and
5
+ * mirrored into `packages/cli/patterns/v1/` at build time. A drift test in
6
+ * `__tests__/cli-patterns-mirror.test.ts` enforces byte-identity between the
7
+ * two copies so the CLI cannot ship stale advice.
8
+ *
9
+ * Usage:
10
+ * agentled examples # list all patterns
11
+ * agentled examples trigger-design # print pattern 01-trigger-design.md
12
+ * agentled examples 02 # print pattern 02-dedup-gates.md
13
+ */
14
+ import { Command } from 'commander';
15
+ export declare function registerExamplesCommand(program: Command): void;
@@ -0,0 +1,100 @@
1
+ /* eslint-disable no-console */
2
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
3
+ import { join, dirname, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ const PUBLIC_REPO_URL = 'https://github.com/agentled/agentic-ops';
6
+ function resolveBundledPatternsDir() {
7
+ const here = fileURLToPath(import.meta.url);
8
+ // dist/commands/examples.js → package root is two levels up
9
+ const pkgRoot = resolve(dirname(here), '..', '..');
10
+ return join(pkgRoot, 'patterns', 'v1');
11
+ }
12
+ function loadPatterns() {
13
+ const dir = resolveBundledPatternsDir();
14
+ if (!existsSync(dir))
15
+ return [];
16
+ return readdirSync(dir)
17
+ .filter(f => f.endsWith('.md'))
18
+ .sort()
19
+ .map(file => {
20
+ const path = join(dir, file);
21
+ const slug = file.replace(/\.md$/, '');
22
+ const m = slug.match(/^(\d+)-(.+)$/);
23
+ const content = readFileSync(path, 'utf-8');
24
+ const titleMatch = content.match(/^#\s+(.+)$/m);
25
+ return {
26
+ slug,
27
+ number: m?.[1] ?? '',
28
+ keyword: m?.[2] ?? slug,
29
+ title: titleMatch?.[1]?.trim() ?? slug,
30
+ path,
31
+ };
32
+ });
33
+ }
34
+ function findPattern(patterns, query) {
35
+ const q = query.toLowerCase().replace(/^0+/, '');
36
+ // Exact slug match
37
+ const slug = patterns.find(p => p.slug.toLowerCase() === query.toLowerCase());
38
+ if (slug)
39
+ return slug;
40
+ // Match by number (with or without leading zero)
41
+ const num = patterns.find(p => p.number.replace(/^0+/, '') === q);
42
+ if (num)
43
+ return num;
44
+ // Match by keyword (trigger-design, dedup-gates, etc.)
45
+ const kw = patterns.find(p => p.keyword.toLowerCase() === query.toLowerCase());
46
+ if (kw)
47
+ return kw;
48
+ // Partial keyword match
49
+ const partial = patterns.find(p => p.keyword.toLowerCase().includes(query.toLowerCase()));
50
+ if (partial)
51
+ return partial;
52
+ return null;
53
+ }
54
+ export function registerExamplesCommand(program) {
55
+ program
56
+ .command('examples [pattern]')
57
+ .alias('patterns')
58
+ .description('Show Agentled workflow best-practice patterns (trigger design, dedup gates, loops, …).')
59
+ .option('--list', 'List available patterns (default when no pattern is given)')
60
+ .action((pattern, opts) => {
61
+ const patterns = loadPatterns();
62
+ if (patterns.length === 0) {
63
+ console.error('No bundled patterns found. Reinstall @agentled/cli.');
64
+ process.exit(1);
65
+ }
66
+ if (!pattern || opts.list) {
67
+ console.log('Available patterns (public source: ' + PUBLIC_REPO_URL + '/tree/main/patterns/v1):\n');
68
+ for (const p of patterns) {
69
+ console.log(` ${p.slug.padEnd(30)} ${p.title}`);
70
+ }
71
+ console.log('\nUsage:');
72
+ console.log(' agentled examples <pattern> # e.g. `agentled examples trigger-design` or `agentled examples 01`');
73
+ return;
74
+ }
75
+ const found = findPattern(patterns, pattern);
76
+ if (!found) {
77
+ console.error(`Pattern "${pattern}" not found. Run \`agentled examples\` to list available patterns.`);
78
+ process.exit(1);
79
+ }
80
+ console.log(readFileSync(found.path, 'utf-8'));
81
+ console.log(`\n---\nSource: ${PUBLIC_REPO_URL}/blob/main/patterns/v1/${found.slug}.md`);
82
+ });
83
+ program
84
+ .command('best-practices')
85
+ .description('Show where to find Agentled workflow best practices (agentic-ops repo).')
86
+ .action(() => {
87
+ console.log('Agentled workflow best practices are published at:');
88
+ console.log(` ${PUBLIC_REPO_URL}`);
89
+ console.log('');
90
+ console.log('Core patterns are bundled with this CLI and readable offline:');
91
+ console.log(' agentled examples # list patterns');
92
+ console.log(' agentled examples <pattern> # print a specific pattern');
93
+ console.log('');
94
+ console.log('Categories (v1):');
95
+ for (const p of loadPatterns()) {
96
+ console.log(` - ${p.title}`);
97
+ }
98
+ });
99
+ }
100
+ //# sourceMappingURL=examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../src/commands/examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `agentled workflows scaffold` — emit a working pipeline JSON skeleton the
3
+ * user can adapt. Saves 200+ lines of guess-and-validate authoring.
4
+ *
5
+ * Each scaffold is a real, preflight-passing pipeline JSON that covers one of
6
+ * the core patterns (lead-scoring-kg, list-match-email, extract-threshold-
7
+ * alert, email-polling-dedup, minimal). They reference the matching pattern
8
+ * file in `agentled examples <pattern>` for the full explanation. See
9
+ * scaffolds/README.md for the contract; drop JSON files in
10
+ * ~/.agentled/scaffolds/ or set AGENTLED_SCAFFOLDS_DIR for local/team
11
+ * scaffolds that shadow the bundled set.
12
+ */
13
+ import { Command } from 'commander';
14
+ export declare function registerScaffoldCommand(workflows: Command): void;
@@ -0,0 +1,103 @@
1
+ /* eslint-disable no-console */
2
+ import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
3
+ import { join, dirname, resolve } from 'node:path';
4
+ import { homedir } from 'node:os';
5
+ import { fileURLToPath } from 'node:url';
6
+ function resolveBundledScaffoldsDir() {
7
+ const here = fileURLToPath(import.meta.url);
8
+ // dist/commands/scaffold.js → package root is two levels up
9
+ const pkgRoot = resolve(dirname(here), '..', '..');
10
+ return join(pkgRoot, 'scaffolds');
11
+ }
12
+ function resolveLocalScaffoldDirs() {
13
+ const dirs = [];
14
+ if (process.env.AGENTLED_SCAFFOLDS_DIR)
15
+ dirs.push(process.env.AGENTLED_SCAFFOLDS_DIR);
16
+ dirs.push(join(homedir(), '.agentled', 'scaffolds'));
17
+ return dirs.filter(existsSync);
18
+ }
19
+ function readDir(dir, source) {
20
+ if (!existsSync(dir))
21
+ return [];
22
+ return readdirSync(dir)
23
+ .filter(f => f.endsWith('.json'))
24
+ .map(file => {
25
+ const path = join(dir, file);
26
+ const slug = file.replace(/\.json$/, '');
27
+ try {
28
+ const obj = JSON.parse(readFileSync(path, 'utf-8'));
29
+ return { slug, name: obj.name ?? slug, goal: obj.goal ?? '', path, source };
30
+ }
31
+ catch {
32
+ return { slug, name: slug, goal: '(invalid JSON)', path, source };
33
+ }
34
+ });
35
+ }
36
+ function loadScaffolds() {
37
+ // Local scaffolds shadow bundled ones with the same slug. Enables a
38
+ // workspace / customer / team to ship their own scaffold library without
39
+ // waiting on a CLI release, while keeping the bundled patterns as a
40
+ // canonical fallback.
41
+ const bundled = readDir(resolveBundledScaffoldsDir(), 'bundled');
42
+ const local = [];
43
+ for (const dir of resolveLocalScaffoldDirs())
44
+ local.push(...readDir(dir, 'local'));
45
+ const bySlug = new Map();
46
+ for (const s of bundled)
47
+ bySlug.set(s.slug, s);
48
+ for (const s of local)
49
+ bySlug.set(s.slug, s); // local wins
50
+ return [...bySlug.values()].sort((a, b) => a.slug.localeCompare(b.slug));
51
+ }
52
+ function findScaffold(scaffolds, query) {
53
+ const q = query.toLowerCase();
54
+ return (scaffolds.find(s => s.slug.toLowerCase() === q) ??
55
+ scaffolds.find(s => s.slug.toLowerCase().includes(q)) ??
56
+ null);
57
+ }
58
+ export function registerScaffoldCommand(workflows) {
59
+ workflows
60
+ .command('scaffold [pattern]')
61
+ .description('Emit a working pipeline JSON skeleton for a named pattern. Run without args to list available scaffolds.')
62
+ .option('--list', 'List available scaffolds')
63
+ .option('--out <path>', 'Write the scaffold JSON to this path instead of stdout')
64
+ .action((pattern, opts) => {
65
+ const scaffolds = loadScaffolds();
66
+ if (scaffolds.length === 0) {
67
+ console.error('No scaffolds bundled with this CLI version.');
68
+ process.exit(1);
69
+ }
70
+ if (!pattern || opts.list) {
71
+ console.log('Available scaffolds:\n');
72
+ for (const s of scaffolds) {
73
+ const tag = s.source === 'local' ? ' [local]' : '';
74
+ console.log(` ${s.slug.padEnd(28)}${tag.padEnd(8)} ${s.name}`);
75
+ if (s.goal)
76
+ console.log(` ${' '.repeat(36)} ${s.goal}`);
77
+ }
78
+ console.log('\nUsage:');
79
+ console.log(' agentled workflows scaffold <pattern> # print JSON to stdout');
80
+ console.log(' agentled workflows scaffold <pattern> --out x.json # write to file');
81
+ console.log(' agentled workflows validate --file x.json # preflight before create');
82
+ console.log(' agentled workflows create --file x.json # create + auto-validate');
83
+ console.log('\nBring your own: drop JSON files in ~/.agentled/scaffolds/ or set');
84
+ console.log('$AGENTLED_SCAFFOLDS_DIR. Local slugs shadow bundled ones with the same name.');
85
+ return;
86
+ }
87
+ const found = findScaffold(scaffolds, pattern);
88
+ if (!found) {
89
+ console.error(`Scaffold "${pattern}" not found. Run \`agentled workflows scaffold --list\` for available scaffolds.`);
90
+ process.exit(1);
91
+ }
92
+ const content = readFileSync(found.path, 'utf-8');
93
+ if (opts.out) {
94
+ writeFileSync(opts.out, content);
95
+ console.error(` ✓ Wrote ${found.slug} to ${opts.out}`);
96
+ console.error(` Next: agentled workflows validate --file ${opts.out}`);
97
+ }
98
+ else {
99
+ process.stdout.write(content);
100
+ }
101
+ });
102
+ }
103
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * `agentled schema` — fetch the canonical PipelineStep field schema from the
3
+ * live API (`GET /api/external/workflows/step-schema`).
4
+ *
5
+ * Wraps the existing `get_step_schema` MCP tool so the CLI-driven agent has
6
+ * a no-MCP way to look up "what fields are valid on an appAction step?" or
7
+ * "what's the minimal JSON for an aiAction?" before writing a pipeline.
8
+ */
9
+ import { Command } from 'commander';
10
+ export declare function registerSchemaCommand(program: Command): void;
@@ -0,0 +1,58 @@
1
+ /* eslint-disable no-console */
2
+ import { AgentledClient } from '../client.js';
3
+ import { printOutput, printError } from '../utils/output.js';
4
+ function filterByStepType(schema, stepType) {
5
+ const groups = schema.groups
6
+ .map(g => ({
7
+ ...g,
8
+ fields: g.fields.filter(f => !f.stepTypes || f.stepTypes.includes(stepType)),
9
+ }))
10
+ .filter(g => g.fields.length > 0);
11
+ const fieldCount = groups.reduce((n, g) => n + g.fields.length, 0);
12
+ return { ...schema, groups, fieldCount };
13
+ }
14
+ function renderTable(schema) {
15
+ const lines = [];
16
+ lines.push(schema.description);
17
+ lines.push(`(${schema.fieldCount} fields in ${schema.groups.length} categories)`);
18
+ lines.push('');
19
+ for (const g of schema.groups) {
20
+ lines.push(`## ${g.category}`);
21
+ lines.push(` ${g.description}`);
22
+ for (const f of g.fields) {
23
+ const req = f.required ? ' *' : '';
24
+ const types = f.stepTypes ? ` [${f.stepTypes.join(', ')}]` : '';
25
+ lines.push(` - ${f.name}${req}: ${f.type}${types}`);
26
+ lines.push(` ${f.description}`);
27
+ if (f.example)
28
+ lines.push(` example: ${f.example}`);
29
+ }
30
+ lines.push('');
31
+ }
32
+ return lines.join('\n');
33
+ }
34
+ export function registerSchemaCommand(program) {
35
+ program
36
+ .command('schema')
37
+ .description('Show the canonical PipelineStep field schema (what fields are valid on a step).')
38
+ .option('--step-type <type>', 'Filter fields applicable to this step type (trigger, appAction, aiAction, code, …)')
39
+ .option('--format <format>', 'Output format: json (default), table, minimal', 'json')
40
+ .action(async (opts) => {
41
+ try {
42
+ const client = new AgentledClient();
43
+ const schema = await client.getStepSchema();
44
+ const filtered = opts.stepType ? filterByStepType(schema, opts.stepType) : schema;
45
+ const format = opts.format;
46
+ if (format === 'table' || format === 'minimal') {
47
+ console.log(renderTable(filtered));
48
+ }
49
+ else {
50
+ printOutput(filtered, format);
51
+ }
52
+ }
53
+ catch (e) {
54
+ printError(e.message);
55
+ }
56
+ });
57
+ }
58
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `agentled skills` — manage the Claude Code skill bundled with the CLI.
3
+ *
4
+ * Matches the old `npx @agentled/mcp-server --setup-skills` flow but surfaces
5
+ * it as a first-class CLI verb so users can refresh skills after the CLI
6
+ * itself is updated.
7
+ */
8
+ import { Command } from 'commander';
9
+ export declare function registerSkillsCommands(program: Command): void;