opencastle 0.32.5 → 0.32.7

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 (109) hide show
  1. package/README.md +13 -3
  2. package/bin/cli.mjs +2 -0
  3. package/dist/cli/convoy/engine.d.ts.map +1 -1
  4. package/dist/cli/convoy/engine.js +79 -4
  5. package/dist/cli/convoy/engine.js.map +1 -1
  6. package/dist/cli/convoy/engine.test.js +11 -9
  7. package/dist/cli/convoy/engine.test.js.map +1 -1
  8. package/dist/dashboard/scripts/etl.js +17 -2
  9. package/dist/dashboard/scripts/etl.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/cli/convoy/engine.test.ts +11 -9
  12. package/src/cli/convoy/engine.ts +78 -4
  13. package/src/dashboard/dist/_astro/index.6xXNs4L2.css +1 -0
  14. package/src/dashboard/dist/data/convoy-list.json +27 -13
  15. package/src/dashboard/dist/data/convoys/demo-api-v2.json +16 -10
  16. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +25 -15
  17. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +35 -21
  18. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +17 -11
  19. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +8 -4
  20. package/src/dashboard/dist/data/convoys/demo-docs-update.json +13 -9
  21. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +22 -14
  22. package/src/dashboard/dist/data/overall-stats.json +36 -2
  23. package/src/dashboard/dist/index.html +149 -93
  24. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  25. package/src/dashboard/public/data/convoy-list.json +27 -13
  26. package/src/dashboard/public/data/convoys/demo-api-v2.json +16 -10
  27. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +25 -15
  28. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +35 -21
  29. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +17 -11
  30. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +8 -4
  31. package/src/dashboard/public/data/convoys/demo-docs-update.json +13 -9
  32. package/src/dashboard/public/data/convoys/demo-perf-opt.json +22 -14
  33. package/src/dashboard/public/data/overall-stats.json +36 -2
  34. package/src/dashboard/scripts/etl.ts +15 -3
  35. package/src/dashboard/scripts/generate-demo-db.ts +42 -34
  36. package/src/dashboard/src/pages/index.astro +159 -112
  37. package/src/dashboard/src/styles/dashboard.css +58 -3
  38. package/src/orchestrator/agents/api-designer.agent.md +25 -34
  39. package/src/orchestrator/agents/architect.agent.md +40 -84
  40. package/src/orchestrator/agents/content-engineer.agent.md +29 -31
  41. package/src/orchestrator/agents/copywriter.agent.md +35 -60
  42. package/src/orchestrator/agents/data-expert.agent.md +24 -30
  43. package/src/orchestrator/agents/database-engineer.agent.md +26 -31
  44. package/src/orchestrator/agents/developer.agent.md +32 -34
  45. package/src/orchestrator/agents/devops-expert.agent.md +31 -26
  46. package/src/orchestrator/agents/documentation-writer.agent.md +29 -29
  47. package/src/orchestrator/agents/performance-expert.agent.md +36 -33
  48. package/src/orchestrator/agents/release-manager.agent.md +25 -34
  49. package/src/orchestrator/agents/researcher.agent.md +41 -95
  50. package/src/orchestrator/agents/reviewer.agent.md +24 -34
  51. package/src/orchestrator/agents/security-expert.agent.md +35 -39
  52. package/src/orchestrator/agents/seo-specialist.agent.md +25 -32
  53. package/src/orchestrator/agents/session-guard.agent.md +20 -79
  54. package/src/orchestrator/agents/team-lead.agent.md +50 -254
  55. package/src/orchestrator/agents/testing-expert.agent.md +37 -49
  56. package/src/orchestrator/agents/ui-ux-expert.agent.md +33 -39
  57. package/src/orchestrator/customizations/KNOWN-ISSUES.md +0 -1
  58. package/src/orchestrator/customizations/agents/skill-matrix.json +12 -0
  59. package/src/orchestrator/instructions/general.instructions.md +24 -84
  60. package/src/orchestrator/plugins/astro/SKILL.md +23 -179
  61. package/src/orchestrator/plugins/convex/SKILL.md +38 -12
  62. package/src/orchestrator/plugins/netlify/SKILL.md +17 -13
  63. package/src/orchestrator/plugins/nextjs/SKILL.md +55 -261
  64. package/src/orchestrator/plugins/nx/SKILL.md +20 -72
  65. package/src/orchestrator/plugins/playwright/SKILL.md +5 -17
  66. package/src/orchestrator/plugins/slack/SKILL.md +28 -190
  67. package/src/orchestrator/plugins/teams/SKILL.md +10 -140
  68. package/src/orchestrator/plugins/vitest/SKILL.md +2 -2
  69. package/src/orchestrator/prompts/bug-fix.prompt.md +25 -63
  70. package/src/orchestrator/prompts/implement-feature.prompt.md +29 -66
  71. package/src/orchestrator/prompts/quick-refinement.prompt.md +31 -66
  72. package/src/orchestrator/skills/accessibility-standards/SKILL.md +50 -105
  73. package/src/orchestrator/skills/agent-hooks/SKILL.md +60 -110
  74. package/src/orchestrator/skills/agent-memory/SKILL.md +44 -93
  75. package/src/orchestrator/skills/api-patterns/SKILL.md +20 -68
  76. package/src/orchestrator/skills/code-commenting/SKILL.md +49 -101
  77. package/src/orchestrator/skills/context-map/SKILL.md +47 -88
  78. package/src/orchestrator/skills/data-engineering/SKILL.md +27 -74
  79. package/src/orchestrator/skills/decomposition/SKILL.md +50 -98
  80. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +44 -107
  81. package/src/orchestrator/skills/documentation-standards/SKILL.md +28 -89
  82. package/src/orchestrator/skills/fast-review/SKILL.md +51 -276
  83. package/src/orchestrator/skills/frontend-design/SKILL.md +53 -163
  84. package/src/orchestrator/skills/git-workflow/SKILL.md +18 -54
  85. package/src/orchestrator/skills/memory-merger/SKILL.md +51 -88
  86. package/src/orchestrator/skills/observability-logging/SKILL.md +29 -75
  87. package/src/orchestrator/skills/orchestration-protocols/SKILL.md +58 -117
  88. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +65 -140
  89. package/src/orchestrator/skills/performance-optimization/SKILL.md +21 -85
  90. package/src/orchestrator/skills/project-consistency/SKILL.md +62 -281
  91. package/src/orchestrator/skills/react-development/SKILL.md +38 -86
  92. package/src/orchestrator/skills/security-hardening/SKILL.md +40 -84
  93. package/src/orchestrator/skills/self-improvement/SKILL.md +26 -60
  94. package/src/orchestrator/skills/seo-patterns/SKILL.md +40 -105
  95. package/src/orchestrator/skills/session-checkpoints/SKILL.md +26 -68
  96. package/src/orchestrator/skills/team-lead-reference/SKILL.md +66 -206
  97. package/src/orchestrator/skills/testing-workflow/SKILL.md +42 -112
  98. package/src/orchestrator/skills/validation-gates/SKILL.md +39 -170
  99. package/src/orchestrator/snippets/base-output-contract.md +14 -0
  100. package/src/orchestrator/snippets/discovered-issues-policy.md +15 -0
  101. package/src/orchestrator/snippets/logging-mandatory.md +11 -0
  102. package/src/orchestrator/snippets/never-expose-secrets.md +22 -0
  103. package/src/dashboard/dist/_astro/index.wyN9vmjZ.css +0 -1
  104. package/src/dashboard/dist/data/convoys/demo-convoy-1.json +0 -111
  105. package/src/dashboard/dist/data/convoys/demo-convoy-2.json +0 -72
  106. package/src/dashboard/dist/data/pipelines.ndjson +0 -5285
  107. package/src/dashboard/public/data/convoys/demo-convoy-1.json +0 -111
  108. package/src/dashboard/public/data/convoys/demo-convoy-2.json +0 -72
  109. package/src/dashboard/public/data/pipelines.ndjson +0 -5285
