@ddlqhd/agent-sdk 0.2.0 → 0.2.1

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/README.md CHANGED
@@ -33,10 +33,11 @@ pnpm add @ddlqhd/agent-sdk zod
33
33
 
34
34
  ## Documentation
35
35
 
36
- Factual guides and API references live under **`docs/`** (single source of truth). Start here:
36
+ Factual guides and API references live under **`docs/`** (single source of truth). For a **goal-oriented index** (Chinese), see [`docs/README.md`](docs/README.md). Start here:
37
37
 
38
38
  | Topic | Document |
39
39
  |--------|----------|
40
+ | Docs hub (goal-oriented index, Chinese) | [`docs/README.md`](docs/README.md) |
40
41
  | Overview, export boundaries, integration rules | [`docs/sdk-overview.md`](docs/sdk-overview.md) |
41
42
  | Quick start | [`docs/sdk-quickstart.md`](docs/sdk-quickstart.md) |
42
43
  | Agent loop (`iteration`, tool cycles) | [`docs/sdk-agent-loop.md`](docs/sdk-agent-loop.md) |
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkNYZD3THB_cjs = require('./chunk-NYZD3THB.cjs');
5
- var chunkZ45DHTDX_cjs = require('./chunk-Z45DHTDX.cjs');
5
+ var chunkP2X3AMDK_cjs = require('./chunk-P2X3AMDK.cjs');
6
6
  var fs = require('fs');
7
7
  var path = require('path');
8
8
  var url = require('url');
@@ -16,7 +16,7 @@ var child_process = require('child_process');
16
16
  var util = require('util');
17
17
 
18
18
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
19
- var pkgDir = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-6X7EYQLS.cjs', document.baseURI).href))));
19
+ var pkgDir = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-JXAJQGV5.cjs', document.baseURI).href))));
20
20
  var pkgPath = path.join(pkgDir, "..", "package.json");
21
21
  var PACKAGE_VERSION = JSON.parse(fs.readFileSync(pkgPath, "utf-8")).version;
22
22
 
@@ -2007,7 +2007,7 @@ var Agent = class _Agent {
2007
2007
  cwd: this.config.cwd,
2008
2008
  userBasePath: this.config.userBasePath
2009
2009
  });
