@penclipai/server 2026.602.3 → 2026.604.0-canary.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 (139) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +3 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/routes/access.d.ts.map +1 -1
  5. package/dist/routes/access.js +120 -11
  6. package/dist/routes/access.js.map +1 -1
  7. package/dist/routes/adapters.d.ts.map +1 -1
  8. package/dist/routes/adapters.js +12 -0
  9. package/dist/routes/adapters.js.map +1 -1
  10. package/dist/routes/authz.d.ts +1 -0
  11. package/dist/routes/authz.d.ts.map +1 -1
  12. package/dist/routes/authz.js +10 -0
  13. package/dist/routes/authz.js.map +1 -1
  14. package/dist/routes/companies.d.ts.map +1 -1
  15. package/dist/routes/companies.js +31 -21
  16. package/dist/routes/companies.js.map +1 -1
  17. package/dist/routes/environments.d.ts.map +1 -1
  18. package/dist/routes/environments.js +7 -1
  19. package/dist/routes/environments.js.map +1 -1
  20. package/dist/routes/issue-tree-control.d.ts.map +1 -1
  21. package/dist/routes/issue-tree-control.js +13 -3
  22. package/dist/routes/issue-tree-control.js.map +1 -1
  23. package/dist/routes/openapi.d.ts +4 -0
  24. package/dist/routes/openapi.d.ts.map +1 -0
  25. package/dist/routes/openapi.js +3348 -0
  26. package/dist/routes/openapi.js.map +1 -0
  27. package/dist/routes/plugins.d.ts +2 -1
  28. package/dist/routes/plugins.d.ts.map +1 -1
  29. package/dist/routes/plugins.js +5 -4
  30. package/dist/routes/plugins.js.map +1 -1
  31. package/dist/services/board-auth.d.ts +32 -0
  32. package/dist/services/board-auth.d.ts.map +1 -1
  33. package/dist/services/board-auth.js +62 -1
  34. package/dist/services/board-auth.js.map +1 -1
  35. package/dist/services/budgets.d.ts.map +1 -1
  36. package/dist/services/budgets.js.map +1 -1
  37. package/dist/services/companies.d.ts +8 -2
  38. package/dist/services/companies.d.ts.map +1 -1
  39. package/dist/services/companies.js +181 -64
  40. package/dist/services/companies.js.map +1 -1
  41. package/dist/services/heartbeat.d.ts +2 -2
  42. package/dist/services/heartbeat.d.ts.map +1 -1
  43. package/dist/services/heartbeat.js +43 -21
  44. package/dist/services/heartbeat.js.map +1 -1
  45. package/dist/services/issues.d.ts.map +1 -1
  46. package/dist/services/issues.js +5 -2
  47. package/dist/services/issues.js.map +1 -1
  48. package/dist/services/plugin-loader.js +1 -1
  49. package/dist/services/plugin-loader.js.map +1 -1
  50. package/dist/services/plugin-tool-dispatcher.d.ts +8 -3
  51. package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -1
  52. package/dist/services/plugin-tool-dispatcher.js +2 -2
  53. package/dist/services/plugin-tool-dispatcher.js.map +1 -1
  54. package/dist/services/plugin-tool-registry.d.ts +7 -4
  55. package/dist/services/plugin-tool-registry.d.ts.map +1 -1
  56. package/dist/services/plugin-tool-registry.js +8 -1
  57. package/dist/services/plugin-tool-registry.js.map +1 -1
  58. package/dist/services/routines.d.ts.map +1 -1
  59. package/dist/services/routines.js +8 -0
  60. package/dist/services/routines.js.map +1 -1
  61. package/package.json +19 -19
  62. package/ui-dist/assets/{_basePickBy-BYxlHKKN.js → _basePickBy-CJ3s1nkl.js} +1 -1
  63. package/ui-dist/assets/{_baseUniq-B26yarIc.js → _baseUniq-Cpz9xutX.js} +1 -1
  64. package/ui-dist/assets/{arc-BDauvvDc.js → arc-DZKUYBXW.js} +1 -1
  65. package/ui-dist/assets/{architectureDiagram-VXUJARFQ-BKDhI01I.js → architectureDiagram-VXUJARFQ-C18YlzF7.js} +1 -1
  66. package/ui-dist/assets/{blockDiagram-VD42YOAC-D0usrWE7.js → blockDiagram-VD42YOAC-BJ1Iymm8.js} +1 -1
  67. package/ui-dist/assets/{browser-ponyfill-ebpW4-qy.js → browser-ponyfill-BCzP1uBq.js} +1 -1
  68. package/ui-dist/assets/{c4Diagram-YG6GDRKO-y9PV6qun.js → c4Diagram-YG6GDRKO-FO02Ozuc.js} +1 -1
  69. package/ui-dist/assets/channel-CBCvHNDJ.js +1 -0
  70. package/ui-dist/assets/{chunk-4BX2VUAB-BOw0TFbH.js → chunk-4BX2VUAB-BffF0Ayl.js} +1 -1
  71. package/ui-dist/assets/{chunk-55IACEB6-DHk7xA0k.js → chunk-55IACEB6-anNlubDc.js} +1 -1
  72. package/ui-dist/assets/{chunk-B4BG7PRW-DAXyHAAS.js → chunk-B4BG7PRW-BAn7tZhA.js} +1 -1
  73. package/ui-dist/assets/{chunk-DI55MBZ5-wyKz_I6_.js → chunk-DI55MBZ5-DSQLEfn7.js} +1 -1
  74. package/ui-dist/assets/{chunk-FMBD7UC4-BgkGSsnk.js → chunk-FMBD7UC4-DFBfUQxE.js} +1 -1
  75. package/ui-dist/assets/{chunk-QN33PNHL-yedqG5PM.js → chunk-QN33PNHL-BYJNVNWg.js} +1 -1
  76. package/ui-dist/assets/{chunk-QZHKN3VN-CpGfFp9R.js → chunk-QZHKN3VN-DhkSXoQ6.js} +1 -1
  77. package/ui-dist/assets/{chunk-TZMSLE5B-DfY2ZBKD.js → chunk-TZMSLE5B-DLAcmLm4.js} +1 -1
  78. package/ui-dist/assets/classDiagram-2ON5EDUG-CedImAoP.js +1 -0
  79. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-CedImAoP.js +1 -0
  80. package/ui-dist/assets/clone-DVtdX2a6.js +1 -0
  81. package/ui-dist/assets/{cose-bilkent-S5V4N54A-BvjsWHQj.js → cose-bilkent-S5V4N54A-BM3GkmqI.js} +1 -1
  82. package/ui-dist/assets/{dagre-6UL2VRFP-Dh1PluzR.js → dagre-6UL2VRFP-Dj-zoEKo.js} +1 -1
  83. package/ui-dist/assets/{diagram-PSM6KHXK-CAz3sT0T.js → diagram-PSM6KHXK-BWa81TI-.js} +1 -1
  84. package/ui-dist/assets/{diagram-QEK2KX5R-B6WaPPrb.js → diagram-QEK2KX5R-De6ou_W9.js} +1 -1
  85. package/ui-dist/assets/{diagram-S2PKOQOG-fkF5os8X.js → diagram-S2PKOQOG-B8I4hYGd.js} +1 -1
  86. package/ui-dist/assets/{erDiagram-Q2GNP2WA-tK6MhzrJ.js → erDiagram-Q2GNP2WA-Ct3Q8XkI.js} +1 -1
  87. package/ui-dist/assets/{flowDiagram-NV44I4VS-CaNFUnRl.js → flowDiagram-NV44I4VS-DKTvgjCY.js} +1 -1
  88. package/ui-dist/assets/{ganttDiagram-JELNMOA3-CeG0sDmd.js → ganttDiagram-JELNMOA3-hdAnQp3r.js} +1 -1
  89. package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-TLvK324z.js → gitGraphDiagram-V2S2FVAM-BWA6TeFg.js} +1 -1
  90. package/ui-dist/assets/{graph-Bqo7M0Vd.js → graph-B6MyXjce.js} +1 -1
  91. package/ui-dist/assets/{index-BaZON7l-.js → index-B-mX_86a.js} +1 -1
  92. package/ui-dist/assets/{index-Bg1l5Rb-.js → index-BAXCtCl2.js} +1 -1
  93. package/ui-dist/assets/{index-D8kLtV6y.js → index-BjhWU-A5.js} +1 -1
  94. package/ui-dist/assets/{index-DYP1MjhS.js → index-Bw_oqbc_.js} +1 -1
  95. package/ui-dist/assets/{index-DsRbE9l_.js → index-C1ZB-51j.js} +1 -1
  96. package/ui-dist/assets/index-C2j9MW3C.css +1 -0
  97. package/ui-dist/assets/{index-Btz0iQUD.js → index-C7NW_zkC.js} +1 -1
  98. package/ui-dist/assets/{index-BOwEJNiM.js → index-CBY6PVIq.js} +1 -1
  99. package/ui-dist/assets/{index-94t6F9ti.js → index-CON4KX-o.js} +4 -4
  100. package/ui-dist/assets/{index-Cw_JDhgf.js → index-C_OFw-kd.js} +1 -1
  101. package/ui-dist/assets/{index-DS5mbkob.js → index-C_WY9p9P.js} +162 -162
  102. package/ui-dist/assets/{index-Bcj8kPOw.js → index-D2wdN5nM.js} +1 -1
  103. package/ui-dist/assets/{index-UtXv_ECo.js → index-D940Xtkg.js} +1 -1
  104. package/ui-dist/assets/{index-DfswLslQ.js → index-DK7zC7zO.js} +1 -1
  105. package/ui-dist/assets/{index-DXJLiZGe.js → index-DOb3c2ZJ.js} +1 -1
  106. package/ui-dist/assets/{index-CF55bUu0.js → index-DQZ1m9Rx.js} +1 -1
  107. package/ui-dist/assets/{index-ColgDk6f.js → index-DlSm2TuI.js} +1 -1
  108. package/ui-dist/assets/{index-rvgEgE3e.js → index-NM9VXYRu.js} +1 -1
  109. package/ui-dist/assets/{index-Cymc8BwS.js → index-Ono4Q2hp.js} +1 -1
  110. package/ui-dist/assets/{index-CYbzoPxp.js → index-QmTzd8W4.js} +1 -1
  111. package/ui-dist/assets/{index-BxZkEvQt.js → index-XzP5OFJk.js} +1 -1
  112. package/ui-dist/assets/{index-DWUw2jaA.js → index-frYJFPBX.js} +1 -1
  113. package/ui-dist/assets/{index-BySmbMst.js → index-kpn5yEmW.js} +1 -1
  114. package/ui-dist/assets/{index-BDBeR_Ms.js → index-zZ9_TEd8.js} +1 -1
  115. package/ui-dist/assets/{infoDiagram-HS3SLOUP-3Rv7QaIb.js → infoDiagram-HS3SLOUP-FWhDM_SR.js} +1 -1
  116. package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-BAtPBBtl.js → journeyDiagram-XKPGCS4Q-DgNDapOW.js} +1 -1
  117. package/ui-dist/assets/{kanban-definition-3W4ZIXB7-BkOtXBkh.js → kanban-definition-3W4ZIXB7-CXgWT9xp.js} +1 -1
  118. package/ui-dist/assets/{layout-Gwcoi7Xv.js → layout-nU7ggWr2.js} +1 -1
  119. package/ui-dist/assets/{linear-DHbYmiWq.js → linear-CygXHNFU.js} +1 -1
  120. package/ui-dist/assets/mermaid.core-BBFFMqws.js +251 -0
  121. package/ui-dist/assets/{mindmap-definition-VGOIOE7T-8SJJRsUG.js → mindmap-definition-VGOIOE7T-D_2zY1t0.js} +1 -1
  122. package/ui-dist/assets/{pieDiagram-ADFJNKIX-p2ACVxJ8.js → pieDiagram-ADFJNKIX-B6V2B5uj.js} +1 -1
  123. package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-ChUyFUsT.js → quadrantDiagram-AYHSOK5B-DzWR2_dj.js} +1 -1
  124. package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-C3Q-59mi.js → requirementDiagram-UZGBJVZJ-uqkkEWxo.js} +1 -1
  125. package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-BGYmIL4H.js → sankeyDiagram-TZEHDZUN-BHXwW4K5.js} +1 -1
  126. package/ui-dist/assets/{sequenceDiagram-WL72ISMW-smCwAbus.js → sequenceDiagram-WL72ISMW-JSQrjUJM.js} +1 -1
  127. package/ui-dist/assets/{stateDiagram-FKZM4ZOC-hzZiJVWR.js → stateDiagram-FKZM4ZOC-B-bTqjm3.js} +1 -1
  128. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-D_G-vOLn.js +1 -0
  129. package/ui-dist/assets/{timeline-definition-IT6M3QCI-C9Bpauwv.js → timeline-definition-IT6M3QCI-CESafBfC.js} +1 -1
  130. package/ui-dist/assets/{treemap-GDKQZRPO-BB3Cb_8q.js → treemap-GDKQZRPO-BRJgeVTs.js} +1 -1
  131. package/ui-dist/assets/{xychartDiagram-PRI3JC2R-BR4l4kRx.js → xychartDiagram-PRI3JC2R-CoL0qFGU.js} +1 -1
  132. package/ui-dist/index.html +2 -2
  133. package/ui-dist/assets/channel-CBWRFI7_.js +0 -1
  134. package/ui-dist/assets/classDiagram-2ON5EDUG-BBWLyelg.js +0 -1
  135. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-BBWLyelg.js +0 -1
  136. package/ui-dist/assets/clone-BpiELgqW.js +0 -1
  137. package/ui-dist/assets/index-DMIAyVox.css +0 -1
  138. package/ui-dist/assets/mermaid.core-aP1deKhG.js +0 -250
  139. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-CKxY16nW.js +0 -1
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAU,KAAK,OAAO,IAAI,cAAc,EAAoC,MAAM,SAAS,CAAC;AAI5G,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA2BzD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAC;AAW/C,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAa1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAMrE,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAqB7C,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI1E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIvE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAKnE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAGpE;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,GAAG,OAAO,CAKV;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,qBAAqB,CAAC,EAAE;QACtB,0BAA0B,CAAC,KAAK,CAAC,EAAE;YACjC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,IAAI,CAAC;SACZ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CACnF,wDAmXF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAU,KAAK,OAAO,IAAI,cAAc,EAAoC,MAAM,SAAS,CAAC;AAI5G,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA4BzD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAC;AAW/C,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAa1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAMrE,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAqB7C,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI1E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIvE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAKnE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAGpE;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,GAAG,OAAO,CAKV;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,qBAAqB,CAAC,EAAE;QACtB,0BAA0B,CAAC,KAAK,CAAC,EAAE;YACjC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,IAAI,CAAC;SACZ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CACnF,wDAqXF"}
package/dist/app.js CHANGED
@@ -28,6 +28,7 @@ import { sidebarPreferenceRoutes } from "./routes/sidebar-preferences.js";
28
28
  import { resourceMembershipRoutes } from "./routes/resource-memberships.js";
