@uipath/maestro-builder-sdk 5.2.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 (238) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +322 -0
  3. package/dist/bindings-v2.d.ts +37 -0
  4. package/dist/bindings-v2.js +155 -0
  5. package/dist/bindings.d.ts +6 -0
  6. package/dist/bindings.js +6 -0
  7. package/dist/bpmn/bpmn-expr-check.d.ts +41 -0
  8. package/dist/bpmn/bpmn-expr-check.js +218 -0
  9. package/dist/bpmn/bpmn-sdk.d.ts +2257 -0
  10. package/dist/bpmn/bpmn-sdk.js +1476 -0
  11. package/dist/bpmn/check-cli.d.ts +3 -0
  12. package/dist/bpmn/check-cli.js +32 -0
  13. package/dist/bpmn/check.d.ts +25 -0
  14. package/dist/bpmn/check.js +430 -0
  15. package/dist/bpmn/compile-cli.d.ts +3 -0
  16. package/dist/bpmn/compile-cli.js +60 -0
  17. package/dist/bpmn/connector.d.ts +56 -0
  18. package/dist/bpmn/connector.js +199 -0
  19. package/dist/bpmn/decompile-cli.d.ts +8 -0
  20. package/dist/bpmn/decompile-cli.js +54 -0
  21. package/dist/bpmn/decompile.d.ts +6 -0
  22. package/dist/bpmn/decompile.js +1108 -0
  23. package/dist/bpmn/format-profile.d.ts +27 -0
  24. package/dist/bpmn/format-profile.js +11 -0
  25. package/dist/bpmn/intsvc.d.ts +77 -0
  26. package/dist/bpmn/intsvc.js +155 -0
  27. package/dist/bpmn/load.d.ts +4 -0
  28. package/dist/bpmn/load.js +22 -0
  29. package/dist/bpmn/merge-cli.d.ts +3 -0
  30. package/dist/bpmn/merge-cli.js +45 -0
  31. package/dist/bpmn/merge.d.ts +19 -0
  32. package/dist/bpmn/merge.js +293 -0
  33. package/dist/bpmn/registry-types.json +1869 -0
  34. package/dist/bpmn/serialize.d.ts +28 -0
  35. package/dist/bpmn/serialize.js +757 -0
  36. package/dist/bpmn/tidy-cli.d.ts +2 -0
  37. package/dist/bpmn/tidy-cli.js +39 -0
  38. package/dist/bpmn/typed-node.d.ts +382 -0
  39. package/dist/bpmn/typed-node.js +551 -0
  40. package/dist/bpmn/uipath-moddle.v1.json +823 -0
  41. package/dist/bpmn/xml-ranges.d.ts +45 -0
  42. package/dist/bpmn/xml-ranges.js +151 -0
  43. package/dist/case/case-expr-check.d.ts +35 -0
  44. package/dist/case/case-expr-check.js +85 -0
  45. package/dist/case/case-sdk.d.ts +1282 -0
  46. package/dist/case/case-sdk.js +923 -0
  47. package/dist/case/check-cli.d.ts +3 -0
  48. package/dist/case/check-cli.js +31 -0
  49. package/dist/case/check.d.ts +18 -0
  50. package/dist/case/check.js +456 -0
  51. package/dist/case/compile-cli.d.ts +3 -0
  52. package/dist/case/compile-cli.js +291 -0
  53. package/dist/case/decompile-cli.d.ts +9 -0
  54. package/dist/case/decompile-cli.js +117 -0
  55. package/dist/case/decompile.d.ts +187 -0
  56. package/dist/case/decompile.js +1170 -0
  57. package/dist/case/entry-points.d.ts +79 -0
  58. package/dist/case/entry-points.js +118 -0
  59. package/dist/case/format-profile.d.ts +60 -0
  60. package/dist/case/format-profile.js +79 -0
  61. package/dist/case/ids.d.ts +24 -0
  62. package/dist/case/ids.js +76 -0
  63. package/dist/case/load.d.ts +12 -0
  64. package/dist/case/load.js +32 -0
  65. package/dist/case/preserve.d.ts +133 -0
  66. package/dist/case/preserve.js +105 -0
  67. package/dist/case/serialize.d.ts +10 -0
  68. package/dist/case/serialize.js +1414 -0
  69. package/dist/check-cli.d.ts +3 -0
  70. package/dist/check-cli.js +118 -0
  71. package/dist/check.d.ts +146 -0
  72. package/dist/check.js +4898 -0
  73. package/dist/cli/commands/bpmn.d.ts +2 -0
  74. package/dist/cli/commands/bpmn.js +73 -0
  75. package/dist/cli/commands/case.d.ts +2 -0
  76. package/dist/cli/commands/case.js +60 -0
  77. package/dist/cli/commands/flow.d.ts +2 -0
  78. package/dist/cli/commands/flow.js +99 -0
  79. package/dist/cli/commands/registry.d.ts +10 -0
  80. package/dist/cli/commands/registry.js +170 -0
  81. package/dist/cli/common.d.ts +30 -0
  82. package/dist/cli/common.js +92 -0
  83. package/dist/cli/index.d.ts +2 -0
  84. package/dist/cli/index.js +18 -0
  85. package/dist/cli-run.d.ts +2 -0
  86. package/dist/cli-run.js +42 -0
  87. package/dist/compile-cli.d.ts +3 -0
  88. package/dist/compile-cli.js +160 -0
  89. package/dist/config.d.ts +47 -0
  90. package/dist/config.js +201 -0
  91. package/dist/core/actions.d.ts +3244 -0
  92. package/dist/core/actions.js +1062 -0
  93. package/dist/core/binding-messages.d.ts +1 -0
  94. package/dist/core/binding-messages.js +16 -0
  95. package/dist/core/bindings.d.ts +12 -0
  96. package/dist/core/bindings.js +67 -0
  97. package/dist/core/ceql.d.ts +73 -0
  98. package/dist/core/ceql.js +272 -0
  99. package/dist/core/cli-spelling.d.ts +39 -0
  100. package/dist/core/cli-spelling.js +62 -0
  101. package/dist/core/connector-raw-node.d.ts +21 -0
  102. package/dist/core/connector-raw-node.js +47 -0
  103. package/dist/core/connectors.d.ts +184 -0
  104. package/dist/core/connectors.js +128 -0
  105. package/dist/core/expr-check.d.ts +93 -0
  106. package/dist/core/expr-check.js +186 -0
  107. package/dist/core/expr.d.ts +323 -0
  108. package/dist/core/expr.js +400 -0
  109. package/dist/core/index.d.ts +10 -0
  110. package/dist/core/index.js +10 -0
  111. package/dist/core/library.d.ts +440 -0
  112. package/dist/core/library.js +1183 -0
  113. package/dist/core/list-envelope.d.ts +45 -0
  114. package/dist/core/list-envelope.js +97 -0
  115. package/dist/core/lookup-store.d.ts +22 -0
  116. package/dist/core/lookup-store.js +85 -0
  117. package/dist/core/lookups.d.ts +227 -0
  118. package/dist/core/lookups.js +231 -0
  119. package/dist/core/node-classes.d.ts +234 -0
  120. package/dist/core/node-classes.js +158 -0
  121. package/dist/core/script-return.d.ts +68 -0
  122. package/dist/core/script-return.js +197 -0
  123. package/dist/core/stable-id.d.ts +28 -0
  124. package/dist/core/stable-id.js +37 -0
  125. package/dist/core-definitions.json +16249 -0
  126. package/dist/decompile-cli.d.ts +3 -0
  127. package/dist/decompile-cli.js +131 -0
  128. package/dist/decompile.d.ts +138 -0
  129. package/dist/decompile.js +2482 -0
  130. package/dist/emit.d.ts +10 -0
  131. package/dist/emit.js +60 -0
  132. package/dist/event-filters.d.ts +130 -0
  133. package/dist/event-filters.js +137 -0
  134. package/dist/flow-expr-check.d.ts +17 -0
  135. package/dist/flow-expr-check.js +193 -0
  136. package/dist/flow-sdk.d.ts +1341 -0
  137. package/dist/flow-sdk.js +1164 -0
  138. package/dist/flow-variables.d.ts +13 -0
  139. package/dist/flow-variables.js +42 -0
  140. package/dist/format-profile.d.ts +72 -0
  141. package/dist/format-profile.js +97 -0
  142. package/dist/generators/_connections.py +287 -0
  143. package/dist/generators/_events.py +355 -0
  144. package/dist/generators/_lookups.py +114 -0
  145. package/dist/generators/_naming.py +185 -0
  146. package/dist/generators/_objects.py +299 -0
  147. package/dist/generators/_resolve.py +273 -0
  148. package/dist/generators/convert_library_to_md.py +1441 -0
  149. package/dist/generators/extract_library.py +125 -0
  150. package/dist/generators/generate_connectors_ts.py +936 -0
  151. package/dist/generators/generate_library_json.py +2527 -0
  152. package/dist/generators/generate_triggers_ts.py +110 -0
  153. package/dist/generators/materialize_registry.py +155 -0
  154. package/dist/generators/prepare_connector.py +1688 -0
  155. package/dist/index.d.ts +35 -0
  156. package/dist/index.js +35 -0
  157. package/dist/ixp-definition.json +1982 -0
  158. package/dist/library.d.ts +6 -0
  159. package/dist/library.js +6 -0
  160. package/dist/load.d.ts +16 -0
  161. package/dist/load.js +95 -0
  162. package/dist/merge-cli.d.ts +3 -0
  163. package/dist/merge-cli.js +47 -0
  164. package/dist/merge.d.ts +125 -0
  165. package/dist/merge.js +0 -0
  166. package/dist/migrate.d.ts +15 -0
  167. package/dist/migrate.js +245 -0
  168. package/dist/node-runtime.d.ts +3 -0
  169. package/dist/node-runtime.js +22 -0
  170. package/dist/package-name.d.ts +17 -0
  171. package/dist/package-name.js +17 -0
  172. package/dist/ref-resolve.d.ts +77 -0
  173. package/dist/ref-resolve.js +170 -0
  174. package/dist/registry/cache.d.ts +55 -0
  175. package/dist/registry/cache.js +134 -0
  176. package/dist/registry/curated-overlay.d.ts +16 -0
  177. package/dist/registry/curated-overlay.js +62 -0
  178. package/dist/registry/extractor.d.ts +22 -0
  179. package/dist/registry/extractor.js +18 -0
  180. package/dist/registry/materialize-bin.d.ts +2 -0
  181. package/dist/registry/materialize-bin.js +7 -0
  182. package/dist/registry/materialize-cli.d.ts +1 -0
  183. package/dist/registry/materialize-cli.js +46 -0
  184. package/dist/registry/materializer.d.ts +23 -0
  185. package/dist/registry/materializer.js +34 -0
  186. package/dist/registry/path-cli.d.ts +1 -0
  187. package/dist/registry/path-cli.js +56 -0
  188. package/dist/registry/prepare-cli.d.ts +62 -0
  189. package/dist/registry/prepare-cli.js +185 -0
  190. package/dist/registry/pull-cli.d.ts +1 -0
  191. package/dist/registry/pull-cli.js +274 -0
  192. package/dist/registry/python.d.ts +26 -0
  193. package/dist/registry/python.js +46 -0
  194. package/dist/registry/search-cli.d.ts +52 -0
  195. package/dist/registry/search-cli.js +159 -0
  196. package/dist/schema-version.d.ts +165 -0
  197. package/dist/schema-version.js +148 -0
  198. package/dist/serialize.d.ts +64 -0
  199. package/dist/serialize.js +6398 -0
  200. package/lib/README.md +112 -0
  201. package/lib/library-json.samples/index.json +158 -0
  202. package/lib/library-json.samples/invariant-collections.json +83 -0
  203. package/lib/library-json.samples/list-envelopes.json +123 -0
  204. package/lib/library-json.samples/uipath-atlassian-jira/create-issue@1.0.0.json +131 -0
  205. package/lib/library-json.samples/uipath-atlassian-jira/create-issue@1.0.0.v1def.json +306 -0
  206. package/lib/library-json.samples/uipath-atlassian-jira/generic/create_issue/create@1.0.0.json +86 -0
  207. package/lib/library-json.samples/uipath-atlassian-jira/generic/create_issue/create@1.0.0.v1def.json +208 -0
  208. package/lib/library-json.samples/uipath-atlassian-jira/get-issue@1.0.0.json +2040 -0
  209. package/lib/library-json.samples/uipath-atlassian-jira/get-issue@1.0.0.v1def.json +195 -0
  210. package/lib/library-json.samples/uipath-google-vertex/execute-google-vertex-agent@1.0.0.json +169 -0
  211. package/lib/library-json.samples/uipath-google-vertex/execute-google-vertex-agent@1.0.0.v1def.json +209 -0
  212. package/lib/library-json.samples/uipath-http-webhook/event-http-webhook@1.0.0.json +63 -0
  213. package/lib/library-json.samples/uipath-http-webhook/event-http-webhook@1.0.0.v1def.json +262 -0
  214. package/lib/library-json.samples/uipath-http-webhook/trigger-http-webhook@1.0.0.json +63 -0
  215. package/lib/library-json.samples/uipath-http-webhook/trigger-http-webhook@1.0.0.v1def.json +213 -0
  216. package/lib/library-json.samples/uipath-microsoft-azureactivedirectory/list-groups@1.0.0.json +227 -0
  217. package/lib/library-json.samples/uipath-microsoft-azureactivedirectory/list-groups@1.0.0.v1def.json +373 -0
  218. package/lib/library-json.samples/uipath-microsoft-onedrive/event-file-created@1.0.0.json +116 -0
  219. package/lib/library-json.samples/uipath-microsoft-onedrive/event-file-created@1.0.0.v1def.json +369 -0
  220. package/lib/library-json.samples/uipath-microsoft-onedrive/event-list-item-added@1.0.0.json +56 -0
  221. package/lib/library-json.samples/uipath-microsoft-onedrive/event-list-item-added@1.0.0.v1def.json +256 -0
  222. package/lib/library-json.samples/uipath-microsoft-onedrive/trigger-file-created@1.0.0.json +116 -0
  223. package/lib/library-json.samples/uipath-microsoft-onedrive/trigger-file-created@1.0.0.v1def.json +320 -0
  224. package/lib/library-json.samples/uipath-microsoft-onedrive/trigger-list-item-added@1.0.0.json +56 -0
  225. package/lib/library-json.samples/uipath-microsoft-onedrive/trigger-list-item-added@1.0.0.v1def.json +207 -0
  226. package/lib/library-json.samples/uipath-microsoft-outlook365/event-email-received@1.0.0.json +107 -0
  227. package/lib/library-json.samples/uipath-microsoft-outlook365/event-email-received@1.0.0.v1def.json +264 -0
  228. package/lib/library-json.samples/uipath-microsoft-outlook365/send-email@1.0.0.json +142 -0
  229. package/lib/library-json.samples/uipath-microsoft-outlook365/send-email@1.0.0.v1def.json +306 -0
  230. package/lib/library-json.samples/uipath-microsoft-outlook365/trigger-email-received@1.0.0.json +107 -0
  231. package/lib/library-json.samples/uipath-microsoft-outlook365/trigger-email-received@1.0.0.v1def.json +217 -0
  232. package/lib/library-json.samples/uipath-microsoft-powerautomate/invoke-a-microsoft-power-automate-flow@1.0.0.json +85 -0
  233. package/lib/library-json.samples/uipath-microsoft-powerautomate/invoke-a-microsoft-power-automate-flow@1.0.0.v1def.json +209 -0
  234. package/lib/library-json.samples/uipath-salesforce-slack/send-message-to-user@1.0.0.json +755 -0
  235. package/lib/library-json.samples/uipath-salesforce-slack/send-message-to-user@1.0.0.v1def.json +513 -0
  236. package/lib/library-json.samples/uipath-uipath-dataservice/query-entity-records@1.0.0.json +122 -0
  237. package/lib/library-json.samples/uipath-uipath-dataservice/query-entity-records@1.0.0.v1def.json +227 -0
  238. package/package.json +85 -0
