argsbarg 6.1.5 → 6.1.7

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 (137) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/docs/http-server.md +3 -3
  3. package/examples/full-example/docs/cli-schema.json +9 -9
  4. package/examples/full-example/docs/cli.md +9 -9
  5. package/examples/full-example/docs/http.md +3 -3
  6. package/examples/full-example/docs/openapi.json +6 -35
  7. package/package.json +1 -1
  8. package/src/builtins/builtins.test.ts +4 -4
  9. package/src/builtins/completion-bash.ts +1 -1
  10. package/src/builtins/completion-fish.ts +1 -1
  11. package/src/builtins/completion-group.ts +3 -3
  12. package/src/builtins/completion-zsh.ts +1 -1
  13. package/src/builtins/config.test.ts +3 -3
  14. package/src/builtins/config.ts +9 -9
  15. package/src/builtins/configure-copy.ts +2 -2
  16. package/src/builtins/configure.ts +3 -3
  17. package/src/builtins/dispatch.ts +10 -10
  18. package/src/builtins/export.ts +4 -4
  19. package/src/builtins/http.ts +6 -6
  20. package/src/builtins/mcp.ts +3 -3
  21. package/src/builtins/presentation.ts +5 -5
  22. package/src/builtins/registry.ts +3 -3
  23. package/src/builtins/scopes.ts +2 -2
  24. package/src/builtins/version.ts +1 -1
  25. package/src/cli-tool/full-example-capabilities.test.ts +2 -2
  26. package/src/cli-tool/main.ts +1 -1
  27. package/src/cli-tool/program.ts +1 -1
  28. package/src/cli-tool/prompt.ts +1 -1
  29. package/src/config/bindings.test.ts +1 -1
  30. package/src/config/bindings.ts +1 -1
  31. package/src/config/bootstrap.test.ts +1 -1
  32. package/src/config/bootstrap.ts +3 -3
  33. package/src/config/context.test.ts +1 -1
  34. package/src/config/context.ts +1 -1
  35. package/src/config/entry.ts +1 -1
  36. package/src/config/file.test.ts +1 -1
  37. package/src/config/file.ts +3 -3
  38. package/src/config/manifest.ts +1 -1
  39. package/src/config/resolve.test.ts +1 -1
  40. package/src/config/resolve.ts +1 -1
  41. package/src/config/schema.ts +1 -1
  42. package/src/config/validate.ts +1 -1
  43. package/src/configure/artifacts/binary-placement.test.ts +1 -1
  44. package/src/configure/artifacts/binary-placement.ts +1 -1
  45. package/src/configure/artifacts/gh-release-update.ts +1 -1
  46. package/src/configure/artifacts/install-validate.test.ts +3 -3
  47. package/src/configure/artifacts/mcp-config.ts +1 -1
  48. package/src/configure/artifacts/mcp-opencode.test.ts +1 -1
  49. package/src/configure/artifacts/mcp-opencode.ts +1 -1
  50. package/src/configure/artifacts/paths.ts +5 -5
  51. package/src/configure/artifacts/plan.ts +1 -1
  52. package/src/configure/artifacts/status.test.ts +1 -1
  53. package/src/configure/artifacts/status.ts +2 -2
  54. package/src/configure/artifacts/target-base.ts +1 -1
  55. package/src/configure/artifacts/target-detect.ts +1 -1
  56. package/src/configure/artifacts/target-effective.ts +3 -3
  57. package/src/configure/artifacts/target-mcp-cli.ts +1 -1
  58. package/src/configure/artifacts/target-mcp-json.ts +1 -1
  59. package/src/configure/artifacts/target-plan-build.ts +2 -2
  60. package/src/configure/artifacts/target-scope.ts +3 -3
  61. package/src/configure/artifacts/target-skill.ts +1 -1
  62. package/src/configure/artifacts/target-types.ts +2 -2
  63. package/src/configure/artifacts/targets/app.ts +5 -5
  64. package/src/configure/artifacts/targets/chatgpt-mcp.ts +2 -2
  65. package/src/configure/artifacts/targets/claude-code-mcp.ts +2 -2
  66. package/src/configure/artifacts/targets/claude-desktop-mcp.ts +2 -2
  67. package/src/configure/artifacts/targets/claude-skill.ts +2 -2
  68. package/src/configure/artifacts/targets/codex-mcp.ts +2 -2
  69. package/src/configure/artifacts/targets/codex-skill.ts +2 -2
  70. package/src/configure/artifacts/targets/configure.ts +5 -5
  71. package/src/configure/artifacts/targets/cursor-mcp.ts +2 -2
  72. package/src/configure/artifacts/targets/cursor-skill.ts +2 -2
  73. package/src/configure/artifacts/targets/index.ts +1 -1
  74. package/src/configure/artifacts/targets/openclaw-mcp.ts +2 -2
  75. package/src/configure/artifacts/targets/openclaw-skill.ts +3 -3
  76. package/src/configure/artifacts/targets/opencode-mcp.ts +5 -5
  77. package/src/configure/artifacts/targets/opencode-skill.ts +3 -3
  78. package/src/configure/artifacts/targets.test.ts +1 -1
  79. package/src/configure/artifacts/uninstall.ts +1 -1
  80. package/src/configure/configure.test.ts +9 -9
  81. package/src/configure/index.ts +5 -5
  82. package/src/configure/prompt.ts +1 -1
  83. package/src/core/context.ts +3 -3
  84. package/src/core/json-leaf.test.ts +1 -1
  85. package/src/core/leaf-inputs.test.ts +1 -1
  86. package/src/core/leaf-inputs.ts +2 -2
  87. package/src/core/parse.test.ts +9 -9
  88. package/src/core/parse.ts +2 -2
  89. package/src/core/schema.ts +3 -3
  90. package/src/core/types.ts +1 -1
  91. package/src/core/validate.ts +6 -6
  92. package/src/docs/builtin.ts +3 -3
  93. package/src/docs/cli-guide.test.ts +3 -3
  94. package/src/docs/cli-guide.ts +5 -5
  95. package/src/docs/docs.test.ts +8 -8
  96. package/src/docs/http-guide.ts +10 -10
  97. package/src/docs/mcp-guide.ts +7 -7
  98. package/src/docs/mcp-resources.test.ts +1 -1
  99. package/src/docs/mcp-resources.ts +1 -1
  100. package/src/docs/resolve.ts +4 -4
  101. package/src/docs/save.ts +2 -2
  102. package/src/exports/cli.ts +9 -9
  103. package/src/exports/headless.ts +2 -2
  104. package/src/exports/http.ts +2 -2
  105. package/src/exports/mcp.ts +2 -2
  106. package/src/headless/routing.ts +2 -2
  107. package/src/headless/tool-call.ts +11 -11
  108. package/src/hooks/run.ts +6 -6
  109. package/src/http/openapi.ts +23 -15
  110. package/src/http/paths.ts +1 -1
  111. package/src/http/readiness.ts +3 -3
  112. package/src/http/result.ts +1 -1
  113. package/src/http/routes.ts +4 -4
  114. package/src/http/server.ts +7 -7
  115. package/src/log/emitter.ts +1 -1
  116. package/src/mcp/bundle.ts +2 -2
  117. package/src/mcp/claude.test.ts +1 -1
  118. package/src/mcp/claude.ts +4 -4
  119. package/src/mcp/hidden-mcpb.test.ts +5 -5
  120. package/src/mcp/result.ts +2 -2
  121. package/src/mcp/server.ts +3 -3
  122. package/src/mcp/tools.ts +7 -7
  123. package/src/runtime/capabilities.ts +2 -2
  124. package/src/runtime/cli-errors.ts +3 -3
  125. package/src/runtime/cli.ts +22 -22
  126. package/src/runtime/exposure.ts +2 -2
  127. package/src/runtime/invoke.test.ts +6 -6
  128. package/src/server/context.ts +3 -3
  129. package/src/server/overrides.ts +3 -3
  130. package/src/skill/generate.ts +5 -5
  131. package/src/skill/hint.ts +1 -1
  132. package/src/skill/install.ts +2 -2
  133. package/src/skill/naming.ts +1 -1
  134. package/src/test/fixtures.ts +2 -2
  135. package/src/test/integration/config.test.ts +3 -3
  136. package/src/test/integration/http.test.ts +18 -14
  137. package/src/test/integration/mcp.test.ts +6 -6
