@owlmeans/flow 0.1.18-rc.10 → 0.1.18-rc.12

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
@@ -6,7 +6,7 @@ State machine for multi-step user flows, primarily used for OIDC authentication
6
6
 
7
7
  - Defines flow configurations as sequences of steps and transitions
8
8
  - `STD_OIDC_FLOW` is the standard OIDC authentication flow constant
9
- - `stdOidcFlow()` creates the preconfigured OIDC flow definition
9
+ - `stdOidcFlow` is the preconfigured OIDC flow definition
10
10
  - Flows are started via `flowService.begin(flowAlias)` and progress through steps as the user authenticates
11
11
 
12
12
  ## Installation
@@ -20,14 +20,11 @@ bun add @owlmeans/flow
20
20
  Register the OIDC flow in app config:
21
21
 
22
22
  ```typescript
23
- import { STD_OIDC_FLOW, stdOidcFlow } from '@owlmeans/flow'
24
-
25
- // In app config (added as a config record)
26
- const appConfig = config(
27
- AppType.Frontend,
28
- 'manager-web',
29
- // ... other config
30
- { [FLOW_RECORD]: [stdOidcFlow()] }
23
+ import { flow, configureFlows, stdOidcFlow } from '@owlmeans/flow'
24
+
25
+ const appConfig = configureFlows(
26
+ flow(config(AppType.Frontend, 'manager-web'), stdOidcFlow),
27
+ { defaultFlow: STD_OIDC_FLOW }
31
28
  )
32
29
  ```
33
30
 
@@ -47,17 +44,25 @@ await flowService.begin(STD_OIDC_FLOW)
47
44
 
48
45
  Constant: `'_oidc'` — alias for the standard OIDC flow.
49
46
 
50
- ### `stdOidcFlow(): FlowConfig`
47
+ ### `stdOidcFlow: ShallowFlow`
48
+
49
+ The pre-built standard OIDC authentication flow.
50
+
51
+ ### `flow(cfg, flow): C` / `configureFlows(cfg, config): C`
52
+
53
+ Add a flow to an application config, and set the flow subsystem's own configuration on it.
54
+
55
+ ### `ShallowFlow`
51
56
 
52
- Returns a pre-built `FlowConfig` for the standard OIDC authentication flow.
57
+ A flow declaration: `flow` (its alias), `initialStep`, and `steps` keyed by step name.
53
58
 
54
59
  ### `FlowConfig`
55
60
 
56
- A flow configuration object with `alias`, `steps: FlowStep[]`, and `transitions: FlowTransition[]`.
61
+ The subsystem's configuration: `queryParam`, `services`, `modules`, `pathes`, `defaultFlow`.
57
62
 
58
63
  ### `FlowStep`
59
64
 
60
- A named step in a flow with optional `service` and `module` references.
65
+ A named step: `index`, `step`, `service`, its `transitions`, and optional `path` / `module`.
61
66
 
62
67
  ### `FLOW_RECORD`
63
68
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/flow",
4
- "version": "0.1.18-rc.9",
5
- "generatedAt": "2026-08-27T21:18:31.382Z",
4
+ "version": "0.1.18-rc.12",
5
+ "generatedAt": "2026-09-01T16:28:56.996Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/flow
9
9
 
10
10
  **Layer:** Cross-cutting domain
11
- **Install:** `"@owlmeans/flow": "^0.1.18-rc.9"` in `dependencies`
11
+ **Install:** `"@owlmeans/flow": "^0.1.18-rc.12"` in `dependencies`
12
12
 
13
13
  A flow is a set of named **steps**, each offering named **transitions** to other steps. What makes
