superskills 0.1.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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +363 -0
  3. package/bin/superskills +6 -0
  4. package/dist/catalog/index.d.ts +11 -0
  5. package/dist/catalog/index.d.ts.map +1 -0
  6. package/dist/catalog/index.js +203 -0
  7. package/dist/catalog/index.js.map +1 -0
  8. package/dist/catalog/tools-catalog.json +243 -0
  9. package/dist/catalog/types.d.ts +59 -0
  10. package/dist/catalog/types.d.ts.map +1 -0
  11. package/dist/catalog/types.js +2 -0
  12. package/dist/catalog/types.js.map +1 -0
  13. package/dist/catalog/ui.d.ts +4 -0
  14. package/dist/catalog/ui.d.ts.map +1 -0
  15. package/dist/catalog/ui.js +86 -0
  16. package/dist/catalog/ui.js.map +1 -0
  17. package/dist/cli/colors.d.ts +8 -0
  18. package/dist/cli/colors.d.ts.map +1 -0
  19. package/dist/cli/colors.js +11 -0
  20. package/dist/cli/colors.js.map +1 -0
  21. package/dist/discovery/analyze.d.ts +5 -0
  22. package/dist/discovery/analyze.d.ts.map +1 -0
  23. package/dist/discovery/analyze.js +190 -0
  24. package/dist/discovery/analyze.js.map +1 -0
  25. package/dist/discovery/core.d.ts +16 -0
  26. package/dist/discovery/core.d.ts.map +1 -0
  27. package/dist/discovery/core.js +51 -0
  28. package/dist/discovery/core.js.map +1 -0
  29. package/dist/discovery/index.d.ts +4 -0
  30. package/dist/discovery/index.d.ts.map +1 -0
  31. package/dist/discovery/index.js +233 -0
  32. package/dist/discovery/index.js.map +1 -0
  33. package/dist/discovery/schema.d.ts +111 -0
  34. package/dist/discovery/schema.d.ts.map +1 -0
  35. package/dist/discovery/schema.js +87 -0
  36. package/dist/discovery/schema.js.map +1 -0
  37. package/dist/discovery/types.d.ts +56 -0
  38. package/dist/discovery/types.d.ts.map +1 -0
  39. package/dist/discovery/types.js +2 -0
  40. package/dist/discovery/types.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +523 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/scaffold/index.d.ts +4 -0
  46. package/dist/scaffold/index.d.ts.map +1 -0
  47. package/dist/scaffold/index.js +262 -0
  48. package/dist/scaffold/index.js.map +1 -0
  49. package/dist/scaffold/templates/claude-md.d.ts +4 -0
  50. package/dist/scaffold/templates/claude-md.d.ts.map +1 -0
  51. package/dist/scaffold/templates/claude-md.js +229 -0
  52. package/dist/scaffold/templates/claude-md.js.map +1 -0
  53. package/dist/scaffold/templates/claude-settings.d.ts +3 -0
  54. package/dist/scaffold/templates/claude-settings.d.ts.map +1 -0
  55. package/dist/scaffold/templates/claude-settings.js +48 -0
  56. package/dist/scaffold/templates/claude-settings.js.map +1 -0
  57. package/dist/scaffold/templates/env-example.d.ts +3 -0
  58. package/dist/scaffold/templates/env-example.d.ts.map +1 -0
  59. package/dist/scaffold/templates/env-example.js +103 -0
  60. package/dist/scaffold/templates/env-example.js.map +1 -0
  61. package/dist/scaffold/templates/package-json.d.ts +2 -0
  62. package/dist/scaffold/templates/package-json.d.ts.map +1 -0
  63. package/dist/scaffold/templates/package-json.js +56 -0
  64. package/dist/scaffold/templates/package-json.js.map +1 -0
  65. package/dist/scaffold/templates/project-files.d.ts +4 -0
  66. package/dist/scaffold/templates/project-files.d.ts.map +1 -0
  67. package/dist/scaffold/templates/project-files.js +459 -0
  68. package/dist/scaffold/templates/project-files.js.map +1 -0
  69. package/dist/scaffold/templates/skill-agents.d.ts +4 -0
  70. package/dist/scaffold/templates/skill-agents.d.ts.map +1 -0
  71. package/dist/scaffold/templates/skill-agents.js +68 -0
  72. package/dist/scaffold/templates/skill-agents.js.map +1 -0
  73. package/dist/scaffold/templates/skill-commands.d.ts +3 -0
  74. package/dist/scaffold/templates/skill-commands.d.ts.map +1 -0
  75. package/dist/scaffold/templates/skill-commands.js +509 -0
  76. package/dist/scaffold/templates/skill-commands.js.map +1 -0
  77. package/dist/scaffold/templates/teammate-prompts.d.ts +8 -0
  78. package/dist/scaffold/templates/teammate-prompts.d.ts.map +1 -0
  79. package/dist/scaffold/templates/teammate-prompts.js +506 -0
  80. package/dist/scaffold/templates/teammate-prompts.js.map +1 -0
  81. package/dist/scaffold/types.d.ts +68 -0
  82. package/dist/scaffold/types.d.ts.map +1 -0
  83. package/dist/scaffold/types.js +2 -0
  84. package/dist/scaffold/types.js.map +1 -0
  85. package/dist/scaffold/ui.d.ts +5 -0
  86. package/dist/scaffold/ui.d.ts.map +1 -0
  87. package/dist/scaffold/ui.js +127 -0
  88. package/dist/scaffold/ui.js.map +1 -0
  89. package/dist/utils/logger.d.ts +3 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/logger.js +8 -0
  92. package/dist/utils/logger.js.map +1 -0
  93. package/package.json +69 -0
