diff --git a/docs/docs/apps/azure-openai.md b/docs/docs/apps/azure-openai.md index b55131039..76963b4eb 100644 --- a/docs/docs/apps/azure-openai.md +++ b/docs/docs/apps/azure-openai.md @@ -1,4 +1,5 @@ --- -sidebar_position: 1 -title: "Azure OpenAI integration" +title: "Azure OpenAI Plugin" --- + +NPM Package: [@janhq/azure-openai-plugin](https://www.npmjs.com/package/@janhq/azure-openai-plugin) diff --git a/docs/docs/apps/data.md b/docs/docs/apps/data.md new file mode 100644 index 000000000..5fd3aadbd --- /dev/null +++ b/docs/docs/apps/data.md @@ -0,0 +1,5 @@ +--- +title: "Data Plugin" +--- + +NPM Package: [@janhq/data-plugin](https://www.npmjs.com/package/@janhq/data-plugin) diff --git a/docs/docs/apps/inference.md b/docs/docs/apps/inference.md new file mode 100644 index 000000000..ebd47db4d --- /dev/null +++ b/docs/docs/apps/inference.md @@ -0,0 +1,5 @@ +--- +title: "Inference Plugin" +--- + +NPM Package: [@janhq/inference-plugin](https://www.npmjs.com/package/@janhq/inference-plugin) diff --git a/docs/docs/apps/model-management.md b/docs/docs/apps/model-management.md new file mode 100644 index 000000000..b4775968b --- /dev/null +++ b/docs/docs/apps/model-management.md @@ -0,0 +1,5 @@ +--- +title: "Model Management Plugin" +--- + +NPM Package: [@janhq/model-management-plugin](https://www.npmjs.com/package/@janhq/model-management-plugin) diff --git a/docs/docs/apps/monitoring.md b/docs/docs/apps/monitoring.md new file mode 100644 index 000000000..e0e49ea80 --- /dev/null +++ b/docs/docs/apps/monitoring.md @@ -0,0 +1,5 @@ +--- +title: "Monitoring Plugin" +--- + +NPM Package: [@janhq/monitoring-plugin](https://www.npmjs.com/package/@janhq/monitoring-plugin) diff --git a/docs/docs/apps/rag.md b/docs/docs/apps/rag.md index e0f697b9a..5d9084be8 100644 --- a/docs/docs/apps/rag.md +++ b/docs/docs/apps/rag.md @@ -1,4 +1,5 @@ --- -sidebar_position: 1 -title: "Data retrieval app" +title: "RAG Plugin" --- + +Coming soon. diff --git a/docs/docs/reference/01_init.md b/docs/docs/reference/01_init.md index c10c20c7b..ad1acc956 100644 --- a/docs/docs/reference/01_init.md +++ b/docs/docs/reference/01_init.md @@ -2,10 +2,12 @@ title: "init" --- -`init` is the main entrypoint for mounting your application and its custom logic. It is a reserved function that Jan will look for to initialize your application. +`init` is the entrypoint for your application and its custom logic. `init` is a reserved function that Jan will look for to initialize your application. ## Usage +Importing + ```js // javascript const core = require("@janhq/core"); @@ -14,15 +16,27 @@ const core = require("@janhq/core"); import * as core from "@janhq/core"; ``` -## init +Setting up event listeners -TODO +```js +export function init({ register }) { + myListener(); +} +``` + +Setting up core service implementation + +```js +export function init({ register }: { register: RegisterExtensionPoint }) { + register(DataService.GetConversations, "my-app-id", myImplementation); +} +``` ## RegisterExtensionPoint `RegisterExtensionPoint` is used for app initialization. -It lets you register functions/methods with the main application. +It lets you register `CoreService` functions/methods with the main application. ```js import { RegisterExtensionPoint } from "@janhq/core"; @@ -39,9 +53,22 @@ type RegisterExtensionPoint = ( ## invokePluginFunc +`invokePluginFunc` is a way to invoke your custom functions (defined in your `module.ts`) from your application client (defined in your `index.ts`) + ```js -// index.ts +// index.ts: your application "frontend" and entrypoint function foo(id: number) { - return core.invokePluginFunc(MODULE_PATH, "getConvMessages", id); + return core.invokePluginFunc(MODULE_PATH, "foo", param1, ...); +} + +export function init({ register }: { register: RegisterExtensionPoint }) { + register(Service.Foo, "my-app-id", foo); +} +``` + +```js +// module.ts: your application "backend" +export function foo(param1, ...) { + // Your code here } ``` diff --git a/docs/sidebars.js b/docs/sidebars.js index ef67d1581..0c9586601 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -73,9 +73,9 @@ const sidebars = { }, { type: "category", - label: "Apps", + label: "Apps (Plugins)", collapsible: true, - collapsed: false, + collapsed: true, items: [ { type: "autogenerated",