@@ -1282,7 +1282,7 @@ describe('cost tracking', () => {
1282
1282
  expect(tasks[0].completion_tokens).toBe(50);
1283
1283
  expect(tasks[0].total_tokens).toBe(150);
1284
1284
  });
1285
- it('leaves cost fields null when adapter returns no usage', async () => {
1285
+ it('estimates token usage when adapter returns no usage', async () => {
1286
1286
  const adapter = makeAdapter();
1287
1287
  // default makeAdapter returns no usage field
1288
1288
  const engine = makeEngine({
@@ -1297,9 +1297,9 @@ describe('cost tracking', () => {
1297
1297
  const store = createConvoyStore(dbPath);
1298
1298
  const tasks = store.getTasksByConvoy(result.convoyId);
1299
1299
  store.close();
1300
- expect(tasks[0].prompt_tokens).toBeNull();
1301
- expect(tasks[0].completion_tokens).toBeNull();
1302
- expect(tasks[0].total_tokens).toBeNull();
1300
+ expect(tasks[0].prompt_tokens).toBeGreaterThan(0);
1301
+ expect(tasks[0].completion_tokens).toBeGreaterThanOrEqual(0);
1302
+ expect(tasks[0].total_tokens).toBeGreaterThan(0);
1303
1303
  });
1304
1304
  it('aggregates total_tokens from multiple tasks to convoy record', async () => {
1305
1305
  const adapter = makeAdapter();
@@ -1343,7 +1343,7 @@ describe('cost tracking', () => {
1343
1343
  const result = await engine.run();
1344
1344
  expect(result.cost).toEqual({ total_tokens: 75 });
1345
1345
  });
1346
- it('omits cost from ConvoyResult when no usage data is available', async () => {
1346
+ it('includes estimated cost in ConvoyResult when adapter returns no usage data', async () => {
1347
1347
  const adapter = makeAdapter();
1348
1348
  // default makeAdapter returns no usage
1349
1349
  const engine = makeEngine({
@@ -1355,7 +1355,8 @@ describe('cost tracking', () => {
1355
1355
  _mergeQueue: makeMergeQueue(),
1356
1356
  });
1357
1357
  const result = await engine.run();
1358
- expect(result.cost).toBeUndefined();
1358
+ expect(result.cost).toBeDefined();
1359
+ expect(result.cost.total_tokens).toBeGreaterThan(0);
1359
1360
  });
1360
1361
  it('partial usage fields are persisted correctly (only total_tokens set)', async () => {
1361
1362
  const adapter = makeAdapter();
@@ -1381,7 +1382,7 @@ describe('cost tracking', () => {
1381
1382
  expect(tasks[0].prompt_tokens).toBeNull();
1382
1383
  expect(tasks[0].completion_tokens).toBeNull();
1383
1384
  });
1384
- it('convoy total_tokens is null when no task has usage', async () => {
1385
+ it('convoy total_tokens uses estimated values when no task has usage', async () => {
1385
1386
  const adapter = makeAdapter();
1386
1387
  // default adapter returns no usage
1387
1388
  const engine = makeEngine({
@@ -1399,8 +1400,9 @@ describe('cost tracking', () => {
1399
1400
  const store = createConvoyStore(dbPath);
1400
1401
  const convoy = store.getConvoy(result.convoyId);
1401
1402
  store.close();
1402
- expect(convoy.total_tokens).toBeNull();
1403
- expect(result.cost).toBeUndefined();
1403
+ expect(convoy.total_tokens).toBeGreaterThan(0);
1404
+ expect(result.cost).toBeDefined();
1405
+ expect(result.cost.total_tokens).toBeGreaterThan(0);
1404
1406
  });
1405
1407
  });
1406
1408
  // ── 22. Progress reporting (always-on output) ─────────────────────────────────