@faiber/faiber-flow 0.24.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,64 +1,55 @@
1
1
  # @faiber/faiber-flow
2
2
 
3
- Flow definitions, graph validation, action and trigger catalogs, active trigger registry, execution runs, and integration metadata.
4
-
5
- ## Install
3
+ Typed Flow definitions, graph validation, event execution, catalog synchronization, active trigger discovery, run details and integration metadata.
6
4
 
7
5
  ```bash
8
6
  npm install @faiber/faiber-flow
9
7
  ```
10
8
 
11
- ## Configure
12
-
13
9
  ```ts
14
- import { FaiberClient, MemoryTokenProvider } from "@faiber/sdk-core";
15
- import { FlowApi } from "@faiber/faiber-flow";
10
+ import { FaiberClient, MemoryTokenProvider } from '@faiber/sdk-core';
11
+ import { FlowApi } from '@faiber/faiber-flow';
16
12
 
17
- const tokens = new MemoryTokenProvider();
18
- const client = new FaiberClient("flow", {
13
+ const client = new FaiberClient('flow', {
19
14
  domains: { flow: process.env.FAIBER_FLOW_URL! },
20
- tokenProvider: tokens,
21
- axios: { timeout: 15_000, withCredentials: true },
15
+ tokenProvider: new MemoryTokenProvider(),
16
+ axios: { withCredentials: true, timeout: 15_000 },
22
17
  });
23
18
  const api = new FlowApi(client);
24
-
25
- const flows = await api.flows.list();
26
- const validation = await api.validate(flowId);
19
+ const created = await api.flows.create({
20
+ name: 'Checkout completed',
21
+ trigger_key: 'event.checkout.completed',
22
+ enabled: false,
23
+ });
24
+ const validation = await api.validate(created.data.data.id);
25
+ const registry = await api.activeTriggers({ service: 'ledger' });
26
+ const runs = await api.runs.list({ limit: 20 });
27
+ // Run detail includes flattened run fields, nullable context and ordered steps.
28
+ if (runs.data.data[0]) {
29
+ const detail = await api.runs.show(runs.data.data[0].id);
30
+ console.log(detail.data.data.status, detail.data.data.steps);
31
+ }
27
32
  ```
28
33
 
29
- ## Complete capability
30
-
31
- This package exposes 18 registered operations from the automation flows service. Common workflows have concise methods on `api`; every registered backend route is also available as a named function on `api.operations`. Generated operation input, query, response, path, verb, and permission contracts are exported from `operations.types`.
32
-
33
- | Area | Operations | HTTP methods |
34
- |---|---:|---|
35
- | `catalog` | 3 | `GET`, `POST` |
36
- | `event` | 1 | `POST` |
37
- | `flow` | 7 | `DELETE`, `GET`, `POST`, `PUT` |
38
- | `registry` | 1 | `GET` |
39
- | `router` | 4 | `GET` |
40
- | `run` | 2 | `GET` |
41
-
42
- Flow updates use `PUT`. Runs are read-only in the current service contract; unsupported generic run mutations fail locally before a network request.
43
-
44
- ## Authentication and authorization
34
+ All 18 mounted HTTP operations are callable on `api.operations`, with named exported inputs, queries and responses. Convenience methods include `flows`, `runs`, `validate`, `triggers`, `actions`, `activeTriggers`, `syncCatalog`, `importFlows`, `emitEvent` and `integration`. All calls retain the complete Axios response, status, headers and request IDs. Successful data is wrapped as `{status: 'success', message: 'ok', data}`. Lists are arrays inside that envelope; Flow does not provide a pagination envelope. Run `limit` defaults to 50 and has no application clamp.
45
35
 
46
- Use a `TokenProvider` to forward the signed-in user's Bearer token, or enable `withCredentials` for secure HttpOnly cookie sessions. Permission requirements copied from service route guards are included in each operation's JSDoc. The SDK does not embed API keys, credentials, localhost URLs, sandbox hosts, or production hosts.
36
+ Flow creation uses `name`, `trigger_key`, optional `slug`, `enabled` and `graph`; enabled defaults false and an omitted graph creates a single trigger node. A graph has `nodes` and `edges`. Editor positions, node data, edge data, downstream payloads and historical execution context are deliberately JSON values because the service stores extensible JSON documents. PUT updates are partial; null and omitted fields preserve existing values. Graph or trigger changes increment the version. Delete returns an envelope containing `{deleted: true}`.
47
37
 
48
- ## Inputs, queries, responses, and transport
38
+ `importFlows` accepts flow entries, event bridges and bridge groups. Use `dry_run: true` to validate and report proposed changes with transaction rollback. Normal imports upsert by normalized slug; identical retries report unchanged entries. Import bridge enabled defaults true, unlike direct creation. `version` and `source` are accepted metadata and currently ignored by the backend.
49
39
 
