Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
192 lines (192 loc) · 13.5 KB
/
Copy pathpackage.json
File metadata and controls
192 lines (192 loc) · 13.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
{
"$comment": "SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\nSPDX-License-Identifier: Apache-2.0",
"name": "nemoclaw",
"version": "0.1.0",
"description": "NemoClaw — run OpenClaw inside OpenShell with NVIDIA inference",
"license": "Apache-2.0",
"exports": {
"./lifecycle": {
"types": "./dist/lifecycle/index.d.ts",
"import": "./dist/lifecycle/index.js",
"require": "./dist/lifecycle/index.js",
"default": "./dist/lifecycle/index.js"
},
"./*": "./*"
},
"bin": {
"nemoclaw": "./bin/nemoclaw.js",
"nemoclaw-acp": "./dist/lib/acp/main.js",
"nemoclaw-blueprint-runner": "./dist/lib/blueprint-runner.js",
"nemohermes": "./bin/nemohermes.js",
"nemo-deepagents": "./bin/nemoclaw.js"
},
"oclif": {
"bin": "nemoclaw",
"commands": {
"strategy": "pattern",
"target": "./dist/commands"
},
"flexibleTaxonomy": true,
"helpClass": "./dist/lib/cli/public-help",
"topicSeparator": " "
},
"scripts": {
"preinstall": "node scripts/check-node-version.js",
"dev:setup": "bash scripts/dev-setup.sh",
"dev:doctor": "bash scripts/dev-setup.sh --doctor",
"agent": "pi",
"review:local": "node --no-warnings tools/pr-review-advisor/local-review.mts",
"review:coordinate:local": "node --no-warnings tools/pr-review-coordinator/local.mts",
"test": "npm run clean:cli && npm --prefix nemoclaw run clean && npm run build:cli && npm --prefix nemoclaw run build && vitest run --project cli --project integration --project installer-integration --project package-contract --project plugin --project e2e-support",
"test:spec": "npm test -- --reporter=tree",
"test:fast": "npm run clean:cli && npm run catalog:compile && vitest run --project cli --project plugin --project e2e-support",
"test:changed": "npm run catalog:compile && vitest run --project integration test/automation/pull-requests/growth-guardrails.test.ts && vitest run --changed --project cli --project plugin --project e2e-support",
"test:watch": "npm run catalog:compile && vitest watch --project cli --project plugin --project e2e-support",
"test:shuffle": "npm run catalog:compile && vitest run --project cli --project plugin --project e2e-support --sequence.shuffle.tests --coverage=false",
"test:diagnose:leaks": "npm run catalog:compile && vitest run --project cli --project plugin --project e2e-support --detectAsyncLeaks --coverage=false --reporter=default --reporter=hanging-process",
"test:e2e-phases:check": "npm run catalog:compile && npm run build:policy-boundary && node --no-warnings tools/e2e/check-semantic-phases.mts",
"test:runtime-audit": "tsx scripts/audit-test-runtime.mts",
"test:integration": "npm run clean:cli && npm run build:cli && vitest run --project integration --project installer-integration",
"test:package": "npm run clean:cli && npm --prefix nemoclaw run clean && npm run build:cli && npm --prefix nemoclaw run build && vitest run --project package-contract",
"test:coverage:cli": "npm run clean:cli && npm run build:cli && tsx scripts/check-dist-sourcemaps.mts dist && vitest run --project cli --project integration --coverage --coverage.reporter=text-summary --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/cli --coverage.include=\"bin/**/*.js\" --coverage.include=\"src/**/*.ts\" --coverage.exclude=\"test/**/*.js\" --coverage.exclude=\"test/**/*.ts\" && tsx scripts/check-coverage-ratchet.mts coverage/cli/coverage-summary.json ci/coverage-threshold-cli.json \"CLI coverage\"",
"test:coverage:plugin": "vitest run --project plugin --coverage --coverage.reporter=text-summary --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/plugin --coverage.include=\"nemoclaw/src/**/*.ts\" --coverage.include=\"nemoclaw/src/**/*.cts\" --coverage.exclude=\"**/*.test.ts\" && tsx scripts/check-coverage-ratchet.mts coverage/plugin/coverage-summary.json ci/coverage-threshold-plugin.json \"Plugin coverage\"",
"test:live-e2e": "npm run clean:cli && npm run build:cli && NEMOCLAW_RUN_LIVE_E2E=1 vitest run --project e2e-live",
"e2e:assertions:scan": "tsx scripts/checks/e2e-assertion-census.mts --report",
"e2e:assertions:json": "tsx scripts/checks/e2e-assertion-census.mts --json",
"e2e:assertions:check": "tsx scripts/checks/e2e-assertion-census.mts --check",
"e2e:assertions:update": "tsx scripts/checks/e2e-assertion-census.mts --write-budget",
"e2e:unit-gaps": "tsx tools/e2e/unit-test-gaps.mts",
"test:imports:check": "tsx scripts/checks/no-test-dist-imports.mts",
"test:projects:check": "tsx scripts/checks/vitest-project-overlap.mts",
"test:titles:check": "tsx scripts/checks/test-title-style.mts",
"bench": "tsx scripts/bench/run.mts",
"check": "npx prek run --all-files --stage pre-commit && npx prek run --all-files --stage manual",
"validate:pr": "tsx scripts/checks/validate-pr.mts",
"check:diff": "npm run validate:pr",
"checks:repository": "tsx scripts/checks/run.mts",
"checks": "node -e \"console.error('npm run checks runs only narrow repository checks. Use npm run validate:pr for routine PR validation or npm run checks:repository for the narrow runner.')\" && npm run checks:repository",
"lint": "oxlint --ignore-pattern 'src/lib/adapters/**' --ignore-pattern 'nemoclaw/src/**' . && oxlint --type-aware nemoclaw/src src/lib/adapters && npm run format:check && npm run checks:repository",
"lint:fix": "oxlint --fix --ignore-pattern 'src/lib/adapters/**' --ignore-pattern 'nemoclaw/src/**' . && oxlint --fix --type-aware nemoclaw/src src/lib/adapters && npm run format && npm run checks:repository",
"lint:ts": "cd nemoclaw && npm run check",
"format": "oxfmt --write '**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}'",
"format:check": "oxfmt --check '**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}'",
"format:ts": "cd nemoclaw && npm run format",
"check:installer-hash": "bash scripts/check-installer-hash.sh",
"typecheck": "tsc -p jsconfig.json",
"build:policy-boundary": "tsc --build nemoclaw/tsconfig.shared.json",
"catalog:compile": "tsx src/lib/inference/serving/generate-catalog.ts",
"catalog:check": "tsx src/lib/inference/serving/generate-catalog.ts --check",
"config-schema:generate": "npm run build:policy-boundary && tsx scripts/config/generate-nemoclaw-config-schema.mts",
"config-schema:check": "npm run build:policy-boundary && tsx scripts/config/generate-nemoclaw-config-schema.mts --check",
"catalog:verify-hugging-face": "npm run catalog:compile && tsx tools/managed-inference/verify-hugging-face-models.ts",
"build:cli": "npm run prune:retired-cli && npm run build:policy-boundary && npm run build:runner-boundary && tsc -p tsconfig.src.json && node --no-warnings scripts/lib/package-blueprint-runner-runtime.mts && node dist/lib/core/generate-build-identity.js && node dist/lib/inference/serving/generate-catalog.js && node dist/lib/cli/generate-oclif-metadata-manifest.js && if find nemoclaw-blueprint/scripts -name '*.ts' -print -quit | grep -q .; then tsc -p nemoclaw-blueprint/tsconfig.json; fi && node --no-warnings scripts/lib/normalize-package-bin-modes.mts",
"build:runner-boundary": "node -e \"require('node:fs').rmSync('nemoclaw/runner-dist', { recursive: true, force: true })\" && tsc -p nemoclaw/tsconfig.runner.json",
"clean:cli": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
"prune:retired-cli": "node -e \"const fs = require('node:fs'); const suffixes = ['.js', '.js.map', '.d.ts', '.d.ts.map']; const prefixes = ['dist/commands/deploy', 'dist/lib/actions/deploy', 'dist/lib/actions/sandbox/agent/connect-shields-relock-notice', 'dist/lib/actions/sandbox/agent/passthrough-shields-warning', 'dist/lib/actions/sandbox/backup-shields-window', 'dist/lib/actions/sandbox/rebuild-shields-phase', 'dist/lib/actions/sandbox/rebuild-shields', 'dist/lib/domain/duration', 'dist/lib/inference/gateway/command-args', 'dist/lib/policy/merge', 'dist/lib/onboard/runtime-provider/container-state-mutation', 'dist/lib/onboard/runtime-provider/docker-state-mutation', 'dist/lib/onboard/runtime-provider/persisted-engine-lifecycle', 'dist/lib/onboard/runtime-provider/podman-state-mutation', 'dist/lib/onboard/runtime-provider/state-mutation', 'dist/lib/state/mcp-lifecycle-lock/shields-timer-authority']; for (const prefix of prefixes) for (const suffix of suffixes) fs.rmSync(prefix + suffix, { force: true }); for (const directory of ['dist/commands/sandbox/shields', 'dist/lib/deploy', 'dist/lib/shields']) fs.rmSync(directory, { recursive: true, force: true });\"",
"typecheck:cli": "tsc -p tsconfig.cli.json",
"validate:configs": "tsx scripts/validate-configs.mts",
"type-safety:hotspots": "tsx scripts/type-safety-hotspots.mts",
"source-shape:scan": "tsx scripts/find-source-shape-tests.mts --metrics",
"source-shape:check": "tsx scripts/find-source-shape-tests.mts --check",
"test-size:check": "vitest run --project integration test/automation/pull-requests/growth-guardrails.test.ts",
"release:plan": "tsx scripts/release-plan.mts",
"release:cut": "bash scripts/release-cut-tag.sh",
"docs": "npm run docs:strict",
"docs:deps": "node -p \"require('./fern/fern.config.json').version\" | xargs -I {} npx --yes fern-api@{} --version",
"docs:sync-starter-prompt": "tsx scripts/generate-starter-prompt.mts",
"docs:check-starter-prompt": "tsx scripts/generate-starter-prompt.mts --check",
"docs:prepare": "npm run docs:sync-starter-prompt && tsx scripts/sync-agent-variant-docs.mts",
"docs:sync-agent-variants": "npm run docs:prepare",
"docs:check-agent-variants": "tsx scripts/sync-agent-variant-docs.mts --check",
"docs:check-routes": "tsx scripts/check-docs-published-routes.mts",
"docs:validate": "npm run docs:check-starter-prompt && npm run docs:check-agent-variants && npm run docs:check-routes && FERN_VERSION=$(node -p \"require('./fern/fern.config.json').version\") && cd fern && npx --yes \"fern-api@${FERN_VERSION}\" check",
"docs:strict": "npm run docs:prepare && npm run docs:validate",
"docs:live": "npm run docs:prepare && FERN_VERSION=$(node -p \"require('./fern/fern.config.json').version\") && cd fern && npx --yes \"fern-api@${FERN_VERSION}\" docs dev",
"docs:preview:watch": "tsx scripts/watch-fern-preview.mts",
"docs:clean": "rm -rf .fern-cache fern/.fern-cache docs/_build",
"prepare": "if [ \"${NEMOCLAW_INSTALLING:-}\" = \"1\" ]; then echo \"Skipping prepare during NemoClaw installer linking\"; exit 0; fi; if command -v tsc >/dev/null 2>&1 || [ -x node_modules/.bin/tsc ]; then npm run build:cli; fi && (node -e \"require.resolve('p-retry')\" >/dev/null 2>&1 || npm install --omit=dev --ignore-scripts) && if [ -d .git ]; then bash scripts/npm-link-or-shim.sh; if command -v prek >/dev/null 2>&1; then prek install; else echo \"Skipping git hook setup (prek not installed)\"; fi; fi",
"prepublishOnly": "git describe --tags --match 'v*' | sed 's/^v//' > .version && git rev-parse --verify HEAD > .source-revision && test -s .version && test -s .source-revision && cd nemoclaw && env -u npm_config_global -u npm_config_prefix -u npm_config_omit npm install --ignore-scripts && npm run build",
"typecheck:scorecard": "tsc --noEmit --types node --strict --allowImportingTsExtensions --module preserve --moduleResolution bundler scripts/scorecard/coordinate-scorecard.mts scripts/scorecard/analyze-trace-timing.mts"
},
"dependencies": {
"@aws-sdk/client-bedrock-runtime": "3.1046.0",
"@oclif/core": "^4.10.5",
"ajv": "^8.17.0",
"execa": "^9.6.1",
"json5": "^2.2.3",
"js-yaml": "^4.3.2",
"p-retry": "^4.6.2",
"qrcode-terminal": "^0.12.0",
"smol-toml": "1.8.0",
"typebox": "1.1.38",
"undici": "8.12.2",
"yaml": "2.8.3"
},
"optionalDependencies": {
"@bufbuild/protobuf": "2.12.1",
"@connectrpc/connect": "2.1.2",
"@connectrpc/connect-node": "2.1.2",
"@nvidia/openshell-sdk": "0.0.116"
},
"bundleDependencies": [
"p-retry",
"@nvidia/openshell-sdk"
],
"files": [
".version",
".source-revision",
"agents/*/manifest.yaml",
"agents/hermes/host/",
"agents/nemocua/Dockerfile",
"agents/nemocua/policy-additions.yaml",
"bin/",
"ci/reviewed-npm-audit.json",
"dist/",
"src/lib/messaging/channels/**/policy/*.{yaml,yml}",
"src/lib/messaging/channels/**/provider-profile/*.{yaml,yml}",
"nemoclaw/dist/",
"nemoclaw/openclaw.plugin.json",
"nemoclaw/package.json",
"nemoclaw-blueprint/",
"managed-inference/",
"schemas/network-policy.schema.json",
"schemas/nemoclaw-config-v1.schema.json",
"schemas/sandbox-policy.schema.json",
"scripts/",
"docs/resources/local-credential-form.html",
"Dockerfile",
".dockerignore"
],
"engines": {
"node": ">=22.19.0"
},
"repository": {
"type": "git",
"url": "https://github.com/NVIDIA/NemoClaw.git"
},
"devDependencies": {
"@babel/core": "^7.29.7",
"@commitlint/cli": "^20.5.0",
"@commitlint/config-conventional": "^20.5.0",
"@earendil-works/pi-coding-agent": "0.80.6",
"@j178/prek": "^0.3.6",
"@types/babel__core": "7.20.5",
"@types/node": "^25.5.2",
"@types/picomatch": "4.0.3",
"@vitest/coverage-v8": "^4.1.0",
"convert-source-map": "2.0.0",
"eslint-plugin-sonarjs": "4.2.0",
"fast-check": "^4.8.0",
"istanbul-lib-instrument": "6.0.3",
"oxfmt": "0.63.0",
"oxlint": "1.78.0",
"oxlint-tsgolint": "7.0.2001",
"picomatch": "^4.0.4",
"tsx": "^4.21.0",
"typescript": "6.0.3",
"vitest": "^4.1.9"
},
"overrides": {
"fast-uri": "3.1.7"
}
}