@decionis/agent-safe-pipeline 0.1.3 → 0.1.4

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 (68) hide show
  1. package/README.md +318 -16
  2. package/dist/Index.d.ts +1 -0
  3. package/dist/Index.d.ts.map +1 -1
  4. package/dist/Index.js +1 -0
  5. package/dist/Index.js.map +1 -1
  6. package/dist/approval/PresenceApprovalCoordinator.d.ts +25 -0
  7. package/dist/approval/PresenceApprovalCoordinator.d.ts.map +1 -1
  8. package/dist/approval/PresenceApprovalCoordinator.js +54 -6
  9. package/dist/approval/PresenceApprovalCoordinator.js.map +1 -1
  10. package/dist/audit/AuditRecorder.d.ts +122 -0
  11. package/dist/audit/AuditRecorder.d.ts.map +1 -0
  12. package/dist/audit/AuditRecorder.js +312 -0
  13. package/dist/audit/AuditRecorder.js.map +1 -0
  14. package/dist/decision/DecionisGate.d.ts +91 -2
  15. package/dist/decision/DecionisGate.d.ts.map +1 -1
  16. package/dist/decision/DecionisGate.js +793 -44
  17. package/dist/decision/DecionisGate.js.map +1 -1
  18. package/dist/decision/DecisionAuthority.d.ts +50 -1
  19. package/dist/decision/DecisionAuthority.d.ts.map +1 -1
  20. package/dist/decision/DecisionAuthority.js.map +1 -1
  21. package/dist/decision/FixtureDecisionAuthority.d.ts +27 -1
  22. package/dist/decision/FixtureDecisionAuthority.d.ts.map +1 -1
  23. package/dist/decision/FixtureDecisionAuthority.js +47 -0
  24. package/dist/decision/FixtureDecisionAuthority.js.map +1 -1
  25. package/dist/decision/ImmutableGateDecision.d.ts.map +1 -1
  26. package/dist/decision/ImmutableGateDecision.js +18 -0
  27. package/dist/decision/ImmutableGateDecision.js.map +1 -1
  28. package/dist/execution/ActionRegistry.d.ts +37 -0
  29. package/dist/execution/ActionRegistry.d.ts.map +1 -1
  30. package/dist/execution/ActionRegistry.js +75 -1
  31. package/dist/execution/ActionRegistry.js.map +1 -1
  32. package/dist/execution/AuthorizationVerifier.d.ts +29 -0
  33. package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
  34. package/dist/execution/AuthorizationVerifier.js +126 -25
  35. package/dist/execution/AuthorizationVerifier.js.map +1 -1
  36. package/dist/execution/SafeExecutor.d.ts +72 -7
  37. package/dist/execution/SafeExecutor.d.ts.map +1 -1
  38. package/dist/execution/SafeExecutor.js +253 -17
  39. package/dist/execution/SafeExecutor.js.map +1 -1
  40. package/dist/intent/CanonicalIntentHasher.d.ts +1 -1
  41. package/dist/intent/CanonicalIntentHasher.d.ts.map +1 -1
  42. package/dist/intent/CanonicalIntentHasher.js +6 -2
  43. package/dist/intent/CanonicalIntentHasher.js.map +1 -1
  44. package/dist/intent/ExecutionIntent.d.ts +14 -2
  45. package/dist/intent/ExecutionIntent.d.ts.map +1 -1
  46. package/dist/intent/ExecutionIntent.js +7 -0
  47. package/dist/intent/ExecutionIntent.js.map +1 -1
  48. package/dist/intent/IntentCapture.d.ts +5 -0
  49. package/dist/intent/IntentCapture.d.ts.map +1 -1
  50. package/dist/intent/IntentCapture.js +12 -1
  51. package/dist/intent/IntentCapture.js.map +1 -1
  52. package/dist/shadow/ShadowPipeline.d.ts +75 -5
  53. package/dist/shadow/ShadowPipeline.d.ts.map +1 -1
  54. package/dist/shadow/ShadowPipeline.js +157 -7
  55. package/dist/shadow/ShadowPipeline.js.map +1 -1
  56. package/dist/testing/Index.d.ts +12 -0
  57. package/dist/testing/Index.d.ts.map +1 -0
  58. package/dist/testing/Index.js +12 -0
  59. package/dist/testing/Index.js.map +1 -0
  60. package/dist/testing/LocalAuthority.d.ts +203 -0
  61. package/dist/testing/LocalAuthority.d.ts.map +1 -0
  62. package/dist/testing/LocalAuthority.js +799 -0
  63. package/dist/testing/LocalAuthority.js.map +1 -0
  64. package/dist/testing/LocalPresence.d.ts +210 -0
  65. package/dist/testing/LocalPresence.d.ts.map +1 -0
  66. package/dist/testing/LocalPresence.js +473 -0
  67. package/dist/testing/LocalPresence.js.map +1 -0
  68. package/package.json +40 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalAuthority.js","sourceRoot":"","sources":["../../src/testing/LocalAuthority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import { type IncomingMessage } from "node:http";
