argsbarg 6.1.6 → 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 (132) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/package.json +1 -1
  3. package/src/builtins/builtins.test.ts +4 -4
  4. package/src/builtins/completion-bash.ts +1 -1
  5. package/src/builtins/completion-fish.ts +1 -1
  6. package/src/builtins/completion-group.ts +3 -3
  7. package/src/builtins/completion-zsh.ts +1 -1
  8. package/src/builtins/config.test.ts +3 -3
  9. package/src/builtins/config.ts +9 -9
  10. package/src/builtins/configure-copy.ts +2 -2
  11. package/src/builtins/configure.ts +3 -3
  12. package/src/builtins/dispatch.ts +10 -10
  13. package/src/builtins/export.ts +4 -4
  14. package/src/builtins/http.ts +5 -5
  15. package/src/builtins/mcp.ts +3 -3
  16. package/src/builtins/presentation.ts +5 -5
  17. package/src/builtins/registry.ts +3 -3
  18. package/src/builtins/scopes.ts +2 -2
  19. package/src/builtins/version.ts +1 -1
  20. package/src/cli-tool/full-example-capabilities.test.ts +2 -2
  21. package/src/cli-tool/main.ts +1 -1
  22. package/src/cli-tool/program.ts +1 -1
  23. package/src/cli-tool/prompt.ts +1 -1
  24. package/src/config/bindings.test.ts +1 -1
  25. package/src/config/bindings.ts +1 -1
  26. package/src/config/bootstrap.test.ts +1 -1
  27. package/src/config/bootstrap.ts +3 -3
  28. package/src/config/context.test.ts +1 -1
  29. package/src/config/context.ts +1 -1
  30. package/src/config/entry.ts +1 -1
  31. package/src/config/file.test.ts +1 -1
  32. package/src/config/file.ts +3 -3
  33. package/src/config/manifest.ts +1 -1
  34. package/src/config/resolve.test.ts +1 -1
  35. package/src/config/resolve.ts +1 -1
  36. package/src/config/schema.ts +1 -1
  37. package/src/config/validate.ts +1 -1
  38. package/src/configure/artifacts/binary-placement.test.ts +1 -1
  39. package/src/configure/artifacts/binary-placement.ts +1 -1
  40. package/src/configure/artifacts/gh-release-update.ts +1 -1
  41. package/src/configure/artifacts/install-validate.test.ts +3 -3
  42. package/src/configure/artifacts/mcp-config.ts +1 -1
  43. package/src/configure/artifacts/mcp-opencode.test.ts +1 -1
  44. package/src/configure/artifacts/mcp-opencode.ts +1 -1
  45. package/src/configure/artifacts/paths.ts +5 -5
  46. package/src/configure/artifacts/plan.ts +1 -1
  47. package/src/configure/artifacts/status.test.ts +1 -1
  48. package/src/configure/artifacts/status.ts +2 -2
  49. package/src/configure/artifacts/target-base.ts +1 -1
  50. package/src/configure/artifacts/target-detect.ts +1 -1
  51. package/src/configure/artifacts/target-effective.ts +3 -3
  52. package/src/configure/artifacts/target-mcp-cli.ts +1 -1
  53. package/src/configure/artifacts/target-mcp-json.ts +1 -1
  54. package/src/configure/artifacts/target-plan-build.ts +2 -2
  55. package/src/configure/artifacts/target-scope.ts +3 -3
  56. package/src/configure/artifacts/target-skill.ts +1 -1
  57. package/src/configure/artifacts/target-types.ts +2 -2
  58. package/src/configure/artifacts/targets/app.ts +5 -5
  59. package/src/configure/artifacts/targets/chatgpt-mcp.ts +2 -2
  60. package/src/configure/artifacts/targets/claude-code-mcp.ts +2 -2
  61. package/src/configure/artifacts/targets/claude-desktop-mcp.ts +2 -2
  62. package/src/configure/artifacts/targets/claude-skill.ts +2 -2
  63. package/src/configure/artifacts/targets/codex-mcp.ts +2 -2
  64. package/src/configure/artifacts/targets/codex-skill.ts +2 -2
  65. package/src/configure/artifacts/targets/configure.ts +5 -5
  66. package/src/configure/artifacts/targets/cursor-mcp.ts +2 -2
  67. package/src/configure/artifacts/targets/cursor-skill.ts +2 -2
  68. package/src/configure/artifacts/targets/index.ts +1 -1
  69. package/src/configure/artifacts/targets/openclaw-mcp.ts +2 -2
  70. package/src/configure/artifacts/targets/openclaw-skill.ts +3 -3
  71. package/src/configure/artifacts/targets/opencode-mcp.ts +5 -5
  72. package/src/configure/artifacts/targets/opencode-skill.ts +3 -3
  73. package/src/configure/artifacts/targets.test.ts +1 -1
  74. package/src/configure/artifacts/uninstall.ts +1 -1
  75. package/src/configure/configure.test.ts +9 -9
  76. package/src/configure/index.ts +5 -5
  77. package/src/configure/prompt.ts +1 -1
  78. package/src/core/context.ts +3 -3
  79. package/src/core/json-leaf.test.ts +1 -1
  80. package/src/core/leaf-inputs.test.ts +1 -1
  81. package/src/core/leaf-inputs.ts +2 -2
  82. package/src/core/parse.test.ts +9 -9
  83. package/src/core/parse.ts +2 -2
  84. package/src/core/schema.ts +3 -3
  85. package/src/core/types.ts +1 -1
  86. package/src/core/validate.ts +6 -6
  87. package/src/docs/builtin.ts +3 -3
  88. package/src/docs/cli-guide.test.ts +3 -3
  89. package/src/docs/cli-guide.ts +5 -5
  90. package/src/docs/docs.test.ts +8 -8
  91. package/src/docs/http-guide.ts +7 -7
  92. package/src/docs/mcp-guide.ts +7 -7
  93. package/src/docs/mcp-resources.test.ts +1 -1
  94. package/src/docs/mcp-resources.ts +1 -1
  95. package/src/docs/resolve.ts +4 -4
  96. package/src/docs/save.ts +2 -2
  97. package/src/exports/cli.ts +9 -9
  98. package/src/exports/headless.ts +2 -2
  99. package/src/exports/http.ts +2 -2
  100. package/src/exports/mcp.ts +2 -2
  101. package/src/headless/routing.ts +2 -2
  102. package/src/headless/tool-call.ts +11 -11
  103. package/src/hooks/run.ts +6 -6
  104. package/src/http/openapi.ts +3 -3
  105. package/src/http/paths.ts +1 -1
  106. package/src/http/readiness.ts +3 -3
  107. package/src/http/result.ts +1 -1
  108. package/src/http/routes.ts +4 -4
  109. package/src/http/server.ts +6 -6
  110. package/src/log/emitter.ts +1 -1
  111. package/src/mcp/bundle.ts +2 -2
  112. package/src/mcp/claude.test.ts +1 -1
  113. package/src/mcp/claude.ts +4 -4
  114. package/src/mcp/hidden-mcpb.test.ts +5 -5
  115. package/src/mcp/result.ts +2 -2
  116. package/src/mcp/server.ts +3 -3
  117. package/src/mcp/tools.ts +7 -7
  118. package/src/runtime/capabilities.ts +2 -2
  119. package/src/runtime/cli-errors.ts +3 -3
  120. package/src/runtime/cli.ts +22 -22
  121. package/src/runtime/exposure.ts +2 -2
  122. package/src/runtime/invoke.test.ts +6 -6
  123. package/src/server/context.ts +3 -3
  124. package/src/server/overrides.ts +3 -3
  125. package/src/skill/generate.ts +5 -5
  126. package/src/skill/hint.ts +1 -1
  127. package/src/skill/install.ts +2 -2
  128. package/src/skill/naming.ts +1 -1
  129. package/src/test/fixtures.ts +2 -2
  130. package/src/test/integration/config.test.ts +3 -3
  131. package/src/test/integration/http.test.ts +10 -10
  132. package/src/test/integration/mcp.test.ts +6 -6
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [6.1.7] - 2026-07-24
11
+
12
+ ### Changed
13
+
14
+ - **Internal imports** — argsbarg `src/` uses relative paths instead of the `~/` tsconfig alias, so the published package resolves correctly from `node_modules` without a consumer-side tsconfig workaround.
15
+
10
16
  ## [6.1.6] - 2026-07-24
