@agentdevjs/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/BasicAgent-RPYJHYCM.js +12 -0
  2. package/dist/BasicAgent-RPYJHYCM.js.map +1 -0
  3. package/dist/ExplorerAgent-ITTSJRJI.js +12 -0
  4. package/dist/ExplorerAgent-ITTSJRJI.js.map +1 -0
  5. package/dist/chunk-574NG4UB.js +1259 -0
  6. package/dist/chunk-574NG4UB.js.map +1 -0
  7. package/dist/chunk-BVF7RUXV.js +136 -0
  8. package/dist/chunk-BVF7RUXV.js.map +1 -0
  9. package/dist/chunk-DGUM43GV.js +11 -0
  10. package/dist/chunk-DGUM43GV.js.map +1 -0
  11. package/dist/chunk-KO4DJKM6.js +99 -0
  12. package/dist/chunk-KO4DJKM6.js.map +1 -0
  13. package/dist/chunk-TIJV6GJW.js +51 -0
  14. package/dist/chunk-TIJV6GJW.js.map +1 -0
  15. package/dist/chunk-UCEIJEM5.js +61 -0
  16. package/dist/chunk-UCEIJEM5.js.map +1 -0
  17. package/dist/chunk-YFSM6IYU.js +6572 -0
  18. package/dist/chunk-YFSM6IYU.js.map +1 -0
  19. package/dist/features/example-feature/templates/example-tool.render.d.ts +3 -0
  20. package/dist/features/example-feature/templates/example-tool.render.js +20 -0
  21. package/dist/features/example-feature/templates/example-tool.render.js.map +1 -0
  22. package/dist/features/opencode-basic/templates/edit.render.d.ts +12 -0
  23. package/dist/features/opencode-basic/templates/edit.render.js +44 -0
  24. package/dist/features/opencode-basic/templates/edit.render.js.map +1 -0
  25. package/dist/features/opencode-basic/templates/glob.render.d.ts +13 -0
  26. package/dist/features/opencode-basic/templates/glob.render.js +44 -0
  27. package/dist/features/opencode-basic/templates/glob.render.js.map +1 -0
  28. package/dist/features/opencode-basic/templates/grep.render.d.ts +13 -0
  29. package/dist/features/opencode-basic/templates/grep.render.js +67 -0
  30. package/dist/features/opencode-basic/templates/grep.render.js.map +1 -0
  31. package/dist/features/opencode-basic/templates/ls.render.d.ts +12 -0
  32. package/dist/features/opencode-basic/templates/ls.render.js +35 -0
  33. package/dist/features/opencode-basic/templates/ls.render.js.map +1 -0
  34. package/dist/features/opencode-basic/templates/read.render.d.ts +13 -0
  35. package/dist/features/opencode-basic/templates/read.render.js +83 -0
  36. package/dist/features/opencode-basic/templates/read.render.js.map +1 -0
  37. package/dist/features/opencode-basic/templates/write.render.d.ts +13 -0
  38. package/dist/features/opencode-basic/templates/write.render.js +44 -0
  39. package/dist/features/opencode-basic/templates/write.render.js.map +1 -0
  40. package/dist/features/skill/templates/skill.render.d.ts +13 -0
  41. package/dist/features/skill/templates/skill.render.js +33 -0
  42. package/dist/features/skill/templates/skill.render.js.map +1 -0
  43. package/dist/features/subagent/templates/agent-close.render.d.ts +9 -0
  44. package/dist/features/subagent/templates/agent-close.render.js +29 -0
  45. package/dist/features/subagent/templates/agent-close.render.js.map +1 -0
  46. package/dist/features/subagent/templates/agent-list.render.d.ts +9 -0
  47. package/dist/features/subagent/templates/agent-list.render.js +23 -0
  48. package/dist/features/subagent/templates/agent-list.render.js.map +1 -0
  49. package/dist/features/subagent/templates/agent-send.render.d.ts +9 -0
  50. package/dist/features/subagent/templates/agent-send.render.js +37 -0
  51. package/dist/features/subagent/templates/agent-send.render.js.map +1 -0
  52. package/dist/features/subagent/templates/agent-spawn.render.d.ts +9 -0
  53. package/dist/features/subagent/templates/agent-spawn.render.js +38 -0
  54. package/dist/features/subagent/templates/agent-spawn.render.js.map +1 -0
  55. package/dist/features/subagent/templates/wait.render.d.ts +9 -0
  56. package/dist/features/subagent/templates/wait.render.js +29 -0
  57. package/dist/features/subagent/templates/wait.render.js.map +1 -0
  58. package/dist/features/todo/templates/task-clear.render.d.ts +12 -0
  59. package/dist/features/todo/templates/task-clear.render.js +32 -0
  60. package/dist/features/todo/templates/task-clear.render.js.map +1 -0
  61. package/dist/features/todo/templates/task-create.render.d.ts +12 -0
  62. package/dist/features/todo/templates/task-create.render.js +56 -0
  63. package/dist/features/todo/templates/task-create.render.js.map +1 -0
  64. package/dist/features/todo/templates/task-list.render.d.ts +12 -0
  65. package/dist/features/todo/templates/task-list.render.js +72 -0
  66. package/dist/features/todo/templates/task-list.render.js.map +1 -0
  67. package/dist/features/todo/templates/task-update.render.d.ts +12 -0
  68. package/dist/features/todo/templates/task-update.render.js +58 -0
  69. package/dist/features/todo/templates/task-update.render.js.map +1 -0
  70. package/dist/index.d.ts +6831 -0
  71. package/dist/index.js +8376 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/notification-5DFBYKKN.js +32 -0
  74. package/dist/notification-5DFBYKKN.js.map +1 -0
  75. package/dist/resolver-F5SM2RHQ.js +8 -0
  76. package/dist/resolver-F5SM2RHQ.js.map +1 -0
  77. package/dist/session-events-TETMQI45.js +18 -0
  78. package/dist/session-events-TETMQI45.js.map +1 -0
  79. package/package.json +55 -0