@@ -1,6 +1,6 @@
1
1
  /** Interactive prompts for `argsbarg create`. */
2
2
 
3
- import { readPromptLine as readStdinLine } from "~/prompt.ts";
3
+ import { readPromptLine as readStdinLine } from "../prompt.ts";
4
4
 
5
5
  export function readPromptLine(prompt: string): string {
6
6
  process.stderr.write(prompt);
@@ -3,7 +3,7 @@ Tests for config/bindings module.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "bun:test";
6
- import type { CliAppConfigEntry } from "~/core/types.ts";
6
+ import type { CliAppConfigEntry } from "../core/types.ts";
7
7
  import {
8
8
  bindingForKey,
9
9
  CONFIG_BINDINGS_KEY,
@@ -2,7 +2,7 @@
2
2
  Per-key config binding metadata (`_bindings`) — records how each schema key is satisfied.
3
3
  */
4
4
 
5
- import type { CliAppConfigEntry } from "~/core/types.ts";
5
+ import type { CliAppConfigEntry } from "../core/types.ts";
6
6
 
7
7
  /** Reserved top-level config file key for per-entry binding metadata. */
8
8
  export const CONFIG_BINDINGS_KEY = "_bindings";
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from "bun:test";
2
- import type { CliAppConfigEntry } from "~/core/types.ts";
2
+ import type { CliAppConfigEntry } from "../core/types.ts";
3
3
  import { shouldWizardPromptConfigKey } from "./bootstrap.ts";
4
4
 
5
5
  const requiredEntry: CliAppConfigEntry = {
@@ -4,9 +4,9 @@ settings are present before the CLI or MCP server handles a request.
4
4
  */
5
5
 
6
6
  import { readSync } from "node:fs";
7
- import type { CliAppConfigEntry, CliProgram, ServerRuntime } from "~/core/types.ts";
8
- import type { LogEmitter } from "~/log/emitter.ts";
9
- import { readPromptLine as readStdinLine } from "~/prompt.ts";
7
+ import type { CliAppConfigEntry, CliProgram, ServerRuntime } from "../core/types.ts";
8
+ import type { LogEmitter } from "../log/emitter.ts";
9
+ import { readPromptLine as readStdinLine } from "../prompt.ts";
10
10
  import { bindingForKey, clearFileValue, isKeyAddressed, readBindings, setBinding } from "./bindings.ts";
11
11
  import { configEntryRequired, configEntrySensitive, defaultConfigEntryTitle, jsonSchemaRequiredKeys } from "./entry.ts";
12
12
  import {
@@ -6,7 +6,7 @@ import { describe, expect, test } from "bun:test";
6
6
  import { mkdtempSync, rmSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { dirname, join } from "node:path";
9
- import type { CliProgram } from "~/core/types.ts";
9
+ import type { CliProgram } from "../core/types.ts";
10
10
  import { createAppConfigSnapshot } from "./context.ts";
11
11
  import { resolveAppConfigDir, resolveAppConfigPath } from "./file.ts";
12
12
  import { resolveAppConfig } from "./resolve.ts";
@@ -2,7 +2,7 @@
2
2
  Handler-facing resolved app config snapshot (ctx.appConfig).
3
3
  */
4
4
 
5
- import type { CliProgram } from "~/core/types.ts";
5
+ import type { CliProgram } from "../core/types.ts";
6
6
  import { isFrameworkConfigKey, setBinding } from "./bindings.ts";
7
7
  import {
8
8
  readAppConfigFileRaw,
@@ -2,7 +2,7 @@
2
2
  Shared helpers for program.appConfig schema entries.
3
3
  */
4
4
 
5
- import type { CliAppConfigEntry, CliProgram } from "~/core/types.ts";
5
+ import type { CliAppConfigEntry, CliProgram } from "../core/types.ts";
6
6
 
7
7
  /** Default title when `CliAppConfigEntry.title` is omitted. */
8
8
  export function defaultConfigEntryTitle(key: string): string {
@@ -6,7 +6,7 @@ import { describe, expect, test } from "bun:test";
6
6
  import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { dirname, join } from "node:path";
9
- import type { CliProgram } from "~/core/types.ts";
9
+ import type { CliProgram } from "../core/types.ts";
10
10
  import { CONFIG_BINDINGS_KEY } from "./bindings.ts";
11
11
  import { bootstrapAppConfig } from "./bootstrap.ts";
12
12
  import {
@@ -4,9 +4,9 @@ JSON app config file path helpers and strict read/write.
4
4
 
5
5
  import { existsSync, mkdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
6
6
  import { dirname, join } from "node:path";
7
- import type { CliProgram } from "~/core/types.ts";
8
- import { sanitizeToolSegment } from "~/mcp/tools.ts";
9
- import { appConfigLibHome, displayHomePath } from "~/paths/host.ts";
7
+ import type { CliProgram } from "../core/types.ts";
8
+ import { sanitizeToolSegment } from "../mcp/tools.ts";
9
+ import { appConfigLibHome, displayHomePath } from "../paths/host.ts";
10
10
  import { isFrameworkConfigKey, validateBindingsShape } from "./bindings.ts";
11
11
  import { effectiveJsonSchema } from "./schema.ts";
12
12
  import { validateConfigDocument, validateConfigDocumentPartial } from "./validate.ts";
@@ -2,7 +2,7 @@
2
2
  MCP bundle / plugin manifest builders for program.appConfig env-mapped entries.
3
3
  */
4
4
 
5
- import type { CliAppConfigEntry, CliProgram } from "~/core/types.ts";
5
+ import type { CliAppConfigEntry, CliProgram } from "../core/types.ts";
6
6
  import {
7
7
  configEntryRequired,
8
8
  configEntrySensitive,
@@ -3,7 +3,7 @@ Tests for config/resolve module behavior.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "bun:test";
6
- import type { CliProgram } from "~/core/types.ts";
6
+ import type { CliProgram } from "../core/types.ts";
7
7
  import { captureMappedHostEnv, exportConfigToEnv, resolveAppConfig } from "./resolve.ts";
8
8
 
9
9
  const program: CliProgram = {
@@ -2,7 +2,7 @@
2
2
  Resolve program.appConfig values: defaults, file, env override, export to process.env.
3
3
  */
4
4
 
5
- import type { CliAppConfigEntry, CliAppConfigResolveContext, CliProgram } from "~/core/types.ts";
5
+ import type { CliAppConfigEntry, CliAppConfigResolveContext, CliProgram } from "../core/types.ts";
6
6
  import { configEntryRequired, jsonSchemaRequiredKeys } from "./entry.ts";
7
7
  import type { AppConfigFileData } from "./file.ts";
8
8
  import { displayAppConfigPath } from "./file.ts";
@@ -2,7 +2,7 @@
2
2
  Effective JSON Schema for program.appConfig (block schema or all-string synthesis).
3
3
  */
4
4
 
5
- import type { CliAppConfigEntry, CliProgram } from "~/core/types.ts";
5
+ import type { CliAppConfigEntry, CliProgram } from "../core/types.ts";
6
6
  import { configEntryRequired, jsonSchemaRequiredKeys } from "./entry.ts";
7
7
 
8
8
  /** Synthesize a draft-07 object schema with string properties from metadata entries. */
@@ -3,7 +3,7 @@ Draft-07 JSON Schema subset validator for program.appConfig files.
3
3
  Aligned with common ts-json-schema-generator output (local $ref, objects, scalars).
4
4
  */
5
5
 
6
- import { parseCommaList, parseDate, parseDateTime } from "~/core/formats.ts";
6
+ import { parseCommaList, parseDate, parseDateTime } from "../core/formats.ts";
7
7
  import { isFrameworkConfigKey } from "./bindings.ts";
8
8
 
9
9
  type JsonSchema = Record<string, unknown>;
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
6
6
  import { chmodSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { join } from "node:path";
9
- import type { CliProgram } from "~/core/types.ts";
9
+ import type { CliProgram } from "../../core/types.ts";
10
10
  import { isAppInstalled, isExternallyManagedBinary, resolvePathCommand } from "./binary-placement.ts";
11
11
 
12
12
  const program: CliProgram = {
@@ -1,6 +1,6 @@
1
1
  import { accessSync, constants, realpathSync } from "node:fs";
2
2
  import { delimiter, join } from "node:path";
3
- import type { CliProgram } from "~/core/types.ts";
3
+ import type { CliProgram } from "../../core/types.ts";
4
4
 
5
5
  /** Resolves a command name on PATH to its real path, if present. */
6
6
  export function resolvePathCommand(key: string): string | undefined {
@@ -1,7 +1,7 @@
1
1
  import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { tmpdir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
- import type { CliUpdateGetLatest } from "~/core/types.ts";
4
+ import type { CliUpdateGetLatest } from "../../core/types.ts";
5
5
 
6
6
  /** Config for {@link ghReleaseUpdateGetLatest}. */
7
7
  export interface GhReleaseUpdateConfig {
@@ -3,9 +3,9 @@ Tests for install/install-validate module behavior.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "bun:test";
6
- import type { CliProgram } from "~/core/types.ts";
7
- import { CliSchemaValidationError } from "~/core/types.ts";
8
- import { cliValidateProgram } from "~/core/validate.ts";
6
+ import type { CliProgram } from "../../core/types.ts";
7
+ import { CliSchemaValidationError } from "../../core/types.ts";
8
+ import { cliValidateProgram } from "../../core/validate.ts";
9
9
 
10
10
  const base: CliProgram = {
11
11
  key: "app",
@@ -1,6 +1,6 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { dirname } from "node:path";
3
- import type { CliProgram } from "~/core/types.ts";
3
+ import type { CliProgram } from "../../core/types.ts";
4
4
 
5
5
  export interface McpServerEntry {
6
6
  command: string;
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
6
6
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { join } from "node:path";
9
- import type { CliProgram } from "~/core/types.ts";
9
+ import type { CliProgram } from "../../core/types.ts";
10
10
  import {
11
11
  detectOpenCodeMcpConfigPath,
12
12
  expectedOpenCodeMcpEntry,
@@ -1,6 +1,6 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
- import type { CliProgram } from "~/core/types.ts";
3
+ import type { CliProgram } from "../../core/types.ts";
4
4
  import { expectedMcpEntry } from "./mcp-config.ts";
5
5
 
6
6
  export const OPENCODE_CONFIG_SCHEMA = "https://opencode.ai/config.json";
@@ -1,9 +1,9 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
- import type { CliProgram } from "~/core/types.ts";
4
- import { mcpServerId, sanitizeToolSegment } from "~/mcp/tools.ts";
5
- import { displayHomePath, userHome, xdgConfigHome } from "~/paths/host.ts";
6
- import { skillDirNameForTarget } from "~/skill/install.ts";
3
+ import type { CliProgram } from "../../core/types.ts";
4
+ import { mcpServerId, sanitizeToolSegment } from "../../mcp/tools.ts";
5
+ import { displayHomePath, userHome, xdgConfigHome } from "../../paths/host.ts";
6
+ import { skillDirNameForTarget } from "../../skill/install.ts";
7
7
  import { resolveOpenclawConfigPath } from "./mcp-openclaw.ts";
8
8
  import { resolveOpenCodeConfigPathForInstall } from "./mcp-opencode.ts";
9
9
 
@@ -24,7 +24,7 @@ export interface InstallPaths {
24
24
  skillDirName: string;
25
25
  }
26
26
 
27
- export { userHome } from "~/paths/host.ts";
27
+ export { userHome } from "../../paths/host.ts";
28
28
 
29
29
  /** Format an absolute path for user-facing install output. */
30
30
  export function displayInstallPath(path: string): string {
@@ -1,4 +1,4 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
2
  import type { InstallPaths } from "./paths.ts";
3
3
  import { buildInstallPlanFromTargets } from "./target-plan-build.ts";
4
4
  import type { InstallAction, InstallOpts } from "./target-types.ts";
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
6
6
  import { mkdtempSync, rmSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { join } from "node:path";
9
- import type { CliProgram } from "~/core/types.ts";
9
+ import type { CliProgram } from "../../core/types.ts";
10
10
  import { resolveInstallPaths } from "./paths.ts";
11
11
  import { printInstallStatus } from "./status.ts";
12
12
  import { resolveInstallTargetPreview } from "./target-scope.ts";
@@ -1,5 +1,5 @@
1
- import { appConfigStatus } from "~/config/bootstrap.ts";
2
- import type { CliProgram } from "~/core/types.ts";
1
+ import { appConfigStatus } from "../../config/bootstrap.ts";
2
+ import type { CliProgram } from "../../core/types.ts";
3
3
  import { buildInstallStatus, detectInstalledArtifacts } from "./detect-installed.ts";
4
4
  import { resolveInstallPaths } from "./paths.ts";
5
5
  import { resolveInstallTargetPreview } from "./target-scope.ts";
@@ -1,4 +1,4 @@
1
- import type { CliProgram, InstallAgentIntegration } from "~/core/types.ts";
1
+ import type { CliProgram, InstallAgentIntegration } from "../../core/types.ts";
2
2
  import type { InstallPaths } from "./paths.ts";
3
3
  import type {
4
4
  CliInstallArtifactKey,
@@ -1,4 +1,4 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
2
  import type { InstallPaths } from "./paths.ts";
3
3
  import { INSTALL_TARGETS } from "./target-registry.ts";
4
4
  import type { InstalledArtifacts, InstallStatus } from "./target-types.ts";
@@ -4,8 +4,8 @@ import type {
4
4
  CliProgram,
5
5
  InstallAgentIntegration,
6
6
  InstallTargetSpec,
7
- } from "~/core/types.ts";
8
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
7
+ } from "../../core/types.ts";
8
+ import { resolveCapabilities } from "../../runtime/capabilities.ts";
9
9
  import {
10
10
  AGENT_PAIRS,
11
11
  INSTALL_ARTIFACT_KEYS,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./target-registry.ts";
15
15
  import type { CliInstallArtifactKey, InstallPlanMode } from "./target-types.ts";
16
16
 
17
- export type { InstallTargetSpec, ResolvedInstallTarget } from "~/core/types.ts";
17
+ export type { InstallTargetSpec, ResolvedInstallTarget } from "../../core/types.ts";
18
18
 
19
19
  export type { InstallPlanMode, InstallScope } from "./target-types.ts";
20
20
 
@@ -1,4 +1,4 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
2
  import { checkCodexMcpConflict, codexMcpHasServer, mergeCodexMcpConfig, removeCodexMcpConfig } from "./mcp-codex.ts";
3
3
  import { expectedMcpEntry } from "./mcp-config.ts";
4
4
  import {
@@ -1,4 +1,4 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
2
  import {
3
3
  checkMcpConflict,
4
4
  expectedMcpEntry,
@@ -1,5 +1,5 @@
1
- import type { CliProgram } from "~/core/types.ts";
2
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
+ import { resolveCapabilities } from "../../runtime/capabilities.ts";
3
3
  import type { InstallPaths } from "./paths.ts";
4
4
  import { mcpCategoryEnabled } from "./target-effective.ts";
5
5
  import { INSTALL_TARGETS, installTargetForKey } from "./target-registry.ts";
@@ -1,6 +1,6 @@
1
- import { appConfigFileExists } from "~/config/file.ts";
2
- import type { CliConfigureTargets, CliProgram } from "~/core/types.ts";
3
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
1
+ import { appConfigFileExists } from "../../config/file.ts";
2
+ import type { CliConfigureTargets, CliProgram } from "../../core/types.ts";
3
+ import { resolveCapabilities } from "../../runtime/capabilities.ts";
4
4
  import type { InstallPaths } from "./paths.ts";
5
5
  import {
6
6
  type InstallPlanMode,
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import type { CliProgram } from "~/core/types.ts";
2
+ import type { CliProgram } from "../../core/types.ts";
3
3
  import { displayInstallPath, type InstallPaths } from "./paths.ts";
4
4
  import { InstallTarget } from "./target-base.ts";
5
5
  import type {
@@ -1,7 +1,7 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../../core/types.ts";
2
2
  import type { InstallPaths } from "./paths.ts";
3
3
 
4
- export type { InstallTargetSpec, ResolvedInstallTarget } from "~/core/types.ts";
4
+ export type { InstallTargetSpec, ResolvedInstallTarget } from "../../core/types.ts";
5
5
 
6
6
  export type InstallPlanMode = "install-all" | "install-scoped" | "uninstall-all" | "uninstall-scoped" | "refresh";
7
7
 
@@ -1,6 +1,7 @@
1
- import { isExternallyManagedBinary } from "~/configure/artifacts/binary-placement.ts";
2
- import type { InstallPaths } from "~/configure/artifacts/paths.ts";
3
- import { InstallTarget } from "~/configure/artifacts/target-base.ts";
1
+ import type { CliProgram } from "../../../core/types.ts";
2
+ import { isExternallyManagedBinary } from "../binary-placement.ts";
3
+ import type { InstallPaths } from "../paths.ts";
4
+ import { InstallTarget } from "../target-base.ts";
4
5
  import type {
5
6
  DetectedSnapshot,
6
7
  InstallAction,
@@ -8,8 +9,7 @@ import type {
8
9
  InstallStatus,
9
10
  TargetPlanContext,
10
11
  UninstallAction,
11
- } from "~/configure/artifacts/target-types.ts";
12
- import type { CliProgram } from "~/core/types.ts";
12
+ } from "../target-types.ts";
13
13
 
14
14
  /** Reports app install location (Homebrew PATH or legacy ~/.local/bin). No self-install actions. */
15
15
  class AppInstallTarget extends InstallTarget {
@@ -1,5 +1,5 @@
1
- import { chatGptDesktopPresent, userHome } from "~/configure/artifacts/paths.ts";
2
- import { McpJsonInstallTarget } from "~/configure/artifacts/target-mcp-json.ts";
1
+ import { chatGptDesktopPresent, userHome } from "../paths.ts";
2
+ import { McpJsonInstallTarget } from "../target-mcp-json.ts";
3
3
 
4
4
  export const chatgptMcpTarget = new McpJsonInstallTarget({
5
5
  key: "chatgptMcp",
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { userHome } from "~/configure/artifacts/paths.ts";
4
- import { McpJsonInstallTarget } from "~/configure/artifacts/target-mcp-json.ts";
3
+ import { userHome } from "../paths.ts";
4
+ import { McpJsonInstallTarget } from "../target-mcp-json.ts";
5
5
 
6
6
  export const claudeCodeMcpTarget = new McpJsonInstallTarget({
7
7
  key: "claudeCodeMcp",
@@ -1,5 +1,5 @@
1
- import { claudeDesktopPresent, userHome } from "~/configure/artifacts/paths.ts";
2
- import { McpJsonInstallTarget } from "~/configure/artifacts/target-mcp-json.ts";
1
+ import { claudeDesktopPresent, userHome } from "../paths.ts";
2
+ import { McpJsonInstallTarget } from "../target-mcp-json.ts";
3
3
 
4
4
  export const claudeDesktopMcpTarget = new McpJsonInstallTarget({
5
5
  key: "claudeDesktopMcp",
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { userHome } from "~/configure/artifacts/paths.ts";
4
- import { SkillInstallTarget } from "~/configure/artifacts/target-skill.ts";
3
+ import { userHome } from "../paths.ts";
4
+ import { SkillInstallTarget } from "../target-skill.ts";
5
5
 
6
6
  export const claudeSkillTarget = new SkillInstallTarget({
7
7
  key: "claudeSkill",
@@ -1,11 +1,11 @@
1
- import { codexOnPath } from "~/configure/artifacts/mcp-codex.ts";
1
+ import { codexOnPath } from "../mcp-codex.ts";
2
2
  import {
3
3
  checkCodexMcpConflict,
4
4
  codexMcpHasServer,
5
5
  McpCliInstallTarget,
6
6
  mergeCodexMcpConfig,
7
7
  removeCodexMcpConfig,
8
- } from "~/configure/artifacts/target-mcp-cli.ts";
8
+ } from "../target-mcp-cli.ts";
9
9
 
10
10
  export const codexMcpTarget = new McpCliInstallTarget({
11
11
  key: "codexMcp",
@@ -1,5 +1,5 @@
1
- import { codexOnPath } from "~/configure/artifacts/mcp-codex.ts";
2
- import { SkillInstallTarget } from "~/configure/artifacts/target-skill.ts";
1
+ import { codexOnPath } from "../mcp-codex.ts";
2
+ import { SkillInstallTarget } from "../target-skill.ts";
3
3
 
4
4
  export const codexSkillTarget = new SkillInstallTarget({
5
5
  key: "codexSkill",
@@ -1,6 +1,7 @@
1
- import { appConfigInstalled, displayAppConfigPath, uninstallAppConfig } from "~/config/file.ts";
2
- import type { InstallPaths } from "~/configure/artifacts/paths.ts";
3
- import { InstallTarget } from "~/configure/artifacts/target-base.ts";
1
+ import { appConfigInstalled, displayAppConfigPath, uninstallAppConfig } from "../../../config/file.ts";
2
+ import type { CliProgram, InstallAgentIntegration } from "../../../core/types.ts";
3
+ import type { InstallPaths } from "../paths.ts";
4
+ import { InstallTarget } from "../target-base.ts";
4
5
  import type {
5
6
  DetectedSnapshot,
6
7
  InstallAction,
@@ -8,8 +9,7 @@ import type {
8
9
  InstallStatus,
9
10
  TargetPlanContext,
10
11
  UninstallAction,
11
- } from "~/configure/artifacts/target-types.ts";
12
- import type { CliProgram, InstallAgentIntegration } from "~/core/types.ts";
12
+ } from "../target-types.ts";
13
13
 
14
14
  /** App config file (interactive configure / wizard). */
15
15
  class ConfigureInstallTarget extends InstallTarget {
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { userHome } from "~/configure/artifacts/paths.ts";
4
- import { McpJsonInstallTarget } from "~/configure/artifacts/target-mcp-json.ts";
3
+ import { userHome } from "../paths.ts";
4
+ import { McpJsonInstallTarget } from "../target-mcp-json.ts";
5
5
 
6
6
  export const cursorMcpTarget = new McpJsonInstallTarget({
7
7
  key: "cursorMcp",
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { userHome } from "~/configure/artifacts/paths.ts";
4
- import { SkillInstallTarget } from "~/configure/artifacts/target-skill.ts";
3
+ import { userHome } from "../paths.ts";
4
+ import { SkillInstallTarget } from "../target-skill.ts";
5
5
 
6
6
  export const cursorSkillTarget = new SkillInstallTarget({
7
7
  key: "cursorSkill",
@@ -1,4 +1,4 @@
1
- import type { InstallTarget } from "~/configure/artifacts/target-base.ts";
1
+ import type { InstallTarget } from "../target-base.ts";
2
2
  import { appTarget } from "./app.ts";
3
3
  import { chatgptMcpTarget } from "./chatgpt-mcp.ts";
4
4
  import { claudeCodeMcpTarget } from "./claude-code-mcp.ts";
@@ -1,11 +1,11 @@
1
- import { openclawOnPath } from "~/configure/artifacts/mcp-openclaw.ts";
1
+ import { openclawOnPath } from "../mcp-openclaw.ts";
2
2
  import {
3
3
  checkOpenclawMcpConflict,
4
4
  McpCliInstallTarget,
5
5
  mergeOpenclawMcpConfig,
6
6
  openclawMcpHasServer,
7
7
  removeOpenclawMcpConfig,
8
- } from "~/configure/artifacts/target-mcp-cli.ts";
8
+ } from "../target-mcp-cli.ts";
9
9
 
10
10
  export const openclawMcpTarget = new McpCliInstallTarget({
11
11
  key: "openclawMcp",
@@ -1,8 +1,8 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { openclawOnPath } from "~/configure/artifacts/mcp-openclaw.ts";
4
- import { userHome } from "~/configure/artifacts/paths.ts";
5
- import { SkillInstallTarget } from "~/configure/artifacts/target-skill.ts";
3
+ import { openclawOnPath } from "../mcp-openclaw.ts";
4
+ import { userHome } from "../paths.ts";
5
+ import { SkillInstallTarget } from "../target-skill.ts";
6
6
 
7
7
  export const openclawSkillTarget = new SkillInstallTarget({
8
8
  key: "openclawSkill",
@@ -1,3 +1,4 @@
1
+ import type { CliProgram } from "../../../core/types.ts";
1
2
  import {
2
3
  checkOpenCodeMcpConflict,
3
4
  detectOpenCodeMcpConfigPath,
@@ -5,9 +6,9 @@ import {
5
6
  mergeOpenCodeMcpConfig,
6
7
  opencodePresent,
7
8
  removeOpenCodeMcpConfig,
8
- } from "~/configure/artifacts/mcp-opencode.ts";
9
- import { displayInstallPath, type InstallPaths, userHome } from "~/configure/artifacts/paths.ts";
10
- import { InstallTarget } from "~/configure/artifacts/target-base.ts";
9
+ } from "../mcp-opencode.ts";
10
+ import { displayInstallPath, type InstallPaths, userHome } from "../paths.ts";
11
+ import { InstallTarget } from "../target-base.ts";
11
12
  import type {
12
13
  DetectedSnapshot,
13
14
  InstallAction,
@@ -15,8 +16,7 @@ import type {
15
16
  InstallStatus,
16
17
  TargetPlanContext,
17
18
  UninstallAction,
18
- } from "~/configure/artifacts/target-types.ts";
19
- import type { CliProgram } from "~/core/types.ts";
19
+ } from "../target-types.ts";
20
20
 
21
21
  function resolveConfigPath(paths: InstallPaths, home: string): string {
22
22
  return detectOpenCodeMcpConfigPath(home, paths.mcpName) ?? paths.opencodeMcpPath;
@@ -1,6 +1,6 @@
1
- import { opencodePresent } from "~/configure/artifacts/mcp-opencode.ts";
2
- import { userHome } from "~/configure/artifacts/paths.ts";
3
- import { SkillInstallTarget } from "~/configure/artifacts/target-skill.ts";
1
+ import { opencodePresent } from "../mcp-opencode.ts";
2
+ import { userHome } from "../paths.ts";
3
+ import { SkillInstallTarget } from "../target-skill.ts";
4
4
 
5
5
  export const opencodeSkillTarget = new SkillInstallTarget({
6
6
  key: "opencodeSkill",
@@ -3,7 +3,7 @@ Tests for install/targets module behavior.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "bun:test";
6
- import type { CliProgram } from "~/core/types.ts";
6
+ import type { CliProgram } from "../../core/types.ts";
7
7
  import { normalizeInstallRawOpts } from "./normalize.ts";
8
8
  import { normalizeUninstallRawOpts } from "./normalize-uninstall.ts";
9
9
  import { resolveAgentIntegration, resolveEffectiveInstallTargets } from "./target-effective.ts";
@@ -1,5 +1,5 @@
1
1
  import { existsSync, rmSync } from "node:fs";
2
- import type { CliProgram } from "~/core/types.ts";
2
+ import type { CliProgram } from "../../core/types.ts";
3
3
  import type { InstallPaths } from "./paths.ts";
4
4
  import { buildUninstallPlanFromTargets } from "./target-plan-build.ts";
5
5
  import { skillTargetForUninstallSummary } from "./target-registry.ts";