50
- All methods return the complete Axios response, including status, headers, and request IDs. Request bodies and query objects are named exported interfaces. Nested pagination uses keys such as `page[number]` and `page[size]` where required by the service. Standard Axios request options, headers, timeouts, adapters, interceptors, and `AbortSignal` cancellation are supported as the final argument.
40
+ `emitEvent(eventKey, json)` accepts any JSON value, including null. The event key must contain 1–200 ASCII letters, numbers, dots, underscores or hyphens, with no leading/trailing/double dots. The response is HTTP 200 with `{accepted: true, event_id, trigger_key}`. Individual flow execution failures can still produce an accepted response; inspect runs afterward. Each repeated event call creates a fresh event and can duplicate downstream actions. Mutations persist before registry notifications, so a notification error can follow a committed change. Reconcile state before retrying. Catalog sync returns counts and per-service failures even under HTTP 200; it does not return a single `synced` boolean.
51
41
 
52
- Generic REST resources are capability-guarded. Calling a legacy method that the service does not register throws `UnsupportedOperationError` before sending a request instead of producing a backend `405`.
42
+ Configure a `TokenProvider` for Bearer authorization, or `withCredentials` for secure HttpOnly cookie sessions. Prefer cookies or in-memory tokens; persistent browser storage is an explicit security tradeoff. Every SDK call uses the shared `FaiberClient`. Declared route permissions are `flow:read/create/update/delete`, `flow_run:read`, `catalog:sync`, and `flow:execute`; import declares both create and update. Event emit explicitly checks `flow:execute` or `*` in `AuthContext`. Other handlers have no local permission/owner/tenant checks. Flow installs imported global auth extraction, with the external dependency pinned to `291c81a67bc302d667fb807da2af3240598bee52` in the production manifest and committed lockfile. Inspected shared IDP source registers permission metadata and trusts gateway identity headers with development fallback; enforce identity and permissions at your gateway. Sending credentials alone does not establish backend authorization enforcement.
53
43
 
54
- ## Errors and cancellation
44
+ Axios options, headers, adapters, interceptors, timeouts and `AbortSignal` cancellation are accepted as the final argument. Application errors use `{error: string}`: validation 400, missing UUID records 404, duplicate slugs 409, persistence/broker 500; malformed extractors may instead use Axum rejection bodies. Axios errors retain `response.status` and the original error body. An invalid saved graph returns HTTP 200 with `valid: false` and `errors`.
55
45
 
56
46
  ```ts
47
+ const controller = new AbortController();
57
48
  try {
58
- await api.client.get("/health", undefined, { signal: AbortSignal.timeout(5_000) });
49
+ await api.emitEvent('checkout.completed', { total: 1200 }, { signal: controller.signal });
59
50
  } catch (error) {
60
- // Axios errors retain response.status and the service error body.
51
+ // Inspect the Axios error response; check current runs before retrying execution.
61
52
  }
62
53
  ```
63
54
 
