@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.
Files changed (219) hide show
  1. package/bin/commands/deploy.js +4 -0
  2. package/bin/commands/deploy.js.map +1 -1
  3. package/bin/templates/AGENTS.template.md +6 -10
  4. package/cli/templates/AGENTS.template.md +6 -10
  5. package/dist/connector.d.ts +179 -10
  6. package/dist/connector.d.ts.map +1 -1
  7. package/dist/connector.js +78 -4
  8. package/dist/connector.js.map +1 -1
  9. package/dist/docs/assets/hierarchy.js +1 -1
  10. package/dist/docs/assets/navigation.js +1 -1
  11. package/dist/docs/assets/search.js +1 -1
  12. package/dist/docs/classes/index.Connector.html +74 -26
  13. package/dist/docs/classes/index.FileNotFoundError.html +2 -0
  14. package/dist/docs/classes/index.Files.html +16 -0
  15. package/dist/docs/classes/index.Imap.html +1 -1
  16. package/dist/docs/classes/index.Options.html +1 -1
  17. package/dist/docs/classes/index.Smtp.html +1 -1
  18. package/dist/docs/classes/tool.ITool.html +1 -1
  19. package/dist/docs/classes/tools_ai.AI.html +7 -5
  20. package/dist/docs/classes/tools_callbacks.Callbacks.html +1 -1
  21. package/dist/docs/classes/tools_integrations.Integrations.html +17 -23
  22. package/dist/docs/classes/tools_network.Network.html +1 -1
  23. package/dist/docs/classes/tools_plot.Plot.html +62 -56
  24. package/dist/docs/classes/tools_store.Store.html +1 -1
  25. package/dist/docs/classes/tools_tasks.Tasks.html +1 -1
  26. package/dist/docs/classes/tools_twists.Twists.html +2 -2
  27. package/dist/docs/classes/twist.Twist.html +3 -3
  28. package/dist/docs/documents/Building_Connectors.html +1 -1
  29. package/dist/docs/enums/plot.ActionType.html +10 -8
  30. package/dist/docs/enums/plot.ActorType.html +4 -4
  31. package/dist/docs/enums/plot.ConferencingProvider.html +6 -6
  32. package/dist/docs/enums/plot.ThemeColor.html +10 -10
  33. package/dist/docs/enums/tag.Tag.html +16 -46
  34. package/dist/docs/enums/tools_ai.AIModel.html +2 -2
  35. package/dist/docs/enums/tools_integrations.AuthProvider.html +13 -13
  36. package/dist/docs/enums/{tools_plot.PriorityAccess.html → tools_plot.FocusAccess.html} +6 -6
  37. package/dist/docs/enums/tools_plot.ThreadAccess.html +1 -1
  38. package/dist/docs/hierarchy.html +1 -1
  39. package/dist/docs/interfaces/tools_ai.AIRequest.html +27 -11
  40. package/dist/docs/interfaces/tools_ai.AIResponse.html +9 -9
  41. package/dist/docs/interfaces/tools_ai.FilePart.html +5 -5
  42. package/dist/docs/interfaces/tools_ai.ImagePart.html +4 -4
  43. package/dist/docs/interfaces/tools_ai.ReasoningPart.html +4 -4
  44. package/dist/docs/interfaces/tools_ai.RedactedReasoningPart.html +3 -3
  45. package/dist/docs/interfaces/tools_ai.TextPart.html +3 -3
  46. package/dist/docs/interfaces/tools_ai.ToolCallPart.html +5 -5
  47. package/dist/docs/interfaces/tools_ai.ToolExecutionOptions.html +4 -4
  48. package/dist/docs/interfaces/tools_ai.ToolResultPart.html +5 -5
  49. package/dist/docs/media/AGENTS.md +22 -14
  50. package/dist/docs/modules/index.html +1 -1
  51. package/dist/docs/modules/plot.html +1 -1
  52. package/dist/docs/modules/tools_integrations.html +1 -1
  53. package/dist/docs/modules/tools_plot.html +1 -1
  54. package/dist/docs/types/index.CreateLinkDraft.html +31 -7
  55. package/dist/docs/types/index.NoteWriteBackResult.html +3 -3
  56. package/dist/docs/types/index.ReactionCapabilities.html +17 -0
  57. package/dist/docs/types/index.ResolvedRecipient.html +24 -0
  58. package/dist/docs/types/index.Schedule.html +1 -1
  59. package/dist/docs/types/plot.Action.html +9 -2
  60. package/dist/docs/types/plot.Actor.html +5 -5
  61. package/dist/docs/types/plot.ActorId.html +1 -1
  62. package/dist/docs/types/plot.Contact.html +4 -4
  63. package/dist/docs/types/plot.ContentType.html +1 -1
  64. package/dist/docs/types/{plot.Priority.html → plot.Focus.html} +14 -11
  65. package/dist/docs/types/plot.FocusUpdate.html +3 -0
  66. package/dist/docs/types/plot.Link.html +16 -16
  67. package/dist/docs/types/plot.LinkUpdate.html +1 -1
  68. package/dist/docs/types/plot.NewActor.html +1 -1
  69. package/dist/docs/types/plot.NewContact.html +1 -1
  70. package/dist/docs/types/plot.NewFocus.html +13 -0
  71. package/dist/docs/types/plot.NewLink.html +6 -6
  72. package/dist/docs/types/plot.NewLinkWithNotes.html +1 -1
  73. package/dist/docs/types/plot.NewNote.html +5 -3
  74. package/dist/docs/types/plot.NewReactions.html +4 -0
  75. package/dist/docs/types/plot.NewTags.html +1 -1
  76. package/dist/docs/types/plot.NewThread.html +6 -4
  77. package/dist/docs/types/plot.NewThreadWithNotes.html +1 -1
  78. package/dist/docs/types/plot.Note.html +2 -2
  79. package/dist/docs/types/plot.NoteUpdate.html +4 -2
  80. package/dist/docs/types/plot.PlanOperation.html +6 -6
  81. package/dist/docs/types/plot.Reaction.html +13 -0
  82. package/dist/docs/types/plot.Reactions.html +3 -0
  83. package/dist/docs/types/plot.Tags.html +1 -1
  84. package/dist/docs/types/plot.Thread.html +1 -1
  85. package/dist/docs/types/plot.ThreadAccessLevel.html +3 -3
  86. package/dist/docs/types/plot.ThreadCommon.html +9 -5
  87. package/dist/docs/types/plot.ThreadFilter.html +2 -2
  88. package/dist/docs/types/plot.ThreadMeta.html +1 -1
  89. package/dist/docs/types/plot.ThreadType.html +4 -4
  90. package/dist/docs/types/plot.ThreadUpdate.html +1 -1
  91. package/dist/docs/types/plot.ThreadWithNotes.html +1 -1
  92. package/dist/docs/types/tools_ai.AIAssistantMessage.html +2 -2
  93. package/dist/docs/types/tools_ai.AICapabilities.html +7 -3
  94. package/dist/docs/types/tools_ai.AIMessage.html +1 -1
  95. package/dist/docs/types/tools_ai.AIOptions.html +2 -2
  96. package/dist/docs/types/tools_ai.AISource.html +1 -1
  97. package/dist/docs/types/tools_ai.AISystemMessage.html +2 -2
  98. package/dist/docs/types/tools_ai.AITool.html +10 -9
  99. package/dist/docs/types/tools_ai.AIToolMessage.html +2 -2
  100. package/dist/docs/types/tools_ai.AIToolSet.html +1 -1
  101. package/dist/docs/types/tools_ai.AIUsage.html +5 -5
  102. package/dist/docs/types/tools_ai.AIUserMessage.html +2 -2
  103. package/dist/docs/types/tools_ai.DataContent.html +1 -1
  104. package/dist/docs/types/tools_ai.ModelPreferences.html +4 -4
  105. package/dist/docs/types/tools_integrations.ArchiveLinkFilter.html +5 -5
  106. package/dist/docs/types/tools_integrations.AuthToken.html +4 -4
  107. package/dist/docs/types/tools_integrations.Authorization.html +4 -4
  108. package/dist/docs/types/tools_integrations.Channel.html +5 -5
  109. package/dist/docs/types/tools_integrations.ComposeConfig.html +35 -0
  110. package/dist/docs/types/tools_integrations.ContactRoleConfig.html +14 -0
  111. package/dist/docs/types/tools_integrations.LinkTypeConfig.html +55 -28
  112. package/dist/docs/types/tools_integrations.SyncContext.html +3 -3
  113. package/dist/docs/types/tools_plot.SearchOptions.html +5 -6
  114. package/dist/docs/types/tools_twists.TwistPermissions.html +1 -1
  115. package/dist/llm-docs/connector.d.ts +1 -1
  116. package/dist/llm-docs/connector.d.ts.map +1 -1
  117. package/dist/llm-docs/connector.js +1 -1
  118. package/dist/llm-docs/connector.js.map +1 -1
  119. package/dist/llm-docs/index.d.ts.map +1 -1
  120. package/dist/llm-docs/index.js +2 -0
  121. package/dist/llm-docs/index.js.map +1 -1
  122. package/dist/llm-docs/plot.d.ts +1 -1
  123. package/dist/llm-docs/plot.d.ts.map +1 -1
  124. package/dist/llm-docs/plot.js +1 -1
  125. package/dist/llm-docs/plot.js.map +1 -1
  126. package/dist/llm-docs/schedule.d.ts +1 -1
  127. package/dist/llm-docs/schedule.d.ts.map +1 -1
  128. package/dist/llm-docs/schedule.js +1 -1
  129. package/dist/llm-docs/schedule.js.map +1 -1
  130. package/dist/llm-docs/tag.d.ts +1 -1
  131. package/dist/llm-docs/tag.d.ts.map +1 -1
  132. package/dist/llm-docs/tag.js +1 -1
  133. package/dist/llm-docs/tag.js.map +1 -1
  134. package/dist/llm-docs/tools/ai.d.ts +1 -1
  135. package/dist/llm-docs/tools/ai.d.ts.map +1 -1
  136. package/dist/llm-docs/tools/ai.js +1 -1
  137. package/dist/llm-docs/tools/ai.js.map +1 -1
  138. package/dist/llm-docs/tools/files.d.ts +9 -0
  139. package/dist/llm-docs/tools/files.d.ts.map +1 -0
  140. package/dist/llm-docs/tools/files.js +8 -0
  141. package/dist/llm-docs/tools/files.js.map +1 -0
  142. package/dist/llm-docs/tools/integrations.d.ts +1 -1
  143. package/dist/llm-docs/tools/integrations.d.ts.map +1 -1
  144. package/dist/llm-docs/tools/integrations.js +1 -1
  145. package/dist/llm-docs/tools/integrations.js.map +1 -1
  146. package/dist/llm-docs/tools/plot.d.ts +1 -1
  147. package/dist/llm-docs/tools/plot.d.ts.map +1 -1
  148. package/dist/llm-docs/tools/plot.js +1 -1
  149. package/dist/llm-docs/tools/plot.js.map +1 -1
  150. package/dist/llm-docs/tools/twists.d.ts +1 -1
  151. package/dist/llm-docs/tools/twists.d.ts.map +1 -1
  152. package/dist/llm-docs/tools/twists.js +1 -1
  153. package/dist/llm-docs/tools/twists.js.map +1 -1
  154. package/dist/llm-docs/twist-guide-template.d.ts +1 -1
  155. package/dist/llm-docs/twist-guide-template.d.ts.map +1 -1
  156. package/dist/llm-docs/twist-guide-template.js +1 -1
  157. package/dist/llm-docs/twist-guide-template.js.map +1 -1
  158. package/dist/llm-docs/twist.d.ts +1 -1
  159. package/dist/llm-docs/twist.d.ts.map +1 -1
  160. package/dist/llm-docs/twist.js +1 -1
  161. package/dist/llm-docs/twist.js.map +1 -1
  162. package/dist/plot.d.ts +146 -85
  163. package/dist/plot.d.ts.map +1 -1
  164. package/dist/plot.js +3 -1
  165. package/dist/plot.js.map +1 -1
  166. package/dist/schedule.d.ts +1 -1
  167. package/dist/tag.d.ts +17 -43
  168. package/dist/tag.d.ts.map +1 -1
  169. package/dist/tag.js +17 -46
  170. package/dist/tag.js.map +1 -1
  171. package/dist/tools/ai.d.ts +46 -10
  172. package/dist/tools/ai.d.ts.map +1 -1
  173. package/dist/tools/ai.js.map +1 -1
  174. package/dist/tools/files.d.ts +33 -0
  175. package/dist/tools/files.d.ts.map +1 -0
  176. package/dist/tools/files.js +22 -0
  177. package/dist/tools/files.js.map +1 -0
  178. package/dist/tools/index.d.ts +1 -0
  179. package/dist/tools/index.d.ts.map +1 -1
  180. package/dist/tools/index.js +1 -0
  181. package/dist/tools/index.js.map +1 -1
  182. package/dist/tools/integrations.d.ts +130 -50
  183. package/dist/tools/integrations.d.ts.map +1 -1
  184. package/dist/tools/integrations.js.map +1 -1
  185. package/dist/tools/plot.d.ts +66 -56
  186. package/dist/tools/plot.d.ts.map +1 -1
  187. package/dist/tools/plot.js +14 -14
  188. package/dist/tools/plot.js.map +1 -1
  189. package/dist/tools/twists.d.ts +2 -2
  190. package/dist/twist-guide.d.ts +1 -1
  191. package/dist/twist-guide.d.ts.map +1 -1
  192. package/dist/twist.d.ts +3 -3
  193. package/dist/twist.js +3 -3
  194. package/package.json +6 -1
  195. package/src/connector.ts +182 -10
  196. package/src/llm-docs/connector.ts +1 -1
  197. package/src/llm-docs/index.ts +2 -0
  198. package/src/llm-docs/plot.ts +1 -1
  199. package/src/llm-docs/schedule.ts +1 -1
  200. package/src/llm-docs/tag.ts +1 -1
  201. package/src/llm-docs/tools/ai.ts +1 -1
  202. package/src/llm-docs/tools/files.ts +8 -0
  203. package/src/llm-docs/tools/integrations.ts +1 -1
  204. package/src/llm-docs/tools/plot.ts +1 -1
  205. package/src/llm-docs/tools/twists.ts +1 -1
  206. package/src/llm-docs/twist-guide-template.ts +1 -1
  207. package/src/llm-docs/twist.ts +1 -1
  208. package/src/plot.ts +156 -75
  209. package/src/schedule.ts +1 -1
  210. package/src/tag.ts +17 -48
  211. package/src/tools/ai.ts +46 -10
  212. package/src/tools/files.ts +37 -0
  213. package/src/tools/index.ts +1 -0
  214. package/src/tools/integrations.ts +131 -61
  215. package/src/tools/plot.ts +69 -59
  216. package/src/tools/twists.ts +2 -2
  217. package/src/twist.ts +3 -3
  218. package/dist/docs/types/plot.NewPriority.html +0 -15
  219. package/dist/docs/types/plot.PriorityUpdate.html +0 -5
