@benchcubed/today-cli 1.0.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.
- package/README.md +296 -0
- package/dist/ai/bedrock-client.d.ts +1 -0
- package/dist/ai/bedrock-client.d.ts.map +1 -0
- package/dist/ai/bedrock-client.js +2 -0
- package/dist/ai/bedrock-client.js.map +1 -0
- package/dist/ai/knowledge-processor.d.ts +1 -0
- package/dist/ai/knowledge-processor.d.ts.map +1 -0
- package/dist/ai/knowledge-processor.js +2 -0
- package/dist/ai/knowledge-processor.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +70 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/ask.d.ts +3 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +217 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/audit.d.ts +3 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +153 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +114 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +72 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/embeddings.d.ts +3 -0
- package/dist/commands/embeddings.d.ts.map +1 -0
- package/dist/commands/embeddings.js +118 -0
- package/dist/commands/embeddings.js.map +1 -0
- package/dist/commands/experts.d.ts +3 -0
- package/dist/commands/experts.d.ts.map +1 -0
- package/dist/commands/experts.js +129 -0
- package/dist/commands/experts.js.map +1 -0
- package/dist/commands/export-import.d.ts +4 -0
- package/dist/commands/export-import.d.ts.map +1 -0
- package/dist/commands/export-import.js +285 -0
- package/dist/commands/export-import.js.map +1 -0
- package/dist/commands/git.d.ts +4 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +274 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/impact.d.ts +3 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +121 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/insights.d.ts +3 -0
- package/dist/commands/insights.d.ts.map +1 -0
- package/dist/commands/insights.js +113 -0
- package/dist/commands/insights.js.map +1 -0
- package/dist/commands/learned.d.ts +3 -0
- package/dist/commands/learned.d.ts.map +1 -0
- package/dist/commands/learned.js +355 -0
- package/dist/commands/learned.js.map +1 -0
- package/dist/commands/onboard.d.ts +3 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +141 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/recent.d.ts +3 -0
- package/dist/commands/recent.d.ts.map +1 -0
- package/dist/commands/recent.js +83 -0
- package/dist/commands/recent.js.map +1 -0
- package/dist/commands/secrets.d.ts +3 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +203 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/stats.d.ts +3 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +120 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +46 -0
- package/dist/config/index.js.map +1 -0
- package/dist/database/migrations.d.ts +13 -0
- package/dist/database/migrations.d.ts.map +1 -0
- package/dist/database/migrations.js +190 -0
- package/dist/database/migrations.js.map +1 -0
- package/dist/database/postgresql.d.ts +92 -0
- package/dist/database/postgresql.d.ts.map +1 -0
- package/dist/database/postgresql.js +382 -0
- package/dist/database/postgresql.js.map +1 -0
- package/dist/database/sqlite.d.ts +54 -0
- package/dist/database/sqlite.d.ts.map +1 -0
- package/dist/database/sqlite.js +337 -0
- package/dist/database/sqlite.js.map +1 -0
- package/dist/lambda/admin.d.ts +3 -0
- package/dist/lambda/admin.d.ts.map +1 -0
- package/dist/lambda/admin.js +818 -0
- package/dist/lambda/admin.js.map +1 -0
- package/dist/lambda/ai-services.d.ts +6 -0
- package/dist/lambda/ai-services.d.ts.map +1 -0
- package/dist/lambda/ai-services.js +472 -0
- package/dist/lambda/ai-services.js.map +1 -0
- package/dist/lambda/analytics.d.ts +3 -0
- package/dist/lambda/analytics.d.ts.map +1 -0
- package/dist/lambda/analytics.js +481 -0
- package/dist/lambda/analytics.js.map +1 -0
- package/dist/lambda/api-router.d.ts +3 -0
- package/dist/lambda/api-router.d.ts.map +1 -0
- package/dist/lambda/api-router.js +162 -0
- package/dist/lambda/api-router.js.map +1 -0
- package/dist/lambda/custom-topics.d.ts +3 -0
- package/dist/lambda/custom-topics.d.ts.map +1 -0
- package/dist/lambda/custom-topics.js +425 -0
- package/dist/lambda/custom-topics.js.map +1 -0
- package/dist/lambda/graph-builder.d.ts +3 -0
- package/dist/lambda/graph-builder.d.ts.map +1 -0
- package/dist/lambda/graph-builder.js +442 -0
- package/dist/lambda/graph-builder.js.map +1 -0
- package/dist/lambda/knowledge-ai.d.ts +3 -0
- package/dist/lambda/knowledge-ai.d.ts.map +1 -0
- package/dist/lambda/knowledge-ai.js +849 -0
- package/dist/lambda/knowledge-ai.js.map +1 -0
- package/dist/lambda/post-confirmation.d.ts +8 -0
- package/dist/lambda/post-confirmation.d.ts.map +1 -0
- package/dist/lambda/post-confirmation.js +92 -0
- package/dist/lambda/post-confirmation.js.map +1 -0
- package/dist/lambda/teams.d.ts +3 -0
- package/dist/lambda/teams.d.ts.map +1 -0
- package/dist/lambda/teams.js +568 -0
- package/dist/lambda/teams.js.map +1 -0
- package/dist/lib/export-helpers.d.ts +5 -0
- package/dist/lib/export-helpers.d.ts.map +1 -0
- package/dist/lib/export-helpers.js +137 -0
- package/dist/lib/export-helpers.js.map +1 -0
- package/dist/lib/import-helpers.d.ts +5 -0
- package/dist/lib/import-helpers.d.ts.map +1 -0
- package/dist/lib/import-helpers.js +185 -0
- package/dist/lib/import-helpers.js.map +1 -0
- package/dist/lib/insights-helpers.d.ts +123 -0
- package/dist/lib/insights-helpers.d.ts.map +1 -0
- package/dist/lib/insights-helpers.js +374 -0
- package/dist/lib/insights-helpers.js.map +1 -0
- package/dist/lib/search-helpers.d.ts +4 -0
- package/dist/lib/search-helpers.d.ts.map +1 -0
- package/dist/lib/search-helpers.js +124 -0
- package/dist/lib/search-helpers.js.map +1 -0
- package/dist/lib/secret-helpers.d.ts +2 -0
- package/dist/lib/secret-helpers.d.ts.map +1 -0
- package/dist/lib/secret-helpers.js +85 -0
- package/dist/lib/secret-helpers.js.map +1 -0
- package/dist/lib/stats-helpers.d.ts +41 -0
- package/dist/lib/stats-helpers.d.ts.map +1 -0
- package/dist/lib/stats-helpers.js +263 -0
- package/dist/lib/stats-helpers.js.map +1 -0
- package/dist/services/aws-api.d.ts +81 -0
- package/dist/services/aws-api.d.ts.map +1 -0
- package/dist/services/aws-api.js +388 -0
- package/dist/services/aws-api.js.map +1 -0
- package/dist/services/bedrock.d.ts +83 -0
- package/dist/services/bedrock.d.ts.map +1 -0
- package/dist/services/bedrock.js +434 -0
- package/dist/services/bedrock.js.map +1 -0
- package/dist/services/commit-learnings.d.ts +25 -0
- package/dist/services/commit-learnings.d.ts.map +1 -0
- package/dist/services/commit-learnings.js +180 -0
- package/dist/services/commit-learnings.js.map +1 -0
- package/dist/services/embedding-storage.d.ts +42 -0
- package/dist/services/embedding-storage.d.ts.map +1 -0
- package/dist/services/embedding-storage.js +124 -0
- package/dist/services/embedding-storage.js.map +1 -0
- package/dist/services/expert-engine.d.ts +21 -0
- package/dist/services/expert-engine.d.ts.map +1 -0
- package/dist/services/expert-engine.js +58 -0
- package/dist/services/expert-engine.js.map +1 -0
- package/dist/services/onboarding-accelerator.d.ts +118 -0
- package/dist/services/onboarding-accelerator.d.ts.map +1 -0
- package/dist/services/onboarding-accelerator.js +403 -0
- package/dist/services/onboarding-accelerator.js.map +1 -0
- package/dist/services/secret-detection.d.ts +46 -0
- package/dist/services/secret-detection.d.ts.map +1 -0
- package/dist/services/secret-detection.js +75 -0
- package/dist/services/secret-detection.js.map +1 -0
- package/dist/services/secret-manager-simple.d.ts +51 -0
- package/dist/services/secret-manager-simple.d.ts.map +1 -0
- package/dist/services/secret-manager-simple.js +119 -0
- package/dist/services/secret-manager-simple.js.map +1 -0
- package/dist/services/secret-manager.d.ts +150 -0
- package/dist/services/secret-manager.d.ts.map +1 -0
- package/dist/services/secret-manager.js +287 -0
- package/dist/services/secret-manager.js.map +1 -0
- package/dist/services/vector-embeddings.d.ts +70 -0
- package/dist/services/vector-embeddings.d.ts.map +1 -0
- package/dist/services/vector-embeddings.js +167 -0
- package/dist/services/vector-embeddings.js.map +1 -0
- package/dist/services/vector-search.d.ts +28 -0
- package/dist/services/vector-search.d.ts.map +1 -0
- package/dist/services/vector-search.js +192 -0
- package/dist/services/vector-search.js.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/formatting.d.ts +10 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +82 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/git.d.ts +52 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +182 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/validation.d.ts +17 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +187 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createExpertsCommand = createExpertsCommand;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const ora_1 = __importDefault(require("ora"));
|
|
43
|
+
const validation_1 = require("../utils/validation");
|
|
44
|
+
const formatting_1 = require("../utils/formatting");
|
|
45
|
+
function createExpertsCommand() {
|
|
46
|
+
const cmd = new commander_1.Command('experts');
|
|
47
|
+
cmd
|
|
48
|
+
.argument('<topic>', 'Topic to find experts for')
|
|
49
|
+
.description('Find team experts on a topic using cloud-based analysis')
|
|
50
|
+
.option('--available', 'Show only available experts')
|
|
51
|
+
.option('--limit <number>', 'Maximum number of experts to show', '5')
|
|
52
|
+
.action(async (topic, options) => {
|
|
53
|
+
const spinner = (0, ora_1.default)(`Finding experts on: "${topic}"`).start();
|
|
54
|
+
try {
|
|
55
|
+
// Check authentication first
|
|
56
|
+
const { awsApiService } = await Promise.resolve().then(() => __importStar(require('../services/aws-api')));
|
|
57
|
+
if (!awsApiService.isAuthenticated()) {
|
|
58
|
+
spinner.fail('Authentication required');
|
|
59
|
+
console.log(chalk_1.default.red('ā You must authenticate first to use expert discovery'));
|
|
60
|
+
console.log(chalk_1.default.gray('š” Run: today auth --username demo-user --password DemoPass123!'));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// Import expert engine (dynamic import to avoid circular dependencies)
|
|
64
|
+
const { expertEngine } = await Promise.resolve().then(() => __importStar(require('../services/expert-engine')));
|
|
65
|
+
spinner.text = 'Analyzing team knowledge with cloud-based AI...';
|
|
66
|
+
const experts = await expertEngine.findExperts(topic, {
|
|
67
|
+
limit: parseInt(options.limit),
|
|
68
|
+
includeAvailability: options.available
|
|
69
|
+
});
|
|
70
|
+
spinner.succeed(`Found ${experts.length} experts on "${topic}"`);
|
|
71
|
+
if (experts.length === 0) {
|
|
72
|
+
console.log(chalk_1.default.yellow(`\nš No experts found for "${topic}"`));
|
|
73
|
+
console.log(chalk_1.default.gray('This could mean:'));
|
|
74
|
+
console.log(chalk_1.default.gray(' ⢠No team members have shared knowledge on this topic yet'));
|
|
75
|
+
console.log(chalk_1.default.gray(' ⢠Try a broader or related topic'));
|
|
76
|
+
console.log(chalk_1.default.gray(' ⢠Be the first to share knowledge: today learned "..."'));
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
console.log(chalk_1.default.green(`\nš„ Team Experts on "${topic}":`));
|
|
80
|
+
console.log('');
|
|
81
|
+
experts.forEach((expert, index) => {
|
|
82
|
+
const expertiseColor = expert.expertiseScore >= 8 ? chalk_1.default.green :
|
|
83
|
+
expert.expertiseScore >= 6 ? chalk_1.default.yellow : chalk_1.default.gray;
|
|
84
|
+
console.log(chalk_1.default.cyan(`${index + 1}. ${expert.name}`));
|
|
85
|
+
console.log(chalk_1.default.gray(` User ID: ${expert.userId}`));
|
|
86
|
+
console.log(expertiseColor(` Expertise Score: ${expert.expertiseScore.toFixed(1)}/10`));
|
|
87
|
+
console.log(chalk_1.default.gray(` Last Active: ${expert.lastActive.toLocaleDateString()}`));
|
|
88
|
+
if (expert.relevantEntries.length > 0) {
|
|
89
|
+
console.log(chalk_1.default.gray(` Recent Knowledge (${expert.relevantEntries.length} entries):`));
|
|
90
|
+
expert.relevantEntries.slice(0, 2).forEach(entry => {
|
|
91
|
+
const preview = entry.content.length > 60
|
|
92
|
+
? entry.content.substring(0, 60) + '...'
|
|
93
|
+
: entry.content;
|
|
94
|
+
console.log(chalk_1.default.gray(` ⢠${preview}`));
|
|
95
|
+
console.log(chalk_1.default.blue(` Impact: ${entry.impactScore.toFixed(1)}/10, ${entry.timeSavedMinutes}min saved`));
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
console.log('');
|
|
99
|
+
});
|
|
100
|
+
// Show connection suggestions
|
|
101
|
+
const topExpert = experts[0];
|
|
102
|
+
if (topExpert) {
|
|
103
|
+
console.log(chalk_1.default.cyan('š” Suggested next steps:'));
|
|
104
|
+
console.log(chalk_1.default.gray(` ⢠Reach out to ${topExpert.name} for guidance on ${topic}`));
|
|
105
|
+
console.log(chalk_1.default.gray(` ⢠Review their knowledge entries for insights`));
|
|
106
|
+
console.log(chalk_1.default.gray(` ⢠Share your own learning: today learned "..."`));
|
|
107
|
+
}
|
|
108
|
+
console.log(chalk_1.default.green('\nš¤ Powered by cloud-based AI expert discovery'));
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
spinner.fail('Expert discovery failed');
|
|
112
|
+
if (error instanceof validation_1.ValidationError) {
|
|
113
|
+
console.error((0, formatting_1.formatErrorMessage)(error));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
console.error((0, formatting_1.formatErrorMessage)(error));
|
|
117
|
+
if (error instanceof Error && error.message.includes('not available')) {
|
|
118
|
+
console.log(chalk_1.default.yellow('\nš” Troubleshooting:'));
|
|
119
|
+
console.log(chalk_1.default.gray(' ⢠Check your internet connection'));
|
|
120
|
+
console.log(chalk_1.default.gray(' ⢠Verify AWS services are accessible'));
|
|
121
|
+
console.log(chalk_1.default.gray(' ⢠Try authenticating again: today auth'));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return cmd;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=experts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experts.js","sourceRoot":"","sources":["../../src/commands/experts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-import.d.ts","sourceRoot":"","sources":["../../src/commands/export-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgG7C;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAwL7C"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createExportCommand = createExportCommand;
|
|
40
|
+
exports.createImportCommand = createImportCommand;
|
|
41
|
+
const commander_1 = require("commander");
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const ora_1 = __importDefault(require("ora"));
|
|
44
|
+
const fs = __importStar(require("fs"));
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const crypto = __importStar(require("crypto"));
|
|
47
|
+
const config_1 = require("../config");
|
|
48
|
+
const formatting_1 = require("../utils/formatting");
|
|
49
|
+
const vector_embeddings_1 = require("../services/vector-embeddings");
|
|
50
|
+
const export_helpers_1 = require("../lib/export-helpers");
|
|
51
|
+
const import_helpers_1 = require("../lib/import-helpers");
|
|
52
|
+
function createExportCommand() {
|
|
53
|
+
const cmd = new commander_1.Command('export');
|
|
54
|
+
cmd
|
|
55
|
+
.argument('<filename>', 'Output filename')
|
|
56
|
+
.description('Export knowledge base to file for sharing or backup')
|
|
57
|
+
.option('--format <format>', 'Export format (json, csv, markdown)', 'json')
|
|
58
|
+
.option('--include-embeddings', 'Include vector embeddings in export (json only)')
|
|
59
|
+
.option('--team', 'Export team-wide knowledge')
|
|
60
|
+
.action(async (filename, options) => {
|
|
61
|
+
const spinner = (0, ora_1.default)('Preparing knowledge base export...').start();
|
|
62
|
+
try {
|
|
63
|
+
// Check authentication first
|
|
64
|
+
const { awsApiService } = await Promise.resolve().then(() => __importStar(require('../services/aws-api')));
|
|
65
|
+
if (!awsApiService.isAuthenticated()) {
|
|
66
|
+
spinner.fail('Authentication required');
|
|
67
|
+
console.log(chalk_1.default.red('ā You must authenticate first to export knowledge'));
|
|
68
|
+
console.log(chalk_1.default.gray('š” Run: today auth --username demo-user --password DemoPass123!'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
spinner.text = 'Fetching knowledge entries from cloud...';
|
|
72
|
+
// Get entries from cloud backend
|
|
73
|
+
const allEntries = await awsApiService.getKnowledgeEntries(1000);
|
|
74
|
+
if (allEntries.length === 0) {
|
|
75
|
+
spinner.succeed('Export complete');
|
|
76
|
+
console.log(chalk_1.default.yellow('š¦ No knowledge entries found to export'));
|
|
77
|
+
console.log(chalk_1.default.gray('š” Start capturing knowledge with: today learned "Your learning here"'));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const userId = config_1.configManager.getConfig().userId || 'demo_user';
|
|
81
|
+
const teamId = config_1.configManager.getConfig().teamId || 'demo_team';
|
|
82
|
+
// Filter entries based on scope
|
|
83
|
+
let entriesToExport = options.team
|
|
84
|
+
? allEntries.filter(entry => entry.teamId === teamId)
|
|
85
|
+
: allEntries.filter(entry => entry.authorId === userId);
|
|
86
|
+
// If no entries match the config, use all entries (for demo purposes)
|
|
87
|
+
if (entriesToExport.length === 0 && allEntries.length > 0) {
|
|
88
|
+
entriesToExport = allEntries;
|
|
89
|
+
}
|
|
90
|
+
spinner.text = `Exporting ${entriesToExport.length} entries to ${options.format.toUpperCase()}...`;
|
|
91
|
+
// Create export data
|
|
92
|
+
const exportData = await (0, export_helpers_1.createKnowledgeBaseExport)(entriesToExport, options);
|
|
93
|
+
// Write to file based on format
|
|
94
|
+
let finalFilename = filename;
|
|
95
|
+
if (!path.extname(finalFilename)) {
|
|
96
|
+
finalFilename += `.${options.format}`;
|
|
97
|
+
}
|
|
98
|
+
if (options.format === 'json') {
|
|
99
|
+
fs.writeFileSync(finalFilename, JSON.stringify(exportData, null, 2));
|
|
100
|
+
}
|
|
101
|
+
else if (options.format === 'csv') {
|
|
102
|
+
const csvContent = (0, export_helpers_1.convertToCSV)(exportData.entries);
|
|
103
|
+
fs.writeFileSync(finalFilename, csvContent);
|
|
104
|
+
}
|
|
105
|
+
else if (options.format === 'markdown') {
|
|
106
|
+
const markdownContent = (0, export_helpers_1.convertToMarkdown)(exportData);
|
|
107
|
+
fs.writeFileSync(finalFilename, markdownContent);
|
|
108
|
+
}
|
|
109
|
+
spinner.succeed(`Knowledge base exported successfully!`);
|
|
110
|
+
console.log(chalk_1.default.green(`š¦ Export Summary:`));
|
|
111
|
+
console.log(chalk_1.default.gray(` File: ${finalFilename}`));
|
|
112
|
+
console.log(chalk_1.default.gray(` Format: ${options.format.toUpperCase()}`));
|
|
113
|
+
console.log(chalk_1.default.gray(` Entries: ${exportData.entries.length}`));
|
|
114
|
+
console.log(chalk_1.default.gray(` Size: ${(fs.statSync(finalFilename).size / 1024).toFixed(1)} KB`));
|
|
115
|
+
if (options.includeEmbeddings && options.format === 'json') {
|
|
116
|
+
console.log(chalk_1.default.blue('š Vector embeddings included for semantic search portability'));
|
|
117
|
+
}
|
|
118
|
+
console.log(chalk_1.default.green('āļø Data exported from AWS cloud knowledge base'));
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
spinner.fail('Export failed');
|
|
122
|
+
console.error((0, formatting_1.formatErrorMessage)(error));
|
|
123
|
+
if (error instanceof Error && error.message.includes('Authentication')) {
|
|
124
|
+
console.log(chalk_1.default.yellow('\nš” Make sure you are authenticated:'));
|
|
125
|
+
console.log(chalk_1.default.gray(' today auth --username demo-user --password DemoPass123!'));
|
|
126
|
+
}
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return cmd;
|
|
131
|
+
}
|
|
132
|
+
function createImportCommand() {
|
|
133
|
+
const cmd = new commander_1.Command('import');
|
|
134
|
+
cmd
|
|
135
|
+
.argument('<filename>', 'Input filename')
|
|
136
|
+
.description('Import knowledge base from file')
|
|
137
|
+
.option('--format <format>', 'Import format (json, csv, markdown, auto)', 'auto')
|
|
138
|
+
.option('--regenerate-embeddings', 'Regenerate embeddings for imported content')
|
|
139
|
+
.option('--merge-strategy <strategy>', 'Merge strategy (append, replace, skip-duplicates)', 'skip-duplicates')
|
|
140
|
+
.option('--dry-run', 'Preview import without making changes')
|
|
141
|
+
.action(async (filename, options) => {
|
|
142
|
+
const spinner = (0, ora_1.default)('Preparing knowledge base import...').start();
|
|
143
|
+
try {
|
|
144
|
+
// Check authentication first
|
|
145
|
+
const { awsApiService } = await Promise.resolve().then(() => __importStar(require('../services/aws-api')));
|
|
146
|
+
if (!awsApiService.isAuthenticated()) {
|
|
147
|
+
spinner.fail('Authentication required');
|
|
148
|
+
console.log(chalk_1.default.red('ā You must authenticate first to import knowledge'));
|
|
149
|
+
console.log(chalk_1.default.gray('š” Run: today auth --username demo-user --password DemoPass123!'));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
// Check if file exists
|
|
153
|
+
if (!fs.existsSync(filename)) {
|
|
154
|
+
spinner.fail('File not found');
|
|
155
|
+
console.log(chalk_1.default.red(`ā File not found: ${filename}`));
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
spinner.text = 'Reading import file...';
|
|
159
|
+
// Auto-detect format if needed
|
|
160
|
+
let format = options.format;
|
|
161
|
+
if (format === 'auto') {
|
|
162
|
+
const ext = path.extname(filename).toLowerCase();
|
|
163
|
+
format = ext === '.json' ? 'json' : ext === '.csv' ? 'csv' : ext === '.md' ? 'markdown' : 'json';
|
|
164
|
+
}
|
|
165
|
+
// Read file content
|
|
166
|
+
const fileContent = fs.readFileSync(filename, 'utf-8');
|
|
167
|
+
// Parse import data
|
|
168
|
+
const importData = await (0, import_helpers_1.parseImportFile)(fileContent, format);
|
|
169
|
+
if (!importData || !importData.entries || importData.entries.length === 0) {
|
|
170
|
+
spinner.fail('No valid entries found in import file');
|
|
171
|
+
console.log(chalk_1.default.yellow('š¦ No valid knowledge entries found to import'));
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
spinner.text = `Processing ${importData.entries.length} entries for import...`;
|
|
175
|
+
// Get existing entries for duplicate detection
|
|
176
|
+
const existingEntries = await awsApiService.getKnowledgeEntries(1000);
|
|
177
|
+
const existingContentHashes = new Set(existingEntries.map((entry) => crypto.createHash('sha256').update(entry.content).digest('hex')));
|
|
178
|
+
// Filter entries based on merge strategy
|
|
179
|
+
let entriesToImport = importData.entries;
|
|
180
|
+
let skippedDuplicates = 0;
|
|
181
|
+
if (options.mergeStrategy === 'skip-duplicates') {
|
|
182
|
+
entriesToImport = importData.entries.filter((entry) => {
|
|
183
|
+
const contentHash = crypto.createHash('sha256').update(entry.content).digest('hex');
|
|
184
|
+
const isDuplicate = existingContentHashes.has(contentHash);
|
|
185
|
+
if (isDuplicate)
|
|
186
|
+
skippedDuplicates++;
|
|
187
|
+
return !isDuplicate;
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (options.dryRun) {
|
|
191
|
+
spinner.succeed('Import preview complete');
|
|
192
|
+
console.log(chalk_1.default.blue('š Import Preview:'));
|
|
193
|
+
console.log(chalk_1.default.gray(` File: ${filename}`));
|
|
194
|
+
console.log(chalk_1.default.gray(` Format: ${format.toUpperCase()}`));
|
|
195
|
+
console.log(chalk_1.default.gray(` Total entries in file: ${importData.entries.length}`));
|
|
196
|
+
console.log(chalk_1.default.gray(` Entries to import: ${entriesToImport.length}`));
|
|
197
|
+
console.log(chalk_1.default.gray(` Skipped duplicates: ${skippedDuplicates}`));
|
|
198
|
+
console.log(chalk_1.default.gray(` Merge strategy: ${options.mergeStrategy}`));
|
|
199
|
+
if (options.regenerateEmbeddings) {
|
|
200
|
+
console.log(chalk_1.default.blue('š Vector embeddings will be regenerated for all imported entries'));
|
|
201
|
+
}
|
|
202
|
+
console.log(chalk_1.default.cyan('\nš” Run without --dry-run to perform the actual import'));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (entriesToImport.length === 0) {
|
|
206
|
+
spinner.succeed('Import complete - no new entries');
|
|
207
|
+
console.log(chalk_1.default.yellow('š¦ All entries already exist (use --merge-strategy replace to overwrite)'));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
spinner.text = `Importing ${entriesToImport.length} entries to cloud...`;
|
|
211
|
+
// Import entries in batches
|
|
212
|
+
const batchSize = 10;
|
|
213
|
+
let imported = 0;
|
|
214
|
+
let failed = 0;
|
|
215
|
+
for (let i = 0; i < entriesToImport.length; i += batchSize) {
|
|
216
|
+
const batch = entriesToImport.slice(i, i + batchSize);
|
|
217
|
+
spinner.text = `Importing batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(entriesToImport.length / batchSize)} (${imported}/${entriesToImport.length} entries)`;
|
|
218
|
+
for (const entry of batch) {
|
|
219
|
+
try {
|
|
220
|
+
// Transform entry to match expected format
|
|
221
|
+
const transformedEntry = {
|
|
222
|
+
content: entry.content,
|
|
223
|
+
authorId: entry.authorId || config_1.configManager.getConfig().userId || 'imported_user',
|
|
224
|
+
teamId: entry.teamId || config_1.configManager.getConfig().teamId || 'imported_team',
|
|
225
|
+
aiTopics: entry.aiTopics || [],
|
|
226
|
+
expertiseLevel: entry.expertiseLevel || 'intermediate',
|
|
227
|
+
impactScore: entry.impactScore || 5,
|
|
228
|
+
helpfulnessRating: entry.helpfulnessRating || 0,
|
|
229
|
+
timeSavedMinutes: entry.timeSavedMinutes || 15,
|
|
230
|
+
viewCount: entry.viewCount || 0,
|
|
231
|
+
shareCount: entry.shareCount || 0,
|
|
232
|
+
questionsAnswered: entry.questionsAnswered || 0,
|
|
233
|
+
onboardingRelevance: entry.onboardingRelevance || false
|
|
234
|
+
};
|
|
235
|
+
const entryId = await awsApiService.submitKnowledgeEntry(transformedEntry);
|
|
236
|
+
// Generate embedding if requested
|
|
237
|
+
if (options.regenerateEmbeddings && entryId) {
|
|
238
|
+
try {
|
|
239
|
+
const embeddingAvailable = await vector_embeddings_1.vectorEmbeddingService.isAvailable();
|
|
240
|
+
if (embeddingAvailable) {
|
|
241
|
+
await vector_embeddings_1.vectorEmbeddingService.generateEmbedding(entry.content);
|
|
242
|
+
// Note: In production, this would be stored with the entry ID
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch (embeddingError) {
|
|
246
|
+
console.warn(`Failed to generate embedding for imported entry: ${entry.content.substring(0, 50)}...`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
imported++;
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
console.warn(`Failed to import entry: ${entry.content.substring(0, 50)}...`, error);
|
|
253
|
+
failed++;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Rate limiting between batches
|
|
257
|
+
if (i + batchSize < entriesToImport.length) {
|
|
258
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
spinner.succeed(`Knowledge base import complete!`);
|
|
262
|
+
console.log(chalk_1.default.green(`š¦ Import Summary:`));
|
|
263
|
+
console.log(chalk_1.default.gray(` File: ${filename}`));
|
|
264
|
+
console.log(chalk_1.default.gray(` Format: ${format.toUpperCase()}`));
|
|
265
|
+
console.log(chalk_1.default.gray(` Successfully imported: ${imported} entries`));
|
|
266
|
+
console.log(chalk_1.default.gray(` Skipped duplicates: ${skippedDuplicates}`));
|
|
267
|
+
console.log(chalk_1.default.gray(` Failed imports: ${failed}`));
|
|
268
|
+
if (options.regenerateEmbeddings && imported > 0) {
|
|
269
|
+
console.log(chalk_1.default.blue('š Vector embeddings generated for imported entries - semantic search enabled'));
|
|
270
|
+
}
|
|
271
|
+
console.log(chalk_1.default.green('āļø Data imported to AWS cloud knowledge base'));
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
spinner.fail('Import failed');
|
|
275
|
+
console.error((0, formatting_1.formatErrorMessage)(error));
|
|
276
|
+
if (error instanceof Error && error.message.includes('Authentication')) {
|
|
277
|
+
console.log(chalk_1.default.yellow('\nš” Make sure you are authenticated:'));
|
|
278
|
+
console.log(chalk_1.default.gray(' today auth --username demo-user --password DemoPass123!'));
|
|
279
|
+
}
|
|
280
|
+
process.exit(1);
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
return cmd;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=export-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-import.js","sourceRoot":"","sources":["../../src/commands/export-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,4BAA4B,IAAI,OAAO,CAiHtD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAwI9C"}
|