@a1st/aix-core 0.0.3
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.
- package/dist/backup.d.ts +12 -0
- package/dist/backup.d.ts.map +1 -0
- package/dist/backup.js +70 -0
- package/dist/backup.js.map +1 -0
- package/dist/cache/cleanup.d.ts +14 -0
- package/dist/cache/cleanup.d.ts.map +1 -0
- package/dist/cache/cleanup.js +61 -0
- package/dist/cache/cleanup.js.map +1 -0
- package/dist/cache/clear.d.ts +10 -0
- package/dist/cache/clear.d.ts.map +1 -0
- package/dist/cache/clear.js +30 -0
- package/dist/cache/clear.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/paths.d.ts +57 -0
- package/dist/cache/paths.d.ts.map +1 -0
- package/dist/cache/paths.js +86 -0
- package/dist/cache/paths.js.map +1 -0
- package/dist/cache/status.d.ts +21 -0
- package/dist/cache/status.d.ts.map +1 -0
- package/dist/cache/status.js +67 -0
- package/dist/cache/status.js.map +1 -0
- package/dist/discovery.d.ts +14 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +96 -0
- package/dist/discovery.js.map +1 -0
- package/dist/editors/adapters/base.d.ts +101 -0
- package/dist/editors/adapters/base.d.ts.map +1 -0
- package/dist/editors/adapters/base.js +399 -0
- package/dist/editors/adapters/base.js.map +1 -0
- package/dist/editors/adapters/claude-code.d.ts +27 -0
- package/dist/editors/adapters/claude-code.d.ts.map +1 -0
- package/dist/editors/adapters/claude-code.js +46 -0
- package/dist/editors/adapters/claude-code.js.map +1 -0
- package/dist/editors/adapters/codex.d.ts +30 -0
- package/dist/editors/adapters/codex.d.ts.map +1 -0
- package/dist/editors/adapters/codex.js +56 -0
- package/dist/editors/adapters/codex.js.map +1 -0
- package/dist/editors/adapters/cursor.d.ts +23 -0
- package/dist/editors/adapters/cursor.d.ts.map +1 -0
- package/dist/editors/adapters/cursor.js +39 -0
- package/dist/editors/adapters/cursor.js.map +1 -0
- package/dist/editors/adapters/index.d.ts +8 -0
- package/dist/editors/adapters/index.d.ts.map +1 -0
- package/dist/editors/adapters/index.js +8 -0
- package/dist/editors/adapters/index.js.map +1 -0
- package/dist/editors/adapters/vscode.d.ts +23 -0
- package/dist/editors/adapters/vscode.d.ts.map +1 -0
- package/dist/editors/adapters/vscode.js +36 -0
- package/dist/editors/adapters/vscode.js.map +1 -0
- package/dist/editors/adapters/windsurf.d.ts +23 -0
- package/dist/editors/adapters/windsurf.d.ts.map +1 -0
- package/dist/editors/adapters/windsurf.js +38 -0
- package/dist/editors/adapters/windsurf.js.map +1 -0
- package/dist/editors/adapters/zed.d.ts +29 -0
- package/dist/editors/adapters/zed.d.ts.map +1 -0
- package/dist/editors/adapters/zed.js +61 -0
- package/dist/editors/adapters/zed.js.map +1 -0
- package/dist/editors/import.d.ts +31 -0
- package/dist/editors/import.d.ts.map +1 -0
- package/dist/editors/import.js +271 -0
- package/dist/editors/import.js.map +1 -0
- package/dist/editors/index.d.ts +6 -0
- package/dist/editors/index.d.ts.map +1 -0
- package/dist/editors/index.js +4 -0
- package/dist/editors/index.js.map +1 -0
- package/dist/editors/install.d.ts +33 -0
- package/dist/editors/install.d.ts.map +1 -0
- package/dist/editors/install.js +186 -0
- package/dist/editors/install.js.map +1 -0
- package/dist/editors/strategies/claude-code/hooks.d.ts +13 -0
- package/dist/editors/strategies/claude-code/hooks.d.ts.map +1 -0
- package/dist/editors/strategies/claude-code/hooks.js +61 -0
- package/dist/editors/strategies/claude-code/hooks.js.map +1 -0
- package/dist/editors/strategies/claude-code/index.d.ts +5 -0
- package/dist/editors/strategies/claude-code/index.d.ts.map +1 -0
- package/dist/editors/strategies/claude-code/index.js +5 -0
- package/dist/editors/strategies/claude-code/index.js.map +1 -0
- package/dist/editors/strategies/claude-code/mcp.d.ts +10 -0
- package/dist/editors/strategies/claude-code/mcp.d.ts.map +1 -0
- package/dist/editors/strategies/claude-code/mcp.js +17 -0
- package/dist/editors/strategies/claude-code/mcp.js.map +1 -0
- package/dist/editors/strategies/claude-code/prompts.d.ts +18 -0
- package/dist/editors/strategies/claude-code/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/claude-code/prompts.js +42 -0
- package/dist/editors/strategies/claude-code/prompts.js.map +1 -0
- package/dist/editors/strategies/claude-code/rules.d.ts +17 -0
- package/dist/editors/strategies/claude-code/rules.d.ts.map +1 -0
- package/dist/editors/strategies/claude-code/rules.js +61 -0
- package/dist/editors/strategies/claude-code/rules.js.map +1 -0
- package/dist/editors/strategies/codex/index.d.ts +4 -0
- package/dist/editors/strategies/codex/index.d.ts.map +1 -0
- package/dist/editors/strategies/codex/index.js +4 -0
- package/dist/editors/strategies/codex/index.js.map +1 -0
- package/dist/editors/strategies/codex/mcp.d.ts +18 -0
- package/dist/editors/strategies/codex/mcp.d.ts.map +1 -0
- package/dist/editors/strategies/codex/mcp.js +93 -0
- package/dist/editors/strategies/codex/mcp.js.map +1 -0
- package/dist/editors/strategies/codex/prompts.d.ts +37 -0
- package/dist/editors/strategies/codex/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/codex/prompts.js +82 -0
- package/dist/editors/strategies/codex/prompts.js.map +1 -0
- package/dist/editors/strategies/codex/rules.d.ts +17 -0
- package/dist/editors/strategies/codex/rules.d.ts.map +1 -0
- package/dist/editors/strategies/codex/rules.js +35 -0
- package/dist/editors/strategies/codex/rules.js.map +1 -0
- package/dist/editors/strategies/cursor/hooks.d.ts +13 -0
- package/dist/editors/strategies/cursor/hooks.d.ts.map +1 -0
- package/dist/editors/strategies/cursor/hooks.js +54 -0
- package/dist/editors/strategies/cursor/hooks.js.map +1 -0
- package/dist/editors/strategies/cursor/index.d.ts +4 -0
- package/dist/editors/strategies/cursor/index.d.ts.map +1 -0
- package/dist/editors/strategies/cursor/index.js +4 -0
- package/dist/editors/strategies/cursor/index.js.map +1 -0
- package/dist/editors/strategies/cursor/prompts.d.ts +18 -0
- package/dist/editors/strategies/cursor/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/cursor/prompts.js +67 -0
- package/dist/editors/strategies/cursor/prompts.js.map +1 -0
- package/dist/editors/strategies/cursor/rules.d.ts +17 -0
- package/dist/editors/strategies/cursor/rules.d.ts.map +1 -0
- package/dist/editors/strategies/cursor/rules.js +41 -0
- package/dist/editors/strategies/cursor/rules.js.map +1 -0
- package/dist/editors/strategies/index.d.ts +9 -0
- package/dist/editors/strategies/index.d.ts.map +1 -0
- package/dist/editors/strategies/index.js +10 -0
- package/dist/editors/strategies/index.js.map +1 -0
- package/dist/editors/strategies/shared/global-mcp.d.ts +74 -0
- package/dist/editors/strategies/shared/global-mcp.d.ts.map +1 -0
- package/dist/editors/strategies/shared/global-mcp.js +85 -0
- package/dist/editors/strategies/shared/global-mcp.js.map +1 -0
- package/dist/editors/strategies/shared/index.d.ts +8 -0
- package/dist/editors/strategies/shared/index.d.ts.map +1 -0
- package/dist/editors/strategies/shared/index.js +8 -0
- package/dist/editors/strategies/shared/index.js.map +1 -0
- package/dist/editors/strategies/shared/native-skills.d.ts +19 -0
- package/dist/editors/strategies/shared/native-skills.d.ts.map +1 -0
- package/dist/editors/strategies/shared/native-skills.js +72 -0
- package/dist/editors/strategies/shared/native-skills.js.map +1 -0
- package/dist/editors/strategies/shared/no-hooks.d.ts +13 -0
- package/dist/editors/strategies/shared/no-hooks.d.ts.map +1 -0
- package/dist/editors/strategies/shared/no-hooks.js +19 -0
- package/dist/editors/strategies/shared/no-hooks.js.map +1 -0
- package/dist/editors/strategies/shared/no-mcp.d.ts +16 -0
- package/dist/editors/strategies/shared/no-mcp.d.ts.map +1 -0
- package/dist/editors/strategies/shared/no-mcp.js +21 -0
- package/dist/editors/strategies/shared/no-mcp.js.map +1 -0
- package/dist/editors/strategies/shared/no-prompts.d.ts +17 -0
- package/dist/editors/strategies/shared/no-prompts.d.ts.map +1 -0
- package/dist/editors/strategies/shared/no-prompts.js +24 -0
- package/dist/editors/strategies/shared/no-prompts.js.map +1 -0
- package/dist/editors/strategies/shared/pointer-skills.d.ts +17 -0
- package/dist/editors/strategies/shared/pointer-skills.d.ts.map +1 -0
- package/dist/editors/strategies/shared/pointer-skills.js +72 -0
- package/dist/editors/strategies/shared/pointer-skills.js.map +1 -0
- package/dist/editors/strategies/shared/standard-mcp.d.ts +16 -0
- package/dist/editors/strategies/shared/standard-mcp.d.ts.map +1 -0
- package/dist/editors/strategies/shared/standard-mcp.js +68 -0
- package/dist/editors/strategies/shared/standard-mcp.js.map +1 -0
- package/dist/editors/strategies/types.d.ts +126 -0
- package/dist/editors/strategies/types.d.ts.map +1 -0
- package/dist/editors/strategies/types.js +2 -0
- package/dist/editors/strategies/types.js.map +1 -0
- package/dist/editors/strategies/vscode/index.d.ts +4 -0
- package/dist/editors/strategies/vscode/index.d.ts.map +1 -0
- package/dist/editors/strategies/vscode/index.js +4 -0
- package/dist/editors/strategies/vscode/index.js.map +1 -0
- package/dist/editors/strategies/vscode/mcp.d.ts +17 -0
- package/dist/editors/strategies/vscode/mcp.d.ts.map +1 -0
- package/dist/editors/strategies/vscode/mcp.js +85 -0
- package/dist/editors/strategies/vscode/mcp.js.map +1 -0
- package/dist/editors/strategies/vscode/prompts.d.ts +18 -0
- package/dist/editors/strategies/vscode/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/vscode/prompts.js +81 -0
- package/dist/editors/strategies/vscode/prompts.js.map +1 -0
- package/dist/editors/strategies/vscode/rules.d.ts +17 -0
- package/dist/editors/strategies/vscode/rules.d.ts.map +1 -0
- package/dist/editors/strategies/vscode/rules.js +38 -0
- package/dist/editors/strategies/vscode/rules.js.map +1 -0
- package/dist/editors/strategies/windsurf/hooks.d.ts +13 -0
- package/dist/editors/strategies/windsurf/hooks.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/hooks.js +61 -0
- package/dist/editors/strategies/windsurf/hooks.js.map +1 -0
- package/dist/editors/strategies/windsurf/index.d.ts +6 -0
- package/dist/editors/strategies/windsurf/index.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/index.js +6 -0
- package/dist/editors/strategies/windsurf/index.js.map +1 -0
- package/dist/editors/strategies/windsurf/mcp.d.ts +8 -0
- package/dist/editors/strategies/windsurf/mcp.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/mcp.js +99 -0
- package/dist/editors/strategies/windsurf/mcp.js.map +1 -0
- package/dist/editors/strategies/windsurf/prompts.d.ts +18 -0
- package/dist/editors/strategies/windsurf/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/prompts.js +68 -0
- package/dist/editors/strategies/windsurf/prompts.js.map +1 -0
- package/dist/editors/strategies/windsurf/rules.d.ts +17 -0
- package/dist/editors/strategies/windsurf/rules.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/rules.js +55 -0
- package/dist/editors/strategies/windsurf/rules.js.map +1 -0
- package/dist/editors/strategies/windsurf/skills.d.ts +9 -0
- package/dist/editors/strategies/windsurf/skills.d.ts.map +1 -0
- package/dist/editors/strategies/windsurf/skills.js +11 -0
- package/dist/editors/strategies/windsurf/skills.js.map +1 -0
- package/dist/editors/strategies/zed/index.d.ts +4 -0
- package/dist/editors/strategies/zed/index.d.ts.map +1 -0
- package/dist/editors/strategies/zed/index.js +4 -0
- package/dist/editors/strategies/zed/index.js.map +1 -0
- package/dist/editors/strategies/zed/mcp.d.ts +17 -0
- package/dist/editors/strategies/zed/mcp.d.ts.map +1 -0
- package/dist/editors/strategies/zed/mcp.js +68 -0
- package/dist/editors/strategies/zed/mcp.js.map +1 -0
- package/dist/editors/strategies/zed/prompts.d.ts +18 -0
- package/dist/editors/strategies/zed/prompts.d.ts.map +1 -0
- package/dist/editors/strategies/zed/prompts.js +25 -0
- package/dist/editors/strategies/zed/prompts.js.map +1 -0
- package/dist/editors/strategies/zed/rules.d.ts +17 -0
- package/dist/editors/strategies/zed/rules.d.ts.map +1 -0
- package/dist/editors/strategies/zed/rules.js +33 -0
- package/dist/editors/strategies/zed/rules.js.map +1 -0
- package/dist/editors/types.d.ts +164 -0
- package/dist/editors/types.d.ts.map +1 -0
- package/dist/editors/types.js +2 -0
- package/dist/editors/types.js.map +1 -0
- package/dist/env/ci.d.ts +6 -0
- package/dist/env/ci.d.ts.map +1 -0
- package/dist/env/ci.js +22 -0
- package/dist/env/ci.js.map +1 -0
- package/dist/env/index.d.ts +2 -0
- package/dist/env/index.d.ts.map +1 -0
- package/dist/env/index.js +2 -0
- package/dist/env/index.js.map +1 -0
- package/dist/errors.d.ts +44 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +68 -0
- package/dist/errors.js.map +1 -0
- package/dist/format-error.d.ts +18 -0
- package/dist/format-error.d.ts.map +1 -0
- package/dist/format-error.js +113 -0
- package/dist/format-error.js.map +1 -0
- package/dist/fs/safe-rm.d.ts +20 -0
- package/dist/fs/safe-rm.d.ts.map +1 -0
- package/dist/fs/safe-rm.js +129 -0
- package/dist/fs/safe-rm.js.map +1 -0
- package/dist/git-loader.d.ts +21 -0
- package/dist/git-loader.d.ts.map +1 -0
- package/dist/git-loader.js +61 -0
- package/dist/git-loader.js.map +1 -0
- package/dist/global/comparison.d.ts +16 -0
- package/dist/global/comparison.d.ts.map +1 -0
- package/dist/global/comparison.js +52 -0
- package/dist/global/comparison.js.map +1 -0
- package/dist/global/index.d.ts +5 -0
- package/dist/global/index.d.ts.map +1 -0
- package/dist/global/index.js +4 -0
- package/dist/global/index.js.map +1 -0
- package/dist/global/processor.d.ts +26 -0
- package/dist/global/processor.d.ts.map +1 -0
- package/dist/global/processor.js +318 -0
- package/dist/global/processor.js.map +1 -0
- package/dist/global/tracking.d.ts +109 -0
- package/dist/global/tracking.d.ts.map +1 -0
- package/dist/global/tracking.js +193 -0
- package/dist/global/tracking.js.map +1 -0
- package/dist/global/types.d.ts +54 -0
- package/dist/global/types.d.ts.map +1 -0
- package/dist/global/types.js +2 -0
- package/dist/global/types.js.map +1 -0
- package/dist/import-writer.d.ts +37 -0
- package/dist/import-writer.d.ts.map +1 -0
- package/dist/import-writer.js +129 -0
- package/dist/import-writer.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/inheritance.d.ts +9 -0
- package/dist/inheritance.d.ts.map +1 -0
- package/dist/inheritance.js +133 -0
- package/dist/inheritance.js.map +1 -0
- package/dist/json.d.ts +75 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +123 -0
- package/dist/json.js.map +1 -0
- package/dist/loader.d.ts +35 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +147 -0
- package/dist/loader.js.map +1 -0
- package/dist/mcp/env.d.ts +28 -0
- package/dist/mcp/env.d.ts.map +1 -0
- package/dist/mcp/env.js +47 -0
- package/dist/mcp/env.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/normalize.d.ts +33 -0
- package/dist/mcp/normalize.d.ts.map +1 -0
- package/dist/mcp/normalize.js +29 -0
- package/dist/mcp/normalize.js.map +1 -0
- package/dist/mcp/templates.d.ts +18 -0
- package/dist/mcp/templates.d.ts.map +1 -0
- package/dist/mcp/templates.js +66 -0
- package/dist/mcp/templates.js.map +1 -0
- package/dist/merge.d.ts +29 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +154 -0
- package/dist/merge.js.map +1 -0
- package/dist/npm/index.d.ts +2 -0
- package/dist/npm/index.d.ts.map +1 -0
- package/dist/npm/index.js +2 -0
- package/dist/npm/index.js.map +1 -0
- package/dist/npm/resolve.d.ts +16 -0
- package/dist/npm/resolve.d.ts.map +1 -0
- package/dist/npm/resolve.js +42 -0
- package/dist/npm/resolve.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +2 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/loader.d.ts +23 -0
- package/dist/prompts/loader.d.ts.map +1 -0
- package/dist/prompts/loader.js +115 -0
- package/dist/prompts/loader.js.map +1 -0
- package/dist/remote-loader.d.ts +29 -0
- package/dist/remote-loader.d.ts.map +1 -0
- package/dist/remote-loader.js +208 -0
- package/dist/remote-loader.js.map +1 -0
- package/dist/rules/index.d.ts +6 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +6 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/interpolate.d.ts +27 -0
- package/dist/rules/interpolate.d.ts.map +1 -0
- package/dist/rules/interpolate.js +48 -0
- package/dist/rules/interpolate.js.map +1 -0
- package/dist/rules/loader.d.ts +27 -0
- package/dist/rules/loader.d.ts.map +1 -0
- package/dist/rules/loader.js +94 -0
- package/dist/rules/loader.js.map +1 -0
- package/dist/rules/merger.d.ts +37 -0
- package/dist/rules/merger.d.ts.map +1 -0
- package/dist/rules/merger.js +93 -0
- package/dist/rules/merger.js.map +1 -0
- package/dist/rules/skill-rules.d.ts +13 -0
- package/dist/rules/skill-rules.d.ts.map +1 -0
- package/dist/rules/skill-rules.js +70 -0
- package/dist/rules/skill-rules.js.map +1 -0
- package/dist/rules/utils.d.ts +36 -0
- package/dist/rules/utils.d.ts.map +1 -0
- package/dist/rules/utils.js +82 -0
- package/dist/rules/utils.js.map +1 -0
- package/dist/skills/cache.d.ts +10 -0
- package/dist/skills/cache.d.ts.map +1 -0
- package/dist/skills/cache.js +20 -0
- package/dist/skills/cache.js.map +1 -0
- package/dist/skills/index.d.ts +9 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +9 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/parser.d.ts +6 -0
- package/dist/skills/parser.d.ts.map +1 -0
- package/dist/skills/parser.js +28 -0
- package/dist/skills/parser.js.map +1 -0
- package/dist/skills/reference-parser.d.ts +23 -0
- package/dist/skills/reference-parser.d.ts.map +1 -0
- package/dist/skills/reference-parser.js +162 -0
- package/dist/skills/reference-parser.js.map +1 -0
- package/dist/skills/resolve.d.ts +21 -0
- package/dist/skills/resolve.d.ts.map +1 -0
- package/dist/skills/resolve.js +43 -0
- package/dist/skills/resolve.js.map +1 -0
- package/dist/skills/resolvers/git.d.ts +8 -0
- package/dist/skills/resolvers/git.d.ts.map +1 -0
- package/dist/skills/resolvers/git.js +43 -0
- package/dist/skills/resolvers/git.js.map +1 -0
- package/dist/skills/resolvers/local.d.ts +7 -0
- package/dist/skills/resolvers/local.d.ts.map +1 -0
- package/dist/skills/resolvers/local.js +16 -0
- package/dist/skills/resolvers/local.js.map +1 -0
- package/dist/skills/resolvers/npm.d.ts +12 -0
- package/dist/skills/resolvers/npm.d.ts.map +1 -0
- package/dist/skills/resolvers/npm.js +28 -0
- package/dist/skills/resolvers/npm.js.map +1 -0
- package/dist/skills/validate.d.ts +11 -0
- package/dist/skills/validate.d.ts.map +1 -0
- package/dist/skills/validate.js +43 -0
- package/dist/skills/validate.js.map +1 -0
- package/dist/updater.d.ts +23 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +100 -0
- package/dist/updater.js.map +1 -0
- package/dist/url-parsing.d.ts +121 -0
- package/dist/url-parsing.d.ts.map +1 -0
- package/dist/url-parsing.js +199 -0
- package/dist/url-parsing.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { join } from 'pathe';
|
|
2
|
+
import { BaseEditorAdapter, filterMcpConfig } from './base.js';
|
|
3
|
+
import { CodexRulesStrategy, CodexPromptsStrategy, CodexMcpStrategy } from '../strategies/codex/index.js';
|
|
4
|
+
import { NativeSkillsStrategy, NoHooksStrategy } from '../strategies/shared/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Codex CLI editor adapter. Writes rules to `.codex/AGENTS.md` (single file, plain markdown) and
|
|
7
|
+
* skills to `.codex/skills/{name}/`. MCP config is global-only (`~/.codex/config.toml`) and
|
|
8
|
+
* requires user confirmation to modify. Codex prompts are also global-only (`~/.codex/prompts/`).
|
|
9
|
+
* Codex does not support hooks.
|
|
10
|
+
*/
|
|
11
|
+
export class CodexAdapter extends BaseEditorAdapter {
|
|
12
|
+
name = 'codex';
|
|
13
|
+
configDir = '.codex';
|
|
14
|
+
rulesStrategy = new CodexRulesStrategy();
|
|
15
|
+
mcpStrategy = new CodexMcpStrategy();
|
|
16
|
+
skillsStrategy = new NativeSkillsStrategy({
|
|
17
|
+
editorSkillsDir: '.codex/skills',
|
|
18
|
+
});
|
|
19
|
+
promptsStrategy = new CodexPromptsStrategy();
|
|
20
|
+
hooksStrategy = new NoHooksStrategy();
|
|
21
|
+
pendingSkillChanges = [];
|
|
22
|
+
async generateConfig(config, projectRoot, options = {}) {
|
|
23
|
+
const { rules, skillChanges } = await this.loadRules(config, projectRoot, {
|
|
24
|
+
dryRun: options.dryRun,
|
|
25
|
+
scopes: options.scopes,
|
|
26
|
+
}), prompts = await this.loadPrompts(config, projectRoot), mcp = filterMcpConfig(config.mcp);
|
|
27
|
+
this.pendingSkillChanges = skillChanges;
|
|
28
|
+
return { rules, prompts, mcp };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Override planChanges to write all rules to a single AGENTS.md file instead of separate files.
|
|
32
|
+
*/
|
|
33
|
+
async planChanges(editorConfig, projectRoot, scopes, _options = {}) {
|
|
34
|
+
const changes = [], configDir = join(projectRoot, this.configDir);
|
|
35
|
+
// Rules - Codex uses a single AGENTS.md file
|
|
36
|
+
if (scopes.includes('rules') && editorConfig.rules.length > 0) {
|
|
37
|
+
const agentsPath = join(configDir, 'AGENTS.md'), content = this.formatAgentsMd(editorConfig.rules), existing = await this.readExisting(agentsPath), action = this.determineAction(existing, content);
|
|
38
|
+
changes.push({ path: agentsPath, action, content, category: 'rule' });
|
|
39
|
+
}
|
|
40
|
+
// Add skill changes
|
|
41
|
+
changes.unshift(...this.pendingSkillChanges);
|
|
42
|
+
this.pendingSkillChanges = [];
|
|
43
|
+
return changes;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Format all rules into a single AGENTS.md file.
|
|
47
|
+
*/
|
|
48
|
+
formatAgentsMd(rules) {
|
|
49
|
+
const lines = ['# AGENTS.md', ''];
|
|
50
|
+
for (const rule of rules) {
|
|
51
|
+
lines.push(this.rulesStrategy.formatRule(rule), '');
|
|
52
|
+
}
|
|
53
|
+
return lines.join('\n');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/editors/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AiJsonConfig } from '@a1st/aix-schema';
|
|
2
|
+
import { BaseEditorAdapter } from './base.js';
|
|
3
|
+
import type { EditorConfig, FileChange, ApplyOptions } from '../types.js';
|
|
4
|
+
import type { RulesStrategy, McpStrategy, SkillsStrategy, PromptsStrategy, HooksStrategy } from '../strategies/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Cursor editor adapter. Writes rules to `.cursor/rules/*.mdc` (with YAML frontmatter) and MCP
|
|
7
|
+
* config to `.cursor/mcp.json`. Skills are installed to `.aix/skills/{name}/` with symlinks from
|
|
8
|
+
* `.cursor/skills/` since Cursor supports the Agent Skills open standard.
|
|
9
|
+
* Hooks are written to `.cursor/hooks.json`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CursorAdapter extends BaseEditorAdapter {
|
|
12
|
+
readonly name: "cursor";
|
|
13
|
+
readonly configDir = ".cursor";
|
|
14
|
+
protected readonly rulesStrategy: RulesStrategy;
|
|
15
|
+
protected readonly mcpStrategy: McpStrategy;
|
|
16
|
+
protected readonly skillsStrategy: SkillsStrategy;
|
|
17
|
+
protected readonly promptsStrategy: PromptsStrategy;
|
|
18
|
+
protected readonly hooksStrategy: HooksStrategy;
|
|
19
|
+
private pendingSkillChanges;
|
|
20
|
+
generateConfig(config: AiJsonConfig, projectRoot: string, options?: ApplyOptions): Promise<EditorConfig>;
|
|
21
|
+
protected planChanges(editorConfig: EditorConfig, projectRoot: string, scopes: string[], options?: ApplyOptions): Promise<FileChange[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/editors/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO1E,OAAO,KAAK,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACf,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,QAAQ,CAAC,SAAS,aAAa;IAE/B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA6B;IAC5E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAA6B;IACxE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAE9C;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA+B;IAClF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA6B;IAE5E,OAAO,CAAC,mBAAmB,CAAoB;IAEzC,cAAc,CACjB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC;cAaC,WAAW,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;CAW1B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseEditorAdapter, filterMcpConfig } from './base.js';
|
|
2
|
+
import { CursorRulesStrategy, CursorPromptsStrategy, CursorHooksStrategy, } from '../strategies/cursor/index.js';
|
|
3
|
+
import { StandardMcpStrategy, NativeSkillsStrategy } from '../strategies/shared/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Cursor editor adapter. Writes rules to `.cursor/rules/*.mdc` (with YAML frontmatter) and MCP
|
|
6
|
+
* config to `.cursor/mcp.json`. Skills are installed to `.aix/skills/{name}/` with symlinks from
|
|
7
|
+
* `.cursor/skills/` since Cursor supports the Agent Skills open standard.
|
|
8
|
+
* Hooks are written to `.cursor/hooks.json`.
|
|
9
|
+
*/
|
|
10
|
+
export class CursorAdapter extends BaseEditorAdapter {
|
|
11
|
+
name = 'cursor';
|
|
12
|
+
configDir = '.cursor';
|
|
13
|
+
rulesStrategy = new CursorRulesStrategy();
|
|
14
|
+
mcpStrategy = new StandardMcpStrategy();
|
|
15
|
+
skillsStrategy = new NativeSkillsStrategy({
|
|
16
|
+
editorSkillsDir: '.cursor/skills',
|
|
17
|
+
});
|
|
18
|
+
promptsStrategy = new CursorPromptsStrategy();
|
|
19
|
+
hooksStrategy = new CursorHooksStrategy();
|
|
20
|
+
pendingSkillChanges = [];
|
|
21
|
+
async generateConfig(config, projectRoot, options = {}) {
|
|
22
|
+
const { rules, skillChanges } = await this.loadRules(config, projectRoot, {
|
|
23
|
+
dryRun: options.dryRun,
|
|
24
|
+
scopes: options.scopes,
|
|
25
|
+
}), prompts = await this.loadPrompts(config, projectRoot), mcp = filterMcpConfig(config.mcp), hooks = config.hooks;
|
|
26
|
+
this.pendingSkillChanges = skillChanges;
|
|
27
|
+
return { rules, prompts, mcp, hooks };
|
|
28
|
+
}
|
|
29
|
+
async planChanges(editorConfig, projectRoot, scopes, options = {}) {
|
|
30
|
+
const changes = await super.planChanges(editorConfig, projectRoot, scopes, options);
|
|
31
|
+
// Add skill changes only if skills scope is included
|
|
32
|
+
if (scopes.includes('skills')) {
|
|
33
|
+
changes.unshift(...this.pendingSkillChanges);
|
|
34
|
+
}
|
|
35
|
+
this.pendingSkillChanges = [];
|
|
36
|
+
return changes;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/editors/adapters/cursor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EACJ,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAS1F;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACxC,IAAI,GAAG,QAAiB,CAAC;IACzB,SAAS,GAAG,SAAS,CAAC;IAEZ,aAAa,GAAkB,IAAI,mBAAmB,EAAE,CAAC;IACzD,WAAW,GAAgB,IAAI,mBAAmB,EAAE,CAAC;IACrD,cAAc,GAAmB,IAAI,oBAAoB,CAAC;QAC1E,eAAe,EAAE,gBAAgB;KACnC,CAAC,CAAC;IACgB,eAAe,GAAoB,IAAI,qBAAqB,EAAE,CAAC;IAC/D,aAAa,GAAkB,IAAI,mBAAmB,EAAE,CAAC;IAEpE,mBAAmB,GAAiB,EAAE,CAAC;IAE/C,KAAK,CAAC,cAAc,CACjB,MAAoB,EACpB,WAAmB,EACnB,UAAwB,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE;YACjE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC,EACF,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACrD,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAEkB,KAAK,CAAC,WAAW,CACjC,YAA0B,EAC1B,WAAmB,EACnB,MAAgB,EAChB,UAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpF,qDAAqD;QACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,OAAO,OAAO,CAAC;IAClB,CAAC;CACH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BaseEditorAdapter } from './base.js';
|
|
2
|
+
export { WindsurfAdapter } from './windsurf.js';
|
|
3
|
+
export { CursorAdapter } from './cursor.js';
|
|
4
|
+
export { ClaudeCodeAdapter } from './claude-code.js';
|
|
5
|
+
export { VSCodeAdapter } from './vscode.js';
|
|
6
|
+
export { ZedAdapter } from './zed.js';
|
|
7
|
+
export { CodexAdapter } from './codex.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editors/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BaseEditorAdapter } from './base.js';
|
|
2
|
+
export { WindsurfAdapter } from './windsurf.js';
|
|
3
|
+
export { CursorAdapter } from './cursor.js';
|
|
4
|
+
export { ClaudeCodeAdapter } from './claude-code.js';
|
|
5
|
+
export { VSCodeAdapter } from './vscode.js';
|
|
6
|
+
export { ZedAdapter } from './zed.js';
|
|
7
|
+
export { CodexAdapter } from './codex.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editors/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AiJsonConfig } from '@a1st/aix-schema';
|
|
2
|
+
import { BaseEditorAdapter } from './base.js';
|
|
3
|
+
import type { EditorConfig, FileChange, ApplyOptions } from '../types.js';
|
|
4
|
+
import type { RulesStrategy, McpStrategy, SkillsStrategy, PromptsStrategy, HooksStrategy } from '../strategies/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* VS Code (GitHub Copilot) editor adapter. Writes rules to `.github/instructions/*.instructions.md`,
|
|
7
|
+
* MCP config to `.vscode/mcp.json`, and skills to `.github/skills/`. VS Code doesn't support hooks.
|
|
8
|
+
* Skills are installed to `.aix/skills/{name}/` with symlinks from `.github/skills/` since VS Code
|
|
9
|
+
* has native Agent Skills support.
|
|
10
|
+
*/
|
|
11
|
+
export declare class VSCodeAdapter extends BaseEditorAdapter {
|
|
12
|
+
readonly name: "vscode";
|
|
13
|
+
readonly configDir = ".vscode";
|
|
14
|
+
protected readonly rulesStrategy: RulesStrategy;
|
|
15
|
+
protected readonly mcpStrategy: McpStrategy;
|
|
16
|
+
protected readonly skillsStrategy: SkillsStrategy;
|
|
17
|
+
protected readonly promptsStrategy: PromptsStrategy;
|
|
18
|
+
protected readonly hooksStrategy: HooksStrategy;
|
|
19
|
+
private pendingSkillChanges;
|
|
20
|
+
generateConfig(config: AiJsonConfig, projectRoot: string, options?: ApplyOptions): Promise<EditorConfig>;
|
|
21
|
+
protected planChanges(editorConfig: EditorConfig, projectRoot: string, scopes: string[], options?: ApplyOptions): Promise<FileChange[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=vscode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../../src/editors/adapters/vscode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO1E,OAAO,KAAK,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACf,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,QAAQ,CAAC,SAAS,aAAa;IAE/B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA6B;IAC5E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAA2B;IACtE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAE9C;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA+B;IAClF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAyB;IAExE,OAAO,CAAC,mBAAmB,CAAoB;IAEzC,cAAc,CACjB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC;cAYC,WAAW,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;CAQ1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseEditorAdapter, filterMcpConfig } from './base.js';
|
|
2
|
+
import { VSCodeRulesStrategy, VSCodeMcpStrategy, VSCodePromptsStrategy, } from '../strategies/vscode/index.js';
|
|
3
|
+
import { NativeSkillsStrategy, NoHooksStrategy } from '../strategies/shared/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* VS Code (GitHub Copilot) editor adapter. Writes rules to `.github/instructions/*.instructions.md`,
|
|
6
|
+
* MCP config to `.vscode/mcp.json`, and skills to `.github/skills/`. VS Code doesn't support hooks.
|
|
7
|
+
* Skills are installed to `.aix/skills/{name}/` with symlinks from `.github/skills/` since VS Code
|
|
8
|
+
* has native Agent Skills support.
|
|
9
|
+
*/
|
|
10
|
+
export class VSCodeAdapter extends BaseEditorAdapter {
|
|
11
|
+
name = 'vscode';
|
|
12
|
+
configDir = '.vscode';
|
|
13
|
+
rulesStrategy = new VSCodeRulesStrategy();
|
|
14
|
+
mcpStrategy = new VSCodeMcpStrategy();
|
|
15
|
+
skillsStrategy = new NativeSkillsStrategy({
|
|
16
|
+
editorSkillsDir: '.github/skills',
|
|
17
|
+
});
|
|
18
|
+
promptsStrategy = new VSCodePromptsStrategy();
|
|
19
|
+
hooksStrategy = new NoHooksStrategy();
|
|
20
|
+
pendingSkillChanges = [];
|
|
21
|
+
async generateConfig(config, projectRoot, options = {}) {
|
|
22
|
+
const { rules, skillChanges } = await this.loadRules(config, projectRoot, {
|
|
23
|
+
dryRun: options.dryRun,
|
|
24
|
+
scopes: options.scopes,
|
|
25
|
+
}), prompts = await this.loadPrompts(config, projectRoot), mcp = filterMcpConfig(config.mcp);
|
|
26
|
+
this.pendingSkillChanges = skillChanges;
|
|
27
|
+
return { rules, prompts, mcp };
|
|
28
|
+
}
|
|
29
|
+
async planChanges(editorConfig, projectRoot, scopes, options = {}) {
|
|
30
|
+
const changes = await super.planChanges(editorConfig, projectRoot, scopes, options);
|
|
31
|
+
changes.unshift(...this.pendingSkillChanges);
|
|
32
|
+
this.pendingSkillChanges = [];
|
|
33
|
+
return changes;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=vscode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../src/editors/adapters/vscode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EACJ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAStF;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACxC,IAAI,GAAG,QAAiB,CAAC;IACzB,SAAS,GAAG,SAAS,CAAC;IAEZ,aAAa,GAAkB,IAAI,mBAAmB,EAAE,CAAC;IACzD,WAAW,GAAgB,IAAI,iBAAiB,EAAE,CAAC;IACnD,cAAc,GAAmB,IAAI,oBAAoB,CAAC;QAC1E,eAAe,EAAE,gBAAgB;KACnC,CAAC,CAAC;IACgB,eAAe,GAAoB,IAAI,qBAAqB,EAAE,CAAC;IAC/D,aAAa,GAAkB,IAAI,eAAe,EAAE,CAAC;IAEhE,mBAAmB,GAAiB,EAAE,CAAC;IAE/C,KAAK,CAAC,cAAc,CACjB,MAAoB,EACpB,WAAmB,EACnB,UAAwB,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE;YACjE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC,EACF,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACrD,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAClC,CAAC;IAEkB,KAAK,CAAC,WAAW,CACjC,YAA0B,EAC1B,WAAmB,EACnB,MAAgB,EAChB,UAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpF,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,OAAO,OAAO,CAAC;IAClB,CAAC;CACH"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AiJsonConfig } from '@a1st/aix-schema';
|
|
2
|
+
import { BaseEditorAdapter } from './base.js';
|
|
3
|
+
import type { EditorConfig, FileChange, ApplyOptions } from '../types.js';
|
|
4
|
+
import type { RulesStrategy, McpStrategy, SkillsStrategy, PromptsStrategy, HooksStrategy } from '../strategies/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Windsurf editor adapter. Writes rules to `.windsurf/rules/*.md`. Skills are installed
|
|
7
|
+
* natively to `.windsurf/skills/{name}/` via symlinks from `.aix/skills/{name}/`.
|
|
8
|
+
* Hooks are written to `.windsurf/hooks.json`. MCP is global-only
|
|
9
|
+
* (`~/.codeium/windsurf/mcp_config.json`) and requires user confirmation to modify.
|
|
10
|
+
*/
|
|
11
|
+
export declare class WindsurfAdapter extends BaseEditorAdapter {
|
|
12
|
+
readonly name: "windsurf";
|
|
13
|
+
readonly configDir = ".windsurf";
|
|
14
|
+
protected readonly rulesStrategy: RulesStrategy;
|
|
15
|
+
protected readonly mcpStrategy: McpStrategy;
|
|
16
|
+
protected readonly skillsStrategy: SkillsStrategy;
|
|
17
|
+
protected readonly promptsStrategy: PromptsStrategy;
|
|
18
|
+
protected readonly hooksStrategy: HooksStrategy;
|
|
19
|
+
private pendingSkillChanges;
|
|
20
|
+
generateConfig(config: AiJsonConfig, projectRoot: string, options?: ApplyOptions): Promise<EditorConfig>;
|
|
21
|
+
protected planChanges(editorConfig: EditorConfig, projectRoot: string, scopes: string[], options?: ApplyOptions): Promise<FileChange[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=windsurf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/editors/adapters/windsurf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ1E,OAAO,KAAK,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACf,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IACpC,QAAQ,CAAC,SAAS,eAAe;IAEjC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA+B;IAC9E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAA6B;IACxE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAgC;IACjF,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAiC;IACpF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA+B;IAG9E,OAAO,CAAC,mBAAmB,CAAoB;IAEzC,cAAc,CACjB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC;cAaC,WAAW,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;CAY1B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseEditorAdapter, filterMcpConfig } from './base.js';
|
|
2
|
+
import { WindsurfRulesStrategy, WindsurfPromptsStrategy, WindsurfHooksStrategy, WindsurfMcpStrategy, WindsurfSkillsStrategy, } from '../strategies/windsurf/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Windsurf editor adapter. Writes rules to `.windsurf/rules/*.md`. Skills are installed
|
|
5
|
+
* natively to `.windsurf/skills/{name}/` via symlinks from `.aix/skills/{name}/`.
|
|
6
|
+
* Hooks are written to `.windsurf/hooks.json`. MCP is global-only
|
|
7
|
+
* (`~/.codeium/windsurf/mcp_config.json`) and requires user confirmation to modify.
|
|
8
|
+
*/
|
|
9
|
+
export class WindsurfAdapter extends BaseEditorAdapter {
|
|
10
|
+
name = 'windsurf';
|
|
11
|
+
configDir = '.windsurf';
|
|
12
|
+
rulesStrategy = new WindsurfRulesStrategy();
|
|
13
|
+
mcpStrategy = new WindsurfMcpStrategy();
|
|
14
|
+
skillsStrategy = new WindsurfSkillsStrategy();
|
|
15
|
+
promptsStrategy = new WindsurfPromptsStrategy();
|
|
16
|
+
hooksStrategy = new WindsurfHooksStrategy();
|
|
17
|
+
// Store skill changes from generateConfig for use in planChanges
|
|
18
|
+
pendingSkillChanges = [];
|
|
19
|
+
async generateConfig(config, projectRoot, options = {}) {
|
|
20
|
+
const { rules, skillChanges } = await this.loadRules(config, projectRoot, {
|
|
21
|
+
dryRun: options.dryRun,
|
|
22
|
+
scopes: options.scopes,
|
|
23
|
+
}), prompts = await this.loadPrompts(config, projectRoot), mcp = filterMcpConfig(config.mcp), hooks = config.hooks;
|
|
24
|
+
this.pendingSkillChanges = skillChanges;
|
|
25
|
+
return { rules, prompts, mcp, hooks };
|
|
26
|
+
}
|
|
27
|
+
async planChanges(editorConfig, projectRoot, scopes, options = {}) {
|
|
28
|
+
// Get base changes from parent (rules and MCP)
|
|
29
|
+
const changes = await super.planChanges(editorConfig, projectRoot, scopes, options);
|
|
30
|
+
// Add skill changes only if skills scope is included
|
|
31
|
+
if (scopes.includes('skills')) {
|
|
32
|
+
changes.unshift(...this.pendingSkillChanges);
|
|
33
|
+
}
|
|
34
|
+
this.pendingSkillChanges = [];
|
|
35
|
+
return changes;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=windsurf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/editors/adapters/windsurf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EACJ,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,GACxB,MAAM,iCAAiC,CAAC;AASzC;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IAC1C,IAAI,GAAG,UAAmB,CAAC;IAC3B,SAAS,GAAG,WAAW,CAAC;IAEd,aAAa,GAAkB,IAAI,qBAAqB,EAAE,CAAC;IAC3D,WAAW,GAAgB,IAAI,mBAAmB,EAAE,CAAC;IACrD,cAAc,GAAmB,IAAI,sBAAsB,EAAE,CAAC;IAC9D,eAAe,GAAoB,IAAI,uBAAuB,EAAE,CAAC;IACjE,aAAa,GAAkB,IAAI,qBAAqB,EAAE,CAAC;IAE9E,iEAAiE;IACzD,mBAAmB,GAAiB,EAAE,CAAC;IAE/C,KAAK,CAAC,cAAc,CACjB,MAAoB,EACpB,WAAmB,EACnB,UAAwB,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE;YACjE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC,EACF,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACrD,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAEkB,KAAK,CAAC,WAAW,CACjC,YAA0B,EAC1B,WAAmB,EACnB,MAAgB,EAChB,UAAwB,EAAE;QAE1B,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpF,qDAAqD;QACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,OAAO,OAAO,CAAC;IAClB,CAAC;CACH"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AiJsonConfig } from '@a1st/aix-schema';
|
|
2
|
+
import { BaseEditorAdapter } from './base.js';
|
|
3
|
+
import type { EditorConfig, FileChange, ApplyOptions } from '../types.js';
|
|
4
|
+
import type { RulesStrategy, McpStrategy, SkillsStrategy, PromptsStrategy, HooksStrategy } from '../strategies/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Zed editor adapter. Writes rules to `.rules` at project root and MCP config to
|
|
7
|
+
* `.zed/settings.json`. Skills are installed to `.aix/skills/{name}/` with pointer rules since Zed
|
|
8
|
+
* doesn't have native Agent Skills support. Zed does not support hooks or prompts.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ZedAdapter extends BaseEditorAdapter {
|
|
11
|
+
readonly name: "zed";
|
|
12
|
+
readonly configDir = ".zed";
|
|
13
|
+
protected readonly rulesStrategy: RulesStrategy;
|
|
14
|
+
protected readonly mcpStrategy: McpStrategy;
|
|
15
|
+
protected readonly skillsStrategy: SkillsStrategy;
|
|
16
|
+
protected readonly promptsStrategy: PromptsStrategy;
|
|
17
|
+
protected readonly hooksStrategy: HooksStrategy;
|
|
18
|
+
private pendingSkillChanges;
|
|
19
|
+
generateConfig(config: AiJsonConfig, projectRoot: string, options?: ApplyOptions): Promise<EditorConfig>;
|
|
20
|
+
/**
|
|
21
|
+
* Override planChanges to write all rules to a single .rules file at project root.
|
|
22
|
+
*/
|
|
23
|
+
protected planChanges(editorConfig: EditorConfig, projectRoot: string, scopes: string[], _options?: ApplyOptions): Promise<FileChange[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Format all rules into a single .rules file.
|
|
26
|
+
*/
|
|
27
|
+
private formatRulesFile;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=zed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zed.d.ts","sourceRoot":"","sources":["../../../src/editors/adapters/zed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1E,OAAO,KAAK,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACf,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,iBAAiB;IAC9C,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,SAAS,UAAU;IAE5B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAA0B;IACzE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAwB;IACnE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAA+B;IAChF,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA4B;IAC/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAyB;IAExE,OAAO,CAAC,mBAAmB,CAAoB;IAEzC,cAAc,CACjB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAYxB;;OAEG;cACsB,WAAW,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,YAAiB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC;IAqCxB;;OAEG;IACH,OAAO,CAAC,eAAe;CASzB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { join } from 'pathe';
|
|
2
|
+
import { BaseEditorAdapter, filterMcpConfig } from './base.js';
|
|
3
|
+
import { ZedRulesStrategy, ZedMcpStrategy, ZedPromptsStrategy } from '../strategies/zed/index.js';
|
|
4
|
+
import { PointerSkillsStrategy, NoHooksStrategy } from '../strategies/shared/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Zed editor adapter. Writes rules to `.rules` at project root and MCP config to
|
|
7
|
+
* `.zed/settings.json`. Skills are installed to `.aix/skills/{name}/` with pointer rules since Zed
|
|
8
|
+
* doesn't have native Agent Skills support. Zed does not support hooks or prompts.
|
|
9
|
+
*/
|
|
10
|
+
export class ZedAdapter extends BaseEditorAdapter {
|
|
11
|
+
name = 'zed';
|
|
12
|
+
configDir = '.zed';
|
|
13
|
+
rulesStrategy = new ZedRulesStrategy();
|
|
14
|
+
mcpStrategy = new ZedMcpStrategy();
|
|
15
|
+
skillsStrategy = new PointerSkillsStrategy();
|
|
16
|
+
promptsStrategy = new ZedPromptsStrategy();
|
|
17
|
+
hooksStrategy = new NoHooksStrategy();
|
|
18
|
+
pendingSkillChanges = [];
|
|
19
|
+
async generateConfig(config, projectRoot, options = {}) {
|
|
20
|
+
const { rules, skillChanges } = await this.loadRules(config, projectRoot, {
|
|
21
|
+
dryRun: options.dryRun,
|
|
22
|
+
scopes: options.scopes,
|
|
23
|
+
}), prompts = await this.loadPrompts(config, projectRoot), mcp = filterMcpConfig(config.mcp);
|
|
24
|
+
this.pendingSkillChanges = skillChanges;
|
|
25
|
+
return { rules, prompts, mcp };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Override planChanges to write all rules to a single .rules file at project root.
|
|
29
|
+
*/
|
|
30
|
+
async planChanges(editorConfig, projectRoot, scopes, _options = {}) {
|
|
31
|
+
const changes = [], configDir = join(projectRoot, this.configDir);
|
|
32
|
+
// Rules - Zed uses a single .rules file at project root
|
|
33
|
+
if (scopes.includes('rules') && editorConfig.rules.length > 0) {
|
|
34
|
+
const rulesPath = join(projectRoot, '.rules'), content = this.formatRulesFile(editorConfig.rules), existing = await this.readExisting(rulesPath), action = this.determineAction(existing, content);
|
|
35
|
+
changes.push({ path: rulesPath, action, content, category: 'rule' });
|
|
36
|
+
}
|
|
37
|
+
// MCP config (JSON file - merge by default)
|
|
38
|
+
if (scopes.includes('mcp') && this.mcpStrategy.isSupported()) {
|
|
39
|
+
const mcpEntries = Object.keys(editorConfig.mcp);
|
|
40
|
+
if (mcpEntries.length > 0) {
|
|
41
|
+
const mcpPath = join(configDir, this.mcpStrategy.getConfigPath()), change = await this.planJsonFileChange(mcpPath, this.mcpStrategy.formatConfig(editorConfig.mcp), _options);
|
|
42
|
+
changes.push({ ...change, category: 'mcp' });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Add skill changes
|
|
46
|
+
changes.unshift(...this.pendingSkillChanges);
|
|
47
|
+
this.pendingSkillChanges = [];
|
|
48
|
+
return changes;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format all rules into a single .rules file.
|
|
52
|
+
*/
|
|
53
|
+
formatRulesFile(rules) {
|
|
54
|
+
const lines = [];
|
|
55
|
+
for (const rule of rules) {
|
|
56
|
+
lines.push(this.rulesStrategy.formatRule(rule), '');
|
|
57
|
+
}
|
|
58
|
+
return lines.join('\n');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=zed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zed.js","sourceRoot":"","sources":["../../../src/editors/adapters/zed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { McpServerConfig } from '@a1st/aix-schema';
|
|
2
|
+
import type { EditorName } from './types.js';
|
|
3
|
+
export interface ImportResult {
|
|
4
|
+
mcp: Record<string, McpServerConfig>;
|
|
5
|
+
rules: string[];
|
|
6
|
+
skills: Record<string, string>;
|
|
7
|
+
prompts: Record<string, string>;
|
|
8
|
+
warnings: string[];
|
|
9
|
+
/** Sources that were found and imported from */
|
|
10
|
+
sources: {
|
|
11
|
+
global: boolean;
|
|
12
|
+
local: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface ImportOptions {
|
|
16
|
+
/** Project root directory for local editor config lookup */
|
|
17
|
+
projectRoot?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Import configuration from an editor and convert to ai.json format.
|
|
21
|
+
* Merges global config with project-local editor config: Object.assign({}, global, local)
|
|
22
|
+
*
|
|
23
|
+
* @param editor - The editor to import from
|
|
24
|
+
* @param options - Import options including projectRoot for local config lookup
|
|
25
|
+
*/
|
|
26
|
+
export declare function importFromEditor(editor: EditorName, options?: ImportOptions): Promise<ImportResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Get the global config path for an editor.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getGlobalConfigPath(editor: EditorName): string | null;
|
|
31
|
+
//# sourceMappingURL=import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/editors/import.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqB7C,MAAM,WAAW,YAAY;IAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,OAAO,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KACjB,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC3B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACvB;AAoDD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACnC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,aAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+DvB;AAmND;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQrE"}
|