@coralai/sps-cli 0.67.0 → 0.67.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 (69) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/console/routes/plugins.d.ts.map +1 -1
  3. package/dist/console/routes/plugins.js +19 -13
  4. package/dist/console/routes/plugins.js.map +1 -1
  5. package/dist/console-assets/assets/{ShowcasePage-3ekOTV_g.js → ShowcasePage-BT8yKbuT.js} +1 -1
  6. package/dist/console-assets/assets/{index-Dd7MTFgX.css → index-B1FscG4r.css} +1 -1
  7. package/dist/console-assets/assets/{index-o3svZ9mC.js → index-Dht87wHH.js} +216 -211
  8. package/dist/console-assets/index.html +2 -2
  9. package/dist/plugin/manager.d.ts +16 -0
  10. package/dist/plugin/manager.d.ts.map +1 -1
  11. package/dist/plugin/manager.js +33 -0
  12. package/dist/plugin/manager.js.map +1 -1
  13. package/dist/seams/agents/index.d.ts +3 -0
  14. package/dist/seams/agents/index.d.ts.map +1 -1
  15. package/dist/seams/agents/index.js +3 -0
  16. package/dist/seams/agents/index.js.map +1 -1
  17. package/dist/seams/agents-builtin/index.d.ts +3 -0
  18. package/dist/seams/agents-builtin/index.d.ts.map +1 -1
  19. package/dist/seams/agents-builtin/index.js +3 -0
  20. package/dist/seams/agents-builtin/index.js.map +1 -1
  21. package/dist/seams/capabilities/index.d.ts +3 -0
  22. package/dist/seams/capabilities/index.d.ts.map +1 -1
  23. package/dist/seams/capabilities/index.js +3 -0
  24. package/dist/seams/capabilities/index.js.map +1 -1
  25. package/dist/seams/capabilities-art/index.d.ts +3 -0
  26. package/dist/seams/capabilities-art/index.d.ts.map +1 -1
  27. package/dist/seams/capabilities-art/index.js +3 -0
  28. package/dist/seams/capabilities-art/index.js.map +1 -1
  29. package/dist/seams/im/index.d.ts +3 -0
  30. package/dist/seams/im/index.d.ts.map +1 -1
  31. package/dist/seams/im/index.js +3 -0
  32. package/dist/seams/im/index.js.map +1 -1
  33. package/dist/seams/im-builtin/index.d.ts +3 -0
  34. package/dist/seams/im-builtin/index.d.ts.map +1 -1
  35. package/dist/seams/im-builtin/index.js +3 -0
  36. package/dist/seams/im-builtin/index.js.map +1 -1
  37. package/dist/seams/media/index.d.ts +3 -0
  38. package/dist/seams/media/index.d.ts.map +1 -1
  39. package/dist/seams/media/index.js +3 -0
  40. package/dist/seams/media/index.js.map +1 -1
  41. package/dist/seams/media-builtin/index.d.ts +3 -0
  42. package/dist/seams/media-builtin/index.d.ts.map +1 -1
  43. package/dist/seams/media-builtin/index.js +3 -0
  44. package/dist/seams/media-builtin/index.js.map +1 -1
  45. package/dist/seams/memory-local/index.d.ts +3 -0
  46. package/dist/seams/memory-local/index.d.ts.map +1 -1
  47. package/dist/seams/memory-local/index.js +3 -0
  48. package/dist/seams/memory-local/index.js.map +1 -1
  49. package/dist/seams/notifier-matrix/index.d.ts +3 -0
  50. package/dist/seams/notifier-matrix/index.d.ts.map +1 -1
  51. package/dist/seams/notifier-matrix/index.js +3 -0
  52. package/dist/seams/notifier-matrix/index.js.map +1 -1
  53. package/dist/seams/notifier-none/index.d.ts +3 -0
  54. package/dist/seams/notifier-none/index.d.ts.map +1 -1
  55. package/dist/seams/notifier-none/index.js +3 -0
  56. package/dist/seams/notifier-none/index.js.map +1 -1
  57. package/dist/seams/repo/index.d.ts +3 -0
  58. package/dist/seams/repo/index.d.ts.map +1 -1
  59. package/dist/seams/repo/index.js +3 -0
  60. package/dist/seams/repo/index.js.map +1 -1
  61. package/dist/seams/repo-builtin/index.d.ts +3 -0
  62. package/dist/seams/repo-builtin/index.d.ts.map +1 -1
  63. package/dist/seams/repo-builtin/index.js +3 -0
  64. package/dist/seams/repo-builtin/index.js.map +1 -1
  65. package/dist/seams/tools/index.d.ts +3 -0
  66. package/dist/seams/tools/index.d.ts.map +1 -1
  67. package/dist/seams/tools/index.js +3 -0
  68. package/dist/seams/tools/index.js.map +1 -1
  69. package/package.json +1 -1
@@ -8,6 +8,9 @@
8
8
  * (Gitea / Bitbucket)不该需要改内核代码。
9
9
  */
10
10
  import type { Context } from '@deepseek-ai/cordis';
