task-o-matic 0.0.10 → 0.0.12

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 (117) hide show
  1. package/dist/cli/display/progress.d.ts +1 -1
  2. package/dist/cli/display/progress.d.ts.map +1 -1
  3. package/dist/cli/display/progress.js +16 -13
  4. package/dist/commands/benchmark.js +70 -2
  5. package/dist/commands/init.js +48 -27
  6. package/dist/commands/prd.d.ts.map +1 -1
  7. package/dist/commands/prd.js +201 -0
  8. package/dist/commands/tasks/execute-loop.d.ts.map +1 -1
  9. package/dist/commands/tasks/execute-loop.js +21 -16
  10. package/dist/commands/tasks/execute.d.ts.map +1 -1
  11. package/dist/commands/tasks/execute.js +4 -0
  12. package/dist/commands/workflow.d.ts.map +1 -1
  13. package/dist/commands/workflow.js +56 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/lib/ai-service/ai-operations.d.ts +13 -10
  17. package/dist/lib/ai-service/ai-operations.d.ts.map +1 -1
  18. package/dist/lib/ai-service/ai-operations.js +35 -995
  19. package/dist/lib/ai-service/base-operations.d.ts +13 -0
  20. package/dist/lib/ai-service/base-operations.d.ts.map +1 -0
  21. package/dist/lib/ai-service/base-operations.js +79 -0
  22. package/dist/lib/ai-service/documentation-operations.d.ts +18 -0
  23. package/dist/lib/ai-service/documentation-operations.d.ts.map +1 -0
  24. package/dist/lib/ai-service/documentation-operations.js +301 -0
  25. package/dist/lib/ai-service/prd-operations.d.ts +14 -0
  26. package/dist/lib/ai-service/prd-operations.d.ts.map +1 -0
  27. package/dist/lib/ai-service/prd-operations.js +398 -0
  28. package/dist/lib/ai-service/task-operations.d.ts +12 -0
  29. package/dist/lib/ai-service/task-operations.d.ts.map +1 -0
  30. package/dist/lib/ai-service/task-operations.js +225 -0
  31. package/dist/lib/benchmark/registry.d.ts.map +1 -1
  32. package/dist/lib/benchmark/registry.js +127 -0
  33. package/dist/lib/better-t-stack-cli.d.ts +4 -1
  34. package/dist/lib/better-t-stack-cli.d.ts.map +1 -1
  35. package/dist/lib/better-t-stack-cli.js +126 -5
  36. package/dist/lib/config.d.ts +13 -6
  37. package/dist/lib/config.d.ts.map +1 -1
  38. package/dist/lib/config.js +90 -48
  39. package/dist/lib/context-builder.d.ts +13 -1
  40. package/dist/lib/context-builder.d.ts.map +1 -1
  41. package/dist/lib/context-builder.js +68 -36
  42. package/dist/lib/executors/claude-code-executor.d.ts +5 -2
  43. package/dist/lib/executors/claude-code-executor.d.ts.map +1 -1
  44. package/dist/lib/executors/claude-code-executor.js +30 -3
  45. package/dist/lib/executors/codex-executor.d.ts +5 -2
  46. package/dist/lib/executors/codex-executor.d.ts.map +1 -1
  47. package/dist/lib/executors/codex-executor.js +30 -3
  48. package/dist/lib/executors/executor-factory.d.ts +2 -2
  49. package/dist/lib/executors/executor-factory.d.ts.map +1 -1
  50. package/dist/lib/executors/executor-factory.js +5 -5
  51. package/dist/lib/executors/gemini-executor.d.ts +5 -2
  52. package/dist/lib/executors/gemini-executor.d.ts.map +1 -1
  53. package/dist/lib/executors/gemini-executor.js +30 -3
  54. package/dist/lib/executors/opencode-executor.d.ts +5 -2
  55. package/dist/lib/executors/opencode-executor.d.ts.map +1 -1
  56. package/dist/lib/executors/opencode-executor.js +32 -7
  57. package/dist/lib/prompt-builder.d.ts +11 -0
  58. package/dist/lib/prompt-builder.d.ts.map +1 -1
  59. package/dist/lib/prompt-builder.js +60 -0
  60. package/dist/lib/prompt-registry.d.ts.map +1 -1
  61. package/dist/lib/prompt-registry.js +158 -0
  62. package/dist/lib/storage/file-system.d.ts +3 -7
  63. package/dist/lib/storage/file-system.d.ts.map +1 -1
  64. package/dist/lib/storage/file-system.js +50 -230
  65. package/dist/lib/storage/storage-callbacks.d.ts +17 -0
  66. package/dist/lib/storage/storage-callbacks.d.ts.map +1 -0
  67. package/dist/lib/storage/storage-callbacks.js +94 -0
  68. package/dist/lib/task-execution.d.ts.map +1 -1
  69. package/dist/lib/task-execution.js +29 -51
  70. package/dist/lib/task-loop-execution.d.ts.map +1 -1
  71. package/dist/lib/task-loop-execution.js +234 -42
  72. package/dist/prompts/documentation-recap.d.ts +3 -0
  73. package/dist/prompts/documentation-recap.d.ts.map +1 -0
  74. package/dist/prompts/documentation-recap.js +13 -0
  75. package/dist/prompts/index.d.ts +6 -0
  76. package/dist/prompts/index.d.ts.map +1 -1
  77. package/dist/prompts/index.js +6 -0
  78. package/dist/prompts/prd-combination.d.ts +2 -0
  79. package/dist/prompts/prd-combination.d.ts.map +1 -0
  80. package/dist/prompts/prd-combination.js +35 -0
  81. package/dist/prompts/prd-generation.d.ts +2 -0
  82. package/dist/prompts/prd-generation.d.ts.map +1 -0
  83. package/dist/prompts/prd-generation.js +49 -0
  84. package/dist/prompts/prd-question-answer.d.ts +3 -0
  85. package/dist/prompts/prd-question-answer.d.ts.map +1 -0
  86. package/dist/prompts/prd-question-answer.js +27 -0
  87. package/dist/prompts/task-execution.d.ts +3 -0
  88. package/dist/prompts/task-execution.d.ts.map +1 -0
  89. package/dist/prompts/task-execution.js +21 -0
  90. package/dist/prompts/workflow-prompts.d.ts +9 -0
  91. package/dist/prompts/workflow-prompts.d.ts.map +1 -0
  92. package/dist/prompts/workflow-prompts.js +93 -0
  93. package/dist/services/prd.d.ts +43 -0
  94. package/dist/services/prd.d.ts.map +1 -1
  95. package/dist/services/prd.js +121 -0
  96. package/dist/services/workflow-ai-assistant.d.ts.map +1 -1
  97. package/dist/services/workflow-ai-assistant.js +73 -134
  98. package/dist/services/workflow.d.ts +10 -0
  99. package/dist/services/workflow.d.ts.map +1 -1
  100. package/dist/services/workflow.js +118 -40
  101. package/dist/test/integration/callbacks.test.d.ts +2 -0
  102. package/dist/test/integration/callbacks.test.d.ts.map +1 -0
  103. package/dist/test/integration/callbacks.test.js +64 -0
  104. package/dist/types/callbacks.d.ts +9 -6
  105. package/dist/types/callbacks.d.ts.map +1 -1
  106. package/dist/types/index.d.ts +17 -2
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/workflow-options.d.ts +7 -0
  109. package/dist/types/workflow-options.d.ts.map +1 -1
  110. package/dist/utils/ai-service-factory.d.ts +15 -1
  111. package/dist/utils/ai-service-factory.d.ts.map +1 -1
  112. package/dist/utils/ai-service-factory.js +29 -1
  113. package/dist/utils/streaming-options.d.ts +1 -1
  114. package/dist/utils/streaming-options.d.ts.map +1 -1
  115. package/dist/utils/streaming-options.js +31 -18
  116. package/docs/agents/cli.md +191 -0
  117. package/package.json +3 -2
