@cat-factory/agents 0.146.6 → 0.148.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.
Files changed (51) hide show
  1. package/dist/agents/kinds/bug-investigator.d.ts.map +1 -1
  2. package/dist/agents/kinds/bug-investigator.js +7 -3
  3. package/dist/agents/kinds/bug-investigator.js.map +1 -1
  4. package/dist/agents/kinds/step-surface.d.ts.map +1 -1
  5. package/dist/agents/kinds/step-surface.js +6 -0
  6. package/dist/agents/kinds/step-surface.js.map +1 -1
  7. package/dist/agents/kinds/traits.d.ts +22 -0
  8. package/dist/agents/kinds/traits.d.ts.map +1 -1
  9. package/dist/agents/kinds/traits.js +38 -3
  10. package/dist/agents/kinds/traits.js.map +1 -1
  11. package/dist/agents/kinds/versions.d.ts +5 -0
  12. package/dist/agents/kinds/versions.d.ts.map +1 -1
  13. package/dist/agents/kinds/versions.js +7 -0
  14. package/dist/agents/kinds/versions.js.map +1 -1
  15. package/dist/agents/prompts/environment-investigation.d.ts +22 -0
  16. package/dist/agents/prompts/environment-investigation.d.ts.map +1 -0
  17. package/dist/agents/prompts/environment-investigation.js +202 -0
  18. package/dist/agents/prompts/environment-investigation.js.map +1 -0
  19. package/dist/agents/prompts/inline-engine.d.ts.map +1 -1
  20. package/dist/agents/prompts/inline-engine.js +8 -0
  21. package/dist/agents/prompts/inline-engine.js.map +1 -1
  22. package/dist/foundationalServices/FoundationalServiceCatalogService.js +1 -0
  23. package/dist/foundationalServices/FoundationalServiceCatalogService.js.map +1 -1
  24. package/dist/foundationalServices/ServiceCatalogSyncService.d.ts +77 -0
  25. package/dist/foundationalServices/ServiceCatalogSyncService.d.ts.map +1 -0
  26. package/dist/foundationalServices/ServiceCatalogSyncService.js +384 -0
  27. package/dist/foundationalServices/ServiceCatalogSyncService.js.map +1 -0
  28. package/dist/index.d.ts +4 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +4 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/providers/endpoints.d.ts +60 -0
  33. package/dist/providers/endpoints.d.ts.map +1 -1
  34. package/dist/providers/endpoints.js +39 -0
  35. package/dist/providers/endpoints.js.map +1 -1
  36. package/dist/providers/gateway-attribution.d.ts +74 -0
  37. package/dist/providers/gateway-attribution.d.ts.map +1 -0
  38. package/dist/providers/gateway-attribution.js +120 -0
  39. package/dist/providers/gateway-attribution.js.map +1 -0
  40. package/dist/providers/index.d.ts +3 -2
  41. package/dist/providers/index.d.ts.map +1 -1
  42. package/dist/providers/index.js +3 -2
  43. package/dist/providers/index.js.map +1 -1
  44. package/dist/providers/instrumented.d.ts.map +1 -1
  45. package/dist/providers/instrumented.js +19 -0
  46. package/dist/providers/instrumented.js.map +1 -1
  47. package/dist/providers/resolvers.d.ts +79 -0
  48. package/dist/providers/resolvers.d.ts.map +1 -1
  49. package/dist/providers/resolvers.js +91 -8
  50. package/dist/providers/resolvers.js.map +1 -1
  51. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"FoundationalServiceCatalogService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceCatalogService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FoundationalServiceCatalogService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceCatalogService.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,aAAa,EACb,aAAa,EACb,kCAAkC,EAClC,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAsBhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,iCAAiC;IAIf,IAAI;IAHjC,wFAAwF;IACvE,QAAQ,CAA2B;IAEpD,YAA6B,IAA4C;oBAA5C,IAAI;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAC,kCAAkC,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,QAAQ,CACZ,SAAuC,EACvC,OAAe;QAEf,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;SACxE,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QACzC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,MAAM,CACV,SAAuC,EACvC,OAAe,EACf,KAAqC;QAErC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAChG,oFAAoF;QACpF,mEAAmE;QACnE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,aAAa,CACrB,yBAAyB,KAAK,CAAC,EAAE,gCAAgC,EACjE,6BAA6B,EAC7B,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CACxB,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,MAAM,GAA8B;YACxC,SAAS,EAAE,KAAK,CAAC,EAAE;YACnB,SAAS;YACT,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;YACtC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;YACrC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAC3C,SAAS,EACT,OAAO,EACP,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,SAAS,EACf,GAAG,CACJ,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAChG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,MAAM,CACV,SAAuC,EACvC,OAAe,EACf,SAAiB,EACjB,KAAqC;QAErC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,MAAM,GAA8B;YACxC,GAAG,QAAQ;YACX,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;YACtD,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;YACzD,SAAS,EAAE,GAAG;SACf,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5D,IAAI,QAAoC,CAAA;QACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAC3C,SAAS,EACT,OAAO,EACP,SAAS,EACT,KAAK,CAAC,SAAS,EACf,GAAG,CACJ,CAAA;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CACrD,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,CACV,CAAA;YACD,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,CACT,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAC9E,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QACpD,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,SAAuC,EACvC,OAAe,EACf,SAAiB;QAEjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;QAC5F,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACrF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,QAAQ,CACZ,SAAuC,EACvC,OAAe,EACf,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAChE,SAAS,EACT,OAAO,EACP,SAAS,CACV,CAAA;QACD,yFAAyF;QACzF,4FAA4F;QAC5F,sFAAsF;QACtF,6BAA6B;QAC7B,IAAI,QAAQ,EAAE,SAAS;YAAE,OAAM;QAC/B,4FAA4F;QAC5F,2FAA2F;QAC3F,wFAAwF;QACxF,0FAA0F;QAC1F,2FAA2F;QAC3F,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAA;QACzE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,aAAa,CACrB,yBAAyB,SAAS,8CAA8C,EAChF,oCAAoC,EACpC,EAAE,SAAS,EAAE,CACd,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;YACnD,SAAS;YACT,SAAS;YACT,OAAO;YACP,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAuC,EACvC,OAAe;QAEf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CACvF,CAAA;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC7C,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,SAAS;gBACjB,qFAAqF;gBACrF,kFAAkF;gBAClF,yFAAyF;gBACzF,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI;gBAChC,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO;gBACzC,SAAS,EAAE,QAAQ,KAAK,SAAS;aAClC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,mBAAmB,CAC/B,SAAuC,EACvC,OAAe;QAEf,yEAAyE;QACzE,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACxE,sFAAsF;QACtF,0BAA0B;QAC1B,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAuC,EACvC,OAAe,EACf,SAAiB;QAEjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5F,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAA;QAChG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACvF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IAClG,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,UAAoB;QAEpB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;YAClF,SAAS;gBACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAsB,EAAE,CAAC;SAC7C,CAAC,CAAA;QACF,2FAA2F;QAC3F,yFAAyF;QACzF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxE,0FAA0F;QAC1F,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAA;QACxE,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,IAAI,GAAG,EAAiC,CAAA;QAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiC,CAAA;QACpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CACtE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAC9B,CAAA;YACD,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,UAAU,CAAC,SAAuC,EAAE,OAAe;QACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAM;QACnC,2FAA2F;QAC3F,4FAA4F;QAC5F,4FAA4F;QAC5F,8BAA8B;QAC9B,IAAI,SAAS,KAAK,WAAW;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;;YAC/E,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAA;IACnD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC5E,wFAAwF;QACxF,wFAAwF;QACxF,0FAA0F;QAC1F,mFAAmF;QACnF,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,CAAC,GAC9E,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;YACnF,SAAS;gBACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC;gBACjF,CAAC,CAAC,OAAO,CAAC,OAAO,CAA8B,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC;YAC7E,SAAS;gBACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC;gBAC3E,CAAC,CAAC,OAAO,CAAC,OAAO,CAA6B,EAAE,CAAC;SACpD,CAAC,CAAA;QACJ,OAAO,sBAAsB,CAAC;YAC5B,QAAQ;YACR,WAAW;YACX,aAAa;YACb,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC;YAC/C,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,CAAC;SACpD,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY,CACxB,SAAuC,EACvC,OAAe;QAEf,IAAI,SAAS,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC/D,sFAAsF;QACtF,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;SACxE,CAAC,CAAA;QACF,OAAO,sBAAsB,CAAC;YAC5B,QAAQ;YACR,WAAW;YACX,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC;YAC/C,iBAAiB,EAAE,IAAI,GAAG,EAAE;SAC7B,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,SAAuC,EACvC,OAAe,EACf,SAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC/F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAA;QAC1F,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,SAAuC,EACvC,OAAe,EACf,SAAiB,EACjB,OAAoD,EACpD,GAAW;QAEX,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAA;YACF,OAAO;gBACL,SAAS;gBACT,OAAO;gBACP,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,aAAa,CACpB,OAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsC,CAAA;IACzD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YACrB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAyB;IAC3C,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAyB;IAC3C,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QACxB,IAAI,EAAE,MAAM,CAAC,UAAU;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAA;AACH,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type { ServiceCatalogSyncResult } from '@cat-factory/contracts';
