@dotdrelle/wiki-manager 0.6.17 → 0.6.18

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.
package/README.md CHANGED
@@ -287,6 +287,11 @@ the package, in the directory where the command is launched:
287
287
  `WIKI_WORKSPACES_DIR` is available as an explicit override for the workspaces
288
288
  directory, but not required for normal usage.
289
289
 
290
+ `WIKI_MANAGER_ENDPOINTS_FILE` can override the default
291
+ `./mcp.endpoints.json`. Compose templates remain in the installed package, while
292
+ relative volumes and runtime state are resolved from the directory where
293
+ `wiki-workspace` is launched.
294
+
290
295
  ### Local `.env`
291
296
 
292
297
  Copy `.env.example` to `.env` and fill in your values:
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ BUN_BIN="$(command -v bun 2>/dev/null || true)"
5
+ if [[ -z "$BUN_BIN" && -n "${BUN_INSTALL:-}" && -x "$BUN_INSTALL/bin/bun" ]]; then
6
+ BUN_BIN="$BUN_INSTALL/bin/bun"
7
+ fi
8
+ if [[ -z "$BUN_BIN" && -x "${HOME:-}/.bun/bin/bun" ]]; then
9
+ BUN_BIN="$HOME/.bun/bin/bun"
10
+ fi
11
+ if [[ -z "$BUN_BIN" ]]; then
12
+ printf '%s\n' \
13
+ 'wiki-manager requires Bun >= 1.2.' \
14
+ 'Install Bun from https://bun.sh/docs/installation or add it to PATH.' >&2
15
+ exit 127
16
+ fi
17
+
18
+ SCRIPT_SOURCE="${BASH_SOURCE[0]}"
19
+ while [[ -L "$SCRIPT_SOURCE" ]]; do
20
+ SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_SOURCE")" && pwd)"
21
+ SCRIPT_TARGET="$(readlink "$SCRIPT_SOURCE")"
22
+ if [[ "$SCRIPT_TARGET" = /* ]]; then
23
+ SCRIPT_SOURCE="$SCRIPT_TARGET"
24
+ else
25
+ SCRIPT_SOURCE="$SCRIPT_DIR/$SCRIPT_TARGET"
26
+ fi
27
+ done
28
+ BIN_DIR="$(cd "$(dirname "$SCRIPT_SOURCE")" && pwd)"
29
+
30
+ exec "$BUN_BIN" "$BIN_DIR/wiki-manager.js" "$@"
File without changes
package/package.json CHANGED
@@ -1,19 +1,14 @@
1
1
  {
2
2
  "name": "@dotdrelle/wiki-manager",
3
- "version": "0.6.17",
3
+ "version": "0.6.18",
4
4
  "description": "Agentic shell and orchestration cockpit for llm-wiki workspaces.",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "author": "dotrelle",
7
7
  "type": "module",
8
8
  "bin": {
9
- "wiki-manager": "bin/wiki-manager.js",
9
+ "wiki-manager": "bin/wiki-manager",
10
10
  "wiki-workspace": "wiki-workspace"
11
11
  },
12
- "scripts": {
13
- "start": "bun ./bin/wiki-manager.js",
14
- "test": "node --test src/core/activity.test.js src/core/agentEvents.test.js src/core/plan.test.js src/core/mcp.test.js src/core/documentIntake.test.js",
15
- "check": "bun ./bin/wiki-manager.js --version && bun ./bin/wiki-manager.js --help && bun ./bin/wiki-manager.js --once \"verifie le mode agent\""
16
- },
17
12
  "engines": {
18
13
  "node": ">=22.0.0",
19
14
  "bun": ">=1.2.0"
@@ -40,7 +35,6 @@
40
35
  "orchestration",
41
36
  "cli"
42
37
  ],
43
- "packageManager": "pnpm@10.29.2",
44
38
  "dependencies": {
45
39
  "@langchain/langgraph": "^1.3.2",
46
40
  "@opentui/core": "^0.3.2",
@@ -53,5 +47,10 @@
53
47
  },
54
48
  "devDependencies": {
55
49
  "@types/node": "^26.0.0"
50
+ },
51
+ "scripts": {
52
+ "start": "bun ./bin/wiki-manager.js",
53
+ "test": "node --test src/core/activity.test.js src/core/agentEvents.test.js src/core/plan.test.js src/core/mcp.test.js src/core/documentIntake.test.js",
54
+ "check": "bun ./bin/wiki-manager.js --version && bun ./bin/wiki-manager.js --help && bun ./bin/wiki-manager.js --once \"verifie le mode agent\""
56
55
  }
57
- }
56
+ }
package/src/core/mcp.js CHANGED
@@ -205,7 +205,7 @@ async function mcpRequest(endpoint, method, params, signal, options = {}) {
205
205
  params: {
206
206
  protocolVersion: '2025-06-18',
207
207
  capabilities: {},
208
- clientInfo: { name: 'wiki-manager', version: '0.6.17' },
208
+ clientInfo: { name: 'wiki-manager', version: '0.6.18' },
209
209
  },
210
210
  }),
211
211
  });
package/wiki-workspace CHANGED
@@ -15,6 +15,7 @@ ROOT_DIR="$(cd "$(dirname "$SCRIPT_SOURCE")" && pwd)"
15
15
  DEFAULT_MANAGER_DIR="$PWD"
16
16
  WORKSPACES_DIR="${WIKI_WORKSPACES_DIR:-$DEFAULT_MANAGER_DIR/workspaces}"
17
17
  MANAGER_ENV_FILE="${WIKI_MANAGER_ENV_FILE:-$DEFAULT_MANAGER_DIR/.env}"
18
+ MANAGER_ENDPOINTS_FILE="${WIKI_MANAGER_ENDPOINTS_FILE:-$DEFAULT_MANAGER_DIR/mcp.endpoints.json}"
18
19
 
19
20
  usage() {
20
21
  cat <<'EOF'
@@ -169,7 +170,8 @@ agents_compose() {
169
170
 
170
171
  _agents_dc() {
171
172
  WORKSPACES_ROOT="$workspaces_root" AGENTS_DATA_DIR="$agents_data_dir" \
172
- docker compose "${compose_env_args[@]}" -f "$agents_compose_file" -p wiki-agents "$@"
173
+ docker compose --project-directory "$DEFAULT_MANAGER_DIR" \
174
+ "${compose_env_args[@]}" -f "$agents_compose_file" -p wiki-agents "$@"
173
175
  }
174
176
 
175
177
  case "$subcommand" in
@@ -204,13 +206,12 @@ agents_compose() {
204
206
  ;;
205
207
  status)
206
208
  [[ $# -eq 0 ]] || die "agents status does not take arguments"
207
- local endpoints_file="$ROOT_DIR/mcp.endpoints.json"
208
- if [[ ! -f "$endpoints_file" ]]; then
209
- printf 'No mcp.endpoints.json found at %s\n' "$endpoints_file" >&2
209
+ if [[ ! -f "$MANAGER_ENDPOINTS_FILE" ]]; then
210
+ printf 'No mcp.endpoints.json found at %s\n' "$MANAGER_ENDPOINTS_FILE" >&2
210
211
  exit 1
211
212
  fi
212
213
  command -v node >/dev/null 2>&1 || die "agents status requires node"
213
- node - "$endpoints_file" "$MANAGER_ENV_FILE" <<'NODE'
214
+ node - "$MANAGER_ENDPOINTS_FILE" "$MANAGER_ENV_FILE" <<'NODE'
214
215
  import fs from 'node:fs';
215
216
 
216
217
  const [, , endpointsFile, envFile] = process.argv;
@@ -317,10 +318,10 @@ NODE
317
318
  }
318
319
 
319
320
  ensure_manager_endpoints_file() {
320
- local endpoints_file="$ROOT_DIR/mcp.endpoints.json"
321
- if [[ ! -f "$endpoints_file" && -f "$ROOT_DIR/mcp.endpoints.example.json" ]]; then
322
- cp "$ROOT_DIR/mcp.endpoints.example.json" "$endpoints_file"
323
- printf 'Created %s (from mcp.endpoints.example.json — add headers/tokens as needed)\n' "$endpoints_file"
321
+ if [[ ! -f "$MANAGER_ENDPOINTS_FILE" && -f "$ROOT_DIR/mcp.endpoints.example.json" ]]; then
322
+ mkdir -p "$(dirname "$MANAGER_ENDPOINTS_FILE")"
323
+ cp "$ROOT_DIR/mcp.endpoints.example.json" "$MANAGER_ENDPOINTS_FILE"
324
+ printf 'Created %s (from mcp.endpoints.example.json — add headers/tokens as needed)\n' "$MANAGER_ENDPOINTS_FILE"
324
325
  fi
325
326
  }
326
327
 
@@ -448,7 +449,8 @@ compose_for_workspace() {
448
449
  WIKI_SERVE_PORT="$serve_port" \
449
450
  WIKI_MCP_PORT="$mcp_port" \
450
451
  PRODUCTION_MCP_PORT="$prod_port" \
451
- docker compose "${compose_env_args[@]}" -f "$ROOT_DIR/docker-compose.yml" -p "$project" "$@"
452
+ docker compose --project-directory "$DEFAULT_MANAGER_DIR" \
453
+ "${compose_env_args[@]}" -f "$ROOT_DIR/docker-compose.yml" -p "$project" "$@"
452
454
  }
453
455
 
454
456
  logs_args() {
@@ -625,7 +627,8 @@ config_workspace() {
625
627
  WIKI_WORKSPACE_PATH="$target_path" \
626
628
  WIKI_SERVE_PORT="$serve_port" \
627
629
  WIKI_MCP_PORT="$mcp_port" \
628
- docker compose "${compose_env_args[@]}" -f "$ROOT_DIR/docker-compose.yml" run --rm wiki init
630
+ docker compose --project-directory "$DEFAULT_MANAGER_DIR" \
631
+ "${compose_env_args[@]}" -f "$ROOT_DIR/docker-compose.yml" run --rm wiki init
629
632
 
630
633
  printf 'Workspace ready: %s\n' "$target_path"
631
634
  printf 'Start with: wiki-workspace up %s\n' "$workspace"
@@ -647,7 +650,7 @@ up_workspace() {
647
650
  printf 'Workspace UI: http://localhost:%s\n' "$serve_port"
648
651
  printf 'Chat: http://localhost:%s/chat\n' "$serve_port"
649
652
  printf 'Production: http://localhost:%s/mcp/\n' "$prod_port"
650
- printf 'External MCPs: see %s\n' "$ROOT_DIR/mcp.endpoints.json"
653
+ printf 'External MCPs: see %s\n' "$MANAGER_ENDPOINTS_FILE"
651
654
 
652
655
  if [[ "$open_browser" == "1" ]]; then
653
656
  wait_and_open "http://localhost:${serve_port}/chat" &