@magic-ingredients/tiny-brain-local 0.12.2 → 0.13.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 (72) hide show
  1. package/dist/cli/cli-factory.d.ts.map +1 -1
  2. package/dist/cli/cli-factory.js +34 -4
  3. package/dist/cli/cli-factory.js.map +1 -1
  4. package/dist/cli/commands/analyse.command.d.ts +11 -0
  5. package/dist/cli/commands/analyse.command.d.ts.map +1 -1
  6. package/dist/cli/commands/analyse.command.js +31 -0
  7. package/dist/cli/commands/analyse.command.js.map +1 -1
  8. package/dist/cli/commands/config.command.d.ts +10 -2
  9. package/dist/cli/commands/config.command.d.ts.map +1 -1
  10. package/dist/cli/commands/config.command.js +171 -3
  11. package/dist/cli/commands/config.command.js.map +1 -1
  12. package/dist/cli/commands/track-commit.command.d.ts +14 -2
  13. package/dist/cli/commands/track-commit.command.d.ts.map +1 -1
  14. package/dist/cli/commands/track-commit.command.js +102 -7
  15. package/dist/cli/commands/track-commit.command.js.map +1 -1
  16. package/dist/cli/commands/validate-commit-message.command.d.ts +47 -0
  17. package/dist/cli/commands/validate-commit-message.command.d.ts.map +1 -0
  18. package/dist/cli/commands/validate-commit-message.command.js +223 -0
  19. package/dist/cli/commands/validate-commit-message.command.js.map +1 -0
  20. package/dist/core/mcp-server.d.ts +1 -0
  21. package/dist/core/mcp-server.d.ts.map +1 -1
  22. package/dist/core/mcp-server.js +10 -0
  23. package/dist/core/mcp-server.js.map +1 -1
  24. package/dist/prompts/planning/planning.prompt.d.ts.map +1 -1
  25. package/dist/prompts/planning/planning.prompt.js +2 -11
  26. package/dist/prompts/planning/planning.prompt.js.map +1 -1
  27. package/dist/services/adr-service.d.ts +70 -0
  28. package/dist/services/adr-service.d.ts.map +1 -0
  29. package/dist/services/adr-service.js +242 -0
  30. package/dist/services/adr-service.js.map +1 -0
  31. package/dist/services/analyse-service.d.ts +1 -0
  32. package/dist/services/analyse-service.d.ts.map +1 -1
  33. package/dist/services/analyse-service.js +16 -2
  34. package/dist/services/analyse-service.js.map +1 -1
  35. package/dist/services/repo-service.d.ts +12 -2
  36. package/dist/services/repo-service.d.ts.map +1 -1
  37. package/dist/services/repo-service.js +200 -30
  38. package/dist/services/repo-service.js.map +1 -1
  39. package/dist/tools/config/config.tool.d.ts +10 -0
  40. package/dist/tools/config/config.tool.d.ts.map +1 -0
  41. package/dist/tools/config/config.tool.js +199 -0
  42. package/dist/tools/config/config.tool.js.map +1 -0
  43. package/dist/tools/config/index.d.ts +2 -0
  44. package/dist/tools/config/index.d.ts.map +1 -0
  45. package/dist/tools/config/index.js +2 -0
  46. package/dist/tools/config/index.js.map +1 -0
  47. package/dist/tools/persona/as.tool.d.ts +4 -0
  48. package/dist/tools/persona/as.tool.d.ts.map +1 -1
  49. package/dist/tools/persona/as.tool.js +47 -8
  50. package/dist/tools/persona/as.tool.js.map +1 -1
  51. package/dist/tools/plan/plan.tool.d.ts +2 -1
  52. package/dist/tools/plan/plan.tool.d.ts.map +1 -1
  53. package/dist/tools/plan/plan.tool.js +284 -162
  54. package/dist/tools/plan/plan.tool.js.map +1 -1
  55. package/dist/utils/adr-pattern-detector.d.ts +38 -0
  56. package/dist/utils/adr-pattern-detector.d.ts.map +1 -0
  57. package/dist/utils/adr-pattern-detector.js +158 -0
  58. package/dist/utils/adr-pattern-detector.js.map +1 -0
  59. package/dist/utils/adr-suggestion-generator.d.ts +50 -0
  60. package/dist/utils/adr-suggestion-generator.d.ts.map +1 -0
  61. package/dist/utils/adr-suggestion-generator.js +63 -0
  62. package/dist/utils/adr-suggestion-generator.js.map +1 -0
  63. package/dist/utils/commit-parser.d.ts +25 -0
  64. package/dist/utils/commit-parser.d.ts.map +1 -0
  65. package/dist/utils/commit-parser.js +46 -0
  66. package/dist/utils/commit-parser.js.map +1 -0
  67. package/package.json +2 -2
  68. package/templates/prd/_template/feature-template.md +1 -1
  69. /package/templates/adr/{0001-record-architecture-decisions.md → _template/0001-record-architecture-decisions.md} +0 -0
  70. /package/templates/adr/{ADR_CREATION_INSTRUCTIONS.md → _template/ADR_CREATION_INSTRUCTIONS.md} +0 -0
  71. /package/templates/adr/{adr-schema.json → _template/adr-schema.json} +0 -0
  72. /package/templates/adr/{adr-template.md → _template/adr-template.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"plan.tool.js","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.tool.js","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACpL,yBAAyB;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,0BAA0B;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,sBAAsB;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,yBAAyB;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,cAAc,EAAE,CAAC;aACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC,CACH;aACA,QAAQ,EAAE;QACb,UAAU,EAAE,CAAC;aACV,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;aACD,QAAQ,EAAE;QACb,aAAa,EAAE,CAAC;aACb,MAAM,CAAC;YACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;YACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACxC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;gBACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACpC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC3C,CAAC,CAAC,QAAQ,EAAE;SACd,CAAC;aACD,QAAQ,EAAE;QACb,yCAAyC;QACzC,cAAc,EAAE,CAAC;aACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;YACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACzC,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;IACb,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,yBAAyB;IACzB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,uBAAuB;IACvB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzE,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,yBAAyB;IACzB,yCAAyC;IACzC,wDAAwD;IACxD,wBAAwB;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/C,CAAC,CAAC;AAEH,4EAA4E;AAC5E,yCAAyC;AACzC,IAAI,iBAAiB,GAA6B,IAAI,CAAC;AAEvD;;;;GAIG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,+BAA+B,EAAE;YAClE,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,cAAc,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;QAC/C,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,6CAA6C;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,OAAO,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,eAAe;QACrC,IAAI,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAC,iBAAiB;QACtB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAoD8C;YAC3D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;wBACvK,WAAW,EAAE,mCAAmC;qBACjD;oBACD,yBAAyB;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oHAAoH;qBACvH;oBACD,0BAA0B;oBAC1B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iEAAiE;qBAC/E;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,qHAAqH;qBACxH;oBACD,sBAAsB;oBACtB,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mEAAmE;qBACjF;oBACD,yBAAyB;oBACzB,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mEAAmE;qBACjF;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC5B,cAAc,EAAE;gCACd,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;wCAC7D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC3B;oCACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;iCACtC;6BACF;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAChC;6BACF;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;oCACpE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC3B,UAAU,EAAE;wCACV,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;4CACpE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACjC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACnC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CAC/B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACrC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACxC;qCACF;iCACF;6BACF;yBACF;wBACD,WAAW,EACT,yIAAyI;qBAC5I;oBACD,yBAAyB;oBACzB,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oCAAoC;qBAClD;oBACD,yBAAyB;oBACzB,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oDAAoD;qBAClE;oBACD,uBAAuB;oBACvB,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC;wBAChD,WAAW,EAAE,wBAAwB;qBACtC;oBACD,0BAA0B;oBAC1B,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACpC;oBACD,yBAAyB;oBACzB,yCAAyC;oBACzC,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2CAA2C;qBACzD;oBACD,wBAAwB;oBACxB,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+CAA+C;qBAC7D;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yCAAyC;qBACvD;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oDAAoD;qBAClE;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,IAA6B,EAC7B,OAAuB;QAEvB,iDAAiD;QACjD,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAG,IAAY,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEjH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,6CAA6C;YAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACzE,OAAO,iBAAiB,CACtB,0DAA0D;oBAC1D,mDAAmD;oBACnD,yBAAyB;oBACzB,oCAAoC,CACrC,CAAC;YACJ,CAAC;YAED,4CAA4C;YAC5C,2EAA2E;YAC3E,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,0CAA0C,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3F,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,sCAAsC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YACnF,MAAM,eAAe,GAAmB;gBACtC,GAAG,OAAO;gBACV,cAAc;aACf,CAAC;YAEF,uEAAuE;YACvE,QAAQ,aAAa,CAAC,SAAS,EAAE,CAAC;gBAChC,KAAK,QAAQ;oBACX,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACrE,KAAK,SAAS;oBACZ,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACtE,KAAK,WAAW;oBACd,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACxE,KAAK,QAAQ;oBACX,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACrE,KAAK,QAAQ;oBACX,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACrE,KAAK,QAAQ;oBACX,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACrE,KAAK,MAAM;oBACT,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACnE,KAAK,SAAS;oBACZ,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACtE,KAAK,KAAK;oBACR,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBAClE,KAAK,YAAY;oBACf,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACxE,KAAK,iBAAiB;oBACpB,OAAO,MAAM,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBAC7E,KAAK,gBAAgB;oBACnB,OAAO,MAAM,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBAC5E,KAAK,kBAAkB;oBACrB,OAAO,MAAM,QAAQ,CAAC,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBAC9E;oBACE,OAAO,iBAAiB,CAAC,sBAAsB,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO,iBAAiB,CACtB,sBAAsB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,iBAAiB,CAAC,+DAA+D,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,CAAC;YACH,gCAAgC;YAChC,4EAA4E;YAC5E,qCAAqC;YACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,QAAkB;gBAC9B,QAAQ,EAAE,IAAI,CAAC,WAAqB;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,wCAAwC;aACxE,CAAC,CAAC;YAEH,oCAAoC;YACpC,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,YAAY,OAAO,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,iBAAiB,CACxD,OAAO,EACP;oBACE,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,GAAG;oBACZ,MAAM,EAAE,aAAa;iBACtB,EACD;oBACE,OAAO,EAAE,IAAI,CAAC,WAAW;oBACzB,SAAS,EAAE,uCAAuC;oBAClD,MAAM,EAAE,uCAAuC;oBAC/C,eAAe,EAAE,uCAAuC;oBACxD,cAAc,EAAE,uCAAuC;oBACvD,WAAW,EAAE,uCAAuC;iBACrD,CACF,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,CAAC,UAAU,GAAG,GAAG,OAAO,SAAS,CAAC;gBAEtC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBAClE,2DAA2D;YAC7D,CAAC;YAED,6BAA6B;YAC7B,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAEjF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,oEAAoE;gBACpE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CACpB,+BAA+B,IAAI,CAAC,EAAE,0BAA0B,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAC5F,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG;gBACf,oBAAoB,IAAI,CAAC,KAAK,GAAG;gBACjC,YAAY,IAAI,CAAC,EAAE,EAAE;gBACrB,YAAY,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,SAAS,EAAE;gBACpD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;gBACnD,EAAE;gBACF,aAAa,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY;gBACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1E,EAAE;gBACF,sCAAsC;gBACtC,SAAS;gBACT,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,KAAK;gBACL,EAAE;gBACF,4BAA4B;gBAC5B,6DAA6D;gBAC7D,yEAAyE;gBACzE,sFAAsF;gBACtF,8EAA8E;gBAC9E,EAAE;gBACF,uBAAuB;gBACvB,EAAE;gBACF,sBAAsB;gBACtB,SAAS;gBACT,IAAI,CAAC,SAAS,CACZ;oBACE,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE;wBACP,aAAa,EAAE;4BACb,aAAa,EAAE,CAAC;4BAChB,UAAU,EAAE;gCACV,EAAE,EAAE,QAAQ;gCACZ,MAAM,EAAE,WAAW;6BACpB;yBACF;qBACF;iBACF,EACD,IAAI,EACJ,CAAC,CACF;gBACD,KAAK;gBACL,EAAE;gBACF,6BAA6B;gBAC7B,SAAS;gBACT,IAAI,CAAC,SAAS,CACZ;oBACE,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE;wBACP,aAAa,EAAE;4BACb,aAAa,EAAE,CAAC;4BAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;yBACvC;qBACF;iBACF,EACD,IAAI,EACJ,CAAC,CACF;gBACD,KAAK;gBACL,EAAE;gBACF,+BAA+B;gBAC/B,SAAS;gBACT,IAAI,CAAC,SAAS,CACZ;oBACE,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE;wBACP,cAAc,EAAE;4BACd;gCACE,aAAa,EAAE,CAAC;gCAChB,MAAM,EAAE,WAAW;6BACpB;4BACD;gCACE,aAAa,EAAE,CAAC;gCAChB,MAAM,EAAE,QAAQ;gCAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;6BACvC;yBACF;qBACF;iBACF,EACD,IAAI,EACJ,CAAC,CACF;gBACD,KAAK;gBACL,EAAE;gBACF,wDAAwD;aACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAChC,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,OAAO,iBAAiB,CAAC,iEAAiE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,yEAAyE;YACzE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC;gBAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC;YAEH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAExD,MAAM,QAAQ,GAAG;gBACf,uBAAuB,OAAO,CAAC,KAAK,GAAG;gBACvC,eAAe,OAAO,CAAC,EAAE,EAAE;gBAC3B,mBAAmB,OAAO,CAAC,MAAM,EAAE;gBACnC,SAAS,IAAI,CAAC,KAAK,EAAE;gBACrB,oBAAoB,OAAO,aAAa,OAAO,CAAC,EAAE,KAAK;gBACvD,EAAE;gBACF,aAAa;gBACb,8CAA8C;gBAC9C,8CAA8C;gBAC9C,6DAA6D;aAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe,CAClC,KAAqC,EACrC,OAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,sBAAsB;YACtB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,iBAAiB,CAAC,iEAAiE,CAAC,CAAC;YAC9F,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,OAAO,iBAAiB,CACtB,gGAAgG,CACjG,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,iBAAiB,CACtB,qFAAqF,CACtF,CAAC;YACJ,CAAC;YAED,wCAAwC;YACxC,MAAM,QAAQ,GAAG;gBACf,2BAA2B,IAAI,CAAC,KAAK,GAAG;gBACxC,EAAE;gBACF,WAAW,IAAI,CAAC,UAAU,EAAE;gBAC5B,EAAE;gBACF,0BAA0B;gBAC1B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;oBAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;oBAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrG,OAAO,GAAG,WAAW,cAAc,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,OAAO,cAAc,IAAI,SAAS,kBAAkB,CAAC;gBACjH,CAAC,CAAC;gBACF,EAAE;gBACF,eAAe;gBACf,0CAA0C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;gBAClF,+DAA+D;gBAC/D,yFAAyF;gBACzF,qFAAqF;gBACrF,EAAE;gBACF,wGAAwG;aACzG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,IAAI,CAAC;YACT,qCAAqC;YACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,iBAAiB,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,iBAAiB,CAAC,8DAA8D,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC;gBACnD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;aAC5B,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAE7E,MAAM,QAAQ,GAAG;gBACf,oBAAoB,WAAW,CAAC,KAAK,GAAG;gBACxC,EAAE;gBACF,4BAA4B;gBAC5B,EAAE;gBACF,YAAY;aACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,qCAAqC;gBACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,oBAAoB,EAAE,CAAC;gBACjE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,iBAAiB,CACtB,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBAED,oEAAoE;gBACpE,MAAM,QAAQ,GAAG;oBACf,GAAG,WAAW;oBACd,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE;wBACR,aAAa,EAAE,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa;wBACrE,iBAAiB,EAAE,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,iBAAiB;wBAC7E,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU;wBAC/D,cAAc,EAAE,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc;wBACvE,WAAW,EAAE,EAAE;wBACf,YAAY,EAAE,EAAE;wBAChB,IAAI,EAAE,EAAE;qBACT;oBACD,OAAO,EAAE,EAAE;iBACZ,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,QAAe,CAAC,CAAC;gBACjF,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,qCAAqC;gBACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,iBAAiB,CACtB,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBACD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnE,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,eAAe,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvF,MAAM,IAAI,GAAG,WAAW,QAAQ,EAAE,CAAC;gBACnC,MAAM,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnE,MAAM,QAAQ,GAAG,CAAC,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC;YACxB,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,UAAU,CAC7B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;YAE3C,qCAAqC;YACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,+EAA+E;YAC/E,MAAM,aAAa,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAE9D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC;gBAC/C,IAAI,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAsC;aACnF,CAAC,CAAC;YAEH,oEAAoE;YACpE,MAAM,KAAK,GAAG,MAAM,KAAK,WAAW;gBAClC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;gBACrD,CAAC,CAAC,QAAQ,CAAC;YAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,mBAAmB,CACxB,MAAM,MAAM,6BAA6B,CAC1C,CAAC;YACJ,CAAC;YAED,uBAAuB;YACvB,MAAM,KAAK,GAAa,CAAC,yBAAyB,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,WAAW,GACf,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAE1E,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,MAAM,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5D,KAAK,CAAC,IAAI,CACR,gBAAgB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,QAAQ,CAChR,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAChC,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YAEH,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,iBAAiB,CACtB,8FAA8F,CAC/F,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,sCAAsC;YACtC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,iBAAiB,CACtB,mBAAmB,IAAI,CAAC,MAAM,qDAAqD,CACpF,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC;gBACjD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,mBAAmB,CACxB,qBAAqB,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAC1E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACvC,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvD,OAAO,mBAAmB,CACxB,uDAAuD,IAAI,CAAC,IAAI,IAAI,IAAI,qDAAqD,CAC9H,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC9C,CAAC;YAED,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG;gBACf,oCAAoC;gBACpC,EAAE;gBACF,qBAAqB,MAAM,CAAC,GAAG,EAAE;gBACjC,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,iCAAiC;gBACxF,EAAE;gBACF,yBAAyB;gBACzB,6BAA6B;gBAC7B,6CAA6C;gBAC7C,oBAAoB;gBACpB,2BAA2B;gBAC3B,EAAE;gBACF,4DAA4D;aAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,mBAAmB,CACtC,KAAqC,EACrC,QAAwB;QAExB,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzD,OAAO,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAE/B,+BAA+B;YAC/B,iBAAiB,GAAG,IAAI,CAAC;YAEzB,OAAO,mBAAmB,CAAC,kCAAkC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACxC,KAAqC,EACrC,QAAwB;QAExB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,iBAAiB,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAErE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG;oBACf,8BAA8B;oBAC9B,EAAE;oBACF,4BAA4B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE;oBAClE,EAAE;oBACF,iDAAiD;iBAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG;oBACf,kCAAkC;oBAClC,EAAE;oBACF,uBAAuB;oBACvB,sDAAsD;oBACtD,4DAA4D;oBAC5D,EAAE;oBACF,+EAA+E;iBAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,SAAS,CAC5B,IAAoC,EACpC,OAAuB;QAEvB,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CACtB,iFAAiF,CAClF,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3C,6BAA6B;YAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,YAAY,WAAW,qBAAqB,EAC5C,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,CAChC,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7C,2CAA2C;YAC3C,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBAC/C,eAAe,GAAG,QAAQ,CAAC;oBAC3B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG;oBACf,sDAAsD;oBACtD,EAAE;oBACF,eAAe,WAAW,iBAAiB;oBAC3C,EAAE;oBACF,8DAA8D;oBAC9D,EAAE;oBACF,gDAAgD;oBAChD,gEAAgE;oBAChE,qDAAqD;oBACrD,gEAAgE;oBAChE,mDAAmD;oBACnD,EAAE;oBACF,mEAAmE;iBACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;gBAChC,OAAO,iBAAiB,CAAC,uDAAuD,CAAC,CAAC;YACpF,CAAC;YAED,8CAA8C;YAC9C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAEnF,gEAAgE;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAEtD,MAAM,QAAQ,GAAG;gBACf,6BAA6B;gBAC7B,EAAE;gBACF,cAAc,eAAe,CAAC,SAAS,EAAE;gBACzC,eAAe,eAAe,CAAC,OAAO,EAAE;gBACxC,EAAE;gBACF,kBAAkB;gBAClB,EAAE;gBACF,aAAa;gBACb,UAAU;gBACV,KAAK;gBACL,EAAE;gBACF,KAAK;gBACL,EAAE;gBACF,8CAA8C;gBAC9C,EAAE;gBACF,sEAAsE;gBACtE,EAAE;gBACF,4CAA4C;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,kDAAkD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe,CAClC,KAAqC,EACrC,OAAuB;QAEvB,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CACtB,gEAAgE,CACjE,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAEnG,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,iBAAiB,CACtB,6FAA6F,CAC9F,CAAC;YACJ,CAAC;YAED,kDAAkD;YAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,iBAAiB,CAAC,qDAAqD,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvF,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CAAC,2DAA2D,CAAC,CAAC;YACxF,CAAC;YAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAEpD,uCAAuC;YACvC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAEtD,sDAAsD;YACtD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAEzE,2CAA2C;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5C,qBAAqB;YACrB,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAEpD,qBAAqB;YACrB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB;gBACxB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG;gBACf,6BAA6B;gBAC7B,EAAE;gBACF,YAAY,YAAY,EAAE;gBAC1B,kBAAkB,SAAS,EAAE;gBAC7B,EAAE;gBACF,+DAA+D;gBAC/D,EAAE;gBACF,aAAa;gBACb,sCAAsC;gBACtC,0DAA0D;gBAC1D,+CAA+C;gBAC/C,sCAAsC;aACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ADR (Architecture Decision Record) pattern detection result
3
+ */
4
+ export interface ADRDetection {
5
+ /** Whether an ADR pattern was detected (trigger + tech/pattern) */
6
+ hasADRPattern: boolean;
7
+ /** Trigger keywords found (adopt, migrate, implement, etc.) */
8
+ triggers: string[];
9
+ /** Technologies detected (PostgreSQL, Redis, GraphQL, etc.) */
10
+ technologies: string[];
11
+ /** Technology categories (database, api, auth, etc.) */
12
+ categories: string[];
13
+ /** Architecture patterns (microservices, event-driven, etc.) */
14
+ patterns: string[];
15
+ /** Suggested ADR title based on detected patterns */
16
+ suggestedTitle: string;
17
+ }
18
+ /**
19
+ * Detect ADR patterns in a commit message or text
20
+ *
21
+ * @param message - Text to analyze for ADR patterns
22
+ * @returns Detection result with triggers, technologies, patterns, and suggested title
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const result = detectADRPatterns('adopt PostgreSQL for data persistence');
27
+ * // {
28
+ * // hasADRPattern: true,
29
+ * // triggers: ['adopt'],
30
+ * // technologies: ['PostgreSQL'],
31
+ * // categories: ['database'],
32
+ * // patterns: [],
33
+ * // suggestedTitle: 'Adopt PostgreSQL'
34
+ * // }
35
+ * ```
36
+ */
37
+ export declare function detectADRPatterns(message: string): ADRDetection;
38
+ //# sourceMappingURL=adr-pattern-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-pattern-detector.d.ts","sourceRoot":"","sources":["../../src/utils/adr-pattern-detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,aAAa,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wDAAwD;IACxD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;CACxB;AAgDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA0G/D"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Trigger keywords that indicate architectural decisions
3
+ */
4
+ const TRIGGER_KEYWORDS = [
5
+ 'adopt',
6
+ 'adopting',
7
+ 'migrate',
8
+ 'migrating',
9
+ 'implement',
10
+ 'implementing',
11
+ 'choose',
12
+ 'choosing',
13
+ 'replace',
14
+ 'replacing',
15
+ 'select',
16
+ 'selecting',
17
+ ];
18
+ /**
19
+ * Technology database with category mapping
20
+ */
21
+ const TECHNOLOGIES = {
22
+ database: ['PostgreSQL', 'MySQL', 'Redis', 'MongoDB', 'Cassandra', 'DynamoDB'],
23
+ api: ['GraphQL', 'REST', 'gRPC', 'WebSocket'],
24
+ auth: ['OAuth2', 'JWT', 'SAML', 'OpenID'],
25
+ infrastructure: ['Kubernetes', 'Docker', 'AWS', 'GCP', 'Azure', 'Terraform', 'Ansible'],
26
+ messaging: ['Kafka', 'RabbitMQ', 'NATS', 'Redis'],
27
+ frontend: ['React', 'Vue', 'Angular', 'Next.js', 'Svelte'],
28
+ };
29
+ /**
30
+ * Architecture patterns to detect
31
+ */
32
+ const PATTERNS = [
33
+ 'microservices',
34
+ 'event-driven',
35
+ 'event sourcing',
36
+ 'CQRS',
37
+ 'hexagonal architecture',
38
+ 'clean architecture',
39
+ 'API gateway',
40
+ 'service mesh',
41
+ 'serverless',
42
+ 'monolith',
43
+ ];
44
+ /**
45
+ * Detect ADR patterns in a commit message or text
46
+ *
47
+ * @param message - Text to analyze for ADR patterns
48
+ * @returns Detection result with triggers, technologies, patterns, and suggested title
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const result = detectADRPatterns('adopt PostgreSQL for data persistence');
53
+ * // {
54
+ * // hasADRPattern: true,
55
+ * // triggers: ['adopt'],
56
+ * // technologies: ['PostgreSQL'],
57
+ * // categories: ['database'],
58
+ * // patterns: [],
59
+ * // suggestedTitle: 'Adopt PostgreSQL'
60
+ * // }
61
+ * ```
62
+ */
63
+ export function detectADRPatterns(message) {
64
+ const lowerMessage = message.toLowerCase();
65
+ // Detect triggers with their positions for ordering
66
+ const triggerMatches = [];
67
+ for (const keyword of TRIGGER_KEYWORDS) {
68
+ // Match whole words only using word boundaries
69
+ const regex = new RegExp(`\\b${keyword}\\b`, 'i');
70
+ const match = lowerMessage.match(regex);
71
+ if (match && match.index !== undefined) {
72
+ // Keep original keyword form (don't normalize)
73
+ triggerMatches.push({ keyword, position: match.index });
74
+ }
75
+ }
76
+ // Sort by position (earliest first) and extract keywords
77
+ triggerMatches.sort((a, b) => a.position - b.position);
78
+ const triggers = triggerMatches.map(m => m.keyword);
79
+ // Detect technologies and categories
80
+ const technologies = [];
81
+ const categories = [];
82
+ for (const [category, techs] of Object.entries(TECHNOLOGIES)) {
83
+ for (const tech of techs) {
84
+ const regex = new RegExp(`\\b${tech}\\b`, 'i');
85
+ if (regex.test(message)) {
86
+ if (!technologies.includes(tech)) {
87
+ technologies.push(tech);
88
+ }
89
+ if (!categories.includes(category)) {
90
+ categories.push(category);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ // Detect patterns
96
+ const patterns = [];
97
+ for (const pattern of PATTERNS) {
98
+ const regex = new RegExp(`\\b${pattern}\\b`, 'i');
99
+ if (regex.test(lowerMessage)) {
100
+ if (!patterns.includes(pattern)) {
101
+ patterns.push(pattern);
102
+ }
103
+ }
104
+ }
105
+ // Special case: "clean" alone should trigger "clean architecture"
106
+ if (/\bclean\b/i.test(lowerMessage) && !patterns.includes('clean architecture')) {
107
+ patterns.push('clean architecture');
108
+ }
109
+ // Determine if this is an ADR pattern
110
+ // Must have trigger AND (technology OR pattern)
111
+ const hasADRPattern = triggers.length > 0 &&
112
+ (technologies.length > 0 || patterns.length > 0);
113
+ // Generate suggested title
114
+ let suggestedTitle = '';
115
+ if (hasADRPattern && triggers.length > 0) {
116
+ const firstTrigger = triggers[0];
117
+ const capitalizedTrigger = firstTrigger.charAt(0).toUpperCase() + firstTrigger.slice(1);
118
+ // Try to find first technology or pattern in the message order
119
+ const firstTech = technologies[0];
120
+ const firstPattern = patterns[0];
121
+ if (firstTech) {
122
+ // Check if there's a "from X to Y" pattern
123
+ const fromMatch = message.match(/from\s+(\w+)\s+to\s+(\w+)/i);
124
+ if (fromMatch && technologies.length >= 2) {
125
+ const fromTech = technologies.find(t => new RegExp(`\\b${t}\\b`, 'i').test(fromMatch[1]));
126
+ const toTech = technologies.find(t => new RegExp(`\\b${t}\\b`, 'i').test(fromMatch[2]));
127
+ if (fromTech && toTech) {
128
+ suggestedTitle = `${capitalizedTrigger} from ${fromTech} to ${toTech}`;
129
+ }
130
+ else {
131
+ suggestedTitle = `${capitalizedTrigger} ${firstTech}`;
132
+ }
133
+ }
134
+ else {
135
+ suggestedTitle = `${capitalizedTrigger} ${firstTech}`;
136
+ }
137
+ }
138
+ else if (firstPattern) {
139
+ // Check if there's a "to" between trigger and pattern
140
+ const toMatch = new RegExp(`\\b${firstTrigger}\\s+to\\s+${firstPattern}\\b`, 'i');
141
+ if (toMatch.test(lowerMessage)) {
142
+ suggestedTitle = `${capitalizedTrigger} to ${firstPattern}`;
143
+ }
144
+ else {
145
+ suggestedTitle = `${capitalizedTrigger} ${firstPattern}`;
146
+ }
147
+ }
148
+ }
149
+ return {
150
+ hasADRPattern,
151
+ triggers,
152
+ technologies,
153
+ categories,
154
+ patterns,
155
+ suggestedTitle,
156
+ };
157
+ }
158
+ //# sourceMappingURL=adr-pattern-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-pattern-detector.js","sourceRoot":"","sources":["../../src/utils/adr-pattern-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { ADRDetection } from './adr-pattern-detector.js';
2
+ import type { ParsedCommit } from './commit-parser.js';
3
+ /**
4
+ * ADR suggestion result
5
+ */
6
+ export interface ADRSuggestion {
7
+ /** Whether an ADR should be suggested */
8
+ shouldSuggest: boolean;
9
+ /** Suggested ADR title */
10
+ title: string;
11
+ /** Suggested filename (kebab-case with .md extension) */
12
+ suggestedFileName: string;
13
+ /** Context extracted from commit message */
14
+ context: string;
15
+ /** Detected technologies */
16
+ technologies: string[];
17
+ /** Detected technology categories */
18
+ categories: string[];
19
+ /** Detected architecture patterns */
20
+ patterns: string[];
21
+ /** Commit SHA that triggered the suggestion */
22
+ commitSha: string;
23
+ }
24
+ /**
25
+ * Generate ADR suggestion from pattern detection and commit message
26
+ *
27
+ * @param detection - ADR pattern detection result
28
+ * @param commit - Parsed commit message
29
+ * @param commitSha - Git commit SHA
30
+ * @returns ADR suggestion with pre-filled context
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const detection = detectADRPatterns('adopt PostgreSQL for data persistence');
35
+ * const commit = parseCommitMessage('feat: adopt PostgreSQL\n\nFor better JSON support');
36
+ * const suggestion = generateADRSuggestion(detection, commit, 'abc1234');
37
+ * // {
38
+ * // shouldSuggest: true,
39
+ * // title: 'Adopt PostgreSQL',
40
+ * // suggestedFileName: 'adopt-postgresql.md',
41
+ * // context: 'adopt PostgreSQL for data persistence\n\nFor better JSON support',
42
+ * // technologies: ['PostgreSQL'],
43
+ * // categories: ['database'],
44
+ * // patterns: [],
45
+ * // commitSha: 'abc1234'
46
+ * // }
47
+ * ```
48
+ */
49
+ export declare function generateADRSuggestion(detection: ADRDetection, commit: ParsedCommit, commitSha: string): ADRSuggestion;
50
+ //# sourceMappingURL=adr-suggestion-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-suggestion-generator.d.ts","sourceRoot":"","sources":["../../src/utils/adr-suggestion-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qCAAqC;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,aAAa,CAwCf"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Generate ADR suggestion from pattern detection and commit message
3
+ *
4
+ * @param detection - ADR pattern detection result
5
+ * @param commit - Parsed commit message
6
+ * @param commitSha - Git commit SHA
7
+ * @returns ADR suggestion with pre-filled context
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const detection = detectADRPatterns('adopt PostgreSQL for data persistence');
12
+ * const commit = parseCommitMessage('feat: adopt PostgreSQL\n\nFor better JSON support');
13
+ * const suggestion = generateADRSuggestion(detection, commit, 'abc1234');
14
+ * // {
15
+ * // shouldSuggest: true,
16
+ * // title: 'Adopt PostgreSQL',
17
+ * // suggestedFileName: 'adopt-postgresql.md',
18
+ * // context: 'adopt PostgreSQL for data persistence\n\nFor better JSON support',
19
+ * // technologies: ['PostgreSQL'],
20
+ * // categories: ['database'],
21
+ * // patterns: [],
22
+ * // commitSha: 'abc1234'
23
+ * // }
24
+ * ```
25
+ */
26
+ export function generateADRSuggestion(detection, commit, commitSha) {
27
+ // Don't suggest if no ADR pattern detected
28
+ if (!detection.hasADRPattern) {
29
+ return {
30
+ shouldSuggest: false,
31
+ title: '',
32
+ suggestedFileName: '',
33
+ context: '',
34
+ technologies: [],
35
+ categories: [],
36
+ patterns: [],
37
+ commitSha,
38
+ };
39
+ }
40
+ // Extract title from detection
41
+ const title = detection.suggestedTitle;
42
+ // Generate kebab-case filename from title
43
+ const suggestedFileName = title
44
+ .toLowerCase()
45
+ .replace(/[^a-z0-9]+/g, '-')
46
+ .replace(/^-+|-+$/g, '') + '.md';
47
+ // Build context from commit message
48
+ let context = commit.subject;
49
+ if (commit.body) {
50
+ context += `\n\n${commit.body}`;
51
+ }
52
+ return {
53
+ shouldSuggest: true,
54
+ title,
55
+ suggestedFileName,
56
+ context,
57
+ technologies: detection.technologies,
58
+ categories: detection.categories,
59
+ patterns: detection.patterns,
60
+ commitSha,
61
+ };
62
+ }
63
+ //# sourceMappingURL=adr-suggestion-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-suggestion-generator.js","sourceRoot":"","sources":["../../src/utils/adr-suggestion-generator.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAuB,EACvB,MAAoB,EACpB,SAAiB;IAEjB,2CAA2C;IAC3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7B,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,EAAE;YACT,iBAAiB,EAAE,EAAE;YACrB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,SAAS;SACV,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,KAAK;SAC5B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IAEnC,oCAAoC;IACpC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,KAAK;QACL,iBAAiB;QACjB,OAAO;QACP,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Parsed commit message structure
3
+ */
4
+ export interface ParsedCommit {
5
+ /** First line of commit message */
6
+ subject: string;
7
+ /** Remaining lines after subject (excluding leading empty lines) */
8
+ body: string;
9
+ /** Full original commit message */
10
+ fullMessage: string;
11
+ }
12
+ /**
13
+ * Parse a git commit message into structured components
14
+ *
15
+ * @param rawCommit - Raw commit message string from git log
16
+ * @returns Parsed commit with subject, body, and full message
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const parsed = parseCommitMessage('feat: add feature\n\nThis is the body');
21
+ * // { subject: 'feat: add feature', body: 'This is the body', fullMessage: '...' }
22
+ * ```
23
+ */
24
+ export declare function parseCommitMessage(rawCommit: string): ParsedCommit;
25
+ //# sourceMappingURL=commit-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-parser.d.ts","sourceRoot":"","sources":["../../src/utils/commit-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAsClE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Parse a git commit message into structured components
3
+ *
4
+ * @param rawCommit - Raw commit message string from git log
5
+ * @returns Parsed commit with subject, body, and full message
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const parsed = parseCommitMessage('feat: add feature\n\nThis is the body');
10
+ * // { subject: 'feat: add feature', body: 'This is the body', fullMessage: '...' }
11
+ * ```
12
+ */
13
+ export function parseCommitMessage(rawCommit) {
14
+ // Handle empty or whitespace-only commits
15
+ if (!rawCommit || rawCommit.trim() === '') {
16
+ return {
17
+ subject: '',
18
+ body: '',
19
+ fullMessage: rawCommit,
20
+ };
21
+ }
22
+ const lines = rawCommit.split('\n');
23
+ // Extract subject (first line, trimmed)
24
+ const subject = lines[0]?.trim() || '';
25
+ // Extract body (everything after first line, excluding leading empty lines)
26
+ const bodyLines = lines.slice(1);
27
+ // Find first non-empty line to start body
28
+ let bodyStartIndex = 0;
29
+ for (let i = 0; i < bodyLines.length; i++) {
30
+ if (bodyLines[i].trim() !== '') {
31
+ bodyStartIndex = i;
32
+ break;
33
+ }
34
+ }
35
+ // Join body lines, but only if there are non-empty lines
36
+ const hasNonEmptyBody = bodyLines.some(line => line.trim() !== '');
37
+ const body = hasNonEmptyBody
38
+ ? bodyLines.slice(bodyStartIndex).join('\n').trim()
39
+ : '';
40
+ return {
41
+ subject,
42
+ body,
43
+ fullMessage: rawCommit,
44
+ };
45
+ }
46
+ //# sourceMappingURL=commit-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-parser.js","sourceRoot":"","sources":["../../src/utils/commit-parser.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,0CAA0C;IAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,SAAS;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpC,wCAAwC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEvC,4EAA4E;IAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjC,0CAA0C;IAC1C,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/B,cAAc,GAAG,CAAC,CAAC;YACnB,MAAM;QACR,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,eAAe;QAC1B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QACnD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,OAAO;QACP,IAAI;QACJ,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magic-ingredients/tiny-brain-local",
3
- "version": "0.12.2",
3
+ "version": "0.13.0",
4
4
  "description": "Local MCP server implementation for Tiny Brain AI assistant",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "dxt:init": "cd dxt && dxt init"
42
42
  },
43
43
  "dependencies": {
44
- "@magic-ingredients/tiny-brain-core": "^0.12.2",
44
+ "@magic-ingredients/tiny-brain-core": "^0.13.0",
45
45
  "@magic-ingredients/tiny-brain-dashboard": "file:../tiny-brain-dashboard",
46
46
  "@modelcontextprotocol/sdk": "^1.0.6",
47
47
  "chalk": "^5.3.0",
@@ -2,7 +2,7 @@
2
2
  id: feature-id
3
3
  prd_id: parent-prd-id
4
4
  title: Feature Title
5
- status: planned
5
+ status: defined
6
6
  created: YYYY-MM-DD
7
7
  updated: YYYY-MM-DD
8
8
  ---