@sysprompthub/sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,8 @@ import { AssistantType } from './assistant.type.js';
2
2
  import { Assistant } from "./assistant.js";
3
3
  type AssistantCallback = (assistant: Assistant) => void;
4
4
  /**
5
- * Manages registered AI assistants and their configurations
5
+ * Manages registered AI assistants and their configurations.
6
+ * Provides a singleton registry of all supported assistant types.
6
7
  */
7
8
  export declare class AssistantManager {
8
9
  private static readonly ASSISTANTS;
@@ -24,5 +25,7 @@ export declare class AssistantManager {
24
25
  */
25
26
  get(type: AssistantType): Assistant;
26
27
  }
28
+ /** Singleton instance of AssistantManager for convenient access */
29
+ export declare const assistantManager: AssistantManager;
27
30
  export {};
28
31
  //# sourceMappingURL=assistant-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-manager.d.ts","sourceRoot":"","sources":["../src/assistant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,KAAK,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;AAExD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAG/B;IAEH;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAC1C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAY3E;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;CAGpC"}
1
+ {"version":3,"file":"assistant-manager.d.ts","sourceRoot":"","sources":["../src/assistant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,KAAK,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;AAExD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAG/B;IAEH;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAC1C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAY3E;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;CAGpC;AAED,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { assistantTypes } from './assistant.type.js';
2
2
  import { Assistant } from "./assistant.js";
3
3
  /**
4
- * Manages registered AI assistants and their configurations
4
+ * Manages registered AI assistants and their configurations.
5
+ * Provides a singleton registry of all supported assistant types.
5
6
  */
6
7
  export class AssistantManager {
7
8
  static ASSISTANTS = Object.freeze({
@@ -28,4 +29,6 @@ export class AssistantManager {
28
29
  return AssistantManager.ASSISTANTS[type];
29
30
  }
30
31
  }
32
+ /** Singleton instance of AssistantManager for convenient access */
33
+ export const assistantManager = new AssistantManager();
31
34
  //# sourceMappingURL=assistant-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-manager.js","sourceRoot":"","sources":["../src/assistant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAIzC;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAU,UAAU,GAA+C,MAAM,CAAC,MAAM,CAAC;QAC7F,OAAO,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE,iCAAiC,CAAC;QACpE,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACrD,CAAC,CAAC;IAaH,OAAO,CAAC,KAAmD,EAAE,QAA4B;QACvF,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,cAAc,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7E,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAmB;QACrB,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC"}
1
+ {"version":3,"file":"assistant-manager.js","sourceRoot":"","sources":["../src/assistant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAIzC;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAU,UAAU,GAA+C,MAAM,CAAC,MAAM,CAAC;QAC7F,OAAO,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE,iCAAiC,CAAC;QACpE,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACrD,CAAC,CAAC;IAaH,OAAO,CAAC,KAAmD,EAAE,QAA4B;QACvF,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,cAAc,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7E,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAmB;QACrB,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;;AAGH,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -2,7 +2,8 @@ import { FileSystem } from "./file-system.type.js";
2
2
  import { WorkspaceConfig } from "./config.type.js";
3
3
  import { ConfigManager } from "./config-manager.type.js";
4
4
  /**
5
- * Base class for configuration managers with serialization support
5
+ * Base class for configuration managers with serialization support.
6
+ * Provides common functionality for loading, updating, and removing configuration files.
6
7
  */
7
8
  export declare abstract class BaseConfigManager implements ConfigManager {
8
9
  protected readonly configPath: string;
@@ -20,11 +21,16 @@ export declare abstract class BaseConfigManager implements ConfigManager {
20
21
  */
21
22
  load(fs: FileSystem): Promise<WorkspaceConfig | null>;
22
23
  /**
23
- * Updates configuration with partial values
24
+ * Updates configuration with partial values, merging with existing config
24
25
  * @param fs - File system to write to
25
- * @param updates - Partial configuration updates
26
+ * @param updates - Partial configuration updates to merge
26
27
  */
27
28
  update(fs: FileSystem, updates: Partial<WorkspaceConfig>): Promise<void>;
29
+ /**
30
+ * Removes the configuration file from the file system
31
+ * @param fs - File system to delete from
32
+ */
33
+ remove(fs: FileSystem): Promise<void>;
28
34
  /**
29
35
  * Deserializes configuration from string format
30
36
  * @param content - String content to deserialize
@@ -1 +1 @@
1
- {"version":3,"file":"base-config-manager.d.ts","sourceRoot":"","sources":["../src/base-config-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,8BAAsB,iBAAkB,YAAW,aAAa;IACxC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAA3D,SAAS,aAAgC,UAAU,EAAE,MAAM;IAE3D;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC;;;;OAIG;IACG,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAW3D;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAEhE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtF;;;;OAIG;cACa,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAOvE"}
1
+ {"version":3,"file":"base-config-manager.d.ts","sourceRoot":"","sources":["../src/base-config-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD;;;GAGG;AACH,8BAAsB,iBAAkB,YAAW,aAAa;IACxC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAA3D,SAAS,aAAgC,UAAU,EAAE,MAAM;IAE3D;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC;;;;OAIG;IACG,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAW3D;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAEhE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtF;;;;OAIG;cACa,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAOvE"}
@@ -1,7 +1,8 @@
1
1
  import { dirname } from "path";
2
2
  import { DEFAULT_CONFIG } from "./config.type.js";
3
3
  /**
4
- * Base class for configuration managers with serialization support
4
+ * Base class for configuration managers with serialization support.
5
+ * Provides common functionality for loading, updating, and removing configuration files.
5
6
  */
6
7
  export class BaseConfigManager {
7
8
  configPath;
@@ -33,9 +34,9 @@ export class BaseConfigManager {
33
34
  }
34
35
  }
35
36
  /**
36
- * Updates configuration with partial values
37
+ * Updates configuration with partial values, merging with existing config
37
38
  * @param fs - File system to write to
38
- * @param updates - Partial configuration updates
39
+ * @param updates - Partial configuration updates to merge
39
40
  */
40
41
  async update(fs, updates) {
41
42
  const currentConfig = await this.load(fs) || DEFAULT_CONFIG;
@@ -44,6 +45,13 @@ export class BaseConfigManager {
44
45
  await fs.createDir(dirname(this.configPath));
45
46
  await fs.write(this.configPath, serialized);
46
47
  }
48
+ /**
49
+ * Removes the configuration file from the file system
50
+ * @param fs - File system to delete from
51
+ */
52
+ async remove(fs) {
53
+ await fs.delete(this.configPath);
54
+ }
47
55
  /**
48
56
  * Loads raw configuration data from file system
49
57
  * @param fs - File system to load from
@@ -1 +1 @@
1
- {"version":3,"file":"base-config-manager.js","sourceRoot":"","sources":["../src/base-config-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAkB,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGjE;;GAEG;AACH,MAAM,OAAgB,iBAAiB;IACI;IAAzC,YAAyC,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE/D;;;;OAIG;IACH,MAAM,CAAC,EAAc;QACnB,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,EAAc;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAElC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAc,EAAE,OAAiC;QAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC;QAC5D,MAAM,SAAS,GAAG,EAAC,GAAG,aAAa,EAAE,GAAG,OAAO,EAAC,CAAC;QAEjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAiBD;;;;OAIG;IACO,KAAK,CAAC,cAAc,CAAC,EAAc;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"base-config-manager.js","sourceRoot":"","sources":["../src/base-config-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAkB,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGjE;;;GAGG;AACH,MAAM,OAAgB,iBAAiB;IACI;IAAzC,YAAyC,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE/D;;;;OAIG;IACH,MAAM,CAAC,EAAc;QACnB,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,EAAc;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAElC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAc,EAAE,OAAiC;QAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC;QAC5D,MAAM,SAAS,GAAG,EAAC,GAAG,aAAa,EAAE,GAAG,OAAO,EAAC,CAAC;QAEjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,EAAc;QACzB,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAiBD;;;;OAIG;IACO,KAAK,CAAC,cAAc,CAAC,EAAc;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
package/dist/client.js CHANGED
@@ -67,7 +67,7 @@ export class SysPromptHubClient {
67
67
  * @returns Array of pack names in format owner/pack
68
68
  */
69
69
  async searchPacks(query) {
70
- console.info('Using url', this.apiUrl);
70
+ // console.info('Using url', this.apiUrl);
71
71
  const url = new URL(`${this.apiUrl}/api/v1/search`);
72
72
  url.searchParams.append('q', query);
73
73
  url.searchParams.append('type', 'pack');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAc,MAAM,uBAAuB,CAAC;AAQvE;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAS;IACf,MAAM,CAAS;IACxB,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEvC,MAAM,CAAU,QAAQ,GAAgC;QAC9D,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,8BAA8B;KAC3C,CAAC;IAEF;;;;OAIG;IACH,YAAY,MAAc,EAAE,WAAyB;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAgB;QACtC,MAAM,OAAO,GAAG,sEAAsE,CAAC;QACvF,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACnC,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,MAAM,QAAQ,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;aACzB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,KAAK,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,MAAM,GAAG,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,0CAA0C;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACpD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC3C,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;aACzB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,MAAM,GAAG,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAwB,EAAE,UAAkB;QACjE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjF,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,UAAU,IAAI,UAAU,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC"}
@@ -1,12 +1,17 @@
1
1
  import { FileSystem } from "./file-system.type.js";
2
2
  import { WorkspaceConfig } from "./config.type.js";
3
- /** Manager for loading and updating configuration */
3
+ /**
4
+ * Manager for loading, updating, and removing configuration.
5
+ * Implementations handle different configuration file formats and locations.
6
+ */
4
7
  export interface ConfigManager {
5
- /** Check if configuration file exists */
8
+ /** Checks if configuration file exists */
6
9
  exists(fs: FileSystem): Promise<boolean>;
7
- /** Load configuration from file system */
10
+ /** Loads configuration from file system, returns null if not found */
8
11
  load(fs: FileSystem): Promise<WorkspaceConfig | null>;
9
- /** Update configuration with partial values */
12
+ /** Updates configuration with partial values, merging with existing config */
10
13
  update(fs: FileSystem, updates: Partial<WorkspaceConfig>): Promise<void>;
14
+ /** Removes the configuration file from the file system */
15
+ remove(fs: FileSystem): Promise<void>;
11
16
  }
12
17
  //# sourceMappingURL=config-manager.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.type.d.ts","sourceRoot":"","sources":["../src/config-manager.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEtD,+CAA+C;IAC/C,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"config-manager.type.d.ts","sourceRoot":"","sources":["../src/config-manager.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC,sEAAsE;IACtE,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEtD,8EAA8E;IAC9E,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,0DAA0D;IAC1D,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- export { SysPromptHubClient, PackSearchResult } from './client.js';
2
- export { AssistantManager } from './assistant-manager.js';
1
+ export { SysPromptHubClient, type PackSearchResult } from './client.js';
2
+ export { AssistantManager, assistantManager } from './assistant-manager.js';
3
3
  export { VscodeConfigManager } from './vscode-config-manager.js';
4
4
  export { DefaultConfigManager } from './default-config-manager.js';
5
5
  export { UserConfigManager } from './user-config-manager.js';
6
- export { SyncManager } from './sync.js';
6
+ export { SyncManager, syncManager } from './sync.js';
7
7
  export type { AssistantType } from './assistant.type.js';
8
8
  export { assistantTypes } from './assistant.type.js';
9
9
  export { Assistant } from "./assistant.js";
10
10
  export { NodeFileSystem } from "./node-file-system.js";
11
- export { FileSystem } from "./file-system.type.js";
12
- export { UserConfig, WorkspaceConfig, Config, API_KEY_LENGTH } from "./config.type.js";
13
- export { ConfigManager } from "./config-manager.type.js";
11
+ export { type FileSystem } from "./file-system.type.js";
12
+ export { type UserConfig, type WorkspaceConfig, type Config, API_KEY_LENGTH } from "./config.type.js";
13
+ export type { ConfigManager } from "./config-manager.type.js";
14
14
  export { Workspace } from "./workspace.type.js";
15
- export { Environment } from "./environment.type.js";
15
+ export { type Environment, DEFAULT_ENVIRONMENT } from "./environment.type.js";
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACpG,YAAY,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,KAAK,WAAW,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  export { SysPromptHubClient } from './client.js';
2
- export { AssistantManager } from './assistant-manager.js';
2
+ export { AssistantManager, assistantManager } from './assistant-manager.js';
3
3
  export { VscodeConfigManager } from './vscode-config-manager.js';
4
4
  export { DefaultConfigManager } from './default-config-manager.js';
5
5
  export { UserConfigManager } from './user-config-manager.js';
6
- export { SyncManager } from './sync.js';
6
+ export { SyncManager, syncManager } from './sync.js';
7
7
  export { assistantTypes } from './assistant.type.js';
8
8
  export { Assistant } from "./assistant.js";
9
9
  export { NodeFileSystem } from "./node-file-system.js";
10
10
  export { API_KEY_LENGTH } from "./config.type.js";
11
+ export { DEFAULT_ENVIRONMENT } from "./environment.type.js";
11
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAsC,cAAc,EAAC,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAqD,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGpG,OAAO,EAAmB,mBAAmB,EAAC,MAAM,uBAAuB,CAAC"}
@@ -44,7 +44,7 @@ export declare class NodeFileSystem implements FileSystem {
44
44
  deleteEmptyDir(path: string): Promise<void>;
45
45
  /**
46
46
  * Resolves a relative path to an absolute path
47
- * @param path - Relative path
47
+ * @param path - Relative or absolute path
48
48
  * @returns Absolute path
49
49
  */
50
50
  private resolve;
@@ -1,4 +1,4 @@
1
- import { join } from "path";
1
+ import { isAbsolute, join } from "path";
2
2
  import { mkdir, readdir, readFile, rm, stat, writeFile } from "fs/promises";
3
3
  /**
4
4
  * Node.js file system implementation
@@ -73,11 +73,11 @@ export class NodeFileSystem {
73
73
  }
74
74
  /**
75
75
  * Resolves a relative path to an absolute path
76
- * @param path - Relative path
76
+ * @param path - Relative or absolute path
77
77
  * @returns Absolute path
78
78
  */
79
79
  resolve(path) {
80
- return join(this.baseDir, path);
80
+ return isAbsolute(path) ? path : join(this.baseDir, path);
81
81
  }
82
82
  }
83
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,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"}
1
+ {"version":3,"file":"node-file-system.js","sourceRoot":"","sources":["../src/node-file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACtC,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,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;CACF"}
package/dist/sync.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  import { Workspace } from "./workspace.type.js";
2
2
  /**
3
- * Manages synchronization of system prompts to assistant configurations
3
+ * Manages synchronization of system prompts to assistant configurations.
4
+ * Fetches prompts from SysPromptHub and updates configured assistants.
4
5
  */
5
6
  export declare class SyncManager {
6
- private readonly assistantManager;
7
7
  /**
8
- * Syncs system prompts to configured assistants
8
+ * Syncs system prompts to configured assistants and custom paths.
9
+ * Clears prompts for unconfigured assistants.
9
10
  * @param workspace - The workspace containing configuration and file system
11
+ * @throws {Error} If API key is not provided in configuration
10
12
  */
11
13
  sync(workspace: Workspace): Promise<void>;
12
14
  }
15
+ /** Singleton instance of SyncManager for convenient access */
16
+ export declare const syncManager: SyncManager;
13
17
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
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;CA8BhD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,WAAW;IACtB;;;;;OAKG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAkChD;AAED,8DAA8D;AAC9D,eAAO,MAAM,WAAW,aAAoB,CAAC"}
package/dist/sync.js CHANGED
@@ -1,15 +1,17 @@
1
1
  import { SysPromptHubClient } from './client.js';
2
- import { AssistantManager } from './assistant-manager.js';
2
+ import { assistantManager } from './assistant-manager.js';
3
3
  import { Prompt } from "./prompt.js";
4
4
  import { DEFAULT_CONFIG } from "./config.type.js";
5
5
  /**
6
- * Manages synchronization of system prompts to assistant configurations
6
+ * Manages synchronization of system prompts to assistant configurations.
7
+ * Fetches prompts from SysPromptHub and updates configured assistants.
7
8
  */
8
9
  export class SyncManager {
9
- assistantManager = new AssistantManager();
10
10
  /**
11
- * Syncs system prompts to configured assistants
11
+ * Syncs system prompts to configured assistants and custom paths.
12
+ * Clears prompts for unconfigured assistants.
12
13
  * @param workspace - The workspace containing configuration and file system
14
+ * @throws {Error} If API key is not provided in configuration
13
15
  */
14
16
  async sync(workspace) {
15
17
  const { environment, packName, assistants, path, apiKey } = { ...DEFAULT_CONFIG, ...workspace.config };
@@ -21,13 +23,20 @@ export class SyncManager {
21
23
  const client = new SysPromptHubClient(apiKey, environment);
22
24
  prompt = await client.fetchPack(packName);
23
25
  }
24
- const prompts = [];
25
- if (path)
26
- prompts.push(new Prompt(path));
27
- if (assistants && assistants.length > 0) {
28
- this.assistantManager.forEach(assistants, assistant => prompts.push(assistant.prompt));
26
+ // Sync custom path if configured
27
+ if (path) {
28
+ await new Prompt(path).sync(workspace, prompt);
29
29
  }
30
- await Promise.all(prompts.map(p => p.sync(workspace, prompt)));
30
+ // Sync ALL known assistants - update if in config, clear if not
31
+ const syncPromises = [];
32
+ assistantManager.forEach((assistant) => {
33
+ const isConfigured = assistants && assistants.includes(assistant.type);
34
+ // Pass prompt content if configured, null to clear if not
35
+ syncPromises.push(assistant.prompt.sync(workspace, isConfigured ? prompt : null));
36
+ });
37
+ await Promise.all(syncPromises);
31
38
  }
32
39
  }
40
+ /** Singleton instance of SyncManager for convenient access */
41
+ export const syncManager = new SyncManager();
33
42
  //# 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,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,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,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"}
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,EAAmB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGhD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;OAKG;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,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAoB,EAAE,EAAE;YAChD,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;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sysprompthub/sdk",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "SDK for syncing system prompts from SysPromptHub",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,12 +38,11 @@
38
38
  },
39
39
  "scripts": {
40
40
  "build": "tsc",
41
+ "watch": "tsc --watch",
41
42
  "test": "vitest run",
42
43
  "test:watch": "vitest",
43
44
  "test:ui": "vitest --ui",
44
45
  "typecheck": "tsc --noEmit",
45
- "preversion": "pnpm test",
46
- "version": "pnpm run build",
47
- "postversion": "git push && git push --tags"
46
+ "preversion": "pnpm run build && pnpm test"
48
47
  }
49
48
  }