2010
- this.toolRegistry = new chunkZ45DHTDX_cjs.ToolRegistry({
2010
+ this.toolRegistry = new chunkP2X3AMDK_cjs.ToolRegistry({
2011
2011
  executionPolicy: {
2012
2012
  disallowedTools: this.config.disallowedTools,
2013
2013
  allowedTools: this.config.allowedTools,
@@ -2021,7 +2021,7 @@ var Agent = class _Agent {
2021
2021
  if (this.toolRegistry.has("Agent")) {
2022
2022
  this.toolRegistry.unregister("Agent");
2023
2023
  }
2024
- this.toolRegistry.register(chunkZ45DHTDX_cjs.createAgentTool({
2024
+ this.toolRegistry.register(chunkP2X3AMDK_cjs.createAgentTool({
2025
2025
  runner: (request, context) => this.runSubagent(request, context)
2026
2026
  }));
2027
2027
  } else if (this.toolRegistry.has("Agent")) {
@@ -2030,7 +2030,7 @@ var Agent = class _Agent {
2030
2030
  if (this.config.hookManager) {
2031
2031
  this.toolRegistry.setHookManager(this.config.hookManager);
2032
2032
  } else if (this.config.hookConfigDir !== void 0) {
2033
- const hm = chunkZ45DHTDX_cjs.HookManager.create();
2033
+ const hm = chunkP2X3AMDK_cjs.HookManager.create();
2034
2034
  this.toolRegistry.setHookManager(hm);
2035
2035
  this.hookDiscoverPromise = hm.discoverAndLoad(this.config.hookConfigDir);
2036
2036
  }
@@ -2074,7 +2074,7 @@ var Agent = class _Agent {
2074
2074
  }
2075
2075
  return;
2076
2076
  }
2077
- const builtins = chunkZ45DHTDX_cjs.getAllBuiltinTools(this.skillRegistry, {
2077
+ const builtins = chunkP2X3AMDK_cjs.getAllBuiltinTools(this.skillRegistry, {
2078
2078
  resolve: this.config.askUserQuestion
2079
2079
  }).filter((t) => !this.toolRegistry.isDisallowed(t.name));
2080
2080
  this.toolRegistry.registerMany(builtins);
@@ -2244,8 +2244,8 @@ var Agent = class _Agent {
2244
2244
  let envSection = "";
2245
2245
  if (shouldIncludeEnv) {
2246
2246
  const cwd = this.config.cwd || process.cwd();
2247
- const envInfo = chunkZ45DHTDX_cjs.getEnvironmentInfo(cwd);
2248
- envSection = chunkZ45DHTDX_cjs.formatEnvironmentSection(envInfo);
2247
+ const envInfo = chunkP2X3AMDK_cjs.getEnvironmentInfo(cwd);
2248
+ envSection = chunkP2X3AMDK_cjs.formatEnvironmentSection(envInfo);
2249
2249
  }
2250
2250
  if (!customPrompt) {
2251
2251
  let basePrompt = DEFAULT_SYSTEM_PROMPT;
@@ -3124,12 +3124,20 @@ ${additionalContent}`;
3124
3124
  defaultAllowedTools: this.config.subagent?.defaultAllowedTools
3125
3125
  };
3126
3126
  }
3127
- resolveSubagentTools(request) {
3127
+ resolveSubagentTools(request, subagentType) {
3128
3128
  const subagentConfig = this.getSubagentConfig();
3129
3129
  const parentTools = this.toolRegistry.getAll();
3130
3130
  const byName = new Map(parentTools.map((tool) => [tool.name, tool]));
3131
- const requestedNames = request.allowed_tools ?? subagentConfig.defaultAllowedTools;
3131
+ let requestedNames = request.allowed_tools ?? subagentConfig.defaultAllowedTools;
3132
+ let usedExploreDefaultNames = false;
3133
+ if (requestedNames === void 0 && subagentType === "explore") {
3134
+ requestedNames = [...chunkP2X3AMDK_cjs.SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES];
3135
+ usedExploreDefaultNames = true;
3136
+ }
3132
3137
  let selected = requestedNames ? requestedNames.map((name) => byName.get(name)).filter((tool) => tool !== void 0) : parentTools.filter((tool) => !tool.isDangerous);
3138
+ if (usedExploreDefaultNames && selected.length === 0) {
3139
+ return { error: chunkP2X3AMDK_cjs.subagentExploreDefaultsUnavailableMessage() };
3140
+ }
3133
3141
  selected = selected.filter((tool) => tool.name !== "Agent");
3134
3142
  selected = selected.filter((tool) => tool.name !== "AskUserQuestion");
3135
3143
  if (!subagentConfig.allowDangerousTools) {
@@ -3165,7 +3173,7 @@ ${additionalContent}`;
3165
3173
  1,
3166
3174
  request.max_iterations ?? this.config.maxIterations ?? DEFAULT_MAX_ITERATIONS
3167
3175
  );
3168
- const resolved = this.resolveSubagentTools(request);
3176
+ const resolved = this.resolveSubagentTools(request, normalizedType);
3169
3177
  if (!resolved.tools) {
3170
3178
  return {
3171
3179
  content: resolved.error ?? "Unable to resolve subagent tools",
@@ -3189,8 +3197,10 @@ ${additionalContent}`;
3189
3197
  this.activeSubagentRuns += 1;
3190
3198
  try {
3191
3199
  await child.waitForInit();
3200
+ const typeAppend = chunkP2X3AMDK_cjs.resolveSubagentTypeAppend(normalizedType, this.config.subagent);
3201
+ const mergedSystem = [typeAppend, request.system_prompt].filter((s) => typeof s === "string" && s.trim().length > 0).join("\n\n");
3192
3202
  const runPromise = child.run(request.prompt, {
3193
- systemPrompt: request.system_prompt
3203
+ systemPrompt: mergedSystem || void 0
3194
3204
  });
3195
3205
  const timeoutPromise = new Promise((_, reject) => {
3196
3206
  const timer = setTimeout(() => {
@@ -3544,5 +3554,5 @@ exports.isModelStreamEventType = isModelStreamEventType;
3544
3554
  exports.loadMCPConfig = loadMCPConfig;
3545
3555
  exports.parseSkillMd = parseSkillMd;
3546
3556
  exports.validateMCPConfig = validateMCPConfig;
3547
- //# sourceMappingURL=chunk-6X7EYQLS.cjs.map
3548
- //# sourceMappingURL=chunk-6X7EYQLS.cjs.map
3557
+ //# sourceMappingURL=chunk-JXAJQGV5.cjs.map
3558
+ //# sourceMappingURL=chunk-JXAJQGV5.cjs.map