analyzthis_design 2.0.0 → 2.1.0

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 (69) hide show
  1. package/HOW-TO-USE.md +436 -0
  2. package/README.md +29 -13
  3. package/agents/cards/evolve-check.md +38 -0
  4. package/agents/manifests/evolve-check.json +16 -0
  5. package/dist/HOW-TO-USE.md +15 -3
  6. package/dist/README.md +29 -13
  7. package/dist/agents/cards/evolve-check.md +38 -0
  8. package/dist/agents/manifests/evolve-check.json +16 -0
  9. package/dist/bin/cli.js +1225 -1
  10. package/dist/lib/cache.js +111 -1
  11. package/dist/lib/chunk-executor.js +219 -1
  12. package/dist/lib/chunk-models.js +228 -1
  13. package/dist/lib/chunk-planner.js +328 -1
  14. package/dist/lib/chunk-router.js +66 -1
  15. package/dist/lib/chunk-run.js +199 -1
  16. package/dist/lib/chunk-synthesis.js +176 -1
  17. package/dist/lib/chunk-telemetry.js +88 -1
  18. package/dist/lib/collect.js +858 -1
  19. package/dist/lib/cost.js +119 -1
  20. package/dist/lib/dedup.js +167 -1
  21. package/dist/lib/deliberation.js +721 -1
  22. package/dist/lib/design-spec.js +236 -1
  23. package/dist/lib/evolution-metrics.js +197 -0
  24. package/dist/lib/evolve.js +361 -1
  25. package/dist/lib/export.js +77 -1
  26. package/dist/lib/feedback-submit.js +324 -1
  27. package/dist/lib/feedback.js +182 -1
  28. package/dist/lib/host-llm.js +251 -1
  29. package/dist/lib/install.js +301 -1
  30. package/dist/lib/knowledge.js +384 -1
  31. package/dist/lib/lessons.js +217 -1
  32. package/dist/lib/moodboard.js +563 -1
  33. package/dist/lib/orchestrator/run.js +935 -1
  34. package/dist/lib/outcome.js +193 -1
  35. package/dist/lib/platforms.js +166 -1
  36. package/dist/lib/provider.js +57 -1
  37. package/dist/lib/query-expander.js +83 -1
  38. package/dist/lib/ranker.js +105 -1
  39. package/dist/lib/reference-pack.js +221 -0
  40. package/dist/lib/research.js +143 -1
  41. package/dist/lib/retrieve.js +131 -1
  42. package/dist/lib/session.js +185 -1
  43. package/dist/lib/source-discovery.js +486 -1
  44. package/dist/lib/synthesis.js +155 -1
  45. package/dist/lib/token-gate.js +46 -1
  46. package/dist/skills/design-reference/google-fonts.csv +1924 -1924
  47. package/dist/skills/design-reference/products.csv +162 -162
  48. package/dist/skills/design-reference/schema.json +159 -0
  49. package/dist/skills/design-reference/stacks/angular.csv +1 -1
  50. package/dist/skills/design-reference/stacks/astro.csv +1 -1
  51. package/dist/skills/design-reference/stacks/laravel.csv +2 -2
  52. package/dist/skills/design-reference/stacks/threejs.csv +54 -54
  53. package/dist/skills/design-reference/styles.csv +85 -85
  54. package/dist/skills/design-reference/typography.csv +75 -74
  55. package/dist/skills/design-reference/ui-reasoning.csv +1 -1
  56. package/dist/skills/evolve-check/SKILL.md +106 -0
  57. package/package.json +8 -8
  58. package/scripts/validate-csvs.js +197 -0
  59. package/skills/design-reference/google-fonts.csv +1924 -1924
  60. package/skills/design-reference/products.csv +162 -162
  61. package/skills/design-reference/schema.json +159 -0
  62. package/skills/design-reference/stacks/angular.csv +1 -1
  63. package/skills/design-reference/stacks/astro.csv +1 -1
  64. package/skills/design-reference/stacks/laravel.csv +2 -2
  65. package/skills/design-reference/stacks/threejs.csv +54 -54
  66. package/skills/design-reference/styles.csv +85 -85
  67. package/skills/design-reference/typography.csv +75 -74
  68. package/skills/design-reference/ui-reasoning.csv +1 -1
  69. package/skills/evolve-check/SKILL.md +106 -0
@@ -1 +1,46 @@
1
- 'use strict';const CHARS_PER_TOKEN=0x4;function maxCharsForTokens(a){return Math['max'](0xc8,Math['floor'](Number(a)*CHARS_PER_TOKEN));}function enforceOutputCap(a,b){if(!a||b==null)return a||'';const c=maxCharsForTokens(b);if(a['length']<=c)return a;const d=/```json\s*deliberation\s*[\s\S]*?```/i,e=a['match'](d);if(e){const f=e[0x0],g=a['indexOf'](f),h=a['slice'](0x0,g)['trim'](),i=c-f['length']-0x10;if(i>0x50)return h['slice'](0x0,i)+'\x0a…\x0a'+f;return f;}return a['slice'](0x0,c-0x14)+'\x0a…\x20[output\x20capped\x20at\x20~'+b+'\x20tokens]';}function enforceSystemCap(a,b=0x157c){if(!a||a['length']<=b)return a;return a['slice'](0x0,b-0x18)+'\x0a…\x20[system\x20prompt\x20capped]';}module['exports']={'enforceOutputCap':enforceOutputCap,'enforceSystemCap':enforceSystemCap,'maxCharsForTokens':maxCharsForTokens,'CHARS_PER_TOKEN':CHARS_PER_TOKEN};
1
+ 'use strict';
2
+
3
+ /**
4
+ * Output token / size enforcement for persona + host (Devi) responses.
5
+ * ~4 chars per token (estimate). Preserves deliberation JSON fence when truncating.
6
+ */
7
+
8
+ const CHARS_PER_TOKEN = 4;
9
+
10
+ function maxCharsForTokens(maxTokens) {
11
+ return Math.max(200, Math.floor(Number(maxTokens) * CHARS_PER_TOKEN));
12
+ }
13
+
14
+ /**
15
+ * Truncate persona output to max token budget. Keeps ```json deliberation block intact.
16
+ */
17
+ function enforceOutputCap(text, maxTokens) {
18
+ if (!text || maxTokens == null) return text || '';
19
+ const maxChars = maxCharsForTokens(maxTokens);
20
+ if (text.length <= maxChars) return text;
21
+
22
+ const fenceRe = /```json\s*deliberation\s*[\s\S]*?```/i;
23
+ const fenceMatch = text.match(fenceRe);
24
+ if (fenceMatch) {
25
+ const fence = fenceMatch[0];
26
+ const fenceStart = text.indexOf(fence);
27
+ const body = text.slice(0, fenceStart).trim();
28
+ const bodyBudget = maxChars - fence.length - 16;
29
+ if (bodyBudget > 80) {
30
+ return `${body.slice(0, bodyBudget)}\n…\n${fence}`;
31
+ }
32
+ return fence;
33
+ }
34
+
35
+ return `${text.slice(0, maxChars - 20)}\n… [output capped at ~${maxTokens} tokens]`;
36
+ }
37
+
38
+ /**
39
+ * Trim system prompt on objection rounds — cards only, hard ceiling.
40
+ */
41
+ function enforceSystemCap(system, maxChars = 5500) {
42
+ if (!system || system.length <= maxChars) return system;
43
+ return `${system.slice(0, maxChars - 24)}\n… [system prompt capped]`;
44
+ }
45
+
46
+ module.exports = { enforceOutputCap, enforceSystemCap, maxCharsForTokens, CHARS_PER_TOKEN };