psadk 1.2.4 → 1.3.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 (55) hide show
  1. package/build/main/lib/PSAI.d.ts +14 -1
  2. package/build/main/lib/PSAI.js +54 -7
  3. package/build/main/lib/PSAgent.js +2 -1
  4. package/build/main/lib/PSAgentLogger.js +3 -3
  5. package/build/main/lib/skills/constants.d.ts +12 -0
  6. package/build/main/lib/skills/constants.js +24 -0
  7. package/build/main/lib/skills/skillParser.d.ts +10 -0
  8. package/build/main/lib/skills/skillParser.js +40 -0
  9. package/build/main/lib/skills/skillsXMLMetaDataGenerator.d.ts +9 -0
  10. package/build/main/lib/skills/skillsXMLMetaDataGenerator.js +80 -0
  11. package/build/main/lib/skills/utils.d.ts +10 -0
  12. package/build/main/lib/skills/utils.js +48 -0
  13. package/build/main/lib/tools/PSClarifyTool.js +3 -1
  14. package/build/module/lib/PSAI.d.ts +14 -1
  15. package/build/module/lib/PSAI.js +58 -2
  16. package/build/module/lib/PSAgent.js +2 -1
  17. package/build/module/lib/PSAgentLogger.js +3 -3
  18. package/build/module/lib/skills/constants.d.ts +12 -0
  19. package/build/module/lib/skills/constants.js +26 -0
  20. package/build/module/lib/skills/skillParser.d.ts +10 -0
  21. package/build/module/lib/skills/skillParser.js +40 -0
  22. package/build/module/lib/skills/skillsXMLMetaDataGenerator.d.ts +9 -0
  23. package/build/module/lib/skills/skillsXMLMetaDataGenerator.js +80 -0
  24. package/build/module/lib/skills/utils.d.ts +10 -0
  25. package/build/module/lib/skills/utils.js +48 -0
  26. package/build/module/lib/tools/PSClarifyTool.js +3 -1
  27. package/package.json +17 -17
  28. package/build/main/lib/ILogger.d.ts +0 -9
  29. package/build/main/lib/ILogger.js +0 -25
  30. package/build/main/lib/ai.d.ts +0 -11
  31. package/build/main/lib/ai.js +0 -127
  32. package/build/main/lib/async.d.ts +0 -20
  33. package/build/main/lib/async.js +0 -36
  34. package/build/main/lib/getServiceToken.d.ts +0 -1
  35. package/build/main/lib/getServiceToken.js +0 -3
  36. package/build/main/lib/number.d.ts +0 -43
  37. package/build/main/lib/number.js +0 -56
  38. package/build/main/lib/tests/PSAgent.spec copy.d.ts +0 -1
  39. package/build/main/lib/tests/PSAgent.spec copy.js +0 -53
  40. package/build/main/lib/tests/PSReadFileTool.spec copy.d.ts +0 -1
  41. package/build/main/lib/tests/PSReadFileTool.spec copy.js +0 -92
  42. package/build/main/lib/tools/PSAentTool.d.ts +0 -7
  43. package/build/main/lib/tools/PSAentTool.js +0 -78
  44. package/build/main/lib/tools/PSArtifactTool copy.d.ts +0 -7
  45. package/build/main/lib/tools/PSArtifactTool copy.js +0 -78
  46. package/build/main/lib/tools/ReadFileTool.d.ts +0 -10
  47. package/build/main/lib/tools/ReadFileTool.js +0 -68
  48. package/build/main/lib/tools/WebSearchTool.d.ts +0 -9
  49. package/build/main/lib/tools/WebSearchTool.js +0 -92
  50. package/build/main/lib/tools/WriteFileTool.d.ts +0 -10
  51. package/build/main/lib/tools/WriteFileTool.js +0 -74
  52. package/build/module/lib/async.d.ts +0 -20
  53. package/build/module/lib/async.js +0 -32
  54. package/build/module/lib/number.d.ts +0 -43
  55. package/build/module/lib/number.js +0 -51