64
- Use `@faiber/faiber-ts-sdk` when one application needs multiple Faiber services with one configuration.
55
+ Use [@faiber/faiber-ts-sdk](https://www.npmjs.com/package/@faiber/faiber-ts-sdk) for multiple Faiber services in one client configuration.
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2021.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.dom.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../../faiber-ts-sdk/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../../../../faiber-ts-sdk/node_modules/axios/index.d.ts","../../core/dist/types.d.ts","../../core/dist/env.d.ts","../../core/dist/auth.d.ts","../../core/dist/client.d.ts","../../core/dist/resource.d.ts","../../core/dist/openapi.d.ts","../../core/dist/realtime.d.ts","../../core/dist/index.d.ts","../src/types.ts","../src/operations.types.ts","../src/operations.ts","../src/index.ts"],"fileIdsList":[[61],[60,61],[60,61,62,63,64,65,66,67],[60,61,64],[60],[68,69,70,71],[68,70],[68]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"2343ec253c90c370449755739733f5f429f58cffdb51a50977bb4a042012fa8f","impliedFormat":99},{"version":"6cc1f17dc5454eb1112cfb4a2e2ddc93de8c3f9016c8db7bdf0328caac374ffa","impliedFormat":99},{"version":"82065c5512d8d6f81b26cf13ea9ecd3e558be9560f7b5c62260858219ecd87f7","impliedFormat":99},{"version":"ed17ed1b2bcf384c88bc6cec6b427989b98db99fc7ad35a50605501a463bbc53","impliedFormat":99},{"version":"82bf4efcca8ab8764a91ac126c0af605ab6717ee94b2316461b5fa388b27e165","impliedFormat":99},{"version":"74d1d74d5dadbbb70e8e294d3419c58885629a9fc95141cbf158a3febb523300","impliedFormat":99},{"version":"3f5eeb0a84713ccf640b9a6af4629e006f59d7629abc3fc95af2efb062fd0b83","impliedFormat":99},{"version":"ac62f6b0f2e963ea9a251ee8384e64cebe0fe4acd32ca177d838d7c5a7ad2b43","impliedFormat":99},{"version":"fdd1b5a8a2b98f82c94e4dc4e3b207ca81766b656d23acd3c7458fffd9af21dd","impliedFormat":99},{"version":"90934b30b3b195da89826e549cccfbf67111b9825fc1857f39507faaeb458270","impliedFormat":99},{"version":"75af91d500b882ecc8dc0b66fd29132d3461cda5f45396513fb9043af73ba12f","signature":"f32b1c28ef81c2474536c1fb28e81d859c5fcb1da07934132a0cf5f66b4d840c","impliedFormat":99},{"version":"6a2a9632d6c67b97b17b2e2dda961e9a0398fe7569332f5563cc40f16a4c5312","signature":"bf17607b8bb628fb74c07bf0b4894f0aacef9ce22a9abf5f38c8069550b4c9f0","impliedFormat":99},{"version":"f9aeaed2da29614fbf3ec3b23f6a8c697326e7a368c74eb1bdeb0858d5d441d0","signature":"9db60458127afbe4573d92c9ab361399ae881395ddc8f94d9b78c13181bb3399","impliedFormat":99}],"root":[[69,72]],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[63,1],[64,2],[62,1],[68,3],[66,4],[65,4],[61,5],[72,6],[71,7],[70,8],[69,8]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/axios/index.d.ts","../../core/dist/types.d.ts","../../core/dist/env.d.ts","../../core/dist/auth.d.ts","../../core/dist/client.d.ts","../../core/dist/resource.d.ts","../../core/dist/openapi.d.ts","../../core/dist/realtime.d.ts","../../core/dist/summary-access.d.ts","../../core/dist/index.d.ts","../src/types.ts","../src/operations.types.ts","../src/operations.ts","../src/index.ts"],"fileIdsList":[[61],[60,61],[60,61,62,63,64,65,66,67,68],[60,61,64],[60],[69,70,71,72],[69,71],[69,70],[69]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"2368a31d44ccc59758e3b3c682fee74e820b08fad98623905a85092018c06e3b","impliedFormat":99},{"version":"61806e75fc22177d65d9b33c90c4b88e4370abd4dd88d8196ca0fc87d7702fe9","impliedFormat":99},{"version":"82065c5512d8d6f81b26cf13ea9ecd3e558be9560f7b5c62260858219ecd87f7","impliedFormat":99},{"version":"ed17ed1b2bcf384c88bc6cec6b427989b98db99fc7ad35a50605501a463bbc53","impliedFormat":99},{"version":"82bf4efcca8ab8764a91ac126c0af605ab6717ee94b2316461b5fa388b27e165","impliedFormat":99},{"version":"e8345259c97aa6b8a84b27963fff00e79b7f45852b0024fffc52c9a7949007ac","impliedFormat":99},{"version":"3f5eeb0a84713ccf640b9a6af4629e006f59d7629abc3fc95af2efb062fd0b83","impliedFormat":99},{"version":"ac62f6b0f2e963ea9a251ee8384e64cebe0fe4acd32ca177d838d7c5a7ad2b43","impliedFormat":99},{"version":"967088f3793139562bc3fd0e5db990a8bc2885f7444a1f10ea6a5a6479fa6d40","impliedFormat":99},{"version":"6756b343720142c0f4f0c62b8194eefdea2d1774da6f7902bee9e39d4e81c9d4","impliedFormat":99},{"version":"166900d0963f35a50b926b4b50a8f5cb88bc22c24fb988db685bee34b50a7786","signature":"db4f4c814bb88a3a9a6b39244051a59150cf15d5b237a582d940b4e96228f31e","impliedFormat":99},{"version":"135caacafa7c1642f3436e9c059436b0c02a866dac87561641807d5bb9bb8846","signature":"488ea1154a6c5497ade24443404efca0510c976de6b229261f276850496ee179","impliedFormat":99},{"version":"abe5f8236170b48da69187bc301432bce91131c5306c5bfe0386648166973367","signature":"1c8a19e2564112f62c48d2c49bee85b4d2485f51de3bc25238c812d3f6d103a8","impliedFormat":99},{"version":"0a16ef38f66c01b6c1dacf5d99545c5a4c16196ae3d27cc54e1a0897e7099892","signature":"0c4ecd1a73c2565ff2a998b7c565e8d4d0da817ccfb52fd776ec46f0e66fbdd3","impliedFormat":99}],"root":[[70,73]],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[63,1],[64,2],[62,1],[69,3],[66,4],[65,4],[61,5],[73,6],[72,7],[71,8],[70,9]],"latestChangedDtsFile":"./operations.d.ts","version":"5.9.3"}
package/dist/index.d.ts CHANGED
@@ -3,13 +3,26 @@ import type * as T from "./types.js";
3
3
  import { FlowOperations } from "./operations.js";
