@cat-kit/agent-context 1.0.4 → 1.0.5
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/adapters/tool-targets.js +1 -1
- package/dist/adapters/tool-targets.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/setup.js +2 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/shared.js +4 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/update.js +2 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/stats.html +1 -1
- package/package.json +2 -9
- package/src/cli.ts +2 -2
- package/dist/adapters/tool-targets.d.ts +0 -18
- package/dist/domain/types.d.ts +0 -37
- package/dist/domain/workflow-content.d.ts +0 -7
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -1
- package/dist/runtime/execute.d.ts +0 -8
- package/src/index.ts +0 -11
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as e}from"node:path";import"node:fs";const
|
|
1
|
+
import{resolve as e}from"node:path";import{existsSync as t}from"node:fs";const n={claude:{id:`claude`,name:`Claude Code`,rootDir:`.claude/commands`,fileExtension:`.md`,supportsFrontmatter:!0,commandSeparator:`:`,commandPrefix:`/`},codex:{id:`codex`,name:`Codex`,rootDir:`.codex/commands`,fileExtension:`.md`,supportsFrontmatter:!0,commandSeparator:`-`,commandPrefix:`/`},cursor:{id:`cursor`,name:`Cursor`,rootDir:`.cursor/commands`,fileExtension:`.md`,supportsFrontmatter:!1,commandSeparator:`-`,commandPrefix:`/`},antigravity:{id:`antigravity`,name:`Antigravity`,rootDir:`.agents`,fileExtension:`.md`,supportsFrontmatter:!0,commandSeparator:`-`,commandPrefix:`/`},copilot:{id:`copilot`,name:`GitHub Copilot`,rootDir:`.github/prompts`,fileExtension:`.prompt.md`,supportsFrontmatter:!0,commandSeparator:`-`,commandPrefix:`#`}},r=[`claude`,`codex`,`cursor`,`antigravity`,`copilot`],i=[`init`,`plan`,`replan`,`implement`,`patch`,`done`];function a(){return r.map(e=>({id:e,name:n[e].name}))}function o(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean);if(t.length===0)return[...r];let n=[];for(let e of t){if(!u(e))throw Error(`不支持的工具标识: ${e}。可选值: ${r.join(`, `)}`);n.includes(e)||n.push(e)}return n}function s(e){return(e&&e.length>0?e:r).map(e=>({...n[e]}))}function c(e){return r.filter(r=>{let a=n[r],o=l(a,e);return i.some(e=>t(o.commandFile(e)))})}function l(t,n){let r=e(n,t.rootDir),i=t.fileExtension;if(t.commandSeparator===`:`){let t=e(r,`ac`);return{commandFile:n=>e(t,`${n}${i}`)}}return{commandFile:t=>e(r,`ac-${t}${i}`)}}function u(e){return Object.hasOwn(n,e)}export{r as DEFAULT_TOOL_ORDER,c as detectConfiguredToolIds,a as getToolChoices,o as parseToolIds,s as resolveToolTargets,l as resolveWorkflowPaths};
|
|
2
2
|
//# sourceMappingURL=tool-targets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-targets.js","names":[],"sources":["../../src/adapters/tool-targets.ts"],"sourcesContent":["import { resolve } from 'node:path'\nimport { existsSync } from 'node:fs'\n\nimport type { ToolId, ToolTarget, WorkflowCommandName } from '../domain/types'\n\nconst TOOL_TARGET_MAP: Record<ToolId, ToolTarget> = {\n claude: {\n id: 'claude',\n name: 'Claude Code',\n rootDir: '.claude/commands',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: ':',\n commandPrefix: '/'\n },\n codex: {\n id: 'codex',\n name: 'Codex',\n rootDir: '.codex/commands',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n cursor: {\n id: 'cursor',\n name: 'Cursor',\n rootDir: '.cursor/commands',\n fileExtension: '.md',\n supportsFrontmatter: false,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n antigravity: {\n id: 'antigravity',\n name: 'Antigravity',\n rootDir: '.agents',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n copilot: {\n id: 'copilot',\n name: 'GitHub Copilot',\n rootDir: '.github/prompts',\n fileExtension: '.prompt.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '#'\n }\n}\n\nexport const DEFAULT_TOOL_ORDER: ToolId[] = [\n 'claude',\n 'codex',\n 'cursor',\n 'antigravity',\n 'copilot'\n]\n\nconst WORKFLOW_COMMAND_ORDER: WorkflowCommandName[] = [\n 'init',\n 'plan',\n 'replan',\n 'implement',\n 'patch',\n 'done'\n]\n\nexport interface ToolChoice {\n id: ToolId\n name: string\n}\n\nexport function getToolChoices(): ToolChoice[] {\n return DEFAULT_TOOL_ORDER.map(id => ({\n id,\n name: TOOL_TARGET_MAP[id].name\n }))\n}\n\nexport function parseToolIds(toolsText: string): ToolId[] {\n const parsed = toolsText\n .split(',')\n .map(item => item.trim().toLowerCase())\n .filter(Boolean)\n\n if (parsed.length === 0) {\n return [...DEFAULT_TOOL_ORDER]\n }\n\n const uniqueIds: ToolId[] = []\n\n for (const value of parsed) {\n if (!isToolId(value)) {\n throw new Error(\n `不支持的工具标识: ${value}。可选值: ${DEFAULT_TOOL_ORDER.join(', ')}`\n )\n }\n\n if (!uniqueIds.includes(value)) {\n uniqueIds.push(value)\n }\n }\n\n return uniqueIds\n}\n\nexport function resolveToolTargets(tools?: ToolId[]): ToolTarget[] {\n const selected = tools && tools.length > 0 ? tools : DEFAULT_TOOL_ORDER\n return selected.map(id => ({ ...TOOL_TARGET_MAP[id] }))\n}\n\nexport function detectConfiguredToolIds(cwd: string): ToolId[] {\n return DEFAULT_TOOL_ORDER.filter((toolId) => {\n const target = TOOL_TARGET_MAP[toolId]\n const workflowPaths = resolveWorkflowPaths(target, cwd)\n\n return WORKFLOW_COMMAND_ORDER.some(command =>\n existsSync(workflowPaths.commandFile(command))\n )\n })\n}\n\n// ── 工作流路径解析 ────────────────────────────────────\n\nexport interface WorkflowPaths {\n commandFile(name: WorkflowCommandName): string\n}\n\n/**\n * 根据工具约束计算工作流文件输出路径\n *\n * - separator=':' (Claude) → 嵌套: .claude/commands/ac/init.md → /ac:init\n * - separator='-' (其他) → 扁平: .cursor/commands/ac-init.md → /ac-init\n */\nexport function resolveWorkflowPaths(target: ToolTarget, cwd: string): WorkflowPaths {\n const root = resolve(cwd, target.rootDir)\n const ext = target.fileExtension\n const nested = target.commandSeparator === ':'\n\n if (nested) {\n const nsDir = resolve(root, 'ac')\n return {\n commandFile: name => resolve(nsDir, `${name}${ext}`)\n }\n }\n\n return {\n commandFile: name => resolve(root, `ac-${name}${ext}`)\n }\n}\n\nfunction isToolId(value: string): value is ToolId {\n return Object.hasOwn(TOOL_TARGET_MAP, value)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-targets.js","names":[],"sources":["../../src/adapters/tool-targets.ts"],"sourcesContent":["import { resolve } from 'node:path'\nimport { existsSync } from 'node:fs'\n\nimport type { ToolId, ToolTarget, WorkflowCommandName } from '../domain/types'\n\nconst TOOL_TARGET_MAP: Record<ToolId, ToolTarget> = {\n claude: {\n id: 'claude',\n name: 'Claude Code',\n rootDir: '.claude/commands',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: ':',\n commandPrefix: '/'\n },\n codex: {\n id: 'codex',\n name: 'Codex',\n rootDir: '.codex/commands',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n cursor: {\n id: 'cursor',\n name: 'Cursor',\n rootDir: '.cursor/commands',\n fileExtension: '.md',\n supportsFrontmatter: false,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n antigravity: {\n id: 'antigravity',\n name: 'Antigravity',\n rootDir: '.agents',\n fileExtension: '.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '/'\n },\n copilot: {\n id: 'copilot',\n name: 'GitHub Copilot',\n rootDir: '.github/prompts',\n fileExtension: '.prompt.md',\n supportsFrontmatter: true,\n commandSeparator: '-',\n commandPrefix: '#'\n }\n}\n\nexport const DEFAULT_TOOL_ORDER: ToolId[] = [\n 'claude',\n 'codex',\n 'cursor',\n 'antigravity',\n 'copilot'\n]\n\nconst WORKFLOW_COMMAND_ORDER: WorkflowCommandName[] = [\n 'init',\n 'plan',\n 'replan',\n 'implement',\n 'patch',\n 'done'\n]\n\nexport interface ToolChoice {\n id: ToolId\n name: string\n}\n\nexport function getToolChoices(): ToolChoice[] {\n return DEFAULT_TOOL_ORDER.map(id => ({\n id,\n name: TOOL_TARGET_MAP[id].name\n }))\n}\n\nexport function parseToolIds(toolsText: string): ToolId[] {\n const parsed = toolsText\n .split(',')\n .map(item => item.trim().toLowerCase())\n .filter(Boolean)\n\n if (parsed.length === 0) {\n return [...DEFAULT_TOOL_ORDER]\n }\n\n const uniqueIds: ToolId[] = []\n\n for (const value of parsed) {\n if (!isToolId(value)) {\n throw new Error(\n `不支持的工具标识: ${value}。可选值: ${DEFAULT_TOOL_ORDER.join(', ')}`\n )\n }\n\n if (!uniqueIds.includes(value)) {\n uniqueIds.push(value)\n }\n }\n\n return uniqueIds\n}\n\nexport function resolveToolTargets(tools?: ToolId[]): ToolTarget[] {\n const selected = tools && tools.length > 0 ? tools : DEFAULT_TOOL_ORDER\n return selected.map(id => ({ ...TOOL_TARGET_MAP[id] }))\n}\n\nexport function detectConfiguredToolIds(cwd: string): ToolId[] {\n return DEFAULT_TOOL_ORDER.filter((toolId) => {\n const target = TOOL_TARGET_MAP[toolId]\n const workflowPaths = resolveWorkflowPaths(target, cwd)\n\n return WORKFLOW_COMMAND_ORDER.some(command =>\n existsSync(workflowPaths.commandFile(command))\n )\n })\n}\n\n// ── 工作流路径解析 ────────────────────────────────────\n\nexport interface WorkflowPaths {\n commandFile(name: WorkflowCommandName): string\n}\n\n/**\n * 根据工具约束计算工作流文件输出路径\n *\n * - separator=':' (Claude) → 嵌套: .claude/commands/ac/init.md → /ac:init\n * - separator='-' (其他) → 扁平: .cursor/commands/ac-init.md → /ac-init\n */\nexport function resolveWorkflowPaths(target: ToolTarget, cwd: string): WorkflowPaths {\n const root = resolve(cwd, target.rootDir)\n const ext = target.fileExtension\n const nested = target.commandSeparator === ':'\n\n if (nested) {\n const nsDir = resolve(root, 'ac')\n return {\n commandFile: name => resolve(nsDir, `${name}${ext}`)\n }\n }\n\n return {\n commandFile: name => resolve(root, `ac-${name}${ext}`)\n }\n}\n\nfunction isToolId(value: string): value is ToolId {\n return Object.hasOwn(TOOL_TARGET_MAP, value)\n}\n"],"mappings":"yEAKA,MAAM,EAA8C,CAClD,OAAQ,CACN,GAAI,SACJ,KAAM,cACN,QAAS,mBACT,cAAe,MACf,oBAAqB,GACrB,iBAAkB,IAClB,cAAe,IAChB,CACD,MAAO,CACL,GAAI,QACJ,KAAM,QACN,QAAS,kBACT,cAAe,MACf,oBAAqB,GACrB,iBAAkB,IAClB,cAAe,IAChB,CACD,OAAQ,CACN,GAAI,SACJ,KAAM,SACN,QAAS,mBACT,cAAe,MACf,oBAAqB,GACrB,iBAAkB,IAClB,cAAe,IAChB,CACD,YAAa,CACX,GAAI,cACJ,KAAM,cACN,QAAS,UACT,cAAe,MACf,oBAAqB,GACrB,iBAAkB,IAClB,cAAe,IAChB,CACD,QAAS,CACP,GAAI,UACJ,KAAM,iBACN,QAAS,kBACT,cAAe,aACf,oBAAqB,GACrB,iBAAkB,IAClB,cAAe,IAChB,CACF,CAEY,EAA+B,CAC1C,SACA,QACA,SACA,cACA,UACD,CAEK,EAAgD,CACpD,OACA,OACA,SACA,YACA,QACA,OACD,CAOD,SAAgB,GAA+B,CAC7C,OAAO,EAAmB,IAAI,IAAO,CACnC,KACA,KAAM,EAAgB,GAAI,KAC3B,EAAE,CAGL,SAAgB,EAAa,EAA6B,CACxD,IAAM,EAAS,EACZ,MAAM,IAAI,CACV,IAAI,GAAQ,EAAK,MAAM,CAAC,aAAa,CAAC,CACtC,OAAO,QAAQ,CAElB,GAAI,EAAO,SAAW,EACpB,MAAO,CAAC,GAAG,EAAmB,CAGhC,IAAM,EAAsB,EAAE,CAE9B,IAAK,IAAM,KAAS,EAAQ,CAC1B,GAAI,CAAC,EAAS,EAAM,CAClB,MAAU,MACR,aAAa,EAAM,QAAQ,EAAmB,KAAK,KAAK,GACzD,CAGE,EAAU,SAAS,EAAM,EAC5B,EAAU,KAAK,EAAM,CAIzB,OAAO,EAGT,SAAgB,EAAmB,EAAgC,CAEjE,OADiB,GAAS,EAAM,OAAS,EAAI,EAAQ,GACrC,IAAI,IAAO,CAAE,GAAG,EAAgB,GAAK,EAAE,CAGzD,SAAgB,EAAwB,EAAuB,CAC7D,OAAO,EAAmB,OAAQ,GAAW,CAC3C,IAAM,EAAS,EAAgB,GACzB,EAAgB,EAAqB,EAAQ,EAAI,CAEvD,OAAO,EAAuB,KAAK,GACjC,EAAW,EAAc,YAAY,EAAQ,CAAC,CAC/C,EACD,CAeJ,SAAgB,EAAqB,EAAoB,EAA4B,CACnF,IAAM,EAAO,EAAQ,EAAK,EAAO,QAAQ,CACnC,EAAM,EAAO,cAGnB,GAFe,EAAO,mBAAqB,IAE/B,CACV,IAAM,EAAQ,EAAQ,EAAM,KAAK,CACjC,MAAO,CACL,YAAa,GAAQ,EAAQ,EAAO,GAAG,IAAO,IAAM,CACrD,CAGH,MAAO,CACL,YAAa,GAAQ,EAAQ,EAAM,MAAM,IAAO,IAAM,CACvD,CAGH,SAAS,EAAS,EAAgC,CAChD,OAAO,OAAO,OAAO,EAAiB,EAAM"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{setupCommand as e}from"./commands/setup.js";import{updateCommand as t}from"./commands/update.js";import{Command as n}from"commander";const r=new n;r.name(`agent-context`).description(`Agent Context 工作流生成工具`).version(`2.0.0`),r.command(`setup`).description(`初始化工作流命令`).option(`--tools <tools>`,`指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot`).option(`--yes`,`非交互模式预留参数(当前版本无需确认)`).option(`--check`,`仅检查是否存在待更新内容,不写入文件`).action(e),r.command(`update`).description(`更新工作流命令`).option(`--tools <tools>`,`指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot`).option(`--yes`,`非交互模式预留参数(当前版本无需确认)`).option(`--check`,`仅检查是否存在待更新内容,不写入文件`).action(t),r.parseAsync().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`\n❌ ${t}`),process.exitCode=1});export{};
|
|
3
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { Command } from 'commander'\n\nimport { setupCommand } from './commands/setup'\nimport { updateCommand } from './commands/update'\n\nconst program = new Command()\n\nprogram.name('agent-context').description('Agent Context 工作流生成工具').version('2.0.0')\n\nprogram\n .command('setup')\n .description('初始化工作流命令')\n .option('--tools <tools>', '指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot')\n .option('--yes', '非交互模式预留参数(当前版本无需确认)')\n .option('--check', '仅检查是否存在待更新内容,不写入文件')\n .action(setupCommand)\n\nprogram\n .command('update')\n .description('更新工作流命令')\n .option('--tools <tools>', '指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot')\n .option('--yes', '非交互模式预留参数(当前版本无需确认)')\n .option('--check', '仅检查是否存在待更新内容,不写入文件')\n .action(updateCommand)\n\nprogram.parseAsync().catch((error: unknown) => {\n const message = error instanceof Error ? error.message : String(error)\n console.error(`\\n❌ ${message}`) // eslint-disable-line no-console\n process.exitCode = 1\n})\n"],"mappings":";4IAOA,MAAM,EAAU,IAAI,EAEpB,EAAQ,KAAK,gBAAgB,CAAC,YAAY,wBAAwB,CAAC,QAAQ,QAAQ,CAEnF,EACG,QAAQ,QAAQ,CAChB,YAAY,WAAW,CACvB,OAAO,kBAAmB,sDAAsD,CAChF,OAAO,QAAS,sBAAsB,CACtC,OAAO,UAAW,qBAAqB,CACvC,OAAO,EAAa,CAEvB,EACG,QAAQ,SAAS,CACjB,YAAY,UAAU,CACtB,OAAO,kBAAmB,sDAAsD,CAChF,OAAO,QAAS,sBAAsB,CACtC,OAAO,UAAW,qBAAqB,CACvC,OAAO,EAAc,CAExB,EAAQ,YAAY,CAAC,MAAO,GAAmB,CAC7C,IAAM,EAAU,aAAiB,MAAQ,EAAM,QAAU,OAAO,EAAM,CACtE,QAAQ,MAAM,OAAO,IAAU,CAC/B,QAAQ,SAAW,GACnB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{DEFAULT_TOOL_ORDER as e,detectConfiguredToolIds as t,getToolChoices as n,parseToolIds as r}from"../adapters/tool-targets.js";import{runSetup as i}from"../runtime/execute.js";import{printCheckResult as a,printRunSummary as o}from"./shared.js";import{checkbox as s}from"@inquirer/prompts";async function c(e={}){let t=process.cwd(),n=await l(t,e),r=e.check??!1,s=await i({cwd:t,tools:n,check:r});if(r){a(s,t),s.changed.length>0&&(process.exitCode=1);return}o(s,t)}async function l(i,a){let o=a.tools;if(!o||o.trim().length===0){let r=t(i);return a.yes?r.length>0?r:[...e]:await s({message:`请选择要生成工作流命令的工具(可多选):`,choices:n().map(e=>({name:e.name,value:e.id,checked:r.includes(e.id)})),required:!0})}return r(o)}export{c as setupCommand};
|
|
2
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","names":[],"sources":["../../src/commands/setup.ts"],"sourcesContent":["import { checkbox } from '@inquirer/prompts'\n\nimport {\n DEFAULT_TOOL_ORDER,\n detectConfiguredToolIds,\n getToolChoices,\n parseToolIds\n} from '../adapters/tool-targets'\nimport type { ToolId } from '../domain/types'\nimport { runSetup } from '../runtime/execute'\nimport { printCheckResult, printRunSummary } from './shared'\n\nexport interface SetupCommandOptions {\n tools?: string\n check?: boolean\n yes?: boolean\n}\n\nexport async function setupCommand(options: SetupCommandOptions = {}): Promise<void> {\n const cwd = process.cwd()\n const tools = await resolveTools(cwd, options)\n const check = options.check ?? false\n\n const result = await runSetup({ cwd, tools, check })\n\n if (check) {\n printCheckResult(result, cwd)\n if (result.changed.length > 0) {\n process.exitCode = 1\n }\n return\n }\n\n printRunSummary(result, cwd)\n}\n\nasync function resolveTools(cwd: string, options: SetupCommandOptions): Promise<ToolId[] | undefined> {\n const raw = options.tools\n\n if (!raw || raw.trim().length === 0) {\n const configuredTools = detectConfiguredToolIds(cwd)\n\n if (options.yes) {\n if (configuredTools.length > 0) {\n return configuredTools\n }\n return [...DEFAULT_TOOL_ORDER]\n }\n\n const selectedTools = await checkbox<ToolId>({\n message: '请选择要生成工作流命令的工具(可多选):',\n choices: getToolChoices().map((tool) => ({\n name: tool.name,\n value: tool.id,\n checked: configuredTools.includes(tool.id)\n })),\n required: true\n })\n\n return selectedTools\n }\n\n return parseToolIds(raw)\n}\n"],"mappings":"sSAkBA,eAAsB,EAAa,EAA+B,EAAE,CAAiB,CACnF,IAAM,EAAM,QAAQ,KAAK,CACnB,EAAQ,MAAM,EAAa,EAAK,EAAQ,CACxC,EAAQ,EAAQ,OAAS,GAEzB,EAAS,MAAM,EAAS,CAAE,MAAK,QAAO,QAAO,CAAC,CAEpD,GAAI,EAAO,CACT,EAAiB,EAAQ,EAAI,CACzB,EAAO,QAAQ,OAAS,IAC1B,QAAQ,SAAW,GAErB,OAGF,EAAgB,EAAQ,EAAI,CAG9B,eAAe,EAAa,EAAa,EAA6D,CACpG,IAAM,EAAM,EAAQ,MAEpB,GAAI,CAAC,GAAO,EAAI,MAAM,CAAC,SAAW,EAAG,CACnC,IAAM,EAAkB,EAAwB,EAAI,CAmBpD,OAjBI,EAAQ,IACN,EAAgB,OAAS,EACpB,EAEF,CAAC,GAAG,EAAmB,CAGV,MAAM,EAAiB,CAC3C,QAAS,uBACT,QAAS,GAAgB,CAAC,IAAK,IAAU,CACvC,KAAM,EAAK,KACX,MAAO,EAAK,GACZ,QAAS,EAAgB,SAAS,EAAK,GAAG,CAC3C,EAAE,CACH,SAAU,GACX,CAAC,CAKJ,OAAO,EAAa,EAAI"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{relative as e}from"node:path";function t(t,n){let r=t.mode===`setup`?`setup`:`update`;if(console.log(`\n✅ agent-context ${r} 完成`),t.created.length>0){console.log(`\n新增 ${t.created.length} 个文件:`);for(let r of t.created)console.log(`- ${e(n,r)}`)}if(t.updated.length>0){console.log(`\n更新 ${t.updated.length} 个文件:`);for(let r of t.updated)console.log(`- ${e(n,r)}`)}t.unchanged.length>0&&console.log(`\n无变更 ${t.unchanged.length} 个文件`)}function n(t,n){if(t.changed.length===0){console.log(`
|
|
2
|
+
✅ 检查通过:无需更新`);return}console.log(`
|
|
3
|
+
❌ 检查失败:以下文件需要更新`);for(let r of t.changed)console.log(`- ${e(n,r)}`)}export{n as printCheckResult,t as printRunSummary};
|
|
4
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["../../src/commands/shared.ts"],"sourcesContent":["import { relative } from 'node:path'\n\nimport type { RunResult } from '../domain/types'\n\nexport function printRunSummary(result: RunResult, cwd: string): void {\n const modeTitle = result.mode === 'setup' ? 'setup' : 'update'\n console.log(`\\n✅ agent-context ${modeTitle} 完成`) // eslint-disable-line no-console\n\n if (result.created.length > 0) {\n console.log(`\\n新增 ${result.created.length} 个文件:`) // eslint-disable-line no-console\n for (const filePath of result.created) {\n console.log(`- ${relative(cwd, filePath)}`) // eslint-disable-line no-console\n }\n }\n\n if (result.updated.length > 0) {\n console.log(`\\n更新 ${result.updated.length} 个文件:`) // eslint-disable-line no-console\n for (const filePath of result.updated) {\n console.log(`- ${relative(cwd, filePath)}`) // eslint-disable-line no-console\n }\n }\n\n if (result.unchanged.length > 0) {\n console.log(`\\n无变更 ${result.unchanged.length} 个文件`) // eslint-disable-line no-console\n }\n}\n\nexport function printCheckResult(result: RunResult, cwd: string): void {\n if (result.changed.length === 0) {\n console.log('\\n✅ 检查通过:无需更新') // eslint-disable-line no-console\n return\n }\n\n console.log('\\n❌ 检查失败:以下文件需要更新') // eslint-disable-line no-console\n for (const filePath of result.changed) {\n console.log(`- ${relative(cwd, filePath)}`) // eslint-disable-line no-console\n }\n}\n"],"mappings":"qCAIA,SAAgB,EAAgB,EAAmB,EAAmB,CACpE,IAAM,EAAY,EAAO,OAAS,QAAU,QAAU,SAGtD,GAFA,QAAQ,IAAI,qBAAqB,EAAU,KAAK,CAE5C,EAAO,QAAQ,OAAS,EAAG,CAC7B,QAAQ,IAAI,QAAQ,EAAO,QAAQ,OAAO,OAAO,CACjD,IAAK,IAAM,KAAY,EAAO,QAC5B,QAAQ,IAAI,KAAK,EAAS,EAAK,EAAS,GAAG,CAI/C,GAAI,EAAO,QAAQ,OAAS,EAAG,CAC7B,QAAQ,IAAI,QAAQ,EAAO,QAAQ,OAAO,OAAO,CACjD,IAAK,IAAM,KAAY,EAAO,QAC5B,QAAQ,IAAI,KAAK,EAAS,EAAK,EAAS,GAAG,CAI3C,EAAO,UAAU,OAAS,GAC5B,QAAQ,IAAI,SAAS,EAAO,UAAU,OAAO,MAAM,CAIvD,SAAgB,EAAiB,EAAmB,EAAmB,CACrE,GAAI,EAAO,QAAQ,SAAW,EAAG,CAC/B,QAAQ,IAAI;aAAgB,CAC5B,OAGF,QAAQ,IAAI;iBAAoB,CAChC,IAAK,IAAM,KAAY,EAAO,QAC5B,QAAQ,IAAI,KAAK,EAAS,EAAK,EAAS,GAAG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{detectConfiguredToolIds as e,parseToolIds as t}from"../adapters/tool-targets.js";import{runUpdate as n}from"../runtime/execute.js";import{printCheckResult as r,printRunSummary as i}from"./shared.js";async function a(e={}){let t=process.cwd(),a=o(t,e.tools),s=e.check??!1,c=await n({cwd:t,tools:a,check:s});if(s){r(c,t),c.changed.length>0&&(process.exitCode=1);return}i(c,t)}function o(n,r){if(!r||r.trim().length===0){let t=e(n);if(t.length===0)throw Error(`未检测到已 setup 的工具,请先执行 setup 或通过 --tools 显式指定工具`);return t}return t(r)}export{a as updateCommand};
|
|
2
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","names":[],"sources":["../../src/commands/update.ts"],"sourcesContent":["import { detectConfiguredToolIds, parseToolIds } from '../adapters/tool-targets'\nimport type { ToolId } from '../domain/types'\nimport { runUpdate } from '../runtime/execute'\nimport { printCheckResult, printRunSummary } from './shared'\n\nexport interface UpdateCommandOptions {\n tools?: string\n check?: boolean\n yes?: boolean\n}\n\nexport async function updateCommand(options: UpdateCommandOptions = {}): Promise<void> {\n const cwd = process.cwd()\n const tools = resolveTools(cwd, options.tools)\n const check = options.check ?? false\n\n const result = await runUpdate({\n cwd,\n tools,\n check\n })\n\n if (check) {\n printCheckResult(result, cwd)\n if (result.changed.length > 0) {\n process.exitCode = 1\n }\n return\n }\n\n printRunSummary(result, cwd)\n}\n\nfunction resolveTools(cwd: string, raw?: string): ToolId[] | undefined {\n if (!raw || raw.trim().length === 0) {\n const configuredTools = detectConfiguredToolIds(cwd)\n\n if (configuredTools.length === 0) {\n throw new Error('未检测到已 setup 的工具,请先执行 setup 或通过 --tools 显式指定工具')\n }\n\n return configuredTools\n }\n\n return parseToolIds(raw)\n}\n"],"mappings":"8MAWA,eAAsB,EAAc,EAAgC,EAAE,CAAiB,CACrF,IAAM,EAAM,QAAQ,KAAK,CACnB,EAAQ,EAAa,EAAK,EAAQ,MAAM,CACxC,EAAQ,EAAQ,OAAS,GAEzB,EAAS,MAAM,EAAU,CAC7B,MACA,QACA,QACD,CAAC,CAEF,GAAI,EAAO,CACT,EAAiB,EAAQ,EAAI,CACzB,EAAO,QAAQ,OAAS,IAC1B,QAAQ,SAAW,GAErB,OAGF,EAAgB,EAAQ,EAAI,CAG9B,SAAS,EAAa,EAAa,EAAoC,CACrE,GAAI,CAAC,GAAO,EAAI,MAAM,CAAC,SAAW,EAAG,CACnC,IAAM,EAAkB,EAAwB,EAAI,CAEpD,GAAI,EAAgB,SAAW,EAC7B,MAAU,MAAM,gDAAgD,CAGlE,OAAO,EAGT,OAAO,EAAa,EAAI"}
|
package/dist/stats.html
CHANGED
|
@@ -4930,7 +4930,7 @@ var drawChart = (function (exports) {
|
|
|
4930
4930
|
</script>
|
|
4931
4931
|
<script>
|
|
4932
4932
|
/*<!--*/
|
|
4933
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"
|
|
4933
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"cli.d.ts","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/cli.d.ts","uid":"892e0f80-1"}]},{"name":"cli.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/cli.ts","uid":"892e0f80-3"}]},{"name":"adapters/tool-targets.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/adapters/tool-targets.ts","uid":"892e0f80-5"}]},{"name":"commands/setup.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/commands/setup.ts","uid":"892e0f80-7"}]},{"name":"commands/shared.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/commands/shared.ts","uid":"892e0f80-9"}]},{"name":"commands/update.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/commands/update.ts","uid":"892e0f80-11"}]},{"name":"domain/workflow-content.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-content.ts","uid":"892e0f80-13"}]},{"name":"domain/workflow-context.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-context.ts","uid":"892e0f80-15"}]},{"name":"domain/workflow-templates/done.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/done.ts","uid":"892e0f80-17"}]},{"name":"domain/workflow-templates/implement.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/implement.ts","uid":"892e0f80-19"}]},{"name":"domain/workflow-templates/init.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/init.ts","uid":"892e0f80-21"}]},{"name":"domain/workflow-templates/patch.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/patch.ts","uid":"892e0f80-23"}]},{"name":"domain/workflow-templates/plan.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/plan.ts","uid":"892e0f80-25"}]},{"name":"domain/workflow-templates/replan.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/replan.ts","uid":"892e0f80-27"}]},{"name":"generators/workflow.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/generators/workflow.ts","uid":"892e0f80-29"}]},{"name":"runtime/execute.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/runtime/execute.ts","uid":"892e0f80-31"}]},{"name":"shared/fs.js","children":[{"name":"home/whj/codes/cat-kit/packages/agent-context/src/shared/fs.ts","uid":"892e0f80-33"}]}],"isRoot":true},"nodeParts":{"892e0f80-1":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-0"},"892e0f80-3":{"renderedLength":1029,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-2"},"892e0f80-5":{"renderedLength":2841,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-4"},"892e0f80-7":{"renderedLength":1002,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-6"},"892e0f80-9":{"renderedLength":973,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-8"},"892e0f80-11":{"renderedLength":752,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-10"},"892e0f80-13":{"renderedLength":340,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-12"},"892e0f80-15":{"renderedLength":926,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-14"},"892e0f80-17":{"renderedLength":1638,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-16"},"892e0f80-19":{"renderedLength":2036,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-18"},"892e0f80-21":{"renderedLength":2170,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-20"},"892e0f80-23":{"renderedLength":1811,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-22"},"892e0f80-25":{"renderedLength":2476,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-24"},"892e0f80-27":{"renderedLength":1720,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-26"},"892e0f80-29":{"renderedLength":468,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-28"},"892e0f80-31":{"renderedLength":750,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-30"},"892e0f80-33":{"renderedLength":1128,"gzipLength":0,"brotliLength":0,"metaUid":"892e0f80-32"}},"nodeMetas":{"892e0f80-0":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/cli.d.ts","moduleParts":{"cli.d.ts":"892e0f80-1"},"imported":[],"importedBy":[],"isEntry":true},"892e0f80-2":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/cli.ts","moduleParts":{"cli.js":"892e0f80-3"},"imported":[{"uid":"892e0f80-34"},{"uid":"892e0f80-6"},{"uid":"892e0f80-10"}],"importedBy":[],"isEntry":true},"892e0f80-4":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/adapters/tool-targets.ts","moduleParts":{"adapters/tool-targets.js":"892e0f80-5"},"imported":[{"uid":"892e0f80-36"},{"uid":"892e0f80-37"}],"importedBy":[{"uid":"892e0f80-6"},{"uid":"892e0f80-10"},{"uid":"892e0f80-30"},{"uid":"892e0f80-28"}]},"892e0f80-6":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/commands/setup.ts","moduleParts":{"commands/setup.js":"892e0f80-7"},"imported":[{"uid":"892e0f80-35"},{"uid":"892e0f80-4"},{"uid":"892e0f80-30"},{"uid":"892e0f80-8"}],"importedBy":[{"uid":"892e0f80-2"}]},"892e0f80-8":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/commands/shared.ts","moduleParts":{"commands/shared.js":"892e0f80-9"},"imported":[{"uid":"892e0f80-36"}],"importedBy":[{"uid":"892e0f80-6"},{"uid":"892e0f80-10"}]},"892e0f80-10":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/commands/update.ts","moduleParts":{"commands/update.js":"892e0f80-11"},"imported":[{"uid":"892e0f80-4"},{"uid":"892e0f80-30"},{"uid":"892e0f80-8"}],"importedBy":[{"uid":"892e0f80-2"}]},"892e0f80-12":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-content.ts","moduleParts":{"domain/workflow-content.js":"892e0f80-13"},"imported":[{"uid":"892e0f80-39"}],"importedBy":[{"uid":"892e0f80-28"}]},"892e0f80-14":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-context.ts","moduleParts":{"domain/workflow-context.js":"892e0f80-15"},"imported":[],"importedBy":[{"uid":"892e0f80-39"},{"uid":"892e0f80-20"},{"uid":"892e0f80-24"},{"uid":"892e0f80-26"},{"uid":"892e0f80-18"},{"uid":"892e0f80-22"},{"uid":"892e0f80-16"}]},"892e0f80-16":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/done.ts","moduleParts":{"domain/workflow-templates/done.js":"892e0f80-17"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-18":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/implement.ts","moduleParts":{"domain/workflow-templates/implement.js":"892e0f80-19"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-20":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/init.ts","moduleParts":{"domain/workflow-templates/init.js":"892e0f80-21"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-22":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/patch.ts","moduleParts":{"domain/workflow-templates/patch.js":"892e0f80-23"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-24":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/plan.ts","moduleParts":{"domain/workflow-templates/plan.js":"892e0f80-25"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-26":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/replan.ts","moduleParts":{"domain/workflow-templates/replan.js":"892e0f80-27"},"imported":[{"uid":"892e0f80-14"}],"importedBy":[{"uid":"892e0f80-39"}]},"892e0f80-28":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/generators/workflow.ts","moduleParts":{"generators/workflow.js":"892e0f80-29"},"imported":[{"uid":"892e0f80-4"},{"uid":"892e0f80-12"}],"importedBy":[{"uid":"892e0f80-30"}]},"892e0f80-30":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/runtime/execute.ts","moduleParts":{"runtime/execute.js":"892e0f80-31"},"imported":[{"uid":"892e0f80-4"},{"uid":"892e0f80-28"},{"uid":"892e0f80-32"}],"importedBy":[{"uid":"892e0f80-6"},{"uid":"892e0f80-10"}]},"892e0f80-32":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/shared/fs.ts","moduleParts":{"shared/fs.js":"892e0f80-33"},"imported":[{"uid":"892e0f80-36"},{"uid":"892e0f80-37"},{"uid":"892e0f80-38"}],"importedBy":[{"uid":"892e0f80-30"}]},"892e0f80-34":{"id":"commander","moduleParts":{},"imported":[],"importedBy":[{"uid":"892e0f80-2"}]},"892e0f80-35":{"id":"@inquirer/prompts","moduleParts":{},"imported":[],"importedBy":[{"uid":"892e0f80-6"}]},"892e0f80-36":{"id":"node:path","moduleParts":{},"imported":[],"importedBy":[{"uid":"892e0f80-4"},{"uid":"892e0f80-8"},{"uid":"892e0f80-32"}]},"892e0f80-37":{"id":"node:fs","moduleParts":{},"imported":[],"importedBy":[{"uid":"892e0f80-4"},{"uid":"892e0f80-32"}]},"892e0f80-38":{"id":"node:fs/promises","moduleParts":{},"imported":[],"importedBy":[{"uid":"892e0f80-32"}]},"892e0f80-39":{"id":"/home/whj/codes/cat-kit/packages/agent-context/src/domain/workflow-templates/index.ts","moduleParts":{},"imported":[{"uid":"892e0f80-14"},{"uid":"892e0f80-20"},{"uid":"892e0f80-24"},{"uid":"892e0f80-26"},{"uid":"892e0f80-18"},{"uid":"892e0f80-22"},{"uid":"892e0f80-16"}],"importedBy":[{"uid":"892e0f80-12"}]}},"env":{"rollup":"4.23.0"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
|
|
4934
4934
|
|
|
4935
4935
|
const run = () => {
|
|
4936
4936
|
const width = window.innerWidth;
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-kit/agent-context",
|
|
3
|
-
"
|
|
4
|
-
"version": "1.0.4",
|
|
3
|
+
"version": "1.0.5",
|
|
5
4
|
"description": "代理上下文管理工具",
|
|
6
5
|
"bin": {
|
|
7
6
|
"agent-context": "./dist/cli.js"
|
|
@@ -11,13 +10,7 @@
|
|
|
11
10
|
"src",
|
|
12
11
|
"README.md"
|
|
13
12
|
],
|
|
14
|
-
"
|
|
15
|
-
".": {
|
|
16
|
-
"import": "./dist/index.js",
|
|
17
|
-
"types": "./dist/index.d.ts"
|
|
18
|
-
},
|
|
19
|
-
"./src": "./src/index.ts"
|
|
20
|
-
},
|
|
13
|
+
"type": "module",
|
|
21
14
|
"scripts": {
|
|
22
15
|
"build": "tsc -p tsconfig.json",
|
|
23
16
|
"clean": "rm -rf dist"
|
package/src/cli.ts
CHANGED
|
@@ -11,7 +11,7 @@ program.name('agent-context').description('Agent Context 工作流生成工具')
|
|
|
11
11
|
|
|
12
12
|
program
|
|
13
13
|
.command('setup')
|
|
14
|
-
.description('
|
|
14
|
+
.description('初始化工作流命令')
|
|
15
15
|
.option('--tools <tools>', '指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot')
|
|
16
16
|
.option('--yes', '非交互模式预留参数(当前版本无需确认)')
|
|
17
17
|
.option('--check', '仅检查是否存在待更新内容,不写入文件')
|
|
@@ -19,7 +19,7 @@ program
|
|
|
19
19
|
|
|
20
20
|
program
|
|
21
21
|
.command('update')
|
|
22
|
-
.description('
|
|
22
|
+
.description('更新工作流命令')
|
|
23
23
|
.option('--tools <tools>', '指定目标工具,逗号分隔:claude,codex,cursor,antigravity,copilot')
|
|
24
24
|
.option('--yes', '非交互模式预留参数(当前版本无需确认)')
|
|
25
25
|
.option('--check', '仅检查是否存在待更新内容,不写入文件')
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ToolId, ToolTarget, WorkflowCommandName } from "../domain/types.js";
|
|
2
|
-
|
|
3
|
-
//#region src/adapters/tool-targets.d.ts
|
|
4
|
-
declare function parseToolIds(toolsText: string): ToolId[];
|
|
5
|
-
declare function resolveToolTargets(tools?: ToolId[]): ToolTarget[];
|
|
6
|
-
interface WorkflowPaths {
|
|
7
|
-
commandFile(name: WorkflowCommandName): string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* 根据工具约束计算工作流文件输出路径
|
|
11
|
-
*
|
|
12
|
-
* - separator=':' (Claude) → 嵌套: .claude/commands/ac/init.md → /ac:init
|
|
13
|
-
* - separator='-' (其他) → 扁平: .cursor/commands/ac-init.md → /ac-init
|
|
14
|
-
*/
|
|
15
|
-
declare function resolveWorkflowPaths(target: ToolTarget, cwd: string): WorkflowPaths;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { parseToolIds, resolveToolTargets, resolveWorkflowPaths };
|
|
18
|
-
//# sourceMappingURL=tool-targets.d.ts.map
|
package/dist/domain/types.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
//#region src/domain/types.d.ts
|
|
2
|
-
type ToolId = 'claude' | 'codex' | 'cursor' | 'antigravity' | 'copilot';
|
|
3
|
-
interface ToolTarget {
|
|
4
|
-
id: ToolId;
|
|
5
|
-
name: string;
|
|
6
|
-
rootDir: string;
|
|
7
|
-
/** 工作流文件扩展名:'.md' | '.prompt.md'(Copilot) */
|
|
8
|
-
fileExtension: string;
|
|
9
|
-
/** 是否支持 YAML frontmatter(Cursor 不支持) */
|
|
10
|
-
supportsFrontmatter: boolean;
|
|
11
|
-
/** 命令分隔符:':'(Claude 嵌套目录 ac/init.md → /ac:init)或 '-'(扁平 ac-init.md) */
|
|
12
|
-
commandSeparator: string;
|
|
13
|
-
/** 命令调用前缀:'/'(Claude/Cursor)或 '#'(Copilot) */
|
|
14
|
-
commandPrefix: string;
|
|
15
|
-
}
|
|
16
|
-
type WorkflowCommandName = 'init' | 'plan' | 'replan' | 'implement' | 'patch' | 'done';
|
|
17
|
-
interface WorkflowArtifacts {
|
|
18
|
-
commandFiles: Record<WorkflowCommandName, string>;
|
|
19
|
-
}
|
|
20
|
-
interface ApplyMutationResult {
|
|
21
|
-
created: string[];
|
|
22
|
-
updated: string[];
|
|
23
|
-
unchanged: string[];
|
|
24
|
-
changed: string[];
|
|
25
|
-
}
|
|
26
|
-
interface RunOptions {
|
|
27
|
-
cwd?: string;
|
|
28
|
-
tools?: ToolId[];
|
|
29
|
-
check?: boolean;
|
|
30
|
-
}
|
|
31
|
-
interface RunResult extends ApplyMutationResult {
|
|
32
|
-
mode: 'setup' | 'update';
|
|
33
|
-
check: boolean;
|
|
34
|
-
}
|
|
35
|
-
//#endregion
|
|
36
|
-
export { RunOptions, RunResult, ToolId, ToolTarget, WorkflowArtifacts, WorkflowCommandName };
|
|
37
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ToolTarget, WorkflowArtifacts } from "./types.js";
|
|
2
|
-
|
|
3
|
-
//#region src/domain/workflow-content.d.ts
|
|
4
|
-
declare function renderWorkflowArtifacts(target: ToolTarget): WorkflowArtifacts;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { renderWorkflowArtifacts };
|
|
7
|
-
//# sourceMappingURL=workflow-content.d.ts.map
|
package/dist/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { RunOptions, RunResult, ToolId, ToolTarget, WorkflowArtifacts, WorkflowCommandName } from "./domain/types.js";
|
|
2
|
-
import { parseToolIds, resolveToolTargets, resolveWorkflowPaths } from "./adapters/tool-targets.js";
|
|
3
|
-
import { renderWorkflowArtifacts } from "./domain/workflow-content.js";
|
|
4
|
-
import { runSetup, runUpdate } from "./runtime/execute.js";
|
|
5
|
-
export { type RunOptions, type RunResult, type ToolId, type ToolTarget, type WorkflowArtifacts, type WorkflowCommandName, parseToolIds, renderWorkflowArtifacts, resolveToolTargets, resolveWorkflowPaths, runSetup, runUpdate };
|
package/dist/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{parseToolIds as e,resolveToolTargets as t,resolveWorkflowPaths as n}from"./adapters/tool-targets.js";import{renderWorkflowArtifacts as r}from"./domain/workflow-content.js";import{runSetup as i,runUpdate as a}from"./runtime/execute.js";export{e as parseToolIds,r as renderWorkflowArtifacts,t as resolveToolTargets,n as resolveWorkflowPaths,i as runSetup,a as runUpdate};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RunOptions, RunResult } from "../domain/types.js";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/execute.d.ts
|
|
4
|
-
declare function runSetup(options?: RunOptions): Promise<RunResult>;
|
|
5
|
-
declare function runUpdate(options?: RunOptions): Promise<RunResult>;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { runSetup, runUpdate };
|
|
8
|
-
//# sourceMappingURL=execute.d.ts.map
|
package/src/index.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { resolveToolTargets, parseToolIds, resolveWorkflowPaths } from './adapters/tool-targets'
|
|
2
|
-
export { renderWorkflowArtifacts } from './domain/workflow-content'
|
|
3
|
-
export { runSetup, runUpdate } from './runtime/execute'
|
|
4
|
-
export type {
|
|
5
|
-
ToolId,
|
|
6
|
-
ToolTarget,
|
|
7
|
-
RunOptions,
|
|
8
|
-
RunResult,
|
|
9
|
-
WorkflowArtifacts,
|
|
10
|
-
WorkflowCommandName
|
|
11
|
-
} from './domain/types.js'
|