@cynodia/axiom-server 0.15.0-alpha.1 → 0.15.0-alpha.3
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/conformance/authenticated-client-rejects-system-only-action.json +1 -1
- package/conformance/authorization/action-allow-deny-anonymous.json +337 -1
- package/conformance/authorization/constant-deny-policy.json +337 -1
- package/conformance/authorization/legacy-action-constant-public.json +1020 -0
- package/conformance/authorization/legacy-action-neq-absent-deny.json +1049 -0
- package/conformance/authorization/legacy-action-not-eq-absent-deny.json +1049 -0
- package/conformance/authorization/legacy-action-positive-role.json +1049 -0
- package/conformance/authorization/legacy-plus-policy-absent-conjunction.json +1040 -0
- package/conformance/authorization/live-query-resume.json +337 -1
- package/conformance/authorization/manifest.json +66 -1
- package/conformance/authorization/operation-scope.json +337 -1
- package/conformance/authorization/pt2-deny-list-absent-value.json +1048 -0
- package/conformance/authorization/pt2-owner-both-absent.json +1039 -0
- package/conformance/authorization/query-public-preserved.json +337 -1
- package/conformance/authorization/query-tenant-isolation.json +337 -1
- package/conformance/authorization/workflow-cancellation-owner.json +337 -1
- package/conformance/authorization/workflow-cancellation-policy.json +337 -1
- package/conformance/authorization/workflow-inspection.json +337 -1
- package/conformance/authorization/workflow-start.json +337 -1
- package/conformance/effect-retry-sequence.json +1 -1
- package/conformance/effect-success-event.json +1 -1
- package/conformance/event-payload-invalid.json +1 -1
- package/conformance/failed-effect-structured-outcome.json +1 -1
- package/conformance/integration-query-success.json +1 -1
- package/conformance/integration-query-timeout.json +1 -1
- package/conformance/late-query-rejection-after-timeout.json +1 -1
- package/conformance/late-query-result-after-timeout.json +1 -1
- package/conformance/live/aggregate-reset.json +1 -1
- package/conformance/live/dependency-commit-no-change.json +1 -1
- package/conformance/live/f2-state-ref-refused.json +1 -1
- package/conformance/live/initial-result.json +1 -1
- package/conformance/live/insert-on-filter-entry.json +1 -1
- package/conformance/live/limit-boundary.json +1 -1
- package/conformance/live/manifest.json +1 -1
- package/conformance/live/not-live-capable.json +1 -1
- package/conformance/live/provider-only-sequence.json +1 -1
- package/conformance/live/provider-record-remove.json +1 -1
- package/conformance/live/remove-on-filter-exit.json +1 -1
- package/conformance/live/update-with-move.json +1 -1
- package/conformance/live/update-without-move.json +1 -1
- package/conformance/manifest.json +1 -1
- package/conformance/migrations/add-optional-field.json +1 -1
- package/conformance/migrations/add-required-field-with-default.json +1 -1
- package/conformance/migrations/crash-and-resume.json +1 -1
- package/conformance/migrations/destructive-removal-approved.json +1 -1
- package/conformance/migrations/destructive-removal-refused.json +1 -1
- package/conformance/migrations/idempotent-rerun.json +1 -1
- package/conformance/migrations/invalid-target-record.json +1 -1
- package/conformance/migrations/large-batched-transformation.json +1 -1
- package/conformance/migrations/manifest.json +1 -1
- package/conformance/migrations/metadata-only-change.json +1 -1
- package/conformance/migrations/migration-lock.json +1 -1
- package/conformance/migrations/missing-migration-path.json +1 -1
- package/conformance/migrations/record-transformation.json +1 -1
- package/conformance/migrations/relationship-addition.json +1 -1
- package/conformance/migrations/remove-empty-field.json +1 -1
- package/conformance/migrations/schema-fingerprint-mismatch.json +1 -1
- package/conformance/migrations/transform-field.json +1 -1
- package/conformance/queries/aggregate-under-policy.json +1 -1
- package/conformance/queries/count-aggregate.json +1 -1
- package/conformance/queries/cursor-page-1.json +1 -1
- package/conformance/queries/cursor-page-2.json +1 -1
- package/conformance/queries/filter-compound.json +1 -1
- package/conformance/queries/filter-equality.json +1 -1
- package/conformance/queries/grouped-sum.json +1 -1
- package/conformance/queries/invalid-cursor.json +1 -1
- package/conformance/queries/manifest.json +1 -1
- package/conformance/queries/multi-key-sort.json +1 -1
- package/conformance/queries/null-ordering.json +1 -1
- package/conformance/queries/projection-shape.json +1 -1
- package/conformance/queries/query-inside-transaction.json +1 -1
- package/conformance/queries/relationship-under-policy.json +1 -1
- package/conformance/queries/row-read-policy.json +1 -1
- package/conformance/queries/stable-ordering.json +1 -1
- package/conformance/queries/to-one-relationship.json +1 -1
- package/conformance/rolled-back-action-produces-no-effect.json +1 -1
- package/conformance/simultaneous-same-instant-triggers-both-commit.json +1 -1
- package/conformance/system-only-action-rejects-client.json +1 -1
- package/conformance/timed-trigger-polling.json +1 -1
- package/conformance/verified-external-event-invokes-system-only-action.json +1 -1
- package/conformance/workflow/manifest.json +1 -1
- package/conformance/workflow/workflow-action-on-error.json +1 -1
- package/conformance/workflow/workflow-action-retry.json +1 -1
- package/conformance/workflow/workflow-action-success.json +1 -1
- package/conformance/workflow/workflow-action-terminal-failure.json +1 -1
- package/conformance/workflow/workflow-branch-false.json +1 -1
- package/conformance/workflow/workflow-branch-true.json +1 -1
- package/conformance/workflow/workflow-cancel-waiting.json +1 -1
- package/conformance/workflow/workflow-event-match.json +1 -1
- package/conformance/workflow/workflow-event-nonmatch.json +1 -1
- package/conformance/workflow/workflow-event-timeout.json +1 -1
- package/conformance/workflow/workflow-start-complete.json +1 -1
- package/conformance/workflow/workflow-start-idempotency.json +1 -1
- package/conformance/workflow/workflow-timer.json +1 -1
- package/dist/authority-identity.d.ts +18 -0
- package/dist/authority-identity.js +26 -1
- package/dist/deps.d.ts +1 -1
- package/dist/deps.js +1 -1
- package/dist/server.js +103 -37
- package/dist/workflows.d.ts +7 -0
- package/dist/workflows.js +11 -3
- package/package.json +3 -3
- package/schema/protocol.v1.schema.json +1 -1
- package/schema/server-ir.v1.schema.json +1 -1
- package/schema/server-ir.v2.schema.json +1 -1
- package/schema/server-ir.v3.schema.json +1 -1
- package/schema/server-ir.v4.schema.json +1 -1
- package/schema/server-ir.v5.schema.json +1 -1
- package/schema/server-ir.v6.schema.json +1 -1
- package/schema/server-ir.v7.schema.json +1 -1
- package/schema/server-ir.v8.schema.json +1 -1
- package/schema/server-ir.v9.schema.json +1 -1
|
@@ -58,6 +58,15 @@
|
|
|
58
58
|
"field_user_id": "u-nob",
|
|
59
59
|
"field_user_role": "viewer",
|
|
60
60
|
"field_user_tenant": "t1"
|
|
61
|
+
},
|
|
62
|
+
"banned": {
|
|
63
|
+
"field_user_id": "u-ban",
|
|
64
|
+
"field_user_role": "banned",
|
|
65
|
+
"field_user_tenant": "t1"
|
|
66
|
+
},
|
|
67
|
+
"norole": {
|
|
68
|
+
"field_user_id": "u-nr",
|
|
69
|
+
"field_user_tenant": "t1"
|
|
61
70
|
}
|
|
62
71
|
},
|
|
63
72
|
"steps": [
|
|
@@ -94,7 +103,7 @@
|
|
|
94
103
|
"contract": "axiom.server.v9",
|
|
95
104
|
"id": "authz-conformance",
|
|
96
105
|
"name": "Authorization Conformance",
|
|
97
|
-
"version": "0.15.0-alpha.
|
|
106
|
+
"version": "0.15.0-alpha.3",
|
|
98
107
|
"entities": [
|
|
99
108
|
{
|
|
100
109
|
"id": "entity_user",
|
|
@@ -147,6 +156,14 @@
|
|
|
147
156
|
"primitive": "string"
|
|
148
157
|
},
|
|
149
158
|
"required": true
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "field_doc_owner",
|
|
162
|
+
"valueType": {
|
|
163
|
+
"kind": "primitive",
|
|
164
|
+
"primitive": "string"
|
|
165
|
+
},
|
|
166
|
+
"required": false
|
|
150
167
|
}
|
|
151
168
|
]
|
|
152
169
|
},
|
|
@@ -236,6 +253,17 @@
|
|
|
236
253
|
"required": true
|
|
237
254
|
}
|
|
238
255
|
},
|
|
256
|
+
"field_doc_owner": {
|
|
257
|
+
"entityId": "entity_doc",
|
|
258
|
+
"field": {
|
|
259
|
+
"id": "field_doc_owner",
|
|
260
|
+
"valueType": {
|
|
261
|
+
"kind": "primitive",
|
|
262
|
+
"primitive": "string"
|
|
263
|
+
},
|
|
264
|
+
"required": false
|
|
265
|
+
}
|
|
266
|
+
},
|
|
239
267
|
"field_note_id": {
|
|
240
268
|
"entityId": "entity_note",
|
|
241
269
|
"field": {
|
|
@@ -383,6 +411,62 @@
|
|
|
383
411
|
"preconditions": [],
|
|
384
412
|
"failureModes": []
|
|
385
413
|
},
|
|
414
|
+
"action_denylist": {
|
|
415
|
+
"id": "action_denylist",
|
|
416
|
+
"kind": "action",
|
|
417
|
+
"authorizationPolicy": "policy_denylist",
|
|
418
|
+
"operations": [
|
|
419
|
+
{
|
|
420
|
+
"kind": "set",
|
|
421
|
+
"target": {
|
|
422
|
+
"kind": "state",
|
|
423
|
+
"stateId": "state_count"
|
|
424
|
+
},
|
|
425
|
+
"value": {
|
|
426
|
+
"kind": "binary",
|
|
427
|
+
"operator": "add",
|
|
428
|
+
"left": {
|
|
429
|
+
"kind": "ref",
|
|
430
|
+
"targetId": "state_count"
|
|
431
|
+
},
|
|
432
|
+
"right": {
|
|
433
|
+
"kind": "literal",
|
|
434
|
+
"value": 1
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
],
|
|
439
|
+
"preconditions": [],
|
|
440
|
+
"failureModes": []
|
|
441
|
+
},
|
|
442
|
+
"action_owner": {
|
|
443
|
+
"id": "action_owner",
|
|
444
|
+
"kind": "action",
|
|
445
|
+
"authorizationPolicy": "policy_owner",
|
|
446
|
+
"operations": [
|
|
447
|
+
{
|
|
448
|
+
"kind": "set",
|
|
449
|
+
"target": {
|
|
450
|
+
"kind": "state",
|
|
451
|
+
"stateId": "state_count"
|
|
452
|
+
},
|
|
453
|
+
"value": {
|
|
454
|
+
"kind": "binary",
|
|
455
|
+
"operator": "add",
|
|
456
|
+
"left": {
|
|
457
|
+
"kind": "ref",
|
|
458
|
+
"targetId": "state_count"
|
|
459
|
+
},
|
|
460
|
+
"right": {
|
|
461
|
+
"kind": "literal",
|
|
462
|
+
"value": 1
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
],
|
|
467
|
+
"preconditions": [],
|
|
468
|
+
"failureModes": []
|
|
469
|
+
},
|
|
386
470
|
"action_step": {
|
|
387
471
|
"id": "action_step",
|
|
388
472
|
"kind": "action",
|
|
@@ -414,6 +498,214 @@
|
|
|
414
498
|
],
|
|
415
499
|
"preconditions": [],
|
|
416
500
|
"failureModes": []
|
|
501
|
+
},
|
|
502
|
+
"action_legacy_neq": {
|
|
503
|
+
"id": "action_legacy_neq",
|
|
504
|
+
"kind": "action",
|
|
505
|
+
"authorization": {
|
|
506
|
+
"kind": "binary",
|
|
507
|
+
"operator": "neq",
|
|
508
|
+
"left": {
|
|
509
|
+
"kind": "field",
|
|
510
|
+
"source": {
|
|
511
|
+
"kind": "ref",
|
|
512
|
+
"targetId": "axiom_principal"
|
|
513
|
+
},
|
|
514
|
+
"fieldId": "field_user_role"
|
|
515
|
+
},
|
|
516
|
+
"right": {
|
|
517
|
+
"kind": "literal",
|
|
518
|
+
"value": "banned"
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
"operations": [
|
|
522
|
+
{
|
|
523
|
+
"kind": "set",
|
|
524
|
+
"target": {
|
|
525
|
+
"kind": "state",
|
|
526
|
+
"stateId": "state_count"
|
|
527
|
+
},
|
|
528
|
+
"value": {
|
|
529
|
+
"kind": "binary",
|
|
530
|
+
"operator": "add",
|
|
531
|
+
"left": {
|
|
532
|
+
"kind": "ref",
|
|
533
|
+
"targetId": "state_count"
|
|
534
|
+
},
|
|
535
|
+
"right": {
|
|
536
|
+
"kind": "literal",
|
|
537
|
+
"value": 1
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
],
|
|
542
|
+
"preconditions": [],
|
|
543
|
+
"failureModes": []
|
|
544
|
+
},
|
|
545
|
+
"action_legacy_noteq": {
|
|
546
|
+
"id": "action_legacy_noteq",
|
|
547
|
+
"kind": "action",
|
|
548
|
+
"authorization": {
|
|
549
|
+
"kind": "unary",
|
|
550
|
+
"operator": "not",
|
|
551
|
+
"operand": {
|
|
552
|
+
"kind": "binary",
|
|
553
|
+
"operator": "eq",
|
|
554
|
+
"left": {
|
|
555
|
+
"kind": "field",
|
|
556
|
+
"source": {
|
|
557
|
+
"kind": "ref",
|
|
558
|
+
"targetId": "axiom_principal"
|
|
559
|
+
},
|
|
560
|
+
"fieldId": "field_user_role"
|
|
561
|
+
},
|
|
562
|
+
"right": {
|
|
563
|
+
"kind": "literal",
|
|
564
|
+
"value": "banned"
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"operations": [
|
|
569
|
+
{
|
|
570
|
+
"kind": "set",
|
|
571
|
+
"target": {
|
|
572
|
+
"kind": "state",
|
|
573
|
+
"stateId": "state_count"
|
|
574
|
+
},
|
|
575
|
+
"value": {
|
|
576
|
+
"kind": "binary",
|
|
577
|
+
"operator": "add",
|
|
578
|
+
"left": {
|
|
579
|
+
"kind": "ref",
|
|
580
|
+
"targetId": "state_count"
|
|
581
|
+
},
|
|
582
|
+
"right": {
|
|
583
|
+
"kind": "literal",
|
|
584
|
+
"value": 1
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
],
|
|
589
|
+
"preconditions": [],
|
|
590
|
+
"failureModes": []
|
|
591
|
+
},
|
|
592
|
+
"action_legacy_true": {
|
|
593
|
+
"id": "action_legacy_true",
|
|
594
|
+
"kind": "action",
|
|
595
|
+
"authorization": {
|
|
596
|
+
"kind": "literal",
|
|
597
|
+
"value": true
|
|
598
|
+
},
|
|
599
|
+
"operations": [
|
|
600
|
+
{
|
|
601
|
+
"kind": "set",
|
|
602
|
+
"target": {
|
|
603
|
+
"kind": "state",
|
|
604
|
+
"stateId": "state_count"
|
|
605
|
+
},
|
|
606
|
+
"value": {
|
|
607
|
+
"kind": "binary",
|
|
608
|
+
"operator": "add",
|
|
609
|
+
"left": {
|
|
610
|
+
"kind": "ref",
|
|
611
|
+
"targetId": "state_count"
|
|
612
|
+
},
|
|
613
|
+
"right": {
|
|
614
|
+
"kind": "literal",
|
|
615
|
+
"value": 1
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
],
|
|
620
|
+
"preconditions": [],
|
|
621
|
+
"failureModes": []
|
|
622
|
+
},
|
|
623
|
+
"action_legacy_admin": {
|
|
624
|
+
"id": "action_legacy_admin",
|
|
625
|
+
"kind": "action",
|
|
626
|
+
"authorization": {
|
|
627
|
+
"kind": "binary",
|
|
628
|
+
"operator": "eq",
|
|
629
|
+
"left": {
|
|
630
|
+
"kind": "field",
|
|
631
|
+
"source": {
|
|
632
|
+
"kind": "ref",
|
|
633
|
+
"targetId": "axiom_principal"
|
|
634
|
+
},
|
|
635
|
+
"fieldId": "field_user_role"
|
|
636
|
+
},
|
|
637
|
+
"right": {
|
|
638
|
+
"kind": "literal",
|
|
639
|
+
"value": "admin"
|
|
640
|
+
}
|
|
641
|
+
},
|
|
642
|
+
"operations": [
|
|
643
|
+
{
|
|
644
|
+
"kind": "set",
|
|
645
|
+
"target": {
|
|
646
|
+
"kind": "state",
|
|
647
|
+
"stateId": "state_count"
|
|
648
|
+
},
|
|
649
|
+
"value": {
|
|
650
|
+
"kind": "binary",
|
|
651
|
+
"operator": "add",
|
|
652
|
+
"left": {
|
|
653
|
+
"kind": "ref",
|
|
654
|
+
"targetId": "state_count"
|
|
655
|
+
},
|
|
656
|
+
"right": {
|
|
657
|
+
"kind": "literal",
|
|
658
|
+
"value": 1
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
],
|
|
663
|
+
"preconditions": [],
|
|
664
|
+
"failureModes": []
|
|
665
|
+
},
|
|
666
|
+
"action_legacy_plus_policy": {
|
|
667
|
+
"id": "action_legacy_plus_policy",
|
|
668
|
+
"kind": "action",
|
|
669
|
+
"authorization": {
|
|
670
|
+
"kind": "binary",
|
|
671
|
+
"operator": "neq",
|
|
672
|
+
"left": {
|
|
673
|
+
"kind": "field",
|
|
674
|
+
"source": {
|
|
675
|
+
"kind": "ref",
|
|
676
|
+
"targetId": "axiom_principal"
|
|
677
|
+
},
|
|
678
|
+
"fieldId": "field_user_role"
|
|
679
|
+
},
|
|
680
|
+
"right": {
|
|
681
|
+
"kind": "literal",
|
|
682
|
+
"value": "banned"
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
"authorizationPolicy": "policy_op",
|
|
686
|
+
"operations": [
|
|
687
|
+
{
|
|
688
|
+
"kind": "set",
|
|
689
|
+
"target": {
|
|
690
|
+
"kind": "state",
|
|
691
|
+
"stateId": "state_count"
|
|
692
|
+
},
|
|
693
|
+
"value": {
|
|
694
|
+
"kind": "binary",
|
|
695
|
+
"operator": "add",
|
|
696
|
+
"left": {
|
|
697
|
+
"kind": "ref",
|
|
698
|
+
"targetId": "state_count"
|
|
699
|
+
},
|
|
700
|
+
"right": {
|
|
701
|
+
"kind": "literal",
|
|
702
|
+
"value": 1
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
],
|
|
707
|
+
"preconditions": [],
|
|
708
|
+
"failureModes": []
|
|
417
709
|
}
|
|
418
710
|
},
|
|
419
711
|
"constraints": [],
|
|
@@ -594,6 +886,50 @@
|
|
|
594
886
|
"kind": "literal",
|
|
595
887
|
"value": false
|
|
596
888
|
}
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"id": "policy_denylist",
|
|
892
|
+
"kind": "authorization-policy",
|
|
893
|
+
"allow": {
|
|
894
|
+
"kind": "binary",
|
|
895
|
+
"operator": "neq",
|
|
896
|
+
"left": {
|
|
897
|
+
"kind": "field",
|
|
898
|
+
"source": {
|
|
899
|
+
"kind": "ref",
|
|
900
|
+
"targetId": "axiom_principal"
|
|
901
|
+
},
|
|
902
|
+
"fieldId": "field_user_role"
|
|
903
|
+
},
|
|
904
|
+
"right": {
|
|
905
|
+
"kind": "literal",
|
|
906
|
+
"value": "banned"
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"id": "policy_owner",
|
|
912
|
+
"kind": "authorization-policy",
|
|
913
|
+
"allow": {
|
|
914
|
+
"kind": "binary",
|
|
915
|
+
"operator": "eq",
|
|
916
|
+
"left": {
|
|
917
|
+
"kind": "field",
|
|
918
|
+
"source": {
|
|
919
|
+
"kind": "ref",
|
|
920
|
+
"targetId": "axiom_resource"
|
|
921
|
+
},
|
|
922
|
+
"fieldId": "field_doc_owner"
|
|
923
|
+
},
|
|
924
|
+
"right": {
|
|
925
|
+
"kind": "field",
|
|
926
|
+
"source": {
|
|
927
|
+
"kind": "ref",
|
|
928
|
+
"targetId": "axiom_principal"
|
|
929
|
+
},
|
|
930
|
+
"fieldId": "field_user_id"
|
|
931
|
+
}
|
|
932
|
+
}
|
|
597
933
|
}
|
|
598
934
|
],
|
|
599
935
|
"workflows": [
|