export interface IntentDocSections { why?: string; desiredOutcome?: string; nonNegotiables?: string; stopEscalation?: string; currentStrategicFocus?: string; } export type IntentDocWarningCode = 'missing_section' | 'empty_section' | 'too_vague' | 'oversized' | 'parse_failed'; export interface IntentDocWarning { code: IntentDocWarningCode; message: string; section?: string; } export declare const INTENT_MAX_BYTES: number; export declare function parseIntentDocSections(raw: string): IntentDocSections; /** * Assemble a complete INTENT.md document from individual sections. * * Symmetric to `parseIntentDocSections`: round-trip * `parseIntentDocSections(assembleIntentDoc(sections))` returns the same * sections (for non-empty content). Missing sections still emit their header * with empty content, so the assembled doc always has all 5 headers in order. * * Used by the wizard and the section editor to save user input without * hand-written string concatenation in the UI layer. */ export declare function assembleIntentDoc(sections: IntentDocSections): string; export declare function validateIntentDocSections(sections: IntentDocSections): IntentDocWarning[]; export declare const INTENT_DOC_TEMPLATE = "# INTENT.md\n\n## 1. Why\n\nWhy does this project matter?\n\n## 2. Desired Outcome\n\nWhat observable change should happen?\n\n## 3. Non-negotiables\n\nWhat cannot be sacrificed?\n\n## 4. Stop / Escalation\n\nWhen must the Agent stop and ask?\n\n## 5. Current Strategic Focus\n\nWhat is the current strategic trade-off?\n"; export type IntentLang = 'zh-CN' | 'en'; export declare function getIntentFilename(lang: IntentLang): string; export declare const INTENT_DOC_TEMPLATE_ZH = "# INTENT.md\n\n## 1. Why\n\n\u8FD9\u4E2A\u9879\u76EE / \u9636\u6BB5\u4E3A\u4EC0\u4E48\u91CD\u8981\uFF1F\n\u5B83\u670D\u52A1\u4E8E\u4EC0\u4E48\u957F\u671F\u76EE\u6807\uFF1F\n\u5B83\u4E0D\u53EA\u662F\u8981\u5B8C\u6210\u4EC0\u4E48\u4EFB\u52A1\uFF0C\u800C\u662F\u8981\u89E3\u51B3\u4EC0\u4E48\u771F\u5B9E\u95EE\u9898\uFF1F\n\n## 2. Desired Outcome\n\n\u5B8C\u6210\u540E\uFF0C\u4E16\u754C\u5E94\u8BE5\u53D1\u751F\u4EC0\u4E48\u53EF\u89C2\u5BDF\u7684\u53D8\u5316\uFF1F\n\u4EC0\u4E48\u7ED3\u679C\u80FD\u8BF4\u660E\u6211\u4EEC\u66F4\u63A5\u8FD1\u76EE\u6807\uFF1F\n\u907F\u514D\u5199\"\u8BA9\u4EA7\u54C1\u66F4\u597D\"\u8FD9\u79CD\u4E0D\u53EF\u6BD4\u8F83\u63CF\u8FF0\u3002\n\n## 3. Non-negotiables\n\n\u4E3A\u4E86\u8FBE\u6210\u76EE\u6807\uFF0C\u54EA\u4E9B\u4E1C\u897F\u4E0D\u80FD\u88AB\u727A\u7272\uFF1F\n\u4F8B\u5982\uFF1AOwner \u6CE8\u610F\u529B\u3001\u7528\u6237\u4FE1\u4EFB\u3001MVP \u901F\u5EA6\u3001\u5B89\u5168\u8FB9\u754C\u3001\u53EF\u7EF4\u62A4\u6027\u3001\u54C1\u724C\u8C03\u6027\u3002\n\n## 4. Stop / Escalation\n\n\u4EC0\u4E48\u60C5\u51B5\u4E0B Agent \u5FC5\u987B\u505C\u4E0B\u3001\u8BE2\u95EE\u6216\u5347\u7EA7\u7ED9 Owner\uFF1F\n\n\u6CE8\u610F\uFF1A\u8FD9\u4E9B\u662F\u8F6F\u5347\u7EA7\u6761\u4EF6\uFF1B\u9664\u975E\u53E6\u884C\u7F16\u7801\u8FDB RuleHost\uFF0C\u5426\u5219\u4E0D\u6784\u6210\u786C\u62E6\u622A\u3002\n\n## 5. Current Strategic Focus\n\n\u5F53\u524D\u9636\u6BB5\u6700\u91CD\u8981\u7684\u6218\u7565\u53D6\u820D\u662F\u4EC0\u4E48\uFF1F\n\u4F8B\u5982\uFF1A\u9A8C\u8BC1\u75DB\u70B9\u4F18\u5148\u4E8E\u67B6\u6784\u5B8C\u7F8E\uFF1B\u53D1\u5E03 MVP \u4F18\u5148\u4E8E\u529F\u80FD\u5B8C\u6574\uFF1B\u4FDD\u62A4 Owner \u6CE8\u610F\u529B\u4F18\u5148\u4E8E\u81EA\u52A8\u5316\u8986\u76D6\u7387\u3002\n"; export declare const INTENT_DOC_TEMPLATE_EN = "# INTENT.md\n\n## 1. Why\n\nWhy does this project matter?\nWhat long-term goal does it serve?\nWhat real problem does it solve \u2014 beyond just completing tasks?\n\n## 2. Desired Outcome\n\nAfter completion, what observable change should happen in the world?\nWhat result would indicate we are closer to the goal?\nAvoid non-comparable descriptions like \"make the product better\".\n\n## 3. Non-negotiables\n\nTo achieve the goal, what cannot be sacrificed?\nExamples: Owner attention, user trust, MVP speed, security boundaries, maintainability, brand voice.\n\n## 4. Stop / Escalation\n\nUnder what circumstances must the Agent stop, ask, or escalate to Owner?\n\nNote: These are soft escalation conditions; unless separately encoded into RuleHost, they do not constitute hard blocks.\n\n## 5. Current Strategic Focus\n\nWhat is the most important strategic trade-off for the current phase?\nExamples: Validating pain points over architectural perfection; Shipping MVP over feature completeness; Protecting Owner attention over automation coverage.\n"; export declare function createIntentTemplate(lang: IntentLang): string; //# sourceMappingURL=intent-doc.d.ts.map