@redplanethq/sdk 0.1.11 → 0.1.13
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/dist/index.d.mts +139 -17
- package/dist/index.d.ts +139 -17
- package/dist/index.js +68 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../types/dist/llm/llm.entity.js","../../types/dist/graph/graph.entity.js","../../types/dist/conversation-execution-step/conversation-execution.entity.js","../../types/dist/oauth/params.js","../../types/dist/integration.js","../../types/dist/user/index.js","../../types/dist/pattern.js","../../types/dist/search.js","../src/integrations/integration-cli.ts","../src/schemas.ts","../src/client.ts"],"names":["LLMModelEnum","LLMModelType","GPT35TURBO","GPT4TURBO","GPT4O","GPT41","GPT41MINI","GPT41NANO","LLAMA3","CLAUDEOPUS","CLAUDESONNET","CLAUDEHAIKU","GEMINI25FLASH","GEMINI25PRO","GEMINI20FLASH","GEMINI20FLASHLITE","LLMMappings","OpenAIModels","ClaudeModels","GeminiModels","EPISODIC_NODE_PROPERTIES","STATEMENT_NODE_PROPERTIES","ENTITY_NODE_PROPERTIES","COMPACTED_SESSION_NODE_PROPERTIES","EntityTypes","StatementAspects","EpisodeTypeEnum","EpisodeType","CONVERSATION","DOCUMENT","IMAGE","ActionStatusEnum","ActionStatus","ACCEPT","DECLINE","QUESTION","TOOL_REQUEST","SUCCESS","FAILED","OAuth2Params","APIKeyParams","IntegrationEventType","Spec","UserTypeEnum","EXPLICIT_PATTERN_TYPES","THEME","TOPIC","DOMAIN","INTEREST_AREA","IMPLICIT_PATTERN_TYPES","PREFERENCE","HABIT","WORKFLOW","COMMUNICATION_STYLE","DECISION_PATTERN","TEMPORAL_PATTERN","BEHAVIORAL_PATTERN","LEARNING_STYLE","COLLABORATION_STYLE","PATTERN_TYPES","Object","assign","QUALITY_THRESHOLDS","HIGH_QUALITY_EPISODE","MEDIUM_QUALITY_EPISODE","LOW_QUALITY_EPISODE","CONFIDENT_RESULT","UNCERTAIN_RESULT","NO_RESULT","MINIMUM_GAP_RATIO","IntegrationCLI","program","integrationName","version","constructor","Command","setupProgram","name","description","setupSpecCommand","setupAccountCommands","setupDataCommands","setupSyncCommand","setupGetToolsCommand","setupCallToolCommand","command","requiredOption","action","options","eventBody","JSON","parse","integrationDefinition","messages","handleEvent","event","SETUP","message","console","log","stringify","error","process","exit","eventData","config","PROCESS","webhookData","IDENTIFY","spec","getSpec","type","data","option","state","SYNC","GET_TOOLS","toolArguments","CALL_TOOL","toolName","arguments","getProgram","IngestInputSchema","z","object","episodeBody","string","referenceTime","metadata","record","union","number","boolean","optional","source","labelIds","array","sessionId","enum","default","title","IngestResponseSchema","success","id","SearchInputSchema","query","startTime","endTime","limit","structured","sortBy","SearchResponseSchema","unknown","MeResponseSchema","nullable","persona","workspaceId","phoneNumber","email","timezone","IntegrationAccountSchema","slug","passthrough","GetIntegrationsConnectedResponseSchema","accounts","GetIntegrationActionsInputSchema","accountId","GetIntegrationActionsResponseSchema","actions","ExecuteIntegrationActionInputSchema","parameters","ExecuteIntegrationActionResponseSchema","result","GetDocumentsInputSchema","page","status","label","cursor","DocumentSchema","createdAt","GetDocumentsResponseSchema","documents","hasMore","nextCursor","availableSources","totalCount","GetDocumentInputSchema","documentId","GetDocumentResponseSchema","document","AuthorizationCodeResponseSchema","authorizationCode","url","TokenExchangeInputSchema","TokenExchangeResponseSchema","token","obfuscatedToken","CoreClientError","Error","statusCode","CoreClient","baseUrl","replace","request","method","path","searchParams","params","URLSearchParams","toString","response","fetch","headers","Authorization","body","ok","errorMessage","errorBody","json","text","requestPublic","me","ingest","search","getIntegrationsConnected","getIntegrationActions","keys","length","undefined","executeIntegrationAction","getSessionId","randomUUID","getDocuments","String","getDocument","getAuthorizationCode","exchangeToken","checkAuth"],"mappings":"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","file":"index.js","sourcesContent":["export var LLMModelEnum;\n(function (LLMModelEnum) {\n LLMModelEnum[\"GPT35TURBO\"] = \"GPT35TURBO\";\n LLMModelEnum[\"GPT4TURBO\"] = \"GPT4TURBO\";\n LLMModelEnum[\"GPT4O\"] = \"GPT4O\";\n LLMModelEnum[\"GPT41\"] = \"GPT41\";\n LLMModelEnum[\"GPT41MINI\"] = \"GPT41MINI\";\n LLMModelEnum[\"GPT41NANO\"] = \"GPT41NANO\";\n LLMModelEnum[\"LLAMA3\"] = \"LLAMA3\";\n LLMModelEnum[\"CLAUDEOPUS\"] = \"CLAUDEOPUS\";\n LLMModelEnum[\"CLAUDESONNET\"] = \"CLAUDESONNET\";\n LLMModelEnum[\"CLAUDEHAIKU\"] = \"CLAUDEHAIKU\";\n LLMModelEnum[\"GEMINI25FLASH\"] = \"GEMINI25FLASH\";\n LLMModelEnum[\"GEMINI25PRO\"] = \"GEMINI25PRO\";\n LLMModelEnum[\"GEMINI20FLASH\"] = \"GEMINI20FLASH\";\n LLMModelEnum[\"GEMINI20FLASHLITE\"] = \"GEMINI20FLASHLITE\";\n})(LLMModelEnum || (LLMModelEnum = {}));\nexport const LLMModelType = {\n GPT35TURBO: \"GPT35TURBO\",\n GPT4TURBO: \"GPT4TURBO\",\n GPT4O: \"GPT4O\",\n GPT41: \"GPT41\",\n GPT41MINI: \"GPT41MINI\",\n GPT41NANO: \"GPT41NANO\",\n LLAMA3: \"LLAMA3\",\n CLAUDEOPUS: \"CLAUDEOPUS\",\n CLAUDESONNET: \"CLAUDESONNET\",\n CLAUDEHAIKU: \"CLAUDEHAIKU\",\n GEMINI25FLASH: \"GEMINI25FLASH\",\n GEMINI25PRO: \"GEMINI25PRO\",\n GEMINI20FLASH: \"GEMINI20FLASH\",\n GEMINI20FLASHLITE: \"GEMINI20FLASHLITE\",\n};\nexport var LLMMappings;\n(function (LLMMappings) {\n LLMMappings[\"GPT35TURBO\"] = \"gpt-3.5-turbo\";\n LLMMappings[\"GPT4TURBO\"] = \"gpt-4-turbo\";\n LLMMappings[\"GPT4O\"] = \"gpt-4o\";\n LLMMappings[\"GPT41\"] = \"gpt-4.1-2025-04-14\";\n LLMMappings[\"GPT41MINI\"] = \"gpt-4.1-mini-2025-04-14\";\n LLMMappings[\"GPT41NANO\"] = \"gpt-4.1-nano-2025-04-14\";\n LLMMappings[\"LLAMA3\"] = \"llama3\";\n LLMMappings[\"CLAUDEOPUS\"] = \"claude-3-opus-20240229\";\n LLMMappings[\"CLAUDESONNET\"] = \"claude-3-7-sonnet-20250219\";\n LLMMappings[\"CLAUDEHAIKU\"] = \"claude-3-5-haiku-20241022\";\n LLMMappings[\"GEMINI25FLASH\"] = \"gemini-2.5-flash-preview-04-17\";\n LLMMappings[\"GEMINI25PRO\"] = \"gemini-2.5-pro-preview-03-25\";\n LLMMappings[\"GEMINI20FLASH\"] = \"gemini-2.0-flash\";\n LLMMappings[\"GEMINI20FLASHLITE\"] = \"gemini-2.0-flash-lite\";\n})(LLMMappings || (LLMMappings = {}));\nexport const OpenAIModels = [\n LLMModelEnum.GPT35TURBO,\n LLMModelEnum.GPT4TURBO,\n LLMModelEnum.GPT4O,\n LLMModelEnum.GPT41,\n LLMModelEnum.GPT41MINI,\n LLMModelEnum.GPT41NANO,\n];\nexport const ClaudeModels = [\n LLMModelEnum.CLAUDEOPUS,\n LLMModelEnum.CLAUDESONNET,\n LLMModelEnum.CLAUDEHAIKU,\n];\nexport const GeminiModels = [\n LLMModelEnum.GEMINI25FLASH,\n LLMModelEnum.GEMINI25PRO,\n LLMModelEnum.GEMINI20FLASH,\n LLMModelEnum.GEMINI20FLASHLITE,\n];\n","/**\n * Helper to get episodic node properties for Cypher RETURN clause (excludes embeddings)\n * Usage in Cypher: RETURN ${EPISODIC_NODE_PROPERTIES} as episode\n */\nexport const EPISODIC_NODE_PROPERTIES = `{\n uuid: e.uuid,\n content: e.content,\n originalContent: e.originalContent,\n source: e.source,\n metadata: e.metadata,\n createdAt: e.createdAt,\n userId: e.userId,\n sessionId: e.sessionId,\n queueId: e.queueId,\n labelIds: e.labelIds,\n validAt: e.validAt,\n recallCount: e.recallCount,\n type: e.type,\n chunkIndex: e.chunkIndex,\n totalChunks: e.totalChunks,\n version: e.version,\n contentHash: e.contentHash,\n previousVersionSessionId: e.previousVersionSessionId,\n chunkHashes: e.chunkHashes\n}`;\nexport const STATEMENT_NODE_PROPERTIES = `{\n uuid: s.uuid,\n fact: s.fact,\n createdAt: s.createdAt,\n userId: s.userId,\n validAt: s.validAt,\n invalidAt: s.invalidAt,\n invalidatedBy: s.invalidatedBy,\n attributes: s.attributes,\n aspect: s.aspect,\n recallCount: s.recallCount,\n provenanceCount: s.provenanceCount\n}`;\nexport const ENTITY_NODE_PROPERTIES = `{\n uuid: ent.uuid,\n name: ent.name,\n type: ent.type,\n createdAt: ent.createdAt,\n userId: ent.userId,\n attributes: ent.attributes\n}`;\nexport const COMPACTED_SESSION_NODE_PROPERTIES = `{\n uuid: cs.uuid,\n sessionId: cs.sessionId,\n summary: cs.summary,\n episodeCount: cs.episodeCount,\n startTime: cs.startTime,\n endTime: cs.endTime,\n createdAt: cs.createdAt,\n updatedAt: cs.updatedAt,\n confidence: cs.confidence,\n userId: cs.userId,\n source: cs.source,\n compressionRatio: cs.compressionRatio,\n metadata: cs.metadata\n}`;\n/**\n * Entity types for the knowledge graph (10 types)\n * Only NAMED, SEARCHABLE entities - no generic vocabulary\n */\nexport const EntityTypes = [\n \"Person\", // People: Sarah, John, Dr. Chen, Mike\n \"Organization\", // Companies/teams: Google, Red Planet, Design Team\n \"Place\", // Locations: Bangalore, San Francisco, Office HQ\n \"Event\", // Occurrences: React Conference, Q2 Planning, Sprint Review\n \"Project\", // Work initiatives: CORE, MVP, Website Redesign\n \"Task\", // Tracked items: CORE-123, Issue #456, TODO-789\n \"Technology\", // Tools/frameworks: TypeScript, PostgreSQL, React, Neo4j\n \"Product\", // Products/services: iPhone, Slack, ChatGPT, Figma\n \"Standard\", // Methodologies: OAuth 2.0, REST API, Agile, SOLID\n \"Concept\", // Abstract topics: Fat Loss, Code Review, Search Pipeline\n \"Predicate\", // Relationships: \"works at\", \"lives in\", \"manages\"\n];\n/**\n * Statement aspects for classification\n * These are the types of knowledge a statement can represent\n *\n * Categories:\n * 1. Identity - Who they are (slow-changing): role, location, affiliation\n * 2. Knowledge - What they know: expertise, skills, understanding\n * 3. Belief - Why they think that way: values, opinions, reasoning\n * 4. Preference - How they want things: likes, dislikes, style choices\n * 5. Action - What they do: observable behaviors, habits, practices\n * 6. Goal - What they want to achieve: future targets, aims\n * 7. Directive - Rules and automation: always do X, notify when Y, remind me to Z\n * 8. Decision - Choices made, conclusions reached\n * 9. Event - Specific occurrences with timestamps\n * 10. Problem - Blockers, issues, challenges\n * 11. Relationship - Connections between people\n */\nexport const StatementAspects = [\n \"Identity\", // Who they are - role, location, affiliation (slow-changing)\n \"Knowledge\", // What they know - expertise, skills, understanding\n \"Belief\", // Why they think that way - values, opinions, reasoning\n \"Preference\", // How they want things - likes, dislikes, style choices\n \"Action\", // What they do - observable behaviors, habits, practices\n \"Goal\", // What they want to achieve - future targets, aims\n \"Directive\", // Rules and automation - always do X, notify when Y, remind me to Z\n \"Decision\", // Choices made, conclusions reached\n \"Event\", // Specific occurrences with timestamps\n \"Problem\", // Blockers, issues, challenges\n \"Relationship\", // Connections between people\n];\nexport var EpisodeTypeEnum;\n(function (EpisodeTypeEnum) {\n EpisodeTypeEnum[\"CONVERSATION\"] = \"CONVERSATION\";\n EpisodeTypeEnum[\"DOCUMENT\"] = \"DOCUMENT\";\n})(EpisodeTypeEnum || (EpisodeTypeEnum = {}));\nexport const EpisodeType = {\n CONVERSATION: \"CONVERSATION\",\n DOCUMENT: \"DOCUMENT\",\n IMAGE: \"IMAGE\",\n};\n","export var ActionStatusEnum;\n(function (ActionStatusEnum) {\n ActionStatusEnum[\"ACCEPT\"] = \"ACCEPT\";\n ActionStatusEnum[\"DECLINE\"] = \"DECLINE\";\n ActionStatusEnum[\"QUESTION\"] = \"QUESTION\";\n ActionStatusEnum[\"TOOL_REQUEST\"] = \"TOOL_REQUEST\";\n ActionStatusEnum[\"SUCCESS\"] = \"SUCCESS\";\n ActionStatusEnum[\"FAILED\"] = \"FAILED\";\n})(ActionStatusEnum || (ActionStatusEnum = {}));\nexport const ActionStatus = {\n ACCEPT: \"ACCEPT\",\n DECLINE: \"DECLINE\",\n QUESTION: \"QUESTION\",\n TOOL_REQUEST: \"TOOL_REQUEST\",\n SUCCESS: \"SUCCESS\",\n FAILED: \"FAILED\",\n};\n","export class OAuth2Params {\n}\nexport class APIKeyParams {\n}\n","export var IntegrationEventType;\n(function (IntegrationEventType) {\n /**\n * Processes authentication data and returns tokens/credentials to be saved\n */\n IntegrationEventType[\"SETUP\"] = \"setup\";\n /**\n * Processing incoming data from the integration\n */\n IntegrationEventType[\"PROCESS\"] = \"process\";\n /**\n * Identifying which account a webhook belongs to\n */\n IntegrationEventType[\"IDENTIFY\"] = \"identify\";\n /**\n * Scheduled synchronization of data\n */\n IntegrationEventType[\"SYNC\"] = \"sync\";\n /**\n * For returning integration metadata/config\n */\n IntegrationEventType[\"SPEC\"] = \"spec\";\n /**\n * Get available MCP tools for this integration\n */\n IntegrationEventType[\"GET_TOOLS\"] = \"get-tools\";\n /**\n * Call a specific MCP tool\n */\n IntegrationEventType[\"CALL_TOOL\"] = \"call-tool\";\n})(IntegrationEventType || (IntegrationEventType = {}));\nexport class Spec {\n}\n","export var UserTypeEnum;\n(function (UserTypeEnum) {\n UserTypeEnum[\"Agent\"] = \"Agent\";\n UserTypeEnum[\"User\"] = \"User\";\n UserTypeEnum[\"System\"] = \"System\";\n})(UserTypeEnum || (UserTypeEnum = {}));\n","// Pattern types for categorization (guidelines, not restrictions)\n// LLM can suggest new pattern types beyond these categories\nexport const EXPLICIT_PATTERN_TYPES = {\n // Derived from space themes and explicit content\n THEME: \"theme\", // High-level thematic content\n TOPIC: \"topic\", // Specific subject matter\n DOMAIN: \"domain\", // Knowledge or work domains\n INTEREST_AREA: \"interest_area\", // Areas of personal interest\n};\nexport const IMPLICIT_PATTERN_TYPES = {\n // Discovered from behavioral analysis and content patterns\n PREFERENCE: \"preference\", // Personal preferences and choices\n HABIT: \"habit\", // Recurring behaviors and routines\n WORKFLOW: \"workflow\", // Work and process patterns\n COMMUNICATION_STYLE: \"communication_style\", // How user communicates\n DECISION_PATTERN: \"decision_pattern\", // Decision-making approaches\n TEMPORAL_PATTERN: \"temporal_pattern\", // Time-based behavioral patterns\n BEHAVIORAL_PATTERN: \"behavioral_pattern\", // General behavioral tendencies\n LEARNING_STYLE: \"learning_style\", // How user learns and processes info\n COLLABORATION_STYLE: \"collaboration_style\", // How user works with others\n};\n// Combined pattern types for reference\nexport const PATTERN_TYPES = Object.assign(Object.assign({}, EXPLICIT_PATTERN_TYPES), IMPLICIT_PATTERN_TYPES);\n","/**\n * Quality thresholds for filtering\n */\nexport const QUALITY_THRESHOLDS = {\n // Adaptive episode-level scoring (based on available sources)\n HIGH_QUALITY_EPISODE: 5.0, // For Episode Graph or BFS results (max score ~10+)\n MEDIUM_QUALITY_EPISODE: 1.0, // For Vector-only results (max score ~1.5)\n LOW_QUALITY_EPISODE: 0.3, // For BM25-only results (max score ~0.5)\n // Overall result confidence\n CONFIDENT_RESULT: 0.7, // High confidence, skip LLM validation\n UNCERTAIN_RESULT: 0.3, // Borderline, use LLM validation\n NO_RESULT: 0.3, // Too low, return empty\n // Score gap detection\n MINIMUM_GAP_RATIO: 0.5, // 50% score drop = gap\n};\n","import { Command } from 'commander';\nimport {\n IntegrationEventPayload,\n Spec,\n Message,\n IntegrationEventType,\n} from '@core/types';\n\nexport abstract class IntegrationCLI {\n protected program: Command;\n protected integrationName: string;\n protected version: string;\n\n constructor(integrationName: string, version: string = '1.0.0') {\n this.integrationName = integrationName;\n this.version = version;\n this.program = new Command();\n this.setupProgram();\n }\n\n private setupProgram(): void {\n this.program\n .name(`${this.integrationName}-integration`)\n .description(`${this.integrationName} integration CLI`)\n .version(this.version);\n\n this.setupSpecCommand();\n this.setupAccountCommands();\n this.setupDataCommands();\n this.setupSyncCommand();\n this.setupGetToolsCommand();\n this.setupCallToolCommand();\n }\n\n private setupAccountCommands(): void {\n this.program\n .command('setup')\n .description(`Set up a new ${this.integrationName} integration account`)\n .requiredOption(\n '--event-body <body>',\n 'Event body JSON (e.g. OAuth response or setup data)',\n )\n .requiredOption(\n '--integration-definition <definition>',\n 'Integration definition JSON',\n )\n .action(async (options) => {\n try {\n const eventBody = JSON.parse(options.eventBody);\n const integrationDefinition = JSON.parse(\n options.integrationDefinition,\n );\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.SETUP,\n eventBody,\n integrationDefinition,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error during setup:', error);\n process.exit(1);\n }\n });\n }\n\n private setupDataCommands(): void {\n this.program\n .command('process')\n .description(`Process ${this.integrationName} integration data`)\n .requiredOption('--event-data <data>', 'Event data JSON')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .action(async (options) => {\n try {\n const eventData = JSON.parse(options.eventData);\n const config = JSON.parse(options.config);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.PROCESS,\n eventBody: eventData,\n config,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error processing data:', error);\n process.exit(1);\n }\n });\n\n this.program\n .command('identify')\n .description('Identify webhook account')\n .requiredOption('--webhook-data <data>', 'Webhook data JSON')\n .requiredOption(\n '--integration-definition <definition>',\n 'Integration definition JSON',\n )\n .action(async (options) => {\n try {\n const webhookData = JSON.parse(options.webhookData);\n const integrationDefinition = JSON.parse(\n options.integrationDefinition,\n );\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.IDENTIFY,\n eventBody: webhookData,\n integrationDefinition,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error identifying account:', error);\n process.exit(1);\n }\n });\n }\n\n private setupSpecCommand(): void {\n this.program\n .command('spec')\n .description('Get integration specification')\n .action(async () => {\n try {\n const spec = await this.getSpec();\n const message: Message = {\n type: 'spec',\n data: spec,\n };\n // For spec, we keep the single message output for compatibility\n console.log(JSON.stringify(message));\n } catch (error) {\n console.error('Error getting spec:', error);\n process.exit(1);\n }\n });\n }\n\n private setupSyncCommand(): void {\n this.program\n .command('sync')\n .description('Perform scheduled sync')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .option('--state <state>', 'Integration state JSON', '{}')\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const state = options.state ? JSON.parse(options.state) : {};\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.SYNC,\n eventBody: {},\n config,\n state,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error during sync:', error);\n process.exit(1);\n }\n });\n }\n\n private setupGetToolsCommand(): void {\n this.program\n .command('get-tools')\n .description('Get available MCP tools for this integration')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .requiredOption(\n '--integration-definition <definition>',\n 'Integration definition JSON',\n )\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const integrationDefinition = JSON.parse(\n options.integrationDefinition,\n );\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.GET_TOOLS,\n eventBody: {},\n config,\n integrationDefinition,\n });\n\n console.log(JSON.stringify(messages));\n } catch (error) {\n console.error('Error getting tools:', error);\n process.exit(1);\n }\n });\n }\n\n private setupCallToolCommand(): void {\n this.program\n .command('call-tool')\n .description('Call a specific MCP tool')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .requiredOption(\n '--integration-definition <definition>',\n 'Integration definition JSON',\n )\n .requiredOption('--tool-name <name>', 'Name of the tool to call')\n .requiredOption('--tool-arguments <arguments>', 'Tool arguments as JSON')\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const integrationDefinition = JSON.parse(\n options.integrationDefinition,\n );\n const toolArguments = JSON.parse(options.toolArguments);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.CALL_TOOL,\n eventBody: {\n name: options.toolName,\n arguments: toolArguments,\n },\n config,\n integrationDefinition,\n });\n\n console.log(JSON.stringify(messages));\n } catch (error) {\n console.error('Error calling tool:', error);\n process.exit(1);\n }\n });\n }\n\n /**\n * Abstract method that must be implemented by each integration\n * This method should handle the integration-specific logic for each event type\n * and return an array of Message objects.\n */\n protected abstract handleEvent(\n eventPayload: IntegrationEventPayload,\n ): Promise<Message[]>;\n\n /**\n * Abstract method that must be implemented by each integration\n * This method should return the integration specification\n */\n protected abstract getSpec(): Promise<Spec>;\n\n /**\n * Parse and execute the CLI commands\n */\n public parse(): void {\n this.program.parse();\n }\n\n /**\n * Get the commander program instance for additional customization\n */\n public getProgram(): Command {\n return this.program;\n }\n}\n","import { z } from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Ingest\n// ---------------------------------------------------------------------------\n\nexport const IngestInputSchema = z.object({\n episodeBody: z.string(),\n referenceTime: z.string(),\n metadata: z\n .record(z.union([z.string(), z.number(), z.boolean()]))\n .optional(),\n source: z.string(),\n labelIds: z.array(z.string()).optional(),\n sessionId: z.string().optional(),\n type: z\n .enum([\"CONVERSATION\", \"DOCUMENT\"])\n .default(\"CONVERSATION\"),\n title: z.string().optional(),\n});\n\nexport type IngestInput = z.infer<typeof IngestInputSchema>;\n\nexport const IngestResponseSchema = z.object({\n success: z.boolean(),\n id: z.string(),\n});\n\nexport type IngestResponse = z.infer<typeof IngestResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Search\n// ---------------------------------------------------------------------------\n\nexport const SearchInputSchema = z.object({\n query: z.string(),\n startTime: z.string().optional(),\n endTime: z.string().optional(),\n labelIds: z.array(z.string()).optional(),\n limit: z.number().optional(),\n structured: z.boolean().optional(),\n sortBy: z.enum([\"relevance\", \"recency\"]).optional(),\n});\n\nexport type SearchInput = z.infer<typeof SearchInputSchema>;\n\nexport const SearchResponseSchema = z.record(z.unknown());\n\nexport type SearchResponse = z.infer<typeof SearchResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Me\n// ---------------------------------------------------------------------------\n\nexport const MeResponseSchema = z.object({\n id: z.string(),\n name: z.string().nullable().optional(),\n persona: z.string().nullable().optional(),\n workspaceId: z.string().nullable().optional(),\n phoneNumber: z.string().nullable().optional(),\n email: z.string().nullable().optional(),\n timezone: z.string().nullable().optional(),\n metadata: z.record(z.unknown()).nullable().optional(),\n});\n\nexport type MeResponse = z.infer<typeof MeResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Get Integrations Connected\n// ---------------------------------------------------------------------------\n\nexport const IntegrationAccountSchema = z\n .object({\n id: z.string(),\n name: z.string().optional(),\n slug: z.string().optional(),\n })\n .passthrough();\n\nexport const GetIntegrationsConnectedResponseSchema = z.object({\n accounts: z.array(IntegrationAccountSchema),\n});\n\nexport type GetIntegrationsConnectedResponse = z.infer<\n typeof GetIntegrationsConnectedResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Get Integration Actions\n// ---------------------------------------------------------------------------\n\nexport const GetIntegrationActionsInputSchema = z.object({\n accountId: z.string(),\n query: z.string().optional(),\n});\n\nexport type GetIntegrationActionsInput = z.infer<\n typeof GetIntegrationActionsInputSchema\n>;\n\nexport const GetIntegrationActionsResponseSchema = z.object({\n actions: z.array(z.unknown()),\n});\n\nexport type GetIntegrationActionsResponse = z.infer<\n typeof GetIntegrationActionsResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Execute Integration Action\n// ---------------------------------------------------------------------------\n\nexport const ExecuteIntegrationActionInputSchema = z.object({\n accountId: z.string(),\n action: z.string(),\n parameters: z.record(z.unknown()).optional(),\n});\n\nexport type ExecuteIntegrationActionInput = z.infer<\n typeof ExecuteIntegrationActionInputSchema\n>;\n\nexport const ExecuteIntegrationActionResponseSchema = z.object({\n result: z.unknown(),\n});\n\nexport type ExecuteIntegrationActionResponse = z.infer<\n typeof ExecuteIntegrationActionResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Documents\n// ---------------------------------------------------------------------------\n\nexport const GetDocumentsInputSchema = z.object({\n page: z.number().optional(),\n limit: z.number().optional(),\n source: z.string().optional(),\n status: z.string().optional(),\n type: z.string().optional(),\n sessionId: z.string().optional(),\n label: z.string().optional(),\n cursor: z.string().optional(),\n});\n\nexport type GetDocumentsInput = z.infer<typeof GetDocumentsInputSchema>;\n\nexport const DocumentSchema = z\n .object({\n id: z.string(),\n title: z.string().nullable().optional(),\n createdAt: z.string().optional(),\n sessionId: z.string().nullable().optional(),\n source: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const GetDocumentsResponseSchema = z.object({\n documents: z.array(DocumentSchema),\n page: z.number(),\n limit: z.number(),\n hasMore: z.boolean(),\n nextCursor: z.string().nullable(),\n availableSources: z.array(\n z.object({ name: z.string(), slug: z.string() }),\n ),\n totalCount: z.number(),\n});\n\nexport type GetDocumentsResponse = z.infer<\n typeof GetDocumentsResponseSchema\n>;\n\nexport const GetDocumentInputSchema = z.object({\n documentId: z.string(),\n});\n\nexport type GetDocumentInput = z.infer<typeof GetDocumentInputSchema>;\n\nexport const GetDocumentResponseSchema = z.object({\n document: DocumentSchema.nullable(),\n});\n\nexport type GetDocumentResponse = z.infer<\n typeof GetDocumentResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Auth – Authorization Code\n// ---------------------------------------------------------------------------\n\nexport const AuthorizationCodeResponseSchema = z.object({\n authorizationCode: z.string(),\n url: z.string(),\n});\n\nexport type AuthorizationCodeResponse = z.infer<\n typeof AuthorizationCodeResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Auth – Token Exchange\n// ---------------------------------------------------------------------------\n\nexport const TokenExchangeInputSchema = z.object({\n authorizationCode: z.string(),\n});\n\nexport type TokenExchangeInput = z.infer<\n typeof TokenExchangeInputSchema\n>;\n\nexport const TokenExchangeResponseSchema = z.object({\n token: z\n .object({\n token: z.string(),\n obfuscatedToken: z.string(),\n })\n .nullable(),\n});\n\nexport type TokenExchangeResponse = z.infer<\n typeof TokenExchangeResponseSchema\n>;\n","import { randomUUID } from \"node:crypto\";\n\nimport type {\n IngestInput,\n IngestResponse,\n SearchInput,\n SearchResponse,\n MeResponse,\n GetIntegrationsConnectedResponse,\n GetIntegrationActionsInput,\n GetIntegrationActionsResponse,\n ExecuteIntegrationActionInput,\n ExecuteIntegrationActionResponse,\n GetDocumentsInput,\n GetDocumentsResponse,\n GetDocumentInput,\n GetDocumentResponse,\n AuthorizationCodeResponse,\n TokenExchangeInput,\n TokenExchangeResponse,\n} from \"./schemas\";\n\nexport interface CoreClientOptions {\n baseUrl: string;\n token: string;\n}\n\nexport class CoreClientError extends Error {\n statusCode: number;\n\n constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"CoreClientError\";\n this.statusCode = statusCode;\n }\n}\n\nexport class CoreClient {\n private baseUrl: string;\n private token: string;\n\n constructor(options: CoreClientOptions) {\n this.baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n this.token = options.token;\n }\n\n private async request<T>(\n method: \"GET\" | \"POST\",\n path: string,\n options?: { body?: unknown; searchParams?: Record<string, string> },\n ): Promise<T> {\n let url = `${this.baseUrl}${path}`;\n\n if (options?.searchParams) {\n const params = new URLSearchParams(options.searchParams);\n const query = params.toString();\n if (query) url += `?${query}`;\n }\n\n const response = await fetch(url, {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.token}`,\n },\n ...(options?.body ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n let errorMessage: string;\n try {\n const errorBody = await response.json();\n errorMessage = errorBody.error || JSON.stringify(errorBody);\n } catch {\n errorMessage = await response.text();\n }\n throw new CoreClientError(errorMessage, response.status);\n }\n\n return response.json() as Promise<T>;\n }\n\n /**\n * Send a request without an Authorization header.\n * Used for public endpoints like authorization-code and token exchange.\n */\n private async requestPublic<T>(\n method: \"GET\" | \"POST\",\n path: string,\n options?: { body?: unknown },\n ): Promise<T> {\n const url = `${this.baseUrl}${path}`;\n\n const response = await fetch(url, {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n ...(options?.body ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n let errorMessage: string;\n try {\n const errorBody = await response.json();\n errorMessage = errorBody.error || JSON.stringify(errorBody);\n } catch {\n errorMessage = await response.text();\n }\n throw new CoreClientError(errorMessage, response.status);\n }\n\n return response.json() as Promise<T>;\n }\n\n /**\n * Get the authenticated user's profile info.\n * GET /api/v1/me\n */\n async me(): Promise<MeResponse> {\n return this.request<MeResponse>(\"GET\", \"/api/v1/me\");\n }\n\n /**\n * Store a conversation or document in memory.\n * POST /api/v1/add\n */\n async ingest(body: IngestInput): Promise<IngestResponse> {\n return this.request<IngestResponse>(\"POST\", \"/api/v1/add\", { body });\n }\n\n /**\n * Search memory with a query and optional filters.\n * POST /api/v1/search\n */\n async search(body: SearchInput): Promise<SearchResponse> {\n return this.request<SearchResponse>(\"POST\", \"/api/v1/search\", { body });\n }\n\n /**\n * List all connected integration accounts for the workspace.\n * GET /api/v1/integration_account\n */\n async getIntegrationsConnected(): Promise<GetIntegrationsConnectedResponse> {\n return this.request<GetIntegrationsConnectedResponse>(\n \"GET\",\n \"/api/v1/integration_account\",\n );\n }\n\n /**\n * Get relevant actions for a specific integration account.\n * GET /api/v1/integration_account/:accountId/action?query=...\n */\n async getIntegrationActions(\n params: GetIntegrationActionsInput,\n ): Promise<GetIntegrationActionsResponse> {\n const searchParams: Record<string, string> = {};\n if (params.query) searchParams.query = params.query;\n\n return this.request<GetIntegrationActionsResponse>(\n \"GET\",\n `/api/v1/integration_account/${params.accountId}/action`,\n { searchParams: Object.keys(searchParams).length > 0 ? searchParams : undefined },\n );\n }\n\n /**\n * Execute an action on an integration account.\n * POST /api/v1/integration_account/:accountId/action\n */\n async executeIntegrationAction(\n params: ExecuteIntegrationActionInput,\n ): Promise<ExecuteIntegrationActionResponse> {\n const { accountId, ...body } = params;\n\n return this.request<ExecuteIntegrationActionResponse>(\n \"POST\",\n `/api/v1/integration_account/${accountId}/action`,\n { body },\n );\n }\n\n /**\n * Generate a new session UUID for conversation tracking.\n * Local operation — no API call.\n */\n async getSessionId(): Promise<string> {\n return randomUUID();\n }\n\n /**\n * List documents with optional filtering and pagination.\n * GET /api/v1/documents\n */\n async getDocuments(\n params?: GetDocumentsInput,\n ): Promise<GetDocumentsResponse> {\n const searchParams: Record<string, string> = {};\n\n if (params) {\n if (params.page != null) searchParams.page = String(params.page);\n if (params.limit != null) searchParams.limit = String(params.limit);\n if (params.source) searchParams.source = params.source;\n if (params.status) searchParams.status = params.status;\n if (params.type) searchParams.type = params.type;\n if (params.sessionId) searchParams.sessionId = params.sessionId;\n if (params.label) searchParams.label = params.label;\n if (params.cursor) searchParams.cursor = params.cursor;\n }\n\n return this.request<GetDocumentsResponse>(\"GET\", \"/api/v1/documents\", {\n searchParams:\n Object.keys(searchParams).length > 0 ? searchParams : undefined,\n });\n }\n\n /**\n * Get a single document by ID.\n * GET /api/v1/documents/:documentId\n */\n async getDocument(\n params: GetDocumentInput,\n ): Promise<GetDocumentResponse> {\n return this.request<GetDocumentResponse>(\n \"GET\",\n `/api/v1/documents/${params.documentId}`,\n );\n }\n\n // -------------------------------------------------------------------------\n // Auth – Device-style login flow (public endpoints, no token required)\n // -------------------------------------------------------------------------\n\n /**\n * Request a fresh authorization code.\n * POST /api/v1/authorization-code (unauthenticated)\n *\n * The returned `url` is the page the user must visit to authorize the CLI.\n */\n async getAuthorizationCode(): Promise<AuthorizationCodeResponse> {\n return this.requestPublic<AuthorizationCodeResponse>(\n \"POST\",\n \"/api/v1/authorization-code\",\n );\n }\n\n /**\n * Exchange an authorization code for a personal access token.\n * POST /api/v1/token (unauthenticated)\n *\n * Returns `{ token: null }` while the user has not yet completed\n * the browser authorization step. Poll until `token` is non-null.\n */\n async exchangeToken(\n params: TokenExchangeInput,\n ): Promise<TokenExchangeResponse> {\n return this.requestPublic<TokenExchangeResponse>(\n \"POST\",\n \"/api/v1/token\",\n { body: params },\n );\n }\n\n /**\n * Verify that the current token is valid by calling /api/v1/me.\n * Returns the user profile on success, or throws CoreClientError on failure.\n * Useful as a health-check before launching other operations.\n */\n async checkAuth(): Promise<MeResponse> {\n return this.me();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../types/dist/llm/llm.entity.js","../../types/dist/graph/graph.entity.js","../../types/dist/conversation-execution-step/conversation-execution.entity.js","../../types/dist/oauth/params.js","../../types/dist/integration.js","../../types/dist/user/index.js","../../types/dist/pattern.js","../../types/dist/search.js","../src/integrations/integration-cli.ts","../src/schemas.ts","../src/client.ts"],"names":["LLMModelEnum","LLMModelType","GPT35TURBO","GPT4TURBO","GPT4O","GPT41","GPT41MINI","GPT41NANO","LLAMA3","CLAUDEOPUS","CLAUDESONNET","CLAUDEHAIKU","GEMINI25FLASH","GEMINI25PRO","GEMINI20FLASH","GEMINI20FLASHLITE","LLMMappings","OpenAIModels","ClaudeModels","GeminiModels","EPISODIC_NODE_PROPERTIES","STATEMENT_NODE_PROPERTIES","ENTITY_NODE_PROPERTIES","COMPACTED_SESSION_NODE_PROPERTIES","EntityTypes","StatementAspects","EpisodeTypeEnum","EpisodeType","CONVERSATION","DOCUMENT","IMAGE","ActionStatusEnum","ActionStatus","ACCEPT","DECLINE","QUESTION","TOOL_REQUEST","SUCCESS","FAILED","OAuth2Params","IntegrationEventType","Spec","UserTypeEnum","EXPLICIT_PATTERN_TYPES","THEME","TOPIC","DOMAIN","INTEREST_AREA","IMPLICIT_PATTERN_TYPES","PREFERENCE","HABIT","WORKFLOW","COMMUNICATION_STYLE","DECISION_PATTERN","TEMPORAL_PATTERN","BEHAVIORAL_PATTERN","LEARNING_STYLE","COLLABORATION_STYLE","PATTERN_TYPES","Object","assign","QUALITY_THRESHOLDS","HIGH_QUALITY_EPISODE","MEDIUM_QUALITY_EPISODE","LOW_QUALITY_EPISODE","CONFIDENT_RESULT","UNCERTAIN_RESULT","NO_RESULT","MINIMUM_GAP_RATIO","IntegrationCLI","program","integrationName","version","constructor","Command","setupProgram","name","description","setupSpecCommand","setupAccountCommands","setupDataCommands","setupSyncCommand","setupGetToolsCommand","setupCallToolCommand","command","requiredOption","action","options","eventBody","JSON","parse","integrationDefinition","messages","handleEvent","event","SETUP","message","console","log","stringify","error","process","exit","eventData","config","PROCESS","webhookData","IDENTIFY","spec","getSpec","type","data","option","state","SYNC","GET_TOOLS","toolArguments","CALL_TOOL","toolName","arguments","getProgram","IngestInputSchema","z","object","episodeBody","string","referenceTime","metadata","record","union","number","boolean","optional","source","labelIds","array","sessionId","enum","default","title","IngestResponseSchema","success","id","SearchInputSchema","query","startTime","endTime","limit","structured","sortBy","SearchResponseSchema","unknown","MeResponseSchema","nullable","persona","workspaceId","phoneNumber","email","timezone","IntegrationAccountSchema","slug","passthrough","GetIntegrationsConnectedResponseSchema","accounts","GetIntegrationActionsInputSchema","accountId","GetIntegrationActionsResponseSchema","actions","ExecuteIntegrationActionInputSchema","parameters","ExecuteIntegrationActionResponseSchema","result","GetDocumentsInputSchema","page","status","label","cursor","DocumentSchema","createdAt","GetDocumentsResponseSchema","documents","hasMore","nextCursor","availableSources","totalCount","GetDocumentInputSchema","documentId","GetDocumentResponseSchema","document","GatewayAgentInfoSchema","tools","platform","hostname","GetGatewaysResponseSchema","gateways","ExecuteGatewayInputSchema","gatewayId","intent","ExecuteGatewayToolInputSchema","params","ExecuteGatewayResponseSchema","AuthorizationCodeResponseSchema","authorizationCode","url","TokenExchangeInputSchema","TokenExchangeResponseSchema","token","obfuscatedToken","CoreClientError","Error","statusCode","CoreClient","baseUrl","replace","request","method","path","searchParams","URLSearchParams","toString","response","fetch","headers","Authorization","body","ok","errorMessage","errorBody","json","text","requestPublic","me","ingest","search","getIntegrationsConnected","getIntegrationActions","keys","length","undefined","executeIntegrationAction","getSessionId","randomUUID","getDocuments","String","getDocument","getGateways","executeGateway","executeGatewayTool","mode","getAuthorizationCode","exchangeToken","checkAuth"],"mappings":"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","file":"index.js","sourcesContent":["export var LLMModelEnum;\n(function (LLMModelEnum) {\n LLMModelEnum[\"GPT35TURBO\"] = \"GPT35TURBO\";\n LLMModelEnum[\"GPT4TURBO\"] = \"GPT4TURBO\";\n LLMModelEnum[\"GPT4O\"] = \"GPT4O\";\n LLMModelEnum[\"GPT41\"] = \"GPT41\";\n LLMModelEnum[\"GPT41MINI\"] = \"GPT41MINI\";\n LLMModelEnum[\"GPT41NANO\"] = \"GPT41NANO\";\n LLMModelEnum[\"LLAMA3\"] = \"LLAMA3\";\n LLMModelEnum[\"CLAUDEOPUS\"] = \"CLAUDEOPUS\";\n LLMModelEnum[\"CLAUDESONNET\"] = \"CLAUDESONNET\";\n LLMModelEnum[\"CLAUDEHAIKU\"] = \"CLAUDEHAIKU\";\n LLMModelEnum[\"GEMINI25FLASH\"] = \"GEMINI25FLASH\";\n LLMModelEnum[\"GEMINI25PRO\"] = \"GEMINI25PRO\";\n LLMModelEnum[\"GEMINI20FLASH\"] = \"GEMINI20FLASH\";\n LLMModelEnum[\"GEMINI20FLASHLITE\"] = \"GEMINI20FLASHLITE\";\n})(LLMModelEnum || (LLMModelEnum = {}));\nexport const LLMModelType = {\n GPT35TURBO: \"GPT35TURBO\",\n GPT4TURBO: \"GPT4TURBO\",\n GPT4O: \"GPT4O\",\n GPT41: \"GPT41\",\n GPT41MINI: \"GPT41MINI\",\n GPT41NANO: \"GPT41NANO\",\n LLAMA3: \"LLAMA3\",\n CLAUDEOPUS: \"CLAUDEOPUS\",\n CLAUDESONNET: \"CLAUDESONNET\",\n CLAUDEHAIKU: \"CLAUDEHAIKU\",\n GEMINI25FLASH: \"GEMINI25FLASH\",\n GEMINI25PRO: \"GEMINI25PRO\",\n GEMINI20FLASH: \"GEMINI20FLASH\",\n GEMINI20FLASHLITE: \"GEMINI20FLASHLITE\",\n};\nexport var LLMMappings;\n(function (LLMMappings) {\n LLMMappings[\"GPT35TURBO\"] = \"gpt-3.5-turbo\";\n LLMMappings[\"GPT4TURBO\"] = \"gpt-4-turbo\";\n LLMMappings[\"GPT4O\"] = \"gpt-4o\";\n LLMMappings[\"GPT41\"] = \"gpt-4.1-2025-04-14\";\n LLMMappings[\"GPT41MINI\"] = \"gpt-4.1-mini-2025-04-14\";\n LLMMappings[\"GPT41NANO\"] = \"gpt-4.1-nano-2025-04-14\";\n LLMMappings[\"LLAMA3\"] = \"llama3\";\n LLMMappings[\"CLAUDEOPUS\"] = \"claude-3-opus-20240229\";\n LLMMappings[\"CLAUDESONNET\"] = \"claude-3-7-sonnet-20250219\";\n LLMMappings[\"CLAUDEHAIKU\"] = \"claude-3-5-haiku-20241022\";\n LLMMappings[\"GEMINI25FLASH\"] = \"gemini-2.5-flash-preview-04-17\";\n LLMMappings[\"GEMINI25PRO\"] = \"gemini-2.5-pro-preview-03-25\";\n LLMMappings[\"GEMINI20FLASH\"] = \"gemini-2.0-flash\";\n LLMMappings[\"GEMINI20FLASHLITE\"] = \"gemini-2.0-flash-lite\";\n})(LLMMappings || (LLMMappings = {}));\nexport const OpenAIModels = [\n LLMModelEnum.GPT35TURBO,\n LLMModelEnum.GPT4TURBO,\n LLMModelEnum.GPT4O,\n LLMModelEnum.GPT41,\n LLMModelEnum.GPT41MINI,\n LLMModelEnum.GPT41NANO,\n];\nexport const ClaudeModels = [\n LLMModelEnum.CLAUDEOPUS,\n LLMModelEnum.CLAUDESONNET,\n LLMModelEnum.CLAUDEHAIKU,\n];\nexport const GeminiModels = [\n LLMModelEnum.GEMINI25FLASH,\n LLMModelEnum.GEMINI25PRO,\n LLMModelEnum.GEMINI20FLASH,\n LLMModelEnum.GEMINI20FLASHLITE,\n];\n","/**\n * Helper to get episodic node properties for Cypher RETURN clause (excludes embeddings)\n * Usage in Cypher: RETURN ${EPISODIC_NODE_PROPERTIES} as episode\n */\nexport const EPISODIC_NODE_PROPERTIES = `{\n uuid: e.uuid,\n content: e.content,\n originalContent: e.originalContent,\n source: e.source,\n metadata: e.metadata,\n createdAt: e.createdAt,\n userId: e.userId,\n workspaceId: e.workspaceId,\n sessionId: e.sessionId,\n queueId: e.queueId,\n labelIds: e.labelIds,\n validAt: e.validAt,\n recallCount: e.recallCount,\n type: e.type,\n chunkIndex: e.chunkIndex,\n totalChunks: e.totalChunks,\n version: e.version,\n contentHash: e.contentHash,\n previousVersionSessionId: e.previousVersionSessionId,\n chunkHashes: e.chunkHashes\n}`;\nexport const STATEMENT_NODE_PROPERTIES = `{\n uuid: s.uuid,\n fact: s.fact,\n createdAt: s.createdAt,\n userId: s.userId,\n workspaceId: s.workspaceId,\n validAt: s.validAt,\n invalidAt: s.invalidAt,\n invalidatedBy: s.invalidatedBy,\n attributes: s.attributes,\n aspect: s.aspect,\n recallCount: s.recallCount,\n provenanceCount: s.provenanceCount\n}`;\nexport const ENTITY_NODE_PROPERTIES = `{\n uuid: ent.uuid,\n name: ent.name,\n type: ent.type,\n createdAt: ent.createdAt,\n userId: ent.userId,\n workspaceId: ent.workspaceId,\n attributes: ent.attributes\n}`;\nexport const COMPACTED_SESSION_NODE_PROPERTIES = `{\n uuid: cs.uuid,\n sessionId: cs.sessionId,\n summary: cs.summary,\n episodeCount: cs.episodeCount,\n startTime: cs.startTime,\n endTime: cs.endTime,\n createdAt: cs.createdAt,\n updatedAt: cs.updatedAt,\n confidence: cs.confidence,\n userId: cs.userId,\n workspaceId: cs.workspaceId,\n source: cs.source,\n compressionRatio: cs.compressionRatio,\n metadata: cs.metadata\n}`;\n/**\n * Entity types for the knowledge graph (10 types)\n * Only NAMED, SEARCHABLE entities - no generic vocabulary\n */\nexport const EntityTypes = [\n \"Person\", // People: Sarah, John, Dr. Chen, Mike\n \"Organization\", // Companies/teams: Google, Red Planet, Design Team\n \"Place\", // Locations: Bangalore, San Francisco, Office HQ\n \"Event\", // Occurrences: React Conference, Q2 Planning, Sprint Review\n \"Project\", // Work initiatives: CORE, MVP, Website Redesign\n \"Task\", // Tracked items: CORE-123, Issue #456, TODO-789\n \"Technology\", // Tools/frameworks: TypeScript, PostgreSQL, React, Neo4j\n \"Product\", // Products/services: iPhone, Slack, ChatGPT, Figma\n \"Standard\", // Methodologies: OAuth 2.0, REST API, Agile, SOLID\n \"Concept\", // Abstract topics: Fat Loss, Code Review, Search Pipeline\n \"Predicate\", // Relationships: \"works at\", \"lives in\", \"manages\"\n];\n/**\n * Statement aspects for classification\n * These are the types of knowledge a statement can represent\n *\n * Categories:\n * 1. Identity - Who they are (slow-changing): role, location, affiliation\n * 2. Knowledge - What they know: expertise, skills, understanding\n * 3. Belief - Why they think that way: values, opinions, reasoning\n * 4. Preference - How they want things: likes, dislikes, style choices\n * 5. Action - What they do: observable behaviors, habits, practices\n * 6. Goal - What they want to achieve: future targets, aims\n * 7. Directive - Rules and automation: always do X, notify when Y, remind me to Z\n * 8. Decision - Choices made, conclusions reached\n * 9. Event - Specific occurrences with timestamps\n * 10. Problem - Blockers, issues, challenges\n * 11. Relationship - Connections between people\n */\nexport const StatementAspects = [\n \"Identity\", // Who they are - role, location, affiliation (slow-changing)\n \"Knowledge\", // What they know - expertise, skills, understanding\n \"Belief\", // Why they think that way - values, opinions, reasoning\n \"Preference\", // How they want things - likes, dislikes, style choices\n \"Habit\", // What they do regularly - recurring behaviors, habits, routines\n \"Goal\", // What they want to achieve - future targets, aims\n \"Directive\", // Rules and automation - always do X, notify when Y, remind me to Z\n \"Decision\", // Choices made, conclusions reached\n \"Event\", // Specific occurrences with timestamps\n \"Problem\", // Blockers, issues, challenges\n \"Relationship\", // Connections between people\n];\nexport var EpisodeTypeEnum;\n(function (EpisodeTypeEnum) {\n EpisodeTypeEnum[\"CONVERSATION\"] = \"CONVERSATION\";\n EpisodeTypeEnum[\"DOCUMENT\"] = \"DOCUMENT\";\n})(EpisodeTypeEnum || (EpisodeTypeEnum = {}));\nexport const EpisodeType = {\n CONVERSATION: \"CONVERSATION\",\n DOCUMENT: \"DOCUMENT\",\n IMAGE: \"IMAGE\",\n};\n","export var ActionStatusEnum;\n(function (ActionStatusEnum) {\n ActionStatusEnum[\"ACCEPT\"] = \"ACCEPT\";\n ActionStatusEnum[\"DECLINE\"] = \"DECLINE\";\n ActionStatusEnum[\"QUESTION\"] = \"QUESTION\";\n ActionStatusEnum[\"TOOL_REQUEST\"] = \"TOOL_REQUEST\";\n ActionStatusEnum[\"SUCCESS\"] = \"SUCCESS\";\n ActionStatusEnum[\"FAILED\"] = \"FAILED\";\n})(ActionStatusEnum || (ActionStatusEnum = {}));\nexport const ActionStatus = {\n ACCEPT: \"ACCEPT\",\n DECLINE: \"DECLINE\",\n QUESTION: \"QUESTION\",\n TOOL_REQUEST: \"TOOL_REQUEST\",\n SUCCESS: \"SUCCESS\",\n FAILED: \"FAILED\",\n};\n","export class OAuth2Params {\n}\n","export var IntegrationEventType;\n(function (IntegrationEventType) {\n /**\n * Processes authentication data and returns tokens/credentials to be saved\n */\n IntegrationEventType[\"SETUP\"] = \"setup\";\n /**\n * Processing incoming data from the integration\n */\n IntegrationEventType[\"PROCESS\"] = \"process\";\n /**\n * Identifying which account a webhook belongs to\n */\n IntegrationEventType[\"IDENTIFY\"] = \"identify\";\n /**\n * Scheduled synchronization of data\n */\n IntegrationEventType[\"SYNC\"] = \"sync\";\n /**\n * For returning integration metadata/config\n */\n IntegrationEventType[\"SPEC\"] = \"spec\";\n /**\n * Get available MCP tools for this integration\n */\n IntegrationEventType[\"GET_TOOLS\"] = \"get-tools\";\n /**\n * Call a specific MCP tool\n */\n IntegrationEventType[\"CALL_TOOL\"] = \"call-tool\";\n})(IntegrationEventType || (IntegrationEventType = {}));\nexport class Spec {\n}\n","export var UserTypeEnum;\n(function (UserTypeEnum) {\n UserTypeEnum[\"Agent\"] = \"Agent\";\n UserTypeEnum[\"User\"] = \"User\";\n UserTypeEnum[\"System\"] = \"System\";\n})(UserTypeEnum || (UserTypeEnum = {}));\n","// Pattern types for categorization (guidelines, not restrictions)\n// LLM can suggest new pattern types beyond these categories\nexport const EXPLICIT_PATTERN_TYPES = {\n // Derived from space themes and explicit content\n THEME: \"theme\", // High-level thematic content\n TOPIC: \"topic\", // Specific subject matter\n DOMAIN: \"domain\", // Knowledge or work domains\n INTEREST_AREA: \"interest_area\", // Areas of personal interest\n};\nexport const IMPLICIT_PATTERN_TYPES = {\n // Discovered from behavioral analysis and content patterns\n PREFERENCE: \"preference\", // Personal preferences and choices\n HABIT: \"habit\", // Recurring behaviors and routines\n WORKFLOW: \"workflow\", // Work and process patterns\n COMMUNICATION_STYLE: \"communication_style\", // How user communicates\n DECISION_PATTERN: \"decision_pattern\", // Decision-making approaches\n TEMPORAL_PATTERN: \"temporal_pattern\", // Time-based behavioral patterns\n BEHAVIORAL_PATTERN: \"behavioral_pattern\", // General behavioral tendencies\n LEARNING_STYLE: \"learning_style\", // How user learns and processes info\n COLLABORATION_STYLE: \"collaboration_style\", // How user works with others\n};\n// Combined pattern types for reference\nexport const PATTERN_TYPES = Object.assign(Object.assign({}, EXPLICIT_PATTERN_TYPES), IMPLICIT_PATTERN_TYPES);\n","/**\n * Quality thresholds for filtering\n */\nexport const QUALITY_THRESHOLDS = {\n // Adaptive episode-level scoring (based on available sources)\n HIGH_QUALITY_EPISODE: 5.0, // For Episode Graph or BFS results (max score ~10+)\n MEDIUM_QUALITY_EPISODE: 1.0, // For Vector-only results (max score ~1.5)\n LOW_QUALITY_EPISODE: 0.3, // For BM25-only results (max score ~0.5)\n // Overall result confidence\n CONFIDENT_RESULT: 0.7, // High confidence, skip LLM validation\n UNCERTAIN_RESULT: 0.3, // Borderline, use LLM validation\n NO_RESULT: 0.3, // Too low, return empty\n // Score gap detection\n MINIMUM_GAP_RATIO: 0.5, // 50% score drop = gap\n};\n","import { Command } from 'commander';\nimport { IntegrationEventPayload, Spec, Message, IntegrationEventType } from '@core/types';\n\nexport abstract class IntegrationCLI {\n protected program: Command;\n protected integrationName: string;\n protected version: string;\n\n constructor(integrationName: string, version: string = '1.0.0') {\n this.integrationName = integrationName;\n this.version = version;\n this.program = new Command();\n this.setupProgram();\n }\n\n private setupProgram(): void {\n this.program\n .name(`${this.integrationName}-integration`)\n .description(`${this.integrationName} integration CLI`)\n .version(this.version);\n\n this.setupSpecCommand();\n this.setupAccountCommands();\n this.setupDataCommands();\n this.setupSyncCommand();\n this.setupGetToolsCommand();\n this.setupCallToolCommand();\n }\n\n private setupAccountCommands(): void {\n this.program\n .command('setup')\n .description(`Set up a new ${this.integrationName} integration account`)\n .requiredOption('--event-body <body>', 'Event body JSON (e.g. OAuth response or setup data)')\n .requiredOption('--integration-definition <definition>', 'Integration definition JSON')\n .action(async (options) => {\n try {\n const eventBody = JSON.parse(options.eventBody);\n const integrationDefinition = JSON.parse(options.integrationDefinition);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.SETUP,\n eventBody,\n integrationDefinition,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error during setup:', error);\n process.exit(1);\n }\n });\n }\n\n private setupDataCommands(): void {\n this.program\n .command('process')\n .description(`Process ${this.integrationName} integration data`)\n .requiredOption('--event-data <data>', 'Event data JSON')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .action(async (options) => {\n try {\n const eventData = JSON.parse(options.eventData);\n const config = JSON.parse(options.config);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.PROCESS,\n eventBody: eventData,\n config,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error processing data:', error);\n process.exit(1);\n }\n });\n\n this.program\n .command('identify')\n .description('Identify webhook account')\n .requiredOption('--webhook-data <data>', 'Webhook data JSON')\n .requiredOption('--integration-definition <definition>', 'Integration definition JSON')\n .action(async (options) => {\n try {\n const webhookData = JSON.parse(options.webhookData);\n const integrationDefinition = JSON.parse(options.integrationDefinition);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.IDENTIFY,\n eventBody: webhookData,\n integrationDefinition,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error identifying account:', error);\n process.exit(1);\n }\n });\n }\n\n private setupSpecCommand(): void {\n this.program\n .command('spec')\n .description('Get integration specification')\n .action(async () => {\n try {\n const spec = await this.getSpec();\n const message: Message = {\n type: 'spec',\n data: spec,\n };\n // For spec, we keep the single message output for compatibility\n console.log(JSON.stringify(message));\n } catch (error) {\n console.error('Error getting spec:', error);\n process.exit(1);\n }\n });\n }\n\n private setupSyncCommand(): void {\n this.program\n .command('sync')\n .description('Perform scheduled sync')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .option('--state <state>', 'Integration state JSON', '{}')\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const state = options.state ? JSON.parse(options.state) : {};\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.SYNC,\n eventBody: {},\n config,\n state,\n });\n\n for (const message of messages) {\n console.log(JSON.stringify(message));\n }\n } catch (error) {\n console.error('Error during sync:', error);\n process.exit(1);\n }\n });\n }\n\n private setupGetToolsCommand(): void {\n this.program\n .command('get-tools')\n .description('Get available MCP tools for this integration')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .requiredOption('--integration-definition <definition>', 'Integration definition JSON')\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const integrationDefinition = JSON.parse(options.integrationDefinition);\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.GET_TOOLS,\n eventBody: {},\n config,\n integrationDefinition,\n });\n\n console.log(JSON.stringify(messages));\n } catch (error) {\n console.error('Error getting tools:', error);\n process.exit(1);\n }\n });\n }\n\n private setupCallToolCommand(): void {\n this.program\n .command('call-tool')\n .description('Call a specific MCP tool')\n .requiredOption('--config <config>', 'Integration configuration JSON')\n .requiredOption('--integration-definition <definition>', 'Integration definition JSON')\n .requiredOption('--tool-name <name>', 'Name of the tool to call')\n .requiredOption('--tool-arguments <arguments>', 'Tool arguments as JSON')\n .action(async (options) => {\n try {\n const config = JSON.parse(options.config);\n const integrationDefinition = JSON.parse(options.integrationDefinition);\n const toolArguments = JSON.parse(options.toolArguments);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.CALL_TOOL,\n eventBody: {\n name: options.toolName,\n arguments: toolArguments,\n },\n config,\n integrationDefinition,\n });\n\n console.log(JSON.stringify(messages));\n } catch (error) {\n console.error('Error calling tool:', error);\n process.exit(1);\n }\n });\n }\n\n /**\n * Abstract method that must be implemented by each integration\n * This method should handle the integration-specific logic for each event type\n * and return an array of Message objects.\n */\n protected abstract handleEvent(eventPayload: IntegrationEventPayload): Promise<Message[]>;\n\n /**\n * Abstract method that must be implemented by each integration\n * This method should return the integration specification\n */\n protected abstract getSpec(): Promise<Spec>;\n\n /**\n * Parse and execute the CLI commands\n */\n public parse(): void {\n this.program.parse();\n }\n\n /**\n * Get the commander program instance for additional customization\n */\n public getProgram(): Command {\n return this.program;\n }\n}\n","import { z } from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Ingest\n// ---------------------------------------------------------------------------\n\nexport const IngestInputSchema = z.object({\n episodeBody: z.string(),\n referenceTime: z.string(),\n metadata: z\n .record(z.union([z.string(), z.number(), z.boolean()]))\n .optional(),\n source: z.string(),\n labelIds: z.array(z.string()).optional(),\n sessionId: z.string().optional(),\n type: z\n .enum([\"CONVERSATION\", \"DOCUMENT\"])\n .default(\"CONVERSATION\"),\n title: z.string().optional(),\n});\n\nexport type IngestInput = z.infer<typeof IngestInputSchema>;\n\nexport const IngestResponseSchema = z.object({\n success: z.boolean(),\n id: z.string(),\n});\n\nexport type IngestResponse = z.infer<typeof IngestResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Search\n// ---------------------------------------------------------------------------\n\nexport const SearchInputSchema = z.object({\n query: z.string(),\n startTime: z.string().optional(),\n endTime: z.string().optional(),\n labelIds: z.array(z.string()).optional(),\n limit: z.number().optional(),\n structured: z.boolean().optional(),\n sortBy: z.enum([\"relevance\", \"recency\"]).optional(),\n});\n\nexport type SearchInput = z.infer<typeof SearchInputSchema>;\n\nexport const SearchResponseSchema = z.record(z.unknown());\n\nexport type SearchResponse = z.infer<typeof SearchResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Me\n// ---------------------------------------------------------------------------\n\nexport const MeResponseSchema = z.object({\n id: z.string(),\n name: z.string().nullable().optional(),\n persona: z.string().nullable().optional(),\n workspaceId: z.string().nullable().optional(),\n phoneNumber: z.string().nullable().optional(),\n email: z.string().nullable().optional(),\n timezone: z.string().nullable().optional(),\n metadata: z.record(z.unknown()).nullable().optional(),\n});\n\nexport type MeResponse = z.infer<typeof MeResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Get Integrations Connected\n// ---------------------------------------------------------------------------\n\nexport const IntegrationAccountSchema = z\n .object({\n id: z.string(),\n name: z.string().optional(),\n slug: z.string().optional(),\n })\n .passthrough();\n\nexport const GetIntegrationsConnectedResponseSchema = z.object({\n accounts: z.array(IntegrationAccountSchema),\n});\n\nexport type GetIntegrationsConnectedResponse = z.infer<\n typeof GetIntegrationsConnectedResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Get Integration Actions\n// ---------------------------------------------------------------------------\n\nexport const GetIntegrationActionsInputSchema = z.object({\n accountId: z.string(),\n query: z.string().optional(),\n});\n\nexport type GetIntegrationActionsInput = z.infer<\n typeof GetIntegrationActionsInputSchema\n>;\n\nexport const GetIntegrationActionsResponseSchema = z.object({\n actions: z.array(z.unknown()),\n});\n\nexport type GetIntegrationActionsResponse = z.infer<\n typeof GetIntegrationActionsResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Execute Integration Action\n// ---------------------------------------------------------------------------\n\nexport const ExecuteIntegrationActionInputSchema = z.object({\n accountId: z.string(),\n action: z.string(),\n parameters: z.record(z.unknown()).optional(),\n});\n\nexport type ExecuteIntegrationActionInput = z.infer<\n typeof ExecuteIntegrationActionInputSchema\n>;\n\nexport const ExecuteIntegrationActionResponseSchema = z.object({\n result: z.unknown(),\n});\n\nexport type ExecuteIntegrationActionResponse = z.infer<\n typeof ExecuteIntegrationActionResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Documents\n// ---------------------------------------------------------------------------\n\nexport const GetDocumentsInputSchema = z.object({\n page: z.number().optional(),\n limit: z.number().optional(),\n source: z.string().optional(),\n status: z.string().optional(),\n type: z.string().optional(),\n sessionId: z.string().optional(),\n label: z.string().optional(),\n cursor: z.string().optional(),\n});\n\nexport type GetDocumentsInput = z.infer<typeof GetDocumentsInputSchema>;\n\nexport const DocumentSchema = z\n .object({\n id: z.string(),\n title: z.string().nullable().optional(),\n createdAt: z.string().optional(),\n sessionId: z.string().nullable().optional(),\n source: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const GetDocumentsResponseSchema = z.object({\n documents: z.array(DocumentSchema),\n page: z.number(),\n limit: z.number(),\n hasMore: z.boolean(),\n nextCursor: z.string().nullable(),\n availableSources: z.array(\n z.object({ name: z.string(), slug: z.string() }),\n ),\n totalCount: z.number(),\n});\n\nexport type GetDocumentsResponse = z.infer<\n typeof GetDocumentsResponseSchema\n>;\n\nexport const GetDocumentInputSchema = z.object({\n documentId: z.string(),\n});\n\nexport type GetDocumentInput = z.infer<typeof GetDocumentInputSchema>;\n\nexport const GetDocumentResponseSchema = z.object({\n document: DocumentSchema.nullable(),\n});\n\nexport type GetDocumentResponse = z.infer<\n typeof GetDocumentResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Gateways\n// ---------------------------------------------------------------------------\n\nexport const GatewayAgentInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n tools: z.array(z.string()),\n platform: z.string().nullable(),\n hostname: z.string().nullable(),\n status: z.enum([\"CONNECTED\", \"DISCONNECTED\"]),\n});\n\nexport type GatewayAgentInfo = z.infer<typeof GatewayAgentInfoSchema>;\n\nexport const GetGatewaysResponseSchema = z.object({\n gateways: z.array(GatewayAgentInfoSchema),\n});\n\nexport type GetGatewaysResponse = z.infer<typeof GetGatewaysResponseSchema>;\n\nexport const ExecuteGatewayInputSchema = z.object({\n gatewayId: z.string(),\n intent: z.string(),\n});\n\nexport type ExecuteGatewayInput = z.infer<typeof ExecuteGatewayInputSchema>;\n\nexport const ExecuteGatewayToolInputSchema = z.object({\n gatewayId: z.string(),\n toolName: z.string(),\n params: z.record(z.unknown()),\n});\n\nexport type ExecuteGatewayToolInput = z.infer<typeof ExecuteGatewayToolInputSchema>;\n\nexport const ExecuteGatewayResponseSchema = z.object({\n result: z.unknown(),\n});\n\nexport type ExecuteGatewayResponse = z.infer<typeof ExecuteGatewayResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Auth – Authorization Code\n// ---------------------------------------------------------------------------\n\nexport const AuthorizationCodeResponseSchema = z.object({\n authorizationCode: z.string(),\n url: z.string(),\n});\n\nexport type AuthorizationCodeResponse = z.infer<\n typeof AuthorizationCodeResponseSchema\n>;\n\n// ---------------------------------------------------------------------------\n// Auth – Token Exchange\n// ---------------------------------------------------------------------------\n\nexport const TokenExchangeInputSchema = z.object({\n authorizationCode: z.string(),\n});\n\nexport type TokenExchangeInput = z.infer<\n typeof TokenExchangeInputSchema\n>;\n\nexport const TokenExchangeResponseSchema = z.object({\n token: z\n .object({\n token: z.string(),\n obfuscatedToken: z.string(),\n })\n .nullable(),\n});\n\nexport type TokenExchangeResponse = z.infer<\n typeof TokenExchangeResponseSchema\n>;\n","import { randomUUID } from \"node:crypto\";\n\nimport type {\n IngestInput,\n IngestResponse,\n SearchInput,\n SearchResponse,\n MeResponse,\n GetIntegrationsConnectedResponse,\n GetIntegrationActionsInput,\n GetIntegrationActionsResponse,\n ExecuteIntegrationActionInput,\n ExecuteIntegrationActionResponse,\n GetDocumentsInput,\n GetDocumentsResponse,\n GetDocumentInput,\n GetDocumentResponse,\n GetGatewaysResponse,\n ExecuteGatewayInput,\n ExecuteGatewayToolInput,\n ExecuteGatewayResponse,\n AuthorizationCodeResponse,\n TokenExchangeInput,\n TokenExchangeResponse,\n} from \"./schemas\";\n\nexport interface CoreClientOptions {\n baseUrl: string;\n token: string;\n}\n\nexport class CoreClientError extends Error {\n statusCode: number;\n\n constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"CoreClientError\";\n this.statusCode = statusCode;\n }\n}\n\nexport class CoreClient {\n private baseUrl: string;\n private token: string;\n\n constructor(options: CoreClientOptions) {\n this.baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n this.token = options.token;\n }\n\n private async request<T>(\n method: \"GET\" | \"POST\",\n path: string,\n options?: { body?: unknown; searchParams?: Record<string, string> },\n ): Promise<T> {\n let url = `${this.baseUrl}${path}`;\n\n if (options?.searchParams) {\n const params = new URLSearchParams(options.searchParams);\n const query = params.toString();\n if (query) url += `?${query}`;\n }\n\n const response = await fetch(url, {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.token}`,\n },\n ...(options?.body ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n let errorMessage: string;\n try {\n const errorBody = await response.json();\n errorMessage = errorBody.error || JSON.stringify(errorBody);\n } catch {\n errorMessage = await response.text();\n }\n throw new CoreClientError(errorMessage, response.status);\n }\n\n return response.json() as Promise<T>;\n }\n\n /**\n * Send a request without an Authorization header.\n * Used for public endpoints like authorization-code and token exchange.\n */\n private async requestPublic<T>(\n method: \"GET\" | \"POST\",\n path: string,\n options?: { body?: unknown },\n ): Promise<T> {\n const url = `${this.baseUrl}${path}`;\n\n const response = await fetch(url, {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n ...(options?.body ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n let errorMessage: string;\n try {\n const errorBody = await response.json();\n errorMessage = errorBody.error || JSON.stringify(errorBody);\n } catch {\n errorMessage = await response.text();\n }\n throw new CoreClientError(errorMessage, response.status);\n }\n\n return response.json() as Promise<T>;\n }\n\n /**\n * Get the authenticated user's profile info.\n * GET /api/v1/me\n */\n async me(): Promise<MeResponse> {\n return this.request<MeResponse>(\"GET\", \"/api/v1/me\");\n }\n\n /**\n * Store a conversation or document in memory.\n * POST /api/v1/add\n */\n async ingest(body: IngestInput): Promise<IngestResponse> {\n return this.request<IngestResponse>(\"POST\", \"/api/v1/add\", { body });\n }\n\n /**\n * Search memory with a query and optional filters.\n * POST /api/v1/search\n */\n async search(body: SearchInput): Promise<SearchResponse> {\n return this.request<SearchResponse>(\"POST\", \"/api/v1/search\", { body });\n }\n\n /**\n * List all connected integration accounts for the workspace.\n * GET /api/v1/integration_account\n */\n async getIntegrationsConnected(): Promise<GetIntegrationsConnectedResponse> {\n return this.request<GetIntegrationsConnectedResponse>(\n \"GET\",\n \"/api/v1/integration_account\",\n );\n }\n\n /**\n * Get relevant actions for a specific integration account.\n * GET /api/v1/integration_account/:accountId/action?query=...\n */\n async getIntegrationActions(\n params: GetIntegrationActionsInput,\n ): Promise<GetIntegrationActionsResponse> {\n const searchParams: Record<string, string> = {};\n if (params.query) searchParams.query = params.query;\n\n return this.request<GetIntegrationActionsResponse>(\n \"GET\",\n `/api/v1/integration_account/${params.accountId}/action`,\n { searchParams: Object.keys(searchParams).length > 0 ? searchParams : undefined },\n );\n }\n\n /**\n * Execute an action on an integration account.\n * POST /api/v1/integration_account/:accountId/action\n */\n async executeIntegrationAction(\n params: ExecuteIntegrationActionInput,\n ): Promise<ExecuteIntegrationActionResponse> {\n const { accountId, ...body } = params;\n\n return this.request<ExecuteIntegrationActionResponse>(\n \"POST\",\n `/api/v1/integration_account/${accountId}/action`,\n { body },\n );\n }\n\n /**\n * Generate a new session UUID for conversation tracking.\n * Local operation — no API call.\n */\n async getSessionId(): Promise<string> {\n return randomUUID();\n }\n\n /**\n * List documents with optional filtering and pagination.\n * GET /api/v1/documents\n */\n async getDocuments(\n params?: GetDocumentsInput,\n ): Promise<GetDocumentsResponse> {\n const searchParams: Record<string, string> = {};\n\n if (params) {\n if (params.page != null) searchParams.page = String(params.page);\n if (params.limit != null) searchParams.limit = String(params.limit);\n if (params.source) searchParams.source = params.source;\n if (params.status) searchParams.status = params.status;\n if (params.type) searchParams.type = params.type;\n if (params.sessionId) searchParams.sessionId = params.sessionId;\n if (params.label) searchParams.label = params.label;\n if (params.cursor) searchParams.cursor = params.cursor;\n }\n\n return this.request<GetDocumentsResponse>(\"GET\", \"/api/v1/documents\", {\n searchParams:\n Object.keys(searchParams).length > 0 ? searchParams : undefined,\n });\n }\n\n /**\n * Get a single document by ID.\n * GET /api/v1/documents/:documentId\n */\n async getDocument(\n params: GetDocumentInput,\n ): Promise<GetDocumentResponse> {\n return this.request<GetDocumentResponse>(\n \"GET\",\n `/api/v1/documents/${params.documentId}`,\n );\n }\n\n /**\n * List all connected gateways for the workspace.\n * GET /api/v1/gateways\n */\n async getGateways(): Promise<GetGatewaysResponse> {\n return this.request<GetGatewaysResponse>(\"GET\", \"/api/v1/gateways\");\n }\n\n /**\n * Run a gateway sub-agent with an intent and return the final text result.\n * POST /api/v1/gateways/:gatewayId/execute\n */\n async executeGateway(\n params: ExecuteGatewayInput,\n ): Promise<ExecuteGatewayResponse> {\n return this.request<ExecuteGatewayResponse>(\n \"POST\",\n `/api/v1/gateways/${params.gatewayId}/execute`,\n { body: { intent: params.intent } },\n );\n }\n\n /**\n * Proxy a single tool call to a gateway via server websocket.\n * POST /api/v1/gateways/:gatewayId/execute (mode: \"tool\")\n */\n async executeGatewayTool(\n params: ExecuteGatewayToolInput,\n ): Promise<ExecuteGatewayResponse> {\n return this.request<ExecuteGatewayResponse>(\n \"POST\",\n `/api/v1/gateways/${params.gatewayId}/execute`,\n { body: { mode: \"tool\", toolName: params.toolName, params: params.params } },\n );\n }\n\n // -------------------------------------------------------------------------\n // Auth – Device-style login flow (public endpoints, no token required)\n // -------------------------------------------------------------------------\n\n /**\n * Request a fresh authorization code.\n * POST /api/v1/authorization-code (unauthenticated)\n *\n * The returned `url` is the page the user must visit to authorize the CLI.\n */\n async getAuthorizationCode(): Promise<AuthorizationCodeResponse> {\n return this.requestPublic<AuthorizationCodeResponse>(\n \"POST\",\n \"/api/v1/authorization-code\",\n );\n }\n\n /**\n * Exchange an authorization code for a personal access token.\n * POST /api/v1/token (unauthenticated)\n *\n * Returns `{ token: null }` while the user has not yet completed\n * the browser authorization step. Poll until `token` is non-null.\n */\n async exchangeToken(\n params: TokenExchangeInput,\n ): Promise<TokenExchangeResponse> {\n return this.requestPublic<TokenExchangeResponse>(\n \"POST\",\n \"/api/v1/token\",\n { body: params },\n );\n }\n\n /**\n * Verify that the current token is valid by calling /api/v1/me.\n * Returns the user profile on success, or throws CoreClientError on failure.\n * Useful as a health-check before launching other operations.\n */\n async checkAuth(): Promise<MeResponse> {\n return this.me();\n }\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -85,6 +85,7 @@ var EPISODIC_NODE_PROPERTIES = `{
|
|
|
85
85
|
metadata: e.metadata,
|
|
86
86
|
createdAt: e.createdAt,
|
|
87
87
|
userId: e.userId,
|
|
88
|
+
workspaceId: e.workspaceId,
|
|
88
89
|
sessionId: e.sessionId,
|
|
89
90
|
queueId: e.queueId,
|
|
90
91
|
labelIds: e.labelIds,
|
|
@@ -103,6 +104,7 @@ var STATEMENT_NODE_PROPERTIES = `{
|
|
|
103
104
|
fact: s.fact,
|
|
104
105
|
createdAt: s.createdAt,
|
|
105
106
|
userId: s.userId,
|
|
107
|
+
workspaceId: s.workspaceId,
|
|
106
108
|
validAt: s.validAt,
|
|
107
109
|
invalidAt: s.invalidAt,
|
|
108
110
|
invalidatedBy: s.invalidatedBy,
|
|
@@ -117,6 +119,7 @@ var ENTITY_NODE_PROPERTIES = `{
|
|
|
117
119
|
type: ent.type,
|
|
118
120
|
createdAt: ent.createdAt,
|
|
119
121
|
userId: ent.userId,
|
|
122
|
+
workspaceId: ent.workspaceId,
|
|
120
123
|
attributes: ent.attributes
|
|
121
124
|
}`;
|
|
122
125
|
var COMPACTED_SESSION_NODE_PROPERTIES = `{
|
|
@@ -130,6 +133,7 @@ var COMPACTED_SESSION_NODE_PROPERTIES = `{
|
|
|
130
133
|
updatedAt: cs.updatedAt,
|
|
131
134
|
confidence: cs.confidence,
|
|
132
135
|
userId: cs.userId,
|
|
136
|
+
workspaceId: cs.workspaceId,
|
|
133
137
|
source: cs.source,
|
|
134
138
|
compressionRatio: cs.compressionRatio,
|
|
135
139
|
metadata: cs.metadata
|
|
@@ -152,7 +156,7 @@ var StatementAspects = [
|
|
|
152
156
|
"Knowledge",
|
|
153
157
|
"Belief",
|
|
154
158
|
"Preference",
|
|
155
|
-
"
|
|
159
|
+
"Habit",
|
|
156
160
|
"Goal",
|
|
157
161
|
"Directive",
|
|
158
162
|
"Decision",
|
|
@@ -196,11 +200,6 @@ var OAuth2Params = class {
|
|
|
196
200
|
__name(this, "OAuth2Params");
|
|
197
201
|
}
|
|
198
202
|
};
|
|
199
|
-
var APIKeyParams = class {
|
|
200
|
-
static {
|
|
201
|
-
__name(this, "APIKeyParams");
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
203
|
|
|
205
204
|
// ../types/dist/integration.js
|
|
206
205
|
var IntegrationEventType;
|
|
@@ -529,6 +528,33 @@ var GetDocumentInputSchema = z.object({
|
|
|
529
528
|
var GetDocumentResponseSchema = z.object({
|
|
530
529
|
document: DocumentSchema.nullable()
|
|
531
530
|
});
|
|
531
|
+
var GatewayAgentInfoSchema = z.object({
|
|
532
|
+
id: z.string(),
|
|
533
|
+
name: z.string(),
|
|
534
|
+
description: z.string(),
|
|
535
|
+
tools: z.array(z.string()),
|
|
536
|
+
platform: z.string().nullable(),
|
|
537
|
+
hostname: z.string().nullable(),
|
|
538
|
+
status: z.enum([
|
|
539
|
+
"CONNECTED",
|
|
540
|
+
"DISCONNECTED"
|
|
541
|
+
])
|
|
542
|
+
});
|
|
543
|
+
var GetGatewaysResponseSchema = z.object({
|
|
544
|
+
gateways: z.array(GatewayAgentInfoSchema)
|
|
545
|
+
});
|
|
546
|
+
var ExecuteGatewayInputSchema = z.object({
|
|
547
|
+
gatewayId: z.string(),
|
|
548
|
+
intent: z.string()
|
|
549
|
+
});
|
|
550
|
+
var ExecuteGatewayToolInputSchema = z.object({
|
|
551
|
+
gatewayId: z.string(),
|
|
552
|
+
toolName: z.string(),
|
|
553
|
+
params: z.record(z.unknown())
|
|
554
|
+
});
|
|
555
|
+
var ExecuteGatewayResponseSchema = z.object({
|
|
556
|
+
result: z.unknown()
|
|
557
|
+
});
|
|
532
558
|
var AuthorizationCodeResponseSchema = z.object({
|
|
533
559
|
authorizationCode: z.string(),
|
|
534
560
|
url: z.string()
|
|
@@ -706,6 +732,37 @@ var CoreClient = class {
|
|
|
706
732
|
async getDocument(params) {
|
|
707
733
|
return this.request("GET", `/api/v1/documents/${params.documentId}`);
|
|
708
734
|
}
|
|
735
|
+
/**
|
|
736
|
+
* List all connected gateways for the workspace.
|
|
737
|
+
* GET /api/v1/gateways
|
|
738
|
+
*/
|
|
739
|
+
async getGateways() {
|
|
740
|
+
return this.request("GET", "/api/v1/gateways");
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Run a gateway sub-agent with an intent and return the final text result.
|
|
744
|
+
* POST /api/v1/gateways/:gatewayId/execute
|
|
745
|
+
*/
|
|
746
|
+
async executeGateway(params) {
|
|
747
|
+
return this.request("POST", `/api/v1/gateways/${params.gatewayId}/execute`, {
|
|
748
|
+
body: {
|
|
749
|
+
intent: params.intent
|
|
750
|
+
}
|
|
751
|
+
});
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Proxy a single tool call to a gateway via server websocket.
|
|
755
|
+
* POST /api/v1/gateways/:gatewayId/execute (mode: "tool")
|
|
756
|
+
*/
|
|
757
|
+
async executeGatewayTool(params) {
|
|
758
|
+
return this.request("POST", `/api/v1/gateways/${params.gatewayId}/execute`, {
|
|
759
|
+
body: {
|
|
760
|
+
mode: "tool",
|
|
761
|
+
toolName: params.toolName,
|
|
762
|
+
params: params.params
|
|
763
|
+
}
|
|
764
|
+
});
|
|
765
|
+
}
|
|
709
766
|
// -------------------------------------------------------------------------
|
|
710
767
|
// Auth – Device-style login flow (public endpoints, no token required)
|
|
711
768
|
// -------------------------------------------------------------------------
|
|
@@ -740,6 +797,6 @@ var CoreClient = class {
|
|
|
740
797
|
}
|
|
741
798
|
};
|
|
742
799
|
|
|
743
|
-
export {
|
|
800
|
+
export { ActionStatus, ActionStatusEnum, AuthorizationCodeResponseSchema, COMPACTED_SESSION_NODE_PROPERTIES, ClaudeModels, CoreClient, CoreClientError, DocumentSchema, ENTITY_NODE_PROPERTIES, EPISODIC_NODE_PROPERTIES, EXPLICIT_PATTERN_TYPES, EntityTypes, EpisodeType, EpisodeTypeEnum, ExecuteGatewayInputSchema, ExecuteGatewayResponseSchema, ExecuteGatewayToolInputSchema, ExecuteIntegrationActionInputSchema, ExecuteIntegrationActionResponseSchema, GatewayAgentInfoSchema, GeminiModels, GetDocumentInputSchema, GetDocumentResponseSchema, GetDocumentsInputSchema, GetDocumentsResponseSchema, GetGatewaysResponseSchema, GetIntegrationActionsInputSchema, GetIntegrationActionsResponseSchema, GetIntegrationsConnectedResponseSchema, IMPLICIT_PATTERN_TYPES, IngestInputSchema, IngestResponseSchema, IntegrationAccountSchema, IntegrationCLI, IntegrationEventType, LLMMappings, LLMModelEnum, LLMModelType, MeResponseSchema, OAuth2Params, OpenAIModels, PATTERN_TYPES, QUALITY_THRESHOLDS, STATEMENT_NODE_PROPERTIES, SearchInputSchema, SearchResponseSchema, Spec, StatementAspects, TokenExchangeInputSchema, TokenExchangeResponseSchema, UserTypeEnum };
|
|
744
801
|
//# sourceMappingURL=index.mjs.map
|
|
745
802
|
//# sourceMappingURL=index.mjs.map
|