katanakit-js 2.13.7 → 2.14.0
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/README.md +233 -0
- package/dist/adapters/assistant/assistant.service.d.ts +27 -0
- package/dist/adapters/assistant/assistant.service.d.ts.map +1 -0
- package/dist/adapters/assistant/assistant.service.js +76 -0
- package/dist/adapters/assistant/assistant.service.js.map +1 -0
- package/dist/adapters/assistant/index.d.ts +2 -0
- package/dist/adapters/assistant/index.d.ts.map +1 -0
- package/dist/adapters/assistant/index.js +2 -0
- package/dist/adapters/assistant/index.js.map +1 -0
- package/dist/adapters/assistant/main.d.ts +2 -0
- package/dist/adapters/assistant/main.d.ts.map +1 -0
- package/dist/adapters/assistant/main.js +12 -0
- package/dist/adapters/assistant/main.js.map +1 -0
- package/dist/adapters/astro/astro.service.d.ts.map +1 -0
- package/dist/adapters/astro/astro.service.js.map +1 -0
- package/dist/adapters/astro/index.d.ts.map +1 -0
- package/dist/adapters/astro/index.js.map +1 -0
- package/dist/adapters/astro/rss.service.d.ts.map +1 -0
- package/dist/adapters/astro/rss.service.js.map +1 -0
- package/dist/adapters/astro/seo.service.d.ts.map +1 -0
- package/dist/adapters/astro/seo.service.js.map +1 -0
- package/dist/adapters/express/app.d.ts.map +1 -0
- package/dist/adapters/express/app.js.map +1 -0
- package/dist/{katanakit-js/adapters → adapters}/express/index.d.ts +1 -1
- package/dist/adapters/express/index.d.ts.map +1 -0
- package/dist/{katanakit-js/adapters → adapters}/express/index.js +1 -1
- package/dist/adapters/express/index.js.map +1 -0
- package/dist/{katanakit-js/adapters → adapters}/express/main.d.ts.map +1 -1
- package/dist/adapters/express/main.js.map +1 -0
- package/dist/adapters/express/products.controller.d.ts.map +1 -0
- package/dist/adapters/express/products.controller.js.map +1 -0
- package/dist/adapters/express/router.d.ts.map +1 -0
- package/dist/adapters/express/router.js.map +1 -0
- package/dist/adapters/express/server.d.ts +63 -0
- package/dist/adapters/express/server.d.ts.map +1 -0
- package/dist/{katanakit-js/adapters → adapters}/express/server.js +45 -6
- package/dist/adapters/express/server.js.map +1 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/nuxt/index.d.ts.map +1 -0
- package/dist/adapters/nuxt/index.js.map +1 -0
- package/dist/adapters/nuxt/nuxt.service.d.ts.map +1 -0
- package/dist/adapters/nuxt/nuxt.service.js.map +1 -0
- package/dist/adapters/telegram/index.d.ts +3 -0
- package/dist/adapters/telegram/index.d.ts.map +1 -0
- package/dist/adapters/telegram/index.js +2 -0
- package/dist/adapters/telegram/index.js.map +1 -0
- package/dist/adapters/telegram/main.d.ts +2 -0
- package/dist/adapters/telegram/main.d.ts.map +1 -0
- package/dist/adapters/telegram/main.js +11 -0
- package/dist/adapters/telegram/main.js.map +1 -0
- package/dist/adapters/telegram/telegram.service.d.ts +60 -0
- package/dist/adapters/telegram/telegram.service.d.ts.map +1 -0
- package/dist/adapters/telegram/telegram.service.js +103 -0
- package/dist/adapters/telegram/telegram.service.js.map +1 -0
- package/dist/adapters/vue/index.d.ts.map +1 -0
- package/dist/adapters/vue/index.js.map +1 -0
- package/dist/adapters/vue/vue.service.d.ts.map +1 -0
- package/dist/adapters/vue/vue.service.js.map +1 -0
- package/dist/adapters/whatsapp/index.d.ts +3 -0
- package/dist/adapters/whatsapp/index.d.ts.map +1 -0
- package/dist/adapters/whatsapp/index.js +2 -0
- package/dist/adapters/whatsapp/index.js.map +1 -0
- package/dist/adapters/whatsapp/main.d.ts +2 -0
- package/dist/adapters/whatsapp/main.d.ts.map +1 -0
- package/dist/adapters/whatsapp/main.js +14 -0
- package/dist/adapters/whatsapp/main.js.map +1 -0
- package/dist/adapters/whatsapp/whatsapp.service.d.ts +96 -0
- package/dist/adapters/whatsapp/whatsapp.service.d.ts.map +1 -0
- package/dist/adapters/whatsapp/whatsapp.service.js +191 -0
- package/dist/adapters/whatsapp/whatsapp.service.js.map +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/seo-meta.types.d.ts.map +1 -0
- package/dist/config/seo-meta.types.js.map +1 -0
- package/dist/config/seo.service.d.ts.map +1 -0
- package/dist/config/seo.service.js.map +1 -0
- package/dist/config/site.config.d.ts.map +1 -0
- package/dist/config/site.config.js.map +1 -0
- package/dist/{katanakit-js/core → core}/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/{katanakit-js/core → core}/index.js +2 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/services/agent.service.d.ts +76 -0
- package/dist/core/services/agent.service.d.ts.map +1 -0
- package/dist/core/services/agent.service.js +291 -0
- package/dist/core/services/agent.service.js.map +1 -0
- package/dist/core/services/assistant.service.d.ts +94 -0
- package/dist/core/services/assistant.service.d.ts.map +1 -0
- package/dist/core/services/assistant.service.js +200 -0
- package/dist/core/services/assistant.service.js.map +1 -0
- package/dist/core/services/dates.service.d.ts.map +1 -0
- package/dist/core/services/dates.service.js.map +1 -0
- package/dist/core/services/error.service.d.ts.map +1 -0
- package/dist/core/services/error.service.js.map +1 -0
- package/dist/core/services/formatter.service.d.ts.map +1 -0
- package/dist/core/services/formatter.service.js.map +1 -0
- package/dist/core/services/generator.service.d.ts.map +1 -0
- package/dist/core/services/generator.service.js.map +1 -0
- package/dist/core/services/geometry.service.d.ts.map +1 -0
- package/dist/core/services/geometry.service.js.map +1 -0
- package/dist/core/services/http.service.d.ts.map +1 -0
- package/dist/core/services/http.service.js.map +1 -0
- package/dist/core/services/logger.service.d.ts.map +1 -0
- package/dist/core/services/logger.service.js.map +1 -0
- package/dist/core/services/reactive.service.d.ts.map +1 -0
- package/dist/core/services/reactive.service.js.map +1 -0
- package/dist/core/services/timing.service.d.ts.map +1 -0
- package/dist/core/services/timing.service.js.map +1 -0
- package/dist/core/services/utils.service.d.ts.map +1 -0
- package/dist/core/services/utils.service.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/dom/dom.service.d.ts.map +1 -0
- package/dist/infrastructure/dom/dom.service.js.map +1 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/observer/observer.service.d.ts.map +1 -0
- package/dist/infrastructure/observer/observer.service.js.map +1 -0
- package/dist/infrastructure/sensors/sensors.service.d.ts.map +1 -0
- package/dist/infrastructure/sensors/sensors.service.js.map +1 -0
- package/dist/{katanakit-js/infrastructure → infrastructure}/storage/storage.service.d.ts +3 -2
- package/dist/infrastructure/storage/storage.service.d.ts.map +1 -0
- package/dist/{katanakit-js/infrastructure → infrastructure}/storage/storage.service.js +24 -28
- package/dist/infrastructure/storage/storage.service.js.map +1 -0
- package/dist/infrastructure/theme/theme.service.d.ts.map +1 -0
- package/dist/infrastructure/theme/theme.service.js.map +1 -0
- package/dist/infrastructure/viewport/viewport.service.d.ts.map +1 -0
- package/dist/infrastructure/viewport/viewport.service.js.map +1 -0
- package/dist/infrastructure/worker/worker.service.d.ts.map +1 -0
- package/dist/infrastructure/worker/worker.service.js.map +1 -0
- package/dist/prisma/assistant.store.d.ts +11 -0
- package/dist/prisma/assistant.store.d.ts.map +1 -0
- package/dist/prisma/assistant.store.js +40 -0
- package/dist/prisma/assistant.store.js.map +1 -0
- package/dist/prisma/db.d.ts.map +1 -0
- package/dist/prisma/db.js.map +1 -0
- package/dist/prisma/index.d.ts +3 -0
- package/dist/prisma/index.d.ts.map +1 -0
- package/dist/prisma/index.js +3 -0
- package/dist/prisma/index.js.map +1 -0
- package/dist/{katanakit-js/prisma → prisma}/schema.json +321 -13
- package/dist/prisma/use-prisma.d.ts.map +1 -0
- package/dist/prisma/use-prisma.js.map +1 -0
- package/dist/{katanakit-js/types → types}/index.d.ts +127 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/{katanakit-js/types → types}/index.js.map +1 -1
- package/package.json +30 -9
- package/dist/katanakit-js/adapters/astro/astro.service.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/astro/astro.service.js.map +0 -1
- package/dist/katanakit-js/adapters/astro/index.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/astro/index.js.map +0 -1
- package/dist/katanakit-js/adapters/astro/rss.service.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/astro/rss.service.js.map +0 -1
- package/dist/katanakit-js/adapters/astro/seo.service.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/astro/seo.service.js.map +0 -1
- package/dist/katanakit-js/adapters/express/app.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/express/app.js.map +0 -1
- package/dist/katanakit-js/adapters/express/index.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/express/index.js.map +0 -1
- package/dist/katanakit-js/adapters/express/main.js.map +0 -1
- package/dist/katanakit-js/adapters/express/products.controller.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/express/products.controller.js.map +0 -1
- package/dist/katanakit-js/adapters/express/router.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/express/router.js.map +0 -1
- package/dist/katanakit-js/adapters/express/server.d.ts +0 -39
- package/dist/katanakit-js/adapters/express/server.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/express/server.js.map +0 -1
- package/dist/katanakit-js/adapters/index.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/index.js.map +0 -1
- package/dist/katanakit-js/adapters/nuxt/index.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/nuxt/index.js.map +0 -1
- package/dist/katanakit-js/adapters/nuxt/nuxt.service.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/nuxt/nuxt.service.js.map +0 -1
- package/dist/katanakit-js/adapters/vue/index.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/vue/index.js.map +0 -1
- package/dist/katanakit-js/adapters/vue/vue.service.d.ts.map +0 -1
- package/dist/katanakit-js/adapters/vue/vue.service.js.map +0 -1
- package/dist/katanakit-js/config/index.d.ts.map +0 -1
- package/dist/katanakit-js/config/index.js.map +0 -1
- package/dist/katanakit-js/config/seo-meta.types.d.ts.map +0 -1
- package/dist/katanakit-js/config/seo-meta.types.js.map +0 -1
- package/dist/katanakit-js/config/seo.service.d.ts.map +0 -1
- package/dist/katanakit-js/config/seo.service.js.map +0 -1
- package/dist/katanakit-js/config/site.config.d.ts.map +0 -1
- package/dist/katanakit-js/config/site.config.js.map +0 -1
- package/dist/katanakit-js/core/index.d.ts.map +0 -1
- package/dist/katanakit-js/core/index.js.map +0 -1
- package/dist/katanakit-js/core/services/dates.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/dates.service.js.map +0 -1
- package/dist/katanakit-js/core/services/error.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/error.service.js.map +0 -1
- package/dist/katanakit-js/core/services/formatter.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/formatter.service.js.map +0 -1
- package/dist/katanakit-js/core/services/generator.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/generator.service.js.map +0 -1
- package/dist/katanakit-js/core/services/geometry.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/geometry.service.js.map +0 -1
- package/dist/katanakit-js/core/services/http.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/http.service.js.map +0 -1
- package/dist/katanakit-js/core/services/logger.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/logger.service.js.map +0 -1
- package/dist/katanakit-js/core/services/reactive.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/reactive.service.js.map +0 -1
- package/dist/katanakit-js/core/services/timing.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/timing.service.js.map +0 -1
- package/dist/katanakit-js/core/services/utils.service.d.ts.map +0 -1
- package/dist/katanakit-js/core/services/utils.service.js.map +0 -1
- package/dist/katanakit-js/index.d.ts.map +0 -1
- package/dist/katanakit-js/index.js.map +0 -1
- package/dist/katanakit-js/infrastructure/dom/dom.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/dom/dom.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/index.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/index.js.map +0 -1
- package/dist/katanakit-js/infrastructure/observer/observer.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/observer/observer.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/sensors/sensors.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/sensors/sensors.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/storage/storage.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/storage/storage.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/theme/theme.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/theme/theme.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/viewport/viewport.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/viewport/viewport.service.js.map +0 -1
- package/dist/katanakit-js/infrastructure/worker/worker.service.d.ts.map +0 -1
- package/dist/katanakit-js/infrastructure/worker/worker.service.js.map +0 -1
- package/dist/katanakit-js/prisma/db.d.ts.map +0 -1
- package/dist/katanakit-js/prisma/db.js.map +0 -1
- package/dist/katanakit-js/prisma/index.d.ts +0 -2
- package/dist/katanakit-js/prisma/index.d.ts.map +0 -1
- package/dist/katanakit-js/prisma/index.js +0 -2
- package/dist/katanakit-js/prisma/index.js.map +0 -1
- package/dist/katanakit-js/prisma/use-prisma.d.ts.map +0 -1
- package/dist/katanakit-js/prisma/use-prisma.js.map +0 -1
- package/dist/katanakit-js/types/index.d.ts.map +0 -1
- /package/dist/{katanakit-js/adapters → adapters}/astro/astro.service.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/astro.service.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/index.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/index.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/rss.service.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/rss.service.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/seo.service.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/astro/seo.service.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/app.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/app.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/main.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/main.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/products.controller.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/products.controller.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/router.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/express/router.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/index.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/index.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/nuxt/index.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/nuxt/index.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/nuxt/nuxt.service.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/nuxt/nuxt.service.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/vue/index.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/vue/index.js +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/vue/vue.service.d.ts +0 -0
- /package/dist/{katanakit-js/adapters → adapters}/vue/vue.service.js +0 -0
- /package/dist/{katanakit-js/config → config}/index.d.ts +0 -0
- /package/dist/{katanakit-js/config → config}/index.js +0 -0
- /package/dist/{katanakit-js/config → config}/seo-meta.types.d.ts +0 -0
- /package/dist/{katanakit-js/config → config}/seo-meta.types.js +0 -0
- /package/dist/{katanakit-js/config → config}/seo.service.d.ts +0 -0
- /package/dist/{katanakit-js/config → config}/seo.service.js +0 -0
- /package/dist/{katanakit-js/config → config}/site.config.d.ts +0 -0
- /package/dist/{katanakit-js/config → config}/site.config.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/dates.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/dates.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/error.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/error.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/formatter.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/formatter.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/generator.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/generator.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/geometry.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/geometry.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/http.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/http.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/logger.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/logger.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/reactive.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/reactive.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/timing.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/timing.service.js +0 -0
- /package/dist/{katanakit-js/core → core}/services/utils.service.d.ts +0 -0
- /package/dist/{katanakit-js/core → core}/services/utils.service.js +0 -0
- /package/dist/{katanakit-js/index.d.ts → index.d.ts} +0 -0
- /package/dist/{katanakit-js/index.js → index.js} +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/dom/dom.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/dom/dom.service.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/index.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/index.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/observer/observer.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/observer/observer.service.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/sensors/sensors.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/sensors/sensors.service.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/theme/theme.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/theme/theme.service.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/viewport/viewport.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/viewport/viewport.service.js +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/worker/worker.service.d.ts +0 -0
- /package/dist/{katanakit-js/infrastructure → infrastructure}/worker/worker.service.js +0 -0
- /package/dist/{katanakit-js/prisma → prisma}/db.d.ts +0 -0
- /package/dist/{katanakit-js/prisma → prisma}/db.js +0 -0
- /package/dist/{katanakit-js/prisma → prisma}/use-prisma.d.ts +0 -0
- /package/dist/{katanakit-js/prisma → prisma}/use-prisma.js +0 -0
- /package/dist/{katanakit-js/types → types}/index.js +0 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/** Default endpoint for Alibaba Cloud Model Studio (DashScope) compatible mode. */
|
|
2
|
+
export const KITT_BASE_URL = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
|
|
3
|
+
/** Default model for the Kitt assistant preset. */
|
|
4
|
+
export const KITT_DEFAULT_MODEL = "qwen3.8-max";
|
|
5
|
+
/** Default system prompt injected when the agent is configured without one. */
|
|
6
|
+
export const KITT_SYSTEM_PROMPT = "You are Kitt, a helpful assistant. Answer clearly and concisely.";
|
|
7
|
+
/** Reusable preset (base URL + model) for the Kitt assistant. */
|
|
8
|
+
export const kittPreset = {
|
|
9
|
+
baseUrl: KITT_BASE_URL,
|
|
10
|
+
model: KITT_DEFAULT_MODEL,
|
|
11
|
+
};
|
|
12
|
+
/** Module-level provider registry. */
|
|
13
|
+
let provider = null;
|
|
14
|
+
/** Tag that identifies AI HTTP failures without relying on class identity. */
|
|
15
|
+
const AI_HTTP_ERROR_TAG = "AiHttpError";
|
|
16
|
+
/** Creates a tagged Error preserving the HTTP status and response details. */
|
|
17
|
+
function createAiHttpError(message, status, details) {
|
|
18
|
+
const error = new Error(message);
|
|
19
|
+
error.name = AI_HTTP_ERROR_TAG;
|
|
20
|
+
error.tag = AI_HTTP_ERROR_TAG;
|
|
21
|
+
error.status = status;
|
|
22
|
+
error.details = details;
|
|
23
|
+
return error;
|
|
24
|
+
}
|
|
25
|
+
/** Type guard that replaces `instanceof` (robust across module copies/realm). */
|
|
26
|
+
function isAiHttpError(error) {
|
|
27
|
+
return error instanceof Error && error.tag === AI_HTTP_ERROR_TAG;
|
|
28
|
+
}
|
|
29
|
+
/** Reads the API key from the environment when `process` is available. */
|
|
30
|
+
function readEnvKey() {
|
|
31
|
+
if (typeof process !== "undefined" && process.env) {
|
|
32
|
+
return process.env.DASHSCOPE_API_KEY;
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
/** Retrieves the configured provider or throws. */
|
|
37
|
+
function getProvider() {
|
|
38
|
+
if (!provider) {
|
|
39
|
+
throw new Error("[AiAgent] No provider configured. Call useInitAgent() first.");
|
|
40
|
+
}
|
|
41
|
+
return provider;
|
|
42
|
+
}
|
|
43
|
+
/** Coerces an unknown error into a message string. */
|
|
44
|
+
function toMessage(error) {
|
|
45
|
+
return error instanceof Error ? error.message : String(error);
|
|
46
|
+
}
|
|
47
|
+
/** Extracts an HTTP status from an error, defaulting to `0`. */
|
|
48
|
+
function toStatus(error) {
|
|
49
|
+
return isAiHttpError(error) ? error.status : 0;
|
|
50
|
+
}
|
|
51
|
+
/** Converts a tool into the OpenAI-compatible wire shape. */
|
|
52
|
+
function toWireTool(tool) {
|
|
53
|
+
return {
|
|
54
|
+
type: "function",
|
|
55
|
+
function: {
|
|
56
|
+
name: tool.name,
|
|
57
|
+
description: tool.description,
|
|
58
|
+
parameters: tool.parameters,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Executes a tool call emitted by the model, resolving the tool by name. */
|
|
63
|
+
async function executeToolCall(tools, call) {
|
|
64
|
+
const tool = tools.find((item) => item.name === call.function?.name);
|
|
65
|
+
if (!tool) {
|
|
66
|
+
return { error: `Unknown tool "${call.function?.name}".` };
|
|
67
|
+
}
|
|
68
|
+
let input;
|
|
69
|
+
try {
|
|
70
|
+
input = call.function?.arguments ? JSON.parse(call.function.arguments) : {};
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
input = call.function?.arguments;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
return await tool.execute(input);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
80
|
+
return { error: `Tool "${tool.name}" failed: ${message}` };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Removes a single trailing slash to build the chat completions URL. */
|
|
84
|
+
function buildCompletionsUrl(baseUrl) {
|
|
85
|
+
const base = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
86
|
+
return `${base}/chat/completions`;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Internal: performs a raw `chat/completions` request against the provider.
|
|
90
|
+
* Throws {@link AiHttpError} on non-2xx responses.
|
|
91
|
+
*/
|
|
92
|
+
async function requestCompletion(config, messages, options) {
|
|
93
|
+
const body = {
|
|
94
|
+
model: config.model,
|
|
95
|
+
messages,
|
|
96
|
+
};
|
|
97
|
+
if (options.temperature !== undefined)
|
|
98
|
+
body.temperature = options.temperature;
|
|
99
|
+
if (options.maxTokens !== undefined)
|
|
100
|
+
body.max_tokens = options.maxTokens;
|
|
101
|
+
if (options.topP !== undefined)
|
|
102
|
+
body.top_p = options.topP;
|
|
103
|
+
if (options.tools && options.tools.length > 0) {
|
|
104
|
+
body.tools = options.tools.map(toWireTool);
|
|
105
|
+
body.tool_choice = "auto";
|
|
106
|
+
}
|
|
107
|
+
const response = await fetch(buildCompletionsUrl(config.baseUrl), {
|
|
108
|
+
method: "POST",
|
|
109
|
+
headers: {
|
|
110
|
+
"Content-Type": "application/json",
|
|
111
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
112
|
+
},
|
|
113
|
+
body: JSON.stringify(body),
|
|
114
|
+
signal: options.signal,
|
|
115
|
+
});
|
|
116
|
+
const text = await response.text();
|
|
117
|
+
const parsed = text ? JSON.parse(text) : {};
|
|
118
|
+
if (!response.ok) {
|
|
119
|
+
throw createAiHttpError(parsed.error?.message ?? response.statusText ?? "Unsuccessful response", response.status, parsed);
|
|
120
|
+
}
|
|
121
|
+
return parsed;
|
|
122
|
+
}
|
|
123
|
+
/** Prepends a system message unless the conversation already defines one. */
|
|
124
|
+
function ensureSystem(messages, fallback) {
|
|
125
|
+
if (messages.some((message) => message.role === "system")) {
|
|
126
|
+
return messages;
|
|
127
|
+
}
|
|
128
|
+
return [{ role: "system", content: fallback }, ...messages];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Registers the AI provider for the Kitt assistant.
|
|
132
|
+
*
|
|
133
|
+
* `apiKey` falls back to `process.env.DASHSCOPE_API_KEY`; `baseUrl`, `model`
|
|
134
|
+
* and `systemPrompt` fall back to the {@link kittPreset} defaults.
|
|
135
|
+
*
|
|
136
|
+
* @param config - Partial provider configuration.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```ts
|
|
140
|
+
* import { useInitAgent } from "katanakit-js";
|
|
141
|
+
*
|
|
142
|
+
* useInitAgent({
|
|
143
|
+
* apiKey: process.env.DASHSCOPE_API_KEY,
|
|
144
|
+
* model: "qwen3.8-max",
|
|
145
|
+
* });
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export function useInitAgent(config = {}) {
|
|
149
|
+
const apiKey = config.apiKey ?? readEnvKey() ?? "";
|
|
150
|
+
if (!apiKey) {
|
|
151
|
+
throw new Error("[AiAgent] Missing apiKey. Pass it to useInitAgent() or set DASHSCOPE_API_KEY.");
|
|
152
|
+
}
|
|
153
|
+
const baseUrl = config.baseUrl ?? KITT_BASE_URL;
|
|
154
|
+
if (!baseUrl.startsWith("https://")) {
|
|
155
|
+
throw new Error("[AiAgent] baseUrl must use https:// so the API key is not sent in cleartext.");
|
|
156
|
+
}
|
|
157
|
+
provider = {
|
|
158
|
+
baseUrl,
|
|
159
|
+
model: config.model ?? KITT_DEFAULT_MODEL,
|
|
160
|
+
systemPrompt: config.systemPrompt ?? KITT_SYSTEM_PROMPT,
|
|
161
|
+
apiKey,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Sends a single chat completion and returns the assistant text as a Safe Result.
|
|
166
|
+
*
|
|
167
|
+
* Use this for review / questioning (single-shot). For autonomous multi-step
|
|
168
|
+
* work with tools, use {@link useRunAgent}.
|
|
169
|
+
*
|
|
170
|
+
* @param messages - Conversation messages (a system prompt is prepended if absent).
|
|
171
|
+
* @param options - Optional completion options.
|
|
172
|
+
* @returns A {@link AiResult} with the assistant text.
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```ts
|
|
176
|
+
* import { useChat } from "katanakit-js";
|
|
177
|
+
*
|
|
178
|
+
* const result = await useChat([
|
|
179
|
+
* { role: "user", content: "Summarize the benefits of solar energy in three bullet points." },
|
|
180
|
+
* ]);
|
|
181
|
+
* if (result.ok) console.log(result.data);
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export async function useChat(messages, options = {}) {
|
|
185
|
+
try {
|
|
186
|
+
const config = getProvider();
|
|
187
|
+
const { signal, temperature, maxTokens, topP, systemPrompt } = options;
|
|
188
|
+
const withSystem = ensureSystem(messages, systemPrompt ?? config.systemPrompt ?? KITT_SYSTEM_PROMPT);
|
|
189
|
+
const response = await requestCompletion(config, withSystem, {
|
|
190
|
+
signal,
|
|
191
|
+
temperature,
|
|
192
|
+
maxTokens,
|
|
193
|
+
topP,
|
|
194
|
+
});
|
|
195
|
+
const content = response.choices?.[0]?.message?.content ?? "";
|
|
196
|
+
return { data: content, error: null, ok: true };
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
return {
|
|
200
|
+
data: null,
|
|
201
|
+
error: { message: `[AiAgent] ${toMessage(error)}`, status: toStatus(error) },
|
|
202
|
+
ok: false,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Runs the tool-calling agent loop against a goal until it emits a final
|
|
208
|
+
* answer or exhausts `maxSteps`.
|
|
209
|
+
*
|
|
210
|
+
* @param goal - The natural-language objective.
|
|
211
|
+
* @param options - Tools, step budget and completion options.
|
|
212
|
+
* @returns An {@link AgentResult} with the final message and executed steps.
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```ts
|
|
216
|
+
* import { useRunAgent } from "katanakit-js";
|
|
217
|
+
*
|
|
218
|
+
* const result = await useRunAgent("Fix the type errors reported by tsc", {
|
|
219
|
+
* tools: [
|
|
220
|
+
* {
|
|
221
|
+
* name: "runCommand",
|
|
222
|
+
* description: "Runs a shell command and returns its output",
|
|
223
|
+
* parameters: { type: "object", properties: { command: { type: "string" } } },
|
|
224
|
+
* execute: (input) => shell.run(input.command),
|
|
225
|
+
* },
|
|
226
|
+
* ],
|
|
227
|
+
* maxSteps: 12,
|
|
228
|
+
* });
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
export async function useRunAgent(goal, options = {}) {
|
|
232
|
+
try {
|
|
233
|
+
const config = getProvider();
|
|
234
|
+
const { tools = [], maxSteps = 10, signal, temperature, maxTokens, topP, systemPrompt, history = [], } = options;
|
|
235
|
+
const prior = history.filter((message) => message.role !== "system");
|
|
236
|
+
const messages = [
|
|
237
|
+
{ role: "system", content: systemPrompt ?? config.systemPrompt ?? KITT_SYSTEM_PROMPT },
|
|
238
|
+
...prior,
|
|
239
|
+
{ role: "user", content: goal },
|
|
240
|
+
];
|
|
241
|
+
const steps = [];
|
|
242
|
+
for (let step = 0; step < maxSteps; step++) {
|
|
243
|
+
const response = await requestCompletion(config, messages, {
|
|
244
|
+
signal,
|
|
245
|
+
temperature,
|
|
246
|
+
maxTokens,
|
|
247
|
+
topP,
|
|
248
|
+
tools,
|
|
249
|
+
});
|
|
250
|
+
const choice = response.choices?.[0];
|
|
251
|
+
const toolCalls = choice?.message?.tool_calls ?? [];
|
|
252
|
+
if (toolCalls.length > 0) {
|
|
253
|
+
messages.push({
|
|
254
|
+
role: "assistant",
|
|
255
|
+
content: choice?.message?.content ?? null,
|
|
256
|
+
tool_calls: toolCalls,
|
|
257
|
+
});
|
|
258
|
+
const toolResults = [];
|
|
259
|
+
for (const call of toolCalls) {
|
|
260
|
+
const result = await executeToolCall(tools, call);
|
|
261
|
+
toolResults.push(result);
|
|
262
|
+
messages.push({
|
|
263
|
+
role: "tool",
|
|
264
|
+
tool_call_id: call.id,
|
|
265
|
+
content: typeof result === "string" ? result : JSON.stringify(result),
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
steps.push({ toolCalls, toolResults });
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
const finalMessage = choice?.message?.content ?? "";
|
|
272
|
+
return { data: { finalMessage, steps }, error: null, ok: true };
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
data: null,
|
|
276
|
+
error: {
|
|
277
|
+
message: `[AiAgent] Max steps (${maxSteps}) reached without a final answer.`,
|
|
278
|
+
status: 0,
|
|
279
|
+
},
|
|
280
|
+
ok: false,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
return {
|
|
285
|
+
data: null,
|
|
286
|
+
error: { message: `[AiAgent] ${toMessage(error)}`, status: toStatus(error) },
|
|
287
|
+
ok: false,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=agent.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.service.js","sourceRoot":"","sources":["../../../src/core/services/agent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { AiMessage, AssistantInitConfig, AssistantReplyOptions, AssistantResult, ConversationStore, IAssistantService } from "../../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a fresh in-memory conversation store.
|
|
4
|
+
* Useful in tests or when you want an isolated store per process.
|
|
5
|
+
*
|
|
6
|
+
* @returns A {@link ConversationStore} backed by a Map.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useCreateMemoryStore(): ConversationStore;
|
|
9
|
+
/**
|
|
10
|
+
* Configures the assistant: provider (Kitt) plus an optional conversation store.
|
|
11
|
+
*
|
|
12
|
+
* Defaults mirror {@link useInitAgent}: `apiKey` falls back to
|
|
13
|
+
* `process.env.DASHSCOPE_API_KEY`, and `baseUrl`/`model`/`systemPrompt` fall
|
|
14
|
+
* back to the Kitt preset. The default store is in-memory; pass
|
|
15
|
+
* `{ store }` to persist conversations (e.g. a Prisma-backed store).
|
|
16
|
+
*
|
|
17
|
+
* @param config - Assistant configuration.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { useInitAssistant } from "katanakit-js";
|
|
22
|
+
*
|
|
23
|
+
* useInitAssistant({ model: "qwen3.8-max" });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function useInitAssistant(config?: AssistantInitConfig): void;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new conversation session.
|
|
29
|
+
*
|
|
30
|
+
* @param channel - Optional channel tag (e.g. `"rest"`, `"telegram"`, `"whatsapp"`).
|
|
31
|
+
* @returns The new session id.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const sessionId = await useCreateSession("rest");
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function useCreateSession(channel?: string): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether a conversation session exists.
|
|
41
|
+
*
|
|
42
|
+
* @param sessionId - The conversation session id.
|
|
43
|
+
* @returns `true` when the session exists.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const exists = await useSessionExists(sessionId);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function useSessionExists(sessionId: string): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the full message history of a session, oldest first.
|
|
53
|
+
*
|
|
54
|
+
* @param sessionId - The conversation session id.
|
|
55
|
+
* @returns The accumulated messages.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* const history = await useGetHistory(sessionId);
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function useGetHistory(sessionId: string): Promise<AiMessage[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Deletes a conversation session and its messages.
|
|
65
|
+
*
|
|
66
|
+
* @param sessionId - The conversation session id to reset.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* await useResetSession(sessionId);
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function useResetSession(sessionId: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Sends a user message within a conversation and returns the assistant reply.
|
|
76
|
+
* If no `sessionId` is provided, a new session is created. The user message and
|
|
77
|
+
* the assistant reply are persisted only on success.
|
|
78
|
+
*
|
|
79
|
+
* @param sessionId - Existing session id, or `undefined` to start a new one.
|
|
80
|
+
* @param text - The user's message.
|
|
81
|
+
* @param options - Optional completion options.
|
|
82
|
+
* @returns An {@link AssistantResult} with the reply and session id.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* import { useReply } from "katanakit-js";
|
|
87
|
+
*
|
|
88
|
+
* const result = await useReply(undefined, "How do I reset my password?");
|
|
89
|
+
* if (result.ok) console.log(result.data.reply);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare function useReply(sessionId: string | undefined, text: string, options?: AssistantReplyOptions): Promise<AssistantResult>;
|
|
93
|
+
export declare const assistant: IAssistantService;
|
|
94
|
+
//# sourceMappingURL=assistant.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/assistant.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EAET,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,sBAAsB,CAAC;AAG9B;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAkDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,mBAAwB,GAAG,IAAI,CAWvE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAE3E;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC,eAAe,CAAC,CA+B1B;AA4BD,eAAO,MAAM,SAAS,EAAE,iBAOvB,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { useChat, useInitAgent, useRunAgent } from "./agent.service.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a fresh in-memory conversation store.
|
|
4
|
+
* Useful in tests or when you want an isolated store per process.
|
|
5
|
+
*
|
|
6
|
+
* @returns A {@link ConversationStore} backed by a Map.
|
|
7
|
+
*/
|
|
8
|
+
export function useCreateMemoryStore() {
|
|
9
|
+
return createMemoryStore();
|
|
10
|
+
}
|
|
11
|
+
/** In-memory conversation store: safe default, lost on process restart. */
|
|
12
|
+
function createMemoryStore() {
|
|
13
|
+
const conversations = new Map();
|
|
14
|
+
const useCreate = async () => {
|
|
15
|
+
const id = typeof crypto !== "undefined" && "randomUUID" in crypto
|
|
16
|
+
? crypto.randomUUID()
|
|
17
|
+
: Math.random().toString(36).slice(2);
|
|
18
|
+
conversations.set(id, []);
|
|
19
|
+
return id;
|
|
20
|
+
};
|
|
21
|
+
const useExists = async (sessionId) => {
|
|
22
|
+
return conversations.has(sessionId);
|
|
23
|
+
};
|
|
24
|
+
const useAppend = async (sessionId, message) => {
|
|
25
|
+
const history = conversations.get(sessionId) ?? [];
|
|
26
|
+
history.push(message);
|
|
27
|
+
conversations.set(sessionId, history);
|
|
28
|
+
};
|
|
29
|
+
const useGetHistory = async (sessionId) => {
|
|
30
|
+
return conversations.get(sessionId) ?? [];
|
|
31
|
+
};
|
|
32
|
+
const useReset = async (sessionId) => {
|
|
33
|
+
conversations.delete(sessionId);
|
|
34
|
+
};
|
|
35
|
+
return { useCreate, useExists, useAppend, useGetHistory, useReset };
|
|
36
|
+
}
|
|
37
|
+
/** Module-level conversation store. Defaults to in-memory. */
|
|
38
|
+
let store = createMemoryStore();
|
|
39
|
+
/** Module-level tools used by {@link useReply} when none are passed per call. */
|
|
40
|
+
let tools = [];
|
|
41
|
+
/** Module-level agent step budget. */
|
|
42
|
+
let maxSteps = 10;
|
|
43
|
+
/** Coerces an unknown error into a message string. */
|
|
44
|
+
function toMessage(error) {
|
|
45
|
+
return error instanceof Error ? error.message : String(error);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Configures the assistant: provider (Kitt) plus an optional conversation store.
|
|
49
|
+
*
|
|
50
|
+
* Defaults mirror {@link useInitAgent}: `apiKey` falls back to
|
|
51
|
+
* `process.env.DASHSCOPE_API_KEY`, and `baseUrl`/`model`/`systemPrompt` fall
|
|
52
|
+
* back to the Kitt preset. The default store is in-memory; pass
|
|
53
|
+
* `{ store }` to persist conversations (e.g. a Prisma-backed store).
|
|
54
|
+
*
|
|
55
|
+
* @param config - Assistant configuration.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* import { useInitAssistant } from "katanakit-js";
|
|
60
|
+
*
|
|
61
|
+
* useInitAssistant({ model: "qwen3.8-max" });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export function useInitAssistant(config = {}) {
|
|
65
|
+
const { store: customStore, tools: customTools, maxSteps: customMaxSteps, ...agentConfig } = config;
|
|
66
|
+
if (customStore)
|
|
67
|
+
store = customStore;
|
|
68
|
+
if (customTools)
|
|
69
|
+
tools = customTools;
|
|
70
|
+
if (customMaxSteps !== undefined)
|
|
71
|
+
maxSteps = customMaxSteps;
|
|
72
|
+
useInitAgent(agentConfig);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates a new conversation session.
|
|
76
|
+
*
|
|
77
|
+
* @param channel - Optional channel tag (e.g. `"rest"`, `"telegram"`, `"whatsapp"`).
|
|
78
|
+
* @returns The new session id.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* const sessionId = await useCreateSession("rest");
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export async function useCreateSession(channel) {
|
|
86
|
+
return store.useCreate(channel);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checks whether a conversation session exists.
|
|
90
|
+
*
|
|
91
|
+
* @param sessionId - The conversation session id.
|
|
92
|
+
* @returns `true` when the session exists.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* const exists = await useSessionExists(sessionId);
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export async function useSessionExists(sessionId) {
|
|
100
|
+
return store.useExists(sessionId);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns the full message history of a session, oldest first.
|
|
104
|
+
*
|
|
105
|
+
* @param sessionId - The conversation session id.
|
|
106
|
+
* @returns The accumulated messages.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* const history = await useGetHistory(sessionId);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export async function useGetHistory(sessionId) {
|
|
114
|
+
return store.useGetHistory(sessionId);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Deletes a conversation session and its messages.
|
|
118
|
+
*
|
|
119
|
+
* @param sessionId - The conversation session id to reset.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* await useResetSession(sessionId);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export async function useResetSession(sessionId) {
|
|
127
|
+
await store.useReset(sessionId);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Sends a user message within a conversation and returns the assistant reply.
|
|
131
|
+
* If no `sessionId` is provided, a new session is created. The user message and
|
|
132
|
+
* the assistant reply are persisted only on success.
|
|
133
|
+
*
|
|
134
|
+
* @param sessionId - Existing session id, or `undefined` to start a new one.
|
|
135
|
+
* @param text - The user's message.
|
|
136
|
+
* @param options - Optional completion options.
|
|
137
|
+
* @returns An {@link AssistantResult} with the reply and session id.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* import { useReply } from "katanakit-js";
|
|
142
|
+
*
|
|
143
|
+
* const result = await useReply(undefined, "How do I reset my password?");
|
|
144
|
+
* if (result.ok) console.log(result.data.reply);
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export async function useReply(sessionId, text, options = {}) {
|
|
148
|
+
try {
|
|
149
|
+
if (sessionId !== undefined && !(await store.useExists(sessionId))) {
|
|
150
|
+
return {
|
|
151
|
+
data: null,
|
|
152
|
+
error: { message: "[Assistant] Unknown session", status: 404 },
|
|
153
|
+
ok: false,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
const id = sessionId ?? (await store.useCreate());
|
|
157
|
+
const history = await store.useGetHistory(id);
|
|
158
|
+
const activeTools = options.tools ?? tools;
|
|
159
|
+
const stepBudget = options.maxSteps ?? maxSteps;
|
|
160
|
+
const replyText = await completeReply(history, text, options, activeTools, stepBudget);
|
|
161
|
+
if (!replyText.ok) {
|
|
162
|
+
return { data: null, error: replyText.error, ok: false };
|
|
163
|
+
}
|
|
164
|
+
await store.useAppend(id, { role: "user", content: text });
|
|
165
|
+
await store.useAppend(id, { role: "assistant", content: replyText.data });
|
|
166
|
+
return { data: { reply: replyText.data, sessionId: id }, error: null, ok: true };
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
return {
|
|
170
|
+
data: null,
|
|
171
|
+
error: { message: `[Assistant] ${toMessage(error)}`, status: 0 },
|
|
172
|
+
ok: false,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** Runs a tool-aware agent loop when tools are present; otherwise a single chat. */
|
|
177
|
+
async function completeReply(history, text, options, activeTools, stepBudget) {
|
|
178
|
+
if (activeTools.length === 0) {
|
|
179
|
+
return useChat([...history, { role: "user", content: text }], options);
|
|
180
|
+
}
|
|
181
|
+
const result = await useRunAgent(text, {
|
|
182
|
+
...options,
|
|
183
|
+
tools: activeTools,
|
|
184
|
+
maxSteps: stepBudget,
|
|
185
|
+
history,
|
|
186
|
+
});
|
|
187
|
+
if (!result.ok) {
|
|
188
|
+
return { data: null, error: result.error, ok: false };
|
|
189
|
+
}
|
|
190
|
+
return { data: result.data.finalMessage, error: null, ok: true };
|
|
191
|
+
}
|
|
192
|
+
export const assistant = {
|
|
193
|
+
useInitAssistant,
|
|
194
|
+
useReply,
|
|
195
|
+
useCreateSession,
|
|
196
|
+
useSessionExists,
|
|
197
|
+
useGetHistory,
|
|
198
|
+
useResetSession,
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=assistant.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.service.js","sourceRoot":"","sources":["../../../src/core/services/assistant.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/dates.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAYlE;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAClC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAC9B,MAAM,CAMR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACxB,SAAS,EAAE,aAAa,EACxB,MAAM,GAAE,MAAa,EACrB,OAAO,GAAE,IAAI,CAAC,qBAA0B,GACtC,MAAM,CA6BR;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAClC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAChC,OAAO,CAET;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAClC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAChC,OAAO,CAET;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAClC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAChC,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,GAAE,MAAM,GAAG,QAAQ,CAAC,SAAuC,GAC7D,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,GAAE,MAAM,GAAG,QAAQ,CAAC,SAAuC,GAC7D,MAAM,CAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.service.js","sourceRoot":"","sources":["../../../src/core/services/dates.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/error.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAW7D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,SAAK,EAAE,IAAI,SAAM,GAAG,gBAAgB,CAK5E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAE1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.service.js","sourceRoot":"","sources":["../../../src/core/services/error.service.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,cAAc,GAA2B;IAC9C,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,uBAAuB;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG;IACzD,OAAO;QACN,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO;QACnD,IAAI;KACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,IAAY;IACvD,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/formatter.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO1E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAKxF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAIzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAMxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAEzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAE1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAE1F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAExF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAEjF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAEjF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAEpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CAEpF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.service.js","sourceRoot":"","sources":["../../../src/core/services/formatter.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/generator.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,eA0CpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,aA2BhC,CAAC;AAKF;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAOjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.service.js","sourceRoot":"","sources":["../../../src/core/services/generator.service.ts"],"names":[],"mappings":"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"}
|