@lobu/connector-sdk 6.0.1
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/api-paginated.d.ts +79 -0
- package/dist/api-paginated.d.ts.map +1 -0
- package/dist/api-paginated.js +120 -0
- package/dist/api-paginated.js.map +1 -0
- package/dist/base.d.ts +66 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +122 -0
- package/dist/base.js.map +1 -0
- package/dist/browser/acquire.d.ts +66 -0
- package/dist/browser/acquire.d.ts.map +1 -0
- package/dist/browser/acquire.js +109 -0
- package/dist/browser/acquire.js.map +1 -0
- package/dist/browser/cdp-page.d.ts +48 -0
- package/dist/browser/cdp-page.d.ts.map +1 -0
- package/dist/browser/cdp-page.js +165 -0
- package/dist/browser/cdp-page.js.map +1 -0
- package/dist/browser/cdp.d.ts +44 -0
- package/dist/browser/cdp.d.ts.map +1 -0
- package/dist/browser/cdp.js +252 -0
- package/dist/browser/cdp.js.map +1 -0
- package/dist/browser/launcher.d.ts +29 -0
- package/dist/browser/launcher.d.ts.map +1 -0
- package/dist/browser/launcher.js +157 -0
- package/dist/browser/launcher.js.map +1 -0
- package/dist/browser/stealth.d.ts +55 -0
- package/dist/browser/stealth.d.ts.map +1 -0
- package/dist/browser/stealth.js +170 -0
- package/dist/browser/stealth.js.map +1 -0
- package/dist/browser-network.d.ts +51 -0
- package/dist/browser-network.d.ts.map +1 -0
- package/dist/browser-network.js +175 -0
- package/dist/browser-network.js.map +1 -0
- package/dist/browser-paginated.d.ts +141 -0
- package/dist/browser-paginated.d.ts.map +1 -0
- package/dist/browser-paginated.js +269 -0
- package/dist/browser-paginated.js.map +1 -0
- package/dist/connector-runtime.d.ts +70 -0
- package/dist/connector-runtime.d.ts.map +1 -0
- package/dist/connector-runtime.js +48 -0
- package/dist/connector-runtime.js.map +1 -0
- package/dist/connector-types.d.ts +613 -0
- package/dist/connector-types.d.ts.map +1 -0
- package/dist/connector-types.js +27 -0
- package/dist/connector-types.js.map +1 -0
- package/dist/event-taxonomy.d.ts +3 -0
- package/dist/event-taxonomy.d.ts.map +1 -0
- package/dist/event-taxonomy.js +30 -0
- package/dist/event-taxonomy.js.map +1 -0
- package/dist/http.d.ts +18 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +74 -0
- package/dist/http.js.map +1 -0
- package/dist/identity-normalize.d.ts +53 -0
- package/dist/identity-normalize.d.ts.map +1 -0
- package/dist/identity-normalize.js +146 -0
- package/dist/identity-normalize.js.map +1 -0
- package/dist/identity-types.d.ts +214 -0
- package/dist/identity-types.d.ts.map +1 -0
- package/dist/identity-types.js +217 -0
- package/dist/identity-types.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +10 -0
- package/dist/logger.js.map +1 -0
- package/dist/paginated.d.ts +93 -0
- package/dist/paginated.d.ts.map +1 -0
- package/dist/paginated.js +167 -0
- package/dist/paginated.js.map +1 -0
- package/dist/reaction-sdk.d.ts +43 -0
- package/dist/reaction-sdk.d.ts.map +1 -0
- package/dist/reaction-sdk.js +9 -0
- package/dist/reaction-sdk.js.map +1 -0
- package/dist/retry.d.ts +19 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +131 -0
- package/dist/retry.js.map +1 -0
- package/dist/scoring.d.ts +17 -0
- package/dist/scoring.d.ts.map +1 -0
- package/dist/scoring.js +28 -0
- package/dist/scoring.js.map +1 -0
- package/dist/types.d.ts +280 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/watcher-time.d.ts +14 -0
- package/dist/watcher-time.d.ts.map +1 -0
- package/dist/watcher-time.js +112 -0
- package/dist/watcher-time.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,613 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connector Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the V1 integration platform.
|
|
5
|
+
* Defines the contract between connectors, the runtime, and the platform.
|
|
6
|
+
*/
|
|
7
|
+
export interface ConnectorDefinition {
|
|
8
|
+
/** Unique connector key, e.g. 'google.gmail' */
|
|
9
|
+
key: string;
|
|
10
|
+
/** Human-readable name */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Description of what this connector does */
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Semantic version */
|
|
15
|
+
version: string;
|
|
16
|
+
/** Auth configuration */
|
|
17
|
+
authSchema?: ConnectorAuthSchema;
|
|
18
|
+
/** Available feed definitions (keyed by feed_key) */
|
|
19
|
+
feeds?: Record<string, FeedDefinition>;
|
|
20
|
+
/** Available action definitions (keyed by action_key) */
|
|
21
|
+
actions?: Record<string, ActionDefinition>;
|
|
22
|
+
/** Global connector options schema (JSON Schema) */
|
|
23
|
+
optionsSchema?: Record<string, unknown>;
|
|
24
|
+
/** Domain for favicon lookup (e.g. 'x.com') */
|
|
25
|
+
faviconDomain?: string;
|
|
26
|
+
/** Optional upstream MCP configuration */
|
|
27
|
+
mcpConfig?: {
|
|
28
|
+
upstreamUrl: string;
|
|
29
|
+
};
|
|
30
|
+
/** Optional OpenAPI operation source */
|
|
31
|
+
openapiConfig?: {
|
|
32
|
+
specUrl: string;
|
|
33
|
+
includeOperations?: string[];
|
|
34
|
+
excludeOperations?: string[];
|
|
35
|
+
includeTags?: string[];
|
|
36
|
+
serverUrl?: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface ConnectorAuthSchema {
|
|
40
|
+
methods: ConnectorAuthMethod[];
|
|
41
|
+
}
|
|
42
|
+
export type ConnectorAuthMethod = ConnectorAuthNone | ConnectorAuthEnvKeys | ConnectorAuthOAuth | ConnectorAuthBrowser | ConnectorAuthInteractive;
|
|
43
|
+
export interface ConnectorAuthNone {
|
|
44
|
+
type: 'none';
|
|
45
|
+
}
|
|
46
|
+
export interface ConnectorAuthEnvField {
|
|
47
|
+
key: string;
|
|
48
|
+
label?: string;
|
|
49
|
+
description?: string;
|
|
50
|
+
example?: string;
|
|
51
|
+
secret?: boolean;
|
|
52
|
+
required?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface ConnectorAuthEnvKeys {
|
|
55
|
+
type: 'env_keys';
|
|
56
|
+
required?: boolean;
|
|
57
|
+
scope?: 'connection' | 'organization';
|
|
58
|
+
fields: ConnectorAuthEnvField[];
|
|
59
|
+
description?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface OAuthLoginProvisioningConfig {
|
|
62
|
+
/** Auto-create/reuse a connector connection when the user logs in with this provider. */
|
|
63
|
+
autoCreateConnection?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface ConnectorAuthOAuth {
|
|
66
|
+
type: 'oauth';
|
|
67
|
+
provider: string;
|
|
68
|
+
requiredScopes: string[];
|
|
69
|
+
optionalScopes?: string[];
|
|
70
|
+
required?: boolean;
|
|
71
|
+
description?: string;
|
|
72
|
+
scope?: 'connection' | 'organization';
|
|
73
|
+
authorizationUrl?: string;
|
|
74
|
+
tokenUrl?: string;
|
|
75
|
+
userinfoUrl?: string;
|
|
76
|
+
authParams?: Record<string, string>;
|
|
77
|
+
tokenEndpointAuthMethod?: 'client_secret_post' | 'client_secret_basic' | 'none';
|
|
78
|
+
usePkce?: boolean;
|
|
79
|
+
loginScopes?: string[];
|
|
80
|
+
clientIdKey?: string;
|
|
81
|
+
clientSecretKey?: string;
|
|
82
|
+
setupInstructions?: string;
|
|
83
|
+
loginProvisioning?: OAuthLoginProvisioningConfig;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Declares that this connector runs an interactive auth flow via
|
|
87
|
+
* `ConnectorRuntime.authenticate()`. The UI responds by enqueuing an auth run
|
|
88
|
+
* and rendering the artifacts it emits (QR, pairing code, redirect, prompt).
|
|
89
|
+
*/
|
|
90
|
+
export interface ConnectorAuthInteractive {
|
|
91
|
+
type: 'interactive';
|
|
92
|
+
required?: boolean;
|
|
93
|
+
description?: string;
|
|
94
|
+
scope?: 'connection' | 'organization';
|
|
95
|
+
/**
|
|
96
|
+
* Hint for the UI about the primary artifact kind the connector emits first.
|
|
97
|
+
* Used to pick a sensible loading state before the first artifact arrives.
|
|
98
|
+
*/
|
|
99
|
+
expectedArtifact?: 'qr' | 'code' | 'redirect' | 'prompt' | 'status';
|
|
100
|
+
/** Max seconds the whole auth flow is allowed to run. Default 300. */
|
|
101
|
+
timeoutSec?: number;
|
|
102
|
+
}
|
|
103
|
+
export interface ConnectorAuthBrowser {
|
|
104
|
+
type: 'browser';
|
|
105
|
+
required?: boolean;
|
|
106
|
+
description?: string;
|
|
107
|
+
/**
|
|
108
|
+
* How browser auth is captured:
|
|
109
|
+
* - 'cli': Extract cookies from Chrome profile via `lobu memory browser-auth`
|
|
110
|
+
* - 'cdp': Connect to a running Chrome instance via Chrome DevTools Protocol.
|
|
111
|
+
* Requires Chrome launched with --remote-debugging-port=9222.
|
|
112
|
+
* Used for services (like Google) that block headless browsers.
|
|
113
|
+
*/
|
|
114
|
+
capture?: 'cli' | 'cdp';
|
|
115
|
+
/** Required cookie domains for 'cli' capture (e.g. ['x.com', '.x.com']) */
|
|
116
|
+
requiredDomains?: string[];
|
|
117
|
+
/** Default CDP URL for 'cdp' capture (default: http://127.0.0.1:9222) */
|
|
118
|
+
defaultCdpUrl?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface FeedDefinition {
|
|
121
|
+
/** Feed key, e.g. 'threads' */
|
|
122
|
+
key: string;
|
|
123
|
+
/** Human-readable name */
|
|
124
|
+
name: string;
|
|
125
|
+
/** Description */
|
|
126
|
+
description?: string;
|
|
127
|
+
/** OAuth scopes required to keep this feed active. */
|
|
128
|
+
requiredScopes?: string[];
|
|
129
|
+
/** Template for generating feed display names from config values, e.g. "{subreddit} - {content_type}" */
|
|
130
|
+
displayNameTemplate?: string;
|
|
131
|
+
/** JSON Schema for feed-specific config */
|
|
132
|
+
configSchema?: Record<string, unknown>;
|
|
133
|
+
/** Event kinds this feed produces, keyed by kind slug */
|
|
134
|
+
eventKinds?: Record<string, {
|
|
135
|
+
description?: string;
|
|
136
|
+
metadataSchema?: Record<string, unknown>;
|
|
137
|
+
/**
|
|
138
|
+
* Declarative entity links — identifiers live in a normalized
|
|
139
|
+
* `entity_identities` table; traits live on `entities.metadata`.
|
|
140
|
+
*
|
|
141
|
+
* Iceberg-friendly: no mutation of events.entity_ids, JOIN at read
|
|
142
|
+
* time via entity_identities on (org, namespace, identifier).
|
|
143
|
+
*/
|
|
144
|
+
entityLinks?: EntityLinkRule[];
|
|
145
|
+
}>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Normalized identifier that uniquely names an entity within a namespace.
|
|
149
|
+
* Stored as a row in `entity_identities` with UNIQUE on
|
|
150
|
+
* (organization_id, namespace, identifier) — matching, creation races, and
|
|
151
|
+
* accrete all collapse onto this constraint.
|
|
152
|
+
*/
|
|
153
|
+
export interface EntityIdentitySpec {
|
|
154
|
+
/**
|
|
155
|
+
* Identifier namespace. Use values from the `IDENTITY` constants
|
|
156
|
+
* whenever possible (phone, email, wa_jid, ...); custom namespaces are
|
|
157
|
+
* allowed but connectors sharing a namespace must agree on its format.
|
|
158
|
+
*/
|
|
159
|
+
namespace: string;
|
|
160
|
+
/** Dot path into the event to extract the raw identifier. */
|
|
161
|
+
eventPath: string;
|
|
162
|
+
/**
|
|
163
|
+
* When true, the identifier is used for matching existing entities but
|
|
164
|
+
* not persisted on create or accrete. Defaults to false.
|
|
165
|
+
*/
|
|
166
|
+
matchOnly?: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Descriptive field stored on `entities.metadata`. Behavior determines how
|
|
170
|
+
* the ingestion pipeline reconciles the value on match vs create.
|
|
171
|
+
*/
|
|
172
|
+
export interface EntityTraitSpec {
|
|
173
|
+
/** Dot path into the event to extract the value. */
|
|
174
|
+
eventPath: string;
|
|
175
|
+
/**
|
|
176
|
+
* - `init_only` — write once on create, never touch after.
|
|
177
|
+
* - `prefer_non_empty` — set only when current is null/empty, and skip empty event values.
|
|
178
|
+
* - `overwrite` — always write (for last_seen_at, status, etc.).
|
|
179
|
+
*/
|
|
180
|
+
behavior: 'init_only' | 'prefer_non_empty' | 'overwrite';
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Declares how events link to dimension entities.
|
|
184
|
+
*
|
|
185
|
+
* - Identifiers are normalized on write and stored in `entity_identities`
|
|
186
|
+
* so matching is constraint-safe (UNIQUE per namespace+identifier).
|
|
187
|
+
* - Ambiguity (same event's identifiers resolve to multiple distinct
|
|
188
|
+
* entities) is logged as a merge candidate; the platform never
|
|
189
|
+
* auto-picks a winner or cross-contaminates entities.
|
|
190
|
+
* - Traits are descriptive fields merged onto entities.metadata per
|
|
191
|
+
* the declared `behavior`.
|
|
192
|
+
*/
|
|
193
|
+
export interface EntityLinkRule {
|
|
194
|
+
/** Target entity type slug (e.g. '$member', 'chat_group'). The type must exist in the org. */
|
|
195
|
+
entityType: string;
|
|
196
|
+
/**
|
|
197
|
+
* Create the entity if no existing entity matches any identifier.
|
|
198
|
+
* When false, unmatched events stay unlinked and no entity is created.
|
|
199
|
+
*/
|
|
200
|
+
autoCreate?: boolean;
|
|
201
|
+
/** Dot path used for `entities.name` on create. */
|
|
202
|
+
titlePath?: string;
|
|
203
|
+
/** Identifier specs. At least one is required. */
|
|
204
|
+
identities: EntityIdentitySpec[];
|
|
205
|
+
/** Optional descriptive fields written to entities.metadata. */
|
|
206
|
+
traits?: Record<string, EntityTraitSpec>;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Per-install override for a connector's entityLinks rules, keyed by the
|
|
210
|
+
* rule's `entityType`. Stored as JSONB on `connector_definitions` and
|
|
211
|
+
* shallow-merged at rule-resolve time. Lets an org retarget, disable rules,
|
|
212
|
+
* flip autoCreate, or mask specific identifier namespaces without forking
|
|
213
|
+
* the connector source.
|
|
214
|
+
*
|
|
215
|
+
* Storage shape:
|
|
216
|
+
* { "$member": { autoCreate: false, maskIdentities: ["phone"] }, ... }
|
|
217
|
+
*/
|
|
218
|
+
export interface EntityLinkOverride {
|
|
219
|
+
/** Drop the rule entirely. Other fields are ignored when true. */
|
|
220
|
+
disable?: boolean;
|
|
221
|
+
/** Rewrite the target entity type (e.g. retarget to a custom type). */
|
|
222
|
+
retargetEntityType?: string;
|
|
223
|
+
/** Override autoCreate on the matched rule. */
|
|
224
|
+
autoCreate?: boolean;
|
|
225
|
+
/** Filter out identity specs by namespace before matching/persisting. */
|
|
226
|
+
maskIdentities?: string[];
|
|
227
|
+
}
|
|
228
|
+
export type EntityLinkOverrides = Record<string, EntityLinkOverride>;
|
|
229
|
+
/**
|
|
230
|
+
* Canonical namespaces for cross-connector identity. Connectors targeting
|
|
231
|
+
* `$member` should use these so identities align automatically.
|
|
232
|
+
*/
|
|
233
|
+
export declare const IDENTITY: {
|
|
234
|
+
readonly PHONE: "phone";
|
|
235
|
+
readonly EMAIL: "email";
|
|
236
|
+
readonly WA_JID: "wa_jid";
|
|
237
|
+
readonly SLACK_USER_ID: "slack_user_id";
|
|
238
|
+
readonly GITHUB_LOGIN: "github_login";
|
|
239
|
+
readonly AUTH_USER_ID: "auth_user_id";
|
|
240
|
+
readonly GOOGLE_CONTACT_ID: "google_contact_id";
|
|
241
|
+
};
|
|
242
|
+
export type IdentityNamespace = (typeof IDENTITY)[keyof typeof IDENTITY];
|
|
243
|
+
export declare enum FeedMode {
|
|
244
|
+
/** Connector code runs on worker, syncs data */
|
|
245
|
+
sync = "sync",
|
|
246
|
+
/** Virtual feed backed by saved queries (future) */
|
|
247
|
+
virtual = "virtual"
|
|
248
|
+
}
|
|
249
|
+
export interface ActionDefinition {
|
|
250
|
+
/** Action key, e.g. 'draft_email' */
|
|
251
|
+
key: string;
|
|
252
|
+
/** Human-readable name */
|
|
253
|
+
name: string;
|
|
254
|
+
/** Description */
|
|
255
|
+
description?: string;
|
|
256
|
+
/** Whether this action requires human approval before execution */
|
|
257
|
+
requiresApproval: boolean;
|
|
258
|
+
/** MCP tool annotations for client-side confirmation UX */
|
|
259
|
+
annotations?: {
|
|
260
|
+
destructiveHint?: boolean;
|
|
261
|
+
openWorldHint?: boolean;
|
|
262
|
+
idempotentHint?: boolean;
|
|
263
|
+
};
|
|
264
|
+
/** JSON Schema for action input */
|
|
265
|
+
inputSchema?: Record<string, unknown>;
|
|
266
|
+
/** JSON Schema for action output */
|
|
267
|
+
outputSchema?: Record<string, unknown>;
|
|
268
|
+
}
|
|
269
|
+
export interface Connection {
|
|
270
|
+
id: number;
|
|
271
|
+
organizationId: string;
|
|
272
|
+
connectorKey: string;
|
|
273
|
+
displayName?: string;
|
|
274
|
+
status: 'active' | 'paused' | 'error' | 'revoked';
|
|
275
|
+
accountId?: string;
|
|
276
|
+
credentials?: Record<string, unknown>;
|
|
277
|
+
entityIds?: number[];
|
|
278
|
+
config?: Record<string, unknown>;
|
|
279
|
+
errorMessage?: string;
|
|
280
|
+
createdBy?: string;
|
|
281
|
+
createdAt: Date;
|
|
282
|
+
updatedAt: Date;
|
|
283
|
+
}
|
|
284
|
+
export interface Feed {
|
|
285
|
+
id: number;
|
|
286
|
+
organizationId: string;
|
|
287
|
+
connectionId: number;
|
|
288
|
+
feedKey: string;
|
|
289
|
+
status: 'active' | 'paused' | 'error';
|
|
290
|
+
entityIds?: number[];
|
|
291
|
+
config?: Record<string, unknown>;
|
|
292
|
+
checkpoint?: Record<string, unknown>;
|
|
293
|
+
syncIntervalMs?: number;
|
|
294
|
+
nextSyncAt?: Date;
|
|
295
|
+
lastSyncAt?: Date;
|
|
296
|
+
lastSyncStatus?: string;
|
|
297
|
+
lastError?: string;
|
|
298
|
+
consecutiveFailures: number;
|
|
299
|
+
itemsCollected: number;
|
|
300
|
+
createdAt: Date;
|
|
301
|
+
updatedAt: Date;
|
|
302
|
+
}
|
|
303
|
+
export type RunType = 'sync' | 'action' | 'code' | 'watcher' | 'auth';
|
|
304
|
+
export type RunStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'timeout';
|
|
305
|
+
export type ApprovalStatus = 'pending' | 'approved' | 'rejected' | 'auto';
|
|
306
|
+
export interface Run {
|
|
307
|
+
id: number;
|
|
308
|
+
organizationId: string;
|
|
309
|
+
runType: RunType;
|
|
310
|
+
feedId?: number;
|
|
311
|
+
connectionId?: number;
|
|
312
|
+
actionKey?: string;
|
|
313
|
+
actionInput?: Record<string, unknown>;
|
|
314
|
+
actionOutput?: Record<string, unknown>;
|
|
315
|
+
approvalStatus: ApprovalStatus;
|
|
316
|
+
status: RunStatus;
|
|
317
|
+
claimedBy?: string;
|
|
318
|
+
claimedAt?: Date;
|
|
319
|
+
lastHeartbeatAt?: Date;
|
|
320
|
+
completedAt?: Date;
|
|
321
|
+
connectorKey?: string;
|
|
322
|
+
connectorVersion?: string;
|
|
323
|
+
checkpoint?: Record<string, unknown>;
|
|
324
|
+
itemsCollected: number;
|
|
325
|
+
errorMessage?: string;
|
|
326
|
+
createdAt: Date;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* EventEnvelope is the standard output format for connector sync operations.
|
|
330
|
+
* Each envelope becomes a row in the events table.
|
|
331
|
+
*/
|
|
332
|
+
export interface EventEnvelope {
|
|
333
|
+
/** Platform's unique ID for this item */
|
|
334
|
+
origin_id: string;
|
|
335
|
+
/** Source-native item type (e.g. post, message, issue) */
|
|
336
|
+
origin_type?: string;
|
|
337
|
+
/** Content format: 'text' (default), 'markdown', 'json_template', 'media', 'empty' */
|
|
338
|
+
payload_type?: 'text' | 'markdown' | 'json_template' | 'media' | 'empty';
|
|
339
|
+
/** Main text content */
|
|
340
|
+
payload_text: string;
|
|
341
|
+
/** Structured data (template data for json_template, or structured metadata for media) */
|
|
342
|
+
payload_data?: Record<string, unknown>;
|
|
343
|
+
/** JSON template for rendering (required when payload_type is 'json_template') */
|
|
344
|
+
payload_template?: Record<string, unknown> | null;
|
|
345
|
+
/** File or media attachments */
|
|
346
|
+
attachments?: unknown[];
|
|
347
|
+
/** Title / subject line */
|
|
348
|
+
title?: string;
|
|
349
|
+
/** Author name or email */
|
|
350
|
+
author_name?: string;
|
|
351
|
+
/** Link to original content */
|
|
352
|
+
source_url?: string;
|
|
353
|
+
/** When the content was originally created/published */
|
|
354
|
+
occurred_at: Date;
|
|
355
|
+
/** Semantic type (e.g. content, note, summary, fact) */
|
|
356
|
+
semantic_type?: string;
|
|
357
|
+
/** Engagement/relevance score (0-100) */
|
|
358
|
+
score?: number;
|
|
359
|
+
/** Parent reference for hierarchical content */
|
|
360
|
+
origin_parent_id?: string;
|
|
361
|
+
/** Arbitrary metadata */
|
|
362
|
+
metadata?: Record<string, unknown>;
|
|
363
|
+
/** Pre-computed embedding vector */
|
|
364
|
+
embedding?: number[];
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Context passed to ConnectorRuntime.sync()
|
|
368
|
+
*/
|
|
369
|
+
export interface SyncContext {
|
|
370
|
+
/** Feed configuration */
|
|
371
|
+
feedKey: string;
|
|
372
|
+
config: Record<string, unknown>;
|
|
373
|
+
/** Previous checkpoint (null on first sync) */
|
|
374
|
+
checkpoint: Record<string, unknown> | null;
|
|
375
|
+
/** OAuth credentials (if applicable) */
|
|
376
|
+
credentials: SyncCredentials | null;
|
|
377
|
+
/** Entity IDs this feed is linked to */
|
|
378
|
+
entityIds: number[];
|
|
379
|
+
/** Connection session state (browser cookies, tokens, etc.) */
|
|
380
|
+
sessionState?: Record<string, unknown> | null;
|
|
381
|
+
/** Optional hook for streaming event chunks while sync is in progress */
|
|
382
|
+
emitEvents?: (events: EventEnvelope[]) => Promise<void>;
|
|
383
|
+
/** Optional hook for persisting progress checkpoints during long syncs */
|
|
384
|
+
updateCheckpoint?: (checkpoint: Record<string, unknown> | null) => Promise<void>;
|
|
385
|
+
}
|
|
386
|
+
export interface SyncCredentials {
|
|
387
|
+
provider: string;
|
|
388
|
+
accessToken: string;
|
|
389
|
+
refreshToken?: string | null;
|
|
390
|
+
expiresAt?: string | null;
|
|
391
|
+
scope?: string | null;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Result from ConnectorRuntime.sync()
|
|
395
|
+
*/
|
|
396
|
+
export interface SyncResult {
|
|
397
|
+
/** Events to write to the events table */
|
|
398
|
+
events: EventEnvelope[];
|
|
399
|
+
/** Updated checkpoint to persist */
|
|
400
|
+
checkpoint: Record<string, unknown> | null;
|
|
401
|
+
/** Updated auth state to persist on the linked auth profile (browser cookies, etc.) */
|
|
402
|
+
auth_update?: Record<string, unknown> | null;
|
|
403
|
+
/** Optional metadata about the sync */
|
|
404
|
+
metadata?: {
|
|
405
|
+
items_found?: number;
|
|
406
|
+
items_skipped?: number;
|
|
407
|
+
[key: string]: unknown;
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Artifact streamed from connector.authenticate() to the UI during an
|
|
412
|
+
* interactive auth flow. Exactly one artifact is active at a time; calling
|
|
413
|
+
* `ctx.emit()` replaces the previously active artifact in the run checkpoint.
|
|
414
|
+
*
|
|
415
|
+
* Core doesn't interpret these — UI renders by `type`.
|
|
416
|
+
*/
|
|
417
|
+
export type AuthArtifact = {
|
|
418
|
+
type: 'qr';
|
|
419
|
+
/** Raw string to encode in the QR. */
|
|
420
|
+
value: string;
|
|
421
|
+
/** ISO timestamp. UI shows countdown and expects a replacement emit. */
|
|
422
|
+
expiresAt?: string;
|
|
423
|
+
instructions?: string;
|
|
424
|
+
} | {
|
|
425
|
+
type: 'code';
|
|
426
|
+
/** Short human-typed code, e.g. "ABCD-1234". */
|
|
427
|
+
value: string;
|
|
428
|
+
expiresAt?: string;
|
|
429
|
+
instructions?: string;
|
|
430
|
+
} | {
|
|
431
|
+
type: 'redirect';
|
|
432
|
+
/** URL the user must visit (OAuth authorize, etc.). */
|
|
433
|
+
url: string;
|
|
434
|
+
mode: 'popup' | 'same-tab';
|
|
435
|
+
/** Signal name the connector awaits. UI POSTs to /api/auth-runs/:id/signal with this name. */
|
|
436
|
+
awaitSignal: string;
|
|
437
|
+
instructions?: string;
|
|
438
|
+
} | {
|
|
439
|
+
type: 'prompt';
|
|
440
|
+
fields: Array<{
|
|
441
|
+
key: string;
|
|
442
|
+
label: string;
|
|
443
|
+
kind: 'text' | 'password' | 'otp';
|
|
444
|
+
required?: boolean;
|
|
445
|
+
}>;
|
|
446
|
+
/** Signal name the connector awaits once the user submits. */
|
|
447
|
+
submitSignal: string;
|
|
448
|
+
instructions?: string;
|
|
449
|
+
} | {
|
|
450
|
+
type: 'status';
|
|
451
|
+
/** Progress message requiring no user action, e.g. "Waiting for phone…". */
|
|
452
|
+
message: string;
|
|
453
|
+
};
|
|
454
|
+
/**
|
|
455
|
+
* Context passed to ConnectorRuntime.authenticate().
|
|
456
|
+
*/
|
|
457
|
+
export interface AuthContext {
|
|
458
|
+
/** Optional connector-specific input (rare — most interactive flows need no input). */
|
|
459
|
+
config: Record<string, unknown>;
|
|
460
|
+
/**
|
|
461
|
+
* Previous credentials if re-authenticating an existing profile. Connectors
|
|
462
|
+
* may use these to preserve identity (e.g. refresh an OAuth token).
|
|
463
|
+
*/
|
|
464
|
+
previousCredentials: Record<string, unknown> | null;
|
|
465
|
+
/** Stream an artifact to the UI. Replaces the previously active artifact. */
|
|
466
|
+
emit: (artifact: AuthArtifact) => Promise<void>;
|
|
467
|
+
/**
|
|
468
|
+
* Pause until the UI sends a signal with the given name. Returns the
|
|
469
|
+
* signal payload (shape is connector-defined).
|
|
470
|
+
*/
|
|
471
|
+
awaitSignal: (name: string, options?: {
|
|
472
|
+
timeoutMs?: number;
|
|
473
|
+
}) => Promise<Record<string, unknown>>;
|
|
474
|
+
/** Aborts on timeout, user cancel, or worker shutdown. */
|
|
475
|
+
signal: AbortSignal;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Result from ConnectorRuntime.authenticate(). Credentials are persisted to
|
|
479
|
+
* the linked auth profile's `credentials` column. Metadata goes to
|
|
480
|
+
* `auth_profiles.metadata` and powers UI session-state display.
|
|
481
|
+
*/
|
|
482
|
+
export interface AuthResult {
|
|
483
|
+
credentials: Record<string, unknown>;
|
|
484
|
+
metadata?: {
|
|
485
|
+
/** Stable external identifier (wa_jid, OAuth `sub`, etc.) for dedupe. */
|
|
486
|
+
account_id?: string;
|
|
487
|
+
/** Display label shown in the UI, e.g. "Burak · +14155551234". */
|
|
488
|
+
display_name?: string;
|
|
489
|
+
/** For credentials that expire (OAuth refresh tokens). */
|
|
490
|
+
expires_at?: string;
|
|
491
|
+
[key: string]: unknown;
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Context passed to ConnectorRuntime.execute()
|
|
496
|
+
*/
|
|
497
|
+
export interface ActionContext {
|
|
498
|
+
/** Action key to execute */
|
|
499
|
+
actionKey: string;
|
|
500
|
+
/** Action input parameters */
|
|
501
|
+
input: Record<string, unknown>;
|
|
502
|
+
/** OAuth credentials (if applicable) */
|
|
503
|
+
credentials: SyncCredentials | null;
|
|
504
|
+
/** Connection config */
|
|
505
|
+
config: Record<string, unknown>;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Result from ConnectorRuntime.execute()
|
|
509
|
+
*/
|
|
510
|
+
export interface ActionResult {
|
|
511
|
+
/** Whether the action succeeded */
|
|
512
|
+
success: boolean;
|
|
513
|
+
/** Output data */
|
|
514
|
+
output?: Record<string, unknown>;
|
|
515
|
+
/** Error message if failed */
|
|
516
|
+
error?: string;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Content item as returned by the read_knowledge API.
|
|
520
|
+
* This is the canonical shape for content data across the platform.
|
|
521
|
+
*/
|
|
522
|
+
export interface ContentItem {
|
|
523
|
+
id: number;
|
|
524
|
+
entity_ids: number[];
|
|
525
|
+
platform: string;
|
|
526
|
+
origin_id: string;
|
|
527
|
+
semantic_type: string;
|
|
528
|
+
origin_type?: string | null;
|
|
529
|
+
payload_type?: 'text' | 'markdown' | 'json_template' | 'media' | 'empty';
|
|
530
|
+
author_name: string | null;
|
|
531
|
+
title: string | null;
|
|
532
|
+
text_content: string;
|
|
533
|
+
payload_text?: string | null;
|
|
534
|
+
payload_data?: Record<string, unknown>;
|
|
535
|
+
payload_template?: Record<string, unknown> | null;
|
|
536
|
+
attachments?: Array<Record<string, unknown>>;
|
|
537
|
+
rating: string | null;
|
|
538
|
+
source_url: string | null;
|
|
539
|
+
score: number;
|
|
540
|
+
normalized_score?: number;
|
|
541
|
+
metadata: Record<string, unknown>;
|
|
542
|
+
classifications: Record<string, unknown>;
|
|
543
|
+
created_at: string;
|
|
544
|
+
occurred_at: string;
|
|
545
|
+
content_date?: string;
|
|
546
|
+
/** Excerpt for highlighted evidence (when filtering by classification value) */
|
|
547
|
+
excerpt?: string;
|
|
548
|
+
/** Search score fields (only present when query is provided) */
|
|
549
|
+
similarity?: number;
|
|
550
|
+
text_rank?: number;
|
|
551
|
+
combined_score?: number;
|
|
552
|
+
/** Score breakdown (only present when sort_by=score, for debugging) */
|
|
553
|
+
score_breakdown?: {
|
|
554
|
+
engagement: number;
|
|
555
|
+
criticality: number;
|
|
556
|
+
depth: number;
|
|
557
|
+
authority: number;
|
|
558
|
+
recency: number;
|
|
559
|
+
quality: number;
|
|
560
|
+
raw_signals?: {
|
|
561
|
+
depth_raw: number;
|
|
562
|
+
engagement_raw: number;
|
|
563
|
+
};
|
|
564
|
+
weights: {
|
|
565
|
+
engagement: number;
|
|
566
|
+
criticality: number;
|
|
567
|
+
depth: number;
|
|
568
|
+
authority: number;
|
|
569
|
+
recency: number;
|
|
570
|
+
quality: number;
|
|
571
|
+
platform: number;
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
/** OAuth client name that created this event */
|
|
575
|
+
client_name?: string | null;
|
|
576
|
+
/** Immediate parent origin_id */
|
|
577
|
+
origin_parent_id: string | null;
|
|
578
|
+
/** Thread root origin_id */
|
|
579
|
+
root_origin_id: string;
|
|
580
|
+
/** 0 = root, 1+ = nested */
|
|
581
|
+
depth: number;
|
|
582
|
+
/** Only if parent not in current results */
|
|
583
|
+
parent_context?: {
|
|
584
|
+
author_name: string;
|
|
585
|
+
title: string | null;
|
|
586
|
+
text_content: string;
|
|
587
|
+
occurred_at: string;
|
|
588
|
+
source_url: string;
|
|
589
|
+
score: number;
|
|
590
|
+
} | null;
|
|
591
|
+
/** Only if root not in results AND depth > 0 */
|
|
592
|
+
root_context?: {
|
|
593
|
+
author_name: string;
|
|
594
|
+
title: string;
|
|
595
|
+
occurred_at: string;
|
|
596
|
+
source_url: string;
|
|
597
|
+
score: number;
|
|
598
|
+
} | null;
|
|
599
|
+
/** Permalink URL for this specific knowledge item */
|
|
600
|
+
permalink?: string | null;
|
|
601
|
+
interaction_type?: 'none' | 'approval';
|
|
602
|
+
interaction_status?: 'pending' | 'approved' | 'rejected' | 'completed' | 'failed' | null;
|
|
603
|
+
interaction_input_schema?: Record<string, unknown> | null;
|
|
604
|
+
interaction_input?: Record<string, unknown> | null;
|
|
605
|
+
interaction_output?: Record<string, unknown> | null;
|
|
606
|
+
interaction_error?: string | null;
|
|
607
|
+
supersedes_event_id?: number | null;
|
|
608
|
+
/** Entity display info (only present in some responses) */
|
|
609
|
+
entity_name?: string;
|
|
610
|
+
entity_type?: string;
|
|
611
|
+
entity_slug?: string;
|
|
612
|
+
}
|
|
613
|
+
//# sourceMappingURL=connector-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-types.d.ts","sourceRoot":"","sources":["../src/connector-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connector Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the V1 integration platform.
|
|
5
|
+
* Defines the contract between connectors, the runtime, and the platform.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Canonical namespaces for cross-connector identity. Connectors targeting
|
|
9
|
+
* `$member` should use these so identities align automatically.
|
|
10
|
+
*/
|
|
11
|
+
export const IDENTITY = {
|
|
12
|
+
PHONE: 'phone',
|
|
13
|
+
EMAIL: 'email',
|
|
14
|
+
WA_JID: 'wa_jid',
|
|
15
|
+
SLACK_USER_ID: 'slack_user_id',
|
|
16
|
+
GITHUB_LOGIN: 'github_login',
|
|
17
|
+
AUTH_USER_ID: 'auth_user_id',
|
|
18
|
+
GOOGLE_CONTACT_ID: 'google_contact_id',
|
|
19
|
+
};
|
|
20
|
+
export var FeedMode;
|
|
21
|
+
(function (FeedMode) {
|
|
22
|
+
/** Connector code runs on worker, syncs data */
|
|
23
|
+
FeedMode["sync"] = "sync";
|
|
24
|
+
/** Virtual feed backed by saved queries (future) */
|
|
25
|
+
FeedMode["virtual"] = "virtual";
|
|
26
|
+
})(FeedMode || (FeedMode = {}));
|
|
27
|
+
//# sourceMappingURL=connector-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-types.js","sourceRoot":"","sources":["../src/connector-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoQH;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC;AAIX,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,gDAAgD;IAChD,yBAAa,CAAA;IACb,oDAAoD;IACpD,+BAAmB,CAAA;AACrB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const SOURCE_NATIVE_EVENT_TYPES: readonly ["article", "ask_hn", "comment", "commit", "discussion", "email", "file", "issue", "issue_comment", "message", "photo", "post", "pr_comment", "pull_request", "reply", "repository", "review", "section", "show_hn", "story", "thread", "tweet", "video"];
|
|
2
|
+
export declare function isSourceNativeEventType(value: string | null | undefined): boolean;
|
|
3
|
+
//# sourceMappingURL=event-taxonomy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-taxonomy.d.ts","sourceRoot":"","sources":["../src/event-taxonomy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,oQAwB5B,CAAC;AAIX,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEjF"}
|