agentblueprint 0.7.14 → 0.7.17

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 (38) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -1
  3. package/dist/__tests__/generation-client.test.d.ts +1 -0
  4. package/dist/__tests__/generation-client.test.js +96 -0
  5. package/dist/__tests__/generation-client.test.js.map +1 -0
  6. package/dist/__tests__/generation-tools.test.d.ts +1 -0
  7. package/dist/__tests__/generation-tools.test.js +168 -0
  8. package/dist/__tests__/generation-tools.test.js.map +1 -0
  9. package/dist/__tests__/renderers.test.js +47 -0
  10. package/dist/__tests__/renderers.test.js.map +1 -1
  11. package/dist/client.d.ts +79 -0
  12. package/dist/client.js +32 -19
  13. package/dist/client.js.map +1 -1
  14. package/dist/directives.js +1 -1
  15. package/dist/directives.js.map +1 -1
  16. package/dist/errors.d.ts +2 -1
  17. package/dist/errors.js +12 -1
  18. package/dist/errors.js.map +1 -1
  19. package/dist/renderers.js +48 -14
  20. package/dist/renderers.js.map +1 -1
  21. package/dist/server.js +40 -0
  22. package/dist/server.js.map +1 -1
  23. package/dist/tools/create-business-profile.d.ts +17 -0
  24. package/dist/tools/create-business-profile.js +28 -0
  25. package/dist/tools/create-business-profile.js.map +1 -0
  26. package/dist/tools/generate-blueprint.d.ts +21 -0
  27. package/dist/tools/generate-blueprint.js +25 -0
  28. package/dist/tools/generate-blueprint.js.map +1 -0
  29. package/dist/tools/generate-use-cases.d.ts +21 -0
  30. package/dist/tools/generate-use-cases.js +29 -0
  31. package/dist/tools/generate-use-cases.js.map +1 -0
  32. package/dist/tools/get-generation-status.d.ts +18 -0
  33. package/dist/tools/get-generation-status.js +41 -0
  34. package/dist/tools/get-generation-status.js.map +1 -0
  35. package/dist/tools/trigger-full-pipeline.d.ts +20 -0
  36. package/dist/tools/trigger-full-pipeline.js +24 -0
  37. package/dist/tools/trigger-full-pipeline.js.map +1 -0
  38. package/package.json +4 -3
