@mytechtoday/augment-extensions 0.2.0 → 0.5.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 (420) hide show
  1. package/README.md +614 -39
  2. package/augment-extensions/coding-standards/bash/README.md +196 -0
  3. package/augment-extensions/coding-standards/bash/module.json +163 -0
  4. package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -0
  5. package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -0
  6. package/augment-extensions/coding-standards/css/README.md +40 -0
  7. package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -0
  8. package/augment-extensions/coding-standards/css/module.json +44 -0
  9. package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -0
  10. package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -0
  11. package/augment-extensions/coding-standards/html/README.md +40 -0
  12. package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -0
  13. package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -0
  14. package/augment-extensions/coding-standards/html/module.json +44 -0
  15. package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -0
  16. package/augment-extensions/coding-standards/html-css-js/README.md +194 -0
  17. package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -0
  18. package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -0
  19. package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -0
  20. package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -0
  21. package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -0
  22. package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -0
  23. package/augment-extensions/coding-standards/html-css-js/module.json +48 -0
  24. package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -0
  25. package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -0
  26. package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -0
  27. package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -0
  28. package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -0
  29. package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -0
  30. package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -0
  31. package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -0
  32. package/augment-extensions/coding-standards/js/README.md +46 -0
  33. package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -0
  34. package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -0
  35. package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -0
  36. package/augment-extensions/coding-standards/js/module.json +49 -0
  37. package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -0
  38. package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -0
  39. package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -0
  40. package/augment-extensions/coding-standards/js/rules/performance.md +463 -0
  41. package/augment-extensions/coding-standards/js/rules/tooling.md +543 -0
  42. package/augment-extensions/coding-standards/php/README.md +248 -0
  43. package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -0
  44. package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -0
  45. package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -0
  46. package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -0
  47. package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -0
  48. package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -0
  49. package/augment-extensions/coding-standards/php/module.json +166 -0
  50. package/augment-extensions/coding-standards/php/rules/api-development.md +480 -0
  51. package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -0
  52. package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -0
  53. package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -0
  54. package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -0
  55. package/augment-extensions/coding-standards/php/rules/documentation.md +425 -0
  56. package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -0
  57. package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -0
  58. package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -0
  59. package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -0
  60. package/augment-extensions/coding-standards/php/rules/performance.md +392 -0
  61. package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -0
  62. package/augment-extensions/coding-standards/php/rules/security.md +358 -0
  63. package/augment-extensions/coding-standards/php/rules/testing.md +403 -0
  64. package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -0
  65. package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -0
  66. package/augment-extensions/coding-standards/powershell/README.md +154 -0
  67. package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -0
  68. package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -0
  69. package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -0
  70. package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -0
  71. package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -0
  72. package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -0
  73. package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -0
  74. package/augment-extensions/coding-standards/powershell/module.json +165 -0
  75. package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -0
  76. package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -0
  77. package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -0
  78. package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -0
  79. package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -0
  80. package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -0
  81. package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -0
  82. package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -0
  83. package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -0
  84. package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -0
  85. package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -0
  86. package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -0
  87. package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -0
  88. package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -0
  89. package/augment-extensions/coding-standards/python/README.md +12 -8
  90. package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -0
  91. package/augment-extensions/coding-standards/python/module.json +8 -4
  92. package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -0
  93. package/augment-extensions/coding-standards/python/rules/documentation.md +831 -0
  94. package/augment-extensions/coding-standards/python/rules/error-handling.md +855 -68
  95. package/augment-extensions/coding-standards/python/rules/testing.md +409 -0
  96. package/augment-extensions/coding-standards/python/rules/tooling.md +446 -0
  97. package/augment-extensions/coding-standards/python/rules/type-hints.md +115 -50
  98. package/augment-extensions/collections/html-css-js/README.md +82 -0
  99. package/augment-extensions/collections/html-css-js/collection.json +41 -0
  100. package/augment-extensions/domain-rules/database/README.md +161 -0
  101. package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -0
  102. package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -0
  103. package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -0
  104. package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -0
  105. package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -0
  106. package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -0
  107. package/augment-extensions/domain-rules/database/module.json +28 -0
  108. package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -0
  109. package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -0
  110. package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -0
  111. package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -0
  112. package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -0
  113. package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -0
  114. package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -0
  115. package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -0
  116. package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -0
  117. package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -0
  118. package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -0
  119. package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -0
  120. package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -0
  121. package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -0
  122. package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -0
  123. package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -0
  124. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -0
  125. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -0
  126. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -0
  127. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -0
  128. package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -0
  129. package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -0
  130. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -0
  131. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -0
  132. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -0
  133. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -0
  134. package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -0
  135. package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -0
  136. package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -0
  137. package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -0
  138. package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -0
  139. package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -0
  140. package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -0
  141. package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -0
  142. package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -0
  143. package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -0
  144. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -0
  145. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -0
  146. package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -0
  147. package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -0
  148. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -0
  149. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -0
  150. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/README.md +136 -0
  151. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/SCHEMA-VALIDATION-REPORT.md +216 -0
  152. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/brand-kit-example.yaml +292 -0
  153. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/campaign-brief-example.yaml +389 -0
  154. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/content-calendar-example.yaml +643 -0
  155. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/email-newsletter-example.md +376 -0
  156. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/landing-page-example.md +934 -0
  157. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/ppc-ad-copy-example.md +301 -0
  158. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/seo-blog-post-example.md +347 -0
  159. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/social-media-campaign-example.md +606 -0
  160. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/module.json +50 -0
  161. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/affiliate-influencer-marketing.md +593 -0
  162. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/asset-management.md +418 -0
  163. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/brand-consistency.md +210 -0
  164. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/content-marketing.md +337 -0
  165. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/conversion-optimization.md +455 -0
  166. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/direct-sales.md +499 -0
  167. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/email-marketing.md +439 -0
  168. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/legal-compliance.md +227 -0
  169. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/ppc-advertising.md +569 -0
  170. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/seo-optimization.md +470 -0
  171. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/social-media-marketing.md +414 -0
  172. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/universal-marketing.md +177 -0
  173. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/asset-inventory.schema.json +247 -0
  174. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/brand-kit.schema.json +326 -0
  175. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/campaign-brief.schema.json +342 -0
  176. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/color-palette.schema.json +223 -0
  177. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/content-template.schema.json +383 -0
  178. package/augment-extensions/domain-rules/mcp/README.md +150 -0
  179. package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
  180. package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
  181. package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
  182. package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
  183. package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
  184. package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
  185. package/augment-extensions/domain-rules/mcp/module.json +49 -0
  186. package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
  187. package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
  188. package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
  189. package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
  190. package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
  191. package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
  192. package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
  193. package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
  194. package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
  195. package/augment-extensions/workflows/beads/module.json +4 -3
  196. package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -0
  197. package/augment-extensions/workflows/beads-integration/README.md +143 -0
  198. package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -0
  199. package/augment-extensions/workflows/beads-integration/config/schema.json +140 -0
  200. package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -0
  201. package/augment-extensions/workflows/beads-integration/module.json +75 -0
  202. package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -0
  203. package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -0
  204. package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -0
  205. package/augment-extensions/workflows/database/README.md +195 -0
  206. package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
  207. package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
  208. package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
  209. package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
  210. package/augment-extensions/workflows/database/module.json +42 -0
  211. package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
  212. package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
  213. package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
  214. package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
  215. package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
  216. package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
  217. package/augment-extensions/workflows/database/rules/workflow.md +458 -0
  218. package/augment-extensions/workflows/openspec/module.json +4 -3
  219. package/augment-extensions/writing-standards/screenplay/README.md +300 -0
  220. package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -0
  221. package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -0
  222. package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -0
  223. package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -0
  224. package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
  225. package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -0
  226. package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -0
  227. package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -0
  228. package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -0
  229. package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -0
  230. package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -0
  231. package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -0
  232. package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -0
  233. package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -0
  234. package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -0
  235. package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -0
  236. package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -0
  237. package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -0
  238. package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -0
  239. package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -0
  240. package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -0
  241. package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -0
  242. package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -0
  243. package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -0
  244. package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -0
  245. package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -0
  246. package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -0
  247. package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -0
  248. package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -0
  249. package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -0
  250. package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -0
  251. package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -0
  252. package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -0
  253. package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -0
  254. package/augment-extensions/writing-standards/screenplay/module.json +124 -0
  255. package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -0
  256. package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -0
  257. package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -0
  258. package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -0
  259. package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -0
  260. package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -0
  261. package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -0
  262. package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -0
  263. package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -0
  264. package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -0
  265. package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -0
  266. package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -0
  267. package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -0
  268. package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -0
  269. package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -0
  270. package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -0
  271. package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -0
  272. package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -0
  273. package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -0
  274. package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -0
  275. package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
  276. package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -0
  277. package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -0
  278. package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -0
  279. package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -0
  280. package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -0
  281. package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -0
  282. package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -0
  283. package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -0
  284. package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -0
  285. package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -0
  286. package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -0
  287. package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -0
  288. package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -0
  289. package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -0
  290. package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -0
  291. package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -0
  292. package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -0
  293. package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -0
  294. package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -0
  295. package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -0
  296. package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -0
  297. package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -0
  298. package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -0
  299. package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -0
  300. package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -0
  301. package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -0
  302. package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -0
  303. package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -0
  304. package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -0
  305. package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -0
  306. package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -0
  307. package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -0
  308. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -0
  309. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -0
  310. package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -0
  311. package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -0
  312. package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -0
  313. package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -0
  314. package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -0
  315. package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -0
  316. package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -0
  317. package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -0
  318. package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -0
  319. package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -0
  320. package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -0
  321. package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -0
  322. package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -0
  323. package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -0
  324. package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -0
  325. package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -0
  326. package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -0
  327. package/cli/MODULES.md +302 -0
  328. package/cli/dist/cli.js +168 -10
  329. package/cli/dist/cli.js.map +1 -1
  330. package/cli/dist/commands/catalog.d.ts +13 -0
  331. package/cli/dist/commands/catalog.d.ts.map +1 -0
  332. package/cli/dist/commands/catalog.js +104 -0
  333. package/cli/dist/commands/catalog.js.map +1 -0
  334. package/cli/dist/commands/gui.d.ts +6 -0
  335. package/cli/dist/commands/gui.d.ts.map +1 -0
  336. package/cli/dist/commands/gui.js +211 -0
  337. package/cli/dist/commands/gui.js.map +1 -0
  338. package/cli/dist/commands/init.d.ts.map +1 -1
  339. package/cli/dist/commands/init.js +12 -0
  340. package/cli/dist/commands/init.js.map +1 -1
  341. package/cli/dist/commands/install-rules.d.ts +14 -0
  342. package/cli/dist/commands/install-rules.d.ts.map +1 -0
  343. package/cli/dist/commands/install-rules.js +127 -0
  344. package/cli/dist/commands/install-rules.js.map +1 -0
  345. package/cli/dist/commands/link.d.ts.map +1 -1
  346. package/cli/dist/commands/link.js +9 -11
  347. package/cli/dist/commands/link.js.map +1 -1
  348. package/cli/dist/commands/list.d.ts.map +1 -1
  349. package/cli/dist/commands/list.js +11 -28
  350. package/cli/dist/commands/list.js.map +1 -1
  351. package/cli/dist/commands/mcp.d.ts +48 -0
  352. package/cli/dist/commands/mcp.d.ts.map +1 -0
  353. package/cli/dist/commands/mcp.js +229 -0
  354. package/cli/dist/commands/mcp.js.map +1 -0
  355. package/cli/dist/commands/self-remove.d.ts +7 -0
  356. package/cli/dist/commands/self-remove.d.ts.map +1 -0
  357. package/cli/dist/commands/self-remove.js +179 -0
  358. package/cli/dist/commands/self-remove.js.map +1 -0
  359. package/cli/dist/commands/show.d.ts +19 -0
  360. package/cli/dist/commands/show.d.ts.map +1 -1
  361. package/cli/dist/commands/show.js +478 -63
  362. package/cli/dist/commands/show.js.map +1 -1
  363. package/cli/dist/commands/skill.d.ts +67 -0
  364. package/cli/dist/commands/skill.d.ts.map +1 -0
  365. package/cli/dist/commands/skill.js +513 -0
  366. package/cli/dist/commands/skill.js.map +1 -0
  367. package/cli/dist/commands/unlink.d.ts +6 -0
  368. package/cli/dist/commands/unlink.d.ts.map +1 -0
  369. package/cli/dist/commands/unlink.js +115 -0
  370. package/cli/dist/commands/unlink.js.map +1 -0
  371. package/cli/dist/commands/validate.d.ts +6 -0
  372. package/cli/dist/commands/validate.d.ts.map +1 -0
  373. package/cli/dist/commands/validate.js +159 -0
  374. package/cli/dist/commands/validate.js.map +1 -0
  375. package/cli/dist/types/gui.d.ts +62 -0
  376. package/cli/dist/types/gui.d.ts.map +1 -0
  377. package/cli/dist/types/gui.js +30 -0
  378. package/cli/dist/types/gui.js.map +1 -0
  379. package/cli/dist/utils/catalog-sync.d.ts +22 -0
  380. package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
  381. package/cli/dist/utils/catalog-sync.js +157 -0
  382. package/cli/dist/utils/catalog-sync.js.map +1 -0
  383. package/cli/dist/utils/character-count.d.ts +56 -0
  384. package/cli/dist/utils/character-count.d.ts.map +1 -0
  385. package/cli/dist/utils/character-count.js +190 -0
  386. package/cli/dist/utils/character-count.js.map +1 -0
  387. package/cli/dist/utils/documentation-validator.d.ts +18 -0
  388. package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
  389. package/cli/dist/utils/documentation-validator.js +233 -0
  390. package/cli/dist/utils/documentation-validator.js.map +1 -0
  391. package/cli/dist/utils/gui-helpers.d.ts +23 -0
  392. package/cli/dist/utils/gui-helpers.d.ts.map +1 -0
  393. package/cli/dist/utils/gui-helpers.js +159 -0
  394. package/cli/dist/utils/gui-helpers.js.map +1 -0
  395. package/cli/dist/utils/install-rules.d.ts +32 -0
  396. package/cli/dist/utils/install-rules.d.ts.map +1 -0
  397. package/cli/dist/utils/install-rules.js +375 -0
  398. package/cli/dist/utils/install-rules.js.map +1 -0
  399. package/cli/dist/utils/mcp-integration.d.ts +70 -0
  400. package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
  401. package/cli/dist/utils/mcp-integration.js +292 -0
  402. package/cli/dist/utils/mcp-integration.js.map +1 -0
  403. package/cli/dist/utils/module-system.d.ts +232 -0
  404. package/cli/dist/utils/module-system.d.ts.map +1 -0
  405. package/cli/dist/utils/module-system.js +900 -0
  406. package/cli/dist/utils/module-system.js.map +1 -0
  407. package/cli/dist/utils/modules-catalog.d.ts +33 -0
  408. package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
  409. package/cli/dist/utils/modules-catalog.js +163 -0
  410. package/cli/dist/utils/modules-catalog.js.map +1 -0
  411. package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
  412. package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
  413. package/cli/dist/utils/rule-install-hooks.js +224 -0
  414. package/cli/dist/utils/rule-install-hooks.js.map +1 -0
  415. package/cli/dist/utils/skill-system.d.ts +95 -0
  416. package/cli/dist/utils/skill-system.d.ts.map +1 -0
  417. package/cli/dist/utils/skill-system.js +313 -0
  418. package/cli/dist/utils/skill-system.js.map +1 -0
  419. package/modules.md +559 -105
  420. package/package.json +17 -6
