@ottochain/sdk 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/cjs/apps/contracts/index.js +1 -1
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +272 -0
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +284 -0
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +93 -0
  5. package/dist/cjs/apps/contracts/state-machines/index.js +177 -1
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +1022 -0
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +671 -0
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +998 -0
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +1102 -0
  10. package/dist/cjs/apps/corporate/state-machines/index.js +20 -4440
  11. package/dist/cjs/apps/governance/index.js +7 -7
  12. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +467 -0
  13. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +458 -0
  14. package/dist/cjs/apps/governance/state-machines/dao-single.js +199 -0
  15. package/dist/cjs/apps/governance/state-machines/dao-token.js +503 -0
  16. package/dist/cjs/apps/governance/state-machines/governance-simple.js +482 -0
  17. package/dist/cjs/apps/governance/state-machines/governance-universal.js +138 -0
  18. package/dist/cjs/apps/governance/state-machines/index.js +16 -2934
  19. package/dist/cjs/apps/identity/constants.js +28 -14
  20. package/dist/cjs/apps/identity/index.js +27 -12
  21. package/dist/cjs/apps/identity/state-machines/identity-agent.js +256 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +321 -0
  23. package/dist/cjs/apps/identity/state-machines/identity-universal.js +106 -0
  24. package/dist/cjs/apps/identity/state-machines/index.js +15 -784
  25. package/dist/cjs/apps/markets/index.js +1 -1
  26. package/dist/cjs/apps/markets/state-machines/index.js +14 -2298
  27. package/dist/cjs/apps/markets/state-machines/market-auction.js +283 -0
  28. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +312 -0
  29. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +407 -0
  30. package/dist/cjs/apps/markets/state-machines/market-prediction.js +485 -0
  31. package/dist/cjs/apps/markets/state-machines/market-universal.js +129 -0
  32. package/dist/cjs/apps/oracles/index.js +36 -0
  33. package/dist/cjs/generated/google/protobuf/struct.js +1 -1
  34. package/dist/cjs/generated/google/protobuf/timestamp.js +1 -1
  35. package/dist/cjs/generated/index.js +26 -22
  36. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  37. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  38. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +1 -1
  39. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +12 -12
  40. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +1688 -0
  41. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +1 -1
  42. package/dist/cjs/generated/ottochain/v1/common.js +1 -1
  43. package/dist/cjs/generated/ottochain/v1/fiber.js +1 -1
  44. package/dist/cjs/generated/ottochain/v1/messages.js +1 -1
  45. package/dist/cjs/generated/ottochain/v1/records.js +1 -1
  46. package/dist/cjs/schema/fiber-app.js +95 -0
  47. package/dist/cjs/schema/index.js +20 -0
  48. package/dist/esm/apps/contracts/index.js +3 -3
  49. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +269 -0
  50. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +281 -0
  51. package/dist/esm/apps/contracts/state-machines/contract-universal.js +90 -0
  52. package/dist/esm/apps/contracts/state-machines/index.js +177 -1
  53. package/dist/esm/apps/corporate/index.js +3 -3
  54. package/dist/esm/apps/corporate/state-machines/corp-board.js +1019 -0
  55. package/dist/esm/apps/corporate/state-machines/corp-entity.js +668 -0
  56. package/dist/esm/apps/corporate/state-machines/corp-securities.js +995 -0
  57. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +1099 -0
  58. package/dist/esm/apps/corporate/state-machines/index.js +15 -4439
  59. package/dist/esm/apps/governance/index.js +9 -9
  60. package/dist/esm/apps/governance/state-machines/dao-multisig.js +464 -0
  61. package/dist/esm/apps/governance/state-machines/dao-reputation.js +455 -0
  62. package/dist/esm/apps/governance/state-machines/dao-single.js +196 -0
  63. package/dist/esm/apps/governance/state-machines/dao-token.js +500 -0
  64. package/dist/esm/apps/governance/state-machines/governance-simple.js +479 -0
  65. package/dist/esm/apps/governance/state-machines/governance-universal.js +135 -0
  66. package/dist/esm/apps/governance/state-machines/index.js +9 -2933
  67. package/dist/esm/apps/identity/constants.js +28 -14
  68. package/dist/esm/apps/identity/index.js +7 -5
  69. package/dist/esm/apps/identity/state-machines/identity-agent.js +253 -0
  70. package/dist/esm/apps/identity/state-machines/identity-oracle.js +318 -0
  71. package/dist/esm/apps/identity/state-machines/identity-universal.js +103 -0
  72. package/dist/esm/apps/identity/state-machines/index.js +11 -783
  73. package/dist/esm/apps/index.js +5 -5
  74. package/dist/esm/apps/markets/index.js +3 -3
  75. package/dist/esm/apps/markets/state-machines/index.js +8 -2297
  76. package/dist/esm/apps/markets/state-machines/market-auction.js +280 -0
  77. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +309 -0
  78. package/dist/esm/apps/markets/state-machines/market-group-buy.js +404 -0
  79. package/dist/esm/apps/markets/state-machines/market-prediction.js +482 -0
  80. package/dist/esm/apps/markets/state-machines/market-universal.js +126 -0
  81. package/dist/esm/apps/oracles/index.js +21 -0
  82. package/dist/esm/generated/google/protobuf/struct.js +1 -1
  83. package/dist/esm/generated/google/protobuf/timestamp.js +1 -1
  84. package/dist/esm/generated/index.js +8 -4
  85. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  86. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  87. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +1 -1
  88. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +2 -2
  89. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +1676 -0
  90. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +1 -1
  91. package/dist/esm/generated/ottochain/v1/common.js +1 -1
  92. package/dist/esm/generated/ottochain/v1/fiber.js +1 -1
  93. package/dist/esm/generated/ottochain/v1/messages.js +1 -1
  94. package/dist/esm/generated/ottochain/v1/records.js +1 -1
  95. package/dist/esm/schema/fiber-app.js +86 -0
  96. package/dist/esm/schema/index.js +4 -0
  97. package/dist/types/apps/contracts/index.d.ts +151 -2
  98. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +462 -0
  99. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +511 -0
  100. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +147 -0
  101. package/dist/types/apps/contracts/state-machines/index.d.ts +149 -0
  102. package/dist/types/apps/corporate/index.d.ts +5263 -3825
  103. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +1479 -0
  104. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +970 -0
  105. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +1381 -0
  106. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +1631 -0
  107. package/dist/types/apps/corporate/state-machines/index.d.ts +5245 -3802
  108. package/dist/types/apps/governance/index.d.ts +875 -37
  109. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +644 -0
  110. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +610 -0
  111. package/dist/types/apps/governance/state-machines/dao-single.d.ts +276 -0
  112. package/dist/types/apps/governance/state-machines/dao-token.d.ts +601 -0
  113. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +652 -0
  114. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +181 -0
  115. package/dist/types/apps/governance/state-machines/index.d.ts +9 -2136
  116. package/dist/types/apps/identity/constants.d.ts +8 -6
  117. package/dist/types/apps/identity/index.d.ts +1078 -577
  118. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +401 -0
  119. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +550 -0
  120. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +151 -0
  121. package/dist/types/apps/identity/state-machines/index.d.ts +1069 -567
  122. package/dist/types/apps/index.d.ts +5 -5
  123. package/dist/types/apps/markets/index.d.ts +535 -7
  124. package/dist/types/apps/markets/state-machines/index.d.ts +8 -1678
  125. package/dist/types/apps/markets/state-machines/market-auction.d.ts +392 -0
  126. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +443 -0
  127. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +539 -0
  128. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +651 -0
  129. package/dist/types/apps/markets/state-machines/market-universal.d.ts +191 -0
  130. package/dist/types/apps/oracles/index.d.ts +18 -0
  131. package/dist/types/generated/index.d.ts +3 -2
  132. package/dist/types/generated/ottochain/apps/identity/v1/attestation.d.ts +1 -1
  133. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +187 -0
  134. package/dist/types/schema/fiber-app.d.ts +172 -0
  135. package/dist/types/schema/index.d.ts +4 -0
  136. package/package.json +1 -1
  137. package/dist/cjs/generated/ottochain/apps/identity/v1/agent.js +0 -619
  138. package/dist/cjs/generated/ottochain/apps/oracles/v1/oracle.js +0 -1223
  139. package/dist/esm/generated/ottochain/apps/identity/v1/agent.js +0 -610
  140. package/dist/esm/generated/ottochain/apps/oracles/v1/oracle.js +0 -1217
  141. package/dist/types/generated/ottochain/apps/identity/v1/agent.d.ts +0 -94
  142. package/dist/types/generated/ottochain/apps/oracles/v1/oracle.d.ts +0 -150
