agentblueprint 0.6.32 → 0.7.2

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/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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"}
@@ -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('');