@witty-ai/skill-insight 0.3.0-beta → 0.5.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +51 -6
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +2 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +12 -0
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js +2 -2
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/organization/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js +7 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/config/create/route.js +5 -5
- package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +5 -4
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/status/route.js +2 -2
- package/.next/standalone/.next/server/app/api/config/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +5 -4
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +4 -4
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/guide/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/guide/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/guide/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/guide/route.js +7 -0
- package/.next/standalone/.next/server/app/api/guide/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/guide/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +5 -4
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +5 -4
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +5 -4
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js +2 -2
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/rejudge/route.js +5 -4
- package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js +5 -5
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js +2 -2
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/test/route.js +2 -2
- package/.next/standalone/.next/server/app/api/settings/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +4 -4
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/push/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +5 -4
- package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/upload/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sync/manifest/route.js +2 -2
- package/.next/standalone/.next/server/app/api/sync/manifest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sync/opencode/route.js +2 -2
- package/.next/standalone/.next/server/app/api/sync/opencode/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/route.js +5 -3
- package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/details.html +1 -1
- package/.next/standalone/.next/server/app/details.rsc +5 -5
- package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +5 -5
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +5 -5
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05e510f4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a140a5a._.js +122 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__73ce6d21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c6c98b22._.js → [root-of-the-server]__aa5c8858._.js} +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +3 -0
- package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
- package/.next/standalone/.next/server/chunks/_41a98bd8._.js +3 -0
- package/.next/standalone/.next/server/chunks/_c48f7c66._.js +1 -1
- package/.next/standalone/.next/server/chunks/_c82df3e0._.js +3 -3
- package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_fa49adfa._.js +3 -3
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_organization_route_actions_f58710b7.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_guide_route_actions_6c188449.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +71 -110
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -400
- package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +22 -22
- package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5d576168._.js → [root-of-the-server]__40353d98._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89851212._.js → [root-of-the-server]__480fcd92._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__72a7f3ed._.js → [root-of-the-server]__48f8fbcb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__438a2c90._.js → [root-of-the-server]__49921b2a._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c9e3c893._.js → [root-of-the-server]__593be3d6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ca101543._.js → [root-of-the-server]__5e9ff641._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__90641614._.js → [root-of-the-server]__66cc6ff2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__37bfda90._.js → [root-of-the-server]__9889bdc8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__42ba97b6._.js → [root-of-the-server]__9905ca7a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ab7cc4a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7bb97139._.js → [root-of-the-server]__9d6b7d48._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__6b8b9bb9._.js → [root-of-the-server]__b8edc8c6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1dfe61f8._.js → [root-of-the-server]__d691ecb0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d0917d6e._.js → [root-of-the-server]__e5ddfd15._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__e5e3a145._.js → [root-of-the-server]__f72f330e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__99ab66d7._.js → [root-of-the-server]__f843e085._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8a82ef12._.js → [root-of-the-server]__fd69d276._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_7688d7cd._.js → _049876f0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_981cd263._.js → _09546b95._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_cf1f3d2c._.js → _b121f1ae._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +18 -42
- package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_a4a1f3c3._.js → node_modules_039c6a11._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_a7a82280._.js → node_modules_0d3530cd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_0c2939c3._.js → node_modules_0e883565._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_8d9e56b7._.js → node_modules_11dbf165._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_76d6c533._.js → node_modules_2041c122._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_b007145b._.js → node_modules_235267bb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_11d81adf._.js → node_modules_25dfb0ba._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_205ce1c9._.js → node_modules_2b12c669._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_cc19e85c._.js → node_modules_32996880._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_62621b34._.js → node_modules_35885fe9._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ee43cfd6._.js → node_modules_38a95353._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_f596a14c._.js → node_modules_3a317c51._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_776b68cf._.js → node_modules_44966ab2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_514c148b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_e272ac31._.js → node_modules_53af751a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_23d38260._.js → node_modules_5f539891._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_86b6ffa4._.js → node_modules_60402210._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3769cd60._.js → node_modules_60eccfb6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_fdf808cf._.js → node_modules_632c098c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_60cf7de2._.js → node_modules_6c42f75c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2f215d2b._.js → node_modules_6fbe276d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_4cd41088._.js → node_modules_740e9d59._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_d0af4cb2._.js → node_modules_7a3d551c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_4f41f172._.js → node_modules_861cb9cf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_db8af6e3._.js → node_modules_8a892761._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_28fef057._.js → node_modules_a5a4946e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3d9afa91._.js → node_modules_a712c937._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_330b9e3c._.js → node_modules_a8c276dd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_abf4f826._.js → node_modules_acc9d529._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_39a3e684._.js → node_modules_ad07ab39._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_1d88c7cc._.js → node_modules_b38efa22._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_8633bac6._.js → node_modules_b4ef036d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_abc9e5a6._.js → node_modules_b6bad701._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_c90fa812._.js → node_modules_b9810024._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_f56b62b0._.js → node_modules_b9ad808d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_7287189a._.js → node_modules_bc287d9f._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_5ab83f0a._.js → node_modules_c411d7df._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_c98dd942._.js → node_modules_c6469d93._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_6391b0cd._.js → node_modules_c704e802._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_df113a74._.js → node_modules_cda46cfc._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_aa6da06c._.js → node_modules_cf171d0c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_be61cdef._.js → node_modules_e8927fc2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_d037b3b1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-7R4GIKGN_mjs_e5dda8cc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
- package/.next/{static/chunks/ec0de430276c8209.js → standalone/.next/static/chunks/078d76156083f265.js} +1 -1
- package/.next/standalone/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
- package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +1 -0
- package/.next/{static/chunks/55723b38de737547.js → standalone/.next/static/chunks/21105f8885631d60.js} +1 -1
- package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
- package/.next/{static/chunks/052f178ab7519d8d.js → standalone/.next/static/chunks/5432ce4a494bc74d.js} +2 -2
- package/.next/standalone/.next/static/chunks/59cd76b8d89e776a.js +1 -0
- package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +1 -0
- package/.next/standalone/.next/static/chunks/6baf949fafec6be3.js +1 -0
- package/.next/standalone/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
- package/.next/standalone/.next/static/chunks/7e35f4cf2e266022.js +1 -0
- package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +1 -0
- package/.next/standalone/.next/static/chunks/b43afe7d924243d9.js +2 -0
- package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +1 -0
- package/.next/{static/chunks/559e55a53f22f5d1.js → standalone/.next/static/chunks/c875bd2ff662b46f.js} +1 -1
- package/.next/{static/chunks/6d12c79948c7e0ac.js → standalone/.next/static/chunks/dc59a07a8f327b40.js} +1 -1
- package/.next/standalone/.next/static/chunks/e09d9ee16fe90255.js +1 -0
- package/.next/standalone/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
- package/.next/standalone/.next/static/chunks/ff6357067630b168.js +1 -0
- package/.next/standalone/LICENSE +1 -1
- package/.next/standalone/bin/cli.js +1 -1
- package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +126 -0
- package/.next/standalone/features/feature-skill-used-jump-link/feature.json +32 -0
- package/.next/standalone/features/feature-skill-used-jump-link/issue.md +32 -0
- package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +528 -0
- package/.next/standalone/next.config.ts +14 -2
- package/.next/standalone/node_modules/.prisma/client/edge.js +23 -5
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +20 -2
- package/.next/standalone/node_modules/.prisma/client/index.js +23 -5
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +19 -2
- package/.next/standalone/node_modules/.prisma/client/wasm.js +20 -2
- package/.next/standalone/node_modules/@img/colour/color.cjs +11 -9
- package/.next/standalone/node_modules/@img/colour/package.json +21 -8
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/prisma/schema.prisma +19 -2
- package/.next/standalone/scripts/activate_telemetry.sh +24 -24
- package/.next/standalone/scripts/claude_watcher_client.ts +9 -7
- package/.next/standalone/scripts/init_opengauss.py +15 -0
- package/.next/standalone/scripts/install.js +68 -35
- package/.next/standalone/scripts/logs.js +1 -1
- package/.next/standalone/scripts/openclaw_watcher_client.ts +9 -7
- package/.next/standalone/scripts/opencode_plugin.ts +278 -46
- package/.next/standalone/scripts/postinstall.js +80 -38
- package/.next/standalone/scripts/restart.js +1 -1
- package/.next/standalone/scripts/start.js +84 -60
- package/.next/standalone/scripts/status.js +1 -1
- package/.next/standalone/scripts/stop.js +38 -14
- package/.next/standalone/scripts/sync_skills.js +5 -5
- package/.next/standalone/scripts/utils.js +91 -23
- package/.next/standalone/tests/setup_skill_optimizer.sh +118 -0
- package/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
- package/.next/{standalone/.next/static/chunks/ec0de430276c8209.js → static/chunks/078d76156083f265.js} +1 -1
- package/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
- package/.next/static/chunks/1e782a49beaf489c.js +1 -0
- package/.next/{standalone/.next/static/chunks/55723b38de737547.js → static/chunks/21105f8885631d60.js} +1 -1
- package/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
- package/.next/{standalone/.next/static/chunks/052f178ab7519d8d.js → static/chunks/5432ce4a494bc74d.js} +2 -2
- package/.next/static/chunks/59cd76b8d89e776a.js +1 -0
- package/.next/static/chunks/67bd1a5de2195779.js +1 -0
- package/.next/static/chunks/6baf949fafec6be3.js +1 -0
- package/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
- package/.next/static/chunks/7e35f4cf2e266022.js +1 -0
- package/.next/static/chunks/a87b5e84254095a5.js +1 -0
- package/.next/static/chunks/b43afe7d924243d9.js +2 -0
- package/.next/static/chunks/c6bd2818656b1f20.css +1 -0
- package/.next/{standalone/.next/static/chunks/559e55a53f22f5d1.js → static/chunks/c875bd2ff662b46f.js} +1 -1
- package/.next/{standalone/.next/static/chunks/6d12c79948c7e0ac.js → static/chunks/dc59a07a8f327b40.js} +1 -1
- package/.next/static/chunks/e09d9ee16fe90255.js +1 -0
- package/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
- package/.next/static/chunks/ff6357067630b168.js +1 -0
- package/LICENSE +1 -1
- package/README.md +7 -6
- package/bin/cli.js +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +19 -2
- package/scripts/activate_telemetry.sh +24 -24
- package/scripts/claude_watcher_client.ts +9 -7
- package/scripts/init_opengauss.py +15 -0
- package/scripts/install.js +68 -35
- package/scripts/logs.js +1 -1
- package/scripts/openclaw_watcher_client.ts +9 -7
- package/scripts/opencode_plugin.ts +278 -46
- package/scripts/postinstall.js +80 -38
- package/scripts/restart.js +1 -1
- package/scripts/start.js +84 -60
- package/scripts/status.js +1 -1
- package/scripts/stop.js +38 -14
- package/scripts/sync_skills.js +5 -5
- package/scripts/utils.js +91 -23
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1306e4eb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1809fb2b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19594bdd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19db3d34._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b2e7f49._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c02de9b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3f3ad12b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c1ad182._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4dce0fe6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__582cdc68._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__625e84f3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__68b5a8b3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__704b8533._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__78ea20f2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f754db9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__824c33e1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__92449e6d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9465727f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c3018b5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a12846e0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a637116a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8f83ee4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8ffc1b1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cb205c._.js +0 -122
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab7048b0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac25e4ae._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae5ac9cd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bebf4267._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c5ae3ebd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ebdafae4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eefd5f5b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__082c32a2._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_b7889f85._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0b762d3e._.js +0 -3
- package/.next/standalone/.next/static/chunks/024c9acb4aa490c8.js +0 -1
- package/.next/standalone/.next/static/chunks/104f2c1fb93033c0.js +0 -1
- package/.next/standalone/.next/static/chunks/222a937a6c859036.js +0 -1
- package/.next/standalone/.next/static/chunks/2e1b2125198a02c4.js +0 -1
- package/.next/standalone/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
- package/.next/standalone/.next/static/chunks/428e6cf64b115e9d.css +0 -1
- package/.next/standalone/.next/static/chunks/62e251619a96dc26.js +0 -1
- package/.next/standalone/.next/static/chunks/65c652f23d2d68bd.js +0 -133
- package/.next/standalone/.next/static/chunks/876e2d70185fd438.js +0 -1
- package/.next/standalone/.next/static/chunks/c647b2e4532050e0.js +0 -1
- package/.next/standalone/.next/static/chunks/d2e574310159a10b.js +0 -1
- package/.next/standalone/.next/static/chunks/dab1749712763979.js +0 -2
- package/.next/static/chunks/024c9acb4aa490c8.js +0 -1
- package/.next/static/chunks/104f2c1fb93033c0.js +0 -1
- package/.next/static/chunks/222a937a6c859036.js +0 -1
- package/.next/static/chunks/2e1b2125198a02c4.js +0 -1
- package/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
- package/.next/static/chunks/428e6cf64b115e9d.css +0 -1
- package/.next/static/chunks/62e251619a96dc26.js +0 -1
- package/.next/static/chunks/65c652f23d2d68bd.js +0 -133
- package/.next/static/chunks/876e2d70185fd438.js +0 -1
- package/.next/static/chunks/c647b2e4532050e0.js +0 -1
- package/.next/static/chunks/d2e574310159a10b.js +0 -1
- package/.next/static/chunks/dab1749712763979.js +0 -2
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
module.exports=[81176,e=>{"use strict";var t=e.i(47909),a=e.i(74017),n=e.i(60476),o=e.i(59756),i=e.i(61916),r=e.i(74677),s=e.i(69741),c=e.i(16795),l=e.i(87718),h=e.i(95169),d=e.i(47587),p=e.i(66012),u=e.i(70101),E=e.i(26937),_=e.i(10372),w=e.i(93695);e.i(52474);var f=e.i(220),S=e.i(89171);async function T(e){let{searchParams:t}=new URL(e.url),a=t.get("apiKey"),n=t.get("host");if(!a||!n)return new S.NextResponse("Missing required parameters: apiKey and host",{status:400,headers:{"Content-Type":"text/plain"}});let o=e.headers.get("host")||"127.0.0.1:3000",i=e.headers.get("x-forwarded-proto")||"http",r=`${i}://${o}`,s=`#!/bin/bash
|
|
1
|
+
module.exports=[81176,e=>{"use strict";var t=e.i(47909),n=e.i(74017),i=e.i(60476),s=e.i(59756),o=e.i(61916),r=e.i(74677),l=e.i(69741),a=e.i(16795),c=e.i(87718),h=e.i(95169),p=e.i(47587),S=e.i(66012),d=e.i(70101),_=e.i(26937),u=e.i(10372),E=e.i(93695);e.i(52474);var L=e.i(220),I=e.i(89171);async function w(e){var t,n,i;let s,o,r,l,{searchParams:a}=new URL(e.url),c=a.get("apiKey"),h=a.get("host");if(!c||!h)return new I.NextResponse("Missing required parameters: apiKey and host",{status:400,headers:{"Content-Type":"text/plain"}});let p=e.headers.get("host")||"127.0.0.1:3000",S=e.headers.get("x-forwarded-proto")||"http",d=new URL(e.url).pathname.replace(/\/api\/setup\/auto\/?$/,""),_=`${S}://${p}${d}`;return"windows"==(r=e.headers.get("user-agent")||"",(l=e.headers.get("x-platform")||"")?"windows"===l.toLowerCase()?"windows":"unix":/windows|win32|win64/i.test(r)?"windows":"unix")?(s=["# =============================================================================\n# Skill-insight Auto Setup (Non-Interactive) - PowerShell\n# =============================================================================\n",'$SKILL_INSIGHT_HOST = "'+h+'"','$SKILL_INSIGHT_BASE_URL = "'+_+'"','$SKILL_INSIGHT_API_KEY = "'+c+'"','\nWrite-Host "🚀 Fetching Skill-insight telemetry components from $SKILL_INSIGHT_BASE_URL..."\n\n# 1. Setup Directories\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$skillInsightLogsDir = Join-Path $skillInsightDir "logs"\n$opencodePluginsDir = Join-Path $env:USERPROFILE ".opencode\\plugins"\n$opencodeSkillsDir = Join-Path $env:USERPROFILE ".opencode\\skills"\n$claudeProjectsDir = Join-Path $env:USERPROFILE ".claude\\projects"\n$openclawAgentsDir = Join-Path $env:USERPROFILE ".openclaw\\agents"\n\nNew-Item -ItemType Directory -Force -Path $skillInsightDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $skillInsightLogsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $opencodePluginsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $opencodeSkillsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $claudeProjectsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $openclawAgentsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path ".opencode\\skills" | Out-Null\nWrite-Host "📂 Created necessary directories"\n\n# 2. Interactive Framework Selection with inquirer\nWrite-Host ""\n\n$SELECTOR_SCRIPT = Join-Path $skillInsightDir "framework_selector.mjs"\n$SELECTOR_RESULT = Join-Path $skillInsightDir ".selector_result"\n\n# Install inquirer if not already installed\nSet-Location $skillInsightDir\nif (-not (Test-Path "node_modules\\inquirer")) {\n Write-Host "📦 Installing inquirer for interactive selection..."\n npm install inquirer --save 2>$null\n}\n\n$selectorLines = @(\n "import inquirer from \'inquirer\';"\n "import fs from \'fs\';"\n ""\n "const frameworks = ["\n " { name: \'OpenCode\', value: \'opencode\' },"\n " { name: \'Claude Code\', value: \'claude\' },"\n " { name: \'OpenClaw\', value: \'openclaw\' }"\n "];"\n ""\n "async function select() {"\n " console.log(\'\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'╔══════════════════════════════════════════════════════════╗\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'║ ║\');"\n " console.log(\'\\x1b[1m\\x1b[36m%s\\x1b[0m\', \'║ ✨ Skill-insight ✨ ║\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'║ ║\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'╚══════════════════════════════════════════════════════════╝\');"\n " console.log(\'\');"\n " console.log(\'\\x1b[90m%s\\x1b[0m\', \' 提示: ↑↓ 移动 | 空格 选择 | a 全选 | i 反选 | Enter 确认\');"\n " console.log(\'\');"\n ""\n " const answers = await inquirer.prompt(["\n " {"\n " type: \'checkbox\',"\n " name: \'frameworks\',"\n " message: \'集成到:\',"\n " choices: frameworks,"\n " pageSize: 10,"\n " loop: false"\n " }"\n " ]);"\n ""\n " const selected = answers.frameworks;"\n " "\n " if (selected.length > 0) {"\n " console.log(\'\');"\n " console.log(\'\\x1b[32m%s\\x1b[0m\', \'✅ 将安装以下组件:\');"\n " selected.forEach(fw => {"\n " const name = frameworks.find(f => f.value === fw)?.name || fw;"\n " console.log(\'\\x1b[32m%s\\x1b[0m\', \' • \' + name);"\n " });"\n " console.log(\'\');"\n " } else {"\n " console.log(\'\');"\n " console.log(\'\\x1b[33m%s\\x1b[0m\', \'⚠️ 未选择任何组件,将不进行安装。\');"\n " console.log(\'\');"\n " }"\n ""\n " // Write result to file for PowerShell to read"\n " const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.USERPROFILE + \'\\\\.skill-insight\\\\.selector_result\';"\n " fs.writeFileSync(resultFile, selected.join(\',\'));"\n "}"\n ""\n "select().catch(err => {"\n " console.error(\'Error:\', err);"\n " process.exit(1);"\n "});"\n)\n$selectorContent = $selectorLines -join [char]10\nSet-Content -Path $SELECTOR_SCRIPT -Value $selectorContent -Encoding UTF8\n\n# Run the selector interactively\n$env:SELECTOR_RESULT_FILE = $SELECTOR_RESULT\nSet-Location $skillInsightDir\nnpx -y tsx $SELECTOR_SCRIPT\n\n# Read the selection result from file\nif (Test-Path $SELECTOR_RESULT) {\n $SELECTED_FRAMEWORKS = Get-Content $SELECTOR_RESULT\n Remove-Item $SELECTOR_RESULT -Force\n} else {\n $SELECTED_FRAMEWORKS = ""\n}\n\n# Set installation flags based on selection\n$INSTALL_OPENCODE = $false\n$INSTALL_CLAUDE = $false\n$INSTALL_OPENCLAW = $false\n\nif ($SELECTED_FRAMEWORKS -match "opencode") {\n $INSTALL_OPENCODE = $true\n}\nif ($SELECTED_FRAMEWORKS -match "claude") {\n $INSTALL_CLAUDE = $true\n}\nif ($SELECTED_FRAMEWORKS -match "openclaw") {\n $INSTALL_OPENCLAW = $true\n}\n\n# Exit if nothing selected\nif (-not $INSTALL_OPENCODE -and -not $INSTALL_CLAUDE -and -not $INSTALL_OPENCLAW) {\n Write-Host "⚠️ 未选择任何框架组件,将跳过插件安装。"\n Write-Host " 继续执行配置步骤..."\n Write-Host ""\n}\n\n# 3. Download Components\nif ($INSTALL_OPENCODE) {\n Write-Host "⏬ Downloading OpenCode Plugin..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/opencode" -OutFile (Join-Path $opencodePluginsDir "Witty-Skill-Insight.ts")\n}\n\nif ($INSTALL_CLAUDE) {\n Write-Host "⏬ Downloading Claude Code Watcher..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/claude-watcher" -OutFile (Join-Path $skillInsightDir "claude_watcher_client.ts")\n}\n\nif ($INSTALL_OPENCLAW) {\n Write-Host "⏬ Downloading OpenClaw Watcher..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/openclaw-watcher" -OutFile (Join-Path $skillInsightDir "openclaw_watcher_client.ts")\n}\n\n# 4. Configure ~/.skill-insight/.env (Auto mode - no interaction)\n$SKILL_INSIGHT_CONFIG_FILE = Join-Path $skillInsightDir ".env"\n\nWrite-Host "⚙️ Updating configuration..."\nif (Test-Path $SKILL_INSIGHT_CONFIG_FILE) {\n $existingContent = Get-Content $SKILL_INSIGHT_CONFIG_FILE\n $filteredContent = $existingContent | Where-Object { $_ -notmatch "^SKILL_INSIGHT_HOST=" -and $_ -notmatch "^SKILL_INSIGHT_API_KEY=" }\n Set-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value $filteredContent\n} else {\n New-Item -ItemType File -Path $SKILL_INSIGHT_CONFIG_FILE -Force | Out-Null\n}\nAdd-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value "SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"\nAdd-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value "SKILL_INSIGHT_API_KEY=$SKILL_INSIGHT_API_KEY"\nWrite-Host "✅ Configuration updated at $SKILL_INSIGHT_CONFIG_FILE"\nWrite-Host " SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"\nWrite-Host " SKILL_INSIGHT_API_KEY=********"\n\n# 6. Install Watcher Dependencies (only if any watcher is selected)\nif ($INSTALL_CLAUDE -or $INSTALL_OPENCLAW) {\n Write-Host ""\n Write-Host "📦 Installing watcher dependencies..."\n if (Get-Command npm -ErrorAction SilentlyContinue) {\n Set-Location $skillInsightDir\n if (-not (Test-Path "package.json")) {\n \'{"name": "skill-insight-watcher", "version": "1.0.0", "type": "module", "dependencies": {}}\' | Out-File -FilePath "package.json" -Encoding utf8\n }\n npm install chokidar --save 2>$null\n Write-Host "✅ Dependencies installed"\n } else {\n Write-Host "⚠️ npm not found. Skipping dependency installation."\n }\n}\n\n# 7. Create Watcher Startup/Stop Scripts\n$NEEDS_WATCHER_SCRIPTS = $INSTALL_CLAUDE -or $INSTALL_OPENCLAW\n\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "📝 Creating watcher management scripts..."\n\n # Claude Watcher Start Script\n if ($INSTALL_CLAUDE) {\n $startClaudeScript = @\'\n# Stop existing watcher if running\nGet-Process | Where-Object { $_.CommandLine -like "*claude_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\n\n# Start watcher in background\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$logFile = Join-Path $skillInsightDir "logs\\claude_watcher.log"\n$scriptPath = Join-Path $skillInsightDir "claude_watcher_client.ts"\n\nStart-Process -FilePath "npx" -ArgumentList "-y", "tsx", $scriptPath -NoNewWindow -RedirectStandardOutput $logFile -RedirectStandardError $logFile\nWrite-Host "Claude watcher started"\n\'@\n $startClaudePath = Join-Path $skillInsightDir "start_claude_watcher.ps1"\n Set-Content -Path $startClaudePath -Value $startClaudeScript -Encoding UTF8\n Write-Host "✅ Claude watcher start script created"\n\n # Claude Watcher Stop Script\n $stopClaudeScript = @\'\nWrite-Host "Stopping Claude watcher..."\nGet-Process | Where-Object { $_.CommandLine -like "*claude_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\nWrite-Host "Claude watcher stopped"\n\'@\n $stopClaudePath = Join-Path $skillInsightDir "stop_claude_watcher.ps1"\n Set-Content -Path $stopClaudePath -Value $stopClaudeScript -Encoding UTF8\n Write-Host "✅ Claude watcher stop script created"\n }\n\n # OpenClaw Watcher Start Script\n if ($INSTALL_OPENCLAW) {\n $startOpenclawScript = @\'\n# Stop existing watcher if running\nGet-Process | Where-Object { $_.CommandLine -like "*openclaw_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\n\n# Start watcher in background\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$logFile = Join-Path $skillInsightDir "logs\\openclaw_watcher.log"\n$scriptPath = Join-Path $skillInsightDir "openclaw_watcher_client.ts"\n\nStart-Process -FilePath "npx" -ArgumentList "-y", "tsx", $scriptPath -NoNewWindow -RedirectStandardOutput $logFile -RedirectStandardError $logFile\nWrite-Host "OpenClaw watcher started"\n\'@\n $startOpenclawPath = Join-Path $skillInsightDir "start_openclaw_watcher.ps1"\n Set-Content -Path $startOpenclawPath -Value $startOpenclawScript -Encoding UTF8\n Write-Host "✅ OpenClaw watcher start script created"\n\n # OpenClaw Watcher Stop Script\n $stopOpenclawScript = @\'\nWrite-Host "Stopping OpenClaw watcher..."\nGet-Process | Where-Object { $_.CommandLine -like "*openclaw_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\nWrite-Host "OpenClaw watcher stopped"\n\'@\n $stopOpenclawPath = Join-Path $skillInsightDir "stop_openclaw_watcher.ps1"\n Set-Content -Path $stopOpenclawPath -Value $stopOpenclawScript -Encoding UTF8\n Write-Host "✅ OpenClaw watcher stop script created"\n }\n\n # Combined Start Script\n $startLines = @()\n $startLines += \'Write-Host "Starting Skill-Insight watchers..."\'\n if ($INSTALL_CLAUDE) {\n $startLines += \'powershell -File "\' + $skillInsightDir + \'\\start_claude_watcher.ps1"\'\n }\n if ($INSTALL_OPENCLAW) {\n $startLines += \'powershell -File "\' + $skillInsightDir + \'\\start_openclaw_watcher.ps1"\'\n }\n $startLines += \'Write-Host "All watchers started!"\'\n $startLines -join [char]10 | Set-Content -Path (Join-Path $skillInsightDir "start_watchers.ps1") -Encoding UTF8\n Write-Host "✅ Combined start script created"\n\n # Combined Stop Script\n $stopLines = @()\n $stopLines += \'Write-Host "Stopping Skill-Insight watchers..."\'\n if ($INSTALL_CLAUDE) {\n $stopLines += \'powershell -File "\' + $skillInsightDir + \'\\stop_claude_watcher.ps1"\'\n }\n if ($INSTALL_OPENCLAW) {\n $stopLines += \'powershell -File "\' + $skillInsightDir + \'\\stop_openclaw_watcher.ps1"\'\n }\n $stopLines += \'Write-Host "All watchers stopped!"\'\n $stopLines -join [char]10 | Set-Content -Path (Join-Path $skillInsightDir "stop_watchers.ps1") -Encoding UTF8\n Write-Host "✅ Combined stop script created"\n}\n\n# 8. Start Watchers Now\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "🚀 Starting telemetry watchers..."\n if (Get-Command npx -ErrorAction SilentlyContinue) {\n & (Join-Path $skillInsightDir "start_watchers.ps1")\n } else {\n Write-Host "⚠️ Node.js (npx) not found. Skipping watcher startup."\n }\n}\n\n# 10. Final Summary\nWrite-Host ""\nWrite-Host "🌟 Skill-Insight Telemetry: READY"\nWrite-Host "------------------------------------------------"\nWrite-Host "Installed Components:"\nif ($INSTALL_OPENCODE) {\n Write-Host " ✅ OpenCode Plugin: ~/.opencode/plugins/Witty-Skill-Insight.ts"\n}\nif ($INSTALL_CLAUDE) {\n Write-Host " ✅ Claude Watcher: ~/.skill-insight/claude_watcher_client.ts"\n}\nif ($INSTALL_OPENCLAW) {\n Write-Host " ✅ OpenClaw Watcher: ~/.skill-insight/openclaw_watcher_client.ts"\n}\n\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "Watcher Management:"\n Write-Host " Start all: ~/.skill-insight/start_watchers.ps1"\n Write-Host " Stop all: ~/.skill-insight/stop_watchers.ps1"\n if ($INSTALL_CLAUDE) {\n Write-Host " Start Claude: ~/.skill-insight/start_claude_watcher.ps1"\n Write-Host " Stop Claude: ~/.skill-insight/stop_claude_watcher.ps1"\n }\n if ($INSTALL_OPENCLAW) {\n Write-Host " Start OpenClaw: ~/.skill-insight/start_openclaw_watcher.ps1"\n Write-Host " Stop OpenClaw: ~/.skill-insight/stop_openclaw_watcher.ps1"\n }\n Write-Host " Logs: ~/.skill-insight/logs/"\n}\n\nWrite-Host ""\nWrite-Host "Usage:"\nif ($INSTALL_OPENCODE) {\n Write-Host " 1. Run: opencode run \'hello\'"\n}\nif ($INSTALL_CLAUDE) {\n Write-Host " 2. Run: claude (restart terminal first)"\n}\nif ($INSTALL_OPENCLAW) {\n Write-Host " 3. OpenClaw will automatically monitor and upload telemetry"\n}\nWrite-Host "------------------------------------------------"'].join("\n"),new I.NextResponse("\uFEFF"+s,{headers:{"Content-Type":"application/x-powershell; charset=utf-8"}})):(t=_,n=h,i=c,o=`#!/bin/bash
|
|
2
2
|
# =============================================================================
|
|
3
|
-
#
|
|
3
|
+
# Skill-insight Auto Setup (Non-Interactive)
|
|
4
4
|
# =============================================================================
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
SKILL_INSIGHT_HOST="${n}"
|
|
7
|
+
SKILL_INSIGHT_BASE_URL="${t}"
|
|
8
|
+
SKILL_INSIGHT_API_KEY="${i}"
|
|
9
9
|
|
|
10
|
-
echo "🚀 Fetching
|
|
10
|
+
echo "🚀 Fetching Skill-insight telemetry components from $SKILL_INSIGHT_BASE_URL..."
|
|
11
11
|
|
|
12
12
|
# 1. Setup Directories
|
|
13
|
-
mkdir -p "$HOME/.
|
|
14
|
-
mkdir -p "$HOME/.
|
|
13
|
+
mkdir -p "$HOME/.skill-insight"
|
|
14
|
+
mkdir -p "$HOME/.skill-insight/logs"
|
|
15
15
|
mkdir -p "$HOME/.opencode/plugins"
|
|
16
16
|
mkdir -p "$HOME/.opencode/skills"
|
|
17
17
|
mkdir -p "$HOME/.claude/projects"
|
|
@@ -22,11 +22,11 @@ echo "📂 Created necessary directories"
|
|
|
22
22
|
# 2. Interactive Framework Selection with inquirer
|
|
23
23
|
echo ""
|
|
24
24
|
|
|
25
|
-
SELECTOR_SCRIPT="$HOME/.
|
|
26
|
-
SELECTOR_RESULT="$HOME/.
|
|
25
|
+
SELECTOR_SCRIPT="$HOME/.skill-insight/framework_selector.mjs"
|
|
26
|
+
SELECTOR_RESULT="$HOME/.skill-insight/.selector_result"
|
|
27
27
|
|
|
28
28
|
# Install inquirer if not already installed
|
|
29
|
-
cd "$HOME/.
|
|
29
|
+
cd "$HOME/.skill-insight"
|
|
30
30
|
if [ ! -d "node_modules/inquirer" ]; then
|
|
31
31
|
echo "📦 Installing inquirer for interactive selection..."
|
|
32
32
|
npm install inquirer --save 2>/dev/null
|
|
@@ -46,7 +46,7 @@ async function select() {
|
|
|
46
46
|
console.log('');
|
|
47
47
|
console.log('\\x1b[36m%s\\x1b[0m', '╔══════════════════════════════════════════════════════════╗');
|
|
48
48
|
console.log('\\x1b[36m%s\\x1b[0m', '║ ║');
|
|
49
|
-
console.log('\\x1b[1m\\x1b[36m%s\\x1b[0m', '║ ✨
|
|
49
|
+
console.log('\\x1b[1m\\x1b[36m%s\\x1b[0m', '║ ✨ Skill-insight ✨ ║');
|
|
50
50
|
console.log('\\x1b[36m%s\\x1b[0m', '║ ║');
|
|
51
51
|
console.log('\\x1b[36m%s\\x1b[0m', '╚══════════════════════════════════════════════════════════╝');
|
|
52
52
|
console.log('');
|
|
@@ -81,7 +81,7 @@ async function select() {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
// Write result to file for bash to read
|
|
84
|
-
const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.HOME + '/.
|
|
84
|
+
const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.HOME + '/.skill-insight/.selector_result';
|
|
85
85
|
fs.writeFileSync(resultFile, selected.join(','));
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -94,7 +94,7 @@ SELECTOR_EOF
|
|
|
94
94
|
# Run the selector interactively from /dev/tty
|
|
95
95
|
# Export the result file path so the selector knows where to write
|
|
96
96
|
export SELECTOR_RESULT_FILE="$SELECTOR_RESULT"
|
|
97
|
-
cd "$HOME/.
|
|
97
|
+
cd "$HOME/.skill-insight" && npx -y tsx "$SELECTOR_SCRIPT" < /dev/tty
|
|
98
98
|
|
|
99
99
|
# Read the selection result from file
|
|
100
100
|
if [ -f "$SELECTOR_RESULT" ]; then
|
|
@@ -129,57 +129,43 @@ fi
|
|
|
129
129
|
# 3. Download Components
|
|
130
130
|
if [ "$INSTALL_OPENCODE" = "true" ]; then
|
|
131
131
|
echo "⏬ Downloading OpenCode Plugin..."
|
|
132
|
-
curl -sSf "$
|
|
133
|
-
|
|
134
|
-
echo "⏬ Downloading Skill Sync Tool..."
|
|
135
|
-
curl -sSf "$WITTY_BASE_URL/sync_skills.ts" -o "$HOME/.witty/sync_skills.ts"
|
|
132
|
+
curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/opencode" -o "$HOME/.opencode/plugins/Witty-Skill-Insight.ts"
|
|
136
133
|
fi
|
|
137
134
|
|
|
138
135
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
139
136
|
echo "⏬ Downloading Claude Code Watcher..."
|
|
140
|
-
curl -sSf "$
|
|
137
|
+
curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/claude-watcher" -o "$HOME/.skill-insight/claude_watcher_client.ts"
|
|
141
138
|
fi
|
|
142
139
|
|
|
143
140
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
144
141
|
echo "⏬ Downloading OpenClaw Watcher..."
|
|
145
|
-
curl -sSf "$
|
|
142
|
+
curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/openclaw-watcher" -o "$HOME/.skill-insight/openclaw_watcher_client.ts"
|
|
146
143
|
fi
|
|
147
144
|
|
|
148
|
-
# 4. Configure ~/.
|
|
149
|
-
|
|
145
|
+
# 4. Configure ~/.skill-insight/.env (Auto mode - no interaction)
|
|
146
|
+
SKILL_INSIGHT_CONFIG_FILE="$HOME/.skill-insight/.env"
|
|
150
147
|
|
|
151
148
|
echo "⚙️ Updating configuration..."
|
|
152
|
-
touch "$
|
|
153
|
-
if [ -f "$
|
|
154
|
-
cp "$
|
|
155
|
-
grep -v "^
|
|
156
|
-
rm "\${
|
|
157
|
-
fi
|
|
158
|
-
echo "WITTY_INSIGHT_HOST=$WITTY_HOST" >> "$WITTY_CONFIG_FILE"
|
|
159
|
-
echo "WITTY_INSIGHT_API_KEY=$WITTY_API_KEY" >> "$WITTY_CONFIG_FILE"
|
|
160
|
-
echo "✅ Configuration updated at $WITTY_CONFIG_FILE"
|
|
161
|
-
echo " WITTY_INSIGHT_HOST=$WITTY_HOST"
|
|
162
|
-
echo " WITTY_INSIGHT_API_KEY=********"
|
|
163
|
-
|
|
164
|
-
# 5. Sync Opencode Skills
|
|
165
|
-
if [ "$INSTALL_OPENCODE" = "true" ]; then
|
|
166
|
-
echo ""
|
|
167
|
-
echo "🚀 Syncing Opencode Skills..."
|
|
168
|
-
if command -v npx &> /dev/null; then
|
|
169
|
-
npx -y tsx "$HOME/.witty/sync_skills.ts" --agent opencode
|
|
170
|
-
else
|
|
171
|
-
echo "⚠️ Node.js (npx) not found. Skipping skill sync."
|
|
172
|
-
fi
|
|
149
|
+
touch "$SKILL_INSIGHT_CONFIG_FILE"
|
|
150
|
+
if [ -f "$SKILL_INSIGHT_CONFIG_FILE" ]; then
|
|
151
|
+
cp "$SKILL_INSIGHT_CONFIG_FILE" "\${SKILL_INSIGHT_CONFIG_FILE}.bak"
|
|
152
|
+
grep -v "^SKILL_INSIGHT_HOST=" "\${SKILL_INSIGHT_CONFIG_FILE}.bak" | grep -v "^SKILL_INSIGHT_API_KEY=" > "$SKILL_INSIGHT_CONFIG_FILE"
|
|
153
|
+
rm "\${SKILL_INSIGHT_CONFIG_FILE}.bak"
|
|
173
154
|
fi
|
|
155
|
+
echo "SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST" >> "$SKILL_INSIGHT_CONFIG_FILE"
|
|
156
|
+
echo "SKILL_INSIGHT_API_KEY=$SKILL_INSIGHT_API_KEY" >> "$SKILL_INSIGHT_CONFIG_FILE"
|
|
157
|
+
echo "✅ Configuration updated at $SKILL_INSIGHT_CONFIG_FILE"
|
|
158
|
+
echo " SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"
|
|
159
|
+
echo " SKILL_INSIGHT_API_KEY=********"
|
|
174
160
|
|
|
175
161
|
# 6. Install Watcher Dependencies (only if any watcher is selected)
|
|
176
162
|
if [ "$INSTALL_CLAUDE" = "true" ] || [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
177
163
|
echo ""
|
|
178
164
|
echo "📦 Installing watcher dependencies..."
|
|
179
165
|
if command -v npm &> /dev/null; then
|
|
180
|
-
cd "$HOME/.
|
|
166
|
+
cd "$HOME/.skill-insight"
|
|
181
167
|
if [ ! -f "package.json" ]; then
|
|
182
|
-
echo '{"name": "
|
|
168
|
+
echo '{"name": "skill-insight-watcher", "version": "1.0.0", "type": "module", "dependencies": {}}' > package.json
|
|
183
169
|
fi
|
|
184
170
|
npm install chokidar --save 2>/dev/null
|
|
185
171
|
echo "✅ Dependencies installed"
|
|
@@ -200,90 +186,90 @@ if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
|
|
|
200
186
|
|
|
201
187
|
# Claude Watcher Start Script
|
|
202
188
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
203
|
-
cat > "$HOME/.
|
|
189
|
+
cat > "$HOME/.skill-insight/start_claude_watcher.sh" << 'WATCHER_EOF'
|
|
204
190
|
#!/bin/bash
|
|
205
191
|
# Stop existing watcher if running
|
|
206
192
|
pkill -f "claude_watcher_client.ts" 2>/dev/null
|
|
207
193
|
|
|
208
194
|
# Start watcher in background
|
|
209
|
-
cd "$HOME/.
|
|
210
|
-
echo $! > "$HOME/.
|
|
211
|
-
echo "Claude watcher started with PID $(cat $HOME/.
|
|
195
|
+
cd "$HOME/.skill-insight" && nohup npx -y tsx "$HOME/.skill-insight/claude_watcher_client.ts" > "$HOME/.skill-insight/logs/claude_watcher.log" 2>&1 &
|
|
196
|
+
echo $! > "$HOME/.skill-insight/claude_watcher.pid"
|
|
197
|
+
echo "Claude watcher started with PID $(cat $HOME/.skill-insight/claude_watcher.pid)"
|
|
212
198
|
WATCHER_EOF
|
|
213
|
-
chmod +x "$HOME/.
|
|
199
|
+
chmod +x "$HOME/.skill-insight/start_claude_watcher.sh"
|
|
214
200
|
echo "✅ Claude watcher start script created"
|
|
215
201
|
|
|
216
202
|
# Claude Watcher Stop Script
|
|
217
|
-
cat > "$HOME/.
|
|
203
|
+
cat > "$HOME/.skill-insight/stop_claude_watcher.sh" << 'STOP_CLAUDE_EOF'
|
|
218
204
|
#!/bin/bash
|
|
219
205
|
echo "Stopping Claude watcher..."
|
|
220
206
|
pkill -f "claude_watcher_client.ts" 2>/dev/null
|
|
221
|
-
rm -f "$HOME/.
|
|
207
|
+
rm -f "$HOME/.skill-insight/claude_watcher.pid"
|
|
222
208
|
echo "Claude watcher stopped"
|
|
223
209
|
STOP_CLAUDE_EOF
|
|
224
|
-
chmod +x "$HOME/.
|
|
210
|
+
chmod +x "$HOME/.skill-insight/stop_claude_watcher.sh"
|
|
225
211
|
echo "✅ Claude watcher stop script created"
|
|
226
212
|
fi
|
|
227
213
|
|
|
228
214
|
# OpenClaw Watcher Start Script
|
|
229
215
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
230
|
-
cat > "$HOME/.
|
|
216
|
+
cat > "$HOME/.skill-insight/start_openclaw_watcher.sh" << 'WATCHER_EOF'
|
|
231
217
|
#!/bin/bash
|
|
232
218
|
# Stop existing watcher if running
|
|
233
219
|
pkill -f "openclaw_watcher_client.ts" 2>/dev/null
|
|
234
220
|
|
|
235
221
|
# Start watcher in background
|
|
236
|
-
cd "$HOME/.
|
|
237
|
-
echo $! > "$HOME/.
|
|
238
|
-
echo "OpenClaw watcher started with PID $(cat $HOME/.
|
|
222
|
+
cd "$HOME/.skill-insight" && nohup npx -y tsx "$HOME/.skill-insight/openclaw_watcher_client.ts" > "$HOME/.skill-insight/logs/openclaw_watcher.log" 2>&1 &
|
|
223
|
+
echo $! > "$HOME/.skill-insight/openclaw_watcher.pid"
|
|
224
|
+
echo "OpenClaw watcher started with PID $(cat $HOME/.skill-insight/openclaw_watcher.pid)"
|
|
239
225
|
WATCHER_EOF
|
|
240
|
-
chmod +x "$HOME/.
|
|
226
|
+
chmod +x "$HOME/.skill-insight/start_openclaw_watcher.sh"
|
|
241
227
|
echo "✅ OpenClaw watcher start script created"
|
|
242
228
|
|
|
243
229
|
# OpenClaw Watcher Stop Script
|
|
244
|
-
cat > "$HOME/.
|
|
230
|
+
cat > "$HOME/.skill-insight/stop_openclaw_watcher.sh" << 'STOP_OPENCLAW_EOF'
|
|
245
231
|
#!/bin/bash
|
|
246
232
|
echo "Stopping OpenClaw watcher..."
|
|
247
233
|
pkill -f "openclaw_watcher_client.ts" 2>/dev/null
|
|
248
|
-
rm -f "$HOME/.
|
|
234
|
+
rm -f "$HOME/.skill-insight/openclaw_watcher.pid"
|
|
249
235
|
echo "OpenClaw watcher stopped"
|
|
250
236
|
STOP_OPENCLAW_EOF
|
|
251
|
-
chmod +x "$HOME/.
|
|
237
|
+
chmod +x "$HOME/.skill-insight/stop_openclaw_watcher.sh"
|
|
252
238
|
echo "✅ OpenClaw watcher stop script created"
|
|
253
239
|
fi
|
|
254
240
|
|
|
255
241
|
# Combined Start Script - Dynamic generation
|
|
256
|
-
cat > "$HOME/.
|
|
242
|
+
cat > "$HOME/.skill-insight/start_watchers.sh" << 'WATCHER_HEADER'
|
|
257
243
|
#!/bin/bash
|
|
258
|
-
echo "Starting
|
|
244
|
+
echo "Starting Skill-Insight watchers..."
|
|
259
245
|
WATCHER_HEADER
|
|
260
246
|
|
|
261
247
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
262
|
-
echo '"$HOME/.
|
|
248
|
+
echo '"$HOME/.skill-insight/start_claude_watcher.sh"' >> "$HOME/.skill-insight/start_watchers.sh"
|
|
263
249
|
fi
|
|
264
250
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
265
|
-
echo '"$HOME/.
|
|
251
|
+
echo '"$HOME/.skill-insight/start_openclaw_watcher.sh"' >> "$HOME/.skill-insight/start_watchers.sh"
|
|
266
252
|
fi
|
|
267
253
|
|
|
268
|
-
echo 'echo "All watchers started!"' >> "$HOME/.
|
|
269
|
-
chmod +x "$HOME/.
|
|
254
|
+
echo 'echo "All watchers started!"' >> "$HOME/.skill-insight/start_watchers.sh"
|
|
255
|
+
chmod +x "$HOME/.skill-insight/start_watchers.sh"
|
|
270
256
|
echo "✅ Combined start script created"
|
|
271
257
|
|
|
272
258
|
# Combined Stop Script - Dynamic generation
|
|
273
|
-
cat > "$HOME/.
|
|
259
|
+
cat > "$HOME/.skill-insight/stop_watchers.sh" << 'STOP_HEADER'
|
|
274
260
|
#!/bin/bash
|
|
275
|
-
echo "Stopping
|
|
261
|
+
echo "Stopping Skill-Insight watchers..."
|
|
276
262
|
STOP_HEADER
|
|
277
263
|
|
|
278
264
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
279
|
-
echo '"$HOME/.
|
|
265
|
+
echo '"$HOME/.skill-insight/stop_claude_watcher.sh"' >> "$HOME/.skill-insight/stop_watchers.sh"
|
|
280
266
|
fi
|
|
281
267
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
282
|
-
echo '"$HOME/.
|
|
268
|
+
echo '"$HOME/.skill-insight/stop_openclaw_watcher.sh"' >> "$HOME/.skill-insight/stop_watchers.sh"
|
|
283
269
|
fi
|
|
284
270
|
|
|
285
|
-
echo 'echo "All watchers stopped!"' >> "$HOME/.
|
|
286
|
-
chmod +x "$HOME/.
|
|
271
|
+
echo 'echo "All watchers stopped!"' >> "$HOME/.skill-insight/stop_watchers.sh"
|
|
272
|
+
chmod +x "$HOME/.skill-insight/stop_watchers.sh"
|
|
287
273
|
echo "✅ Combined stop script created"
|
|
288
274
|
fi
|
|
289
275
|
|
|
@@ -292,66 +278,41 @@ if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
|
|
|
292
278
|
echo ""
|
|
293
279
|
echo "🚀 Starting telemetry watchers..."
|
|
294
280
|
if command -v npx &> /dev/null; then
|
|
295
|
-
"$HOME/.
|
|
281
|
+
"$HOME/.skill-insight/start_watchers.sh"
|
|
296
282
|
else
|
|
297
283
|
echo "⚠️ Node.js (npx) not found. Skipping watcher startup."
|
|
298
284
|
fi
|
|
299
285
|
fi
|
|
300
286
|
|
|
301
|
-
# 9. Configure Claude Code Auto-Sync Wrapper
|
|
302
|
-
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
303
|
-
echo ""
|
|
304
|
-
echo "🔄 Configuring Claude Code Auto-Sync Wrapper..."
|
|
305
|
-
CLAUDE_WRAPPER='
|
|
306
|
-
# Witty Insight Claude Alliance
|
|
307
|
-
witty-claude() {
|
|
308
|
-
if command -v npx &> /dev/null; then
|
|
309
|
-
npx -y tsx "$HOME/.witty/sync_skills.ts" --agent claude >/dev/null 2>&1
|
|
310
|
-
fi
|
|
311
|
-
command claude "$@"
|
|
312
|
-
}
|
|
313
|
-
alias claude="witty-claude"
|
|
314
|
-
'
|
|
315
|
-
|
|
316
|
-
for rc_file in "$HOME/.bashrc" "$HOME/.zshrc"; do
|
|
317
|
-
if [ -f "$rc_file" ]; then
|
|
318
|
-
if ! grep -q "witty-claude()" "$rc_file" 2>/dev/null; then
|
|
319
|
-
echo "$CLAUDE_WRAPPER" >> "$rc_file"
|
|
320
|
-
echo "✅ Installed Claude wrapper to $rc_file"
|
|
321
|
-
fi
|
|
322
|
-
fi
|
|
323
|
-
done
|
|
324
|
-
fi
|
|
325
|
-
|
|
326
287
|
# 10. Final Summary
|
|
327
288
|
echo ""
|
|
328
|
-
echo "🌟
|
|
289
|
+
echo "🌟 Skill-Insight Telemetry: READY"
|
|
329
290
|
echo "------------------------------------------------"
|
|
330
291
|
echo "Installed Components:"
|
|
331
292
|
if [ "$INSTALL_OPENCODE" = "true" ]; then
|
|
332
293
|
echo " ✅ OpenCode Plugin: ~/.opencode/plugins/Witty-Skill-Insight.ts"
|
|
333
294
|
fi
|
|
334
295
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
335
|
-
echo " ✅ Claude Watcher: ~/.
|
|
296
|
+
echo " ✅ Claude Watcher: ~/.skill-insight/claude_watcher_client.ts"
|
|
336
297
|
fi
|
|
337
298
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
338
|
-
echo " ✅ OpenClaw Watcher: ~/.
|
|
299
|
+
echo " ✅ OpenClaw Watcher: ~/.skill-insight/openclaw_watcher_client.ts"
|
|
339
300
|
fi
|
|
340
301
|
|
|
341
302
|
if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
|
|
342
303
|
echo ""
|
|
343
304
|
echo "Watcher Management:"
|
|
344
|
-
echo " Start all: ~/.
|
|
345
|
-
echo " Stop all: ~/.
|
|
305
|
+
echo " Start all: ~/.skill-insight/start_watchers.sh"
|
|
306
|
+
echo " Stop all: ~/.skill-insight/stop_watchers.sh"
|
|
346
307
|
if [ "$INSTALL_CLAUDE" = "true" ]; then
|
|
347
|
-
echo " Start Claude: ~/.
|
|
348
|
-
echo " Stop Claude: ~/.
|
|
308
|
+
echo " Start Claude: ~/.skill-insight/start_claude_watcher.sh"
|
|
309
|
+
echo " Stop Claude: ~/.skill-insight/stop_claude_watcher.sh"
|
|
349
310
|
fi
|
|
350
311
|
if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
351
|
-
echo " Start OpenClaw: ~/.
|
|
352
|
-
echo " Stop OpenClaw: ~/.
|
|
312
|
+
echo " Start OpenClaw: ~/.skill-insight/start_openclaw_watcher.sh"
|
|
313
|
+
echo " Stop OpenClaw: ~/.skill-insight/stop_openclaw_watcher.sh"
|
|
353
314
|
fi
|
|
354
|
-
echo " Logs: ~/.
|
|
315
|
+
echo " Logs: ~/.skill-insight/logs/"
|
|
355
316
|
fi
|
|
356
317
|
|
|
357
318
|
echo ""
|
|
@@ -366,6 +327,6 @@ if [ "$INSTALL_OPENCLAW" = "true" ]; then
|
|
|
366
327
|
echo " 3. OpenClaw will automatically monitor and upload telemetry"
|
|
367
328
|
fi
|
|
368
329
|
echo "------------------------------------------------"
|
|
369
|
-
|
|
330
|
+
`,new I.NextResponse(o,{headers:{"Content-Type":"text/x-shellscript"}}))}e.s(["GET",()=>w],87745);var g=e.i(87745);let C=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/setup/auto/route",pathname:"/api/setup/auto",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/auto/route.ts",nextConfigOutput:"standalone",userland:g}),{workAsyncStorage:$,workUnitAsyncStorage:O,serverHooks:T}=C;function f(){return(0,i.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:O})}async function m(e,t,i){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I="/api/setup/auto/route";I=I.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:I,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,params:$,nextConfig:O,parsedUrl:T,isDraftMode:f,prerenderManifest:m,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:H,resolvedPathname:R,clientReferenceManifest:k,serverActionsManifest:P}=w,W=(0,l.normalizeAppPath)(I),D=!!(m.dynamicRoutes[W]||m.routes[R]),F=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,T,!1):t.end("This page could not be found"),null);if(D&&!f){let e=!!m.routes[R],t=m.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(O.experimental.adapterPath)return await F();throw new E.NoFallbackError}}let x=null;!D||C.isDev||f||(x="/index"===(x=R)?"/":x);let v=!0===C.isDev||!D,b=D&&!v;P&&k&&(0,r.setManifestsSingleton)({page:I,clientReferenceManifest:k,serverActionsManifest:P});let y=e.method||"GET",U=(0,o.getTracer)(),G=U.getActiveScopeSpan(),K={params:$,prerenderManifest:m,renderOpts:{experimental:{authInterrupts:!!O.experimental.authInterrupts},cacheComponents:!!O.cacheComponents,supportsDynamicResponse:v,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:O.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,i,s)=>C.onRequestError(e,t,i,s,N)},sharedContext:{buildId:g}},M=new a.NodeNextRequest(e),q=new a.NodeNextResponse(t),j=c.NextRequestAdapter.fromNodeNextRequest(M,(0,c.signalFromNodeResponse)(t));try{let r=async e=>C.handle(j,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=U.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=n.get("next.route");if(i){let t=`${y} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${y} ${I}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),a=async s=>{var o,a;let c=async({previousCacheEntry:n})=>{try{if(!l&&A&&H&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await r(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let a=K.renderOpts.pendingWaitUntil;a&&i.waitUntil&&(i.waitUntil(a),a=void 0);let c=K.renderOpts.collectedTags;if(!D)return await (0,S.sendResponse)(M,q,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,d.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[u.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=u.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=u.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:L.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:i}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:A})},!1,N),t}},h=await C.handleResponse({req:e,nextConfig:O,cacheKey:x,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:m,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:H,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==h||null==(o=h.value)?void 0:o.kind)!==L.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==h||null==(a=h.value)?void 0:a.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":h.isMiss?"MISS":h.isStale?"STALE":"HIT"),f&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let E=(0,d.fromNodeOutgoingHttpHeaders)(h.value.headers);return l&&D||E.delete(u.NEXT_CACHE_TAGS_HEADER),!h.cacheControl||t.getHeader("Cache-Control")||E.get("Cache-Control")||E.set("Cache-Control",(0,_.getCacheControlHeader)(h.cacheControl)),await (0,S.sendResponse)(M,q,new Response(h.value.body,{headers:E,status:h.value.status||200})),null};G?await a(G):await U.withPropagatedContext(e.headers,()=>U.trace(h.BaseServerSpan.handleRequest,{spanName:`${y} ${I}`,kind:o.SpanKind.SERVER,attributes:{"http.method":y,"http.target":e.url}},a))}catch(t){if(t instanceof E.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:A})},!1,N),D)throw t;return await (0,S.sendResponse)(M,q,new Response(null,{status:500})),null}}e.s(["handler",()=>m,"patchFetch",()=>f,"routeModule",()=>C,"serverHooks",()=>T,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>O],81176)}];
|
|
370
331
|
|
|
371
332
|
//# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_c33286ed.js.map
|