{"_id":"@cognitiondesk/client","_rev":"2-a386dff959fa7f137324024560246b4c","name":"@cognitiondesk/client","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@cognitiondesk/client","version":"0.1.0","keywords":["cognitiondesk","sdk","assistants","workflow","tasks","api-client"],"license":"MIT","_id":"@cognitiondesk/client@0.1.0","maintainers":[{"name":"lucilo","email":"lucilo@gmail.com"}],"dist":{"shasum":"211d095a04110c93db6fa46c4bcb6e3685814eff","tarball":"https://registry.npmjs.org/@cognitiondesk/client/-/client-0.1.0.tgz","fileCount":4,"integrity":"sha512-TOs72/xL70WIx/TUXQfuDcNycCq9zl+h2N+1WTGHgX1hcg8l1a3vbsqwhnmPkfh31MAQ+o84reMfWcF0iEuf+A==","signatures":[{"sig":"MEUCIEmnK4WDgBSJRItaexCo434TKx6uGV0L0E9kI9F4iW4bAiEAiZ9HMhO4eApjonxAOMzUb4hpksP4pRbhu553VDmUFT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8127},"main":"./src/index.js","type":"module","module":"./src/index.js","exports":{".":{"import":"./src/index.js","require":"./src/index.js"}},"gitHead":"767f31394508973f7f5a58a5c7c338bf67c29f48","_npmUser":{"name":"lucilo","email":"lucilo@gmail.com"},"_npmVersion":"10.9.3","description":"Lightweight CognitionDesk command SDK for assistants, workflows, and tasks without widget UI dependencies.","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/client_0.1.0_1778355583423_0.4261453160388329","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cognitiondesk/client","version":"0.1.1","description":"Lightweight CognitionDesk command SDK for assistants, workflows, and tasks without widget UI dependencies.","license":"MIT","type":"module","main":"./src/index.js","module":"./src/index.js","exports":{".":{"import":"./src/index.js","require":"./src/index.js"}},"keywords":["cognitiondesk","sdk","assistants","workflow","tasks","api-client"],"publishConfig":{"access":"public"},"gitHead":"3e3243dac16a86fecf07cee7a4281a8146f5b864","_id":"@cognitiondesk/client@0.1.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-vAc08iYMijc1fIUD8+q4ei/Vuhv9rXK4Pw2PdY5l3qEiWcWCsQyTFj5fXy3fgO5wmNmFj0cXsDcdMk6gUs1WEQ==","shasum":"b8e3b6f9078aa8e9c8bd9d27e0f541973f82ae27","tarball":"https://registry.npmjs.org/@cognitiondesk/client/-/client-0.1.1.tgz","fileCount":4,"unpackedSize":20966,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH8hUKz7rcR/hDH5aakMG98jILKGWSo4iiHcwpw9jdOeAiEAxbVxdJG97SplCgFHmN5Y1a18hWHZxp2DFQ1ICCU+Yn0="}]},"_npmUser":{"name":"lucilo","email":"lucilo@gmail.com"},"directories":{},"maintainers":[{"name":"lucilo","email":"lucilo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/client_0.1.1_1786587430843_0.4374982794435047"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T19:39:43.362Z","modified":"2026-08-13T02:17:11.154Z","0.1.0":"2026-05-09T19:39:43.569Z","0.1.1":"2026-08-13T02:17:10.976Z"},"license":"MIT","keywords":["cognitiondesk","sdk","assistants","workflow","tasks","api-client"],"description":"Lightweight CognitionDesk command SDK for assistants, workflows, and tasks without widget UI dependencies.","maintainers":[{"name":"lucilo","email":"lucilo@gmail.com"}],"readme":"# @cognitiondesk/client\r\n\r\nLightweight SDK for managing assistants, workflows, tasks, and assistant runtime calls from external apps without installing widget UI dependencies.\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @cognitiondesk/client\r\n```\r\n\r\n## Quick start\r\n\r\n```js\r\nimport { createCognitionDeskClient } from '@cognitiondesk/client';\r\n\r\nconst client = createCognitionDeskClient({\r\n  backendUrl: 'https://api.cognitiondesk.com',\r\n  getAuthToken: async () => firebaseAuth.currentUser.getIdToken(),\r\n});\r\n\r\nconst assistants = await client.listAssistants();\r\nconst assistant = await client.getAssistant('assistant-id');\r\n\r\nawait client.patchAssistant('assistant-id', {\r\n  temperature: 0.6,\r\n  maxTokens: 4096,\r\n});\r\n\r\nconst reply = await client.invokeAssistantText({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Resume este documento en 3 bullets',\r\n  userContext: {\r\n    conversationId: 'conv_123',\r\n    platform: 'my-app',\r\n  },\r\n});\r\n```\r\n\r\n## Assistant runtime\r\n\r\nUse the existing authenticated chat runtime from code, without mounting the widget.\r\n\r\nRuntime auth supports either Firebase bearer token or API key. Commands still require bearer token.\r\n\r\n```js\r\nconst payload = await client.invokeAssistant({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Genera una respuesta para este lead',\r\n  userContext: {\r\n    conversationId: 'crm-thread-42',\r\n    platform: 'crm-app',\r\n  },\r\n  customContext: {\r\n    leadName: 'Ana',\r\n    leadScore: 91,\r\n  },\r\n  ragSettings: {\r\n    scope: 'project',\r\n    projectId: 'project-123',\r\n  },\r\n});\r\n\r\nconsole.log(payload.response);\r\n```\r\n\r\nUsing API key from another app:\r\n\r\n```js\r\nconst client = createCognitionDeskClient({\r\n  backendUrl: 'https://api.cognitiondesk.com',\r\n  apiKey: process.env.COGNITIONDESK_API_KEY,\r\n});\r\n\r\nconst text = await client.invokeAssistantText({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Genera una respuesta para este formulario',\r\n  userContext: { platform: 'external-app', conversationId: 'lead-11' },\r\n});\r\n```\r\n\r\nFor simple text responses:\r\n\r\n```js\r\nconst text = await client.invokeAssistantText({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Escribe una respuesta breve y profesional',\r\n});\r\n```\r\n\r\nFor SSE streaming:\r\n\r\n```js\r\nconst response = await client.invokeAssistantStream({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Haz streaming de esta respuesta',\r\n});\r\n\r\nconst reader = response.body.getReader();\r\nconst decoder = new TextDecoder();\r\n\r\nwhile (true) {\r\n  const { done, value } = await reader.read();\r\n  if (done) break;\r\n  console.log(decoder.decode(value, { stream: true }));\r\n}\r\n```\r\n\r\nOr consume parsed SSE events directly:\r\n\r\n```js\r\nfor await (const event of client.streamAssistantEvents({\r\n  assistantId: 'assistant-id',\r\n  prompt: 'Responde en streaming',\r\n})) {\r\n  if (event.type === 'content') {\r\n    process.stdout.write(event.data);\r\n  }\r\n}\r\n```\r\n\r\nTo reset a conversation thread:\r\n\r\n```js\r\nawait client.clearThread('crm-thread-42', {\r\n  platform: 'crm-app',\r\n});\r\n```\r\n\r\nTo force an exact backend thread ID instead of deriving it from `platform + user + conversationId`:\r\n\r\n```js\r\nawait client.clearThread(null, {\r\n  threadId: 'crm-app:user-1:crm-thread-42',\r\n});\r\n```\r\n\r\n## Raw command execution\r\n\r\n```js\r\nawait client.executeCommand('assistants.assignWorkflow', {\r\n  assistantId: 'assistant-id',\r\n  workflowId: 'workflow-id',\r\n  workflowEnabled: true,\r\n});\r\n```\r\n\r\n## Supported commands\r\n\r\n- assistants.list\r\n- assistants.listSystem\r\n- assistants.get\r\n- assistants.create\r\n- assistants.update\r\n- assistants.patch\r\n- assistants.assignWorkflow\r\n- assistants.removeWorkflow\r\n- workflows.list\r\n- workflows.get\r\n- workflows.create\r\n- tasks.list\r\n- tasks.get\r\n- tasks.create\r\n- tasks.update\r\n\r\n## Runtime methods\r\n\r\n- invokeAssistant\r\n- invokeAssistantText\r\n- invokeAssistantStream\r\n- streamAssistantEvents\r\n- clearThread\r\n","readmeFilename":"README.md"}