{"_id":"@basemachina/ai-csv-editor","_rev":"4-2dcf44a23a774cd54f781ba58ea0acdf","name":"@basemachina/ai-csv-editor","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@basemachina/ai-csv-editor","version":"0.1.0","_id":"@basemachina/ai-csv-editor@0.1.0","maintainers":[{"name":"seiji_takahashi_basemachina","email":"seiji.takahashi@basemachina.com"},{"name":"timakin","email":"timaki.st@gmail.com"},{"name":"syumai","email":"syumai@gmail.com"},{"name":"taro-28","email":"tarotaro0208@gmail.com"},{"name":"yebis0942.bm","email":"kento.fukuda@basemachina.com"},{"name":"m-shaka","email":"buddha0818@gmail.com"}],"bin":{"ai-csv-editor":"dist/cli/index.js"},"dist":{"shasum":"30e5750d7e9125f262257b15d2475dc0fc143c23","tarball":"https://registry.npmjs.org/@basemachina/ai-csv-editor/-/ai-csv-editor-0.1.0.tgz","fileCount":1487,"integrity":"sha512-INmEDBQLdfFh9e8PM6vjSPDLS+1103enAWZk8f2J6p97tiigl+ikun3KP+JmpljkwIRmoEHnPzn2uJ7wjm4Ncg==","signatures":[{"sig":"MEUCIQC+CKduj3eozWx6ePbCM3T6WD7TA64kjx+3l2RarRFrHQIgOWMEq6m3hxYLLXTbX+nNRnK694cyH8AAPBwYW9Ah2fQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56662008},"type":"module","gitHead":"76269b889d29a570f56cd6bd4ecea0d32064b42d","scripts":{"dev":"next dev","lint":"eslint","test":"vitest","build":"next build","start":"next start","deploy":"opennextjs-cloudflare build && opennextjs-cloudflare deploy","preview":"opennextjs-cloudflare build && opennextjs-cloudflare preview","test:run":"vitest run","build:all":"npm run build && npm run build:cli && npm run postbuild","build:cli":"tsup","postbuild":"cp -r .next/static .next/standalone/.next/ && cp -r public .next/standalone/","publish:cli":"npm run build:all && npm publish","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"timakin","email":"timaki.st@gmail.com"},"_npmVersion":"10.8.2","description":"AI-powered CSV editor with DuckDB-wasm and Claude","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ai":"^5.0.108","zod":"^4.1.13","clsx":"^2.1.1","next":"16.0.8","react":"19.2.1","wrangler":"^4.53.0","commander":"^12.1.0","react-dom":"19.2.1","lucide-react":"^0.556.0","tailwind-merge":"^3.4.0","@ai-sdk/anthropic":"^2.0.54","@duckdb/duckdb-wasm":"^1.30.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-label":"^2.1.8","@tanstack/react-table":"^8.21.3","@opennextjs/cloudflare":"^1.14.4","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^27.3.0","eslint":"^9","vitest":"^4.0.15","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","tw-animate-css":"^1.4.0","@types/react-dom":"^19","eslint-config-next":"16.0.8","@tailwindcss/postcss":"^4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/ai-csv-editor_0.1.0_1765408732874_0.18869205212454432","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.0":{"name":"@basemachina/ai-csv-editor","version":"0.2.0","_id":"@basemachina/ai-csv-editor@0.2.0","maintainers":[{"name":"seiji_takahashi_basemachina","email":"seiji.takahashi@basemachina.com"},{"name":"timakin","email":"timaki.st@gmail.com"},{"name":"syumai","email":"syumai@gmail.com"},{"name":"taro-28","email":"tarotaro0208@gmail.com"},{"name":"yebis0942.bm","email":"kento.fukuda@basemachina.com"},{"name":"m-shaka","email":"buddha0818@gmail.com"}],"bin":{"ai-csv-editor":"dist/cli/index.js"},"dist":{"shasum":"3584a0e325c92ecbd299e8f1b2a438ad4909cf23","tarball":"https://registry.npmjs.org/@basemachina/ai-csv-editor/-/ai-csv-editor-0.2.0.tgz","fileCount":1516,"integrity":"sha512-8nJ18cE8tw/TUScAl1Kq++ZhNqCw54BXxjx42xGy7b0afOqfNWDFGRcJTs1S/+Zhrm6+k1L1HXzGJ3x7M1sa6g==","signatures":[{"sig":"MEUCIGt2A1HPDjtvK6sVoQHdw4zYHJ024sDYG7ylpabeORosAiEA2WrU4KYnLAgoG6nE9H6SHvYAVTrv5JTQgfdQEkhODvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58754791},"type":"module","gitHead":"6854015bd44e3ed31d397cd82d1edf653065b812","scripts":{"dev":"next dev","lint":"eslint","test":"vitest","build":"next build","start":"next start","deploy":"opennextjs-cloudflare build && opennextjs-cloudflare deploy","preview":"opennextjs-cloudflare build && opennextjs-cloudflare preview","test:run":"vitest run","build:all":"npm run build && npm run build:cli && npm run postbuild","build:cli":"tsup","postbuild":"cp -r .next/static .next/standalone/.next/ && cp -r public .next/standalone/","publish:cli":"npm run build:all && npm publish","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"timakin","email":"timaki.st@gmail.com"},"_npmVersion":"10.8.2","description":"AI-powered CSV editor with DuckDB-wasm and Claude","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ai":"^5.0.108","zod":"^4.1.13","clsx":"^2.1.1","next":"16.0.8","react":"19.2.1","sonner":"^2.0.7","recharts":"^2.15.4","wrangler":"^4.53.0","commander":"^12.1.0","react-dom":"19.2.1","next-themes":"^0.4.6","lucide-react":"^0.556.0","tailwind-merge":"^3.4.0","@ai-sdk/anthropic":"^2.0.54","@duckdb/duckdb-wasm":"^1.30.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@tanstack/react-table":"^8.21.3","@opennextjs/cloudflare":"^1.14.4","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@tanstack/react-virtual":"^3.13.13","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^27.3.0","eslint":"^9","vitest":"^4.0.15","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","tw-animate-css":"^1.4.0","@types/react-dom":"^19","eslint-config-next":"16.0.8","@tailwindcss/postcss":"^4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/ai-csv-editor_0.2.0_1765597835574_0.8731491025875255","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.1":{"name":"@basemachina/ai-csv-editor","version":"0.2.1","_id":"@basemachina/ai-csv-editor@0.2.1","maintainers":[{"name":"seiji_takahashi_basemachina","email":"seiji.takahashi@basemachina.com"},{"name":"timakin","email":"timaki.st@gmail.com"},{"name":"syumai","email":"syumai@gmail.com"},{"name":"taro-28","email":"tarotaro0208@gmail.com"},{"name":"yebis0942.bm","email":"kento.fukuda@basemachina.com"},{"name":"m-shaka","email":"buddha0818@gmail.com"}],"bin":{"ai-csv-editor":"dist/cli/index.js"},"dist":{"shasum":"27d4a34b5aba3bf5f09a2d4bb70aa7b6c3d38634","tarball":"https://registry.npmjs.org/@basemachina/ai-csv-editor/-/ai-csv-editor-0.2.1.tgz","fileCount":1516,"integrity":"sha512-221mCE1YFJjQZYVcDGPzfIzInyzPyjXp/SAvAXJqxckd9R+OtSd8Cn4zcHt2I7IC+K5RNkiJh1XqDSUcZ/+VXA==","signatures":[{"sig":"MEYCIQDCB7Ho7noSL7mtPDdPjfGzXVxJxQeqF/cBKNp9JSGQEQIhAJdSbZYa7xqV3ccGEE4IIEPOfLcH6Bg4BkA3jAOr/6nr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58755575},"type":"module","gitHead":"6854015bd44e3ed31d397cd82d1edf653065b812","scripts":{"dev":"next dev","lint":"eslint","test":"vitest","build":"next build","start":"next start","deploy":"opennextjs-cloudflare build && opennextjs-cloudflare deploy","preview":"opennextjs-cloudflare build && opennextjs-cloudflare preview","test:run":"vitest run","build:all":"npm run build && npm run build:cli && npm run postbuild","build:cli":"tsup","postbuild":"cp -r .next/static .next/standalone/.next/ && cp -r public .next/standalone/","publish:cli":"npm run build:all && npm publish","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"timakin","email":"timaki.st@gmail.com"},"_npmVersion":"10.8.2","description":"AI-powered CSV editor with DuckDB-wasm and Claude","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ai":"^5.0.108","zod":"^4.1.13","clsx":"^2.1.1","next":"16.0.8","react":"19.2.1","sonner":"^2.0.7","recharts":"^2.15.4","wrangler":"^4.53.0","commander":"^12.1.0","react-dom":"19.2.1","next-themes":"^0.4.6","lucide-react":"^0.556.0","tailwind-merge":"^3.4.0","@ai-sdk/anthropic":"^2.0.54","@duckdb/duckdb-wasm":"^1.30.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@tanstack/react-table":"^8.21.3","@opennextjs/cloudflare":"^1.14.4","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@tanstack/react-virtual":"^3.13.13","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^27.3.0","eslint":"^9","vitest":"^4.0.15","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","tw-animate-css":"^1.4.0","@types/react-dom":"^19","eslint-config-next":"16.0.8","@tailwindcss/postcss":"^4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/ai-csv-editor_0.2.1_1765617655927_0.0030777789836449188","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-12-10T23:18:52.770Z","modified":"2025-12-14T04:43:01.229Z","0.1.0":"2025-12-10T23:18:53.503Z","0.2.0":"2025-12-13T03:50:36.249Z","0.2.1":"2025-12-13T09:20:56.564Z"},"description":"AI-powered CSV editor with DuckDB-wasm and Claude","maintainers":[{"name":"m-shaka","email":"buddha0818@gmail.com"},{"name":"seiji_takahashi_basemachina","email":"seiji.takahashi@basemachina.com"},{"name":"syumai","email":"syumai@gmail.com"},{"name":"taro-28","email":"tarotaro0208@gmail.com"},{"name":"timakin","email":"timaki.st@gmail.com"},{"name":"yebis0942.bm","email":"kento.fukuda@basemachina.com"}],"readme":"# AI CSV Editor\n\n巨大CSVをブラウザだけで高速に探索できるツール。クエリはDuckDB-wasmでローカル実行され、データはサーバーに送信されません。\n\n## 機能\n\n- CSV読み込み（ドラッグ&ドロップ、型プレビュー/オーバーライド）\n- 型に応じた自動フィルター生成（数値範囲、日付範囲、真偽値、文字列）\n- 複数カラムでのソート\n- AI自然言語検索（WHERE句生成、分析クエリ生成）\n- CSVマージ（LEFT/INNER/FULL OUTER JOIN）\n- 一括変換・条件付き置換\n- グラフ可視化（棒・線・円グラフ）\n- データ永続化（ブラウザ内保存）\n- 列管理（追加・削除）\n- セル編集・CSVエクスポート\n\n詳細仕様は [AGENTS.md](./AGENTS.md) を参照してください。\n\n## 使い方\n\n### ブラウザモード\n\nhttps://ai-csv-editor.your-domain.com にアクセスし、CSVファイルをアップロードしてください。\n\n### CLIモード（npx）\n\n```bash\nnpx @basemachina/ai-csv-editor --api-key $ANTHROPIC_API_KEY --csv /path/to/file.csv\n```\n\n> **Note**: このパッケージのソースディレクトリ内からnpxを実行するとエラーになる場合があります。その場合は別のディレクトリに移動してから実行してください。\n\nオプション：\n- `--api-key` (必須): Anthropic APIキー\n- `--csv` (必須): CSVファイルパス\n- `--port`: UIポート (デフォルト: 3000)\n- `--file-port`: CSV配信サーバーポート (デフォルト: 3001)\n- `--no-open`: ブラウザ自動オープンを無効化\n\n## 開発\n\n```bash\n# 依存関係インストール\nnpm install\n\n# 開発サーバー起動\nnpm run dev\n\n# Cloudflare Workersランタイムでローカルテスト\nnpm run preview\n\n# ビルド\nnpm run build\n```\n\n## デプロイ\n\n### Cloudflare Workers\n\n```bash\n# Cloudflareにログイン\nnpx wrangler login\n\n# デプロイ\nnpm run deploy\n```\n\n#### 本番環境のSecrets設定\n\nCloudflare Workersでは、環境変数（Secrets）をwranglerコマンドで設定します：\n\n```bash\n# ANTHROPIC_API_KEYをSecretとして設定\nnpx wrangler secret put ANTHROPIC_API_KEY\n# プロンプトが表示されるので、APIキーを入力\n\n# 設定済みSecretの一覧を確認\nnpx wrangler secret list\n```\n\nまたは、Cloudflareダッシュボードから設定：\n1. [Cloudflare Dashboard](https://dash.cloudflare.com/) にアクセス\n2. Workers & Pages → 該当プロジェクト → Settings → Variables and Secrets\n3. 「Add」からSecretを追加\n\n#### ローカルプレビュー時の環境変数\n\n`npm run preview` でローカルテストする際は、`.dev.vars` ファイルを作成：\n\n```bash\n# .dev.vars（gitignore済み）\nANTHROPIC_API_KEY=sk-ant-xxxxx\n```\n\n### npm publish（CLIパッケージ）\n\n```bash\n# npmにログイン\nnpm login\n\n# ビルド＆公開\nnpm run publish:cli\n```\n\nまたは手動で：\n\n```bash\nnpm run build:all\nnpm publish --access public\n```\n\n公開後、以下のコマンドで利用可能になります：\n\n```bash\nnpx @basemachina/ai-csv-editor --api-key $ANTHROPIC_API_KEY --csv /path/to/file.csv\n```\n\n## 環境変数\n\n| 変数名 | 説明 |\n|--------|------|\n| `ANTHROPIC_API_KEY` | Anthropic APIキー（AI検索機能に必要） |\n\n## 技術スタック\n\n- Next.js 16 (App Router)\n- DuckDB-wasm（ブラウザ内SQL実行）\n- Vercel AI SDK + Claude（自然言語検索）\n- Recharts（グラフ可視化）\n\n詳細は [AGENTS.md](./AGENTS.md#20-技術スタック詳細) を参照。\n","readmeFilename":"README.md"}