agentblueprint 0.6.31 → 0.7.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 (34) hide show
  1. package/dist/__tests__/mcp-setup.test.js +9 -106
  2. package/dist/__tests__/mcp-setup.test.js.map +1 -1
  3. package/dist/client.d.ts +19 -0
  4. package/dist/client.js +45 -0
  5. package/dist/client.js.map +1 -1
  6. package/dist/fetch-blueprint.js +6 -0
  7. package/dist/fetch-blueprint.js.map +1 -1
  8. package/dist/mcp-setup.d.ts +2 -2
  9. package/dist/mcp-setup.js +20 -43
  10. package/dist/mcp-setup.js.map +1 -1
  11. package/dist/renderers.d.ts +7 -0
  12. package/dist/renderers.js +62 -0
  13. package/dist/renderers.js.map +1 -1
  14. package/dist/server.js +57 -0
  15. package/dist/server.js.map +1 -1
  16. package/dist/tools/recalculate-financials.d.ts +17 -0
  17. package/dist/tools/recalculate-financials.js +37 -0
  18. package/dist/tools/recalculate-financials.js.map +1 -0
  19. package/dist/tools/update-blueprint.d.ts +18 -0
  20. package/dist/tools/update-blueprint.js +34 -0
  21. package/dist/tools/update-blueprint.js.map +1 -0
  22. package/dist/tools/update-business-case.d.ts +18 -0
  23. package/dist/tools/update-business-case.js +31 -0
  24. package/dist/tools/update-business-case.js.map +1 -0
  25. package/dist/tools/update-business-profile.d.ts +17 -0
  26. package/dist/tools/update-business-profile.js +29 -0
  27. package/dist/tools/update-business-profile.js.map +1 -0
  28. package/dist/tools/update-implementation-plan.d.ts +18 -0
  29. package/dist/tools/update-implementation-plan.js +22 -0
  30. package/dist/tools/update-implementation-plan.js.map +1 -0
  31. package/dist/tools/update-use-case.d.ts +18 -0
  32. package/dist/tools/update-use-case.js +29 -0
  33. package/dist/tools/update-use-case.js.map +1 -0
  34. package/package.json +1 -1
@@ -1,11 +1,9 @@
1
1
  import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
+ import { writeFile, mkdir } from 'node:fs/promises';
3
3
  import { execFile } from 'node:child_process';
4
4
  vi.mock('node:fs/promises', () => ({
5
- readFile: vi.fn(),
6
5
  writeFile: vi.fn(),
7
6
  mkdir: vi.fn(),
8
- access: vi.fn(),
9
7
  }));
