@sysprompthub/sdk 0.3.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/assistant-manager.d.ts +1 -1
  2. package/dist/assistant-manager.d.ts.map +1 -1
  3. package/dist/assistant-manager.js +6 -10
  4. package/dist/assistant-manager.js.map +1 -1
  5. package/dist/assistant.d.ts +1 -1
  6. package/dist/assistant.d.ts.map +1 -1
  7. package/dist/assistant.js +3 -7
  8. package/dist/assistant.js.map +1 -1
  9. package/dist/assistant.type.js +1 -4
  10. package/dist/assistant.type.js.map +1 -1
  11. package/dist/base-config-manager.d.ts +7 -7
  12. package/dist/base-config-manager.d.ts.map +1 -1
  13. package/dist/base-config-manager.js +5 -9
  14. package/dist/base-config-manager.js.map +1 -1
  15. package/dist/client.d.ts +21 -2
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +58 -9
  18. package/dist/client.js.map +1 -1
  19. package/dist/config-manager.type.d.ts +4 -4
  20. package/dist/config-manager.type.d.ts.map +1 -1
  21. package/dist/config-manager.type.js +1 -2
  22. package/dist/config.type.d.ts +13 -4
  23. package/dist/config.type.d.ts.map +1 -1
  24. package/dist/config.type.js +4 -6
  25. package/dist/config.type.js.map +1 -1
  26. package/dist/default-config-manager.d.ts +3 -3
  27. package/dist/default-config-manager.d.ts.map +1 -1
  28. package/dist/default-config-manager.js +2 -6
  29. package/dist/default-config-manager.js.map +1 -1
  30. package/dist/environment.type.d.ts.map +1 -1
  31. package/dist/environment.type.js +1 -4
  32. package/dist/environment.type.js.map +1 -1
  33. package/dist/file-system.type.js +1 -2
  34. package/dist/index.d.ts +9 -7
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +10 -17
  37. package/dist/index.js.map +1 -1
  38. package/dist/node-file-system.d.ts +1 -1
  39. package/dist/node-file-system.d.ts.map +1 -1
  40. package/dist/node-file-system.js +11 -15
  41. package/dist/node-file-system.js.map +1 -1
  42. package/dist/prompt.d.ts +1 -1
  43. package/dist/prompt.d.ts.map +1 -1
  44. package/dist/prompt.js +3 -7
  45. package/dist/prompt.js.map +1 -1
  46. package/dist/sync.d.ts +1 -1
  47. package/dist/sync.d.ts.map +1 -1
  48. package/dist/sync.js +22 -18
  49. package/dist/sync.js.map +1 -1
  50. package/dist/user-config-manager.d.ts +11 -0
  51. package/dist/user-config-manager.d.ts.map +1 -0
  52. package/dist/user-config-manager.js +30 -0
  53. package/dist/user-config-manager.js.map +1 -0
  54. package/dist/vscode-config-manager.d.ts +4 -4
  55. package/dist/vscode-config-manager.d.ts.map +1 -1
  56. package/dist/vscode-config-manager.js +2 -6
  57. package/dist/vscode-config-manager.js.map +1 -1
  58. package/dist/workspace.type.d.ts +2 -2
  59. package/dist/workspace.type.d.ts.map +1 -1
  60. package/dist/workspace.type.js +1 -2
  61. package/package.json +5 -4
  62. package/dist/assistants.d.ts +0 -16
  63. package/dist/assistants.d.ts.map +0 -1
  64. package/dist/assistants.js +0 -55
  65. package/dist/assistants.js.map +0 -1
  66. package/dist/config.d.ts +0 -8
  67. package/dist/config.d.ts.map +0 -1
  68. package/dist/config.js +0 -8
  69. package/dist/config.js.map +0 -1
  70. package/dist/types.d.ts +0 -44
  71. package/dist/types.d.ts.map +0 -1
  72. package/dist/types.js +0 -11
  73. package/dist/types.js.map +0 -1
  74. package/dist/vscode-config.d.ts +0 -6
  75. package/dist/vscode-config.d.ts.map +0 -1
  76. package/dist/vscode-config.js +0 -6
  77. package/dist/vscode-config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-system.d.ts","sourceRoot":"","sources":["../src/node-file-system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAKnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC;;;OAGG;gBAC0B,OAAO,GAAE,MAAsB;IAE5D;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInC;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD;;;;OAIG;IACH,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"node-file-system.d.ts","sourceRoot":"","sources":["../src/node-file-system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAKnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC;;;OAGG;gBAC0B,OAAO,GAAE,MAAsB;IAE5D;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInC;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD;;;;OAIG;IACH,OAAO,CAAC,OAAO;CAGhB"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodeFileSystem = void 0;
4
- const path_1 = require("path");
5
- const promises_1 = require("fs/promises");
1
+ import { join } from "path";
2
+ import { mkdir, readdir, readFile, rm, stat, writeFile } from "fs/promises";
6
3
  /**
7
4
  * Node.js file system implementation
8
5
  */
9
- class NodeFileSystem {
6
+ export class NodeFileSystem {
10
7
  baseDir;
11
8
  /**
12
9
  * Creates a new Node.js file system
@@ -21,7 +18,7 @@ class NodeFileSystem {
21
18
  * @returns True if the path exists
22
19
  */
23
20
  exists(path) {
24
- return (0, promises_1.stat)(this.resolve(path)).then(() => true, () => false);
21
+ return stat(this.resolve(path)).then(() => true, () => false);
25
22
  }
26
23
  /**
27
24
  * Reads a file's contents
@@ -29,7 +26,7 @@ class NodeFileSystem {
29
26
  * @returns The file contents as a string
30
27
  */
31
28
  read(path) {
32
- return (0, promises_1.readFile)(this.resolve(path), 'utf-8');
29
+ return readFile(this.resolve(path), 'utf-8');
33
30
  }
34
31
  /**
35
32
  * Writes content to a file
@@ -37,7 +34,7 @@ class NodeFileSystem {
37
34
  * @param content - Content to write
38
35
  */
39
36
  write(path, content) {
40
- return (0, promises_1.writeFile)(this.resolve(path), content, 'utf-8');
37
+ return writeFile(this.resolve(path), content, 'utf-8');
41
38
  }
42
39
  /**
43
40
  * Deletes a file
@@ -45,7 +42,7 @@ class NodeFileSystem {
45
42
  */
46
43
  async delete(path) {
47
44
  try {
48
- await (0, promises_1.rm)(this.resolve(path), { force: true });
45
+ await rm(this.resolve(path), { force: true });
49
46
  }
50
47
  catch {
51
48
  // Ignore errors
@@ -56,7 +53,7 @@ class NodeFileSystem {
56
53
  * @param path - Relative path to the directory
57
54
  */
58
55
  async createDir(path) {
59
- await (0, promises_1.mkdir)(this.resolve(path), { recursive: true });
56
+ await mkdir(this.resolve(path), { recursive: true });
60
57
  }
61
58
  /**
62
59
  * Deletes a directory if it's empty
@@ -65,9 +62,9 @@ class NodeFileSystem {
65
62
  async deleteEmptyDir(path) {
66
63
  try {
67
64
  const dir = this.resolve(path);
68
- const files = await (0, promises_1.readdir)(dir);
65
+ const files = await readdir(dir);
69
66
  if (files.length === 0) {
70
- await (0, promises_1.rm)(dir, { recursive: true, force: true });
67
+ await rm(dir, { recursive: true, force: true });
71
68
  }
72
69
  }
73
70
  catch {
@@ -80,8 +77,7 @@ class NodeFileSystem {
80
77
  * @returns Absolute path
81
78
  */
82
79
  resolve(path) {
83
- return (0, path_1.join)(this.baseDir, path);
80
+ return join(this.baseDir, path);
84
81
  }
85
82
  }
86
- exports.NodeFileSystem = NodeFileSystem;
87
83
  //# sourceMappingURL=node-file-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-system.js","sourceRoot":"","sources":["../src/node-file-system.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAC1B,0CAA0E;AAG1E;;GAEG;AACH,MAAa,cAAc;IAKI;IAJ7B;;;OAGG;IACH,YAA6B,UAAkB,OAAO,CAAC,GAAG,EAAE;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE;;;;OAIG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAA,eAAI,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY,EAAE,OAAe;QACjC,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,aAAE,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,IAAA,gBAAK,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAA,aAAE,EAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AA/ED,wCA+EC"}
1
+ {"version":3,"file":"node-file-system.js","sourceRoot":"","sources":["../src/node-file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAG1E;;GAEG;AACH,MAAM,OAAO,cAAc;IAKI;IAJ7B;;;OAGG;IACH,YAA6B,UAAkB,OAAO,CAAC,GAAG,EAAE;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE;;;;OAIG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY,EAAE,OAAe;QACjC,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF"}
package/dist/prompt.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Workspace } from "./workspace.type";
1
+ import { Workspace } from "./workspace.type.js";
2
2
  /**
3
3
  * Represents a prompt file that can be synced to a specific location
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C;;GAEG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;gBACS,UAAU,EAAE,MAAM;IAK9B;;;;OAIG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;;OAIG;IACG,MAAM,CAAC,EAAC,EAAE,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;OAGG;IACG,KAAK,CAAC,EAAC,EAAE,EAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5C"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C;;GAEG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;gBACS,UAAU,EAAE,MAAM;IAK9B;;;;OAIG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;;OAIG;IACG,MAAM,CAAC,EAAC,EAAE,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;OAGG;IACG,KAAK,CAAC,EAAC,EAAE,EAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5C"}
package/dist/prompt.js CHANGED
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Prompt = void 0;
4
- const path_1 = require("path");
1
+ import { dirname } from "path";
5
2
  /**
6
3
  * Represents a prompt file that can be synced to a specific location
7
4
  */
8
- class Prompt {
5
+ export class Prompt {
9
6
  promptPath;
10
7
  promptDir;
11
8
  /**
@@ -14,7 +11,7 @@ class Prompt {
14
11
  */
15
12
  constructor(promptPath) {
16
13
  this.promptPath = promptPath;
17
- this.promptDir = (0, path_1.dirname)(promptPath);
14
+ this.promptDir = dirname(promptPath);
18
15
  }
19
16
  /**
20
17
  * Syncs the prompt file - updates if prompt content is provided, clears otherwise
@@ -42,5 +39,4 @@ class Prompt {
42
39
  await fs.deleteEmptyDir(this.promptDir);
43
40
  }
44
41
  }
45
- exports.Prompt = Prompt;
46
42
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAG7B;;GAEG;AACH,MAAa,MAAM;IACR,UAAU,CAAS;IAEX,SAAS,CAAS;IAEnC;;;OAGG;IACH,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,SAAoB,EAAE,MAAsB;QACrD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAC,EAAE,EAAY,EAAE,MAAc;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAC,EAAE,EAAY;QACzB,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACF;AAzCD,wBAyCC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAG7B;;GAEG;AACH,MAAM,OAAO,MAAM;IACR,UAAU,CAAS;IAEX,SAAS,CAAS;IAEnC;;;OAGG;IACH,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,SAAoB,EAAE,MAAsB;QACrD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAC,EAAE,EAAY,EAAE,MAAc;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAC,EAAE,EAAY;QACzB,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACF"}
package/dist/sync.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Workspace } from "./workspace.type";
1
+ import { Workspace } from "./workspace.type.js";
2
2
  /**
3
3
  * Manages synchronization of system prompts to assistant configurations
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAE3D;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBhD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAE3D;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAkChD"}
package/dist/sync.js CHANGED
@@ -1,34 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncManager = void 0;
4
- const client_js_1 = require("./client.js");
5
- const assistant_manager_js_1 = require("./assistant-manager.js");
6
- const prompt_js_1 = require("./prompt.js");
7
- const config_type_1 = require("./config.type");
1
+ import { SysPromptHubClient } from './client.js';
2
+ import { AssistantManager } from './assistant-manager.js';
3
+ import { Prompt } from "./prompt.js";
4
+ import { DEFAULT_CONFIG } from "./config.type.js";
8
5
  /**
9
6
  * Manages synchronization of system prompts to assistant configurations
10
7
  */
11
- class SyncManager {
12
- assistantManager = new assistant_manager_js_1.AssistantManager();
8
+ export class SyncManager {
9
+ assistantManager = new AssistantManager();
13
10
  /**
14
11
  * Syncs system prompts to configured assistants
15
12
  * @param workspace - The workspace containing configuration and file system
16
13
  */
17
14
  async sync(workspace) {
18
- const { environment, packName, assistants, path } = { ...config_type_1.DEFAULT_CONFIG, ...workspace.config };
15
+ const { environment, packName, assistants, path, apiKey } = { ...DEFAULT_CONFIG, ...workspace.config };
16
+ if (!apiKey) {
17
+ throw new Error('API key is required');
18
+ }
19
19
  let prompt = null;
20
20
  if (packName) {
21
- const client = new client_js_1.SysPromptHubClient(environment);
21
+ const client = new SysPromptHubClient(apiKey, environment);
22
22
  prompt = await client.fetchPack(packName);
23
23
  }
24
- const prompts = [];
25
- if (path)
26
- prompts.push(new prompt_js_1.Prompt(path));
27
- if (assistants && assistants.length > 0) {
28
- this.assistantManager.forEach(assistants, assistant => prompts.push(assistant.prompt));
24
+ // Sync custom path if configured
25
+ if (path) {
26
+ await new Prompt(path).sync(workspace, prompt);
29
27
  }
30
- await Promise.all(prompts.map(p => p.sync(workspace, prompt)));
28
+ // Sync ALL known assistants - update if in config, clear if not
29
+ const syncPromises = [];
30
+ this.assistantManager.forEach((assistant) => {
31
+ const isConfigured = assistants && assistants.includes(assistant.type);
32
+ // Pass prompt content if configured, null to clear if not
33
+ syncPromises.push(assistant.prompt.sync(workspace, isConfigured ? prompt : null));
34
+ });
35
+ await Promise.all(syncPromises);
31
36
  }
32
37
  }
33
- exports.SyncManager = SyncManager;
34
38
  //# sourceMappingURL=sync.js.map
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,iEAAwD;AAExD,2CAAmC;AACnC,+CAA6C;AAG7C;;GAEG;AACH,MAAa,WAAW;IACL,gBAAgB,GAAG,IAAI,uCAAgB,EAAE,CAAC;IAE3D;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAoB;QAC7B,MAAM,EACJ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,IAAI,EACL,GAAG,EAAE,GAAG,4BAAc,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAE/C,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,8BAAkB,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,kBAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACxF,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAC5C,CAAA;IACH,CAAC;CACF;AAhCD,kCAgCC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGhD;;GAEG;AACH,MAAM,OAAO,WAAW;IACL,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAE3D;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAoB;QAC7B,MAAM,EACJ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,MAAM,EACP,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,gEAAgE;QAChE,MAAM,YAAY,GAAoB,EAAE,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAoB,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvE,0DAA0D;YAC1D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { FileSystem } from './file-system.type.js';
2
+ import { UserConfig } from './config.type.js';
3
+ export declare class UserConfigManager {
4
+ private static readonly CONFIG_DIR;
5
+ private static readonly CONFIG_FILE;
6
+ private getConfigPath;
7
+ load(fs: FileSystem): Promise<UserConfig | null>;
8
+ save(fs: FileSystem, config: UserConfig): Promise<void>;
9
+ exists(fs: FileSystem): Promise<boolean>;
10
+ }
11
+ //# sourceMappingURL=user-config-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-manager.d.ts","sourceRoot":"","sources":["../src/user-config-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAmB;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAEpD,OAAO,CAAC,aAAa;IAIf,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAWhD,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAG/C"}
@@ -0,0 +1,30 @@
1
+ import { homedir } from 'os';
2
+ import { join } from 'path';
3
+ export class UserConfigManager {
4
+ static CONFIG_DIR = '.sysprompthub';
5
+ static CONFIG_FILE = 'config.json';
6
+ getConfigPath() {
7
+ return join(homedir(), UserConfigManager.CONFIG_DIR, UserConfigManager.CONFIG_FILE);
8
+ }
9
+ async load(fs) {
10
+ const configPath = this.getConfigPath();
11
+ if (!await fs.exists(configPath)) {
12
+ return null;
13
+ }
14
+ const content = await fs.read(configPath);
15
+ return JSON.parse(content);
16
+ }
17
+ async save(fs, config) {
18
+ const configPath = this.getConfigPath();
19
+ const configDir = join(homedir(), UserConfigManager.CONFIG_DIR);
20
+ // Ensure directory exists
21
+ if (!await fs.exists(configDir)) {
22
+ await fs.createDir(configDir);
23
+ }
24
+ await fs.write(configPath, JSON.stringify(config, null, 2));
25
+ }
26
+ async exists(fs) {
27
+ return await fs.exists(this.getConfigPath());
28
+ }
29
+ }
30
+ //# sourceMappingURL=user-config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-manager.js","sourceRoot":"","sources":["../src/user-config-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAU,UAAU,GAAG,eAAe,CAAC;IAC7C,MAAM,CAAU,WAAW,GAAG,aAAa,CAAC;IAE5C,aAAa;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAc;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAc,EAAE,MAAkB;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEhE,0BAA0B;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAc;QACzB,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BaseConfigManager } from "./base-config-manager.js";
2
- import { FileSystem } from "./file-system.type";
3
- import { Config } from "./config.type";
2
+ import { FileSystem } from "./file-system.type.js";
3
+ import { WorkspaceConfig } from "./config.type.js";
4
4
  /**
5
5
  * Configuration manager for VS Code settings.json
6
6
  */
@@ -12,13 +12,13 @@ export declare class VscodeConfigManager extends BaseConfigManager {
12
12
  * @param content - VS Code settings JSON string
13
13
  * @returns Parsed configuration
14
14
  */
15
- protected deserialize(content: string): Config;
15
+ protected deserialize(content: string): WorkspaceConfig;
16
16
  /**
17
17
  * Serializes configuration to VS Code settings JSON format
18
18
  * @param config - Configuration to serialize
19
19
  * @param fs - File system for reading existing settings
20
20
  * @returns VS Code settings JSON string
21
21
  */
22
- protected serialize(config: Config, fs: FileSystem): Promise<string>;
22
+ protected serialize(config: WorkspaceConfig, fs: FileSystem): Promise<string>;
23
23
  }
24
24
  //# sourceMappingURL=vscode-config-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-config-manager.d.ts","sourceRoot":"","sources":["../src/vscode-config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAYrC;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA2B;;IAMnD;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAe9C;;;;;OAKG;cACa,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAW3E"}
1
+ {"version":3,"file":"vscode-config-manager.d.ts","sourceRoot":"","sources":["../src/vscode-config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAYjD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA2B;;IAMnD;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAevD;;;;;OAKG;cACa,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAWpF"}
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VscodeConfigManager = void 0;
4
- const base_config_manager_js_1 = require("./base-config-manager.js");
1
+ import { BaseConfigManager } from "./base-config-manager.js";
5
2
  /**
6
3
  * Configuration manager for VS Code settings.json
7
4
  */
8
- class VscodeConfigManager extends base_config_manager_js_1.BaseConfigManager {
5
+ export class VscodeConfigManager extends BaseConfigManager {
9
6
  static FILE_NAME = '.vscode/settings.json';
10
7
  constructor() {
11
8
  super(VscodeConfigManager.FILE_NAME);
@@ -46,5 +43,4 @@ class VscodeConfigManager extends base_config_manager_js_1.BaseConfigManager {
46
43
  return JSON.stringify(settings, null, 2);
47
44
  }
48
45
  }
49
- exports.VscodeConfigManager = VscodeConfigManager;
50
46
  //# sourceMappingURL=vscode-config-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-config-manager.js","sourceRoot":"","sources":["../src/vscode-config-manager.ts"],"names":[],"mappings":";;;AAGA,qEAA2D;AAc3D;;GAEG;AACH,MAAa,mBAAoB,SAAQ,0CAAiB;IAChD,MAAM,CAAC,SAAS,GAAG,uBAAuB,CAAC;IAEnD;QACE,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACO,WAAW,CAAC,OAAe;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;QACvD,IAAI,UAAU,GAAoB,EAAE,CAAC;QACrC,IAAI,MAAM,GAAW;YACnB,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC3C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;SAClD,CAAA;QAED,IAAI,QAAQ,CAAC,sBAAsB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,qBAAqB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,EAAc;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAmB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,QAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QACpD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1E,QAAQ,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAE1D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;;AA3CH,kDA4CC"}
1
+ {"version":3,"file":"vscode-config-manager.js","sourceRoot":"","sources":["../src/vscode-config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAc3D;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAChD,MAAM,CAAC,SAAS,GAAG,uBAAuB,CAAC;IAEnD;QACE,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACO,WAAW,CAAC,OAAe;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;QACvD,IAAI,UAAU,GAAoB,EAAE,CAAC;QACrC,IAAI,MAAM,GAAoB;YAC5B,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC3C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;SAClD,CAAA;QAED,IAAI,QAAQ,CAAC,sBAAsB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,qBAAqB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,SAAS,CAAC,MAAuB,EAAE,EAAc;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAmB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,QAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QACpD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1E,QAAQ,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAE1D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Config } from "./config.type";
2
- import { FileSystem } from "./file-system.type";
1
+ import { Config } from "./config.type.js";
2
+ import { FileSystem } from "./file-system.type.js";
3
3
  /** Workspace containing configuration and file system */
4
4
  export interface Workspace {
5
5
  config: Config;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.type.d.ts","sourceRoot":"","sources":["../src/workspace.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE9C,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,UAAU,CAAA;CACf"}
1
+ {"version":3,"file":"workspace.type.d.ts","sourceRoot":"","sources":["../src/workspace.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,UAAU,CAAA;CACf"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=workspace.type.js.map
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@sysprompthub/sdk",
3
- "version": "0.3.2",
3
+ "version": "1.0.1",
4
4
  "description": "SDK for syncing system prompts from SysPromptHub",
5
- "type": "commonjs",
5
+ "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
- "require": "./dist/index.js",
11
+ "import": "./dist/index.js",
12
12
  "default": "./dist/index.js"
13
13
  }
14
14
  },
@@ -41,6 +41,7 @@
41
41
  "test": "vitest run",
42
42
  "test:watch": "vitest",
43
43
  "test:ui": "vitest --ui",
44
- "typecheck": "tsc --noEmit"
44
+ "typecheck": "tsc --noEmit",
45
+ "preversion": "pnpm run build && pnpm test"
45
46
  }
46
47
  }
@@ -1,16 +0,0 @@
1
- import { AssistantType } from './types.js';
2
- export declare class Assistant {
3
- readonly type: AssistantType;
4
- readonly promptPath: string;
5
- constructor(type: AssistantType, promptPath: string);
6
- writePrompt(baseDir: string, prompt: string): Promise<void>;
7
- clearPrompt(baseDir: string): Promise<void>;
8
- getFullPath(baseDir: string): string;
9
- }
10
- export declare class AssistantManager {
11
- private readonly assistants;
12
- getAssistant(type: AssistantType): Assistant | undefined;
13
- getAssistants(types: AssistantType[]): Assistant[];
14
- getAllAssistants(): Readonly<Assistant[]>;
15
- }
16
- //# sourceMappingURL=assistants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assistants.d.ts","sourceRoot":"","sources":["../src/assistants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAK7C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGrC;AAOD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAEhE,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS;IAIxD,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;IAIlD,gBAAgB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;CAG1C"}
@@ -1,55 +0,0 @@
1
- import { mkdir, writeFile, rm, readdir } from 'fs/promises';
2
- import { dirname, join } from 'path';
3
- export class Assistant {
4
- type;
5
- promptPath;
6
- constructor(type, promptPath) {
7
- this.type = type;
8
- this.promptPath = promptPath;
9
- }
10
- async writePrompt(baseDir, prompt) {
11
- const fullPath = join(baseDir, this.promptPath);
12
- const dir = dirname(fullPath);
13
- await mkdir(dir, { recursive: true });
14
- await writeFile(fullPath, prompt, 'utf-8');
15
- }
16
- async clearPrompt(baseDir) {
17
- const fullPath = join(baseDir, this.promptPath);
18
- try {
19
- await rm(fullPath, { force: true });
20
- }
21
- catch {
22
- // Ignore errors
23
- }
24
- try {
25
- const dir = dirname(fullPath);
26
- const files = await readdir(dir);
27
- if (files.length === 0) {
28
- await rm(dir, { recursive: true, force: true });
29
- }
30
- }
31
- catch {
32
- // Ignore errors
33
- }
34
- }
35
- getFullPath(baseDir) {
36
- return join(baseDir, this.promptPath);
37
- }
38
- }
39
- const ASSISTANTS = Object.freeze([
40
- new Assistant('copilot', '.github/copilot-instructions.md'),
41
- new Assistant('claude', '.claude/system.md')
42
- ]);
43
- export class AssistantManager {
44
- assistants = ASSISTANTS;
45
- getAssistant(type) {
46
- return this.assistants.find(a => a.type === type);
47
- }
48
- getAssistants(types) {
49
- return types.map(type => this.getAssistant(type)).filter((a) => a !== undefined);
50
- }
51
- getAllAssistants() {
52
- return this.assistants;
53
- }
54
- }
55
- //# sourceMappingURL=assistants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assistants.js","sourceRoot":"","sources":["../src/assistants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGrC,MAAM,OAAO,SAAS;IACX,IAAI,CAAgB;IACpB,UAAU,CAAS;IAE5B,YAAY,IAAmB,EAAE,UAAkB;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,GAA0B,MAAM,CAAC,MAAM,CAAC;IACtD,IAAI,SAAS,CAAC,SAAS,EAAE,iCAAiC,CAAC;IAC3D,IAAI,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,OAAO,gBAAgB;IACV,UAAU,GAA0B,UAAU,CAAC;IAEhE,YAAY,CAAC,IAAmB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACnG,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
package/dist/config.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { DefaultConfigManager } from "./default-config-manager.js";
2
- /**
3
- * Default configuration manager instance
4
- */
5
- export declare const ConfigManager: typeof DefaultConfigManager;
6
- export declare const CONFIG_FILE_NAME = ".sysprompthub.json";
7
- export { DEFAULT_ENVIRONMENT } from "./types.js";
8
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,aAAa,6BAAuB,CAAC;AAClD,eAAO,MAAM,gBAAgB,uBAAiC,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC"}
package/dist/config.js DELETED
@@ -1,8 +0,0 @@
1
- import { DefaultConfigManager } from "./default-config-manager.js";
2
- /**
3
- * Default configuration manager instance
4
- */
5
- export const ConfigManager = DefaultConfigManager;
6
- export const CONFIG_FILE_NAME = DefaultConfigManager.FILE_NAME;
7
- export { DEFAULT_ENVIRONMENT } from "./types.js";
8
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,44 +0,0 @@
1
- /** Supported AI assistant types */
2
- export declare const assistantTypes: readonly ["copilot", "claude"];
3
- export type AssistantType = typeof assistantTypes[number];
4
- /** Deployment environment for API endpoints */
5
- export type Environment = 'local' | 'development' | 'staging' | 'production';
6
- export declare const DEFAULT_ENVIRONMENT: Environment;
7
- /** Configuration for SysPromptHub */
8
- export interface Config {
9
- packName?: string;
10
- assistants?: AssistantType[];
11
- path?: string;
12
- environment?: Environment;
13
- }
14
- export declare const DEFAULT_CONFIG: Config;
15
- /** File system abstraction for workspace operations */
16
- export interface FileSystem {
17
- /** Check if a file exists at the given path */
18
- exists(path: string): Promise<boolean>;
19
- /** Read the contents of a file */
20
- read(path: string): Promise<string>;
21
- /** Write content to a file */
22
- write(path: string, content: string): Promise<void>;
23
- /** Delete a file */
24
- delete(path: string): Promise<void>;
25
- /** Create a directory */
26
- createDir(path: string): Promise<void>;
27
- /** Delete an empty directory */
28
- deleteEmptyDir(path: string): Promise<void>;
29
- }
30
- /** Workspace containing configuration and file system */
31
- export interface Workspace {
32
- config: Config;
33
- fs: FileSystem;
34
- }
35
- /** Manager for loading and updating configuration */
36
- export interface ConfigManager {
37
- /** Check if configuration file exists */
38
- exists(fs: FileSystem): Promise<boolean>;
39
- /** Load configuration from file system */
40
- load(fs: FileSystem): Promise<Config | null>;
41
- /** Update configuration with partial values */
42
- update(fs: FileSystem, updates: Partial<Config>): Promise<void>;
43
- }
44
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,eAAO,MAAM,cAAc,gCAAiC,CAAC;AAC7D,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7E,eAAO,MAAM,mBAAmB,EAAE,WAA2B,CAAC;AAE9D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAC;AAEF,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,kCAAkC;IAClC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,8BAA8B;IAC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,oBAAoB;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,yBAAyB;IACzB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,gCAAgC;IAChC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,UAAU,CAAA;CACf;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,+CAA+C;IAC/C,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
package/dist/types.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_CONFIG = exports.DEFAULT_ENVIRONMENT = exports.assistantTypes = void 0;
4
- /** Supported AI assistant types */
5
- exports.assistantTypes = ['copilot', 'claude'];
6
- exports.DEFAULT_ENVIRONMENT = 'development';
7
- exports.DEFAULT_CONFIG = {
8
- assistants: ['copilot'],
9
- environment: exports.DEFAULT_ENVIRONMENT
10
- };
11
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACtB,QAAA,cAAc,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAMhD,QAAA,mBAAmB,GAAgB,aAAa,CAAC;AAUjD,QAAA,cAAc,GAAW;IACpC,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,WAAW,EAAE,2BAAmB;CACjC,CAAC"}
@@ -1,6 +0,0 @@
1
- export { VscodeConfigManager } from "./vscode-config-manager.js";
2
- /**
3
- * Path to VS Code settings file
4
- */
5
- export declare const VSCODE_SETTINGS_PATH = ".vscode/settings.json";
6
- //# sourceMappingURL=vscode-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode-config.d.ts","sourceRoot":"","sources":["../src/vscode-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC"}
@@ -1,6 +0,0 @@
1
- export { VscodeConfigManager } from "./vscode-config-manager.js";
2
- /**
3
- * Path to VS Code settings file
4
- */
5
- export const VSCODE_SETTINGS_PATH = '.vscode/settings.json';
6
- //# sourceMappingURL=vscode-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode-config.js","sourceRoot":"","sources":["../src/vscode-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC"}