{"_id":"@heyditto/cli","_rev":"48-2671f61d833803d88fb0ecd72d6c64fa","name":"@heyditto/cli","dist-tags":{"latest":"2.22.0"},"versions":{"0.1.0":{"name":"@heyditto/cli","version":"0.1.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@0.1.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js"},"dist":{"shasum":"ac73a92d7643d5bcac475a51e800d1bde03a6016","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-0.1.0.tgz","fileCount":9,"integrity":"sha512-evRWnZH0a9gJsnDrXZBehAdiJ2KlOMaXf1HcidgydnAmG9RJW+c5vCPdxpLvBtIG04l8yUTnEAvN+HA5MeqHkQ==","signatures":[{"sig":"MEYCIQCJysoG3cOWaLNFZ2AOoydEqT5t1VTkuIbdCl7KqKNojgIhAMgkgmQ+Aq5pb+4ZO7+U0OF2LZXJMhdiOUyas7axLLlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21566},"type":"module","engines":{"node":">=20"},"gitHead":"8fb139635894be40b61525cfe03d7102d750f26b","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"futuretrees","email":"peyton@omniaura.ai"},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1778208844999_0.19155280902384564","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@heyditto/cli","version":"1.0.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.0.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js"},"dist":{"shasum":"e3317240418b9df96231440af4cde247b8179697","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.0.0.tgz","fileCount":9,"integrity":"sha512-jFSJVPtwl/MI6JCIGc5YCjxSuStAbUHzOJ/zXtaBIOTcMzDkZM1PqaQCPT15y9RIf1Utns8eYDo7i12JGl26kA==","signatures":[{"sig":"MEUCIQDdZbwWstIZrC0VLWi5isuRPZv9OVrEnZTQIBlVz+nrAwIgG9rpc9Hm21FCVbqrnof1ZNunDGALTNIcclSJitFSxiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21566},"type":"module","engines":{"node":">=20"},"gitHead":"5b8be51999b190d8e63ece7d79027224add46359","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.0.0_1778208997137_0.9097302489818704","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@heyditto/cli","version":"1.1.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.1.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js"},"dist":{"shasum":"5cf12c693516d4d7fed1409751681fae7990ae9e","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.1.0.tgz","fileCount":12,"integrity":"sha512-sFcTTJaRmCp2n+breuHuPDIAOyUUWy+l48j7GICC6RNfVJiRrJnECLNmgy1ulVW0G77WwjkfDahfg15F8EV60A==","signatures":[{"sig":"MEUCIQDtRq3bAlPHnq24XmdC/OW6NntxyuDVLjtk/6OEE+0qqwIgFXYvBwWsy8QtI3bjjPosM9daC/BLa9IlCW+J4MpiqOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33542},"type":"module","engines":{"node":">=20"},"gitHead":"85d4e32d549624f48ce72d0e52e77880c74af56e","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.1.0_1778210065495_0.03160887458315553","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@heyditto/cli","version":"1.1.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.1.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js"},"dist":{"shasum":"c1e9f026468389a1af6fcecaa1633fdde82316d6","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.1.1.tgz","fileCount":12,"integrity":"sha512-EmPEuzpMuTmvw8N7BfsSTr6wUwz8YgZvs67ld1z5IPlRcr8Ng5O9N03DygWAss38RuW7ybpcnXUz+cZdGKaQUw==","signatures":[{"sig":"MEQCIBzhzTmTLd8an6i9DvbWj5IkGDO5b8NPPeuif/46b+ZEAiAke4vG2stMnDJgXbjCXZJdV0KJ86PEEyzrqeBNC3hG7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33566},"type":"module","engines":{"node":">=20"},"gitHead":"3a72e8068613dd8528c36a062bde32cb029901a6","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.1.1_1778212059109_0.4786263498911283","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@heyditto/cli","version":"1.1.2","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.1.2","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"61fc09a319d0c468cc1ed87a87a65dc29bec8ae4","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.1.2.tgz","fileCount":12,"integrity":"sha512-xwcTgproQg1622KRkgMck38DLReoYyq8Uc3VKtg/hpBkBQGw6OG178ZUrXpm4x08ISIjwC1rI74KoMtUCQFSAA==","signatures":[{"sig":"MEYCIQCxdp9L4pNJKEwPAU/XwrYBiiUX2cTSqFk8p+HlbYLt9QIhALLgRCX/jxUzJMZdz40nQ3Xzn/fLuD/nyWUiDAG0jDVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41626},"type":"module","engines":{"node":">=20"},"gitHead":"e49a0e9605d2d4480c43d54fab979011951af4c3","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.1.2_1778350966663_0.6616742818262407","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@heyditto/cli","version":"1.1.3","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.1.3","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"3c10a2e713a89a473c9ac335d85de777c8efa512","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.1.3.tgz","fileCount":12,"integrity":"sha512-XpoyZahP+KPQBRxhP40iEsWGxKkdu7WASlEGsEEk906urTbX4XwM+b0WI91nLUPedWbKFdzUxiBpLSElzKz+hA==","signatures":[{"sig":"MEYCIQDOuarOTg+YYNr/GzZqDX8A2hNs7C8OvksARgLiFqVxgwIhAK2qpnMvpS3SREt9kyMNBuk0mz6Q2BqjGozF4J/u8wtd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41666},"type":"module","engines":{"node":">=20"},"gitHead":"fa440b48aea3f0791d3eb6e65072c4dd04db5730","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.1.3_1778351382730_0.25507279333563826","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@heyditto/cli","version":"1.2.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.2.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"d96c23fd4fa4f1513902c4b56eda85ffad1313e4","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.2.0.tgz","fileCount":12,"integrity":"sha512-xutqRQ1Ijs9QRjjGThQI0rGSKAlMdY+tSuCiHvtJbUpJzjz5pAz/7Ef+tWZ9cQiksUIHI4d5FN5FEmuzIFnnCg==","signatures":[{"sig":"MEUCIHxnBe3NhUOwAeiToKDb3j/ZZRuj6VoiBw4I4M6ji+GiAiEA5B2lxcFT+4uyOUVJC38qiSgygjOZiYI7OpQBTCfseKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57079},"type":"module","engines":{"node":">=20"},"gitHead":"4049c9b01905e5e992bcbc27e8deadc56a9664ef","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.2.0_1779687978865_0.22889751927163404","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@heyditto/cli","version":"1.3.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.3.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"3cb5d0a8584ff986c74b823c68ffe45c201f0196","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.3.0.tgz","fileCount":12,"integrity":"sha512-oWAhLql+akA/b+qqPIKuAW/Eag+drSpE0VKSYTVtJVdx6RhUoRcyrI5JYMQS5DGs3AYrOEetbE1KRRWkpUbE2w==","signatures":[{"sig":"MEYCIQDaBLAONRH2fsZICcqO2kKiy+ROSO/+IyHycOGwTtV9lgIhAKaHBOR2FC9Ou9hmfU/HEHNOx8r7IhuHs8ZRfsUuUezj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68323},"type":"module","engines":{"node":">=20"},"gitHead":"2a12e846292673390f6cfbf2bbe134d89ce8fc66","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.3.0_1779764094924_0.07748996232309935","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@heyditto/cli","version":"1.3.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.3.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"0341faadced51bc9dc92e6dbf4fe36942c24ff07","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.3.1.tgz","fileCount":12,"integrity":"sha512-FRwgaS7l4BVCtHWLEV5bd4eoj9JbKByHhhS5XAg8eo5j+vXnyqHxaD3ZmQ6m4dKc6IwwJqJg98bFXQyxOIE8Fw==","signatures":[{"sig":"MEQCIBq5T4OsTeOIgLvII5dP5wXFLXI7CB/WxtKdvJwxj+6xAiA74CR1E/K9+23KQpXNwCt0J7HxkBAn5GuNT3YiJwTpzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68310},"type":"module","engines":{"node":">=20"},"gitHead":"b7df245a128851b12dfdf0c77d130a22917fdcd8","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.3.1_1779769595948_0.8505605806316019","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@heyditto/cli","version":"1.3.2","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.3.2","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"b7789c88f592fc74626ddc52b8de18cb3860bfee","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.3.2.tgz","fileCount":12,"integrity":"sha512-nfGp1ezyWnsx42yeQaSEWNVBwG9Azcy0ubVXEOhQ5Nnp5xLOcLzxGpSkP4wFAol89mbjnQeEIR0V5J9pa2dnoA==","signatures":[{"sig":"MEUCIAlMgvAEKI77JNkuwV3JNwdfmLRaDGx5l5sMxG+Oc7bCAiEAlHREFWQlWfwGmZ/Xs6fbNKyEgt0z0yK1fhcYMddKZv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70580},"type":"module","engines":{"node":">=20"},"gitHead":"b494bfd2d88075d693f0bad95fd06cbfd6f515aa","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.3.2_1781801904487_0.2952812973985224","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@heyditto/cli","version":"1.4.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.4.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"88fd24c8095acfb3d6b71f74e3be6e19e5c3ab84","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.4.0.tgz","fileCount":12,"integrity":"sha512-Hx//ywmSCNO7BYjFu2bZOXG5oz13YVkqemz7Q7KQN2tyye2mZHg0qWAnM6CdO6WQ6Lu+E3LjXnSkA74iqOqIsQ==","signatures":[{"sig":"MEUCICECcmf+GNGjixthJYJKENdbxjWfrUYo+elbu2nVApzMAiEAv1Tk9bF0qn5qiX4NmsMzPMxHEmBrjKAPEbY5Rg3u1JA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77191},"type":"module","engines":{"node":">=20"},"gitHead":"47f4d1ed17026b0c59e40c62b62f0535cb92d245","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.4.0_1782108618667_0.12271913982709526","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@heyditto/cli","version":"1.5.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.5.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"8ea6a9fe2356e6c4fa6e22f6263130d9fb048fb6","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.5.0.tgz","fileCount":12,"integrity":"sha512-s3dD5DO0+QPhsw99MQHYgSGqusp7nL8LDgKR8HaDAv6EspErkoYdOO778lzqpr/kbWu6j6cv9sVVDkAT+tvO2w==","signatures":[{"sig":"MEYCIQCxfpsoyl9vlonlZzk9DQJmG2PfbLS9YXBpoAo5mARPnAIhAIN0U5Bh8GPU0qMY6HaNL5kfM6YxQZmlkIE/mirXpFMf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80160},"type":"module","engines":{"node":">=20"},"gitHead":"5254a62509c64fc26b454994ef3a82e57ab41408","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.5.0_1782108737883_0.11083041771003432","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@heyditto/cli","version":"1.6.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.6.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"2325a7575b8e3fc4f2deadedfcbe842b54b02060","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.6.0.tgz","fileCount":12,"integrity":"sha512-OfbA6xQZElc92yr5irhCZoEq7NCbu+b3/ThMV7yZ5i8T4UKrI64JKUxt0Hj0MkgVJK9byEaZXYk10SAgziDhFA==","signatures":[{"sig":"MEYCIQDtefXmlVLkdy+XFbcDhmEg7SZBlteQlouVk0Q//tPZlAIhAOqB9cLkoaHn5D+z3V1CfVNxxZNEdjRUbQzLeXLGJEmj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88158},"type":"module","engines":{"node":">=20"},"gitHead":"2af609aa5a1eb842aba50929b619695bdf1da6af","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.6.0_1782112958089_0.8555042550201515","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@heyditto/cli","version":"1.7.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.7.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"f1aecf007a0ccfc6e3dbc2efac2aa4c34d33d06e","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.7.0.tgz","fileCount":12,"integrity":"sha512-thd+BtabcjfqTNLmXMnKuc7rp0FTnVOWyPibCVt/Hl3vVGhU9hyAiXkKJcxYyrnHNOhx7VSmT1DsXb1BeUjIyA==","signatures":[{"sig":"MEUCICRcePW/M3bFbtyZsIszYq4F5uGXTsllT2DOGpqfJSAEAiEA3Dai/iiZCxgMsf2QdfE3oFWAfSMRQxzr9XnUzdv+Mvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88638},"type":"module","engines":{"node":">=20"},"gitHead":"4354c0e75eb8d74cebcd0efdb7b0742ed316a83a","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.7.0_1782114001267_0.6444714442213406","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@heyditto/cli","version":"1.7.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.7.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"e1bdbb49af972cbef4bdd220b9c66dea14814f78","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.7.1.tgz","fileCount":12,"integrity":"sha512-PktYcbC1EpeVGRKD3GNnku/zy4hJBpCOCuQivKn2MTHn/xkUeQd5t8LNIO9RFoVBkvo4HdP1GfIqIp4Ay3Gf9g==","signatures":[{"sig":"MEYCIQDU5psZuoTXy1EURdUGmr8ELphqg62wqI/u6glB/fM1dgIhAICVfsCV/4+w3jXrJ0bCQTNJv712CRBaabBucZ7qtvoh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88699},"type":"module","engines":{"node":">=20"},"gitHead":"ad97b612519133cd8975561cc7df2ce57cb30dc8","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.7.1_1782114511123_0.42997433806890895","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@heyditto/cli","version":"1.8.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@1.8.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"49467273d96b2c1b31c9c6b8d350cd4fcda79e30","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-1.8.0.tgz","fileCount":12,"integrity":"sha512-1VdrPxYSHdZjzWbmPKL17FOHsIllMzCCyaInrUYkmUYD4T2QNzFVa0jR+mRhBL3fBt/YypdHl4XEkF9SkdgGdA==","signatures":[{"sig":"MEQCIFObgQfwdlD3XB0DPP068BMyFjv+r5zZf7i62h2vGsYSAiB2Q4pc+BavNgSbTWJEudSn0JgBPYbYja7dN2awE8Gu/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89111},"type":"module","engines":{"node":">=20"},"gitHead":"0871469f62508c4e4b2ff784d87972c29c8a8943","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.14.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.8.0_1782136810559_0.7702153855333307","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@heyditto/cli","version":"2.0.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.0.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"5a04cff9828deacd0bf1a62ef09505c40ee8640b","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.0.0.tgz","fileCount":12,"integrity":"sha512-odlP+DNj5+O0RvigvJoHw3bX56pic5Ag4fFzE+DAQKpxPGGm83lwnPJcTYi/daR4qx83RIKpMeEgZFtQyAVVxw==","signatures":[{"sig":"MEUCIAoxjBiWnRtvuap/QUlQ5NUE7GIdyVGaLTwG04OHmc5LAiEAh0YW6rtYa5A4zVC4k4MSpCe2BkOU4pOy6g81oOJ7OQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89127},"type":"module","engines":{"node":"^22.14.0 || >=24.10.0"},"gitHead":"d3c18b17e56b8af41800586ec40bf43170fdf138","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.0.0_1783472051423_0.961296239027003","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@heyditto/cli","version":"2.0.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.0.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"d37872a1d96c29db91e851192b91a5e4cb7f4437","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.0.1.tgz","fileCount":12,"integrity":"sha512-fY/JgXQucIGIriDYJYwfesGm/F0oCh2EYVwIRjIGWPj8YjDob5Ykag5/Y2dr2wa4jqO+ghBfluMflckXzBKGJQ==","signatures":[{"sig":"MEQCIHPsJ3tlROq/iCqF6O4GFcmSscCngNixKPpkUMgdxZ8EAiBpOrMDVQ2sgTjYhIcfZO3hweduEQCBnJ6ZkciagB6oNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89115},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"96c283e9a9b1b9336273a25ef400aaa79fa82a12","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.0.1_1783520250683_0.49060083334425175","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@heyditto/cli","version":"2.1.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.1.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"760f005a0b53ae8cadb0e0d3736fa741f7125cf8","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.1.0.tgz","fileCount":42,"integrity":"sha512-iEG2dKe5lPuYqz3mRCkbQUEtb9rR8Hb/1P0/+pl77aeIEY26Y+vLnztjNvBdAa8XA8pmSY7bNE41P/bER1YfLA==","signatures":[{"sig":"MEQCIEBgHvx9oatWLwLqnZigVUHI2vLyhO1I4HueGSxxpvfOAiB7TVvJZD9CJZG3W6I0pesseloep049qGaCSGlos3Y51A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":213520},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"e79ddffa171bc9d3590b4c5de890aa05476220d1","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.1.0_1788574917142_0.09066079003130989","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@heyditto/cli","version":"2.2.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.2.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"402f9b57ad4df5dc743728d9a8efa128c5df232a","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.2.0.tgz","fileCount":48,"integrity":"sha512-lN1mb1ZIxuFsgPWvM5BlNcR/P7jehjUxOpFcoiWxQ2DcKBnPzkQVYkrQEq3YJmpFYBWDfI+Mb3E9pomVPryWUQ==","signatures":[{"sig":"MEUCIQCIkljaYAMvHGI2wUHPjsKz28rq60JWo3oVybiC8OHW1QIgEtyZTzbHZ+GJhyYwlq32RQ78YtXndgUD+Jgln4N0rgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277738},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"34bcb9096280d1f9a91701b75262188750d79fad","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.2.0_1788650356356_0.275025177402656","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@heyditto/cli","version":"2.3.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.3.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"ca6c1cf7b5cac5f26a342bef9a8916eefb0a8237","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.3.0.tgz","fileCount":51,"integrity":"sha512-W3fO55jY/8mDnAiAJi93vLeLWEDB+BM3A7MrlmzZMBANivx4DtmDtXHSC48Ls7MpuyMRJTTx5JrpkqPrD2X0iw==","signatures":[{"sig":"MEUCIQDNvyrDOOGo9qa1cdqadRj2RvHG6D22PmWnNfq/gsxn1wIgathrgTTWLOr5QzyNznKqtPswMQ0qRl1Txcl2RUpCpys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304050},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"0415cae5211368c36fc4cc722a6f78056ea83a1c","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.3.0_1788665379067_0.35071976857485354","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@heyditto/cli","version":"2.3.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.3.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"0e7efc9790706582ad373f59972e9c3489973218","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.3.1.tgz","fileCount":51,"integrity":"sha512-t+8HcQ/Nn06UOXSaSuKLMXtNozszKNjU8Q/EcSHlOTjFUzXzwmWBdm2q5L8laWIQwzcHIXonFVSFzjtqpyLWQA==","signatures":[{"sig":"MEUCIQCWSAzeFVdwM5rTAsl1JSAl3gOBo+fuZHae5pf0txwdAAIgfYv5guXzfWWaZCzQH3bZfMp4zJGrVhgkSJm3w6UnP8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307166},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"b051d980d4f9dda9f4498bbf302c2b592b3e741a","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.3.1_1788723780429_0.5461277206196484","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@heyditto/cli","version":"2.4.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.4.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"47bcd05b4f2e95a5cb83e349a4dfb05ae07eab99","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.4.0.tgz","fileCount":54,"integrity":"sha512-cP8VQBOz9XDIxJDwYzZh5IFdtDgisiLuVH5B4pA4c26vVb5m+LnjM3PpjPIeTHrxQzmNQzU5RTonR8Mf2mZNwA==","signatures":[{"sig":"MEYCIQDkd8psYF6uMJpLUSIrg0t7eMYttxtC9JbbXEKX4CVaQAIhAIRfK16ch1uFmO4jGXj0RB/tB56R3AqQTkRA1zeUhMBH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316292},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"e7623d5251bd9acb2f00965dc17cf31a8d07076e","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.4.0_1788728244977_0.8147587093814812","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@heyditto/cli","version":"2.4.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.4.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"50c76e59fa962a96aff0ec1f8118fe0af07bf3b8","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.4.1.tgz","fileCount":54,"integrity":"sha512-9iJ1M6TRBvKgVMnmlrhSpm9YuTsH1QpsVOZltmgGhtSmJ47z4dhzSoyrzf/rOA9aaZuHhxtudcwAEKiyJy8NaQ==","signatures":[{"sig":"MEUCIDtqcTN9yvoWAv7Lix128+uo/Co+FjePXyfBZ4GIYX/oAiEAl21oeLwXX1MxX9VHnR9/yPk8J2DweQ6YZAxiN+vgE5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316695},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"ff820092a223a1a3ca64dc7d1cd67060fbcee501","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.4.1_1788732753236_0.4861411220180538","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@heyditto/cli","version":"2.5.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.5.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"835a0487aebceba431c5d2b1b34aeb2d03fb4a86","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.5.0.tgz","fileCount":96,"integrity":"sha512-4rW7kfBeZc/nDsj6ayxURXdsdOSCuqYCh1Qoz74/pncnU+XMD/KNHFrmCwLI+FgKZMstzEZeQ9Vt9XVzs+yApw==","signatures":[{"sig":"MEUCIQC4f6fO71eiX9PCJwpi0l7PrdZvSpHYpdCyWZuj8V35pAIgdPcwbCu+9lmio5e+lAjglpDfSrfiXF3N02H58Mc+XUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":509959},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"6089436b0d52bc9226e50bbbeb9bc3af5acb7da9","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.5.0_1788785600776_0.6100628760516598","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@heyditto/cli","version":"2.5.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.5.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"16bcbfb1e3dc5759e269014b9bb2b98d11838673","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.5.1.tgz","fileCount":96,"integrity":"sha512-xdIjizgn9P+a+Yb8NtZkhFt0CW6/4n86ZxaiUGTTNb08SihTkVGrWvfQ9aK2SkNeYQ4zncu94qSR/IRKHVj6AQ==","signatures":[{"sig":"MEYCIQC37NyNMyY/NXIv0l33wKxp3jZoK9Vf9hdOmaIlegCbSwIhAPmZm9UW6yCqYsoz51aL5WYaoe5pDXckpagfJl/Le8me","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514763},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"198e9015e04c993d3cead80b8f7d03ea03f6c5e7","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.5.1_1788809347345_0.5358503296459938","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@heyditto/cli","version":"2.5.2","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.5.2","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"f0830639722a625f4abc907906658cd9cd46b92f","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.5.2.tgz","fileCount":96,"integrity":"sha512-5ZgHphTs9yvEZhtqmxuGWLnHfA7XbXerAXm8c0ek/lIL6RrAuACVZ+3L7TanuHmE4YLsR71riudaAJZJCGaSIA==","signatures":[{"sig":"MEUCIQCjjjb1J6sU2wk0VbQVRHrPWqPs/we+TIK9AEGAPxtOvAIgMuN62qwHjfp8AZ0EmTArIey9DomuRHfdVKJG8cJeHNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517568},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"86ecba297c11f42c96c65617e78747fa257af116","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.5.2_1788907148247_0.48900543297580046","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@heyditto/cli","version":"2.6.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.6.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"429ad47a71e1f35b17e41640a1f4d32e6bf4a6ad","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.6.0.tgz","fileCount":141,"integrity":"sha512-zXYm5L9J8tujnwtSGm474iByw8Yp6ia522y+nvgrl8o8714Vrc3Ees02ykKgLFC8Mw4jDQ3B/yVvQGNIfM+ikg==","signatures":[{"sig":"MEYCIQCUf9J8+NebGBh7Ps8gGO9ZSF9HhKiEzwQ6sWgPq/HYmQIhAN6Vbu3lNWYNhkj3qpTuuo4kBYVT3s2lp6yg1fS6J8du","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":611323},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"f0abe2056118d2925ca60d345ab58a94bd77238a","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.6.0_1788935379166_0.8747313132142116","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@heyditto/cli","version":"2.7.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.7.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"5db872aa1e8282299dcb76a28c3f9d9816aefbd9","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.7.0.tgz","fileCount":141,"integrity":"sha512-iSqK/CnGmtyTupMqJirsg8vE6TZSU+NE+oJFSK+Z0oJlPN82xArr+LrJ2vDMIsUzhgvnLuF3kJ0i/b1sZznJag==","signatures":[{"sig":"MEUCIQC+NaMl5UXJBmBZj8F41iYpcuspMgM1aervTYgVyt60uAIgJwYcuce97LkUH7vQbitb/KI/LCc59alW+xe0Iom3GU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":622391},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"82d12fa7b2829ea90ca61eb4b8688bb10ee2441a","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.7.0_1788994050378_0.711875454850148","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@heyditto/cli","version":"2.8.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.8.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"794888dbfc56f50d0cf3b8119d5d010d3a4d2224","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.8.0.tgz","fileCount":141,"integrity":"sha512-cjIst/QGbkUr1axkLJeopheKYwzlxIxYnngsleEukdm8FMnjCOHJVQ133lg+D7qDSnyfCMGxmN11qUDxUh3Y3g==","signatures":[{"sig":"MEQCIElEeSC6ZM3PmGztzQp5qQpoccUKwACoAbJWJPQ2weQOAiAgtxpaHqHT21Ra746uUYh02JH5UdQ7tdBoxeWqKsfY5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":653075},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"250947c5575b45de512a7ec7e40f071c42e53e14","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.8.0_1789003928815_0.08554512408973225","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@heyditto/cli","version":"2.9.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.9.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"44ebed9228053ddfb174e10c8da5bdc85a3f9a1d","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.9.0.tgz","fileCount":141,"integrity":"sha512-/Akt7sz2PANK98YV9E35qj3RB4DVhacIdEJqlPXVw8tUWYrdZPfqC8vSMmcXOJUy1gqCQS5w2pu4qLMVdxMt6w==","signatures":[{"sig":"MEQCIEB/uwejB5y7OXg96ecZ+zNF7wi30HgSBqU/cGKUSE7eAiBMnImHRX7lsjYsjpfpPRNkXqLCr9YVK7aVTCkr7ayQeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":654707},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"ec59e6e5e438e2cd82b116266a6940fa8b24e3fa","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.9.0_1789019971016_0.19556689459572096","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@heyditto/cli","version":"2.9.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.9.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"42b28d3e6d3d230dab2c37f573c1ac4292b64efb","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.9.1.tgz","fileCount":141,"integrity":"sha512-rk1rsotupepOGQYAk3DRFb4NQA1zIVi/uzdMJWimiVAg+9ldwU4L5fxzCBV25Bat1r3ZKr9Ss3+Hsg2d4sB/Dw==","signatures":[{"sig":"MEQCIHlqCAqaRXmbixuiSySgdMYRG61nXwXgKJMW1pJDdBvQAiBFRaOYsNscWJixgMOQ8FPDsVvjoAZfeWxtYXcnBJX3/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":657096},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"9edcdb168c2f9968ce934c2c7c032ca50a82aa4e","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.9.1_1789020260086_0.12142523391111437","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@heyditto/cli","version":"2.10.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.10.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"9431cf49055e35e857ca692ff71c101dd5fb17d2","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.10.0.tgz","fileCount":144,"integrity":"sha512-7O/OLWB3BD2wFXb+tk/1qA7L6dMlcW31O5OEo/0L5uN+lgB+Bw6p+WT+MxE37IxwF8tJp25o7BqExsayhJ2rew==","signatures":[{"sig":"MEQCIGn+ZR4U7NvLnbUaMh8sCL84V1wBh+/T/xgxjTWxke2CAiAULbFfboGUQF7xLq5e1CXU+EvfZ+nqB5WE6m7GE7UCUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":729189},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"90472c0787fccdeb4dd8e343acc8243a7d87ee06","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.10.0_1789280213202_0.846303988650466","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@heyditto/cli","version":"2.11.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.11.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"7cdfd8e94492a85ae4cfcac0420e43d8115069a7","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.11.0.tgz","fileCount":147,"integrity":"sha512-7SeELlGk2Rq091P1suJ9H7Vd7J4WqfUcURjcJW7WYSTq1qNWFgMo58FoPHLHzxifnZbhigEpGyTxt1LCX6C+cQ==","signatures":[{"sig":"MEUCIFcKd3JxcDiOm0tG87hQFHO3P6zAyF/qSCWEY0WSX+/WAiEA9unbZ6bzuDwoAyivgJH4ypQnl4HQ0eOow1oyw0xpPGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":784131},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"bec515aee79cb48436554b4fec9563512a323c71","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.11.0_1789294043407_0.29713552956684475","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@heyditto/cli","version":"2.12.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.12.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"6d57d59f804760bea08393ab0f9267df484ae705","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.12.0.tgz","fileCount":180,"integrity":"sha512-QwmOfJRnQY7bMO1ie93rP7ZrZWj4f1kHIC6Gr48lYtvQqDY/UXh/BCNIQ/uRwtoN+52ckgMUuj8WbfdgzokILA==","signatures":[{"sig":"MEYCIQCe7PEv415X+NCZe9oT084hYuVB5lUfN1GpJJhlZKSVRgIhAOtjbF21tnRBq5WeVMl7HFHYZ3zu3ip2Gsa0hNOuv2Ey","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946311},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"440ef79f7b4cfdea0d6c217d7b7cdcaf4804f4d0","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"node-pty@1.1.0":true},"dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.12.0_1789353500834_0.32669685627394207","host":"s3://npm-registry-packages-npm-production"}},"2.12.1":{"name":"@heyditto/cli","version":"2.12.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.12.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"a5899e459bf8f5768108628a6905709cd57bcd85","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.12.1.tgz","fileCount":180,"integrity":"sha512-a631vsRUozGx9MOZjCATj6CuAbfmgtNUBsMdcSruPBWFvH5WU5Ipf+0VE6ZP/N8nPiunu+Pqav39mLg3nFgF8g==","signatures":[{"sig":"MEQCIG6eAQaPliPeZTB7SPOTU5KvJ+nJDFVZiJ2JjnTud3iaAiAiqlZbEmyZr/jMepbjAhaPdOXJ76coKI5ZqCcSK/61Pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":947052},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"94bfe3181fbbce6e906881e975a494a5b9348050","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.12.1_1789378493817_0.8866083594201828","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@heyditto/cli","version":"2.13.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.13.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"d768a10ddb6a83159e1036d6e54fd3e04ca2ab67","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.13.0.tgz","fileCount":180,"integrity":"sha512-f+fqXO50Fu2+d6vr3n5n1a9uCDbERgJAl0OiTfFPuNoc+PLDkmLswKHCpNXlR++TLFkh37ch94m53U+Iwb64fg==","signatures":[{"sig":"MEQCIEpEAvM3X3bSwI7PG6qIYCABSQq3xnYFDhmGQKETmafzAiBNds1CIYqnd2cIhgyee4ohZX/c0wtl6pTr6pJDqPUSEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":961900},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"efe51e2931f60d746743cd138b4ebeb0a84c3939","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.13.0_1789383358718_0.8026504016239633","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@heyditto/cli","version":"2.14.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.14.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"b4fbc818c938b36d4b5b9912cbef9b6832a4448f","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.14.0.tgz","fileCount":195,"integrity":"sha512-aMEwMlL3wOH7SrOW+NarKudVKlW4trS8u/AFZKfmoQ/0tuFLrR0r4eSq7nJg+GUK8aYr2Cm3c+gWTzSKln50kg==","signatures":[{"sig":"MEUCIDsC+kjjscdNUxYHmhNMYSrv1qRET0D4T1Vc4ZdtoT3VAiEAvIsQTXAm9Z7RBxUMTEZpF0euNm3PsCJaWOPLamZfGzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1089567},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"58bd0e71cbfc664613c1ad04a9e9d44d79157d58","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.14.0_1789404236779_0.46472925779811636","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"@heyditto/cli","version":"2.14.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.14.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"1b4aeddd45a5982d147839fd358515e71fa0cffb","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.14.1.tgz","fileCount":195,"integrity":"sha512-ztLWg31h36g9JKO0UAdTV3VLWSB0SnzVTb1unOWaHSvAHPh1iCW7fwmnhd4LIqhTLME97FclI2TaG3WFJh9EBg==","signatures":[{"sig":"MEQCIFZoXG44aZG0ngoHgmadCjtu3Wm8ODJkqY0cfEp7gvdaAiAwcXZm3dO0xRQm7Ee2SQLUr58m7dDWWRg0IDVt9iR9eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD239xo37sHWiC1jyykhQzhqmBNfdaxn7TmehfqRNqarwIgOXuHc5vbMgkOKdHXBjCeTO2RCTft0hPbmint7hLo9eY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091764},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"82b3dcc1b4595025076643acef75fc574737ec10","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.14.1_1789522474206_0.15013019588683618","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"@heyditto/cli","version":"2.15.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.15.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"b5a97792bbe2f7e13312c9a1c4eeec37e9939d64","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.15.0.tgz","fileCount":198,"integrity":"sha512-jsVTLrb9rwya75xlW38GBJg+PrG+HarHd19iJYJ/lRuqy8//zVXoWIDPdIos2IAihUVKrehHqF2BqrmAlaXxhQ==","signatures":[{"sig":"MEQCIAfRi8JUlzetyNofi/u1afbvf5luPj92igNSod0a6JxYAiBsspOE1bIfZG7CfjJDM52erFMnnwrVyJX7jDU/tkOjcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHQoSGRSDgYEmpcmcRKjHbVQL/cNPehInY5Yj7vn04KGAiEA0Gjhw1a3NzTySi8kBYVtDywrkgqms1gtUCOsLKiKffY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1140262},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"c2a8cf0cbf7b3922cbd1b2bb17a6a3a078a2d785","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.15.0_1789677175523_0.11278034299563222","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"@heyditto/cli","version":"2.16.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.16.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"fa234591824876fb93a810b7171b0db0ba3e58c6","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.16.0.tgz","fileCount":201,"integrity":"sha512-sc7s7zBWKtioMBK2xe7bi3diiLXuYNejZyhBWJiqK8GKawFWewE3I5DFBIpzs+gS5zjMxLzMJGk1XiJ6LfkgJg==","signatures":[{"sig":"MEUCIQC/INMFEmpdwRXm77PJraCAMYbSDyYlOCtvIG0kIF6J9QIgBB39Y19N/ihCbiaqH3Kuhgh+ueU8GkUORlwPJj45c9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBLBcu1ikO+3nzGYDibBqNF0JFu4LI9klNPK2hyIWUlSAiEAkrROMnirqzo6i8qWOdjJJIIemV8spGOu1a97q5EPQmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1165688},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"4ef7f2cd56b50ea9f4d2bb6ce712b63331293357","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.16.0_1789680372336_0.28698322240329244","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"@heyditto/cli","version":"2.16.1","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.16.1","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"6c7a93f24d53cf6b84e844cd464e4787294b1701","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.16.1.tgz","fileCount":204,"integrity":"sha512-kYSoNi3GE5RQmHTIj8SshuHpwIT4pmXtDMGtee3BDdWyuSmtbuv16pA1pXVrBo6POfMRR8Devcy7BW2SUMZSug==","signatures":[{"sig":"MEUCIBb6urjtUQrT0B91rDh6KsZq0TCI3/k9W6WQZXacAA89AiEA4RjiiPNrZRtfL5+d4G7azIXoszaRGPeKpZ95ytkAgvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCJBxg3iYa6UN/0BA6+R5mbnCFU90F0SOzTi9/UWXE8UQIhAIwa3+xRY8jMqvwpSfTER446qZliEKGqvOcIeJrFjX9h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1171464},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"eb8becdabcce7bb832176ae154f2277516978362","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.16.1_1789689307223_0.007404734568058791","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"@heyditto/cli","version":"2.17.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.17.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"1b193b0c3d94df6c37d93f048565b22b7f81eccf","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.17.0.tgz","fileCount":204,"integrity":"sha512-4wSeRHOmsDZMecAZV4GBeDJgVW1kk5niGJ22lK4yjZWCNywHZBdmbyMv+aEGONXOmKpdu4BbR1nGnhRF3BpnfQ==","signatures":[{"sig":"MEUCIFvxyxhgNhnocwXAkbGPPUb4qHdej3o6vh8TL4s9LpbPAiEAtraLVM9u9I5697fPWheV+tUOWaw9k5KOrc2aXD3tHdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDcpicN67+WlaKcsinuipAdfZsesFz00tFBzHCzbvumsgIgU4WFwe8qhIsNC40ucVX8C5L6M0mevKz2nNhviQYN3GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1179679},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"e6094bd0a3b46bb1888cfe04186f3c97704f7e3a","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.17.0_1790252746171_0.5781203470382548","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"@heyditto/cli","version":"2.18.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.18.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"2bf6a4a57ae1ca19f793da1472f5a16b607ba40e","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.18.0.tgz","fileCount":210,"integrity":"sha512-QGLvX8l3FkN/bnsulqDJiS4+En3CiWeF5v5ZNCm19kuxsWKHWuFU8kwpdZZeATDIPfoGfBxfwyRI4tusTV1Qhg==","signatures":[{"sig":"MEYCIQD84PVOEBkkF+Thds83MNecgmJpSqMK/Yk+VDz3PKL8rAIhAMv8Mys0w8V0PQBAvmvfcq/xrLVugt/dSH6TsZmKt9Mr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEzXBGLC2ZZjCY7qKdkY4uJLQa6CZUxPCCTsphw32Lf3AiEAhis9RyoQkwiDnNLBuCYAyw41mZq0h9lGQsBYvA8XqTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228209},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"96e6d72a8b9f5a01739ffde4424a5b5e9b475b55","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.18.0_1790812974265_0.5602743625143871","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"@heyditto/cli","version":"2.19.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.19.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"8b802fbb207db531674487b274cd3fde11976a43","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.19.0.tgz","fileCount":213,"integrity":"sha512-LeGgvRE+KfTPh4yYR76rdYD3O5ui3Zky8CfJiIm9AjhQN5diFAkSbLHtY/w39HhpIgaA/fD/9gOGa669tvZ8+g==","signatures":[{"sig":"MEYCIQDqe6cFntifqYlrwj0DiClv9764QXjpKhKU0lXoUbybfwIhAKqT7w8T6ZgtLZhn49FdkE/qeTyXLZvTRS2zMR7t3rDs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH+r+pCacgqKSt3C76LGQ3Y5VStKsNU3Hh6+FfwNvokxAiEA3KuRefY2CH8ygxg4Odeag3tcc01V6KM/HR/Aud69a+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1246358},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"7e313806b98e456e7b7b4e228f3d8b2affc9cfa4","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.19.0_1790891651255_0.17398407287182027","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"@heyditto/cli","version":"2.20.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.20.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"33df6d21b05e69957c12b2c8874cf3292fabdbae","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.20.0.tgz","fileCount":213,"integrity":"sha512-EVDaXfucntV6n2f8y+f/k5oRZXdW27neTweM0R8KFrbEDQjwhkc+tdGuPXUYsJh2bh648fS5N0V7tuz8ZfReSQ==","signatures":[{"sig":"MEUCIQDcSRST6IV/r7+dd1Vki2alQGLhwW1XpTzXHn3eUD7O/gIgX0gqL6LSTZavE+8d7AsMI9JhU+bq+h0pUZge/U4aYOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCFSoq/fik/ZuRRcRdJS3n1LYqa3df753aYesXsRwFcCgIhAKIT8SIusGaaMYr0mBr0Ssq7cjzHrwcrFaZlFoIHPu1h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1271766},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"208a7044c0e9df6d7bcabc03a5051215de3d1e07","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.20.0_1790948218126_0.28560074996893414","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"@heyditto/cli","version":"2.21.0","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"license":"MIT","_id":"@heyditto/cli@2.21.0","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"homepage":"https://github.com/ditto-assistant/ditto-cli","bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"dist":{"shasum":"6bbc0cc9995548f318901daa78928d3863e7ab89","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.21.0.tgz","fileCount":213,"integrity":"sha512-sUKJL82wwcXs/rv2I0Ai2rZph32QGsElsZIxUrkzldRO2iEjjNu5qVAdAJE6vsoSUfN2YsDsDWARlZ84rnj3AA==","signatures":[{"sig":"MEUCIQDLMJdWwmqWcw9BCYIQn4WL/fVGjVTFX0t7FIW53wv/SAIga43EmABzTQ6VaxwefRGT4u8+nDrBGI+O0/XSst0mw8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDN3I8HBVC/g9ewGibWkW+wIZ1Nb4LoMsVkeVhmh3mPNQIhAMXkB8TRihgSj/oloqhNB0QqHofcSiDkpShPHXlrXO8G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1292375},"type":"module","engines":{"node":">=22.12.0"},"gitHead":"9a4103010aa106dd88547b21736db43015d5a205","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"tmp":"tmp/cli_2.21.0_1791040140074_0.09640904371725623","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"_id":"@heyditto/cli@2.22.0","bin":{"ditto":"dist/cli.js","heyditto":"dist/cli.js"},"bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"dist":{"shasum":"12adfaadefed4206fa4f11c54cac898f42482e20","tarball":"https://registry.npmjs.org/@heyditto/cli/-/cli-2.22.0.tgz","fileCount":216,"integrity":"sha512-QzWh0QK6h7TaZ7n7DpVYrZfbuSTdEwJdUEk/4urMdTAP/ZLrBsPWocd5eJCRtRomWzN8LSF+Kgwv/og/cqpi6w==","signatures":[{"sig":"MEYCIQD7Ry4RpahO1Nwycu+3LxyCuQtfwQDmLJlyNDjkLPFZ9AIhANpx8zP5aHzfVwi1PM+vRkMjdPw/S2AsUDqGnJn3y6yh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfr746Qp3/kOHK7zONQSTf++jORXmI9hENOES3AwB51AIhAOvQZwi29XY39AxId0TAfxN//roC5wg5BEBshEmb7t74"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@heyditto%2fcli@2.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1329368},"name":"@heyditto/cli","type":"module","engines":{"node":">=22.12.0"},"gitHead":"8bef178e1ad63d5823e213d05d20eff1906f4da2","license":"MIT","scripts":{"test":"node --test","build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","verify":"npm run check && npm run build && npm test && npm pack --dry-run","prepack":"npm run build","release":"semantic-release"},"version":"2.22.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7d4fce33-a025-4cd1-8401-dd67e6cbffbf"}},"homepage":"https://github.com/ditto-assistant/ditto-cli","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"_npmVersion":"11.18.0","description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","directories":{},"maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"_nodeVersion":"24.21.0","dependencies":{"commander":"^15.0.0","smol-toml":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.3","typescript":"^6.0.3","@types/node":"^26.1.0","semantic-release":"^25.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.9","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"optionalDependencies":{"@lydell/node-pty":"^1.2.0-beta.15"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_2.22.0_1791040239822_0.3812359279793833"}}},"time":{"created":"2026-05-08T02:54:04.880Z","modified":"2026-10-03T15:10:40.455Z","0.1.0":"2026-05-08T02:54:05.130Z","1.0.0":"2026-05-08T02:56:37.267Z","1.1.0":"2026-05-08T03:14:25.687Z","1.1.1":"2026-05-08T03:47:39.262Z","1.1.2":"2026-05-09T18:22:46.811Z","1.1.3":"2026-05-09T18:29:42.880Z","1.2.0":"2026-05-25T05:46:19.011Z","1.3.0":"2026-05-26T02:54:55.068Z","1.3.1":"2026-05-26T04:26:36.138Z","1.3.2":"2026-06-18T16:58:24.645Z","1.4.0":"2026-06-22T06:10:18.835Z","1.5.0":"2026-06-22T06:12:18.022Z","1.6.0":"2026-06-22T07:22:38.234Z","1.7.0":"2026-06-22T07:40:01.445Z","1.7.1":"2026-06-22T07:48:31.275Z","1.8.0":"2026-06-22T14:00:10.691Z","2.0.0":"2026-07-08T00:54:11.560Z","2.0.1":"2026-07-08T14:17:30.812Z","2.1.0":"2026-09-05T02:21:57.284Z","2.2.0":"2026-09-05T23:19:16.484Z","2.3.0":"2026-09-06T03:29:39.223Z","2.3.1":"2026-09-06T19:43:00.642Z","2.4.0":"2026-09-06T20:57:25.139Z","2.4.1":"2026-09-06T22:12:33.401Z","2.5.0":"2026-09-07T12:53:20.947Z","2.5.1":"2026-09-07T19:29:07.532Z","2.5.2":"2026-09-08T22:39:08.435Z","2.6.0":"2026-09-09T06:29:39.347Z","2.7.0":"2026-09-09T22:47:30.515Z","2.8.0":"2026-09-10T01:32:08.982Z","2.9.0":"2026-09-10T05:59:31.147Z","2.9.1":"2026-09-10T06:04:20.233Z","2.10.0":"2026-09-13T06:16:53.342Z","2.11.0":"2026-09-13T10:07:23.562Z","2.12.0":"2026-09-14T02:38:21.018Z","2.12.1":"2026-09-14T09:34:53.951Z","2.13.0":"2026-09-14T10:55:58.862Z","2.14.0":"2026-09-14T16:43:56.914Z","2.14.1":"2026-09-16T01:34:34.327Z","2.15.0":"2026-09-17T20:32:55.641Z","2.16.0":"2026-09-17T21:26:12.456Z","2.16.1":"2026-09-17T23:55:07.320Z","2.17.0":"2026-09-24T12:25:46.266Z","2.18.0":"2026-10-01T00:02:54.378Z","2.19.0":"2026-10-01T21:54:11.372Z","2.20.0":"2026-10-02T13:36:58.251Z","2.21.0":"2026-10-03T15:09:00.176Z","2.22.0":"2026-10-03T15:10:39.949Z"},"bugs":{"url":"https://github.com/ditto-assistant/ditto-app/issues/1212"},"license":"MIT","homepage":"https://github.com/ditto-assistant/ditto-cli","keywords":["ditto","heyditto","memory","cli","mcp","model-context-protocol"],"repository":{"url":"git+https://github.com/ditto-assistant/ditto-cli.git","type":"git"},"description":"Ditto Memory CLI — save, search, fetch, and traverse the Ditto memory graph from the shell.","maintainers":[{"name":"futuretrees","email":"peyton@omniaura.ai"}],"readme":"# Ditto CLI\n\n`@heyditto/cli` — save, search, fetch, and traverse the [Ditto](https://heyditto.ai) memory graph from the shell.\n\n```bash\nnpm install -g @heyditto/cli\nheyditto init --name \"NAME_OF_AGENT\" --json   # the name is set once, here\n\nheyditto save \"I prefer TypeScript over JS for new projects\"\nheyditto search \"language preferences\"\nheyditto fetch <id> --memory-format outline\nheyditto subjects \"memory architecture\" --top-k 5\n```\n\n## Install\n\n```bash\nnpm install -g @heyditto/cli\n# or one-shot via npx\nnpx -y @heyditto/cli search \"what did I say about X\"\n```\n\nThe package installs two equivalent binaries: `ditto` and `heyditto`. They run the same CLI — use whichever you prefer. We recommend **`heyditto`** on macOS because Apple ships `/usr/bin/ditto` (a file-copy utility) that can shadow the npm CLI.\n\n### macOS: name collision with Apple's `/usr/bin/ditto`\n\nOn macOS, Apple ships `/usr/bin/ditto` (a file-copy utility). On a default `PATH` that puts `/usr/bin` ahead of `/opt/homebrew/bin`, plain `ditto` will run Apple's tool instead of this one — which produces confusing errors like `unrecognized option '--output'`.\n\nTwo ways to disambiguate:\n\n```bash\n# 1. Use the alias bin shipped by this package:\nheyditto status\n\n# 2. Or check which 'ditto' binary your shell resolves first:\ntype -a ditto\n# /usr/bin/ditto                    ← Apple's tool\n# /opt/homebrew/bin/ditto           ← @heyditto/cli (use this)\n```\n\nYou can also reorder your `PATH` so the npm global bin comes before `/usr/bin`, or invoke `@heyditto/cli` directly via its full path.\n\n## Auth\n\nHumans sign in through the browser:\n\n```bash\nheyditto login\n```\n\nThis prints a short code, opens `https://heyditto.ai/device` (pre-filled with the\ncode), and saves the resulting key to your CLI config directory once you approve\nit. Pass a key as an argument (`heyditto login ditto_mcp_…`), pipe it with\n`--stdin`, or use `--paste` for the older copy-a-key page.\n\nAgents can self-provision without a browser, email, or OTP:\n\n```bash\nheyditto init --json\n```\n\nThe command creates a free claimable agent account, stores the key in\nyour CLI config directory (defaults to `~/.config/heyditto/cli/config.json`;\noverride with `DITTO_CONFIG_DIR`), and prints a claim URL without printing the\nagent key. Humans claim the account later from `claimURL`; agents should share\nthat link. The claim token is carried in the query string (`?t=...`).\n\n### Name the agent at init\n\nDecide the agent's name **before** you run `init` and pass it with `--name`:\n\n```bash\nheyditto init --name \"NAME_OF_AGENT\" --json\n```\n\nThe caller name is set **once, at account creation**, and it labels everything\nthe agent saves: after a human claims the account, the agent's memories show up\nin the owner's graph as an *external agent thread* titled by this name. If you\ninit without `--name`, the name defaults to `agent` and every memory is\nlabeled `agent` — generic and hard to tell apart from other agents.\n\nSo: use the agent's own name, or a name the user has already chosen, and set it\nup front. Renaming after init is not yet supported from the CLI (it currently\nrequires backend support — see\n[ditto-assistant/backend#1199](https://github.com/ditto-assistant/backend/issues/1199)),\nso picking the right name at init avoids a stuck label.\n\n### Humans: sign in through the browser\n\n```bash\nheyditto login\n```\n\nopens the Ditto web app with a one-time device code (sign in with Google, X, Apple\nor GitHub, or create an account), approves it, and hands the key back to the CLI —\nnothing to copy. `heyditto claude` / `heyditto codex` run the same flow\nautomatically on first use, and the web page lets you pick or create the\ninference endpoint to launch through, so a fresh machine needs exactly one\ncommand:\n\n```bash\nnpx @heyditto/cli@latest claude --yolo --worktree\n```\n\nYou can still paste a key from **https://app.heyditto.ai/mcp/newkey**\n(`heyditto login <key>`, `--paste`, or `--stdin`), or set it in the environment:\n\n```bash\nexport DITTO_API_KEY=ditto_mcp_…\n# add to ~/.zshrc / ~/.bashrc to persist\n```\n\n## Commands\n\n```\nheyditto save <content> [--source <s>] [--source-context <c>]\nheyditto search <query>... [--include-public] [--filter-username <u>]\nheyditto fetch <id>... [--memory-format full|outline|blocks]\nheyditto list [--username <u>] [--limit <n>] [--offset <n>] [--source <s>]\nheyditto my-memories [--limit <n>] [--offset <n>] [--source <s>]\nheyditto update <id> [--content <text>|--content-file <path>] [--title <t>]\n             [--source-context <c>] [--edits-json <json>|--edits-file <path>]\n             [--base-revision <n>]\nheyditto publish <id> [--title <t>] [--privacy-mode <mode>]\nheyditto unpublish (--memory-id <id>|--share-id <id>|<id>)\nheyditto delete <memory-id> --confirm\nheyditto subjects <query> [--top-k <n>]\nheyditto subject-edges <subject-id> [--limit <n>] [--min-weight <n>] [--kg <alias>]\nheyditto memories <subject-id>... [--query <q>]\nheyditto network <pair-id> [--limit <n>]\nheyditto friends\nheyditto knowledge-graphs\nheyditto graph-sharing (--enable|--disable) [--title <t>] [--description <d>]\nheyditto graphs create <name>\nheyditto graphs list\nheyditto graphs available\nheyditto graphs add <@username>\nheyditto graphs remove <@username>\nheyditto graphs subscribers\nheyditto graphs sharing (--enable|--disable) [--title <t>] [--description <d>]\nheyditto init [--name <name>] [--subscribe <@graph>]... [<@graph>...] [--json]\nheyditto login [<key>] [--paste] [--stdin]\nheyditto endpoints [--set-default <slug>] [--clear-default]\nheyditto apps list [--company <id>]\nheyditto apps create <name> [--gh-secret NAME --repo o/r | --gcp-secret NAME | …]\nheyditto apps show|update|oidc|icon set|origins verify|secret rotate|consent set …\nheyditto apps endpoints list|attach|billing|detach <app> [<endpoint>]\nheyditto receipts [--leg ditto|byok|covered] [--app <app_id>] [--days <n>]\nheyditto claude [options] [-- <claude args>]\nheyditto codex  [options] [-- <codex args>]\nheyditto codex-app [--endpoint <slug>] [--model <id>] [--unset]\nheyditto sessions [--json] [--all]\nheyditto sessions rm <id>\nheyditto session new [<name>...] [--id <id>]\nheyditto session list [--all]\nheyditto session use <id>\nheyditto session current\nheyditto session end\nheyditto agents [--output <format>]\nheyditto logout\nheyditto status [--output <format>]\nheyditto config\nheyditto help [command]\n```\n\n### Help\n\nUse `-h` or `--help` globally or after any command:\n\n```bash\nheyditto --help\nheyditto search --help\nheyditto graphs add --help\n```\n\n### `save`\n\nSave a document or note to the user's memory base.\n\n```bash\nheyditto save \"Project X uses Bun + SolidJS, deployed to Cloud Run\"\nheyditto save \"$(cat note.md)\" --source document --source-context note.md\n```\n\n### `search`\n\nSemantic search across memories. Multiple positional args become an array of queries.\nUse `--include-public` to also search public DittoHub memories, optionally scoped\nwith `--filter-username <u>`.\n\n```bash\nheyditto search \"typescript preferences\"\nheyditto search \"typescript\" \"language choices\"\nheyditto search \"launch notes\" --include-public --filter-username peyton\n```\n\n### `review`\n\nManage Ditto Review and follow reviews from either `ditto` or `heyditto`.\nCommands use your selected organization (`orgs use`) or `--org`; without one,\nthey use your personal workspace. Repositories must already be set up for\nReview. Workspace membership and manager permissions are enforced by the API.\n\n```bash\nheyditto review repos --org omniaura\nheyditto review set ditto-assistant/console --max-minutes 20 --org omniaura\nheyditto review pulls ditto-assistant/console --org omniaura\nheyditto review start ditto-assistant/console 88 --org omniaura --watch\nheyditto review runs ditto-assistant/console --org omniaura --output json\nheyditto review status <run-id> --org omniaura --output json\nheyditto review watch <run-id> --org omniaura --interval 10 --timeout 3600\nheyditto review retry <run-id> --org omniaura\nheyditto review cancel <run-id> --org omniaura\n```\n\n`start` reviews the PR's current head using the repository's saved budget and\nsettings. Starting a previously completed head requests another paid attempt.\n`retry` can reuse a stored result after publication failure; other eligible\nretries can spend a new per-run budget. It does not raise any budget or enable\na paused repository. `cancel` requests cancellation; a running review stops\nasynchronously, and a review already being published may refuse cancellation.\n\n`runs` lists the API's recent workspace runs; `status --output json` includes findings and\nprior attempts. `watch` polls without starting, retrying, or cancelling the run.\nIt stops on completion, partial coverage, failure, cancellation, skip, or\nsupersession. Failed runs and timeouts return a nonzero exit code. A partial\nreview remains partial even though the command succeeds. A timeout or Ctrl-C\nonly stops the local watcher; use `cancel` to stop the server review.\n`--output json` prints one final JSON document, with watch progress on stderr.\n\nThe lifecycle commands require a backend with CLI-key access to Review run\nand PR routes. On an older backend they return an authentication refusal;\nupgrading the CLI alone cannot enable those routes.\n\n### `fetch`\n\nFetch memory content for private pair ids or public share ids. The default\n`--memory-format full` returns the full body. Use `outline` to get stable block\nids before a structured `update`, or `blocks` when you need each block body.\n\n```bash\nheyditto fetch 3a1084ae-235a-433d-9493-2335a0dfeb57\nheyditto fetch 3a1084ae-235a-433d-9493-2335a0dfeb57 --memory-format outline --output json\n```\n\n### `list`\n\nList saved memories, or public DittoHub publishes for a username.\n\n```bash\nheyditto list --limit 10\nheyditto list --username peyton --limit 10 --output json\nheyditto my-memories --source cli --limit 10 --output json\n```\n\n`my-memories` is the CLI wrapper for `list_my_memories`. It only lists your\nsaved memories, while `list --username <u>` can switch to public DittoHub\npublishes for another user.\n\n### `update`\n\nEdit a saved memory in place. Replace the full body with `--content` or\n`--content-file`, or use block edits after fetching `--memory-format outline`.\nBlock edits require the current revision returned by `save` or a previous\n`update`.\n\n```bash\nheyditto update <memory-id> --content-file revised.md --output json\nheyditto fetch <memory-id> --memory-format outline --output json\nheyditto update <memory-id> --edits-file edits.json --base-revision 3 --output json\n```\n\n### `publish` / `unpublish`\n\nPublish a saved memory to the user's public DittoHub profile, or disable an\nexisting share without deleting the private memory.\n\n```bash\nheyditto publish <memory-id> --title \"Launch notes\" --privacy-mode scan_and_block --output json\nheyditto unpublish --share-id abc123def4 --output json\n```\n\n### `delete`\n\nPermanently delete a saved memory. This is destructive, so the CLI requires\n`--confirm`.\n\n```bash\nheyditto delete <memory-id> --confirm --output json\n```\n\n### `subjects`\n\nSearch the subject (topic) graph. Returns subject ids you can pass to `memories` or `network`.\n\n```bash\nheyditto subjects \"memory architecture\"\nheyditto subjects \"performance\" --top-k 5\nheyditto subject-edges <subject-id> --limit 10 --min-weight 0.5 --output json\n```\n\n`subject-edges` is the CLI wrapper for `get_subject_edges`.\n\n### `memories`\n\nFetch memory previews scoped to specific subjects.\n\n```bash\nheyditto memories <subject-id>\nheyditto memories <subject-id> --query \"deployment tradeoffs\"\n```\n\n### `network`\n\nTraverse a memory's network (related memories via shared subjects).\n\n```bash\nheyditto network <pair-id> --limit 30\n```\n\n### `friends`\n\nList Ditto friends for commands that need usernames.\n\n```bash\nheyditto friends --output json\n```\n\n### `graphs`\n\nManage the public workspaces you're subscribed to. Subscribed workspaces are\nfolded into your `search`/`fetch` read paths (read-only). Subscriptions only ever\ncover **other** users' public workspaces by `@username` — this command can't touch\nyour own workspace or an app's workspace, since those aren't subscriptions.\n\n```bash\nheyditto graphs create feedback-triager  # create a NEW dedicated workspace you own (mint its CI key in the Ditto UI)\nheyditto graphs list              # workspaces you're subscribed to\nheyditto graphs available         # readable workspaces, including main/app workspaces\nheyditto graphs add @minos        # subscribe to @minos's public workspace\nheyditto graphs remove @minos     # unsubscribe\nheyditto graphs subscribers       # who's subscribed to your workspace\nheyditto graphs sharing --disable # disable public subscriptions to your workspace\n```\n\nTop-level aliases are also available:\n\n```bash\nheyditto knowledge-graphs --output json\nheyditto graph-sharing --enable --title \"Support Workspace\" --description \"Public support notes\"\n```\n\n### `apps` — developer apps (\"Sign in with Ditto\")\n\nEverything the developer console (developer.heyditto.ai) does for an app, from the\nshell, so an agent can set an app up end to end. The client secret follows the same\nrule as endpoint keys: it is **forwarded straight into a secret store** over that\nstore CLI's stdin and never printed.\n\n```bash\nheyditto apps create \"DittoBench\" --gh-secret DITTO_OIDC_CLIENT_SECRET --repo ditto-assistant/ditto-subnet\nheyditto apps origins verify dittobench-3f9a https://dittobench.ai            # serve the token, then:\nheyditto apps origins verify dittobench-3f9a https://dittobench.ai --confirm\nheyditto apps consent set dittobench-3f9a credits:spend \"Pays for the inference your miner uses.\"\nheyditto apps icon set dittobench-3f9a ./logo.png\nheyditto apps oidc dittobench-3f9a --callback https://dittobench.ai/auth/ditto/callback >> .env\nheyditto apps endpoints attach dittobench-3f9a screener --billing sponsor\nheyditto apps endpoints attach dittobench-3f9a competition --billing user\nheyditto endpoints keys create competition --gh-secret DITTO_ROUTER_KEY --repo ditto-assistant/ditto-subnet\n```\n\n- `create` mints the app and its secret. With a store flag the secret is stored and\n  never shown; without one it is minted but hidden — rotate it into a store later\n  with `apps secret rotate` (the previous secret stops working).\n- `oidc` prints the non-secret OIDC configuration (`DITTO_OIDC_ISSUER`,\n  `DITTO_OIDC_CLIENT_ID`, authorization/token/userinfo/JWKS endpoints) as env lines\n  or `--output json`. `client_id` is the app id; redirect URIs must live on a\n  verified callback origin.\n- `consent set <app> <scope> \"<why>\"` sets the app's own reason under each requested\n  permission on the consent screen; `consent show` renders the public consent\n  profile (`GET /api/v5/consent-profile/<app>`).\n- `endpoints attach <app> <endpoint> --billing user|sponsor` makes a Router endpoint\n  app-owned: the app's users get inference through it (never keys or edits). `user`\n  bills the consenting user under their `credits:spend` grant to this app\n  (`X-Ditto-On-Behalf-Of: <ditto uid>` from your server, 402 when not authorized);\n  `sponsor` bills the endpoint owner and only records the user for attribution.\n- `apps` commands use your first-party key against `/api/v5/admin/apps`; pass\n  `--company <id>` to act on an organization's apps.\n\n### `receipts`\n\nYour receipts for the last 30 days by billing leg (`ditto` = your balance, `byok` =\nyour own provider keys, no Ditto charge, `covered` = paid by Ditto) and by the app\nthat spent under your consent; sponsored app calls show up on the sponsor's account.\n\n```bash\nheyditto receipts\nheyditto receipts --leg byok --days 7\nheyditto receipts --app dittobench-3f9a --output json\n```\n\n### `status`\n\nPrint whether `DITTO_API_KEY` is set and the configured MCP endpoint resolves.\n\n### `init`\n\nCreate a free claimable agent account and save its key locally. Use `--json` for\nmachine-readable output that includes `apiKeyStored`, `userID`, and `claimURL`.\nShare `claimURL` with the human owner. The CLI stores the generated key locally\nwithout printing it. The claim URL uses a `?t=...` query parameter.\n\nPass `--name <name>` to set the agent's name. This is set once at init,\ndefaults to `agent`, labels every memory the agent saves, and (after the account\nis claimed) becomes the title of the agent's external thread in the owner's\ngraph. Choose it up front — renaming after init isn't yet supported. See\n[Name the agent at init](#name-the-agent-at-init).\n\n`--agent-caller <name>` is still accepted as a backward-compatible alias.\n\n### `config`\n\nPrint a Claude Desktop / Cursor / generic-MCP-client config snippet for the Ditto memory server.\n\n## Coding agents\n\n`heyditto claude` and `heyditto codex` launch Claude Code or Codex through one of\nyour Ditto **inference endpoints** (managed at https://developer.heyditto.ai/endpoints;\nthe Ditto app's Settings → Developer page still works too). Each launch:\n\n1. signs you in through the browser if this machine has no key yet, then uses\n   the endpoint you picked there, `--endpoint`, the saved default, or a picker,\n2. mints a temporary endpoint key (optionally capped with `--budget <tokens>`),\n3. starts the agent with that key and a fresh `X-Ditto-Session-Id`, so the\n   session becomes its own thread with full traces under the endpoint,\n4. **revokes the key when the agent exits** (Ctrl+C included). The thread and\n   traces are kept; `--keep-key` opts out, `--expires` sets a server-side\n   safety expiry (default `1mo`, so a session left open for days keeps\n   working; the key is still revoked on exit).\n\n```bash\nnpx -y @heyditto/cli login\nnpx -y @heyditto/cli claude --endpoint my-endpoint\n\nheyditto endpoints --set-default my-endpoint   # skip the picker next time\nheyditto claude                                # interactive Claude Code\nheyditto codex --yellow                        # Codex, auto-accept edits\nheyditto claude --yolo --worktree fix-login    # bypass prompts in <repo>/.worktrees/fix-login\nheyditto codex -p \"summarize this repo\" --json # headless (codex exec)\nheyditto claude -p \"list TODOs\" --output-format json --max-turns 3\nheyditto claude --resume                       # pick a session (type words to search every project)\nheyditto claude --resume \"Fix login bug\"       # resume by title, as `claude --resume` prints it\nheyditto claude -- --verbose                   # anything after -- goes to the agent\n```\n\nOptions shared by both commands:\n\n| Flag | Meaning |\n| --- | --- |\n| `-e, --endpoint <slug>` | endpoint to route through (default: saved default, else a picker) |\n| `--budget <tokens>` | spend cap for this session's key, in Ditto tokens |\n| `--expires <1h…never>` | server-side key expiry; the key is still revoked on exit unless `--keep-key` |\n| `--session <id>` | reuse a Ditto session id so traces land in an existing thread |\n| `--resume [id]` / `-c, --continue` | resume a local session (`heyditto sessions`) / the agent's most recent conversation. Claude also takes a Claude session id or title here, including sessions started in Claude Desktop or plain `claude`, and runs in the directory that session ran in; with no value, a terminal gets a searchable picker. Claude's own `-r` / `--resume` / `-c` after `--` do the same. |\n| `--yolo` / `--yellow` / `--plan` | bypass permissions / auto-accept edits / plan mode (Claude only) |\n| `-p, --prompt <text>` | headless run: `claude -p` or `codex exec` |\n| `-m, --model <id>` | model to request (default: the agent's own model id passes through and the endpoint routes it) |\n| `-w, --worktree [name]` | run inside `<repo>/.worktrees/<name>` on a branch of that name; `.worktrees/` is added to `.gitignore` |\n| `--name <label>` | key name shown in the app (default `cli:<agent>:<hostname>`) |\n| `--dry-run` | print the command, args and env with the key masked; mints nothing |\n\nUnknown flags and everything after `--` are forwarded to the agent, so Claude's\nand Codex's own options keep working.\n\nHow the wiring works:\n\n- **Claude Code** gets `ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN` (a bearer\n  token, which skips Claude's \"use this API key?\" prompt) and\n  `ANTHROPIC_CUSTOM_HEADERS` with the session id. Any inherited\n  `ANTHROPIC_API_KEY` is removed from the child environment.\n- **Codex** speaks the Responses API only, so the endpoint is injected as a\n  `ditto` model provider via `-c` overrides (nothing is written to\n  `~/.codex/config.toml`) with the key in `DITTO_INFERENCE_API_KEY`.\n\n### `codex-app`\n\n`heyditto codex-app` wires the **Codex desktop app** (ChatGPT.app) to one of\nyour inference endpoints, so its models — GLM Flash and friends — work in the\napp behind its own **\"Sign in with an API key\"** screen. Unlike the CLI, the\napp cannot be handed environment variables (a Dock-launched app inherits\nnone), so the wiring is file-based in the `~/.codex` directory the app shares\nwith the CLI:\n\n- `openai_base_url` in `~/.codex/config.toml` repoints the built-in `openai`\n  provider (the Responses wire the gateway speaks) at your endpoint;\n- the minted endpoint key lands in `~/.codex/auth.json` as the API-key login,\n  the same place the app's sign-in screen writes.\n\n```bash\nheyditto codex-app                          # sign in, pick an endpoint, wire the app\nheyditto codex-app --endpoint my-endpoint   # route through a specific endpoint\nheyditto codex-app --model glm-5.3-flash    # pin the app's model\nheyditto codex-app --dry-run                # show what would be written\nheyditto codex-app --unset                  # restore the previous wiring, revoke the key\n```\n\nThe command also enables the endpoint's model picker (`--codex-models on`),\nso the app's model picker lists the endpoint's models. A previous login\n(especially a ChatGPT-plan one) is backed up to `auth.json.pre-ditto` and\nconfirmed before it is replaced; `--unset` restores it. The key is long-lived\n(unlike `heyditto codex`'s per-session keys) and is revoked by `--unset` or\nrotated on the next run. Both files are shared with the Codex CLI, so a bare\n`codex` run routes through Ditto too; `heyditto codex` is unaffected.\n\n### `endpoints`\n\nManage the inference endpoints the launchers route through — a CLI mirror of\nthe developer console at https://developer.heyditto.ai/endpoints (`open` takes\nyou to an endpoint's page there; set `DITTO_DEVELOPER_BASE` to point elsewhere):\n\n```\nheyditto endpoints [--set-default <slug>] [--clear-default]   list (* = default)\nheyditto endpoints create [--name <n>] [--slug <s>] [--model <id>] [--default]\nheyditto endpoints show <endpoint>\nheyditto endpoints use <endpoint>          make it the default\nheyditto endpoints pick                    choose the default interactively\nheyditto endpoints open [endpoint]         open the editor in the Ditto app\nheyditto endpoints set <endpoint> [settings flags — see the table below]\nheyditto endpoints usage <endpoint> [--window 7d|30d|month]   requests, tokens, spend and cap\nheyditto endpoints delete <endpoint> [--yes]\nheyditto endpoints keys <endpoint>         list keys\nheyditto endpoints keys create <endpoint> --store <destination> --secret <NAME> [scoping flags]\n                                   [--name <label>] [--expires <1h…never>] [--budget <tokens>]\n                                   [--spend-period <p>] [--yes]\nheyditto endpoints keys stores              which destinations this machine can write to\nheyditto endpoints keys revoke <endpoint> <keyId> [--yes]\n```\n\nEndpoints spend your Ditto credits, so deleting one, revoking a key or raising a\nspend limit asks you to type the slug back; pass `--yes` in scripts. `--output\njson` is available everywhere and includes the gateway base URL.\n\n#### `endpoints set` — every setting the console has\n\n`set` is a full mirror of the endpoint editor at\nhttps://developer.heyditto.ai/endpoints: anything the web form can change, this\ncan change. `heyditto endpoints show <endpoint>` prints all of it back, and\n`--output json` gives the raw fields.\n\n| Flag | What it does |\n| --- | --- |\n| `--name <name>` / `--model <id>` | display name / default model id |\n| `--system-prompt <text>` | prompt prepended to every request |\n| `--spend-limit <tokens\\|none>` `--spend-period <daily…never>` | spend cap and the window it resets on |\n| `--recall on\\|off` `--record on\\|off` `--memory-depth <0-25>` | memory recall and recording |\n| `--record-trace on\\|off` `--record-attachments on\\|off` | store raw traces / store images sent on the user turn |\n| `--trace-retention <days>` | days traces are kept; `0` = forever. Clamped to your plan — the CLI says so when it was |\n| `--context-compaction off\\|light\\|balanced\\|aggressive` | how eagerly finished tool results are digested |\n| `--result-compression off\\|conservative\\|grouped` | compress tool results at ingestion |\n| `--tool-compression on\\|off` | swap harness tool descriptions for stored condensed rewrites |\n| `--precompact-at <tokens>` | start a background compaction snapshot at this prompt size; `0` = off |\n| `--routing cheap\\|fast\\|balanced` | how a provider is picked for a model |\n| `--model-mode default\\|passthrough` | what happens to a request model that is neither alias, route nor provider id |\n| `--billing-mode ditto\\|byok\\|both` | whose provider keys pay for requests |\n| `--stream-granularity final\\|tool\\|full` | how much server-side tool activity the stream shows |\n| `--max-tool-rounds <0-32>` | server-side tool loop cap per request |\n| `--batch on\\|off` `--batch-max-requests <0-50000>` | admit batch submissions, and the per-batch cap |\n| `--kind-route <kind=model>` | pin a request archetype to a model: `chat`, `tool_round`, `aside`, `compaction`, `structured_output`, `probe` |\n| `--model-route <requested=target>` | map a model id exactly as a harness sends it to a provider model |\n| `--alias <name=model>` | name a model on this endpoint |\n| `--clear-kind-routes` `--clear-model-routes` `--clear-aliases` | empty a whole map |\n\nThe three map flags are repeatable and **merge** onto what the endpoint already\nhas, so setting one route never drops the others. An empty value removes a\nsingle entry:\n\n```\nheyditto endpoints set my-endpoint --kind-route aside=openai/gpt-5.6-nano \\\n                                   --kind-route probe=openai/gpt-5.6-nano\nheyditto endpoints set my-endpoint --kind-route aside=          # remove just that one\nheyditto endpoints set my-endpoint --clear-kind-routes          # remove all of them\n```\n\nChoices and numeric bounds are checked locally against the gateway's own\nenums, so a typo fails instantly instead of costing a round trip.\n\n#### Put a key straight into a secret manager\n\n`keys create` mints a long-lived key on an endpoint and stores it in a secret\nmanager by delegating to that platform's own CLI — **the key is never shown**.\nThe plaintext goes to the platform CLI over stdin (or through `/dev/stdin`, for\nthe CLIs that read a file instead), so it does not appear in argv, `ps`, shell\nhistory, logs or the CLI's own output, and nothing is kept locally. If the\nplatform CLI fails, the freshly minted key is revoked again.\n\n| Destination | Shorthand | Scoping flags | CLI it delegates to |\n| --- | --- | --- | --- |\n| GitHub Actions | `--gh-secret NAME` | `--repo` `--env` `--org` | `gh secret set` |\n| GitLab CI/CD | `--gitlab-var NAME` | `--project` `--org` `--env` | `glab variable set --masked` |\n| AWS Secrets Manager | `--aws-secret NAME` | `--region` | `aws secretsmanager create-secret` (then `put-secret-value`) |\n| Google Secret Manager | `--gcp-secret NAME` | `--project` | `gcloud secrets create` (then `versions add`) |\n| Azure Key Vault | `--az-secret NAME` | `--key-vault` (required) | `az keyvault secret set --file` |\n| 1Password | `--op-item TITLE` | `--op-vault` | `op item create` (JSON template on stdin) |\n| HashiCorp Vault | `--vault-secret PATH` | `--mount` `--field` | `vault kv patch` (then `kv put`) |\n| Doppler | `--doppler-secret NAME` | `--project` `--doppler-config` | `doppler secrets set` |\n| Cloudflare Workers | `--cf-secret NAME` | `--worker` | `wrangler secret put` |\n| Vercel | `--vercel-env NAME` | `--vercel-target` | `vercel env add --sensitive` |\n| Kubernetes | `--k8s-secret NAME` | `--namespace` `--k8s-key` | `kubectl patch secret` (then `apply`) |\n| Fly.io | `--fly-secret NAME` | `--app` | `fly secrets import` |\n\nEvery shorthand is sugar for `--store <id> --secret <NAME>`; use whichever\nreads better. `heyditto endpoints keys stores` lists the destinations with the\nCLI each one needs and whether it is installed here (`--output json` for\nscripts).\n\n```bash\ncd my-repo\nheyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY               # repo from the current directory (like gh)\nheyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --repo acme/app --budget 5000000\nheyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --org acme --expires 6mo --output json\nheyditto endpoints keys create my-endpoint --store aws --secret DITTO_KEY --region us-east-1\nheyditto endpoints keys create my-endpoint --gcp-secret ditto-key --project my-gcp-project\nheyditto endpoints keys create my-endpoint --az-secret ditto-key --key-vault my-vault\nheyditto endpoints keys create my-endpoint --op-item \"Ditto inference\" --op-vault Engineering\nheyditto endpoints keys create my-endpoint --vault-secret ditto/inference --mount secret --field token\nheyditto endpoints keys create my-endpoint --k8s-secret ditto-inference --namespace prod\n```\n\nRequirements: the platform CLI on `PATH` and signed in — both are checked\n*before* anything is minted, so a missing CLI costs you nothing. Without a\nterminal the command needs `--yes`; interactively it shows what it will do and\nasks you to type the secret name back. Defaults: expiry `1y`, key label\n`<store>:<target>:<NAME>` (GitHub keeps its original `gh:<owner>/<repo>:<NAME>`);\n`--budget` caps the key's spend (`--spend-period` defaults to `monthly`). A\nscoping flag that belongs to another destination is an error rather than being\nignored. The output shows the key's last four characters, expiry, budget, where\nit was stored, and how to consume it — for GitHub Actions:\n\n```yaml\nenv:\n  ANTHROPIC_AUTH_TOKEN: ${{ secrets.DITTO_KEY }}\n  ANTHROPIC_BASE_URL: https://api.heyditto.ai\n  # OpenAI-compatible clients: OPENAI_API_KEY: ${{ secrets.DITTO_KEY }} with OPENAI_BASE_URL: https://api.heyditto.ai/v1\n```\n\nRevoke it any time with `heyditto endpoints keys revoke my-endpoint <keyId>`.\n\n**Agent accounts.** An agent set up with `heyditto init` can create and manage\nendpoints too, but an endpoint created by an unclaimed agent starts **inactive**:\nit serves requests once the person the agent works for claims the agent and\nsubscribes to Ditto Hero. The CLI prints the server's explanation together with\nan activation link (the agent's claim link plus the endpoint) — hand that link\nto the user.\n\n### `sessions`\n\nList the coding-agent sessions launched from this machine (stored under\n`~/.config/heyditto/cli/sessions/`). `heyditto sessions rm <id>` forgets a local\nrecord; the Ditto thread and traces are unaffected.\n\n### `session`\n\nExplicit MCP sessions. Without one, the server groups your saves and searches\ninto a time-based *implicit* session (activity within a cooldown, auto-named\nwhen it goes quiet). `heyditto session new [name]` pins an explicit session:\nevery MCP request from then on carries `X-Ditto-Session-Id`, and the name goes\nout once as `X-Ditto-Session-Name` so the thread gets that title. Saves and\nsearches land in one thread inside the agent your key is attached to.\n\n```bash\nheyditto session new \"refactor auth module\"   # prints the id and makes it active\nheyditto save \"Decided to keep JWT refresh in the gateway\"\nheyditto session current                      # the active id (exit 1 when none)\nheyditto session list                         # local history, * marks the active one\nheyditto session end                          # back to implicit sessions\nheyditto session use 9e9a93c3                 # reactivate by id or unique prefix\n```\n\n`DITTO_SESSION_ID=<id>` pins a session for one shell or script (it overrides the\nsaved one and never sends a name). Sessions are tracked locally in\n`~/.config/heyditto/cli/mcp-sessions.json`; the server keeps the threads.\n\n### `agents`\n\nList your Ditto agents (`GET /api/v5/chat-agents`): id, kind (`main`, `chat`,\n`inference_endpoint`, `mcp`, `connector`), name, thread count, last activity and\nthe live connections (API keys, OAuth grants, endpoints) writing into each.\n\n### `review` — Ditto Review from the shell\n\nThe developer console's Review pages, as commands. Repository settings:\n\n```bash\nheyditto review repos --org omniaura                       # repositories set up for Ditto Review\nheyditto review set ditto-assistant/console --max-minutes 20 --org omniaura\n```\n\nFindings on a pull request (its newest run), and acting on one. A finding is\nnamed the way you meet it: by the GitHub review comment's URL\n(`…/pull/12#discussion_r<id>`), by `<run-id>:<finding-id>`, or by a bare\nfinding id with `--pr`. Without `--org` the PR's repository is looked up in\nyour personal workspace and then in each organization you belong to.\n\n```bash\nheyditto review findings https://github.com/ditto-assistant/backend/pull/3158\nheyditto review findings ditto-assistant/ditto-app#3163 --all --output json   # include dismissed\n\n# Managers: dismiss with a reason. Ditto replies on the GitHub thread, resolves\n# it, and keeps the same issue off this PR on later reviews.\nheyditto review dismiss \"https://github.com/ditto-assistant/backend/pull/3112#discussion_r4171976544\" \\\n  --reason \"Retrying with different arguments is the documented design (trace_test.go:106-115).\"\nheyditto review undismiss <run-id>:<finding-id>\n\n# Any member: say whether a finding was useful, wrong or not useful.\nheyditto review feedback \"<comment-url>\" wrong --note \"The retry test covers different arguments.\"\n```\n\nEvery action is recorded as the same signal the console records\n(`review_finding_feedback`, `review_finding_dismissals`), so it feeds\nfalse-positive learning; a plain GitHub reply does not. The key reaches the run\ndetail, feedback and dismiss routes only — not cancel, retry, the event stream\nor posting a withheld finding.\n\n## Remote Control\n\nEvery `heyditto claude` / `heyditto codex` session is reachable from the Ditto\napp by default: open the session's thread on your phone and the chat input\nbecomes the terminal's input. Text and attachments you send there are typed\ninto the harness on your machine; the harness's own slash commands, skills and\npermission prompts work from the app too.\n\n```bash\nheyditto claude                        # remote-controllable (the default)\nheyditto claude --no-remote-control    # local only: never talks to the host bridge\nheyditto codex --headless              # no terminal UI; each app prompt runs one turn until Ctrl+C\nheyditto claude --headless -p \"start\"  # run one turn now, then keep taking turns from the app\n```\n\nHow it works:\n\n- The CLI opens one WebSocket to `/api/v5/hosts/ws` (host bridge protocol\n  v1.1), announces the session (`session.announce`) and its command catalog\n  (`session.commands`), and reconnects with backoff when the backend goes\n  away. The host id the backend assigns is kept in the CLI config so a\n  machine stays the same device across launches. A backend without the bridge,\n  or no network, never blocks the harness: remote control just stays off.\n- **TUI mode** runs the harness in a pseudo-terminal the CLI owns (via the\n  optional `@lydell/node-pty` dependency, which ships prebuilt binaries for\n  macOS, Linux and Windows on x64/arm64 and runs no install scripts) and\n  mirrors it to your terminal. A prompt from the app is pasted into the\n  harness's input box (bracketed paste) and submitted; `turn.interrupt` sends\n  Esc (Claude Code) or Ctrl+C (Codex). Without a PTY module for your platform,\n  or outside a terminal, the launch falls back to a plain spawn and says why\n  remote control is off.\n- **Turn boundaries come from the harnesses, not from parsing the screen.**\n  Claude Code is launched with `--settings` hooks (`UserPromptSubmit`, `Stop`,\n  `Notification`, `PreToolUse` for `AskUserQuestion`); Codex with\n  `-c notify=[…]`. Each hook runs `dist/remote/hook.js`, which writes one JSON\n  line to a Unix socket the CLI listens on. `Stop` / `agent-turn-complete`\n  mark `turn.finished`; if a harness never reports (older builds, builtin\n  commands that run no model turn), a quiet-screen fallback ends the turn.\n- **Attachments** are downloaded to `<cwd>/.tmp/ditto/attachments/<turnId>/`\n  (size and sha256 verified, mode 0600). `.tmp/` is added to the clone's\n  `.git/info/exclude`, never to `.gitignore`. The prompt the harness sees is\n  your text followed by `Attached files:` and the relative paths.\n- **Commands** (`turn.deliver {kind: \"command\"}`): the catalog lists Claude\n  Code builtins, `.claude/commands/**` and `~/.claude/commands/**`, skills from\n  `.claude/skills` and `~/.claude/skills`, installed plugin skills; Codex\n  builtins, `~/.codex/prompts/*.md` (as `/prompts:<name>`) and skills (as\n  `$<name>`). It is re-sent when those directories change. TUI mode types the\n  command; headless mode runs it through `claude -p \"/name args\" --resume` or\n  `codex exec resume --last`, and answers `turn.finished {unsupported}` for\n  TUI-only builtins.\n- **Prompts** (`prompt.request` / `prompt.answer`): a Claude Code permission\n  dialog or `AskUserQuestion` is forwarded to the app with its options; the\n  answer is typed back as the option's hotkey (or as text). Codex exposes no\n  hook for its approval dialogs, so those still need the keyboard.\n- **Headless mode** runs one `claude -p --resume <id> --output-format\n  stream-json` / `codex exec resume --last` per turn, prints a compact progress\n  line per event, and reports `turn.finished {exitCode}`. Ctrl+C finishes the\n  current turn, announces the session closed and revokes the session key.\n- `checkpoint.request` runs the same push as `heyditto teleport push` and\n  answers `checkpoint.done {generation}`.\n\n### `fork`\n\nStart a new session from a copy of an existing conversation.\n\n```bash\nheyditto fork <session-id>                    # copy the transcript under a new session id\nheyditto fork <session-id> --worktree try-b   # same, in <repo>/.worktrees/try-b on branch try-b\nheyditto fork <session-id> --cloud            # teleport the fork and resume it in Ditto Cloud\n```\n\nClaude Code transcripts are copied to a new uuid (session id fields rewritten,\nand the project directory moved when the fork lives in a new worktree); Codex\nrollouts are copied under a new thread id. The original stays untouched; the\nfork is a normal local session (`heyditto sessions`, `--resume <new-id>`).\n\n## Teleport\n\nWorktrees, clones, package caches and agent traces pile up until a laptop runs\nout of disk. **Teleport** moves a coding project — one repo or a whole folder of\nrepos, plus your Claude Code / Codex session — to Ditto Cloud, so you can resume\nit in the cloud or on another machine, and reclaim the local space. It is a\nHero-tier ($20) feature.\n\nA **capsule** is one teleportable root. Each `push` appends an immutable\n**generation**; only content-addressed chunks (≤ 24 MiB, deduplicated) reach\nstorage, and unchanged chunks are never re-uploaded, so re-pushing a mostly\nunchanged tree is cheap. Secrets never travel: `.env*`, key files and package\ncaches are excluded by construction.\n\n```bash\nheyditto teleport                       # push the current directory as a capsule\nheyditto teleport --cloud --endpoint work   # push, then resume in a Ditto Code cloud job\nheyditto teleport push ~/code/project --mirror all\nheyditto teleport pull project ~/code/project --restore-harness --resume\nheyditto teleport list\nheyditto teleport status project        # mirror + verification state\nheyditto teleport generations project   # every committed generation\nheyditto teleport targets               # mirror targets, quota and capsule limit for your plan\n```\n\nEvery teleport command accepts `--json` (or `--output json`). `pull --json`\nprints `{cwd, harnessSessionId, harnessKind, …}`, which is what the Ditto Code\nrunner reads when it restores a capsule before starting the harness. Capsules\ncan be referred to by name or id everywhere. `--endpoint` for `--cloud` takes an\nendpoint id, slug or name; with a single endpoint it is chosen automatically.\n\nUnder the hood a push negotiates which content-addressed chunks the server\nlacks, uploads only those via presigned URLs, then `commit`s the manifest (the\nserver answers `201 Created` with the new generation and its mirror state).\nEvery branch's upstream (`branchUpstreams`) and the real remote-tracking shas\n(`upstreamTips`) travel in the manifest, so a pull recreates remotes and\ntracking refs without a network fetch and `offload` sees exactly the unpushed\ncommits the source machine saw. A push reports what actually moved, e.g.\n`Pushed generation 2: 1.2 KiB uploaded (2.0 MiB logical, 99.9% reused), 3 chunks\n(1 uploaded, 2 reused)`; `--json` adds `uploadedBytes`, `logicalBytes`,\n`reusedBytes` and `savingsRatio`, and `teleport --cloud --json` prints a single\n`{ push, cloudSession }` document. `--cloud` opens\nthe thread URL the backend returns for its linked app (falling back to the\nproduction app link on older backends). `pull --resume` always resumes the\nharness inside the restored tree (add `--dry-run` to see the launch plan), so\nthe next prompt lands in the restored transcript even when the original\ndirectory still exists on the same machine. Restored Claude transcripts are\nfiled under Claude Code's own project slug for the destination path (every\nnon-alphanumeric character becomes `-`), so `claude --resume` finds them in\npaths with underscores or dots such as `/opt/workspace_base/capsule`. macOS\nAppleDouble `._*` files and `.DS_Store` never enter the worktree archive. Worktrees compressed with `zstd`\nare decompressed by Node itself when the `zstd` binary is missing; on a Node\nwithout zstd support the pull fails with a message naming the binary to install.\n\n`push` bundles each repo (thin against the previous generation when possible),\ntars the dirty and untracked files, and captures the harness transcript for the\nsession that was working there. `pull` reconstructs the repos from their\nbundles, restores branches, upstreams and the dirty worktree, and places the\nharness transcript under the restored path so `--resume` continues the exact\nsession.\n\n## Offload\n\n`offload` pushes the project, waits until the capsule is verified on redundant\nmirrors, then removes the local copy. On macOS, project files move to Trash.\nRecognized, excluded, untracked `node_modules` directories are deleted from\nthat Trash copy by default, so dependency bytes actually leave the disk.\n`--keep-dependencies` retains them in Trash. Other caches remain in Trash until\ntheir cleanup patterns have been confirmed. If the move to Trash fails, offload\nstops without deleting the project. It refuses when a repo holds commits no\nremote has, unless you pass `--allow-unpushed`.\n\n```bash\nheyditto offload ~/code/old-project      # verify, confirm, delete\nheyditto offload --yes                   # skip the confirmation\nheyditto offload --keep-dependencies     # preserve node_modules in Trash\n```\n\nRecover any time with `heyditto teleport pull <capsule> <path>`.\nAfter pulling, reinstall Node dependencies that were removed during offload;\n`node_modules` is not stored in the capsule.\n\n## Storage mirrors\n\nDitto stores capsules redundantly on its own storage. You can also bring your\nown S3-compatible bucket (AWS S3, Cloudflare R2, Backblaze B2, MinIO, Hippius)\nand mirror capsules to it — to all buckets or a chosen subset.\n\n```bash\nheyditto storage add --name my-r2 --endpoint https://<acct>.r2.cloudflarestorage.com \\\n  --region auto --bucket ditto-teleport --access-key … --secret-key …\nheyditto storage list\nheyditto storage test my-r2               # name or id\nheyditto storage remove my-r2\nheyditto storage mirror project all      # or: heyditto storage mirror project <id>,<id>\n```\n\nBuckets are managed through the teleport API (`/api/v5/teleport/buckets`), so the\nsaved CLI key is all you need. A bucket added with `storage add` is a teleport\nmirror by default; pass `--no-mirror` to keep it out of mirror policies.\n\n`teleport pull` and `teleport --cloud` need a committed generation: a capsule that\nwas created but whose push failed reports `has no generations yet`.\n\n## Environment\n\n- `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --json` for no-human setup.\n- `DITTO_API_BASE` (optional) — API base URL. Defaults to `https://api.heyditto.ai`. Useful for local dev (`http://localhost:3400`).\n- `DITTO_SESSION_ID` (optional) — pin an explicit MCP session id for this shell (see `session`).\n- `DITTO_CONFIG_DIR` (optional) — config directory for the saved key, default endpoint and session records. Defaults to `$XDG_CONFIG_HOME/heyditto/cli` or `~/.config/heyditto/cli`.\n\n## Output\n\nEvery data command and `status` accepts `--output <format>`, where `<format>` is one of:\n\n- `json` — guaranteed structured JSON (parses the server text block, re-emits pretty-printed JSON).\n- `text` — the server's text block as-is (the default; for data commands this is already JSON).\n- `markdown` — same as `text`; reserved for future markdown rendering.\n- `raw` — the full MCP response envelope as JSON.\n\n```bash\nheyditto search \"X\" --output json | jq '.results[] | {id, similarity, preview: .userPreview}'\nheyditto status --output json | jq '.tools'\n```\n\n## Related\n\n- **[`@heyditto/mcp`](https://github.com/ditto-assistant/ditto-mcp)** — local stdio MCP bridge with OAuth (different surface; pair with Claude Desktop / Cursor).\n- **[ditto-clawhub](https://github.com/ditto-assistant/ditto-clawhub)** — the ClawHub / OpenClaw skill that ships alongside this CLI.\n- **Web app:** https://app.heyditto.ai\n\n## Development\n\n```bash\njust install\njust check       # tsc --noEmit\njust build       # tsc to dist/\njust verify      # check + build + pack --dry-run\n```\n\nReleases are automated via [semantic-release](https://github.com/semantic-release/semantic-release) on push to `main`. npm provenance is enabled — every published version is signed by the GitHub Actions OIDC identity. Trusted publishing is configured at the npm registry.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n\n## Repository configuration (`.ditto/`)\n\n`.ditto/` is the versioned, discoverable contract a repository gives Ditto — endpoint\nbindings, Teleport policy, environment and task settings — validated by the same\nschema in the CLI, backend, web and desktop (vendored as `src/dittoconfig/schema.json`).\n\n```sh\nheyditto repo init               # scaffold .ditto/config.toml + .ditto/mise.toml from detected projects\nheyditto repo validate           # exit 1 on any problem, naming the file and key\nheyditto repo show               # effective document with the layer each table came from\nheyditto teleport plan [path]      # what a push would capture, per project, with byte estimates\n```\n\nLayers: workspace `.ditto/` (a parent folder of many repos) < repository `.ditto/` <\nignored `.ditto/local.toml` < flags. Secrets are never literals: use `secret://`\nreferences. Paths are repository-relative and cannot escape it.\n\n`teleport plan` discovers repositories, worktrees and nested projects under a folder\n(the folder itself need not be a repository), detects project types from a catalog\nadapted from [Kondo](https://github.com/tbillington/kondo) (MIT; detection and exclusion\nknowledge only, never its cleanup), and applies regenerable-artifact exclusions per\nproject and path: a directory named `build` is only excluded under a project whose type\nsays so. Tracked artifact directories are flagged rather than claimed excluded.\n`heyditto offload` refuses to delete a folder when unrelated files, unknown projects or\nescaping symlinks beneath it would be lost.\n","readmeFilename":"README.md"}