{
  "name": "@polycode-projects/the-mechanical-code-talker",
  "version": "7.0.0",
  "private": false,
  "type": "module",
  "description": "The Mechanical Code Talker (tmct) — a tolerant, offline, $0 chat surface that guides you toward precision queries about a software repository. ELIZA/PARRY-style but domain-obsessed with code. No model calls; indexes a repo on request (tmct index) or reads any producer's graph.",
  "keywords": [
    "chatbot",
    "no-llm",
    "offline",
    "deterministic",
    "eliza",
    "parry",
    "nlp",
    "wink-nlp",
    "owl",
    "rdf",
    "ontology",
    "controlled-natural-language",
    "ace",
    "knowledge-graph",
    "provenance",
    "code-navigation",
    "cli"
  ],
  "license": "MPL-2.0",
  "author": "Polycode Limited",
  "homepage": "https://tmct.polycode.co.uk/",
  "repository": {
    "type": "git",
    "url": "git+https://gitlab.com/polycode-projects/the-mechanical-code-talker.git"
  },
  "bugs": {
    "url": "https://gitlab.com/polycode-projects/the-mechanical-code-talker/-/issues"
  },
  "engines": {
    "node": ">=24"
  },
  "bin": {
    "tmct": "./bin/tmct.mjs"
  },
  "main": "./src/services/index.mjs",
  "exports": {
    ".": "./src/services/index.mjs",
    "./plan": "./src/domain/router/drive.mjs",
    "./generateCompletion": "./src/services/completions.mjs",
    "./createCompletionsGraphAdapter": "./src/services/completions.mjs",
    "./ingest": "./src/services/extract-facts.mjs",
    "./digest": "./src/adapters/corpus/digest-bank.mjs",
    "./memory": "./src/adapters/memory/core.mjs",
    "./repository-interface": "./src/adapters/repository-interface.mjs",
    "./conformance": "./src/tools/conformance.mjs",
    "./ask-browser": "./src/surfaces/web/graph-ask-browser-entry.mjs",
    "./news": "./src/services/news-exports.mjs",
    "./phrase": "./src/domain/phrase-exports.mjs",
    "./envelope": "./test-benchmarks/agentbench/envelope-reader.mjs",
    "./memory-backend-conformance": "./src/tools/memory-backend-conformance.mjs",
    "./memory-backends": "./src/adapters/memory/backends-exports.mjs"
  },
  "files": [
    "bin/",
    "src/",
    "!src/adapters/pii-scan.mjs",
    "!src/domain/corpus-matrix.mjs",
    "!src/domain/licences.mjs",
    "!src/domain/markdown-links.mjs",
    "!src/domain/pack-manifest.mjs",
    "!src/domain/persona/codegen.mjs",
    "!src/domain/pii-rules.mjs",
    "!src/domain/publish-gate.mjs",
    "!src/domain/schemaorg/turtle.mjs",
    "!src/domain/version-stamp.mjs",
    "README.md",
    "LICENSE",
    "corpus/",
    "!corpus/wordnet/generate.mjs",
    "!corpus/namenet/generate.mjs",
    "data/",
    "!data/sprites-large/",
    "test-benchmarks/agentbench/envelope.json",
    "test-benchmarks/agentbench/envelope-reader.mjs"
  ],
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "ink": "^7.1.0",
    "react": "^19.2.7",
    "smol-toml": "^1.7.0",
    "typescript": "~5.6.2",
    "wink-eng-lite-web-model": "^1.8.1",
    "wink-nlp": "^2.4.0"
  },
  "peerDependencies": {
    "@aws-sdk/client-lambda": ">=3",
    "@aws-sdk/lib-dynamodb": ">=3"
  },
  "peerDependenciesMeta": {
    "@aws-sdk/client-lambda": {
      "optional": true
    },
    "@aws-sdk/lib-dynamodb": {
      "optional": true
    }
  },
  "scripts": {
    "help": "node --disable-warning=ExperimentalWarning bin/tmct.mjs --help",
    "test": "node scripts/ensure-worlds-pack.mjs && node scripts/ensure-sprite-facts.mjs && node --disable-warning=ExperimentalWarning --test --test-concurrency=8 \"test/**/*.test.mjs\"",
    "test:smoke": "node --disable-warning=ExperimentalWarning --test test/smoke/*.test.mjs",
    "test:fast": "node scripts/ensure-worlds-pack.mjs && node --disable-warning=ExperimentalWarning --test --test-concurrency=8 test/smoke/*.test.mjs test/fast/*.test.mjs test/tools/ask.test.mjs test/tools/server.test.mjs test/estate/import-layers.test.mjs",
    "test:unit": "node scripts/ensure-worlds-pack.mjs && node scripts/ensure-sprite-facts.mjs && node --disable-warning=ExperimentalWarning --test --test-concurrency=8 $(node scripts/list-unit-test-files.mjs)",
    "test:slow": "node --disable-warning=ExperimentalWarning --test test/bench/synthbench-code.test.mjs test/readme/readme.test.mjs test/corpus/bench-smoke.test.mjs test/corpus/inference.test.mjs",
    "test:e2e": "node --disable-warning=ExperimentalWarning --test \"test-e2e/*.test.mjs\"",
    "test:e2e:heavy": "node --disable-warning=ExperimentalWarning --test \"test-e2e/heavy/*.test.mjs\"",
    "check:readme": "TMCT_CHECK_README=1 node --disable-warning=ExperimentalWarning --test test-e2e/readme-examples.test.mjs",
    "e2e:browsers": "playwright install chromium",
    "capture:hero": "node --disable-warning=ExperimentalWarning test-capture/hero-mudiii.capture.mjs",
    "gen:screenshots": "node scripts/gen-screenshots.mjs",
    "gen:og-images": "node scripts/gen-og-images.mjs",
    "probe:news-sources": "node scripts/probe-news-sources.mjs",
    "bench:news": "node scripts/news-bench/run.mjs --seed=xl",
    "bench:news:fast": "node scripts/news-bench/run.mjs --seed=fixture",
    "bench:news:iterate": "node scripts/news-bench/iterate.mjs",
    "bench:inputs": "node scripts/news-bench/ensure-bench-inputs.mjs",
    "check:links": "node scripts/check-links.mjs",
    "check:pii": "node scripts/pii-lint.mjs",
    "check:pack": "node scripts/check-pack-manifest.mjs",
    "check:licences": "node scripts/check-licences.mjs",
    "check:models": "node scripts/check-model-manifest.mjs",
    "check:model-credits": "node scripts/gen-model-credits.mjs --check",
    "gen:model-credits": "node scripts/gen-model-credits.mjs",
    "check:publint": "npx --no-install publint",
    "check:tool-docs": "node scripts/generate-tool-docs.mjs --check",
    "check:budgets": "node scripts/check-tier-budgets.mjs",
    "check:publish": "node scripts/check-publish.mjs",
    "check:all": "npm run check:links && npm run check:pii && npm run check:licences && npm run check:models && npm run check:model-credits && npm run check:publint && npm run check:tool-docs && npm run check:budgets",
    "smoke:deploy": "node scripts/post-deploy-smoke.mjs",
    "wait:site": "node scripts/wait-for-site.mjs",
    "chat": "node --disable-warning=ExperimentalWarning bin/tmct.mjs",
    "chat:repo": "node --disable-warning=ExperimentalWarning bin/tmct.mjs chat --repo",
    "chat:plain": "node --disable-warning=ExperimentalWarning bin/tmct.mjs chat --plain",
    "chat:narrate": "node --disable-warning=ExperimentalWarning bin/tmct.mjs chat --narrate",
    "init": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus code && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus conceptnet",
    "init:small": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init",
    "init:sqlite": "npm run init:small",
    "init:persona:human": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init --with-persona human",
    "init:persona:empty": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init --with-persona empty",
    "init:large": "npm run init",
    "init:xl": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init --persona-size large && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus code && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus conceptnet && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus wordnet-xl && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus namenet && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus child",
    "init:xxl": "node --disable-warning=ExperimentalWarning bin/tmct.mjs init --persona-size large && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus code && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus conceptnet && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus wordnet-full && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus namenet && node --disable-warning=ExperimentalWarning bin/tmct.mjs import --corpus child",
    "memory": "node --disable-warning=ExperimentalWarning bin/tmct.mjs memory",
    "memory:verbose": "node --disable-warning=ExperimentalWarning bin/tmct.mjs memory --verbose",
    "syllogise": "node --disable-warning=ExperimentalWarning bin/tmct.mjs syllogise",
    "classify": "node --disable-warning=ExperimentalWarning bin/tmct.mjs classify",
    "news": "node --disable-warning=ExperimentalWarning bin/tmct.mjs news",
    "viz": "node --disable-warning=ExperimentalWarning bin/tmct.mjs viz",
    "viz:term": "node --disable-warning=ExperimentalWarning bin/tmct.mjs viz --term",
    "plan": "node --disable-warning=ExperimentalWarning bin/tmct.mjs plan",
    "plan:json": "node --disable-warning=ExperimentalWarning bin/tmct.mjs plan --json",
    "cli": "node --disable-warning=ExperimentalWarning bin/tmct.mjs cli",
    "cli:digest": "node --disable-warning=ExperimentalWarning bin/tmct.mjs cli digest",
    "import": "node --disable-warning=ExperimentalWarning bin/tmct.mjs import",
    "extend": "node --disable-warning=ExperimentalWarning bin/tmct.mjs extend --validate",
    "serve": "node --disable-warning=ExperimentalWarning bin/tmct.mjs serve",
    "serve:public": "node --disable-warning=ExperimentalWarning bin/tmct.mjs serve --host 0.0.0.0 --port 8787",
    "example:mini": "node --disable-warning=ExperimentalWarning bin/tmct.mjs chat --repo examples/mini-webapp --ephemeral",
    "example:polyglot": "node --disable-warning=ExperimentalWarning bin/tmct.mjs chat --repo examples/polyglot --ephemeral",
    "agentbench:run": "node test-benchmarks/agentbench/run.mjs",
    "infbench": "node test-benchmarks/infbench/generate-cases.mjs && node test-benchmarks/infbench/run.mjs",
    "idxbench:run": "node test-benchmarks/idxbench/run.mjs",
    "researchbench:run": "node test-benchmarks/researchbench/run.mjs",
    "synthbench:code": "node test-benchmarks/synthbench/code/run.mjs",
    "ingestbench:run": "node test-benchmarks/ingestbench/run.mjs",
    "ingestbench:judge": "node test-benchmarks/ingestbench/judge.mjs",
    "corpus:matrix": "node scripts/corpus-matrix.mjs",
    "corpus:matrix:gaps": "node scripts/corpus-matrix.mjs --gaps",
    "template:coverage": "node scripts/template-coverage.mjs",
    "audit": "npm audit --audit-level=high",
    "audit:fix": "npm audit fix",
    "demo:build": "node scripts/build-demo-site.mjs",
    "bench:receipts": "node scripts/bench-receipts.mjs",
    "claims": "node scripts/claims/run-all.mjs",
    "claim:prose-band": "node scripts/claims/claim-prose-band.mjs",
    "claim:commonsenseqa": "node scripts/claims/claim-commonsenseqa.mjs",
    "claim:planner": "node scripts/claims/claim-planner.mjs",
    "claim:syllogist": "node scripts/claims/claim-syllogist.mjs",
    "claim:news": "node scripts/news-rig.mjs",
    "roll": "node scripts/roll.mjs",
    "build:ask-bundle": "node scripts/build-ask-bundle.mjs",
    "build:row-service": "rm -rf server/row-service/dist && esbuild server/row-service/handler.mjs --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);\" --bundle --platform=node --target=node20 --external:@aws-sdk/lib-dynamodb --external:@aws-sdk/client-dynamodb --external:@aws-sdk/client-lambda --format=esm --outfile=server/row-service/dist/handler.mjs",
    "build:turn-service": "rm -rf server/turn-service/dist && esbuild server/turn-service/handler.mjs --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);\" --bundle --platform=node --target=node20 --external:@aws-sdk/lib-dynamodb --external:@aws-sdk/client-dynamodb --external:@aws-sdk/client-lambda --format=esm --outfile=server/turn-service/dist/handler.mjs",
    "build:turn-seed": "node server/turn-service/build-seed.mjs",
    "build:news-worker": "rm -rf server/news-worker/dist && esbuild server/news-worker/handler.mjs --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);\" --bundle --platform=node --target=node20 --external:@aws-sdk/lib-dynamodb --external:@aws-sdk/client-dynamodb --external:@aws-sdk/client-lambda --format=esm --outfile=server/news-worker/dist/handler.mjs",
    "build:chat-bundle": "node scripts/build-chat-bundle.mjs",
    "build:spider-fly-bundle": "node scripts/build-spider-fly-bundle.mjs",
    "build:plan-bundle": "node scripts/build-plan-bundle.mjs",
    "build:claims-bundle": "node scripts/build-claims-bundle.mjs",
    "build:ledger-bundle": "node scripts/build-ledger-bundle.mjs",
    "build:ingest-bundle": "node scripts/build-ingest-bundle.mjs",
    "build:research-bundle": "node scripts/build-research-bundle.mjs",
    "build:news-bundle": "node scripts/build-news-bundle.mjs",
    "build:mud-bundle": "node scripts/build-mud-bundle.mjs",
    "build:mudiii-bundle": "node scripts/build-mudiii-bundle.mjs",
    "build:sprites-bundle": "node scripts/build-sprites-bundle.mjs",
    "build:wink-vendor": "node scripts/build-wink-vendor.mjs",
    "build:three-vendor": "node scripts/build-three-vendor.mjs",
    "build:chat-seed": "node scripts/build-chat-seed.mjs",
    "build:seed-sqlite:mid": "node scripts/build-seed-sqlite.mjs mid",
    "build:seed-sqlite:xl": "node scripts/build-seed-sqlite.mjs xl",
    "build:seed-sqlite": "node scripts/build-seed-sqlite.mjs",
    "verify:image": "bash scripts/verify-image-local.sh",
    "build:demo-graph": "node scripts/build-demo-graph.mjs",
    "build:demo-pack": "node scripts/build-demo-pack.mjs",
    "build:demo-sprites-pack": "node scripts/build-demo-sprites-pack.mjs",
    "build:demo-memory": "node scripts/build-demo-memory.mjs",
    "gen:sprite-facts": "node scripts/gen-sprite-facts.mjs",
    "gen:tool-docs": "node scripts/generate-tool-docs.mjs",
    "gen:collisions": "node scripts/generate-real-word-collisions.mjs",
    "gen:wordnet": "node corpus/wordnet/generate.mjs",
    "gen:tier2": "node corpus/tier2/generate.mjs --verify",
    "gen:prose-corpus": "node scripts/fetch-prose-corpus.mjs",
    "gen:reference-pack": "node scripts/fetch-reference-pack.mjs",
    "gen:child-corpus": "node scripts/fetch-child-corpus.mjs",
    "measure:child-corpus": "node scripts/measure-child-corpus.mjs",
    "gen:variants": "node scripts/generate-template-variants.mjs",
    "gen:worlds-pack": "node scripts/build-worlds-pack.mjs",
    "extract": "node --disable-warning=ExperimentalWarning bin/tmct.mjs extract",
    "extract:facts": "node --disable-warning=ExperimentalWarning bin/tmct.mjs extract"
  },
  "devDependencies": {
    "@aws-sdk/lib-dynamodb": "3.1106.0",
    "esbuild": "0.28.1",
    "ink-testing-library": "4.0.0",
    "playwright": "1.61.1",
    "publint": "0.3.21",
    "three": "0.185.1",
    "yaml": "2.9.0"
  }
}
