dexto 1.10.3 → 1.11.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.
@@ -148,7 +148,7 @@ tools:
148
148
  - type: builtin-tools
149
149
  enabledTools:
150
150
  - ask_user # Ask questions and collect input
151
- - invoke_skill # Invoke skills/prompts during execution
151
+ - skill_load # Load a skill's instructions or supporting file during execution
152
152
  - http_request # Fetch web pages and APIs
153
153
  - web_search # Web search via Exa MCP (internal tool)
154
154
  - code_search # Code/context search via Exa MCP (internal tool)
@@ -238,11 +238,11 @@ resources:
238
238
 
239
239
  # Prompts - coding-focused examples shown as clickable buttons in WebUI
240
240
  prompts:
241
- # Skills - can be invoked by the LLM via invoke_skill tool
241
+ # Skills - can be loaded by the LLM via the skill_load tool
242
242
  - type: file
243
243
  file: "${{dexto.agent_dir}}/skills/code-review.md"
244
244
  # user-invocable: true (default) - appears as /code-review slash command
245
- # disable-model-invocation: false (default) - LLM can invoke via invoke_skill
245
+ # disable-model-invocation: false (default) - LLM can load via skill_load
246
246
  - type: inline
247
247
  id: analyze-codebase
248
248
  title: "🔍 Analyze Codebase"
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as p from '@clack/prompts';
2
- import { createDextoAgentFromConfig, deriveDisplayName, findProjectRegistryPath as findSharedProjectRegistryPath, getPrimaryApiKeyEnvVar, getProjectRegistryPath as getCanonicalProjectRegistryPath, ProjectRegistrySchema, readProjectRegistry as readSharedProjectRegistry, writeConfigFile, } from '@dexto/agent-management';
2
+ import { createDextoAgentFromConfig, deriveDisplayName, discoverStandaloneSkills, findProjectRegistryPath as findSharedProjectRegistryPath, getPrimaryApiKeyEnvVar, getProjectRegistryPath as getCanonicalProjectRegistryPath, ProjectRegistrySchema, readProjectRegistry as readSharedProjectRegistry, writeConfigFile, } from '@dexto/agent-management';
3
3
  import chalk from 'chalk';
4
4
  import { spawn } from 'node:child_process';
5
5
  import { promises as fs } from 'node:fs';
@@ -13,7 +13,7 @@ import { discoverPrimaryWorkspaceAgent } from './deploy/entry-agent.js';
13
13
  import { confirmOrExit, multiselectOrExit, selectOrExit, textOrExit, } from '../utils/prompt-helpers.js';
14
14
  import { ensureImageImporterConfigured } from '../utils/image-importer.js';
15
15
  const AGENTS_FILENAME = 'AGENTS.md';
16
- const WORKSPACE_DIRECTORIES = ['agents', 'skills'];
16
+ const WORKSPACE_DIRECTORIES = ['agents', path.join('.agents', 'skills')];
17
17
  const SKILL_RESOURCE_DIRECTORIES = ['handlers', 'scripts', 'mcps', 'references'];
18
18
  const STARTER_SKILL_ID = 'create-skill';
19
19
  const STARTER_SKILL_IDS = [STARTER_SKILL_ID];
@@ -27,7 +27,8 @@ This workspace can define project-specific agents and skills.
27
27
 
28
28
  ## Structure
