@dharma-ai-labs/agent-fabric 0.2.209 → 0.2.210

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 (112) hide show
  1. package/dist/bin.js +2 -2
  2. package/dist/bin.js.map +1 -1
  3. package/dist/bootstrapHostScope.test.js +1 -1
  4. package/dist/bootstrapHostScope.test.js.map +1 -1
  5. package/dist/bootstrapProcessCaller.test.js +1 -0
  6. package/dist/bootstrapProcessCaller.test.js.map +1 -1
  7. package/dist/bootstrapVaultScope.test.js +25 -1
  8. package/dist/bootstrapVaultScope.test.js.map +1 -1
  9. package/dist/codexBoundSession.d.ts +59 -0
  10. package/dist/codexBoundSession.d.ts.map +1 -1
  11. package/dist/codexBoundSession.js +140 -1
  12. package/dist/codexBoundSession.js.map +1 -1
  13. package/dist/codexInboxSession.d.ts +1 -1
  14. package/dist/codexInboxSession.d.ts.map +1 -1
  15. package/dist/codexRecoveryController.test.d.ts +2 -0
  16. package/dist/codexRecoveryController.test.d.ts.map +1 -0
  17. package/dist/codexRecoveryController.test.js +295 -0
  18. package/dist/codexRecoveryController.test.js.map +1 -0
  19. package/dist/codexScopedDispatch.test.js +2 -1
  20. package/dist/codexScopedDispatch.test.js.map +1 -1
  21. package/dist/codexSetupChildProvider.test.js +20 -0
  22. package/dist/codexSetupChildProvider.test.js.map +1 -1
  23. package/dist/codexSetupNativeHost.test.js +2 -1
  24. package/dist/codexSetupNativeHost.test.js.map +1 -1
  25. package/dist/codexSetupSessionCaller.test.js +1 -0
  26. package/dist/codexSetupSessionCaller.test.js.map +1 -1
  27. package/dist/codexSigningRecoveryNativeHost.d.ts +50 -0
  28. package/dist/codexSigningRecoveryNativeHost.d.ts.map +1 -0
  29. package/dist/codexSigningRecoveryNativeHost.js +186 -0
  30. package/dist/codexSigningRecoveryNativeHost.js.map +1 -0
  31. package/dist/codexSigningRecoveryNativeHost.test.d.ts +2 -0
  32. package/dist/codexSigningRecoveryNativeHost.test.d.ts.map +1 -0
  33. package/dist/codexSigningRecoveryNativeHost.test.js +475 -0
  34. package/dist/codexSigningRecoveryNativeHost.test.js.map +1 -0
  35. package/dist/codexSigningRecoveryTool.d.ts +25 -0
  36. package/dist/codexSigningRecoveryTool.d.ts.map +1 -0
  37. package/dist/codexSigningRecoveryTool.js +24 -0
  38. package/dist/codexSigningRecoveryTool.js.map +1 -0
  39. package/dist/containerRelayLifecycle.d.ts +1 -1
  40. package/dist/cooperativeInboxSession.d.ts +1 -1
  41. package/dist/demoPackage.d.ts +1 -1
  42. package/dist/demoWatchControl.d.ts +6 -6
  43. package/dist/deviceSigningMaintenanceController.d.ts +35 -0
  44. package/dist/deviceSigningMaintenanceController.d.ts.map +1 -0
  45. package/dist/deviceSigningMaintenanceController.js +197 -0
  46. package/dist/deviceSigningMaintenanceController.js.map +1 -0
  47. package/dist/deviceSigningMaintenanceController.test.d.ts +2 -0
  48. package/dist/deviceSigningMaintenanceController.test.d.ts.map +1 -0
  49. package/dist/deviceSigningMaintenanceController.test.js +67 -0
  50. package/dist/deviceSigningMaintenanceController.test.js.map +1 -0
  51. package/dist/deviceSigningMaintenanceFlow.test.d.ts +2 -0
  52. package/dist/deviceSigningMaintenanceFlow.test.d.ts.map +1 -0
  53. package/dist/deviceSigningMaintenanceFlow.test.js +196 -0
  54. package/dist/deviceSigningMaintenanceFlow.test.js.map +1 -0
  55. package/dist/index.d.ts +9 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +609 -466
  58. package/dist/index.js.map +1 -1
  59. package/dist/legacySigningMaintenanceBoundary.d.ts +14 -0
  60. package/dist/legacySigningMaintenanceBoundary.d.ts.map +1 -0
  61. package/dist/legacySigningMaintenanceBoundary.js +128 -0
  62. package/dist/legacySigningMaintenanceBoundary.js.map +1 -0
  63. package/dist/legacySigningMaintenanceBoundary.test.d.ts +2 -0
  64. package/dist/legacySigningMaintenanceBoundary.test.d.ts.map +1 -0
  65. package/dist/legacySigningMaintenanceBoundary.test.js +109 -0
  66. package/dist/legacySigningMaintenanceBoundary.test.js.map +1 -0
  67. package/dist/namedCodexThread.d.ts.map +1 -1
  68. package/dist/namedCodexThread.js +3 -1
  69. package/dist/namedCodexThread.js.map +1 -1
  70. package/dist/namedCodexThread.test.js +17 -1
  71. package/dist/namedCodexThread.test.js.map +1 -1
  72. package/dist/namedSessionMaintenance.d.ts +1 -1
  73. package/dist/namedSessionStartupFence.test.d.ts +2 -0
  74. package/dist/namedSessionStartupFence.test.d.ts.map +1 -0
  75. package/dist/namedSessionStartupFence.test.js +81 -0
  76. package/dist/namedSessionStartupFence.test.js.map +1 -0
  77. package/dist/providerSessionReplyRecovery.d.ts +1 -1
  78. package/dist/relayRuntimeUpgrade.d.ts +1 -1
  79. package/dist/schemas/codex-signing-recovery-native-progress.schema.json +16 -0
  80. package/dist/schemas/device-enrollment-recovery-journal.schema.json +20 -0
  81. package/dist/schemas/device-signing-maintenance-challenge.schema.json +185 -0
  82. package/dist/schemas/device-signing-maintenance-completion.schema.json +98 -0
  83. package/dist/schemas/device-signing-maintenance-context-request.schema.json +68 -0
  84. package/dist/schemas/device-signing-maintenance-context.schema.json +137 -0
  85. package/dist/schemas/device-signing-maintenance-control.schema.json +12 -0
  86. package/dist/schemas/device-signing-maintenance-controller-progress.schema.json +26 -0
  87. package/dist/schemas/device-signing-maintenance-delivery-request.schema.json +45 -0
  88. package/dist/schemas/device-signing-maintenance-host-progress.schema.json +121 -0
  89. package/dist/schemas/device-signing-maintenance-plan.schema.json +136 -0
  90. package/dist/schemas/device-signing-maintenance-preparation.schema.json +56 -0
  91. package/dist/schemas/device-signing-recovery-candidate.schema.json +28 -0
  92. package/dist/schemas/device-signing-recovery-challenge.schema.json +52 -0
  93. package/dist/schemas/device-signing-recovery-completion.schema.json +23 -0
  94. package/dist/schemas/device-signing-recovery-delivery-request.schema.json +16 -0
  95. package/dist/schemas/device-signing-recovery-delivery.schema.json +22 -0
  96. package/dist/schemas/device-signing-recovery-host-progress.schema.json +28 -0
  97. package/dist/schemas/device-signing-recovery-offer-progress.schema.json +32 -0
  98. package/dist/schemas/device-signing-recovery-offer-read-request.schema.json +16 -0
  99. package/dist/schemas/device-signing-recovery-offer-registration-receipt.schema.json +16 -0
  100. package/dist/schemas/device-signing-recovery-offer-registration-request.schema.json +18 -0
  101. package/dist/schemas/device-signing-recovery-offer-response.schema.json +43 -0
  102. package/dist/schemas/device-signing-recovery-plan.schema.json +40 -0
  103. package/dist/schemas/device-signing-recovery-preparation.schema.json +23 -0
  104. package/dist/schemas/provider-session-recovery-declaration.schema.json +21 -0
  105. package/dist/signingMaintenanceCohort.test.d.ts +2 -0
  106. package/dist/signingMaintenanceCohort.test.d.ts.map +1 -0
  107. package/dist/signingMaintenanceCohort.test.js +55 -0
  108. package/dist/signingMaintenanceCohort.test.js.map +1 -0
  109. package/dist/usage.d.ts.map +1 -1
  110. package/dist/usage.js +3 -2
  111. package/dist/usage.js.map +1 -1
  112. package/package.json +4 -4