10
8
  vi.mock('node:child_process', () => ({
11
9
  execFile: vi.fn(),
@@ -52,7 +50,6 @@ describe('setupServiceNowMcp', () => {
52
50
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/bin/servicenow-mcp-server\n', stderr: '' });
53
51
  // npm root -g
54
52
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/lib/node_modules\n', stderr: '' });
55
- vi.mocked(readFile).mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' }));
56
53
  vi.mocked(writeFile).mockResolvedValue(undefined);
57
54
  vi.mocked(mkdir).mockResolvedValue(undefined);
58
55
  await runSetup();
@@ -68,7 +65,6 @@ describe('setupServiceNowMcp', () => {
68
65
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/bin/servicenow-mcp-server\n', stderr: '' });
69
66
  // npm root -g
70
67
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/lib/node_modules\n', stderr: '' });
71
- vi.mocked(readFile).mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' }));
72
68
  vi.mocked(writeFile).mockResolvedValue(undefined);
73
69
  vi.mocked(mkdir).mockResolvedValue(undefined);
74
70
  await runSetup();
@@ -81,7 +77,6 @@ describe('setupServiceNowMcp', () => {
81
77
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/bin/servicenow-mcp-server\n', stderr: '' });
82
78
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/bin/servicenow-mcp-server\n', stderr: '' });
83
79
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/local/lib/node_modules\n', stderr: '' });
84
- vi.mocked(readFile).mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' }));
85
80
  vi.mocked(writeFile).mockResolvedValue(undefined);
86
81
  vi.mocked(mkdir).mockResolvedValue(undefined);
87
82
  await runSetup();
@@ -99,116 +94,24 @@ describe('setupServiceNowMcp', () => {
99
94
  });
100
95
  expect(configCall[2]).toEqual({ encoding: 'utf-8', mode: 0o600 });
101
96
  });
102
- it('merges into existing .claude/settings.json without clobbering', async () => {
103
- mockAnswers = ['myinst', 'admin', 'pass'];
104
- const mockedExecFile = vi.mocked(execFile);
105
- mockedExecFile.mockResolvedValueOnce({ stdout: '/opt/bin/servicenow-mcp-server\n', stderr: '' });
106
- mockedExecFile.mockResolvedValueOnce({ stdout: '/opt/bin/servicenow-mcp-server\n', stderr: '' });
107
- mockedExecFile.mockResolvedValueOnce({ stdout: '/opt/lib/node_modules\n', stderr: '' });
108
- const existingSettings = {
109
- permissions: { allow: ['npm'] },
110
- mcpServers: {
111
- 'other-server': { command: '/bin/other', args: ['--flag'] },
112
- },
113
- };
114
- vi.mocked(readFile).mockImplementation(async (path) => {
115
- if (String(path).endsWith('settings.json')) {
116
- return JSON.stringify(existingSettings);
117
- }
118
- throw Object.assign(new Error('ENOENT'), { code: 'ENOENT' });
119
- });
120
- vi.mocked(writeFile).mockResolvedValue(undefined);
121
- vi.mocked(mkdir).mockResolvedValue(undefined);
122
- await runSetup();
123
- // Find the settings.json write
124
- const settingsCall = vi.mocked(writeFile).mock.calls.find((call) => String(call[0]).endsWith('settings.json'));
125
- expect(settingsCall).toBeDefined();
126
- const settingsJson = JSON.parse(settingsCall[1]);
127
- // Existing keys preserved
128
- expect(settingsJson.permissions).toEqual({ allow: ['npm'] });
129
- expect(settingsJson.mcpServers['other-server']).toEqual({ command: '/bin/other', args: ['--flag'] });
130
- // New key added
131
- expect(settingsJson.mcpServers.servicenow).toEqual({
132
- command: '/opt/bin/servicenow-mcp-server',
133
- args: [],
134
- });
135
- });
136
- it('creates new .claude/settings.json when absent', async () => {
97
+ it('only writes the config file, not settings.json or .gitignore', async () => {
137
98
  mockAnswers = ['myinst', 'admin', 'pass'];
138
99
  const mockedExecFile = vi.mocked(execFile);
139
100
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
140
101
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
141
102
  mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/lib/node_modules\n', stderr: '' });
142
- vi.mocked(readFile).mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' }));
143
103
  vi.mocked(writeFile).mockResolvedValue(undefined);
144
104
  vi.mocked(mkdir).mockResolvedValue(undefined);
145
105
  await runSetup();
146
- const settingsCall = vi.mocked(writeFile).mock.calls.find((call) => String(call[0]).endsWith('settings.json'));
147
- expect(settingsCall).toBeDefined();
148
- const settingsJson = JSON.parse(settingsCall[1]);
149
- expect(settingsJson).toEqual({
150
- mcpServers: {
151
- servicenow: {
152
- command: '/usr/bin/servicenow-mcp-server',
153
- args: [],
154
- },
155
- },
156
- });
106
+ // Only one writeFile call: the config file
107
+ expect(vi.mocked(writeFile)).toHaveBeenCalledTimes(1);
108
+ expect(String(vi.mocked(writeFile).mock.calls[0][0])).toContain('servicenow-instances.json');
157
109
  });
158
- it('appends to .gitignore when entry missing', async () => {
159
- mockAnswers = ['myinst', 'admin', 'pass'];
160
- const mockedExecFile = vi.mocked(execFile);
161
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
162
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
163
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/lib/node_modules\n', stderr: '' });
164
- vi.mocked(readFile).mockImplementation(async (path) => {
165
- if (String(path).endsWith('.gitignore')) {
166
- return 'node_modules\ndist\n';
167
- }
168
- throw Object.assign(new Error('ENOENT'), { code: 'ENOENT' });
169
- });
170
- vi.mocked(writeFile).mockResolvedValue(undefined);
171
- vi.mocked(mkdir).mockResolvedValue(undefined);
110
+ it('aborts when password is empty', async () => {
111
+ mockAnswers = ['myinst', 'admin', ''];
172
112
  await runSetup();
173
- const gitignoreCall = vi.mocked(writeFile).mock.calls.find((call) => String(call[0]).endsWith('.gitignore'));
174
- expect(gitignoreCall).toBeDefined();
175
- const content = gitignoreCall[1];
176
- expect(content).toContain('.claude/settings.json');
177
- expect(content).toContain('node_modules');
178
- });
179
- it('skips .gitignore append when entry already present', async () => {
180
- mockAnswers = ['myinst', 'admin', 'pass'];
181
- const mockedExecFile = vi.mocked(execFile);
182
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
183
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/bin/servicenow-mcp-server\n', stderr: '' });
184
- mockedExecFile.mockResolvedValueOnce({ stdout: '/usr/lib/node_modules\n', stderr: '' });
185
- vi.mocked(readFile).mockImplementation(async (path) => {
186
- if (String(path).endsWith('.gitignore')) {
187
- return 'node_modules\n.claude/settings.json\ndist\n';
188
- }
189
- throw Object.assign(new Error('ENOENT'), { code: 'ENOENT' });
190
- });
191
- vi.mocked(writeFile).mockResolvedValue(undefined);
192
- vi.mocked(mkdir).mockResolvedValue(undefined);
193
- await runSetup();
194
- const gitignoreCall = vi.mocked(writeFile).mock.calls.find((call) => String(call[0]).endsWith('.gitignore'));
195
- // Should not write .gitignore since entry already present
196
- expect(gitignoreCall).toBeUndefined();
197
- });
198
- it('uses absolute binary path in settings', async () => {
199
- mockAnswers = ['myinst', 'admin', 'pass'];
200
- const mockedExecFile = vi.mocked(execFile);
201
- mockedExecFile.mockResolvedValueOnce({ stdout: '/home/user/.nvm/versions/node/v20/bin/servicenow-mcp-server\n', stderr: '' });
202
- mockedExecFile.mockResolvedValueOnce({ stdout: '/home/user/.nvm/versions/node/v20/bin/servicenow-mcp-server\n', stderr: '' });
203
- mockedExecFile.mockResolvedValueOnce({ stdout: '/home/user/.nvm/versions/node/v20/lib/node_modules\n', stderr: '' });
204
- vi.mocked(readFile).mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' }));
205
- vi.mocked(writeFile).mockResolvedValue(undefined);
206
- vi.mocked(mkdir).mockResolvedValue(undefined);
207
- await runSetup();
208
- const settingsCall = vi.mocked(writeFile).mock.calls.find((call) => String(call[0]).endsWith('settings.json'));
209
- expect(settingsCall).toBeDefined();
210
- const settingsJson = JSON.parse(settingsCall[1]);
211
- expect(settingsJson.mcpServers.servicenow.command).toBe('/home/user/.nvm/versions/node/v20/bin/servicenow-mcp-server');
113
+ expect(vi.mocked(execFile)).not.toHaveBeenCalled();
114
+ expect(vi.mocked(writeFile)).not.toHaveBeenCalled();
212
115
  });
213
116
  });
214
117
  //# sourceMappingURL=mcp-setup.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-setup.test.js","sourceRoot":"","sources":["../../src/__tests__/mcp-setup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-setup.test.js","sourceRoot":"","sources":["../../src/__tests__/mcp-setup.test.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare class AgentBlueprintClient {
10
10
  constructor(config: Config);
11
11
  private request;
12
12
  private postRequest;
13
+ private patchRequest;
13
14
  private orgQuery;
14
15
  getBusinessProfile(customerOrgId?: string): Promise<BusinessProfile>;
15
16
  listBlueprints(customerOrgId?: string): Promise<BlueprintSummary[]>;
@@ -22,6 +23,12 @@ export declare class AgentBlueprintClient {
22
23
  getImplementationState(blueprintId: string, customerOrgId?: string): Promise<ImplementationStateResponse | null>;
23
24
  reportMetrics(blueprintId: string, metrics: ReportMetricInput[], reportedBy: string, customerOrgId?: string): Promise<ReportMetricsResponse>;
24
25
  getProgress(blueprintId: string, customerOrgId?: string): Promise<ProgressResponse>;
26
+ updateBlueprint(blueprintId: string, sections: Record<string, unknown>, customerOrgId?: string): Promise<ArtifactUpdateResponse>;
27
+ updateBusinessCase(blueprintId: string, sections: Record<string, unknown>, customerOrgId?: string): Promise<ArtifactUpdateResponse>;
28
+ updateImplementationPlan(blueprintId: string, sections: Record<string, unknown>, customerOrgId?: string): Promise<ArtifactUpdateResponse>;
29
+ updateUseCase(blueprintId: string, sections: Record<string, unknown>, customerOrgId?: string): Promise<ArtifactUpdateResponse>;
30
+ updateBusinessProfile(fields: Record<string, unknown>, customerOrgId?: string): Promise<ArtifactUpdateResponse>;
31
+ recalculateFinancials(blueprintId: string, customerOrgId?: string): Promise<Record<string, unknown>>;
25
32
  getVendorGuide(platform: string): Promise<VendorGuideResponse | null>;
26
33
  getVendorSkill(platform: string): Promise<VendorSkillResponse | null>;
27
34
  getBaseSkill(): Promise<BaseSkillResponse | null>;
@@ -34,6 +41,7 @@ export interface BlueprintSummary {
34
41
  agentCount: number;
35
42
  lifecycleStatus: string;
36
43
  useCaseId: string | null;
44
+ staleSince: string | null;
37
45
  createdAt: string;
38
46
  updatedAt: string;
39
47
  }
@@ -42,6 +50,7 @@ export interface BlueprintDetail {
42
50
  version: number;
43
51
  lifecycleStatus: string;
44
52
  useCaseId: string | null;
53
+ staleSince: string | null;
45
54
  createdAt: string;
46
55
  updatedAt: string;
47
56
  data: Record<string, unknown>;
@@ -50,6 +59,7 @@ export interface ArtifactResponse {
50
59
  id: string;
51
60
  version: number;
52
61
  blueprintId: string;
62
+ staleSince: string | null;
53
63
  createdAt: string;
54
64
  updatedAt: string;
55
65
  data: Record<string, unknown>;
@@ -166,3 +176,12 @@ export interface ReportMetricsResponse {
166
176
  };
167
177
  }
168
178
  export type { ProgressResponse } from './types.js';
179
+ export interface ArtifactUpdateResponse {
180
+ id: string;
181
+ version?: number;
182
+ updatedAt: string;
183
+ staleSince: string | null;
184
+ versionSnapshot?: number | null;
185
+ downstreamStale: string[];
186
+ message?: string;
187
+ }
package/dist/client.js CHANGED
@@ -54,6 +54,32 @@ export class AgentBlueprintClient {
54
54
  }
55
55
  return json.data;
56
56
  }
57
+ async patchRequest(path, body, query) {
58
+ const url = new URL(`${this.config.apiUrl}/api/v1${path}`);
59
+ if (query) {
60
+ for (const [k, v] of Object.entries(query)) {
61
+ url.searchParams.set(k, v);
62
+ }
63
+ }
64
+ const response = await fetch(url.toString(), {
65
+ method: 'PATCH',
66
+ headers: {
67
+ 'Authorization': `Bearer ${this.config.apiKey}`,
68
+ 'Content-Type': 'application/json',
69
+ 'Accept': 'application/json',
70
+ },
71
+ body: JSON.stringify(body),
72
+ });
73
+ if (!response.ok) {
74
+ const respBody = await response.json().catch(() => ({ error: response.statusText }));
75
+ throw new ApiError(response.status, respBody.error || `Request failed: ${response.status}`);
76
+ }
77
+ const json = (await response.json());
78
+ if (!json.success) {
79
+ throw new ApiError(400, 'API returned unsuccessful response');
80
+ }
81
+ return json.data;
82
+ }
57
83
  orgQuery(customerOrgId) {
58
84
  return customerOrgId ? { customerOrgId } : undefined;
59
85
  }
@@ -90,6 +116,25 @@ export class AgentBlueprintClient {
90
116
  async getProgress(blueprintId, customerOrgId) {
91
117
  return this.request(`/blueprints/${encodeURIComponent(blueprintId)}/progress`, this.orgQuery(customerOrgId));
92
118
  }
119
+ // ─── Registry write methods ──────────────────────────────────────
120
+ async updateBlueprint(blueprintId, sections, customerOrgId) {
121
+ return this.patchRequest(`/blueprints/${encodeURIComponent(blueprintId)}`, { sections }, this.orgQuery(customerOrgId));
122
+ }
123
+ async updateBusinessCase(blueprintId, sections, customerOrgId) {
124
+ return this.patchRequest(`/blueprints/${encodeURIComponent(blueprintId)}/business-case`, { sections }, this.orgQuery(customerOrgId));
125
+ }
126
+ async updateImplementationPlan(blueprintId, sections, customerOrgId) {
127
+ return this.patchRequest(`/blueprints/${encodeURIComponent(blueprintId)}/implementation-plan`, { sections }, this.orgQuery(customerOrgId));
128
+ }
129
+ async updateUseCase(blueprintId, sections, customerOrgId) {
130
+ return this.patchRequest(`/blueprints/${encodeURIComponent(blueprintId)}/use-case`, { sections }, this.orgQuery(customerOrgId));
131
+ }
132
+ async updateBusinessProfile(fields, customerOrgId) {
133
+ return this.patchRequest('/business-profile', { fields }, this.orgQuery(customerOrgId));
134
+ }
135
+ async recalculateFinancials(blueprintId, customerOrgId) {
136
+ return this.postRequest(`/blueprints/${encodeURIComponent(blueprintId)}/business-case/recalculate`, {}, this.orgQuery(customerOrgId));
137
+ }
93
138
  async getVendorGuide(platform) {
94
139
  try {
95
140
  const url = new URL(`${this.config.apiUrl}/api/vendor-guide/${encodeURIComponent(platform)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,12 @@ export async function fetchAndRenderBlueprint(client, blueprintId, opts) {
60
60
  baseSkill: baseSkill ?? undefined,
61
61
  implementationState,
62
62
  progress,
63
+ staleness: {
64
+ blueprintStaleSince: blueprint.staleSince ?? null,
65
+ businessCaseStaleSince: businessCase?.staleSince ?? null,
66
+ implementationPlanStaleSince: null, // fetched separately if needed
67
+ useCaseStaleSince: useCase?.staleSince ?? null,
68
+ },
63
69
  };
64
70
  const files = renderSkillDirectory(input);
65
71
  const slug = slugify(title) || 'blueprint';
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-blueprint.js","sourceRoot":"","sources":["../src/fetch-blueprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-blueprint.js","sourceRoot":"","sources":["../src/fetch-blueprint.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Interactive setup for the ServiceNow MCP server.
3
3
  *
4
4
  * Installs the `servicenow-mcp-server` npm package globally if needed,
5
- * writes instance credentials, and configures `.claude/settings.json`
6
- * so Claude Code auto-discovers the MCP server on next launch.
5
+ * writes instance credentials, and prints the MCP config snippet for
6
+ * the user to add to their coding agent of choice.
7
7
  */
8
8
  export declare function setupServiceNowMcp(): Promise<void>;
package/dist/mcp-setup.js CHANGED
@@ -1,4 +1,4 @@
1
- import { readFile, writeFile, mkdir } from 'node:fs/promises';
1
+ import { writeFile, mkdir } from 'node:fs/promises';
2
2
  import { execFile } from 'node:child_process';
3
3
  import { promisify } from 'node:util';
4
4
  import { createInterface } from 'node:readline';
@@ -8,8 +8,8 @@ const execFileAsync = promisify(execFile);
8
8
  * Interactive setup for the ServiceNow MCP server.
9
9
  *
10
10
  * Installs the `servicenow-mcp-server` npm package globally if needed,
11
- * writes instance credentials, and configures `.claude/settings.json`
12
- * so Claude Code auto-discovers the MCP server on next launch.
11
+ * writes instance credentials, and prints the MCP config snippet for
12
+ * the user to add to their coding agent of choice.
13
13
  */
14
14
  export async function setupServiceNowMcp() {
15
15
  console.error('\n--- ServiceNow MCP Server Setup ---\n');
@@ -44,12 +44,12 @@ export async function setupServiceNowMcp() {
44
44
  try {
45
45
  await execFileAsync('npm', ['install', '-g', 'servicenow-mcp-server']);
46
46
  }
47
- catch (err) {
47
+ catch {
48
48
  console.error(`Failed to install servicenow-mcp-server globally. Install manually with:\n npm install -g servicenow-mcp-server`);
49
49
  return;
50
50
  }
51
51
  }
52
- // 3. Resolve absolute binary path (avoids nvm/fnm/volta PATH issues at Claude Code launch)
52
+ // 3. Resolve absolute binary path (avoids nvm/fnm/volta PATH issues)
53
53
  let binaryPath;
54
54
  try {
55
55
  const { stdout } = await execFileAsync('which', ['servicenow-mcp-server']);
@@ -85,50 +85,27 @@ export async function setupServiceNowMcp() {
85
85
  }, null, 2);
86
86
  const configPath = join(configDir, 'servicenow-instances.json');
87
87
  await writeFile(configPath, configContent, { encoding: 'utf-8', mode: 0o600 });
88
- // 6. Write/merge .claude/settings.json
89
- const claudeDir = join(process.cwd(), '.claude');
90
- await mkdir(claudeDir, { recursive: true });
91
- const settingsPath = join(claudeDir, 'settings.json');
92
- let settings = {};
93
- try {
94
- const raw = await readFile(settingsPath, 'utf-8');
95
- settings = JSON.parse(raw);
96
- }
97
- catch (err) {
98
- const error = err;
99
- if (error.code !== 'ENOENT')
100
- throw err;
101
- // File doesn't exist yet, start fresh
102
- }
103
- const mcpServers = (settings.mcpServers ?? {});
104
- mcpServers.servicenow = {
105
- command: binaryPath,
106
- args: [],
107
- };
108
- settings.mcpServers = mcpServers;
109
- await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
110
- // 7. Append to .gitignore if not already present
111
- const gitignorePath = join(process.cwd(), '.gitignore');
112
- const gitignoreEntry = '.claude/settings.json';
113
- let gitignoreContent = '';
114
- try {
115
- gitignoreContent = await readFile(gitignorePath, 'utf-8');
116
- }
117
- catch {
118
- // .gitignore doesn't exist yet
119
- }
120
- if (!gitignoreContent.split('\n').some((line) => line.trim() === gitignoreEntry)) {
121
- const suffix = gitignoreContent.length > 0 && !gitignoreContent.endsWith('\n') ? '\n' : '';
122
- await writeFile(gitignorePath, gitignoreContent + suffix + gitignoreEntry + '\n', 'utf-8');
123
- }
124
- // 8. Print success
88
+ // 6. Print success and MCP config snippet
125
89
  console.error('');
126
90
  console.error('ServiceNow MCP server configured:');
127
91
  console.error(` Instance: ${instanceName}`);
128
92
  console.error(` Config: ${configPath}`);
129
93
  console.error(` Binary: ${binaryPath}`);
130
94
  console.error('');
131
- console.error('Restart Claude Code to connect.');
95
+ console.error('Add this to your coding agent\'s MCP config:');
96
+ console.error('');
97
+ console.error(JSON.stringify({
98
+ mcpServers: {
99
+ servicenow: {
100
+ command: binaryPath,
101
+ args: [],
102
+ },
103
+ },
104
+ }, null, 2));
105
+ console.error('');
106
+ console.error('For Claude Code: add to .claude/settings.json or ~/.claude/settings.json');
107
+ console.error('For Cursor: add to .cursor/mcp.json');
108
+ console.error('Then restart your coding agent to connect.');
132
109
  }
133
110
  finally {
134
111
  rl.close();
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-setup.js","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-setup.js","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ export interface SkillFile {
3
3
  path: string;
4
4
  content: string;
5
5
  }
6
+ export interface StalenessInfo {
7
+ blueprintStaleSince?: string | null;
8
+ businessCaseStaleSince?: string | null;
9
+ implementationPlanStaleSince?: string | null;
10
+ useCaseStaleSince?: string | null;
11
+ }
6
12
  export interface SkillRenderInput {
7
13
  blueprintTitle: string;
8
14
  blueprintId: string;
@@ -27,6 +33,7 @@ export interface SkillRenderInput {
27
33
  };
28
34
  implementationState?: ImplementationStateResponse | null;
29
35
  progress?: ProgressResponse | null;
36
+ staleness?: StalenessInfo;
30
37
  }
31
38
  export declare function slugify(input: string): string;
32
39
  /**
package/dist/renderers.js CHANGED
@@ -7,6 +7,32 @@
7
7
  // =============================================================================
8
8
  // HELPERS
9
9
  // =============================================================================
10
+ function buildStalenessWarnings(input) {
11
+ const s = input.staleness;
12
+ if (!s)
13
+ return null;
14
+ const warnings = [];
15
+ if (s.blueprintStaleSince)
16
+ warnings.push('- **Blueprint** is stale (upstream artifact was updated). Re-download for latest data.');
17
+ if (s.businessCaseStaleSince)
18
+ warnings.push('- **Business case** is stale. Run `recalculate_financials` to refresh projections.');
19
+ if (s.implementationPlanStaleSince)
20
+ warnings.push('- **Implementation plan** is stale (blueprint was updated after plan generation).');
21
+ if (s.useCaseStaleSince)
22
+ warnings.push('- **Use case** is stale (business profile was updated).');
23
+ if (warnings.length === 0)
24
+ return null;
25
+ return [
26
+ '## Staleness warnings',
27
+ '',
28
+ 'Some artifacts in this blueprint are out of date:',
29
+ '',
30
+ ...warnings,
31
+ '',
32
+ 'Stale artifacts may contain outdated information. Consider updating them',
33
+ 'via MCP write tools before proceeding with implementation.',
34
+ ].join('\n');
35
+ }
10
36
  export function slugify(input) {
11
37
  const stripped = input.replace(/^blueprint\s+for\s+/i, '');
12
38
  const full = stripped
@@ -1629,6 +1655,12 @@ function buildGettingStarted(input) {
1629
1655
  lines.push('- **Verify before presenting.** Never give the user a URL, path, or command');
1630
1656
  lines.push(' you have not verified against the actual platform instance.');
1631
1657
  lines.push('');
1658
+ // Staleness warnings
1659
+ const staleWarnings = buildStalenessWarnings(input);
1660
+ if (staleWarnings) {
1661
+ lines.push(staleWarnings);
1662
+ lines.push('');
1663
+ }
1632
1664
  // Step 1
1633
1665
  lines.push('## Step 1: Understand the architecture');
1634
1666
  lines.push('');
@@ -2324,12 +2356,42 @@ function buildAgentsMd(input) {
2324
2356
  lines.push('');
2325
2357
  lines.push('Metric reporting is MCP-only. There is no CLI equivalent yet.');
2326
2358
  lines.push('');
2359
+ lines.push('## When to update the blueprint (registry)');
2360
+ lines.push('');
2361
+ lines.push('When the implementation diverges from the original design, update the');
2362
+ lines.push('blueprint so it always reflects what was actually built:');
2363
+ lines.push('- After changing the agent team structure (added/removed/renamed agents)');
2364
+ lines.push('- After changing the agentic pattern (e.g., single orchestrator to multi-workflow)');
2365
+ lines.push('- After discovering the implementation needs different phases or dependencies');
2366
+ lines.push('- After adapting success criteria based on what is measurable');
2367
+ lines.push('');
2368
+ lines.push('## How to update the blueprint');
2369
+ lines.push('');
2370
+ lines.push('**MCP tools** (preferred):');
2371
+ lines.push('');
2372
+ lines.push(' Use the update_blueprint tool with:');
2373
+ lines.push(` blueprintId: "${bpId}"`);
2374
+ lines.push(' sections: { enhancedDigitalTeam: [...], agenticPattern: "Multi-Agent" }');
2375
+ lines.push('');
2376
+ lines.push(' Use the update_business_case tool to update narrative sections.');
2377
+ lines.push(' Use the update_implementation_plan tool to update epics and agent specs.');
2378
+ lines.push(' Use the update_use_case tool to update pain points or success metrics.');
2379
+ lines.push('');
2380
+ lines.push('After updating the blueprint, run recalculate_financials to refresh ROI:');
2381
+ lines.push('');
2382
+ lines.push(' Use the recalculate_financials tool with:');
2383
+ lines.push(` blueprintId: "${bpId}"`);
2384
+ lines.push('');
2385
+ lines.push('Each update creates a version snapshot (the original recommendation is v1).');
2386
+ lines.push('Downstream artifacts are marked stale and should be reviewed or recalculated.');
2387
+ lines.push('');
2327
2388
  lines.push('## Documenting deviations');
2328
2389
  lines.push('');
2329
2390
  lines.push('When you deviate from the spec (different tool, different approach, skipped an agent):');
2330
2391
  lines.push('1. Update the agent\'s `deviations` array in implementation-state.yaml');
2331
2392
  lines.push('2. Include a brief reason (e.g., "Used Flow Designer instead of Workflow -- better parallel support")');
2332
2393
  lines.push('3. Sync so Agent Blueprint can track spec drift');
2394
+ lines.push('4. Consider updating the blueprint itself if the deviation is structural');
2333
2395
  lines.push('');
2334
2396
  lines.push('## Why this matters');
2335
2397
  lines.push('');