14
14
  it worth using over a hand-rolled switch is that the whole live state — flow, step, previous step,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,SAAU,SAAQ,cAAc;IAC3C,OAAuB,QAAQ,EAAE,MAAM,CAAc;IAErD,YAAY,OAAO,GAAE,MAAgB,EAEpC;CACF;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAuB,QAAQ,EAAE,MAAM,CAAqC;IAE5E,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAuB,QAAQ,EAAE,MAAM,CAAgC;IAEvE,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAuB,QAAQ,EAAE,MAAM,CAAiC;IAExE,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAuB,QAAQ,EAAE,MAAM,CAA8B;IAErE,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,OAAuB,QAAQ,EAAE,MAAM,CAA4C;IAEnF,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAuB,QAAQ,EAAE,MAAM,CAAqC;IAE5E,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF;AAED,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAuB,QAAQ,EAAE,MAAM,CAAwC;IAE/E,YAAY,OAAO,GAAE,MAAgB,EAGpC;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,SAAU,SAAQ,cAAc;IAC3C,OAAuB,QAAQ,EAAE,MAAM,CAAc;gBAEzC,OAAO,GAAE,MAAgB;CAGtC;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAuB,QAAQ,EAAE,MAAM,CAAqC;gBAEhE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAuB,QAAQ,EAAE,MAAM,CAAgC;gBAE3D,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAuB,QAAQ,EAAE,MAAM,CAAiC;gBAE5D,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAuB,QAAQ,EAAE,MAAM,CAA8B;gBAEzD,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,OAAuB,QAAQ,EAAE,MAAM,CAA4C;gBAEvE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAuB,QAAQ,EAAE,MAAM,CAAqC;gBAEhE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAuB,QAAQ,EAAE,MAAM,CAAwC;gBAEnE,OAAO,GAAE,MAAgB;CAItC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,OAAO,SAAU,SAAQ,cAAc;IACpC,MAAM,CAAU,QAAQ,GAAW,WAAW,CAAA;IAErD,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IACrC,MAAM,CAAU,QAAQ,GAAW,GAAG,SAAS,CAAC,QAAQ,aAAa,CAAA;IAE5E,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,eAAe,OAAO,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IACrC,MAAM,CAAU,QAAQ,GAAW,GAAG,SAAS,CAAC,QAAQ,QAAQ,CAAA;IAEvE,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACjC,MAAM,CAAU,QAAQ,GAAW,GAAG,SAAS,CAAC,QAAQ,SAAS,CAAA;IAExE,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IACnC,MAAM,CAAU,QAAQ,GAAW,GAAG,SAAS,CAAC,QAAQ,MAAM,CAAA;IAErE,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IAChD,MAAM,CAAU,QAAQ,GAAW,GAAG,aAAa,CAAC,QAAQ,gBAAgB,CAAA;IAEnF,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAA;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACzC,MAAM,CAAU,QAAQ,GAAW,GAAG,aAAa,CAAC,QAAQ,SAAS,CAAA;IAE5E,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAC3C,MAAM,CAAU,QAAQ,GAAW,GAAG,aAAa,CAAC,QAAQ,YAAY,CAAA;IAE/E,YAAY,OAAO,GAAW,OAAO;QACnC,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAA;IACxC,CAAC;CACF;AAED,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;AAC5C,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;AAClD,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;AAClD,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;AAC9C,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAChD,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;AACzD,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;AAClD,cAAc,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGzE,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,YAAY,OAAO,CAAC,QAAQ,WAAW,KAAG,CAOxE,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,OAAO,CAAC,GAAG,cAAc,UAAU,UAAU,KAAG,CAAC,GAAG,cAIxG,CAAA"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGzE,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,WAAW,KAAG,CAOxE,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,EAAE,KAAK,CAAC,GAAG,cAAc,EAAE,QAAQ,UAAU,KAAG,CAAC,GAAG,cAIxG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAa,WAAW,EAAE,MAAM,YAAY,CAAA;AAGjF,eAAO,MAAM,aAAa,SAAgB,MAAM,GAAG,WAAW,aAAa,YAAY,KAAG,OAAO,CAAC,SAAS,CAiJ1G,CAAA"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAa,WAAW,EAAE,MAAM,YAAY,CAAA;AAGjF,eAAO,MAAM,aAAa,GAAU,MAAM,MAAM,GAAG,WAAW,EAAE,WAAW,YAAY,KAAG,OAAO,CAAC,SAAS,CAiJ1G,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/utils/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAA;AAKvF,eAAO,MAAM,cAAc,SAAU,WAAW,SAAS,SAAS,KAAG,MAgCpE,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAiB,MAAM,gBAAgB,YAAY,KAAG,OAAO,CAAC,SAAS,CAkCnG,CAAA"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/utils/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAA;AAKvF,eAAO,MAAM,cAAc,GAAI,MAAM,WAAW,EAAE,OAAO,SAAS,KAAG,MAgCpE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,OAAO,MAAM,EAAE,cAAc,YAAY,KAAG,OAAO,CAAC,SAAS,CAkCnG,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/flow",
3
- "version": "0.1.18-rc.10",
3
+ "version": "0.1.18-rc.12",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -21,11 +21,11 @@
21
21
  }
22
22
  },
23
23
  "dependencies": {
24
- "@owlmeans/auth": "^0.1.18-rc.7",
25
- "@owlmeans/config": "^0.1.18-rc.8",
26
- "@owlmeans/error": "^0.1.18-rc.6",
27
- "@owlmeans/i18n": "^0.1.18-rc.6",
28
- "@owlmeans/resource": "^0.1.18-rc.7",
24
+ "@owlmeans/auth": "^0.1.18-rc.8",
25
+ "@owlmeans/config": "^0.1.18-rc.10",
26
+ "@owlmeans/error": "^0.1.18-rc.7",
27
+ "@owlmeans/i18n": "^0.1.18-rc.7",
28
+ "@owlmeans/resource": "^0.1.18-rc.8",
29
29
  "@scure/base": "^2.3.0"
30
30
  },
31
31
  "devDependencies": {
package/build/.gitkeep DELETED
File without changes