@@ -0,0 +1,185 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/device-signing-maintenance-challenge/v1",
4
+ "title": "Existing-device signing maintenance challenge; no native continuation authority",
5
+ "$comment": "Distinct device-maintenance origin. Device possession, both fresh browser consents, current member/device/source, independent configured-key provenance, publication CAS and protected installation remain separate and mandatory. Native session liveness or execution is not asserted.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema",
10
+ "origin",
11
+ "issuer",
12
+ "audience",
13
+ "recoveryId",
14
+ "approvalId",
15
+ "organizationId",
16
+ "recipientMembershipId",
17
+ "deviceId",
18
+ "installationId",
19
+ "workspaceId",
20
+ "publicKeyEd25519",
21
+ "credentialEncryptionPublicKey",
22
+ "repositoryFingerprint",
23
+ "policyRevision",
24
+ "scopeDigest",
25
+ "contractDigest",
26
+ "sourceSelectionDigest",
27
+ "controllerBindingDigest",
28
+ "previousAnchorHash",
29
+ "protectedConfigDigest",
30
+ "previousGeneration",
31
+ "previousKeysetHash",
32
+ "previousRootFingerprint",
33
+ "candidateGeneration",
34
+ "candidateKeysetHash",
35
+ "candidateRootFingerprint",
36
+ "candidateKeyVersionFingerprint",
37
+ "purpose",
38
+ "method",
39
+ "path",
40
+ "nonce",
41
+ "issuedAt",
42
+ "expiresAt",
43
+ "authenticator"
44
+ ],
45
+ "properties": {
46
+ "schema": {
47
+ "const": "dharma.device-signing-maintenance-challenge/v1"
48
+ },
49
+ "origin": {
50
+ "type": "string",
51
+ "maxLength": 256,
52
+ "format": "uri",
53
+ "pattern": "^https://[^/@?#\\s]+$"
54
+ },
55
+ "issuer": {
56
+ "type": "string",
57
+ "maxLength": 256,
58
+ "format": "uri",
59
+ "pattern": "^https://[^/@?#\\s]+$"
60
+ },
61
+ "audience": {
62
+ "const": "dharma.agent-fabric.signing-maintenance/v1"
63
+ },
64
+ "recoveryId": {
65
+ "$ref": "#/$defs/uuid"
66
+ },
67
+ "approvalId": {
68
+ "$ref": "#/$defs/uuid"
69
+ },
70
+ "organizationId": {
71
+ "type": "string",
72
+ "maxLength": 256,
73
+ "pattern": "^org_[A-Za-z0-9]+$"
74
+ },
75
+ "recipientMembershipId": {
76
+ "$ref": "#/$defs/uuid"
77
+ },
78
+ "deviceId": {
79
+ "$ref": "#/$defs/uuid"
80
+ },
81
+ "installationId": {
82
+ "$ref": "#/$defs/uuid"
83
+ },
84
+ "workspaceId": {
85
+ "$ref": "#/$defs/uuid"
86
+ },
87
+ "publicKeyEd25519": {
88
+ "$ref": "#/$defs/bytes32"
89
+ },
90
+ "credentialEncryptionPublicKey": {
91
+ "$ref": "#/$defs/bytes32"
92
+ },
93
+ "repositoryFingerprint": {
94
+ "$ref": "#/$defs/digest"
95
+ },
96
+ "policyRevision": {
97
+ "type": "string",
98
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
99
+ },
100
+ "scopeDigest": {
101
+ "$ref": "#/$defs/digest"
102
+ },
103
+ "contractDigest": {
104
+ "$ref": "#/$defs/digest"
105
+ },
106
+ "sourceSelectionDigest": {
107
+ "$ref": "#/$defs/digest"
108
+ },
109
+ "controllerBindingDigest": {
110
+ "$ref": "#/$defs/digest"
111
+ },
112
+ "previousAnchorHash": {
113
+ "$ref": "#/$defs/digest"
114
+ },
115
+ "protectedConfigDigest": {
116
+ "$ref": "#/$defs/digest"
117
+ },
118
+ "previousGeneration": {
119
+ "$ref": "#/$defs/generation"
120
+ },
121
+ "previousKeysetHash": {
122
+ "$ref": "#/$defs/digest"
123
+ },
124
+ "previousRootFingerprint": {
125
+ "$ref": "#/$defs/digest"
126
+ },
127
+ "candidateGeneration": {
128
+ "$ref": "#/$defs/generation"
129
+ },
130
+ "candidateKeysetHash": {
131
+ "$ref": "#/$defs/digest"
132
+ },
133
+ "candidateRootFingerprint": {
134
+ "$ref": "#/$defs/digest"
135
+ },
136
+ "candidateKeyVersionFingerprint": {
137
+ "$ref": "#/$defs/digest"
138
+ },
139
+ "purpose": {
140
+ "const": "expired_signing_trust_reapproval"
141
+ },
142
+ "method": {
143
+ "const": "POST"
144
+ },
145
+ "path": {
146
+ "const": "/api/v1/agent-fabric/signing-recovery"
147
+ },
148
+ "nonce": {
149
+ "$ref": "#/$defs/bytes32"
150
+ },
151
+ "issuedAt": {
152
+ "type": "string",
153
+ "format": "date-time",
154
+ "maxLength": 256
155
+ },
156
+ "expiresAt": {
157
+ "type": "string",
158
+ "format": "date-time",
159
+ "maxLength": 256
160
+ },
161
+ "authenticator": {
162
+ "$ref": "#/$defs/bytes32"
163
+ }
164
+ },
165
+ "$defs": {
166
+ "uuid": {
167
+ "type": "string",
168
+ "format": "uuid",
169
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
170
+ },
171
+ "bytes32": {
172
+ "type": "string",
173
+ "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
174
+ },
175
+ "digest": {
176
+ "type": "string",
177
+ "pattern": "^sha256:[a-f0-9]{64}$"
178
+ },
179
+ "generation": {
180
+ "type": "integer",
181
+ "minimum": 1,
182
+ "maximum": 9007199254740991
183
+ }
184
+ }
185
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/device-signing-maintenance-completion/v1",
4
+ "title": "Device trust maintenance completion; not native continuation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "organizationId",
10
+ "deviceId",
11
+ "installationId",
12
+ "workspaceId",
13
+ "recoveryId",
14
+ "approvalId",
15
+ "generation",
16
+ "keysetHash",
17
+ "rootFingerprint",
18
+ "publicationArtifactHash",
19
+ "observedAt",
20
+ "connectionMode",
21
+ "ready",
22
+ "disposition",
23
+ "authorityKind",
24
+ "nativeContinuationAuthorized"
25
+ ],
26
+ "properties": {
27
+ "schema": {
28
+ "const": "dharma.device-signing-maintenance-completion/v1"
29
+ },
30
+ "organizationId": {
31
+ "type": "string",
32
+ "pattern": "^org_[A-Za-z0-9]+$(?![\\s\\S])",
33
+ "maxLength": 200
34
+ },
35
+ "deviceId": {
36
+ "$ref": "#/$defs/uuid"
37
+ },
38
+ "installationId": {
39
+ "$ref": "#/$defs/uuid"
40
+ },
41
+ "workspaceId": {
42
+ "$ref": "#/$defs/uuid"
43
+ },
44
+ "recoveryId": {
45
+ "$ref": "#/$defs/uuid"
46
+ },
47
+ "approvalId": {
48
+ "$ref": "#/$defs/uuid"
49
+ },
50
+ "generation": {
51
+ "type": "integer",
52
+ "minimum": 1,
53
+ "maximum": 9007199254740991
54
+ },
55
+ "keysetHash": {
56
+ "$ref": "#/$defs/digest"
57
+ },
58
+ "rootFingerprint": {
59
+ "$ref": "#/$defs/digest"
60
+ },
61
+ "publicationArtifactHash": {
62
+ "$ref": "#/$defs/digest"
63
+ },
64
+ "observedAt": {
65
+ "type": "string",
66
+ "format": "date-time"
67
+ },
68
+ "connectionMode": {
69
+ "enum": [
70
+ "manual",
71
+ "resume"
72
+ ]
73
+ },
74
+ "ready": {
75
+ "const": false
76
+ },
77
+ "disposition": {
78
+ "const": "signing_trust_installed_not_onboarding_ready"
79
+ },
80
+ "authorityKind": {
81
+ "const": "device_trust_maintenance"
82
+ },
83
+ "nativeContinuationAuthorized": {
84
+ "const": false
85
+ }
86
+ },
87
+ "$defs": {
88
+ "uuid": {
89
+ "type": "string",
90
+ "format": "uuid",
91
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
92
+ },
93
+ "digest": {
94
+ "type": "string",
95
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/device-signing-maintenance-context-request/v1",
4
+ "title": "Current device/source context; not consent or native authority",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "organizationId",
10
+ "deviceId",
11
+ "installationId",
12
+ "workspaceId",
13
+ "setupReference",
14
+ "operationId",
15
+ "repositoryFingerprint",
16
+ "nonce",
17
+ "expiresAt",
18
+ "issuedAt"
19
+ ],
20
+ "properties": {
21
+ "schema": {
22
+ "const": "dharma.device-signing-maintenance-context-request/v1"
23
+ },
24
+ "organizationId": {
25
+ "type": "string",
26
+ "maxLength": 256,
27
+ "pattern": "^org_[A-Za-z0-9]+$(?![\\s\\S])"
28
+ },
29
+ "deviceId": {
30
+ "type": "string",
31
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
32
+ },
33
+ "installationId": {
34
+ "type": "string",
35
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
36
+ },
37
+ "workspaceId": {
38
+ "type": "string",
39
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
40
+ },
41
+ "setupReference": {
42
+ "type": "string",
43
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
44
+ },
45
+ "operationId": {
46
+ "type": "string",
47
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
48
+ },
49
+ "nonce": {
50
+ "type": "string",
51
+ "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$(?![\\s\\S])"
52
+ },
53
+ "repositoryFingerprint": {
54
+ "type": "string",
55
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
56
+ },
57
+ "expiresAt": {
58
+ "type": "string",
59
+ "maxLength": 40,
60
+ "format": "date-time"
61
+ },
62
+ "issuedAt": {
63
+ "type": "string",
64
+ "maxLength": 40,
65
+ "format": "date-time"
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/device-signing-maintenance-context/v1",
4
+ "title": "Current device/source context; not consent or native authority",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "organizationId",
10
+ "deviceId",
11
+ "installationId",
12
+ "workspaceId",
13
+ "setupReference",
14
+ "operationId",
15
+ "nonce",
16
+ "expiresAt",
17
+ "recipientMembershipId",
18
+ "authority",
19
+ "source"
20
+ ],
21
+ "properties": {
22
+ "schema": {
23
+ "const": "dharma.device-signing-maintenance-context/v1"
24
+ },
25
+ "organizationId": {
26
+ "type": "string",
27
+ "maxLength": 256,
28
+ "pattern": "^org_[A-Za-z0-9]+$(?![\\s\\S])"
29
+ },
30
+ "deviceId": {
31
+ "type": "string",
32
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
33
+ },
34
+ "installationId": {
35
+ "type": "string",
36
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
37
+ },
38
+ "workspaceId": {
39
+ "type": "string",
40
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
41
+ },
42
+ "setupReference": {
43
+ "type": "string",
44
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
45
+ },
46
+ "operationId": {
47
+ "type": "string",
48
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
49
+ },
50
+ "nonce": {
51
+ "type": "string",
52
+ "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$(?![\\s\\S])"
53
+ },
54
+ "expiresAt": {
55
+ "type": "string",
56
+ "maxLength": 40,
57
+ "format": "date-time"
58
+ },
59
+ "recipientMembershipId": {
60
+ "type": "string",
61
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
62
+ },
63
+ "authority": {
64
+ "const": "current_source_context_only_not_consent"
65
+ },
66
+ "source": {
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "required": [
70
+ "organizationId",
71
+ "workspaceId",
72
+ "repositoryBindingId",
73
+ "repositoryFingerprint",
74
+ "policyRevision",
75
+ "scopeDigest",
76
+ "contractDigest",
77
+ "sourceGenerationId",
78
+ "sourceReceiptId",
79
+ "sourceRevision",
80
+ "sourcePolicyRevision",
81
+ "sourcePolicyHash"
82
+ ],
83
+ "properties": {
84
+ "organizationId": {
85
+ "type": "string",
86
+ "maxLength": 256,
87
+ "pattern": "^org_[A-Za-z0-9]+$(?![\\s\\S])"
88
+ },
89
+ "workspaceId": {
90
+ "type": "string",
91
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
92
+ },
93
+ "repositoryBindingId": {
94
+ "type": "string",
95
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
96
+ },
97
+ "repositoryFingerprint": {
98
+ "type": "string",
99
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
100
+ },
101
+ "policyRevision": {
102
+ "type": "string",
103
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$(?![\\s\\S])"
104
+ },
105
+ "scopeDigest": {
106
+ "type": "string",
107
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
108
+ },
109
+ "contractDigest": {
110
+ "type": "string",
111
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
112
+ },
113
+ "sourceGenerationId": {
114
+ "type": "string",
115
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
116
+ },
117
+ "sourceReceiptId": {
118
+ "type": "string",
119
+ "pattern": "^repo_consent_[0-9a-f-]{36}$(?![\\s\\S])"
120
+ },
121
+ "sourceRevision": {
122
+ "type": "integer",
123
+ "minimum": 1,
124
+ "maximum": 2147483646
125
+ },
126
+ "sourcePolicyRevision": {
127
+ "type": "string",
128
+ "pattern": "^repository-source-[0-9a-f-]{36}$(?![\\s\\S])"
129
+ },
130
+ "sourcePolicyHash": {
131
+ "type": "string",
132
+ "pattern": "^sha256:[a-f0-9]{64}$(?![\\s\\S])"
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema":"https://json-schema.org/draft/2020-12/schema",
3
+ "$id":"https://schemas.dharma-ai.io/device-signing-maintenance-control/v1",
4
+ "title":"Fixed control frame for one owning device-trust maintenance process",
5
+ "type":"object","additionalProperties":false,
6
+ "required":["schema","operationId","action"],
7
+ "properties":{
8
+ "schema":{"const":"dharma.device-signing-maintenance-control/v1"},
9
+ "operationId":{"type":"string","format":"uuid"},
10
+ "action":{"enum":["progress","complete","status","cancel"]}
11
+ }
12
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema":"https://json-schema.org/draft/2020-12/schema",
3
+ "$id":"https://schemas.dharma-ai.io/device-signing-maintenance-controller-progress/v1",
4
+ "title":"Owning controller progress; never native or onboarding readiness",
5
+ "type":"object","additionalProperties":false,
6
+ "required":["schema","operationId","organizationId","deviceId","workspaceId","bindingId","authorityKind","nativeContinuationAuthorized","ready","ok"],
7
+ "properties":{
8
+ "schema":{"const":"dharma.device-signing-maintenance-controller-progress/v1"},
9
+ "operationId":{"type":"string","format":"uuid"},"organizationId":{"type":"string","pattern":"^org_[A-Za-z0-9]+$"},
10
+ "deviceId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"bindingId":{"type":"string","format":"uuid"},
11
+ "authorityKind":{"const":"device_trust_maintenance"},"nativeContinuationAuthorized":{"const":false},"ready":{"const":false},
12
+ "ok":{"type":"boolean"},"planned":{"const":true},"protectedStoreQualified":{"const":false},"currentSourceVerified":{"const":false},
13
+ "registrationDisabled":{"type":"boolean"},"processState":{"enum":["running","stopped","unknown"]},
14
+ "trustState":{"enum":["unavailable","expired","current"]},"clientTrustInstalled":{"const":false},
15
+ "progress":{"oneOf":[{"$ref":"https://schemas.dharma-ai.io/device-signing-maintenance-host-progress/v1"},{"type":"null"}]},
16
+ "recipientUrl":{"type":"string","maxLength":1024,"format":"uri","pattern":"^https://"},
17
+ "ownerUrl":{"type":"string","maxLength":1024,"format":"uri","pattern":"^https://"},
18
+ "state":{"enum":["unconfirmed","cancelled","closed_before_completion"]},"reconcileBeforeRetry":{"const":true},
19
+ "phase":{"type":"string","maxLength":64,"pattern":"^[a-z_]+$"},"httpStatus":{"type":["integer","null"],"minimum":100,"maximum":599}
20
+ },
21
+ "allOf":[
22
+ {"if":{"required":["planned"]},"then":{"required":["protectedStoreQualified","currentSourceVerified","registrationDisabled","processState","trustState","clientTrustInstalled"],"properties":{"ok":{"const":true}},"not":{"required":["progress"]}}},
23
+ {"if":{"properties":{"ok":{"const":false}}},"then":{"required":["state"]}},
24
+ {"if":{"properties":{"ok":{"const":true}},"not":{"required":["planned"]}},"then":{"required":["progress"],"properties":{"progress":{"$ref":"https://schemas.dharma-ai.io/device-signing-maintenance-host-progress/v1"}}}}
25
+ ]
26
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/device-signing-maintenance-delivery-request/v1",
4
+ "title": "Device trust maintenance delivery-request; not native continuation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "action",
10
+ "organizationId",
11
+ "recoveryId",
12
+ "approvalId",
13
+ "signature"
14
+ ],
15
+ "properties": {
16
+ "schema": {
17
+ "const": "dharma.device-signing-maintenance-delivery-request/v1"
18
+ },
19
+ "action": {
20
+ "const": "delivery"
21
+ },
22
+ "organizationId": {
23
+ "type": "string",
24
+ "pattern": "^org_[A-Za-z0-9]+$(?![\\s\\S])",
25
+ "maxLength": 200
26
+ },
27
+ "recoveryId": {
28
+ "$ref": "#/$defs/uuid"
29
+ },
30
+ "approvalId": {
31
+ "$ref": "#/$defs/uuid"
32
+ },
33
+ "signature": {
34
+ "type": "string",
35
+ "pattern": "^[A-Za-z0-9_-]{86}$(?![\\s\\S])"
36
+ }
37
+ },
38
+ "$defs": {
39
+ "uuid": {
40
+ "type": "string",
41
+ "format": "uuid",
42
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\\s\\S])"
43
+ }
44
+ }
45
+ }