11
17
 
12
18
 
@@ -853,7 +859,8 @@ const cli = { ... } satisfies CliProgram; // or : CliProgram
853
859
  - Migrate schemas: rename every `children` property to **`commands`**; move positional definitions to **`CliPositional`** objects on `positionals` and strip `positional` / `argMin` / `argMax` from flag definitions under `options` (flags only carry `name`, `description`, `kind`, and optional `shortName`).
854
860
  - Imports: use `CliPositional` where needed; replace `CliOptionDef` with `CliOption` or `CliPositional` as appropriate.
855
861
 
856
- [Unreleased]: https://github.com/bdombro/bun-argsbarg/compare/v6.1.6...HEAD
862
+ [Unreleased]: https://github.com/bdombro/bun-argsbarg/compare/v6.1.7...HEAD
863
+ [6.1.7]: https://github.com/bdombro/bun-argsbarg/releases/tag/v6.1.7
857
864
  [6.1.6]: https://github.com/bdombro/bun-argsbarg/releases/tag/v6.1.6
858
865
  [6.1.5]: https://github.com/bdombro/bun-argsbarg/releases/tag/v6.1.5
859
866
  [6.1.4]: https://github.com/bdombro/bun-argsbarg/releases/tag/v6.1.4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "argsbarg",
3
- "version": "6.1.6",
3
+ "version": "6.1.7",
4
4
  "main": "./src/index.ts",
