@plotday/twister 0.46.0 → 0.47.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/dist/connector.d.ts +49 -1
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +24 -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 +36 -21
- package/dist/docs/classes/index.Imap.html +1 -1
- package/dist/docs/classes/index.Options.html +1 -1
- package/dist/docs/classes/index.Smtp.html +1 -1
- package/dist/docs/classes/tools_integrations.Integrations.html +9 -9
- package/dist/docs/classes/tools_network.Network.html +1 -1
- package/dist/docs/classes/tools_plot.Plot.html +1 -1
- package/dist/docs/classes/tools_store.Store.html +1 -1
- package/dist/docs/classes/tools_tasks.Tasks.html +1 -1
- package/dist/docs/documents/Building_Connectors.html +66 -1
- package/dist/docs/enums/tools_integrations.AuthProvider.html +12 -12
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/media/AGENTS.md +60 -0
- package/dist/docs/modules/index.html +1 -1
- package/dist/docs/types/index.CreateLinkDraft.html +21 -0
- 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.LinkTypeConfig.html +8 -4
- package/dist/docs/types/tools_integrations.SyncContext.html +2 -2
- 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/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/tools/integrations.d.ts +7 -0
- package/dist/tools/integrations.d.ts.map +1 -1
- package/dist/tools/integrations.js.map +1 -1
- package/package.json +1 -1
package/dist/connector.d.ts
CHANGED
|
@@ -1,7 +1,34 @@
|
|
|
1
|
-
import { type Actor, type ActorId, type Link, type Note, type Thread } from "./plot";
|
|
1
|
+
import { type Actor, type ActorId, type Link, type NewLinkWithNotes, type Note, type Thread } from "./plot";
|
|
2
2
|
import type { ScheduleContactStatus } from "./schedule";
|
|
3
3
|
import { type AuthProvider, type AuthToken, type Authorization, type Channel, type LinkTypeConfig, type SyncContext } from "./tools/integrations";
|
|
4
4
|
import { Twist } from "./twist";
|
|
5
|
+
/**
|
|
6
|
+
* Fields captured in Plot when a user initiates creation of a new external
|
|
7
|
+
* item via a connector's `onCreateLink` hook.
|
|
8
|
+
*
|
|
9
|
+
* Thread-agnostic on purpose — connectors do not receive the Plot thread.
|
|
10
|
+
* The platform attaches the returned `NewLinkWithNotes` to the originating
|
|
11
|
+
* thread once `onCreateLink` resolves.
|
|
12
|
+
*/
|
|
13
|
+
export type CreateLinkDraft = {
|
|
14
|
+
/** The channel (account + resource) the new item belongs to. */
|
|
15
|
+
channelId: string;
|
|
16
|
+
/** Link type identifier, matches a `LinkTypeConfig.type`. */
|
|
17
|
+
type: string;
|
|
18
|
+
/** Status the user selected. Matches a `statuses[].status` for `type`. */
|
|
19
|
+
status: string;
|
|
20
|
+
/** Title of the originating Plot thread (post AI title generation). */
|
|
21
|
+
title: string;
|
|
22
|
+
/** Markdown content of the thread's first note, or null if none. */
|
|
23
|
+
noteContent: string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Contacts attached to the originating Plot thread, excluding the
|
|
26
|
+
* creating user. Use these as recipients (email, chat DM members, etc.)
|
|
27
|
+
* when the external item is a message or invite. An empty list means
|
|
28
|
+
* the user did not add anyone to the thread.
|
|
29
|
+
*/
|
|
30
|
+
contacts: Actor[];
|
|
31
|
+
};
|
|
5
32
|
/**
|
|
6
33
|
* Base class for connectors — twists that sync data from external services.
|
|
7
34
|
*
|
|
@@ -167,6 +194,27 @@ export declare abstract class Connector<TSelf> extends Twist<TSelf> {
|
|
|
167
194
|
* @param link - The updated link
|
|
168
195
|
*/
|
|
169
196
|
onLinkUpdated(link: Link): Promise<void>;
|
|
197
|
+
/**
|
|
198
|
+
* Called when a user creates a thread in Plot that should create a new
|
|
199
|
+
* item in this connector's external system.
|
|
200
|
+
*
|
|
201
|
+
* A connector opts in to Plot-initiated creation by declaring a status
|
|
202
|
+
* with `createDefault: true` on the relevant `LinkTypeConfig`. When a
|
|
203
|
+
* user picks "Create new <type>" from the Add link modal and the thread
|
|
204
|
+
* is synced, the runtime calls this method with the draft fields.
|
|
205
|
+
*
|
|
206
|
+
* Implementations should create the item in the external service and
|
|
207
|
+
* return a `NewLinkWithNotes` describing the created item. The platform
|
|
208
|
+
* attaches the returned link to the originating thread — do not call
|
|
209
|
+
* `integrations.saveLink` yourself.
|
|
210
|
+
*
|
|
211
|
+
* Returning `null` aborts creation silently (the thread is still saved
|
|
212
|
+
* without a link).
|
|
213
|
+
*
|
|
214
|
+
* @param draft - The fields captured in Plot for the new item.
|
|
215
|
+
* @returns The link to attach, or null to abort creation.
|
|
216
|
+
*/
|
|
217
|
+
onCreateLink(draft: CreateLinkDraft): Promise<NewLinkWithNotes | null>;
|
|
170
218
|
/**
|
|
171
219
|
* Called when a note is created on a thread owned by this connector.
|
|
172
220
|
* Override to write back comments to the external service
|
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;
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.js
CHANGED
|
@@ -128,6 +128,30 @@ export class Connector extends Twist {
|
|
|
128
128
|
onLinkUpdated(link) {
|
|
129
129
|
return Promise.resolve();
|
|
130
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Called when a user creates a thread in Plot that should create a new
|
|
133
|
+
* item in this connector's external system.
|
|
134
|
+
*
|
|
135
|
+
* A connector opts in to Plot-initiated creation by declaring a status
|
|
136
|
+
* with `createDefault: true` on the relevant `LinkTypeConfig`. When a
|
|
137
|
+
* user picks "Create new <type>" from the Add link modal and the thread
|
|
138
|
+
* is synced, the runtime calls this method with the draft fields.
|
|
139
|
+
*
|
|
140
|
+
* Implementations should create the item in the external service and
|
|
141
|
+
* return a `NewLinkWithNotes` describing the created item. The platform
|
|
142
|
+
* attaches the returned link to the originating thread — do not call
|
|
143
|
+
* `integrations.saveLink` yourself.
|
|
144
|
+
*
|
|
145
|
+
* Returning `null` aborts creation silently (the thread is still saved
|
|
146
|
+
* without a link).
|
|
147
|
+
*
|
|
148
|
+
* @param draft - The fields captured in Plot for the new item.
|
|
149
|
+
* @returns The link to attach, or null to abort creation.
|
|
150
|
+
*/
|
|
151
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
152
|
+
onCreateLink(draft) {
|
|
153
|
+
return Promise.resolve(null);
|
|
154
|
+
}
|
|
131
155
|
/**
|
|
132
156
|
* Called when a note is created on a thread owned by this connector.
|
|
133
157
|
* Override to write back comments 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":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AA8BhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;OAIG;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;IAyDD,wDAAwD;IAExD;;;;;;OAMG;IACH,6DAA6D;IAC7D,aAAa,CAAC,IAAU;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,6DAA6D;IAC7D,YAAY,CAAC,KAAsB;QACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,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,2EAA2E;IAC3E,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 = "eJyVkz1vwyAQhv/LzVdq8Cfeok5Z2krNVkWVa9PGCobIUKVS5P9eYacR6RDo4gE/9z5wHCcYtbYG6lfKCuRbhFF8SNHaXisD9Qm4+6hmEFDD5tgbCwj7XnVQU1YhfI0SamhlY4ww99YBZMbIzg4ScPkFNVjT3bm6u2UBod31shuFmtU03U4IlBWebb3RWt60aS3JTP1PxjHPcszLHMuiwCpjyFmCnDOklFZIacqR5hVDWmQl0jKhy+auWhGzt4itTQh5lv/tsQlFm7e51WbptYmQlL5ktQ4Lmp6s1uHgsvDv7KGR8r1p9xEHaH9RcikK26qM+ROirPgcm2VWg8Leo4lfGtZylnjaR2GPetyHjWoBybkgwsP94z1Lffu1zZKD1JY4NBzvxtvLf7F6FGGBcRiZ4RhFevVMGhMzC9ZhZIYjFIym/shppURr9XhL06tOfJMLGiHJq6tJG5pDON9REdFFVvq3MNiIaEdFRJcJ9aKfDsGnsaSfwZBgmn4A89T+Vw=="
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "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"
|