29
29
  import { inboxDismissalRoutes } from "./routes/inbox-dismissals.js";
30
30
  import { instanceSettingsRoutes } from "./routes/instance-settings.js";
31
+ import { openApiRoutes } from "./routes/openapi.js";
31
32
  import { instanceDatabaseBackupRoutes, } from "./routes/instance-database-backups.js";
32
33
  import { llmRoutes } from "./routes/llms.js";
33
34
  import { authRoutes } from "./routes/auth.js";
@@ -157,7 +158,9 @@ export async function createApp(db, opts) {
157
158
  authReady: opts.authReady,
158
159
  companyDeletionEnabled: opts.companyDeletionEnabled,
159
160
  }));
161
+ api.use(openApiRoutes());
160
162
  api.use("/companies", companyRoutes(db, opts.storageService));
163
+ api.use(llmRoutes(db));
161
164
  api.use(companySkillRoutes(db));
162
165
  api.use(agentRoutes(db, { pluginWorkerManager: workerManager }));
163
166
  api.use(assetRoutes(db, opts.storageService));
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/routes/access.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAQL,OAAO,EACP,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAeL,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAA6C,MAAM,mBAAmB,CAAC;AAmEvH,wBAAgB,sBAAsB,CAAC,KAAK,GAAE,MAAmB,QAEhE;AA2ID,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAuMF,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C,GAAG,OAAO,CAsDV;AAED,wBAAgB,iCAAiC,CAC/C,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAmCT;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,IAAI,CACvB,OAAO,YAAY,CAAC,YAAY,EAChC,aAAa,GAAG,aAAa,GAAG,QAAQ,CACzC,GAAG,IAAI,CAAC;CACV,GAAG,OAAO,CAoBV;AAmDD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;;;;EAoPA;AAitBD,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,OAAO,CAAC,YAAY,EACnC,IAAI,EAAE;IACJ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,UAqLF;AAkMD,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1D,KAAK,CAAC;IACP,aAAa,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC,CAAC,CAYD;AAED,KAAK,2BAA2B,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,2BAA2B,EAAE,GACxC,MAAM,GAAG,IAAI,CASf;AAkBD,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,GAAG,EAAE,GAAG,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAClE,WAAW,CACT,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAC1C,CAAC;AAoIF,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,QAKjD;AAuJD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IACJ,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC5D,8CAkkEF"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/routes/access.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { fileURLToPath } from "node:url";
9
9
  import { Router } from "express";