5
5
  "module": "./src/index.ts",
6
6
  "dependencies": {
@@ -3,10 +3,10 @@ Tests for builtins/builtins module behavior.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "bun:test";
6
- import { ParseKind, parse, postParseValidate } from "~/core/parse.ts";
7
- import type { CliProgram } from "~/core/types.ts";
8
- import { cliBuiltinDocsGroup } from "~/docs/builtin.ts";
9
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
6
+ import { ParseKind, parse, postParseValidate } from "../core/parse.ts";
7
+ import type { CliProgram } from "../core/types.ts";
8
+ import { cliBuiltinDocsGroup } from "../docs/builtin.ts";
9
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
10
10
  import { completionBashScript, completionFishScript, completionZshScript } from ".";
11
11
  import { cliBuiltinConfigureCommand, configureBuiltinOptions } from "./configure.ts";
12
12
  import { configureCommandDescription, configureSyncOptionDescription } from "./configure-copy.ts";
@@ -1,4 +1,4 @@
1
- import { CliOptionKind, type CliRouter } from "~/core/types.ts";
1
+ import { CliOptionKind, type CliRouter } from "../core/types.ts";
2
2
  import { emitConsumeLong, emitConsumeShort, emitMatchChild } from "./completion-simulate-shared.ts";
3
3
  import { collectScopes, type ScopeRec } from "./scopes.ts";
4
4
  import { escShellSingleQuoted, identToken, kHelpLong, kHelpShort, mainName } from "./shell-helpers.ts";
@@ -1,4 +1,4 @@
1
- import { CliOptionKind, type CliRouter } from "~/core/types.ts";
1
+ import { CliOptionKind, type CliRouter } from "../core/types.ts";
2
2
  import { collectScopes } from "./scopes.ts";
3
3
  import { escFishSingleQuoted, identToken } from "./shell-helpers.ts";
4
4
 
@@ -1,11 +1,11 @@
1
- import type { CliProgram } from "~/core/types.ts";
1
+ import type { CliProgram } from "../core/types.ts";
2
2
 
3
3
  /**
4
4
  * Builds the static `completion` / `bash` / `zsh` / `fish` command subtree (merged into the program root at runtime).
5
5
  */
6
- export function cliBuiltinCompletionGroup(program: CliProgram): import("~/core/types.ts").CliRouter {
6
+ export function cliBuiltinCompletionGroup(program: CliProgram): import("../core/types.ts").CliRouter {
7
7
  const appName = program.key;
8
- const router: import("~/core/types.ts").CliRouter = {
8
+ const router: import("../core/types.ts").CliRouter = {
9
9
  key: "completion",
10
10
  cli: { hidden: true },
11
11
  description: "Generate the autocompletion script for shells.",
@@ -1,4 +1,4 @@
1
- import { CliOptionKind, type CliRouter } from "~/core/types.ts";
1
+ import { CliOptionKind, type CliRouter } from "../core/types.ts";
2
2
  import { emitConsumeLong, emitConsumeShort, emitMatchChild } from "./completion-simulate-shared.ts";
3
3
  import { collectScopes, type ScopeRec } from "./scopes.ts";
4
4
  import { escShellSingleQuoted, identToken, kHelpLong, kHelpShort, mainName } from "./shell-helpers.ts";
@@ -6,9 +6,9 @@ import { describe, expect, test } from "bun:test";
6
6
  import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { dirname, join } from "node:path";
9
- import { readBindings } from "~/config/bindings.ts";
10
- import { resolveAppConfigPath, writeAppConfigFile } from "~/config/file.ts";
11
- import { Cli, type CliProgram } from "~/index";
9
+ import { readBindings } from "../config/bindings.ts";
10
+ import { resolveAppConfigPath, writeAppConfigFile } from "../config/file.ts";
11
+ import { Cli, type CliProgram } from "../index.ts";
12
12
 
13
13
  function configFixture(): CliProgram {
14
14
  return {
@@ -2,20 +2,20 @@
2
2
  Built-in `configure get` / `configure set` subcommands.
3
3
  */
4
4
 
5
- import { clearFileValue, setBinding } from "~/config/bindings.ts";
6
- import { bootstrapAppConfig } from "~/config/bootstrap.ts";
5
+ import { clearFileValue, setBinding } from "../config/bindings.ts";
6
+ import { bootstrapAppConfig } from "../config/bootstrap.ts";
7
7
  import {
8
8
  configCommandsEnabled,
9
9
  configEntrySensitive,
10
10
  configMcpSetEnabled,
11
11
  defaultConfigEntryTitle,
12
- } from "~/config/entry.ts";
13
- import { writeAppConfigFile } from "~/config/file.ts";
14
- import { captureMappedHostEnv, exportConfigToEnv, resolveAppConfig } from "~/config/resolve.ts";
15
- import { configPropertySchema, effectiveJsonSchema } from "~/config/schema.ts";
16
- import { parseConfigSetValue } from "~/config/validate.ts";
17
- import type { CliLeaf, CliOption, CliProgram } from "~/core/types.ts";
18
- import { CliOptionKind } from "~/core/types.ts";
12
+ } from "../config/entry.ts";
13
+ import { writeAppConfigFile } from "../config/file.ts";
14
+ import { captureMappedHostEnv, exportConfigToEnv, resolveAppConfig } from "../config/resolve.ts";
15
+ import { configPropertySchema, effectiveJsonSchema } from "../config/schema.ts";
16
+ import { parseConfigSetValue } from "../config/validate.ts";
17
+ import type { CliLeaf, CliOption, CliProgram } from "../core/types.ts";
18
+ import { CliOptionKind } from "../core/types.ts";
19
19
 
20
20
  const JSON_OPTION: CliOption = {
21
21
  name: "json",
@@ -1,7 +1,7 @@
1
1
  /** Capability-aware labels for configure builtin and docs copy. */
2
2
 
3
- import type { CliProgram } from "~/core/types.ts";
4
- import type { CliCapabilities } from "~/runtime/capabilities.ts";
3
+ import type { CliProgram } from "../core/types.ts";
4
+ import type { CliCapabilities } from "../runtime/capabilities.ts";
5
5
 
6
6
  type Kind = "skills" | "mcp" | "config";
7
7
 
@@ -1,4 +1,4 @@
1
- import { configCommandsEnabled, configMcpSetEnabled } from "~/config/entry.ts";
1
+ import { configCommandsEnabled, configMcpSetEnabled } from "../config/entry.ts";
2
2
  import {
3
3
  CliFallbackMode,
4
4
  type CliLeaf,
@@ -6,8 +6,8 @@ import {
6
6
  CliOptionKind,
7
7
  type CliProgram,
8
8
  type CliRouter,
9
- } from "~/core/types.ts";
10
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
9
+ } from "../core/types.ts";
10
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
11
11
  import { configureConfigSubcommands } from "./config.ts";
12
12
  import {
13
13
  configureCommandDescription,
@@ -1,13 +1,13 @@
1
- import { cliConfigure } from "~/configure";
2
- import type { ParseResult } from "~/core/parse.ts";
3
- import { ParseKind } from "~/core/parse.ts";
4
- import type { CliNode, CliProgram, CliRouter } from "~/core/types.ts";
5
- import { isCliLeaf } from "~/core/types.ts";
6
- import { cliBuiltinDocsGroupIfEnabled } from "~/docs/builtin.ts";
7
- import { runMcpBundle } from "~/mcp/bundle.ts";
8
- import { capabilityDeniedMessage, resolveCapabilities } from "~/runtime/capabilities.ts";
9
- import { Cli } from "~/runtime/cli.ts";
10
- import { serveOverridesFromOpts } from "~/server/overrides.ts";
1
+ import { cliConfigure } from "../configure/index.ts";
2
+ import type { ParseResult } from "../core/parse.ts";
3
+ import { ParseKind } from "../core/parse.ts";
4
+ import type { CliNode, CliProgram, CliRouter } from "../core/types.ts";
5
+ import { isCliLeaf } from "../core/types.ts";
6
+ import { cliBuiltinDocsGroupIfEnabled } from "../docs/builtin.ts";
7
+ import { runMcpBundle } from "../mcp/bundle.ts";
8
+ import { capabilityDeniedMessage, resolveCapabilities } from "../runtime/capabilities.ts";
9
+ import { Cli } from "../runtime/cli.ts";
10
+ import { serveOverridesFromOpts } from "../server/overrides.ts";
11
11
  import { completionBashScript } from "./completion-bash.ts";
12
12
  import { completionFishScript } from "./completion-fish.ts";
13
13
  import { cliBuiltinCompletionGroup as completionGroup } from "./completion-group.ts";
@@ -1,7 +1,7 @@
1
- import type { CliFallbackMode, CliNode, CliOption, CliPositional, CliProgram } from "~/core/types.ts";
2
- import { isCliRouter } from "~/core/types.ts";
3
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
4
- import { isCliSchemaHidden, visibleOptions } from "~/runtime/exposure.ts";
1
+ import type { CliFallbackMode, CliNode, CliOption, CliPositional, CliProgram } from "../core/types.ts";
2
+ import { isCliRouter } from "../core/types.ts";
3
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
4
+ import { isCliSchemaHidden, visibleOptions } from "../runtime/exposure.ts";
5
5
  import { resolveBuiltins } from "./registry.ts";
6
6
 
7
7
  /** JSON-safe command node (no handlers). */
@@ -5,11 +5,11 @@ import {
5
5
  CliOptionKind,
6
6
  type CliProgram,
7
7
  type CliRouter,
8
- } from "~/core/types.ts";
9
- import { docsEnabled } from "~/docs/resolve.ts";
10
- import { httpUserPathGlob, resolveHttpPathPrefix } from "~/http/paths.ts";
11
- import { resolveHttpListenAddress } from "~/http/server.ts";
12
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
8
+ } from "../core/types.ts";
9
+ import { docsEnabled } from "../docs/resolve.ts";
10
+ import { httpUserPathGlob, resolveHttpPathPrefix } from "../http/paths.ts";
11
+ import { resolveHttpListenAddress } from "../http/server.ts";
12
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
13
13
 
14
14
  const HTTP_SERVE_OPTIONS: CliOption[] = [
15
15
  { name: "host", description: "Listen host.", kind: CliOptionKind.String },
@@ -5,9 +5,9 @@ import {
5
5
  CliOptionKind,
6
6
  type CliProgram,
7
7
  type CliRouter,
8
- } from "~/core/types.ts";
9
- import { docsEnabled } from "~/docs/resolve.ts";
10
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
8
+ } from "../core/types.ts";
9
+ import { docsEnabled } from "../docs/resolve.ts";
10
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
11
11
 
12
12
  const MCP_SERVE_OPTIONS: CliOption[] = [
13
13
  { name: "obscure-errors", description: "Hide unexpected errors from clients.", kind: CliOptionKind.Presence },
@@ -1,8 +1,8 @@
1
- import type { CliLeaf, CliNode, CliProgram, CliRouter } from "~/core/types.ts";
2
- import { isCliLeaf } from "~/core/types.ts";
3
- import type { CliCapabilities } from "~/runtime/capabilities.ts";
4
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
5
- import { isCliHidden, presentationNode, visibleOptions } from "~/runtime/exposure.ts";
1
+ import type { CliLeaf, CliNode, CliProgram, CliRouter } from "../core/types.ts";
2
+ import { isCliLeaf } from "../core/types.ts";
3
+ import type { CliCapabilities } from "../runtime/capabilities.ts";
4
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
5
+ import { isCliHidden, presentationNode, visibleOptions } from "../runtime/exposure.ts";
6
6
  import { resolveBuiltins } from "./registry.ts";
7
7
 
8
8
  /** All built-in command nodes for argv parsing (includes hidden builtins). */
@@ -1,6 +1,6 @@
1
- import type { CliNode, CliProgram } from "~/core/types.ts";
2
- import { cliBuiltinDocsGroupIfEnabled } from "~/docs/builtin.ts";
3
- import type { CliCapabilities } from "~/runtime/capabilities.ts";
1
+ import type { CliNode, CliProgram } from "../core/types.ts";
2
+ import { cliBuiltinDocsGroupIfEnabled } from "../docs/builtin.ts";
3
+ import type { CliCapabilities } from "../runtime/capabilities.ts";
4
4
  import { cliBuiltinCompletionGroup } from "./completion-group.ts";
5
5
  import { cliBuiltinConfigureCommand } from "./configure.ts";
6
6
  import { cliBuiltinHttpCommand } from "./http.ts";
@@ -2,12 +2,12 @@
2
2
  Shared completion scope walk used by bash, zsh, and fish emitters.
3
3
  */
4
4
 
5
- import { type CliNode, type CliRouter, isCliLeaf, isCliRouter } from "~/core/types.ts";
5
+ import { type CliNode, type CliRouter, isCliLeaf, isCliRouter } from "../core/types.ts";
6
6
 
7
7
  /** One tab-completion scope: child commands, options, and path key for the schema walk. */
8
8
  export interface ScopeRec {
9
9
  kids: CliNode[];
10
- opts: import("~/core/types.ts").CliOption[];
10
+ opts: import("../core/types.ts").CliOption[];
11
11
  path: string;
12
12
  wantsFiles: boolean;
13
13
  }
@@ -1,4 +1,4 @@
1
- import type { CliLeaf } from "~/core/types.ts";
1
+ import type { CliLeaf } from "../core/types.ts";
2
2
 
3
3
  /** Top-level `version` built-in (leaf). */
4
4
  export function cliBuiltinVersionCommand(): CliLeaf {
@@ -5,8 +5,8 @@ Tests for cli-tool/full-example-capabilities module behavior.
5
5
  import { describe, expect, test } from "bun:test";
6
6
  import { readFileSync } from "node:fs";
7
7
  import { join } from "node:path";
8
- import { CliOptionKind, type CliProgram } from "~/core/types.ts";
9
- import { resolveCapabilities } from "~/runtime/capabilities.ts";
8
+ import { CliOptionKind, type CliProgram } from "../core/types.ts";
9
+ import { resolveCapabilities } from "../runtime/capabilities.ts";
10
10
 
11
11
  const exampleRoot = join(import.meta.dir, "../../examples/full-example");
12
12
  const programSource = readFileSync(join(exampleRoot, "src/program.ts"), "utf8");
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  /** Argsbarg package CLI (`bunx argsbarg`) — bootstrap and tooling; library API is `import from "argsbarg"`. */
3
3
 
4
- import { Cli } from "~/index";
4
+ import { Cli } from "../index.ts";
5
5
  import { program } from "./program.ts";
6
6
 
7
7
  const cli = new Cli(program);
@@ -2,8 +2,8 @@
2
2
  Argsbarg developer tools — bootstrap consumer CLIs via `create`.
3
3
  */
4
4
 
5
- import { CliOptionKind, type CliProgram } from "~/index";
6
5
  import pkg from "../../package.json" with { type: "json" };
6
+ import { CliOptionKind, type CliProgram } from "../index.ts";
7
7
  import { runCreate } from "./run-create.ts";
8
8
  import { runSchemagenCli } from "./run-schemagen.ts";
9
9
 
@@ -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";