@plotday/twister 0.52.0 → 0.54.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 +4 -0
- package/bin/commands/deploy.js.map +1 -1
- package/bin/templates/AGENTS.template.md +6 -10
- package/cli/templates/AGENTS.template.md +6 -10
- package/dist/connector.d.ts +179 -10
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +78 -4
- 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 +74 -26
- package/dist/docs/classes/index.FileNotFoundError.html +2 -0
- package/dist/docs/classes/index.Files.html +16 -0
- 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/tool.ITool.html +1 -1
- package/dist/docs/classes/tools_ai.AI.html +7 -5
- package/dist/docs/classes/tools_callbacks.Callbacks.html +1 -1
- package/dist/docs/classes/tools_integrations.Integrations.html +17 -23
- package/dist/docs/classes/tools_network.Network.html +1 -1
- package/dist/docs/classes/tools_plot.Plot.html +62 -56
- 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 +2 -2
- package/dist/docs/classes/twist.Twist.html +3 -3
- package/dist/docs/documents/Building_Connectors.html +1 -1
- package/dist/docs/enums/plot.ActionType.html +10 -8
- package/dist/docs/enums/plot.ActorType.html +4 -4
- package/dist/docs/enums/plot.ConferencingProvider.html +6 -6
- package/dist/docs/enums/plot.ThemeColor.html +10 -10
- package/dist/docs/enums/tag.Tag.html +16 -46
- package/dist/docs/enums/tools_ai.AIModel.html +2 -2
- package/dist/docs/enums/tools_integrations.AuthProvider.html +13 -13
- package/dist/docs/enums/{tools_plot.PriorityAccess.html → tools_plot.FocusAccess.html} +6 -6
- package/dist/docs/enums/tools_plot.ThreadAccess.html +1 -1
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/interfaces/tools_ai.AIRequest.html +27 -11
- 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 +22 -14
- package/dist/docs/modules/index.html +1 -1
- package/dist/docs/modules/plot.html +1 -1
- package/dist/docs/modules/tools_integrations.html +1 -1
- package/dist/docs/modules/tools_plot.html +1 -1
- package/dist/docs/types/index.CreateLinkDraft.html +31 -7
- package/dist/docs/types/index.NoteWriteBackResult.html +3 -3
- package/dist/docs/types/index.ReactionCapabilities.html +17 -0
- package/dist/docs/types/index.ResolvedRecipient.html +24 -0
- package/dist/docs/types/index.Schedule.html +1 -1
- package/dist/docs/types/plot.Action.html +9 -2
- package/dist/docs/types/plot.Actor.html +5 -5
- package/dist/docs/types/plot.ActorId.html +1 -1
- package/dist/docs/types/plot.Contact.html +4 -4
- package/dist/docs/types/plot.ContentType.html +1 -1
- package/dist/docs/types/{plot.Priority.html → plot.Focus.html} +14 -11
- package/dist/docs/types/plot.FocusUpdate.html +3 -0
- package/dist/docs/types/plot.Link.html +16 -16
- package/dist/docs/types/plot.LinkUpdate.html +1 -1
- package/dist/docs/types/plot.NewActor.html +1 -1
- package/dist/docs/types/plot.NewContact.html +1 -1
- package/dist/docs/types/plot.NewFocus.html +13 -0
- package/dist/docs/types/plot.NewLink.html +6 -6
- package/dist/docs/types/plot.NewLinkWithNotes.html +1 -1
- package/dist/docs/types/plot.NewNote.html +5 -3
- package/dist/docs/types/plot.NewReactions.html +4 -0
- package/dist/docs/types/plot.NewTags.html +1 -1
- package/dist/docs/types/plot.NewThread.html +6 -4
- package/dist/docs/types/plot.NewThreadWithNotes.html +1 -1
- package/dist/docs/types/plot.Note.html +2 -2
- package/dist/docs/types/plot.NoteUpdate.html +4 -2
- package/dist/docs/types/plot.PlanOperation.html +6 -6
- package/dist/docs/types/plot.Reaction.html +13 -0
- package/dist/docs/types/plot.Reactions.html +3 -0
- package/dist/docs/types/plot.Tags.html +1 -1
- package/dist/docs/types/plot.Thread.html +1 -1
- package/dist/docs/types/plot.ThreadAccessLevel.html +3 -3
- package/dist/docs/types/plot.ThreadCommon.html +9 -5
- 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 +4 -4
- 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.AICapabilities.html +7 -3
- package/dist/docs/types/tools_ai.AIMessage.html +1 -1
- package/dist/docs/types/tools_ai.AIOptions.html +2 -2
- 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 +10 -9
- 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_ai.ModelPreferences.html +4 -4
- 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 +5 -5
- package/dist/docs/types/tools_integrations.ComposeConfig.html +35 -0
- package/dist/docs/types/tools_integrations.ContactRoleConfig.html +14 -0
- package/dist/docs/types/tools_integrations.LinkTypeConfig.html +55 -28
- package/dist/docs/types/tools_integrations.SyncContext.html +3 -3
- package/dist/docs/types/tools_plot.SearchOptions.html +5 -6
- package/dist/docs/types/tools_twists.TwistPermissions.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 +2 -0
- package/dist/llm-docs/index.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/schedule.d.ts +1 -1
- package/dist/llm-docs/schedule.d.ts.map +1 -1
- package/dist/llm-docs/schedule.js +1 -1
- package/dist/llm-docs/schedule.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/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/files.d.ts +9 -0
- package/dist/llm-docs/tools/files.d.ts.map +1 -0
- package/dist/llm-docs/tools/files.js +8 -0
- package/dist/llm-docs/tools/files.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/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/twists.d.ts +1 -1
- package/dist/llm-docs/tools/twists.d.ts.map +1 -1
- package/dist/llm-docs/tools/twists.js +1 -1
- package/dist/llm-docs/tools/twists.js.map +1 -1
- package/dist/llm-docs/twist-guide-template.d.ts +1 -1
- package/dist/llm-docs/twist-guide-template.d.ts.map +1 -1
- package/dist/llm-docs/twist-guide-template.js +1 -1
- package/dist/llm-docs/twist-guide-template.js.map +1 -1
- 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/plot.d.ts +146 -85
- package/dist/plot.d.ts.map +1 -1
- package/dist/plot.js +3 -1
- package/dist/plot.js.map +1 -1
- package/dist/schedule.d.ts +1 -1
- package/dist/tag.d.ts +17 -43
- package/dist/tag.d.ts.map +1 -1
- package/dist/tag.js +17 -46
- package/dist/tag.js.map +1 -1
- package/dist/tools/ai.d.ts +46 -10
- package/dist/tools/ai.d.ts.map +1 -1
- package/dist/tools/ai.js.map +1 -1
- package/dist/tools/files.d.ts +33 -0
- package/dist/tools/files.d.ts.map +1 -0
- package/dist/tools/files.js +22 -0
- package/dist/tools/files.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrations.d.ts +130 -50
- package/dist/tools/integrations.d.ts.map +1 -1
- package/dist/tools/integrations.js.map +1 -1
- package/dist/tools/plot.d.ts +66 -56
- package/dist/tools/plot.d.ts.map +1 -1
- package/dist/tools/plot.js +14 -14
- package/dist/tools/plot.js.map +1 -1
- package/dist/tools/twists.d.ts +2 -2
- package/dist/twist-guide.d.ts +1 -1
- package/dist/twist-guide.d.ts.map +1 -1
- package/dist/twist.d.ts +3 -3
- package/dist/twist.js +3 -3
- package/package.json +6 -1
- package/src/connector.ts +182 -10
- package/src/llm-docs/connector.ts +1 -1
- package/src/llm-docs/index.ts +2 -0
- package/src/llm-docs/plot.ts +1 -1
- package/src/llm-docs/schedule.ts +1 -1
- package/src/llm-docs/tag.ts +1 -1
- package/src/llm-docs/tools/ai.ts +1 -1
- package/src/llm-docs/tools/files.ts +8 -0
- package/src/llm-docs/tools/integrations.ts +1 -1
- package/src/llm-docs/tools/plot.ts +1 -1
- package/src/llm-docs/tools/twists.ts +1 -1
- package/src/llm-docs/twist-guide-template.ts +1 -1
- package/src/llm-docs/twist.ts +1 -1
- package/src/plot.ts +156 -75
- package/src/schedule.ts +1 -1
- package/src/tag.ts +17 -48
- package/src/tools/ai.ts +46 -10
- package/src/tools/files.ts +37 -0
- package/src/tools/index.ts +1 -0
- package/src/tools/integrations.ts +131 -61
- package/src/tools/plot.ts +69 -59
- package/src/tools/twists.ts +2 -2
- package/src/twist.ts +3 -3
- package/dist/docs/types/plot.NewPriority.html +0 -15
- package/dist/docs/types/plot.PriorityUpdate.html +0 -5
package/dist/tag.d.ts
CHANGED
|
@@ -1,50 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Compute tags — system state the runtime auto-manages on threads and
|
|
3
|
+
* notes (`todo`, `done`, `twist` activity marker, …).
|
|
4
|
+
*
|
|
5
|
+
* The toggle range (100–999) and count range (1000–1027) have been
|
|
6
|
+
* retired in favour of the open Unicode emoji `Reaction` type — see
|
|
7
|
+
* `@plotday/twister/plot`'s `Reactions` / `NewReactions` and the
|
|
8
|
+
* per-row `note.reactions` / `thread.reactions` fields. Connectors
|
|
9
|
+
* route emoji reactions through `reactions`, not `tags`.
|
|
10
|
+
*
|
|
11
|
+
* `Tag.Twist` is the surviving non-trivial tag: a system marker the
|
|
12
|
+
* runtime adds to a note while a twist is processing it, and clears
|
|
13
|
+
* once the twist returns. It's not user-facing and not a reaction.
|
|
6
14
|
*/
|
|
7
15
|
export declare enum Tag {
|
|
8
16
|
Todo = 1,
|
|
9
17
|
Done = 3,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Blocked = 106,
|
|
16
|
-
Warning = 107,
|
|
17
|
-
Question = 108,
|
|
18
|
-
Twist = 109,
|
|
19
|
-
Star = 110,
|
|
20
|
-
Idea = 111,
|
|
21
|
-
Yes = 1000,
|
|
22
|
-
No = 1001,
|
|
23
|
-
Volunteer = 1002,
|
|
24
|
-
Tada = 1003,
|
|
25
|
-
Fire = 1004,
|
|
26
|
-
Totally = 1005,
|
|
27
|
-
Looking = 1006,
|
|
28
|
-
Love = 1007,
|
|
29
|
-
Rocket = 1008,
|
|
30
|
-
Sparkles = 1009,
|
|
31
|
-
Thanks = 1010,
|
|
32
|
-
Smile = 1011,
|
|
33
|
-
Wave = 1012,
|
|
34
|
-
Praise = 1015,
|
|
35
|
-
Applause = 1016,
|
|
36
|
-
Cool = 1017,
|
|
37
|
-
Sad = 1018,
|
|
38
|
-
Reply = 1019,
|
|
39
|
-
Thinking = 1013,
|
|
40
|
-
Remember = 1014,
|
|
41
|
-
Agreed = 1020,
|
|
42
|
-
Relieved = 1021,
|
|
43
|
-
Send = 1022,
|
|
44
|
-
Noted = 1023,
|
|
45
|
-
Laugh = 1024,
|
|
46
|
-
Surprised = 1025,
|
|
47
|
-
Confused = 1026,
|
|
48
|
-
Dismayed = 1027
|
|
18
|
+
/** System marker for "a twist is processing this note." Set by the
|
|
19
|
+
* runtime when a twist callback fires, cleared on return. Twists
|
|
20
|
+
* may still write `{ [Tag.Twist]: true | false }` to twistTags to
|
|
21
|
+
* mark/unmark a note explicitly. */
|
|
22
|
+
Twist = 12
|
|
49
23
|
}
|
|
50
24
|
//# sourceMappingURL=tag.d.ts.map
|
package/dist/tag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../src/tag.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../src/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,oBAAY,GAAG;IACb,IAAI,IAAI;IACR,IAAI,IAAI;IACR;;;wCAGoC;IACpC,KAAK,KAAK;CACX"}
|
package/dist/tag.js
CHANGED
|
@@ -1,54 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Compute tags — system state the runtime auto-manages on threads and
|
|
3
|
+
* notes (`todo`, `done`, `twist` activity marker, …).
|
|
4
|
+
*
|
|
5
|
+
* The toggle range (100–999) and count range (1000–1027) have been
|
|
6
|
+
* retired in favour of the open Unicode emoji `Reaction` type — see
|
|
7
|
+
* `@plotday/twister/plot`'s `Reactions` / `NewReactions` and the
|
|
8
|
+
* per-row `note.reactions` / `thread.reactions` fields. Connectors
|
|
9
|
+
* route emoji reactions through `reactions`, not `tags`.
|
|
10
|
+
*
|
|
11
|
+
* `Tag.Twist` is the surviving non-trivial tag: a system marker the
|
|
12
|
+
* runtime adds to a note while a twist is processing it, and clears
|
|
13
|
+
* once the twist returns. It's not user-facing and not a reaction.
|
|
6
14
|
*/
|
|
7
15
|
export var Tag;
|
|
8
16
|
(function (Tag) {
|
|
9
|
-
// Special tags
|
|
10
17
|
Tag[Tag["Todo"] = 1] = "Todo";
|
|
11
18
|
Tag[Tag["Done"] = 3] = "Done";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Tag[Tag["
|
|
17
|
-
Tag[Tag["Waiting"] = 105] = "Waiting";
|
|
18
|
-
Tag[Tag["Blocked"] = 106] = "Blocked";
|
|
19
|
-
Tag[Tag["Warning"] = 107] = "Warning";
|
|
20
|
-
Tag[Tag["Question"] = 108] = "Question";
|
|
21
|
-
Tag[Tag["Twist"] = 109] = "Twist";
|
|
22
|
-
Tag[Tag["Star"] = 110] = "Star";
|
|
23
|
-
Tag[Tag["Idea"] = 111] = "Idea";
|
|
24
|
-
// Count tags
|
|
25
|
-
Tag[Tag["Yes"] = 1000] = "Yes";
|
|
26
|
-
Tag[Tag["No"] = 1001] = "No";
|
|
27
|
-
Tag[Tag["Volunteer"] = 1002] = "Volunteer";
|
|
28
|
-
Tag[Tag["Tada"] = 1003] = "Tada";
|
|
29
|
-
Tag[Tag["Fire"] = 1004] = "Fire";
|
|
30
|
-
Tag[Tag["Totally"] = 1005] = "Totally";
|
|
31
|
-
Tag[Tag["Looking"] = 1006] = "Looking";
|
|
32
|
-
Tag[Tag["Love"] = 1007] = "Love";
|
|
33
|
-
Tag[Tag["Rocket"] = 1008] = "Rocket";
|
|
34
|
-
Tag[Tag["Sparkles"] = 1009] = "Sparkles";
|
|
35
|
-
Tag[Tag["Thanks"] = 1010] = "Thanks";
|
|
36
|
-
Tag[Tag["Smile"] = 1011] = "Smile";
|
|
37
|
-
Tag[Tag["Wave"] = 1012] = "Wave";
|
|
38
|
-
Tag[Tag["Praise"] = 1015] = "Praise";
|
|
39
|
-
Tag[Tag["Applause"] = 1016] = "Applause";
|
|
40
|
-
Tag[Tag["Cool"] = 1017] = "Cool";
|
|
41
|
-
Tag[Tag["Sad"] = 1018] = "Sad";
|
|
42
|
-
Tag[Tag["Reply"] = 1019] = "Reply";
|
|
43
|
-
Tag[Tag["Thinking"] = 1013] = "Thinking";
|
|
44
|
-
Tag[Tag["Remember"] = 1014] = "Remember";
|
|
45
|
-
Tag[Tag["Agreed"] = 1020] = "Agreed";
|
|
46
|
-
Tag[Tag["Relieved"] = 1021] = "Relieved";
|
|
47
|
-
Tag[Tag["Send"] = 1022] = "Send";
|
|
48
|
-
Tag[Tag["Noted"] = 1023] = "Noted";
|
|
49
|
-
Tag[Tag["Laugh"] = 1024] = "Laugh";
|
|
50
|
-
Tag[Tag["Surprised"] = 1025] = "Surprised";
|
|
51
|
-
Tag[Tag["Confused"] = 1026] = "Confused";
|
|
52
|
-
Tag[Tag["Dismayed"] = 1027] = "Dismayed";
|
|
19
|
+
/** System marker for "a twist is processing this note." Set by the
|
|
20
|
+
* runtime when a twist callback fires, cleared on return. Twists
|
|
21
|
+
* may still write `{ [Tag.Twist]: true | false }` to twistTags to
|
|
22
|
+
* mark/unmark a note explicitly. */
|
|
23
|
+
Tag[Tag["Twist"] = 12] = "Twist";
|
|
53
24
|
})(Tag || (Tag = {}));
|
|
54
25
|
//# sourceMappingURL=tag.js.map
|
package/dist/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../src/tag.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../src/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAN,IAAY,GAQX;AARD,WAAY,GAAG;IACb,6BAAQ,CAAA;IACR,6BAAQ,CAAA;IACR;;;wCAGoC;IACpC,gCAAU,CAAA;AACZ,CAAC,EARW,GAAG,KAAH,GAAG,QAQd"}
|
package/dist/tools/ai.d.ts
CHANGED
|
@@ -67,8 +67,11 @@ export declare abstract class AI extends ITool {
|
|
|
67
67
|
* Returns which AI capabilities are currently available.
|
|
68
68
|
* Check this before calling prompt() or embed() to gracefully
|
|
69
69
|
* handle cases where AI is disabled by the user.
|
|
70
|
+
*
|
|
71
|
+
* Built-in tools are accessed as RPC stubs, so from a twist this call
|
|
72
|
+
* resolves asynchronously — always `await` it.
|
|
70
73
|
*/
|
|
71
|
-
abstract available(): AICapabilities
|
|
74
|
+
abstract available(): AICapabilities | Promise<AICapabilities>;
|
|
72
75
|
/**
|
|
73
76
|
* Sends a request to an AI model and returns the response using the Vercel AI SDK.
|
|
74
77
|
*
|
|
@@ -131,7 +134,7 @@ export declare abstract class AI extends ITool {
|
|
|
131
134
|
* tools: {
|
|
132
135
|
* getWeather: {
|
|
133
136
|
* description: "Get weather for a city",
|
|
134
|
-
*
|
|
137
|
+
* inputSchema: Type.Object({
|
|
135
138
|
* city: Type.String()
|
|
136
139
|
* }),
|
|
137
140
|
* execute: async ({ city }) => {
|
|
@@ -157,6 +160,12 @@ export type AICapabilities = {
|
|
|
157
160
|
prompt: boolean;
|
|
158
161
|
/** Whether AI embedding generation is available. */
|
|
159
162
|
embed: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Whether provider-native web search is available. True for Plot AI and
|
|
165
|
+
* Anthropic/Google BYOK providers; false for OpenAI/custom BYOK providers
|
|
166
|
+
* that don't expose a server-side web search tool through this runtime.
|
|
167
|
+
*/
|
|
168
|
+
webSearch: boolean;
|
|
160
169
|
};
|
|
161
170
|
/**
|
|
162
171
|
* Model preferences for selecting an AI model based on performance and cost requirements.
|
|
@@ -313,6 +322,31 @@ export interface AIRequest<TOOLS extends AIToolSet, SCHEMA extends TSchema = nev
|
|
|
313
322
|
* Controls diversity by limiting to top probability tokens.
|
|
314
323
|
*/
|
|
315
324
|
topP?: number;
|
|
325
|
+
/**
|
|
326
|
+
* Enable provider-native web search so the model can retrieve
|
|
327
|
+
* up-to-date information from the web. The search is executed
|
|
328
|
+
* server-side by the provider and any pages used are returned in
|
|
329
|
+
* {@link AIResponse.sources}.
|
|
330
|
+
*
|
|
331
|
+
* Only available on web-search-capable providers (Anthropic and
|
|
332
|
+
* Google). Check {@link AICapabilities.webSearch} via `available()`
|
|
333
|
+
* before relying on it; on unsupported providers the flag is ignored.
|
|
334
|
+
*
|
|
335
|
+
* Pass `true` for defaults, or an object to cap the number of searches.
|
|
336
|
+
*/
|
|
337
|
+
webSearch?: boolean | {
|
|
338
|
+
maxUses?: number;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Maximum number of sequential generation steps for agentic tool use.
|
|
342
|
+
* When the model calls a tool, its result is fed back and the model is
|
|
343
|
+
* called again, up to `maxSteps` times, until it produces a final answer.
|
|
344
|
+
*
|
|
345
|
+
* Defaults to 1 (single step — tool calls are returned but not looped),
|
|
346
|
+
* preserving prior behavior. Set higher (e.g. 6) to let the model chain
|
|
347
|
+
* tool calls into a final answer.
|
|
348
|
+
*/
|
|
349
|
+
maxSteps?: number;
|
|
316
350
|
}
|
|
317
351
|
/**
|
|
318
352
|
* Response from AI text generation, matching Vercel AI SDK's GenerateTextResult.
|
|
@@ -638,17 +672,19 @@ export interface ToolExecutionOptions {
|
|
|
638
672
|
*/
|
|
639
673
|
export type AITool<PARAMETERS extends ToolParameters = any, RESULT = any> = {
|
|
640
674
|
/**
|
|
641
|
-
* The schema of the input that the tool expects
|
|
642
|
-
*
|
|
643
|
-
* Use descriptions to make the input
|
|
675
|
+
* The schema of the input that the tool expects, expressed as a Typebox
|
|
676
|
+
* schema. The language model uses this to generate (and the runtime to
|
|
677
|
+
* validate) the tool input. Use field descriptions to make the input
|
|
678
|
+
* understandable for the model.
|
|
679
|
+
*
|
|
680
|
+
* This is the canonical field read by the runtime. `parameters` is an
|
|
681
|
+
* accepted alias for backwards compatibility.
|
|
644
682
|
*/
|
|
645
|
-
|
|
683
|
+
inputSchema: TSchema;
|
|
646
684
|
/**
|
|
647
|
-
*
|
|
648
|
-
* It is also used to validate the output of the language model.
|
|
649
|
-
* Use descriptions to make the input understandable for the language model.
|
|
685
|
+
* @deprecated Alias for {@link inputSchema}. Prefer `inputSchema`.
|
|
650
686
|
*/
|
|
651
|
-
|
|
687
|
+
parameters?: PARAMETERS;
|
|
652
688
|
/**
|
|
653
689
|
* An optional description of what the tool does.
|
|
654
690
|
* Will be used by the language model to decide whether to use the tool.
|
package/dist/tools/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,8BAAsB,EAAG,SAAQ,KAAK;IACpC
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,OAAgB,EAAG,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,OAAgB,EAAG,SAAQ,KAAK;CA0FrC;AA8ED;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,OA6BX;AA7BD,WAAY,OAAO;IACjB,kDAAkD;IAClD,iCAAsB,CAAA;IACtB,yCAA8B,CAAA;IAC9B,2CAAgC,CAAA;IAChC,2CAAgC,CAAA;IAChC,mCAAwB,CAAA;IACxB,6CAAkC,CAAA;IAClC,2BAAgB,CAAA;IAChB,qCAA0B,CAAA;IAE1B,uCAAuC;IACvC,uDAA4C,CAAA;IAC5C,2DAAgD,CAAA;IAChD,yDAA8C,CAAA;IAE9C,oCAAoC;IACpC,kDAAuC,CAAA;IACvC,sDAA2C,CAAA;IAC3C,gEAAqD,CAAA;IACrD,sDAA2C,CAAA;IAC3C,gEAAqD,CAAA;IAErD,sFAAsF;IACtF,oEAAyD,CAAA;IACzD,gEAAqD,CAAA;IACrD,yDAA8C,CAAA;IAC9C,qDAA0C,CAAA;IAC1C,uEAA4D,CAAA;AAC9D,CAAC,EA7BW,OAAO,KAAP,OAAO,QA6BlB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ITool } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* Built-in tool for reading files attached to notes in Plot.
|
|
4
|
+
*
|
|
5
|
+
* Files are uploaded by clients via POST /files which creates an
|
|
6
|
+
* ActionType.file entry on a note. Connectors call read() during outbound
|
|
7
|
+
* (e.g. onNoteCreated) to retrieve those bytes and send them to the source
|
|
8
|
+
* system.
|
|
9
|
+
*
|
|
10
|
+
* For inbound attachments, connectors emit ActionType.fileRef actions and
|
|
11
|
+
* implement Connector.downloadAttachment — no upload tool is needed because
|
|
12
|
+
* inbound bytes never enter Plot's R2 storage.
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class Files extends ITool {
|
|
15
|
+
/**
|
|
16
|
+
* Read a file uploaded by a client and attached to a note in a focus
|
|
17
|
+
* where this twist is installed.
|
|
18
|
+
*
|
|
19
|
+
* @param fileId The id from an ActionType.file action.
|
|
20
|
+
* @returns Bytes plus original metadata.
|
|
21
|
+
* @throws FileNotFoundError if the file is missing or out of scope.
|
|
22
|
+
*/
|
|
23
|
+
abstract read(fileId: string): Promise<{
|
|
24
|
+
data: Uint8Array;
|
|
25
|
+
fileName: string;
|
|
26
|
+
mimeType: string;
|
|
27
|
+
fileSize: number;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
export declare class FileNotFoundError extends Error {
|
|
31
|
+
constructor(fileId: string);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,8BAAsB,KAAM,SAAQ,KAAK;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,MAAM,EAAE,MAAM;CAI3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ITool } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* Built-in tool for reading files attached to notes in Plot.
|
|
4
|
+
*
|
|
5
|
+
* Files are uploaded by clients via POST /files which creates an
|
|
6
|
+
* ActionType.file entry on a note. Connectors call read() during outbound
|
|
7
|
+
* (e.g. onNoteCreated) to retrieve those bytes and send them to the source
|
|
8
|
+
* system.
|
|
9
|
+
*
|
|
10
|
+
* For inbound attachments, connectors emit ActionType.fileRef actions and
|
|
11
|
+
* implement Connector.downloadAttachment — no upload tool is needed because
|
|
12
|
+
* inbound bytes never enter Plot's R2 storage.
|
|
13
|
+
*/
|
|
14
|
+
export class Files extends ITool {
|
|
15
|
+
}
|
|
16
|
+
export class FileNotFoundError extends Error {
|
|
17
|
+
constructor(fileId) {
|
|
18
|
+
super(`File not found or out of scope: ${fileId}`);
|
|
19
|
+
this.name = "FileNotFoundError";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,KAAM,SAAQ,KAAK;CAexC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,MAAc;QACxB,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
package/dist/tools/index.js
CHANGED
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type Actor, type ActorId, type NewContact, type NewLinkWithNotes, ITool
|
|
2
|
-
import { Tag } from "../tag";
|
|
1
|
+
import { type Actor, type ActorId, type NewContact, type NewLinkWithNotes, ITool } from "..";
|
|
3
2
|
import type { JSONValue } from "../utils/types";
|
|
4
3
|
import type { Uuid } from "../utils/uuid";
|
|
5
4
|
/**
|
|
@@ -25,6 +24,13 @@ export type LinkTypeConfig = {
|
|
|
25
24
|
type: string;
|
|
26
25
|
/** Human-readable label (e.g., "Issue", "Pull Request") */
|
|
27
26
|
label: string;
|
|
27
|
+
/**
|
|
28
|
+
* Connector's word for a note on a linked item of this type — used by the
|
|
29
|
+
* Flutter app to adapt note/composer copy ("Add a comment" on Linear,
|
|
30
|
+
* "Add a message" on Slack, "Add a reply" on Gmail). Defaults to "note"
|
|
31
|
+
* when omitted. Use the singular noun in title case (e.g. "Comment").
|
|
32
|
+
*/
|
|
33
|
+
noteLabel?: string;
|
|
28
34
|
/** URL to an icon for this link type (light mode). Prefer Iconify `logos/*` URLs. */
|
|
29
35
|
logo?: string;
|
|
30
36
|
/** URL to an icon for dark mode. Use when the default logo is invisible on dark backgrounds (e.g., Iconify `simple-icons/*` with `?color=`). */
|
|
@@ -37,8 +43,6 @@ export type LinkTypeConfig = {
|
|
|
37
43
|
status: string;
|
|
38
44
|
/** Human-readable label (e.g., "Open", "Done") */
|
|
39
45
|
label: string;
|
|
40
|
-
/** Tag to propagate to thread when this status is active (e.g., Tag.Done) */
|
|
41
|
-
tag?: Tag;
|
|
42
46
|
/** Whether this status represents completion (done, closed, merged, cancelled, etc.) */
|
|
43
47
|
done?: boolean;
|
|
44
48
|
/**
|
|
@@ -50,41 +54,126 @@ export type LinkTypeConfig = {
|
|
|
50
54
|
*/
|
|
51
55
|
active?: boolean;
|
|
52
56
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*/
|
|
59
|
-
task?: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Mark the thread `to_read=true` in Plot when a link enters this status.
|
|
62
|
-
* Use for connectors that explicitly track read-later state (Pocket
|
|
63
|
-
* archives, Slack "remind me", etc).
|
|
64
|
-
*/
|
|
65
|
-
toRead?: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* @deprecated Use `active` (messaging) or `task` (project tracker) instead.
|
|
68
|
-
* Treated as `task: true` for backward compatibility.
|
|
69
|
-
*
|
|
70
|
-
* Original meaning: whether this status represents the connector's
|
|
71
|
-
* "to-do" / active state. When a user adds a thread to Plot's agenda,
|
|
72
|
-
* done-status links flip to the status marked `todo: true` (e.g.,
|
|
73
|
-
* Gmail's "starred", Linear's "todo").
|
|
57
|
+
* Marks this status as the connector's "to-do" / active state. When a
|
|
58
|
+
* user brings a done thread back into Plot's agenda, done-status links
|
|
59
|
+
* are flipped to the status marked `todo: true` (e.g. Gmail's "starred",
|
|
60
|
+
* Linear's "unstarted"); connectors that don't mark one fall back to the
|
|
61
|
+
* first non-done status.
|
|
74
62
|
*/
|
|
75
63
|
todo?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Default status applied when Plot asks the connector to create a new
|
|
78
|
-
* item of this type via `Connector.onCreateLink`. Declaring at least one
|
|
79
|
-
* status with `createDefault: true` is how a link type opts in to
|
|
80
|
-
* Plot-initiated creation. At most one status per type should set this.
|
|
81
|
-
*/
|
|
82
|
-
createDefault?: boolean;
|
|
83
64
|
}>;
|
|
84
65
|
/** Whether this link type supports displaying and changing the assignee */
|
|
85
66
|
supportsAssignee?: boolean;
|
|
86
67
|
/** Default thread creation mode for this link type: 'all' | 'actionable' | 'manual' */
|
|
87
68
|
defaultCreateThreads?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Opt-in: declares this link type is composable from Plot via
|
|
71
|
+
* `Connector.onCreateLink`. Omit to make the link type sync-only (no
|
|
72
|
+
* "Create new …" picker entry).
|
|
73
|
+
*
|
|
74
|
+
* Connectors that need multiple compose modes for what users perceive as
|
|
75
|
+
* the same kind of thing (e.g. Slack channel post vs DM) should declare
|
|
76
|
+
* **separate linkTypes**, one per user-facing thread type. That keeps
|
|
77
|
+
* each linkType isomorphic to one filter chip.
|
|
78
|
+
*/
|
|
79
|
+
compose?: ComposeConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Per-connector contact roles. Examples:
|
|
82
|
+
* email → [{id:"to",label:"To",default:true},{id:"cc",label:"CC"},{id:"bcc",label:"BCC",hidden:true}]
|
|
83
|
+
* calendar → [{id:"required",label:"Required",default:true},{id:"optional",label:"Optional"}]
|
|
84
|
+
*
|
|
85
|
+
* Plot uses this list to render a role picker on each contact chip in the
|
|
86
|
+
* composer and to label non-default roles on existing threads. Exactly one
|
|
87
|
+
* role should be marked `default: true`. Connectors that don't distinguish
|
|
88
|
+
* roles (Slack, Linear) omit this field entirely.
|
|
89
|
+
*/
|
|
90
|
+
contactRoles?: ContactRoleConfig[];
|
|
91
|
+
/**
|
|
92
|
+
* Whether contacts on an existing thread can be added, removed, or have
|
|
93
|
+
* their role changed (email-style mid-thread recipient changes). When
|
|
94
|
+
* false, the thread's contact list is fixed after creation. Defaults to
|
|
95
|
+
* false when omitted.
|
|
96
|
+
*/
|
|
97
|
+
supportsContactChanges?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Declares how sharing on threads of this link type is scoped:
|
|
100
|
+
*
|
|
101
|
+
* - `"thread"` (default): one roster shared across all notes in the
|
|
102
|
+
* thread. Native Plot threads, Slack DMs, calendar events.
|
|
103
|
+
* - `"channel"`: visibility is the external channel's membership;
|
|
104
|
+
* the per-thread `contacts` array is ignored for sharing UI.
|
|
105
|
+
* Slack channels, Linear projects.
|
|
106
|
+
* - `"message"`: each note carries its own recipient set via
|
|
107
|
+
* `note.access_contacts`; the thread roster is the union across
|
|
108
|
+
* all messages. Email.
|
|
109
|
+
*
|
|
110
|
+
* Omit to default to `"thread"`. When set to `"message"`, every
|
|
111
|
+
* note this connector ingests must populate `access_contacts`
|
|
112
|
+
* explicitly (never NULL).
|
|
113
|
+
*/
|
|
114
|
+
sharingModel?: "thread" | "channel" | "message";
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Declares how a link type is composable from Plot via
|
|
118
|
+
* `Connector.onCreateLink`. Attached to {@link LinkTypeConfig.compose}.
|
|
119
|
+
*/
|
|
120
|
+
export type ComposeConfig = {
|
|
121
|
+
/**
|
|
122
|
+
* Selects the destination model for the "Create new …" picker.
|
|
123
|
+
*
|
|
124
|
+
* - `"channels"` (default): one chip per enabled channel (e.g. a Linear
|
|
125
|
+
* team, a Slack channel). Existing behaviour for task-tracker / calendar
|
|
126
|
+
* connectors.
|
|
127
|
+
* - `"contacts"`: one chip per connection (account); the user picks
|
|
128
|
+
* recipients from their contacts. The runtime pre-resolves the chosen
|
|
129
|
+
* Plot contacts to platform account IDs via the per-connection
|
|
130
|
+
* `contact_external_account` rows and delivers them as
|
|
131
|
+
* `CreateLinkDraft.recipients`. Contacts without a row for this specific
|
|
132
|
+
* connection are filtered out of the picker — used by closed-roster
|
|
133
|
+
* messaging platforms (Slack DM, Teams DM, Google Chat DM, LinkedIn DM).
|
|
134
|
+
* - `"addresses"`: one chip per connection; the picker accepts any
|
|
135
|
+
* contact with an addressable identifier (e.g. an email) or a free-form
|
|
136
|
+
* typed address. The runtime fills `recipients` for contacts with a
|
|
137
|
+
* connection-scoped row and falls back to the contact's primary address
|
|
138
|
+
* (e.g. `contact.email`) when no row exists. Free-form addresses arrive
|
|
139
|
+
* via the thread's `inviteEmails`. Used by open address spaces like
|
|
140
|
+
* Gmail.
|
|
141
|
+
*/
|
|
142
|
+
targets?: "channels" | "contacts" | "addresses";
|
|
143
|
+
/**
|
|
144
|
+
* Status to assign newly-created links. Should match an entry in the
|
|
145
|
+
* parent linkType's `statuses[]`, OR a symbolic id that the connector's
|
|
146
|
+
* `onCreateLink` resolves itself (e.g. Linear's `"unstarted"` category is
|
|
147
|
+
* resolved per-team to a state UUID inside the connector — see
|
|
148
|
+
* `connectors/linear/src/linear.ts`).
|
|
149
|
+
*/
|
|
150
|
+
status: string;
|
|
151
|
+
/**
|
|
152
|
+
* Optional override for the picker chip / "Create new …" copy. Defaults
|
|
153
|
+
* to the parent linkType's `label`. Use to disambiguate compose entries
|
|
154
|
+
* when the parent label alone isn't specific enough (e.g. "Direct
|
|
155
|
+
* messages" for a DM-mode compose on a chat connector).
|
|
156
|
+
*/
|
|
157
|
+
label?: string;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Declares one contact role for a connector's link type. See
|
|
161
|
+
* `LinkTypeConfig.contactRoles`.
|
|
162
|
+
*/
|
|
163
|
+
export type ContactRoleConfig = {
|
|
164
|
+
/** Stable machine id, e.g. "to" / "cc" / "bcc" / "required" / "optional". */
|
|
165
|
+
id: string;
|
|
166
|
+
/** Display label shown next to a contact chip, e.g. "To", "CC", "Required". */
|
|
167
|
+
label: string;
|
|
168
|
+
/** Exactly one role per linkType should be marked default. */
|
|
169
|
+
default?: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Hidden roles are visible only to (a) the contact themselves and
|
|
172
|
+
* (b) the user who added them. The API filters them out of every other
|
|
173
|
+
* viewer's `thread.contacts` and `thread.contactMeta`. Use for BCC-style
|
|
174
|
+
* semantics where other recipients must not see the hidden contact.
|
|
175
|
+
*/
|
|
176
|
+
hidden?: boolean;
|
|
88
177
|
};
|
|
89
178
|
/**
|
|
90
179
|
* Context passed to onChannelEnabled with plan-based sync hints.
|
|
@@ -193,21 +282,7 @@ export declare abstract class Integrations extends ITool {
|
|
|
193
282
|
*/
|
|
194
283
|
abstract get(provider: AuthProvider, channelId: string): Promise<AuthToken | null>;
|
|
195
284
|
/**
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
* If the actor has a valid token, calls the callback immediately with it.
|
|
199
|
-
* If the actor has no token, creates a private auth note in the specified
|
|
200
|
-
* activity prompting them to connect. Once they authorize, this callback fires.
|
|
201
|
-
*
|
|
202
|
-
* @param provider - The OAuth provider
|
|
203
|
-
* @param actorId - The actor to act as
|
|
204
|
-
* @param activityId - The activity to create an auth note in (if needed)
|
|
205
|
-
* @param callback - Function to call with the token
|
|
206
|
-
* @param extraArgs - Additional arguments to pass to the callback
|
|
207
|
-
*/
|
|
208
|
-
abstract actAs<TArgs extends Serializable[], TCallback extends (token: AuthToken, ...args: TArgs) => any>(provider: AuthProvider, actorId: ActorId, activityId: Uuid, callback: TCallback, ...extraArgs: TArgs): Promise<void>;
|
|
209
|
-
/**
|
|
210
|
-
* Saves a link with notes to the connector's priority.
|
|
285
|
+
* Saves a link with notes to the connector's focus.
|
|
211
286
|
*
|
|
212
287
|
* Creates a thread+link pair. The thread is a lightweight container;
|
|
213
288
|
* the link holds the external entity data (source, meta, type, status, etc.).
|
|
@@ -242,10 +317,15 @@ export declare abstract class Integrations extends ITool {
|
|
|
242
317
|
*/
|
|
243
318
|
abstract saveLinks(links: NewLinkWithNotes[]): Promise<(Uuid | null)[]>;
|
|
244
319
|
/**
|
|
245
|
-
*
|
|
320
|
+
* Upserts contacts into the connector's focus without requiring a Link.
|
|
321
|
+
*
|
|
322
|
+
* Use this for messaging connectors to bulk-sync workspace members so the
|
|
323
|
+
* recipient picker can filter contacts by reachable platform account. Populate
|
|
324
|
+
* `NewContact.source` to persist `contact_external_account` rows (the platform
|
|
325
|
+
* identity used to address the contact). Returns one `Actor` per input, in order.
|
|
246
326
|
*
|
|
247
|
-
* @param contacts -
|
|
248
|
-
* @returns Promise resolving to the saved actors
|
|
327
|
+
* @param contacts - Contacts to upsert, keyed by `source`/`key`
|
|
328
|
+
* @returns Promise resolving to the saved actors, 1:1 with input order
|
|
249
329
|
*/
|
|
250
330
|
abstract saveContacts(contacts: NewContact[]): Promise<Actor[]>;
|
|
251
331
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/tools/integrations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/tools/integrations.ts"],"names":[],"mappings":"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"}
|