@plotday/twister 0.54.0 → 0.55.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 +28 -2
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +2 -1
- 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 +26 -25
- package/dist/docs/classes/index.FileNotFoundError.html +1 -1
- package/dist/docs/classes/index.Files.html +1 -1
- 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 +11 -11
- 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/enums/tools_integrations.AuthProvider.html +13 -13
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/modules/index.html +1 -1
- package/dist/docs/types/index.OptionalScopeGroup.html +12 -0
- package/dist/docs/types/index.ScopeConfig.html +9 -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.Channel.html +23 -4
- package/dist/docs/types/tools_integrations.ComposeConfig.html +4 -4
- package/dist/docs/types/tools_integrations.ContactRoleConfig.html +5 -5
- package/dist/docs/types/tools_integrations.LinkTypeConfig.html +52 -14
- package/dist/docs/types/tools_integrations.SyncContext.html +3 -3
- 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 +73 -1
- package/dist/tools/integrations.d.ts.map +1 -1
- package/dist/tools/integrations.js.map +1 -1
- package/package.json +1 -1
- package/src/connector.ts +30 -2
- package/src/llm-docs/connector.ts +1 -1
- package/src/llm-docs/tools/integrations.ts +1 -1
- package/src/tools/integrations.ts +73 -1
|
@@ -17,6 +17,26 @@ export type Channel = {
|
|
|
17
17
|
id: string;
|
|
18
18
|
/** Display name shown in the UI */
|
|
19
19
|
title: string;
|
|
20
|
+
/**
|
|
21
|
+
* Whether this channel should be selected by default when the user first
|
|
22
|
+
* adds the connection. Tri-state:
|
|
23
|
+
* - `true` — pre-select it (e.g. the user's own/primary calendar).
|
|
24
|
+
* - `false` — exclude it from the default selection (low-value or
|
|
25
|
+
* irrelevant resources that would crowd the user's view, or containers
|
|
26
|
+
* whose contents are too broad to sync wholesale — e.g. a holiday or
|
|
27
|
+
* someone-else's shared calendar, a GitHub org that cascades to every
|
|
28
|
+
* repo, a Microsoft Teams team container). The user can still enable it
|
|
29
|
+
* manually.
|
|
30
|
+
* - `undefined` — no opinion; the client decides. The client defaults to
|
|
31
|
+
* enabling the channel unless its title looks low-value (holidays,
|
|
32
|
+
* birthdays, spam/sent/draft, …).
|
|
33
|
+
*
|
|
34
|
+
* The guiding principle is "sync everything the user would reasonably want
|
|
35
|
+
* by default" — for most connectors that's all channels, so only set this
|
|
36
|
+
* where the connector can distinguish the user's own/relevant channels from
|
|
37
|
+
* low-value ones (e.g. Google Calendar via `accessRole === "owner"`).
|
|
38
|
+
*/
|
|
39
|
+
enabledByDefault?: boolean;
|
|
20
40
|
/** Optional nested channel resources (e.g., subfolders) */
|
|
21
41
|
children?: Channel[];
|
|
22
42
|
/** Per-channel link type configs. Overrides twist-level linkTypes when present. */
|
|
@@ -39,6 +59,28 @@ export type LinkTypeConfig = {
|
|
|
39
59
|
* when omitted. Use the singular noun in title case (e.g. "Comment").
|
|
40
60
|
*/
|
|
41
61
|
noteLabel?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Placeholder shown in the editor when this link type is the target of a
|
|
64
|
+
* new thread (NewThreadPage). Example: "Send a Gmail email".
|
|
65
|
+
* If unset, Plot derives "Create a new {connector} {label.toLowerCase()}".
|
|
66
|
+
*/
|
|
67
|
+
composePlaceholder?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Label for the Send button on NewThreadPage when this link type is the
|
|
70
|
+
* target. Example: "Send". If unset, defaults to "Create".
|
|
71
|
+
*/
|
|
72
|
+
composeVerb?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Placeholder shown in the in-thread editor for the default reply mode.
|
|
75
|
+
* Example: "Reply" (Gmail), "Add a comment" (Linear). If unset, Plot derives
|
|
76
|
+
* "Add a {noteLabel.toLowerCase()}" or "Add a note".
|
|
77
|
+
*/
|
|
78
|
+
replyPlaceholder?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Label for the Send button in the in-thread editor. Example: "Send"
|
|
81
|
+
* (Gmail), "Comment" (Linear). If unset, defaults to "Send".
|
|
82
|
+
*/
|
|
83
|
+
replyVerb?: string;
|
|
42
84
|
/** URL to an icon for this link type (light mode). Prefer Iconify `logos/*` URLs. */
|
|
43
85
|
logo?: string;
|
|
44
86
|
/** URL to an icon for dark mode. Use when the default logo is invisible on dark backgrounds (e.g., Iconify `simple-icons/*` with `?color=`). */
|
|
@@ -72,6 +114,16 @@ export type LinkTypeConfig = {
|
|
|
72
114
|
}>;
|
|
73
115
|
/** Whether this link type supports displaying and changing the assignee */
|
|
74
116
|
supportsAssignee?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Whether this link type produces time-anchored schedule/agenda items
|
|
119
|
+
* (i.e. calendar events). The Plot app shows the agenda (the bottom-nav
|
|
120
|
+
* tab on mobile and the left-sidebar agenda on desktop) only when the
|
|
121
|
+
* user has at least one active connection whose link types include one
|
|
122
|
+
* with `includesSchedules: true`. Calendar connectors (Google / Apple /
|
|
123
|
+
* Outlook Calendar) set this on their `event` link type. Defaults to
|
|
124
|
+
* false — non-calendar link types (messages, issues, tasks, docs) omit it.
|
|
125
|
+
*/
|
|
126
|
+
includesSchedules?: boolean;
|
|
75
127
|
/** Default thread creation mode for this link type: 'all' | 'actionable' | 'manual' */
|
|
76
128
|
defaultCreateThreads?: string;
|
|
77
129
|
/**
|
|
@@ -103,6 +155,22 @@ export type LinkTypeConfig = {
|
|
|
103
155
|
* false when omitted.
|
|
104
156
|
*/
|
|
105
157
|
supportsContactChanges?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Whether a note/reply on this link type can carry a link (a pasted URL or
|
|
160
|
+
* connector-created item) that Plot forwards to the source. When false (the
|
|
161
|
+
* default), the "Add link" button is hidden for threads of this link type.
|
|
162
|
+
* Only set true if the connector's reply path actually forwards the link
|
|
163
|
+
* action to the source. Private Plot notes (no link type) always allow links.
|
|
164
|
+
*/
|
|
165
|
+
supportsLinks?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Whether a note/reply on this link type can carry an uploaded file that Plot
|
|
168
|
+
* forwards to the source as an attachment. When false (the default), the
|
|
169
|
+
* "Attach file" button is hidden for threads of this link type. Only set true
|
|
170
|
+
* if the connector's reply path actually uploads file actions to the source.
|
|
171
|
+
* Private Plot notes (no link type) always allow attachments.
|
|
172
|
+
*/
|
|
173
|
+
supportsFileAttachments?: boolean;
|
|
106
174
|
/**
|
|
107
175
|
* Declares how sharing on threads of this link type is scoped:
|
|
108
176
|
*
|
|
@@ -114,12 +182,16 @@ export type LinkTypeConfig = {
|
|
|
114
182
|
* - `"message"`: each note carries its own recipient set via
|
|
115
183
|
* `note.access_contacts`; the thread roster is the union across
|
|
116
184
|
* all messages. Email.
|
|
185
|
+
* - `"none"`: the link type has no recipient roster at all. No
|
|
186
|
+
* contacts/sharing UI is shown for these threads. Use for purely
|
|
187
|
+
* personal destinations with no sharing concept (e.g. Google
|
|
188
|
+
* Tasks). The per-thread `contacts` array is ignored for sharing UI.
|
|
117
189
|
*
|
|
118
190
|
* Omit to default to `"thread"`. When set to `"message"`, every
|
|
119
191
|
* note this connector ingests must populate `access_contacts`
|
|
120
192
|
* explicitly (never NULL).
|
|
121
193
|
*/
|
|
122
|
-
sharingModel?: "thread" | "channel" | "message";
|
|
194
|
+
sharingModel?: "thread" | "channel" | "message" | "none";
|
|
123
195
|
};
|
|
124
196
|
|
|
125
197
|
/**
|