@semics-tech/emdash-esign-pro 0.0.0-stage → 1.0.0-rc.1

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.
@@ -0,0 +1,566 @@
1
+ {
2
+ "id": "semics-esign",
3
+ "version": "1.0.0-rc.1",
4
+ "declaredAccess": {
5
+ "media": {
6
+ "read": {},
7
+ "bytesRead": {}
8
+ },
9
+ "network": {
10
+ "request": {
11
+ "allowedHosts": [
12
+ "challenges.cloudflare.com"
13
+ ]
14
+ }
15
+ },
16
+ "email": {
17
+ "send": {}
18
+ }
19
+ },
20
+ "capabilities": [
21
+ "media:read",
22
+ "media:bytes:read",
23
+ "network:request",
24
+ "email:send"
25
+ ],
26
+ "allowedHosts": [
27
+ "challenges.cloudflare.com"
28
+ ],
29
+ "storage": {
30
+ "templates": {
31
+ "indexes": [
32
+ "status",
33
+ "kind",
34
+ "public"
35
+ ]
36
+ },
37
+ "envelopes": {
38
+ "indexes": [
39
+ "status",
40
+ "expiresAt",
41
+ "createdAt",
42
+ "clientId",
43
+ "externalRef",
44
+ "pdfSha256",
45
+ "signerEmail",
46
+ [
47
+ "status",
48
+ "expiresAt"
49
+ ]
50
+ ]
51
+ },
52
+ "signers": {
53
+ "indexes": [
54
+ "envelopeId",
55
+ "email",
56
+ "copyTokenHash"
57
+ ],
58
+ "uniqueIndexes": [
59
+ "tokenHash"
60
+ ]
61
+ },
62
+ "snapshots": {
63
+ "indexes": [
64
+ "envelopeId"
65
+ ]
66
+ },
67
+ "artifacts": {
68
+ "indexes": [
69
+ "envelopeId",
70
+ [
71
+ "envelopeId",
72
+ "kind"
73
+ ]
74
+ ]
75
+ },
76
+ "audit_events": {
77
+ "indexes": [
78
+ "envelopeId",
79
+ [
80
+ "envelopeId",
81
+ "seq"
82
+ ]
83
+ ]
84
+ },
85
+ "clients": {
86
+ "indexes": [
87
+ "createdAt"
88
+ ]
89
+ },
90
+ "nonces": {
91
+ "indexes": [
92
+ "expiresAt"
93
+ ],
94
+ "uniqueIndexes": [
95
+ "nonce"
96
+ ]
97
+ },
98
+ "outbox": {
99
+ "indexes": [
100
+ [
101
+ "status",
102
+ "nextAttemptAt"
103
+ ]
104
+ ]
105
+ },
106
+ "bulk": {
107
+ "indexes": [
108
+ [
109
+ "kind",
110
+ "createdAt"
111
+ ]
112
+ ]
113
+ },
114
+ "pdf_templates": {
115
+ "indexes": [
116
+ "status"
117
+ ]
118
+ },
119
+ "pdf_files": {
120
+ "indexes": [
121
+ "sha256"
122
+ ]
123
+ }
124
+ },
125
+ "hooks": [
126
+ "plugin:activate",
127
+ "cron"
128
+ ],
129
+ "routes": [
130
+ {
131
+ "name": "public/envelopes/from-intent",
132
+ "methods": [
133
+ "POST"
134
+ ],
135
+ "request": {
136
+ "body": "json",
137
+ "maxBytes": 16384
138
+ },
139
+ "public": true
140
+ },
141
+ {
142
+ "name": "public/session",
143
+ "methods": [
144
+ "POST"
145
+ ],
146
+ "request": {
147
+ "body": "json",
148
+ "maxBytes": 8192
149
+ },
150
+ "public": true
151
+ },
152
+ {
153
+ "name": "public/otp/send",
154
+ "methods": [
155
+ "POST"
156
+ ],
157
+ "request": {
158
+ "body": "json",
159
+ "maxBytes": 8192
160
+ },
161
+ "public": true
162
+ },
163
+ {
164
+ "name": "public/otp/verify",
165
+ "methods": [
166
+ "POST"
167
+ ],
168
+ "request": {
169
+ "body": "json",
170
+ "maxBytes": 8192
171
+ },
172
+ "public": true
173
+ },
174
+ {
175
+ "name": "public/submit",
176
+ "methods": [
177
+ "POST"
178
+ ],
179
+ "request": {
180
+ "body": "json",
181
+ "maxBytes": 262144
182
+ },
183
+ "public": true
184
+ },
185
+ {
186
+ "name": "public/decline",
187
+ "methods": [
188
+ "POST"
189
+ ],
190
+ "request": {
191
+ "body": "json",
192
+ "maxBytes": 8192
193
+ },
194
+ "public": true
195
+ },
196
+ {
197
+ "name": "public/download",
198
+ "methods": [
199
+ "GET"
200
+ ],
201
+ "request": {
202
+ "body": "none"
203
+ },
204
+ "response": "raw",
205
+ "public": true
206
+ },
207
+ {
208
+ "name": "public/verify",
209
+ "methods": [
210
+ "POST"
211
+ ],
212
+ "request": {
213
+ "body": "json",
214
+ "maxBytes": 8192
215
+ },
216
+ "public": true
217
+ },
218
+ {
219
+ "name": "public/receipts/lookup",
220
+ "methods": [
221
+ "POST"
222
+ ],
223
+ "request": {
224
+ "body": "json",
225
+ "maxBytes": 8192
226
+ },
227
+ "public": true
228
+ },
229
+ {
230
+ "name": "public/templates/catalog",
231
+ "methods": [
232
+ "POST"
233
+ ],
234
+ "request": {
235
+ "body": "json",
236
+ "maxBytes": 65536
237
+ },
238
+ "public": true
239
+ },
240
+ {
241
+ "name": "public/self-serve/start",
242
+ "methods": [
243
+ "POST"
244
+ ],
245
+ "request": {
246
+ "body": "json",
247
+ "maxBytes": 65536
248
+ },
249
+ "public": true
250
+ },
251
+ "admin",
252
+ "templates/create",
253
+ "templates/update",
254
+ "templates/get",
255
+ "templates/list",
256
+ "templates/archive",
257
+ "envelopes/create",
258
+ "envelopes/send",
259
+ "envelopes/get",
260
+ "envelopes/list",
261
+ "envelopes/resend",
262
+ "envelopes/void",
263
+ "outbox/status",
264
+ "pro/licence",
265
+ "pro/envelopes/send",
266
+ "pro/templates/self-serve",
267
+ "pro/bulk/start",
268
+ "pro/pdf-templates/upload",
269
+ "pro/pdf-templates/update",
270
+ "pro/pdf-templates/send",
271
+ {
272
+ "name": "pro/mcp/templates",
273
+ "permission": "plugins:manage"
274
+ },
275
+ {
276
+ "name": "pro/mcp/send",
277
+ "permission": "plugins:manage"
278
+ },
279
+ {
280
+ "name": "pro/mcp/status",
281
+ "permission": "plugins:manage"
282
+ },
283
+ {
284
+ "name": "pro/mcp/remind",
285
+ "permission": "plugins:manage"
286
+ },
287
+ {
288
+ "name": "pro/mcp/void",
289
+ "permission": "plugins:manage"
290
+ }
291
+ ],
292
+ "mcp": {
293
+ "tools": [
294
+ {
295
+ "name": "listTemplates",
296
+ "description": "List the e-sign templates by name: id, name, current version and status. Pass status \"archived\" for archived ones.",
297
+ "route": "pro/mcp/templates",
298
+ "permission": "plugins:manage",
299
+ "destructive": false,
300
+ "inputSchema": {
301
+ "type": "object",
302
+ "properties": {
303
+ "status": {
304
+ "type": "string",
305
+ "enum": [
306
+ "active",
307
+ "archived"
308
+ ]
309
+ }
310
+ },
311
+ "additionalProperties": false
312
+ }
313
+ },
314
+ {
315
+ "name": "sendForSignature",
316
+ "description": "Send a template for signature. Each signer is emailed a signing link. One signer: the envelope is created as a draft and sent within a minute. 2-10 signers sign in parallel (default) or in order (routing \"sequential\").",
317
+ "route": "pro/mcp/send",
318
+ "permission": "plugins:manage",
319
+ "destructive": false,
320
+ "inputSchema": {
321
+ "type": "object",
322
+ "properties": {
323
+ "templateId": {
324
+ "type": "string",
325
+ "description": "From listTemplates."
326
+ },
327
+ "templateVersion": {
328
+ "type": "integer",
329
+ "minimum": 1,
330
+ "description": "A pinned version; default the current one."
331
+ },
332
+ "title": {
333
+ "type": "string",
334
+ "description": "Envelope title (optional)."
335
+ },
336
+ "fields": {
337
+ "type": "object",
338
+ "additionalProperties": {
339
+ "type": "string"
340
+ },
341
+ "description": "Values for the template's {{placeholders}}."
342
+ },
343
+ "signers": {
344
+ "type": "array",
345
+ "minItems": 1,
346
+ "maxItems": 10,
347
+ "items": {
348
+ "type": "object",
349
+ "properties": {
350
+ "name": {
351
+ "type": "string"
352
+ },
353
+ "email": {
354
+ "type": "string"
355
+ }
356
+ },
357
+ "required": [
358
+ "name",
359
+ "email"
360
+ ],
361
+ "additionalProperties": false
362
+ }
363
+ },
364
+ "routing": {
365
+ "type": "string",
366
+ "enum": [
367
+ "parallel",
368
+ "sequential"
369
+ ]
370
+ }
371
+ },
372
+ "required": [
373
+ "templateId",
374
+ "signers"
375
+ ],
376
+ "additionalProperties": false
377
+ }
378
+ },
379
+ {
380
+ "name": "getEnvelopeStatus",
381
+ "description": "An envelope's status (draft, sent, in_progress, completed, declined, voided, expired), dates and each signer's status, with a short-lived signed PDF link once completed.",
382
+ "route": "pro/mcp/status",
383
+ "permission": "plugins:manage",
384
+ "destructive": false,
385
+ "inputSchema": {
386
+ "type": "object",
387
+ "properties": {
388
+ "id": {
389
+ "type": "string",
390
+ "minLength": 1,
391
+ "maxLength": 100,
392
+ "description": "The envelope id."
393
+ }
394
+ },
395
+ "required": [
396
+ "id"
397
+ ],
398
+ "additionalProperties": false
399
+ }
400
+ },
401
+ {
402
+ "name": "remindSigners",
403
+ "description": "Email the next pending signer a reminder with a fresh signing link (the old link stops working). One signer per call; `remaining` says how many more are due. A signer is reminded at most once an hour.",
404
+ "route": "pro/mcp/remind",
405
+ "permission": "plugins:manage",
406
+ "destructive": false,
407
+ "inputSchema": {
408
+ "type": "object",
409
+ "properties": {
410
+ "id": {
411
+ "type": "string",
412
+ "minLength": 1,
413
+ "maxLength": 100,
414
+ "description": "The envelope id."
415
+ }
416
+ },
417
+ "required": [
418
+ "id"
419
+ ],
420
+ "additionalProperties": false
421
+ }
422
+ },
423
+ {
424
+ "name": "voidEnvelope",
425
+ "description": "Void an open envelope: its signing links stop working at once. This cannot be undone.",
426
+ "route": "pro/mcp/void",
427
+ "permission": "plugins:manage",
428
+ "destructive": true,
429
+ "inputSchema": {
430
+ "type": "object",
431
+ "properties": {
432
+ "id": {
433
+ "type": "string",
434
+ "minLength": 1,
435
+ "maxLength": 100,
436
+ "description": "The envelope id."
437
+ }
438
+ },
439
+ "required": [
440
+ "id"
441
+ ],
442
+ "additionalProperties": false
443
+ }
444
+ }
445
+ ]
446
+ },
447
+ "admin": {
448
+ "settingsSchema": {
449
+ "senderName": {
450
+ "label": "Sender name",
451
+ "description": "Shown as the sender of signing emails.",
452
+ "type": "string"
453
+ },
454
+ "consentVersion": {
455
+ "label": "Consent version",
456
+ "description": "Recorded with every signature; bump when the wording changes.",
457
+ "type": "string",
458
+ "default": "1"
459
+ },
460
+ "consentWording": {
461
+ "label": "Consent wording",
462
+ "description": "Shown to signers before they sign.",
463
+ "type": "string",
464
+ "default": "I agree to use electronic records and an electronic signature for this document.",
465
+ "multiline": true
466
+ },
467
+ "expiryDays": {
468
+ "label": "Envelope expiry (days)",
469
+ "type": "number",
470
+ "default": 30,
471
+ "min": 1,
472
+ "max": 365
473
+ },
474
+ "reminderCadenceDays": {
475
+ "label": "Reminder cadence (days)",
476
+ "description": "Pro: automatic reminders.",
477
+ "type": "number",
478
+ "default": 3,
479
+ "min": 1,
480
+ "max": 30
481
+ },
482
+ "otpDefault": {
483
+ "label": "Require email code by default",
484
+ "description": "Pro: one-time code before signing.",
485
+ "type": "boolean",
486
+ "default": false
487
+ },
488
+ "otpContractTemplates": {
489
+ "label": "Require email code for contract templates",
490
+ "description": "Pro.",
491
+ "type": "boolean",
492
+ "default": true
493
+ },
494
+ "retentionPersonalDataMonths": {
495
+ "label": "Keep personal data (months)",
496
+ "type": "number",
497
+ "default": 12,
498
+ "min": 1,
499
+ "max": 120
500
+ },
501
+ "retentionSignedRecordsYears": {
502
+ "label": "Keep signed records (years)",
503
+ "type": "number",
504
+ "default": 7,
505
+ "min": 1,
506
+ "max": 50
507
+ },
508
+ "turnstileSiteKey": {
509
+ "label": "Turnstile site key",
510
+ "type": "string"
511
+ },
512
+ "turnstileSecretKey": {
513
+ "label": "Turnstile secret key",
514
+ "type": "secret"
515
+ },
516
+ "integrationMasterKey": {
517
+ "label": "Integration master key",
518
+ "description": "Client secrets are derived from this key; it is never shown again.",
519
+ "type": "secret"
520
+ },
521
+ "licenceKey": {
522
+ "label": "Pro licence key",
523
+ "description": "The semics1. key from your purchase email. Not needed on local or preview hosts. Stored encrypted.",
524
+ "type": "secret"
525
+ }
526
+ },
527
+ "pages": [
528
+ {
529
+ "path": "/envelopes",
530
+ "label": "Envelopes",
531
+ "icon": "file"
532
+ },
533
+ {
534
+ "path": "/templates",
535
+ "label": "Templates",
536
+ "icon": "file-text"
537
+ },
538
+ {
539
+ "path": "/integrations",
540
+ "label": "Integrations",
541
+ "icon": "link"
542
+ },
543
+ {
544
+ "path": "/settings",
545
+ "label": "Settings",
546
+ "icon": "gear"
547
+ },
548
+ {
549
+ "path": "/bulk",
550
+ "label": "Bulk send",
551
+ "icon": "users"
552
+ },
553
+ {
554
+ "path": "/self-serve",
555
+ "label": "Self-serve forms",
556
+ "icon": "globe"
557
+ },
558
+ {
559
+ "path": "/pdf-templates",
560
+ "label": "PDF templates",
561
+ "icon": "file"
562
+ }
563
+ ],
564
+ "widgets": []
565
+ }
566
+ }
@@ -0,0 +1,7 @@
1
+ import { SandboxedPlugin } from "emdash/plugin";
2
+
3
+ //#region src/plugin.d.ts
4
+ declare const licence: undefined;
5
+ declare const _default: SandboxedPlugin;
6
+ //#endregion
7
+ export { _default as default, licence };