@@ -20,4 +20,10 @@ __exportStar(require("./task-enhancement"), exports);
20
20
  __exportStar(require("./prd-rework"), exports);
21
21
  __exportStar(require("./documentation-detection"), exports);
22
22
  __exportStar(require("./task-planning"), exports);
23
+ __exportStar(require("./task-execution"), exports);
23
24
  __exportStar(require("./prd-question"), exports);
25
+ __exportStar(require("./prd-generation"), exports);
26
+ __exportStar(require("./prd-combination"), exports);
27
+ __exportStar(require("./documentation-recap"), exports);
28
+ __exportStar(require("./prd-question-answer"), exports);
29
+ __exportStar(require("./workflow-prompts"), exports);
@@ -0,0 +1,2 @@
1
+ export declare const PRD_COMBINATION_SYSTEM_PROMPT = "You are a Senior Product Lead tasked with synthesizing multiple Product Requirements Documents (PRDs) into a single, master PRD.\n\nYou will be provided with:\n1. The original product description.\n2. Multiple PRDs generated by different AI models.\n\nYour goal is to create the \"Best of Breed\" Master PRD.\n\nProcess:\n1. Analyze all input PRDs.\n2. Identify the strongest points, most detailed features, and best technical architectural decisions from each.\n3. Resolve any conflicts by choosing the most robust and feasible option.\n4. Merge them into a single, cohesive document following the standard PRD structure.\n\nStructure the Master PRD as follows:\n\n# Master Product Requirements Document\n\n## 1. Overview\n## 2. Objectives\n## 3. Target Audience\n## 4. Features (MVP & Future)\n## 5. Technical Requirements\n## 6. Timeline & Milestones\n## 7. Open Questions / Risks\n\nGuidelines:\n- Do not simply concatenate the documents. Synthesize them.\n- If one PRD has a better database schema and another has better UI/UX flows, combine them.\n- Maintain a consistent tone and voice.\n- Ensure the final document is self-contained and complete.\n";
2
+ //# sourceMappingURL=prd-combination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-combination.d.ts","sourceRoot":"","sources":["../../src/prompts/prd-combination.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,yoCA+BzC,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRD_COMBINATION_SYSTEM_PROMPT = void 0;
4
+ exports.PRD_COMBINATION_SYSTEM_PROMPT = `You are a Senior Product Lead tasked with synthesizing multiple Product Requirements Documents (PRDs) into a single, master PRD.
5
+
6
+ You will be provided with:
7
+ 1. The original product description.
8
+ 2. Multiple PRDs generated by different AI models.
9
+
10
+ Your goal is to create the "Best of Breed" Master PRD.
11
+
12
+ Process:
13
+ 1. Analyze all input PRDs.
14
+ 2. Identify the strongest points, most detailed features, and best technical architectural decisions from each.
15
+ 3. Resolve any conflicts by choosing the most robust and feasible option.
16
+ 4. Merge them into a single, cohesive document following the standard PRD structure.
17
+
18
+ Structure the Master PRD as follows:
19
+
20
+ # Master Product Requirements Document
21
+
22
+ ## 1. Overview
23
+ ## 2. Objectives
24
+ ## 3. Target Audience
25
+ ## 4. Features (MVP & Future)
26
+ ## 5. Technical Requirements
27
+ ## 6. Timeline & Milestones
28
+ ## 7. Open Questions / Risks
29
+
30
+ Guidelines:
31
+ - Do not simply concatenate the documents. Synthesize them.
32
+ - If one PRD has a better database schema and another has better UI/UX flows, combine them.
33
+ - Maintain a consistent tone and voice.
34
+ - Ensure the final document is self-contained and complete.
35
+ `;
@@ -0,0 +1,2 @@
1
+ export declare const PRD_GENERATION_SYSTEM_PROMPT = "You are an expert Product Manager and Technical Architect. Your goal is to create a comprehensive Product Requirements Document (PRD) based on the user's description.\n\nThe PRD should be detailed, actionable, and structured in Markdown.\n\nStructure the PRD with the following sections:\n\n# Product Requirements Document\n\n## 1. Overview\n- Executive summary of the product\n- Problem statement\n- Value proposition\n\n## 2. Objectives\n- Key goals (Business & Technical)\n- Success metrics (KPIs)\n\n## 3. Target Audience\n- User personas\n- User stories\n\n## 4. Features\n### 4.1 Core Features (MVP)\n- Detailed description of essential features\n- Acceptance criteria for each\n\n### 4.2 Future Features (Post-MVP)\n- Nice-to-have features for later iterations\n\n## 5. Technical Requirements\n- Tech stack recommendations (Frontend, Backend, Database, etc.)\n- System architecture overview\n- Security and Performance requirements\n\n## 6. Timeline & Milestones\n- Rough estimation of phases\n\n## 7. Open Questions / Risks\n- Any ambiguities or potential blockers\n\nGuidelines:\n- Be specific and avoid vague language.\n- Use professional technical terminology.\n- Focus on feasibility and clarity.\n- If the user provides specific technical constraints, adhere to them strictly.\n";
2
+ //# sourceMappingURL=prd-generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-generation.d.ts","sourceRoot":"","sources":["../../src/prompts/prd-generation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,gxCA6CxC,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRD_GENERATION_SYSTEM_PROMPT = void 0;
4
+ exports.PRD_GENERATION_SYSTEM_PROMPT = `You are an expert Product Manager and Technical Architect. Your goal is to create a comprehensive Product Requirements Document (PRD) based on the user's description.
5
+
6
+ The PRD should be detailed, actionable, and structured in Markdown.
7
+
8
+ Structure the PRD with the following sections:
9
+
10
+ # Product Requirements Document
11
+
12
+ ## 1. Overview
13
+ - Executive summary of the product
14
+ - Problem statement
15
+ - Value proposition
16
+
17
+ ## 2. Objectives
18
+ - Key goals (Business & Technical)
19
+ - Success metrics (KPIs)
20
+
21
+ ## 3. Target Audience
22
+ - User personas
23
+ - User stories
24
+
25
+ ## 4. Features
26
+ ### 4.1 Core Features (MVP)
27
+ - Detailed description of essential features
28
+ - Acceptance criteria for each
29
+
30
+ ### 4.2 Future Features (Post-MVP)
31
+ - Nice-to-have features for later iterations
32
+
33
+ ## 5. Technical Requirements
34
+ - Tech stack recommendations (Frontend, Backend, Database, etc.)
35
+ - System architecture overview
36
+ - Security and Performance requirements
37
+
38
+ ## 6. Timeline & Milestones
39
+ - Rough estimation of phases
40
+
41
+ ## 7. Open Questions / Risks
42
+ - Any ambiguities or potential blockers
43
+
44
+ Guidelines:
45
+ - Be specific and avoid vague language.
46
+ - Use professional technical terminology.
47
+ - Focus on feasibility and clarity.
48
+ - If the user provides specific technical constraints, adhere to them strictly.
49
+ `;
@@ -0,0 +1,3 @@
1
+ export declare const PRD_QUESTION_ANSWER_PROMPT = "You are a product expert helping to clarify a PRD.\n\nPRD Content:\n{PRD_CONTENT}{CONTEXT_TEXT}\n\nPlease answer the following questions based on the PRD and context:\n\n{QUESTIONS_TEXT}\n\nProvide thoughtful, specific answers that will help refine the PRD.\nFormat your response as JSON with the following structure:\n{\n \"answers\": {\n \"1\": \"answer to question 1\",\n \"2\": \"answer to question 2\",\n ...\n }\n}";
2
+ export declare const PRD_QUESTION_ANSWER_SYSTEM_PROMPT = "You are a product expert analyzing PRDs and answering clarifying questions.\nYour answers should be:\n- Specific and actionable\n- Based on the PRD content and project context\n- Helpful for refining the PRD\n- Formatted as JSON";
3
+ //# sourceMappingURL=prd-question-answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-question-answer.d.ts","sourceRoot":"","sources":["../../src/prompts/prd-question-answer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,obAiBrC,CAAC;AAEH,eAAO,MAAM,iCAAiC,yOAK1B,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRD_QUESTION_ANSWER_SYSTEM_PROMPT = exports.PRD_QUESTION_ANSWER_PROMPT = void 0;
4
+ exports.PRD_QUESTION_ANSWER_PROMPT = `You are a product expert helping to clarify a PRD.
5
+
6
+ PRD Content:
7
+ {PRD_CONTENT}{CONTEXT_TEXT}
8
+
9
+ Please answer the following questions based on the PRD and context:
10
+
11
+ {QUESTIONS_TEXT}
12
+
13
+ Provide thoughtful, specific answers that will help refine the PRD.
14
+ Format your response as JSON with the following structure:
15
+ {
16
+ "answers": {
17
+ "1": "answer to question 1",
18
+ "2": "answer to question 2",
19
+ ...
20
+ }
21
+ }`;
22
+ exports.PRD_QUESTION_ANSWER_SYSTEM_PROMPT = `You are a product expert analyzing PRDs and answering clarifying questions.
23
+ Your answers should be:
24
+ - Specific and actionable
25
+ - Based on the PRD content and project context
26
+ - Helpful for refining the PRD
27
+ - Formatted as JSON`;
@@ -0,0 +1,3 @@
1
+ export declare const TASK_EXECUTION_PROMPT = "{RETRY_CONTEXT}{TASK_PLAN}\n# Technology Stack\n{STACK_INFO}\n{DOCUMENTATION_CONTEXT}";
2
+ export declare const TASK_EXECUTION_SYSTEM_PROMPT = "\nYou are an expert software developer. Execute the task according to the implementation plan and project context provided.\n\n## Guidelines:\n1. Follow the implementation plan step-by-step\n2. Use the technology stack and libraries specified\n3. Refer to the documentation context for API usage\n4. Write clean, maintainable code following best practices\n5. Handle errors appropriately\n6. Test your changes\n\n## On Retries:\nIf this is a retry attempt, carefully analyze the previous error and fix it before proceeding.\n";
3
+ //# sourceMappingURL=task-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-execution.d.ts","sourceRoot":"","sources":["../../src/prompts/task-execution.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,0FAGV,CAAC;AAEzB,eAAO,MAAM,4BAA4B,khBAaxC,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TASK_EXECUTION_SYSTEM_PROMPT = exports.TASK_EXECUTION_PROMPT = void 0;
4
+ exports.TASK_EXECUTION_PROMPT = `{RETRY_CONTEXT}{TASK_PLAN}
5
+ # Technology Stack
6
+ {STACK_INFO}
7
+ {DOCUMENTATION_CONTEXT}`;
8
+ exports.TASK_EXECUTION_SYSTEM_PROMPT = `
9
+ You are an expert software developer. Execute the task according to the implementation plan and project context provided.
10
+
11
+ ## Guidelines:
12
+ 1. Follow the implementation plan step-by-step
13
+ 2. Use the technology stack and libraries specified
14
+ 3. Refer to the documentation context for API usage
15
+ 4. Write clean, maintainable code following best practices
16
+ 5. Handle errors appropriately
17
+ 6. Test your changes
18
+
19
+ ## On Retries:
20
+ If this is a retry attempt, carefully analyze the previous error and fix it before proceeding.
21
+ `;
@@ -0,0 +1,9 @@
1
+ export declare const PROJECT_INIT_SUGGESTION_PROMPT = "You are helping a developer configure their project initialization and tech stack.\n\nAvailable Options:\n- AI Providers: openrouter, anthropic, openai, custom\n- Frontend Frameworks: next, tanstack-router, react-router, vite-react, remix\n- Backend Frameworks: hono, express, elysia, fastify\n- Databases: sqlite, postgres, mysql, mongodb, turso, neon\n- Authentication: better-auth (recommended), clerk, auth0, custom\n\nUser's Description:\n\"{USER_DESCRIPTION}\"\n\nBased on the user's description, recommend a complete configuration. Consider:\n1. Project complexity and scale\n2. Developer experience level (infer from description)\n3. Modern best practices for 2025\n4. Compatibility between chosen technologies\n\nRespond in JSON format:\n{\n \"projectName\": \"suggested-project-name\",\n \"aiProvider\": \"recommended-provider\",\n \"aiModel\": \"recommended-model\",\n \"frontend\": \"recommended-frontend\",\n \"backend\": \"recommended-backend\",\n \"database\": \"recommended-database\",\n \"auth\": true/false,\n \"reasoning\": \"Brief explanation of your choices\"\n}";
2
+ export declare const PROJECT_INIT_SUGGESTION_SYSTEM_PROMPT = "You are an expert full-stack developer helping to configure modern web projects.";
3
+ export declare const PRD_IMPROVEMENT_PROMPT = "You are a product manager reviewing and improving a PRD.\n\nCurrent PRD:\n{CURRENT_PRD}\n\nUser's Feedback:\n\"{USER_FEEDBACK}\"\n\nImprove the PRD based on the feedback. Consider:\n1. Clarity and specificity\n2. Completeness of requirements\n3. Feasibility and scope\n4. Technical details\n5. Success criteria\n\nReturn the improved PRD in the same format, incorporating the user's feedback.";
4
+ export declare const PRD_IMPROVEMENT_SYSTEM_PROMPT = "You are an experienced product manager specializing in writing clear, actionable PRDs.";
5
+ export declare const TASK_PRIORITIZATION_PROMPT = "You are a project manager helping to prioritize tasks.\n\nTasks:\n{TASKS_DESCRIPTION}\n\nUser's Guidance:\n\"{USER_GUIDANCE}\"\n\nPrioritize these tasks (1 = highest priority) based on:\n1. Dependencies (what needs to be done first)\n2. User's guidance\n3. MVP vs. nice-to-have\n4. Risk and complexity\n\nRespond in JSON format:\n{\n \"prioritizedTasks\": [\n {\"id\": \"task-id\", \"priority\": 1, \"reasoning\": \"why this priority\"},\n ...\n ],\n \"recommendations\": \"Overall recommendations for task execution\"\n}";
6
+ export declare const TASK_PRIORITIZATION_SYSTEM_PROMPT = "You are an experienced project manager with expertise in agile methodologies and task prioritization.";
7
+ export declare const TASK_SPLITTING_ASSISTANCE_PROMPT = "You are a technical lead helping to break down a complex task.\n\nTask: {TASK_TITLE}\n{TASK_CONTENT}\n\nUser's Guidance:\n\"{USER_GUIDANCE}\"\n\nGenerate specific instructions for how to split this task into subtasks. Consider:\n1. Logical breakdown points\n2. Size constraints (e.g., 2-4 hour chunks)\n3. Dependencies between subtasks\n4. Testing and validation steps\n\nProvide clear, actionable instructions for the AI that will perform the split.";
8
+ export declare const TASK_SPLITTING_ASSISTANCE_SYSTEM_PROMPT = "You are a technical lead with deep expertise in breaking down complex software development tasks into manageable pieces.";
9
+ //# sourceMappingURL=workflow-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/workflow-prompts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,8BAA8B,wkCA4BzC,CAAC;AAEH,eAAO,MAAM,qCAAqC,qFAAqF,CAAC;AAGxI,eAAO,MAAM,sBAAsB,6YAe4C,CAAC;AAEhF,eAAO,MAAM,6BAA6B,2FAA2F,CAAC;AAGtI,eAAO,MAAM,0BAA0B,uhBAqBrC,CAAC;AAEH,eAAO,MAAM,iCAAiC,0GAA0G,CAAC;AAGzJ,eAAO,MAAM,gCAAgC,ucAckC,CAAC;AAEhF,eAAO,MAAM,uCAAuC,6HAA6H,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TASK_SPLITTING_ASSISTANCE_SYSTEM_PROMPT = exports.TASK_SPLITTING_ASSISTANCE_PROMPT = exports.TASK_PRIORITIZATION_SYSTEM_PROMPT = exports.TASK_PRIORITIZATION_PROMPT = exports.PRD_IMPROVEMENT_SYSTEM_PROMPT = exports.PRD_IMPROVEMENT_PROMPT = exports.PROJECT_INIT_SUGGESTION_SYSTEM_PROMPT = exports.PROJECT_INIT_SUGGESTION_PROMPT = void 0;
4
+ // Project Initialization Suggestion
5
+ exports.PROJECT_INIT_SUGGESTION_PROMPT = `You are helping a developer configure their project initialization and tech stack.
6
+
7
+ Available Options:
8
+ - AI Providers: openrouter, anthropic, openai, custom
9
+ - Frontend Frameworks: next, tanstack-router, react-router, vite-react, remix
10
+ - Backend Frameworks: hono, express, elysia, fastify
11
+ - Databases: sqlite, postgres, mysql, mongodb, turso, neon
12
+ - Authentication: better-auth (recommended), clerk, auth0, custom
13
+
14
+ User's Description:
15
+ "{USER_DESCRIPTION}"
16
+
17
+ Based on the user's description, recommend a complete configuration. Consider:
18
+ 1. Project complexity and scale
19
+ 2. Developer experience level (infer from description)
20
+ 3. Modern best practices for 2025
21
+ 4. Compatibility between chosen technologies
22
+
23
+ Respond in JSON format:
24
+ {
25
+ "projectName": "suggested-project-name",
26
+ "aiProvider": "recommended-provider",
27
+ "aiModel": "recommended-model",
28
+ "frontend": "recommended-frontend",
29
+ "backend": "recommended-backend",
30
+ "database": "recommended-database",
31
+ "auth": true/false,
32
+ "reasoning": "Brief explanation of your choices"
33
+ }`;
34
+ exports.PROJECT_INIT_SUGGESTION_SYSTEM_PROMPT = `You are an expert full-stack developer helping to configure modern web projects.`;
35
+ // PRD Improvement
36
+ exports.PRD_IMPROVEMENT_PROMPT = `You are a product manager reviewing and improving a PRD.
37
+
38
+ Current PRD:
39
+ {CURRENT_PRD}
40
+
41
+ User's Feedback:
42
+ "{USER_FEEDBACK}"
43
+
44
+ Improve the PRD based on the feedback. Consider:
45
+ 1. Clarity and specificity
46
+ 2. Completeness of requirements
47
+ 3. Feasibility and scope
48
+ 4. Technical details
49
+ 5. Success criteria
50
+
51
+ Return the improved PRD in the same format, incorporating the user's feedback.`;
52
+ exports.PRD_IMPROVEMENT_SYSTEM_PROMPT = `You are an experienced product manager specializing in writing clear, actionable PRDs.`;
53
+ // Task Prioritization
54
+ exports.TASK_PRIORITIZATION_PROMPT = `You are a project manager helping to prioritize tasks.
55
+
56
+ Tasks:
57
+ {TASKS_DESCRIPTION}
58
+
59
+ User's Guidance:
60
+ "{USER_GUIDANCE}"
61
+
62
+ Prioritize these tasks (1 = highest priority) based on:
63
+ 1. Dependencies (what needs to be done first)
64
+ 2. User's guidance
65
+ 3. MVP vs. nice-to-have
66
+ 4. Risk and complexity
67
+
68
+ Respond in JSON format:
69
+ {
70
+ "prioritizedTasks": [
71
+ {"id": "task-id", "priority": 1, "reasoning": "why this priority"},
72
+ ...
73
+ ],
74
+ "recommendations": "Overall recommendations for task execution"
75
+ }`;
76
+ exports.TASK_PRIORITIZATION_SYSTEM_PROMPT = `You are an experienced project manager with expertise in agile methodologies and task prioritization.`;
77
+ // Task Splitting Assistance
78
+ exports.TASK_SPLITTING_ASSISTANCE_PROMPT = `You are a technical lead helping to break down a complex task.
79
+
80
+ Task: {TASK_TITLE}
81
+ {TASK_CONTENT}
82
+
83
+ User's Guidance:
84
+ "{USER_GUIDANCE}"
85
+
86
+ Generate specific instructions for how to split this task into subtasks. Consider:
87
+ 1. Logical breakdown points
88
+ 2. Size constraints (e.g., 2-4 hour chunks)
89
+ 3. Dependencies between subtasks
90
+ 4. Testing and validation steps
91
+
92
+ Provide clear, actionable instructions for the AI that will perform the split.`;
93
+ exports.TASK_SPLITTING_ASSISTANCE_SYSTEM_PROMPT = `You are a technical lead with deep expertise in breaking down complex software development tasks into manageable pieces.`;
@@ -54,6 +54,49 @@ export declare class PRDService {
54
54
  answers: Record<string, string>;
55
55
  refinedPRDPath: string;
56
56
  }>;