@@ -0,0 +1,16 @@
1
+ import type { DiscoveryInput, DiscoveryResult } from './types.js';
2
+ export declare class ValidationError extends Error {
3
+ errors: Array<{
4
+ path: string;
5
+ message: string;
6
+ }>;
7
+ constructor(errors: Array<{
8
+ path: string;
9
+ message: string;
10
+ }>);
11
+ }
12
+ export declare function processDiscoveryInput(input: DiscoveryInput): Promise<DiscoveryResult>;
13
+ export declare function processRawContent(content: string, contentType: 'text' | 'file', fileName?: string): Promise<DiscoveryResult>;
14
+ export declare function processJsonInput(data: unknown): Promise<DiscoveryResult>;
15
+ export { validateInput, getInputJsonSchema } from './schema.js';
16
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/discovery/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlE,qBAAa,eAAgB,SAAQ,KAAK;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;gBAAhD,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAIpE;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { ZodError } from 'zod';
2
+ import { analyzeDiscoveryInput, analyzeRawContent } from './analyze.js';
3
+ import { validateInput } from './schema.js';
4
+ export class ValidationError extends Error {
5
+ errors;
6
+ constructor(errors) {
7
+ super(`Validation failed: ${errors.map(e => `${e.path}: ${e.message}`).join(', ')}`);
8
+ this.errors = errors;
9
+ this.name = 'ValidationError';
10
+ }
11
+ }
12
+ export async function processDiscoveryInput(input) {
13
+ return analyzeDiscoveryInput(input);
14
+ }
15
+ export async function processRawContent(content, contentType, fileName) {
16
+ return analyzeRawContent(content, contentType, fileName);
17
+ }
18
+ export async function processJsonInput(data) {
19
+ let validated;
20
+ try {
21
+ validated = validateInput(data);
22
+ }
23
+ catch (error) {
24
+ if (error instanceof ZodError) {
25
+ throw new ValidationError(error.issues.map(e => ({
26
+ path: e.path.map(String).join('.'),
27
+ message: e.message
28
+ })));
29
+ }
30
+ throw error;
31
+ }
32
+ const input = {
33
+ projectName: validated.projectName,
34
+ context: {
35
+ forWhom: validated.context.forWhom,
36
+ companyName: validated.context.companyName,
37
+ businessDescription: validated.context.businessDescription,
38
+ industry: validated.context.industry,
39
+ employees: validated.context.employees,
40
+ revenue: validated.context.revenue,
41
+ yearsInBusiness: validated.context.yearsInBusiness
42
+ },
43
+ problem: validated.problem,
44
+ desiredOutcome: validated.desiredOutcome || '',
45
+ currentProcess: validated.currentProcess || [],
46
+ availableData: validated.availableData || []
47
+ };
48
+ return processDiscoveryInput(input);
49
+ }
50
+ export { validateInput, getInputJsonSchema } from './schema.js';
51
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/discovery/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,aAAa,EAAgC,MAAM,aAAa,CAAC;AAE1E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACrB;IAAnB,YAAmB,MAAgD;QACjE,KAAK,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QADpE,WAAM,GAAN,MAAM,CAA0C;QAEjE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAqB;IAErB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,WAA4B,EAC5B,QAAiB;IAEjB,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAa;IAEb,IAAI,SAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClC,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAmB;QAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,OAAO,EAAE;YACP,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO;YAClC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW;YAC1C,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,mBAAmB;YAC1D,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ;YACpC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS;YACtC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO;YAClC,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe;SACnD;QACD,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,EAAE;QAC9C,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,EAAE;QAC9C,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;KAC7C,CAAC;IAEF,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DiscoveryResult } from './types.js';
2
+ export { processJsonInput, getInputJsonSchema, ValidationError } from './core.js';
3
+ export declare function runDiscovery(): Promise<DiscoveryResult | null>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAsC,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElF,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAqDpE"}
@@ -0,0 +1,233 @@
1
+ import * as p from '@clack/prompts';
2
+ import pc from 'picocolors';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { processDiscoveryInput, processRawContent } from './core.js';
6
+ export { processJsonInput, getInputJsonSchema, ValidationError } from './core.js';
7
+ export async function runDiscovery() {
8
+ p.intro(pc.bgCyan(pc.black(' Discovery ')));
9
+ console.log(pc.dim('\n Strategic planning for AI-native projects.\n'));
10
+ if (!process.env.ANTHROPIC_API_KEY) {
11
+ p.log.info(`You need an Anthropic API key for the AI analysis step.\n` +
12
+ pc.dim(` Get one here (free tier available): `) +
13
+ pc.cyan(`https://console.anthropic.com/settings/keys\n`) +
14
+ pc.dim(` To skip this prompt next time: `) +
15
+ pc.cyan(`export ANTHROPIC_API_KEY=sk-ant-...`));
16
+ const key = await p.text({
17
+ message: 'Paste your Anthropic API key:',
18
+ placeholder: 'sk-ant-api03-...',
19
+ validate: (v) => {
20
+ if (!v)
21
+ return 'API key is required. Get one at console.anthropic.com/settings/keys';
22
+ if (!v.startsWith('sk-ant-'))
23
+ return 'Should start with sk-ant-. Check you copied the full key.';
24
+ return undefined;
25
+ }
26
+ });
27
+ if (p.isCancel(key)) {
28
+ p.cancel('Cancelled');
29
+ return null;
30
+ }
31
+ process.env.ANTHROPIC_API_KEY = key;
32
+ }
33
+ const inputMode = await chooseInputMode();
34
+ if (!inputMode)
35
+ return null;
36
+ let result = null;
37
+ if (inputMode === 'paste') {
38
+ result = await handlePasteInput();
39
+ }
40
+ else if (inputMode === 'file') {
41
+ result = await handleFileInput();
42
+ }
43
+ else {
44
+ result = await handleQuestionsInput();
45
+ }
46
+ if (!result)
47
+ return null;
48
+ displayResult(result);
49
+ // Save discovery.json to disk
50
+ const outputPath = path.resolve('discovery.json');
51
+ await fs.writeFile(outputPath, JSON.stringify(result, null, 2));
52
+ p.log.info(`Saved to ${pc.cyan(outputPath)}`);
53
+ p.outro(pc.green('Discovery complete.'));
54
+ return result;
55
+ }
56
+ async function chooseInputMode() {
57
+ const mode = await p.select({
58
+ message: 'How would you like to provide project information?',
59
+ options: [
60
+ { value: 'paste', label: 'Paste text', hint: 'Brief, email, notes' },
61
+ { value: 'file', label: 'Load file', hint: 'Text or Markdown' },
62
+ { value: 'questions', label: 'Answer questions', hint: 'Guided flow' }
63
+ ]
64
+ });
65
+ if (p.isCancel(mode)) {
66
+ p.cancel('Cancelled');
67
+ return null;
68
+ }
69
+ return mode;
70
+ }
71
+ async function handlePasteInput() {
72
+ const content = await p.text({
73
+ message: 'Paste your content:',
74
+ placeholder: 'Brief, requirements, notes...',
75
+ validate: (v) => (!v || v.length < 50) ? 'Provide more detail' : undefined
76
+ });
77
+ if (p.isCancel(content))
78
+ return null;
79
+ return runAnalysis(() => processRawContent(content, 'text'));
80
+ }
81
+ async function handleFileInput() {
82
+ const filePath = await p.text({
83
+ message: 'File path:',
84
+ placeholder: '/path/to/file.md'
85
+ });
86
+ if (p.isCancel(filePath))
87
+ return null;
88
+ const resolved = path.resolve(filePath);
89
+ if (!await fs.pathExists(resolved)) {
90
+ p.log.error(`File not found: ${resolved}`);
91
+ return null;
92
+ }
93
+ const ext = path.extname(resolved).toLowerCase();
94
+ if (!['.txt', '.md', '.markdown'].includes(ext)) {
95
+ p.log.error('Only .txt and .md files supported');
96
+ return null;
97
+ }
98
+ const content = await fs.readFile(resolved, 'utf-8');
99
+ const fileName = path.basename(resolved);
100
+ return runAnalysis(() => processRawContent(content, 'file', fileName));
101
+ }
102
+ async function handleQuestionsInput() {
103
+ const projectName = await p.text({
104
+ message: 'Project name?',
105
+ placeholder: 'e.g., order-automation, sales-copilot'
106
+ });
107
+ if (p.isCancel(projectName))
108
+ return null;
109
+ const context = await collectContext();
110
+ if (!context)
111
+ return null;
112
+ const problem = await p.text({
113
+ message: 'What problem are you solving?',
114
+ placeholder: 'e.g., "4 hours/day spent on manual order processing"',
115
+ validate: (v) => (!v || v.length < 10) ? 'Describe the problem' : undefined
116
+ });
117
+ if (p.isCancel(problem))
118
+ return null;
119
+ const desiredOutcome = await p.text({
120
+ message: 'What does success look like?',
121
+ placeholder: 'e.g., "Orders processed automatically, team focuses on customers"'
122
+ });
123
+ if (p.isCancel(desiredOutcome))
124
+ return null;
125
+ const processText = await p.text({
126
+ message: 'Current process steps? (comma separated)',
127
+ placeholder: 'e.g., "Check email, copy to Excel, verify stock, call supplier"'
128
+ });
129
+ if (p.isCancel(processText))
130
+ return null;
131
+ const dataText = await p.text({
132
+ message: 'What data/systems do you have access to?',
133
+ placeholder: 'e.g., "Gmail, Odoo ERP, supplier portal, Excel files"'
134
+ });
135
+ if (p.isCancel(dataText))
136
+ return null;
137
+ const input = {
138
+ projectName: projectName,
139
+ context,
140
+ problem: problem,
141
+ desiredOutcome: desiredOutcome || '',
142
+ currentProcess: parseList(processText),
143
+ availableData: parseList(dataText)
144
+ };
145
+ return runAnalysis(() => processDiscoveryInput(input));
146
+ }
147
+ async function collectContext() {
148
+ const forWhom = await p.select({
149
+ message: 'Who is this project for?',
150
+ options: [
151
+ { value: 'me', label: 'Me', hint: 'Personal or freelance' },
152
+ { value: 'my_company', label: 'My company', hint: 'Your own business' },
153
+ { value: 'client', label: 'A client', hint: 'External company' }
154
+ ]
155
+ });
156
+ if (p.isCancel(forWhom))
157
+ return null;
158
+ let companyName;
159
+ if (forWhom !== 'me') {
160
+ const name = await p.text({
161
+ message: forWhom === 'client' ? 'Client name?' : 'Company name?',
162
+ placeholder: 'e.g., Acme Corp'
163
+ });
164
+ if (p.isCancel(name))
165
+ return null;
166
+ companyName = name;
167
+ }
168
+ const businessDescription = await p.text({
169
+ message: forWhom === 'me' ? 'What do you do?' : 'What does the company do?',
170
+ placeholder: 'e.g., "B2B hardware distribution, 200 employees, Lombardy"',
171
+ validate: (v) => (!v || v.length < 10) ? 'Describe the business (include industry and size if relevant)' : undefined
172
+ });
173
+ if (p.isCancel(businessDescription))
174
+ return null;
175
+ return {
176
+ forWhom: forWhom,
177
+ companyName: companyName || undefined,
178
+ businessDescription: businessDescription
179
+ };
180
+ }
181
+ async function runAnalysis(analyzeFn) {
182
+ const spinner = p.spinner();
183
+ spinner.start('Generating strategic analysis...');
184
+ try {
185
+ const result = await analyzeFn();
186
+ spinner.stop('Analysis complete');
187
+ return result;
188
+ }
189
+ catch (error) {
190
+ spinner.stop('Analysis failed');
191
+ if (error instanceof Error) {
192
+ if (error.message.includes('ANTHROPIC_API_KEY')) {
193
+ p.log.error('ANTHROPIC_API_KEY required');
194
+ p.log.info('export ANTHROPIC_API_KEY=your-key');
195
+ }
196
+ else {
197
+ p.log.error(error.message);
198
+ }
199
+ }
200
+ return null;
201
+ }
202
+ }
203
+ function displayResult(result) {
204
+ console.log('');
205
+ p.note(pc.bold('Industry Context\n') +
206
+ pc.dim(result.strategicAnalysis.industryContext) + '\n\n' +
207
+ pc.bold('Value Movement\n') +
208
+ pc.dim(result.strategicAnalysis.valueMovement) + '\n\n' +
209
+ pc.bold('Current Position\n') +
210
+ pc.dim(result.strategicAnalysis.currentPosition) + '\n\n' +
211
+ pc.bold('Target Position\n') +
212
+ pc.dim(result.strategicAnalysis.targetPosition) + '\n\n' +
213
+ pc.bold('Opportunities\n') +
214
+ result.strategicAnalysis.opportunities.map(o => pc.dim(`• ${o}`)).join('\n'), 'Strategic Analysis');
215
+ p.note(pc.bold('Enrichment\n') +
216
+ pc.dim(`Data: ${result.eiidMapping.enrichment.existingData.join(', ')}\n`) +
217
+ pc.dim(`Missing: ${result.eiidMapping.enrichment.missingData.join(', ')}\n`) +
218
+ pc.dim(`Sources: ${result.eiidMapping.enrichment.sources.join(', ')}`) + '\n\n' +
219
+ pc.bold('Inference\n') +
220
+ pc.dim(`Patterns: ${result.eiidMapping.inference.patterns.join(', ')}\n`) +
221
+ pc.dim(`Predictions: ${result.eiidMapping.inference.predictions.join(', ')}`) + '\n\n' +
222
+ pc.bold('Interpretation\n') +
223
+ pc.dim(`Insights: ${result.eiidMapping.interpretation.insights.join(', ')}`) + '\n\n' +
224
+ pc.bold('Delivery\n') +
225
+ pc.dim(`Channels: ${result.eiidMapping.delivery.channels.join(', ')}\n`) +
226
+ pc.dim(`Triggers: ${result.eiidMapping.delivery.triggers.join(', ')}`), 'AI-Native Architecture (EIID)');
227
+ }
228
+ function parseList(text) {
229
+ if (!text)
230
+ return [];
231
+ return text.split(/[,\n]/).map(s => s.trim()).filter(s => s.length > 0);
232
+ }
233
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { z } from 'zod';
2
+ export declare const ContextSchema: z.ZodObject<{
3
+ forWhom: z.ZodEnum<{
4
+ me: "me";
5
+ my_company: "my_company";
6
+ client: "client";
7
+ }>;
8
+ companyName: z.ZodOptional<z.ZodString>;
9
+ businessDescription: z.ZodString;
10
+ industry: z.ZodOptional<z.ZodString>;
11
+ employees: z.ZodOptional<z.ZodString>;
12
+ revenue: z.ZodOptional<z.ZodString>;
13
+ yearsInBusiness: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ export declare const DiscoveryInputSchema: z.ZodObject<{
16
+ projectName: z.ZodString;
17
+ context: z.ZodObject<{
18
+ forWhom: z.ZodEnum<{
19
+ me: "me";
20
+ my_company: "my_company";
21
+ client: "client";
22
+ }>;
23
+ companyName: z.ZodOptional<z.ZodString>;
24
+ businessDescription: z.ZodString;
25
+ industry: z.ZodOptional<z.ZodString>;
26
+ employees: z.ZodOptional<z.ZodString>;
27
+ revenue: z.ZodOptional<z.ZodString>;
28
+ yearsInBusiness: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ problem: z.ZodString;
31
+ desiredOutcome: z.ZodDefault<z.ZodOptional<z.ZodString>>;
32
+ currentProcess: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
33
+ availableData: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
34
+ }, z.core.$strip>;
35
+ export declare const EIIDMappingSchema: z.ZodObject<{
36
+ enrichment: z.ZodObject<{
37
+ existingData: z.ZodArray<z.ZodString>;
38
+ missingData: z.ZodArray<z.ZodString>;
39
+ sources: z.ZodArray<z.ZodString>;
40
+ }, z.core.$strip>;
41
+ inference: z.ZodObject<{
42
+ patterns: z.ZodArray<z.ZodString>;
43
+ predictions: z.ZodArray<z.ZodString>;
44
+ anomalies: z.ZodArray<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ interpretation: z.ZodObject<{
47
+ insights: z.ZodArray<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ delivery: z.ZodObject<{
50
+ channels: z.ZodArray<z.ZodString>;
51
+ triggers: z.ZodArray<z.ZodString>;
52
+ }, z.core.$strip>;
53
+ }, z.core.$strip>;
54
+ export declare const StrategicAnalysisSchema: z.ZodObject<{
55
+ industryContext: z.ZodString;
56
+ valueMovement: z.ZodString;
57
+ currentPosition: z.ZodString;
58
+ targetPosition: z.ZodString;
59
+ opportunities: z.ZodArray<z.ZodString>;
60
+ }, z.core.$strip>;
61
+ export declare const DiscoveryResultSchema: z.ZodObject<{
62
+ projectName: z.ZodString;
63
+ context: z.ZodObject<{
64
+ forWhom: z.ZodEnum<{
65
+ me: "me";
66
+ my_company: "my_company";
67
+ client: "client";
68
+ }>;
69
+ companyName: z.ZodOptional<z.ZodString>;
70
+ businessDescription: z.ZodString;
71
+ industry: z.ZodOptional<z.ZodString>;
72
+ employees: z.ZodOptional<z.ZodString>;
73
+ revenue: z.ZodOptional<z.ZodString>;
74
+ yearsInBusiness: z.ZodOptional<z.ZodString>;
75
+ }, z.core.$strip>;
76
+ problem: z.ZodString;
77
+ desiredOutcome: z.ZodString;
78
+ currentProcess: z.ZodArray<z.ZodString>;
79
+ availableData: z.ZodArray<z.ZodString>;
80
+ strategicAnalysis: z.ZodObject<{
81
+ industryContext: z.ZodString;
82
+ valueMovement: z.ZodString;
83
+ currentPosition: z.ZodString;
84
+ targetPosition: z.ZodString;
85
+ opportunities: z.ZodArray<z.ZodString>;
86
+ }, z.core.$strip>;
87
+ eiidMapping: z.ZodObject<{
88
+ enrichment: z.ZodObject<{
89
+ existingData: z.ZodArray<z.ZodString>;
90
+ missingData: z.ZodArray<z.ZodString>;
91
+ sources: z.ZodArray<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ inference: z.ZodObject<{
94
+ patterns: z.ZodArray<z.ZodString>;
95
+ predictions: z.ZodArray<z.ZodString>;
96
+ anomalies: z.ZodArray<z.ZodString>;
97
+ }, z.core.$strip>;
98
+ interpretation: z.ZodObject<{
99
+ insights: z.ZodArray<z.ZodString>;
100
+ }, z.core.$strip>;
101
+ delivery: z.ZodObject<{
102
+ channels: z.ZodArray<z.ZodString>;
103
+ triggers: z.ZodArray<z.ZodString>;
104
+ }, z.core.$strip>;
105
+ }, z.core.$strip>;
106
+ createdAt: z.ZodString;
107
+ }, z.core.$strip>;
108
+ export type ValidatedDiscoveryInput = z.infer<typeof DiscoveryInputSchema>;
109
+ export declare function validateInput(data: unknown): ValidatedDiscoveryInput;
110
+ export declare function getInputJsonSchema(): object;
111
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/discovery/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAQxB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAO/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;iBAkB5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE3E,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,CAEpE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA2B3C"}
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ export const ContextSchema = z.object({
3
+ forWhom: z.enum(['me', 'my_company', 'client']),
4
+ companyName: z.string().optional(),
5
+ businessDescription: z.string().min(10),
6
+ industry: z.string().optional(),
7
+ employees: z.string().optional(),
8
+ revenue: z.string().optional(),
9
+ yearsInBusiness: z.string().optional()
10
+ });
11
+ export const DiscoveryInputSchema = z.object({
12
+ projectName: z.string().min(1),
13
+ context: ContextSchema,
14
+ problem: z.string().min(10),
15
+ desiredOutcome: z.string().optional().default(''),
16
+ currentProcess: z.array(z.string()).optional().default([]),
17
+ availableData: z.array(z.string()).optional().default([])
18
+ });
19
+ export const EIIDMappingSchema = z.object({
20
+ enrichment: z.object({
21
+ existingData: z.array(z.string()),
22
+ missingData: z.array(z.string()),
23
+ sources: z.array(z.string())
24
+ }),
25
+ inference: z.object({
26
+ patterns: z.array(z.string()),
27
+ predictions: z.array(z.string()),
28
+ anomalies: z.array(z.string())
29
+ }),
30
+ interpretation: z.object({
31
+ insights: z.array(z.string())
32
+ }),
33
+ delivery: z.object({
34
+ channels: z.array(z.string()),
35
+ triggers: z.array(z.string())
36
+ })
37
+ });
38
+ export const StrategicAnalysisSchema = z.object({
39
+ industryContext: z.string(),
40
+ valueMovement: z.string(),
41
+ currentPosition: z.string(),
42
+ targetPosition: z.string(),
43
+ opportunities: z.array(z.string())
44
+ });
45
+ export const DiscoveryResultSchema = z.object({
46
+ projectName: z.string(),
47
+ context: ContextSchema,
48
+ problem: z.string(),
49
+ desiredOutcome: z.string(),
50
+ currentProcess: z.array(z.string()),
51
+ availableData: z.array(z.string()),
52
+ strategicAnalysis: StrategicAnalysisSchema,
53
+ eiidMapping: EIIDMappingSchema,
54
+ createdAt: z.string()
55
+ });
56
+ export function validateInput(data) {
57
+ return DiscoveryInputSchema.parse(data);
58
+ }
59
+ export function getInputJsonSchema() {
60
+ return {
61
+ $schema: 'http://json-schema.org/draft-07/schema#',
62
+ title: 'DiscoveryInput',
63
+ type: 'object',
64
+ required: ['projectName', 'context', 'problem'],
65
+ properties: {
66
+ projectName: { type: 'string', minLength: 1 },
67
+ context: {
68
+ type: 'object',
69
+ required: ['forWhom', 'businessDescription'],
70
+ properties: {
71
+ forWhom: { type: 'string', enum: ['me', 'my_company', 'client'] },
72
+ companyName: { type: 'string' },
73
+ businessDescription: { type: 'string', minLength: 10 },
74
+ industry: { type: 'string' },
75
+ employees: { type: 'string' },
76
+ revenue: { type: 'string' },
77
+ yearsInBusiness: { type: 'string' }
78
+ }
79
+ },
80
+ problem: { type: 'string', minLength: 10 },
81
+ desiredOutcome: { type: 'string' },
82
+ currentProcess: { type: 'array', items: { type: 'string' } },
83
+ availableData: { type: 'array', items: { type: 'string' } }
84
+ }
85
+ };
86
+ }
87
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/discovery/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export type InputMode = 'paste' | 'file' | 'questions';
2
+ export interface Context {
3
+ forWhom: 'me' | 'my_company' | 'client';
4
+ companyName?: string;
5
+ businessDescription: string;
6
+ industry?: string;
7
+ employees?: string;
8
+ revenue?: string;
9
+ yearsInBusiness?: string;
10
+ }
11
+ export interface DiscoveryInput {
12
+ projectName: string;
13
+ context: Context;
14
+ problem: string;
15
+ desiredOutcome: string;
16
+ currentProcess: string[];
17
+ availableData: string[];
18
+ }
19
+ export interface EIIDMapping {
20
+ enrichment: {
21
+ existingData: string[];
22
+ missingData: string[];
23
+ sources: string[];
24
+ };
25
+ inference: {
26
+ patterns: string[];
27
+ predictions: string[];
28
+ anomalies: string[];
29
+ };
30
+ interpretation: {
31
+ insights: string[];
32
+ };
33
+ delivery: {
34
+ channels: string[];
35
+ triggers: string[];
36
+ };
37
+ }
38
+ export interface StrategicAnalysis {
39
+ industryContext: string;
40
+ valueMovement: string;
41
+ currentPosition: string;
42
+ targetPosition: string;
43
+ opportunities: string[];
44
+ }
45
+ export interface DiscoveryResult {
46
+ projectName: string;
47
+ context: Context;
48
+ problem: string;
49
+ desiredOutcome: string;
50
+ currentProcess: string[];
51
+ availableData: string[];
52
+ strategicAnalysis: StrategicAnalysis;
53
+ eiidMapping: EIIDMapping;
54
+ createdAt: string;
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,QAAQ,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}