package/dist/renderers.js CHANGED
@@ -1553,14 +1553,23 @@ function buildGettingStartedReturnVisit(input) {
1553
1553
  if (input.vendorSkill) {
1554
1554
  lines.push(`The \`.claude/skills/${input.vendorSkill.skillName}/\` skill contains platform-specific`);
1555
1555
  lines.push('deployment guidance. Follow it for all platform-specific work.');
1556
+ lines.push('For new apps or first deployments, re-check its deployment-path decision');
1557
+ lines.push('gate before creating more records. Use direct record or API edits mainly');
1558
+ lines.push('for existing deployments, live tuning, or blocked packaging paths. If you');
1559
+ lines.push('choose a fallback, document the reason in blueprint-local `PROGRESS.md` before proceeding.');
1556
1560
  lines.push('');
1557
1561
  }
1558
- lines.push('For each agent:');
1559
- lines.push('1. Review the agent spec in `references/agent-specifications.md`');
1560
- lines.push('2. Build the agent with its tools and instructions');
1562
+ lines.push('deployment-path decision checkpoint: before creating new app records, prefer the');
1563
+ lines.push('platform\'s source-controlled or native packaging path when one is available.');
1564
+ lines.push('Direct record or API edits are best for existing deployments, live tuning,');
1565
+ lines.push('or blocked packaging paths. Document fallback reasons in blueprint-local `PROGRESS.md`.');
1566
+ lines.push('');
1567
+ lines.push('For the next pilot slice or agent:');
1568
+ lines.push('1. Review the spec in `SKILL.md` and `references/agent-specifications.md`');
1569
+ lines.push('2. Build the smallest executable slice that proves a useful path');
1561
1570
  lines.push('3. Test and iterate until behavior matches the spec');
1562
- lines.push('4. Update `implementation-state.yaml` with status and platform artifact');
1563
- lines.push('5. Move to the next agent');
1571
+ lines.push('4. Update local `implementation-state.yaml` with status and platform artifact');
1572
+ lines.push('5. Ask before syncing demo/test state back to Agent Blueprint');
1564
1573
  lines.push('');
1565
1574
  // Step 4
1566
1575
  lines.push('## Step 4: Validate and measure');
@@ -1577,7 +1586,9 @@ function buildGettingStartedReturnVisit(input) {
1577
1586
  // Step 5
1578
1587
  lines.push('## Step 5: Sync your progress');
1579
1588
  lines.push('');
1580
- lines.push('After implementing each agent or making significant changes, sync immediately:');
1589
+ lines.push('After implementing each agent or making significant changes, update local');
1590
+ lines.push('`implementation-state.yaml`. In demo/test mode, ask the user before syncing');
1591
+ lines.push('state back to Agent Blueprint.');
1581
1592
  lines.push('');
1582
1593
  lines.push('**MCP tool** (preferred):');
1583
1594
  lines.push('');
@@ -1585,7 +1596,7 @@ function buildGettingStartedReturnVisit(input) {
1585
1596
  lines.push(` blueprintId: "${input.blueprintId}"`);
1586
1597
  lines.push(' stateData: <contents of implementation-state.yaml as JSON>');
1587
1598
  lines.push('');
1588
- lines.push('**CLI**:');
1599
+ lines.push('**CLI** (after user approval in demo/test mode):');
1589
1600
  lines.push('');
1590
1601
  lines.push(` agentblueprint sync --blueprint ${input.blueprintId}`);
1591
1602
  lines.push('');
@@ -1598,6 +1609,7 @@ function buildGettingStartedReturnVisit(input) {
1598
1609
  lines.push(' actualValue: "measured value"');
1599
1610
  lines.push('');
1600
1611
  lines.push('See `AGENTS.md` for trigger points, deviation rules, and full sync guidance.');
1612
+ lines.push('For demo/test implementations, ask before using MCP or CLI sync.');
1601
1613
  lines.push('');
1602
1614
  lines.push('**Claude Code users**: See `hooks/claude-code-sync.json` for a Stop hook that');
1603
1615
  lines.push('reminds you to sync when implementation-state.yaml has unsynced changes.');
@@ -1659,6 +1671,9 @@ function buildGettingStarted(input) {
1659
1671
  lines.push(' One fix, one alternative, then ask. Do not spiral.');
1660
1672
  lines.push('- **Verify before presenting.** Never give the user a URL, path, or command');
1661
1673
  lines.push(' you have not verified against the actual platform instance.');
1674
+ lines.push('- **Ask before high-impact actions.** Get explicit approval before running');
1675
+ lines.push(' background scripts, production writes, credential changes, cleanup/deletion,');
1676
+ lines.push(' or syncing demo/test state back to Agent Blueprint.');
1662
1677
  lines.push('');
1663
1678
  // Staleness warnings
1664
1679
  const staleWarnings = buildStalenessWarnings(input);
@@ -1712,12 +1727,24 @@ function buildGettingStarted(input) {
1712
1727
  lines.push('It contains the connection verification steps, deployment sequence, platform');
1713
1728
  lines.push('patterns, and debugging guidance. Follow it for all platform-specific work.');
1714
1729
  lines.push('The deployment sequence adapts to the access level the user provides.');
1730
+ lines.push('');
1731
+ lines.push('Before creating a new app or first deployment, follow the expert skill\'s');
1732
+ lines.push('deployment-path decision gate. Prefer the platform\'s source-controlled or');
1733
+ lines.push('native packaging path when the expert skill recommends one. Use direct record');
1734
+ lines.push('or API edits mainly for existing deployments, live tuning, or blocked packaging');
1735
+ lines.push('paths. If you choose a fallback, document the reason in blueprint-local `PROGRESS.md`.');
1715
1736
  }
1716
1737
  else if (!input.baseSkill) {
1717
1738
  lines.push('If `references/deployment-guide-*.md` files are present, read those for');
1718
1739
  lines.push('platform-specific tooling, deployment sequence, and gotchas.');
1719
1740
  }
1720
1741
  lines.push('');
1742
+ lines.push('deployment-path decision checkpoint: before creating a new app or first deployment,');
1743
+ lines.push('choose the platform\'s source-controlled or native packaging path when one is');
1744
+ lines.push('available. Use direct record or API edits mainly for existing deployments,');
1745
+ lines.push('live tuning, or blocked packaging paths. If you choose a fallback, document');
1746
+ lines.push('the reason in blueprint-local `PROGRESS.md`.');
1747
+ lines.push('');
1721
1748
  lines.push('**B. User wants to build from scratch** (custom code, open-source frameworks):');
1722
1749
  lines.push('Help them choose a framework based on the blueprint architecture. Search the web');
1723
1750
  lines.push('for current agentic AI frameworks and their capabilities -- this space moves fast');
@@ -1735,8 +1762,9 @@ function buildGettingStarted(input) {
1735
1762
  // Step 3
1736
1763
  lines.push('## Step 3: Build and validate the pilot');
1737
1764
  lines.push('');
1738
- lines.push('Check the Phase 1 section in `SKILL.md` for pilot scope.');
1739
- lines.push('Build the lead agent first. **Do not expand to remaining agents until the');
1765
+ lines.push('Check the Phase 1/Pilot sections in `SKILL.md` and');
1766
+ lines.push('`references/agent-specifications.md` for pilot scope.');
1767
+ lines.push('Build the smallest executable pilot slice first. **Do not expand to remaining agents until the');
1740
1768
  lines.push('pilot is fully working with real data.** This is a gate, not a suggestion.');
1741
1769
  lines.push('');
1742
1770
  if (input.vendorSkill) {
@@ -1753,7 +1781,9 @@ function buildGettingStarted(input) {
1753
1781
  lines.push('**Phase A: Scaffold and validate orchestration.**');
1754
1782
  lines.push('1. Create an application container for the pilot (project, workspace, or whatever');
1755
1783
  lines.push(' your platform uses to group related agents). State your intent to the user.');
1756
- lines.push('2. Build the first worker agent with its tools and instructions.');
1784
+ lines.push('2. Build the smallest executable pilot slice: the minimum native workflow or');
1785
+ lines.push(' orchestrator plus the worker agent(s), tools, and instructions needed to');
1786
+ lines.push(' prove the first useful path.');
1757
1787
  lines.push('3. Use simulation scripts to validate the LLM orchestration (tool chaining,');
1758
1788
  lines.push(' parameter passing, sequencing). This proves the agent can chain tools correctly.');
1759
1789
  lines.push('4. **Test before proceeding.** Invoke the agent programmatically, read the execution');
@@ -1808,7 +1838,7 @@ function buildGettingStarted(input) {
1808
1838
  // Step 5
1809
1839
  lines.push('## Step 5: Track progress and close the loop');
1810
1840
  lines.push('');
1811
- lines.push('As you implement each agent, update `implementation-state.yaml`:');
1841
+ lines.push('As you implement each agent, update local `implementation-state.yaml`:');
1812
1842
  lines.push('');
1813
1843
  lines.push('1. Set the agent\'s `status` to `in_progress` when you start, `implemented` when done.');
1814
1844
  lines.push('2. Record the `platform_artifact` (sys_id, function name, service URL, etc.).');
@@ -1817,9 +1847,10 @@ function buildGettingStarted(input) {
1817
1847
  lines.push('5. Update `overall_status` as you progress.');
1818
1848
  lines.push('6. Fill in the `platform` section with the actual platform, version, and environment.');
1819
1849
  lines.push('');
1820
- lines.push('### Sync trigger points');
1850
+ lines.push('### Local update trigger points');
1821
1851
  lines.push('');
1822
- lines.push('Sync after each of these events (do not wait until the end):');
1852
+ lines.push('Update local `implementation-state.yaml` after each of these events');
1853
+ lines.push('(do not wait until the end):');
1823
1854
  lines.push('- After implementing an agent');
1824
1855
  lines.push('- After connecting an integration');
1825
1856
  lines.push('- After modifying an agent\'s behavior');
@@ -1827,13 +1858,16 @@ function buildGettingStarted(input) {
1827
1858
  lines.push('');
1828
1859
  lines.push('### How to sync');
1829
1860
  lines.push('');
1861
+ lines.push('In demo/test mode, ask the user before syncing local state back to Agent');
1862
+ lines.push('Blueprint. Sync only after approval.');
1863
+ lines.push('');
1830
1864
  lines.push('**MCP tool** (preferred when Agent Blueprint MCP server is connected):');
1831
1865
  lines.push('');
1832
1866
  lines.push(' Use the sync_implementation_state tool with:');
1833
1867
  lines.push(` blueprintId: "${input.blueprintId}"`);
1834
1868
  lines.push(' stateData: <contents of implementation-state.yaml as JSON>');
1835
1869
  lines.push('');
1836
- lines.push('**CLI**:');
1870
+ lines.push('**CLI** (after approval in demo/test mode):');
1837
1871
  lines.push('');
1838
1872
  lines.push(` agentblueprint sync --blueprint ${input.blueprintId}`);
1839
1873
  lines.push('');