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