10
10
  import { and, desc, eq, gt, inArray, isNotNull, isNull, lte, ne, sql } from "drizzle-orm";
11
11
  import { assets, agentApiKeys, authUsers, companies, companyLogos, companyMemberships, instanceUserRoles, invites, joinRequests, principalPermissionGrants, } from "@penclipai/db";
12
- import { acceptInviteSchema, createCliAuthChallengeSchema, claimJoinRequestApiKeySchema, createCompanyInviteSchema, createOpenClawInvitePromptSchema, listCompanyInvitesQuerySchema, listJoinRequestsQuerySchema, resolveCliAuthChallengeSchema, searchAdminUsersQuerySchema, updateCompanyMemberWithPermissionsSchema, updateCompanyMemberSchema, archiveCompanyMemberSchema, updateMemberPermissionsSchema, updateUserCompanyAccessSchema, PERMISSION_KEYS } from "@penclipai/shared";
12
+ import { acceptInviteSchema, createCliAuthChallengeSchema, claimJoinRequestApiKeySchema, createBoardApiKeySchema, createCompanyInviteSchema, createOpenClawInvitePromptSchema, listCompanyInvitesQuerySchema, listJoinRequestsQuerySchema, resolveCliAuthChallengeSchema, searchAdminUsersQuerySchema, updateCompanyMemberWithPermissionsSchema, updateCompanyMemberSchema, archiveCompanyMemberSchema, updateMemberPermissionsSchema, updateUserCompanyAccessSchema, PERMISSION_KEYS, isUuidLike, } from "@penclipai/shared";
13
13
  import { forbidden, conflict, notFound, unauthorized, badRequest } from "../errors.js";
