{"_id":"ask-marcel-office-cli","_rev":"16-430edab13fb32408811d5c4d084ab5e1","name":"ask-marcel-office-cli","dist-tags":{"latest":"2.8.0"},"versions":{"0.1.0":{"name":"ask-marcel-office-cli","version":"0.1.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@0.1.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"cb0fdb9644e1b30eed4db3c4aa701baac704c0cc","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-0.1.0.tgz","fileCount":115,"integrity":"sha512-i7IpvUZh3uioUDcqDgMr7Dt2M3nqXDx85NMOIEPEGiCgKtTONG6PxXVl27bGs1I9bYwGtDqdZOwnH4OaukRAQw==","signatures":[{"sig":"MEQCIG0AjrGrPW7TzkR/YN+mydSJmUhdD6dmxRZPXfjUg4O5AiAX7YGZi7Wddz3jKt3PJcYycmSyJlepdyjr86vXzNGdXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1776041},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"ca41fd4aa244dad126a54e99fb7395d4e58e8090","scripts":{"lint":"eslint --cache","build":"rm -rf dist && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier","coverage":"bun run scripts/check-coverage.ts","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 100+ Graph API operations with browser-fallback OAuth.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^4.3.6","winston":"^3.19.0","commander":"^14.0.3","playwright":"^1.59.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_0.1.0_1777458539298_0.9617679892275293","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"ask-marcel-office-cli","version":"0.5.5","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@0.5.5","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"81b050ce66fff5c0f7c1922fff6be48864f6f784","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-0.5.5.tgz","fileCount":113,"integrity":"sha512-XcVUuZ9QVkd52hkazPSvtZwA29BdAJvcoDGBW8FxiPJsRsciNQRAQv7/O8tSh9sqailv05ap7rQFdgJUggqnMg==","signatures":[{"sig":"MEUCIQDWaTOBxvM+xr07JFHkJ4FlQ7SqCRiCJRYvojDTzFvHIgIgZoRjDsXxwcWs2kI7ucGRMW7sx17f6ybrNP7JODVEU+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2050328},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"1fc2fe251047c3b44c5f4be536cbb80f742fb676","scripts":{"lint":"eslint --cache","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 70+ read-side Graph operations reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^4.3.6","winston":"^3.19.0","commander":"^14.0.3","playwright":"^1.59.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_0.5.5_1777609277379_0.4644116444651931","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"ask-marcel-office-cli","version":"1.0.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@1.0.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"48d713647f47887a234ba1571aa53306786d3de7","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-1.0.0.tgz","fileCount":214,"integrity":"sha512-ysO/ZAtQqCfLmoBZ0jSI4nuZxiSoNBM2qAG9SYCWaPSYoCIl7ue4YlLTXJ2ub8teSzrmOe44VaigeIoQ0D5srg==","signatures":[{"sig":"MEUCICLVXtDWHrAkqPPupUXP1MAIeXXF2H9UMdGxr3g0RGK8AiEAx4ZNyuozkfQEI4c0wjLuVD394KsrSlmfxk1NbZ2Pn0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9143274},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"cb08bbdb1c9c96ee319eec09bfc10f5d7fdfb360","scripts":{"lint":"eslint --cache","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","update-notifier":"^7.3.1","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_1.0.0_1779188326276_0.9860011101104591","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"ask-marcel-office-cli","version":"1.4.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@1.4.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"877bcd5343e1aa766a2c6a3341165bc9465036c9","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-1.4.0.tgz","fileCount":228,"integrity":"sha512-ZzslyxxFuqsqD791JXOAxBWuagz5T+7+/hscUJhAJ7myaIHWsyS0xdNG5MkCoRFmYXkQZY+U0z7s3j2W29oJ6g==","signatures":[{"sig":"MEUCIGlC3CdAnyRB+ZQl01boMJEsHG4OSH1r5GvAbUPtXu9UAiEAsW4qySkPViXHdMicwr28KprG9MRAoCkgHyyCnm+IVDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9455680},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"4fd3315ba5cd25dcf446bdc5dff572c70955be51","scripts":{"lint":"eslint --cache","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.12.1","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","update-notifier":"^7.3.1","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_1.4.0_1779842733735_0.7129023494119031","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"ask-marcel-office-cli","version":"1.5.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@1.5.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"458151cf55d783c79a366b8e3a323e11e7bf4b34","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-1.5.0.tgz","fileCount":292,"integrity":"sha512-awZ1GiKZMIWz5DJpgBKXKWFmlEHCnCxOZz5TVWPVF7TOXVgfB2AW1ZDkm+Yf0pGHob7JkpqgFSr1zXnjjXEwRw==","signatures":[{"sig":"MEUCIQCHsgLBwMsoF4W8a6IJSAmUJbUCH8WjUf+Erp0saiyFiAIgSrFgDJ2PCvR7OkYE2VtlmpSD7CDoJ0/ruyJwkwWutYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3664059},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"5a662a326f762a1fc3b34ffd971934c5b5b2ee59","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_1.5.0_1781670218190_0.012545690785113583","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"ask-marcel-office-cli","version":"1.5.1","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@1.5.1","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"3d85c8497e3c134ef0deb15d54b298a74f58150e","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-1.5.1.tgz","fileCount":292,"integrity":"sha512-NeAB65rboMdOsSixQzJ7ghABkByJFfctDMImLLzAGp+NEkBOpASjrN6LTtml58P4S+zmxmdyJIFay7+R7kuDog==","signatures":[{"sig":"MEUCIQD6HS+3K1+mvCewO6yHYcH+JOUYlOJXL8XGALgiD0ss1AIgAKG0+CQzC8XQY6EriptEupB7KAagCuFp5mbBdjBxgJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3666866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"cfe6f4ed770d7c58425f5513a240f3396c7d4917","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_1.5.1_1782095775015_0.8738225923461618","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"ask-marcel-office-cli","version":"1.5.2","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@1.5.2","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel":"dist/cli.js"},"dist":{"shasum":"5090e4d32ed98076e10f0a2ae83c2a0136159164","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-1.5.2.tgz","fileCount":292,"integrity":"sha512-UevTO5i67ZMBSoimLAZZB1+4ZWLSenA67noA/NSgwhJUzitOQDRv9mA3+VEkhWf4GI6zC/hW4G5GjxsvDSdX1A==","signatures":[{"sig":"MEUCIGLoHt6T9qz+F+H7OjD115dKa2re+IEJbdXTx7M1qcFeAiEA/hbLxecDlTWRXzn4qUfjRptqeThIHIF4sG90L/6WeeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3679388},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"12495c0004b7bd750a9e0a78c5926de21f274a0b","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_1.5.2_1782264786611_0.7630775189467387","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"ask-marcel-office-cli","version":"2.0.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.0.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"41928c50f6ac81cffa2a82ebcb4b7fc0b4d4cb39","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.0.0.tgz","fileCount":289,"integrity":"sha512-yiHIoDL807JQig6MUQEJLsj/ETcE73FMcHQd8rP3vtT8wwdR0+9jP1f/Yfp75vmIoYn0JIrgz79l16AOFdW68w==","signatures":[{"sig":"MEYCIQCiiPEuKMnaJUKJH+Tp0RAxN1RFDBkf7E0G9yoMQM3gRgIhAMAa/7CWiuE8d69invgl6mox3WPWkc9QbnZX1LWnqhnw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3170573},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"fc74715b475020a5fa145edbc3fed818139a5d7a","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.0.0_1783385236720_0.06247069106972236","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"ask-marcel-office-cli","version":"2.1.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.1.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"ffca752245b44cd922f44d173a884d1299153a0a","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.1.0.tgz","fileCount":292,"integrity":"sha512-t/UQ1IyBBtUKOUAn/9qaoY1ovb3jO159RjEV2WQMdvjwllsbGMsVCCMLHH8cqG1VamEpddVHFo4DUrscXs59ZA==","signatures":[{"sig":"MEYCIQC5etIMm1GKlZTKHshgsqOdqSl/4pFh5whvJirZzFcevwIhAJcvoPn3rAG6y+AhVAZq35Xt4yMEfD7ZT5k8Zu2GXrzN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3206818},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"27e4d51f778c76fe94a285d88b639d5a17a346e5","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.1.0_1783993231334_0.7602771540533388","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"ask-marcel-office-cli","version":"2.2.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.2.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"64392cf6e1f8c81e5d1d1e4a20218da4a6509265","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.2.0.tgz","fileCount":310,"integrity":"sha512-R7XnYnCR6Jt8IIt5UWMMmuenSiYICEGj1EGoIh7/NyC7tMLSCeL2qkPsB3SyLLSYjShvcBAibVcZNuECO1v1tA==","signatures":[{"sig":"MEYCIQCtuXHcZRvn5pgM3EKziPdPNhpfRcMMPiZmvrNfYTx5bAIhAKA794guG25Usa3eWpgVfh/UHcZgvmhE1DmGs4JHQzpc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4041260},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"15ed956f0ff04d7b748f4cbee38319e3d301ba3c","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.2.0_1784522376637_0.15363071644690374","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"ask-marcel-office-cli","version":"2.3.0","keywords":["microsoft-graph","office-365","cli","bun","typescript","graph-api","outlook","teams","onedrive","sharepoint"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.3.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/vdelacou/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/vdelacou/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"a7a7d77cc6f03f87a5f0a4c2bf13babd26fa7ab5","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.3.0.tgz","fileCount":311,"integrity":"sha512-U+2DhJeYkZ1hAj1cEx4QMUubd556Afa/YRDdRIxaqLPs5radKj+Jzjxa20VILSZ0EzWZzW62sPq517r72Cj/Vg==","signatures":[{"sig":"MEQCIH75bkYL5aGUmnOmfiWD5BYv6Htpm4HjR92/BdzK01qgAiAMY1sWQyU/ivR/fXtnbb/9aKapt7uQG+Etdr6Q4LOGeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4031766},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"d359d68287c3d74f0dd64d2a641498e9dcf4e87c","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/vdelacou/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.3.6","xlsx":"^0.18.5","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.3.0_1784867958588_0.08350286134911578","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"ask-marcel-office-cli","version":"2.4.0","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.4.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"aff69024d003a29a82d6e2e7dda7d5bae7e0712b","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.4.0.tgz","fileCount":316,"integrity":"sha512-KoTa/njv8KZqCJVDPK6CvioRnYu8FXJKi4peRr61MPakJaIavD5VPdYjPvR+uRhp3G4FH1tqAmPTRDwYOiky7g==","signatures":[{"sig":"MEUCIHPsG/6NASMQgeIVF412XBu4R8u2ruISn3aoRrudjV9OAiEAr0+82g4Mhspv4IvMaCyu5dvKss+0pP5MYTyg7UWuKWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4120610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"0436c177a5b8c2e21ae31f12bc251c66c854d069","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:staged":"bash scripts/lint-staged.sh","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.19.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"^4.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.4.0_1788397696669_0.3308814288736537","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"ask-marcel-office-cli","version":"2.5.0","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.5.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"8fd59a7e48031f4ead50b18cea36a34dbd0de43e","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.5.0.tgz","fileCount":322,"integrity":"sha512-mHB4O7tC9wL/ZSgiMNvOC/NtOTIYspCsu5dliAveLa93PQ/9ae9OYCW7rcsbZbKRIXaTsVUu2jQyFc1tayzE0A==","signatures":[{"sig":"MEQCIH3x9Ksj3HzTYYns+QzNUyfDOyPqML6+514FrZFTEmk2AiBdhGYD3q/hoXCM43+tP5vZo1YyRpHWHaZ+ZkVBQc51lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4231898},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"6601574c5210bb2b01899b8a2a9ee0d947939340","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","check:docs":"bun run scripts/check-doc-numbers.ts","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:staged":"bash scripts/lint-staged.sh","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.19.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"^4.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.5.0_1788697755814_0.8068428682705073","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"ask-marcel-office-cli","version":"2.6.0","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.6.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"d1d686a04a6d65e93bd3483e6638b4b05b56a0de","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.6.0.tgz","fileCount":325,"integrity":"sha512-hVV8oDO5mLSx/fhAYwFspq5Tn342lMi7x08EqmsO8uiX9f8sn3WCKOMsRiDuAbshCpLZ+57BZJMVfxL3nqfpdQ==","signatures":[{"sig":"MEYCIQCUeAe3MUewnlPfkA7G7+CxCstzZFqmF2grBXAKXDBVjgIhALNLYtThd5XYGDXm0vv26p0U4GrDouPP+Is37tfNjFaq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4275506},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"5d74d00c8c7423fdfc7306362405c2a36b307b1a","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","check:docs":"bun run scripts/check-doc-numbers.ts","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:staged":"bash scripts/lint-staged.sh","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.19.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"^4.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.6.0_1788928829774_0.2818255237292815","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"ask-marcel-office-cli","version":"2.7.0","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","_id":"ask-marcel-office-cli@2.7.0","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"bin":{"ask-marcel-office":"dist/cli.js"},"dist":{"shasum":"8de19e0d681f969bb5c97077dedc6c3786d0ca68","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.7.0.tgz","fileCount":340,"integrity":"sha512-A3TL0RyNzHjCnH06nir7NBxXFMridFomnto6Sk5LWOmckLZVWlXVEj62oSu8dF9+q2ezf3qS4pT/T0asf+0SWg==","signatures":[{"sig":"MEQCIFJURqZvmPfGyMz2YDMlrZZX5ubB1Qt4tXCdqDyi/Q3uAiBm+k+KYHoQSHUSAQxYI+5gGrmN9cv2mjc3fvo1KRHObQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4414435},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"8709437f411d3dfa620e1e9438a31044f60b6441","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","check:docs":"bun run scripts/check-doc-numbers.ts","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:staged":"bash scripts/lint-staged.sh","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.19.0","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 150+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"^4.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ask-marcel-office-cli_2.7.0_1789133602304_0.6239489839898562","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"_id":"ask-marcel-office-cli@2.8.0","bin":{"ask-marcel-office":"dist/cli.js"},"bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"dist":{"shasum":"dbcc91f12a6980f938c3f95eda27c40b929dde40","tarball":"https://registry.npmjs.org/ask-marcel-office-cli/-/ask-marcel-office-cli-2.8.0.tgz","fileCount":364,"integrity":"sha512-6k964yJWukkMiTkUw1qUyBsl2m30bGDEUpxWzzE5hKmls/UUt0mjYk7m/3xbe4lU5hN+wQSLe8l+6BQJKqW8qQ==","signatures":[{"sig":"MEQCIEJjlaQPmjczjH5MhKvxFDX2cKUe6dxZD/qGZ5GaGfzrAiAvMWr7nM4S0FPhTdc23jXSylqK6jN81ldF2oJIZ0smJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF6D6Tnw9ebVX0stnTFepCOYG8HRqQRaAgbzrtSPngtXAiAmi7PZAVZFZMQjRCNt9FySoevW53PFb6KBeXyAOFsB8g=="}],"unpackedSize":4051750},"main":"./dist/index.js","name":"ask-marcel-office-cli","type":"module","types":"./dist/index.d.ts","author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"module":"./dist/index.js","engines":{"bun":">=1.0","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./commands.json":"./dist/commands.json"},"gitHead":"d19f7d62fc6d5129ad8ee33dcc363b9aeab42e9b","license":"MIT","scripts":{"lint":"eslint --cache --max-warnings=0","build":"rm -rf dist && bun run docs:gen && bun run build:js && bun run build:types && bun run scripts/fix-dts-extensions.ts && bun run scripts/add-shebang.ts && cp docs/commands.json dist/commands.json","start":"bun run src/main.ts","mutate":"stryker run","build:js":"bun build src/main.ts --target=node --outfile=dist/cli.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external postal-mime --external fast-xml-parser --external winston && bun build src/index.ts --target=node --outfile=dist/index.js --format=esm --external playwright --external update-notifier --external xlsx --external mammoth --external jszip --external unpdf --external turndown --external turndown-plugin-gfm --external word-extractor --external @kenjiuno/msgreader --external postal-mime --external fast-xml-parser --external winston","coverage":"bun run scripts/check-coverage.ts","docs:gen":"bun run scripts/gen-docs.ts","build:bin":"mkdir -p dist/bin && bun build src/main.ts --compile --target=bun-darwin-arm64 --external playwright --outfile dist/bin/ask-marcel-office-mac-arm64 && bun build src/main.ts --compile --target=bun-darwin-x64 --external playwright --outfile dist/bin/ask-marcel-office-mac-x64 && bun build src/main.ts --compile --target=bun-linux-x64 --external playwright --outfile dist/bin/ask-marcel-office-linux && bun build src/main.ts --compile --target=bun-windows-x64 --external playwright --outfile dist/bin/ask-marcel-office-windows.exe","typecheck":"bun --bun x tsc --noEmit","check:docs":"bun run scripts/check-doc-numbers.ts","build:types":"bun --bun x tsc -p tsconfig.build.json","lint:staged":"bash scripts/lint-staged.sh","lint:strict":"LINT_STRICT=1 eslint --max-warnings=0","mutate:staged":"bash scripts/mutate-staged.sh","mutate:changed":"bash scripts/mutate-changed.sh","prepublishOnly":"bun run build && bun test && bun run lint:strict && bun run typecheck && bun run coverage"},"version":"2.8.0","_npmUser":{"name":"vdelacou","email":"vincent.delacourt@gmail.com"},"homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"_npmVersion":"11.19.1","description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 200+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","directories":{},"maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"_nodeVersion":"26.10.0","dependencies":{"zod":"^4.3.6","diff":"^9.0.0","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","unpdf":"^1.6.2","mammoth":"^1.12.0","winston":"^3.19.0","turndown":"^7.2.4","commander":"^14.0.3","playwright":"^1.59.1","postal-mime":"^3.0.1","word-extractor":"^1.0.4","fast-xml-parser":"^5.8.0","update-notifier":"^7.3.1","@kenjiuno/msgreader":"^1.28.0","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"docx":"^9.6.1","eslint":"^9.28.0","@eslint/js":"^9.28.0","@types/bun":"^1.2.0","typescript":"^5.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.33.1","@stryker-mutator/core":"^9.6.1","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^59.0.1","@types/update-notifier":"^6.0.8","eslint-plugin-prettier":"^5.4.1","eslint-plugin-security":"^3.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ask-marcel-office-cli_2.8.0_1790600539671_0.6389316458934455"}}},"time":{"created":"2026-04-29T10:28:59.209Z","modified":"2026-09-28T13:02:19.983Z","0.1.0":"2026-04-29T10:28:59.539Z","0.5.5":"2026-05-01T04:21:17.574Z","1.0.0":"2026-05-19T10:58:46.508Z","1.4.0":"2026-05-27T00:45:34.142Z","1.5.0":"2026-06-17T04:23:38.383Z","1.5.1":"2026-06-22T02:36:15.185Z","1.5.2":"2026-06-24T01:33:06.793Z","2.0.0":"2026-07-07T00:47:16.997Z","2.1.0":"2026-07-14T01:40:31.523Z","2.2.0":"2026-07-20T04:39:36.822Z","2.3.0":"2026-07-24T04:39:18.763Z","2.4.0":"2026-09-03T01:08:16.896Z","2.5.0":"2026-09-06T12:29:15.968Z","2.6.0":"2026-09-09T04:40:29.969Z","2.7.0":"2026-09-11T13:33:22.518Z","2.8.0":"2026-09-28T13:02:19.790Z"},"bugs":{"url":"https://github.com/ask-marcel/ask-marcel-office-cli/issues"},"author":{"name":"Vincent Delacourt","email":"vincent.delacourt@adama-development.com"},"license":"MIT","homepage":"https://github.com/ask-marcel/ask-marcel-office-cli#readme","keywords":["microsoft-graph","microsoft-365","office-365","m365","cli","mcp","mcp-server","llm","ai-agent","ai-agents","claude","claude-code","cursor","markdown","outlook","teams","onedrive","sharepoint","calendar","excel","onenote","planner","graph-api","typescript","bun"],"repository":{"url":"git+https://github.com/ask-marcel/ask-marcel-office-cli.git","type":"git"},"description":"Microsoft Graph CLI + library — typed Bun/TypeScript wrapper around 200+ Graph operations (read + on-the-fly PDF/markdown conversion + federated Microsoft Search) reachable from a Teams browser-OAuth token.","maintainers":[{"name":"vdelacou","email":"vincent.delacourt@gmail.com"}],"readme":"<div align=\"center\">\n\n# ask-marcel-office\n\n### The Microsoft 365 command line built for AI agents\n\n**One sign-in. No Azure app registration. Every document as clean markdown.**\n\n[![npm version](https://img.shields.io/npm/v/ask-marcel-office-cli.svg?logo=npm&color=cb3837)](https://www.npmjs.com/package/ask-marcel-office-cli)\n[![license: MIT](https://img.shields.io/npm/l/ask-marcel-office-cli.svg?color=blue)](LICENSE)\n[![types included](https://img.shields.io/npm/types/ask-marcel-office-cli?logo=typescript&color=3178c6)](docs/USAGE.md)\n\nOutlook · OneDrive · SharePoint · Calendar · Excel · Teams · Planner · To Do · OneNote · People\n\n[Install](#install-in-60-seconds) · [See it work](#see-it-work) · [What it reaches](#what-your-agent-can-reach) · [Files to markdown](#any-file-becomes-markdown) · [Library](#embed-it-as-a-typescript-library) · [All 212 commands](docs/COMMANDS.md)\n\n</div>\n\n---\n\nYour agent is smart enough to answer *\"what did Contoso say about the Q3 budget, and what's in the attached deck?\"* It just can't see your mailbox.\n\n`ask-marcel-office` gives any tool-calling LLM (Claude Code, Cursor, Cline, an MCP server, your own loop) eyes on your entire Microsoft 365:\n\n```bash\nnpm i -g ask-marcel-office-cli\nask-marcel-office login          # your normal Microsoft sign-in, in a browser, once\nask-marcel-office list-mail-messages --top 5\n```\n\nThat is the whole setup. **No Azure app registration. No tenant-admin consent. No client secrets.** And nothing for a runaway agent to break: the command surface is read-only by design.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ask-marcel/ask-marcel-office-cli/main/docs/demo.gif\" alt=\"ask-marcel-office converting an Outlook .msg file into clean markdown in one command, offline\" width=\"880\">\n</p>\n\n## The difference in practice\n\n| You need | Raw Microsoft Graph | ask-marcel-office |\n|---|---|---|\n| Access | App registration, admin consent, secret rotation | `login`: one browser sign-in with your own account |\n| An email + attachments | 6+ round trips, HTML-to-text is your problem | `convert-mail-to-markdown`: one call, markdown out |\n| A pptx / pdf / legacy .doc as text | Raw bytes, bring your own converter | `download-drive-item-as-markdown`: one call |\n| A useful error | `BadRequest: Invalid filter clause` | `hint: \"string literals MUST use single quotes; embed one by doubling it\"` |\n| A 5 MB PDF | Base64 flooding the context window | `--output-path` writes it to disk; the model reads 3 lines |\n| Throttling | HTTP 429, guess the backoff | `retryAfterSeconds` surfaced in the error envelope |\n\nAnd against the tools you already know:\n\n| | Microsoft Graph SDKs | CLI for Microsoft 365 (PnP) | ask-marcel-office |\n|---|---|---|---|\n| Sign-in | An Entra app registration, always: every auth flow needs a client id | An Entra app registration; its `setup` command creates one, and the permissions it requests can need admin consent | Your own account, in a browser, once. No app registration |\n| Built for | Backend services | Admins and scripts | Tool-calling LLMs: markdown out, lean fields, a repair hint on every error |\n| Can it break things | Whatever your app's permissions allow | Yes: it creates, changes, and deletes across the tenant | No: read-only by design; the four writes only leave unsent drafts |\n\n## The three walls it removes\n\n### 🔑 Sign in like a human, not like an app\n\nMicrosoft Graph normally means registering an Azure app, chasing tenant-admin consent, and rotating client secrets before the first API call. Here, `login` drives a real browser window through the standard Microsoft sign-in (Playwright under the hood) and captures the same token the Teams web client already uses. Any Microsoft 365 account works, personal or enterprise. Tokens are cached at `~/.ask-marcel/token-cache.json` (0600) and refresh themselves headlessly; `scopes-check` reports per-token scopes and expiry without a Graph call and without ever opening a browser: an expired session is reported as expired, not re-captured.\n\n### 🛡️ Safe to hand to an autonomous agent\n\nThe 212 commands break down as 203 GET, 5 read-only POST (four searches and a free/busy lookup), and 4 mail-draft operations. No `send-mail`. No `create-event`. No `upload-file`. No `delete-anything`. The worst a hallucinated tool call can do is leave an unsent draft in your Drafts folder. That is the entire blast radius, which is why you can let an agent explore a mailbox without reviewing every call. No analytics, either: the only outbound traffic is Microsoft 365 itself (Graph, plus the Teams chat and media services behind the chat commands) and a periodic npm version check.\n\n### 🧠 Responses budgeted for a context window\n\nGraph payloads are tuned for backend services. These are tuned for models. Listings return hand-picked fields instead of every property on every item (opt out with `--full true`). Email threads arrive with quoted reply chains stripped, which shrinks real threads by 78-90%. Inline images become `[inline image: logo.png]` placeholders instead of kilobytes of base64. Binaries over ~1 MB are refused inline and routed to disk via `--output-path`. And every failure returns `{error, hint, source, retryAfterSeconds}` so the model can repair its own call instead of retrying blind.\n\n## See it work\n\nReading one email with its attachments in raw Graph: GET the message, GET the attachment list, GET each attachment's bytes, resolve every SharePoint link in the body, then run your own HTML-to-text pipeline. Six round trips minimum. Here:\n\n```console\n$ ask-marcel-office convert-mail-to-markdown --message-id \"AAMkAD...\"\n\n**Subject:** Q3 budget review: action needed\n**From:** Robin Chen <robin.chen@contoso.com>\n**To:** Alex Kim <alex.kim@contoso.com>\n**Date:** 2026-09-02T08:14:22Z\n\nBefore Friday's review, the forecast tab still shows last quarter's\nheadcount. Can you sanity-check the attached numbers?\n\nRobin\n\n\\[inline image: contoso-signature.png\\]\n\n_\\[Quoted reply chain removed — pass --keep-quoted true to include it\\]_\n\n**Attachments:**\n- Q3-forecast.xlsx (49.2 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, id: AAMkAD...)\n_Use `convert-mail-attachment-to-pdf` or `get-mail-attachment` with the attachment id to fetch._\n```\n\nThose two bracketed lines are the entire cost of a 40-message thread and a signature logo. Attachments arrive with their ids ready for the follow-up call:\n\n```console\n$ ask-marcel-office convert-mail-attachment-to-markdown \\\n    --message-id \"AAMkAD...\" --attachment-id \"AAMkAD...\"\n```\n\nThat xlsx comes back as one markdown table per sheet. And when the answer lives in a deck someone shared three weeks ago:\n\n```console\n$ ask-marcel-office microsoft-search-query --query \"Q3 budget filetype:pptx\"\n$ ask-marcel-office download-drive-item-as-markdown --drive-id \"b!abc...\" --item-id \"01BYE...\"\n```\n\n## What your agent can reach\n\n| Surface | Commands | In practice |\n|---|---:|---|\n| 📧 Outlook Mail | 47 | Search and read mail as markdown, convert any attachment (down to nested `.zip`, `.msg`, `.eml` and forwarded mails), resolve SharePoint links in bodies, extract your signature, find existing drafts on a thread, prepare reply / forward drafts (the only writes) |\n| 📁 OneDrive + SharePoint | 54 | Discover every drive and site your token can reach, search files, read any document as markdown or PDF, version history and line diffs between versions or files, document comments, files changed since a date, who can open a site, share links resolved even into partner tenants where you're a guest |\n| 📅 Calendar | 24 | \"What's on this week\" via relative dates (`today`, `start-of-week`, `+7d`), event details, free/busy lookups |\n| 👥 People + directory | 16 | People search, user profiles, the directory around you, your own identity and IDs in one round trip |\n| 💬 Teams | 26 | Your teams, channels, channel posts as JSON or a markdown transcript, what changed since, members and tabs, chats, chat history with files, reactions and pasted screenshots |\n| ✅ Planner + To Do | 17 | Plans (a group's too) and their label names, buckets, tasks, checklists, due dates, the web link of every To Do task |\n| 📊 Excel | 11 | Live workbook reads: worksheets, used ranges, tables (lean values, not Graph's four redundant 2D arrays) |\n| 📓 OneNote | 11 | Notebooks, sections, page content |\n| 🔎 Search + utilities | 6 | Federated Microsoft Search across the tenant, cursor pagination (`next-page`), token status (`scopes-check`), offline local-file conversion |\n\nFull per-command tables with required parameters and Graph endpoints: **[docs/COMMANDS.md](docs/COMMANDS.md)**.\n\n## Any file becomes markdown\n\nOne conversion pipeline, four entry points: a OneDrive / SharePoint item, an Outlook attachment, a `.zip` archive, or a file on disk (`convert-local-file-to-markdown` runs fully offline, no login).\n\n| Source | What comes back |\n|---|---|\n| docx / docm / dotx | Clean markdown; `--include-metadata true` adds comments, tracked changes, hidden text, and a VBA-macro flag |\n| xlsx / xlsm / csv | One markdown table per sheet, with a 50 000-cell guard so a huge sheet becomes a band-by-band read plan instead of an OOM |\n| pptx / pptm | Per-slide text with speaker notes (`## Slide N`); switch to the PDF sibling + a vision model when layout matters |\n| pdf | Text-layer extraction; a scanned PDF answers with a pointer to the vision route instead of silence |\n| odt / ods / odp | Headings, lists, tables, per-slide text, comments folded inline |\n| Legacy .doc / .xls | `.xls` reads like `.xlsx`; `.doc` extracts as plain text (`.ppt`: convert to PDF first) |\n| Outlook .msg / .eml | The full email: headers, quote-stripped body, and every attachment converted recursively; an Outlook item attached to a mail (a forwarded mail) reads the same way |\n| html / htm | The page as markdown, its head dropped and embedded images as placeholders; a page over 1 MB is flattened to plain text |\n| .zip | Every entry converted in one call; GBK / CP437 entry names decoded, never mojibake |\n| Loop / Whiteboard | Rendered through Graph's server-side converter |\n\nNeed the pictures instead of the words? `extract-drive-item-images`, `extract-mail-attachment-images`, and `extract-local-file-images` pull the embedded images out of docx / xlsx / pptx / pdf (including full-resolution originals and images on hidden slides), ready for a vision model; `--pages 1-3` narrows a scanned PDF, the mail extractor opens a forwarded mail's files too, and `extract-teams-chat-message-images` downloads a chat message's pasted screenshots. `--output-dir` writes them straight to disk.\n\n## Designed for the agent loop\n\n- **Self-teaching.** `help-json --terse` returns a slim JSON manifest built for a model's first contact; add `--category mail` to scope it. `docs <command>` prints one command's full documentation (response shape, examples, the underlying Graph endpoint). Scan, pick, read, call.\n- **Errors that repair the call.** Every failure is `{ok: false, error, errorCode?, hint?, source, retryAfterSeconds?}`, with curated hints for 20+ recurring Graph mistakes, including wrong-resolver pointers (a Teams URL passed to `resolve-mail-link` answers with the command to use instead). A mistyped command, flag or parameter ends with \"Did you mean …?\", on the CLI, over MCP and in the library.\n- **Pagination without state.** Every listing returns an opaque cursor; `next-page --url \"<cursor>\"` continues any of them.\n- **Relative dates.** `--start-date-time start-of-week --end-date-time +7d`. No timestamp math before \"what's on my calendar\". Named days resolve at midnight in your time zone (`--tz`, else `ASKMARCEL_TZ`, else the machine's).\n- **Pipe-friendly.** `--output raw-json` prints the payload alone, no envelope, for `jq`.\n- **Binary discipline.** Multi-MB payloads never hit stdout by accident: without `--output-path`, a binary answer is a one-line summary; with it, the bytes land on disk and the envelope carries `savedTo`.\n- **Tenant-wide reach.** `list-accessible-drives` unions every discovery vector a delegated token can hit (Teams libraries, group sites, private channels, shared-with-me, activity signals, secondary site libraries) and `search-all-accessible-sites` deep-pages the search index. Together: the practical maximum reachable without tenant-admin rights.\n\n## Install in 60 seconds\n\n```bash\n# Bun >=1.0 or Node >=20 · macOS, Windows, Linux\nnpm i -g ask-marcel-office-cli\n\nask-marcel-office login             # browser opens once, tokens cached\nask-marcel-office my-quick-context  # who am I + my IDs, one round trip\nask-marcel-office list-calendar-view --start-date-time today --end-date-time +7d\nask-marcel-office search-onedrive-files --drive-id \"b!abc...\" --query \"Q3 budget\"\n```\n\n## Plug it into Claude Code, Cursor, Cline, or your own stack\n\nAny agent that can run a shell command can use the whole surface today: point it at `help-json --terse`, let it call commands with `--output json`, and the lean defaults plus structured hints let it recover from its own mistakes. No wrapper required.\n\n**No shell? Register it as an MCP server.** It speaks MCP over stdio, so any MCP client can drive it — straight off the npm registry via `npx`, nothing to clone or preinstall.\n\n**Claude Code** — one command:\n\n```bash\nclaude mcp add --transport stdio --scope user ask-marcel-office -- npx -y ask-marcel-office-cli mcp\n```\n\n**Claude Desktop, Cursor, or any other MCP client** — they all take the same `mcpServers` block; only the file location differs:\n\n| Client | Config file |\n|:--|:--|\n| Claude Desktop (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| Claude Desktop (Windows) | `%AppData%\\Claude\\claude_desktop_config.json` |\n| Cursor, Cline, Windsurf, … | see your client's MCP docs — the block below is unchanged |\n\n```json\n{\n  \"mcpServers\": {\n    \"ask-marcel-office\": {\n      \"description\": \"Ask Marcel Office CLI MCP server\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"ask-marcel-office-cli\", \"mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n> **Two things to know.** The first launch downloads the package into npx's cache, so allow it one slow start; every start after that is instant. And GUI apps don't inherit your shell's `PATH`: terminal-launched clients resolve `\"npx\"` fine, but a client launched from the Dock or Start menu (Claude Desktop) may not find it — if the server won't start, replace `\"command\": \"npx\"` with the absolute path `which npx` prints. Bun users: `bunx` works in place of `npx -y`.\n\nYou get **five gateway tools**, not one per command — a schema per command would bloat every session, the opposite of the point:\n\n| Tool | Does |\n|:--|:--|\n| `list-commands` | The terse manifest. Start here; `category` narrows it. |\n| `get-command-docs` | Full docs for one command: options, endpoint, example. |\n| `run-command` | The 208 **read** commands. `readOnlyHint: true`, so clients can auto-approve it. |\n| `run-write-command` | The 4 mail-draft **write** commands. Separate tool so the read tool's promise stays honest. |\n| `login` | Sign in / refresh. Opens a browser on this machine. |\n\n**Sign in from a terminal first** — `npx -y ask-marcel-office-cli login`. Do this once before wiring up any client, and the reads just work.\n\n## Embed it as a TypeScript library\n\nEvery command is exported, typed, and returns `Result<T, E>` (no thrown surprises). Compose them inside your own agent or LangChain tool:\n\n```ts\nimport { commands, buildDeps } from 'ask-marcel-office-cli';\n\nconst { graph } = buildDeps();\nconst result = await commands['list-mail-messages'].execute(graph, { top: '10' });\nif (result.ok) {\n  // result.value is the Graph payload\n}\n```\n\n**Bring your own token** (CI, MCP servers, vault-managed environments): swap the built-in browser auth for any token source via `createGraphClient`.\n\n```ts\nimport { createGraphClient } from 'ask-marcel-office-cli';\n\nconst cancelled = async () => ({ ok: false as const, error: { type: 'auth_cancelled' as const } });\n\nconst graph = createGraphClient({\n  getAccessToken: async () => ({ ok: true, value: await fetchTokenFromYourVault() }),\n  logout: async () => ({ ok: true, value: undefined }),\n  // Decline the token tiers your source cannot mint; only the commands\n  // that need them will notice, and they fail with a clear message.\n  getElevatedAccessToken: cancelled,   // ODSP-gated: historical-version downloads\n  getGuestAccessToken: cancelled,      // partner tenants you are a guest in\n  getChatsvcaggAccessToken: cancelled, // Teams chat substrate\n  getIc3AccessToken: cancelled,        // Teams chat history\n  getChatsvcaggRegion: async () => 'emea',\n  getLastElevatedOutcome: () => null,\n  getLastChatsvcaggOutcome: () => null,\n});\n```\n\nAzure Managed Identity, an on-behalf-of flow, hand-pasted JWTs in tests: the Graph client doesn't care where the token came from. Full library guide: **[docs/USAGE.md](docs/USAGE.md)**.\n\n## Deep docs\n\n- **[All 212 commands](docs/COMMANDS.md)**: per-category tables with required params + Graph endpoint\n- **[Usage guide](docs/USAGE.md)**: output formats, OData passthrough, `--output-path`, pagination, library API, architecture, configuration\n- **[Machine-readable manifest](docs/commands.json)**: JSON for programmatic discovery, also importable via `import manifest from 'ask-marcel-office-cli/commands.json'`\n- **[QA playbook](docs/QA-PLAYBOOK.md)**: the repeatable full-surface health check run before each release\n\n## Roadmap\n\nRead-only stays the default forever. Coverage grows out of real LLM workflows as they come up: suggestions, requests, and pull requests welcome on the [issues page](https://github.com/ask-marcel/ask-marcel-office-cli/issues).\n\n## Built with\n\n- **Bun + TypeScript**: single-package install, Node >=20 fallback, `Result<T, E>` at every IO boundary, a 100% coverage gate on every tier\n- **Microsoft Graph v1.0**: the public API surface, no beta endpoints in production code\n- **Playwright**: the headed browser behind the one-time sign-in\n\n## License\n\nMIT © Vincent Delacourt\n\n---\n\n<div align=\"center\">\n\n**If this saved your agent a few round trips, a ⭐ helps other agents' humans find it.**\n\n</div>\n","readmeFilename":"README.md"}