2
+ import type { ApiContractRepository, Clock, FoundationalServiceRepository, Logger, ResolveServiceCatalogClient, ServiceCatalogConnectionRepository } from '@cat-factory/kernel';
3
+ /**
4
+ * The `sourceId` every imported service carries.
5
+ *
6
+ * A FIXED literal rather than a generated id, because there is exactly one connection per
7
+ * workspace and the rows are already owner-scoped: what the value has to do is separate "this
8
+ * workspace's imported services" from its hand-registered and repo-sourced ones, which one
9
+ * constant does. The importer therefore never uses the source-keyed repository reads, whose
10
+ * lookup is global across tiers and would need a source row that does not exist here.
11
+ */
12
+ export declare const SERVICE_CATALOG_SOURCE_ID = "service-catalog";
13
+ export interface ServiceCatalogSyncServiceDependencies {
14
+ serviceCatalogConnectionRepository: ServiceCatalogConnectionRepository;
15
+ resolveServiceCatalogClient: ResolveServiceCatalogClient;
16
+ foundationalServiceRepository: FoundationalServiceRepository;
17
+ apiContractRepository: ApiContractRepository;
18
+ clock: Clock;
19
+ logger?: Logger;
20
+ /** Drops the cached merged catalog for the workspace after an import changed a row. */
21
+ invalidateCatalog?: (ownerKind: 'workspace', ownerId: string) => Promise<void>;
22
+ }
23
+ export declare class ServiceCatalogSyncService {
24
+ private readonly deps;
25
+ private readonly log;
26
+ constructor(deps: ServiceCatalogSyncServiceDependencies);
27
+ /**
28
+ * Import the workspace's portal into its foundational-services tier.
29
+ *
30
+ * Throws when the workspace has no connection: the caller asked to import from a portal that is
31
+ * not configured, and answering an empty result would report a successful import of nothing.
32
+ */
33
+ sync(workspaceId: string): Promise<ServiceCatalogSyncResult>;
34
+ /** One import, from the resolved client to the stamped verdict. Failures propagate to `sync`. */
35
+ private runImport;
36
+ /**
37
+ * Refresh the stalest connections, bounded, for the autorefresh sweep.
38
+ *
39
+ * Returns how many were IMPORTED, not how many were attempted: each failure is recorded on its
40
+ * own connection (`lastSyncStatus: 'failed'`) and logged with its cause, and the pass continues.
41
+ * One workspace's revoked portal token must not stop everyone else's estate from refreshing,
42
+ * which is exactly what a single rejection out of this loop would do.
43
+ */
44
+ refreshStale(staleMs: number, limit: number): Promise<number>;
45
+ /**
46
+ * Retire everything the connection imported, on disconnect.
47
+ *
48
+ * Tombstoning rather than leaving the rows is the point: an imported estate that nothing
49
+ * refreshes still reads to every agent as the organisation's current estate, which is worse
50
+ * than having none because nothing about it says it is stale.
51
+ */
52
+ retireImported(workspaceId: string): Promise<number>;
53
+ private reconcile;
54
+ /** Tombstone imported services and drop their contracts, in two batched writes. */
55
+ private tombstone;
56
+ /**
57
+ * The workspace tier split by supply route: what this connection produced, and which ids
58
+ * something else already claims.
59
+ *
60
+ * Read with tombstones INCLUDED, because both halves need them and for opposite reasons. An
61
+ * imported service the portal dropped and later restored must re-import, so its tombstone has to
62
+ * be visible as a prior. A tombstone on a row this connection did NOT produce is a workspace's
63
+ * own suppression of that id, which is a positive assertion about it: overwriting one would
64
+ * silently reinstate what a human removed.
65
+ */
66
+ private ownedServices;
67
+ private stampFailure;
68
+ }
69
+ /**
70
+ * The sentence the management surface shows, or null when the pass has nothing to report.
71
+ *
72
+ * Null for a clean pass rather than "imported N services": the field exists to name what a human
73
+ * has to fix, and filling it on every success is how the one pass that needs reading stops
74
+ * standing out.
75
+ */
76
+ export declare function describeImport(result: ServiceCatalogSyncResult): string | null;
77
+ //# sourceMappingURL=ServiceCatalogSyncService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceCatalogSyncService.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/ServiceCatalogSyncService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAEV,qBAAqB,EACrB,KAAK,EAEL,6BAA6B,EAC7B,MAAM,EACN,2BAA2B,EAG3B,kCAAkC,EAGnC,MAAM,qBAAqB,CAAA;AAwB5B;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,oBAAoB,CAAA;AAE1D,MAAM,WAAW,qCAAqC;IACpD,kCAAkC,EAAE,kCAAkC,CAAA;IACtE,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E;AAED,qBAAa,yBAAyB;IAGxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,qCAAqC,EAEvE;IAED;;;;;OAKG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAwBjE;IAED,iGAAiG;YACnF,SAAS;IA4BvB;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlE;IAED;;;;;;OAMG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWzD;YAEa,SAAS;IAqEvB,mFAAmF;YACrE,SAAS;IAWvB;;;;;;;;;OASG;YACW,aAAa;YAiBb,YAAY;CAW3B;AA8JD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,CA4B9E"}
@@ -0,0 +1,384 @@
1
+ import { NotFoundError, describeError, getErrorMessage, noopLogger, runBestEffort, summarizeContract, } from '@cat-factory/kernel';
2
+ // ---------------------------------------------------------------------------
3
+ // The IMPORTER: one workspace's developer portal into the foundational-services catalog.
4
+ //
5
+ // It writes ordinary `workspace`-tier foundational services, which is the whole design. Every
6
+ // agent-facing read (the design catalog, the lazily-resolved contract documents, the estate file
7
+ // a triage kind gets), the tiered merge, the suppression sub-resource and the SPA's catalog list
8
+ // work on an imported service exactly as they do on an uploaded one, because there is no second
9
+ // mechanism for any of them to disagree about.
10
+ //
11
+ // Vendor-neutral by construction: it consumes the kernel's `ServiceCatalogEntry` vocabulary and
12
+ // names no portal product. The Backstage-specific half is the adapter behind
13
+ // `ResolveServiceCatalogClient` in `@cat-factory/integrations`.
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * The `sourceId` every imported service carries.
17
+ *
18
+ * A FIXED literal rather than a generated id, because there is exactly one connection per
19
+ * workspace and the rows are already owner-scoped: what the value has to do is separate "this
20
+ * workspace's imported services" from its hand-registered and repo-sourced ones, which one
21
+ * constant does. The importer therefore never uses the source-keyed repository reads, whose
22
+ * lookup is global across tiers and would need a source row that does not exist here.
23
+ */
24
+ export const SERVICE_CATALOG_SOURCE_ID = 'service-catalog';
25
+ export class ServiceCatalogSyncService {
26
+ deps;
27
+ log;
28
+ constructor(deps) {
29
+ this.deps = deps;
30
+ this.log = deps.logger ?? noopLogger;
31
+ }
32
+ /**
33
+ * Import the workspace's portal into its foundational-services tier.
34
+ *
35
+ * Throws when the workspace has no connection: the caller asked to import from a portal that is
36
+ * not configured, and answering an empty result would report a successful import of nothing.
37
+ */
38
+ async sync(workspaceId) {
39
+ const connection = await this.deps.serviceCatalogConnectionRepository.get(workspaceId);
40
+ if (!connection || connection.deletedAt !== null) {
41
+ throw new NotFoundError('Service catalog connection', workspaceId, {
42
+ reason: 'service_catalog_not_connected',
43
+ });
44
+ }
45
+ try {
46
+ return await this.runImport(workspaceId, connection);
47
+ }
48
+ catch (error) {
49
+ // EVERY failure past the connection lookup is RECORDED before it propagates, not only a
50
+ // transport one. `lastSyncedAt` is what the autorefresh sweep orders on and it sorts nulls
51
+ // first, so a connection whose credential bag will not open (which fails BEFORE the portal
52
+ // is ever contacted) would otherwise stay permanently at the head of the stale queue and
53
+ // occupy the whole bounded batch, on every pass, silently starving every other workspace.
54
+ // The stamp is best-effort so a failing stamp cannot replace the fault it is recording.
55
+ await runBestEffort(this.log, 'serviceCatalog.stampFailure', () => this.stampFailure(workspaceId, error), { workspaceId });
56
+ throw error;
57
+ }
58
+ }
59
+ /** One import, from the resolved client to the stamped verdict. Failures propagate to `sync`. */
60
+ async runImport(workspaceId, connection) {
61
+ const client = await this.deps.resolveServiceCatalogClient(workspaceId);
62
+ if (!client) {
63
+ throw new NotFoundError('Service catalog connection', workspaceId, {
64
+ reason: 'service_catalog_not_connected',
65
+ });
66
+ }
67
+ const fetched = await client.fetchCatalog({
68
+ entityFilter: connection.entityFilter,
69
+ includeApis: connection.includeApis,
70
+ maxServices: connection.maxServices,
71
+ });
72
+ const result = await this.reconcile(workspaceId, fetched);
73
+ await this.deps.serviceCatalogConnectionRepository.updateSyncState(workspaceId, {
74
+ lastSyncedAt: this.deps.clock.now(),
75
+ lastSyncStatus: result.status,
76
+ lastSyncMessage: describeImport(result),
77
+ });
78
+ if (result.upserted > 0 || result.tombstoned > 0) {
79
+ await this.deps.invalidateCatalog?.('workspace', workspaceId);
80
+ }
81
+ this.log.info('serviceCatalog.imported', { workspaceId, ...result });
82
+ return result;
83
+ }
84
+ /**
85
+ * Refresh the stalest connections, bounded, for the autorefresh sweep.
86
+ *
87
+ * Returns how many were IMPORTED, not how many were attempted: each failure is recorded on its
88
+ * own connection (`lastSyncStatus: 'failed'`) and logged with its cause, and the pass continues.
89
+ * One workspace's revoked portal token must not stop everyone else's estate from refreshing,
90
+ * which is exactly what a single rejection out of this loop would do.
91
+ */
92
+ async refreshStale(staleMs, limit) {
93
+ const stale = await this.deps.serviceCatalogConnectionRepository.listStale(this.deps.clock.now() - staleMs, limit);
94
+ let imported = 0;
95
+ for (const connection of stale) {
96
+ const result = await runBestEffort(this.log, 'serviceCatalog.refreshStale', () => this.sync(connection.workspaceId), { workspaceId: connection.workspaceId });
97
+ if (result)
98
+ imported += 1;
99
+ }
100
+ return imported;
101
+ }
102
+ /**
103
+ * Retire everything the connection imported, on disconnect.
104
+ *
105
+ * Tombstoning rather than leaving the rows is the point: an imported estate that nothing
106
+ * refreshes still reads to every agent as the organisation's current estate, which is worse
107
+ * than having none because nothing about it says it is stale.
108
+ */
109
+ async retireImported(workspaceId) {
110
+ const owned = await this.ownedServices(workspaceId);
111
+ const retiring = owned.imported.filter((service) => service.deletedAt === null);
112
+ await this.tombstone(workspaceId, retiring.map((service) => service.serviceId), this.deps.clock.now());
113
+ if (retiring.length > 0)
114
+ await this.deps.invalidateCatalog?.('workspace', workspaceId);
115
+ this.log.info('serviceCatalog.retired', { workspaceId, tombstoned: retiring.length });
116
+ return retiring.length;
117
+ }
118
+ async reconcile(workspaceId, fetched) {
119
+ const { imported, foreignIds } = await this.ownedServices(workspaceId);
120
+ const importedById = new Map(imported.map((service) => [service.serviceId, service]));
121
+ // ONE manifest read for the whole tier, indexed per service: the alternative is a contract
122
+ // read per imported service, which is the N+1 the batch ports exist to prevent.
123
+ const manifest = await this.deps.apiContractRepository.listManifestByOwner('workspace', workspaceId);
124
+ const shasByService = new Map();
125
+ for (const entry of manifest) {
126
+ const shas = shasByService.get(entry.serviceId) ?? [];
127
+ shas.push(`${entry.contractId}@${entry.sourceSha ?? ''}`);
128
+ shasByService.set(entry.serviceId, shas);
129
+ }
130
+ const now = this.deps.clock.now();
131
+ const live = new Set();
132
+ const services = [];
133
+ const contractSets = [];
134
+ let unchanged = 0;
135
+ let contracts = 0;
136
+ let skippedConflicts = 0;
137
+ let skippedApis = fetched.skippedApis;
138
+ for (const entry of fetched.entries) {
139
+ // A service the workspace registered by ANOTHER route owns that id, and the import yields
140
+ // to it rather than taking it over. An upsert here would replace a hand-authored row and
141
+ // delete its uploaded contracts, and would then hand it to `retireImported` to tombstone on
142
+ // disconnect: the workspace would lose a service it never got from the portal.
143
+ if (foreignIds.has(entry.id)) {
144
+ skippedConflicts += 1;
145
+ continue;
146
+ }
147
+ live.add(entry.id);
148
+ const built = contractRecords(workspaceId, entry, now);
149
+ contracts += built.records.length;
150
+ skippedApis += built.dropped;
151
+ const prior = importedById.get(entry.id);
152
+ if (prior && !hasChanged(prior, entry, shasByService.get(entry.id) ?? [], built.records)) {
153
+ unchanged += 1;
154
+ continue;
155
+ }
156
+ services.push(serviceRecord(workspaceId, entry, prior, now));
157
+ contractSets.push({ serviceId: entry.id, contracts: built.records });
158
+ }
159
+ // Both writes are BATCHED, in the same order one service's pair used to run in: the row
160
+ // first, then its interfaces. A loop of single-row calls over a thousand-service estate is
161
+ // the banned N+1, and this path is where an estate arrives whole.
162
+ await this.deps.foundationalServiceRepository.upsertMany(services);
163
+ await this.deps.apiContractRepository.replaceForServices('workspace', workspaceId, contractSets);
164
+ const removed = imported
165
+ .filter((service) => service.deletedAt === null && !live.has(service.serviceId))
166
+ .map((service) => service.serviceId);
167
+ await this.tombstone(workspaceId, removed, now);
168
+ return {
169
+ upserted: services.length,
170
+ tombstoned: removed.length,
171
+ unchanged,
172
+ contracts,
173
+ coverage: fetched.coverage,
174
+ skippedServices: fetched.skippedEntries,
175
+ skippedConflicts,
176
+ skippedApis,
177
+ status: importStatus(fetched.coverage, fetched.skippedEntries, skippedApis, skippedConflicts),
178
+ };
179
+ }
180
+ /** Tombstone imported services and drop their contracts, in two batched writes. */
181
+ async tombstone(workspaceId, serviceIds, now) {
182
+ if (serviceIds.length === 0)
183
+ return;
184
+ await this.deps.foundationalServiceRepository.softDeleteByIds('workspace', workspaceId, serviceIds, now);
185
+ await this.deps.apiContractRepository.deleteForServices('workspace', workspaceId, serviceIds);
186
+ }
187
+ /**
188
+ * The workspace tier split by supply route: what this connection produced, and which ids
189
+ * something else already claims.
190
+ *
191
+ * Read with tombstones INCLUDED, because both halves need them and for opposite reasons. An
192
+ * imported service the portal dropped and later restored must re-import, so its tombstone has to
193
+ * be visible as a prior. A tombstone on a row this connection did NOT produce is a workspace's
194
+ * own suppression of that id, which is a positive assertion about it: overwriting one would
195
+ * silently reinstate what a human removed.
196
+ */
197
+ async ownedServices(workspaceId) {
198
+ const all = await this.deps.foundationalServiceRepository.listByOwner('workspace', workspaceId, true);
199
+ const imported = [];
200
+ const foreignIds = new Set();
201
+ for (const service of all) {
202
+ if (service.sourceId === SERVICE_CATALOG_SOURCE_ID)
203
+ imported.push(service);
204
+ else
205
+ foreignIds.add(service.serviceId);
206
+ }
207
+ return { imported, foreignIds };
208
+ }
209
+ async stampFailure(workspaceId, error) {
210
+ await this.deps.serviceCatalogConnectionRepository.updateSyncState(workspaceId, {
211
+ lastSyncedAt: this.deps.clock.now(),
212
+ lastSyncStatus: 'failed',
213
+ lastSyncMessage: getErrorMessage(error),
214
+ });
215
+ this.log.warn('serviceCatalog.importFailed', {
216
+ workspaceId,
217
+ ...describeError(error),
218
+ });
219
+ }
220
+ }
221
+ /** One imported service's row, carrying the prior's creation stamp when it had one. */
222
+ function serviceRecord(workspaceId, entry, prior, now) {
223
+ return {
224
+ serviceId: entry.id,
225
+ ownerKind: 'workspace',
226
+ ownerId: workspaceId,
227
+ name: entry.name,
228
+ summary: entry.summary,
229
+ description: entry.description,
230
+ capabilities: entry.capabilities,
231
+ sourceId: SERVICE_CATALOG_SOURCE_ID,
232
+ sourcePath: entry.ref,
233
+ // An imported service pins no commit: it is not repo-sourced, and putting the portal's
234
+ // entity revision in a field named for a git commit would be a fact stated in the wrong
235
+ // vocabulary. Whether the service changed is decided by comparing its own fields and its
236
+ // interfaces' content identities, which is what `hasChanged` does.
237
+ pinnedCommit: null,
238
+ createdAt: prior?.createdAt ?? now,
239
+ updatedAt: now,
240
+ deletedAt: null,
241
+ };
242
+ }
243
+ /**
244
+ * Build one entry's contract rows, plus how many of its declared interfaces this drops.
245
+ *
246
+ * The count is the point of the return shape. Two interfaces of one service whose ids collide (a
247
+ * portal that namespaces them where the platform's slug does not, two entities named alike) can
248
+ * only produce one row, and dropping the second silently would leave the service stored publishing
249
+ * one interface where the portal says two, with `skippedApis: 0` and a status of `ok` saying
250
+ * nothing went missing. First one wins, as everywhere else in this import, so the survivor does
251
+ * not flip between passes.
252
+ */
253
+ function contractRecords(workspaceId, entry, now) {
254
+ const records = [];
255
+ const claimed = new Set();
256
+ let dropped = 0;
257
+ for (const api of entry.apis) {
258
+ if (!api.format || claimed.has(api.id)) {
259
+ dropped += 1;
260
+ continue;
261
+ }
262
+ claimed.add(api.id);
263
+ const summary = summarizeContract({
264
+ contractId: api.id,
265
+ format: api.format,
266
+ title: api.title,
267
+ path: api.ref,
268
+ body: api.definition,
269
+ });
270
+ records.push({
271
+ ownerKind: 'workspace',
272
+ ownerId: workspaceId,
273
+ serviceId: entry.id,
274
+ contractId: api.id,
275
+ format: api.format,
276
+ title: summary.title,
277
+ body: api.definition,
278
+ operations: summary.operations,
279
+ omittedOperations: summary.omittedOperations,
280
+ sourcePath: api.ref,
281
+ sourceSha: contractRevision(api),
282
+ createdAt: now,
283
+ updatedAt: now,
284
+ });
285
+ }
286
+ return { records, dropped };
287
+ }
288
+ /**
289
+ * The content identity stored for one imported interface.
290
+ *
291
+ * The portal's own revision when it exposes one, and a digest of the definition otherwise. The
292
+ * fallback is not a nicety: not every portal (or every entity in one) carries a change token, and
293
+ * without an identity the import can only either rewrite every document on every pass or report a
294
+ * changed document as unchanged. Both are worse than hashing bytes already in memory.
295
+ */
296
+ function contractRevision(api) {
297
+ return api.revision ?? `sha:${digest(api.definition)}`;
298
+ }
299
+ /**
300
+ * A short, stable, NON-cryptographic digest (FNV-1a, hex).
301
+ *
302
+ * Non-cryptographic on purpose and safe here, because nothing trusts it: it decides only whether
303
+ * to rewrite a row this pass, and the worst a collision can do is skip one rewrite of a document
304
+ * the next pass will reconsider. A real hash would mean an async WebCrypto call per definition
305
+ * inside the reconcile loop, bought with nothing.
306
+ */
307
+ function digest(value) {
308
+ let hash = 0x811c9dc5;
309
+ for (let i = 0; i < value.length; i++) {
310
+ hash ^= value.charCodeAt(i);
311
+ hash = Math.imul(hash, 0x01000193);
312
+ }
313
+ return (hash >>> 0).toString(16).padStart(8, '0');
314
+ }
315
+ /**
316
+ * Whether an imported service needs rewriting: any of its own fields, or its interface set's
317
+ * content identities, differ from what is stored.
318
+ *
319
+ * Compared field by field rather than through a stored digest of the whole row, because the fields
320
+ * are already in hand from the one `listByOwner` the reconcile does, and a digest column would be
321
+ * a second thing to keep in step with the fields it summarises.
322
+ */
323
+ function hasChanged(prior, entry, priorContractKeys, records) {
324
+ // A tombstoned prior always rewrites: the portal offers the service again, and the stored row
325
+ // says the opposite until something clears its `deleted_at`.
326
+ if (prior.deletedAt !== null)
327
+ return true;
328
+ if (prior.name !== entry.name)
329
+ return true;
330
+ if (prior.summary !== entry.summary)
331
+ return true;
332
+ if (prior.description !== entry.description)
333
+ return true;
334
+ if (prior.sourcePath !== entry.ref)
335
+ return true;
336
+ if (!sameList(prior.capabilities, entry.capabilities))
337
+ return true;
338
+ const nextKeys = records.map((record) => `${record.contractId}@${record.sourceSha ?? ''}`);
339
+ return !sameList(priorContractKeys.slice().sort(), nextKeys.slice().sort());
340
+ }
341
+ /** Element-wise equality, so no separator has to be assumed absent from a value. */
342
+ function sameList(left, right) {
343
+ return left.length === right.length && left.every((value, index) => value === right[index]);
344
+ }
345
+ /**
346
+ * What the pass concluded.
347
+ *
348
+ * `empty` is `partial` rather than `ok`, because a filter that matched nothing is a configuration
349
+ * problem with a remedy (edit the filter), and reporting it as a healthy import of zero services
350
+ * is exactly how a workspace ends up believing its estate is empty.
351
+ */
352
+ function importStatus(coverage, skippedServices, skippedApis, skippedConflicts) {
353
+ const dropped = skippedServices + skippedApis + skippedConflicts;
354
+ if (coverage === 'complete' && dropped === 0)
355
+ return 'ok';
356
+ return 'partial';
357
+ }
358
+ /**
359
+ * The sentence the management surface shows, or null when the pass has nothing to report.
360
+ *
361
+ * Null for a clean pass rather than "imported N services": the field exists to name what a human
362
+ * has to fix, and filling it on every success is how the one pass that needs reading stops
363
+ * standing out.
364
+ */
365
+ export function describeImport(result) {
366
+ const notes = [];
367
+ if (result.coverage === 'truncated') {
368
+ notes.push(`The import stopped at the configured service cap after ${result.upserted + result.unchanged} services, so this catalog is a PREFIX of the portal's estate. Narrow the entity filter, or raise the cap.`);
369
+ }
370
+ if (result.coverage === 'empty') {
371
+ notes.push('The entity filter matched nothing in the portal, so no services were imported. Check the filter terms against the kinds, tags and systems this instance actually uses.');
372
+ }
373
+ if (result.skippedServices > 0) {
374
+ notes.push(`${result.skippedServices} matching entities could not be imported (no usable name, or a name that collides with another service's).`);
375
+ }
376
+ if (result.skippedConflicts > 0) {
377
+ notes.push(`${result.skippedConflicts} portal services were not imported because this workspace already registers a service under the same id (from an upload or a linked repository). The existing service was kept untouched; rename one of the two if you want the portal's version.`);
378
+ }
379
+ if (result.skippedApis > 0) {
380
+ notes.push(`${result.skippedApis} declared interfaces were not stored: the portal returned no definition for them, declared a type this platform serves no contract format for (OpenAPI, AsyncAPI, GraphQL and gRPC are served), or named an interface whose id another interface of the same service already uses.`);
381
+ }
382
+ return notes.length > 0 ? notes.join(' ') : null;
383
+ }
384
+ //# sourceMappingURL=ServiceCatalogSyncService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceCatalogSyncService.js","sourceRoot":"","sources":["../../src/foundationalServices/ServiceCatalogSyncService.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { type AgentKindSkillRef, type AgentKindToolRef, type BundledSkillDefinit
9
9
  export { type AgentKindCapabilityView, type AgentKindSource, agentKindCapabilityViews, mergeDeclaredToolServers, mergeKindCapabilities, registryAgentKindSource, } from './agents/kinds/source.js';
