@astrale-os/kernel-core 0.9.0-beta.39 → 0.9.0-beta.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/auth/index.d.ts +2 -2
  2. package/dist/auth/index.js +1 -1
  3. package/dist/auth/jwk/index.d.ts +1 -1
  4. package/dist/auth/jwk/index.js +1 -1
  5. package/dist/auth/jwk/thumbprint.d.ts +2 -0
  6. package/dist/auth/jwk/thumbprint.js +12 -6
  7. package/dist/auth/register/fingerprint/fingerprint.d.ts +25 -0
  8. package/dist/auth/register/fingerprint/fingerprint.js +31 -0
  9. package/dist/auth/register/fingerprint/index.d.ts +2 -0
  10. package/dist/auth/register/index.d.ts +5 -0
  11. package/dist/auth/register/request/admission.d.ts +3 -0
  12. package/dist/auth/register/request/admission.js +103 -0
  13. package/dist/auth/register/request/index.d.ts +3 -0
  14. package/dist/auth/register/request/limits.d.ts +6 -0
  15. package/dist/auth/register/request/limits.js +6 -0
  16. package/dist/auth/register/request/request.d.ts +19 -0
  17. package/dist/auth/{provision → register}/request/self-issuer.d.ts +1 -1
  18. package/dist/auth/{provision → register}/request/self-issuer.js +1 -1
  19. package/dist/auth/register/result/index.d.ts +1 -0
  20. package/dist/auth/register/result/result.d.ts +10 -0
  21. package/dist/schema/kernel/projection/project.js +4 -4
  22. package/dist/schema/kernel/schema.d.ts +40 -534
  23. package/dist/schema/kernel/schema.js +1 -1
  24. package/dist/schema/kernel/syscalls/contracts/index.d.ts +1 -1
  25. package/dist/schema/kernel/syscalls/contracts/index.js +1 -1
  26. package/dist/schema/kernel/syscalls/contracts/register.d.ts +20 -0
  27. package/dist/schema/kernel/syscalls/contracts/register.js +24 -0
  28. package/dist/schema/kernel/syscalls/declarations/index.d.ts +10 -257
  29. package/dist/schema/kernel/syscalls/declarations/index.js +2 -2
  30. package/dist/schema/kernel/syscalls/declarations/register.d.ts +23 -0
  31. package/dist/schema/kernel/syscalls/declarations/register.js +8 -0
  32. package/dist/schema/kernel/syscalls/descriptors/functions.d.ts +1 -1
  33. package/dist/schema/kernel/syscalls/descriptors/functions.js +1 -1
  34. package/dist/schema/kernel/syscalls/descriptors/index.d.ts +1 -1
  35. package/dist/schema/kernel/syscalls/descriptors/index.js +1 -1
  36. package/dist/schema/kernel/syscalls/index.d.ts +1 -1
  37. package/dist/schema/kernel/syscalls/index.js +1 -1
  38. package/dist/schema/kernel/syscalls/references/functions.d.ts +2 -2
  39. package/dist/schema/kernel/syscalls/references/functions.js +1 -1
  40. package/dist/schema/kernel/syscalls/references/index.d.ts +1 -1
  41. package/dist/schema/kernel/syscalls/references/index.js +1 -1
  42. package/package.json +1 -1
  43. package/dist/auth/provision/fingerprint/fingerprint.d.ts +0 -9
  44. package/dist/auth/provision/fingerprint/fingerprint.js +0 -30
  45. package/dist/auth/provision/fingerprint/index.d.ts +0 -2
  46. package/dist/auth/provision/index.d.ts +0 -5
  47. package/dist/auth/provision/request/admission.d.ts +0 -3
  48. package/dist/auth/provision/request/admission.js +0 -197
  49. package/dist/auth/provision/request/index.d.ts +0 -3
  50. package/dist/auth/provision/request/request.d.ts +0 -35
  51. package/dist/auth/provision/result/index.d.ts +0 -1
  52. package/dist/auth/provision/result/result.d.ts +0 -19
  53. package/dist/schema/kernel/syscalls/contracts/provision.d.ts +0 -301
  54. package/dist/schema/kernel/syscalls/contracts/provision.js +0 -28
  55. package/dist/schema/kernel/syscalls/declarations/provision.d.ts +0 -270
  56. package/dist/schema/kernel/syscalls/declarations/provision.js +0 -8
  57. /package/dist/auth/{provision → register}/fingerprint/index.js +0 -0
  58. /package/dist/auth/{provision → register}/index.js +0 -0
  59. /package/dist/auth/{provision → register}/request/index.js +0 -0
  60. /package/dist/auth/{provision → register}/request/request.js +0 -0
  61. /package/dist/auth/{provision → register}/result/index.js +0 -0
  62. /package/dist/auth/{provision → register}/result/result.js +0 -0