package/lib/README.md ADDED
@@ -0,0 +1,112 @@
1
+ # lib — connector library (consumed by the TypeScript SDK)
2
+
3
+ **Short version:** This folder holds the **connector library the TypeScript SDK
4
+ consumes** to compile/replay flows (and, later, cases) that call connectors
5
+ (Jira, Slack, Outlook, …). The full library is **shipped as a zip** in the
6
+ top-level [`integrations/`](../../../integrations/) and **materialized on
7
+ demand** (`library-json/` + `library-md/` are gitignored). A tiny committed
8
+ sample fixture (`library-json.samples/`) covers tests + `release_rollup` without
9
+ unpacking.
10
+
11
+ ## Why this exists
12
+
13
+ A connector step like
14
+
15
+ ```ts
16
+ connector('uipath-atlassian-jira', 'create-issue',
17
+ { fields: { project: { key: 'TS' }, summary: '…' } },
18
+ { connection: 'jira', folder: 'shared' })
19
+ ```
20
+
21
+ can't be turned into a valid `.flow` without knowing that connector action's
22
+ real shape — its HTTP method, endpoint, activity id, and input fields. Two files
23
+ per action carry it (see `core/library.ts`):
24
+
25
+ - **`<action>@<ver>.json`** — the connector/operation **metadata** (`connector`,
26
+ `operation`, endpoint, `inputSchema`/`outputSchema`). Drives discovery.
27
+ - **`<action>@<ver>.v1def.json`** — the **Flow `definitions[]` node shape** the
28
+ serializer embeds; `Library.resolve()` reads the `activityTypeId` and the input
29
+ **`fields`** (`inputDefinition.fields`, used for compile-time validation) from
30
+ here.
31
+
32
+ And the two materialized trees:
33
+
34
+ - **`library-json/`** → read by the **tools** via `--library`
35
+ (`serialize()`/`Library`, and the `compile` / `check` CLIs).
36
+ - **`library-md/`** → read by the **authoring agent** (via `$FLOW_SDK_LIBRARY_MD`)
37
+ to look up field names, and now also to read a compilable `## Example` per
38
+ operation. **Derived** from `library-json/` (never a separate artifact), so the
39
+ two can't drift.
40
+
41
+ The markdown cites the TypeScript by name (`connector(SendMessageToUser, …)`),
42
+ and those names exist in neither tree — both generators derive them through
43
+ `integrations/scripts/_naming.py`. `unpack-library.sh` cross-checks every cited
44
+ symbol against the emitted modules and fails if one is missing, because a wrong
45
+ symbol is an import that throws, printed by documentation.
46
+
47
+ Two committed **side-tables** ride in `library-json.samples/` beside the entries.
48
+ Neither is an operation, so both are exempt from the ORPHAN CHECK:
49
+
50
+ - `list-envelopes.json` — the measured LIST envelope per operation.
51
+ - `invariant-collections.json` — collections whose rows are the same in every
52
+ tenant, so their fields get no lookup helper. Closed at three rows by design;
53
+ see its `$comment`.
54
+
55
+ ## What's in here
56
+
57
+ ```
58
+ lib/
59
+ ├── library-json/ FULL connector defs (what --library reads) — GITIGNORED, from the zip
60
+ │ ├── index.json every entry: nodeType, version, path
61
+ │ └── <connector>/<action>@<ver>.json + .v1def.json
62
+ ├── library-json.samples/ 3-connector COMMITTED fixture (tests + release_rollup, no unpack needed)
63
+ ├── library-md/ discovery docs the agent reads — GITIGNORED, derived from library-json/
64
+ │ └── <connector>/<action>@<ver>.md (+ a root index.json and SKILL.md)
65
+ └── scripts/
66
+ ├── unpack-library.sh integrations/artifacts/library-json.zip → library-json/, then derive library-md/
67
+ └── generate-library-json.sh (re)generate library-json/ from the live registry (needs a logged-in uip)
68
+ ```
69
+
70
+ The generator and the shipped **`library-json.zip`** live in the top-level
71
+ [`integrations/`](../../../integrations/) (language-agnostic), not here.
72
+
73
+ ## Materialize the library (offline)
74
+
75
+ ```bash
76
+ cd typescript/sdk/lib
77
+ scripts/unpack-library.sh # library-json.zip → library-json/ (~214 MB), then derive library-md/ (~2 s)
78
+ ```
79
+
80
+ Unzips the canonical JSON (the source of truth), then regenerates the markdown
81
+ from it via `integrations/scripts/convert_library_to_md.py`. Both trees are
82
+ gitignored (~21k files). The e2e Docker image runs this at build; `$FLOW_SDK_LIBRARY_JSON`
83
+ points at the materialized `library-json/`. Until you unpack, only
84
+ `library-json.samples/` (the 3 examples) exists locally.
85
+
86
+ | Connector | Action | (sample) |
87
+ | --- | --- | --- |
88
+ | `uipath-atlassian-jira` | `create-issue` | `fields.project.key`, `fields.summary` |
89
+ | `uipath-salesforce-slack` | `send-message-to-user` | `channel`, `messageToSend` |
90
+ | `uipath-microsoft-outlook365` | `send-email` | `message.toRecipients` |
91
+
92
+ ## Refreshing the shipped library (needs an authenticated `uip`)
93
+
94
+ The zip is a snapshot. To refresh it against the live registry:
95
+
96
+ ```bash
97
+ uip login -t <tenant> # verify: uip is connectors list
98
+ scripts/generate-library-json.sh all # registry → library-json/ (~7k ops, slow)
99
+ # then re-bundle, from the repo root:
100
+ rm -rf integrations/library-json && cp -R typescript/sdk/lib/library-json integrations/library-json
101
+ find integrations/library-json -print | LC_ALL=C sort | zip -q -X integrations/artifacts/library-json.zip -@
102
+ rm -rf integrations/library-json
103
+ ```
104
+
105
+ `find | sort | zip -X` keeps the archive byte-stable, so an unchanged refresh is
106
+ a no-op diff. **Never commit the unpacked library** — only the zip.
107
+
108
+ ## Provenance
109
+
110
+ The generator and the shipped library are vendored under the top-level
111
+ [`integrations/`](../../../integrations/) (from `UiPath/flow-v2`
112
+ `poc/n8n-sdk-authoring@b2f877ff`); see `integrations/README.md`.
@@ -0,0 +1,158 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "entries": [
4
+ {
5
+ "nodeType": "uipath.connector.event.uipath-http-webhook.http-webhook",
6
+ "version": "1.0.0",
7
+ "connectorKey": "uipath-http-webhook",
8
+ "label": "HTTP Webhook",
9
+ "activityType": "CuratedWaitFor",
10
+ "objectName": "HTTP_WEBHOOK",
11
+ "path": "uipath-http-webhook/event-http-webhook@1.0.0.json"
12
+ },
13
+ {
14
+ "nodeType": "uipath.connector.event.uipath-microsoft-onedrive.file-created",
15
+ "version": "1.0.0",
16
+ "connectorKey": "uipath-microsoft-onedrive",
17
+ "label": "File Created",
18
+ "activityType": "CuratedWaitFor",
19
+ "objectName": "File",
20
+ "path": "uipath-microsoft-onedrive/event-file-created@1.0.0.json"
21
+ },
22
+ {
23
+ "nodeType": "uipath.connector.event.uipath-microsoft-onedrive.list-item-added",
24
+ "version": "1.0.0",
25
+ "connectorKey": "uipath-microsoft-onedrive",
26
+ "label": "List Item Added",
27
+ "activityType": "CuratedWaitFor",
28
+ "objectName": "ListItem",
29
+ "path": "uipath-microsoft-onedrive/event-list-item-added@1.0.0.json"
30
+ },
31
+ {
32
+ "nodeType": "uipath.connector.event.uipath-microsoft-outlook365.email-received",
33
+ "version": "1.0.0",
34
+ "connectorKey": "uipath-microsoft-outlook365",
35
+ "label": "Email Received",
36
+ "activityType": "CuratedWaitFor",
37
+ "objectName": "Message",
38
+ "path": "uipath-microsoft-outlook365/event-email-received@1.0.0.json"
39
+ },
40
+ {
41
+ "nodeType": "uipath.connector.trigger.uipath-http-webhook.http-webhook",
42
+ "version": "1.0.0",
43
+ "connectorKey": "uipath-http-webhook",
44
+ "label": "HTTP Webhook",
45
+ "activityType": "CuratedTrigger",
46
+ "objectName": "HTTP_WEBHOOK",
47
+ "path": "uipath-http-webhook/trigger-http-webhook@1.0.0.json"
48
+ },
49
+ {
50
+ "nodeType": "uipath.connector.trigger.uipath-microsoft-onedrive.file-created",
51
+ "version": "1.0.0",
52
+ "connectorKey": "uipath-microsoft-onedrive",
53
+ "label": "File Created",
54
+ "activityType": "CuratedTrigger",
55
+ "objectName": "File",
56
+ "path": "uipath-microsoft-onedrive/trigger-file-created@1.0.0.json"
57
+ },
58
+ {
59
+ "nodeType": "uipath.connector.trigger.uipath-microsoft-onedrive.list-item-added",
60
+ "version": "1.0.0",
61
+ "connectorKey": "uipath-microsoft-onedrive",
62
+ "label": "List Item Added",
63
+ "activityType": "CuratedTrigger",
64
+ "objectName": "ListItem",
65
+ "path": "uipath-microsoft-onedrive/trigger-list-item-added@1.0.0.json"
66
+ },
67
+ {
68
+ "nodeType": "uipath.connector.trigger.uipath-microsoft-outlook365.email-received",
69
+ "version": "1.0.0",
70
+ "connectorKey": "uipath-microsoft-outlook365",
71
+ "label": "Email Received",
72
+ "activityType": "CuratedTrigger",
73
+ "objectName": "Message",
74
+ "path": "uipath-microsoft-outlook365/trigger-email-received@1.0.0.json"
75
+ },
76
+ {
77
+ "nodeType": "uipath.connector.uipath-atlassian-jira.create-issue",
78
+ "version": "1.0.0",
79
+ "connectorKey": "uipath-atlassian-jira",
80
+ "label": "Create Issue",
81
+ "activityType": "Curated",
82
+ "objectName": "curated_create_issue",
83
+ "path": "uipath-atlassian-jira/create-issue@1.0.0.json"
84
+ },
85
+ {
86
+ "nodeType": "uipath.connector.uipath-atlassian-jira.get-issue",
87
+ "version": "1.0.0",
88
+ "connectorKey": "uipath-atlassian-jira",
89
+ "label": "Get Issue",
90
+ "activityType": "Curated",
91
+ "objectName": "curated_get_issue",
92
+ "path": "uipath-atlassian-jira/get-issue@1.0.0.json"
93
+ },
94
+ {
95
+ "nodeType": "uipath.connector.uipath-atlassian-jira.insert-record",
96
+ "version": "1.0.0",
97
+ "connectorKey": "uipath-atlassian-jira",
98
+ "label": "Create Issues",
99
+ "activityType": "GenericExpanded",
100
+ "objectName": "create_issue",
101
+ "path": "uipath-atlassian-jira/generic/create_issue/create@1.0.0.json"
102
+ },
103
+ {
104
+ "nodeType": "uipath.connector.uipath-google-vertex.execute-google-vertex-agent",
105
+ "version": "1.0.0",
106
+ "connectorKey": "uipath-google-vertex",
107
+ "label": "Execute Google Vertex Agent",
108
+ "activityType": "Curated",
109
+ "objectName": "createSession",
110
+ "path": "uipath-google-vertex/execute-google-vertex-agent@1.0.0.json"
111
+ },
112
+ {
113
+ "nodeType": "uipath.connector.uipath-microsoft-azureactivedirectory.list-groups",
114
+ "version": "1.0.0",
115
+ "connectorKey": "uipath-microsoft-azureactivedirectory",
116
+ "label": "List Groups",
117
+ "activityType": "Curated",
118
+ "objectName": "groups",
119
+ "path": "uipath-microsoft-azureactivedirectory/list-groups@1.0.0.json"
120
+ },
121
+ {
122
+ "nodeType": "uipath.connector.uipath-microsoft-outlook365.send-email",
123
+ "version": "1.0.0",
124
+ "connectorKey": "uipath-microsoft-outlook365",
125
+ "label": "Send Email",
126
+ "activityType": "Curated",
127
+ "objectName": "send-mail",
128
+ "path": "uipath-microsoft-outlook365/send-email@1.0.0.json"
129
+ },
130
+ {
131
+ "nodeType": "uipath.connector.uipath-microsoft-powerautomate.invoke-a-microsoft-power-automate-flow",
132
+ "version": "1.0.0",
133
+ "connectorKey": "uipath-microsoft-powerautomate",
134
+ "label": "Invoke a Microsoft Power Automate Flow",
135
+ "activityType": "Curated",
136
+ "objectName": "triggerFlow",
137
+ "path": "uipath-microsoft-powerautomate/invoke-a-microsoft-power-automate-flow@1.0.0.json"
138
+ },
139
+ {
140
+ "nodeType": "uipath.connector.uipath-salesforce-slack.send-message-to-user",
141
+ "version": "1.0.0",
142
+ "connectorKey": "uipath-salesforce-slack",
143
+ "label": "Send Message to User",
144
+ "activityType": "Curated",
145
+ "objectName": "send_message_to_user_v2",
146
+ "path": "uipath-salesforce-slack/send-message-to-user@1.0.0.json"
147
+ },
148
+ {
149
+ "nodeType": "uipath.connector.uipath-uipath-dataservice.query-entity-records",
150
+ "version": "1.0.0",
151
+ "connectorKey": "uipath-uipath-dataservice",
152
+ "label": "Query Entity Records",
153
+ "activityType": "Curated",
154
+ "objectName": "QueryEntityRecordsCurated",
155
+ "path": "uipath-uipath-dataservice/query-entity-records@1.0.0.json"
156
+ }
157
+ ]
158
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "$comment": [
4
+ "THE INVARIANT-COLLECTION LEDGER — see docs/CONNECTOR_LOOKUP_DESIGN.md §5.3.",
5
+ "",
6
+ "A connector input field may carry a `reference` block saying its value is an",
7
+ "opaque id to be resolved against a live connection. For most fields that is",
8
+ "true and useful. For a few it is not: the collection is a property of the",
9
+ "CONNECTOR's API rather than of the CONNECTION, so every tenant sees the same",
10
+ "rows. A country list is the same in every Salesforce org and every Slack",
11
+ "workspace.",
12
+ "",
13
+ "For those, resolving late buys nothing. The id cannot go stale on a move, so",
14
+ "the argument in §1.1 of the design — that a pasted id is silently wrong after",
15
+ "a deploy to another tenant — does not reach them. A `.by*` helper on such a",
16
+ "field is pure ceremony, and ceremony is not free: a helper that appears where",
17
+ "it is not needed teaches an author that the helper is noise, and then it is",
18
+ "ignored on the fields that actually need it.",
19
+ "",
20
+ "WHAT A ROW MEANS. A listed `objectName` gets NO `.by*` helper and no",
21
+ "`prepare --resolve`. The field is authored as the plain string it always was.",
22
+ "",
23
+ "WHAT IS CURATED HERE IS THE CLASSIFICATION, NOT THE VALUES. The values need a",
24
+ "connection to fetch (`uip is resources run list` — the library build is",
25
+ "deliberately connection-less), and writing a country list into this repo from",
26
+ "memory would be inventing data that must match a vendor's exact spelling. A",
27
+ "fabricated value fails at dispatch, which is worse than the ceremony it was",
28
+ "meant to remove. So this file records only that a collection is invariant.",
29
+ "",
30
+ "AN UNLISTED COLLECTION IS UNDECLARED, and undeclared means the ordinary",
31
+ "lookup treatment: a helper, a `--resolve`, the full resolution path. An",
32
+ "absent or malformed file reads as an EMPTY ledger rather than an error, which",
33
+ "is `loadListEnvelopes`'s rule verbatim and for its stated reason — the worst",
34
+ "case of a bad edit is losing the exactness, never breaking a build.",
35
+ "",
36
+ "That direction is the fail-safe one, and the two errors are NOT symmetric. A",
37
+ "collection wrongly LISTED here loses its helper, and an author pastes a value",
38
+ "that silently resolves to nothing in another tenant — the exact failure the",
39
+ "mechanism exists to prevent, reintroduced by this file. A collection wrongly",
40
+ "OMITTED costs one unnecessary `prepare` call. So the default is 'treat it as",
41
+ "a real lookup' and a row here has to argue for itself.",
42
+ "",
43
+ "THIS LEDGER IS CLOSED AT THREE ROWS AND SHOULD NOT BE GROWN.",
44
+ "",
45
+ "Together they cover 164 fields; `system_countries` alone covers 90. Going",
46
+ "further means auditing a long tail of collections nobody has evidence about,",
47
+ "using a judgement — 'is this vendor-static?' — that this repo is not",
48
+ "positioned to make. `list-envelopes.json` carries the same lesson from a card",
49
+ "that measured three operations, generalised to the verb, and was refused.",
50
+ "",
51
+ "AND CURATION IS THE WRONG TEAM'S JOB. Integration Service owns the connector",
52
+ "metadata and knows, per collection, whether it is served from the vendor's",
53
+ "static catalog or from the tenant's data. That belongs in the `reference`",
54
+ "block as a declared field — `reference.scope: \"connector\" | \"connection\"` —",
55
+ "populated where the knowledge already is, and it would classify all 1,365",
56
+ "fields instead of these 164.",
57
+ "",
58
+ "So this file is a STOPGAP WITH A DEFINED END: three rows, closed, to be",
59
+ "DELETED when Integration Service ships that field — not extended while we",
60
+ "wait. A new candidate is filed as a request against the connector metadata,",
61
+ "not added here."
62
+ ],
63
+ "collections": [
64
+ {
65
+ "objectName": "system_countries",
66
+ "fields": 90,
67
+ "what": "country names",
68
+ "lookupValue": "name"
69
+ },
70
+ {
71
+ "objectName": "CorporateAccountCountryCodeCollection",
72
+ "fields": 54,
73
+ "what": "ISO country codes",
74
+ "lookupValue": "Code"
75
+ },
76
+ {
77
+ "objectName": "timezones",
78
+ "fields": 20,
79
+ "what": "timezone aliases",
80
+ "lookupValue": "alias"
81
+ }
82
+ ]
83
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "$comment": [
4
+ "THE LIST-ENVELOPE LEDGER — flow-builder-sdk#156.",
5
+ "",
6
+ "A connector LIST operation's node output is either the array itself (the",
7
+ "BARE shape, `envelope: null`) or that array inside a one-field wrapper",
8
+ "object (`envelope: \"records\"` ⇒ `{records:[…]}`). Nothing in the library",
9
+ "declares which: `outputSchema.fields` describes ONE record either way, and",
10
+ "the two operations that declare no fields at all sit on opposite sides of",
11
+ "the corpus's guesses. It cannot be derived. It has to be MEASURED, and this",
12
+ "file is where a measurement is written down.",
13
+ "",
14
+ "WHO ADDS A ROW, AND ON WHAT. Only on tier-A evidence, which is exactly one",
15
+ "of three things:",
16
+ " A1 a `flow debug` run whose record shows `<node>.output` verbatim in",
17
+ " `variables.globals` (the cheapest and the best — any completing",
18
+ " minimal flow will do);",
19
+ " A2 a product-runtime record that pins the value's shape (e.g. an agent",
20
+ " runtime rejecting an array against an `object` input schema);",
21
+ " A3 an archived run whose criterion EXECUTED the flow (`flow debug`) and",
22
+ " whose assertion depends on the read.",
23
+ "A run that scored 1.0 on static criteria is NOT evidence: it licenses",
24
+ "ACCEPTED, never WORKED (campaign lesson 62). Twenty-six green `.records`",
25
+ "reads on Salesforce SOQL were exactly that, and the probe below shows the",
26
+ "spelling is wrong.",
27
+ "",
28
+ "AN OPERATION WITH NO ROW IS UNDECLARED, and undeclared is the permissive",
29
+ "behaviour every reader had before this file existed — an unknown name on the",
30
+ "collection is taken as a possible wrapper and the emitter declares no",
31
+ "container. That is a designed",
32
+ "outcome, not a gap: 2,149 of the shipped library's 7,029 entries are List",
33
+ "operations and this ledger holds eight. It grows on demand, one measurement",
34
+ "at a time.",
35
+ "",
36
+ "WHAT THE EIGHT SAY. Every operation measured so far — eight operations,",
37
+ "eight connectors, including both the corpus claimed were wrappers and two",
38
+ "from the GENERIC `list-all-records` family — hands the flow a BARE ARRAY.",
39
+ "The mechanism: every wrapper key the corpus guesses is a VENDOR REST",
40
+ "envelope name (`records` Salesforce, `issues` Jira, `value` Graph/OData) or",
41
+ "the CLI's own (`items`), and Integration Services normalises all of them",
42
+ "away. Box was the falsifiable test — its API answers `{\"entries\":[…]}`,",
43
+ "a name nothing in our stack uses — and the platform handed a bare array.",
44
+ "",
45
+ "This is NOT a licence to default the whole verb to bare. Eight of 2,149 is",
46
+ "0.4%, and campaign lesson 25 is this issue's own history: card G1 measured",
47
+ "three operations, generalised to the verb, and the corpus refused it."
48
+ ],
49
+ "operations": [
50
+ {
51
+ "nodeType": "uipath.connector.uipath-salesforce-sfdc.search-using-soql",
52
+ "objectName": "curated_soqlQuery",
53
+ "envelope": null,
54
+ "tier": "A1",
55
+ "measuredAt": "2026-08-02",
56
+ "source": "card G13 probe-salesforce — `flow debug` jobKey 2b809429-b99c-4841-ada4-3c29d5902656; globals `soqlUsers.output` = array(3) of {attributes,Id,Name}. Kills the `.records` spelling: all 26 corpus reads of it are from validate-only runs.",
57
+ "cliShape": "bare (POST `run create … curated_soqlQuery`)"
58
+ },
59
+ {
60
+ "nodeType": "uipath.connector.uipath-atlassian-jira.search-issues-by-jql",
61
+ "objectName": "issue_search_get",
62
+ "envelope": null,
63
+ "tier": "A1",
64
+ "measuredAt": "2026-08-02",
65
+ "source": "card G13 probe-jira — `flow debug` jobKey a8ddf02f-c92a-4c23-96c2-146d5f520e39; globals `searchIssues.output` = array(1) of {self,expand,id,fields,key}. Corroborated by the archive A/B: two 1.0 runs loop the bare output with the tenant-side effect verified, six `.issues` runs fault [400008].",
66
+ "cliShape": "{items,Pagination}"
67
+ },
68
+ {
69
+ "nodeType": "uipath.connector.uipath-google-drive.get-file-or-folder-list",
70
+ "objectName": "getFileorFolderList",
71
+ "envelope": null,
72
+ "tier": "A1",
73
+ "measuredAt": "2026-08-02",
74
+ "source": "card G13 probe-drive — `flow debug` jobKey f5801678-6bee-4a3f-9530-65f2d6326a0f; globals `driveList.output` = array(2) of {ParentID,Owner,Type,isFolder,FullName,…}. Kills the `.items` spelling, which came from one old-era artifact whose 1.0 was static.",
75
+ "cliShape": "{items,Pagination}"
76
+ },
77
+ {
78
+ "nodeType": "uipath.connector.uipath-microsoft-azureactivedirectory.list-groups",
79
+ "objectName": "groups",
80
+ "envelope": null,
81
+ "tier": "A1",
82
+ "measuredAt": "2026-08-02",
83
+ "source": "card G13 probe-entra — `flow debug` jobKey a9438b17-1bcd-48b1-a73c-65fa4e1412bb; globals `listGroups.output` = array(2) of {displayName,mail,id,…}. The operation the shipped `GroupRoster` example reads.",
84
+ "cliShape": "{items,Pagination}"
85
+ },
86
+ {
87
+ "nodeType": "uipath.connector.uipath-box-box.get-folder-items",
88
+ "objectName": "folder_items",
89
+ "envelope": null,
90
+ "tier": "A1",
91
+ "measuredAt": "2026-08-02",
92
+ "source": "card G13 probe-box — `flow debug` jobKey a7015865-44c8-4a1a-82f5-6af3ae0d1b7e; globals `boxItems.output` = array(2) of {name,sequence_id,etag,id,type}. The prediction test: Box's own API answers `{\"entries\":[…],\"total_count\":…}` and none of that reaches the flow.",
93
+ "cliShape": "{items,Pagination}"
94
+ },
95
+ {
96
+ "nodeType": "uipath.connector.uipath-coupa-coupa.list-all-records",
97
+ "objectName": "accounts",
98
+ "envelope": null,
99
+ "tier": "A1",
100
+ "measuredAt": "2026-08-02",
101
+ "source": "card G13 probe-coupa — `flow debug` jobKey af7bfdcc-2fb2-4606-9665-45500ae49148; globals `coupaAccounts.output` = array(2). The GENERIC `list-all-records` family, on a connector no corpus artifact has ever touched.",
102
+ "cliShape": "{items,Pagination}"
103
+ },
104
+ {
105
+ "nodeType": "uipath.connector.uipath-servicenow-servicenow.list-all-records",
106
+ "objectName": "acr_user",
107
+ "envelope": null,
108
+ "tier": "A3",
109
+ "measuredAt": "2026-06-23",
110
+ "source": "seven executing 1.0 runs of `skill-flow-generic-dynamic-node` (2026-06-16 … 06-23). `check_generic_dynamic_node.py` runs `flow debug`, then asserts a LIST-valued entry in `variables.globals` and names it — `\"OK: connector completed and surfaced an array output 'listAcrUserRecords1.output'\"`. A wrapper would have failed that assertion.",
111
+ "cliShape": "{items,Pagination}"
112
+ },
113
+ {
114
+ "nodeType": "uipath.connector.uipath-uipath-dataservice.query-entity-records",
115
+ "objectName": "QueryEntityRecordsCurated",
116
+ "envelope": null,
117
+ "tier": "A2",
118
+ "measuredAt": "2026-08-01",
119
+ "source": "card ga7 scored run r2 — an inline agent fed this node's whole output failed to start with AGENT_STARTUP.INPUT_VALIDATION_ERROR because the runtime's pydantic model (built from the node's declared `object`) received an ARRAY of 8 rows. Recorded in flow-builder-sdk#203.",
120
+ "cliShape": "bare (query-post `run create`)"
121
+ }
122
+ ]
123
+ }
@@ -0,0 +1,131 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "nodeType": "uipath.connector.uipath-atlassian-jira.create-issue",
4
+ "version": "1.0.0",
5
+ "category": "connector.196560",
6
+ "tags": [
7
+ "connector",
8
+ "activity"
9
+ ],
10
+ "connector": {
11
+ "key": "uipath-atlassian-jira",
12
+ "name": "Jira"
13
+ },
14
+ "operation": {
15
+ "name": "Create",
16
+ "objectName": "curated_create_issue",
17
+ "objectDisplayName": "Create Issue",
18
+ "httpMethod": "POST",
19
+ "path": "/curated_create_issue",
20
+ "subType": "standard",
21
+ "supportsStreaming": false,
22
+ "activityType": "Curated"
23
+ },
24
+ "display": {
25
+ "label": "Create Issue",
26
+ "description": "(Jira) Create a new issue in Jira.",
27
+ "icon": "https://alpha.uipath.com/311c6049-4966-4ef2-a6f3-8ceccaf38d54/studio_/typecache/icons/34ef2aa2837dd167dab37718dbff7bb5eb83f8c210be71fc25ac55a67aa6de1b.svg",
28
+ "iconBackground": "",
29
+ "iconBackgroundDark": ""
30
+ },
31
+ "runtime": {
32
+ "bpmnType": "bpmn:SendTask",
33
+ "serviceType": "Intsvc.ActivityExecution",
34
+ "activityConfigurationVersion": "v1",
35
+ "requiresConnection": true,
36
+ "requiresFolderKey": true
37
+ },
38
+ "inputSchema": {
39
+ "fields": [
40
+ {
41
+ "name": "fields.summary",
42
+ "displayName": "Summary",
43
+ "type": "string",
44
+ "dataType": "string",
45
+ "required": true,
46
+ "description": "One-line summary of the issue (Jira requires this on create)"
47
+ },
48
+ {
49
+ "name": "fields.project.key",
50
+ "displayName": "Project",
51
+ "type": "string",
52
+ "dataType": "string",
53
+ "required": true,
54
+ "description": "Select the project or enter the project name or key",
55
+ "reference": {
56
+ "objectName": "project",
57
+ "lookupValue": "key",
58
+ "lookupNames": [
59
+ "name",
60
+ "key"
61
+ ],
62
+ "path": "/project/search"
63
+ }
64
+ },
65
+ {
66
+ "name": "fields.issuetype.id",
67
+ "displayName": "Issue type",
68
+ "type": "string",
69
+ "dataType": "string",
70
+ "required": true,
71
+ "description": "Select the type of the issue (epic, story, task , bug)",
72
+ "reference": {
73
+ "objectName": "project",
74
+ "lookupValue": "id",
75
+ "lookupNames": [
76
+ "name",
77
+ "id"
78
+ ],
79
+ "path": "/project/{fields.project.key}/issuetypes"
80
+ }
81
+ },
82
+ {
83
+ "name": "key",
84
+ "displayName": "Issue key",
85
+ "type": "string",
86
+ "dataType": "string",
87
+ "required": false,
88
+ "description": "The key of the issue"
89
+ },
90
+ {
91
+ "name": "fields.description",
92
+ "displayName": "Description",
93
+ "type": "string",
94
+ "dataType": "string",
95
+ "required": false,
96
+ "description": "Longer plain-text description of the issue"
97
+ }
98
+ ]
99
+ },
100
+ "outputSchema": {
101
+ "fields": [
102
+ {
103
+ "name": "fields.issuetype.name",
104
+ "displayName": "Issue type",
105
+ "type": "string",
106
+ "dataType": "string",
107
+ "required": false,
108
+ "description": "Select the type of the issue (epic, story, task , bug)",
109
+ "responseOnly": true
110
+ },
111
+ {
112
+ "name": "id",
113
+ "displayName": "Issue ID",
114
+ "type": "string",
115
+ "dataType": "string",
116
+ "required": false,
117
+ "description": "The ID of the issue",
118
+ "responseOnly": true
119
+ },
120
+ {
121
+ "name": "key",
122
+ "displayName": "Issue key",
123
+ "type": "string",
124
+ "dataType": "string",
125
+ "required": false,
126
+ "description": "The key of the issue",
127
+ "responseOnly": true
128
+ }
129
+ ]
130
+ }
131
+ }