agentblueprint 0.7.10 → 0.7.12

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.
package/dist/setup.js ADDED
@@ -0,0 +1,251 @@
1
+ import { createInterface } from 'node:readline';
2
+ import { readFileSync, writeFileSync, appendFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { homedir } from 'node:os';
5
+ import { AgentBlueprintClient } from './client.js';
6
+ import { loadConfig } from './config.js';
7
+ import { saveToken } from './token-store.js';
8
+ import { formatError } from './errors.js';
9
+ // ─── Arg parsing ─────────────────────────────────────────────────
10
+ export function parseSetupArgs(args) {
11
+ const result = {};
12
+ for (let i = 0; i < args.length; i++) {
13
+ const arg = args[i];
14
+ switch (arg) {
15
+ case '--token':
16
+ result.token = args[++i];
17
+ break;
18
+ case '--api-url':
19
+ result.apiUrl = args[++i];
20
+ break;
21
+ case '--token-only':
22
+ result.tokenOnly = true;
23
+ break;
24
+ case '--sn-instance':
25
+ result.snInstance = args[++i];
26
+ break;
27
+ case '--sn-user':
28
+ result.snUser = args[++i];
29
+ break;
30
+ case '--sn-pass':
31
+ result.snPass = args[++i];
32
+ break;
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ // ─── Helpers ─────────────────────────────────────────────────────
38
+ function getShellConfigPath() {
39
+ const shell = process.env.SHELL || '';
40
+ if (shell.endsWith('/zsh'))
41
+ return join(homedir(), '.zshrc');
42
+ if (shell.endsWith('/bash'))
43
+ return join(homedir(), '.bashrc');
44
+ // Fallback: try .zshrc on macOS, .bashrc on Linux
45
+ if (process.platform === 'darwin')
46
+ return join(homedir(), '.zshrc');
47
+ return join(homedir(), '.bashrc');
48
+ }
49
+ const MARKER = '# Added by agentblueprint setup';
50
+ function readShellConfig(path) {
51
+ try {
52
+ return readFileSync(path, 'utf-8');
53
+ }
54
+ catch {
55
+ return '';
56
+ }
57
+ }
58
+ /**
59
+ * Append or update SN_* exports in the user's shell config.
60
+ * Uses a marker comment to identify our block.
61
+ */
62
+ function writeShellCredentials(shellPath, instance, username, password) {
63
+ const block = [
64
+ '',
65
+ MARKER,
66
+ `export SN_INSTANCE="${instance}"`,
67
+ `export SN_USER="${username}"`,
68
+ `export SN_PASS="${password}"`,
69
+ ].join('\n');
70
+ const existing = readShellConfig(shellPath);
71
+ // Remove existing block if present
72
+ const markerIdx = existing.indexOf(MARKER);
73
+ if (markerIdx !== -1) {
74
+ // Find the end of the block (next empty line or 3 exports after marker)
75
+ const lines = existing.split('\n');
76
+ const markerLine = lines.findIndex(l => l.includes(MARKER));
77
+ // Remove marker line + up to 3 export lines after it
78
+ let endLine = markerLine + 1;
79
+ while (endLine < lines.length && lines[endLine].startsWith('export SN_')) {
80
+ endLine++;
81
+ }
82
+ lines.splice(markerLine, endLine - markerLine);
83
+ // Remove trailing blank line if we left one
84
+ if (markerLine > 0 && lines[markerLine - 1] === '') {
85
+ lines.splice(markerLine - 1, 1);
86
+ }
87
+ writeFileSync(shellPath, lines.join('\n'), 'utf-8');
88
+ }
89
+ appendFileSync(shellPath, block + '\n', 'utf-8');
90
+ }
91
+ function maskPassword(pass) {
92
+ if (pass.length <= 4)
93
+ return '****';
94
+ return pass.slice(0, 2) + '*'.repeat(pass.length - 4) + pass.slice(-2);
95
+ }
96
+ // ─── Token validation (shared with login) ────────────────────────
97
+ export async function validateAndSaveToken(token, apiUrl) {
98
+ console.error('Validating token...');
99
+ try {
100
+ const config = loadConfig(token);
101
+ const client = new AgentBlueprintClient(config);
102
+ const identity = await client.getIdentity();
103
+ const label = identity.email
104
+ ? `${identity.email} (${identity.organizationName ?? identity.organizationId})`
105
+ : identity.organizationName ?? identity.organizationId;
106
+ console.error(`Authenticated as: ${label}`);
107
+ }
108
+ catch (err) {
109
+ console.error(`Error: Token validation failed. ${formatError(err)}`);
110
+ process.exit(1);
111
+ }
112
+ saveToken(token, apiUrl);
113
+ console.error('Token saved to ~/.config/agentblueprint/config.json');
114
+ }
115
+ // ─── Main setup command ──────────────────────────────────────────
116
+ export async function runSetup(args) {
117
+ const isInteractive = process.stdin.isTTY && !args.token && !process.env.AGENT_BLUEPRINT_API_KEY;
118
+ if (isInteractive) {
119
+ console.error('Agent Blueprint Setup\n');
120
+ }
121
+ // ── Step 1: API Token ──────────────────────────────────────────
122
+ let token = args.token || process.env.AGENT_BLUEPRINT_API_KEY;
123
+ if (!token) {
124
+ // Check if we already have a stored token
125
+ try {
126
+ loadConfig();
127
+ if (isInteractive) {
128
+ console.error('Step 1: API Token');
129
+ console.error('API token already configured.\n');
130
+ }
131
+ }
132
+ catch {
133
+ // No stored token, need one
134
+ if (isInteractive) {
135
+ console.error('Step 1: API Token');
136
+ console.error('Get a token at: https://app.agentblueprint.ai/settings/api-tokens\n');
137
+ const rl = createInterface({ input: process.stdin, output: process.stderr });
138
+ token = await new Promise((resolve) => {
139
+ rl.question('API token: ', (answer) => {
140
+ rl.close();
141
+ resolve(answer.trim());
142
+ });
143
+ });
144
+ }
145
+ if (!token) {
146
+ console.error('Error: No API token provided. Pass --token or set AGENT_BLUEPRINT_API_KEY.');
147
+ process.exit(1);
148
+ }
149
+ await validateAndSaveToken(token, args.apiUrl);
150
+ console.error('');
151
+ }
152
+ }
153
+ else {
154
+ // Token provided via flag or env var
155
+ await validateAndSaveToken(token, args.apiUrl);
156
+ console.error('');
157
+ }
158
+ if (args.tokenOnly) {
159
+ console.error('Setup complete (token only).');
160
+ return;
161
+ }
162
+ // ── Step 2: Platform Access ────────────────────────────────────
163
+ // Resolve credentials: flags > env vars > interactive
164
+ let snInstance = args.snInstance || process.env.SN_INSTANCE;
165
+ let snUser = args.snUser || process.env.SN_USER || 'admin';
166
+ let snPass = args.snPass || process.env.SN_PASS;
167
+ // If all credentials already in env, just confirm
168
+ if (process.env.SN_INSTANCE && process.env.SN_PASS && !args.snInstance) {
169
+ if (isInteractive) {
170
+ console.error('Step 2: Platform Access');
171
+ console.error(`ServiceNow already configured via environment variables:`);
172
+ console.error(` SN_INSTANCE=${process.env.SN_INSTANCE}`);
173
+ console.error(` SN_USER=${process.env.SN_USER || 'admin'}`);
174
+ console.error(` SN_PASS=${maskPassword(process.env.SN_PASS)}\n`);
175
+ }
176
+ }
177
+ else if (snInstance && snPass) {
178
+ // Provided via flags, write to shell config
179
+ const shellPath = getShellConfigPath();
180
+ writeShellCredentials(shellPath, snInstance, snUser, snPass);
181
+ const shellName = shellPath.endsWith('.zshrc') ? '~/.zshrc' : '~/.bashrc';
182
+ console.error(`Added to ${shellName}:`);
183
+ console.error(` export SN_INSTANCE=${snInstance}`);
184
+ console.error(` export SN_USER=${snUser}`);
185
+ console.error(` export SN_PASS=${maskPassword(snPass)}`);
186
+ console.error('');
187
+ console.error(`Run: source ${shellName} (or open a new terminal)\n`);
188
+ // Side effect: write MCP server config if installed
189
+ await writeMcpConfigIfInstalled(snInstance, snUser, snPass);
190
+ }
191
+ else if (isInteractive) {
192
+ console.error('Step 2: Platform Access');
193
+ const rl = createInterface({ input: process.stdin, output: process.stderr });
194
+ const ask = (prompt) => new Promise((resolve) => {
195
+ rl.question(prompt, (answer) => resolve(answer.trim()));
196
+ });
197
+ try {
198
+ const connectSn = await ask('Connect to a ServiceNow instance? (y/n): ');
199
+ if (connectSn.toLowerCase() === 'y' || connectSn.toLowerCase() === 'yes') {
200
+ snInstance = await ask('Instance name: ');
201
+ if (!snInstance) {
202
+ console.error('Skipping ServiceNow setup.\n');
203
+ }
204
+ else {
205
+ const promptedUser = await ask('Username [admin]: ');
206
+ if (promptedUser)
207
+ snUser = promptedUser;
208
+ snPass = await ask('Password: ');
209
+ if (!snPass) {
210
+ console.error('Error: Password is required. Skipping ServiceNow setup.\n');
211
+ }
212
+ else {
213
+ const shellPath = getShellConfigPath();
214
+ writeShellCredentials(shellPath, snInstance, snUser, snPass);
215
+ const shellName = shellPath.endsWith('.zshrc') ? '~/.zshrc' : '~/.bashrc';
216
+ console.error('');
217
+ console.error(`Added to ${shellName}:`);
218
+ console.error(` export SN_INSTANCE=${snInstance}`);
219
+ console.error(` export SN_USER=${snUser}`);
220
+ console.error(` export SN_PASS=${maskPassword(snPass)}`);
221
+ console.error('');
222
+ console.error(`Run: source ${shellName} (or open a new terminal)\n`);
223
+ await writeMcpConfigIfInstalled(snInstance, snUser, snPass);
224
+ }
225
+ }
226
+ }
227
+ else {
228
+ console.error('');
229
+ }
230
+ }
231
+ finally {
232
+ rl.close();
233
+ }
234
+ }
235
+ console.error('Setup complete.');
236
+ }
237
+ /**
238
+ * If servicenow-mcp-server is installed globally, write its config file
239
+ * as a convenience side effect. If not installed, skip silently.
240
+ */
241
+ async function writeMcpConfigIfInstalled(instance, username, password) {
242
+ try {
243
+ const { setupServiceNowMcp } = await import('./mcp-setup.js');
244
+ // Pass credentials so it runs non-interactively
245
+ await setupServiceNowMcp({ instance, username, password });
246
+ }
247
+ catch {
248
+ // MCP server not installed or setup failed — not an error
249
+ }
250
+ }
251
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentblueprint",
3
- "version": "0.7.10",
3
+ "version": "0.7.12",
4
4
  "description": "CLI and MCP server for Agent Blueprint — read blueprints, business cases, implementation plans, and specs from your coding agent",
5
5
  "type": "module",
6
6
  "bin": {