@redplanethq/sdk 0.1.9 → 0.1.11
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 +501 -6
- package/dist/index.d.ts +501 -6
- package/dist/index.js +369 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +347 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { randomUUID } from 'crypto';
|
|
2
4
|
|
|
3
5
|
var __defProp = Object.defineProperty;
|
|
4
6
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -105,12 +107,14 @@ var STATEMENT_NODE_PROPERTIES = `{
|
|
|
105
107
|
invalidAt: s.invalidAt,
|
|
106
108
|
invalidatedBy: s.invalidatedBy,
|
|
107
109
|
attributes: s.attributes,
|
|
110
|
+
aspect: s.aspect,
|
|
108
111
|
recallCount: s.recallCount,
|
|
109
112
|
provenanceCount: s.provenanceCount
|
|
110
113
|
}`;
|
|
111
114
|
var ENTITY_NODE_PROPERTIES = `{
|
|
112
115
|
uuid: ent.uuid,
|
|
113
116
|
name: ent.name,
|
|
117
|
+
type: ent.type,
|
|
114
118
|
createdAt: ent.createdAt,
|
|
115
119
|
userId: ent.userId,
|
|
116
120
|
attributes: ent.attributes
|
|
@@ -130,6 +134,32 @@ var COMPACTED_SESSION_NODE_PROPERTIES = `{
|
|
|
130
134
|
compressionRatio: cs.compressionRatio,
|
|
131
135
|
metadata: cs.metadata
|
|
132
136
|
}`;
|
|
137
|
+
var EntityTypes = [
|
|
138
|
+
"Person",
|
|
139
|
+
"Organization",
|
|
140
|
+
"Place",
|
|
141
|
+
"Event",
|
|
142
|
+
"Project",
|
|
143
|
+
"Task",
|
|
144
|
+
"Technology",
|
|
145
|
+
"Product",
|
|
146
|
+
"Standard",
|
|
147
|
+
"Concept",
|
|
148
|
+
"Predicate"
|
|
149
|
+
];
|
|
150
|
+
var StatementAspects = [
|
|
151
|
+
"Identity",
|
|
152
|
+
"Knowledge",
|
|
153
|
+
"Belief",
|
|
154
|
+
"Preference",
|
|
155
|
+
"Action",
|
|
156
|
+
"Goal",
|
|
157
|
+
"Directive",
|
|
158
|
+
"Decision",
|
|
159
|
+
"Event",
|
|
160
|
+
"Problem",
|
|
161
|
+
"Relationship"
|
|
162
|
+
];
|
|
133
163
|
var EpisodeTypeEnum;
|
|
134
164
|
(function(EpisodeTypeEnum2) {
|
|
135
165
|
EpisodeTypeEnum2["CONVERSATION"] = "CONVERSATION";
|
|
@@ -291,12 +321,14 @@ var IntegrationCLI = class {
|
|
|
291
321
|
process.exit(1);
|
|
292
322
|
}
|
|
293
323
|
});
|
|
294
|
-
this.program.command("identify").description("Identify webhook account").requiredOption("--webhook-data <data>", "Webhook data JSON").action(async (options) => {
|
|
324
|
+
this.program.command("identify").description("Identify webhook account").requiredOption("--webhook-data <data>", "Webhook data JSON").requiredOption("--integration-definition <definition>", "Integration definition JSON").action(async (options) => {
|
|
295
325
|
try {
|
|
296
326
|
const webhookData = JSON.parse(options.webhookData);
|
|
327
|
+
const integrationDefinition = JSON.parse(options.integrationDefinition);
|
|
297
328
|
const messages = await this.handleEvent({
|
|
298
329
|
event: IntegrationEventType.IDENTIFY,
|
|
299
|
-
eventBody: webhookData
|
|
330
|
+
eventBody: webhookData,
|
|
331
|
+
integrationDefinition
|
|
300
332
|
});
|
|
301
333
|
for (const message of messages) {
|
|
302
334
|
console.log(JSON.stringify(message));
|
|
@@ -395,7 +427,319 @@ var IntegrationCLI = class {
|
|
|
395
427
|
return this.program;
|
|
396
428
|
}
|
|
397
429
|
};
|
|
430
|
+
var IngestInputSchema = z.object({
|
|
431
|
+
episodeBody: z.string(),
|
|
432
|
+
referenceTime: z.string(),
|
|
433
|
+
metadata: z.record(z.union([
|
|
434
|
+
z.string(),
|
|
435
|
+
z.number(),
|
|
436
|
+
z.boolean()
|
|
437
|
+
])).optional(),
|
|
438
|
+
source: z.string(),
|
|
439
|
+
labelIds: z.array(z.string()).optional(),
|
|
440
|
+
sessionId: z.string().optional(),
|
|
441
|
+
type: z.enum([
|
|
442
|
+
"CONVERSATION",
|
|
443
|
+
"DOCUMENT"
|
|
444
|
+
]).default("CONVERSATION"),
|
|
445
|
+
title: z.string().optional()
|
|
446
|
+
});
|
|
447
|
+
var IngestResponseSchema = z.object({
|
|
448
|
+
success: z.boolean(),
|
|
449
|
+
id: z.string()
|
|
450
|
+
});
|
|
451
|
+
var SearchInputSchema = z.object({
|
|
452
|
+
query: z.string(),
|
|
453
|
+
startTime: z.string().optional(),
|
|
454
|
+
endTime: z.string().optional(),
|
|
455
|
+
labelIds: z.array(z.string()).optional(),
|
|
456
|
+
limit: z.number().optional(),
|
|
457
|
+
structured: z.boolean().optional(),
|
|
458
|
+
sortBy: z.enum([
|
|
459
|
+
"relevance",
|
|
460
|
+
"recency"
|
|
461
|
+
]).optional()
|
|
462
|
+
});
|
|
463
|
+
var SearchResponseSchema = z.record(z.unknown());
|
|
464
|
+
var MeResponseSchema = z.object({
|
|
465
|
+
id: z.string(),
|
|
466
|
+
name: z.string().nullable().optional(),
|
|
467
|
+
persona: z.string().nullable().optional(),
|
|
468
|
+
workspaceId: z.string().nullable().optional(),
|
|
469
|
+
phoneNumber: z.string().nullable().optional(),
|
|
470
|
+
email: z.string().nullable().optional(),
|
|
471
|
+
timezone: z.string().nullable().optional(),
|
|
472
|
+
metadata: z.record(z.unknown()).nullable().optional()
|
|
473
|
+
});
|
|
474
|
+
var IntegrationAccountSchema = z.object({
|
|
475
|
+
id: z.string(),
|
|
476
|
+
name: z.string().optional(),
|
|
477
|
+
slug: z.string().optional()
|
|
478
|
+
}).passthrough();
|
|
479
|
+
var GetIntegrationsConnectedResponseSchema = z.object({
|
|
480
|
+
accounts: z.array(IntegrationAccountSchema)
|
|
481
|
+
});
|
|
482
|
+
var GetIntegrationActionsInputSchema = z.object({
|
|
483
|
+
accountId: z.string(),
|
|
484
|
+
query: z.string().optional()
|
|
485
|
+
});
|
|
486
|
+
var GetIntegrationActionsResponseSchema = z.object({
|
|
487
|
+
actions: z.array(z.unknown())
|
|
488
|
+
});
|
|
489
|
+
var ExecuteIntegrationActionInputSchema = z.object({
|
|
490
|
+
accountId: z.string(),
|
|
491
|
+
action: z.string(),
|
|
492
|
+
parameters: z.record(z.unknown()).optional()
|
|
493
|
+
});
|
|
494
|
+
var ExecuteIntegrationActionResponseSchema = z.object({
|
|
495
|
+
result: z.unknown()
|
|
496
|
+
});
|
|
497
|
+
var GetDocumentsInputSchema = z.object({
|
|
498
|
+
page: z.number().optional(),
|
|
499
|
+
limit: z.number().optional(),
|
|
500
|
+
source: z.string().optional(),
|
|
501
|
+
status: z.string().optional(),
|
|
502
|
+
type: z.string().optional(),
|
|
503
|
+
sessionId: z.string().optional(),
|
|
504
|
+
label: z.string().optional(),
|
|
505
|
+
cursor: z.string().optional()
|
|
506
|
+
});
|
|
507
|
+
var DocumentSchema = z.object({
|
|
508
|
+
id: z.string(),
|
|
509
|
+
title: z.string().nullable().optional(),
|
|
510
|
+
createdAt: z.string().optional(),
|
|
511
|
+
sessionId: z.string().nullable().optional(),
|
|
512
|
+
source: z.string().nullable().optional()
|
|
513
|
+
}).passthrough();
|
|
514
|
+
var GetDocumentsResponseSchema = z.object({
|
|
515
|
+
documents: z.array(DocumentSchema),
|
|
516
|
+
page: z.number(),
|
|
517
|
+
limit: z.number(),
|
|
518
|
+
hasMore: z.boolean(),
|
|
519
|
+
nextCursor: z.string().nullable(),
|
|
520
|
+
availableSources: z.array(z.object({
|
|
521
|
+
name: z.string(),
|
|
522
|
+
slug: z.string()
|
|
523
|
+
})),
|
|
524
|
+
totalCount: z.number()
|
|
525
|
+
});
|
|
526
|
+
var GetDocumentInputSchema = z.object({
|
|
527
|
+
documentId: z.string()
|
|
528
|
+
});
|
|
529
|
+
var GetDocumentResponseSchema = z.object({
|
|
530
|
+
document: DocumentSchema.nullable()
|
|
531
|
+
});
|
|
532
|
+
var AuthorizationCodeResponseSchema = z.object({
|
|
533
|
+
authorizationCode: z.string(),
|
|
534
|
+
url: z.string()
|
|
535
|
+
});
|
|
536
|
+
var TokenExchangeInputSchema = z.object({
|
|
537
|
+
authorizationCode: z.string()
|
|
538
|
+
});
|
|
539
|
+
var TokenExchangeResponseSchema = z.object({
|
|
540
|
+
token: z.object({
|
|
541
|
+
token: z.string(),
|
|
542
|
+
obfuscatedToken: z.string()
|
|
543
|
+
}).nullable()
|
|
544
|
+
});
|
|
545
|
+
var CoreClientError = class extends Error {
|
|
546
|
+
static {
|
|
547
|
+
__name(this, "CoreClientError");
|
|
548
|
+
}
|
|
549
|
+
statusCode;
|
|
550
|
+
constructor(message, statusCode) {
|
|
551
|
+
super(message);
|
|
552
|
+
this.name = "CoreClientError";
|
|
553
|
+
this.statusCode = statusCode;
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
var CoreClient = class {
|
|
557
|
+
static {
|
|
558
|
+
__name(this, "CoreClient");
|
|
559
|
+
}
|
|
560
|
+
baseUrl;
|
|
561
|
+
token;
|
|
562
|
+
constructor(options) {
|
|
563
|
+
this.baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
564
|
+
this.token = options.token;
|
|
565
|
+
}
|
|
566
|
+
async request(method, path, options) {
|
|
567
|
+
let url = `${this.baseUrl}${path}`;
|
|
568
|
+
if (options?.searchParams) {
|
|
569
|
+
const params = new URLSearchParams(options.searchParams);
|
|
570
|
+
const query = params.toString();
|
|
571
|
+
if (query) url += `?${query}`;
|
|
572
|
+
}
|
|
573
|
+
const response = await fetch(url, {
|
|
574
|
+
method,
|
|
575
|
+
headers: {
|
|
576
|
+
"Content-Type": "application/json",
|
|
577
|
+
Authorization: `Bearer ${this.token}`
|
|
578
|
+
},
|
|
579
|
+
...options?.body ? {
|
|
580
|
+
body: JSON.stringify(options.body)
|
|
581
|
+
} : {}
|
|
582
|
+
});
|
|
583
|
+
if (!response.ok) {
|
|
584
|
+
let errorMessage;
|
|
585
|
+
try {
|
|
586
|
+
const errorBody = await response.json();
|
|
587
|
+
errorMessage = errorBody.error || JSON.stringify(errorBody);
|
|
588
|
+
} catch {
|
|
589
|
+
errorMessage = await response.text();
|
|
590
|
+
}
|
|
591
|
+
throw new CoreClientError(errorMessage, response.status);
|
|
592
|
+
}
|
|
593
|
+
return response.json();
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Send a request without an Authorization header.
|
|
597
|
+
* Used for public endpoints like authorization-code and token exchange.
|
|
598
|
+
*/
|
|
599
|
+
async requestPublic(method, path, options) {
|
|
600
|
+
const url = `${this.baseUrl}${path}`;
|
|
601
|
+
const response = await fetch(url, {
|
|
602
|
+
method,
|
|
603
|
+
headers: {
|
|
604
|
+
"Content-Type": "application/json"
|
|
605
|
+
},
|
|
606
|
+
...options?.body ? {
|
|
607
|
+
body: JSON.stringify(options.body)
|
|
608
|
+
} : {}
|
|
609
|
+
});
|
|
610
|
+
if (!response.ok) {
|
|
611
|
+
let errorMessage;
|
|
612
|
+
try {
|
|
613
|
+
const errorBody = await response.json();
|
|
614
|
+
errorMessage = errorBody.error || JSON.stringify(errorBody);
|
|
615
|
+
} catch {
|
|
616
|
+
errorMessage = await response.text();
|
|
617
|
+
}
|
|
618
|
+
throw new CoreClientError(errorMessage, response.status);
|
|
619
|
+
}
|
|
620
|
+
return response.json();
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Get the authenticated user's profile info.
|
|
624
|
+
* GET /api/v1/me
|
|
625
|
+
*/
|
|
626
|
+
async me() {
|
|
627
|
+
return this.request("GET", "/api/v1/me");
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Store a conversation or document in memory.
|
|
631
|
+
* POST /api/v1/add
|
|
632
|
+
*/
|
|
633
|
+
async ingest(body) {
|
|
634
|
+
return this.request("POST", "/api/v1/add", {
|
|
635
|
+
body
|
|
636
|
+
});
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* Search memory with a query and optional filters.
|
|
640
|
+
* POST /api/v1/search
|
|
641
|
+
*/
|
|
642
|
+
async search(body) {
|
|
643
|
+
return this.request("POST", "/api/v1/search", {
|
|
644
|
+
body
|
|
645
|
+
});
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* List all connected integration accounts for the workspace.
|
|
649
|
+
* GET /api/v1/integration_account
|
|
650
|
+
*/
|
|
651
|
+
async getIntegrationsConnected() {
|
|
652
|
+
return this.request("GET", "/api/v1/integration_account");
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Get relevant actions for a specific integration account.
|
|
656
|
+
* GET /api/v1/integration_account/:accountId/action?query=...
|
|
657
|
+
*/
|
|
658
|
+
async getIntegrationActions(params) {
|
|
659
|
+
const searchParams = {};
|
|
660
|
+
if (params.query) searchParams.query = params.query;
|
|
661
|
+
return this.request("GET", `/api/v1/integration_account/${params.accountId}/action`, {
|
|
662
|
+
searchParams: Object.keys(searchParams).length > 0 ? searchParams : void 0
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Execute an action on an integration account.
|
|
667
|
+
* POST /api/v1/integration_account/:accountId/action
|
|
668
|
+
*/
|
|
669
|
+
async executeIntegrationAction(params) {
|
|
670
|
+
const { accountId, ...body } = params;
|
|
671
|
+
return this.request("POST", `/api/v1/integration_account/${accountId}/action`, {
|
|
672
|
+
body
|
|
673
|
+
});
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Generate a new session UUID for conversation tracking.
|
|
677
|
+
* Local operation — no API call.
|
|
678
|
+
*/
|
|
679
|
+
async getSessionId() {
|
|
680
|
+
return randomUUID();
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* List documents with optional filtering and pagination.
|
|
684
|
+
* GET /api/v1/documents
|
|
685
|
+
*/
|
|
686
|
+
async getDocuments(params) {
|
|
687
|
+
const searchParams = {};
|
|
688
|
+
if (params) {
|
|
689
|
+
if (params.page != null) searchParams.page = String(params.page);
|
|
690
|
+
if (params.limit != null) searchParams.limit = String(params.limit);
|
|
691
|
+
if (params.source) searchParams.source = params.source;
|
|
692
|
+
if (params.status) searchParams.status = params.status;
|
|
693
|
+
if (params.type) searchParams.type = params.type;
|
|
694
|
+
if (params.sessionId) searchParams.sessionId = params.sessionId;
|
|
695
|
+
if (params.label) searchParams.label = params.label;
|
|
696
|
+
if (params.cursor) searchParams.cursor = params.cursor;
|
|
697
|
+
}
|
|
698
|
+
return this.request("GET", "/api/v1/documents", {
|
|
699
|
+
searchParams: Object.keys(searchParams).length > 0 ? searchParams : void 0
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Get a single document by ID.
|
|
704
|
+
* GET /api/v1/documents/:documentId
|
|
705
|
+
*/
|
|
706
|
+
async getDocument(params) {
|
|
707
|
+
return this.request("GET", `/api/v1/documents/${params.documentId}`);
|
|
708
|
+
}
|
|
709
|
+
// -------------------------------------------------------------------------
|
|
710
|
+
// Auth – Device-style login flow (public endpoints, no token required)
|
|
711
|
+
// -------------------------------------------------------------------------
|
|
712
|
+
/**
|
|
713
|
+
* Request a fresh authorization code.
|
|
714
|
+
* POST /api/v1/authorization-code (unauthenticated)
|
|
715
|
+
*
|
|
716
|
+
* The returned `url` is the page the user must visit to authorize the CLI.
|
|
717
|
+
*/
|
|
718
|
+
async getAuthorizationCode() {
|
|
719
|
+
return this.requestPublic("POST", "/api/v1/authorization-code");
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* Exchange an authorization code for a personal access token.
|
|
723
|
+
* POST /api/v1/token (unauthenticated)
|
|
724
|
+
*
|
|
725
|
+
* Returns `{ token: null }` while the user has not yet completed
|
|
726
|
+
* the browser authorization step. Poll until `token` is non-null.
|
|
727
|
+
*/
|
|
728
|
+
async exchangeToken(params) {
|
|
729
|
+
return this.requestPublic("POST", "/api/v1/token", {
|
|
730
|
+
body: params
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Verify that the current token is valid by calling /api/v1/me.
|
|
735
|
+
* Returns the user profile on success, or throws CoreClientError on failure.
|
|
736
|
+
* Useful as a health-check before launching other operations.
|
|
737
|
+
*/
|
|
738
|
+
async checkAuth() {
|
|
739
|
+
return this.me();
|
|
740
|
+
}
|
|
741
|
+
};
|
|
398
742
|
|
|
399
|
-
export { APIKeyParams, ActionStatus, ActionStatusEnum, COMPACTED_SESSION_NODE_PROPERTIES, ClaudeModels, ENTITY_NODE_PROPERTIES, EPISODIC_NODE_PROPERTIES, EXPLICIT_PATTERN_TYPES, EpisodeType, EpisodeTypeEnum, GeminiModels, IMPLICIT_PATTERN_TYPES, IntegrationCLI, IntegrationEventType, LLMMappings, LLMModelEnum, LLMModelType, OAuth2Params, OpenAIModels, PATTERN_TYPES, QUALITY_THRESHOLDS, STATEMENT_NODE_PROPERTIES, Spec, UserTypeEnum };
|
|
743
|
+
export { APIKeyParams, ActionStatus, ActionStatusEnum, AuthorizationCodeResponseSchema, COMPACTED_SESSION_NODE_PROPERTIES, ClaudeModels, CoreClient, CoreClientError, DocumentSchema, ENTITY_NODE_PROPERTIES, EPISODIC_NODE_PROPERTIES, EXPLICIT_PATTERN_TYPES, EntityTypes, EpisodeType, EpisodeTypeEnum, ExecuteIntegrationActionInputSchema, ExecuteIntegrationActionResponseSchema, GeminiModels, GetDocumentInputSchema, GetDocumentResponseSchema, GetDocumentsInputSchema, GetDocumentsResponseSchema, 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 };
|
|
400
744
|
//# sourceMappingURL=index.mjs.map
|
|
401
745
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.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"],"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","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"],"mappings":"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","file":"index.mjs","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 recallCount: s.recallCount,\n provenanceCount: s.provenanceCount\n}`;\nexport const ENTITY_NODE_PROPERTIES = `{\n uuid: ent.uuid,\n name: ent.name,\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}`;\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 .action(async (options) => {\n try {\n const webhookData = JSON.parse(options.webhookData);\n\n const messages: Message[] = await this.handleEvent({\n event: IntegrationEventType.IDENTIFY,\n eventBody: webhookData,\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"]}
|
|
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.mjs","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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redplanethq/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "CORE Node.JS SDK",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"./package.json": "./package.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"commander": "14.0.0"
|
|
26
|
+
"commander": "14.0.0",
|
|
27
|
+
"zod": "^3.21.4"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@types/configstore": "^6.0.2",
|