tm-extractor 0.0.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.
Files changed (34) hide show
  1. package/README.md +64 -0
  2. package/dist/constants/scm-activities.d.ts +35 -0
  3. package/dist/constants/scm-activities.d.ts.map +1 -0
  4. package/dist/constants/tma-formats.d.ts +77 -0
  5. package/dist/constants/tma-formats.d.ts.map +1 -0
  6. package/dist/constants/typology-definitions.d.ts +519 -0
  7. package/dist/constants/typology-definitions.d.ts.map +1 -0
  8. package/dist/core/data-transformer.d.ts +44 -0
  9. package/dist/core/data-transformer.d.ts.map +1 -0
  10. package/dist/core/pdf-processor.d.ts +48 -0
  11. package/dist/core/pdf-processor.d.ts.map +1 -0
  12. package/dist/extractors/branding-extractor.d.ts +21 -0
  13. package/dist/extractors/branding-extractor.d.ts.map +1 -0
  14. package/dist/extractors/scm-extractor.d.ts +96 -0
  15. package/dist/extractors/scm-extractor.d.ts.map +1 -0
  16. package/dist/extractors/strength-extractor.d.ts +21 -0
  17. package/dist/extractors/strength-extractor.d.ts.map +1 -0
  18. package/dist/extractors/talent-extractor.d.ts +25 -0
  19. package/dist/extractors/talent-extractor.d.ts.map +1 -0
  20. package/dist/extractors/typology-extractor.d.ts +25 -0
  21. package/dist/extractors/typology-extractor.d.ts.map +1 -0
  22. package/dist/index.cjs +1502 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.ts +37 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +1475 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/types/tma-types.d.ts +133 -0
  29. package/dist/types/tma-types.d.ts.map +1 -0
  30. package/dist/utils/error-handling.d.ts +46 -0
  31. package/dist/utils/error-handling.d.ts.map +1 -0
  32. package/dist/utils/format-detection.d.ts +48 -0
  33. package/dist/utils/format-detection.d.ts.map +1 -0
  34. package/package.json +67 -0
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # TMA Extractor
2
+
3
+ A framework-independent JavaScript/TypeScript package for extracting TMA data from PDF files.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install tm-extractor pdfjs-dist
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import tmaExtractor from 'tm-extractor';
15
+ import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.min.mjs?url';
16
+
17
+ // Extract TMA data from a PDF file
18
+ const result = await tmaExtractor(pdfFile, {
19
+ includeSCM: false, // Set to true to include SCM extraction (requires tesseract.js)
20
+ workerSrc: pdfjsWorker, // Optional PDF.js worker path
21
+ debug: false // Enable debug logging
22
+ });
23
+
24
+ console.log(result.person.talents); // Array of 34 talents
25
+ console.log(result.person.strength); // Strength data
26
+ console.log(result.person.typology); // 30 typologies with scores
27
+ console.log(result.person.personalbranding); // Personal branding data
28
+ ```
29
+
30
+ ## Features
31
+
32
+ - **Framework Independent**: Works with any JavaScript framework or vanilla JS
33
+ - **Multi-format Support**: Supports TMA PDF formats (49, 54, 46, 6 pages)
34
+ - **TypeScript Support**: Full type definitions included
35
+ - **SCM Extraction**: Optional SCM (Strength Cluster Map) extraction with OCR
36
+ - **Clean API**: Simple single function with optional configuration
37
+
38
+ ## API Reference
39
+
40
+ ### `tmaExtractor(file, options?)`
41
+
42
+ Extracts TMA data from a PDF file.
43
+
44
+ **Parameters:**
45
+ - `file: File` - PDF file to extract data from
46
+ - `options?: TmaExtractorConfig` - Optional configuration
47
+
48
+ **Returns:** `Promise<TmaExtractorResult>`
49
+
50
+ ### Configuration Options
51
+
52
+ ```typescript
53
+ interface TmaExtractorConfig {
54
+ includeSCM?: boolean; // Include SCM extraction (default: false)
55
+ workerSrc?: string; // Custom PDF.js worker path
56
+ tesseractWorkerSrc?: string; // Custom Tesseract worker path
57
+ debug?: boolean; // Enable debug logging (default: false)
58
+ timeoutMs?: number; // Extraction timeout (default: 30000)
59
+ }
60
+ ```
61
+
62
+ ## License
63
+
64
+ MIT
@@ -0,0 +1,35 @@
1
+ /**
2
+ * SCM (Strength Cluster Map) Activities Definitions
3
+ * Pre-defined list of all 114 activities with their typology and cluster information
4
+ * Framework-independent constants for tma-extractor package
5
+ */
6
+ export type ScmColor = 'red' | 'yellow' | 'white' | 'gray' | 'black';
7
+ export type ScmArea = 'left' | 'right' | 'top' | 'bottom';
8
+ export interface ScmActivityDefinition {
9
+ id: string;
10
+ typology: string;
11
+ cluster: string;
12
+ hasPsp: boolean;
13
+ area: ScmArea;
14
+ position: number;
15
+ }
16
+ export declare const SCM_ACTIVITIES_DEFINITIONS: ScmActivityDefinition[];
17
+ export declare const SCM_ACTIVITIES_MAP: Map<string, ScmActivityDefinition>;
18
+ export declare function isValidScmActivity(activityId: string): boolean;
19
+ export declare function getActivityDefinition(activityId: string): ScmActivityDefinition | undefined;
20
+ export declare function getActivitiesWithoutPsp(): string[];
21
+ export declare function getActivitiesByCluster(cluster: string): ScmActivityDefinition[];
22
+ export declare function getActivityByPosition(area: ScmArea, position: number): ScmActivityDefinition | undefined;
23
+ export declare function getActivitiesByArea(area: ScmArea): ScmActivityDefinition[];
24
+ export declare const SCM_VALIDATION: {
25
+ readonly TOTAL_ACTIVITIES: 114;
26
+ readonly ACTIVITIES_WITH_PSP: 99;
27
+ readonly ACTIVITIES_WITHOUT_PSP: 15;
28
+ readonly EXPECTED_COUNTS: {
29
+ readonly left: 33;
30
+ readonly right: 33;
31
+ readonly top: 24;
32
+ readonly bottom: 24;
33
+ };
34
+ };
35
+ //# sourceMappingURL=scm-activities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scm-activities.d.ts","sourceRoot":"","sources":["../../src/constants/scm-activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACrE,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EA2HpD,CAAC;AAGX,eAAO,MAAM,kBAAkB,oCAE9B,CAAC;AAGF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE3F;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAIlD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAE/E;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAInC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAI1E;AAGD,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { TmaFormat } from "../types/tma-types";
2
+ /**
3
+ * TMA format configurations for different PDF page counts
4
+ */
5
+ export declare const TMA_FORMATS: {
6
+ "49": {
7
+ pages: number[];
8
+ scmPage: number;
9
+ format: TmaFormat;
10
+ };
11
+ "54": {
12
+ pages: number[];
13
+ scmPage: number;
14
+ format: TmaFormat;
15
+ };
16
+ "46": {
17
+ pages: number[];
18
+ scmPage: number;
19
+ format: TmaFormat;
20
+ };
21
+ "6": {
22
+ pages: number[];
23
+ scmPage: number;
24
+ format: TmaFormat;
25
+ };
26
+ "22": {
27
+ pages: number[];
28
+ scmPage: number;
29
+ format: TmaFormat;
30
+ };
31
+ };
32
+ /**
33
+ * Talent extraction regex patterns for different formats
34
+ */
35
+ export declare const TALENT_REGEX_PATTERNS: {
36
+ readonly format49: RegExp;
37
+ readonly default: RegExp;
38
+ readonly pdfParse: RegExp;
39
+ };
40
+ /**
41
+ * Strength extraction regex patterns for different formats
42
+ */
43
+ export declare const STRENGTH_REGEX_PATTERNS: {
44
+ readonly format49: RegExp;
45
+ readonly default: RegExp;
46
+ };
47
+ /**
48
+ * Personal branding extraction regex patterns for different formats
49
+ */
50
+ export declare const PERSONAL_BRANDING_REGEX_PATTERNS: {
51
+ readonly format49: RegExp;
52
+ readonly default: RegExp;
53
+ };
54
+ /**
55
+ * Name extraction regex patterns for different formats
56
+ */
57
+ export declare const NAME_REGEX_PATTERNS: {
58
+ readonly format54: RegExp;
59
+ readonly format49: RegExp;
60
+ readonly default: RegExp;
61
+ };
62
+ /**
63
+ * Typology extraction regex pattern
64
+ */
65
+ export declare const TYPOLOGY_REGEX_PATTERN: RegExp;
66
+ /**
67
+ * Valid talent number range (1-34)
68
+ */
69
+ export declare const TALENT_RANGE: {
70
+ readonly min: 1;
71
+ readonly max: 34;
72
+ };
73
+ /**
74
+ * Maximum number of personal branding items to extract
75
+ */
76
+ export declare const PERSONAL_BRANDING_LIMIT = 5;
77
+ //# sourceMappingURL=tma-formats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tma-formats.d.ts","sourceRoot":"","sources":["../../src/constants/tma-formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW;;eAEE,MAAM,EAAE;;gBAET,SAAS;;;eAGP,MAAM,EAAE;;gBAEV,SAAS;;;eAGP,MAAM,EAAE;;gBAEV,SAAS;;;eAGV,MAAM,EAAE;;gBAER,SAAS;;;eAGT,MAAM,EAAE;;gBAEP,SAAS;;CAEjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAOxB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAA+B,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
@@ -0,0 +1,519 @@
1
+ /**
2
+ * Fixed mapping of all 30 typologies with their standardized categories
3
+ * This ensures consistent typology identification across all TMA formats
4
+ */
5
+ export declare const TYPOLOGY_DEFINITIONS: readonly [{
6
+ readonly id: 1;
7
+ readonly name: "ARRANGER";
8
+ readonly category: "HEADMAN";
9
+ }, {
10
+ readonly id: 2;
11
+ readonly name: "SELLER";
12
+ readonly category: "HEADMAN";
13
+ }, {
14
+ readonly id: 3;
15
+ readonly name: "COMMANDER";
16
+ readonly category: "HEADMAN";
17
+ }, {
18
+ readonly id: 4;
19
+ readonly name: "MEDIATOR";
20
+ readonly category: "HEADMAN";
21
+ }, {
22
+ readonly id: 5;
23
+ readonly name: "SELECTOR";
24
+ readonly category: "HEADMAN";
25
+ }, {
26
+ readonly id: 6;
27
+ readonly name: "AMBASADOR";
28
+ readonly category: "NETWORKING";
29
+ }, {
30
+ readonly id: 7;
31
+ readonly name: "COMMUNICATOR";
32
+ readonly category: "NETWORKING";
33
+ }, {
34
+ readonly id: 8;
35
+ readonly name: "EDUCATOR";
36
+ readonly category: "NETWORKING";
37
+ }, {
38
+ readonly id: 9;
39
+ readonly name: "MOTIVATOR";
40
+ readonly category: "NETWORKING";
41
+ }, {
42
+ readonly id: 10;
43
+ readonly name: "CARETAKER";
44
+ readonly category: "SERVICING";
45
+ }, {
46
+ readonly id: 11;
47
+ readonly name: "SERVER";
48
+ readonly category: "SERVICING";
49
+ }, {
50
+ readonly id: 12;
51
+ readonly name: "ANALYST";
52
+ readonly category: "THINKING";
53
+ }, {
54
+ readonly id: 13;
55
+ readonly name: "TREASURER";
56
+ readonly category: "THINKING";
57
+ }, {
58
+ readonly id: 14;
59
+ readonly name: "RESTORER";
60
+ readonly category: "REASONING";
61
+ }, {
62
+ readonly id: 15;
63
+ readonly name: "EVALUATOR";
64
+ readonly category: "REASONING";
65
+ }, {
66
+ readonly id: 16;
67
+ readonly name: "EXPLORER";
68
+ readonly category: "REASONING";
69
+ }, {
70
+ readonly id: 17;
71
+ readonly name: "DESIGNER";
72
+ readonly category: "GENERATING IDEA";
73
+ }, {
74
+ readonly id: 18;
75
+ readonly name: "CREATOR";
76
+ readonly category: "GENERATING IDEA";
77
+ }, {
78
+ readonly id: 19;
79
+ readonly name: "SYNTHESIZER";
80
+ readonly category: "GENERATING IDEA";
81
+ }, {
82
+ readonly id: 20;
83
+ readonly name: "MARKETER";
84
+ readonly category: "GENERATING IDEA";
85
+ }, {
86
+ readonly id: 21;
87
+ readonly name: "STRATEGIST";
88
+ readonly category: "GENERATING IDEA";
89
+ }, {
90
+ readonly id: 22;
91
+ readonly name: "VISIONARY";
92
+ readonly category: "GENERATING IDEA";
93
+ }, {
94
+ readonly id: 23;
95
+ readonly name: "JOURNALIST";
96
+ readonly category: "ELEMENTARY";
97
+ }, {
98
+ readonly id: 24;
99
+ readonly name: "INTERPRETER";
100
+ readonly category: "ELEMENTARY";
101
+ }, {
102
+ readonly id: 25;
103
+ readonly name: "ADMINISTRATOR";
104
+ readonly category: "ELEMENTARY";
105
+ }, {
106
+ readonly id: 26;
107
+ readonly name: "SAFEKEEPER";
108
+ readonly category: "TECHNICAL";
109
+ }, {
110
+ readonly id: 27;
111
+ readonly name: "PRODUCER";
112
+ readonly category: "TECHNICAL";
113
+ }, {
114
+ readonly id: 28;
115
+ readonly name: "QUALITY CONTROLLER";
116
+ readonly category: "TECHNICAL";
117
+ }, {
118
+ readonly id: 29;
119
+ readonly name: "DISTRIBUTOR";
120
+ readonly category: "TECHNICAL";
121
+ }, {
122
+ readonly id: 30;
123
+ readonly name: "OPERATOR";
124
+ readonly category: "TECHNICAL";
125
+ }];
126
+ /**
127
+ * Typology categories with their contained typologies
128
+ */
129
+ export declare const TYPOLOGY_CATEGORIES: {
130
+ readonly HEADMAN: readonly ["ARRANGER", "SELLER", "COMMANDER", "MEDIATOR", "SELECTOR"];
131
+ readonly NETWORKING: readonly ["AMBASADOR", "COMMUNICATOR", "EDUCATOR", "MOTIVATOR"];
132
+ readonly SERVICING: readonly ["CARETAKER", "SERVER"];
133
+ readonly THINKING: readonly ["ANALYST", "TREASURER"];
134
+ readonly REASONING: readonly ["RESTORER", "EVALUATOR", "EXPLORER"];
135
+ readonly 'GENERATING IDEA': readonly ["DESIGNER", "CREATOR", "SYNTHESIZER", "MARKETER", "STRATEGIST", "VISIONARY"];
136
+ readonly ELEMENTARY: readonly ["JOURNALIST", "INTERPRETER", "ADMINISTRATOR"];
137
+ readonly TECHNICAL: readonly ["SAFEKEEPER", "PRODUCER", "QUALITY CONTROLLER", "DISTRIBUTOR", "OPERATOR"];
138
+ };
139
+ /**
140
+ * Gets typology definition by ID
141
+ */
142
+ export declare function getTypologyById(id: number): {
143
+ readonly id: 1;
144
+ readonly name: "ARRANGER";
145
+ readonly category: "HEADMAN";
146
+ } | {
147
+ readonly id: 2;
148
+ readonly name: "SELLER";
149
+ readonly category: "HEADMAN";
150
+ } | {
151
+ readonly id: 3;
152
+ readonly name: "COMMANDER";
153
+ readonly category: "HEADMAN";
154
+ } | {
155
+ readonly id: 4;
156
+ readonly name: "MEDIATOR";
157
+ readonly category: "HEADMAN";
158
+ } | {
159
+ readonly id: 5;
160
+ readonly name: "SELECTOR";
161
+ readonly category: "HEADMAN";
162
+ } | {
163
+ readonly id: 6;
164
+ readonly name: "AMBASADOR";
165
+ readonly category: "NETWORKING";
166
+ } | {
167
+ readonly id: 7;
168
+ readonly name: "COMMUNICATOR";
169
+ readonly category: "NETWORKING";
170
+ } | {
171
+ readonly id: 8;
172
+ readonly name: "EDUCATOR";
173
+ readonly category: "NETWORKING";
174
+ } | {
175
+ readonly id: 9;
176
+ readonly name: "MOTIVATOR";
177
+ readonly category: "NETWORKING";
178
+ } | {
179
+ readonly id: 10;
180
+ readonly name: "CARETAKER";
181
+ readonly category: "SERVICING";
182
+ } | {
183
+ readonly id: 11;
184
+ readonly name: "SERVER";
185
+ readonly category: "SERVICING";
186
+ } | {
187
+ readonly id: 12;
188
+ readonly name: "ANALYST";
189
+ readonly category: "THINKING";
190
+ } | {
191
+ readonly id: 13;
192
+ readonly name: "TREASURER";
193
+ readonly category: "THINKING";
194
+ } | {
195
+ readonly id: 14;
196
+ readonly name: "RESTORER";
197
+ readonly category: "REASONING";
198
+ } | {
199
+ readonly id: 15;
200
+ readonly name: "EVALUATOR";
201
+ readonly category: "REASONING";
202
+ } | {
203
+ readonly id: 16;
204
+ readonly name: "EXPLORER";
205
+ readonly category: "REASONING";
206
+ } | {
207
+ readonly id: 17;
208
+ readonly name: "DESIGNER";
209
+ readonly category: "GENERATING IDEA";
210
+ } | {
211
+ readonly id: 18;
212
+ readonly name: "CREATOR";
213
+ readonly category: "GENERATING IDEA";
214
+ } | {
215
+ readonly id: 19;
216
+ readonly name: "SYNTHESIZER";
217
+ readonly category: "GENERATING IDEA";
218
+ } | {
219
+ readonly id: 20;
220
+ readonly name: "MARKETER";
221
+ readonly category: "GENERATING IDEA";
222
+ } | {
223
+ readonly id: 21;
224
+ readonly name: "STRATEGIST";
225
+ readonly category: "GENERATING IDEA";
226
+ } | {
227
+ readonly id: 22;
228
+ readonly name: "VISIONARY";
229
+ readonly category: "GENERATING IDEA";
230
+ } | {
231
+ readonly id: 23;
232
+ readonly name: "JOURNALIST";
233
+ readonly category: "ELEMENTARY";
234
+ } | {
235
+ readonly id: 24;
236
+ readonly name: "INTERPRETER";
237
+ readonly category: "ELEMENTARY";
238
+ } | {
239
+ readonly id: 25;
240
+ readonly name: "ADMINISTRATOR";
241
+ readonly category: "ELEMENTARY";
242
+ } | {
243
+ readonly id: 26;
244
+ readonly name: "SAFEKEEPER";
245
+ readonly category: "TECHNICAL";
246
+ } | {
247
+ readonly id: 27;
248
+ readonly name: "PRODUCER";
249
+ readonly category: "TECHNICAL";
250
+ } | {
251
+ readonly id: 28;
252
+ readonly name: "QUALITY CONTROLLER";
253
+ readonly category: "TECHNICAL";
254
+ } | {
255
+ readonly id: 29;
256
+ readonly name: "DISTRIBUTOR";
257
+ readonly category: "TECHNICAL";
258
+ } | {
259
+ readonly id: 30;
260
+ readonly name: "OPERATOR";
261
+ readonly category: "TECHNICAL";
262
+ } | undefined;
263
+ /**
264
+ * Gets typology definition by name
265
+ */
266
+ export declare function getTypologyByName(name: string): {
267
+ readonly id: 1;
268
+ readonly name: "ARRANGER";
269
+ readonly category: "HEADMAN";
270
+ } | {
271
+ readonly id: 2;
272
+ readonly name: "SELLER";
273
+ readonly category: "HEADMAN";
274
+ } | {
275
+ readonly id: 3;
276
+ readonly name: "COMMANDER";
277
+ readonly category: "HEADMAN";
278
+ } | {
279
+ readonly id: 4;
280
+ readonly name: "MEDIATOR";
281
+ readonly category: "HEADMAN";
282
+ } | {
283
+ readonly id: 5;
284
+ readonly name: "SELECTOR";
285
+ readonly category: "HEADMAN";
286
+ } | {
287
+ readonly id: 6;
288
+ readonly name: "AMBASADOR";
289
+ readonly category: "NETWORKING";
290
+ } | {
291
+ readonly id: 7;
292
+ readonly name: "COMMUNICATOR";
293
+ readonly category: "NETWORKING";
294
+ } | {
295
+ readonly id: 8;
296
+ readonly name: "EDUCATOR";
297
+ readonly category: "NETWORKING";
298
+ } | {
299
+ readonly id: 9;
300
+ readonly name: "MOTIVATOR";
301
+ readonly category: "NETWORKING";
302
+ } | {
303
+ readonly id: 10;
304
+ readonly name: "CARETAKER";
305
+ readonly category: "SERVICING";
306
+ } | {
307
+ readonly id: 11;
308
+ readonly name: "SERVER";
309
+ readonly category: "SERVICING";
310
+ } | {
311
+ readonly id: 12;
312
+ readonly name: "ANALYST";
313
+ readonly category: "THINKING";
314
+ } | {
315
+ readonly id: 13;
316
+ readonly name: "TREASURER";
317
+ readonly category: "THINKING";
318
+ } | {
319
+ readonly id: 14;
320
+ readonly name: "RESTORER";
321
+ readonly category: "REASONING";
322
+ } | {
323
+ readonly id: 15;
324
+ readonly name: "EVALUATOR";
325
+ readonly category: "REASONING";
326
+ } | {
327
+ readonly id: 16;
328
+ readonly name: "EXPLORER";
329
+ readonly category: "REASONING";
330
+ } | {
331
+ readonly id: 17;
332
+ readonly name: "DESIGNER";
333
+ readonly category: "GENERATING IDEA";
334
+ } | {
335
+ readonly id: 18;
336
+ readonly name: "CREATOR";
337
+ readonly category: "GENERATING IDEA";
338
+ } | {
339
+ readonly id: 19;
340
+ readonly name: "SYNTHESIZER";
341
+ readonly category: "GENERATING IDEA";
342
+ } | {
343
+ readonly id: 20;
344
+ readonly name: "MARKETER";
345
+ readonly category: "GENERATING IDEA";
346
+ } | {
347
+ readonly id: 21;
348
+ readonly name: "STRATEGIST";
349
+ readonly category: "GENERATING IDEA";
350
+ } | {
351
+ readonly id: 22;
352
+ readonly name: "VISIONARY";
353
+ readonly category: "GENERATING IDEA";
354
+ } | {
355
+ readonly id: 23;
356
+ readonly name: "JOURNALIST";
357
+ readonly category: "ELEMENTARY";
358
+ } | {
359
+ readonly id: 24;
360
+ readonly name: "INTERPRETER";
361
+ readonly category: "ELEMENTARY";
362
+ } | {
363
+ readonly id: 25;
364
+ readonly name: "ADMINISTRATOR";
365
+ readonly category: "ELEMENTARY";
366
+ } | {
367
+ readonly id: 26;
368
+ readonly name: "SAFEKEEPER";
369
+ readonly category: "TECHNICAL";
370
+ } | {
371
+ readonly id: 27;
372
+ readonly name: "PRODUCER";
373
+ readonly category: "TECHNICAL";
374
+ } | {
375
+ readonly id: 28;
376
+ readonly name: "QUALITY CONTROLLER";
377
+ readonly category: "TECHNICAL";
378
+ } | {
379
+ readonly id: 29;
380
+ readonly name: "DISTRIBUTOR";
381
+ readonly category: "TECHNICAL";
382
+ } | {
383
+ readonly id: 30;
384
+ readonly name: "OPERATOR";
385
+ readonly category: "TECHNICAL";
386
+ } | undefined;
387
+ /**
388
+ * Gets all typologies in a specific category
389
+ */
390
+ export declare function getTypologiesByCategory(category: string): ({
391
+ readonly id: 1;
392
+ readonly name: "ARRANGER";
393
+ readonly category: "HEADMAN";
394
+ } | {
395
+ readonly id: 2;
396
+ readonly name: "SELLER";
397
+ readonly category: "HEADMAN";
398
+ } | {
399
+ readonly id: 3;
400
+ readonly name: "COMMANDER";
401
+ readonly category: "HEADMAN";
402
+ } | {
403
+ readonly id: 4;
404
+ readonly name: "MEDIATOR";
405
+ readonly category: "HEADMAN";
406
+ } | {
407
+ readonly id: 5;
408
+ readonly name: "SELECTOR";
409
+ readonly category: "HEADMAN";
410
+ } | {
411
+ readonly id: 6;
412
+ readonly name: "AMBASADOR";
413
+ readonly category: "NETWORKING";
414
+ } | {
415
+ readonly id: 7;
416
+ readonly name: "COMMUNICATOR";
417
+ readonly category: "NETWORKING";
418
+ } | {
419
+ readonly id: 8;
420
+ readonly name: "EDUCATOR";
421
+ readonly category: "NETWORKING";
422
+ } | {
423
+ readonly id: 9;
424
+ readonly name: "MOTIVATOR";
425
+ readonly category: "NETWORKING";
426
+ } | {
427
+ readonly id: 10;
428
+ readonly name: "CARETAKER";
429
+ readonly category: "SERVICING";
430
+ } | {
431
+ readonly id: 11;
432
+ readonly name: "SERVER";
433
+ readonly category: "SERVICING";
434
+ } | {
435
+ readonly id: 12;
436
+ readonly name: "ANALYST";
437
+ readonly category: "THINKING";
438
+ } | {
439
+ readonly id: 13;
440
+ readonly name: "TREASURER";
441
+ readonly category: "THINKING";
442
+ } | {
443
+ readonly id: 14;
444
+ readonly name: "RESTORER";
445
+ readonly category: "REASONING";
446
+ } | {
447
+ readonly id: 15;
448
+ readonly name: "EVALUATOR";
449
+ readonly category: "REASONING";
450
+ } | {
451
+ readonly id: 16;
452
+ readonly name: "EXPLORER";
453
+ readonly category: "REASONING";
454
+ } | {
455
+ readonly id: 17;
456
+ readonly name: "DESIGNER";
457
+ readonly category: "GENERATING IDEA";
458
+ } | {
459
+ readonly id: 18;
460
+ readonly name: "CREATOR";
461
+ readonly category: "GENERATING IDEA";
462
+ } | {
463
+ readonly id: 19;
464
+ readonly name: "SYNTHESIZER";
465
+ readonly category: "GENERATING IDEA";
466
+ } | {
467
+ readonly id: 20;
468
+ readonly name: "MARKETER";
469
+ readonly category: "GENERATING IDEA";
470
+ } | {
471
+ readonly id: 21;
472
+ readonly name: "STRATEGIST";
473
+ readonly category: "GENERATING IDEA";
474
+ } | {
475
+ readonly id: 22;
476
+ readonly name: "VISIONARY";
477
+ readonly category: "GENERATING IDEA";
478
+ } | {
479
+ readonly id: 23;
480
+ readonly name: "JOURNALIST";
481
+ readonly category: "ELEMENTARY";
482
+ } | {
483
+ readonly id: 24;
484
+ readonly name: "INTERPRETER";
485
+ readonly category: "ELEMENTARY";
486
+ } | {
487
+ readonly id: 25;
488
+ readonly name: "ADMINISTRATOR";
489
+ readonly category: "ELEMENTARY";
490
+ } | {
491
+ readonly id: 26;
492
+ readonly name: "SAFEKEEPER";
493
+ readonly category: "TECHNICAL";
494
+ } | {
495
+ readonly id: 27;
496
+ readonly name: "PRODUCER";
497
+ readonly category: "TECHNICAL";
498
+ } | {
499
+ readonly id: 28;
500
+ readonly name: "QUALITY CONTROLLER";
501
+ readonly category: "TECHNICAL";
502
+ } | {
503
+ readonly id: 29;
504
+ readonly name: "DISTRIBUTOR";
505
+ readonly category: "TECHNICAL";
506
+ } | {
507
+ readonly id: 30;
508
+ readonly name: "OPERATOR";
509
+ readonly category: "TECHNICAL";
510
+ })[];
511
+ /**
512
+ * Validates if a typology name exists in definitions
513
+ */
514
+ export declare function isValidTypologyName(name: string): boolean;
515
+ /**
516
+ * Validates if a typology ID exists in definitions
517
+ */
518
+ export declare function isValidTypologyId(id: number): boolean;
519
+ //# sourceMappingURL=typology-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typology-definitions.d.ts","sourceRoot":"","sources":["../../src/constants/typology-definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAE7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD"}