10
10
  export { isInlineModelStep, REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, } from './agents/kinds/step-surface.js';
11
11
  export { type StructuredOutput, type StructuredOutputOptions, defineStructuredOutput, } from './agents/kinds/structured-output.js';
12
- export { type AgentTrait, type AgentTraitDefinition, type TraitDelivery, CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, DESIGN_IMAGES_TRAIT, INTERVIEW_GATE_TRAIT, REVIEW_SKILLS_TRAIT, BRIEF_STANDARDS_TRAIT, FOUNDATIONAL_CATALOG_TRAIT, FOUNDATIONAL_CONTRACTS_TRAIT, FOUNDATIONAL_CATALOG_GUIDANCE, FOUNDATIONAL_CONTRACTS_GUIDANCE, BINARY_OUTPUT_TRAIT, BINARY_OUTPUT_GUIDANCE, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, traitsFor, hasTrait, traitGuidanceFor, traitDeliveryFor, standardsVerbosityFor, } from './agents/kinds/traits.js';
12
+ export { type AgentTrait, type AgentTraitDefinition, type TraitDelivery, CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, DESIGN_IMAGES_TRAIT, INTERVIEW_GATE_TRAIT, REVIEW_SKILLS_TRAIT, BRIEF_STANDARDS_TRAIT, FOUNDATIONAL_CATALOG_TRAIT, FOUNDATIONAL_CONTRACTS_TRAIT, SERVICE_ESTATE_GUIDANCE, SERVICE_ESTATE_TRAIT, FOUNDATIONAL_CATALOG_GUIDANCE, FOUNDATIONAL_CONTRACTS_GUIDANCE, BINARY_OUTPUT_TRAIT, BINARY_OUTPUT_GUIDANCE, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, traitsFor, hasTrait, traitGuidanceFor, traitDeliveryFor, standardsVerbosityFor, } from './agents/kinds/traits.js';
13
13
  export { type AgentTuning, type AgentGuardTuning, agentTuningFor, withComplexityAllowance, } from './agents/kinds/tuning.js';
