{"_id":"@atlar-widgets/rasor-ai-assistant-widget","_rev":"2-71043623801b9550ce08c89a9a235338","name":"@atlar-widgets/rasor-ai-assistant-widget","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.4":{"name":"@atlar-widgets/rasor-ai-assistant-widget","version":"0.1.4","_id":"@atlar-widgets/rasor-ai-assistant-widget@0.1.4","maintainers":[{"name":"hfribeiro","email":"ribeirh02@gmail.com"}],"dist":{"shasum":"2da67e1b4710a7f0e79c433e5b0f00f9e4c50888","tarball":"https://registry.npmjs.org/@atlar-widgets/rasor-ai-assistant-widget/-/rasor-ai-assistant-widget-0.1.4.tgz","fileCount":7,"integrity":"sha512-twht+YfyK3KjulZudwJ5GJ1QwRF2lAZA8jnml1Ym5zTu+QazvhMHfSsJXC1pUPbl4ojTPeY4Dv/6FBiC6+qAig==","signatures":[{"sig":"MEQCIC33Ni+78sUPK/E/pgq8QvuXb6lAX0syAt1tH1MWS9iTAiBNwI2EA/lPqfqx3qQW1aUgcCo0YV3SsSFIxfar6JkjgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":840468},"main":"dist/index.iife.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=18"},"gitHead":"fefd883197fdfa453dd20910cc91764f89b16b97","scripts":{"dev":"vite dev","lint":"eslint .","test":"vitest run --coverage","build":"vite build -c vite.config.lib.ts && tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationMap false --outDir dist","format":"prettier --write \"**/*\"","prepare":"git config core.hooksPath .husky && chmod +x .husky/pre-commit || true","format:check":"prettier --check \"**/*\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hfribeiro","email":"ribeirh02@gmail.com"},"overrides":{"glob":"^11.0.1","tsup":{"sucrase":{"glob":"^11.0.1"}},"js-yaml":"^4.1.0","sucrase":{"glob":"^11.0.1"},"xmlbuilder2":{"js-yaml":"^4.1.0"},"@testing-library/react":{"react":"^19","react-dom":"^19"}},"_npmVersion":"10.9.7","description":"AIAssistant widget (generated 2026)","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","eslint --fix"],"*.{json,css,md,yml,yaml}":["prettier --write"]},"sideEffects":true,"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vite":"^6","jsdom":"^26.1.0","react":"^19","eslint":"^9.34.0","vitest":"^4.0.10","globals":"^16.3.0","graphql":"^16","prettier":"^3.6.2","react-dom":"^19","@eslint/js":"^9.34.0","typescript":"~5.7.2","@types/node":"^20","lint-staged":"^16.1.6","react-redux":"^9.2.0","@types/react":"^19","@apollo/client":"^3","@reduxjs/toolkit":"^2","@types/react-dom":"^19","typescript-eslint":"^8.42.0","zen-observable-ts":"^1.2.5","@vitest/coverage-v8":"^4.0.10","junit-report-merger":"^8.0.0","@vitejs/plugin-react":"^4","@testing-library/react":"^16.0.0","eslint-config-prettier":"^10.1.8","eslint-formatter-junit":"^8.40.0","eslint-plugin-prettier":"^5.5.4","@testing-library/jest-dom":"^6.0.0","eslint-plugin-react-hooks":"^5.2.0","esbuild-css-modules-plugin":"^2.7.1","eslint-plugin-react-refresh":"^0.4.20","vite-plugin-css-injected-by-js":"^3.5.1","@ska-octopus-widget-sdk/widget-sdk":"^0.5.0"},"peerDependencies":{"react":"^19","graphql":"^16","react-dom":"^19","react-redux":"^9.2.0","@apollo/client":"^3","@reduxjs/toolkit":"^2","zen-observable-ts":"^1.2.5","@ska-octopus-widget-sdk/widget-sdk":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/rasor-ai-assistant-widget_0.1.4_1778768026819_0.13465041528803656","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@atlar-widgets/rasor-ai-assistant-widget","version":"0.1.5","description":"AIAssistant widget (generated 2026)","main":"dist/index.iife.js","types":"dist/src/index.d.ts","sideEffects":true,"scripts":{"build":"vite build -c vite.config.lib.ts && tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepublishOnly":"npm run build","dev":"vite dev","test":"vitest run --coverage","lint":"eslint .","format":"prettier --write \"**/*\"","format:check":"prettier --check \"**/*\"","prepare":"git config core.hooksPath .husky && chmod +x .husky/pre-commit || true"},"peerDependencies":{"@apollo/client":"^3","@reduxjs/toolkit":"^2","@ska-octopus-widget-sdk/widget-sdk":"^0.5.0","graphql":"^16","react":"^19","react-dom":"^19","react-redux":"^9.2.0","zen-observable-ts":"^1.2.5"},"devDependencies":{"@apollo/client":"^3","@eslint/js":"^9.34.0","@reduxjs/toolkit":"^2","@ska-octopus-widget-sdk/widget-sdk":"^0.5.0","@testing-library/jest-dom":"^6.0.0","@testing-library/react":"^16.0.0","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@vitejs/plugin-react":"^4","@vitest/coverage-v8":"^4.0.10","esbuild-css-modules-plugin":"^2.7.1","eslint":"^9.34.0","eslint-config-prettier":"^10.1.8","eslint-formatter-junit":"^8.40.0","eslint-plugin-prettier":"^5.5.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20","globals":"^16.3.0","graphql":"^16","jsdom":"^26.1.0","junit-report-merger":"^8.0.0","lint-staged":"^16.1.6","prettier":"^3.6.2","react":"^19","react-dom":"^19","react-redux":"^9.2.0","tsup":"^8","typescript":"~5.7.2","typescript-eslint":"^8.42.0","vite":"^6","vite-plugin-css-injected-by-js":"^3.5.1","vitest":"^4.0.10","zen-observable-ts":"^1.2.5"},"overrides":{"glob":"^11.0.1","sucrase":{"glob":"^11.0.1"},"tsup":{"sucrase":{"glob":"^11.0.1"}},"js-yaml":"^4.1.0","xmlbuilder2":{"js-yaml":"^4.1.0"},"@testing-library/react":{"react":"^19","react-dom":"^19"}},"type":"module","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","eslint --fix"],"*.{json,css,md,yml,yaml}":["prettier --write"]},"engines":{"node":">=18"},"_id":"@atlar-widgets/rasor-ai-assistant-widget@0.1.5","gitHead":"0c98d16d045ea84dfbc1d1dd4374b4f4f1aecf2c","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-720ZFtnFRenmsEeKyXEy2PsXeFS/vMWqf9PPIE3uQH2z6HqVA6op15JPXQKaJVzBt9Y1gFCq8KK1g4r948FFqw==","shasum":"304bdca001034112a014f9d468979420b8140c2d","tarball":"https://registry.npmjs.org/@atlar-widgets/rasor-ai-assistant-widget/-/rasor-ai-assistant-widget-0.1.5.tgz","fileCount":10,"unpackedSize":759339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDfejQtrd2JQzZ9RbkB0qna6Oe39H2FJHbLsCPDjgcE0wIgd9akZ5ES8UowpofDTbiB1lOMjAIvEYrmZ1LB3clRhvc="}]},"_npmUser":{"name":"hfribeiro","email":"ribeirh02@gmail.com"},"directories":{},"maintainers":[{"name":"hfribeiro","email":"ribeirh02@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rasor-ai-assistant-widget_0.1.5_1778779918654_0.705461430453185"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T14:13:46.708Z","modified":"2026-05-14T17:31:58.957Z","0.1.4":"2026-05-14T14:13:46.974Z","0.1.5":"2026-05-14T17:31:58.832Z"},"description":"AIAssistant widget (generated 2026)","maintainers":[{"name":"hfribeiro","email":"ribeirh02@gmail.com"}],"readme":"    # AIAssistant Widget\n\n    _Generated on 2026-05-14._\n\n    ## Purpose\n\n    `AIAssistant` is an Octopus detached widget package. It can run standalone\n    during development and can also be loaded dynamically by\n    `ska-octopus-frontend` at runtime.\n\n    ## Bigger Picture (Octopus Suite)\n\n    The `ska-octopus-suite` combines backend, frontend, deployment charts, and\n    helper tooling. In that architecture:\n\n    - `ska-octopus-backend` exposes GraphQL over HTTP/WebSocket and handles\n      runtime widget delivery metadata.\n    - `ska-octopus-frontend` loads widget bundles from the backend catalog and\n      each bundle self-registers via `Octopus.registerWidget(...)`.\n    - Widgets stay decoupled from frontend releases, so teams can ship widget\n      updates without rebuilding the host app.\n\n    Reference:\n    https://developer.skao.int/projects/ska-octopus-suite/en/latest/overview.html\n\n    ## Widget Metadata\n\n    - Repository folder: `rasor-ai-assistant-widget`\n    - Package name: `@atlar-widgets/rasor-ai-assistant-widget`\n    - GraphQL modes scaffolded: subscriptions (WebSocket)\n\n    ## Runtime Configuration\n\n    The widget configuration schema is defined in `src/index.ts`.\n    Variables detected during scaffolding:\n\n    | Name | Default | GraphQL type |\n\n|------|---------|--------------|\n| title | `\"\"` | `SDK custom type` |\n\n    ## Local Development (Standalone)\n\n    ```bash\n    git clone <repo-url> rasor-ai-assistant-widget\n    cd rasor-ai-assistant-widget\n    npm install\n    npm run dev\n    ```\n\n    Default dev endpoints are configured in `dev/main.tsx`:\n\n    - GraphQL HTTP: `http://localhost:8000/graphql`\n    - GraphQL WS: `ws://localhost:8000/graphql`\n\n    Build and test:\n\n    ```bash\n    npm run build\n    npm run test\n    ```\n\n    ## Integrate with Local `ska-octopus-frontend`\n\n    1. Add a Vite alias to your local widget source:\n       `@atlar-widgets/rasor-ai-assistant-widget` -> `<path-to>/rasor-ai-assistant-widget/src`\n    2. Import the module in `src/dashboard.ts`:\n       `import '@atlar-widgets/rasor-ai-assistant-widget';`\n    3. Start frontend dev server and add the widget from the picker.\n\n    ## Integrate with Deployed Octopus\n\n    1. Publish `@atlar-widgets/rasor-ai-assistant-widget` to your npm registry.\n    2. Add/update it in Octopus Config UI -> Widgets Store.\n    3. The backend serves widget bundle metadata; frontend fetches and executes\n       the bundle at runtime.\n\n    Note: deployments can restrict allowed widget registries/scopes (for\n    example through `WIDGET_ALLOWED_NPM_SCOPES`).\n","readmeFilename":"README.md"}