@getbrevo/cli 1.0.0-alpha.0 → 1.0.1

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 (88) hide show
  1. package/CHANGELOG.md +40 -2
  2. package/README.md +35 -46
  3. package/agent-context/AGENTS.md +61 -9
  4. package/agent-context/SKILL.md +40 -2
  5. package/dist/api/client.d.ts +1 -1
  6. package/dist/api/client.d.ts.map +1 -1
  7. package/dist/api/client.js +4 -2
  8. package/dist/api/client.js.map +1 -1
  9. package/dist/bin/index.js +26 -16
  10. package/dist/bin/index.js.map +1 -1
  11. package/dist/commands/app/create.js +8 -8
  12. package/dist/commands/app/create.js.map +1 -1
  13. package/dist/commands/app/credentials.d.ts.map +1 -1
  14. package/dist/commands/app/credentials.js +73 -71
  15. package/dist/commands/app/credentials.js.map +1 -1
  16. package/dist/commands/app/delete.d.ts.map +1 -1
  17. package/dist/commands/app/delete.js +9 -8
  18. package/dist/commands/app/delete.js.map +1 -1
  19. package/dist/commands/app/scaffold.d.ts.map +1 -1
  20. package/dist/commands/app/scaffold.js +69 -70
  21. package/dist/commands/app/scaffold.js.map +1 -1
  22. package/dist/commands/app/start.d.ts.map +1 -1
  23. package/dist/commands/app/start.js +38 -48
  24. package/dist/commands/app/start.js.map +1 -1
  25. package/dist/commands/definitions.d.ts +1 -0
  26. package/dist/commands/definitions.d.ts.map +1 -1
  27. package/dist/commands/definitions.js +23 -1
  28. package/dist/commands/definitions.js.map +1 -1
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +59 -56
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/login.d.ts.map +1 -1
  33. package/dist/commands/login.js +50 -38
  34. package/dist/commands/login.js.map +1 -1
  35. package/dist/commands/skill/install.d.ts +4 -0
  36. package/dist/commands/skill/install.d.ts.map +1 -0
  37. package/dist/commands/skill/install.js +29 -0
  38. package/dist/commands/skill/install.js.map +1 -0
  39. package/dist/commands/skill/uninstall.d.ts +4 -0
  40. package/dist/commands/skill/uninstall.d.ts.map +1 -0
  41. package/dist/commands/skill/uninstall.js +23 -0
  42. package/dist/commands/skill/uninstall.js.map +1 -0
  43. package/dist/commands/whoami.d.ts.map +1 -1
  44. package/dist/commands/whoami.js +5 -1
  45. package/dist/commands/whoami.js.map +1 -1
  46. package/dist/lang/en.d.ts +7 -0
  47. package/dist/lang/en.d.ts.map +1 -1
  48. package/dist/lang/en.js +8 -0
  49. package/dist/lang/en.js.map +1 -1
  50. package/dist/lib/auth-guard.d.ts.map +1 -1
  51. package/dist/lib/auth-guard.js +8 -2
  52. package/dist/lib/auth-guard.js.map +1 -1
  53. package/dist/lib/browser.js +4 -4
  54. package/dist/lib/browser.js.map +1 -1
  55. package/dist/lib/command-registry.js +1 -1
  56. package/dist/lib/command-registry.js.map +1 -1
  57. package/dist/lib/config.d.ts +2 -0
  58. package/dist/lib/config.d.ts.map +1 -1
  59. package/dist/lib/config.js +26 -6
  60. package/dist/lib/config.js.map +1 -1
  61. package/dist/lib/constants.d.ts +2 -0
  62. package/dist/lib/constants.d.ts.map +1 -1
  63. package/dist/lib/constants.js +6 -6
  64. package/dist/lib/constants.js.map +1 -1
  65. package/dist/lib/hidden-input.js +1 -1
  66. package/dist/lib/hidden-input.js.map +1 -1
  67. package/dist/lib/logger.d.ts.map +1 -1
  68. package/dist/lib/logger.js +14 -4
  69. package/dist/lib/logger.js.map +1 -1
  70. package/dist/lib/update-notifier.d.ts.map +1 -1
  71. package/dist/lib/update-notifier.js +11 -11
  72. package/dist/lib/update-notifier.js.map +1 -1
  73. package/dist/services/browser-auth.js +9 -8
  74. package/dist/services/browser-auth.js.map +1 -1
  75. package/dist/services/skill.d.ts +48 -0
  76. package/dist/services/skill.d.ts.map +1 -0
  77. package/dist/services/skill.js +223 -0
  78. package/dist/services/skill.js.map +1 -0
  79. package/dist/skills/index.d.ts +46 -0
  80. package/dist/skills/index.d.ts.map +1 -0
  81. package/dist/skills/index.js +80 -0
  82. package/dist/skills/index.js.map +1 -0
  83. package/dist/templates/files/AGENTS.md.tmpl +5 -0
  84. package/dist/templates/files/CLAUDE.md.tmpl +1 -1
  85. package/dist/templates/files/README.md.tmpl +1 -0
  86. package/dist/templates/index.js +2 -2
  87. package/dist/templates/index.js.map +1 -1
  88. package/package.json +11 -4
