@ydtb/tk-scope-capture 0.22.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 (74) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/client/pages/CaptureBuilderPage.d.ts +2 -0
  3. package/dist/src/client/pages/CaptureBuilderPage.d.ts.map +1 -0
  4. package/dist/src/client/pages/CaptureBuilderPage.js +308 -0
  5. package/dist/src/client/pages/CaptureBuilderPage.js.map +1 -0
  6. package/dist/src/client/pages/CaptureSubmissionDetailPage.d.ts +2 -0
  7. package/dist/src/client/pages/CaptureSubmissionDetailPage.d.ts.map +1 -0
  8. package/dist/src/client/pages/CaptureSubmissionDetailPage.js +64 -0
  9. package/dist/src/client/pages/CaptureSubmissionDetailPage.js.map +1 -0
  10. package/dist/src/client/pages/CaptureSubmissionsPage.d.ts +2 -0
  11. package/dist/src/client/pages/CaptureSubmissionsPage.d.ts.map +1 -0
  12. package/dist/src/client/pages/CaptureSubmissionsPage.js +22 -0
  13. package/dist/src/client/pages/CaptureSubmissionsPage.js.map +1 -0
  14. package/dist/src/client/pages/PublicFormPage.d.ts +2 -0
  15. package/dist/src/client/pages/PublicFormPage.d.ts.map +1 -0
  16. package/dist/src/client/pages/PublicFormPage.js +62 -0
  17. package/dist/src/client/pages/PublicFormPage.js.map +1 -0
  18. package/dist/src/client/pages/PublicQuizPage.d.ts +2 -0
  19. package/dist/src/client/pages/PublicQuizPage.d.ts.map +1 -0
  20. package/dist/src/client/pages/PublicQuizPage.js +87 -0
  21. package/dist/src/client/pages/PublicQuizPage.js.map +1 -0
  22. package/dist/src/client/pages/QuizBuilderPage.d.ts +2 -0
  23. package/dist/src/client/pages/QuizBuilderPage.d.ts.map +1 -0
  24. package/dist/src/client/pages/QuizBuilderPage.js +118 -0
  25. package/dist/src/client/pages/QuizBuilderPage.js.map +1 -0
  26. package/dist/src/client.d.ts +617 -0
  27. package/dist/src/client.d.ts.map +1 -0
  28. package/dist/src/client.js +39 -0
  29. package/dist/src/client.js.map +1 -0
  30. package/dist/src/index.d.ts +3 -0
  31. package/dist/src/index.d.ts.map +1 -0
  32. package/dist/src/index.js +2 -0
  33. package/dist/src/index.js.map +1 -0
  34. package/dist/src/server/api/action-adapters.d.ts +93 -0
  35. package/dist/src/server/api/action-adapters.d.ts.map +1 -0
  36. package/dist/src/server/api/action-adapters.js +147 -0
  37. package/dist/src/server/api/action-adapters.js.map +1 -0
  38. package/dist/src/server/api/router.d.ts +621 -0
  39. package/dist/src/server/api/router.d.ts.map +1 -0
  40. package/dist/src/server/api/router.js +903 -0
  41. package/dist/src/server/api/router.js.map +1 -0
  42. package/dist/src/server.d.ts +3 -0
  43. package/dist/src/server.d.ts.map +1 -0
  44. package/dist/src/server.js +15 -0
  45. package/dist/src/server.js.map +1 -0
  46. package/dist/src/shared/conditions.d.ts +5 -0
  47. package/dist/src/shared/conditions.d.ts.map +1 -0
  48. package/dist/src/shared/conditions.js +39 -0
  49. package/dist/src/shared/conditions.js.map +1 -0
  50. package/dist/src/shared/db/schema.d.ts +983 -0
  51. package/dist/src/shared/db/schema.d.ts.map +1 -0
  52. package/dist/src/shared/db/schema.js +113 -0
  53. package/dist/src/shared/db/schema.js.map +1 -0
  54. package/dist/src/shared/field-types.d.ts +7 -0
  55. package/dist/src/shared/field-types.d.ts.map +1 -0
  56. package/dist/src/shared/field-types.js +116 -0
  57. package/dist/src/shared/field-types.js.map +1 -0
  58. package/dist/src/shared/scoring.d.ts +3 -0
  59. package/dist/src/shared/scoring.d.ts.map +1 -0
  60. package/dist/src/shared/scoring.js +47 -0
  61. package/dist/src/shared/scoring.js.map +1 -0
  62. package/dist/src/shared/templates.d.ts +20 -0
  63. package/dist/src/shared/templates.d.ts.map +1 -0
  64. package/dist/src/shared/templates.js +122 -0
  65. package/dist/src/shared/templates.js.map +1 -0
  66. package/dist/src/shared/tool.d.ts +2 -0
  67. package/dist/src/shared/tool.d.ts.map +1 -0
  68. package/dist/src/shared/tool.js +7 -0
  69. package/dist/src/shared/tool.js.map +1 -0
  70. package/dist/src/shared/types.d.ts +251 -0
  71. package/dist/src/shared/types.d.ts.map +1 -0
  72. package/dist/src/shared/types.js +10 -0
  73. package/dist/src/shared/types.js.map +1 -0
  74. package/package.json +84 -0