@@ -28,7 +28,7 @@ class PSAgentLogger {
28
28
  const logId = PSAgentLogger.id++;
29
29
  if (this.logFilePath) {
30
30
  const now = Date.now();
31
- node_fs_1.default.appendFileSync(this.logFilePath, `data: ${JSON.stringify({
31
+ node_fs_1.default.appendFileSync(this.logFilePath, `${JSON.stringify({
32
32
  id: logId,
33
33
  ts: type === 'todo' ? 0 : now,
34
34
  type,
@@ -36,7 +36,7 @@ class PSAgentLogger {
36
36
  task: this.task,
37
37
  message,
38
38
  params: { ...optionalParams },
39
- })}\n\n`, { encoding: 'utf-8' });
39
+ })}\n`, { encoding: 'utf-8' });
40
40
  return logId;
41
41
  }
42
42
  switch (type) {
@@ -74,4 +74,4 @@ class PSAgentLogger {
74
74
  }
75
75
  }
76
76
  exports.PSAgentLogger = PSAgentLogger;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudExvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvUFNBZ2VudExvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsc0RBQXlCO0FBRXpCLHNFQUE4QztBQUk5QyxNQUFhLGFBQWE7SUFDeEIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDVCxLQUFLLEdBQUcsSUFBQSxxQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BCLFdBQVcsQ0FBcUI7SUFDekMsTUFBTSxDQUFVO0lBQ2hCLElBQUksQ0FBVTtJQUN0QixZQUFZLE9BTVg7UUFDQyxJQUFJLE9BQU8sRUFBRSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEscUJBQVcsRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQVksRUFBRSxHQUFHLGNBQXFCO1FBQ3RELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsaUJBQUUsQ0FBQyxjQUFjLENBQ2YsSUFB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
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudExvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvUFNBZ2VudExvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsc0RBQXlCO0FBRXpCLHNFQUE4QztBQUk5QyxNQUFhLGFBQWE7SUFDeEIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDVCxLQUFLLEdBQUcsSUFBQSxxQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BCLFdBQVcsQ0FBcUI7SUFDekMsTUFBTSxDQUFVO0lBQ2hCLElBQUksQ0FBVTtJQUN0QixZQUFZLE9BTVg7UUFDQyxJQUFJLE9BQU8sRUFBRSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEscUJBQVcsRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQVksRUFBRSxHQUFHLGNBQXFCO1FBQ3RELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsaUJBQUUsQ0FBQyxjQUFjLENBQ2YsSUFB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
@@ -0,0 +1,12 @@
1
+ declare const SKILL_CONSTANTS: {
2
+ SKILL_WATCH_PATTERN: string;
3
+ SKILLS_FOLDER_WATCH_PATTERN: string;
4
+ SLINGSHOT_DIR: string;
5
+ SKILLS_DIR: string;
6
+ GLOBAL_SKILLS_DIR: string;
7
+ SKILL_DEFINITION_FILE: string;
8
+ METADATA_FILE: string;
9
+ CACHE_FILE: string;
10
+ DEBOUNCE_DELAY: number;
11
+ };
12
+ export default SKILL_CONSTANTS;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Constants for the Skills system
5
+ */
6
+ const STATIC_CONSTANTS = {
7
+ // Directory names
8
+ SLINGSHOT_DIR: '.slingshot',
9
+ SKILLS_DIR: 'skills',
10
+ GLOBAL_SKILLS_DIR: 'skills', // For extension global path
11
+ // File names
12
+ SKILL_DEFINITION_FILE: 'SKILL.md',
13
+ METADATA_FILE: 'skills_metadata.xml',
14
+ CACHE_FILE: 'skills_cache.json',
15
+ // Timing
16
+ DEBOUNCE_DELAY: 500, // milliseconds
17
+ };
18
+ const SKILL_CONSTANTS = {
19
+ ...STATIC_CONSTANTS,
20
+ // Computed patterns using the constants
21
+ SKILL_WATCH_PATTERN: `${STATIC_CONSTANTS.SLINGSHOT_DIR}/${STATIC_CONSTANTS.SKILLS_DIR}/**/${STATIC_CONSTANTS.SKILL_DEFINITION_FILE}`,
22
+ // Watch pattern for folder deletions - watch the entire skills directory
23
+ SKILLS_FOLDER_WATCH_PATTERN: `${STATIC_CONSTANTS.SLINGSHOT_DIR}/${STATIC_CONSTANTS.SKILLS_DIR}/**`,
24
+ };
25
+ exports.default = SKILL_CONSTANTS;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9za2lsbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLGtCQUFrQjtJQUNsQixhQUFhLEVBQUUsWUFBWTtJQUMzQixVQUFVLEVBQUUsUUFBUTtJQUNwQixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsNEJBQTRCO0lBRXpELGFBQWE7SUFDYixxQkFBcUIsRUFBRSxVQUFVO0lBQ2pDLGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsVUFBVSxFQUFFLG1CQUFtQjtJQUUvQixTQUFTO0lBQ1QsY0FBYyxFQUFFLEdBQUcsRUFBRSxlQUFlO0NBQ3JDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRztJQUN0QixHQUFHLGdCQUFnQjtJQUNuQix3Q0FBd0M7SUFDeEMsbUJBQW1CLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksZ0JBQWdCLENBQUMsVUFBVSxPQUFPLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFO0lBQ3BJLHlFQUF5RTtJQUN6RSwyQkFBMkIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEtBQUs7Q0FDbkcsQ0FBQztBQUVGLGtCQUFlLGVBQWUsQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses a SKILL.md file to extract metadata for the registry.
3
+ * @param {string} filePath - The absolute path to the SKILL.md file.
4
+ * @returns {Object|null} - Returns { name, description, folderPath } or null if invalid.
5
+ */
6
+ export default function parseSkillMetadata(filePath: string): {
7
+ name: string;
8
+ description: string;
9
+ folderPath: string;
10
+ } | null;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = parseSkillMetadata;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const yaml_1 = __importDefault(require("yaml"));
10
+ /**
11
+ * Parses a SKILL.md file to extract metadata for the registry.
12
+ * @param {string} filePath - The absolute path to the SKILL.md file.
13
+ * @returns {Object|null} - Returns { name, description, folderPath } or null if invalid.
14
+ */
15
+ function parseSkillMetadata(filePath) {
16
+ try {
17
+ if (!node_fs_1.default.existsSync(filePath)) {
18
+ return null;
19
+ }
20
+ const fileContent = node_fs_1.default.readFileSync(filePath, 'utf8');
21
+ // Use gray-matter to parse YAML frontmatter safely
22
+ const data = yaml_1.default.parse(fileContent);
23
+ // Validation: Name is required by the spec
24
+ if (!data || !data.name) {
25
+ return null;
26
+ }
27
+ const trimmedName = data.name.trim();
28
+ const trimmedDescription = data.description ? data.description.trim() : '';
29
+ return {
30
+ name: trimmedName,
31
+ description: trimmedDescription || 'No description provided.',
32
+ // We store the directory path, not the file path, as that's the "Skill Root"
33
+ folderPath: node_path_1.default.dirname(filePath),
34
+ };
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGxQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NraWxscy9za2lsbFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVVBLHFDQThCQztBQXhDRCxzREFBeUI7QUFDekIsMERBQTZCO0FBRTdCLGdEQUF3QjtBQUV4Qjs7OztHQUlHO0FBQ0gsU0FBd0Isa0JBQWtCLENBQ3hDLFFBQWdCO0lBRWhCLElBQUksQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLGlCQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RCxtREFBbUQ7UUFDbkQsTUFBTSxJQUFJLEdBQUcsY0FBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyQywyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTNFLE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVztZQUNqQixXQUFXLEVBQUUsa0JBQWtCLElBQUksMEJBQTBCO1lBQzdELDZFQUE2RTtZQUM3RSxVQUFVLEVBQUUsbUJBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generates the XML registry string for the System Prompt.
3
+ * @param {Array} skillsList - Array of { name, description } objects.
4
+ * @returns {string} - Formatted XML string.
5
+ */
6
+ export default function generateSkillsMetaDataXml(skillsList: Array<{
7
+ name: string;
8
+ description: string;
9
+ }>): string;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = generateSkillsMetaDataXml;
4
+ /**
5
+ * Map of characters to their XML entity equivalents.
6
+ * defined outside the function for better performance.
7
+ */
8
+ const XML_ENTITIES = {
9
+ '<': '&lt;',
10
+ '>': '&gt;',
11
+ '&': '&amp;',
12
+ "'": '&apos;',
13
+ '"': '&quot;',
14
+ };
15
+ /**
16
+ * Escapes special characters for XML validity.
17
+ * @param {string} unsafe - The raw string that might contain special chars.
18
+ * @returns {string} - The escaped XML-safe string.
19
+ */
20
+ function escapeXml(unsafe) {
21
+ if (!unsafe) {
22
+ return '';
23
+ }
24
+ // Uses the lookup object to replace characters.
25
+ // The '|| c' is a fallback that satisfies safety standards, though the regex ensures we match keys.
26
+ return unsafe.replace(/[<>&'"]/g, (c) => XML_ENTITIES[c] || c);
27
+ }
28
+ /**
29
+ * Generates the XML registry string for the System Prompt.
30
+ * @param {Array} skillsList - Array of { name, description } objects.
31
+ * @returns {string} - Formatted XML string.
32
+ */
33
+ function generateSkillsMetaDataXml(skillsList) {
34
+ // Production Safe Check: Ensure skillsList is valid and is an Array
35
+ if (!Array.isArray(skillsList) || skillsList.length === 0) {
36
+ return '';
37
+ }
38
+ // Header indicating this is a generated registry
39
+ let xml = `
40
+ <agent_skills>
41
+ <skills_usage_must_follow_guidelines>
42
+ You are provided with a list of agent skills.
43
+
44
+ You MUST follow these rules:
45
+ - Analyze the user's task before responding.
46
+ - If one or more listed skills are relevant to accomplishing the task, you MUST invoke the appropriate skill(s) using the "get skill details" tool BEFORE responding.
47
+ - **Never overlook the steps and details provided by skill while executing the skill, analyze the skill carefully and then work with it.**
48
+ - For writing code for new features in workspace always check any relevant skill and use it while writing the code.
49
+ - skill names are case sensitive so ensure you use the accurate and exact skill name while invoking the "get skill details" tool to get the skill details.
50
+ - You MAY invoke multiple relevant skills if required.
51
+ - You MUST NOT invent, assume, hallucinate, or reference any skills that are not explicitly listed.
52
+ - If no listed skill is relevant, proceed without invoking any skill.
53
+ <Isolation_Rules_for_Non-Workspace_Skills>
54
+ - While using any skill identify non-workspace skills (e.g., PPT, PDF processing/generation or external installs).
55
+ - Create a NEW folder named after the skill (e.g., "ppt_skill_work").
56
+ - Add ALL related files to this folder.
57
+ - Perform installs, script runs, or other work ONLY in this folder.
58
+ - Avoid modifying user's existing workspace files work not related to workspace.
59
+ - For example workspace might be related to web or api development and user ask might require working with PPT, doc, or PDF files.
60
+ </Isolation_Rules_for_Non-Workspace_Skills>
61
+
62
+ The following is the complete and only set of skills available to you.
63
+ </skills_usage_must_follow_guidelines>
64
+
65
+ <skills_list>
66
+ `;
67
+ skillsList.forEach((skill) => {
68
+ // Guard against undefined properties
69
+ const name = skill.name || '';
70
+ const description = skill.description || '';
71
+ xml += '<skill>\n';
72
+ xml += ` <name>${escapeXml(name)}</name>\n`;
73
+ xml += ` <description>${escapeXml(description)}</description>\n`;
74
+ xml += '</skill>\n';
75
+ });
76
+ xml += `</skills_list>
77
+ </agent_skills>`;
78
+ return xml;
79
+ }
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGxzWE1MTWV0YURhdGFHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NraWxscy9za2lsbHNYTUxNZXRhRGF0YUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStCQSw0Q0FxREM7QUFwRkQ7OztHQUdHO0FBQ0gsTUFBTSxZQUFZLEdBQTJCO0lBQzNDLEdBQUcsRUFBRSxNQUFNO0lBQ1gsR0FBRyxFQUFFLE1BQU07SUFDWCxHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxRQUFRO0lBQ2IsR0FBRyxFQUFFLFFBQVE7Q0FDZCxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILFNBQVMsU0FBUyxDQUFDLE1BQWM7SUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsZ0RBQWdEO0lBQ2hELG9HQUFvRztJQUNwRyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUF3Qix5QkFBeUIsQ0FDL0MsVUFBd0Q7SUFFeEQsb0VBQW9FO0lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELElBQUksR0FBRyxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsQ0FBQztJQUVGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQixxQ0FBcUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFFNUMsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNuQixHQUFHLElBQUksYUFBYSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMvQyxHQUFHLElBQUksb0JBQW9CLFNBQVMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFDcEUsR0FBRyxJQUFJLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEdBQUcsSUFBSTtrQkFDUyxDQUFDO0lBRWpCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Gets the slingshot directories for both workspace and user levels.
3
+ * Creates the directories if they don't exist.
4
+ * @param {string} repoRoot - The root directory of the repository (not used in current implementation but can be useful for future enhancements)
5
+ * @returns {Object} Object containing workspaceLevelSlingshotDir and userLevelSlingshotDir paths
6
+ */
7
+ export default function getSlingshotDirectories(repoRoot: string): {
8
+ workspaceLevelSlingshotDir: string | null;
9
+ userLevelSlingshotDir: string | null;
10
+ };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = getSlingshotDirectories;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const constants_1 = __importDefault(require("./constants"));
11
+ /**
12
+ * Gets the slingshot directories for both workspace and user levels.
13
+ * Creates the directories if they don't exist.
14
+ * @param {string} repoRoot - The root directory of the repository (not used in current implementation but can be useful for future enhancements)
15
+ * @returns {Object} Object containing workspaceLevelSlingshotDir and userLevelSlingshotDir paths
16
+ */
17
+ function getSlingshotDirectories(repoRoot) {
18
+ const result = {
19
+ workspaceLevelSlingshotDir: null,
20
+ userLevelSlingshotDir: null,
21
+ };
22
+ try {
23
+ // Get workspace-level .slingshot directory
24
+ if (repoRoot) {
25
+ const workspaceSlingshotDir = node_path_1.default.join(repoRoot, constants_1.default.SLINGSHOT_DIR);
26
+ // Create workspace-level directory if it doesn't exist
27
+ if (!node_fs_1.default.existsSync(workspaceSlingshotDir)) {
28
+ node_fs_1.default.mkdirSync(workspaceSlingshotDir, { recursive: true });
29
+ }
30
+ result.workspaceLevelSlingshotDir = workspaceSlingshotDir;
31
+ }
32
+ // Get user-level .slingshot directory (similar to Cursor's approach)
33
+ const userHomeDir = node_os_1.default.homedir();
34
+ const userSlingshotDir = node_path_1.default.join(userHomeDir, constants_1.default.SLINGSHOT_DIR);
35
+ // Create user-level directory if it doesn't exist
36
+ if (!node_fs_1.default.existsSync(userSlingshotDir)) {
37
+ node_fs_1.default.mkdirSync(userSlingshotDir, { recursive: true });
38
+ }
39
+ result.userLevelSlingshotDir = userSlingshotDir;
40
+ return result;
41
+ }
42
+ catch (error) {
43
+ // Log error but don't throw to prevent extension from breaking
44
+ console.error('Error creating slingshot directories:', error);
45
+ return result;
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NraWxscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVlBLDBDQThDQztBQTFERCxzREFBeUI7QUFDekIsc0RBQXlCO0FBQ3pCLDBEQUE2QjtBQUU3Qiw0REFBMEM7QUFFMUM7Ozs7O0dBS0c7QUFDSCxTQUF3Qix1QkFBdUIsQ0FBQyxRQUFnQjtJQUM5RCxNQUFNLE1BQU0sR0FHUjtRQUNGLDBCQUEwQixFQUFFLElBQUk7UUFDaEMscUJBQXFCLEVBQUUsSUFBSTtLQUM1QixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsMkNBQTJDO1FBQzNDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLHFCQUFxQixHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUNyQyxRQUFRLEVBQ1IsbUJBQWUsQ0FBQyxhQUFhLENBQzlCLENBQUM7WUFFRix1REFBdUQ7WUFDdkQsSUFBSSxDQUFDLGlCQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztnQkFDMUMsaUJBQUUsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBRUQsTUFBTSxDQUFDLDBCQUEwQixHQUFHLHFCQUFxQixDQUFDO1FBQzVELENBQUM7UUFFRCxxRUFBcUU7UUFDckUsTUFBTSxXQUFXLEdBQUcsaUJBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVqQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUNoQyxXQUFXLEVBQ1gsbUJBQWUsQ0FBQyxhQUFhLENBQzlCLENBQUM7UUFFRixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGlCQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNyQyxpQkFBRSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxNQUFNLENBQUMscUJBQXFCLEdBQUcsZ0JBQWdCLENBQUM7UUFFaEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZiwrREFBK0Q7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0FBQ0gsQ0FBQyJ9
@@ -62,9 +62,11 @@ class PSClarifyTool extends PSAgentTool_1.PSAgentTool {
62
62
  }
63
63
  catch (error) {
64
64
  if (error instanceof Error) {
65
+ // eslint-disable-next-line preserve-caught-error
65
66
  throw new Error(`Failed to clarify questions: ${questions.join(', ')}. Error: ${error.message}`);
66
67
  }
67
68
  else {
69
+ // eslint-disable-next-line preserve-caught-error
68
70
  throw new Error(`Failed to clarify questions: ${questions.join(', ')}. Unknown error.`);
69
71
  }
70
72
  }
@@ -72,4 +74,4 @@ class PSClarifyTool extends PSAgentTool_1.PSAgentTool {
72
74
  }
73
75
  }
74
76
  exports.PSClarifyTool = PSClarifyTool;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNDbGFyaWZ5VG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbHMvUFNDbGFyaWZ5VG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyx1RUFBK0M7QUFFL0MsTUFBTSxJQUFJLEdBQUcsSUFBQSxxQkFBVyxFQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDOUMsTUFBYSxhQUFjLFNBQVEseUJBQVc7SUFDckMsTUFBTSxDQUFVLFFBQVEsR0FBRyxjQUFjLENBQUM7SUFDekMsTUFBTSxDQUE4RDtJQUM1RSxZQUFZLE9BRVg7UUFDQyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDNUIsV0FBVyxFQUNULDJJQUEySTtZQUM3SSxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFO2dCQUNYLEdBQUcsRUFBRSxvQkFBb0IsYUFBYSxDQUFDLFFBQVEsRUFBRTtnQkFDakQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLE1BQUMsQ0FBQyxZQUFZLENBQ3pCLE1BQUM7cUJBQ0UsTUFBTSxDQUFDO29CQUNOLFNBQVMsRUFBRSxNQUFDLENBQUMsS0FBSyxDQUFDLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3pDLEtBQUssRUFBRSxXQUFXO3dCQUNsQixXQUFXLEVBQ1Qsc0RBQXNEO3FCQUN6RCxDQUFDO29CQUNGLGdCQUFnQixFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ2hDLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLFdBQVcsRUFDVCxpSEFBaUg7cUJBQ3BILENBQUM7aUJBQ0gsQ0FBQztxQkFDRCxJQUFJLENBQUM7b0JBQ0osS0FBSyxFQUFFLEdBQUcsYUFBYSxDQUFDLFFBQVEsZUFBZTtvQkFDL0MsV0FBVyxFQUFFLHVDQUF1QyxhQUFhLENBQUMsUUFBUSxRQUFRO2lCQUNuRixDQUFDLEVBQ0osRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQ2hCO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUNNLEdBQUcsQ0FDUixLQUEwQixFQUMxQixHQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFaEQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pCLElBQUksQ0FBQztnQkFDSCxNQUFNLENBQUMsSUFBSSxDQUNULGdDQUFnQyxTQUFTLENBQUMsTUFBTSxlQUFlLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEYsQ0FBQztnQkFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ2pFLE9BQU87b0JBQ0wsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE9BQU8sRUFBRSxTQUFTO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0NBQWdDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUNoRixDQUFDO2dCQUNKLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLElBQUksS0FBSyxDQUNiLGdDQUFnQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FDdkUsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDUCxDQUFDOztBQS9FSCxzQ0FnRkMifQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNDbGFyaWZ5VG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbHMvUFNDbGFyaWZ5VG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyx1RUFBK0M7QUFFL0MsTUFBTSxJQUFJLEdBQUcsSUFBQSxxQkFBVyxFQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDOUMsTUFBYSxhQUFjLFNBQVEseUJBQVc7SUFDckMsTUFBTSxDQUFVLFFBQVEsR0FBRyxjQUFjLENBQUM7SUFDekMsTUFBTSxDQUE4RDtJQUM1RSxZQUFZLE9BRVg7UUFDQyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDNUIsV0FBVyxFQUNULDJJQUEySTtZQUM3SSxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFO2dCQUNYLEdBQUcsRUFBRSxvQkFBb0IsYUFBYSxDQUFDLFFBQVEsRUFBRTtnQkFDakQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLE1BQUMsQ0FBQyxZQUFZLENBQ3pCLE1BQUM7cUJBQ0UsTUFBTSxDQUFDO29CQUNOLFNBQVMsRUFBRSxNQUFDLENBQUMsS0FBSyxDQUFDLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3pDLEtBQUssRUFBRSxXQUFXO3dCQUNsQixXQUFXLEVBQ1Qsc0RBQXNEO3FCQUN6RCxDQUFDO29CQUNGLGdCQUFnQixFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ2hDLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLFdBQVcsRUFDVCxpSEFBaUg7cUJBQ3BILENBQUM7aUJBQ0gsQ0FBQztxQkFDRCxJQUFJLENBQUM7b0JBQ0osS0FBSyxFQUFFLEdBQUcsYUFBYSxDQUFDLFFBQVEsZUFBZTtvQkFDL0MsV0FBVyxFQUFFLHVDQUF1QyxhQUFhLENBQUMsUUFBUSxRQUFRO2lCQUNuRixDQUFDLEVBQ0osRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQ2hCO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUNNLEdBQUcsQ0FDUixLQUEwQixFQUMxQixHQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFaEQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pCLElBQUksQ0FBQztnQkFDSCxNQUFNLENBQUMsSUFBSSxDQUNULGdDQUFnQyxTQUFTLENBQUMsTUFBTSxlQUFlLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEYsQ0FBQztnQkFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ2pFLE9BQU87b0JBQ0wsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE9BQU8sRUFBRSxTQUFTO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQzNCLGlEQUFpRDtvQkFDakQsTUFBTSxJQUFJLEtBQUssQ0FDYixnQ0FBZ0MsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ2hGLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLGlEQUFpRDtvQkFDakQsTUFBTSxJQUFJLEtBQUssQ0FDYixnQ0FBZ0MsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQ3ZFLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsQ0FBQzs7QUFqRkgsc0NBa0ZDIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "psadk",
3
3
  "email": "rakesh.ravuri@publicissapient.com",
4
- "version": "1.2.4",
4
+ "version": "1.3.1",
5
5
  "description": "ps adk adapter",
6
6
  "main": "build/main/index.js",
7
7
  "typings": "build/main/index.d.ts",
@@ -47,34 +47,34 @@
47
47
  "node": ">=10"
48
48
  },
49
49
  "dependencies": {
50
- "@a2a-js/sdk": "^0.3.10",
51
- "@modelcontextprotocol/sdk": "^1.26.0",
50
+ "@a2a-js/sdk": "^0.3.13",
51
+ "@modelcontextprotocol/sdk": "^1.29.0",
52
52
  "cors": "^2.8.6",
53
53
  "debug": "^4.4.3",
54
54
  "express": "^5.2.1",
55
55
  "fetch-retry": "^6.0.0",
56
56
  "jsonwebtoken": "^9.0.3",
57
57
  "uuid": "^13.0.0",
58
- "yaml": "^2.8.2",
58
+ "yaml": "^2.8.3",
59
59
  "zod": "^4.3.6"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@ava/typescript": "^6.0.0",
63
- "@eslint/compat": "^2.0.2",
64
- "@eslint/eslintrc": "^3.3.3",
65
- "@eslint/js": "^9.39.0",
63
+ "@dotenvx/dotenvx": "^1.61.0",
64
+ "@eslint/compat": "^2.0.5",
65
+ "@eslint/eslintrc": "^3.3.5",
66
+ "@eslint/js": "^9.39.4",
66
67
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
67
68
  "@types/cors": "^2.8.19",
68
- "@types/debug": "^4.1.12",
69
+ "@types/debug": "^4.1.13",
69
70
  "@types/express": "^5.0.6",
70
71
  "@types/jsonwebtoken": "^9.0.10",
71
- "@typescript-eslint/eslint-plugin": "^8.56.0",
72
- "@typescript-eslint/parser": "^8.56.0",
73
- "ava": "^6.4.1",
72
+ "@typescript-eslint/eslint-plugin": "^8.58.1",
73
+ "ava": "^7.0.0",
74
74
  "codecov": "^3.8.3",
75
- "cspell": "^9.7.0",
75
+ "cspell": "^10.0.0",
76
76
  "cz-conventional-changelog": "^3.3.0",
77
- "eslint": "^10.0.1",
77
+ "eslint": "^9.39.4",
78
78
  "eslint-config-prettier": "^10.1.8",
79
79
  "eslint-plugin-eslint-comments": "^3.2.0",
80
80
  "eslint-plugin-functional": "^9.0.4",
@@ -82,14 +82,14 @@
82
82
  "eslint-plugin-prettier": "^5.5.5",
83
83
  "gh-pages": "^6.3.0",
84
84
  "npm-run-all": "^4.1.5",
85
- "nyc": "^17.1.0",
86
- "open-cli": "^8.0.0",
85
+ "nyc": "^18.0.0",
86
+ "open-cli": "^9.0.0",
87
87
  "prettier": "^3.8.1",
88
88
  "standard-version": "^9.5.0",
89
89
  "ts-node": "^10.9.2",
90
90
  "tsdoc-markdown": "^1.4.1",
91
- "typedoc": "^0.28.17",
92
- "typedoc-plugin-markdown": "^4.10.0",
91
+ "typedoc": "^0.28.18",
92
+ "typedoc-plugin-markdown": "^4.11.0",
93
93
  "typescript": "^5.9.3"
94
94
  },
95
95
  "files": [
@@ -1,9 +0,0 @@
1
- export type AgentLoggerType = 'debug' | 'info' | 'error' | 'warn' | 'done';
2
- export default class PSAgentLogger {
3
- log(type: string, message: any, ...optionalParams: any[]): void;
4
- debug(message: string, ...optionalParams: any[]): void;
5
- info(message: string, ...optionalParams: any[]): void;
6
- error(message: string, ...optionalParams: any[]): void;
7
- warn(message: string, ...optionalParams: any[]): void;
8
- done(message?: string, ...optionalParams: any[]): void;
9
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- console.log;
4
- class PSAgentLogger {
5
- log(type, message, ...optionalParams) {
6
- console.log(`[${new Date().toISOString()}] [${type.toUpperCase()}] ${message}`, ...optionalParams);
7
- }
8
- debug(message, ...optionalParams) {
9
- this.log('debug', message, ...optionalParams);
10
- }
11
- info(message, ...optionalParams) {
12
- this.log('info', message, ...optionalParams);
13
- }
14
- error(message, ...optionalParams) {
15
- this.log('error', message, ...optionalParams);
16
- }
17
- warn(message, ...optionalParams) {
18
- this.log('warn', message, ...optionalParams);
19
- }
20
- done(message = '', ...optionalParams) {
21
- this.log('done', message, ...optionalParams);
22
- }
23
- }
24
- exports.default = PSAgentLogger;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvSUxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUE7QUFFWCxNQUFxQixhQUFhO0lBQ2hDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBVyxFQUFFLEdBQUcsY0FBb0I7UUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUNNLEtBQUssQ0FBQyxPQUFlLEVBQUUsR0FBRyxjQUFvQjtRQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ00sSUFBSSxDQUFDLE9BQWUsRUFBRSxHQUFHLGNBQW9CO1FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDTSxLQUFLLENBQUMsT0FBZSxFQUFFLEdBQUcsY0FBb0I7UUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNNLElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBRyxjQUFvQjtRQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ00sSUFBSSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxHQUFHLGNBQW9CO1FBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQW5CRCxnQ0FtQkMifQ==
@@ -1,11 +0,0 @@
1
- import { EmbeddingsInterface } from '@langchain/core/embeddings';
2
- export default class AIHelper implements EmbeddingsInterface {
3
- private readonly token;
4
- private dimensions;
5
- constructor(token: string);
6
- getDimensions(embeddingModel?: string): number;
7
- embedQuery(text: string, embeddingModel?: string): Promise<number[]>;
8
- embedDocuments(text: string[], embeddingModel?: string): Promise<number[][]>;
9
- getModels(): Promise<any>;
10
- llm(prompt: string, model?: string, systemmsg?: string): Promise<any>;
11
- }
@@ -1,127 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const logger_1 = __importDefault(require("../utils/logger"));
7
- const log = (0, logger_1.default)('sapi:ai:');
8
- // fetch-retry can also wrap Node.js's native fetch API implementation:
9
- const fetch = require('fetch-retry')(global.fetch);
10
- class AIHelper {
11
- constructor(token) {
12
- this.token = token;
13
- this.dimensions = 1536; // default to 1536 dimensions (for text-embedding-3-small)
14
- }
15
- getDimensions(embeddingModel = 'text-embedding-3-small') {
16
- if (embeddingModel === 'text-embedding-3-small') {
17
- return 1536;
18
- }
19
- else if (embeddingModel === 'text-embedding-3-large') {
20
- return 3072;
21
- }
22
- else if (embeddingModel === 'text-embedding-ada-002') {
23
- return 1536;
24
- }
25
- else {
26
- return this.dimensions;
27
- }
28
- }
29
- async embedQuery(text, embeddingModel = 'text-embedding-3-small') {
30
- //return this.model.embedQuery(text);
31
- const response = await fetch(`${process.env.EAPI_BASE}/api/v1/vectors/embeddings`, {
32
- method: 'POST',
33
- headers: {
34
- 'Content-Type': 'application/json',
35
- 'Authorization': `Bearer ${this.token}`,
36
- 'x-client-id': process.env.CLIENT_ID || '',
37
- },
38
- body: JSON.stringify({
39
- input: text,
40
- model: embeddingModel,
41
- "dimensions": this.getDimensions(embeddingModel),
42
- }),
43
- });
44
- const data = await response.json();
45
- if (!response.ok) {
46
- console.error(`Failed to fetch embedding: ${response.status} ${response.statusText}`, data);
47
- throw new Error(`HTTP error! status: ${response.status}`);
48
- }
49
- return data.data[0].embedding;
50
- }
51
- async embedDocuments(text, embeddingModel = 'text-embedding-3-small') {
52
- const response = await fetch(`${process.env.EAPI_BASE}/api/v1/vectors/embeddings`, {
53
- method: 'POST',
54
- headers: {
55
- 'Content-Type': 'application/json',
56
- 'Authorization': `Bearer ${this.token}`,
57
- 'x-client-id': process.env.CLIENT_ID || '',
58
- },
59
- body: JSON.stringify({
60
- input: text,
61
- model: embeddingModel,
62
- "dimensions": this.getDimensions(embeddingModel),
63
- }),
64
- });
65
- const data = await response.json();
66
- if (!response.ok) {
67
- console.error(`Failed to fetch embedding: ${response.status} ${response.statusText}`, data);
68
- throw new Error(`HTTP error! status: ${response.status}`);
69
- }
70
- return data.data.map((item) => item.embedding);
71
- }
72
- async getModels() {
73
- const lres = await fetch(`${process.env.EAPI_BASE}/api/v1/llm/models`, {
74
- headers: {
75
- 'Authorization': `Bearer ${this.token}`,
76
- }
77
- });
78
- if (!lres.ok) {
79
- console.error(`Failed to fetch LLM models: ${lres.status} ${lres.statusText}`);
80
- }
81
- const { data: models } = await lres.json();
82
- return models;
83
- }
84
- async llm(prompt, model = "o3-mini", systemmsg = "You are a helpful assistant. Answer as concisely as possible.") {
85
- try {
86
- const res = await fetch(`${process.env.EAPI_BASE}/api/v1/llm/chat/completions`, {
87
- method: "POST",
88
- headers: {
89
- "Content-Type": "application/json",
90
- "Authorization": `Bearer ${this.token}`,
91
- },
92
- body: JSON.stringify({
93
- model,
94
- messages: [
95
- { role: "system", content: systemmsg },
96
- { role: "user", content: prompt }
97
- ]
98
- }),
99
- retries: 3,
100
- retryOn: function (attempt, error, response) {
101
- // retry on any network error, or 4xx or 5xx status codes
102
- if (error !== null || response.status >= 400 && attempt < 4) {
103
- log.warn(`retrying execute agent, attempt number ${attempt + 1}`);
104
- return true;
105
- }
106
- },
107
- retryDelay: function (attempt, error, response) {
108
- return Math.pow(2, attempt) * 1000; // 1000, 2000, 4000
109
- }
110
- });
111
- if (!res.ok) {
112
- log.debug(`Failed to fetch LLM completion: ${res.status} ${res.statusText}`);
113
- const errorData = (await res.json());
114
- log.debug(errorData);
115
- throw new Error(`LLM call failed.\n\n status: ${res.status}, details: ${errorData}`);
116
- }
117
- const data = await res.json();
118
- return data;
119
- }
120
- catch (error) {
121
- log.debug('Error in llm call:', error);
122
- throw error;
123
- }
124
- }
125
- }
126
- exports.default = AIHelper;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsNkRBQXFDO0FBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUEsZ0JBQU0sRUFBQyxVQUFVLENBQUMsQ0FBQztBQUUvQix1RUFBdUU7QUFDdkUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuRCxNQUFxQixRQUFRO0lBSTNCLFlBQVksS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLDBEQUEwRDtJQUNwRixDQUFDO0lBRU0sYUFBYSxDQUFDLGNBQWMsR0FBQyx3QkFBd0I7UUFDMUQsSUFBSSxjQUFjLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLGNBQWMsS0FBSyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksY0FBYyxLQUFLLHdCQUF3QixFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQUssQ0FBQztZQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLGNBQWMsR0FBQyx3QkFBd0I7UUFDcEUscUNBQXFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLDRCQUE0QixFQUFFO1lBQ2pGLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGVBQWUsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3ZDLGFBQWEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBRSxFQUFFO2FBQ3pDO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxjQUFjO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7YUFDakQsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUYsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFxQixDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQWMsRUFBRSxjQUFjLEdBQUMsd0JBQXdCO1FBQzFFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLDRCQUE0QixFQUFFO1lBQ2pGLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGVBQWUsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3ZDLGFBQWEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBRSxFQUFFO2FBQ3pDO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxjQUFjO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7YUFDakQsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUYsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQWUsQ0FBQztJQUNwRSxDQUFDO0lBR0QsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxvQkFBb0IsRUFBRTtZQUNuRSxPQUFPLEVBQUU7Z0JBQ1AsZUFBZSxFQUFFLFVBQVUsSUFBSSxDQUFDLEtBQUssRUFBRTthQUN4QztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxNQUFNLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQWEsRUFBRSxLQUFLLEdBQUcsU0FBUyxFQUFFLFNBQVMsR0FBQywrREFBK0Q7UUFDbkgsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsOEJBQThCLEVBQUU7Z0JBQzlFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsa0JBQWtCO29CQUNsQyxlQUFlLEVBQUUsVUFBVSxJQUFJLENBQUMsS0FBSyxFQUFFO2lCQUN4QztnQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsS0FBSztvQkFDTCxRQUFRLEVBQUU7d0JBQ1IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7d0JBQ3RDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO3FCQUNsQztpQkFDRixDQUFDO2dCQUNGLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxVQUFTLE9BQVcsRUFBRSxLQUFTLEVBQUUsUUFBWTtvQkFDcEQseURBQXlEO29CQUN6RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUM1RCxHQUFHLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbEUsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztnQkFDSCxDQUFDO2dCQUNELFVBQVUsRUFBRSxVQUFTLE9BQVcsRUFBRSxLQUFTLEVBQUUsUUFBWTtvQkFDdkQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ3pELENBQUM7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNaLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzdFLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDckMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLE1BQU0sY0FBYyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF4SEQsMkJBd0hDIn0=
@@ -1,20 +0,0 @@
1
- /**
2
- * A sample async function (to demo Typescript's es7 async/await down-leveling).
3
- *
4
- * ### Example (es imports)
5
- * ```js
6
- * import { asyncABC } from 'typescript-starter'
7
- * console.log(await asyncABC())
8
- * // => ['a','b','c']
9
- * ```
10
- *
11
- * ### Example (commonjs)
12
- * ```js
13
- * var double = require('typescript-starter').asyncABC;
14
- * asyncABC().then(console.log);
15
- * // => ['a','b','c']
16
- * ```
17
- *
18
- * @returns a Promise which should contain `['a','b','c']`
19
- */
20
- export declare const asyncABC: () => Promise<string[]>;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.asyncABC = void 0;
4
- /**
5
- * A sample async function (to demo Typescript's es7 async/await down-leveling).
6
- *
7
- * ### Example (es imports)
8
- * ```js
9
- * import { asyncABC } from 'typescript-starter'
10
- * console.log(await asyncABC())
11
- * // => ['a','b','c']
12
- * ```
13
- *
14
- * ### Example (commonjs)
15
- * ```js
16
- * var double = require('typescript-starter').asyncABC;
17
- * asyncABC().then(console.log);
18
- * // => ['a','b','c']
19
- * ```
20
- *
21
- * @returns a Promise which should contain `['a','b','c']`
22
- */
23
- const asyncABC = async () => {
24
- const somethingSlow = (index) => {
25
- const storage = 'abc'.charAt(index);
26
- return new Promise((resolve) =>
27
- // later...
28
- resolve(storage));
29
- };
30
- const a = await somethingSlow(0);
31
- const b = await somethingSlow(1);
32
- const c = await somethingSlow(2);
33
- return [a, b, c];
34
- };
35
- exports.asyncABC = asyncABC;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FzeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSSxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNqQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNyQyxXQUFXO1FBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUNqQixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsTUFBTSxDQUFDLEdBQUcsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxDQUFDLEdBQUcsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxDQUFDLEdBQUcsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBWlcsUUFBQSxRQUFRLFlBWW5CIn0=