@toa.io/extensions.exposition 1.0.0-alpha.256 → 1.0.0-alpha.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/components/identity.basic/manifest.toa.yaml +7 -1
  3. package/components/identity.basic/operations/add.js +2 -1
  4. package/components/identity.basic/operations/add.js.map +1 -1
  5. package/components/identity.basic/operations/transit.js +2 -1
  6. package/components/identity.basic/operations/transit.js.map +1 -1
  7. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  8. package/components/identity.basic/operations/types.d.ts +2 -0
  9. package/components/identity.basic/source/add.ts +2 -1
  10. package/components/identity.basic/source/transit.ts +2 -1
  11. package/components/identity.basic/source/types.ts +3 -0
  12. package/components/identity.federation/events/principal.js +2 -2
  13. package/components/identity.federation/manifest.toa.yaml +18 -7
  14. package/components/identity.federation/operations/authenticate.js +13 -15
  15. package/components/identity.federation/operations/authenticate.js.map +1 -1
  16. package/components/identity.federation/operations/create.d.ts +8 -0
  17. package/components/identity.federation/operations/create.js +27 -0
  18. package/components/identity.federation/operations/create.js.map +1 -0
  19. package/components/identity.federation/operations/delete.js +1 -1
  20. package/components/identity.federation/operations/delete.js.map +1 -1
  21. package/components/identity.federation/operations/incept.d.ts +1 -1
  22. package/components/identity.federation/operations/incept.js +3 -26
  23. package/components/identity.federation/operations/incept.js.map +1 -1
  24. package/components/identity.federation/operations/lib/exchange.js +1 -1
  25. package/components/identity.federation/operations/lib/exchange.js.map +1 -1
  26. package/components/identity.federation/operations/lib/index.d.ts +1 -0
  27. package/components/identity.federation/operations/lib/index.js +3 -1
  28. package/components/identity.federation/operations/lib/index.js.map +1 -1
  29. package/components/identity.federation/operations/lib/resolve.d.ts +3 -0
  30. package/components/identity.federation/operations/lib/resolve.js +17 -0
  31. package/components/identity.federation/operations/lib/resolve.js.map +1 -0
  32. package/components/identity.federation/operations/list.js +1 -5
  33. package/components/identity.federation/operations/list.js.map +1 -1
  34. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  35. package/components/identity.federation/operations/types/context.d.ts +2 -5
  36. package/components/identity.federation/operations/types/entity.d.ts +2 -1
  37. package/components/identity.federation/source/authenticate.ts +15 -18
  38. package/components/identity.federation/source/create.ts +39 -0
  39. package/components/identity.federation/source/delete.ts +1 -1
  40. package/components/identity.federation/source/incept.ts +5 -37
  41. package/components/identity.federation/source/lib/exchange.ts +1 -1
  42. package/components/identity.federation/source/lib/index.ts +1 -0
  43. package/components/identity.federation/source/lib/resolve.ts +17 -0
  44. package/components/identity.federation/source/list.test.ts +3 -5
  45. package/components/identity.federation/source/list.ts +1 -8
  46. package/components/identity.federation/source/types/context.ts +2 -6
  47. package/components/identity.federation/source/types/entity.ts +2 -1
  48. package/components/identity.roles/receivers/identity.federation.principal.js +6 -0
  49. package/documentation/credentials.md +5 -2
  50. package/documentation/identity.md +1 -1
  51. package/features/identity.basic.feature +54 -0
  52. package/features/identity.federation.feature +100 -2
  53. package/features/map.feature +2 -1
  54. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-alpha.258](https://github.com/toa-io/toa/compare/v1.0.0-alpha.257...v1.0.0-alpha.258) (2026-08-24)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **exposition:** accept federation signature key as PEM ([121fb00](https://github.com/toa-io/toa/commit/121fb00a4e84ec31d65aa1f747f2a22770db9ba1))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.0.0-alpha.257](https://github.com/toa-io/toa/compare/v1.0.0-alpha.256...v1.0.0-alpha.257) (2026-08-24)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **exposition:** allow null output of basic credentials info ([2a98d0c](https://github.com/toa-io/toa/commit/2a98d0c4c7dd510d57f23485fd516990c79e6759))
23
+ * **exposition:** re-add deleted basic credentials ([93abdb7](https://github.com/toa-io/toa/commit/93abdb7c97f807d400a236c417af716dbd367189))
24
+ * **exposition:** return identity id from federation inception ([4ddcb7e](https://github.com/toa-io/toa/commit/4ddcb7ee7e574d79f783816190381b5bd6eb2dce))
25
+ * **exposition:** revive deleted federation credential on create ([89e6363](https://github.com/toa-io/toa/commit/89e6363778a5e503957c339d1626cda0827fbed8))
26
+ * **storages.mongodb:** lift tombstone on set ([b33d227](https://github.com/toa-io/toa/commit/b33d227dbe1d6c95957d67d31bbe2543e1def8c1))
27
+
28
+
29
+ ### Features
30
+
31
+ * **exposition:** add federation create operation ([0262d7d](https://github.com/toa-io/toa/commit/0262d7d18362d580fc1dd923225c9acba01e751a))
32
+ * **exposition:** detach federation credential id from identity ([63a54e4](https://github.com/toa-io/toa/commit/63a54e44a63c846886d7ed55b29de3e85b4725ff))
33
+ * **exposition:** return the credential from federation inception ([fced302](https://github.com/toa-io/toa/commit/fced302d16979d234f5a3dbf0ed3897362e95b90))
34
+ * **exposition:** unique federation credential per identity and issuer ([0c3e11b](https://github.com/toa-io/toa/commit/0c3e11b2e2497319dc66d566330f8e03c4e35f8d))
35
+
36
+
37
+
38
+
39
+
6
40
  # [1.0.0-alpha.256](https://github.com/toa-io/toa/compare/v1.0.0-alpha.255...v1.0.0-alpha.256) (2026-08-23)
7
41
 
8
42
 
@@ -75,7 +75,13 @@ operations:
75
75
  authority*: string
76
76
  identity*: string
77
77
  output:
78
- username: string
78
+ type: object
79
+ nullable: true
80
+ additionalProperties: false
81
+ properties:
82
+ username:
83
+ type: string
84
+ required: [username]
79
85
  delete:
80
86
  input:
81
87
  authority*: string
@@ -9,7 +9,8 @@ async function effect(input, context) {
9
9
  password: input.password,
10
10
  inception: true
11
11
  },
12
- query: { id: input.id }
12
+ // `delete` leaves a tombstone, which the transition revives
13
+ query: { id: input.id, deleted: true }
13
14
  });
14
15
  }
15
16
  exports.effect = effect;
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../source/add.ts"],"names":[],"mappings":";;;AAGO,KAAK,UAAU,MAAM,CAAE,KAAe,EAAE,OAAgB;IAC7D,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,IAAI;SAChB;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;KACxB,CAAC,CAAA;AACJ,CAAC;AAVD,wBAUC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../source/add.ts"],"names":[],"mappings":";;;AAGO,KAAK,UAAU,MAAM,CAAE,KAAe,EAAE,OAAgB;IAC7D,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,IAAI;SAChB;QACD,4DAA4D;QAC5D,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACvC,CAAC,CAAA;AACJ,CAAC;AAXD,wBAWC"}
@@ -19,7 +19,8 @@ class Transition {
19
19
  this.passwordRx = toRx(context.configuration.password);
20
20
  }
21
21
  async execute(input, object) {
22
- const existent = object._version !== 0;
22
+ const deleted = object._deleted !== undefined && object._deleted !== null;
23
+ const existent = object._version !== 0 && !deleted;
23
24
  if (existent) {
24
25
  if (input.inception === true)
25
26
  return ERR_EXISTS;
@@ -1 +1 @@
1
- {"version":3,"file":"transit.js","sourceRoot":"","sources":["../source/transit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transit.js","sourceRoot":"","sources":["../source/transit.ts"],"names":[],"mappings":"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"}