package/dist/tag.d.ts CHANGED
@@ -1,50 +1,24 @@
1
1
  /**
2
- * Thread tags. Three types:
3
- * 1. Special tags, which trigger other behaviors
4
- * 2. Toggle tags, which anyone can toggle a shared value on or off
5
- * 3. Count tags, where everyone can add or remove their own
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
- Pinned = 100,
11
- Urgent = 101,
12
- Goal = 103,
13
- Decision = 104,
14
- Waiting = 105,
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;;;;;GAKG;AACH,oBAAY,GAAG;IAEb,IAAI,IAAI;IACR,IAAI,IAAI;IAGR,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,IAAI,MAAM;IACV,QAAQ,MAAM;IACd,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,MAAM;IACb,QAAQ,MAAM;IACd,KAAK,MAAM;IACX,IAAI,MAAM;IACV,IAAI,MAAM;IAGV,GAAG,OAAO;IACV,EAAE,OAAO;IACT,SAAS,OAAO;IAChB,IAAI,OAAO;IACX,IAAI,OAAO;IACX,OAAO,OAAO;IACd,OAAO,OAAO;IACd,IAAI,OAAO;IACX,MAAM,OAAO;IACb,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,IAAI,OAAO;IACX,MAAM,OAAO;IACb,QAAQ,OAAO;IACf,IAAI,OAAO;IACX,GAAG,OAAO;IACV,KAAK,OAAO;IACZ,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,QAAQ,OAAO;IACf,IAAI,OAAO;IACX,KAAK,OAAO;IACZ,KAAK,OAAO;IACZ,SAAS,OAAO;IAChB,QAAQ,OAAO;IACf,QAAQ,OAAO;CAChB"}
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
- * Thread tags. Three types:
3
- * 1. Special tags, which trigger other behaviors
4
- * 2. Toggle tags, which anyone can toggle a shared value on or off
5
- * 3. Count tags, where everyone can add or remove their own
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
- // Toggle tags
13
- Tag[Tag["Pinned"] = 100] = "Pinned";
14
- Tag[Tag["Urgent"] = 101] = "Urgent";
15
- Tag[Tag["Goal"] = 103] = "Goal";
16
- Tag[Tag["Decision"] = 104] = "Decision";
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;;;;;GAKG;AACH,MAAM,CAAN,IAAY,GA+CX;AA/CD,WAAY,GAAG;IACb,eAAe;IACf,6BAAQ,CAAA;IACR,6BAAQ,CAAA;IAER,cAAc;IACd,mCAAY,CAAA;IACZ,mCAAY,CAAA;IACZ,+BAAU,CAAA;IACV,uCAAc,CAAA;IACd,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,uCAAc,CAAA;IACd,iCAAW,CAAA;IACX,+BAAU,CAAA;IACV,+BAAU,CAAA;IAEV,aAAa;IACb,8BAAU,CAAA;IACV,4BAAS,CAAA;IACT,0CAAgB,CAAA;IAChB,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,sCAAc,CAAA;IACd,sCAAc,CAAA;IACd,gCAAW,CAAA;IACX,oCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oCAAa,CAAA;IACb,kCAAY,CAAA;IACZ,gCAAW,CAAA;IACX,oCAAa,CAAA;IACb,wCAAe,CAAA;IACf,gCAAW,CAAA;IACX,8BAAU,CAAA;IACV,kCAAY,CAAA;IACZ,wCAAe,CAAA;IACf,wCAAe,CAAA;IACf,oCAAa,CAAA;IACb,wCAAe,CAAA;IACf,gCAAW,CAAA;IACX,kCAAY,CAAA;IACZ,kCAAY,CAAA;IACZ,0CAAgB,CAAA;IAChB,wCAAe,CAAA;IACf,wCAAe,CAAA;AACjB,CAAC,EA/CW,GAAG,KAAH,GAAG,QA+Cd"}
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"}
@@ -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
- * parameters: Type.Object({
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. The language model will use this to generate the input.
642
- * It is also used to validate the output of the language model.
643
- * Use descriptions to make the input understandable for the language model.
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
- parameters: PARAMETERS;
683
+ inputSchema: TSchema;
646
684
  /**
647
- * The schema of the input that the tool expects. The language model will use this to generate the input.
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
- inputSchema: TSchema;
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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/tools/ai.ts"],"names":[],"mappings":"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"}
@@ -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;CAuFrC;AAwED;;;;;;;;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"}
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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./twists";
2
2
  export * from "./ai";
3
3
  export * from "./callbacks";
4
+ export * from "./files";
4
5
  export * from "./integrations";
5
6
  export * from "./network";
6
7
  export * from "./plot";
@@ -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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./twists";
2
2
  export * from "./ai";
3
3
  export * from "./callbacks";
4
+ export * from "./files";
4
5
  export * from "./integrations";
5
6
  export * from "./network";
6
7
  export * from "./plot";
@@ -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, Serializable } from "..";
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
- * Mark the thread `task=true` in Plot when a link enters this status.
54
- * Use for project-tracker assignments Linear / Todoist / Jira / etc.
55
- * `task` puts the thread on the user's task list without flooding their
56
- * inbox under `active`: the user explicitly flips it to `active` when
57
- * they decide to start.
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
- * Execute a callback as a specific actor, requesting auth if needed.
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
- * Saves contacts to the connector's priority.
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 - Array of contacts to save
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":"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"}
1
+ {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/tools/integrations.ts"],"names":[],"mappings":"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"}