57
+ generatePRD(input: {
58
+ description: string;
59
+ outputDir?: string;
60
+ filename?: string;
61
+ aiOptions?: AIOptions;
62
+ streamingOptions?: StreamingOptions;
63
+ callbacks?: ProgressCallback;
64
+ }): Promise<{
65
+ path: string;
66
+ content: string;
67
+ stats: {
68
+ duration: number;
69
+ tokenUsage?: {
70
+ prompt: number;
71
+ completion: number;
72
+ total: number;
73
+ };
74
+ timeToFirstToken?: number;
75
+ cost?: number;
76
+ };
77
+ }>;
78
+ combinePRDs(input: {
79
+ prds: string[];
80
+ originalDescription: string;
81
+ outputDir?: string;
82
+ filename?: string;
83
+ aiOptions?: AIOptions;
84
+ streamingOptions?: StreamingOptions;
85
+ callbacks?: ProgressCallback;
86
+ }): Promise<{
87
+ path: string;
88
+ content: string;
89
+ stats: {
90
+ duration: number;
91
+ tokenUsage?: {
92
+ prompt: number;
93
+ completion: number;
94
+ total: number;
95
+ };
96
+ timeToFirstToken?: number;
97
+ cost?: number;
98
+ };
99
+ }>;
57
100
  }