14
14
  import { logger } from "../middleware/logger.js";
15
15
  import { validate } from "../middleware/validate.js";
@@ -65,18 +65,17 @@ function buildCliAuthApprovalPath(challengeId, token) {
65
65
  }
66
66
  function readSkillMarkdown(skillName) {
67
67
  const normalized = skillName.trim().toLowerCase();
68
- if (normalized !== "paperclip" &&
69
- normalized !== "paperclip-create-agent" &&
70
- normalized !== "paperclip-create-plugin" &&
71
- normalized !== "paperclip-converting-plans-to-tasks" &&
72
- normalized !== "para-memory-files")
68
+ if (!isSafeSkillName(normalized)) {
73
69
  return null;
70
+ }
74
71
  const moduleDir = path.dirname(fileURLToPath(import.meta.url));
72
+ const claudeSkillsDir = resolveClaudeSkillsDir();
75
73
  const candidates = [
74
+ claudeSkillsDir ? path.resolve(claudeSkillsDir, normalized, "SKILL.md") : null,
76
75
  path.resolve(moduleDir, "../../skills", normalized, "SKILL.md"), // published: dist/routes/ -> <pkg>/skills/
77
76
  path.resolve(process.cwd(), "skills", normalized, "SKILL.md"), // cwd (e.g. monorepo root)
78
77
  path.resolve(moduleDir, "../../../skills", normalized, "SKILL.md") // dev: src/routes/ -> repo root/skills/
79
- ];
78
+ ].filter((candidate) => Boolean(candidate));
80
79
  for (const skillPath of candidates) {
81
80
  try {
82
81
  return fs.readFileSync(skillPath, "utf8");
@@ -87,6 +86,9 @@ function readSkillMarkdown(skillName) {
87
86
  }
88
87
  return null;
89
88
  }
89
+ function isSafeSkillName(skillName) {
90
+ return /^[a-z0-9][a-z0-9._-]*$/.test(skillName);
91
+ }
90
92
  /** Resolve the Paperclip repo skills directory (built-in / managed skills). */
91
93
  function resolvePaperclipSkillsDir() {
92
94
  const moduleDir = path.dirname(fileURLToPath(import.meta.url));
@@ -124,10 +126,16 @@ function parseSkillFrontmatter(markdown) {
124
126
  .trim(),
125
127
  };
126
128
  }
127
- /** Discover all available Claude Code skills from ~/.claude/skills/. */
129
+ /** Discover all available Claude Code skills from CLAUDE_HOME or ~/.claude. */
130
+ function resolveClaudeSkillsDir() {
131
+ const configuredClaudeHome = process.env.CLAUDE_HOME?.trim();
132
+ const claudeHome = configuredClaudeHome
133
+ ? path.resolve(configuredClaudeHome)
134
+ : path.join(process.env.HOME || process.env.USERPROFILE || "", ".claude");
135
+ return path.join(claudeHome, "skills");
136
+ }
128
137
  function listAvailableSkills() {
129
- const homeDir = process.env.HOME || process.env.USERPROFILE || "";
130
- const claudeSkillsDir = path.join(homeDir, ".claude", "skills");
138
+ const claudeSkillsDir = resolveClaudeSkillsDir();
131
139
  const paperclipSkillsDir = resolvePaperclipSkillsDir();
132
140
  // Build set of Paperclip-managed skill names
133
141
  const paperclipSkillNames = new Set();
@@ -162,7 +170,29 @@ function listAvailableSkills() {
162
170
  });
163
171
  }