@@ -0,0 +1,251 @@
1
+ import type { PermissionGroup } from "@ydtb/tk-scope/core";
2
+ export type CaptureSurfaceKind = "field" | "question";
3
+ export type CaptureBaseFieldType = "text" | "email" | "phone" | "textarea" | "select";
4
+ export type CaptureFieldType = CaptureBaseFieldType | (string & {});
5
+ export type CaptureFieldRendererKind = "text" | "email" | "phone" | "textarea" | "select" | "rating";
6
+ export declare const CAPTURE_PERMISSIONS: PermissionGroup;
7
+ export interface CapturePaletteItem {
8
+ id: string;
9
+ kind: CaptureSurfaceKind;
10
+ label: string;
11
+ description: string;
12
+ }
13
+ export interface CaptureBuilderItem extends CapturePaletteItem {
14
+ builderId: string;
15
+ }
16
+ export type CaptureConditionOperator = "equals" | "notEquals" | "isEmpty" | "isNotEmpty";
17
+ export interface CaptureCondition {
18
+ fieldId: string;
19
+ fieldKey: string;
20
+ operator: CaptureConditionOperator;
21
+ value?: CaptureAnswerValue;
22
+ }
23
+ export interface CaptureFieldTypeContribution extends CapturePaletteItem {
24
+ id: CaptureFieldType;
25
+ icon?: string;
26
+ renderer: CaptureFieldRendererKind;
27
+ defaultField: {
28
+ type: CaptureFieldType;
29
+ label: string;
30
+ required?: boolean;
31
+ options?: string[];
32
+ metadata?: Record<string, unknown>;
33
+ };
34
+ validation?: {
35
+ requiredAware?: boolean;
36
+ min?: number;
37
+ max?: number;
38
+ };
39
+ normalization: {
40
+ valueKind: "string" | "number" | "boolean" | "stringArray";
41
+ trim?: boolean;
42
+ };
43
+ mapping: {
44
+ compatibleTargets: string[];
45
+ };
46
+ }
47
+ declare module "@ydtb/tk-scope/core" {
48
+ interface ClientContributions {
49
+ capture?: {
50
+ fieldTypes?: CaptureFieldTypeContribution[];
51
+ };
52
+ }
53
+ }
54
+ export interface CaptureFieldDefinition {
55
+ id: string;
56
+ key: string;
57
+ label: string;
58
+ type: CaptureFieldType;
59
+ required: boolean;
60
+ options?: string[];
61
+ metadata?: Record<string, unknown>;
62
+ visibleWhen?: CaptureCondition;
63
+ }
64
+ export type CaptureAnswerValue = string | number | boolean | null | string[];
65
+ export interface CaptureQuizOutcome {
66
+ id: string;
67
+ key: string;
68
+ label: string;
69
+ description?: string;
70
+ bucket?: string;
71
+ minScore?: number;
72
+ }
73
+ export interface CaptureQuizScoringRule {
74
+ id: string;
75
+ fieldKey: string;
76
+ equals: CaptureAnswerValue;
77
+ score?: number;
78
+ outcomeKey?: string;
79
+ }
80
+ export interface CaptureQuizScoringConfig {
81
+ enabled: boolean;
82
+ version: number;
83
+ outcomes: CaptureQuizOutcome[];
84
+ rules: CaptureQuizScoringRule[];
85
+ }
86
+ export interface CaptureQuizOutcomeResult {
87
+ id: string;
88
+ key: string;
89
+ label: string;
90
+ bucket: string;
91
+ scoreSummary: {
92
+ score: number;
93
+ maxScore: number;
94
+ };
95
+ matchedRuleIds: string[];
96
+ configVersion: number;
97
+ configHash: string;
98
+ }
99
+ export interface CaptureSubmissionSnapshot {
100
+ definitionId: string;
101
+ title: string;
102
+ fields: CaptureFieldDefinition[];
103
+ answers: Record<string, CaptureAnswerValue>;
104
+ outcome?: CaptureQuizOutcomeResult;
105
+ }
106
+ export interface CaptureContactsActionConfig {
107
+ enabled: boolean;
108
+ nameFieldKey?: string;
109
+ emailFieldKey?: string;
110
+ phoneFieldKey?: string;
111
+ /** Contact custom field slug/key -> Capture answer field key. */
112
+ customFieldMappings?: Record<string, string>;
113
+ }
114
+ export interface CaptureEmailActionConfig {
115
+ enabled: boolean;
116
+ from?: string;
117
+ internalRecipientEmail?: string;
118
+ respondentEmailFieldKey?: string;
119
+ subjectTemplate?: string;
120
+ bodyTemplate?: string;
121
+ }
122
+ export interface CaptureWorkflowActionConfig {
123
+ enabled: boolean;
124
+ workflowDefinitionId?: string;
125
+ triggerNodeId?: string;
126
+ execute?: boolean;
127
+ }
128
+ export interface CaptureActionConfig {
129
+ contacts?: CaptureContactsActionConfig;
130
+ email?: CaptureEmailActionConfig;
131
+ workflow?: CaptureWorkflowActionConfig;
132
+ quiz?: CaptureQuizScoringConfig;
133
+ }
134
+ export interface CaptureActionExecutionContext {
135
+ scope: string;
136
+ scopeId: string;
137
+ definitionId: string;
138
+ definitionName: string;
139
+ submissionId: string;
140
+ fields: CaptureFieldDefinition[];
141
+ answers: Record<string, CaptureAnswerValue>;
142
+ outcome?: CaptureQuizOutcomeResult;
143
+ }
144
+ export interface CaptureActionAdapter<TConfig> {
145
+ type: string;
146
+ configSchema: {
147
+ parse: (value: unknown) => TConfig;
148
+ };
149
+ isEnabled: (config: TConfig) => boolean;
150
+ execute: (args: {
151
+ config: TConfig;
152
+ context: CaptureActionExecutionContext;
153
+ }) => Promise<CaptureActionRunResult>;
154
+ }
155
+ export interface CaptureActionRunResult {
156
+ contactId?: string;
157
+ created?: boolean;
158
+ message?: string;
159
+ recipients?: string[];
160
+ messageIds?: string[];
161
+ subject?: string;
162
+ runId?: string;
163
+ duplicate?: boolean;
164
+ workflowDefinitionId?: string;
165
+ }
166
+ export interface CaptureActionRunError {
167
+ message: string;
168
+ }
169
+ export type CaptureActionAttemptMode = "retry" | "replay";
170
+ export type CaptureActionIdempotencyKeyMode = "same" | "new";
171
+ export interface CaptureActionAttemptAudit {
172
+ actorUserId: string;
173
+ attemptedAt: string;
174
+ reason: string;
175
+ mode: CaptureActionAttemptMode;
176
+ idempotencyKeyMode: CaptureActionIdempotencyKeyMode;
177
+ configSnapshot: CaptureActionConfig;
178
+ actionRunId?: string;
179
+ result?: CaptureActionRunResult;
180
+ error?: CaptureActionRunError;
181
+ }
182
+ export type CapturePublicationStatus = "active" | "disabled" | "revoked";
183
+ export type CaptureRepeatPolicyMode = "allow" | "block" | "update";
184
+ export interface CapturePublicationSecurity {
185
+ allowedOrigins?: string[];
186
+ minSubmitSeconds?: number;
187
+ honeypotFieldName?: string;
188
+ rateLimit?: {
189
+ maxSubmissions: number;
190
+ windowSeconds: number;
191
+ };
192
+ repeatPolicy?: CaptureRepeatPolicyMode;
193
+ }
194
+ export interface CaptureDefinitionSummary {
195
+ id: string;
196
+ surface: "form" | "quiz" | string;
197
+ name: string;
198
+ slug: string;
199
+ status: string;
200
+ fieldCount: number;
201
+ createdAt: Date;
202
+ updatedAt: Date;
203
+ publicationSlug?: string;
204
+ }
205
+ export interface CaptureWorkflowDefinitionOption {
206
+ id: string;
207
+ name: string;
208
+ status: string;
209
+ currentVersion: number;
210
+ triggerTypes: string[];
211
+ apiTriggerNodeId?: string;
212
+ compatible: boolean;
213
+ summary: string;
214
+ }
215
+ export interface CaptureSubmissionSummary {
216
+ id: string;
217
+ definitionId: string;
218
+ definitionName: string;
219
+ submittedAt: Date;
220
+ answers: Record<string, CaptureAnswerValue>;
221
+ outcome?: CaptureQuizOutcomeResult;
222
+ actionStatus?: string;
223
+ contactId?: string;
224
+ }
225
+ export interface CaptureActionRunSummary {
226
+ id: string;
227
+ actionType: string;
228
+ status: string;
229
+ contactId?: string;
230
+ result?: CaptureActionRunResult | null;
231
+ error?: CaptureActionRunError | null;
232
+ manualAttempts?: CaptureActionAttemptAudit[] | null;
233
+ createdAt: Date;
234
+ updatedAt: Date;
235
+ }
236
+ export interface CaptureNormalizedAnswer {
237
+ id: string;
238
+ fieldId: string;
239
+ fieldKey: string;
240
+ value: CaptureAnswerValue;
241
+ }
242
+ export interface CaptureSubmissionDetail extends CaptureSubmissionSummary {
243
+ source: string;
244
+ publicationId?: string | null;
245
+ publicationSlug?: string | null;
246
+ respondent: Record<string, unknown>;
247
+ snapshot: CaptureSubmissionSnapshot;
248
+ normalizedAnswers: CaptureNormalizedAnswer[];
249
+ actionRuns: CaptureActionRunSummary[];
250
+ }
251
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export const CAPTURE_PERMISSIONS = {
2
+ feature: "capture",
3
+ label: "Capture",
4
+ guestBlocked: false,
5
+ actions: [
6
+ { key: "view", label: "View Capture", category: "read" },
7
+ { key: "actions.retry", label: "Retry Capture actions", category: "admin" },
8
+ ],
9
+ };
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE;QACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE;QACxD,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE;KAC5E;CACF,CAAA"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@ydtb/tk-scope-capture",
3
+ "version": "0.22.0",
4
+ "private": false,
5
+ "description": "Shared Capture builder and runtime surfaces for Forms and Quizzes.",
6
+ "type": "module",
7
+ "license": "UNLICENSED",
8
+ "publishConfig": {
9
+ "access": "public",
10
+ "registry": "https://registry.npmjs.org/"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "dev-src": "./src/index.ts",
15
+ "types": "./dist/src/index.d.ts",
16
+ "default": "./dist/src/index.js"
17
+ },
18
+ "./client": {
19
+ "dev-src": "./src/client.ts",
20
+ "types": "./dist/src/client.d.ts",
21
+ "default": "./dist/src/client.js"
22
+ },
23
+ "./server": {
24
+ "dev-src": "./src/server.ts",
25
+ "types": "./dist/src/server.d.ts",
26
+ "default": "./dist/src/server.js"
27
+ },
28
+ "./types": {
29
+ "dev-src": "./src/shared/types.ts",
30
+ "types": "./dist/src/shared/types.d.ts",
31
+ "default": "./dist/src/shared/types.js"
32
+ },
33
+ "./db/schema": {
34
+ "dev-src": "./src/shared/db/schema.ts",
35
+ "types": "./dist/src/shared/db/schema.d.ts",
36
+ "default": "./dist/src/shared/db/schema.js"
37
+ },
38
+ "./api/router": {
39
+ "dev-src": "./src/server/api/router.ts",
40
+ "types": "./dist/src/server/api/router.d.ts",
41
+ "default": "./dist/src/server/api/router.js"
42
+ }
43
+ },
44
+ "files": [
45
+ "dist",
46
+ "README.md"
47
+ ],
48
+ "dependencies": {
49
+ "@orpc/server": "^1.13.5",
50
+ "@ydtb/core-layer-postgres": "^0.13.3",
51
+ "@ydtb/core-layer-resend": "^0.13.10",
52
+ "@ydtb/core-server": "^0.13.3",
53
+ "@ydtb/tk-scope-api-client": "0.13.0",
54
+ "@ydtb/tk-scope-query-client": "0.14.0",
55
+ "@ydtb/tk-scope-db": "0.19.2",
56
+ "@ydtb/tk-scope": "0.14.1",
57
+ "@ydtb/tk-scope-extension": "0.22.0"
58
+ },
59
+ "peerDependencies": {
60
+ "@tanstack/react-router": ">=1.168.0 <2.0.0",
61
+ "lucide-react": ">=0.400.0",
62
+ "react": ">=19.0.0",
63
+ "react-dom": ">=19.0.0",
64
+ "zod": "^4.3.6"
65
+ },
66
+ "devDependencies": {
67
+ "@types/node": "^22.19.17",
68
+ "@types/react": "^19.0.8",
69
+ "typescript": "^5.7.0",
70
+ "vitest": "^4.1.5",
71
+ "@ydtb/tk-scope-ui": "0.22.0",
72
+ "@ydtb/tk-scope-shell": "0.22.0"
73
+ },
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "https://github.com/yourdigitaltoolbox/tk-scope.git"
77
+ },
78
+ "scripts": {
79
+ "build": "tsc -b",
80
+ "typecheck": "tsc -b --noEmit",
81
+ "lint": "pnpm exec eslint .",
82
+ "clean": "rm -rf dist *.tsbuildinfo"
83
+ }
84
+ }