58
101
  export declare const prdService: PRDService;
59
102
  //# sourceMappingURL=prd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/services/prd.ts"],"names":[],"mappings":"AASA,OAAO,EAAiB,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAY,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,UAAU;IACf,QAAQ,CAAC,KAAK,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,GAAG,OAAO,CAAC,cAAc,CAAC;IA6NrB,iBAAiB,CAAC,KAAK,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqDf,SAAS,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IAiEb,sBAAsB,CAAC,KAAK,EAAE;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,iBAAiB,CAAC,EAAE,SAAS,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,GAAG,OAAO,CAAC;QACV,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CAwHH;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC"}
1
+ {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/services/prd.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,8 @@ class PRDService {
64
64
  // Set working directory from CLI layer (defaults to process.cwd() for backward compatibility)
65
65
  const workingDir = input.workingDirectory || process.cwd();
66
66
  config_1.configManager.setWorkingDirectory(workingDir);
67
+ // Reload config after changing working directory
68
+ await config_1.configManager.load();
67
69
  input.callbacks?.onProgress?.({
68
70
  type: "progress",
69
71
  message: "Reading PRD file...",
@@ -223,6 +225,7 @@ class PRDService {
223
225
  }
224
226
  const workingDir = input.workingDirectory || process.cwd();
225
227
  config_1.configManager.setWorkingDirectory(workingDir);
228
+ await config_1.configManager.load();
226
229
  input.callbacks?.onProgress?.({
227
230
  type: "progress",
228
231
  message: "Reading PRD file...",
@@ -256,6 +259,7 @@ class PRDService {
256
259
  // Set working directory from CLI layer (defaults to process.cwd() for backward compatibility)
257
260
  const workingDir = input.workingDirectory || process.cwd();
258
261
  config_1.configManager.setWorkingDirectory(workingDir);
262
+ await config_1.configManager.load();
259
263
  input.callbacks?.onProgress?.({
260
264
  type: "progress",
261
265
  message: "Reading PRD file...",
@@ -380,6 +384,123 @@ class PRDService {
380
384
  refinedPRDPath,
381
385
  };
382
386
  }
387
+ async generatePRD(input) {
388
+ const startTime = Date.now();
389
+ let tokenUsage;
390
+ let timeToFirstToken;
391
+ let cost;
392
+ input.callbacks?.onProgress?.({
393
+ type: "started",
394
+ message: "Generating PRD...",
395
+ });
396
+ // Capture metrics
397
+ const metricsStreamingOptions = {
398
+ ...input.streamingOptions,
399
+ onFinish: async (result) => {
400
+ if (result.usage) {
401
+ tokenUsage = {
402
+ prompt: result.usage.inputTokens || result.usage.promptTokens || 0,
403
+ completion: result.usage.outputTokens || result.usage.completionTokens || 0,
404
+ total: result.usage.totalTokens || 0,
405
+ };
406
+ // Simple cost estimation placeholder
407
+ if (tokenUsage.total > 0) {
408
+ cost = tokenUsage.total * 0.000001;
409
+ }
410
+ }
411
+ await input.streamingOptions?.onFinish?.(result);
412
+ },
413
+ onChunk: (chunk) => {
414
+ if (chunk && !timeToFirstToken) {
415
+ timeToFirstToken = Date.now() - startTime;
416
+ }
417
+ input.streamingOptions?.onChunk?.(chunk);
418
+ },
419
+ };
420
+ const aiConfig = (0, ai_config_builder_1.buildAIConfig)(input.aiOptions);
421
+ const content = await (0, ai_service_factory_1.getAIOperations)().generatePRD(input.description, aiConfig, undefined, undefined, metricsStreamingOptions);
422
+ // Save file
423
+ const taskOMaticDir = config_1.configManager.getTaskOMaticDir();
424
+ const prdDir = input.outputDir || (0, path_1.join)(taskOMaticDir, "prd");
425
+ if (!(0, fs_1.existsSync)(prdDir)) {
426
+ (0, fs_1.mkdirSync)(prdDir, { recursive: true });
427
+ }
428
+ const filename = input.filename || "prd.md";
429
+ const path = (0, path_1.join)(prdDir, filename);
430
+ (0, fs_1.writeFileSync)(path, content);
431
+ input.callbacks?.onProgress?.({
432
+ type: "completed",
433
+ message: `PRD generated and saved to ${path}`,
434
+ });
435
+ return {
436
+ path,
437
+ content,
438
+ stats: {
439
+ duration: Date.now() - startTime,
440
+ tokenUsage,
441
+ timeToFirstToken,
442
+ cost,
443
+ },
444
+ };
445
+ }
446
+ async combinePRDs(input) {
447
+ const startTime = Date.now();
448
+ let tokenUsage;
449
+ let timeToFirstToken;
450
+ let cost;
451
+ input.callbacks?.onProgress?.({
452
+ type: "started",
453
+ message: "Combining PRDs...",
454
+ });
455
+ // Capture metrics
456
+ const metricsStreamingOptions = {
457
+ ...input.streamingOptions,
458
+ onFinish: async (result) => {
459
+ if (result.usage) {
460
+ tokenUsage = {
461
+ prompt: result.usage.inputTokens || result.usage.promptTokens || 0,
462
+ completion: result.usage.outputTokens || result.usage.completionTokens || 0,
463
+ total: result.usage.totalTokens || 0,
464
+ };
465
+ if (tokenUsage.total > 0) {
466
+ cost = tokenUsage.total * 0.000001;
467
+ }
468
+ }
469
+ await input.streamingOptions?.onFinish?.(result);
470
+ },
471
+ onChunk: (chunk) => {
472
+ if (chunk && !timeToFirstToken) {
473
+ timeToFirstToken = Date.now() - startTime;
474
+ }
475
+ input.streamingOptions?.onChunk?.(chunk);
476
+ },
477
+ };
478
+ const aiConfig = (0, ai_config_builder_1.buildAIConfig)(input.aiOptions);
479
+ const content = await (0, ai_service_factory_1.getAIOperations)().combinePRDs(input.prds, input.originalDescription, aiConfig, undefined, undefined, metricsStreamingOptions);
480
+ // Save file
481
+ const taskOMaticDir = config_1.configManager.getTaskOMaticDir();
482
+ const prdDir = input.outputDir || (0, path_1.join)(taskOMaticDir, "prd");
483
+ if (!(0, fs_1.existsSync)(prdDir)) {
484
+ (0, fs_1.mkdirSync)(prdDir, { recursive: true });
485
+ }
486
+ const filename = input.filename || "prd-master.md";
487
+ const path = (0, path_1.join)(prdDir, filename);
488
+ (0, fs_1.writeFileSync)(path, content);
489
+ input.callbacks?.onProgress?.({
490
+ type: "completed",
491
+ message: `Master PRD saved to ${path}`,
492
+ });
493
+ return {
494
+ path,
495
+ content,
496
+ stats: {
497
+ duration: Date.now() - startTime,
498
+ tokenUsage,
499
+ timeToFirstToken,
500
+ cost,
501
+ },
502
+ };
503
+ }
383
504
  }
384
505
  exports.PRDService = PRDService;
385
506
  // Export singleton instance
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-ai-assistant.d.ts","sourceRoot":"","sources":["../../src/services/workflow-ai-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAiB,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGtE;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IA+DF;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDnB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnB;;OAEG;IACG,wBAAwB,CAAC,KAAK,EAAE;QACpC,KAAK,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC;QACV,gBAAgB,EAAE,KAAK,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IA+DF;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;CA6BpB;AAGD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
1
+ {"version":3,"file":"workflow-ai-assistant.d.ts","sourceRoot":"","sources":["../../src/services/workflow-ai-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAiB,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAItE;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAqDF;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCnB;;OAEG;IACG,wBAAwB,CAAC,KAAK,EAAE;QACpC,KAAK,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC;QACV,gBAAgB,EAAE,KAAK,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IA6DF;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCpB;AAGD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}