@@ -0,0 +1,1479 @@
1
+ /**
2
+ * Board of directors state machine managing director seats, meetings, quorum, and formal board actions.
3
+ * Supports staggered boards with classified directors.
4
+ */
5
+ export declare const corpBoardDef: {
6
+ metadata: {
7
+ name: string;
8
+ app: string;
9
+ type: string;
10
+ version: string;
11
+ description: string;
12
+ crossReferences: {
13
+ entity: {
14
+ machine: string;
15
+ description: string;
16
+ foreignKey: string;
17
+ };
18
+ resolutions: {
19
+ machine: string;
20
+ description: string;
21
+ foreignKey: string;
22
+ };
23
+ committees: {
24
+ machine: string;
25
+ description: string;
26
+ foreignKey: string;
27
+ };
28
+ officers: {
29
+ machine: string;
30
+ description: string;
31
+ foreignKey: string;
32
+ };
33
+ };
34
+ };
35
+ createSchema: {
36
+ required: readonly ["boardId", "entityId", "seats"];
37
+ properties: {
38
+ boardId: {
39
+ type: "string";
40
+ description: string;
41
+ immutable: true;
42
+ };
43
+ entityId: {
44
+ type: "string";
45
+ description: string;
46
+ immutable: true;
47
+ };
48
+ seats: {
49
+ type: "object";
50
+ properties: {
51
+ authorized: {
52
+ type: "integer";
53
+ description: string;
54
+ };
55
+ filled: {
56
+ type: "integer";
57
+ };
58
+ vacant: {
59
+ type: "integer";
60
+ };
61
+ };
62
+ };
63
+ boardStructure: {
64
+ type: "object";
65
+ properties: {
66
+ isClassified: {
67
+ type: "boolean";
68
+ description: string;
69
+ };
70
+ termYears: {
71
+ type: "integer";
72
+ default: number;
73
+ description: string;
74
+ };
75
+ classTerms: {
76
+ type: "object";
77
+ properties: {
78
+ CLASS_I: {
79
+ type: "integer";
80
+ };
81
+ CLASS_II: {
82
+ type: "integer";
83
+ };
84
+ CLASS_III: {
85
+ type: "integer";
86
+ };
87
+ };
88
+ };
89
+ };
90
+ };
91
+ quorumRules: {
92
+ type: "object";
93
+ properties: {
94
+ type: {
95
+ type: "string";
96
+ enum: readonly ["MAJORITY", "SUPERMAJORITY", "FIXED_NUMBER"];
97
+ default: string;
98
+ };
99
+ threshold: {
100
+ type: "number";
101
+ description: string;
102
+ };
103
+ minimumRequired: {
104
+ type: "integer";
105
+ description: string;
106
+ };
107
+ };
108
+ };
109
+ votingRules: {
110
+ type: "object";
111
+ properties: {
112
+ standardApproval: {
113
+ type: "string";
114
+ enum: readonly ["MAJORITY_PRESENT", "MAJORITY_FULL_BOARD"];
115
+ default: string;
116
+ };
117
+ supermajorityMatters: {
118
+ type: "array";
119
+ items: {
120
+ type: "string";
121
+ };
122
+ description: string;
123
+ };
124
+ supermajorityThreshold: {
125
+ type: "number";
126
+ default: number;
127
+ };
128
+ };
129
+ };
130
+ };
131
+ };
132
+ stateSchema: {
133
+ properties: {
134
+ boardId: {
135
+ type: "string";
136
+ immutable: true;
137
+ };
138
+ entityId: {
139
+ type: "string";
140
+ immutable: true;
141
+ };
142
+ directors: {
143
+ type: "array";
144
+ items: {
145
+ $ref: string;
146
+ };
147
+ computed: true;
148
+ };
149
+ seats: {
150
+ type: "object";
151
+ };
152
+ boardStructure: {
153
+ type: "object";
154
+ };
155
+ quorumRules: {
156
+ type: "object";
157
+ };
158
+ votingRules: {
159
+ type: "object";
160
+ };
161
+ currentMeeting: {
162
+ $ref: string;
163
+ nullable: true;
164
+ computed: true;
165
+ };
166
+ meetingHistory: {
167
+ type: "array";
168
+ items: {
169
+ $ref: string;
170
+ };
171
+ computed: true;
172
+ };
173
+ status: {
174
+ type: "string";
175
+ enum: readonly ["ACTIVE", "IN_MEETING", "QUORUM_LOST"];
176
+ computed: true;
177
+ };
178
+ createdAt: {
179
+ type: "timestamp";
180
+ computed: true;
181
+ };
182
+ updatedAt: {
183
+ type: "timestamp";
184
+ computed: true;
185
+ };
186
+ };
187
+ };
188
+ eventSchemas: {
189
+ elect_director: {
190
+ description: string;
191
+ required: readonly ["directorId", "name", "termStart", "termEnd", "isIndependent", "electionResolutionRef"];
192
+ properties: {
193
+ directorId: {
194
+ type: "string";
195
+ };
196
+ name: {
197
+ type: "string";
198
+ };
199
+ email: {
200
+ type: "string";
201
+ };
202
+ termStart: {
203
+ type: "string";
204
+ format: string;
205
+ };
206
+ termEnd: {
207
+ type: "string";
208
+ format: string;
209
+ };
210
+ class: {
211
+ type: "string";
212
+ enum: readonly ["CLASS_I", "CLASS_II", "CLASS_III", "UNCLASSIFIED"];
213
+ };
214
+ isIndependent: {
215
+ type: "boolean";
216
+ };
217
+ electionResolutionRef: {
218
+ type: "string";
219
+ description: string;
220
+ };
221
+ isFillingVacancy: {
222
+ type: "boolean";
223
+ default: boolean;
224
+ };
225
+ };
226
+ };
227
+ resign_director: {
228
+ description: string;
229
+ required: readonly ["directorId", "effectiveDate"];
230
+ properties: {
231
+ directorId: {
232
+ type: "string";
233
+ };
234
+ effectiveDate: {
235
+ type: "string";
236
+ format: string;
237
+ };
238
+ reason: {
239
+ type: "string";
240
+ };
241
+ resignationLetter: {
242
+ type: "string";
243
+ description: string;
244
+ };
245
+ };
246
+ };
247
+ remove_for_cause: {
248
+ description: string;
249
+ required: readonly ["directorId", "cause", "removalResolutionRef", "effectiveDate"];
250
+ properties: {
251
+ directorId: {
252
+ type: "string";
253
+ };
254
+ cause: {
255
+ type: "string";
256
+ };
257
+ removalResolutionRef: {
258
+ type: "string";
259
+ };
260
+ effectiveDate: {
261
+ type: "string";
262
+ format: string;
263
+ };
264
+ };
265
+ };
266
+ designate_chair: {
267
+ description: string;
268
+ required: readonly ["directorId", "resolutionRef"];
269
+ properties: {
270
+ directorId: {
271
+ type: "string";
272
+ };
273
+ resolutionRef: {
274
+ type: "string";
275
+ };
276
+ };
277
+ };
278
+ call_meeting: {
279
+ description: string;
280
+ required: readonly ["meetingId", "type", "scheduledDate", "calledBy", "noticeDate"];
281
+ properties: {
282
+ meetingId: {
283
+ type: "string";
284
+ };
285
+ type: {
286
+ type: "string";
287
+ enum: readonly ["REGULAR", "SPECIAL", "ANNUAL", "ORGANIZATIONAL"];
288
+ };
289
+ scheduledDate: {
290
+ type: "string";
291
+ format: string;
292
+ };
293
+ location: {
294
+ type: "string";
295
+ };
296
+ isVirtual: {
297
+ type: "boolean";
298
+ default: boolean;
299
+ };
300
+ calledBy: {
301
+ type: "string";
302
+ description: string;
303
+ };
304
+ noticeDate: {
305
+ type: "string";
306
+ format: string;
307
+ };
308
+ agenda: {
309
+ type: "array";
310
+ items: {
311
+ type: "string";
312
+ };
313
+ };
314
+ waiverOfNotice: {
315
+ type: "boolean";
316
+ default: boolean;
317
+ description: string;
318
+ };
319
+ };
320
+ };
321
+ record_attendance: {
322
+ description: string;
323
+ required: readonly ["directorId", "present"];
324
+ properties: {
325
+ directorId: {
326
+ type: "string";
327
+ };
328
+ present: {
329
+ type: "boolean";
330
+ };
331
+ arrivedAt: {
332
+ type: "string";
333
+ format: string;
334
+ };
335
+ };
336
+ };
337
+ open_meeting: {
338
+ description: string;
339
+ required: readonly ["openedAt"];
340
+ properties: {
341
+ openedAt: {
342
+ type: "string";
343
+ format: string;
344
+ };
345
+ chairPresiding: {
346
+ type: "string";
347
+ description: string;
348
+ };
349
+ };
350
+ };
351
+ director_departs: {
352
+ description: string;
353
+ required: readonly ["directorId", "departedAt"];
354
+ properties: {
355
+ directorId: {
356
+ type: "string";
357
+ };
358
+ departedAt: {
359
+ type: "string";
360
+ format: string;
361
+ };
362
+ };
363
+ };
364
+ quorum_lost: {
365
+ description: string;
366
+ required: readonly ["lostAt"];
367
+ properties: {
368
+ lostAt: {
369
+ type: "string";
370
+ format: string;
371
+ };
372
+ };
373
+ };
374
+ quorum_restored: {
375
+ description: string;
376
+ required: readonly ["restoredAt", "directorId"];
377
+ properties: {
378
+ restoredAt: {
379
+ type: "string";
380
+ format: string;
381
+ };
382
+ directorId: {
383
+ type: "string";
384
+ description: string;
385
+ };
386
+ };
387
+ };
388
+ adjourn: {
389
+ description: string;
390
+ required: readonly ["closedAt"];
391
+ properties: {
392
+ closedAt: {
393
+ type: "string";
394
+ format: string;
395
+ };
396
+ minutesRef: {
397
+ type: "string";
398
+ description: string;
399
+ };
400
+ resolutionsPassed: {
401
+ type: "array";
402
+ items: {
403
+ type: "string";
404
+ };
405
+ };
406
+ adjournedTo: {
407
+ type: "string";
408
+ format: string;
409
+ nullable: true;
410
+ description: string;
411
+ };
412
+ };
413
+ };
414
+ update_seats: {
415
+ description: string;
416
+ required: readonly ["newAuthorizedSeats", "bylawAmendmentRef"];
417
+ properties: {
418
+ newAuthorizedSeats: {
419
+ type: "integer";
420
+ };
421
+ bylawAmendmentRef: {
422
+ type: "string";
423
+ };
424
+ };
425
+ };
426
+ };
427
+ definitions: {
428
+ Director: {
429
+ type: "object";
430
+ properties: {
431
+ directorId: {
432
+ type: "string";
433
+ };
434
+ name: {
435
+ type: "string";
436
+ };
437
+ email: {
438
+ type: "string";
439
+ };
440
+ termStart: {
441
+ type: "string";
442
+ format: string;
443
+ };
444
+ termEnd: {
445
+ type: "string";
446
+ format: string;
447
+ };
448
+ class: {
449
+ type: "string";
450
+ enum: readonly ["CLASS_I", "CLASS_II", "CLASS_III", "UNCLASSIFIED"];
451
+ };
452
+ status: {
453
+ type: "string";
454
+ enum: readonly ["ACTIVE", "RESIGNED", "REMOVED", "TERM_EXPIRED"];
455
+ };
456
+ isIndependent: {
457
+ type: "boolean";
458
+ description: string;
459
+ };
460
+ isChair: {
461
+ type: "boolean";
462
+ default: boolean;
463
+ };
464
+ isLeadIndependent: {
465
+ type: "boolean";
466
+ default: boolean;
467
+ };
468
+ committees: {
469
+ type: "array";
470
+ items: {
471
+ type: "string";
472
+ };
473
+ description: string;
474
+ };
475
+ electedBy: {
476
+ type: "string";
477
+ description: string;
478
+ };
479
+ compensationAgreementRef: {
480
+ type: "string";
481
+ nullable: true;
482
+ };
483
+ };
484
+ };
485
+ Meeting: {
486
+ type: "object";
487
+ nullable: true;
488
+ properties: {
489
+ meetingId: {
490
+ type: "string";
491
+ };
492
+ type: {
493
+ type: "string";
494
+ enum: readonly ["REGULAR", "SPECIAL", "ANNUAL", "ORGANIZATIONAL"];
495
+ };
496
+ scheduledDate: {
497
+ type: "string";
498
+ format: string;
499
+ };
500
+ location: {
501
+ type: "string";
502
+ };
503
+ isVirtual: {
504
+ type: "boolean";
505
+ };
506
+ calledBy: {
507
+ type: "string";
508
+ };
509
+ noticeDate: {
510
+ type: "string";
511
+ format: string;
512
+ };
513
+ agenda: {
514
+ type: "array";
515
+ items: {
516
+ type: "string";
517
+ };
518
+ };
519
+ attendees: {
520
+ type: "array";
521
+ items: {
522
+ $ref: string;
523
+ };
524
+ };
525
+ quorumPresent: {
526
+ type: "boolean";
527
+ };
528
+ quorumCount: {
529
+ type: "integer";
530
+ };
531
+ openedAt: {
532
+ type: "string";
533
+ format: string;
534
+ nullable: true;
535
+ };
536
+ closedAt: {
537
+ type: "string";
538
+ format: string;
539
+ nullable: true;
540
+ };
541
+ minutesRef: {
542
+ type: "string";
543
+ nullable: true;
544
+ };
545
+ };
546
+ };
547
+ Attendee: {
548
+ type: "object";
549
+ properties: {
550
+ directorId: {
551
+ type: "string";
552
+ };
553
+ present: {
554
+ type: "boolean";
555
+ };
556
+ arrivedAt: {
557
+ type: "string";
558
+ format: string;
559
+ nullable: true;
560
+ };
561
+ departedAt: {
562
+ type: "string";
563
+ format: string;
564
+ nullable: true;
565
+ };
566
+ viaProxy: {
567
+ type: "boolean";
568
+ default: boolean;
569
+ };
570
+ };
571
+ };
572
+ MeetingRecord: {
573
+ type: "object";
574
+ properties: {
575
+ meetingId: {
576
+ type: "string";
577
+ };
578
+ type: {
579
+ type: "string";
580
+ };
581
+ date: {
582
+ type: "string";
583
+ format: string;
584
+ };
585
+ quorumAchieved: {
586
+ type: "boolean";
587
+ };
588
+ attendeeCount: {
589
+ type: "integer";
590
+ };
591
+ resolutionsPassed: {
592
+ type: "array";
593
+ items: {
594
+ type: "string";
595
+ };
596
+ };
597
+ minutesRef: {
598
+ type: "string";
599
+ };
600
+ };
601
+ };
602
+ };
603
+ states: {
604
+ ACTIVE: {
605
+ id: string;
606
+ isFinal: false;
607
+ description: string;
608
+ };
609
+ IN_MEETING: {
610
+ id: string;
611
+ isFinal: false;
612
+ description: string;
613
+ };
614
+ QUORUM_LOST: {
615
+ id: string;
616
+ isFinal: false;
617
+ description: string;
618
+ };
619
+ };
620
+ initialState: "ACTIVE";
621
+ transitions: ({
622
+ from: "ACTIVE";
623
+ to: "ACTIVE";
624
+ eventName: "elect_director";
625
+ guard: {
626
+ and: ({
627
+ or: ({
628
+ ">": (number | {
629
+ var: string;
630
+ })[];
631
+ "=="?: undefined;
632
+ } | {
633
+ "==": (boolean | {
634
+ var: string;
635
+ })[];
636
+ ">"?: undefined;
637
+ })[];
638
+ "!="?: undefined;
639
+ "!"?: undefined;
640
+ } | {
641
+ "!=": ({
642
+ var: string;
643
+ } | null)[];
644
+ or?: undefined;
645
+ "!"?: undefined;
646
+ } | {
647
+ "!": {
648
+ some: ({
649
+ var: string;
650
+ and?: undefined;
651
+ } | {
652
+ and: {
653
+ "==": (string | {
654
+ var: string;
655
+ })[];
656
+ }[];
657
+ var?: undefined;
658
+ })[];
659
+ };
660
+ or?: undefined;
661
+ "!="?: undefined;
662
+ })[];
663
+ some?: undefined;
664
+ "=="?: undefined;
665
+ ">="?: undefined;
666
+ };
667
+ effect: {
668
+ merge: ({
669
+ var: string;
670
+ directors?: undefined;
671
+ seats?: undefined;
672
+ } | {
673
+ directors: {
674
+ cat: ({
675
+ var: string;
676
+ } | {
677
+ directorId: {
678
+ var: string;
679
+ };
680
+ name: {
681
+ var: string;
682
+ };
683
+ email: {
684
+ var: string;
685
+ };
686
+ termStart: {
687
+ var: string;
688
+ };
689
+ termEnd: {
690
+ var: string;
691
+ };
692
+ class: {
693
+ var: string;
694
+ };
695
+ status: string;
696
+ isIndependent: {
697
+ var: string;
698
+ };
699
+ isChair: boolean;
700
+ isLeadIndependent: boolean;
701
+ committees: never[];
702
+ electedBy: {
703
+ var: string;
704
+ };
705
+ }[])[];
706
+ };
707
+ seats: {
708
+ merge: ({
709
+ var: string;
710
+ filled?: undefined;
711
+ vacant?: undefined;
712
+ } | {
713
+ filled: {
714
+ "+": (number | {
715
+ var: string;
716
+ })[];
717
+ };
718
+ vacant: {
719
+ "-": (number | {
720
+ var: string;
721
+ })[];
722
+ };
723
+ var?: undefined;
724
+ })[];
725
+ };
726
+ var?: undefined;
727
+ })[];
728
+ };
729
+ emits: string[];
730
+ dependencies?: undefined;
731
+ } | {
732
+ from: "ACTIVE";
733
+ to: "ACTIVE";
734
+ eventName: "resign_director";
735
+ guard: {
736
+ some: ({
737
+ var: string;
738
+ and?: undefined;
739
+ } | {
740
+ and: {
741
+ "==": (string | {
742
+ var: string;
743
+ })[];
744
+ }[];
745
+ var?: undefined;
746
+ })[];
747
+ and?: undefined;
748
+ "=="?: undefined;
749
+ ">="?: undefined;
750
+ };
751
+ effect: {
752
+ merge: ({
753
+ var: string;
754
+ directors?: undefined;
755
+ seats?: undefined;
756
+ } | {
757
+ directors: {
758
+ map: ({
759
+ var: string;
760
+ if?: undefined;
761
+ } | {
762
+ if: ({
763
+ "==": {
764
+ var: string;
765
+ }[];
766
+ merge?: undefined;
767
+ var?: undefined;
768
+ } | {
769
+ merge: ({
770
+ var: string;
771
+ status?: undefined;
772
+ termEnd?: undefined;
773
+ } | {
774
+ status: string;
775
+ termEnd: {
776
+ var: string;
777
+ };
778
+ var?: undefined;
779
+ })[];
780
+ "=="?: undefined;
781
+ var?: undefined;
782
+ } | {
783
+ var: string;
784
+ "=="?: undefined;
785
+ merge?: undefined;
786
+ })[];
787
+ var?: undefined;
788
+ })[];
789
+ };
790
+ seats: {
791
+ merge: ({
792
+ var: string;
793
+ filled?: undefined;
794
+ vacant?: undefined;
795
+ } | {
796
+ filled: {
797
+ "-": (number | {
798
+ var: string;
799
+ })[];
800
+ };
801
+ vacant: {
802
+ "+": (number | {
803
+ var: string;
804
+ })[];
805
+ };
806
+ var?: undefined;
807
+ })[];
808
+ };
809
+ var?: undefined;
810
+ })[];
811
+ };
812
+ emits: string[];
813
+ dependencies?: undefined;
814
+ } | {
815
+ from: "IN_MEETING";
816
+ to: "ACTIVE";
817
+ eventName: "resign_director";
818
+ guard: {
819
+ some: ({
820
+ var: string;
821
+ and?: undefined;
822
+ } | {
823
+ and: {
824
+ "==": (string | {
825
+ var: string;
826
+ })[];
827
+ }[];
828
+ var?: undefined;
829
+ })[];
830
+ and?: undefined;
831
+ "=="?: undefined;
832
+ ">="?: undefined;
833
+ };
834
+ effect: {
835
+ merge: ({
836
+ var: string;
837
+ directors?: undefined;
838
+ seats?: undefined;
839
+ } | {
840
+ directors: {
841
+ map: ({
842
+ var: string;
843
+ if?: undefined;
844
+ } | {
845
+ if: ({
846
+ "==": {
847
+ var: string;
848
+ }[];
849
+ merge?: undefined;
850
+ var?: undefined;
851
+ } | {
852
+ merge: ({
853
+ var: string;
854
+ status?: undefined;
855
+ termEnd?: undefined;
856
+ } | {
857
+ status: string;
858
+ termEnd: {
859
+ var: string;
860
+ };
861
+ var?: undefined;
862
+ })[];
863
+ "=="?: undefined;
864
+ var?: undefined;
865
+ } | {
866
+ var: string;
867
+ "=="?: undefined;
868
+ merge?: undefined;
869
+ })[];
870
+ var?: undefined;
871
+ })[];
872
+ };
873
+ seats: {
874
+ merge: ({
875
+ var: string;
876
+ filled?: undefined;
877
+ vacant?: undefined;
878
+ } | {
879
+ filled: {
880
+ "-": (number | {
881
+ var: string;
882
+ })[];
883
+ };
884
+ vacant: {
885
+ "+": (number | {
886
+ var: string;
887
+ })[];
888
+ };
889
+ var?: undefined;
890
+ })[];
891
+ };
892
+ var?: undefined;
893
+ })[];
894
+ };
895
+ emits: string[];
896
+ dependencies?: undefined;
897
+ } | {
898
+ from: "ACTIVE";
899
+ to: "ACTIVE";
900
+ eventName: "remove_for_cause";
901
+ guard: {
902
+ some: ({
903
+ var: string;
904
+ and?: undefined;
905
+ } | {
906
+ and: {
907
+ "==": (string | {
908
+ var: string;
909
+ })[];
910
+ }[];
911
+ var?: undefined;
912
+ })[];
913
+ and?: undefined;
914
+ "=="?: undefined;
915
+ ">="?: undefined;
916
+ };
917
+ dependencies: {
918
+ machine: string;
919
+ instanceRef: {
920
+ var: string;
921
+ };
922
+ requiredState: string;
923
+ }[];
924
+ effect: {
925
+ merge: ({
926
+ var: string;
927
+ directors?: undefined;
928
+ seats?: undefined;
929
+ } | {
930
+ directors: {
931
+ map: ({
932
+ var: string;
933
+ if?: undefined;
934
+ } | {
935
+ if: ({
936
+ "==": {
937
+ var: string;
938
+ }[];
939
+ merge?: undefined;
940
+ var?: undefined;
941
+ } | {
942
+ merge: ({
943
+ var: string;
944
+ status?: undefined;
945
+ termEnd?: undefined;
946
+ } | {
947
+ status: string;
948
+ termEnd: {
949
+ var: string;
950
+ };
951
+ var?: undefined;
952
+ })[];
953
+ "=="?: undefined;
954
+ var?: undefined;
955
+ } | {
956
+ var: string;
957
+ "=="?: undefined;
958
+ merge?: undefined;
959
+ })[];
960
+ var?: undefined;
961
+ })[];
962
+ };
963
+ seats: {
964
+ merge: ({
965
+ var: string;
966
+ filled?: undefined;
967
+ vacant?: undefined;
968
+ } | {
969
+ filled: {
970
+ "-": (number | {
971
+ var: string;
972
+ })[];
973
+ };
974
+ vacant: {
975
+ "+": (number | {
976
+ var: string;
977
+ })[];
978
+ };
979
+ var?: undefined;
980
+ })[];
981
+ };
982
+ var?: undefined;
983
+ })[];
984
+ };
985
+ emits: string[];
986
+ } | {
987
+ from: "ACTIVE";
988
+ to: "ACTIVE";
989
+ eventName: "designate_chair";
990
+ guard: {
991
+ some: ({
992
+ var: string;
993
+ and?: undefined;
994
+ } | {
995
+ and: {
996
+ "==": (string | {
997
+ var: string;
998
+ })[];
999
+ }[];
1000
+ var?: undefined;
1001
+ })[];
1002
+ and?: undefined;
1003
+ "=="?: undefined;
1004
+ ">="?: undefined;
1005
+ };
1006
+ effect: {
1007
+ merge: ({
1008
+ var: string;
1009
+ directors?: undefined;
1010
+ } | {
1011
+ directors: {
1012
+ map: ({
1013
+ var: string;
1014
+ merge?: undefined;
1015
+ } | {
1016
+ merge: ({
1017
+ var: string;
1018
+ isChair?: undefined;
1019
+ } | {
1020
+ isChair: {
1021
+ "==": {
1022
+ var: string;
1023
+ }[];
1024
+ };
1025
+ var?: undefined;
1026
+ })[];
1027
+ var?: undefined;
1028
+ })[];
1029
+ };
1030
+ var?: undefined;
1031
+ })[];
1032
+ };
1033
+ emits?: undefined;
1034
+ dependencies?: undefined;
1035
+ } | {
1036
+ from: "ACTIVE";
1037
+ to: "ACTIVE";
1038
+ eventName: "call_meeting";
1039
+ guard: {
1040
+ and: ({
1041
+ or: ({
1042
+ "==": (boolean | {
1043
+ var: string;
1044
+ })[];
1045
+ ">="?: undefined;
1046
+ } | {
1047
+ ">=": (number | {
1048
+ "-": {
1049
+ var: string;
1050
+ }[];
1051
+ })[];
1052
+ "=="?: undefined;
1053
+ })[];
1054
+ } | {
1055
+ or: ({
1056
+ "==": ({
1057
+ var: string;
1058
+ } | null)[];
1059
+ "!="?: undefined;
1060
+ } | {
1061
+ "!=": ({
1062
+ var: string;
1063
+ } | null)[];
1064
+ "=="?: undefined;
1065
+ })[];
1066
+ })[];
1067
+ some?: undefined;
1068
+ "=="?: undefined;
1069
+ ">="?: undefined;
1070
+ };
1071
+ effect: {
1072
+ merge: ({
1073
+ var: string;
1074
+ currentMeeting?: undefined;
1075
+ } | {
1076
+ currentMeeting: {
1077
+ meetingId: {
1078
+ var: string;
1079
+ };
1080
+ type: {
1081
+ var: string;
1082
+ };
1083
+ scheduledDate: {
1084
+ var: string;
1085
+ };
1086
+ location: {
1087
+ var: string;
1088
+ };
1089
+ isVirtual: {
1090
+ var: string;
1091
+ };
1092
+ calledBy: {
1093
+ var: string;
1094
+ };
1095
+ noticeDate: {
1096
+ var: string;
1097
+ };
1098
+ agenda: {
1099
+ var: string;
1100
+ };
1101
+ attendees: never[];
1102
+ quorumPresent: boolean;
1103
+ quorumCount: number;
1104
+ };
1105
+ var?: undefined;
1106
+ })[];
1107
+ };
1108
+ emits: string[];
1109
+ dependencies?: undefined;
1110
+ } | {
1111
+ from: "ACTIVE";
1112
+ to: "ACTIVE";
1113
+ eventName: "record_attendance";
1114
+ guard: {
1115
+ and: ({
1116
+ "!=": ({
1117
+ var: string;
1118
+ } | null)[];
1119
+ "=="?: undefined;
1120
+ some?: undefined;
1121
+ } | {
1122
+ "==": ({
1123
+ var: string;
1124
+ } | null)[];
1125
+ "!="?: undefined;
1126
+ some?: undefined;
1127
+ } | {
1128
+ some: ({
1129
+ var: string;
1130
+ and?: undefined;
1131
+ } | {
1132
+ and: {
1133
+ "==": (string | {
1134
+ var: string;
1135
+ })[];
1136
+ }[];
1137
+ var?: undefined;
1138
+ })[];
1139
+ "!="?: undefined;
1140
+ "=="?: undefined;
1141
+ })[];
1142
+ some?: undefined;
1143
+ "=="?: undefined;
1144
+ ">="?: undefined;
1145
+ };
1146
+ effect: {
1147
+ merge: ({
1148
+ var: string;
1149
+ currentMeeting?: undefined;
1150
+ } | {
1151
+ currentMeeting: {
1152
+ merge: ({
1153
+ var: string;
1154
+ attendees?: undefined;
1155
+ } | {
1156
+ attendees: {
1157
+ cat: ({
1158
+ var: string;
1159
+ } | {
1160
+ directorId: {
1161
+ var: string;
1162
+ };
1163
+ present: {
1164
+ var: string;
1165
+ };
1166
+ arrivedAt: {
1167
+ var: string;
1168
+ };
1169
+ viaProxy: boolean;
1170
+ }[])[];
1171
+ };
1172
+ var?: undefined;
1173
+ })[];
1174
+ };
1175
+ var?: undefined;
1176
+ })[];
1177
+ };
1178
+ emits?: undefined;
1179
+ dependencies?: undefined;
1180
+ } | {
1181
+ from: "ACTIVE";
1182
+ to: "IN_MEETING";
1183
+ eventName: "open_meeting";
1184
+ guard: {
1185
+ and: ({
1186
+ "!=": ({
1187
+ var: string;
1188
+ } | null)[];
1189
+ "=="?: undefined;
1190
+ } | {
1191
+ "==": ({
1192
+ var: string;
1193
+ } | null)[];
1194
+ "!="?: undefined;
1195
+ } | {
1196
+ "==": (boolean | {
1197
+ var: string;
1198
+ })[];
1199
+ "!="?: undefined;
1200
+ })[];
1201
+ some?: undefined;
1202
+ "=="?: undefined;
1203
+ ">="?: undefined;
1204
+ };
1205
+ effect: {
1206
+ merge: ({
1207
+ var: string;
1208
+ status?: undefined;
1209
+ currentMeeting?: undefined;
1210
+ } | {
1211
+ status: string;
1212
+ currentMeeting: {
1213
+ merge: ({
1214
+ var: string;
1215
+ openedAt?: undefined;
1216
+ } | {
1217
+ openedAt: {
1218
+ var: string;
1219
+ };
1220
+ var?: undefined;
1221
+ })[];
1222
+ };
1223
+ var?: undefined;
1224
+ })[];
1225
+ };
1226
+ emits: string[];
1227
+ dependencies?: undefined;
1228
+ } | {
1229
+ from: "IN_MEETING";
1230
+ to: "IN_MEETING";
1231
+ eventName: "director_departs";
1232
+ guard: {
1233
+ "==": number[];
1234
+ and?: undefined;
1235
+ some?: undefined;
1236
+ ">="?: undefined;
1237
+ };
1238
+ effect: {
1239
+ merge: ({
1240
+ var: string;
1241
+ currentMeeting?: undefined;
1242
+ } | {
1243
+ currentMeeting: {
1244
+ merge: ({
1245
+ var: string;
1246
+ attendees?: undefined;
1247
+ } | {
1248
+ attendees: {
1249
+ map: ({
1250
+ var: string;
1251
+ if?: undefined;
1252
+ } | {
1253
+ if: ({
1254
+ "==": {
1255
+ var: string;
1256
+ }[];
1257
+ merge?: undefined;
1258
+ var?: undefined;
1259
+ } | {
1260
+ merge: ({
1261
+ var: string;
1262
+ present?: undefined;
1263
+ departedAt?: undefined;
1264
+ } | {
1265
+ present: boolean;
1266
+ departedAt: {
1267
+ var: string;
1268
+ };
1269
+ var?: undefined;
1270
+ })[];
1271
+ "=="?: undefined;
1272
+ var?: undefined;
1273
+ } | {
1274
+ var: string;
1275
+ "=="?: undefined;
1276
+ merge?: undefined;
1277
+ })[];
1278
+ var?: undefined;
1279
+ })[];
1280
+ };
1281
+ var?: undefined;
1282
+ })[];
1283
+ };
1284
+ var?: undefined;
1285
+ })[];
1286
+ };
1287
+ emits?: undefined;
1288
+ dependencies?: undefined;
1289
+ } | {
1290
+ from: "IN_MEETING";
1291
+ to: "QUORUM_LOST";
1292
+ eventName: "quorum_lost";
1293
+ guard: {
1294
+ "==": (boolean | {
1295
+ var: string;
1296
+ })[];
1297
+ and?: undefined;
1298
+ some?: undefined;
1299
+ ">="?: undefined;
1300
+ };
1301
+ effect: {
1302
+ merge: ({
1303
+ var: string;
1304
+ status?: undefined;
1305
+ } | {
1306
+ status: string;
1307
+ var?: undefined;
1308
+ })[];
1309
+ };
1310
+ emits: string[];
1311
+ dependencies?: undefined;
1312
+ } | {
1313
+ from: "QUORUM_LOST";
1314
+ to: "IN_MEETING";
1315
+ eventName: "quorum_restored";
1316
+ guard: {
1317
+ "==": (boolean | {
1318
+ var: string;
1319
+ })[];
1320
+ and?: undefined;
1321
+ some?: undefined;
1322
+ ">="?: undefined;
1323
+ };
1324
+ effect: {
1325
+ merge: ({
1326
+ var: string;
1327
+ status?: undefined;
1328
+ } | {
1329
+ status: string;
1330
+ var?: undefined;
1331
+ })[];
1332
+ };
1333
+ emits: string[];
1334
+ dependencies?: undefined;
1335
+ } | {
1336
+ from: "IN_MEETING";
1337
+ to: "ACTIVE";
1338
+ eventName: "adjourn";
1339
+ guard: {
1340
+ "==": number[];
1341
+ and?: undefined;
1342
+ some?: undefined;
1343
+ ">="?: undefined;
1344
+ };
1345
+ effect: {
1346
+ merge: ({
1347
+ var: string;
1348
+ status?: undefined;
1349
+ currentMeeting?: undefined;
1350
+ meetingHistory?: undefined;
1351
+ } | {
1352
+ status: string;
1353
+ currentMeeting: null;
1354
+ meetingHistory: {
1355
+ cat: ({
1356
+ var: string;
1357
+ } | {
1358
+ meetingId: {
1359
+ var: string;
1360
+ };
1361
+ type: {
1362
+ var: string;
1363
+ };
1364
+ date: {
1365
+ var: string;
1366
+ };
1367
+ quorumAchieved: {
1368
+ var: string;
1369
+ };
1370
+ attendeeCount: {
1371
+ var: string;
1372
+ };
1373
+ resolutionsPassed: {
1374
+ var: string;
1375
+ };
1376
+ minutesRef: {
1377
+ var: string;
1378
+ };
1379
+ }[])[];
1380
+ };
1381
+ var?: undefined;
1382
+ })[];
1383
+ };
1384
+ emits: string[];
1385
+ dependencies?: undefined;
1386
+ } | {
1387
+ from: "QUORUM_LOST";
1388
+ to: "ACTIVE";
1389
+ eventName: "adjourn";
1390
+ guard: {
1391
+ "==": number[];
1392
+ and?: undefined;
1393
+ some?: undefined;
1394
+ ">="?: undefined;
1395
+ };
1396
+ effect: {
1397
+ merge: ({
1398
+ var: string;
1399
+ status?: undefined;
1400
+ currentMeeting?: undefined;
1401
+ meetingHistory?: undefined;
1402
+ } | {
1403
+ status: string;
1404
+ currentMeeting: null;
1405
+ meetingHistory: {
1406
+ cat: ({
1407
+ var: string;
1408
+ } | {
1409
+ meetingId: {
1410
+ var: string;
1411
+ };
1412
+ type: {
1413
+ var: string;
1414
+ };
1415
+ date: {
1416
+ var: string;
1417
+ };
1418
+ quorumAchieved: {
1419
+ var: string;
1420
+ };
1421
+ attendeeCount: {
1422
+ var: string;
1423
+ };
1424
+ resolutionsPassed: {
1425
+ var: string;
1426
+ };
1427
+ minutesRef: {
1428
+ var: string;
1429
+ };
1430
+ }[])[];
1431
+ };
1432
+ var?: undefined;
1433
+ })[];
1434
+ };
1435
+ emits: string[];
1436
+ dependencies?: undefined;
1437
+ } | {
1438
+ from: "ACTIVE";
1439
+ to: "ACTIVE";
1440
+ eventName: "update_seats";
1441
+ guard: {
1442
+ ">=": {
1443
+ var: string;
1444
+ }[];
1445
+ and?: undefined;
1446
+ some?: undefined;
1447
+ "=="?: undefined;
1448
+ };
1449
+ effect: {
1450
+ merge: ({
1451
+ var: string;
1452
+ seats?: undefined;
1453
+ } | {
1454
+ seats: {
1455
+ merge: ({
1456
+ var: string;
1457
+ authorized?: undefined;
1458
+ vacant?: undefined;
1459
+ } | {
1460
+ authorized: {
1461
+ var: string;
1462
+ };
1463
+ vacant: {
1464
+ "-": {
1465
+ var: string;
1466
+ }[];
1467
+ };
1468
+ var?: undefined;
1469
+ })[];
1470
+ };
1471
+ var?: undefined;
1472
+ })[];
1473
+ };
1474
+ emits?: undefined;
1475
+ dependencies?: undefined;
1476
+ })[];
1477
+ };
1478
+ export type CorpBoardState = keyof typeof corpBoardDef.states;
1479
+ export type CorpBoardEvent = (typeof corpBoardDef.transitions)[number]["eventName"];