29
29
  - Put custom agents and subagents in \`agents/\`
30
- - Put custom skills in \`skills/<skill-id>/\`
30
+ - Put custom skills in \`.agents/skills/<skill-id>/\`
31
+ - Existing \`skills/\` and \`.dexto/skills/\` bundles remain discoverable for compatibility; create new skills under \`.agents/skills/\`
31
32
  - Each skill bundle should keep \`SKILL.md\` plus optional \`handlers/\`, \`scripts/\`, \`mcps/\`, and \`references/\`
32
33
  - Use \`.dexto/\` only for Dexto-managed state and installed assets
33
34
 
@@ -38,7 +39,7 @@ This workspace can define project-specific agents and skills.
38
39
  const CORE_AGENT_TOOL_ENTRIES = [
39
40
  {
40
41
  type: 'builtin-tools',
41
- enabledTools: ['ask_user', 'invoke_skill', 'sleep'],
42
+ enabledTools: ['ask_user', 'skill_load', 'sleep'],
42
43
  },
43
44
  ];
44
45
  const ALWAYS_ENABLED_AGENT_TOOL_ENTRIES = [
@@ -800,7 +801,7 @@ async function resolveInitAgentInput(agentIdInput, options, workspaceRoot) {
800
801
  `${chalk.cyan('Workspace role:')} ${roleSummary}`,
801
802
  `${chalk.cyan('System prompt:')} ${promptResult.mode === 'generate' ? 'Generated from description' : 'Custom'}`,
802
803
  `${chalk.cyan('Tool bundles:')} ${formatBundleSelection(bundleIds)}`,
803
- `${chalk.cyan('Core utilities:')} ask_user, invoke_skill, sleep`,
804
+ `${chalk.cyan('Core utilities:')} ask_user, skill_load, sleep`,
804
805
  `${chalk.cyan('Agent creation:')} enabled by default`,
805
806
  ].join('\n'), 'Agent Summary');
806
807
  const confirmed = await confirmOrExit({
@@ -866,7 +867,7 @@ description: "Create or update Dexto skill bundles with SKILL.md, handlers, scri
866
867
 
867
868
  # Create Skill
868
869
 
869
- Create or update standalone Dexto skill bundles. Treat \`skills/<id>/\` as the canonical workspace location unless the user explicitly asks for a global skill.
870
+ Create or update standalone Dexto skill bundles. Treat \`.agents/skills/<id>/\` as the canonical workspace location unless the user explicitly asks for a global skill.
870
871
 
871
872
  ## Core Flow
872
873
  1. Search for overlap first with \`skill_list\` and \`skill_search\`.
@@ -879,7 +880,7 @@ Create or update standalone Dexto skill bundles. Treat \`skills/<id>/\` as the c
879
880
  - \`handlers/\` for reusable workflow logic or structured helper code
880
881
  - \`mcps/\` for inert MCP-related reference/config files
881
882
  6. Prefer extending existing skills or references over duplicating content.
882
- 7. If you edit \`SKILL.md\` or bundled files with non-creator tools, run \`skill_refresh\` before relying on the skill in the current session.
883
+ 7. If you edit \`SKILL.md\` or bundled files with non-creator tools, use \`skill_load\` to reread the current Skill before relying on it in the current session.
883
884
  8. Creating \`mcps/*.json\` only creates inert bundled files. Configure runtime MCP servers through normal MCP configuration paths.
884
885
 
885
886
  ## Authoring Rules
@@ -888,7 +889,7 @@ Create or update standalone Dexto skill bundles. Treat \`skills/<id>/\` as the c
888
889
  - Use \`references/\` sparingly for larger copied docs, external references, schemas, examples, or policies.
889
890
  - Keep references one level deep from \`SKILL.md\` and link them explicitly.
890
891
  - Reuse language and conventions from nearby skills when possible.
891
- - If you update bundled resources outside creator tools, run \`skill_refresh\` so the current session reloads the latest skill content before invoking it.
892
+ - If you update bundled resources outside creator tools, use \`skill_load\` so the current session reads the latest skill content before invoking it.
892
893
 
893
894
  ## SKILL.md Structure
894
895
  - \`# <Title>\`
@@ -907,7 +908,7 @@ function buildCreateSkillStarterReference() {
907
908
 
908
909
  ## Canonical Layout
909
910
  \`\`\`
910
- skills/<skill-id>/
911
+ .agents/skills/<skill-id>/
911
912
  ├── SKILL.md
912
913
  ├── handlers/
913
914
  ├── scripts/
@@ -934,7 +935,7 @@ skills/<skill-id>/
934
935
  - Files under \`mcps/\` are bundled content only.
935
936
  - Skills do not register or connect MCP servers from \`mcps/\`.
936
937
  - Configure runtime MCP servers through normal agent MCP configuration paths.
937
- - Run \`skill_refresh\` after editing bundled files so the running session reloads the latest skill content.
938
+ - The \`skill_load\` tool rereads the current skill files, so no refresh step is required after editing bundled files.
938
939
  `;
939
940
  }