14
14
  export { PLAYWRIGHT_E2E_TARGET_CONFIG_ID, CODER_FORK_DECISION_CONFIG_ID, CODER_REPRODUCTION_PROOF_CONFIG_ID, configContributionsFor, configContributionCatalog, } from './agents/kinds/configs.js';
15
15
  export { isTestingKind, testingSystemPrompt, testerEnvironmentSection, runsAgainstEphemeralEnvironment, TESTER_QC_SYSTEM_PROMPT, } from './agents/prompts/testing.js';
@@ -51,6 +51,7 @@ export { PR_PRIOR_REVIEW_CONTEXT_FILE, PR_REVIEWER_KIND, PR_REVIEWER_AGENT_KINDS
51
51
  export { CHALLENGE_INVESTIGATOR_KIND, CHALLENGE_INVESTIGATOR_AGENT_KINDS, CHALLENGE_INVESTIGATOR_SYSTEM_PROMPT, prReviewChallenge, type PrReviewChallengeOutput, registerChallengeInvestigatorAgent, } from './agents/kinds/challenge-investigator.js';
52
52
  export { FORK_CHAT_AGENT_KIND, FORK_CHAT_SYSTEM_PROMPT, type ForkChatGrounding, renderForkChatPrompt, } from './agents/prompts/fork-decision.js';
53
53
  export { JUDGE_SYSTEM_PROMPT, renderJudgePrompt } from './agents/prompts/judge.js';
54
+ export { ENVIRONMENT_INVESTIGATION_PROMPT, ENVIRONMENT_INVESTIGATION_SYSTEM_PROMPT, renderEnvironmentInvestigationPrompt, } from './agents/prompts/environment-investigation.js';
54
55
  export { BUG_HUNT_AGENT_KIND, BUG_HUNT_SYSTEM_PROMPT, renderBugHuntPrompt, } from './agents/prompts/bug-hunt.js';
55
56
  export { FRAGMENT_TITLE_AGENT_KIND, FRAGMENT_TITLE_SYSTEM_PROMPT, renderFragmentTitlePrompt, } from './agents/prompts/fragment-title.js';
56
57
  export { FRAGMENT_BRIEF_AGENT_KIND, FRAGMENT_BRIEF_SYSTEM_PROMPT, renderFragmentBriefPrompt, } from './agents/prompts/fragment-brief.js';
@@ -67,7 +68,7 @@ export { runRepoOps } from './repo-ops/run.js';
67
68
  export { blueprintPostOp, specPostOp, specPromotionPostOp } from './repo-ops/builtin.js';
68
69
  export { readServiceSpec } from './repo-ops/readServiceSpec.js';
69
70
  export { coerceInitiativePlan, canonicalInitiativeJson, hashInitiative, initiativeContentView, renderInitiativeFiles, renderInitiativeTrackerMarkdown, parseInitiativeVersionFile, commitInitiativeTracker, } from './repo-ops/initiative.js';
70
- export { CompositeModelProvider, CliInlineLanguageModel, type InlineCliRequest, type InlineCliResult, type InlineCliRunner, type InlineCliTelemetry, reportsOwnLlmCalls, type SelfReportingLanguageModel, usageAttributionOf, type UsageAttributedLanguageModel, type UsageAttribution, usageBillingFields, wrapModelPreservingMarkers, type ModelMarkers, InstrumentedModelProvider, catFactoryObservability, type InlineObservabilityContext, type WorkspaceBodiesGate, VendorConcurrencyLimiter, LimitedModelProvider, limitModelProvider, vendorConcurrencyLimiterFromEnv, type ModelResolver, type ProviderRegistry, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, cloudflareRestBaseUrl, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isDirectProvider, isOpenAiCompatibleProvider, isOperatorHostedGateway, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENAI_COMPATIBLE_PROVIDERS, OPENROUTER_BASE_URL, OPERATOR_HOSTED_GATEWAYS, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, type DirectProvider, type OpenAiCompatibleProvider, type OperatorHostedGateway, UI_CONFIGURABLE_DIRECT_PROVIDERS, XAI_BASE_URL, type CachePolicy, type InputTokenClasses, agentUsageFromModelUsage, readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './providers/index.js';
71
+ export { CompositeModelProvider, CliInlineLanguageModel, type InlineCliRequest, type InlineCliResult, type InlineCliRunner, type InlineCliTelemetry, reportsOwnLlmCalls, type SelfReportingLanguageModel, usageAttributionOf, type UsageAttributedLanguageModel, type UsageAttribution, usageBillingFields, wrapModelPreservingMarkers, type ModelMarkers, InstrumentedModelProvider, catFactoryObservability, type InlineObservabilityContext, type WorkspaceBodiesGate, VendorConcurrencyLimiter, LimitedModelProvider, limitModelProvider, vendorConcurrencyLimiterFromEnv, type ModelResolver, type ProviderRegistry, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, directOpenAiCompatibleResolver, openAiCompatibleResolver, openAiResolver, openRouterResolver, cloudflareRestBaseUrl, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isDirectProvider, isOpenAiCompatibleProvider, isOperatorHostedGateway, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENAI_COMPATIBLE_PROVIDERS, DEFAULT_OPENROUTER_ROUTING, OPENROUTER_BASE_URL, openRouterDataCollectionFrom, openRouterRequireParametersFrom, openRouterRoutingFrom, OPERATOR_HOSTED_GATEWAYS, type OpenRouterDataCollection, type OpenRouterRouting, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, type DirectProvider, type OpenAiCompatibleProvider, type OperatorHostedGateway, UI_CONFIGURABLE_DIRECT_PROVIDERS, XAI_BASE_URL, gatewayRequestParams, gatewayRoutingRefusal, readCompletionGatewayReport, readMetadataGatewayReport, reportsGatewayAttribution, type GatewayCallReport, type CachePolicy, type InputTokenClasses, agentUsageFromModelUsage, readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './providers/index.js';
71
72
  export { FragmentLibraryService, type FragmentLibraryServiceDependencies, type FragmentStandardsVerbosity, type ResolveBodiesOptions, } from './fragmentLibrary/FragmentLibraryService.js';
72
73
  export { FragmentBriefService, type FragmentBriefCandidate, type FragmentBriefServiceDependencies, } from './fragmentLibrary/FragmentBriefService.js';
73
74
  export { FragmentSourceService, type FragmentSourceServiceDependencies, type ResolveFragmentInstallationId, } from './fragmentLibrary/FragmentSourceService.js';
@@ -86,6 +87,7 @@ export { FoundationalServiceRunResolver } from './foundationalServices/Foundatio
86
87
  export { assertValidDefinition } from './foundationalServices/contract-validation.js';
87
88
  export { mergeFoundationalTiers } from './foundationalServices/foundational-catalog.js';
88
89
  export * as foundationalSourceLogic from './foundationalServices/foundational-source.logic.js';
90
+ export { SERVICE_CATALOG_SOURCE_ID, ServiceCatalogSyncService, describeImport, type ServiceCatalogSyncServiceDependencies, } from './foundationalServices/ServiceCatalogSyncService.js';
89
91
  export { syncRepoSource, probeRepoSourceStatus, normalizeDirPath, type RepoSourceCoords, type RepoSourceSyncOutcome, type RepoSourceStatus, type ReconcileContext, type ReconcileResult, type SyncRepoSourceParams, } from './repoSourceSync/repo-source-sync.js';
90
92
  export { createTierInstallationResolvers, type TierInstallationResolverDependencies, type TierInstallationResolvers, } from './repoSourceSync/tier-installation-resolver.js';
91
93
  //# sourceMappingURL=index.d.ts.map