@oomol-lab/open-flow 0.1.0-beta.4 → 0.1.0-beta.40

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 (134) hide show
  1. package/dist/browser/{_virtual_open-flow-twemoji-DJwKsM_w.js → _virtual_open-flow-twemoji-CpHJOEsk.js} +4028 -2
  2. package/dist/browser/carbon-Cn-DTyjG.js +54 -0
  3. package/dist/browser/codeDiagnostics-BtH_YuXu.js +44 -0
  4. package/dist/browser/createResourceDialog-BOrW62JW.js +110 -0
  5. package/dist/browser/{dist-DWADUsVB.js → dist-By46o5UV.js} +47 -47
  6. package/dist/browser/dist-Cdna4VV_.js +795 -0
  7. package/dist/browser/dist-CoszrK7m.js +4 -0
  8. package/dist/browser/{dist-CPuF50D9.js → dist-D1VYgicl.js} +426 -305
  9. package/dist/browser/{dist-CeSZ2xSM.js → dist-DINmJ4Gr.js} +171 -112
  10. package/dist/browser/dist-DSe6KRsr.js +1224 -0
  11. package/dist/browser/{dist-3Mj8q8Pr.js → dist-DmuE3M0R.js} +53 -54
  12. package/dist/browser/{dist-BN4ZCyOB.js → dist-DpDLsYtO.js} +14 -15
  13. package/dist/browser/{dist-CJpzJrLM.js → dist-DwvhuMxw.js} +894 -895
  14. package/dist/browser/dist-DxahK_I8.js +2688 -0
  15. package/dist/browser/{dist-C46JByB-.js → dist-Dz6Nglsd.js} +61 -61
  16. package/dist/browser/{dist-DUzA0Ukh.js → dist-TJfrvoIQ.js} +141 -142
  17. package/dist/browser/editorComponent-0skblWYk.js +16795 -0
  18. package/dist/browser/{esm-C9jQK70n.js → esm-B7A42FzW.js} +68 -59
  19. package/dist/browser/event-sources.d.ts +30 -0
  20. package/dist/browser/flow-authoring-module.d.ts +2 -2
  21. package/dist/browser/flow-authoring-node.d.ts +34 -17
  22. package/dist/browser/flow-authoring.d.ts +1 -1
  23. package/dist/browser/flow-authoring.js +15906 -457
  24. package/dist/browser/flow-change-schema.d.ts +11 -0
  25. package/dist/browser/flow-change.d.ts +245 -44
  26. package/dist/browser/flow-change.js +5517 -117
  27. package/dist/browser/flow-input-value.d.ts +6 -0
  28. package/dist/browser/flow-notifications.d.ts +11 -2
  29. package/dist/browser/flowChanges-3o9Vs_1I.js +10137 -0
  30. package/dist/browser/{flowRunInputEditorStore-BYa8zFLC.js → flowRunInputEditorStore-Bgb5vSeS.js} +864 -4000
  31. package/dist/browser/flowWorkspace-DJzQVVtZ.js +43418 -0
  32. package/dist/browser/host-conformance.d.ts +7 -0
  33. package/dist/browser/host-conformance.js +39 -0
  34. package/dist/browser/inputValues-DkDT6u0o.js +43 -0
  35. package/dist/browser/licenses.md +137 -662
  36. package/dist/browser/{getPseudoElementBounds-qDxSDwzN.js → lite-BA96NG4M.js} +4409 -2987
  37. package/dist/browser/main-BDnNHhkU.js +50 -0
  38. package/dist/browser/{markdownContent-DUfLdnUt.js → markdownContent-D2oHGWc6.js} +53 -53
  39. package/dist/browser/theme.css +529 -34
  40. package/dist/browser/{typeScriptSession-CwMPjseS.js → typeScriptSession-v9Pb3G6d.js} +190 -191
  41. package/dist/browser/ui-input.d.ts +5 -0
  42. package/dist/browser/ui-label.d.ts +3 -0
  43. package/dist/browser/ui-textarea.d.ts +3 -0
  44. package/dist/browser/ui.css +3 -0
  45. package/dist/browser/ui.css.d.ts +1 -0
  46. package/dist/browser/ui.d.ts +62 -0
  47. package/dist/browser/ui.js +5407 -0
  48. package/dist/browser/value-B_yE9ean.js +101 -0
  49. package/dist/browser/warmCodeTheme-DVv4-rDO.js +35 -0
  50. package/dist/browser/webhook-method.d.ts +3 -0
  51. package/dist/browser/workbench-contract.d.ts +27 -2
  52. package/dist/browser/workbench.css +1 -1
  53. package/dist/browser/workbench.d.ts +2 -3
  54. package/dist/browser/workbench.js +4212 -1472
  55. package/dist/browser/workbenchSelect-B5zXyaaX.js +6423 -0
  56. package/dist/common/authoringExamples.d.ts +28 -0
  57. package/dist/common/connectorDecoders.d.ts +9 -0
  58. package/dist/common/control-api-conformance.d.ts +57 -0
  59. package/dist/common/control-api-conformance.js +9793 -208
  60. package/dist/common/control-api-errors.d.ts +49 -0
  61. package/dist/common/control-api.d.ts +484 -57
  62. package/dist/common/control-api.js +8917 -531
  63. package/dist/common/control-requests.d.ts +129 -0
  64. package/dist/common/control-requests.js +8662 -0
  65. package/dist/common/cron-trigger.d.ts +2 -1
  66. package/dist/common/cron-trigger.js +27 -24
  67. package/dist/common/draftOperations.d.ts +13 -0
  68. package/dist/common/engine-contract.d.ts +3 -1
  69. package/dist/common/event-sources.d.ts +49 -0
  70. package/dist/common/feishu-events.d.ts +19 -0
  71. package/dist/common/feishu-subscriptions.d.ts +10 -0
  72. package/dist/common/flow-agent.d.ts +10 -0
  73. package/dist/common/flow-connectionUsage.d.ts +12 -0
  74. package/dist/common/flow-encoding.d.ts +10 -2
  75. package/dist/common/flow-encoding.js +5170 -84
  76. package/dist/common/flow-graph.d.ts +59 -0
  77. package/dist/common/flow-json.d.ts +2 -0
  78. package/dist/common/flow-modules.d.ts +20 -0
  79. package/dist/common/flow-notifications.d.ts +11 -2
  80. package/dist/common/flow-schema.d.ts +17 -0
  81. package/dist/common/flow-semantics.d.ts +15 -7
  82. package/dist/common/flow-semantics.js +16394 -9734
  83. package/dist/common/flowInspection.d.ts +105 -0
  84. package/dist/common/fr-ClB96SQY.js +298 -0
  85. package/dist/common/integration-trigger.d.ts +30 -2
  86. package/dist/common/integration-trigger.js +7880 -71
  87. package/dist/common/ja-BJF-VrP2.js +298 -0
  88. package/dist/common/ko-Bght_VaB.js +298 -0
  89. package/dist/common/localization.d.ts +2 -0
  90. package/dist/common/localization.js +37 -1
  91. package/dist/common/mcp-conformance.d.ts +2 -0
  92. package/dist/common/mcp.d.ts +964 -0
  93. package/dist/common/mcp.js +9358 -0
  94. package/dist/common/poll-trigger.d.ts +7 -0
  95. package/dist/common/poll-trigger.js +7702 -25
  96. package/dist/common/provider-triggers.d.ts +4 -0
  97. package/dist/common/provider-triggers.js +11554 -2275
  98. package/dist/common/providerAccess.d.ts +20 -0
  99. package/dist/common/ru-DrP4BRM5.js +298 -0
  100. package/dist/common/run-events.d.ts +2 -2
  101. package/dist/common/run-events.js +11 -16
  102. package/dist/common/run-lifecycle.d.ts +5 -1
  103. package/dist/common/run-lifecycle.js +33 -3
  104. package/dist/common/run-results.d.ts +57 -0
  105. package/dist/common/runtime-contract.d.ts +38 -3
  106. package/dist/common/runtime-contract.js +312 -19
  107. package/dist/common/scheduler.d.ts +83 -60
  108. package/dist/common/scheduler.js +8625 -545
  109. package/dist/common/trigger-catalog.d.ts +22 -0
  110. package/dist/common/trigger-config-options.d.ts +13 -0
  111. package/dist/common/trigger-config.d.ts +7 -0
  112. package/dist/common/trigger-contract.d.ts +7 -0
  113. package/dist/common/trigger-localization.d.ts +7 -0
  114. package/dist/common/webhook-trigger.d.ts +5 -3
  115. package/dist/common/webhook-trigger.js +7071 -67
  116. package/dist/common/zh-CN-CxZ3yYfR.js +298 -0
  117. package/dist/common/zh-TW-CRmc3FMz.js +298 -0
  118. package/dist/index.d.ts +5 -5
  119. package/package.json +21 -1
  120. package/dist/browser/DesignerIcon-DdfuH2jW.js +0 -2066
  121. package/dist/browser/carbon-DMCVsjHo.js +0 -53
  122. package/dist/browser/createResourceDialog-4YQKl8lG.js +0 -505
  123. package/dist/browser/dist-BMqL-qR5.js +0 -1894
  124. package/dist/browser/dist-BpopSHwP.js +0 -1543
  125. package/dist/browser/dist-CP0883sY.js +0 -4
  126. package/dist/browser/dist-CUSrALSX.js +0 -1620
  127. package/dist/browser/flowChanges-Bs-ZcJV8.js +0 -12006
  128. package/dist/browser/flowWorkspace-BewofPeU.js +0 -45575
  129. package/dist/browser/icons-DRoMXL5h.js +0 -521
  130. package/dist/browser/languages-DgJehE1g.js +0 -62
  131. package/dist/browser/lib-GrGxYjsJ.js +0 -7855
  132. package/dist/browser/main-DmjVyuWr.js +0 -76
  133. package/dist/browser/waitNotificationInputs-DtrPBwA1.js +0 -26
  134. package/dist/browser/workbenchSelect-CX8KtT7L.js +0 -1375