940
941
  function buildCreateSkillMcpReference() {
@@ -1031,7 +1032,7 @@ await server.connect(transport);
1031
1032
 
1032
1033
  ## Verification Sequence
1033
1034
  1. Create or update \`SKILL.md\`, \`scripts/\`, and any inert \`mcps/\` reference files.
1034
- 2. Run \`skill_refresh\` after non-creator file edits.
1035
+ 2. Use \`skill_load\` to reread the current Skill after non-creator file edits.
1035
1036
  3. Invoke the skill in the current session and confirm the updated instructions load.
1036
1037
  4. Configure and verify runtime MCP servers separately through normal MCP configuration paths.
1037
1038
 
@@ -1196,7 +1197,7 @@ export async function createWorkspaceAgentScaffold(agentIdInput, options = {}, w
1196
1197
  export async function createWorkspaceSkillScaffold(skillIdInput, workspaceRoot = process.cwd()) {
1197
1198
  const skillId = normalizeScaffoldId(skillIdInput, 'skill');
1198
1199
  const workspace = await createWorkspaceScaffold(workspaceRoot);
1199
- const skillDirPath = path.join(workspace.root, 'skills', skillId);
1200
+ const skillDirPath = path.join(workspace.root, '.agents', 'skills', skillId);
1200
1201
  const skillFilePath = path.join(skillDirPath, 'SKILL.md');
1201
1202
  const resourceDirectories = [];
1202
1203
  const extraFiles = [];
@@ -1329,36 +1330,10 @@ function formatSkillPaths(result) {
1329
1330
  return createdPaths;
1330
1331
  }
1331
1332
  async function listWorkspaceSkillIds(workspaceRoot) {
1332
- const skillsRoot = path.join(workspaceRoot, 'skills');
1333
- try {
1334
- const entries = await fs.readdir(skillsRoot, { withFileTypes: true });
1335
- const skillIds = [];
1336
- for (const entry of entries) {
1337
- if (!entry.isDirectory()) {
1338
- continue;
1339
- }
1340
- const skillFilePath = path.join(skillsRoot, entry.name, 'SKILL.md');
1341
- try {
1342
- const stat = await fs.stat(skillFilePath);
1343
- if (stat.isFile()) {
1344
- skillIds.push(entry.name);
1345
- }
1346
- }
1347
- catch (error) {
1348
- if (error.code === 'ENOENT') {
1349
- continue;
1350
- }
1351
- throw error;
1352
- }
1353
- }
1354
- return skillIds.sort((left, right) => left.localeCompare(right));
1355
- }
1356
- catch (error) {
1357
- if (error.code === 'ENOENT') {
1358
- return [];
1359
- }
1360
- throw error;
1361
- }
1333
+ return discoverStandaloneSkills(workspaceRoot)
1334
+ .filter((skill) => skill.source === 'project')
1335
+ .map((skill) => skill.name)
1336
+ .sort((left, right) => left.localeCompare(right));
1362
1337
  }
1363
1338
  function describeEffectiveDeployAgent(input) {
1364
1339
  if (input.deployConfig) {
@@ -1377,7 +1352,7 @@ export async function inspectWorkspaceStatus(workspaceRoot = process.cwd()) {
1377
1352
  await ensureWorkspaceRoot(root);
1378
1353
  const agentsFilePresent = (await getExistingEntryType(path.join(root, AGENTS_FILENAME))) === 'file';
1379
1354
  const agentsDirectoryPresent = (await getExistingEntryType(path.join(root, 'agents'))) === 'directory';
1380
- const skillsDirectoryPresent = (await getExistingEntryType(path.join(root, 'skills'))) === 'directory';
1355
+ const skillsDirectoryPresent = (await getExistingEntryType(path.join(root, '.agents', 'skills'))) === 'directory';
1381
1356
  const registryPath = await findSharedProjectRegistryPath(root);
1382
1357
  const registry = registryPath ? await readSharedProjectRegistry(registryPath) : null;
1383
1358
  const primaryAgentId = registry ? getEffectiveWorkspacePrimaryAgentId(registry) : null;
@@ -1416,7 +1391,7 @@ function formatWorkspaceStatus(result) {
1416
1391
  `Workspace: ${result.workspaceRoot}`,
1417
1392
  `AGENTS.md: ${result.agentsFilePresent ? 'present' : 'missing'}`,
1418
1393
  `agents/: ${result.agentsDirectoryPresent ? 'present' : 'missing'}`,
1419
- `skills/: ${result.skillsDirectoryPresent ? 'present' : 'missing'}`,
1394
+ `.agents/skills/: ${result.skillsDirectoryPresent ? 'present' : 'missing'}`,
1420
1395
  `Registry: ${result.registryPath ? path.relative(result.workspaceRoot, result.registryPath) : 'none'}`,
1421
1396
  `Primary agent: ${result.primaryAgentId ?? 'none (global default used locally)'}`,
1422
1397
  `Allow global agents: ${result.allowGlobalAgents === null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dexto",
3
- "version": "1.10.3",
3
+ "version": "1.11.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "dexto": "./dist/index.js"
@@ -34,18 +34,18 @@
34
34
  "ws": "^8.18.1",
35
35
  "yaml": "^2.8.3",
36
36
  "zod": "^4.3.6",
37
- "@dexto/agent-config": "1.10.3",
38
- "@dexto/agent-management": "1.10.3",
39
- "@dexto/analytics": "1.10.3",
40
- "@dexto/client-sdk": "1.10.3",
41
- "@dexto/core": "1.10.3",
42
- "@dexto/image-local": "1.10.3",
43
- "@dexto/image-logger-agent": "1.10.3",
44
- "@dexto/llm": "1.10.3",
45
- "@dexto/registry": "1.10.3",
46
- "@dexto/server": "1.10.3",
47
- "@dexto/storage": "1.10.3",
48
- "@dexto/tui": "1.10.3"
37
+ "@dexto/agent-config": "1.11.0",
38
+ "@dexto/agent-management": "1.11.0",
39
+ "@dexto/analytics": "1.11.0",
40
+ "@dexto/client-sdk": "1.11.0",
41
+ "@dexto/core": "1.11.0",
42
+ "@dexto/image-local": "1.11.0",
43
+ "@dexto/image-logger-agent": "1.11.0",
44
+ "@dexto/llm": "1.11.0",
45
+ "@dexto/registry": "1.11.0",
46
+ "@dexto/server": "1.11.0",
47
+ "@dexto/storage": "1.11.0",
48
+ "@dexto/tui": "1.11.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/ws": "^8.5.11",