@@ -1 +1 @@
1
- {"version":3,"file":"update-notifier.js","sourceRoot":"","sources":["../../src/lib/update-notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-notifier.js","sourceRoot":"","sources":["../../src/lib/update-notifier.ts"],"names":[],"mappings":"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"}
@@ -69,11 +69,11 @@ async function runBrowserLoginFlow(opts) {
69
69
  const openBrowser = opts.openBrowser ?? (() => { });
70
70
  return new Promise((resolve, reject) => {
71
71
  let settled = false;
72
- const settle = (fn) => {
72
+ const claimSettlement = () => {
73
73
  if (settled)
74
- return;
74
+ return false;
75
75
  settled = true;
76
- fn();
76
+ return true;
77
77
  };
78
78
  const server = http.createServer((req, res) => {
79
79
  const pathname = new URL(req.url ?? '/', 'http://127.0.0.1').pathname;
@@ -137,10 +137,10 @@ async function runBrowserLoginFlow(opts) {
137
137
  }
138
138
  (0, logger_1.logDebug)('loopback POST accepted', { hasScope: tokens.scope !== undefined });
139
139
  res.writeHead(204, { 'Access-Control-Allow-Origin': proxyOrigin }).end();
140
- settle(() => {
140
+ if (claimSettlement()) {
141
141
  server.close();
142
142
  resolve(tokens);
143
- });
143
+ }
144
144
  });
145
145
  return;
146
146
  }
@@ -155,7 +155,8 @@ async function runBrowserLoginFlow(opts) {
155
155
  });
156
156
  server.on('error', (err) => {
157
157
  (0, logger_1.logDebug)('loopback server error', { message: err.message });
158
- settle(() => reject(err));
158
+ if (claimSettlement())
159
+ reject(err);
159
160
  });
160
161
  server.listen(0, '127.0.0.1', () => {
161
162
  const port = server.address().port;
@@ -175,10 +176,10 @@ async function runBrowserLoginFlow(opts) {
175
176
  }
176
177
  });
177
178
  const timer = setTimeout(() => {
178
- settle(() => {
179
+ if (claimSettlement()) {
179
180
  server.close();
180
181
  reject(new errors_1.CliError(en_1.messages.AUTH_BROWSER_TIMEOUT));
181
- });
182
+ }
182
183
  }, timeoutMs);
183
184
  timer.unref?.();
184
185
  server.on('close', () => clearTimeout(timer));
@@ -1 +1 @@
1
- {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/services/browser-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/services/browser-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export declare function getClaudeSkillsRoot(): string;
2
+ export type InstallStatus = 'installed' | 'already-installed' | 'overwritten';
3
+ export interface InstallResult {
4
+ name: string;
5
+ version: string;
6
+ status: InstallStatus;
7
+ path: string;
8
+ }
9
+ export interface UninstallResult {
10
+ name: string;
11
+ path: string;
12
+ }
13
+ export interface OutdatedSkill {
14
+ name: string;
15
+ installedVersion: string;
16
+ latestVersion: string;
17
+ }
18
+ export declare const skillService: {
19
+ /**
20
+ * Installed skills whose marker version is behind the bundled catalog.
21
+ * Pure file read — safe to call on every CLI invocation for auto-refresh.
22
+ */
23
+ getOutdatedSkills(): OutdatedSkill[];
24
+ /** True when the named skill is installed (marker present). */
25
+ isInstalled(name: string): boolean;
26
+ install(name: string, options?: {
27
+ force?: boolean;
28
+ }): InstallResult;
29
+ installAll(options?: {
30
+ force?: boolean;
31
+ }): InstallResult[];
32
+ uninstallAll(): UninstallResult[];
33
+ /**
34
+ * Refresh installed skills whose marker version drifts from the bundled
35
+ * catalog. Pure local file ops — safe to call after every CLI invocation.
36
+ * Errors during the refresh emit a single error line and never throw,
37
+ * so a broken refresh can't block the user's actual command.
38
+ */
39
+ autoRefreshOutdated(opts?: AutoRefreshOptions): void;
40
+ };
41
+ export type SkillService = typeof skillService;
42
+ export interface AutoRefreshOptions {
43
+ argv?: readonly string[];
44
+ env?: NodeJS.ProcessEnv;
45
+ output?: NodeJS.WriteStream;
46
+ }
47
+ export declare function shouldSkipAutoRefresh(opts?: AutoRefreshOptions): boolean;
48
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/services/skill.ts"],"names":[],"mappings":"AAaA,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C;AAwED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,YAAY;IACvB;;;OAGG;yBACkB,aAAa,EAAE;IAepC,+DAA+D;sBAC7C,MAAM,GAAG,OAAO;kBAMpB,MAAM,YAAW;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAQ,aAAa;yBA6BnD;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAQ,aAAa,EAAE;oBAI9C,eAAe,EAAE;IASjC;;;;;OAKG;+BACuB,kBAAkB,GAAQ,IAAI;CAwBzD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAM/C,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAgB5E"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.skillService = void 0;
37
+ exports.getClaudeSkillsRoot = getClaudeSkillsRoot;
38
+ exports.shouldSkipAutoRefresh = shouldSkipAutoRefresh;
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
+ const os = __importStar(require("node:os"));
42
+ const en_1 = require("../lang/en");
43
+ const errors_1 = require("../lib/errors");
44
+ const skills_1 = require("../skills");
45
+ // ──────────────── Target directory ────────────────
46
+ // Claude Code reads skills from `~/.claude/skills/<name>/`. The path is
47
+ // overridable via BREVO_CLAUDE_HOME so tests (and future Cursor support)
48
+ // can target a different root without monkey-patching `os.homedir`.
49
+ function getClaudeSkillsRoot() {
50
+ const override = process.env.BREVO_CLAUDE_HOME;
51
+ if (override && override.trim()) {
52
+ return path.join(override, 'skills');
53
+ }
54
+ return path.join(os.homedir(), '.claude', 'skills');
55
+ }
56
+ function getSkillTargetDir(name) {
57
+ return path.join(getClaudeSkillsRoot(), name);
58
+ }
59
+ // ──────────────── Install marker ────────────────
60
+ // A `.brevo-skill.json` file inside each installed skill records the version
61
+ // and source. It lets the auto-refresh pass decide whether a refresh is needed
62
+ // and lets `brevo skill:cli uninstall` confirm we only delete directories the CLI
63
+ // created — never something the user dropped in `~/.claude/skills/` manually.
64
+ const MARKER_FILE = '.brevo-skill.json';
65
+ function readMarker(skillDir) {
66
+ try {
67
+ const raw = JSON.parse(fs.readFileSync(path.join(skillDir, MARKER_FILE), 'utf-8'));
68
+ if (raw &&
69
+ typeof raw === 'object' &&
70
+ typeof raw.name === 'string' &&
71
+ typeof raw.version === 'string' &&
72
+ raw.source === 'brevo-cli') {
73
+ return {
74
+ name: raw.name,
75
+ version: raw.version,
76
+ installedAt: typeof raw.installedAt === 'string' ? raw.installedAt : '',
77
+ source: 'brevo-cli',
78
+ };
79
+ }
80
+ return null;
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ function writeMarker(skillDir, entry) {
87
+ const marker = {
88
+ name: entry.name,
89
+ version: entry.version,
90
+ installedAt: new Date().toISOString(),
91
+ source: 'brevo-cli',
92
+ };
93
+ fs.writeFileSync(path.join(skillDir, MARKER_FILE), JSON.stringify(marker, null, 2) + '\n', 'utf-8');
94
+ }
95
+ // ──────────────── File copy ────────────────
96
+ function copySkillFiles(entry, targetDir) {
97
+ fs.mkdirSync(targetDir, { recursive: true });
98
+ for (const relative of entry.files) {
99
+ const src = path.join(skills_1.SKILLS_BUNDLE_DIR, entry.subdir, relative);
100
+ const dest = path.join(targetDir, relative);
101
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
102
+ fs.copyFileSync(src, dest);
103
+ }
104
+ }
105
+ exports.skillService = {
106
+ /**
107
+ * Installed skills whose marker version is behind the bundled catalog.
108
+ * Pure file read — safe to call on every CLI invocation for auto-refresh.
109
+ */
110
+ getOutdatedSkills() {
111
+ return skills_1.SKILL_CATALOG.flatMap((entry) => {
112
+ const marker = readMarker(getSkillTargetDir(entry.name));
113
+ if (!marker)
114
+ return [];
115
+ if (marker.version === entry.version)
116
+ return [];
117
+ return [
118
+ {
119
+ name: entry.name,
120
+ installedVersion: marker.version,
121
+ latestVersion: entry.version,
122
+ },
123
+ ];
124
+ });
125
+ },
126
+ /** True when the named skill is installed (marker present). */
127
+ isInstalled(name) {
128
+ const entry = (0, skills_1.getSkill)(name);
129
+ if (!entry)
130
+ return false;
131
+ return readMarker(getSkillTargetDir(entry.name)) !== null;
132
+ },
133
+ install(name, options = {}) {
134
+ const entry = (0, skills_1.getSkill)(name);
135
+ if (!entry) {
136
+ throw new errors_1.CliError(unknownSkillMessage(name));
137
+ }
138
+ const targetDir = getSkillTargetDir(entry.name);
139
+ const marker = readMarker(targetDir);
140
+ if (marker && !options.force) {
141
+ return {
142
+ name: entry.name,
143
+ version: marker.version,
144
+ status: 'already-installed',
145
+ path: targetDir,
146
+ };
147
+ }
148
+ copySkillFiles(entry, targetDir);
149
+ writeMarker(targetDir, entry);
150
+ return {
151
+ name: entry.name,
152
+ version: entry.version,
153
+ status: marker ? 'overwritten' : 'installed',
154
+ path: targetDir,
155
+ };
156
+ },
157
+ installAll(options = {}) {
158
+ return skills_1.SKILL_CATALOG.map((entry) => this.install(entry.name, options));
159
+ },
160
+ uninstallAll() {
161
+ return skills_1.SKILL_CATALOG.flatMap((entry) => {
162
+ const targetDir = getSkillTargetDir(entry.name);
163
+ if (!readMarker(targetDir))
164
+ return [];
165
+ fs.rmSync(targetDir, { recursive: true, force: true });
166
+ return [{ name: entry.name, path: targetDir }];
167
+ });
168
+ },
169
+ /**
170
+ * Refresh installed skills whose marker version drifts from the bundled
171
+ * catalog. Pure local file ops — safe to call after every CLI invocation.
172
+ * Errors during the refresh emit a single error line and never throw,
173
+ * so a broken refresh can't block the user's actual command.
174
+ */
175
+ autoRefreshOutdated(opts = {}) {
176
+ if (shouldSkipAutoRefresh(opts))
177
+ return;
178
+ let outdated;
179
+ try {
180
+ outdated = this.getOutdatedSkills();
181
+ }
182
+ catch {
183
+ return;
184
+ }
185
+ if (outdated.length === 0)
186
+ return;
187
+ const output = opts.output ?? process.stderr;
188
+ for (const s of outdated) {
189
+ try {
190
+ this.install(s.name, { force: true });
191
+ output.write(` ${en_1.messages.SKILL_AUTOREFRESHED(s.name, s.installedVersion, s.latestVersion)}\n`);
192
+ }
193
+ catch (err) {
194
+ const msg = err instanceof Error ? err.message : String(err);
195
+ output.write(` ${en_1.messages.SKILL_AUTOREFRESH_FAILED(s.name, msg)}\n`);
196
+ }
197
+ }
198
+ },
199
+ };
200
+ function shouldSkipAutoRefresh(opts = {}) {
201
+ const env = opts.env ?? process.env;
202
+ const argv = opts.argv ?? process.argv;
203
+ // CI runners shouldn't have surprise mutations to ~/.claude.
204
+ if (env.CI === 'true' || env.CI === '1')
205
+ return true;
206
+ // --json callers want deterministic, machine-readable output.
207
+ if (argv.includes('--json'))
208
+ return true;
209
+ // The user is already managing skills — let their explicit command do the work.
210
+ if (argv.length > 2 && argv[2] === 'skill:cli')
211
+ return true;
212
+ // Dedicated opt-out for users who hand-edit their installed SKILL.md and
213
+ // don't want it clobbered on the next `brevo` run.
214
+ if (env.BREVO_NO_SKILL_AUTOREFRESH === '1' || env.BREVO_NO_SKILL_AUTOREFRESH === 'true') {
215
+ return true;
216
+ }
217
+ return false;
218
+ }
219
+ function unknownSkillMessage(name) {
220
+ const available = skills_1.SKILL_CATALOG.map((s) => s.name).join(', ');
221
+ return `Unknown skill "${name}". Available: ${available}`;
222
+ }
223
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/services/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Catalog of Brevo-authored agent skills installable via `brevo skill:cli install`.
3
+ *
4
+ * Source content lives under `agent-context/` at the repo root — the same
5
+ * directory the README documents for manual install (`cp .../agent-context/
6
+ * SKILL.md ...`). Keeping a single source avoids drift between the
7
+ * programmatic install path and the documented manual path.
8
+ *
9
+ * **Skill version is the CLI version.** Every published CLI release carries
10
+ * its own bundled `agent-context/`, so installed skills auto-refresh after a
11
+ * CLI upgrade even if `SKILL.md` itself didn't change. This eliminates the
12
+ * "forgot to bump skill version when editing SKILL.md" failure mode.
13
+ *
14
+ * To add a new skill:
15
+ * 1. Drop SKILL.md (+ any supporting files) under `agent-context/<subdir>/`,
16
+ * or directly under `agent-context/` if it shares the brevo-cli layout.
17
+ * 2. Add an entry below with `subdir` pointing at the right directory.
18
+ */
19
+ export interface SkillEntry {
20
+ /** Stable, kebab-case identifier for the skill catalog entry. */
21
+ name: string;
22
+ /** Short one-line summary. */
23
+ description: string;
24
+ /** Tracks the CLI version (see `CLI_VERSION` below). */
25
+ version: string;
26
+ /**
27
+ * Subdirectory under `SKILLS_BUNDLE_DIR` that holds this skill's files.
28
+ * `''` means files live directly in the bundle root (used by brevo-cli,
29
+ * which shares `agent-context/` with the manually-installable copy).
30
+ */
31
+ subdir: string;
32
+ /** Files to copy, relative to `SKILLS_BUNDLE_DIR/<subdir>/`. */
33
+ files: string[];
34
+ }
35
+ export declare const CLI_VERSION: string;
36
+ export declare const SKILL_CATALOG: readonly SkillEntry[];
37
+ /**
38
+ * Absolute path to the bundled skill source directory. Resolved relative to
39
+ * this file so the same code works under ts-jest (`src/skills/`), built dev
40
+ * builds (`dist/skills/`), and the published tarball
41
+ * (`node_modules/@getbrevo/cli/dist/skills/`). The `agent-context/` directory
42
+ * is shipped at the package root via `package.json` `files:`.
43
+ */
44
+ export declare const SKILLS_BUNDLE_DIR: string;
45
+ export declare function getSkill(name: string): SkillEntry | undefined;
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAqBD,eAAO,MAAM,WAAW,QAAmB,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EASrC,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAuD,CAAC;AAEtF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SKILLS_BUNDLE_DIR = exports.SKILL_CATALOG = exports.CLI_VERSION = void 0;
37
+ exports.getSkill = getSkill;
38
+ const fs = __importStar(require("node:fs"));
39
+ const path = __importStar(require("node:path"));
40
+ /**
41
+ * CLI version pulled from the bundled `package.json` at module-init.
42
+ *
43
+ * Resolved relative to this file so the same lookup works under ts-jest
44
+ * (`src/skills/` → repo root) and the published tarball
45
+ * (`node_modules/@getbrevo/cli/dist/skills/` → package root). Falls back to
46
+ * `'0.0.0'` if the file is missing or malformed — the auto-refresh pass
47
+ * then never fires, which is the safe default.
48
+ */
49
+ function readCliVersion() {
50
+ try {
51
+ const pkgPath = path.resolve(__dirname, '..', '..', 'package.json');
52
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
53
+ return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
54
+ }
55
+ catch {
56
+ return '0.0.0';
57
+ }
58
+ }
59
+ exports.CLI_VERSION = readCliVersion();
60
+ exports.SKILL_CATALOG = [
61
+ {
62
+ name: 'brevo-cli',
63
+ description: 'Agent primer for the Brevo Developer CLI — decision tree, hard rules, and command map for the `brevo` binary.',
64
+ version: exports.CLI_VERSION,
65
+ subdir: '',
66
+ files: ['SKILL.md'],
67
+ },
68
+ ];
69
+ /**
70
+ * Absolute path to the bundled skill source directory. Resolved relative to
71
+ * this file so the same code works under ts-jest (`src/skills/`), built dev
72
+ * builds (`dist/skills/`), and the published tarball
73
+ * (`node_modules/@getbrevo/cli/dist/skills/`). The `agent-context/` directory
74
+ * is shipped at the package root via `package.json` `files:`.
75
+ */
76
+ exports.SKILLS_BUNDLE_DIR = path.resolve(__dirname, '..', '..', 'agent-context');
77
+ function getSkill(name) {
78
+ return exports.SKILL_CATALOG.find((s) => s.name === name);
79
+ }
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFA,4BAEC;AAlFD,4CAA8B;AAC9B,gDAAkC;AAsClC;;;;;;;;GAQG;AACH,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA0B,CAAC;QACnF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAEY,QAAA,WAAW,GAAG,cAAc,EAAE,CAAC;AAE/B,QAAA,aAAa,GAA0B;IAClD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,+GAA+G;QACjH,OAAO,EAAE,mBAAW;QACpB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,CAAC,UAAU,CAAC;KACpB;CACO,CAAC;AAEX;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAEtF,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACpD,CAAC"}
@@ -45,3 +45,8 @@ yarn --cwd src/oauth install
45
45
  # or: npm --prefix src/oauth install
46
46
  brevo app start oauth # port is read from app-config.json; override with --port
47
47
  ```
48
+
49
+ ## Docs
50
+ - [Brevo API Documentation](https://developers.brevo.com)
51
+ - [Brevo CLI reference](https://developers.brevo.com/docs/cli-reference) — full command and option list
52
+ - [Brevo CLI repo](https://github.com/getbrevo/brevo-cli)
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Project
4
4
  Brevo OAuth integration for app `{{APP_ID}}`.
5
- Scaffolded with the [Brevo CLI](https://github.com/getbrevo/brevo-cli).
5
+ Scaffolded with the [Brevo CLI](https://github.com/getbrevo/brevo-cli) — see the [Brevo CLI reference](https://developers.brevo.com/docs/cli-reference) for the full command list.
6
6
 
7
7
  > **This is a test app** scaffolded by the Brevo CLI to help you test your OAuth integration locally.
8
8
 
@@ -80,4 +80,5 @@ brevo app update --app-id {{APP_ID}} --name "New Name"
80
80
  ## Docs
81
81
 
82
82
  - [Brevo API Documentation](https://developers.brevo.com)
83
+ - [Brevo CLI reference](https://developers.brevo.com/docs/cli-reference)
83
84
  - [Brevo CLI](https://github.com/getbrevo/brevo-cli)
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.readmeTemplate = exports.claudeMdTemplate = exports.agentsMdTemplate = exports.appConfigTemplate = exports.packageJsonTemplate = exports.gitignoreTemplate = exports.envLocalTemplate = exports.envExampleTemplate = exports.tokenStoreJsTemplate = exports.oauthHandlerTemplate = exports.oauthServerJsTemplate = exports.TEMPLATE_MANIFEST = void 0;
37
37
  exports.applyVars = applyVars;
38
38
  exports.loadAllTemplates = loadAllTemplates;
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
41
  const TEMPLATES_DIR = path.resolve(__dirname, 'files');
42
42
  /**
43
43
  * Read a .tmpl file from the templates/files directory.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}