@lightdash/cli 2.336.2 → 2.337.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.
@@ -218,6 +218,7 @@ export type ProjectContentAsCodeCounts = {
218
218
  spacesNum?: number;
219
219
  virtualViewsNum?: number;
220
220
  agentsNum?: number;
221
+ skillsNum?: number;
221
222
  appsNum?: number;
222
223
  chartTypesNum?: number;
223
224
  alertsNum?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.ts"],"names":[],"mappings":"AAmDA,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEjD;;;EAGE;AACF,KAAK,2BAA2B,GAAG,SAAS,GAAG;IAC3C,KAAK,EAAE,4BAA4B,CAAC;IACpC,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AACF,KAAK,6BAA6B,GAAG,SAAS,GAAG;IAC7C,KAAK,EAAE,8BAA8B,CAAC;IACtC,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,yBAAyB,GAAG,SAAS,GAAG;IACzC,KAAK,EAAE,0BAA0B,CAAC;IAClC,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;CACL,CAAC;AACF,KAAK,oBAAoB,GAAG,SAAS,GAAG;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AACF,KAAK,aAAa,GAAG,SAAS,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,UAAU,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;CACL,CAAC;AAEF,KAAK,sBAAsB,GAAG,SAAS,GAAG;IACtC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,UAAU,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,KAAK,WAAW,GAAG,SAAS,GAAG;IAC3B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL,CAAC;AACF,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,eAAe,GAAG,SAAS,GAAG;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL,CAAC;AACF,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,eAAe,GAAG,SAAS,GAAG;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC;QACxB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;KACvB,CAAC;CACL,CAAC;AACF,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,eAAe,GAAG,SAAS,GAAG;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACL,CAAC;AAEF,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,OAAO,CAAC;KAC1B,CAAC;CACL,CAAC;AACF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,cAAc,GAAG,SAAS,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACnC,KAAK,EACC,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,CAAC;IAC7B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL,CAAC;AACF,KAAK,qBAAqB,GAAG,SAAS,GAAG;IACrC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL,CAAC;AAEF,KAAK,QAAQ,GAAG,SAAS,GAAG;IACxB,KAAK,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAC3C,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,KAAK,gBAAgB,GAAG,SAAS,GAC7B,CACM;IACI,KAAK,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAC7C,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL,GACD;IACI,KAAK,EAAE,oBAAoB,GAAG,kBAAkB,CAAC;IACjD,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KAC3B,GAAG,0BAA0B,CAAC;CAClC,GACD;IACI,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAAC;IACzC,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,GACD;IACI,KAAK,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAC7C,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;KACzB,CAAC;CACL,GACD;IACI,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL,GACD;IACI,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL,GACD;IACI,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAAC;IACzC,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CACN,CAAC;AAEN,KAAK,wBAAwB,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,wBAAwB,CAAC;IAChC,UAAU,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACxC,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,wBAAwB,EAAE,OAAO,CAAC;QAClC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC,CAAC;CACL,CAAC;AACF,wJAAwJ;AACxJ,KAAK,oBAAoB,GAAG,SAAS,GAAG;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,wBAAwB,EAAE,OAAO,CAAC;QAClC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC,CAAC;CACL,CAAC;AACF,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAEF,KAAK,aAAa,GAAG,SAAS,GAAG;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL,CAAC;AACF,KAAK,eAAe,GAAG,SAAS,GAAG;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AACF,KAAK,WAAW,GAAG,SAAS,GAAG;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAEF,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,KAAK,YAAY,GAAG,SAAS,GAAG;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;KACrD,CAAC;CACL,CAAC;AACF,KAAK,cAAc,GAAG,SAAS,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG,SAAS,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,KAAK,mBAAmB,GAAG,SAAS,GAChC,CACM;IACI,KAAK,EAAE,2BAA2B,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACrC,GACD;IACI,KAAK,EAAE,6BAA6B,CAAC;IACrC,UAAU,EAAE;QAAE,MAAM,EAAE,UAAU,GAAG,KAAK,CAAA;KAAE,CAAC;CAC9C,GACD;IACI,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CACN,CAAC;AAEN,KAAK,KAAK,GACJ,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,sBAAsB,GACtB,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,2BAA2B,GAC3B,6BAA6B,GAC7B,yBAAyB,GACzB,QAAQ,GACR,gBAAgB,GAChB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,kBAAkB,GAClB,mBAAmB,CAAC;AAa1B,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,MAehD,CAAC;AAEF,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B,OAAa,KAAK,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChD;IAED,OAAa,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpE;CACJ"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export type DownloadHandlerOptions = {
18
18
  apps?: string[];
19
19
  chartTypes?: string[];
20
20
  includeAgents?: boolean;
21
+ skills?: string[];
22
+ includeSkills?: boolean;
23
+ deleteSkills?: string[];
21
24
  includeApps?: boolean;
22
25
  includeChartTypes?: boolean;
23
26
  appsLimit?: string;
@@ -61,7 +64,7 @@ export type DownloadHandlerOptions = {
61
64
  sendInvites?: boolean;
62
65
  };
63
66
  declare const shouldDownloadAiAgents: ({ includeAll, includeAgents, agents, appsOnly, }: Pick<DownloadHandlerOptions, 'includeAll' | 'includeAgents' | 'agents' | 'appsOnly'>) => boolean;
64
- declare const hasContentFilters: ({ spacesOnly, charts, dashboards, agents, alerts, googleSheets, scheduledDeliveries, virtualViews, externalConnections, homepages, apps, chartTypes, }: Pick<DownloadHandlerOptions, 'spacesOnly' | 'charts' | 'dashboards' | 'agents' | 'alerts' | 'googleSheets' | 'scheduledDeliveries' | 'virtualViews' | 'externalConnections' | 'homepages' | 'apps' | 'chartTypes'>) => boolean;
67
+ declare const hasContentFilters: ({ spacesOnly, charts, dashboards, agents, alerts, googleSheets, scheduledDeliveries, virtualViews, externalConnections, homepages, apps, chartTypes, skills, }: Pick<DownloadHandlerOptions, 'spacesOnly' | 'charts' | 'dashboards' | 'agents' | 'skills' | 'alerts' | 'googleSheets' | 'scheduledDeliveries' | 'virtualViews' | 'externalConnections' | 'homepages' | 'apps' | 'chartTypes'>) => boolean;
65
68
  declare const parseContentFilters: (items: string[]) => string;
66
69
  type MetadataEntry = {
67
70
  slug: string;
@@ -108,7 +111,10 @@ declare const isExternalConnectionsUnavailableError: (error: unknown) => boolean
108
111
  declare const isAiAgentsUnavailableError: (error: unknown) => boolean;
109
112
  declare const readExternalConnectionFiles: (customPath?: string) => Promise<ExternalConnectionAsCode[]>;
110
113
  declare const upsertExternalConnections: (projectId: string, slugs: string[], changes: Record<string, number>, force: boolean, canUpload: boolean, customPath?: string) => Promise<Record<string, number>>;
111
- declare const downloadAiAgents: (projectId: string, ids: string[], implicit: boolean, customPath?: string) => Promise<number>;
114
+ declare const downloadAiAgents: (projectId: string, ids: string[], implicit: boolean, customPath?: string) => Promise<{
115
+ downloaded: number;
116
+ agents: AgentAsCode[];
117
+ }>;
112
118
  declare const readAiAgentFiles: (customPath?: string) => Promise<AgentAsCode[]>;
113
119
  declare const upsertAiAgents: (projectId: string, slugs: string[], changes: Record<string, number>, force: boolean, customPath?: string, implicit?: boolean) => Promise<Record<string, number>>;
114
120
  export declare const downloadHandler: (options: DownloadHandlerOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/handlers/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/handlers/download.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const homepagesAsCode_1 = require("./homepagesAsCode");
32
32
  const metadataFile_1 = require("./metadataFile");
33
33
  const organizationContent_1 = require("./organizationContent");
34
34
  const selectProject_1 = require("./selectProject");
35
+ const skillsAsCode_1 = require("./skillsAsCode");
35
36
  const spacesAsCode_1 = require("./spacesAsCode");
36
37
  // Keys only a merged chart's merge has read in the order they are
37
38
  // thought about; everything else stays alphabetical, so no other file moves.
@@ -61,11 +62,12 @@ const compareContentKeys = (a, b) => {
61
62
  };
62
63
  const shouldDownloadAiAgents = ({ includeAll, includeAgents, agents, appsOnly, }) => appsOnly !== true &&
63
64
  (includeAll === true || includeAgents === true || agents.length > 0);
64
- const hasContentFilters = ({ spacesOnly, charts, dashboards, agents, alerts, googleSheets, scheduledDeliveries, virtualViews, externalConnections, homepages, apps, chartTypes, }) => !spacesOnly &&
65
+ const hasContentFilters = ({ spacesOnly, charts, dashboards, agents, alerts, googleSheets, scheduledDeliveries, virtualViews, externalConnections, homepages, apps, chartTypes, skills = [], }) => !spacesOnly &&
65
66
  [
66
67
  charts,
67
68
  dashboards,
68
69
  agents,
70
+ skills,
69
71
  alerts,
70
72
  googleSheets,
71
73
  scheduledDeliveries,
@@ -836,11 +838,11 @@ const downloadAiAgents = async (projectId, ids, implicit, customPath) => {
836
838
  if (implicit && isAiAgentsUnavailableError(error)) {
837
839
  globalState_1.default.log(styles.warning('Skipping AI agents: they require Lightdash Enterprise and AI agent access.'));
838
840
  globalState_1.default.debug(`Could not download AI agents: ${(0, common_1.getErrorMessage)(error)}`);
839
- return 0;
841
+ return { downloaded: 0, agents: [] };
840
842
  }
841
843
  throw error;
842
844
  }
843
- return downloaded;
845
+ return { downloaded, agents };
844
846
  };
845
847
  const readAiAgentFiles = async (customPath) => {
846
848
  const result = await (0, resource_1.readCodeResourceFiles)({
@@ -888,10 +890,12 @@ const upsertAiAgents = async (projectId, slugs, changes, force, customPath, impl
888
890
  throw error;
889
891
  }
890
892
  (results.warnings ?? []).forEach((warning) => globalState_1.default.log(styles.warning(` ⚠ ${warning}`)));
893
+ (results.failed ?? []).forEach(({ slug, message }) => globalState_1.default.log(styles.error(` ✖ ${slug}: ${message}`)));
891
894
  const counts = {
892
895
  'AI agents created': results.created.length,
893
896
  'AI agents updated': results.updated.length,
894
897
  'AI agents skipped': results.unchanged.length,
898
+ 'AI agents failed': (results.failed ?? []).length,
895
899
  };
896
900
  Object.entries(counts).forEach(([key, value]) => {
897
901
  if (value > 0)
@@ -1127,6 +1131,7 @@ const downloadHandler = async (options) => {
1127
1131
  await (0, organizationContent_1.downloadOrganizationContent)({
1128
1132
  customPath: options.path,
1129
1133
  config,
1134
+ skills: options.skills ?? [],
1130
1135
  });
1131
1136
  return;
1132
1137
  }
@@ -1318,6 +1323,7 @@ const downloadHandler = async (options) => {
1318
1323
  dashboardAppSlugs = appSlugs;
1319
1324
  }
1320
1325
  }
1326
+ const downloadedAgents = [];
1321
1327
  if (!options.spacesOnly && shouldDownloadAiAgents(options)) {
1322
1328
  const implicit = includeAllOptionalContent &&
1323
1329
  options.includeAgents !== true &&
@@ -1325,8 +1331,38 @@ const downloadHandler = async (options) => {
1325
1331
  await output.runItem({
1326
1332
  label: 'AI agents',
1327
1333
  action: async () => {
1328
- const total = await downloadAiAgents(projectId, options.agents, implicit, options.path);
1329
- counts.agentsNum = total;
1334
+ const result = await downloadAiAgents(projectId, options.agents, implicit, options.path);
1335
+ downloadedAgents.push(...result.agents);
1336
+ counts.agentsNum = result.downloaded;
1337
+ return result.downloaded;
1338
+ },
1339
+ detail: (total) => `${total} downloaded`,
1340
+ });
1341
+ }
1342
+ const skillNames = options.skills ?? [];
1343
+ if (!options.spacesOnly &&
1344
+ options.appsOnly !== true &&
1345
+ (options.includeSkills === true || skillNames.length > 0)) {
1346
+ await output.runItem({
1347
+ label: 'Skills',
1348
+ action: async () => {
1349
+ // A project checkout stays minimal: without explicit
1350
+ // names, only the skills bound to the agents just downloaded.
1351
+ const boundNames = skillNames.length
1352
+ ? skillNames
1353
+ : [
1354
+ ...new Set(downloadedAgents.flatMap((agent) => agent.skills ?? [])),
1355
+ ];
1356
+ if (boundNames.length === 0) {
1357
+ counts.skillsNum = 0;
1358
+ return 0;
1359
+ }
1360
+ const total = await (0, skillsAsCode_1.downloadSkills)({
1361
+ names: boundNames,
1362
+ customPath: options.path,
1363
+ basePath: (0, contentAsCodePaths_1.getDownloadFolder)(options.path),
1364
+ });
1365
+ counts.skillsNum = total;
1330
1366
  return total;
1331
1367
  },
1332
1368
  detail: (total) => `${total} downloaded`,
@@ -2166,6 +2202,8 @@ const uploadHandler = async (options) => {
2166
2202
  customPath: contentPathOption,
2167
2203
  config,
2168
2204
  sendInvites: options.sendInvites,
2205
+ skills: options.skills ?? [],
2206
+ deleteSkills: options.deleteSkills ?? [],
2169
2207
  });
2170
2208
  return;
2171
2209
  }
@@ -2779,6 +2817,33 @@ const uploadHandler = async (options) => {
2779
2817
  return result.changes;
2780
2818
  },
2781
2819
  });
2820
+ // Skills go before agents: an agent's `skills:` list must resolve
2821
+ // against skills that already exist on the server.
2822
+ {
2823
+ const skillFilters = options.skills ?? [];
2824
+ const deleteSkills = options.deleteSkills ?? [];
2825
+ if (hasFilters &&
2826
+ skillFilters.length === 0 &&
2827
+ deleteSkills.length === 0) {
2828
+ globalState_1.default.log(styles.warning(`No skill filters provided, skipping`));
2829
+ }
2830
+ else {
2831
+ changes = await runUploadChangesPhase({
2832
+ output,
2833
+ label: 'Skills',
2834
+ changes,
2835
+ action: () => (0, skillsAsCode_1.upsertSkills)({
2836
+ names: skillFilters,
2837
+ deleteNames: deleteSkills,
2838
+ basePath: (0, contentAsCodePaths_1.getDownloadFolder)(contentPathOption),
2839
+ changes,
2840
+ }),
2841
+ onCount: (count) => {
2842
+ counts.skillsNum = count;
2843
+ },
2844
+ });
2845
+ }
2846
+ }
2782
2847
  if (!options.skipAgents) {
2783
2848
  if (hasFilters && options.agents.length === 0) {
2784
2849
  globalState_1.default.log(styles.warning(`No AI agent filters provided, skipping`));
@@ -3,9 +3,11 @@ type OrganizationContentOptions = {
3
3
  customPath?: string;
4
4
  config: Config;
5
5
  sendInvites?: boolean;
6
+ skills?: string[];
7
+ deleteSkills?: string[];
6
8
  };
7
9
  export declare const getOrganizationContentFolder: (customPath?: string) => string;
8
- export declare const downloadOrganizationContent: ({ customPath, config, }: OrganizationContentOptions) => Promise<void>;
9
- export declare const uploadOrganizationContent: ({ customPath, config, sendInvites, }: OrganizationContentOptions) => Promise<void>;
10
+ export declare const downloadOrganizationContent: ({ customPath, config, skills, }: OrganizationContentOptions) => Promise<void>;
11
+ export declare const uploadOrganizationContent: ({ customPath, config, sendInvites, skills, deleteSkills, }: OrganizationContentOptions) => Promise<void>;
10
12
  export {};
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/organizationContent/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAqC3C,KAAK,0BAA0B,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAqBF,eAAO,MAAM,4BAA4B,gBAAiB,MAAM,KAAG,MAClC,CAAC;AAElC,eAAO,MAAM,2BAA2B,4BAGrC,0BAA0B,KAAG,OAAO,CAAC,IAAI,CA2G3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,yCAInC,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAoM3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/organizationContent/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAsC3C,KAAK,0BAA0B,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAqBF,eAAO,MAAM,4BAA4B,gBAAiB,MAAM,KAAG,MAClC,CAAC;AAElC,eAAO,MAAM,2BAA2B,oCAIrC,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAqH3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,+DAMnC,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAiN3C,CAAC"}
@@ -10,6 +10,7 @@ const contentAsCodeOutput_1 = require("../../terminal/contentAsCodeOutput");
10
10
  const registry_1 = require("../contentAsCode/registry");
11
11
  const resource_1 = require("../contentAsCode/resource");
12
12
  const contentAsCodePaths_1 = require("../contentAsCodePaths");
13
+ const skillsAsCode_1 = require("../skillsAsCode");
13
14
  const customRoles_1 = require("./customRoles");
14
15
  const groups_1 = require("./groups");
15
16
  const themes_1 = require("./themes");
@@ -25,7 +26,7 @@ const isGroupServiceDisabledError = (error) => error instanceof common_1.Lightda
25
26
  error.message === 'Group service is not enabled';
26
27
  const getOrganizationContentFolder = (customPath) => (0, contentAsCodePaths_1.getDownloadFolder)(customPath);
27
28
  exports.getOrganizationContentFolder = getOrganizationContentFolder;
28
- const downloadOrganizationContent = async ({ customPath, config, }) => {
29
+ const downloadOrganizationContent = async ({ customPath, config, skills = [], }) => {
29
30
  const organizationUuid = config.user?.organizationUuid;
30
31
  if (!organizationUuid) {
31
32
  throw new common_1.AuthorizationError(`No organization selected. Log in again with 'lightdash login'.`);
@@ -78,6 +79,15 @@ const downloadOrganizationContent = async ({ customPath, config, }) => {
78
79
  action: () => (0, themes_1.downloadThemes)(organizationContentPath),
79
80
  detail: (total) => `${total} downloaded`,
80
81
  });
82
+ await output.runItem({
83
+ label: 'Skills',
84
+ action: () => (0, skillsAsCode_1.downloadSkills)({
85
+ names: skills,
86
+ customPath,
87
+ basePath: organizationContentPath,
88
+ }),
89
+ detail: (total) => `${total} downloaded`,
90
+ });
81
91
  const renderedSummary = output.complete(organizationContentPath, (Date.now() - start) / 1000);
82
92
  if (!renderedSummary) {
83
93
  globalState_1.default.log(styles.success(`Downloaded organization content saved to ${organizationContentPath}`));
@@ -112,7 +122,7 @@ const downloadOrganizationContent = async ({ customPath, config, }) => {
112
122
  }
113
123
  };
114
124
  exports.downloadOrganizationContent = downloadOrganizationContent;
115
- const uploadOrganizationContent = async ({ customPath, config, sendInvites = false, }) => {
125
+ const uploadOrganizationContent = async ({ customPath, config, sendInvites = false, skills = [], deleteSkills = [], }) => {
116
126
  (0, registry_1.assertCodeResourceDependencyOrder)(registry_1.ORGANIZATION_CODE_RESOURCES);
117
127
  const organizationUuid = config.user?.organizationUuid;
118
128
  if (!organizationUuid) {
@@ -189,6 +199,16 @@ const uploadOrganizationContent = async ({ customPath, config, sendInvites = fal
189
199
  throw createThemePartialUploadError(`Processed themes: ${themeSummaryMessage}`);
190
200
  }
191
201
  output.completeItem(themeSummaryMessage);
202
+ output.startItem('Skills');
203
+ const skillChanges = await (0, skillsAsCode_1.upsertSkills)({
204
+ names: skills,
205
+ deleteNames: deleteSkills,
206
+ basePath: organizationContentPath,
207
+ changes: {},
208
+ });
209
+ output.completeItem(Object.entries(skillChanges)
210
+ .map(([key, value]) => `${value} ${key.replace('Skills ', '')}`)
211
+ .join(', ') || 'nothing to upload', skillChanges['Skills failed'] ? 'warning' : undefined);
192
212
  const renderedSummary = output.complete(organizationContentPath, (Date.now() - start) / 1000);
193
213
  if (!renderedSummary) {
194
214
  globalState_1.default.log(styles.success(`Uploaded organization content from ${organizationContentPath}`));
@@ -0,0 +1,21 @@
1
+ import { type SkillAsCode } from '@lightdash/common';
2
+ export declare const SKILLS_FOLDER_NAME = "skills";
3
+ export declare const getSkillsFolder: (basePath: string) => string;
4
+ /** Reads every `skills/<name>/` folder: SKILL.md plus flat markdown under resources/. Other files are left alone. */
5
+ export declare const readSkillFolders: (basePath: string) => Promise<{
6
+ skills: SkillAsCode[];
7
+ failures: string[];
8
+ }>;
9
+ export declare const writeSkillFolders: (basePath: string, skills: SkillAsCode[]) => Promise<number>;
10
+ export declare const downloadSkills: ({ names, customPath, basePath, }: {
11
+ names: string[];
12
+ customPath?: string;
13
+ basePath: string;
14
+ }) => Promise<number>;
15
+ export declare const upsertSkills: ({ names, deleteNames, basePath, changes, }: {
16
+ names: string[];
17
+ deleteNames: string[];
18
+ basePath: string;
19
+ changes: Record<string, number>;
20
+ }) => Promise<Record<string, number>>;
21
+ //# sourceMappingURL=skillsAsCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillsAsCode.d.ts","sourceRoot":"","sources":["../../src/handlers/skillsAsCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAWH,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAO3B,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAQ3C,eAAO,MAAM,eAAe,aAAc,MAAM,KAAG,MACR,CAAC;AAiE5C,qHAAqH;AACrH,eAAO,MAAM,gBAAgB,aACf,MAAM,KACjB,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAevD,CAAC;AA6BF,eAAO,MAAM,iBAAiB,aAChB,MAAM,UACR,WAAW,EAAE,KACtB,OAAO,CAAC,MAAM,CAgBhB,CAAC;AAEF,eAAO,MAAM,cAAc,qCAIxB;IACC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB,KAAG,OAAO,CAAC,MAAM,CA8BjB,CAAC;AAYF,eAAO,MAAM,YAAY,+CAKtB;IACC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqEjC,CAAC"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upsertSkills = exports.downloadSkills = exports.writeSkillFolders = exports.readSkillFolders = exports.getSkillsFolder = exports.SKILLS_FOLDER_NAME = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@lightdash/common");
6
+ const fs_1 = require("fs");
7
+ const path = tslib_1.__importStar(require("path"));
8
+ const globalState_1 = tslib_1.__importDefault(require("../globalState"));
9
+ const styles = tslib_1.__importStar(require("../styles"));
10
+ const apiClient_1 = require("./dbt/apiClient");
11
+ exports.SKILLS_FOLDER_NAME = 'skills';
12
+ const isEnoent = (error) => error.code === 'ENOENT';
13
+ const isSkillsDisabledError = (error) => (0, common_1.getErrorMessage)(error).includes(common_1.AI_AGENT_SKILLS_DISABLED_MESSAGE);
14
+ const getSkillsFolder = (basePath) => path.join(basePath, exports.SKILLS_FOLDER_NAME);
15
+ exports.getSkillsFolder = getSkillsFolder;
16
+ const listEntries = async (folder, keep) => {
17
+ try {
18
+ return (await fs_1.promises.readdir(folder, { withFileTypes: true }))
19
+ .filter(keep)
20
+ .map((entry) => entry.name)
21
+ .sort();
22
+ }
23
+ catch (error) {
24
+ if (isEnoent(error))
25
+ return [];
26
+ throw error;
27
+ }
28
+ };
29
+ const listDirectories = (folder) => listEntries(folder, (entry) => entry.isDirectory());
30
+ const listMarkdownFiles = (folder) => listEntries(folder, (entry) => entry.isFile() && entry.name.endsWith('.md'));
31
+ const readSkillFolder = async (folder, name) => {
32
+ const skillPath = path.join(folder, name);
33
+ let skillMarkdown;
34
+ try {
35
+ skillMarkdown = await fs_1.promises.readFile(path.join(skillPath, common_1.AI_AGENT_SKILL_FILE_NAME), 'utf8');
36
+ }
37
+ catch (error) {
38
+ if (isEnoent(error)) {
39
+ return {
40
+ failure: `${exports.SKILLS_FOLDER_NAME}/${name}: missing ${common_1.AI_AGENT_SKILL_FILE_NAME}`,
41
+ };
42
+ }
43
+ throw error;
44
+ }
45
+ const resourcesPath = path.join(skillPath, common_1.AI_AGENT_SKILL_RESOURCES_DIR);
46
+ const resourceEntries = await Promise.all((await listMarkdownFiles(resourcesPath)).map(async (fileName) => [
47
+ `${common_1.AI_AGENT_SKILL_RESOURCES_DIR}/${fileName}`,
48
+ await fs_1.promises.readFile(path.join(resourcesPath, fileName), 'utf8'),
49
+ ]));
50
+ const files = Object.fromEntries([
51
+ [common_1.AI_AGENT_SKILL_FILE_NAME, skillMarkdown],
52
+ ...resourceEntries,
53
+ ]);
54
+ return { skill: { name, files } };
55
+ };
56
+ /** Reads every `skills/<name>/` folder: SKILL.md plus flat markdown under resources/. Other files are left alone. */
57
+ const readSkillFolders = async (basePath) => {
58
+ const folder = (0, exports.getSkillsFolder)(basePath);
59
+ const results = await Promise.all((await listDirectories(folder)).map((name) => readSkillFolder(folder, name)));
60
+ return {
61
+ skills: results.flatMap((result) => 'skill' in result ? [result.skill] : []),
62
+ failures: results.flatMap((result) => 'failure' in result ? [result.failure] : []),
63
+ };
64
+ };
65
+ exports.readSkillFolders = readSkillFolders;
66
+ /** Writes the skill's files and removes resources it no longer has; anything else in the folder survives. */
67
+ const writeSkillFolder = async (folder, skill) => {
68
+ const skillPath = path.join(folder, skill.name);
69
+ const resourcesPath = path.join(skillPath, common_1.AI_AGENT_SKILL_RESOURCES_DIR);
70
+ const resourceFiles = Object.keys(skill.files).filter((filePath) => filePath.startsWith(`${common_1.AI_AGENT_SKILL_RESOURCES_DIR}/`));
71
+ await fs_1.promises.mkdir(resourceFiles.length > 0 ? resourcesPath : skillPath, {
72
+ recursive: true,
73
+ });
74
+ const stale = (await listMarkdownFiles(resourcesPath)).filter((fileName) => !resourceFiles.includes(`${common_1.AI_AGENT_SKILL_RESOURCES_DIR}/${fileName}`));
75
+ await Promise.all([
76
+ ...stale.map((fileName) => fs_1.promises.rm(path.join(resourcesPath, fileName))),
77
+ ...Object.entries(skill.files).map(([filePath, content]) => fs_1.promises.writeFile(path.join(skillPath, filePath), content)),
78
+ ]);
79
+ };
80
+ const writeSkillFolders = async (basePath, skills) => {
81
+ // Names come from the server; only a valid skill name may become a path.
82
+ const safe = skills.filter((skill) => {
83
+ if (common_1.AI_AGENT_SKILL_NAME_PATTERN.test(skill.name))
84
+ return true;
85
+ globalState_1.default.log(styles.warning(` ⚠ Skipped skill "${skill.name}": its name is not a valid folder name`));
86
+ return false;
87
+ });
88
+ if (safe.length === 0)
89
+ return 0;
90
+ const folder = (0, exports.getSkillsFolder)(basePath);
91
+ await fs_1.promises.mkdir(folder, { recursive: true });
92
+ await Promise.all(safe.map((skill) => writeSkillFolder(folder, skill)));
93
+ return safe.length;
94
+ };
95
+ exports.writeSkillFolders = writeSkillFolders;
96
+ const downloadSkills = async ({ names, customPath, basePath, }) => {
97
+ const query = new URLSearchParams(names.map((name) => ['names', name])).toString();
98
+ let results;
99
+ try {
100
+ results = await (0, apiClient_1.lightdashApi)({
101
+ method: 'GET',
102
+ url: `/api/v1/aiAgents/skills/code${query ? `?${query}` : ''}`,
103
+ body: undefined,
104
+ });
105
+ }
106
+ catch (error) {
107
+ if (!isSkillsDisabledError(error))
108
+ throw error;
109
+ globalState_1.default.log(styles.warning(' ⚠ Skipping skills: custom agent skills are not enabled for this organization.'));
110
+ return 0;
111
+ }
112
+ results.missingNames.forEach((name) => globalState_1.default.log(styles.warning(` ⚠ No skill named "${name}"`)));
113
+ const written = await (0, exports.writeSkillFolders)(basePath, results.skills);
114
+ globalState_1.default.debug(`Wrote ${written} skills to ${(0, exports.getSkillsFolder)(basePath)}${customPath ? ` (${customPath})` : ''}`);
115
+ return written;
116
+ };
117
+ exports.downloadSkills = downloadSkills;
118
+ const addCounts = (changes, counts) => Object.entries(counts).reduce((acc, [key, value]) => value > 0 ? { ...acc, [key]: (acc[key] ?? 0) + value } : acc, changes);
119
+ const upsertSkills = async ({ names, deleteNames, basePath, changes, }) => {
120
+ const { skills, failures } = await (0, exports.readSkillFolders)(basePath);
121
+ failures.forEach((failure) => globalState_1.default.log(styles.error(` ✖ ${failure}`)));
122
+ const selected = names.length
123
+ ? skills.filter((skill) => names.includes(skill.name))
124
+ : skills;
125
+ names
126
+ .filter((name) => !skills.some((skill) => skill.name === name))
127
+ .forEach((name) => globalState_1.default.log(styles.warning(` ⚠ No skill folder named "${name}"`)));
128
+ // The same validator the editor and the API run, so a broken folder is reported before the upload.
129
+ const valid = selected.filter((skill) => {
130
+ const result = (0, common_1.validateAiAgentSkill)({
131
+ files: skill.files,
132
+ folderName: skill.name,
133
+ });
134
+ result.errors.forEach((issue) => globalState_1.default.log(styles.error(` ✖ ${exports.SKILLS_FOLDER_NAME}/${skill.name}/${issue.path}: ${issue.message}`)));
135
+ return result.valid;
136
+ });
137
+ const skippedInvalid = selected.length - valid.length;
138
+ if (valid.length === 0 && deleteNames.length === 0) {
139
+ return addCounts(changes, { 'Skills failed': skippedInvalid });
140
+ }
141
+ globalState_1.default.debug(`Uploading ${valid.length} skill folders`);
142
+ let results;
143
+ try {
144
+ results = await (0, apiClient_1.lightdashApi)({
145
+ method: 'POST',
146
+ url: '/api/v1/aiAgents/skills/code',
147
+ body: JSON.stringify({
148
+ skills: valid,
149
+ deleteNames,
150
+ }),
151
+ });
152
+ }
153
+ catch (error) {
154
+ if (isSkillsDisabledError(error)) {
155
+ globalState_1.default.log(styles.warning(` ⚠ Skipped ${valid.length} skill folders: custom agent skills are not enabled for this organization.`));
156
+ return addCounts(changes, { 'Skills failed': skippedInvalid });
157
+ }
158
+ throw new Error(`Could not upload skills: ${(0, common_1.getErrorMessage)(error)}`);
159
+ }
160
+ results.warnings.forEach((warning) => globalState_1.default.log(styles.warning(` ⚠ ${warning}`)));
161
+ results.failed.forEach(({ name, message }) => globalState_1.default.log(styles.error(` ✖ ${name}: ${message}`)));
162
+ return addCounts(changes, {
163
+ 'Skills created': results.created.length,
164
+ 'Skills updated': results.updated.length,
165
+ 'Skills skipped': results.unchanged.length,
166
+ 'Skills deleted': results.deleted.length,
167
+ 'Skills failed': results.failed.length + skippedInvalid,
168
+ });
169
+ };
170
+ exports.upsertSkills = upsertSkills;
package/dist/index.js CHANGED
@@ -347,6 +347,8 @@ const ORGANIZATION_MODE_OPTIONS = new Set([
347
347
  'path',
348
348
  'sendInvites',
349
349
  'verbose',
350
+ 'skills',
351
+ 'deleteSkills',
350
352
  ]);
351
353
  const withOrganizationMode = (handler) => async (options, command) => {
352
354
  if (!options.organization && options.sendInvites) {
@@ -374,6 +376,8 @@ const downloadCommand = commander_1.program
374
376
  .option('-d, --dashboards <dashboards...>', 'specify dashboard slugs, uuids or urls to download', refsArgument_1.parseRefsArgument, [])
375
377
  .option('--agents <slugs...>', 'specify AI agent slugs to download', refsArgument_1.parseRefsArgument, [])
376
378
  .option('--include-agents', "include all of the project's AI agents (enterprise)", false)
379
+ .option('--skills <names...>', 'specify custom agent skill names to download', refsArgument_1.parseRefsArgument, [])
380
+ .option('--include-skills', 'include the custom skills bound to the downloaded AI agents (enterprise)', false)
377
381
  .option('--alerts <slugs...>', 'specify alert slugs to download', refsArgument_1.parseRefsArgument, [])
378
382
  .option('--virtual-views <slugs...>', 'specify virtual view slugs to download', refsArgument_1.parseRefsArgument, [])
379
383
  .option('--google-sheets <slugs...>', 'specify Google Sheets sync slugs to download', refsArgument_1.parseRefsArgument, [])
@@ -414,6 +418,8 @@ const uploadCommand = commander_1.program
414
418
  .option('-c, --charts <charts...>', 'specify chart slugs to force upload', refsArgument_1.parseRefsArgument, [])
415
419
  .option('-d, --dashboards <dashboards...>', 'specify dashboard slugs to force upload', refsArgument_1.parseRefsArgument, [])
416
420
  .option('--agents <slugs...>', 'specify AI agent slugs to upload', refsArgument_1.parseRefsArgument, [])
421
+ .option('--skills <names...>', 'specify custom agent skill names to upload', refsArgument_1.parseRefsArgument, [])
422
+ .option('--delete-skills <names...>', 'unbind these custom agent skills from every agent and delete them', refsArgument_1.parseRefsArgument, [])
417
423
  .option('--alerts <slugs...>', 'specify alert slugs to upload', refsArgument_1.parseRefsArgument, [])
418
424
  .option('--virtual-views <slugs...>', 'specify virtual view slugs to upload', refsArgument_1.parseRefsArgument, [])
419
425
  .option('--google-sheets <slugs...>', 'specify Google Sheets sync slugs to upload', refsArgument_1.parseRefsArgument, [])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightdash/cli",
3
- "version": "2.336.2",
3
+ "version": "2.337.0",
4
4
  "description": "Lightdash CLI tool",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,8 +22,8 @@
22
22
  "@actions/core": "1.11.1",
23
23
  "@aws-sdk/credential-providers": "3.995.0",
24
24
  "@casl/ability": "6.8.0",
25
- "@lightdash/common": "2.336.2",
26
- "@lightdash/warehouses": "2.336.2",
25
+ "@lightdash/common": "2.337.0",
26
+ "@lightdash/warehouses": "2.337.0",
27
27
  "@sidvind/better-ajv-errors": "7.0.0",
28
28
  "@types/columnify": "1.5.1",
29
29
  "ajv": "8.18.0",