agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
537 lines (536 loc) • 15.2 kB
JSON
{
"name": "agentfootprint",
"version": "12.3.0",
"description": "The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.",
"license": "MIT",
"type": "commonjs",
"author": "Sanjay Krishna Anbalagan",
"repository": {
"type": "git",
"url": "git+https://github.com/footprintjs/agentfootprint.git"
},
"homepage": "https://agentfootprint.dev/",
"bugs": {
"url": "https://github.com/footprintjs/agentfootprint/issues"
},
"keywords": [
"agent",
"ai-agent",
"agentic",
"llm",
"rag",
"tool-use",
"tool-calling",
"multi-agent",
"flowchart",
"explainable-ai",
"xai",
"causal-trace",
"narrative",
"observability",
"opentelemetry",
"typescript",
"react-pattern",
"swarm",
"orchestration",
"footprintjs",
"anthropic",
"claude",
"openai",
"bedrock",
"ollama",
"local-llm",
"mcp",
"a2a",
"human-in-the-loop",
"grounding",
"hallucination-detection",
"audit-trail",
"ai-agent-framework",
"context-engineering",
"agent-observability",
"agent-debugging",
"llm-tracing"
],
"engines": {
"node": ">=22"
},
"scripts": {
"clean": "rm -rf dist coverage node_modules",
"build": "rm -rf dist && tsc && tsc -p tsconfig.esm.json && node scripts/postbuild-esm.mjs && node scripts/gen-canonical-notes.mjs",
"watch": "tsc -w",
"test": "vitest run",
"test:coverage": "AF_COVERAGE=1 vitest run --coverage --coverage.reporter=json-summary --coverage.reporter=text-summary --coverage.reportsDirectory=coverage",
"test:examples": "tsc -p examples/tsconfig.json && bash scripts/run-all-examples.sh",
"test:examples:typecheck": "tsc -p examples/tsconfig.json",
"bench:findings": "node bench/findings-context.mjs",
"bench:findings:shuffle": "node bench/findings-shuffle.mjs",
"bench:tool-choice": "node bench/tool-choice.mjs",
"bench:inputs": "node bench/inputs/run.mjs",
"bench:results": "node bench/results/run.mjs",
"bench:recordings": "node --max-old-space-size=8192 bench/recordings/run.mjs",
"test:types": "tsc -p test/type-regressions/tsconfig.json",
"examples:readme": "node scripts/generate-examples-readme.mjs",
"examples:readme:check": "node scripts/generate-examples-readme.mjs --check",
"example": "TSX_TSCONFIG_PATH=examples/runtime.tsconfig.json npx --yes tsx",
"test:watch": "vitest --watch",
"docs:api": "typedoc",
"docs:regen": "npm run build && npm run docs:generate",
"docs:generate": "node scripts/gen-ai-instructions.mjs && npm run examples:readme && node scripts/gen-fumadocs-api.mjs && npm run docs:truth:report",
"docs:check": "npm run docs:regen && node scripts/check-generated.mjs",
"docs:truth": "node scripts/docs-truth-check.mjs",
"docs:truth:baseline": "node scripts/docs-truth-check.mjs --update-baseline",
"docs:truth:exercise": "node scripts/docs-truth-exercise.mjs",
"lint": "eslint 'src/**/*.ts' 'test/**/*.ts' --ext .ts",
"lint:fix": "eslint 'src/**/*.ts' 'test/**/*.ts' --ext .ts --fix",
"format": "prettier --config .prettierrc.js --list-different 'src/**/*.ts' 'test/**/*.ts'",
"format:fix": "prettier --config .prettierrc.js --write 'src/**/*.ts' 'test/**/*.ts'",
"release": "bash scripts/release.sh auto",
"release:patch": "bash scripts/release.sh patch",
"release:minor": "bash scripts/release.sh minor",
"release:major": "bash scripts/release.sh major",
"release:prepare": "node scripts/release-prepare.mjs",
"changes:check": "node scripts/changes.mjs check",
"changes:preview": "node scripts/changes.mjs preview",
"coverage:badge": "npm run test:coverage; node scripts/coverage-badge.mjs",
"docs:truth:report": "node scripts/docs-truth-check.mjs --report-only",
"test:context-package": "node scripts/check-context-package.mjs",
"check:layering": "node scripts/check-layering.mjs"
},
"files": [
"dist/**/*",
"!dist/test",
"!dist/**/test-barrel*",
"!dist/esm/**/test-barrel*",
"ai-instructions/**/*",
"!ai-instructions/_source.md",
"bin/**/*",
"canonical-notes.json",
"AGENTS.md",
"CAPABILITIES.md"
],
"bin": {
"agentfootprint-setup": "ai-instructions/setup.sh",
"agentfootprint-lint-tools": "bin/agentfootprint-lint-tools.mjs",
"agentfootprint-check-semantics": "bin/agentfootprint-check-semantics.mjs",
"agentfootprint-index": "bin/agentfootprint-index.mjs"
},
"main": "dist/index.js",
"module": "dist/esm/index.js",
"types": "dist/types/index.d.ts",
"exports": {
".": {
"import": {
"types": "./dist/esm/index.d.ts",
"default": "./dist/esm/index.js"
},
"require": {
"types": "./dist/types/index.d.ts",
"default": "./dist/index.js"
}
},
"./providers": {
"import": {
"types": "./dist/esm/doors/providers.d.ts",
"default": "./dist/esm/doors/providers.js"
},
"require": {
"types": "./dist/types/doors/providers.d.ts",
"default": "./dist/doors/providers.js"
}
},
"./memory": {
"import": {
"types": "./dist/esm/doors/memory.d.ts",
"default": "./dist/esm/doors/memory.js"
},
"require": {
"types": "./dist/types/doors/memory.d.ts",
"default": "./dist/doors/memory.js"
}
},
"./rag": {
"import": {
"types": "./dist/esm/doors/rag.d.ts",
"default": "./dist/esm/doors/rag.js"
},
"require": {
"types": "./dist/types/doors/rag.d.ts",
"default": "./dist/doors/rag.js"
}
},
"./cache": {
"import": {
"types": "./dist/esm/cache/index.d.ts",
"default": "./dist/esm/cache/index.js"
},
"require": {
"types": "./dist/types/cache/index.d.ts",
"default": "./dist/cache/index.js"
}
},
"./observe": {
"import": {
"types": "./dist/esm/doors/observe.d.ts",
"default": "./dist/esm/doors/observe.js"
},
"require": {
"types": "./dist/types/doors/observe.d.ts",
"default": "./dist/doors/observe.js"
}
},
"./events": {
"import": {
"types": "./dist/esm/events.d.ts",
"default": "./dist/esm/events.js"
},
"require": {
"types": "./dist/types/events.d.ts",
"default": "./dist/events.js"
}
},
"./context": {
"import": {
"types": "./dist/esm/doors/context.d.ts",
"default": "./dist/esm/doors/context.js"
},
"require": {
"types": "./dist/types/doors/context.d.ts",
"default": "./dist/doors/context.js"
}
},
"./resilience": {
"import": {
"types": "./dist/esm/doors/resilience.d.ts",
"default": "./dist/esm/doors/resilience.js"
},
"require": {
"types": "./dist/types/doors/resilience.d.ts",
"default": "./dist/doors/resilience.js"
}
},
"./hosting": {
"import": {
"types": "./dist/esm/doors/hosting.d.ts",
"default": "./dist/esm/doors/hosting.js"
},
"require": {
"types": "./dist/types/doors/hosting.d.ts",
"default": "./dist/doors/hosting.js"
}
},
"./security": {
"import": {
"types": "./dist/esm/doors/security.d.ts",
"default": "./dist/esm/doors/security.js"
},
"require": {
"types": "./dist/types/doors/security.d.ts",
"default": "./dist/doors/security.js"
}
},
"./reliability": {
"import": {
"types": "./dist/esm/reliability/index.d.ts",
"default": "./dist/esm/reliability/index.js"
},
"require": {
"types": "./dist/types/reliability/index.d.ts",
"default": "./dist/reliability/index.js"
}
},
"./skill-graph": {
"import": {
"types": "./dist/esm/doors/skill-graph.d.ts",
"default": "./dist/esm/doors/skill-graph.js"
},
"require": {
"types": "./dist/types/doors/skill-graph.d.ts",
"default": "./dist/doors/skill-graph.js"
}
},
"./maps": {
"import": {
"types": "./dist/esm/doors/maps.d.ts",
"default": "./dist/esm/doors/maps.js"
},
"require": {
"types": "./dist/types/doors/maps.d.ts",
"default": "./dist/doors/maps.js"
}
},
"./recipes": {
"import": {
"types": "./dist/esm/doors/recipes.d.ts",
"default": "./dist/esm/doors/recipes.js"
},
"require": {
"types": "./dist/types/doors/recipes.d.ts",
"default": "./dist/doors/recipes.js"
}
},
"./classify": {
"import": {
"types": "./dist/esm/doors/classify.d.ts",
"default": "./dist/esm/doors/classify.js"
},
"require": {
"types": "./dist/types/doors/classify.d.ts",
"default": "./dist/doors/classify.js"
}
},
"./ontology": {
"import": {
"types": "./dist/esm/doors/ontology.d.ts",
"default": "./dist/esm/doors/ontology.js"
},
"require": {
"types": "./dist/types/doors/ontology.d.ts",
"default": "./dist/doors/ontology.js"
}
},
"./time": {
"import": {
"types": "./dist/esm/doors/time.d.ts",
"default": "./dist/esm/doors/time.js"
},
"require": {
"types": "./dist/types/doors/time.d.ts",
"default": "./dist/doors/time.js"
}
},
"./ag-ui": {
"import": {
"types": "./dist/esm/doors/ag-ui.d.ts",
"default": "./dist/esm/doors/ag-ui.js"
},
"require": {
"types": "./dist/types/doors/ag-ui.d.ts",
"default": "./dist/doors/ag-ui.js"
}
},
"./package.json": "./package.json",
"./canonical-notes.json": "./canonical-notes.json"
},
"typesVersions": {
"*": {
"providers": [
"./dist/types/doors/providers.d.ts"
],
"memory": [
"./dist/types/doors/memory.d.ts"
],
"rag": [
"./dist/types/doors/rag.d.ts"
],
"cache": [
"./dist/types/cache/index.d.ts"
],
"observe": [
"./dist/types/doors/observe.d.ts"
],
"events": [
"./dist/types/events.d.ts"
],
"context": [
"./dist/types/doors/context.d.ts"
],
"resilience": [
"./dist/types/doors/resilience.d.ts"
],
"hosting": [
"./dist/types/doors/hosting.d.ts"
],
"security": [
"./dist/types/doors/security.d.ts"
],
"reliability": [
"./dist/types/reliability/index.d.ts"
],
"skill-graph": [
"./dist/types/doors/skill-graph.d.ts"
],
"recipes": [
"./dist/types/doors/recipes.d.ts"
],
"maps": [
"./dist/types/doors/maps.d.ts"
],
"classify": [
"./dist/types/doors/classify.d.ts"
],
"ontology": [
"./dist/types/doors/ontology.d.ts"
],
"time": [
"./dist/types/doors/time.d.ts"
],
"ag-ui": [
"./dist/types/doors/ag-ui.d.ts"
]
}
},
"sideEffects": [
"**/injection-engine/index.js",
"**/injection-engine/devWarnHost.js",
"**/trace-toolpack/selfExplainHost.js"
],
"peerDependencies": {
"@ag-ui/core": "^1.0.0",
"@ag-ui/encoder": "^1.0.0",
"@anthropic-ai/sdk": "*",
"@aws-sdk/client-bedrock-agent-runtime": "*",
"@aws-sdk/client-bedrock-agentcore": "*",
"@aws-sdk/client-bedrock-runtime": "*",
"@aws-sdk/client-cloudwatch-logs": "*",
"@aws-sdk/client-s3": "*",
"@aws-sdk/client-s3vectors": "*",
"@aws-sdk/client-xray": "*",
"@azure/identity": "*",
"@google-cloud/firestore": "*",
"@google-cloud/storage": "*",
"@google/genai": "*",
"@googleapis/aiplatform": "*",
"@huggingface/transformers": "*",
"@modelcontextprotocol/sdk": "*",
"@opentelemetry/api": "*",
"@yarflam/potion-base-8m": "*",
"footprintjs": "^10.6.0",
"google-auth-library": "*",
"ioredis": "*",
"jose": "*",
"ldapts": "*",
"openai": "*",
"openid-client": "*",
"pg": "*",
"unpdf": "*",
"zod": "*"
},
"peerDependenciesMeta": {
"@ag-ui/core": {
"optional": true
},
"@ag-ui/encoder": {
"optional": true
},
"@anthropic-ai/sdk": {
"optional": true
},
"@aws-sdk/client-bedrock-agent-runtime": {
"optional": true
},
"@aws-sdk/client-bedrock-agentcore": {
"optional": true
},
"@aws-sdk/client-bedrock-runtime": {
"optional": true
},
"@aws-sdk/client-cloudwatch-logs": {
"optional": true
},
"@aws-sdk/client-s3": {
"optional": true
},
"@aws-sdk/client-s3vectors": {
"optional": true
},
"@aws-sdk/client-xray": {
"optional": true
},
"@azure/identity": {
"optional": true
},
"@google-cloud/firestore": {
"optional": true
},
"@google-cloud/storage": {
"optional": true
},
"@google/genai": {
"optional": true
},
"@googleapis/aiplatform": {
"optional": true
},
"@huggingface/transformers": {
"optional": true
},
"@modelcontextprotocol/sdk": {
"optional": true
},
"@opentelemetry/api": {
"optional": true
},
"@yarflam/potion-base-8m": {
"optional": true
},
"google-auth-library": {
"optional": true
},
"ioredis": {
"optional": true
},
"jose": {
"optional": true
},
"ldapts": {
"optional": true
},
"openai": {
"optional": true
},
"openid-client": {
"optional": true
},
"pg": {
"optional": true
},
"unpdf": {
"optional": true
},
"zod": {
"optional": true
}
},
"devDependencies": {
"@ag-ui/client": "^1.0.2",
"@ag-ui/core": "^1.0.2",
"@ag-ui/encoder": "^1.0.2",
"@anthropic-ai/sdk": "0.125.0",
"@arethetypeswrong/cli": "^0.18.1",
"@google-cloud/storage": "^8.3.0",
"@google/genai": "^2.16.0",
"@googleapis/aiplatform": "^31.0.0",
"@modelcontextprotocol/sdk": "^1.30.0",
"@types/node": "^25.5.2",
"@typescript-eslint/eslint-plugin": "^8.71.2",
"@typescript-eslint/parser": "^8.71.2",
"@vitest/coverage-v8": "^4.1.12",
"@yarflam/potion-base-8m": "^1.0.4",
"esbuild": "^0.28.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-import": "^2.32.0",
"footprintjs": "^10.6.0",
"github-slugger": "^2.0.0",
"google-auth-library": "^11.0.1",
"jose": "^6.2.7",
"ldapts": "^9.2.0",
"markdown-it": "14.3.3",
"openai": "^7.4.0",
"openid-client": "^6.8.8",
"playwright-core": "^1.63.0",
"prettier": "^2.8.1",
"publint": "^0.3.0",
"typedoc": "^0.28.19",
"typedoc-plugin-markdown": "^4.11.0",
"typescript": "~5.4.5",
"unpdf": "^1.8.0",
"vitest": "^4.1.12",
"zod": "^3.25.76"
},
"dependencies": {
"contextfootprint": "0.1.1",
"foottrace": "^1.8.0"
}
}