164
172
  }
165
- catch { /* ~/.claude/skills/ doesn't exist */ }
173
+ catch { /* Claude skills directory doesn't exist */ }
174
+ if (paperclipSkillsDir) {
175
+ const existingNames = new Set(skills.map((skill) => skill.name));
176
+ try {
177
+ for (const entry of fs.readdirSync(paperclipSkillsDir, { withFileTypes: true })) {
178
+ if (!entry.isDirectory() || entry.name.startsWith(".") || existingNames.has(entry.name))
179
+ continue;
180
+ const skillMdPath = path.join(paperclipSkillsDir, entry.name, "SKILL.md");
181
+ let description = "";
182
+ try {
183
+ const md = fs.readFileSync(skillMdPath, "utf8");
184
+ description = parseSkillFrontmatter(md).description;
185
+ }
186
+ catch { /* no SKILL.md or unreadable */ }
187
+ skills.push({
188
+ name: entry.name,
189
+ description,
190
+ isPaperclipManaged: true,
191
+ });
192
+ }
193
+ }
194
+ catch { /* skip Paperclip skills directory */ }
195
+ }
166
196
  skills.sort((a, b) => a.name.localeCompare(b.name));
167
197
  return skills;
168
198
  }
@@ -1986,6 +2016,85 @@ export function accessRoutes(db, opts) {
1986
2016
  keyId: req.actor.source === "board_key" ? req.actor.keyId ?? null : null,
1987
2017
  });