2
+ import { z } from "zod";
3
+ export declare const LOCAL_PRESENCE_API_KEY = "test-key";
4
+ /** `CreateVerificationRequest` as the Presence contract accepts it, including the structural binding. */
5
+ declare const CreateVerificationRequestSchema: z.ZodObject<{
6
+ action_context: z.ZodObject<{
7
+ intent: z.ZodString;
8
+ surface: z.ZodString;
9
+ actor_id: z.ZodString;
10
+ target_resource_id: z.ZodString;
11
+ intent_hash: z.ZodOptional<z.ZodString>;
12
+ amount: z.ZodOptional<z.ZodNumber>;
13
+ currency: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$loose>;
15
+ originator: z.ZodObject<{
16
+ organization_name: z.ZodString;
17
+ actor_id: z.ZodOptional<z.ZodString>;
18
+ display_name: z.ZodOptional<z.ZodString>;
19
+ role: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$loose>;
21
+ presentation: z.ZodObject<{
22
+ locale: z.ZodString;
23
+ title: z.ZodString;
24
+ description: z.ZodString;
25
+ display_fields: z.ZodArray<z.ZodObject<{
26
+ key: z.ZodString;
27
+ label: z.ZodString;
28
+ value: z.ZodString;
29
+ }, z.core.$strict>>;
30
+ }, z.core.$strip>;
31
+ verification_requirements: z.ZodObject<{
32
+ level: z.ZodEnum<{
33
+ STANDARD: "STANDARD";
34
+ HIGH_CONFIDENCE: "HIGH_CONFIDENCE";
35
+ }>;
36
+ methods: z.ZodArray<z.ZodEnum<{
37
+ WEBAUTHN: "WEBAUTHN";
38
+ ACTIVE_LIVENESS: "ACTIVE_LIVENESS";
39
+ MOBILE_DEVICE: "MOBILE_DEVICE";
40
+ }>>;
41
+ hardware_pki_required: z.ZodBoolean;
42
+ disallow_virtual_cameras: z.ZodBoolean;
43
+ mobile_device_policy: z.ZodOptional<z.ZodEnum<{
44
+ WEB_OR_JIT_DEVICE: "WEB_OR_JIT_DEVICE";
45
+ MANAGED_DEVICE_REQUIRED: "MANAGED_DEVICE_REQUIRED";
46
+ }>>;
47
+ }, z.core.$loose>;
48
+ ttl_seconds: z.ZodDefault<z.ZodNumber>;
49
+ }, z.core.$strip>;
50
+ export type LocalVerificationStatus = "PENDING" | "DELIVERED" | "ALLOWED" | "BLOCKED" | "EXPIRED" | "CANCELLED";
51
+ export type LocalCeremonyResponse = "APPROVE" | "DENY";
52
+ export interface LocalAuthenticator {
53
+ readonly method: "WEBAUTHN" | "MOBILE_DEVICE" | "ACTIVE_LIVENESS";
54
+ readonly aaguid?: string;
55
+ readonly device_platform?: string;
56
+ readonly user_verified: boolean;
57
+ readonly attestation_reference?: string;
58
+ }
59
+ export interface LocalPresenceOptions {
60
+ readonly apiKey?: string;
61
+ /** Outcome lookups that stay pending before automatic completion. Default 1. */
62
+ readonly pendingLookups?: number;
63
+ /**
64
+ * `APPROVE` (default) completes the ceremony automatically after the pending
65
+ * lookups; `DENY` denies it; `MANUAL` waits for `approve`, `deny`, or the
66
+ * `/local/verification-requests/:id/complete` control route.
67
+ */
68
+ readonly autoComplete?: LocalCeremonyResponse | "MANUAL";
69
+ /** Role returned for an approving identity; `roles` overrides per identity. */
70
+ readonly defaultRole?: string;
71
+ readonly roles?: Readonly<Record<string, string>>;
72
+ /** Authenticator evidence sealed into every approval. */
73
+ readonly authenticator?: LocalAuthenticator;
74
+ readonly clock?: () => number;
75
+ }
76
+ export interface LocalVerificationRecord {
77
+ readonly requestId: string;
78
+ readonly sessionId: string;
79
+ readonly intentDigest: string;
80
+ readonly idempotencyKey: string;
81
+ readonly subjectActorId: string;
82
+ readonly subjectRole: string;
83
+ readonly action: {
84
+ readonly intent: string;
85
+ readonly target: string;
86
+ };
87
+ /** Structural binding when supplied, otherwise the `intent_hash` display field, otherwise null. */
88
+ readonly intentHash: string | null;
89
+ readonly bindingSource: "structural" | "display_field" | "none";
90
+ readonly actionContext: Readonly<Record<string, unknown>>;
91
+ readonly presentation: z.infer<typeof CreateVerificationRequestSchema>["presentation"];
92
+ readonly requirements: Readonly<Record<string, unknown>>;
93
+ readonly createdAt: string;
94
+ readonly expiresAt: string;
95
+ status: LocalVerificationStatus;
96
+ result: "ALLOW" | "BLOCK" | null;
97
+ receiptDossierId: string | null;
98
+ approvedAt: string | null;
99
+ lookups: number;
100
+ scheduledResponse: LocalCeremonyResponse | "MANUAL";
101
+ }
102
+ export interface LocalReceipt {
103
+ readonly requestId: string;
104
+ readonly intentHash: string | null;
105
+ readonly result: "ALLOW" | "BLOCK";
106
+ readonly approverIdentity: string;
107
+ readonly approverRole: string;
108
+ readonly sealedAt: string;
109
+ }
110
+ /** What the authority needs to verify a receipt against an execution intent. */
111
+ export interface LocalReceiptBinding {
112
+ readonly intentHash: string;
113
+ readonly actionType?: string;
114
+ readonly resource?: string;
115
+ readonly requiredRole?: string;
116
+ }
117
+ export type LocalReceiptVerification = {
118
+ readonly ok: true;
119
+ readonly approverIdentity: string;
120
+ readonly approverRole: string;
121
+ readonly authenticator: LocalAuthenticator;
122
+ } | {
123
+ readonly ok: false;
124
+ readonly reasonCode: string;
125
+ };
126
+ export interface LocalPresenceRequestRecord {
127
+ readonly method: string;
128
+ readonly path: string;
129
+ readonly headers: Readonly<Record<string, string | null>>;
130
+ body: unknown;
131
+ response: {
132
+ readonly status: number;
133
+ readonly body: unknown;
134
+ } | null;
135
+ readonly at: string;
136
+ }
137
+ export declare class LocalPresence {
138
+ /** Every request seen, oldest first. */
139
+ readonly requests: LocalPresenceRequestRecord[];
140
+ /** Receipts sealed, keyed by receipt dossier id. */
141
+ readonly receipts: Map<string, LocalReceipt>;
142
+ private readonly verifications;
143
+ private readonly byIdempotencyKey;
144
+ private readonly apiKey;
145
+ private readonly pendingLookups;
146
+ private readonly autoComplete;
147
+ private readonly defaultRole;
148
+ private readonly roles;
149
+ private readonly authenticator;
150
+ private readonly clock;
151
+ private nextStatus;
152
+ private sequence;
153
+ private server;
154
+ private port;
155
+ constructor(options?: LocalPresenceOptions);
156
+ get baseUrl(): string;
157
+ start(): Promise<void>;
158
+ stop(): Promise<void>;
159
+ /**
160
+ * Terminal status of the next request created: `"ALLOWED"` approves,
161
+ * `"BLOCKED"` denies, `"MANUAL"` waits for an explicit completion.
162
+ */
163
+ scriptNextStatus(status: "ALLOWED" | "BLOCKED" | "MANUAL"): void;
164
+ /** The current state of one verification request without counting a lookup, or null. */
165
+ verification(requestId: string): Readonly<LocalVerificationRecord> | null;
166
+ /**
167
+ * One outcome lookup, as the authority or the SDK performs it: counts toward
168
+ * the pending lookups, applies automatic completion and expiry, and returns
169
+ * the current state.
170
+ */
171
+ poll(requestId: string): Readonly<LocalVerificationRecord> | null;
172
+ /** Completes the ceremony as an approval by the bound subject. */
173
+ approve(requestId: string): LocalReceipt | null;
174
+ /** Completes the ceremony as a denial by the bound subject. */
175
+ deny(requestId: string): LocalReceipt | null;
176
+ cancel(requestId: string): boolean;
177
+ /** Forces expiry regardless of the clock. */
178
+ expire(requestId: string): boolean;
179
+ /** Compatibility check used by the contract harness: receipt, request, and hash agree. */
180
+ verifyReceipt(approval: {
181
+ readonly requestId: string;
182
+ readonly receiptDossierId: string;
183
+ }, binding: string | LocalReceiptBinding): boolean;
184
+ /**
185
+ * Mirrors the authority-side checks: terminal ALLOWED with result ALLOW, the
186
+ * receipt the request produced, action type and target, the intent hash
187
+ * (structural when present, otherwise the display field), an approver with
188
+ * a role, an optional required role, and the request's own expiry.
189
+ */
190
+ verifyReceiptDetailed(approval: {
191
+ readonly requestId: string;
192
+ readonly receiptDossierId: string;
193
+ }, binding: string | LocalReceiptBinding): LocalReceiptVerification;
194
+ /** Creates a request without HTTP; the same path the route uses. */
195
+ createRequest(body: unknown, idempotencyKey: string): {
196
+ readonly status: number;
197
+ readonly body: unknown;
198
+ };
199
+ private handle;
200
+ private createVerificationRequest;
201
+ private created;
202
+ private projection;
203
+ private complete;
204
+ private expireIfDue;
205
+ private isTerminal;
206
+ private send;
207
+ }
208
+ export declare function readBody(req: IncomingMessage, maxBytes: number): Promise<string | null>;
209
+ export {};
210
+ //# sourceMappingURL=LocalPresence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalPresence.d.ts","sourceRoot":"","sources":["../../src/testing/LocalPresence.ts"],"names":[],"mappings":"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"}