@@ -0,0 +1,570 @@
1
+ # Hybrid MCP Example: Research Assistant
2
+
3
+ ## Use Case
4
+
5
+ An AI research assistant that combines multiple memory types for complex research tasks: token-based for document analysis, vector-based for knowledge retrieval, and state-based for workflow tracking.
6
+
7
+ **Challenges**:
8
+ - Manage multiple memory types simultaneously
9
+ - Coordinate between different context sources
10
+ - Maintain consistency across memory systems
11
+ - Optimize for both retrieval and generation
12
+
13
+ ---
14
+
15
+ ## Configuration
16
+
17
+ ```json
18
+ {
19
+ "mcp": {
20
+ "type": "hybrid",
21
+ "components": {
22
+ "token": {
23
+ "enabled": true,
24
+ "maxContextWindow": 200000,
25
+ "compressionThreshold": 0.85
26
+ },
27
+ "vector": {
28
+ "enabled": true,
29
+ "embeddingModel": "voyage-3-large",
30
+ "vectorStore": "pinecone",
31
+ "topK": 10
32
+ },
33
+ "state": {
34
+ "enabled": true,
35
+ "backend": "redis",
36
+ "ttl": 86400
37
+ }
38
+ },
39
+ "orchestration": {
40
+ "strategy": "priority_based",
41
+ "priorities": {
42
+ "vector": 1,
43
+ "state": 2,
44
+ "token": 3
45
+ },
46
+ "contextBudget": {
47
+ "vector": 0.4,
48
+ "state": 0.3,
49
+ "token": 0.3
50
+ }
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Architecture
59
+
60
+ ```
61
+ ┌─────────────────────────────────────────────────────────────┐
62
+ │ Research Query │
63
+ └─────────────────────────────────────────────────────────────┘
64
+
65
+
66
+ ┌─────────────────────────────────────────────────────────────┐
67
+ │ Context Orchestrator │
68
+ │ ┌──────────────────────────────────────────────────────┐ │
69
+ │ │ Priority-based routing │ │
70
+ │ │ Context budget allocation │ │
71
+ │ │ Memory coordination │ │
72
+ │ └──────────────────────────────────────────────────────┘ │
73
+ └─────────────────────────────────────────────────────────────┘
74
+ │ │ │
75
+ ▼ ▼ ▼
76
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
77
+ │ Vector MCP │ │ State MCP │ │ Token MCP │
78
+ │ │ │ │ │ │
79
+ │ Knowledge │ │ Workflow │ │ Document │
80
+ │ Retrieval │ │ State │ │ Analysis │
81
+ │ │ │ │ │ │
82
+ │ (40% budget) │ │ (30% budget) │ │ (30% budget) │
83
+ └──────────────┘ └──────────────┘ └──────────────┘
84
+ │ │ │
85
+ └────────────────────┴────────────────────┘
86
+
87
+
88
+ ┌─────────────────────────────────────────────────────────────┐
89
+ │ Unified Context │
90
+ │ - Retrieved knowledge (vector) │
91
+ │ - Workflow state (state) │
92
+ │ - Document excerpts (token) │
93
+ └─────────────────────────────────────────────────────────────┘
94
+
95
+
96
+ ┌─────────────────────────────────────────────────────────────┐
97
+ │ LLM Generation │
98
+ │ Unified Context → GPT-4o → Research Output │
99
+ └─────────────────────────────────────────────────────────────┘
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Implementation
105
+
106
+ ### Step 1: Context Orchestrator
107
+
108
+ ```python
109
+ from typing import Dict, Any, List, Optional
110
+ from enum import Enum
111
+ import redis
112
+ import voyageai
113
+ from pinecone import Pinecone
114
+ import openai
115
+ import tiktoken
116
+
117
+ class MemoryType(Enum):
118
+ VECTOR = "vector"
119
+ STATE = "state"
120
+ TOKEN = "token"
121
+
122
+ class ContextOrchestrator:
123
+ def __init__(self, config: Dict[str, Any]):
124
+ self.config = config
125
+ self.tokenizer = tiktoken.encoding_for_model("gpt-4o")
126
+
127
+ # Initialize memory components
128
+ self.vector_memory = VectorMemory(config["components"]["vector"])
129
+ self.state_memory = StateMemory(config["components"]["state"])
130
+ self.token_memory = TokenMemory(config["components"]["token"])
131
+
132
+ # Context budget allocation
133
+ self.context_budget = config["orchestration"]["contextBudget"]
134
+ self.max_context_window = config["components"]["token"]["maxContextWindow"]
135
+
136
+ def allocate_context_budget(self) -> Dict[MemoryType, int]:
137
+ """Allocate token budget to each memory type"""
138
+ total_budget = self.max_context_window
139
+
140
+ return {
141
+ MemoryType.VECTOR: int(total_budget * self.context_budget["vector"]),
142
+ MemoryType.STATE: int(total_budget * self.context_budget["state"]),
143
+ MemoryType.TOKEN: int(total_budget * self.context_budget["token"])
144
+ }
145
+
146
+ def gather_context(self, query: str, session_id: str) -> Dict[str, Any]:
147
+ """Gather context from all memory types"""
148
+ budget = self.allocate_context_budget()
149
+
150
+ # Retrieve from vector memory (knowledge base)
151
+ vector_context = self.vector_memory.retrieve(
152
+ query=query,
153
+ max_tokens=budget[MemoryType.VECTOR]
154
+ )
155
+
156
+ # Retrieve from state memory (workflow state)
157
+ state_context = self.state_memory.get_state(
158
+ session_id=session_id,
159
+ max_tokens=budget[MemoryType.STATE]
160
+ )
161
+
162
+ # Retrieve from token memory (document analysis)
163
+ token_context = self.token_memory.get_relevant_chunks(
164
+ query=query,
165
+ max_tokens=budget[MemoryType.TOKEN]
166
+ )
167
+
168
+ return {
169
+ "vector": vector_context,
170
+ "state": state_context,
171
+ "token": token_context
172
+ }
173
+
174
+ def build_unified_context(self, contexts: Dict[str, Any]) -> str:
175
+ """Build unified context from all memory types"""
176
+ parts = []
177
+
178
+ # Add vector context (knowledge base)
179
+ if contexts["vector"]:
180
+ parts.append("=== Knowledge Base ===")
181
+ for i, doc in enumerate(contexts["vector"]["documents"], 1):
182
+ parts.append(f"[{i}] {doc['text']}")
183
+ parts.append(f"Source: {doc['metadata'].get('source', 'Unknown')}")
184
+ parts.append("")
185
+
186
+ # Add state context (workflow)
187
+ if contexts["state"]:
188
+ parts.append("=== Research Workflow ===")
189
+ parts.append(f"Current Phase: {contexts['state']['phase']}")
190
+ parts.append(f"Completed Steps: {', '.join(contexts['state']['completed_steps'])}")
191
+ parts.append(f"Next Steps: {', '.join(contexts['state']['next_steps'])}")
192
+ parts.append("")
193
+
194
+ # Add token context (document excerpts)
195
+ if contexts["token"]:
196
+ parts.append("=== Document Analysis ===")
197
+ for i, chunk in enumerate(contexts["token"]["chunks"], 1):
198
+ parts.append(f"[{i}] {chunk['text']}")
199
+ parts.append(f"Document: {chunk['metadata'].get('document', 'Unknown')}")
200
+ parts.append("")
201
+
202
+ return "\n".join(parts)
203
+
204
+ class VectorMemory:
205
+ def __init__(self, config: Dict[str, Any]):
206
+ self.voyage_client = voyageai.Client(api_key=config.get("voyageApiKey"))
207
+ self.pc = Pinecone(api_key=config.get("pineconeApiKey"))
208
+ self.index = self.pc.Index(config.get("indexName", "research-kb"))
209
+ self.top_k = config.get("topK", 10)
210
+ self.tokenizer = tiktoken.encoding_for_model("gpt-4o")
211
+
212
+ def retrieve(self, query: str, max_tokens: int) -> Dict[str, Any]:
213
+ """Retrieve relevant documents within token budget"""
214
+ # Embed query
215
+ query_embedding = self.voyage_client.embed(
216
+ texts=[query],
217
+ model="voyage-3-large",
218
+ input_type="query"
219
+ ).embeddings[0]
220
+
221
+ # Vector search
222
+ results = self.index.query(
223
+ vector=query_embedding,
224
+ top_k=self.top_k,
225
+ include_metadata=True
226
+ )
227
+
228
+ # Filter by token budget
229
+ documents = []
230
+ total_tokens = 0
231
+
232
+ for match in results.matches:
233
+ text = match.metadata["text"]
234
+ tokens = len(self.tokenizer.encode(text))
235
+
236
+ if total_tokens + tokens <= max_tokens:
237
+ documents.append({
238
+ "text": text,
239
+ "score": match.score,
240
+ "metadata": {k: v for k, v in match.metadata.items() if k != "text"}
241
+ })
242
+ total_tokens += tokens
243
+ else:
244
+ break
245
+
246
+ return {
247
+ "documents": documents,
248
+ "total_tokens": total_tokens
249
+ }
250
+
251
+ class StateMemory:
252
+ def __init__(self, config: Dict[str, Any]):
253
+ self.redis = redis.from_url(config.get("redisUrl", "redis://localhost:6379"))
254
+ self.ttl = config.get("ttl", 86400)
255
+ self.tokenizer = tiktoken.encoding_for_model("gpt-4o")
256
+
257
+ def get_state(self, session_id: str, max_tokens: int) -> Optional[Dict[str, Any]]:
258
+ """Retrieve workflow state within token budget"""
259
+ state_key = f"research:{session_id}:state"
260
+ state_data = self.redis.get(state_key)
261
+
262
+ if not state_data:
263
+ return None
264
+
265
+ import json
266
+ state = json.loads(state_data)
267
+
268
+ # Truncate if exceeds budget
269
+ state_text = json.dumps(state)
270
+ tokens = len(self.tokenizer.encode(state_text))
271
+
272
+ if tokens > max_tokens:
273
+ # Truncate history
274
+ state["history"] = state.get("history", [])[-5:]
275
+
276
+ return state
277
+
278
+ def update_state(self, session_id: str, state: Dict[str, Any]) -> None:
279
+ """Update workflow state"""
280
+ import json
281
+ state_key = f"research:{session_id}:state"
282
+ state_data = json.dumps(state)
283
+ self.redis.setex(state_key, self.ttl, state_data)
284
+
285
+ class TokenMemory:
286
+ def __init__(self, config: Dict[str, Any]):
287
+ self.max_context_window = config.get("maxContextWindow", 200000)
288
+ self.tokenizer = tiktoken.encoding_for_model("gpt-4o")
289
+ self.documents = {} # In-memory storage (use persistent storage in production)
290
+
291
+ def add_document(self, doc_id: str, text: str, metadata: Dict[str, Any]) -> None:
292
+ """Add document to token memory"""
293
+ self.documents[doc_id] = {
294
+ "text": text,
295
+ "metadata": metadata,
296
+ "chunks": self._chunk_document(text)
297
+ }
298
+
299
+ def _chunk_document(self, text: str, chunk_size: int = 4096) -> List[Dict[str, Any]]:
300
+ """Chunk document for retrieval"""
301
+ sentences = text.split('. ')
302
+ chunks = []
303
+ current_chunk = []
304
+ current_tokens = 0
305
+
306
+ for sentence in sentences:
307
+ sentence_tokens = len(self.tokenizer.encode(sentence))
308
+
309
+ if current_tokens + sentence_tokens > chunk_size:
310
+ chunk_text = '. '.join(current_chunk) + '.'
311
+ chunks.append({
312
+ "text": chunk_text,
313
+ "tokens": current_tokens
314
+ })
315
+ current_chunk = [sentence]
316
+ current_tokens = sentence_tokens
317
+ else:
318
+ current_chunk.append(sentence)
319
+ current_tokens += sentence_tokens
320
+
321
+ if current_chunk:
322
+ chunk_text = '. '.join(current_chunk) + '.'
323
+ chunks.append({
324
+ "text": chunk_text,
325
+ "tokens": current_tokens
326
+ })
327
+
328
+ return chunks
329
+
330
+ def get_relevant_chunks(self, query: str, max_tokens: int) -> Dict[str, Any]:
331
+ """Get relevant document chunks within token budget"""
332
+ # Simple keyword matching (use semantic search in production)
333
+ query_terms = set(query.lower().split())
334
+
335
+ scored_chunks = []
336
+ for doc_id, doc in self.documents.items():
337
+ for chunk in doc["chunks"]:
338
+ chunk_terms = set(chunk["text"].lower().split())
339
+ overlap = len(query_terms & chunk_terms)
340
+
341
+ if overlap > 0:
342
+ scored_chunks.append({
343
+ "text": chunk["text"],
344
+ "score": overlap,
345
+ "tokens": chunk["tokens"],
346
+ "metadata": {"document": doc_id, **doc["metadata"]}
347
+ })
348
+
349
+ # Sort by score and filter by budget
350
+ scored_chunks.sort(key=lambda x: x["score"], reverse=True)
351
+
352
+ selected_chunks = []
353
+ total_tokens = 0
354
+
355
+ for chunk in scored_chunks:
356
+ if total_tokens + chunk["tokens"] <= max_tokens:
357
+ selected_chunks.append(chunk)
358
+ total_tokens += chunk["tokens"]
359
+ else:
360
+ break
361
+
362
+ return {
363
+ "chunks": selected_chunks,
364
+ "total_tokens": total_tokens
365
+ }
366
+ ```
367
+
368
+ ### Step 2: Research Assistant
369
+
370
+ ```python
371
+ class ResearchAssistant:
372
+ def __init__(self, config: Dict[str, Any], openai_api_key: str):
373
+ self.orchestrator = ContextOrchestrator(config)
374
+ self.client = openai.OpenAI(api_key=openai_api_key)
375
+
376
+ def research(self, query: str, session_id: str) -> Dict[str, Any]:
377
+ """Conduct research using hybrid MCP"""
378
+ # Gather context from all memory types
379
+ contexts = self.orchestrator.gather_context(query, session_id)
380
+
381
+ # Build unified context
382
+ unified_context = self.orchestrator.build_unified_context(contexts)
383
+
384
+ # Generate research output
385
+ messages = [
386
+ {
387
+ "role": "system",
388
+ "content": """You are a research assistant that synthesizes information from multiple sources.
389
+
390
+ Use the provided context from:
391
+ 1. Knowledge Base - General knowledge and references
392
+ 2. Research Workflow - Current research phase and progress
393
+ 3. Document Analysis - Specific document excerpts
394
+
395
+ Provide comprehensive, well-cited answers."""
396
+ },
397
+ {
398
+ "role": "user",
399
+ "content": f"""Context:
400
+ {unified_context}
401
+
402
+ Research Query: {query}
403
+
404
+ Provide a comprehensive answer with citations."""
405
+ }
406
+ ]
407
+
408
+ response = self.client.chat.completions.create(
409
+ model="gpt-4o",
410
+ messages=messages,
411
+ temperature=0.5
412
+ )
413
+
414
+ answer = response.choices[0].message.content
415
+
416
+ # Update workflow state
417
+ self._update_workflow_state(session_id, query, answer)
418
+
419
+ return {
420
+ "answer": answer,
421
+ "contexts_used": {
422
+ "vector": len(contexts["vector"].get("documents", [])),
423
+ "state": bool(contexts["state"]),
424
+ "token": len(contexts["token"].get("chunks", []))
425
+ },
426
+ "token_usage": {
427
+ "vector": contexts["vector"].get("total_tokens", 0),
428
+ "state": 0, # Calculate in production
429
+ "token": contexts["token"].get("total_tokens", 0)
430
+ }
431
+ }
432
+
433
+ def _update_workflow_state(self, session_id: str, query: str, answer: str) -> None:
434
+ """Update research workflow state"""
435
+ current_state = self.orchestrator.state_memory.get_state(session_id, max_tokens=10000)
436
+
437
+ if not current_state:
438
+ current_state = {
439
+ "phase": "exploration",
440
+ "completed_steps": [],
441
+ "next_steps": [],
442
+ "history": []
443
+ }
444
+
445
+ # Add to history
446
+ current_state["history"].append({
447
+ "query": query,
448
+ "answer": answer[:200], # Truncate for storage
449
+ "timestamp": "2026-01-29T00:00:00Z"
450
+ })
451
+
452
+ # Update phase based on progress
453
+ if len(current_state["history"]) > 5:
454
+ current_state["phase"] = "synthesis"
455
+
456
+ self.orchestrator.state_memory.update_state(session_id, current_state)
457
+ ```
458
+
459
+ ---
460
+
461
+ ## Usage Example
462
+
463
+ ```python
464
+ # Configuration
465
+ config = {
466
+ "components": {
467
+ "token": {"maxContextWindow": 200000, "compressionThreshold": 0.85},
468
+ "vector": {
469
+ "voyageApiKey": "your-voyage-key",
470
+ "pineconeApiKey": "your-pinecone-key",
471
+ "indexName": "research-kb",
472
+ "topK": 10
473
+ },
474
+ "state": {"redisUrl": "redis://localhost:6379", "ttl": 86400}
475
+ },
476
+ "orchestration": {
477
+ "strategy": "priority_based",
478
+ "priorities": {"vector": 1, "state": 2, "token": 3},
479
+ "contextBudget": {"vector": 0.4, "state": 0.3, "token": 0.3}
480
+ }
481
+ }
482
+
483
+ # Initialize assistant
484
+ assistant = ResearchAssistant(config, "your-openai-key")
485
+
486
+ # Add documents to token memory
487
+ assistant.orchestrator.token_memory.add_document(
488
+ "paper-1",
489
+ "This paper discusses machine learning techniques...",
490
+ {"source": "ml-paper.pdf", "year": 2024}
491
+ )
492
+
493
+ # Conduct research
494
+ result = assistant.research(
495
+ query="What are the latest advances in machine learning?",
496
+ session_id="research-session-001"
497
+ )
498
+
499
+ print(f"Answer: {result['answer']}")
500
+ print(f"\nContexts Used: {result['contexts_used']}")
501
+ print(f"Token Usage: {result['token_usage']}")
502
+ ```
503
+
504
+ ---
505
+
506
+ ## Key Features
507
+
508
+ ### 1. Multi-Memory Coordination
509
+ - Vector memory for knowledge retrieval
510
+ - State memory for workflow tracking
511
+ - Token memory for document analysis
512
+
513
+ ### 2. Context Budget Allocation
514
+ - Proportional allocation (40% vector, 30% state, 30% token)
515
+ - Dynamic adjustment based on availability
516
+ - Token-aware filtering
517
+
518
+ ### 3. Unified Context Building
519
+ - Structured context from all sources
520
+ - Clear section separation
521
+ - Source attribution
522
+
523
+ ### 4. Workflow State Management
524
+ - Phase tracking (exploration → synthesis)
525
+ - History maintenance
526
+ - Progress monitoring
527
+
528
+ ---
529
+
530
+ ## Best Practices
531
+
532
+ 1. **Budget Allocation**: Adjust based on use case requirements
533
+ 2. **Priority Ordering**: Set priorities based on information value
534
+ 3. **State Synchronization**: Keep state consistent across memories
535
+ 4. **Error Handling**: Handle failures in individual memory components
536
+ 5. **Monitoring**: Track usage and performance per memory type
537
+ 6. **Caching**: Cache frequently accessed context
538
+ 7. **Versioning**: Version state schema for compatibility
539
+
540
+ ---
541
+
542
+ ## Performance Optimization
543
+
544
+ - **Parallel Retrieval**: Fetch from all memories concurrently
545
+ - **Lazy Loading**: Load only required memory components
546
+ - **Connection Pooling**: Reuse connections to Redis/Pinecone
547
+ - **Batch Operations**: Batch updates to state memory
548
+ - **Compression**: Compress large state objects
549
+
550
+ ---
551
+
552
+ ## Testing
553
+
554
+ ```python
555
+ def test_context_orchestration():
556
+ config = {...} # Test config
557
+ orchestrator = ContextOrchestrator(config)
558
+
559
+ # Test budget allocation
560
+ budget = orchestrator.allocate_context_budget()
561
+ assert sum(budget.values()) <= orchestrator.max_context_window
562
+
563
+ # Test context gathering
564
+ contexts = orchestrator.gather_context("test query", "session-1")
565
+ assert "vector" in contexts
566
+ assert "state" in contexts
567
+ assert "token" in contexts
568
+ ```
569
+ ```
570
+