4
4
  export declare class FlowApi extends ServiceApi {
5
5
  readonly operations: FlowOperations;
6
- readonly flows: RestResource<T.Flow, T.CreateFlowInput, T.UpdateFlowInput, T.FlowListResponse, T.FlowResponse, import("@faiber/sdk-core").PageQuery>;
7
- readonly runs: RestResource<T.FlowRun, never, never, T.FlowRunListResponse, T.FlowRunResponse, import("@faiber/sdk-core").PageQuery>;
8
- validate(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowValidationResponse, import("@faiber/sdk-core").JsonObject, {}>>;
9
- triggers(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TriggerCatalogResponse, any, {}>>;
10
- actions(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.ActionCatalogResponse, any, {}>>;
11
- activeTriggers(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.ActiveTriggersResponse, any, {}>>;
12
- syncCatalog(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.CatalogSyncResponse, import("@faiber/sdk-core").JsonObject, {}>>;
6
+ /** List/read/create/partially PUT/delete flows; declared flow permissions vary by verb. Errors: 400 graph, 404 missing, 409 slug, 500 persistence/notification. */
7
+ readonly flows: RestResource<T.Flow, T.CreateFlowInput, T.UpdateFlowInput, T.FlowListResponse, T.FlowResponse, T.FlowListQuery, T.FlowDeleteResponse>;
8
+ /** Read global runs (limit defaults 50) or UUID detail with flattened run/context/steps; declared flow_run:read, missing detail 404. */
9
+ readonly runs: RestResource<T.FlowRun, never, never, T.FlowRunListResponse, T.FlowRunResponse, T.FlowRunsQuery, import("@faiber/sdk-core").DeleteResponse>;
10
+ /** Validate persisted UUID graph; returns valid/errors under HTTP 200. Declared flow:update; missing flow 404. */
11
+ validate(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowValidationResponse, import("@faiber/sdk-core").JsonObject, {}, any>>;
12
+ /** List cached trigger definitions; declared flow:read. Database failures 500. */
13
+ triggers(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TriggerCatalogResponse, any, {}, any>>;
14
+ /** List cached actions with verbatim external payload_fields JSON; declared flow:read. Database failures 500. */
15
+ actions(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.ActionCatalogResponse, any, {}, any>>;
16
+ /** Read versioned enabled registry, optionally endpoint-service filtered. No local permission check; database failures 500. */
17
+ activeTriggers(query?: T.ActiveTriggersQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.ActiveTriggersResponse, any, {}, any>>;
18
+ /** Refresh configured services; partial failures remain HTTP 200 report. Declared catalog:sync. */
19
+ syncCatalog(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.CatalogSyncResponse, import("@faiber/sdk-core").JsonObject, {}, any>>;
20
+ /** Import/upsert by normalized slug with optional transactional dry-run; declared flow:create + flow:update. Invalid manifests 400; post-commit notify failures 500. */
21
+ importFlows(input: T.ImportFlowsInput, options?: RequestOptions<T.ImportFlowsInput>): Promise<import("axios").AxiosResponse<T.ImportFlowsResponse, T.ImportFlowsInput, {}, any>>;
22
+ /** Execute matching enabled flows using arbitrary JSON. Explicit flow:execute or * required (403); invalid event key 400. Returns HTTP 200 accepted even when individual executions fail. Retrying creates new events/runs. */
23
+ emitEvent(eventKey: string, input: T.EmitFlowEventInput, options?: RequestOptions<T.EmitFlowEventInput>): Promise<import("axios").AxiosResponse<T.EmitFlowEventResponse, import("@faiber/sdk-core").JsonValue, {}, any>>;
24
+ /** Read integration queue/events metadata; no handler-local permission check. Exact external dependency acceptance remains pending. */
25
+ integration(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowIntegrationResponse, any, {}, any>>;
13
26
  }
14
27
  export * from "./types.js";
15
28
  export * from "@faiber/sdk-core";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,KAAK,CAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,qBAAa,OAAQ,SAAQ,UAAU;IACnC,QAAQ,CAAC,UAAU,iBAAmC;IACtD,QAAQ,CAAC,KAAK,uIAAmO;IACjP,QAAQ,CAAC,IAAI,wHAA6I;IAC1J,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc;IACjC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc;IAChC,cAAc,CAAC,OAAO,CAAC,EAAE,cAAc;IACvC,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc;CACvC;AACD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,KAAK,CAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,qBAAa,OAAQ,SAAQ,UAAU;IACnC,QAAQ,CAAC,UAAU,iBAAmC;IACtD,mKAAmK;IACnK,QAAQ,CAAC,KAAK,wIAA0Q;IACxR,wIAAwI;IACxI,QAAQ,CAAC,IAAI,8IAAsK;IACnL,kHAAkH;IAClH,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc;IACjD,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc;IACjC,iHAAiH;IACjH,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc;IAChC,+HAA+H;IAC/H,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc;IACtE,mGAAmG;IACnG,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc;IACpC,wKAAwK;IACxK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnF,+NAA+N;IAC/N,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACvG,uIAAuI;IACvI,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc;CACvC;AACD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -2,13 +2,26 @@ import { RestResource, ServiceApi } from "@faiber/sdk-core";
2
2
  import { FlowOperations } from "./operations.js";
3
3
  export class FlowApi extends ServiceApi {
4
4
  operations = new FlowOperations(this.client);
5
+ /** List/read/create/partially PUT/delete flows; declared flow permissions vary by verb. Errors: 400 graph, 404 missing, 409 slug, 500 persistence/notification. */
5
6
  flows = new RestResource(this.client, "/api/v1/flows", { supported: ["list", "show", "create", "update", "replace", "delete"], updateMethod: "PUT" });
6
- runs = new RestResource(this.client, "/api/v1/runs", { supported: ["list"] });
7
+ /** Read global runs (limit defaults 50) or UUID detail with flattened run/context/steps; declared flow_run:read, missing detail 404. */
8
+ runs = new RestResource(this.client, "/api/v1/runs", { supported: ["list", "show"] });
9
+ /** Validate persisted UUID graph; returns valid/errors under HTTP 200. Declared flow:update; missing flow 404. */
7
10
  validate(id, options) { return this.client.post(`/api/v1/flows/${encodeURIComponent(id)}/validate`, undefined, options); }
11
+ /** List cached trigger definitions; declared flow:read. Database failures 500. */
8
12
  triggers(options) { return this.client.get("/api/v1/catalog/triggers", undefined, options); }
13
+ /** List cached actions with verbatim external payload_fields JSON; declared flow:read. Database failures 500. */
9
14
  actions(options) { return this.client.get("/api/v1/catalog/actions", undefined, options); }
10
- activeTriggers(options) { return this.client.get("/api/v1/registry/active-triggers", undefined, options); }
15
+ /** Read versioned enabled registry, optionally endpoint-service filtered. No local permission check; database failures 500. */
16
+ activeTriggers(query, options) { return this.client.get("/api/v1/registry/active-triggers", query, options); }
17
+ /** Refresh configured services; partial failures remain HTTP 200 report. Declared catalog:sync. */
11
18
  syncCatalog(options) { return this.client.post("/api/v1/catalog/sync", undefined, options); }
19
+ /** Import/upsert by normalized slug with optional transactional dry-run; declared flow:create + flow:update. Invalid manifests 400; post-commit notify failures 500. */
20
+ importFlows(input, options) { return this.client.post("/api/v1/flows/import", input, options); }
21
+ /** Execute matching enabled flows using arbitrary JSON. Explicit flow:execute or * required (403); invalid event key 400. Returns HTTP 200 accepted even when individual executions fail. Retrying creates new events/runs. */
22
+ emitEvent(eventKey, input, options) { return this.client.post(`/api/v1/events/${encodeURIComponent(eventKey)}`, input, { ...options, headers: { "Content-Type": "application/json", ...options?.headers } }); }
23
+ /** Read integration queue/events metadata; no handler-local permission check. Exact external dependency acceptance remains pending. */
24
+ integration(options) { return this.client.get("/api/v1/integration/flow", undefined, options); }
12
25
  }
13
26
  export * from "./types.js";
14
27
  export * from "@faiber/sdk-core";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAwC,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,MAAM,OAAO,OAAQ,SAAQ,UAAU;IAC1B,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,GAAG,IAAI,YAAY,CAAmF,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxO,IAAI,GAAG,IAAI,YAAY,CAAoE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1J,QAAQ,CAAC,EAAc,EAAE,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAA2B,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjL,QAAQ,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA2B,0BAA0B,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACxI,OAAO,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA0B,yBAAyB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,cAAc,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA2B,kCAAkC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtJ,WAAW,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAwB,sBAAsB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxI;AACD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAwC,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,MAAM,OAAO,OAAQ,SAAQ,UAAU;IAC1B,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,mKAAmK;IAC1J,KAAK,GAAG,IAAI,YAAY,CAA0H,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxR,wIAAwI;IAC/H,IAAI,GAAG,IAAI,YAAY,CAAqF,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnL,kHAAkH;IAClH,QAAQ,CAAC,EAAc,EAAE,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAA2B,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjL,kFAAkF;IAClF,QAAQ,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA2B,0BAA0B,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACxI,iHAAiH;IACjH,OAAO,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA0B,yBAAyB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,+HAA+H;IAC/H,cAAc,CAAC,KAA6B,EAAE,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA2B,kCAAkC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjL,mGAAmG;IACnG,WAAW,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAwB,sBAAsB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,wKAAwK;IACxK,WAAW,CAAC,KAAyB,EAAE,OAA4C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAA4C,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpM,+NAA+N;IAC/N,SAAS,CAAC,QAAgB,EAAE,KAA2B,EAAE,OAA8C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgD,kBAAkB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnU,uIAAuI;IACvI,WAAW,CAAC,OAAwB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA4B,0BAA0B,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/I;AACD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -2,160 +2,160 @@ import { ServiceApi, type Identifier, type RequestOptions } from "@faiber/sdk-co
2
2
  import type * as T from "./operations.types.js";
3
3
  export declare class FlowOperations extends ServiceApi {
4
4
  /**
5
- * Performs the status route operation for the router capability.
5
+ * Read package version liveness; no dependency checks. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
6
6
  * Calls `GET /` through the shared IDP-aware Faiber client.
7
7
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
8
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
9
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: session-derived or public bootstrap route.
8
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
9
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: No declared handler permission. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
10
10
  */
11
- routerStatusRouteGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RouterStatusRouteGetResponse, unknown, {}>>;
11
+ routerStatusRouteGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowHealthResponse, unknown, {}, any>>;
12
12
  /**
13
- * Performs the actions operation for the catalog capability.
13
+ * Read all cached action catalog entries including verbatim external payload_fields JSON; no pagination or tenant filter. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
14
14
  * Calls `GET /api/v1/catalog/actions` through the shared IDP-aware Faiber client.
15
15
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
16
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
17
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:read.
16
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
17
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
18
18
  */
19
- catalogActionsGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.CatalogActionsGetResponse, unknown, {}>>;
19
+ catalogActionsGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").ActionCatalogResponse, unknown, {}, any>>;
20
20
  /**
21
- * Performs the sync operation for the catalog capability.
21
+ * Fetch configured services OpenAPI and Flow integration metadata; replace matching triggers/actions; return200 report with per-service openapi/actions failures, not {synced:true}. Does not remove stale absent metadata. Partial persistence and insert errors may occur; retry fetches and replaces again. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
22
22
  * Calls `POST /api/v1/catalog/sync` through the shared IDP-aware Faiber client.
23
23
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
24
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
25
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: catalog:sync.
24
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
25
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: catalog:sync. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
26
26
  */
27
- catalogSyncPost(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.CatalogSyncPostResponse, unknown, {}>>;
27
+ catalogSyncPost(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").CatalogSyncResponse, unknown, {}, any>>;
28
28
  /**
29
- * Performs the triggers operation for the catalog capability.
29
+ * Read all cached trigger catalog entries with service/method/path/trigger_key; no pagination or tenant filter. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
30
30
  * Calls `GET /api/v1/catalog/triggers` through the shared IDP-aware Faiber client.
31
31
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
32
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
33
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:read.
32
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
33
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
34
34
  */
35
- catalogTriggersGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.CatalogTriggersGetResponse, unknown, {}>>;
35
+ catalogTriggersGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").TriggerCatalogResponse, unknown, {}, any>>;
36
36
  /**
37
- * Performs the emit operation for the event capability.
37
+ * Emit arbitrary JSON including null; require nonempty1..200 ASCII alphanumeric/dot/underscore/hyphen key without leading/trailing/double dots400. Explicit flow:execute or * local check403. New event UUID per call; awaits matching enabled flows; individual execution failures logged/swallowed. HTTP200 accepted does not guarantee completed runs; repeated calls can emit duplicates. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
38
38
  * Calls `POST /api/v1/events/{event_key}` through the shared IDP-aware Faiber client.
39
39
  * @param eventKey Backend path identifier `event_key`.
40
40
  * @param data Typed JSON request body.
41
41
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
42
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
43
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:execute.
42
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
43
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:execute. Handler explicitly checks AuthContext flow:execute or *; roles alone are insufficient. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
44
44
  */
45
- eventEmitPost(eventKey: Identifier, data: T.EventEmitPostInput, options?: RequestOptions<T.EventEmitPostInput>): Promise<import("axios").AxiosResponse<T.EventEmitPostResponse, import("@faiber/sdk-core").JsonValue, {}>>;
45
+ eventEmitPost(eventKey: Identifier, data: T.EventEmitPostInput, options?: RequestOptions<T.EventEmitPostInput>): Promise<import("axios").AxiosResponse<import("./types.js").EmitFlowEventResponse, import("@faiber/sdk-core").JsonValue, {}, any>>;
46
46
  /**
47
- * Performs the index operation for the flow capability.
47
+ * List all flows descending updated_at without pagination or tenant filter. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
48
48
  * Calls `GET /api/v1/flows` through the shared IDP-aware Faiber client.
49
49
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
50
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
51
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:read.
50
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
51
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
52
52
  */
53
- flowIndexGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowIndexGetResponse, unknown, {}>>;
53
+ flowIndexGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowListResponse, unknown, {}, any>>;
54
54
  /**
55
- * Performs the store operation for the flow capability.
55
+ * Create flow: name1..200, nonempty trigger_key; normalized nonempty unique slug (409), enabled defaults false, graph defaults trigger node. Validate graph400. Insert before enabled-registry notification; notification500 may follow persisted mutation. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
56
56
  * Calls `POST /api/v1/flows` through the shared IDP-aware Faiber client.
57
57
  * @param data Typed JSON request body.
58
58
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
59
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
60
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:create.
59
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
60
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:create. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
61
61
  */
62
- flowStorePost(data: T.FlowStorePostInput, options?: RequestOptions<T.FlowStorePostInput>): Promise<import("axios").AxiosResponse<T.FlowStorePostResponse, T.FlowStorePostInput, {}>>;
62
+ flowStorePost(data: T.FlowStorePostInput, options?: RequestOptions<T.FlowStorePostInput>): Promise<import("axios").AxiosResponse<import("./types.js").FlowResponse, import("./types.js").CreateFlowInput, {}, any>>;
63
63
  /**
64
- * Performs the destroy operation for the flow capability.
64
+ * Delete UUID flow (missing404), then notify registry; returns200 {deleted:true}. Notification500 can follow committed deletion; repeated deletion404. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
65
65
  * Calls `DELETE /api/v1/flows/{id}` through the shared IDP-aware Faiber client.
66
66
  * @param id Backend path identifier `id`.
67
67
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
68
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
69
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:delete.
68
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
69
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:delete. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
70
70
  */
71
- flowDestroyDelete(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowDestroyDeleteResponse, unknown, {}>>;
71
+ flowDestroyDelete(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowDeleteResponse, unknown, {}, any>>;
72
72
  /**
73
- * Performs the show operation for the flow capability.
73
+ * Read UUID flow; missing404. No tenant/owner predicate. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
74
74
  * Calls `GET /api/v1/flows/{id}` through the shared IDP-aware Faiber client.
75
75
  * @param id Backend path identifier `id`.
76
76
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
77
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
78
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:read.
77
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
78
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
79
79
  */
80
- flowShowGet(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowShowGetResponse, unknown, {}>>;
80
+ flowShowGet(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowResponse, unknown, {}, any>>;
81
81
  /**
82
- * Performs the update operation for the flow capability.
82
+ * Partially update UUID flow; null/omitted fields preserve existing values. Graph or trigger_key increments version and updates trigger node data. Slug normalization/conflict409; existing graph revalidated400 even on metadata update. Update before registry notification; notification500 may follow persisted mutation. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
83
83
  * Calls `PUT /api/v1/flows/{id}` through the shared IDP-aware Faiber client.
84
84
  * @param id Backend path identifier `id`.
85
85
  * @param data Typed JSON request body.
86
86
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
87
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
88
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:update.
87
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
88
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:update. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
89
89
  */
90
- flowUpdatePut(id: Identifier, data: T.FlowUpdatePutInput, options?: RequestOptions<T.FlowUpdatePutInput>): Promise<import("axios").AxiosResponse<T.FlowUpdatePutResponse, T.FlowUpdatePutInput, {}>>;
90
+ flowUpdatePut(id: Identifier, data: T.FlowUpdatePutInput, options?: RequestOptions<T.FlowUpdatePutInput>): Promise<import("axios").AxiosResponse<import("./types.js").FlowResponse, import("./types.js").UpdateFlowInput, {}, any>>;
91
91
  /**
92
- * Performs the validate operation for the flow capability.
92
+ * Validate persisted UUID graph; missing404. Invalid graph returns200 {valid:false,errors:[...]}; no mutation. Checks one trigger, edges endpoints, unique nonempty node IDs, emit service/event/object payload and supported condition structure; does not reject cycles or unknown node types. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
93
93
  * Calls `POST /api/v1/flows/{id}/validate` through the shared IDP-aware Faiber client.
94
94
  * @param id Backend path identifier `id`.
95
95
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
96
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
97
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:update.
96
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
97
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:update. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
98
98
  */
99
- flowValidatePost(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.FlowValidatePostResponse, unknown, {}>>;
99
+ flowValidatePost(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowValidationResponse, unknown, {}, any>>;
100
100
  /**
101
- * Performs the import operation for the flow capability.
101
+ * Expand bridges/groups then validate nonempty manifest, normalized unique slugs and graph400. Arrays default empty, bridge enabled defaults true; version/source ignored. Transactional upsert by slug; dry_run rolls back and reports proposed counts. Normal import commits before registry notify, so500 can follow durable effects; identical retry reports unchanged. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
102
102
  * Calls `POST /api/v1/flows/import` through the shared IDP-aware Faiber client.
103
103
  * @param data Typed JSON request body.
104
104
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
105
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
106
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow:create, flow:update.
105
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
106
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow:create, flow:update. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
107
107
  */
108
- flowImportPost(data: T.FlowImportPostInput, options?: RequestOptions<T.FlowImportPostInput>): Promise<import("axios").AxiosResponse<T.FlowImportPostResponse, T.FlowImportPostInput, {}>>;
108
+ flowImportPost(data: T.FlowImportPostInput, options?: RequestOptions<T.FlowImportPostInput>): Promise<import("axios").AxiosResponse<import("./types.js").ImportFlowsResponse, import("./types.js").ImportFlowsInput, {}, any>>;
109
109
  /**
110
- * Performs the integration flow operation for the router capability.
110
+ * Read integration metadata; queue flow_queue and empty events. Concrete shared metadata inspected in pinned dependency source; dependency is pinned to faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
111
111
  * Calls `GET /api/v1/integration/flow` through the shared IDP-aware Faiber client.
112
112
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
113
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
114
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: session-derived or public bootstrap route.
113
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
114
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: No declared handler permission. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
115
115
  */
116
- routerIntegrationFlowGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RouterIntegrationFlowGetResponse, unknown, {}>>;
116
+ routerIntegrationFlowGet(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowIntegrationResponse, unknown, {}, any>>;
117
117
  /**
118
- * Performs the active triggers operation for the registry capability.
118
+ * Read {version,triggers}; enabled flows grouped by trigger key and unioned capture_fields, unordered. Optional service matches endpoint.{service}. prefix; generic event triggers excluded with service filter. No handler-local permission or tenant check. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
119
119
  * Calls `GET /api/v1/registry/active-triggers` through the shared IDP-aware Faiber client.
120
120
  * @param params Typed query parameters; omitted members retain backend defaults.
121
121
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
122
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
123
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: session-derived or public bootstrap route.
122
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
123
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: No declared handler permission. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
124
124
  */
125
- registryActiveTriggersGet(params?: T.RegistryActiveTriggersGetQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RegistryActiveTriggersGetResponse, unknown, {}>>;
125
+ registryActiveTriggersGet(params?: T.RegistryActiveTriggersGetQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").ActiveTriggersResponse, unknown, {}, any>>;
126
126
  /**
127
- * Performs the index operation for the run capability.
127
+ * List global runs descending started_at; limit optional nonnegative u64, default50, no clamp. No pagination envelope or flow/owner filter. Integer values must fit JavaScript safe range for precise requests. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
128
128
  * Calls `GET /api/v1/runs` through the shared IDP-aware Faiber client.
129
129
  * @param params Typed query parameters; omitted members retain backend defaults.
130
130
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
131
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
132
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow_run:read.
131
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
132
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow_run:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
133
133
  */
134
- runIndexGet(params?: T.RunIndexGetQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RunIndexGetResponse, unknown, {}>>;
134
+ runIndexGet(params?: T.RunIndexGetQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowRunListResponse, unknown, {}, any>>;
135
135
  /**
136
- * Performs the show operation for the run capability.
136
+ * Read UUID run404; flatten run fields alongside nullable JSON context and steps ordered created_at ascending. Payload/context may be null; no tenant/owner filter. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
137
137
  * Calls `GET /api/v1/runs/{id}` through the shared IDP-aware Faiber client.
138
138
  * @param id Backend path identifier `id`.
139
139
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
140
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
141
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: flow_run:read.
140
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
141
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: Declared IDP metadata: flow_run:read. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
142
142
  */
143
- runShowGet(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RunShowGetResponse, unknown, {}>>;
143
+ runShowGet(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowRunResponse, unknown, {}, any>>;
144
144
  /**
145
- * Performs the status route operation for the router capability.
145
+ * Read package version liveness; no dependency checks. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
146
146
  * Calls `GET /health` through the shared IDP-aware Faiber client.
147
147
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
148
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
149
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: session-derived or public bootstrap route.
148
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
149
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: No declared handler permission. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
150
150
  */
151
- routerStatusRouteGetHealth(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RouterStatusRouteGetHealthResponse, unknown, {}>>;
151
+ routerStatusRouteGetHealth(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowHealthResponse, unknown, {}, any>>;
152
152
  /**
153
- * Performs the status route operation for the router capability.
153
+ * Read package version liveness; no dependency checks. Success envelope is {status:"success",message:"ok",data}; AppError uses {error:string}, database/broker failures500 and malformed extractors use Axum rejection responses.
154
154
  * Calls `GET /up` through the shared IDP-aware Faiber client.
155
155
  * @param options Axios headers, timeout, cancellation signal, credentials, adapter, and other request options.
156
- * @returns The complete Axios response, including the typed service envelope, status, and headers.
157
- * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: session-derived or public bootstrap route.
156
+ * @returns The complete Axios response, including the typed handler payload, status, and headers.
157
+ * @throws AxiosError for authentication, permission, validation, not-found, conflict, or transport failures; required permission: No declared handler permission. No handler-local permission enforcement. Global imported auth_extractor_middleware; pinned IDP macro registers metadata and middleware trusts x-user-* with dev-fallback, not token verification. Dependency is pinned to reviewed faiber-sdk 291c81a67bc302d667fb807da2af3240598bee52. Use enforcing gateway; FaiberClient forwards configured Bearer/cookie credentials..
158
158
  */
159
- routerStatusRouteGetUp(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.RouterStatusRouteGetUpResponse, unknown, {}>>;
159
+ routerStatusRouteGetUp(options?: RequestOptions): Promise<import("axios").AxiosResponse<import("./types.js").FlowHealthResponse, unknown, {}, any>>;
160
160
  }
161
161
  //# sourceMappingURL=operations.d.ts.map