@@ -0,0 +1,51 @@
1
+ import {
2
+ AgentBase
3
+ } from "./chunk-YFSM6IYU.js";
4
+
5
+ // src/agents/system/BasicAgent.ts
6
+ import { existsSync } from "fs";
7
+ import { cwd, platform } from "process";
8
+ var BasicAgent = class extends AgentBase {
9
+ _systemContext;
10
+ /**
11
+ * 构造函数
12
+ *
13
+ * @param config 基础配置(llm 必传)
14
+ */
15
+ constructor(config) {
16
+ const workspaceDir = config.workspaceDir ?? cwd();
17
+ const systemContext = {
18
+ SYSTEM_WORKING_DIR: workspaceDir,
19
+ SYSTEM_IS_GIT_REPOSITORY: existsSync(workspaceDir + "/.git"),
20
+ SYSTEM_PLATFORM: platform,
21
+ SYSTEM_SHELL_ENV: platform === "win32" ? "Git bash" : platform === "darwin" ? "Bash (macOS)" : "Bash",
22
+ SYSTEM_DATE: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
23
+ // YYYY-MM-DD
24
+ SYSTEM_CURRENT_MODEL: config.llm.modelName ?? "unknown"
25
+ };
26
+ const agentConfig = {
27
+ llm: config.llm,
28
+ tools: config.tools ?? [],
29
+ maxTurns: Infinity,
30
+ systemMessage: config.systemMessage,
31
+ name: config.name,
32
+ projectRoot: config.projectRoot,
33
+ workspaceDir,
34
+ features: config.features
35
+ };
36
+ super(agentConfig);
37
+ this._systemContext = systemContext;
38
+ this.setSystemContext(systemContext);
39
+ }
40
+ /**
41
+ * 获取系统环境信息
42
+ */
43
+ getSystemContext() {
44
+ return this._systemContext;
45
+ }
46
+ };
47
+
48
+ export {
49
+ BasicAgent
50
+ };
51
+ //# sourceMappingURL=chunk-TIJV6GJW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/agents/system/BasicAgent.ts"],"sourcesContent":["/**\n * BasicAgent - 基础 Agent 纯基类\n *\n * 只负责:系统环境信息上下文、AgentConfig 组装。\n * 不内置任何 Feature 装配,也不自动创建 LLM——LLM 实现位于\n * @agentdevjs/llm(core 零重 SDK 纪律),由宿主显式传入:\n *\n * import { loadConfigSync } from '@agentdevjs/core';\n * import { createLLM } from '@agentdevjs/llm';\n * new BasicAgent({ llm: createLLM(loadConfigSync()) })\n */\n\nimport { Agent } from '../../core/agent.js';\nimport type { AgentConfig, LLMClient, Tool } from '../../core/types.js';\nimport { existsSync } from 'fs';\nimport { cwd, platform } from 'process';\n\n/**\n * 系统环境信息上下文\n */\nexport interface SystemContext {\n /** 当前工作目录 */\n SYSTEM_WORKING_DIR: string;\n /** 是否是 Git 仓库 */\n SYSTEM_IS_GIT_REPOSITORY: boolean;\n /** 操作系统平台 */\n SYSTEM_PLATFORM: NodeJS.Platform;\n /** Shell 环境描述 */\n SYSTEM_SHELL_ENV: string;\n /** 当前日期 (YYYY-MM-DD) */\n SYSTEM_DATE: string;\n /** 当前使用的模型名称 */\n SYSTEM_CURRENT_MODEL: string;\n /** 索引签名,允许作为 PlaceholderContext 使用 */\n [key: string]: any;\n}\n\n/**\n * BasicAgent 配置选项\n *\n * llm 必传(LLM 装配权在宿主);其余参数可选。\n * 需要工具或上下文注入时,构造后通过 use() 显式挂载 Feature。\n */\nexport interface BasicAgentConfig {\n /** LLM 客户端(必传;实现见 @agentdevjs/llm 的 createLLM) */\n llm: LLMClient;\n /** Agent 显示名称(可选) */\n name?: string;\n /** 系统提示词(可选,后续可通过 setPrompt() 设置) */\n systemMessage?: string;\n /** 自定义工具集(可选,默认为空) */\n tools?: Tool[];\n /** Feature 特定配置(可选) */\n features?: AgentConfig['features'];\n /** 调试器和模板解析使用的项目根目录 */\n projectRoot?: string;\n /** 工具默认操作的工作目录 */\n workspaceDir?: string;\n}\n\n/**\n * 基础 Agent 类\n *\n * 纯基类:集成系统环境信息,零内置 Feature 装配、零 LLM 自动创建。\n */\nexport class BasicAgent extends Agent {\n protected _systemContext: SystemContext;\n\n /**\n * 构造函数\n *\n * @param config 基础配置(llm 必传)\n */\n constructor(config: BasicAgentConfig) {\n const workspaceDir = config.workspaceDir ?? cwd();\n // 建立系统环境信息\n const systemContext: SystemContext = {\n SYSTEM_WORKING_DIR: workspaceDir,\n SYSTEM_IS_GIT_REPOSITORY: existsSync(workspaceDir + '/.git'),\n SYSTEM_PLATFORM: platform,\n SYSTEM_SHELL_ENV: platform === 'win32' ? 'Git bash' : (platform === 'darwin' ? 'Bash (macOS)' : 'Bash'),\n SYSTEM_DATE: new Date().toISOString().split('T')[0], // YYYY-MM-DD\n SYSTEM_CURRENT_MODEL: config.llm.modelName ?? 'unknown',\n };\n\n // 构建完整的 Agent 配置\n const agentConfig: AgentConfig = {\n llm: config.llm,\n tools: config.tools ?? [],\n maxTurns: Infinity,\n systemMessage: config.systemMessage,\n name: config.name,\n projectRoot: config.projectRoot,\n workspaceDir,\n features: config.features,\n };\n\n super(agentConfig);\n\n // 保存配置(必须在 super() 之后)\n this._systemContext = systemContext;\n this.setSystemContext(systemContext);\n }\n\n /**\n * 获取系统环境信息\n */\n getSystemContext(): SystemContext {\n return this._systemContext;\n }\n}\n"],"mappings":";;;;;AAcA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,gBAAgB;AAkDvB,IAAM,aAAN,cAAyB,UAAM;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,YAAY,QAA0B;AACpC,UAAM,eAAe,OAAO,gBAAgB,IAAI;AAEhD,UAAM,gBAA+B;AAAA,MACnC,oBAAoB;AAAA,MACpB,0BAA0B,WAAW,eAAe,OAAO;AAAA,MAC3D,iBAAiB;AAAA,MACjB,kBAAkB,aAAa,UAAU,aAAc,aAAa,WAAW,iBAAiB;AAAA,MAChG,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA;AAAA,MAClD,sBAAsB,OAAO,IAAI,aAAa;AAAA,IAChD;AAGA,UAAM,cAA2B;AAAA,MAC/B,KAAK,OAAO;AAAA,MACZ,OAAO,OAAO,SAAS,CAAC;AAAA,MACxB,UAAU;AAAA,MACV,eAAe,OAAO;AAAA,MACtB,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB;AAAA,MACA,UAAU,OAAO;AAAA,IACnB;AAEA,UAAM,WAAW;AAGjB,SAAK,iBAAiB;AACtB,SAAK,iBAAiB,aAAa;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAkC;AAChC,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,61 @@
1
+ import {
2
+ AgentBase,
3
+ TemplateComposer
4
+ } from "./chunk-YFSM6IYU.js";
5
+
6
+ // src/agents/system/ExplorerAgent.ts
7
+ import { existsSync } from "fs";
8
+ import { cwd, platform } from "process";
9
+ var ExplorerAgent = class extends AgentBase {
10
+ _systemContext;
11
+ /**
12
+ * 构造函数
13
+ *
14
+ * @param config 探索者配置(llm 必传)
15
+ */
16
+ constructor(config) {
17
+ const systemContext = {
18
+ SYSTEM_WORKING_DIR: cwd(),
19
+ SYSTEM_IS_GIT_REPOSITORY: existsSync(cwd() + "/.git"),
20
+ SYSTEM_PLATFORM: platform,
21
+ SYSTEM_SHELL_ENV: platform === "win32" ? "Git bash" : platform === "darwin" ? "Bash (macOS)" : "Bash",
22
+ SYSTEM_DATE: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
23
+ // YYYY-MM-DD
24
+ SYSTEM_CURRENT_MODEL: config.llm.modelName ?? "unknown"
25
+ };
26
+ const agentConfig = {
27
+ llm: config.llm,
28
+ tools: [],
29
+ // 工具由宿主装配
30
+ maxTurns: Infinity,
31
+ // 无限交互次数
32
+ systemMessage: config.systemMessage,
33
+ name: config.name
34
+ };
35
+ super(agentConfig);
36
+ this._systemContext = systemContext;
37
+ this.setSystemContext(systemContext);
38
+ }
39
+ /**
40
+ * Agent 初始化钩子
41
+ * 默认系统提示词(explorer.md + 系统环境)
42
+ */
43
+ async onInitiate() {
44
+ if (!this.systemMessage) {
45
+ this.setSystemPrompt(
46
+ new TemplateComposer().add({ file: ".agentdev/prompts/explorer.md" }).add("\n\n## \u7CFB\u7EDF\u73AF\u5883\n\n").add("- \u5DE5\u4F5C\u76EE\u5F55: `{{SYSTEM_WORKING_DIR}}`\n").add("- Git \u4ED3\u5E93: {{SYSTEM_IS_GIT_REPOSITORY}}\n").add("- \u64CD\u4F5C\u7CFB\u7EDF: {{SYSTEM_PLATFORM}}\n").add("- bash\u7248\u672C\uFF1APowerShell 5.1\n").add("- \u5F53\u524D\u65E5\u671F: {{SYSTEM_DATE}}\n")
47
+ );
48
+ }
49
+ }
50
+ /**
51
+ * 获取系统环境信息
52
+ */
53
+ getSystemContext() {
54
+ return this._systemContext;
55
+ }
56
+ };
57
+
58
+ export {
59
+ ExplorerAgent
60
+ };
61
+ //# sourceMappingURL=chunk-UCEIJEM5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/agents/system/ExplorerAgent.ts"],"sourcesContent":["/**\n * ExplorerAgent - 代码探索者 Agent 纯基类\n *\n * 专注于代码库探索和理解的轻量级 Agent 基类。\n * 纯基类:零内置 Feature 装配,也不自动创建 LLM(core 零重 SDK 纪律,\n * LLM 实现位于 @agentdevjs/llm,由宿主显式传入)。只读定位通过装配层的\n * 工具裁剪实现,本类不代劳。\n */\n\nimport { Agent } from '../../core/agent.js';\nimport type { AgentConfig, LLMClient } from '../../core/types.js';\nimport { existsSync } from 'fs';\nimport { cwd, platform } from 'process';\nimport { TemplateComposer } from '../../template/composer.js';\n\n/**\n * 系统环境信息上下文\n */\nexport interface SystemContext {\n /** 当前工作目录 */\n SYSTEM_WORKING_DIR: string;\n /** 是否是 Git 仓库 */\n SYSTEM_IS_GIT_REPOSITORY: boolean;\n /** 操作系统平台 */\n SYSTEM_PLATFORM: NodeJS.Platform;\n /** Shell 环境描述 */\n SYSTEM_SHELL_ENV: string;\n /** 当前日期 (YYYY-MM-DD) */\n SYSTEM_DATE: string;\n /** 当前使用的模型名称 */\n SYSTEM_CURRENT_MODEL: string;\n /** 索引签名,允许作为 PlaceholderContext 使用 */\n [key: string]: any;\n}\n\n/**\n * ExplorerAgent 配置选项\n *\n * llm 必传(LLM 装配权在宿主);其余参数可选。\n */\nexport interface ExplorerAgentConfig {\n /** LLM 客户端(必传;实现见 @agentdevjs/llm 的 createLLM) */\n llm: LLMClient;\n /** Agent 显示名称(可选) */\n name?: string;\n /** 系统提示词(可选,默认使用 explorer.md) */\n systemMessage?: string;\n}\n\n/**\n * 代码探索者 Agent\n *\n * 轻量级代码探索 Agent 基类,专注于:\n * - 代码库结构分析\n * - 代码审查和理解\n * - 文档生成\n * - 依赖关系梳理\n */\nexport class ExplorerAgent extends Agent {\n protected _systemContext: SystemContext;\n\n /**\n * 构造函数\n *\n * @param config 探索者配置(llm 必传)\n */\n constructor(config: ExplorerAgentConfig) {\n // 建立系统环境信息\n const systemContext: SystemContext = {\n SYSTEM_WORKING_DIR: cwd(),\n SYSTEM_IS_GIT_REPOSITORY: existsSync(cwd() + '/.git'),\n SYSTEM_PLATFORM: platform,\n SYSTEM_SHELL_ENV: platform === 'win32' ? 'Git bash' : (platform === 'darwin' ? 'Bash (macOS)' : 'Bash'),\n SYSTEM_DATE: new Date().toISOString().split('T')[0], // YYYY-MM-DD\n SYSTEM_CURRENT_MODEL: config.llm.modelName ?? 'unknown',\n };\n\n // 构建完整的 Agent 配置\n const agentConfig: AgentConfig = {\n llm: config.llm,\n tools: [], // 工具由宿主装配\n maxTurns: Infinity, // 无限交互次数\n systemMessage: config.systemMessage,\n name: config.name,\n };\n\n super(agentConfig);\n\n // 保存配置(必须在 super() 之后)\n this._systemContext = systemContext;\n this.setSystemContext(systemContext);\n }\n\n /**\n * Agent 初始化钩子\n * 默认系统提示词(explorer.md + 系统环境)\n */\n protected override async onInitiate(): Promise<void> {\n // 配置系统提示词\n if (!this.systemMessage) {\n this.setSystemPrompt(new TemplateComposer()\n .add({ file: '.agentdev/prompts/explorer.md' })\n .add('\\n\\n## 系统环境\\n\\n')\n .add('- 工作目录: `{{SYSTEM_WORKING_DIR}}`\\n')\n .add('- Git 仓库: {{SYSTEM_IS_GIT_REPOSITORY}}\\n')\n .add('- 操作系统: {{SYSTEM_PLATFORM}}\\n')\n .add('- bash版本:PowerShell 5.1\\n')\n .add('- 当前日期: {{SYSTEM_DATE}}\\n')\n );\n }\n }\n\n /**\n * 获取系统环境信息\n */\n getSystemContext(): SystemContext {\n return this._systemContext;\n }\n}\n"],"mappings":";;;;;;AAWA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,gBAAgB;AA8CvB,IAAM,gBAAN,cAA4B,UAAM;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,YAAY,QAA6B;AAEvC,UAAM,gBAA+B;AAAA,MACnC,oBAAoB,IAAI;AAAA,MACxB,0BAA0B,WAAW,IAAI,IAAI,OAAO;AAAA,MACpD,iBAAiB;AAAA,MACjB,kBAAkB,aAAa,UAAU,aAAc,aAAa,WAAW,iBAAiB;AAAA,MAChG,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA;AAAA,MAClD,sBAAsB,OAAO,IAAI,aAAa;AAAA,IAChD;AAGA,UAAM,cAA2B;AAAA,MAC/B,KAAK,OAAO;AAAA,MACZ,OAAO,CAAC;AAAA;AAAA,MACR,UAAU;AAAA;AAAA,MACV,eAAe,OAAO;AAAA,MACtB,MAAM,OAAO;AAAA,IACf;AAEA,UAAM,WAAW;AAGjB,SAAK,iBAAiB;AACtB,SAAK,iBAAiB,aAAa;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAyB,aAA4B;AAEnD,QAAI,CAAC,KAAK,eAAe;AACvB,WAAK;AAAA,QAAgB,IAAI,iBAAiB,EACvC,IAAI,EAAE,MAAM,gCAAgC,CAAC,EAC7C,IAAI,qCAAiB,EACrB,IAAI,wDAAoC,EACxC,IAAI,oDAA0C,EAC9C,IAAI,mDAA+B,EACnC,IAAI,0CAA2B,EAC/B,IAAI,+CAA2B;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAkC;AAChC,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}