@plotday/twister 0.42.0 → 0.44.0
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/bin/commands/deploy.js +87 -10
- package/bin/commands/deploy.js.map +1 -1
- package/dist/connector.d.ts +87 -7
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +70 -0
- package/dist/connector.js.map +1 -1
- package/dist/docs/assets/hierarchy.js +1 -1
- package/dist/docs/assets/navigation.js +1 -1
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/classes/index.Connector.html +102 -45
- package/dist/docs/classes/index.Imap.html +52 -0
- package/dist/docs/classes/index.Options.html +2 -2
- package/dist/docs/classes/index.Smtp.html +33 -0
- package/dist/docs/classes/tool.ITool.html +1 -1
- package/dist/docs/classes/tool.Tool.html +23 -16
- package/dist/docs/classes/tools_ai.AI.html +1 -1
- package/dist/docs/classes/tools_callbacks.Callbacks.html +1 -1
- package/dist/docs/classes/tools_integrations.Integrations.html +9 -9
- package/dist/docs/classes/tools_network.Network.html +15 -7
- package/dist/docs/classes/tools_plot.Plot.html +60 -20
- package/dist/docs/classes/tools_store.Store.html +1 -1
- package/dist/docs/classes/tools_tasks.Tasks.html +1 -1
- package/dist/docs/classes/tools_twists.Twists.html +1 -1
- package/dist/docs/classes/twist.Twist.html +29 -18
- package/dist/docs/enums/plot.ActionType.html +9 -7
- package/dist/docs/enums/plot.ActorType.html +4 -4
- package/dist/docs/enums/plot.ConferencingProvider.html +6 -6
- package/dist/docs/enums/tag.Tag.html +2 -1
- package/dist/docs/enums/tools_ai.AIModel.html +3 -4
- package/dist/docs/enums/tools_integrations.AuthProvider.html +13 -11
- package/dist/docs/enums/tools_plot.ContactAccess.html +2 -2
- package/dist/docs/enums/tools_plot.LinkAccess.html +5 -0
- package/dist/docs/enums/tools_plot.PriorityAccess.html +3 -3
- package/dist/docs/enums/tools_plot.ThreadAccess.html +8 -3
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/interfaces/tools_ai.AIRequest.html +12 -12
- package/dist/docs/interfaces/tools_ai.AIResponse.html +9 -9
- package/dist/docs/interfaces/tools_ai.FilePart.html +5 -5
- package/dist/docs/interfaces/tools_ai.ImagePart.html +4 -4
- package/dist/docs/interfaces/tools_ai.ReasoningPart.html +4 -4
- package/dist/docs/interfaces/tools_ai.RedactedReasoningPart.html +3 -3
- package/dist/docs/interfaces/tools_ai.TextPart.html +3 -3
- package/dist/docs/interfaces/tools_ai.ToolCallPart.html +5 -5
- package/dist/docs/interfaces/tools_ai.ToolExecutionOptions.html +4 -4
- package/dist/docs/interfaces/tools_ai.ToolResultPart.html +5 -5
- package/dist/docs/media/AGENTS.md +10 -6
- package/dist/docs/media/MULTI_USER_AUTH.md +14 -11
- package/dist/docs/modules/index.html +1 -1
- package/dist/docs/modules/plot.html +1 -1
- package/dist/docs/modules/tools_plot.html +1 -1
- package/dist/docs/types/index.BooleanDef.html +2 -2
- package/dist/docs/types/index.ImapAddress.html +6 -0
- package/dist/docs/types/index.ImapConnectOptions.html +12 -0
- package/dist/docs/types/index.ImapFetchOptions.html +8 -0
- package/dist/docs/types/index.ImapFlagOperation.html +2 -0
- package/dist/docs/types/index.ImapMailbox.html +10 -0
- package/dist/docs/types/index.ImapMailboxStatus.html +14 -0
- package/dist/docs/types/index.ImapMessage.html +28 -0
- package/dist/docs/types/index.ImapSearchCriteria.html +18 -0
- package/dist/docs/types/index.ImapSession.html +2 -0
- package/dist/docs/types/index.NumberDef.html +2 -2
- package/dist/docs/types/index.OptionDef.html +1 -1
- package/dist/docs/types/index.OptionsSchema.html +1 -1
- package/dist/docs/types/index.ResolvedOptions.html +1 -1
- package/dist/docs/types/index.SmtpAddress.html +6 -0
- package/dist/docs/types/index.SmtpConnectOptions.html +14 -0
- package/dist/docs/types/index.SmtpMessage.html +24 -0
- package/dist/docs/types/index.SmtpSendResult.html +8 -0
- package/dist/docs/types/index.SmtpSession.html +2 -0
- package/dist/docs/types/index.TextDef.html +5 -2
- package/dist/docs/types/plot.Action.html +9 -3
- package/dist/docs/types/plot.Actor.html +5 -5
- package/dist/docs/types/plot.ContentType.html +1 -1
- package/dist/docs/types/plot.Link.html +21 -18
- package/dist/docs/types/plot.LinkUpdate.html +5 -0
- package/dist/docs/types/plot.NewActor.html +1 -1
- package/dist/docs/types/plot.NewContact.html +3 -17
- package/dist/docs/types/plot.NewLink.html +6 -4
- package/dist/docs/types/plot.NewLinkWithNotes.html +5 -4
- package/dist/docs/types/plot.NewNote.html +6 -2
- package/dist/docs/types/plot.NewTags.html +1 -1
- package/dist/docs/types/plot.NewThread.html +4 -2
- package/dist/docs/types/plot.NewThreadWithNotes.html +1 -1
- package/dist/docs/types/plot.Note.html +1 -1
- package/dist/docs/types/plot.NoteUpdate.html +1 -1
- package/dist/docs/types/plot.PickPriorityConfig.html +2 -2
- package/dist/docs/types/plot.PlanOperation.html +10 -0
- package/dist/docs/types/plot.PriorityUpdate.html +5 -3
- package/dist/docs/types/plot.Tags.html +1 -1
- package/dist/docs/types/plot.Thread.html +1 -1
- package/dist/docs/types/plot.ThreadCommon.html +7 -7
- package/dist/docs/types/plot.ThreadFilter.html +2 -2
- package/dist/docs/types/plot.ThreadMeta.html +1 -1
- package/dist/docs/types/plot.ThreadType.html +7 -0
- package/dist/docs/types/plot.ThreadUpdate.html +1 -1
- package/dist/docs/types/plot.ThreadWithNotes.html +1 -1
- package/dist/docs/types/tools_ai.AIAssistantMessage.html +2 -2
- package/dist/docs/types/tools_ai.AIMessage.html +1 -1
- package/dist/docs/types/tools_ai.AISource.html +1 -1
- package/dist/docs/types/tools_ai.AISystemMessage.html +2 -2
- package/dist/docs/types/tools_ai.AITool.html +1 -1
- package/dist/docs/types/tools_ai.AIToolMessage.html +2 -2
- package/dist/docs/types/tools_ai.AIToolSet.html +1 -1
- package/dist/docs/types/tools_ai.AIUsage.html +5 -5
- package/dist/docs/types/tools_ai.AIUserMessage.html +2 -2
- package/dist/docs/types/tools_ai.DataContent.html +1 -1
- package/dist/docs/types/tools_integrations.ArchiveLinkFilter.html +5 -5
- package/dist/docs/types/tools_integrations.AuthToken.html +4 -4
- package/dist/docs/types/tools_integrations.Authorization.html +4 -4
- package/dist/docs/types/tools_integrations.Channel.html +4 -2
- package/dist/docs/types/tools_integrations.LinkTypeConfig.html +10 -8
- package/dist/docs/types/tools_plot.LinkFilter.html +5 -5
- package/dist/docs/types/tools_plot.LinkSearchResult.html +1 -1
- package/dist/docs/types/tools_plot.NoteIntentHandler.html +4 -4
- package/dist/docs/types/tools_plot.NoteSearchResult.html +1 -1
- package/dist/docs/types/tools_plot.SearchOptions.html +4 -4
- package/dist/docs/types/tools_plot.SearchResult.html +1 -1
- package/dist/docs/variables/tools_plot.SEARCH_DEFAULT_LIMIT.html +1 -1
- package/dist/docs/variables/tools_plot.SEARCH_MAX_LIMIT.html +1 -1
- package/dist/llm-docs/connector.d.ts +1 -1
- package/dist/llm-docs/connector.d.ts.map +1 -1
- package/dist/llm-docs/connector.js +1 -1
- package/dist/llm-docs/connector.js.map +1 -1
- package/dist/llm-docs/index.d.ts.map +1 -1
- package/dist/llm-docs/index.js +4 -0
- package/dist/llm-docs/index.js.map +1 -1
- package/dist/llm-docs/options.d.ts +1 -1
- package/dist/llm-docs/options.d.ts.map +1 -1
- package/dist/llm-docs/options.js +1 -1
- package/dist/llm-docs/options.js.map +1 -1
- package/dist/llm-docs/plot.d.ts +1 -1
- package/dist/llm-docs/plot.d.ts.map +1 -1
- package/dist/llm-docs/plot.js +1 -1
- package/dist/llm-docs/plot.js.map +1 -1
- package/dist/llm-docs/tag.d.ts +1 -1
- package/dist/llm-docs/tag.d.ts.map +1 -1
- package/dist/llm-docs/tag.js +1 -1
- package/dist/llm-docs/tag.js.map +1 -1
- package/dist/llm-docs/tool.d.ts +1 -1
- package/dist/llm-docs/tool.d.ts.map +1 -1
- package/dist/llm-docs/tool.js +1 -1
- package/dist/llm-docs/tool.js.map +1 -1
- package/dist/llm-docs/tools/ai.d.ts +1 -1
- package/dist/llm-docs/tools/ai.d.ts.map +1 -1
- package/dist/llm-docs/tools/ai.js +1 -1
- package/dist/llm-docs/tools/ai.js.map +1 -1
- package/dist/llm-docs/tools/imap.d.ts +9 -0
- package/dist/llm-docs/tools/imap.d.ts.map +1 -0
- package/dist/llm-docs/tools/imap.js +8 -0
- package/dist/llm-docs/tools/imap.js.map +1 -0
- package/dist/llm-docs/tools/integrations.d.ts +1 -1
- package/dist/llm-docs/tools/integrations.d.ts.map +1 -1
- package/dist/llm-docs/tools/integrations.js +1 -1
- package/dist/llm-docs/tools/integrations.js.map +1 -1
- package/dist/llm-docs/tools/network.d.ts +1 -1
- package/dist/llm-docs/tools/network.d.ts.map +1 -1
- package/dist/llm-docs/tools/network.js +1 -1
- package/dist/llm-docs/tools/network.js.map +1 -1
- package/dist/llm-docs/tools/plot.d.ts +1 -1
- package/dist/llm-docs/tools/plot.d.ts.map +1 -1
- package/dist/llm-docs/tools/plot.js +1 -1
- package/dist/llm-docs/tools/plot.js.map +1 -1
- package/dist/llm-docs/tools/smtp.d.ts +9 -0
- package/dist/llm-docs/tools/smtp.d.ts.map +1 -0
- package/dist/llm-docs/tools/smtp.js +8 -0
- package/dist/llm-docs/tools/smtp.js.map +1 -0
- package/dist/llm-docs/twist.d.ts +1 -1
- package/dist/llm-docs/twist.d.ts.map +1 -1
- package/dist/llm-docs/twist.js +1 -1
- package/dist/llm-docs/twist.js.map +1 -1
- package/dist/options.d.ts +3 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js.map +1 -1
- package/dist/plot.d.ts +152 -19
- package/dist/plot.d.ts.map +1 -1
- package/dist/plot.js +2 -0
- package/dist/plot.js.map +1 -1
- package/dist/tag.d.ts +2 -1
- package/dist/tag.d.ts.map +1 -1
- package/dist/tag.js +1 -0
- package/dist/tag.js.map +1 -1
- package/dist/tool.d.ts +10 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +10 -1
- package/dist/tool.js.map +1 -1
- package/dist/tools/ai.d.ts +3 -4
- package/dist/tools/ai.d.ts.map +1 -1
- package/dist/tools/ai.js +3 -4
- package/dist/tools/ai.js.map +1 -1
- package/dist/tools/imap.d.ts +235 -0
- package/dist/tools/imap.d.ts.map +1 -0
- package/dist/tools/imap.js +61 -0
- package/dist/tools/imap.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrations.d.ts +7 -1
- package/dist/tools/integrations.d.ts.map +1 -1
- package/dist/tools/integrations.js +2 -0
- package/dist/tools/integrations.js.map +1 -1
- package/dist/tools/network.d.ts +23 -16
- package/dist/tools/network.d.ts.map +1 -1
- package/dist/tools/network.js.map +1 -1
- package/dist/tools/plot.d.ts +96 -3
- package/dist/tools/plot.d.ts.map +1 -1
- package/dist/tools/plot.js +14 -0
- package/dist/tools/plot.js.map +1 -1
- package/dist/tools/smtp.d.ts +155 -0
- package/dist/tools/smtp.d.ts.map +1 -0
- package/dist/tools/smtp.js +62 -0
- package/dist/tools/smtp.js.map +1 -0
- package/dist/twist.d.ts +16 -2
- package/dist/twist.d.ts.map +1 -1
- package/dist/twist.js +15 -1
- package/dist/twist.js.map +1 -1
- package/package.json +21 -1
package/bin/commands/deploy.js
CHANGED
|
@@ -51,6 +51,13 @@ async function fetchWithRetry(url, options, maxRetries = 3) {
|
|
|
51
51
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
52
52
|
try {
|
|
53
53
|
const response = await fetch(url, options);
|
|
54
|
+
// Retry on 429 (rate limited) or 503 (service unavailable) with Retry-After header support
|
|
55
|
+
if ((response.status === 429 || response.status === 503) && attempt < maxRetries) {
|
|
56
|
+
const retryAfter = parseInt(response.headers.get("Retry-After") || "", 10);
|
|
57
|
+
const delay = (retryAfter || Math.pow(2, attempt)) * 1000;
|
|
58
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
54
61
|
if (response.status < 500 || attempt === maxRetries) {
|
|
55
62
|
return response;
|
|
56
63
|
}
|
|
@@ -86,13 +93,19 @@ async function createNewPublisher(apiUrl, deployToken) {
|
|
|
86
93
|
process.exit(1);
|
|
87
94
|
}
|
|
88
95
|
else if (userResponse.status >= 500) {
|
|
89
|
-
|
|
96
|
+
const errorBody = await userResponse.text().catch(() => "");
|
|
97
|
+
out.error(`Server error (${userResponse.status})`, errorBody || "The Plot API is temporarily unavailable. Please try again.");
|
|
90
98
|
process.exit(1);
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
catch (error) {
|
|
94
102
|
// Ignore error, just won't have default
|
|
95
103
|
}
|
|
104
|
+
// Fail in non-interactive environments
|
|
105
|
+
if (!process.stdout.isTTY) {
|
|
106
|
+
out.error("Cannot create publisher in non-interactive mode", 'Add "publisher" to package.json to specify the publisher name.');
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
96
109
|
// Prompt for publisher details
|
|
97
110
|
const response = await (0, prompts_1.default)([
|
|
98
111
|
{
|
|
@@ -149,7 +162,8 @@ async function createNewPublisher(apiUrl, deployToken) {
|
|
|
149
162
|
process.exit(1);
|
|
150
163
|
}
|
|
151
164
|
if (createResponse.status >= 500) {
|
|
152
|
-
|
|
165
|
+
const errorBody = await createResponse.text().catch(() => "");
|
|
166
|
+
out.error(`Server error (${createResponse.status})`, errorBody || "The Plot API is temporarily unavailable. Please try again.");
|
|
153
167
|
process.exit(1);
|
|
154
168
|
}
|
|
155
169
|
const errorText = await createResponse.text();
|
|
@@ -220,6 +234,8 @@ async function deployCommand(options) {
|
|
|
220
234
|
const twistDescription = packageJson?.description;
|
|
221
235
|
const twistLogoUrl = packageJson?.logoUrl;
|
|
222
236
|
const twistLogoUrlDark = packageJson?.logoUrlDark;
|
|
237
|
+
const twistPublisher = packageJson?.publisher;
|
|
238
|
+
const twistPublisherUrl = packageJson?.publisherUrl;
|
|
223
239
|
const environment = options.environment || "personal";
|
|
224
240
|
// Validate required fields
|
|
225
241
|
if (!twistName) {
|
|
@@ -250,8 +266,13 @@ async function deployCommand(options) {
|
|
|
250
266
|
envToken: process.env.PLOT_DEPLOY_TOKEN,
|
|
251
267
|
dotEnvToken: dotEnvToken,
|
|
252
268
|
});
|
|
253
|
-
// If still no token, prompt for it
|
|
269
|
+
// If still no token, prompt for it (or fail in CI)
|
|
254
270
|
if (!deployToken) {
|
|
271
|
+
// Fail in non-interactive environments
|
|
272
|
+
if (!process.stdout.isTTY) {
|
|
273
|
+
out.error("No deploy token found", "Set PLOT_DEPLOY_TOKEN env var or add DEPLOY_TOKEN to .env file.");
|
|
274
|
+
process.exit(1);
|
|
275
|
+
}
|
|
255
276
|
out.info("Authentication required", [
|
|
256
277
|
"Run 'plot login' for easiest setup",
|
|
257
278
|
"Or provide token via --deploy-token, PLOT_DEPLOY_TOKEN env var, or DEPLOY_TOKEN in .env",
|
|
@@ -307,7 +328,8 @@ async function deployCommand(options) {
|
|
|
307
328
|
process.exit(1);
|
|
308
329
|
}
|
|
309
330
|
else if (twistInfoResponse.status >= 500) {
|
|
310
|
-
|
|
331
|
+
const errorBody = await twistInfoResponse.text().catch(() => "");
|
|
332
|
+
out.error(`Server error (${twistInfoResponse.status})`, errorBody || "The Plot API is temporarily unavailable. Please try again.");
|
|
311
333
|
process.exit(1);
|
|
312
334
|
}
|
|
313
335
|
else if (twistInfoResponse.status !== 404) {
|
|
@@ -342,7 +364,8 @@ async function deployCommand(options) {
|
|
|
342
364
|
process.exit(1);
|
|
343
365
|
}
|
|
344
366
|
if (publishersResponse.status >= 500) {
|
|
345
|
-
|
|
367
|
+
const errorBody = await publishersResponse.text().catch(() => "");
|
|
368
|
+
out.error(`Server error (${publishersResponse.status})`, errorBody || "The Plot API is temporarily unavailable. Please try again.");
|
|
346
369
|
process.exit(1);
|
|
347
370
|
}
|
|
348
371
|
const errorText = await publishersResponse.text();
|
|
@@ -359,9 +382,57 @@ async function deployCommand(options) {
|
|
|
359
382
|
out.error("Could not connect to Plot API", "Please check your internet connection or try again later.");
|
|
360
383
|
process.exit(1);
|
|
361
384
|
}
|
|
362
|
-
//
|
|
363
|
-
|
|
364
|
-
|
|
385
|
+
// Auto-resolve publisher from package.json if specified
|
|
386
|
+
if (twistPublisher) {
|
|
387
|
+
// Try to find existing publisher by name
|
|
388
|
+
if (fetchSucceeded) {
|
|
389
|
+
const match = publishers.find((p) => p.name.toLowerCase() === twistPublisher.toLowerCase());
|
|
390
|
+
if (match) {
|
|
391
|
+
publisherId = match.id;
|
|
392
|
+
out.progress(`Using publisher "${match.name}"`);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
// If not found, create the publisher automatically
|
|
396
|
+
if (!publisherId) {
|
|
397
|
+
try {
|
|
398
|
+
out.progress(`Creating publisher "${twistPublisher}"...`);
|
|
399
|
+
const createResponse = await fetchWithRetry(`${options.apiUrl}/v1/twist/publishers`, {
|
|
400
|
+
method: "POST",
|
|
401
|
+
headers: {
|
|
402
|
+
"Content-Type": "application/json",
|
|
403
|
+
Authorization: `Bearer ${deployToken}`,
|
|
404
|
+
},
|
|
405
|
+
body: JSON.stringify({
|
|
406
|
+
name: twistPublisher,
|
|
407
|
+
url: twistPublisherUrl || null,
|
|
408
|
+
}),
|
|
409
|
+
});
|
|
410
|
+
if (!createResponse.ok) {
|
|
411
|
+
if (createResponse.status === 401) {
|
|
412
|
+
out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
|
|
413
|
+
process.exit(1);
|
|
414
|
+
}
|
|
415
|
+
const errorText = await createResponse.text();
|
|
416
|
+
out.error("Failed to create publisher", errorText);
|
|
417
|
+
process.exit(1);
|
|
418
|
+
}
|
|
419
|
+
const publisher = (await createResponse.json());
|
|
420
|
+
out.success(`Publisher "${publisher.name}" created`);
|
|
421
|
+
publisherId = publisher.id;
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
const errorInfo = (0, network_error_1.handleNetworkError)(error);
|
|
425
|
+
out.error("Failed to create publisher", errorInfo.message);
|
|
426
|
+
process.exit(1);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
else if (fetchSucceeded && publishers.length > 0) {
|
|
431
|
+
// No publisher in package.json — fall back to interactive prompt
|
|
432
|
+
if (!process.stdout.isTTY) {
|
|
433
|
+
out.error("No publisher specified", 'Add "publisher" to package.json to specify the publisher name.');
|
|
434
|
+
process.exit(1);
|
|
435
|
+
}
|
|
365
436
|
// Show selection UI with existing publishers + "New publisher" option
|
|
366
437
|
const choices = [
|
|
367
438
|
...publishers.map((p) => ({
|
|
@@ -394,7 +465,12 @@ async function deployCommand(options) {
|
|
|
394
465
|
}
|
|
395
466
|
}
|
|
396
467
|
else {
|
|
397
|
-
// No
|
|
468
|
+
// No publishers exist and none in package.json
|
|
469
|
+
if (!process.stdout.isTTY) {
|
|
470
|
+
out.error("No publisher specified", 'Add "publisher" to package.json to specify the publisher name.');
|
|
471
|
+
process.exit(1);
|
|
472
|
+
}
|
|
473
|
+
// Interactive — create new one
|
|
398
474
|
publisherId = await createNewPublisher(options.apiUrl, deployToken);
|
|
399
475
|
}
|
|
400
476
|
}
|
|
@@ -475,7 +551,8 @@ async function deployCommand(options) {
|
|
|
475
551
|
process.exit(1);
|
|
476
552
|
}
|
|
477
553
|
if (response.status >= 500) {
|
|
478
|
-
|
|
554
|
+
const errorBody = await response.text().catch(() => "");
|
|
555
|
+
out.error(`Server error (${response.status})`, errorBody || "The Plot API is temporarily unavailable. Please try again.");
|
|
479
556
|
process.exit(1);
|
|
480
557
|
}
|
|
481
558
|
const errorText = await response.text();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.d.ts
CHANGED
|
@@ -54,9 +54,37 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
54
54
|
*/
|
|
55
55
|
static readonly isConnector = true;
|
|
56
56
|
/** The OAuth provider this connector authenticates with. */
|
|
57
|
-
|
|
57
|
+
readonly provider?: AuthProvider;
|
|
58
58
|
/** OAuth scopes to request for this connector. */
|
|
59
|
-
|
|
59
|
+
readonly scopes?: string[];
|
|
60
|
+
/**
|
|
61
|
+
* When true, one credential is shared across all users in the workspace,
|
|
62
|
+
* entered once by the installer. When false (default), each user provides
|
|
63
|
+
* their own credential.
|
|
64
|
+
*
|
|
65
|
+
* Applies to both OAuth and key-based connectors:
|
|
66
|
+
* - Shared OAuth: e.g. Slack bot token (workspace-level)
|
|
67
|
+
* - Shared key: e.g. Attio workspace API key
|
|
68
|
+
* - Individual OAuth: e.g. Google Calendar (per-user)
|
|
69
|
+
* - Individual key: e.g. Fellow (per-user API key)
|
|
70
|
+
*/
|
|
71
|
+
readonly shared?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* The Options field name that contains the authentication key (e.g. "apiKey").
|
|
74
|
+
* Must reference a `secure: true` field in the Options schema.
|
|
75
|
+
*
|
|
76
|
+
* When set, this connector uses key-based auth instead of OAuth.
|
|
77
|
+
* For individual connectors (`shared` is false), this field is stored
|
|
78
|
+
* per-user rather than in shared config.
|
|
79
|
+
*/
|
|
80
|
+
readonly keyOption?: string;
|
|
81
|
+
/**
|
|
82
|
+
* When true, this connector has a single implicit channel.
|
|
83
|
+
* `getChannels()` must return exactly one Channel.
|
|
84
|
+
* The UI will show channel config (priority, create threads) inline
|
|
85
|
+
* instead of a channel list.
|
|
86
|
+
*/
|
|
87
|
+
readonly singleChannel?: boolean;
|
|
60
88
|
/**
|
|
61
89
|
* Registry of link types this connector creates (e.g., issue, event, message).
|
|
62
90
|
* Used for display in the UI (icons, labels, statuses).
|
|
@@ -70,6 +98,21 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
70
98
|
* messaging) where user replies should be written back to the external service.
|
|
71
99
|
*/
|
|
72
100
|
static readonly handleReplies?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Returns a human-readable name for the connected account.
|
|
103
|
+
* Shown in the connections list and edit modal to identify this connection.
|
|
104
|
+
*
|
|
105
|
+
* For OAuth connectors, this is typically the workspace or organization name
|
|
106
|
+
* (e.g., "Acme Corp" for a Linear workspace). For API key connectors, this
|
|
107
|
+
* could be the workspace name from the external service.
|
|
108
|
+
*
|
|
109
|
+
* Override this in your connector to return a meaningful account name.
|
|
110
|
+
*
|
|
111
|
+
* @param auth - The authorization (null for no-provider connectors)
|
|
112
|
+
* @param token - The access token (null for no-provider connectors)
|
|
113
|
+
* @returns Promise resolving to the account display name
|
|
114
|
+
*/
|
|
115
|
+
getAccountName(auth: Authorization | null, token: AuthToken | null): Promise<string | null>;
|
|
73
116
|
/**
|
|
74
117
|
* Returns available channels for the authorized actor.
|
|
75
118
|
* Called after OAuth is complete, during the setup/edit modal.
|
|
@@ -78,10 +121,33 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
78
121
|
* @param token - The access token for making API calls
|
|
79
122
|
* @returns Promise resolving to available channels for the user to select
|
|
80
123
|
*/
|
|
81
|
-
abstract getChannels(auth: Authorization, token: AuthToken): Promise<Channel[]>;
|
|
124
|
+
abstract getChannels(auth: Authorization | null, token: AuthToken | null): Promise<Channel[]>;
|
|
82
125
|
/**
|
|
83
126
|
* Called when a channel resource is enabled for syncing.
|
|
84
|
-
*
|
|
127
|
+
*
|
|
128
|
+
* **IMPORTANT: This method runs inline in the HTTP request handler.**
|
|
129
|
+
* Any long-running work (webhook setup, API calls, sync) MUST be queued
|
|
130
|
+
* as a separate task via `this.runTask()`, not executed inline. Blocking
|
|
131
|
+
* here causes the client to spin waiting for the response.
|
|
132
|
+
*
|
|
133
|
+
* Only lightweight operations should appear directly in this method:
|
|
134
|
+
* `this.set()`, `this.get()`, `this.callback()`, and `this.runTask()`.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* async onChannelEnabled(channel: Channel): Promise<void> {
|
|
139
|
+
* await this.set(`sync_enabled_${channel.id}`, true);
|
|
140
|
+
* await this.set(`sync_state_${channel.id}`, { channelId: channel.id });
|
|
141
|
+
*
|
|
142
|
+
* // Queue sync as a task — do NOT use this.run() or call sync methods inline
|
|
143
|
+
* const syncCallback = await this.callback(this.syncBatch, 1, "full", channel.id, true);
|
|
144
|
+
* await this.runTask(syncCallback);
|
|
145
|
+
*
|
|
146
|
+
* // Queue webhook setup as a task — do NOT call setupWebhook() inline
|
|
147
|
+
* const webhookCallback = await this.callback(this.setupWebhook, channel.id);
|
|
148
|
+
* await this.runTask(webhookCallback);
|
|
149
|
+
* }
|
|
150
|
+
* ```
|
|
85
151
|
*
|
|
86
152
|
* @param channel - The channel that was enabled
|
|
87
153
|
*/
|
|
@@ -106,10 +172,24 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
106
172
|
* Override to write back comments to the external service
|
|
107
173
|
* (e.g., adding a comment to a Linear issue).
|
|
108
174
|
*
|
|
175
|
+
* Returning a string sets the note's `key` for future upsert matching,
|
|
176
|
+
* linking the Plot note to its external counterpart so that subsequent
|
|
177
|
+
* syncs (reactions, edits) update the existing note instead of creating duplicates.
|
|
178
|
+
*
|
|
109
179
|
* @param note - The created note
|
|
110
180
|
* @param thread - The thread the note belongs to (includes thread.meta with connector-specific data)
|
|
181
|
+
* @returns Optional note key for external deduplication
|
|
182
|
+
*/
|
|
183
|
+
onNoteCreated(note: Note, thread: Thread): Promise<string | void>;
|
|
184
|
+
/**
|
|
185
|
+
* Called when a note on a thread owned by this connector is updated.
|
|
186
|
+
* Override to write back changes to the external service
|
|
187
|
+
* (e.g., syncing reaction tags as emoji reactions).
|
|
188
|
+
*
|
|
189
|
+
* @param note - The updated note (includes current tags)
|
|
190
|
+
* @param thread - The thread the note belongs to (includes thread.meta with connector-specific data)
|
|
111
191
|
*/
|
|
112
|
-
|
|
192
|
+
onNoteUpdated(note: Note, thread: Thread): Promise<void>;
|
|
113
193
|
/**
|
|
114
194
|
* Called when a user reads or unreads a thread owned by this connector.
|
|
115
195
|
* Override to write back read status to the external service
|
|
@@ -159,8 +239,8 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
159
239
|
* @param context.actor - The actor who activated the connector
|
|
160
240
|
*/
|
|
161
241
|
activate(context: {
|
|
162
|
-
auth
|
|
163
|
-
actor
|
|
242
|
+
auth?: Authorization;
|
|
243
|
+
actor?: Actor;
|
|
164
244
|
}): Promise<void>;
|
|
165
245
|
}
|
|
166
246
|
/** @deprecated Use `Connector` instead. */
|
package/dist/connector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,8BAAsB,SAAS,CAAC,KAAK,CAAE,SAAQ,KAAK,CAAC,KAAK,CAAC;IACzD;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,QAAQ;IAInC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.js
CHANGED
|
@@ -50,7 +50,41 @@ export class Connector extends Twist {
|
|
|
50
50
|
* across worker boundaries.
|
|
51
51
|
*/
|
|
52
52
|
static isConnector = true;
|
|
53
|
+
// ---- Identity (abstract — every connector must declare) ----
|
|
54
|
+
/** The OAuth provider this connector authenticates with. */
|
|
55
|
+
provider;
|
|
56
|
+
/** OAuth scopes to request for this connector. */
|
|
57
|
+
scopes;
|
|
58
|
+
// ---- Auth model ----
|
|
59
|
+
/**
|
|
60
|
+
* When true, one credential is shared across all users in the workspace,
|
|
61
|
+
* entered once by the installer. When false (default), each user provides
|
|
62
|
+
* their own credential.
|
|
63
|
+
*
|
|
64
|
+
* Applies to both OAuth and key-based connectors:
|
|
65
|
+
* - Shared OAuth: e.g. Slack bot token (workspace-level)
|
|
66
|
+
* - Shared key: e.g. Attio workspace API key
|
|
67
|
+
* - Individual OAuth: e.g. Google Calendar (per-user)
|
|
68
|
+
* - Individual key: e.g. Fellow (per-user API key)
|
|
69
|
+
*/
|
|
70
|
+
shared;
|
|
71
|
+
/**
|
|
72
|
+
* The Options field name that contains the authentication key (e.g. "apiKey").
|
|
73
|
+
* Must reference a `secure: true` field in the Options schema.
|
|
74
|
+
*
|
|
75
|
+
* When set, this connector uses key-based auth instead of OAuth.
|
|
76
|
+
* For individual connectors (`shared` is false), this field is stored
|
|
77
|
+
* per-user rather than in shared config.
|
|
78
|
+
*/
|
|
79
|
+
keyOption;
|
|
53
80
|
// ---- Optional metadata ----
|
|
81
|
+
/**
|
|
82
|
+
* When true, this connector has a single implicit channel.
|
|
83
|
+
* `getChannels()` must return exactly one Channel.
|
|
84
|
+
* The UI will show channel config (priority, create threads) inline
|
|
85
|
+
* instead of a channel list.
|
|
86
|
+
*/
|
|
87
|
+
singleChannel;
|
|
54
88
|
/**
|
|
55
89
|
* Registry of link types this connector creates (e.g., issue, event, message).
|
|
56
90
|
* Used for display in the UI (icons, labels, statuses).
|
|
@@ -64,6 +98,25 @@ export class Connector extends Twist {
|
|
|
64
98
|
* messaging) where user replies should be written back to the external service.
|
|
65
99
|
*/
|
|
66
100
|
static handleReplies;
|
|
101
|
+
// ---- Account identity (abstract — every connector must implement) ----
|
|
102
|
+
/**
|
|
103
|
+
* Returns a human-readable name for the connected account.
|
|
104
|
+
* Shown in the connections list and edit modal to identify this connection.
|
|
105
|
+
*
|
|
106
|
+
* For OAuth connectors, this is typically the workspace or organization name
|
|
107
|
+
* (e.g., "Acme Corp" for a Linear workspace). For API key connectors, this
|
|
108
|
+
* could be the workspace name from the external service.
|
|
109
|
+
*
|
|
110
|
+
* Override this in your connector to return a meaningful account name.
|
|
111
|
+
*
|
|
112
|
+
* @param auth - The authorization (null for no-provider connectors)
|
|
113
|
+
* @param token - The access token (null for no-provider connectors)
|
|
114
|
+
* @returns Promise resolving to the account display name
|
|
115
|
+
*/
|
|
116
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
117
|
+
getAccountName(auth, token) {
|
|
118
|
+
return Promise.resolve(null);
|
|
119
|
+
}
|
|
67
120
|
// ---- Write-back hooks (optional, default no-ops) ----
|
|
68
121
|
/**
|
|
69
122
|
* Called when a link created by this connector is updated by the user.
|
|
@@ -81,13 +134,30 @@ export class Connector extends Twist {
|
|
|
81
134
|
* Override to write back comments to the external service
|
|
82
135
|
* (e.g., adding a comment to a Linear issue).
|
|
83
136
|
*
|
|
137
|
+
* Returning a string sets the note's `key` for future upsert matching,
|
|
138
|
+
* linking the Plot note to its external counterpart so that subsequent
|
|
139
|
+
* syncs (reactions, edits) update the existing note instead of creating duplicates.
|
|
140
|
+
*
|
|
84
141
|
* @param note - The created note
|
|
85
142
|
* @param thread - The thread the note belongs to (includes thread.meta with connector-specific data)
|
|
143
|
+
* @returns Optional note key for external deduplication
|
|
86
144
|
*/
|
|
87
145
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
88
146
|
onNoteCreated(note, thread) {
|
|
89
147
|
return Promise.resolve();
|
|
90
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Called when a note on a thread owned by this connector is updated.
|
|
151
|
+
* Override to write back changes to the external service
|
|
152
|
+
* (e.g., syncing reaction tags as emoji reactions).
|
|
153
|
+
*
|
|
154
|
+
* @param note - The updated note (includes current tags)
|
|
155
|
+
* @param thread - The thread the note belongs to (includes thread.meta with connector-specific data)
|
|
156
|
+
*/
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
158
|
+
onNoteUpdated(note, thread) {
|
|
159
|
+
return Promise.resolve();
|
|
160
|
+
}
|
|
91
161
|
/**
|
|
92
162
|
* Called when a user reads or unreads a thread owned by this connector.
|
|
93
163
|
* Override to write back read status to the external service
|
package/dist/connector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAgB,SAAiB,SAAQ,KAAY;IACzD;;;OAGG;IACH,MAAM,CAAU,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAgB,SAAiB,SAAQ,KAAY;IACzD;;;OAGG;IACH,MAAM,CAAU,WAAW,GAAG,IAAI,CAAC;IAEnC,+DAA+D;IAE/D,4DAA4D;IACnD,QAAQ,CAAgB;IAEjC,kDAAkD;IACzC,MAAM,CAAY;IAE3B,uBAAuB;IAEvB;;;;;;;;;;OAUG;IACM,MAAM,CAAW;IAE1B;;;;;;;OAOG;IACM,SAAS,CAAU;IAE5B,8BAA8B;IAE9B;;;;;OAKG;IACM,aAAa,CAAW;IAEjC;;;OAGG;IACM,SAAS,CAAoB;IAEtC;;;;;;OAMG;IACH,MAAM,CAAU,aAAa,CAAW;IAExC,yEAAyE;IAEzE;;;;;;;;;;;;;OAaG;IACH,6DAA6D;IAC7D,cAAc,CACZ,IAA0B,EAC1B,KAAuB;QAEvB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAwDD,wDAAwD;IAExD;;;;;;OAMG;IACH,6DAA6D;IAC7D,aAAa,CAAC,IAAU;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,6DAA6D;IAC7D,aAAa,CAAC,IAAU,EAAE,MAAc;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,6DAA6D;IAC7D,aAAa,CAAC,IAAU,EAAE,MAAc;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,6DAA6D;IAC7D,YAAY,CAAC,MAAc,EAAE,KAAY,EAAE,MAAe;QACxD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACH,6DAA6D;IAC7D,YAAY,CAAC,MAAc,EAAE,KAAY,EAAE,IAAa,EAAE,OAAwB;QAChF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACH,6DAA6D;IAC7D,wBAAwB,CAAC,MAAc,EAAE,UAAkB,EAAE,SAAkB,EAAE,MAAoC,EAAE,KAAY;QACjI,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,uBAAuB;IAEvB;;;;;;;;;;;;OAYG;IACH,kGAAkG;IAClG,QAAQ,CAAC,OAAgD;QACvD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;;AAGH,2CAA2C;AAC3C,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "eJyVk0FPwyAUx7/LOz9R2lFob4unXtTE3cxiaouuGYWlYGay9Lsb2rmgh4GXHujv/X/weJxgNMZZqF5oxrDcIozyXcnW9UZbqE5Q+o9uBgkVbI69dYCw73UHFc0EwueooIJWNdZKe+s8QGaM7NygAJdfUIGz3Y2vu1kWENpdr7pRaq+mJd9OCDRjga3eGKOu2oxRZKb+JcsEslWBjBfIC44iL7GkHEshkFJ6h5TmFCljAmmR5UgLft6cCFuRsreErU0IbFX87bGNRdvXudV26bVNkPBQsq7jgqYn6zoezAseBN83Sr017T7hAO0PSi5FcZvIw3mstZMfY7PMalTYBzQJS+PakoaHfJDuaMZ93KgXkJwLEjwinLEnZa6/tllyUMYRj8bj/XgH+c/OjDIusB4jM5yiyGk4zY1NmQXnMTLDKYry18gZrWXrzHhN0+tOfpELmiBhLLyKemgO8XxPJUQXWR7ewuASoj2VEs3D1jweok9jST+DMcE0fQOSqP6D"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "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"
|