thoth-agents 0.3.1 → 0.3.2

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.
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "thoth-agents",
11
11
  "description": "Adaptive root orchestration, six specialist subagents, and a runtime-autonomous Spec Kit-compatible SDD bundle.",
12
- "version": "0.3.1",
12
+ "version": "0.3.2",
13
13
  "author": {
14
14
  "name": "thoth-agents maintainers"
15
15
  },
@@ -2478,6 +2478,19 @@ import { spawnSync as spawnSync2 } from "child_process";
2478
2478
  import { existsSync as existsSync6 } from "fs";
2479
2479
  import { homedir as homedir2 } from "os";
2480
2480
  import { join as join3 } from "path";
2481
+
2482
+ // src/cli/npx-command.ts
2483
+ function getNpxCommand(args, options = {}) {
2484
+ if ((options.platform ?? process.platform) !== "win32") {
2485
+ return { command: "npx", args: [...args] };
2486
+ }
2487
+ return {
2488
+ command: options.commandShell ?? process.env.ComSpec ?? "cmd.exe",
2489
+ args: ["/d", "/s", "/c", "npx.cmd", ...args]
2490
+ };
2491
+ }
2492
+
2493
+ // src/cli/skills.ts
2481
2494
  var SKILLS_CLI_AGENT = {
2482
2495
  opencode: "opencode",
2483
2496
  codex: "codex",
@@ -2525,10 +2538,10 @@ function getRequiredSkillPath(skill, harness, homeDir = homedir2()) {
2525
2538
  function isRequiredSkillInstalled(skill, harness, options = {}) {
2526
2539
  return existsSync6(getRequiredSkillPath(skill, harness, options.homeDir));
2527
2540
  }
2528
- function getRequiredSkillInstallCommand(skill, harness) {
2529
- return {
2530
- command: "npx",
2531
- args: [
2541
+ function getRequiredSkillInstallCommand(skill, harness, options = {}) {
2542
+ return getNpxCommand(
2543
+ [
2544
+ "--yes",
2532
2545
  "skills",
2533
2546
  "add",
2534
2547
  skill.repo,
@@ -2538,15 +2551,20 @@ function getRequiredSkillInstallCommand(skill, harness) {
2538
2551
  "--agent",
2539
2552
  SKILLS_CLI_AGENT[harness],
2540
2553
  "--yes"
2541
- ]
2542
- };
2554
+ ],
2555
+ options
2556
+ );
2543
2557
  }
2544
2558
  function installRequiredSkill(skill, harness, options = {}) {
2545
2559
  const skillPath = getRequiredSkillPath(skill, harness, options.homeDir);
2546
2560
  if (isRequiredSkillInstalled(skill, harness, options)) {
2547
2561
  return { skill, harness, status: "already-installed", skillPath };
2548
2562
  }
2549
- const { command, args } = getRequiredSkillInstallCommand(skill, harness);
2563
+ const { command, args } = getRequiredSkillInstallCommand(
2564
+ skill,
2565
+ harness,
2566
+ options
2567
+ );
2550
2568
  try {
2551
2569
  const result = spawnSync2(command, args, { stdio: "inherit" });
2552
2570
  if (result.status === 0) {
@@ -5717,6 +5735,7 @@ export {
5717
5735
  buildClaudeCodeSetupPlan,
5718
5736
  applyClaudeCodeSetup,
5719
5737
  formatClaudeCodeSetupPlan,
5738
+ getNpxCommand,
5720
5739
  REQUIRED_SKILLS,
5721
5740
  getRequiredSkillInstallCommand,
5722
5741
  installRequiredSkill,
package/dist/cli/index.js CHANGED
@@ -35,6 +35,7 @@ import {
35
35
  getCodexModelRoles,
36
36
  getCodexStatus,
37
37
  getModelOptions,
38
+ getNpxCommand,
38
39
  getOpenCodeModelRoles,
39
40
  getOpenCodeStatus,
40
41
  getOperationHarness,
@@ -42,7 +43,7 @@ import {
42
43
  installRequiredSkill,
43
44
  listOperationHarnesses,
44
45
  normalizeEffortSelection
45
- } from "../chunk-2MZ5C2RN.js";
46
+ } from "../chunk-NUSODNWE.js";
46
47
  import {
47
48
  ALL_AGENT_NAMES,
48
49
  detectCurrentConfig,
@@ -150,10 +151,9 @@ function invalidResult(harness, command, args, exitCode, error) {
150
151
  error
151
152
  };
152
153
  }
153
- function getThothMemSetupCommand(harness, dryRun) {
154
- return {
155
- command: "npx",
156
- args: [
154
+ function getThothMemSetupCommand(harness, dryRun, options = {}) {
155
+ return getNpxCommand(
156
+ [
157
157
  "-y",
158
158
  "thoth-mem@latest",
159
159
  "setup",
@@ -162,8 +162,9 @@ function getThothMemSetupCommand(harness, dryRun) {
162
162
  "global",
163
163
  ...dryRun ? ["--plan"] : [],
164
164
  "--json"
165
- ]
166
- };
165
+ ],
166
+ options
167
+ );
167
168
  }
168
169
  function runThothMemSetup(options) {
169
170
  const { command, args } = getThothMemSetupCommand(
@@ -0,0 +1,9 @@
1
+ export interface NpxCommandOptions {
2
+ platform?: NodeJS.Platform;
3
+ commandShell?: string;
4
+ }
5
+ export interface NpxCommand {
6
+ command: string;
7
+ args: string[];
8
+ }
9
+ export declare function getNpxCommand(args: readonly string[], options?: NpxCommandOptions): NpxCommand;
@@ -1,3 +1,4 @@
1
+ import { type NpxCommand, type NpxCommandOptions } from './npx-command';
1
2
  export type SkillInstallHarness = 'opencode' | 'codex' | 'claude';
2
3
  /** An external skill required by every supported thoth-agents harness. */
3
4
  export interface RequiredSkill {
@@ -14,16 +15,13 @@ export interface RequiredSkillInstallResult {
14
15
  skillPath: string;
15
16
  error?: unknown;
16
17
  }
17
- interface InstallRequiredSkillOptions {
18
+ interface InstallRequiredSkillOptions extends NpxCommandOptions {
18
19
  homeDir?: string;
19
20
  }
20
21
  export declare const REQUIRED_SKILLS: readonly RequiredSkill[];
21
22
  export declare function getRequiredSkillPath(skill: RequiredSkill, harness: SkillInstallHarness, homeDir?: string): string;
22
23
  export declare function isRequiredSkillInstalled(skill: RequiredSkill, harness: SkillInstallHarness, options?: InstallRequiredSkillOptions): boolean;
23
- export declare function getRequiredSkillInstallCommand(skill: RequiredSkill, harness: SkillInstallHarness): {
24
- command: 'npx';
25
- args: string[];
26
- };
24
+ export declare function getRequiredSkillInstallCommand(skill: RequiredSkill, harness: SkillInstallHarness, options?: NpxCommandOptions): NpxCommand;
27
25
  /** Install one mandatory skill into the selected harness's global skill root. */
28
26
  export declare function installRequiredSkill(skill: RequiredSkill, harness: SkillInstallHarness, options?: InstallRequiredSkillOptions): RequiredSkillInstallResult;
29
27
  export declare function installRequiredSkills(harness: SkillInstallHarness, options?: InstallRequiredSkillOptions): RequiredSkillInstallResult[];
@@ -1,3 +1,4 @@
1
+ import { type NpxCommand, type NpxCommandOptions } from './npx-command';
1
2
  import type { InstallAgent } from './types';
2
3
  export declare const THOTH_MEM_SETUP_TIMEOUT_MS = 120000;
3
4
  export type ThothMemSetupStatus = 'complete' | 'failed' | 'partial' | 'requires_user_action';
@@ -33,13 +34,10 @@ export interface ThothMemSetupResult {
33
34
  diagnostics: string[];
34
35
  manualActions: string[];
35
36
  receipt: string | null;
36
- command: 'npx';
37
+ command: string;
37
38
  args: string[];
38
39
  exitCode: number | null;
39
40
  error?: string;
40
41
  }
41
- export declare function getThothMemSetupCommand(harness: InstallAgent, dryRun: boolean): {
42
- command: 'npx';
43
- args: string[];
44
- };
42
+ export declare function getThothMemSetupCommand(harness: InstallAgent, dryRun: boolean, options?: NpxCommandOptions): NpxCommand;
45
43
  export declare function runThothMemSetup(options: ThothMemSetupOptions): ThothMemSetupResult;
@@ -2,7 +2,7 @@ import {
2
2
  defaultTuiOperations,
3
3
  effortChoicesForModel,
4
4
  listOperationHarnesses
5
- } from "../../chunk-2MZ5C2RN.js";
5
+ } from "../../chunk-NUSODNWE.js";
6
6
  import "../../chunk-XO74DXBZ.js";
7
7
 
8
8
  // src/cli/tui/index.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thoth-agents",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Adaptive multi-harness orchestration with seven roles, runtime-autonomous Spec Kit-compatible SDD routes, and external provider boundaries.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thoth-agents",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Adaptive multi-harness agent pack with seven roles and a runtime-autonomous Spec Kit-compatible SDD bundle for Claude Code.",
5
5
  "author": {
6
6
  "name": "thoth-agents"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thoth-agents",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Bundled Spec Kit-compatible SDD skills and MCP configuration; the seven-role global Codex layer requires thoth-agents CLI setup.",
5
5
  "skills": "./skills/",
6
6
  "mcpServers": "./codex.mcp.json"