11
+ /** 插件页展示用。**由插件自己声明** —— 前端写死的表对第三方永远是空的。 */
12
+ export declare const category = "\u4EE3\u7801\u6258\u7BA1";
13
+ export declare const description = "\u5185\u5EFA github / gitlab\u3002\u52A0 Gitea/Bitbucket = \u5199\u4E2A\u5305\u518D\u6302\u4E00\u884C\u3002";
11
14
  export declare const name = "sps-repo-builtin";
12
15
  export declare const inject: string[];
13
16
  export declare function apply(ctx: Context): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seams/repo-builtin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAUnD,eAAO,MAAM,IAAI,qBAAqB,CAAC;AACvC,eAAO,MAAM,MAAM,UAAS,CAAC;AAE7B,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAExC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seams/repo-builtin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,6BAAS,CAAC;AAC/B,eAAO,MAAM,WAAW,gHAC2B,CAAC;AAQpD,eAAO,MAAM,IAAI,qBAAqB,CAAC;AACvC,eAAO,MAAM,MAAM,UAAS,CAAC;AAE7B,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAExC"}
@@ -1,6 +1,9 @@
1
1
  import { GitHubRepoBackend } from '../../providers/GitHubRepoBackend.js';
2
2
  import { GitLabRepoBackend } from '../../providers/GitLabRepoBackend.js';
3
3
  import { REPO } from '../repo/index.js';
4
+ /** 插件页展示用。**由插件自己声明** —— 前端写死的表对第三方永远是空的。 */
5
+ export const category = '代码托管';
6
+ export const description = '内建 github / gitlab。加 Gitea/Bitbucket = 写个包再挂一行。';
4
7
  const BUILTIN = [
5
8
  { id: 'github', summary: 'GitHub PR', create: (c) => new GitHubRepoBackend(c) },
6
9
  { id: 'gitlab', summary: 'GitLab MR', create: (c) => new GitLabRepoBackend(c) },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seams/repo-builtin/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,IAAI,EAA2B,MAAM,kBAAkB,CAAC;AAEjE,MAAM,OAAO,GAAyB;IACpC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAC/E,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAE7B,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seams/repo-builtin/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,IAAI,EAA2B,MAAM,kBAAkB,CAAC;AAEjE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GACtB,iDAAiD,CAAC;AAGpD,MAAM,OAAO,GAAyB;IACpC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAC/E,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAE7B,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -24,6 +24,9 @@
24
24
  */
25
25
  import { type Context, Service } from '@deepseek-ai/cordis';
26
26
  import type { ZodTypeAny } from 'zod';
27
+ /** 插件页展示用。**由插件自己声明** —— 前端写死的表对第三方永远是空的。 */
28
+ export declare const category = "\u5DE5\u5177";
29
+ export declare const description = "\u5DE5\u5177\u6CE8\u518C\u8868\u3002\u63D2\u4EF6\u628A\u5DE5\u5177\u6CE8\u518C\u8FDB\u5B83,MCP \u9762\u518D\u66B4\u9732\u7ED9 agent\u3002";
27
30
  /** 服务名。加 `sps.` 前缀 —— Cordis 是扁平命名空间。 */
28
31
  export declare const TOOLS = "sps.tools";
29
32
  /** 调用时才知道的会话信息。 */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seams/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,yCAAyC;AACzC,eAAO,MAAM,KAAK,cAAc,CAAC;AAEjC,mBAAmB;AACnB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;uDACmD;IACnD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE5C,GAAG,EAAE,OAAO;IAIxB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI;IAWrC,qCAAqC;IACrC,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAG1C;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,WAAW,EAAE,aAAa,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seams/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,iBAAO,CAAC;AAC7B,eAAO,MAAM,WAAW,8IACY,CAAC;AAGrC,yCAAyC;AACzC,eAAO,MAAM,KAAK,cAAc,CAAC;AAEjC,mBAAmB;AACnB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;uDACmD;IACnD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE5C,GAAG,EAAE,OAAO;IAIxB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI;IAWrC,qCAAqC;IACrC,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAG1C;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,WAAW,EAAE,aAAa,CAAC;KAC5B;CACF"}
@@ -23,6 +23,9 @@
23
23
  * 反过来做的话,一个插件要为每个会话注册一遍,而它根本不知道会话何时出现。
24
24
  */
25
25
  import { Service } from '@deepseek-ai/cordis';
26
+ /** 插件页展示用。**由插件自己声明** —— 前端写死的表对第三方永远是空的。 */
27
+ export const category = '工具';
28
+ export const description = '工具注册表。插件把工具注册进它,MCP 面再暴露给 agent。';
26
29
  /** 服务名。加 `sps.` 前缀 —— Cordis 是扁平命名空间。 */
27
30
  export const TOOLS = 'sps.tools';
28
31
  export default class ToolsRegistry extends Service {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seams/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAgB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG5D,yCAAyC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;AA6BjC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAC/B,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAExD,YAAY,GAAY;QACtB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAe;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seams/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAgB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG5D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GACtB,kCAAkC,CAAC;AAGrC,yCAAyC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;AA6BjC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAC/B,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAExD,YAAY,GAAY;QACtB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAe;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralai/sps-cli",
3
- "version": "0.67.0",
3
+ "version": "0.67.1",
4
4
  "description": "SPS CLI — AI-driven development pipeline orchestrator",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",