{"_id":"@appilot-labs/appilot-core","_rev":"6-56ac6c9467310e694fd5dcf6d043f5f2","name":"@appilot-labs/appilot-core","dist-tags":{"latest":"1.3.0"},"versions":{"0.1.0":{"name":"@appilot-labs/appilot-core","version":"0.1.0","_id":"@appilot-labs/appilot-core@0.1.0","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"dist":{"shasum":"b52324380986fb129f16477ae8837e6a5f169837","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-0.1.0.tgz","fileCount":61,"integrity":"sha512-uFM+I00lIN/F4FexzvuzACI32OLHUzGVubKtLVtMhOIiKf++T1zWRdE0Q5oKvuoLOfNoM+gdQviMNrSuomaSjQ==","signatures":[{"sig":"MEYCIQCIGuDzXDioUWRUISZSu3ISn5cr3if9P7S70P+4miBtDAIhAMmVJ/Y8X9sntwMzOnzow8OD3zQdOwi9BwCz0xKFsZI/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270286},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"859c4ceeaff526608e27558c123e2d380dfe383c","scripts":{"test":"tsx tests/*.test.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"},"_npmVersion":"11.19.0","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"_nodeVersion":"26.7.0","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/appilot-core_0.1.0_1788245455877_0.4121231931787688","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@appilot-labs/appilot-core","version":"1.0.0","_id":"@appilot-labs/appilot-core@1.0.0","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"dist":{"shasum":"68f6180c6a753f2716fbaa9ffcb5d356910a99a7","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-1.0.0.tgz","fileCount":63,"integrity":"sha512-+zf5QutJ+e/wxL0oZWkkPsqldcojCAJ5SzPhzI13QqFDKI8yfSVPBWyIQ9qnEB6f2eCbI3+5KZwqnseq3Y6VbA==","signatures":[{"sig":"MEQCIGwogGJ+djeaHODcpuCD6Rzn+B+PHQNtFQgd3xffTNnfAiBQJUGi6QySzodZcVyVEuPmRG52097Bhm6kPEgSONhWpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278049},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"d973350c62861ca25bb29788815a3d84a0a629c2","scripts":{"test":"tsx tests/*.test.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"},"_npmVersion":"10.9.8","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"_nodeVersion":"22.23.2","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/appilot-core_1.0.0_1788523014799_0.5358633692916845","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@appilot-labs/appilot-core","version":"1.0.1","_id":"@appilot-labs/appilot-core@1.0.1","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"homepage":"https://github.com/wxy/appilot#readme","bugs":{"url":"https://github.com/wxy/appilot/issues"},"dist":{"shasum":"9b705ac295661eebca156ee5e04088c1aa82ac0c","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-1.0.1.tgz","fileCount":63,"integrity":"sha512-i3ocgxRCZczSsTr21AUz6qC8BWzHR/W1boJZH4sWmkUgNOIVMVcosSFr+/bqj2WdW2FFOECIJVQz4/1E7J5g1g==","signatures":[{"sig":"MEQCIG30MNwv0Ymj77z5VKdjVk3Vw+veDQKVwrfoI6cOV1tgAiBenvqNyXd1FsAuKWdVtgGMD/d6t4081hh1JRfyLoo3Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appilot-labs%2fappilot-core@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278143},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"5c252be4290d90c830b0c155364397374b8d9a49","scripts":{"test":"tsx tests/*.test.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d061e9f3-4b25-4ee3-a45f-a8d10f8f3c34"}},"repository":{"url":"git+https://github.com/wxy/appilot.git","type":"git"},"_npmVersion":"11.19.0","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"_nodeVersion":"24.20.0","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/appilot-core_1.0.1_1788528513190_0.6548007012808803","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@appilot-labs/appilot-core","version":"1.1.0","_id":"@appilot-labs/appilot-core@1.1.0","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"homepage":"https://github.com/wxy/appilot#readme","bugs":{"url":"https://github.com/wxy/appilot/issues"},"dist":{"shasum":"6dbcf663ae015a2814036b553bbb09e734c88cc2","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-1.1.0.tgz","fileCount":65,"integrity":"sha512-iooK84C887KwbXpSPPjE2+JyYhnlBiwAetyb9e5/zopUkN32nfNQqfsH2kqRh4TFWnDzcxP2eRUraE46DddkCw==","signatures":[{"sig":"MEUCIErHdu2rBqLwWDo6kl/2Y/jjNpZJT/ZyIwjPdR2Tx4aQAiEAgUqMnTG1D+VFGtU3RfmEoU4+gfNo1U7xfUVBO/vW9IU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appilot-labs%2fappilot-core@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":295743},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"64558c1cc40ae87223257e92cafd77c298c2ec34","scripts":{"test":"tsx tests/*.test.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d061e9f3-4b25-4ee3-a45f-a8d10f8f3c34"}},"repository":{"url":"git+https://github.com/wxy/appilot.git","type":"git"},"_npmVersion":"11.19.0","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"_nodeVersion":"24.20.0","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/appilot-core_1.1.0_1789095098868_0.5246128100877596","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@appilot-labs/appilot-core","version":"1.2.0","_id":"@appilot-labs/appilot-core@1.2.0","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"homepage":"https://github.com/wxy/appilot#readme","bugs":{"url":"https://github.com/wxy/appilot/issues"},"dist":{"shasum":"fd601c4885c56b29f5eb996b3b695ca2f160f9dd","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-1.2.0.tgz","fileCount":67,"integrity":"sha512-JmUZcoWHgpGwLv/htgTr/1M+D6uOooBmZzBGGIJGKRgJrdY9Lj6nqAq+q9hXN9u3oUoJ8Ou22kuRmYN92v39Zw==","signatures":[{"sig":"MEYCIQCw3B1+xGWHB4egfgQ/VxbBw1SeQJwrNIfeiqvuFXxzHAIhAPi5VxfiXldUu9zJQQ23IYpaxdnZfnF+3cHRusaTtSfL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appilot-labs%2fappilot-core@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354539},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"3ea1abe5c6936110f705374bfab423fbd7c63d78","scripts":{"test":"for f in tests/*.test.ts; do echo \"== $f\"; tsx \"$f\" || exit 1; done","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d061e9f3-4b25-4ee3-a45f-a8d10f8f3c34"}},"repository":{"url":"git+https://github.com/wxy/appilot.git","type":"git"},"_npmVersion":"11.19.0","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"_nodeVersion":"24.20.0","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/appilot-core_1.2.0_1789293869865_0.4826328944452536","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"_id":"@appilot-labs/appilot-core@1.3.0","bugs":{"url":"https://github.com/wxy/appilot/issues"},"dist":{"shasum":"179b0e93f99000dc5802261a92287ab5e4a56dc6","tarball":"https://registry.npmjs.org/@appilot-labs/appilot-core/-/appilot-core-1.3.0.tgz","fileCount":75,"integrity":"sha512-DO+D4su556N6PN9nCIkgjD6c4Y1D+glXn1ziC0M2TcP5klo/7CP8x2DYyNLTtBHYON0uMG0dO+z2hJtdKaDNQA==","signatures":[{"sig":"MEQCIF05q+bKVEHyOmgzHqk2vpovxHIAGodeZhJ252ONI4B1AiBvjMnXllNAcfWTYKaq9S1PWlXYQ1YnrRgnjMp6e8zK7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICUuBVyP4Zy/3/lZo7ytXEyUSWFdgsd5vf/zy7bZkvvVAiBIkTcxOC72PHItbcWrJXtFNGn8oZsxZCq4dIXHu5OoIg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appilot-labs%2fappilot-core@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447725},"main":"./dist/index.js","name":"@appilot-labs/appilot-core","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*.js"},"gitHead":"882db82752073f5736d32ae6b116e3c97d3ac87e","license":"GPL-3.0-or-later","scripts":{"test":"for f in tests/*.test.ts; do echo \"== $f\"; tsx \"$f\" || exit 1; done","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"version":"1.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d061e9f3-4b25-4ee3-a45f-a8d10f8f3c34"}},"homepage":"https://github.com/wxy/appilot#readme","repository":{"url":"git+https://github.com/wxy/appilot.git","type":"git"},"_npmVersion":"11.19.0","description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","directories":{},"maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"openai":"^6.47.0","@octokit/rest":"^22.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^5.7.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/appilot-core_1.3.0_1790422451714_0.6072816804922705"}}},"time":{"created":"2026-09-01T06:50:55.551Z","modified":"2026-09-26T11:34:12.083Z","0.1.0":"2026-09-01T06:50:56.067Z","1.0.0":"2026-09-04T11:56:54.983Z","1.0.1":"2026-09-04T13:28:33.325Z","1.1.0":"2026-09-11T02:51:39.033Z","1.2.0":"2026-09-13T10:04:30.014Z","1.3.0":"2026-09-26T11:34:11.801Z"},"bugs":{"url":"https://github.com/wxy/appilot/issues"},"homepage":"https://github.com/wxy/appilot#readme","repository":{"url":"git+https://github.com/wxy/appilot.git","type":"git"},"description":"Appilot core engine — pure TypeScript, zero Electron/React/Cordis dependency","maintainers":[{"name":"xingyu.wang","email":"xingyu.wang@gmail.com"}],"readme":"<!-- 中文版说明（仓库内提供）。English: [README.md](./README.md) -->\n# @appilot-labs/appilot-core\n\nApp Store 运营领域纯函数库——被所有 Appilot 壳（Electron / DSH 插件 / CLI / MCP）共用，\n自身不依赖任何壳或存储（持久化与调度在下层 `headless`）。\n\n## 亮点\n\n- **商店**：商店显示名与 语言→商店 映射（`/storefronts`）\n- **排名采集**：App Store / iTunes 搜索排名采集（`/rank-collector`）\n- **项目同步**：GitHub 发布检测与同步（`/project-sync`）\n- **发布与文案**：readiness 检查、发布草稿、商店文案\n- **信号**：GitHub Issues 收件箱与竞品快照\n- **AI 辅助与日志**：模型抽象与结构化日志（`/logger`）\n\n## 安装\n\n```bash\nnpm i @appilot-labs/appilot-core\n```\n\n## 用法（ESM 子路径导出）\n\n```ts\nimport { storefrontDisplayName } from '@appilot-labs/appilot-core/storefronts';\nstorefrontDisplayName('us'); // -> '美国'\n\nimport { searchAppStoreRank } from '@appilot-labs/appilot-core/rank-collector';\nconst r = await searchAppStoreRank({ term: 'flashlight', country: 'us', trackId: '…' });\n\nimport { inspectProjectRelease } from '@appilot-labs/appilot-core/project-sync';\nconst insp = await inspectProjectRelease('/path/to/repo', { token });\n```\n\n## 相关\n\n- `@appilot-labs/appilot-headless` — 共享 SQLite 数据 + 任务引擎（持久化）\n- `@appilot-labs/appilot-scheduler` — 常驻调度守护进程\n- 仓库文档：`docs/headless-architecture.md`、`docs/architecture-convergence.md`\n","readmeFilename":"README.zh.md","license":"GPL-3.0-or-later"}