@@ -4973,273 +4973,26 @@ declare const KernelDefinitions: {
4973
4973
  createdNodes: Record<string, string>;
4974
4974
  };
4975
4975
  }, "authorized", false, "default">>;
4976
- provision: builder.Function<builder.CallableProjection<{
4976
+ register: builder.Function<builder.CallableProjection<{
4977
4977
  idempotencyKey: string;
4978
- mutation?: {
4979
- format: "astrale.graph.mutation";
4980
- version: "v3";
4981
- preconditions: ({
4982
- kind: "node";
4983
- node: string;
4984
- class: string;
4985
- props?: {
4986
- equals: Record<string, unknown>;
4987
- absent?: string[] | undefined;
4988
- } | {
4989
- absent: string[];
4990
- } | undefined;
4991
- } | {
4992
- kind: "edge";
4993
- edge: {
4994
- source: string;
4995
- target: string;
4996
- class: string;
4997
- };
4998
- slug?: unknown;
4999
- props?: {
5000
- equals: Record<string, unknown>;
5001
- absent?: string[] | undefined;
5002
- } | {
5003
- absent: string[];
5004
- } | undefined;
5005
- } | {
5006
- kind: "query";
5007
- query: {
5008
- format: "astrale.graph.query";
5009
- version: "v6";
5010
- source: {
5011
- kind: "node";
5012
- terms: ({
5013
- kind: "path";
5014
- path: string;
5015
- } | {
5016
- kind: "class";
5017
- class: {
5018
- origin: string;
5019
- kind: "class";
5020
- name: string;
5021
- };
5022
- })[];
5023
- binding: string;
5024
- } | {
5025
- kind: "edge";
5026
- terms: {
5027
- kind: "class";
5028
- class: {
5029
- origin: string;
5030
- kind: "class";
5031
- name: string;
5032
- };
5033
- }[];
5034
- bindings: {
5035
- source: string;
5036
- edge: string;
5037
- target: string;
5038
- };
5039
- };
5040
- steps: ({
5041
- op: "filter";
5042
- binding: string;
5043
- predicate: {
5044
- kind: "class.satisfies";
5045
- class: {
5046
- origin: string;
5047
- kind: "class";
5048
- name: string;
5049
- };
5050
- } | {
5051
- kind: "class.equal";
5052
- class: {
5053
- origin: string;
5054
- kind: "class";
5055
- name: string;
5056
- };
5057
- } | {
5058
- kind: "property.equal";
5059
- property: string;
5060
- value: unknown;
5061
- } | {
5062
- kind: "property.present";
5063
- property: string;
5064
- } | {
5065
- kind: "identity.equal";
5066
- identity: string | {
5067
- source: string;
5068
- target: string;
5069
- class: string;
5070
- };
5071
- };
5072
- } | {
5073
- op: "expand";
5074
- from: string;
5075
- via: {
5076
- origin: string;
5077
- kind: "class";
5078
- name: string;
5079
- }[];
5080
- direction: "incident" | "incoming" | "outgoing";
5081
- bindings: {
5082
- edge: string;
5083
- node: string;
5084
- };
5085
- })[];
5086
- select: {
5087
- kind: "graph";
5088
- binding: string;
5089
- order?: {
5090
- property: string;
5091
- direction: "asc" | "desc";
5092
- unranked: "first" | "last";
5093
- } | undefined;
5094
- } | {
5095
- kind: "nodes";
5096
- binding: string;
5097
- projection: {
5098
- kind: "reference" | "value";
5099
- };
5100
- order?: {
5101
- property: string;
5102
- direction: "asc" | "desc";
5103
- unranked: "first" | "last";
5104
- } | undefined;
5105
- } | {
5106
- kind: "edges";
5107
- binding: string;
5108
- projection: {
5109
- edge: "reference" | "value";
5110
- source: "reference" | "value";
5111
- target: "reference" | "value";
5112
- };
5113
- order?: {
5114
- property: string;
5115
- direction: "asc" | "desc";
5116
- unranked: "first" | "last";
5117
- } | undefined;
5118
- };
5119
- };
5120
- equals: {
5121
- kind: "node";
5122
- ids: string[];
5123
- } | {
5124
- kind: "edge";
5125
- keys: {
5126
- source: string;
5127
- target: string;
5128
- class: string;
5129
- }[];
5130
- };
5131
- })[];
5132
- operations: ({
5133
- op: "node.create";
5134
- as: string;
5135
- class: string;
5136
- props: Record<string, unknown>;
5137
- } | {
5138
- op: "node.update";
5139
- node: string;
5140
- class: string;
5141
- props: {
5142
- set: Record<string, unknown>;
5143
- unset: string[];
5144
- };
5145
- } | {
5146
- op: "node.delete";
5147
- node: string;
5148
- class: string;
5149
- } | {
5150
- op: "edge.create";
5151
- class: string;
5152
- source: string | {
5153
- created: string;
5154
- };
5155
- target: string | {
5156
- created: string;
5157
- };
5158
- slug?: unknown;
5159
- props: Record<string, unknown>;
5160
- } | {
5161
- op: "edge.update";
5162
- edge: {
5163
- source: string;
5164
- target: string;
5165
- class: string;
5166
- };
5167
- slug: unknown;
5168
- props?: {
5169
- set: Record<string, unknown>;
5170
- unset: string[];
5171
- } | undefined;
5172
- } | {
5173
- op: "edge.update";
5174
- edge: {
5175
- source: string;
5176
- target: string;
5177
- class: string;
5178
- };
5179
- props: {
5180
- set: Record<string, unknown>;
5181
- unset: string[];
5182
- };
5183
- } | {
5184
- op: "edge.delete";
5185
- edge: {
5186
- source: string;
5187
- target: string;
5188
- class: string;
5189
- };
5190
- })[];
5191
- } | undefined;
5192
4978
  identities: ({
5193
- identity: {
5194
- created: string;
5195
- };
5196
- authentication?: {
5197
- iss: string;
5198
- sub: string;
5199
- } | {
5200
- credentials: {
5201
- publicKey: unknown;
5202
- proof: string;
5203
- };
5204
- } | undefined;
5205
- requiredClaims?: ({
5206
- claim: string;
5207
- op: "contains";
5208
- value: unknown;
5209
- } | {
5210
- claim: string;
5211
- op: "eq";
5212
- value: unknown;
5213
- } | {
5214
- claim: string;
5215
- op: "exists";
5216
- })[] | undefined;
4979
+ id: string;
4980
+ mode: "external";
4981
+ credential: string;
5217
4982
  } | {
5218
- identity: {
5219
- id: string;
5220
- class: string;
5221
- };
5222
- authentication: {
5223
- iss: string;
5224
- sub: string;
5225
- } | {
5226
- credentials: {
5227
- publicKey: unknown;
5228
- proof: string;
5229
- };
5230
- };
4983
+ id: string;
4984
+ mode: "self";
4985
+ publicKey: unknown;
4986
+ credential: string;
5231
4987
  })[];
5232
4988
  }, {
5233
4989
  readonly mode: 'value';
5234
4990
  readonly value: {
5235
- createdNodes: Record<string, string>;
5236
- identities: ({
5237
- id: string;
5238
- } | {
4991
+ identities: {
5239
4992
  id: string;
5240
4993
  iss: string;
5241
4994
  sub: string;
5242
- })[];
4995
+ }[];
5243
4996
  };
5244
4997
  }, "authorized", false, "default">>;
5245
4998
  install: builder.Function<builder.CallableProjection<{
@@ -5921,283 +5674,10 @@ export declare const KernelRootFunctions: readonly ((import("@astrale-os/kernel-
5921
5674
  };
5922
5675
  readonly key: "kernel.astrale.ai:function.mutate";
5923
5676
  }) | (import("@astrale-os/kernel-dsl/v1").ResolvedFunction<{
5924
- idempotencyKey: string;
5925
- mutation?: {
5926
- format: "astrale.graph.mutation";
5927
- version: "v3";
5928
- preconditions: ({
5929
- kind: "node";
5930
- node: string;
5931
- class: string;
5932
- props?: {
5933
- equals: Record<string, unknown>;
5934
- absent?: string[] | undefined;
5935
- } | {
5936
- absent: string[];
5937
- } | undefined;
5938
- } | {
5939
- kind: "edge";
5940
- edge: {
5941
- source: string;
5942
- target: string;
5943
- class: string;
5944
- };
5945
- slug?: unknown;
5946
- props?: {
5947
- equals: Record<string, unknown>;
5948
- absent?: string[] | undefined;
5949
- } | {
5950
- absent: string[];
5951
- } | undefined;
5952
- } | {
5953
- kind: "query";
5954
- query: {
5955
- format: "astrale.graph.query";
5956
- version: "v6";
5957
- source: {
5958
- kind: "node";
5959
- terms: ({
5960
- kind: "path";
5961
- path: string;
5962
- } | {
5963
- kind: "class";
5964
- class: {
5965
- origin: string;
5966
- kind: "class";
5967
- name: string;
5968
- };
5969
- })[];
5970
- binding: string;
5971
- } | {
5972
- kind: "edge";
5973
- terms: {
5974
- kind: "class";
5975
- class: {
5976
- origin: string;
5977
- kind: "class";
5978
- name: string;
5979
- };
5980
- }[];
5981
- bindings: {
5982
- source: string;
5983
- edge: string;
5984
- target: string;
5985
- };
5986
- };
5987
- steps: ({
5988
- op: "filter";
5989
- binding: string;
5990
- predicate: {
5991
- kind: "class.satisfies";
5992
- class: {
5993
- origin: string;
5994
- kind: "class";
5995
- name: string;
5996
- };
5997
- } | {
5998
- kind: "class.equal";
5999
- class: {
6000
- origin: string;
6001
- kind: "class";
6002
- name: string;
6003
- };
6004
- } | {
6005
- kind: "property.equal";
6006
- property: string;
6007
- value: unknown;
6008
- } | {
6009
- kind: "property.present";
6010
- property: string;
6011
- } | {
6012
- kind: "identity.equal";
6013
- identity: string | {
6014
- source: string;
6015
- target: string;
6016
- class: string;
6017
- };
6018
- };
6019
- } | {
6020
- op: "expand";
6021
- from: string;
6022
- via: {
6023
- origin: string;
6024
- kind: "class";
6025
- name: string;
6026
- }[];
6027
- direction: "incident" | "incoming" | "outgoing";
6028
- bindings: {
6029
- edge: string;
6030
- node: string;
6031
- };
6032
- })[];
6033
- select: {
6034
- kind: "graph";
6035
- binding: string;
6036
- order?: {
6037
- property: string;
6038
- direction: "asc" | "desc";
6039
- unranked: "first" | "last";
6040
- } | undefined;
6041
- } | {
6042
- kind: "nodes";
6043
- binding: string;
6044
- projection: {
6045
- kind: "reference" | "value";
6046
- };
6047
- order?: {
6048
- property: string;
6049
- direction: "asc" | "desc";
6050
- unranked: "first" | "last";
6051
- } | undefined;
6052
- } | {
6053
- kind: "edges";
6054
- binding: string;
6055
- projection: {
6056
- edge: "reference" | "value";
6057
- source: "reference" | "value";
6058
- target: "reference" | "value";
6059
- };
6060
- order?: {
6061
- property: string;
6062
- direction: "asc" | "desc";
6063
- unranked: "first" | "last";
6064
- } | undefined;
6065
- };
6066
- };
6067
- equals: {
6068
- kind: "node";
6069
- ids: string[];
6070
- } | {
6071
- kind: "edge";
6072
- keys: {
6073
- source: string;
6074
- target: string;
6075
- class: string;
6076
- }[];
6077
- };
6078
- })[];
6079
- operations: ({
6080
- op: "node.create";
6081
- as: string;
6082
- class: string;
6083
- props: Record<string, unknown>;
6084
- } | {
6085
- op: "node.update";
6086
- node: string;
6087
- class: string;
6088
- props: {
6089
- set: Record<string, unknown>;
6090
- unset: string[];
6091
- };
6092
- } | {
6093
- op: "node.delete";
6094
- node: string;
6095
- class: string;
6096
- } | {
6097
- op: "edge.create";
6098
- class: string;
6099
- source: string | {
6100
- created: string;
6101
- };
6102
- target: string | {
6103
- created: string;
6104
- };
6105
- slug?: unknown;
6106
- props: Record<string, unknown>;
6107
- } | {
6108
- op: "edge.update";
6109
- edge: {
6110
- source: string;
6111
- target: string;
6112
- class: string;
6113
- };
6114
- slug: unknown;
6115
- props?: {
6116
- set: Record<string, unknown>;
6117
- unset: string[];
6118
- } | undefined;
6119
- } | {
6120
- op: "edge.update";
6121
- edge: {
6122
- source: string;
6123
- target: string;
6124
- class: string;
6125
- };
6126
- props: {
6127
- set: Record<string, unknown>;
6128
- unset: string[];
6129
- };
6130
- } | {
6131
- op: "edge.delete";
6132
- edge: {
6133
- source: string;
6134
- target: string;
6135
- class: string;
6136
- };
6137
- })[];
6138
- } | undefined;
6139
- identities: ({
6140
- identity: {
6141
- created: string;
6142
- };
6143
- authentication?: {
6144
- iss: string;
6145
- sub: string;
6146
- } | {
6147
- credentials: {
6148
- publicKey: unknown;
6149
- proof: string;
6150
- };
6151
- } | undefined;
6152
- requiredClaims?: ({
6153
- claim: string;
6154
- op: "contains";
6155
- value: unknown;
6156
- } | {
6157
- claim: string;
6158
- op: "eq";
6159
- value: unknown;
6160
- } | {
6161
- claim: string;
6162
- op: "exists";
6163
- })[] | undefined;
6164
- } | {
6165
- identity: {
6166
- id: string;
6167
- class: string;
6168
- };
6169
- authentication: {
6170
- iss: string;
6171
- sub: string;
6172
- } | {
6173
- credentials: {
6174
- publicKey: unknown;
6175
- proof: string;
6176
- };
6177
- };
6178
- })[];
6179
- }, {
6180
- readonly mode: 'value';
6181
- readonly value: {
6182
- createdNodes: Record<string, string>;
6183
- identities: ({
6184
- id: string;
6185
- } | {
6186
- id: string;
6187
- iss: string;
6188
- sub: string;
6189
- })[];
6190
- };
6191
- }, "authorized", import("@astrale-os/kernel-dsl/v1").PolicyCheckExpression<import("@astrale-os/kernel-dsl/v1").PolicyRef, import("@astrale-os/kernel-dsl/v1/language").PolicyCheckObject>> & {
6192
- readonly ref: import("@astrale-os/kernel-dsl/v1").FunctionRef<"provision"> & {
6193
- readonly origin: "kernel.astrale.ai";
6194
- };
6195
- readonly key: "kernel.astrale.ai:function.provision";
6196
- }) | (import("@astrale-os/kernel-dsl/v1").ResolvedFunction<{
6197
- ast: {
6198
- format: "astrale.graph.query";
6199
- version: "v6";
6200
- source: {
5677
+ ast: {
5678
+ format: "astrale.graph.query";
5679
+ version: "v6";
5680
+ source: {
6201
5681
  kind: "node";
6202
5682
  terms: ({
6203
5683
  kind: "path";
@@ -6420,6 +5900,32 @@ export declare const KernelRootFunctions: readonly ((import("@astrale-os/kernel-
6420
5900
  readonly origin: "kernel.astrale.ai";
6421
5901
  };
6422
5902
  readonly key: "kernel.astrale.ai:function.query";
5903
+ }) | (import("@astrale-os/kernel-dsl/v1").ResolvedFunction<{
5904
+ idempotencyKey: string;
5905
+ identities: ({
5906
+ id: string;
5907
+ mode: "external";
5908
+ credential: string;
5909
+ } | {
5910
+ id: string;
5911
+ mode: "self";
5912
+ publicKey: unknown;
5913
+ credential: string;
5914
+ })[];
5915
+ }, {
5916
+ readonly mode: 'value';
5917
+ readonly value: {
5918
+ identities: {
5919
+ id: string;
5920
+ iss: string;
5921
+ sub: string;
5922
+ }[];
5923
+ };
5924
+ }, "authorized", import("@astrale-os/kernel-dsl/v1").PolicyCheckExpression<import("@astrale-os/kernel-dsl/v1").PolicyRef, import("@astrale-os/kernel-dsl/v1/language").PolicyCheckObject>> & {
5925
+ readonly ref: import("@astrale-os/kernel-dsl/v1").FunctionRef<"register"> & {
5926
+ readonly origin: "kernel.astrale.ai";
5927
+ };
5928
+ readonly key: "kernel.astrale.ai:function.register";
6423
5929
  }) | (import("@astrale-os/kernel-dsl/v1").ResolvedFunction<{
6424
5930
  operation: string;
6425
5931
  domains: string[];
@@ -71,7 +71,7 @@ export const AuthorityRelations = Object.freeze({
71
71
  export const KernelRootFunctions = Object.freeze([
72
72
  K.functions.query,
73
73
  K.functions.mutate,
74
- K.functions.provision,
74
+ K.functions.register,
75
75
  K.functions.install,
76
76
  K.functions.introspect,
77
77
  K.functions.uninstall,
@@ -6,7 +6,7 @@ export { introspectInput } from './introspect.js';
6
6
  export { journalInput, journalOutput } from './journal.js';
7
7
  export { mintInput, mintOutput } from './mint.js';
8
8
  export { mutateInput, mutateOutput } from './mutate.js';
9
- export { provisionInput, provisionOutput } from './provision.js';
9
+ export { registerInput, registerOutput } from './register.js';
10
10
  export { MAXIMUM_QUERY_EXPECTATIONS, queryInput, queryOutput } from './query.js';
11
11
  export { uninstallInput, uninstallOutput, type UninstallInput, type UninstallOutput, } from './uninstall.js';
12
12
  export { viewResolveInput, viewResolveOutput } from './view-resolve.js';
@@ -6,7 +6,7 @@ export { introspectInput } from './introspect.js';
6
6
  export { journalInput, journalOutput } from './journal.js';
7
7
  export { mintInput, mintOutput } from './mint.js';
8
8
  export { mutateInput, mutateOutput } from './mutate.js';
9
- export { provisionInput, provisionOutput } from './provision.js';
9
+ export { registerInput, registerOutput } from './register.js';
10
10
  export { MAXIMUM_QUERY_EXPECTATIONS, queryInput, queryOutput } from './query.js';
11
11
  export { uninstallInput, uninstallOutput, } from './uninstall.js';
12
12
  export { viewResolveInput, viewResolveOutput } from './view-resolve.js';
@@ -0,0 +1,20 @@
1
+ export declare const registerInput: import("zod").ZodObject<{
2
+ idempotencyKey: import("zod").ZodString;
3
+ identities: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
4
+ id: import("zod").ZodString;
5
+ mode: import("zod").ZodLiteral<"external">;
6
+ credential: import("zod").ZodString;
7
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
8
+ id: import("zod").ZodString;
9
+ mode: import("zod").ZodLiteral<"self">;
10
+ publicKey: import("zod").ZodUnknown;
11
+ credential: import("zod").ZodString;
12
+ }, import("zod/v4/core").$strict>]>>;
13
+ }, import("zod/v4/core").$strict>;
14
+ export declare const registerOutput: import("zod").ZodObject<{
15
+ identities: import("zod").ZodArray<import("zod").ZodObject<{
16
+ id: import("zod").ZodString;
17
+ iss: import("zod").ZodString;
18
+ sub: import("zod").ZodString;
19
+ }, import("zod/v4/core").$strict>>;
20
+ }, import("zod/v4/core").$strict>;
@@ -0,0 +1,24 @@
1
+ import { array, literal, strictObject, string, union, unknown as unknownSchema } from 'zod';
2
+ import { REGISTER_REQUEST_LIMITS } from '../../../../auth/register/request/limits.js';
3
+ const text = string().min(1);
4
+ const credential = text.max(REGISTER_REQUEST_LIMITS.credentialBytes);
5
+ const external = strictObject({
6
+ id: text,
7
+ mode: literal('external'),
8
+ credential,
9
+ });
10
+ const self = strictObject({
11
+ id: text,
12
+ mode: literal('self'),
13
+ publicKey: unknownSchema(),
14
+ credential,
15
+ });
16
+ export const registerInput = strictObject({
17
+ idempotencyKey: text.max(REGISTER_REQUEST_LIMITS.idempotencyKeyCharacters),
18
+ identities: array(union([external, self]))
19
+ .nonempty()
20
+ .max(REGISTER_REQUEST_LIMITS.identities),
21
+ });
22
+ export const registerOutput = strictObject({
23
+ identities: array(strictObject({ id: text, iss: text, sub: text })).nonempty(),
24
+ });