1988
2018
  });
2019
+ router.get("/board-api-keys", async (req, res) => {
2020
+ if (req.actor.type !== "board" || !req.actor.userId) {
2021
+ throw unauthorized("Board authentication required");
2022
+ }
2023
+ const keys = await boardAuth.listBoardApiKeys(req.actor.userId, {
2024
+ includeInactive: req.query.includeInactive === "true",
2025
+ });
2026
+ res.json(keys);
2027
+ });
2028
+ router.post("/board-api-keys", validate(createBoardApiKeySchema), async (req, res) => {
2029
+ if (req.actor.type !== "board" || !req.actor.userId) {
2030
+ throw unauthorized("Board authentication required");
2031
+ }
2032
+ if (req.body.requestedCompanyId) {
2033
+ assertCompanyAccess(req, req.body.requestedCompanyId);
2034
+ }
2035
+ const key = await boardAuth.createNamedBoardApiKey({
2036
+ userId: req.actor.userId,
2037
+ name: req.body.name,
2038
+ expiresAt: req.body.expiresAt === undefined ? undefined : req.body.expiresAt,
2039
+ });
2040
+ const companyIds = await boardAuth.resolveBoardActivityCompanyIds({
2041
+ userId: req.actor.userId,
2042
+ requestedCompanyId: req.body.requestedCompanyId ?? null,
2043
+ boardApiKeyId: key.id,
2044
+ });
2045
+ for (const companyId of companyIds) {
2046
+ await logActivity(db, {
2047
+ companyId,
2048
+ actorType: "user",
2049
+ actorId: req.actor.userId,
2050
+ action: "board_api_key.created",
2051
+ entityType: "user",
2052
+ entityId: req.actor.userId,
2053
+ details: {
2054
+ boardApiKeyId: key.id,
2055
+ name: key.name,
2056
+ requestedCompanyId: req.body.requestedCompanyId ?? null,
2057
+ expiresAt: key.expiresAt?.toISOString() ?? null,
2058
+ },
2059
+ });
2060
+ }
2061
+ res.status(201).json(key);
2062
+ });
2063
+ router.delete("/board-api-keys/:keyId", async (req, res) => {
2064
+ if (req.actor.type !== "board" || !req.actor.userId) {
2065
+ throw unauthorized("Board authentication required");
2066
+ }
2067
+ const keyId = req.params.keyId.trim();
2068
+ if (!isUuidLike(keyId)) {
2069
+ throw badRequest("Invalid board API key ID");
2070
+ }
2071
+ const key = await boardAuth.getBoardApiKeyForUser(keyId, req.actor.userId);
2072
+ if (!key)
2073
+ throw notFound("Board API key not found");
2074
+ const revoked = await boardAuth.revokeBoardApiKey(key.id);
2075
+ if (!revoked)
2076
+ throw notFound("Board API key not found");
2077
+ const companyIds = await boardAuth.resolveBoardActivityCompanyIds({
2078
+ userId: req.actor.userId,
2079
+ boardApiKeyId: key.id,
2080
+ });
2081
+ for (const companyId of companyIds) {
2082
+ await logActivity(db, {
2083
+ companyId,
2084
+ actorType: "user",
2085
+ actorId: req.actor.userId,
2086
+ action: "board_api_key.revoked",
2087
+ entityType: "user",
2088
+ entityId: req.actor.userId,
2089
+ details: {
2090
+ boardApiKeyId: key.id,
2091
+ name: key.name,
2092
+ revokedVia: "board_api_key_lifecycle",
2093
+ },
2094
+ });
2095
+ }
2096
+ res.json({ ok: true, keyId: key.id });
2097
+ });
1989
2098
  router.post("/cli-auth/revoke-current", async (req, res) => {
1990
2099
  if (req.actor.type !== "board" || req.actor.source !== "board_key") {
1991
2100
  throw badRequest("Current board API key context is required");