@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.
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var chunk6X7EYQLS_cjs = require('../chunk-6X7EYQLS.cjs');
4
+ var chunkJXAJQGV5_cjs = require('../chunk-JXAJQGV5.cjs');
5
5
  require('../chunk-NYZD3THB.cjs');
6
- var chunkZ45DHTDX_cjs = require('../chunk-Z45DHTDX.cjs');
6
+ var chunkP2X3AMDK_cjs = require('../chunk-P2X3AMDK.cjs');
7
7
  require('../chunk-OZO7D77N.cjs');
8
8
  var commander = require('commander');
9
9
  var chalk = require('chalk');
@@ -421,12 +421,12 @@ function createChatCommand() {
421
421
  try {
422
422
  let sessionId = options.session;
423
423
  if (options.resume && !sessionId) {
424
- sessionId = await chunk6X7EYQLS_cjs.getLatestSessionId(options.userBasePath);
424
+ sessionId = await chunkJXAJQGV5_cjs.getLatestSessionId(options.userBasePath);
425
425
  if (!sessionId) {
426
426
  console.warn(chalk__default.default.yellow("No saved sessions found; starting a new session."));
427
427
  }
428
428
  }
429
- const mcpResult = chunk6X7EYQLS_cjs.loadMCPConfig(options.mcpConfig, options.cwd || process.cwd(), options.userBasePath);
429
+ const mcpResult = chunkJXAJQGV5_cjs.loadMCPConfig(options.mcpConfig, options.cwd || process.cwd(), options.userBasePath);
430
430
  if (mcpResult.configPath) {
431
431
  console.log(chalk__default.default.gray(`Loaded MCP config from: ${mcpResult.configPath}`));
432
432
  if (mcpResult.servers.length > 0) {
@@ -434,7 +434,7 @@ function createChatCommand() {
434
434
  }
435
435
  }
436
436
  const cwd = options.cwd || process.cwd();
437
- const agent = new chunk6X7EYQLS_cjs.Agent({
437
+ const agent = new chunkJXAJQGV5_cjs.Agent({
438
438
  modelConfig: modelConfigFromOptions(options),
439
439
  cwd,
440
440
  hookConfigDir: cwd,
@@ -451,7 +451,7 @@ function createChatCommand() {
451
451
  const skills = skillRegistry.getUserInvocableSkills();
452
452
  console.log(chalk__default.default.cyan("\u{1F916} Agent SDK Chat"));
453
453
  console.log(chalk__default.default.gray(`Model: ${model.name}`));
454
- console.log(chalk__default.default.gray(`Sessions: ${chunk6X7EYQLS_cjs.getSessionStoragePath(options.userBasePath)}`));
454
+ console.log(chalk__default.default.gray(`Sessions: ${chunkJXAJQGV5_cjs.getSessionStoragePath(options.userBasePath)}`));
455
455
  if (skills.length > 0) {
456
456
  console.log(chalk__default.default.gray(`Skills: ${skills.map((s) => `/${s.name}`).join(", ")}`));
457
457
  }
@@ -592,17 +592,17 @@ function createRunCommand() {
592
592
  try {
593
593
  let sessionId = options.session;
594
594
  if (options.resume && !sessionId) {
595
- sessionId = await chunk6X7EYQLS_cjs.getLatestSessionId(options.userBasePath);
595
+ sessionId = await chunkJXAJQGV5_cjs.getLatestSessionId(options.userBasePath);
596
596
  if (!sessionId) {
597
597
  console.warn(chalk__default.default.yellow("No saved sessions found; starting a new session."));
598
598
  }
599
599
  }
600
- const mcpResult = chunk6X7EYQLS_cjs.loadMCPConfig(options.mcpConfig, options.cwd || process.cwd(), options.userBasePath);
600
+ const mcpResult = chunkJXAJQGV5_cjs.loadMCPConfig(options.mcpConfig, options.cwd || process.cwd(), options.userBasePath);
601
601
  if (mcpResult.configPath) {
602
602
  console.log(chalk__default.default.gray(`Loaded MCP config from: ${mcpResult.configPath}`));
603
603
  }
604
604
  const cwd = options.cwd || process.cwd();
605
- const agent = new chunk6X7EYQLS_cjs.Agent({
605
+ const agent = new chunkJXAJQGV5_cjs.Agent({
606
606
  modelConfig: modelConfigFromOptions(options),
607
607
  cwd,
608
608
  hookConfigDir: cwd,
@@ -646,9 +646,9 @@ ${formatUsage(result.usage)}`);
646
646
  function createToolsCommand() {
647
647
  const command = new commander.Command("tools").description("Manage agent tools");
648
648
  command.command("list").description("List all available tools").option("-f, --format <format>", "Output format (table/json)", "table").option("-c, --category <category>", "Filter by category").action((options) => {
649
- const registry = new chunkZ45DHTDX_cjs.ToolRegistry();
650
- const skillRegistry = chunk6X7EYQLS_cjs.createSkillRegistry();
651
- registry.registerMany(chunkZ45DHTDX_cjs.getAllBuiltinTools(skillRegistry));
649
+ const registry = new chunkP2X3AMDK_cjs.ToolRegistry();
650
+ const skillRegistry = chunkJXAJQGV5_cjs.createSkillRegistry();
651
+ registry.registerMany(chunkP2X3AMDK_cjs.getAllBuiltinTools(skillRegistry));
652
652
  let tools = registry.getAll();
653
653
  if (options.category) {
654
654
  tools = tools.filter(
@@ -683,9 +683,9 @@ Total: ${tools.length} tools`));
683
683
  }
684
684
  });
685
685
  command.command("show <name>").description("Show tool details").action((name) => {
686
- const registry = new chunkZ45DHTDX_cjs.ToolRegistry();
687
- const skillRegistry = chunk6X7EYQLS_cjs.createSkillRegistry();
688
- registry.registerMany(chunkZ45DHTDX_cjs.getAllBuiltinTools(skillRegistry));
686
+ const registry = new chunkP2X3AMDK_cjs.ToolRegistry();
687
+ const skillRegistry = chunkJXAJQGV5_cjs.createSkillRegistry();
688
+ registry.registerMany(chunkP2X3AMDK_cjs.getAllBuiltinTools(skillRegistry));
689
689
  const tool = registry.get(name);
690
690
  if (!tool) {
691
691
  console.error(chalk__default.default.red(`Tool "${name}" not found`));
@@ -704,9 +704,9 @@ Parameters Schema:`);
704
704
  command.command("test <name>").description(
705
705
  "Test a tool with arguments. Note: AskUserQuestion returns formatted text only unless the Agent is configured with askUserQuestion (e.g. CLI TTY)."
706
706
  ).option("-a, --args <json>", "Tool arguments as JSON").action(async (name, options) => {
707
- const registry = new chunkZ45DHTDX_cjs.ToolRegistry();
708
- const skillRegistry = chunk6X7EYQLS_cjs.createSkillRegistry();
709
- registry.registerMany(chunkZ45DHTDX_cjs.getAllBuiltinTools(skillRegistry));
707
+ const registry = new chunkP2X3AMDK_cjs.ToolRegistry();
708
+ const skillRegistry = chunkJXAJQGV5_cjs.createSkillRegistry();
709
+ registry.registerMany(chunkP2X3AMDK_cjs.getAllBuiltinTools(skillRegistry));
710
710
  if (!registry.has(name)) {
711
711
  console.error(chalk__default.default.red(`Tool "${name}" not found`));
712
712
  process.exit(1);
@@ -744,9 +744,9 @@ function createSessionsCommand() {
744
744
  addUserBasePathOption(
745
745
  command.command("list").description("List all sessions").option("-l, --limit <n>", "Limit number of sessions", parseInt, 20).option("-f, --format <format>", "Output format (table/json)", "table")
746
746
  ).action(async (options) => {
747
- const manager = new chunk6X7EYQLS_cjs.SessionManager({
747
+ const manager = new chunkJXAJQGV5_cjs.SessionManager({
748
748
  type: "jsonl",
749
- basePath: chunk6X7EYQLS_cjs.getSessionStoragePath(options.userBasePath)
749
+ basePath: chunkJXAJQGV5_cjs.getSessionStoragePath(options.userBasePath)
750
750
  });
751
751
  const sessions = await manager.listSessions();
752
752
  const limited = sessions.slice(0, options.limit);
@@ -779,9 +779,9 @@ Total: ${sessions.length} sessions`));
779
779
  addUserBasePathOption(
780
780
  command.command("show <id>").description("Show session messages").option("-l, --limit <n>", "Limit number of messages", parseInt, 50)
781
781
  ).action(async (id, options) => {
782
- const manager = new chunk6X7EYQLS_cjs.SessionManager({
782
+ const manager = new chunkJXAJQGV5_cjs.SessionManager({
783
783
  type: "jsonl",
784
- basePath: chunk6X7EYQLS_cjs.getSessionStoragePath(options.userBasePath)
784
+ basePath: chunkJXAJQGV5_cjs.getSessionStoragePath(options.userBasePath)
785
785
  });
786
786
  const exists = await manager.sessionExists(id);
787
787
  if (!exists) {
@@ -804,9 +804,9 @@ Total: ${sessions.length} sessions`));
804
804
  addUserBasePathOption(
805
805
  command.command("delete <id>").description("Delete a session").option("-f, --force", "Skip confirmation")
806
806
  ).action(async (id, options) => {
807
- const manager = new chunk6X7EYQLS_cjs.SessionManager({
807
+ const manager = new chunkJXAJQGV5_cjs.SessionManager({
808
808
  type: "jsonl",
809
- basePath: chunk6X7EYQLS_cjs.getSessionStoragePath(options.userBasePath)
809
+ basePath: chunkJXAJQGV5_cjs.getSessionStoragePath(options.userBasePath)
810
810
  });
811
811
  const exists = await manager.sessionExists(id);
812
812
  if (!exists) {
@@ -834,9 +834,9 @@ Total: ${sessions.length} sessions`));
834
834
  addUserBasePathOption(
835
835
  command.command("clear").description("Delete all sessions").option("-f, --force", "Skip confirmation")
836
836
  ).action(async (options) => {
837
- const manager = new chunk6X7EYQLS_cjs.SessionManager({
837
+ const manager = new chunkJXAJQGV5_cjs.SessionManager({
838
838
  type: "jsonl",
839
- basePath: chunk6X7EYQLS_cjs.getSessionStoragePath(options.userBasePath)
839
+ basePath: chunkJXAJQGV5_cjs.getSessionStoragePath(options.userBasePath)
840
840
  });
841
841
  const sessions = await manager.listSessions();
842
842
  if (sessions.length === 0) {
@@ -870,7 +870,7 @@ function createMCPCommand() {
870
870
  const command = new commander.Command("mcp").description("Manage MCP servers");
871
871
  command.command("connect <command>").description("Connect to an MCP server and list available tools").option("-n, --name <name>", "Server name", "default").option("-a, --args <args>", "Command arguments (comma-separated)").option("-e, --env <env>", "Environment variables (KEY=VALUE,comma-separated)").action(async (cmd, options) => {
872
872
  try {
873
- const adapter = new chunk6X7EYQLS_cjs.MCPAdapter();
873
+ const adapter = new chunkJXAJQGV5_cjs.MCPAdapter();
874
874
  const args = options.args ? options.args.split(",") : [];
875
875
  const env = {};
876
876
  if (options.env) {
@@ -916,7 +916,7 @@ function createMCPCommand() {
916
916
  var isMainModule = process.argv[1]?.endsWith("cli/index.js") || process.argv[1]?.endsWith("cli\\index.js") || process.argv[1]?.includes("agent-sdk");
917
917
  if (isMainModule) {
918
918
  const program = new commander.Command();
919
- program.name("agent-sdk").description("A TypeScript Agent SDK with multi-model support, MCP integration, and streaming").version(chunk6X7EYQLS_cjs.PACKAGE_VERSION);
919
+ program.name("agent-sdk").description("A TypeScript Agent SDK with multi-model support, MCP integration, and streaming").version(chunkJXAJQGV5_cjs.PACKAGE_VERSION);
920
920
  program.addCommand(createChatCommand());
921
921
  program.addCommand(createRunCommand());
922
922
  program.addCommand(createToolsCommand());
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { PACKAGE_VERSION, getLatestSessionId, loadMCPConfig, Agent, getSessionStoragePath, createSkillRegistry, SessionManager, MCPAdapter } from '../chunk-EQ5CXH44.js';
2
+ import { PACKAGE_VERSION, getLatestSessionId, loadMCPConfig, Agent, getSessionStoragePath, createSkillRegistry, SessionManager, MCPAdapter } from '../chunk-UHENMHUS.js';
3
3
  import '../chunk-D3UZNLZO.js';
4
- import { ToolRegistry, getAllBuiltinTools } from '../chunk-MEJHTQJM.js';
4
+ import { ToolRegistry, getAllBuiltinTools } from '../chunk-TKUPLTGJ.js';
5
5
  import '../chunk-LOYIGOBZ.js';
6
6
  import { Command } from 'commander';
7
7
  import chalk from 'chalk';
@@ -1,4 +1,4 @@
1
- import { aq as ToolExecutionPolicy, as as ToolHookObserver, R as HookManager, d as ToolDefinition, T as ToolResult, ax as ToolSchema, ab as SkillDefinition, aa as SkillConfig, W as HooksSettings, ao as ToolExecutionContext, H as CreateAskUserQuestionToolOptions } from './types-CWPAYWzr.js';
1
+ import { aq as ToolExecutionPolicy, as as ToolHookObserver, R as HookManager, d as ToolDefinition, T as ToolResult, ax as ToolSchema, ab as SkillDefinition, aa as SkillConfig, W as HooksSettings, ao as ToolExecutionContext, H as CreateAskUserQuestionToolOptions } from './types-BUwjMwNH.js';
2
2
  import { z } from 'zod';
3
3
 
4
4
  /**
@@ -391,6 +391,29 @@ declare function createSkillTool(skillRegistry: SkillRegistry): ToolDefinition;
391
391
  */
392
392
  declare function getSkillTools(skillRegistry: SkillRegistry): ToolDefinition[];
393
393
 
394
+ /**
395
+ * Built-in subagent type profiles: system prompt fragments and explore default tools.
396
+ */
397
+ /** Values must stay in sync with `subagentRequestSchema.subagent_type` in subagent.ts. */
398
+ declare const SUBAGENT_TYPES: readonly ["general-purpose", "explore"];
399
+ type SubagentType = (typeof SUBAGENT_TYPES)[number];
400
+ /**
401
+ * Default tool names for `explore` when the caller did not set `allowed_tools` or `subagent.defaultAllowedTools`.
402
+ * Matched against the parent registry (unknown names are ignored).
403
+ */
404
+ declare const SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES: readonly string[];
405
+ /**
406
+ * Error text when `explore` used the default name list but none matched the parent registry (single source of truth with {@link SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES}).
407
+ */
408
+ declare function subagentExploreDefaultsUnavailableMessage(): string;
409
+ /**
410
+ * Resolves the system prompt fragment appended for a subagent run (before `request.system_prompt`).
411
+ * `subagent.subagentTypePrompts[type]` replaces the built-in fragment for that type when provided.
412
+ */
413
+ declare function resolveSubagentTypeAppend(type: SubagentType, subagent?: {
414
+ subagentTypePrompts?: Partial<Record<SubagentType, string>>;
415
+ }): string | undefined;
416
+
394
417
  declare const subagentRequestSchema: z.ZodObject<{
395
418
  prompt: z.ZodString;
396
419
  description: z.ZodOptional<z.ZodString>;
@@ -430,4 +453,4 @@ declare function getAllBuiltinTools(skillRegistry: SkillRegistry, interactionOpt
430
453
  */
431
454
  declare function getSafeBuiltinTools(skillRegistry: SkillRegistry, interactionOptions?: CreateAskUserQuestionToolOptions): ToolDefinition[];
432
455
 
433
- export { loadHooksSettingsFromProject as A, loadHooksSettingsFromUser as B, type CreateAgentToolOptions as C, DEFAULT_GREP_HEAD_LIMIT as D, parseHooksSettingsFile as E, readFileTool as F, subagentRequestSchema as G, todoWriteTool as H, truncateMatchLineForDisplay as I, webFetchTool as J, webSearchTool as K, writeFileTool as L, MAX_LINE_LENGTH as M, SkillRegistry as S, ToolRegistry as T, SkillLoader as a, type SkillLoaderConfig as b, type SubagentRequest as c, type SubagentRunner as d, type ToolExecuteOptions as e, type ToolRegistryConfig as f, agentTool as g, bashTool as h, createAgentTool as i, createSkillLoader as j, createSkillRegistry as k, createSkillTool as l, createTool as m, editTool as n, getAllBuiltinTools as o, getFileSystemTools as p, getGlobalRegistry as q, getGrepTools as r, getPlanningTools as s, getSafeBuiltinTools as t, getShellTools as u, getSkillTools as v, getSubagentTools as w, getWebTools as x, globTool as y, grepTool as z };
456
+ export { getWebTools as A, globTool as B, type CreateAgentToolOptions as C, DEFAULT_GREP_HEAD_LIMIT as D, grepTool as E, loadHooksSettingsFromProject as F, loadHooksSettingsFromUser as G, parseHooksSettingsFile as H, readFileTool as I, resolveSubagentTypeAppend as J, subagentExploreDefaultsUnavailableMessage as K, subagentRequestSchema as L, MAX_LINE_LENGTH as M, todoWriteTool as N, truncateMatchLineForDisplay as O, webFetchTool as P, webSearchTool as Q, writeFileTool as R, SkillRegistry as S, ToolRegistry as T, SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES as a, SUBAGENT_TYPES as b, SkillLoader as c, type SkillLoaderConfig as d, type SubagentRequest as e, type SubagentRunner as f, type SubagentType as g, type ToolExecuteOptions as h, type ToolRegistryConfig as i, agentTool as j, bashTool as k, createAgentTool as l, createSkillLoader as m, createSkillRegistry as n, createSkillTool as o, createTool as p, editTool as q, getAllBuiltinTools as r, getFileSystemTools as s, getGlobalRegistry as t, getGrepTools as u, getPlanningTools as v, getSafeBuiltinTools as w, getShellTools as x, getSkillTools as y, getSubagentTools as z };
@@ -1,4 +1,4 @@
1
- import { aq as ToolExecutionPolicy, as as ToolHookObserver, R as HookManager, d as ToolDefinition, T as ToolResult, ax as ToolSchema, ab as SkillDefinition, aa as SkillConfig, W as HooksSettings, ao as ToolExecutionContext, H as CreateAskUserQuestionToolOptions } from './types-CWPAYWzr.cjs';
1
+ import { aq as ToolExecutionPolicy, as as ToolHookObserver, R as HookManager, d as ToolDefinition, T as ToolResult, ax as ToolSchema, ab as SkillDefinition, aa as SkillConfig, W as HooksSettings, ao as ToolExecutionContext, H as CreateAskUserQuestionToolOptions } from './types-BUwjMwNH.cjs';
2
2
  import { z } from 'zod';
3
3
 
4
4
  /**
@@ -391,6 +391,29 @@ declare function createSkillTool(skillRegistry: SkillRegistry): ToolDefinition;
391
391
  */
392
392
  declare function getSkillTools(skillRegistry: SkillRegistry): ToolDefinition[];
393
393
 
394
+ /**
395
+ * Built-in subagent type profiles: system prompt fragments and explore default tools.
396
+ */
397
+ /** Values must stay in sync with `subagentRequestSchema.subagent_type` in subagent.ts. */
398
+ declare const SUBAGENT_TYPES: readonly ["general-purpose", "explore"];
399
+ type SubagentType = (typeof SUBAGENT_TYPES)[number];
400
+ /**
401
+ * Default tool names for `explore` when the caller did not set `allowed_tools` or `subagent.defaultAllowedTools`.
402
+ * Matched against the parent registry (unknown names are ignored).
403
+ */
404
+ declare const SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES: readonly string[];
405
+ /**
406
+ * Error text when `explore` used the default name list but none matched the parent registry (single source of truth with {@link SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES}).
407
+ */
408
+ declare function subagentExploreDefaultsUnavailableMessage(): string;
409
+ /**
410
+ * Resolves the system prompt fragment appended for a subagent run (before `request.system_prompt`).
411
+ * `subagent.subagentTypePrompts[type]` replaces the built-in fragment for that type when provided.
412
+ */
413
+ declare function resolveSubagentTypeAppend(type: SubagentType, subagent?: {
414
+ subagentTypePrompts?: Partial<Record<SubagentType, string>>;
415
+ }): string | undefined;
416
+
394
417
  declare const subagentRequestSchema: z.ZodObject<{
395
418
  prompt: z.ZodString;
396
419
  description: z.ZodOptional<z.ZodString>;
@@ -430,4 +453,4 @@ declare function getAllBuiltinTools(skillRegistry: SkillRegistry, interactionOpt
430
453
  */
431
454
  declare function getSafeBuiltinTools(skillRegistry: SkillRegistry, interactionOptions?: CreateAskUserQuestionToolOptions): ToolDefinition[];
432
455
 
433
- export { loadHooksSettingsFromProject as A, loadHooksSettingsFromUser as B, type CreateAgentToolOptions as C, DEFAULT_GREP_HEAD_LIMIT as D, parseHooksSettingsFile as E, readFileTool as F, subagentRequestSchema as G, todoWriteTool as H, truncateMatchLineForDisplay as I, webFetchTool as J, webSearchTool as K, writeFileTool as L, MAX_LINE_LENGTH as M, SkillRegistry as S, ToolRegistry as T, SkillLoader as a, type SkillLoaderConfig as b, type SubagentRequest as c, type SubagentRunner as d, type ToolExecuteOptions as e, type ToolRegistryConfig as f, agentTool as g, bashTool as h, createAgentTool as i, createSkillLoader as j, createSkillRegistry as k, createSkillTool as l, createTool as m, editTool as n, getAllBuiltinTools as o, getFileSystemTools as p, getGlobalRegistry as q, getGrepTools as r, getPlanningTools as s, getSafeBuiltinTools as t, getShellTools as u, getSkillTools as v, getSubagentTools as w, getWebTools as x, globTool as y, grepTool as z };
456
+ export { getWebTools as A, globTool as B, type CreateAgentToolOptions as C, DEFAULT_GREP_HEAD_LIMIT as D, grepTool as E, loadHooksSettingsFromProject as F, loadHooksSettingsFromUser as G, parseHooksSettingsFile as H, readFileTool as I, resolveSubagentTypeAppend as J, subagentExploreDefaultsUnavailableMessage as K, subagentRequestSchema as L, MAX_LINE_LENGTH as M, todoWriteTool as N, truncateMatchLineForDisplay as O, webFetchTool as P, webSearchTool as Q, writeFileTool as R, SkillRegistry as S, ToolRegistry as T, SUBAGENT_EXPLORE_DEFAULT_TOOL_NAMES as a, SUBAGENT_TYPES as b, SkillLoader as c, type SkillLoaderConfig as d, type SubagentRequest as e, type SubagentRunner as f, type SubagentType as g, type ToolExecuteOptions as h, type ToolRegistryConfig as i, agentTool as j, bashTool as k, createAgentTool as l, createSkillLoader as m, createSkillRegistry as n, createSkillTool as o, createTool as p, editTool as q, getAllBuiltinTools as r, getFileSystemTools as s, getGlobalRegistry as t, getGrepTools as u, getPlanningTools as v, getSafeBuiltinTools as w, getShellTools as x, getSkillTools as y, getSubagentTools as z };