@@ -0,0 +1,298 @@
1
+ //#region src/trigger/providers/airtable/locales/zh-CN.json
2
+ var e = { "airtable.on_record_changed": {
3
+ displayName: "记录创建或更新",
4
+ description: "轮询 Airtable 表,按时间字段排序,在记录创建或更新时触发。",
5
+ configInputs: {
6
+ baseId: "要监控的 Airtable Base ID。",
7
+ fields: "每条返回记录包含的字段。留空则包含所有字段。",
8
+ formula: "用于筛选记录的 Airtable 公式。留空则包含所有记录。",
9
+ maxRecordsPerPoll: "每次轮询处理的最大记录数。",
10
+ tableIdOrName: "要监控的 Airtable 表 ID 或名称。",
11
+ triggerField: "用于检测新建或更新记录的日期/时间字段。",
12
+ view: "用于筛选和排序记录的 Airtable 视图。留空则使用表的默认视图。"
13
+ },
14
+ outputs: { events: "自上次轮询以来新建或更新的记录。" }
15
+ } }, t = { "feishu_app_bot.on_event": {
16
+ displayName: "应用事件",
17
+ description: "通过共享事件源接收所选飞书应用事件。",
18
+ configInputs: {
19
+ sourceId: "接收此触发器事件的事件源。",
20
+ eventTypes: "触发运行的飞书事件类型。",
21
+ chatIds: "接收事件的聊天ID。留空则从该源可访问的每个聊天接收事件。",
22
+ resource: "可选订阅的文档、日历或审批资源。"
23
+ },
24
+ outputs: {
25
+ event: "飞书事件类型。",
26
+ deliveryId: "此事件的唯一投递ID。",
27
+ appId: "接收事件的飞书应用ID。",
28
+ tenantKey: "产生事件的飞书租户密钥。",
29
+ occurredAt: "事件发生时间(由飞书提供)。",
30
+ body: "原始飞书事件负载。"
31
+ }
32
+ } }, n = {
33
+ "github.on_repo_event": {
34
+ displayName: "仓库事件",
35
+ description: "在仓库发生所选 GitHub webhook 事件时触发。",
36
+ configInputs: {
37
+ events: "触发运行的GitHub Webhook事件。",
38
+ insecureSsl: "允许GitHub在不验证SSL证书的情况下发送Webhook。",
39
+ owner: "GitHub仓库的所有者。",
40
+ repo: "GitHub仓库的名称。"
41
+ },
42
+ outputs: {
43
+ body: "原始GitHub Webhook负载。",
44
+ deliveryId: "唯一的GitHub Webhook投递ID。",
45
+ event: "GitHub Webhook事件名称。"
46
+ }
47
+ },
48
+ "github.watch_pull_request": {
49
+ displayName: "关注拉取请求",
50
+ description: "通过通知和定期检查关注一个拉取请求。从当前状态开始,报告观察到的变化,不保证每次中间状态转换或评审事件都被报告。",
51
+ configInputs: {
52
+ owner: "GitHub仓库的所有者。",
53
+ repo: "GitHub仓库的名称。",
54
+ number: "要监控的拉取请求编号。"
55
+ },
56
+ outputs: {
57
+ pullRequest: "观察到变更后的当前拉取请求详情。",
58
+ version: "观察到的拉取请求版本的稳定标识符。"
59
+ }
60
+ }
61
+ }, r = { "gitlab.on_project_event": {
62
+ displayName: "项目事件",
63
+ description: "在项目发生所选 GitLab webhook 事件时触发。",
64
+ configInputs: {
65
+ events: "触发运行的GitLab项目事件。",
66
+ insecureSsl: "允许GitLab在不验证SSL证书的情况下发送Webhook。",
67
+ project: "项目的数字ID或URL编码的项目路径。",
68
+ pushBranchFilter: "用于筛选推送事件的分支或通配符模式。留空则包含所有分支。"
69
+ },
70
+ outputs: {
71
+ body: "原始GitLab Webhook负载。",
72
+ deliveryId: "为此Webhook投递生成的唯一ID。",
73
+ event: "归一化的GitLab事件名称。",
74
+ gitlabEvent: "原始GitLab事件头值。"
75
+ }
76
+ } }, i = { "gmail.on_message_received": {
77
+ displayName: "收到新邮件",
78
+ description: "轮询 Gmail 邮箱,在收到新邮件时触发。",
79
+ configInputs: {
80
+ includeDrafts: "也对草稿消息触发。",
81
+ includeSpamAndTrash: "也对垃圾邮件和回收站中的邮件触发。",
82
+ labelNamesOrIds: "仅对同时带有这些标签的消息触发,可通过名称或ID引用。",
83
+ maxMessagesPerPoll: "每次轮询处理的最大消息数。",
84
+ readStatus: "仅对已读、未读消息或两者都触发。",
85
+ search: "每封邮件必须匹配的 Gmail 搜索查询。",
86
+ sender: "仅对发件人与该地址或名称匹配的消息触发。"
87
+ },
88
+ outputs: { events: "自上次轮询以来收到的消息。" }
89
+ } }, a = { "googlecalendar.on_event_changed": {
90
+ displayName: "日历事件变更",
91
+ description: "轮询 Google 日历,在事件创建、更新或取消时触发。",
92
+ configInputs: {
93
+ calendarId: "要监控的Google日历ID。",
94
+ changes: "触发运行的日历事件变更。",
95
+ matchTerm: "事件摘要、描述、地点或参与者中必须出现的文本。留空则匹配所有事件。",
96
+ maxEventsPerPoll: "每次轮询处理的最大日历事件数。"
97
+ },
98
+ outputs: { events: "自上次轮询以来新建、更新或取消的日历事件。" }
99
+ } }, o = {
100
+ "googledrive.changes_detected": {
101
+ displayName: "检测到变更",
102
+ description: "使用 Google Drive changes.watch 通道,在有云端硬盘变更可用时触发。",
103
+ configInputs: {
104
+ driveId: "共享驱动器ID。留空则监控已连接账户。",
105
+ includeCorpusRemovals: "当某项离开变更范围时包含其可访问的文件资源。",
106
+ includeItemsFromAllDrives: "包含“我的云端硬盘”及共享驱动器中的项目。",
107
+ includeRemoved: "包含因删除或失去访问权限导致的变更。",
108
+ pageSize: "一次工作流运行中包含的最大变更数。",
109
+ restrictToMyDrive: "将变更限制在“我的云端硬盘”层级内。"
110
+ },
111
+ outputs: { events: "收到通知时可用的Google云端硬盘变更。" }
112
+ },
113
+ "googledrive.watch_changes": {
114
+ displayName: "关注变更",
115
+ description: "通过通知和对同一变更流的定期扫描监控云端硬盘变更。",
116
+ configInputs: {
117
+ driveId: "共享驱动器ID。留空则监控已连接账户。",
118
+ includeCorpusRemovals: "当某项离开变更范围时包含其可访问的文件资源。",
119
+ includeItemsFromAllDrives: "包含“我的云端硬盘”及共享驱动器中的项目。",
120
+ includeRemoved: "包含因删除或失去访问权限导致的变更。",
121
+ pageSize: "一次工作流运行中包含的最大变更数。",
122
+ restrictToMyDrive: "将变更限制在“我的云端硬盘”层级内。"
123
+ },
124
+ outputs: { events: "通过通知或定期扫描观察到的Google云端硬盘变更。" }
125
+ },
126
+ "googledrive.on_file_change": {
127
+ displayName: "文件夹内的文件或文件夹变更",
128
+ description: "轮询一个 Google Drive 文件夹,在其直属文件或文件夹创建或更新时触发。",
129
+ configInputs: {
130
+ changeType: "新建或更新的项目是否触发运行。",
131
+ driveId: "共享驱动器ID。留空则使用“我的云端硬盘”。",
132
+ folderId: "要监控的Google云端硬盘文件夹ID。",
133
+ itemTypes: "监控文件、文件夹还是两者。",
134
+ maxFilesPerPoll: "每次轮询处理的最大变更项目数。",
135
+ mimeTypes: "仅对这些MIME类型触发。留空则包含所有MIME类型。",
136
+ namePrefix: "仅对名称以此开头的项目触发。留空则包含所有名称。"
137
+ },
138
+ outputs: { events: "自上次轮询以来新建或更新的文件或文件夹。" }
139
+ }
140
+ }, s = { "googlesheets.on_row_added": {
141
+ displayName: "新增行",
142
+ description: "轮询工作表,在上次已知的末行下方追加新行时,为每个新行触发一次。",
143
+ configInputs: {
144
+ columnRange: "要读取的A1列范围,如A:Z。",
145
+ dateTimeRender: "日期和时间值的返回方式。",
146
+ firstDataRow: "位于标题下方的第一行数据。",
147
+ headerRow: "其单元格将成为输出字段名的行。",
148
+ maxRowsPerPoll: "每次轮询处理的新行最大数量。",
149
+ sheet: "要监控的工作表名称。",
150
+ spreadsheetId: "Google 表格文件的 ID。",
151
+ valueRender: "单元格值的返回方式。"
152
+ },
153
+ outputs: { events: "自上次轮询以来追加的行。" }
154
+ } }, c = { "linear.on_issue_changed": {
155
+ displayName: "议题创建或更新",
156
+ description: "定期检查 Linear 团队中新建和更新的议题。从现在开始,不触发已有议题。报告观察到的当前状态,不报告删除,也不保证涵盖每次中间状态变化。",
157
+ configInputs: {
158
+ teamId: "Linear团队的UUID。可在Linear中复制模型UUID获取。",
159
+ stateIds: "所选团队的状态。留空则涵盖所有状态。匹配当前状态,而非每次进入该状态的转变。"
160
+ },
161
+ outputs: { events: "自上次轮询以来新建或更新的Linear问题。" }
162
+ } }, l = { "notion.on_database_page_event": {
163
+ displayName: "数据库页面新增或更新",
164
+ description: "轮询 Notion 数据库,在新增页面或编辑现有页面时触发。",
165
+ configInputs: {
166
+ dataSourceId: "数据库内的数据源ID。留空则使用主数据源。",
167
+ databaseId: "要监控的Notion数据库ID。",
168
+ events: "触发运行的页面变更。",
169
+ includeProperties: "在每条输出事件中包含页面属性。",
170
+ maxItemsPerPoll: "每次轮询处理的最大变更页面数。"
171
+ },
172
+ outputs: { events: "自上次轮询以来新增或更新的数据库页面。" }
173
+ } }, u = { "one_drive.on_item_changed": {
174
+ displayName: "文件或文件夹变更",
175
+ description: "轮询 OneDrive 变更流,在文件或文件夹创建、更新或删除时触发。",
176
+ configInputs: {
177
+ events: "触发运行的OneDrive项目变更。",
178
+ itemId: "仅监控此文件或文件夹ID。留空则监控多个项目。",
179
+ itemTypes: "监控文件、文件夹还是两者。",
180
+ maxItemsPerPoll: "每次轮询处理的最大变更项目数。",
181
+ parentFolderId: "仅监控此父文件夹中的项目。留空则监控整个驱动器。"
182
+ },
183
+ outputs: { events: "自上次轮询以来创建、更新或删除的OneDrive项目。" }
184
+ } }, d = { "outlook.on_message_received": {
185
+ displayName: "收到新邮件",
186
+ description: "轮询 Microsoft Outlook 邮件文件夹,在新邮件到达时触发。",
187
+ configInputs: {
188
+ folder: "预定义邮件文件夹名称、文件夹 ID,或留空以监控整个邮箱。",
189
+ includeDrafts: "也对草稿消息触发。",
190
+ maxMessagesPerPoll: "每次轮询处理的最大消息数。",
191
+ readStatus: "仅对已读、未读消息或两者都触发。",
192
+ senderAddress: "精确的发件人地址。留空则允许任何发件人。",
193
+ subjectContains: "消息主题中必须出现的不区分大小写的文本。",
194
+ withAttachmentsOnly: "仅对带有附件的消息触发。"
195
+ },
196
+ outputs: { events: "自上次轮询以来收到的Outlook消息。" }
197
+ } }, f = { "shopify.on_shop_event": {
198
+ displayName: "商店事件",
199
+ description: "在已连接商店发生所选 Shopify webhook 主题对应的事件时触发。",
200
+ configInputs: { topics: "触发运行的Shopify Webhook主题。" },
201
+ outputs: {
202
+ apiVersion: "用于Webhook的Shopify API版本。",
203
+ body: "原始Shopify Webhook负载。",
204
+ eventId: "唯一的Shopify事件ID。",
205
+ shopDomain: "产生事件的Shopify店铺域名。",
206
+ topic: "Shopify Webhook主题。",
207
+ triggeredAt: "Shopify触发Webhook的时间。",
208
+ webhookId: "Shopify Webhook订阅的ID。"
209
+ }
210
+ } }, p = { "slack.on_message_posted": {
211
+ displayName: "频道新消息",
212
+ description: "轮询一个 Slack 会话,在有新消息发布时触发。",
213
+ configInputs: {
214
+ channelId: "要监控的Slack对话ID,如C0122KQ70S7E。",
215
+ fromUserIds: "仅对来自这些Slack用户ID的消息触发。留空则允许任何作者。",
216
+ ignoreUserIds: "不对这些 Slack 用户 ID 发送的消息触发。",
217
+ includeBotMessages: "也对机器人和应用发布的消息触发。",
218
+ includeSystemMessages: "也对Slack系统通知触发。",
219
+ maxMessagesPerPoll: "每次轮询处理的最大消息数。",
220
+ textContains: "仅当消息文本包含此字符串时触发,不区分大小写。"
221
+ },
222
+ outputs: { events: "自上次轮询以来发布的Slack消息。" }
223
+ } }, m = { "stripe.on_event": {
224
+ displayName: "账户事件",
225
+ description: "在已连接账户发生所选 Stripe 事件时触发。",
226
+ configInputs: {
227
+ apiVersion: "用于Webhook事件的Stripe API版本。留空则使用账户默认。",
228
+ events: "触发运行的Stripe事件类型。",
229
+ includeConnectedAccounts: "也接收来自关联Stripe账户的事件。"
230
+ },
231
+ outputs: {
232
+ body: "原始Stripe事件负载。",
233
+ event: "Stripe事件类型。",
234
+ eventId: "唯一的Stripe事件ID。",
235
+ livemode: "事件是否在生产环境中产生。"
236
+ }
237
+ } }, h = { "telegram.on_update": {
238
+ displayName: "机器人更新",
239
+ description: "在已连接的 Telegram 机器人收到所选更新时触发。",
240
+ configInputs: {
241
+ chatIds: "仅接受来自这些Telegram聊天ID的更新。留空则允许所有聊天。",
242
+ dropPendingUpdates: "丢弃在Webhook创建或恢复前排队的更新。",
243
+ updates: "触发运行的Telegram更新类型。使用*表示Telegram默认集合。",
244
+ userIds: "仅接受来自这些Telegram用户ID的更新。留空则允许所有用户。"
245
+ },
246
+ outputs: {
247
+ body: "原始Telegram更新负载。",
248
+ deliveryId: "为此Telegram更新生成的唯一ID。",
249
+ event: "Telegram更新类型。"
250
+ }
251
+ } }, g = { "woocommerce.on_store_event": {
252
+ displayName: "商店事件",
253
+ description: "在发生所选 WooCommerce 商店事件时触发。",
254
+ configInputs: {
255
+ events: "触发运行的WooCommerce商店事件。",
256
+ webhookName: "在WooCommerce中显示的Webhook名称。"
257
+ },
258
+ outputs: {
259
+ body: "原始WooCommerce Webhook负载。",
260
+ deliveryId: "唯一的WooCommerce Webhook投递ID。",
261
+ event: "WooCommerce事件动作。",
262
+ resource: "WooCommerce资源类型。",
263
+ source: "产生事件的WooCommerce商店URL。",
264
+ topic: "完整的WooCommerce Webhook主题。",
265
+ webhookId: "WooCommerce Webhook订阅的ID。"
266
+ }
267
+ } }, _ = { "zendesk.on_event": {
268
+ displayName: "事件订阅",
269
+ description: "在发生任一所选 Zendesk 账户事件时触发。",
270
+ configInputs: { events: "触发运行的Zendesk事件类型。" },
271
+ outputs: {
272
+ body: "原始Zendesk事件负载。",
273
+ deliveryId: "为此Zendesk事件投递生成的唯一ID。",
274
+ event: "Zendesk事件类型。",
275
+ subject: "与事件关联的Zendesk主题。"
276
+ }
277
+ } }, v = {
278
+ ...e,
279
+ ...t,
280
+ ...n,
281
+ ...r,
282
+ ...i,
283
+ ...a,
284
+ ...o,
285
+ ...s,
286
+ ...c,
287
+ ...l,
288
+ ...u,
289
+ ...d,
290
+ ...f,
291
+ ...p,
292
+ ...m,
293
+ ...h,
294
+ ...g,
295
+ ..._
296
+ };
297
+ //#endregion
298
+ export { v as default };
@@ -0,0 +1,298 @@
1
+ //#region src/trigger/providers/airtable/locales/zh-TW.json
2
+ var e = { "airtable.on_record_changed": {
3
+ displayName: "記錄建立或更新",
4
+ description: "輪詢 Airtable 資料表,依時間欄位排序,在記錄建立或更新時觸發。",
5
+ configInputs: {
6
+ baseId: "要監控的 Airtable 基地 ID。",
7
+ fields: "每個返回記錄中包含的欄位。留空則包含所有欄位。",
8
+ formula: "用於過濾記錄的 Airtable 公式。留空則包含所有記錄。",
9
+ maxRecordsPerPoll: "每次輪詢處理的最大記錄數。",
10
+ tableIdOrName: "要監控的 Airtable 表格 ID 或名稱。",
11
+ triggerField: "用於檢測新建或更新記錄的日期或時間欄位。",
12
+ view: "用於過濾和排序記錄的 Airtable 視圖。留空則使用表格預設視圖。"
13
+ },
14
+ outputs: { events: "自上次輪詢以來新建或更新的記錄。" }
15
+ } }, t = { "feishu_app_bot.on_event": {
16
+ displayName: "應用程式事件",
17
+ description: "透過共用事件來源接收所選飛書應用程式事件。",
18
+ configInputs: {
19
+ sourceId: "接收此觸發器事件的事件來源。",
20
+ eventTypes: "觸發執行的飛書事件類型。",
21
+ chatIds: "要接收事件的聊天 ID。留空則接收來源可見的所有聊天的事件。",
22
+ resource: "可選的文檔、日曆或審批資源,用於訂閱。"
23
+ },
24
+ outputs: {
25
+ event: "飛書事件類型。",
26
+ deliveryId: "此事件的唯一交付 ID。",
27
+ appId: "接收事件的飛書應用程式 ID。",
28
+ tenantKey: "產生事件的飛書租戶密鑰。",
29
+ occurredAt: "事件發生時間(若由飛書提供)。",
30
+ body: "原始飛書事件載荷。"
31
+ }
32
+ } }, n = {
33
+ "github.on_repo_event": {
34
+ displayName: "儲存庫事件",
35
+ description: "在儲存庫發生所選 GitHub webhook 事件時觸發。",
36
+ configInputs: {
37
+ events: "觸發執行的 GitHub 網路鉤子事件。",
38
+ insecureSsl: "允許 GitHub 在未驗證 SSL 證書的情況下傳遞網路鉤子。",
39
+ owner: "GitHub 倉庫的擁有者。",
40
+ repo: "GitHub 倉庫的名稱。"
41
+ },
42
+ outputs: {
43
+ body: "原始 GitHub 網絡鉤子載荷。",
44
+ deliveryId: "唯一的 GitHub 網絡鉤子交付 ID。",
45
+ event: "GitHub 網絡鉤子事件名稱。"
46
+ }
47
+ },
48
+ "github.watch_pull_request": {
49
+ displayName: "追蹤提取要求",
50
+ description: "透過通知與定期檢查追蹤一個提取要求。從目前狀態開始,回報觀察到的變更,不保證涵蓋每次中間狀態轉換或審查事件。",
51
+ configInputs: {
52
+ owner: "GitHub 倉庫的擁有者。",
53
+ repo: "GitHub 倉庫的名稱。",
54
+ number: "要監控的拉取請求編號。"
55
+ },
56
+ outputs: {
57
+ pullRequest: "觀察到變更後的當前拉取請求詳情。",
58
+ version: "觀察到的拉取請求版本的穩定識別符。"
59
+ }
60
+ }
61
+ }, r = { "gitlab.on_project_event": {
62
+ displayName: "專案事件",
63
+ description: "在專案發生所選 GitLab webhook 事件時觸發。",
64
+ configInputs: {
65
+ events: "觸發執行的 GitLab 項目事件。",
66
+ insecureSsl: "允許 GitLab 在未驗證 SSL 證書的情況下傳遞網路鉤子。",
67
+ project: "項目的數字 ID 或 URL 編碼的項目路徑。",
68
+ pushBranchFilter: "用於過濾推送事件的分支或通配符模式。留空則包含所有分支。"
69
+ },
70
+ outputs: {
71
+ body: "原始 GitLab 網絡鉤子載荷。",
72
+ deliveryId: "為本次網絡鉤子交付生成的唯一 ID。",
73
+ event: "規範化的 GitLab 事件名稱。",
74
+ gitlabEvent: "原始 GitLab 事件頭部值。"
75
+ }
76
+ } }, i = { "gmail.on_message_received": {
77
+ displayName: "收到新郵件",
78
+ description: "輪詢 Gmail 信箱,在收到新郵件時觸發。",
79
+ configInputs: {
80
+ includeDrafts: "也對草稿郵件觸發。",
81
+ includeSpamAndTrash: "也對垃圾郵件和已刪除郵件觸發。",
82
+ labelNamesOrIds: "僅對同時帶有這些標籤的郵件觸發,可按名稱或 ID 引用。",
83
+ maxMessagesPerPoll: "每次輪詢處理的最大郵件數。",
84
+ readStatus: "僅對已讀郵件、未讀郵件或兩者都觸發。",
85
+ search: "每封郵件必須符合的 Gmail 搜尋查詢。",
86
+ sender: "僅對寄件人與此地址或名稱相符的郵件觸發。"
87
+ },
88
+ outputs: { events: "自上次輪詢以來收到的郵件。" }
89
+ } }, a = { "googlecalendar.on_event_changed": {
90
+ displayName: "日曆事件變更",
91
+ description: "輪詢 Google 日曆,在事件建立、更新或取消時觸發。",
92
+ configInputs: {
93
+ calendarId: "要監控的 Google 日曆 ID。",
94
+ changes: "觸發執行的日曆事件變更。",
95
+ matchTerm: "事件摘要、描述、地點或參與者中必須出現的文本。留空則匹配所有事件。",
96
+ maxEventsPerPoll: "每次輪詢處理的最大日曆事件數。"
97
+ },
98
+ outputs: { events: "自上次輪詢以來新建、更新或取消的日曆事件。" }
99
+ } }, o = {
100
+ "googledrive.changes_detected": {
101
+ displayName: "偵測到變更",
102
+ description: "使用 Google Drive changes.watch 通道,在有雲端硬碟變更可用時觸發。",
103
+ configInputs: {
104
+ driveId: "共享驅動器 ID。留空則監控連接帳戶。",
105
+ includeCorpusRemovals: "當項目離開變更範圍時,包含可訪問的檔案資源。",
106
+ includeItemsFromAllDrives: "包含我的雲盤和共享驅動器中的項目。",
107
+ includeRemoved: "包含因刪除或失去存取權限而引起的變更。",
108
+ pageSize: "一次 Flow Run 中包含的最大變更數。",
109
+ restrictToMyDrive: "將變更限制在我的雲盤層次結構內。"
110
+ },
111
+ outputs: { events: "通知接收時可用的 Google 雲盤變更。" }
112
+ },
113
+ "googledrive.watch_changes": {
114
+ displayName: "追蹤變更",
115
+ description: "透過通知與對同一變更串流的定期掃描監控雲端硬碟變更。",
116
+ configInputs: {
117
+ driveId: "共享驅動器 ID。留空則監控連接帳戶。",
118
+ includeCorpusRemovals: "當項目離開變更範圍時,包含可訪問的檔案資源。",
119
+ includeItemsFromAllDrives: "包含我的雲盤和共享驅動器中的項目。",
120
+ includeRemoved: "包含因刪除或失去存取權限而引起的變更。",
121
+ pageSize: "一次 Flow Run 中包含的最大變更數。",
122
+ restrictToMyDrive: "將變更限制在我的雲盤層次結構內。"
123
+ },
124
+ outputs: { events: "通過通知或定期掃描觀察到的 Google 雲盤變更。" }
125
+ },
126
+ "googledrive.on_file_change": {
127
+ displayName: "資料夾內的檔案或資料夾變更",
128
+ description: "輪詢一個 Google Drive 資料夾,在其直屬檔案或資料夾建立或更新時觸發。",
129
+ configInputs: {
130
+ changeType: "是否對新建或更新的項目觸發執行。",
131
+ driveId: "共享驅動器 ID。留空則使用我的雲盤。",
132
+ folderId: "要監控的 Google 雲盤資料夾 ID。",
133
+ itemTypes: "是否監控文件、資料夾或兩者。",
134
+ maxFilesPerPoll: "每次輪詢處理的最大變更項目數。",
135
+ mimeTypes: "僅對這些 MIME 類型觸發。留空則包含所有 MIME 類型。",
136
+ namePrefix: "僅對名稱以該文本開頭的項目觸發。留空則包含所有名稱。"
137
+ },
138
+ outputs: { events: "自上次輪詢以來新建或更新的文件或資料夾。" }
139
+ }
140
+ }, s = { "googlesheets.on_row_added": {
141
+ displayName: "新增列",
142
+ description: "輪詢工作表,在上次已知的最後一列下方附加新列時,為每個新列觸發一次。",
143
+ configInputs: {
144
+ columnRange: "要讀取的 A1 列範圍,例如 A:Z。",
145
+ dateTimeRender: "日期和時間值的返回方式。",
146
+ firstDataRow: "位於標題下方的第一行數據。",
147
+ headerRow: "其單元格成為輸出欄位名稱的行。",
148
+ maxRowsPerPoll: "每次輪詢處理的最大新增行數。",
149
+ sheet: "要監控的工作表名稱。",
150
+ spreadsheetId: "Google 表格電子表格的 ID。",
151
+ valueRender: "單元格值的返回方式。"
152
+ },
153
+ outputs: { events: "自上次輪詢以來追加的行。" }
154
+ } }, c = { "linear.on_issue_changed": {
155
+ displayName: "議題建立或更新",
156
+ description: "定期檢查 Linear 團隊中新建與更新的議題。從現在開始,不觸發既有議題。回報觀察到的目前狀態,不回報刪除,也不保證涵蓋每次中間狀態變更。",
157
+ configInputs: {
158
+ teamId: "Linear 團隊 UUID。可在 Linear 的「複製模型 UUID」中找到。",
159
+ stateIds: "所選團隊的狀態。留空則監控所有狀態。匹配當前狀態,而非每次進入該狀態的轉換。"
160
+ },
161
+ outputs: { events: "自上次輪詢以來新建或更新的 Linear 問題。" }
162
+ } }, l = { "notion.on_database_page_event": {
163
+ displayName: "資料庫頁面新增或更新",
164
+ description: "輪詢 Notion 資料庫,在新增頁面或編輯現有頁面時觸發。",
165
+ configInputs: {
166
+ dataSourceId: "資料庫內的資料來源 ID。留空則使用主資料來源。",
167
+ databaseId: "要監控的 Notion 資料庫 ID。",
168
+ events: "觸發執行的頁面變更。",
169
+ includeProperties: "在每個輸出事件中包含頁面屬性。",
170
+ maxItemsPerPoll: "每次輪詢處理的最大變更頁面數。"
171
+ },
172
+ outputs: { events: "自上次輪詢以來新增或更新的資料庫頁面。" }
173
+ } }, u = { "one_drive.on_item_changed": {
174
+ displayName: "檔案或資料夾變更",
175
+ description: "輪詢 OneDrive 變更串流,在檔案或資料夾建立、更新或刪除時觸發。",
176
+ configInputs: {
177
+ events: "觸發執行的 OneDrive 項目變更。",
178
+ itemId: "僅監控此檔案或資料夾 ID。留空則監控多個項目。",
179
+ itemTypes: "是否監控文件、資料夾或兩者。",
180
+ maxItemsPerPoll: "每次輪詢處理的最大變更項目數。",
181
+ parentFolderId: "僅監控此父資料夾中的項目。留空則監控整個驅動器。"
182
+ },
183
+ outputs: { events: "自上次輪詢以來新建、更新或刪除的 OneDrive 項目。" }
184
+ } }, d = { "outlook.on_message_received": {
185
+ displayName: "收到新郵件",
186
+ description: "輪詢 Microsoft Outlook 郵件資料夾,在新郵件到達時觸發。",
187
+ configInputs: {
188
+ folder: "知名郵箱資料夾名稱、資料夾 ID,或留空以監控整個郵箱。",
189
+ includeDrafts: "也對草稿郵件觸發。",
190
+ maxMessagesPerPoll: "每次輪詢處理的最大郵件數。",
191
+ readStatus: "僅對已讀郵件、未讀郵件或兩者都觸發。",
192
+ senderAddress: "精確的寄件人地址。留空則允許任何寄件人。",
193
+ subjectContains: "郵件主題中必須出現的不區分大小寫的文本。",
194
+ withAttachmentsOnly: "僅對帶附件的郵件觸發。"
195
+ },
196
+ outputs: { events: "自上次輪詢以來收到的 Outlook 郵件。" }
197
+ } }, f = { "shopify.on_shop_event": {
198
+ displayName: "商店事件",
199
+ description: "在已連線商店發生所選 Shopify webhook 主題對應的事件時觸發。",
200
+ configInputs: { topics: "觸發執行的 Shopify 網絡鉤子主題。" },
201
+ outputs: {
202
+ apiVersion: "用於網路鉤子的 Shopify API 版本。",
203
+ body: "原始 Shopify 網絡鉤子載荷。",
204
+ eventId: "唯一的 Shopify 事件 ID。",
205
+ shopDomain: "產生事件的 Shopify 商店域名。",
206
+ topic: "Shopify 網絡鉤子主題。",
207
+ triggeredAt: "Shopify 觸發網路鉤子的時間。",
208
+ webhookId: "Shopify 網絡鉤子訂閱的 ID。"
209
+ }
210
+ } }, p = { "slack.on_message_posted": {
211
+ displayName: "頻道新訊息",
212
+ description: "輪詢一個 Slack 對話,在有新訊息發布時觸發。",
213
+ configInputs: {
214
+ channelId: "要監控的 Slack 對話 ID,例如 C0122KQ70S7E。",
215
+ fromUserIds: "僅對來自這些 Slack 使用者 ID 的消息觸發。留空則允許任何作者。",
216
+ ignoreUserIds: "絕不對來自這些 Slack 使用者 ID 的消息觸發。",
217
+ includeBotMessages: "也對機器人和應用程式發布的消息觸發。",
218
+ includeSystemMessages: "也對 Slack 系統通知觸發。",
219
+ maxMessagesPerPoll: "每次輪詢處理的最大消息數。",
220
+ textContains: "僅當消息內容包含此字符串時觸發,不區分大小寫。"
221
+ },
222
+ outputs: { events: "自上次輪詢以來發布的 Slack 消息。" }
223
+ } }, m = { "stripe.on_event": {
224
+ displayName: "帳戶事件",
225
+ description: "在已連線帳戶發生所選 Stripe 事件時觸發。",
226
+ configInputs: {
227
+ apiVersion: "用於網路鉤子事件的 Stripe API 版本。留空則使用帳戶預設。",
228
+ events: "觸發執行的 Stripe 事件類型。",
229
+ includeConnectedAccounts: "也接收來自連結 Stripe 帳戶的事件。"
230
+ },
231
+ outputs: {
232
+ body: "原始 Stripe 事件載荷。",
233
+ event: "Stripe 事件類型。",
234
+ eventId: "唯一的 Stripe 事件 ID。",
235
+ livemode: "事件是否在實時模式下創建。"
236
+ }
237
+ } }, h = { "telegram.on_update": {
238
+ displayName: "機器人更新",
239
+ description: "在已連線的 Telegram 機器人收到所選更新時觸發。",
240
+ configInputs: {
241
+ chatIds: "僅接受來自這些數字 Telegram 聊天 ID 的更新。留空則允許所有聊天。",
242
+ dropPendingUpdates: "丟棄在建立或恢復網路鉤子之前排隊的更新。",
243
+ updates: "觸發執行的 Telegram 更新類型。使用 * 表示 Telegram 默認集合。",
244
+ userIds: "僅接受來自這些數字 Telegram 使用者 ID 的更新。留空則允許所有用戶。"
245
+ },
246
+ outputs: {
247
+ body: "原始 Telegram 更新載荷。",
248
+ deliveryId: "為本次 Telegram 更新生成的唯一 ID。",
249
+ event: "Telegram 更新類型。"
250
+ }
251
+ } }, g = { "woocommerce.on_store_event": {
252
+ displayName: "商店事件",
253
+ description: "在發生所選 WooCommerce 商店事件時觸發。",
254
+ configInputs: {
255
+ events: "觸發執行的 WooCommerce 商店事件。",
256
+ webhookName: "在 WooCommerce 中顯示的網路鉤子名稱。"
257
+ },
258
+ outputs: {
259
+ body: "原始 WooCommerce 網絡鉤子載荷。",
260
+ deliveryId: "唯一的 WooCommerce 網絡鉤子交付 ID。",
261
+ event: "WooCommerce 事件動作。",
262
+ resource: "WooCommerce 資源類型。",
263
+ source: "產生事件的 WooCommerce 商店 URL。",
264
+ topic: "完整的 WooCommerce 網絡鉤子主題。",
265
+ webhookId: "WooCommerce 網絡鉤子訂閱的 ID。"
266
+ }
267
+ } }, _ = { "zendesk.on_event": {
268
+ displayName: "事件訂閱",
269
+ description: "在發生任一所選 Zendesk 帳戶事件時觸發。",
270
+ configInputs: { events: "觸發執行的 Zendesk 事件類型。" },
271
+ outputs: {
272
+ body: "原始 Zendesk 事件載荷。",
273
+ deliveryId: "為本次 Zendesk 事件交付生成的唯一 ID。",
274
+ event: "Zendesk 事件類型。",
275
+ subject: "與事件相關聯的 Zendesk 主題。"
276
+ }
277
+ } }, v = {
278
+ ...e,
279
+ ...t,
280
+ ...n,
281
+ ...r,
282
+ ...i,
283
+ ...a,
284
+ ...o,
285
+ ...s,
286
+ ...c,
287
+ ...l,
288
+ ...u,
289
+ ...d,
290
+ ...f,
291
+ ...p,
292
+ ...m,
293
+ ...h,
294
+ ...g,
295
+ ..._
296
+ };
297
+ //#endregion
298
+ export { v as default };
package/dist/index.d.ts CHANGED
@@ -48,7 +48,8 @@ export interface TaskLogger {
48
48
  warn(message: string, data?: unknown): void;
49
49
  error(message: string, data?: unknown): void;
50
50
  }
