{"_id":"@alreadyso/annotate","_rev":"14-c2d8d76ed00c2783eda8f21c8eb05829","name":"@alreadyso/annotate","dist-tags":{"latest":"0.1.14"},"versions":{"0.1.0":{"name":"@alreadyso/annotate","version":"0.1.0","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.0","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"d13373aaaa79999658b5af9c9bbfd7965b4082c9","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.0.tgz","fileCount":8,"integrity":"sha512-/endyHMlLGQlyAhOJS3DTVduKGGDJ5dMhrXRa+JjVItes9uKPVRlMf3fhqYMaTi6MktrDyRYhgnFIu4CQLBiBg==","signatures":[{"sig":"MEUCIQD9xNTtEAQI8PBRqbl7rb9DQU0sI/PTif6twMb1QOUPXwIgXJ+Xzdp4G9rawnnw/kaW4VA53cxZfQXmrim9xPAXtKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28332},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/f3f99de3a372b9b4f6af30f7e46589ca/alreadyso-annotate-0.1.0.tgz","_integrity":"sha512-/endyHMlLGQlyAhOJS3DTVduKGGDJ5dMhrXRa+JjVItes9uKPVRlMf3fhqYMaTi6MktrDyRYhgnFIu4CQLBiBg==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.0_1770219016042_0.4138077092713859","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alreadyso/annotate","version":"0.1.2","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.2","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"7ea9718c5456a088e2c72b34b00e0452ba6fc555","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.2.tgz","fileCount":8,"integrity":"sha512-/yZBM/4eMHJWIKyhg7HtFLRRrDCeDykBxx7l7d1mQ9PiPTyvKGdgtQBzto08JryVtV8uks0vcdfrceb0VHOZVw==","signatures":[{"sig":"MEUCIQCrXOjhG/ix8L/7Pg8wkaEeKc04nYv2Q1VR+7wdPSbFRAIgMiG5IpJW+kWLP28ySpEOHw/vs2nMwgDnpmb5wYURmeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28701},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/0a851a11e48a81a4b06a3d666cf81253/alreadyso-annotate-0.1.2.tgz","_integrity":"sha512-/yZBM/4eMHJWIKyhg7HtFLRRrDCeDykBxx7l7d1mQ9PiPTyvKGdgtQBzto08JryVtV8uks0vcdfrceb0VHOZVw==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.2_1770220112761_0.4751668613587008","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alreadyso/annotate","version":"0.1.3","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.3","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"8afc06f1c40168963607ef6a06d18082c61b4575","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.3.tgz","fileCount":14,"integrity":"sha512-o1nc7xrBrpqKqzyVp/arwEYXGbbgB5bm8OXntThMArWoOn3I+DqnyE7a5c4lElqmEw2aIeBzpCJ/fQinvoChYg==","signatures":[{"sig":"MEYCIQC95ac8yKI8EktjIpgpiEeMTqya+OrevQfYw457pEUloQIhAJicqaWrQ6ME2gvBDGnCAuwmX8xk9BdB1z1ZQcgXAJnU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158620},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/64b76f1d9abc05b7647911362c752074/alreadyso-annotate-0.1.3.tgz","_integrity":"sha512-o1nc7xrBrpqKqzyVp/arwEYXGbbgB5bm8OXntThMArWoOn3I+DqnyE7a5c4lElqmEw2aIeBzpCJ/fQinvoChYg==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.3_1770673680115_0.3220518211810903","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alreadyso/annotate","version":"0.1.4","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.4","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"6d8d4d92294fb2908c0c6720b5e4ff7b7c77ba27","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.4.tgz","fileCount":10,"integrity":"sha512-PiAFo0cKgc6mGtrIZfv0dLu4PvQjEQiPSZoUSo6Wj+ZDpV3TE4rRKUJBxHuWIPK+8xVQQ2dLrf1B6whhsZx/TQ==","signatures":[{"sig":"MEQCIB0C7ZdvMpSbDbDZy0PWNoRr/IDuP8UoYIveM3cnv7kKAiBvJ8kcwu4TRNxf8Nk3SgsWVBmPvTUb08VGuHDEGmFeHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132486},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/92e51754b53456db0755755eebb9f5c7/alreadyso-annotate-0.1.4.tgz","_integrity":"sha512-PiAFo0cKgc6mGtrIZfv0dLu4PvQjEQiPSZoUSo6Wj+ZDpV3TE4rRKUJBxHuWIPK+8xVQQ2dLrf1B6whhsZx/TQ==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.4_1770674761112_0.12873448186848901","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@alreadyso/annotate","version":"0.1.5","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.5","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"526fbd51f6424a6bcd37df7dc7980e78f0d3732b","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.5.tgz","fileCount":11,"integrity":"sha512-FKTtaD9RlIHB4dBLskfWKiuHhnN8xyDtRTXw4Z4IhMtYdwOGxktW/ZDFM8kp8A2Y5oQ6/fM1Nur1iA6YFhso6Q==","signatures":[{"sig":"MEUCID4dLwZCZ8BgeDKLLdtIPywgK9pCPLMj+W7K0OYcfqseAiEAnkdk14ffd9gItKfC0/jKxj+8LS4ItzjAryG6N0Z0n7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139081},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/d8befca9482ecafcd5886fef2dfff2d0/alreadyso-annotate-0.1.5.tgz","_integrity":"sha512-FKTtaD9RlIHB4dBLskfWKiuHhnN8xyDtRTXw4Z4IhMtYdwOGxktW/ZDFM8kp8A2Y5oQ6/fM1Nur1iA6YFhso6Q==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.5_1770675232273_0.9696630432507929","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@alreadyso/annotate","version":"0.1.6","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.6","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"58cf1b54bbba98a3be46c61f982744fbadb55d2b","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.6.tgz","fileCount":11,"integrity":"sha512-RJ2/s89h+150s34ne/Kp3QwmnSN6oQxGjJ55nk1EtRZDw5PdKWHlULmzJx6tM7mCvTl1QAHNAKBD2jgTRg8R/g==","signatures":[{"sig":"MEUCIQCv0NfztZiKKRmdAquZeE1KVEowjZ9PzK6lPBnlPmVouwIgOq49fDL+YMsm2h5XVPdW2MZv/Q5o0lVkhLTWsPRqZpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139115},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/a5e8685fba4a38c664a14cf8778e0e3d/alreadyso-annotate-0.1.6.tgz","_integrity":"sha512-RJ2/s89h+150s34ne/Kp3QwmnSN6oQxGjJ55nk1EtRZDw5PdKWHlULmzJx6tM7mCvTl1QAHNAKBD2jgTRg8R/g==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.6_1770676220261_0.5719148609621989","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@alreadyso/annotate","version":"0.1.7","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.7","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"694c339e9a7242d74b4b07d0d0a414efb932b2dc","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.7.tgz","fileCount":11,"integrity":"sha512-AEgv+O7Kzc4bvrnWURL6ivsP3kh/B60jLFGv7DMAvUY0rooWuwtF+Rh4WQBt2rBX36BEgzGGE9wlGK9mK5ZA5Q==","signatures":[{"sig":"MEUCIQD77g07QMGPgZSHTm2YD8yeLlyUnWKR7x1iGWQm3L7wwQIgO5WKm73+GY+Tx8rpuCUofd3ook+KZhluriXxnPeAc2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139195},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/7092edb12c9383495c08e6e4358e603e/alreadyso-annotate-0.1.7.tgz","_integrity":"sha512-AEgv+O7Kzc4bvrnWURL6ivsP3kh/B60jLFGv7DMAvUY0rooWuwtF+Rh4WQBt2rBX36BEgzGGE9wlGK9mK5ZA5Q==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.7_1770676554124_0.40459956997661295","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@alreadyso/annotate","version":"0.1.8","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.8","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"417bc50eab57c0896a22f1b3e7aaf242be1a59ab","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.8.tgz","fileCount":11,"integrity":"sha512-8/HTmh162bXxW/g3iXOOphyucQ+U7SHuYusI/hoZshGgY0YN71II9rkNuvCzKRGNURqttIEaOQdki+XFmJSAlw==","signatures":[{"sig":"MEUCIBi53eOlmfE8yd2dnDU8Een0q69VhGStz3rdnnO84i46AiEAgUm1PexRizvauZI78j4VgPoVUvhb/MclK3c2A8UKNOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141015},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/13a26f366ae68eec0abf55f134c92c54/alreadyso-annotate-0.1.8.tgz","_integrity":"sha512-8/HTmh162bXxW/g3iXOOphyucQ+U7SHuYusI/hoZshGgY0YN71II9rkNuvCzKRGNURqttIEaOQdki+XFmJSAlw==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.8_1770676961734_0.5197809393877995","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@alreadyso/annotate","version":"0.1.9","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.9","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"8de10e36dfb94c232f2d50565808bcc7ba85cd0c","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.9.tgz","fileCount":11,"integrity":"sha512-7lOYppPM7HJn46IolJbkNf7i0irKwE17TEzCEuMEOcb5wGwrJNQtIUohAtxeGddtk/IjqkyfDsE4+uce8GAQvg==","signatures":[{"sig":"MEQCIAg9A1Ej8zlAkke5QFvmuKRLPQFEucw6UpnaXV6J45InAiB1Gl/3eBzWJXbbZW5hL9bMtc6kt1yUsxL/WHFbE3AWZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139237},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/2efd3f20583ad9ecd260102b33c5e1c1/alreadyso-annotate-0.1.9.tgz","_integrity":"sha512-7lOYppPM7HJn46IolJbkNf7i0irKwE17TEzCEuMEOcb5wGwrJNQtIUohAtxeGddtk/IjqkyfDsE4+uce8GAQvg==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"html2canvas":"^1.4.1","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.9_1770677196852_0.1165690760492466","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@alreadyso/annotate","version":"0.1.10","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.10","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"746f504fca4b9483ccf4f6d1bce1572775fa8399","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.10.tgz","fileCount":11,"integrity":"sha512-qzgaDEZp/vhkDXIANPCDO8gqsmzCls3SpaTW7w1BeNABX2B6FsPLHYlkQ9AyTBziYQQJAMI3SfI2xevLuGbp1Q==","signatures":[{"sig":"MEQCIF2hW4kOnU3VQVZWsxzLROs4v4AW29m81SFTSlrMs/yEAiAlZ66noPWob+jMa940etQtfGCWlmGfX+H0HzktG9H1jQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138978},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/f2ab2d7051a71b8a2d2081e6447433f4/alreadyso-annotate-0.1.10.tgz","_integrity":"sha512-qzgaDEZp/vhkDXIANPCDO8gqsmzCls3SpaTW7w1BeNABX2B6FsPLHYlkQ9AyTBziYQQJAMI3SfI2xevLuGbp1Q==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"@tiptap/react":"^3.19.0","html-to-image":"^1.11.13","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.10_1770677483241_0.8740903837475105","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@alreadyso/annotate","version":"0.1.11","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.11","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"766f56d61fa6fbc30cb6557f65752e66f39a914f","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.11.tgz","fileCount":11,"integrity":"sha512-JlbMyH9Dl0HSycNJe6itVRwT/S3hKvQVnGaPOi/EiPcECvZA5CskKhD8QTBFTeOfrHtjsZLJKUklOkfpqDR6qw==","signatures":[{"sig":"MEUCIQDhFQQmPhaEsxKDoT85ywdMcloWSso+NcpEQUzDNjNJuwIgJqAvRL+P1kWZAuIa/ZrXqbVAtBSMJZMuCoAZE5nCSPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140187},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/78e1090e47355e3cc921ca191a7eaae0/alreadyso-annotate-0.1.11.tgz","_integrity":"sha512-JlbMyH9Dl0HSycNJe6itVRwT/S3hKvQVnGaPOi/EiPcECvZA5CskKhD8QTBFTeOfrHtjsZLJKUklOkfpqDR6qw==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"@tiptap/react":"^3.19.0","html-to-image":"^1.11.13","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.11_1770677978877_0.2160305930660391","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@alreadyso/annotate","version":"0.1.12","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.12","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"ea5ce5fb2778adfd7c5617b25207ac77374aeb88","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.12.tgz","fileCount":11,"integrity":"sha512-zB6iY87axrmZN4+br7WWqrAiPrebUSE62DgXZXxgUX3XjTXsxiv5GYOe4eTZ9EonYtpNXcnLrAhMRz5SAM7l1g==","signatures":[{"sig":"MEQCIEJD/W8lR2k86meepqYrYlnxZ4/NZAjr8KpZFDt20HQfAiB8QgtA3tuBWyOHz8kCzfPHPSa2LKj395ihDZj5aqCn+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140593},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/191e4156a59fea3b886a8f05ef1524e5/alreadyso-annotate-0.1.12.tgz","_integrity":"sha512-zB6iY87axrmZN4+br7WWqrAiPrebUSE62DgXZXxgUX3XjTXsxiv5GYOe4eTZ9EonYtpNXcnLrAhMRz5SAM7l1g==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"@tiptap/react":"^3.19.0","html-to-image":"^1.11.13","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.12_1770805862276_0.5800638301289045","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@alreadyso/annotate","version":"0.1.13","license":"UNLICENSED","_id":"@alreadyso/annotate@0.1.13","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"dist":{"shasum":"dc94d7769143bd7582f62af5de7530858a882ac1","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.13.tgz","fileCount":11,"integrity":"sha512-CVzpAMUhEw25zADnLAhyHJ2FmgtjN/5KP96fPiubzxUK+wCR7IWf7wpv/oYCqOH2Mtjv2SFESW2HeyStvL8DAA==","signatures":[{"sig":"MEQCIGRJw+SqEvXtdNcHTyDXzJ5mIVLiHLzRGpff3OrQTB2AAiB0+V0L5CSzFW+m0Y5CYDGIz4Dqfp/024oi+gOrtIavMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140630},"main":"./dist/index.js","type":"module","_from":"file:alreadyso-annotate-0.1.13.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","clean":"rm -rf dist","release":"pnpm version patch && pnpm publish --access public --no-git-checks","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","release:major":"pnpm version major && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs"},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/b1dc811ed339d9edec2397550a812db6/alreadyso-annotate-0.1.13.tgz","_integrity":"sha512-CVzpAMUhEw25zADnLAhyHJ2FmgtjN/5KP96fPiubzxUK+wCR7IWf7wpv/oYCqOH2Mtjv2SFESW2HeyStvL8DAA==","_npmVersion":"9.8.0","description":"Annotation overlay for creating Already sessions from React apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"@tiptap/react":"^3.19.0","html-to-image":"^1.11.13","@tiptap/starter-kit":"^3.19.0","@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/annotate_0.1.13_1770806312812_0.12272765804827301","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@alreadyso/annotate","version":"0.1.14","description":"Annotation overlay for creating Already sessions from React apps.","license":"UNLICENSED","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"sideEffects":false,"peerDependencies":{"react":">=18","react-dom":">=18"},"dependencies":{"@openai/agents-realtime":"^0.4.5","@tiptap/extension-image":"^3.19.0","@tiptap/react":"^3.19.0","@tiptap/starter-kit":"^3.19.0"},"devDependencies":{"@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.0","vite":"^5.4.11"},"scripts":{"clean":"rm -rf dist","build":"tsc -p tsconfig.json && cp -r src/assets dist/assets","dev":"cp -r src/assets dist/assets 2>/dev/null; tsc -p tsconfig.json --watch","dev:test":"vite --config playground/vite.config.mjs","build:test":"vite build --config playground/vite.config.mjs","preview:test":"vite preview --config playground/vite.config.mjs","dev:test:dist":"pnpm build && TEST_TARGET=dist vite --config playground/vite.config.mjs","build:test:dist":"pnpm build && TEST_TARGET=dist vite build --config playground/vite.config.mjs","release":"pnpm version patch && pnpm publish --access public --no-git-checks","release:minor":"pnpm version minor && pnpm publish --access public --no-git-checks","release:major":"pnpm version major && pnpm publish --access public --no-git-checks"},"_id":"@alreadyso/annotate@0.1.14","_integrity":"sha512-nOjrkUF3Gywk2h7I44wSQjQ+0yHy9BbrJN7/IFzFU3IbsemNLMRU3qQ6K13mDO2swf+2XKgkrcqH3qT0ayFqNw==","_resolved":"/private/var/folders/kq/y66z4tfn6d3847js3n_s_32w0000gn/T/02c780df75f75a6d063c005f111d8ba9/alreadyso-annotate-0.1.14.tgz","_from":"file:alreadyso-annotate-0.1.14.tgz","_nodeVersion":"20.5.1","_npmVersion":"9.8.0","dist":{"integrity":"sha512-nOjrkUF3Gywk2h7I44wSQjQ+0yHy9BbrJN7/IFzFU3IbsemNLMRU3qQ6K13mDO2swf+2XKgkrcqH3qT0ayFqNw==","shasum":"3e00f1df93813bc0f729b62b86ecc2ebc4ec51d8","tarball":"https://registry.npmjs.org/@alreadyso/annotate/-/annotate-0.1.14.tgz","fileCount":11,"unpackedSize":145280,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEvsBfItzXfNiJ4fDXkhlQ2F+sU45g4tMhkdN7Ogo7WmAiEAgLZ1dm2WIP/LefBsa8PZj90m7oTN/DvmGqstgD+79OM="}]},"_npmUser":{"name":"cem_already","email":"cem@already.so"},"directories":{},"maintainers":[{"name":"cem_already","email":"cem@already.so"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/annotate_0.1.14_1770811161486_0.18327101112921196"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-04T15:30:15.965Z","modified":"2026-02-11T11:59:21.748Z","0.1.0":"2026-02-04T15:30:16.209Z","0.1.2":"2026-02-04T15:48:32.928Z","0.1.3":"2026-02-09T21:48:00.307Z","0.1.4":"2026-02-09T22:06:01.265Z","0.1.5":"2026-02-09T22:13:52.463Z","0.1.6":"2026-02-09T22:30:20.423Z","0.1.7":"2026-02-09T22:35:54.432Z","0.1.8":"2026-02-09T22:42:41.927Z","0.1.9":"2026-02-09T22:46:37.011Z","0.1.10":"2026-02-09T22:51:23.400Z","0.1.11":"2026-02-09T22:59:39.010Z","0.1.12":"2026-02-11T10:31:02.444Z","0.1.13":"2026-02-11T10:38:32.965Z","0.1.14":"2026-02-11T11:59:21.622Z"},"license":"UNLICENSED","description":"Annotation overlay for creating Already sessions from React apps.","maintainers":[{"name":"cem_already","email":"cem@already.so"}],"readme":"# @alreadyso/annotate\n\nReact components for creating Already sessions from web apps.\n\n- `AlreadyAnnotate`: click-to-annotate overlay\n- `AlreadyRecord`: audio recording bar with screenshots, annotations, and session sync\n\n## Install\n\n```bash\nnpm install @alreadyso/annotate\n```\n\n## Local Playground\n\nRun a local test page without publishing the package:\n\n```bash\npnpm dev:test\n```\n\nThis starts Vite on [http://127.0.0.1:5174](http://127.0.0.1:5174).\n\nPlayground controls include an explicit `Overlay On/Off` toggle and a demo team-id fallback so the overlay is visible immediately.\n\nOptional: test against built `dist/` output (closer to published package behavior):\n\n```bash\npnpm dev:test:dist\n```\n\nNotes:\n\n- `dev:test` imports from local `src/` (no install/publish needed).\n- `dev:test:dist` imports from local `dist/` after `pnpm build`.\n- Playground is excluded from npm publish because `package.json` `files` only includes `dist` and `README.md`.\n\n## Audio Recording Mode\n\n```tsx\nimport { AlreadyRecord } from \"@alreadyso/annotate\";\n\nexport function App() {\n  return (\n    <>\n      <YourApp />\n      <AlreadyRecord\n        teamId=\"YOUR_TEAM_ID\"\n        openOnSave\n        enableRealtimeTranscription\n        realtimeClientSecretEndpoint=\"/api/realtime/client-secret\"\n      />\n    </>\n  );\n}\n```\n\nWhat this does:\n\n- Records microphone audio only (no video recording output)\n- Shows a floating recording bar with timer\n- Captures screenshots on demand\n- Captures annotations while recording\n- Creates/syncs an Already session (notes + timeline + attachments)\n\n## Secure Realtime Transcription (Server-side keys)\n\nProvider API keys stay on your server (for example in `already.so`).\n\n`AlreadyRecord` now uses OpenAI's official realtime SDK path in-browser:\n\n- Browser records mic locally\n- Browser requests ephemeral key from your backend\n- Browser connects directly to OpenAI Realtime with that ephemeral key\n\nRequired backend endpoint:\n\n- `POST /api/realtime/client-secret`\n- Auth headers: `X-Team-Id` + either `X-API-Key` or `Authorization`\n- Optional JSON body fields sent by package:\n  - `session_type` = `\"realtime\"`\n  - `session_id` (when available)\n  - `model` (optional override)\n- Expected response shape:\n  - `{ client_secret: { value: string, expires_at?: number } }`\n\n## Annotation Overlay (existing)\n\n```tsx\nimport { AlreadyAnnotate } from \"@alreadyso/annotate\";\n\nexport function App() {\n  return (\n    <>\n      <YourApp />\n      <AlreadyAnnotate\n        teamId=\"YOUR_TEAM_ID\"\n        openOnSave\n      />\n    </>\n  );\n}\n```\n\n## Overlay Helpers\n\n`AlreadyAnnotateOverlay` and `AlreadyRecordOverlay` support lazy auth token resolution:\n\n```tsx\nimport { AlreadyRecordOverlay } from \"@alreadyso/annotate\";\n\nasync function getAuthToken() {\n  return localStorage.getItem(\"access_token\");\n}\n\nexport function App() {\n  return (\n    <AlreadyRecordOverlay\n      teamId=\"YOUR_TEAM_ID\"\n      getAuthToken={getAuthToken}\n    />\n  );\n}\n```\n\n## Shared Props\n\n- `teamId` (required): Team UUID\n- `webAppUrl` (optional): Already base URL (defaults to current origin)\n- `authToken` (optional): Bearer token\n- `apiKey` (optional): Agent API key\n- `defaultStatus` (optional): final status (defaults to `todo`)\n- `openOnSave` (optional): open session in a new tab after save\n- `accentColor` (optional): overlay accent color\n- `sessionTitle` (optional): override session title\n\n## `AlreadyRecord` Props\n\n- `blockInteractions` (default `true`): block underlying clicks while annotating\n- `autoCaptureOnAnnotation` (default `true`): take screenshot when annotation is saved\n- `audioMimeType` (optional): preferred media recorder mime type\n- `screenshotMode` (default `region`): `region` = drag-select capture on page, `display-media` = browser screen/tab picker\n- `enableRealtimeTranscription` (default `false`)\n- `realtimeClientSecretEndpoint` (optional, default `/api/realtime/client-secret`): endpoint that mints ephemeral realtime keys\n- `realtimeTranscriptionModel` (optional): override input transcription model in the realtime client session\n- `transcriptionChunkMs` (default `2000`, fallback mode only)\n- `transcribeChunk` (optional): custom async chunk transport fallback\n- `onTranscript` (optional): `(text, kind)` realtime callback\n- `onSaveComplete` (optional): `(sessionId)`\n- `onSessionStarted` (optional): `(sessionId)`\n\n## API Endpoints Used\n\n`AlreadyRecord` and `AlreadyAnnotate` rely on:\n\n- `POST /api/sessions/start`\n- `PATCH /api/sessions/:id/data`\n- `POST /api/sessions/confirm`\n- `PUT /api/sessions/:id/notes`\n- `PATCH /api/sessions/:id`\n\n","readmeFilename":"README.md"}