instar 1.3.229 → 1.3.231

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 (45) hide show
  1. package/dist/cli.js +11 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/devProfileNode.d.ts +62 -0
  4. package/dist/commands/devProfileNode.d.ts.map +1 -0
  5. package/dist/commands/devProfileNode.js +179 -0
  6. package/dist/commands/devProfileNode.js.map +1 -0
  7. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  8. package/dist/config/ConfigDefaults.js +8 -0
  9. package/dist/config/ConfigDefaults.js.map +1 -1
  10. package/dist/core/LlmCircuitBreaker.d.ts +15 -0
  11. package/dist/core/LlmCircuitBreaker.d.ts.map +1 -1
  12. package/dist/core/LlmCircuitBreaker.js +37 -1
  13. package/dist/core/LlmCircuitBreaker.js.map +1 -1
  14. package/dist/monitoring/ResourceLedger.d.ts +78 -0
  15. package/dist/monitoring/ResourceLedger.d.ts.map +1 -0
  16. package/dist/monitoring/ResourceLedger.js +163 -0
  17. package/dist/monitoring/ResourceLedger.js.map +1 -0
  18. package/dist/monitoring/ResourceLedgerPoller.d.ts +64 -0
  19. package/dist/monitoring/ResourceLedgerPoller.d.ts.map +1 -0
  20. package/dist/monitoring/ResourceLedgerPoller.js +83 -0
  21. package/dist/monitoring/ResourceLedgerPoller.js.map +1 -0
  22. package/dist/scaffold/templates.d.ts.map +1 -1
  23. package/dist/scaffold/templates.js +7 -0
  24. package/dist/scaffold/templates.js.map +1 -1
  25. package/dist/server/AgentServer.d.ts +2 -0
  26. package/dist/server/AgentServer.d.ts.map +1 -1
  27. package/dist/server/AgentServer.js +49 -0
  28. package/dist/server/AgentServer.js.map +1 -1
  29. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  30. package/dist/server/CapabilityIndex.js +11 -0
  31. package/dist/server/CapabilityIndex.js.map +1 -1
  32. package/dist/server/routes.d.ts +1 -0
  33. package/dist/server/routes.d.ts.map +1 -1
  34. package/dist/server/routes.js +18 -0
  35. package/dist/server/routes.js.map +1 -1
  36. package/package.json +1 -1
  37. package/scripts/docs-coverage.mjs +14 -4
  38. package/scripts/generate-builtin-manifest.cjs +1 -0
  39. package/src/data/builtin-manifest.json +87 -79
  40. package/src/scaffold/templates.ts +7 -0
  41. package/upgrades/1.3.230.md +66 -0
  42. package/upgrades/1.3.231.md +39 -0
  43. package/upgrades/dev-profile-node-tool.eli16.md +42 -0
  44. package/upgrades/side-effects/dev-profile-node-tool.md +85 -0
  45. package/upgrades/side-effects/resource-ledger-phase-a.md +101 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.229",
3
+ "version": "1.3.231",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -208,15 +208,24 @@ function findMentions(capability, docs) {
208
208
  // Returns list of doc paths that mention this capability.
209
209
  // Coverage strategy varies per capability type.
210
210
  let needles = [];
211
+ // Per-type content normalizer (identity by default).
212
+ let normalize = (s) => s;
211
213
  switch (capability.type) {
212
214
  case 'route':
213
215
  // Match exact path (with leading /). Substring match — close enough.
214
216
  needles = [capability.path];
215
217
  break;
216
- case 'command':
217
- // Match either `instar <name>` (CLI usage) or just the bare name.
218
- needles = [`instar ${capability.name}`];
218
+ case 'command': {
219
+ // A command's id is its camelCase FILE name (`devProfileNode`), but the
220
+ // shipped command is colon/kebab (`dev:profile-node`). Match BOTH the raw
221
+ // name AND a kebab form, and treat `:`/`-` as interchangeable, so a
222
+ // colon-command documented as `instar dev:profile-node` still counts (it
223
+ // otherwise never matched — every `dev:*` command read as undocumented).
224
+ const kebab = capability.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
225
+ needles = [`instar ${capability.name}`, `instar ${kebab}`];
226
+ normalize = (s) => s.replace(/:/g, '-');
219
227
  break;
228
+ }
220
229
  case 'job':
221
230
  needles = [capability.name];
222
231
  break;
@@ -232,8 +241,9 @@ function findMentions(capability, docs) {
232
241
  }
233
242
  const matches = [];
234
243
  for (const [docPath, content] of Object.entries(docs)) {
244
+ const normalized = normalize(content);
235
245
  for (const needle of needles) {
236
- if (content.includes(needle)) {
246
+ if (normalized.includes(normalize(needle))) {
237
247
  matches.push(docPath);
238
248
  break;
239
249
  }
@@ -308,6 +308,7 @@ function scanCliCommands() {
308
308
  { name: 'playbook', domain: 'context' },
309
309
  { name: 'dev-preflight', domain: 'development' },
310
310
  { name: 'dev-ci-failures', domain: 'development' },
311
+ { name: 'dev-profile-node', domain: 'development' },
311
312
  ];
312
313
 
313
314
  for (const cmd of commands) {