51
- export interface TaskContext<Outputs extends object = Record<string, unknown>> {
51
+ export interface TaskContext<Actions extends object = Record<string, never>> {
52
+ readonly actions: Actions;
52
53
  readonly signal: AbortSignal;
53
54
  readonly flowId: string;
54
55
  readonly inputs: Readonly<Record<string, unknown>>;
@@ -57,11 +58,10 @@ export interface TaskContext<Outputs extends object = Record<string, unknown>> {
57
58
  readonly artifact: ArtifactCapability;
58
59
  readonly fetch: typeof fetch;
59
60
  readonly logger: TaskLogger;
60
- output<Handle extends keyof Outputs & string>(handle: Handle, value: Outputs[Handle]): Promise<void>;
61
61
  preview(payload: PreviewPayload, id?: string): Promise<void>;
62
62
  reportProgress(progress: number): Promise<void>;
63
63
  }
64
- export type TaskResult<Outputs extends object> = Partial<Outputs> | void;
65
- export interface Task<Inputs extends object = Record<string, unknown>, Outputs extends object = Record<string, unknown>> {
66
- (inputs: Inputs, context: TaskContext<Outputs>): TaskResult<Outputs> | Promise<TaskResult<Outputs>>;
64
+ export type TaskResult<Outputs extends object> = keyof Outputs extends never ? Outputs | void : Outputs;
65
+ export interface Task<Inputs extends object = Record<string, unknown>, Outputs extends object = Record<string, unknown>, Actions extends object = Record<string, never>> {
66
+ (inputs: Inputs, context: TaskContext<Actions>): TaskResult<Outputs> | Promise<TaskResult<Outputs>>;
67
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oomol-lab/open-flow",
3
- "version": "0.1.0-beta.4",
3
+ "version": "0.1.0-beta.40",
4
4
  "description": "TypeScript contracts and Browser runtime for Open Flow.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -21,6 +21,14 @@
21
21
  "types": "./dist/common/connector-proxy.d.ts",
22
22
  "import": "./dist/common/connector-proxy.js"
23
23
  },
24
+ "./mcp": {
25
+ "types": "./dist/common/mcp.d.ts",
26
+ "import": "./dist/common/mcp.js"
27
+ },
28
+ "./control-requests": {
29
+ "types": "./dist/common/control-requests.d.ts",
30
+ "import": "./dist/common/control-requests.js"
31
+ },
24
32
  "./control-api": {
25
33
  "types": "./dist/common/control-api.d.ts",
26
34
  "import": "./dist/common/control-api.js"
@@ -85,10 +93,22 @@
85
93
  "types": "./dist/common/webhook-trigger.d.ts",
86
94
  "import": "./dist/common/webhook-trigger.js"
87
95
  },
96
+ "./workbench-host-conformance": {
97
+ "types": "./dist/browser/host-conformance.d.ts",
98
+ "import": "./dist/browser/host-conformance.js"
99
+ },
88
100
  "./workbench": {
89
101
  "types": "./dist/browser/workbench.d.ts",
90
102
  "import": "./dist/browser/workbench.js"
91
103
  },
104
+ "./ui": {
105
+ "types": "./dist/browser/ui.d.ts",
106
+ "import": "./dist/browser/ui.js"
107
+ },
108
+ "./ui.css": {
109
+ "types": "./dist/browser/ui.css.d.ts",
110
+ "default": "./dist/browser/ui.css"
111
+ },
92
112
  "./workbench.css": {
93
113
  "types": "./dist/browser/workbench.css.d.ts",
94
114
  "default": "./dist/browser/workbench.css"