@penclipai/server 2026.508.2 → 2026.511.0-canary.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.
- package/dist/adapters/builtin-adapter-types.d.ts.map +1 -1
- package/dist/adapters/builtin-adapter-types.js +1 -0
- package/dist/adapters/builtin-adapter-types.js.map +1 -1
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +17 -0
- package/dist/adapters/registry.js.map +1 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/home-paths.d.ts +8 -11
- package/dist/home-paths.d.ts.map +1 -1
- package/dist/home-paths.js +14 -67
- package/dist/home-paths.js.map +1 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +8 -0
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/environments.d.ts.map +1 -1
- package/dist/routes/environments.js +8 -1
- package/dist/routes/environments.js.map +1 -1
- package/dist/routes/plugins.d.ts.map +1 -1
- package/dist/routes/plugins.js +6 -0
- package/dist/routes/plugins.js.map +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +6 -0
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/secrets.d.ts.map +1 -1
- package/dist/routes/secrets.js +269 -5
- package/dist/routes/secrets.js.map +1 -1
- package/dist/secrets/aws-secrets-manager-provider.d.ts +87 -0
- package/dist/secrets/aws-secrets-manager-provider.d.ts.map +1 -0
- package/dist/secrets/aws-secrets-manager-provider.js +748 -0
- package/dist/secrets/aws-secrets-manager-provider.js.map +1 -0
- package/dist/secrets/configured-provider.d.ts +3 -0
- package/dist/secrets/configured-provider.d.ts.map +1 -0
- package/dist/secrets/configured-provider.js +8 -0
- package/dist/secrets/configured-provider.js.map +1 -0
- package/dist/secrets/external-stub-providers.d.ts.map +1 -1
- package/dist/secrets/external-stub-providers.js +55 -5
- package/dist/secrets/external-stub-providers.js.map +1 -1
- package/dist/secrets/local-encrypted-provider.d.ts.map +1 -1
- package/dist/secrets/local-encrypted-provider.js +140 -12
- package/dist/secrets/local-encrypted-provider.js.map +1 -1
- package/dist/secrets/provider-registry.d.ts +2 -1
- package/dist/secrets/provider-registry.d.ts.map +1 -1
- package/dist/secrets/provider-registry.js +6 -2
- package/dist/secrets/provider-registry.js.map +1 -1
- package/dist/secrets/types.d.ts +117 -8
- package/dist/secrets/types.d.ts.map +1 -1
- package/dist/secrets/types.js +35 -1
- package/dist/secrets/types.js.map +1 -1
- package/dist/services/access.d.ts +27 -27
- package/dist/services/activity.d.ts +8 -8
- package/dist/services/agents.d.ts +9 -9
- package/dist/services/approvals.d.ts +10 -10
- package/dist/services/assets.d.ts +3 -3
- package/dist/services/board-auth.d.ts +24 -24
- package/dist/services/environment-config.d.ts +14 -2
- package/dist/services/environment-config.d.ts.map +1 -1
- package/dist/services/environment-config.js +57 -4
- package/dist/services/environment-config.js.map +1 -1
- package/dist/services/environment-execution-target.d.ts.map +1 -1
- package/dist/services/environment-execution-target.js +2 -0
- package/dist/services/environment-execution-target.js.map +1 -1
- package/dist/services/environment-runtime.d.ts.map +1 -1
- package/dist/services/environment-runtime.js +10 -2
- package/dist/services/environment-runtime.js.map +1 -1
- package/dist/services/feedback.d.ts +4 -4
- package/dist/services/finance.d.ts +8 -8
- package/dist/services/goals.d.ts +20 -20
- package/dist/services/heartbeat.d.ts +24 -19
- package/dist/services/heartbeat.d.ts.map +1 -1
- package/dist/services/heartbeat.js +82 -8
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/inbox-dismissals.d.ts +2 -2
- package/dist/services/issue-approvals.d.ts +2 -2
- package/dist/services/issue-continuation-summary.d.ts +2 -0
- package/dist/services/issue-continuation-summary.d.ts.map +1 -1
- package/dist/services/issue-continuation-summary.js +10 -0
- package/dist/services/issue-continuation-summary.js.map +1 -1
- package/dist/services/issues.d.ts +18 -18
- package/dist/services/plugin-environment-driver.d.ts +6 -6
- package/dist/services/plugin-host-services.d.ts.map +1 -1
- package/dist/services/plugin-host-services.js +31 -4
- package/dist/services/plugin-host-services.js.map +1 -1
- package/dist/services/plugin-local-folders.d.ts +1 -0
- package/dist/services/plugin-local-folders.d.ts.map +1 -1
- package/dist/services/plugin-local-folders.js +45 -0
- package/dist/services/plugin-local-folders.js.map +1 -1
- package/dist/services/plugin-managed-agents.d.ts.map +1 -1
- package/dist/services/plugin-managed-agents.js +52 -9
- package/dist/services/plugin-managed-agents.js.map +1 -1
- package/dist/services/plugin-managed-skills.d.ts +14 -0
- package/dist/services/plugin-managed-skills.d.ts.map +1 -0
- package/dist/services/plugin-managed-skills.js +264 -0
- package/dist/services/plugin-managed-skills.js.map +1 -0
- package/dist/services/plugin-registry.d.ts +79 -79
- package/dist/services/plugin-secrets-handler.d.ts +2 -0
- package/dist/services/plugin-secrets-handler.d.ts.map +1 -1
- package/dist/services/plugin-secrets-handler.js +17 -80
- package/dist/services/plugin-secrets-handler.js.map +1 -1
- package/dist/services/recovery/service.d.ts +61 -0
- package/dist/services/recovery/service.d.ts.map +1 -1
- package/dist/services/recovery/service.js +63 -17
- package/dist/services/recovery/service.js.map +1 -1
- package/dist/services/routines.d.ts +18 -18
- package/dist/services/routines.d.ts.map +1 -1
- package/dist/services/routines.js +36 -4
- package/dist/services/routines.js.map +1 -1
- package/dist/services/secrets.d.ts +1566 -119
- package/dist/services/secrets.d.ts.map +1 -1
- package/dist/services/secrets.js +1465 -69
- package/dist/services/secrets.js.map +1 -1
- package/package.json +17 -16
- package/ui-dist/assets/{_basePickBy-5H35nb2M.js → _basePickBy-B0S0WJuO.js} +1 -1
- package/ui-dist/assets/{_baseUniq-BqsDtPj4.js → _baseUniq-DPfwHtaX.js} +1 -1
- package/ui-dist/assets/{arc-F3f4deZD.js → arc-dayO-_vQ.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-VXUJARFQ-pBm1fRMv.js → architectureDiagram-VXUJARFQ-B7gjpAgc.js} +1 -1
- package/ui-dist/assets/{blockDiagram-VD42YOAC-CGtc9RP7.js → blockDiagram-VD42YOAC-e0_AbQkY.js} +1 -1
- package/ui-dist/assets/{browser-ponyfill-CkdJVj1i.js → browser-ponyfill-D5A0IJkC.js} +1 -1
- package/ui-dist/assets/{c4Diagram-YG6GDRKO-BXgVj8GH.js → c4Diagram-YG6GDRKO-D5OdXvo8.js} +1 -1
- package/ui-dist/assets/channel-BLi0LFH0.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-Ds1Y5IYA.js → chunk-4BX2VUAB-uWBbpQP3.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-D8GwRmXK.js → chunk-55IACEB6-CFVDvwbd.js} +1 -1
- package/ui-dist/assets/{chunk-B4BG7PRW-R_v5U6_B.js → chunk-B4BG7PRW-Niy3z_vf.js} +1 -1
- package/ui-dist/assets/{chunk-DI55MBZ5-DO4X9EFt.js → chunk-DI55MBZ5-BSFdxpNJ.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-DUu61Scs.js → chunk-FMBD7UC4-Npjz_-5M.js} +1 -1
- package/ui-dist/assets/{chunk-QN33PNHL-Bw2VuHcK.js → chunk-QN33PNHL-C2BptvDe.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-BMGdo5T7.js → chunk-QZHKN3VN-B_lJernK.js} +1 -1
- package/ui-dist/assets/{chunk-TZMSLE5B-Cj_cdifl.js → chunk-TZMSLE5B-CNK1gBxt.js} +1 -1
- package/ui-dist/assets/classDiagram-2ON5EDUG-DGtCZCaT.js +1 -0
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-DGtCZCaT.js +1 -0
- package/ui-dist/assets/clone-_FFZ0Kkl.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-3YDaxa6o.js → cose-bilkent-S5V4N54A-P5AbZ8TB.js} +1 -1
- package/ui-dist/assets/{dagre-6UL2VRFP-CmLvQKQL.js → dagre-6UL2VRFP-Byky8_ia.js} +1 -1
- package/ui-dist/assets/{diagram-PSM6KHXK-vZK9KPBu.js → diagram-PSM6KHXK-fWgBJ_Sk.js} +1 -1
- package/ui-dist/assets/{diagram-QEK2KX5R-Bu9JBN1e.js → diagram-QEK2KX5R-Di6U-VgU.js} +1 -1
- package/ui-dist/assets/{diagram-S2PKOQOG-gPR1ps4Q.js → diagram-S2PKOQOG--ALJobJP.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q2GNP2WA-BpqETGGN.js → erDiagram-Q2GNP2WA-BPLxxd-8.js} +1 -1
- package/ui-dist/assets/{flowDiagram-NV44I4VS-B0iV5Bcy.js → flowDiagram-NV44I4VS-DsKtnwgY.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-JELNMOA3-BxQL_kP7.js → ganttDiagram-JELNMOA3-D-RgqRnI.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-CSsc-XDT.js → gitGraphDiagram-V2S2FVAM-B9hWxZno.js} +1 -1
- package/ui-dist/assets/{graph-DWnTQd3e.js → graph-BR5K_DHH.js} +1 -1
- package/ui-dist/assets/{index-BEfD-NrI.js → index--jhL8HjG.js} +1 -1
- package/ui-dist/assets/{index-C24lwrRh.js → index-3FxOnh1Q.js} +1 -1
- package/ui-dist/assets/{index-CqFa1_Kx.js → index-B5iG7mfQ.js} +1 -1
- package/ui-dist/assets/{index-DRqmQ4ym.js → index-BC-VyJRT.js} +1 -1
- package/ui-dist/assets/{index-mfdF2CPG.js → index-BKJKSfwf.js} +1 -1
- package/ui-dist/assets/{index-DNyOAFyR.js → index-BP2zDr7N.js} +1 -1
- package/ui-dist/assets/{index-CmZ6XLj-.js → index-BVZZDphv.js} +1 -1
- package/ui-dist/assets/{index-DbsPCpm_.js → index-Bi7Lez4i.js} +1 -1
- package/ui-dist/assets/{index-CpOa4tDv.js → index-C5zaTUz3.js} +1 -1
- package/ui-dist/assets/index-CJyKYByK.js +538 -0
- package/ui-dist/assets/index-COTa6xTk.css +1 -0
- package/ui-dist/assets/{index-Dt3jXp2D.js → index-CP1her1A.js} +1 -1
- package/ui-dist/assets/{index-h9lpZQKL.js → index-CPBqNjLU.js} +1 -1
- package/ui-dist/assets/{index-CxnOSxK9.js → index-CY4Sacam.js} +1 -1
- package/ui-dist/assets/{index-DgU-HHpm.js → index-CrCHtJt9.js} +1 -1
- package/ui-dist/assets/{index-C3xGHm3G.js → index-D-kP_TCS.js} +1 -1
- package/ui-dist/assets/{index-Bw88aPGu.js → index-D0b0bdp9.js} +1 -1
- package/ui-dist/assets/{index-CaFk2kgt.js → index-DDo7a1ad.js} +1 -1
- package/ui-dist/assets/{index-Ckh-TE03.js → index-F8dNHc7L.js} +1 -1
- package/ui-dist/assets/{index-DUerGXI8.js → index-GIT3T29G.js} +1 -1
- package/ui-dist/assets/{index-DiPyhXNL.js → index-Ii2Zu1VC.js} +1 -1
- package/ui-dist/assets/{index-DvOzQrgz.js → index-cAXY17Km.js} +1 -1
- package/ui-dist/assets/{index-CzxxXvnl.js → index-vL5R__U-.js} +1 -1
- package/ui-dist/assets/{index-DNgm4Hx7.js → index-xy3NppqB.js} +1 -1
- package/ui-dist/assets/{infoDiagram-HS3SLOUP-C9a-DRdF.js → infoDiagram-HS3SLOUP-Cw5FMQPy.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-Cu752PhZ.js → journeyDiagram-XKPGCS4Q-qqubogM5.js} +1 -1
- package/ui-dist/assets/{kanban-definition-3W4ZIXB7-PXy7IffE.js → kanban-definition-3W4ZIXB7-BHKa2WJW.js} +1 -1
- package/ui-dist/assets/{layout-Ci-UJJNd.js → layout-n4Wr5yzd.js} +1 -1
- package/ui-dist/assets/{linear-D8Qy6J5I.js → linear-BeRJXNne.js} +1 -1
- package/ui-dist/assets/{mermaid.core-RTrr9erR.js → mermaid.core-DelVCbRr.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-VGOIOE7T-Ad_ky9GS.js → mindmap-definition-VGOIOE7T-DR-YsecJ.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ADFJNKIX-BPWjI8Sm.js → pieDiagram-ADFJNKIX-CZXfqZBG.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-DxY-Cew9.js → quadrantDiagram-AYHSOK5B-BBl26L66.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-BiUlKNuF.js → requirementDiagram-UZGBJVZJ-CvVYsxxA.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-t3mfJhUj.js → sankeyDiagram-TZEHDZUN-BVw2uYFt.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-WL72ISMW-D90qw9a6.js → sequenceDiagram-WL72ISMW--kspLpct.js} +1 -1
- package/ui-dist/assets/{stateDiagram-FKZM4ZOC-DB70vjUm.js → stateDiagram-FKZM4ZOC-DPx02LV8.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-S-NvEffl.js +1 -0
- package/ui-dist/assets/{timeline-definition-IT6M3QCI-CYSOqO3s.js → timeline-definition-IT6M3QCI-CyMnn5_z.js} +1 -1
- package/ui-dist/assets/{treemap-GDKQZRPO-QqfwsQzN.js → treemap-GDKQZRPO-DwLh53A5.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-PRI3JC2R-DZuSZ892.js → xychartDiagram-PRI3JC2R-xX5JJ2_4.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/locales/en/common.json +629 -0
- package/ui-dist/locales/zh-CN/common.json +551 -0
- package/ui-dist/assets/channel-BklDDvhc.js +0 -1
- package/ui-dist/assets/classDiagram-2ON5EDUG-gSWbQXsC.js +0 -1
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-gSWbQXsC.js +0 -1
- package/ui-dist/assets/clone-BhrAR33H.js +0 -1
- package/ui-dist/assets/index-GwA57FCP.js +0 -537
- package/ui-dist/assets/index-RH-ttKJp.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-WlT0xb9j.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-managed-skills.js","sourceRoot":"","sources":["../../src/services/plugin-managed-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,7 +144,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
144
144
|
tableName: "plugins";
|
|
145
145
|
dataType: "string";
|
|
146
146
|
columnType: "PgText";
|
|
147
|
-
data: "error" | "
|
|
147
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
148
148
|
driverParam: string;
|
|
149
149
|
notNull: true;
|
|
150
150
|
hasDefault: true;
|
|
@@ -156,7 +156,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
156
156
|
identity: undefined;
|
|
157
157
|
generated: undefined;
|
|
158
158
|
}, {}, {
|
|
159
|
-
$type: "error" | "
|
|
159
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
160
160
|
}>;
|
|
161
161
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
162
162
|
name: "install_order";
|
|
@@ -245,18 +245,18 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
245
245
|
}, {}, {}>;
|
|
246
246
|
}, "single", Record<"plugins", "not-null">, false, "orderBy", {
|
|
247
247
|
id: string;
|
|
248
|
-
status: "error" | "installed" | "ready" | "disabled" | "upgrade_pending" | "uninstalled";
|
|
249
|
-
updatedAt: Date;
|
|
250
|
-
lastError: string | null;
|
|
251
|
-
version: string;
|
|
252
248
|
pluginKey: string;
|
|
249
|
+
packageName: string;
|
|
250
|
+
version: string;
|
|
253
251
|
apiVersion: number;
|
|
254
252
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
255
|
-
packageName: string;
|
|
256
|
-
packagePath: string | null;
|
|
257
253
|
manifestJson: PaperclipPluginManifestV1;
|
|
254
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
258
255
|
installOrder: number | null;
|
|
256
|
+
packagePath: string | null;
|
|
257
|
+
lastError: string | null;
|
|
259
258
|
installedAt: Date;
|
|
259
|
+
updatedAt: Date;
|
|
260
260
|
}[], {
|
|
261
261
|
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
262
262
|
name: "id";
|
|
@@ -386,7 +386,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
386
386
|
tableName: "plugins";
|
|
387
387
|
dataType: "string";
|
|
388
388
|
columnType: "PgText";
|
|
389
|
-
data: "error" | "
|
|
389
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
390
390
|
driverParam: string;
|
|
391
391
|
notNull: true;
|
|
392
392
|
hasDefault: true;
|
|
@@ -398,7 +398,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
398
398
|
identity: undefined;
|
|
399
399
|
generated: undefined;
|
|
400
400
|
}, {}, {
|
|
401
|
-
$type: "error" | "
|
|
401
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
402
402
|
}>;
|
|
403
403
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
404
404
|
name: "install_order";
|
|
@@ -619,7 +619,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
619
619
|
tableName: "plugins";
|
|
620
620
|
dataType: "string";
|
|
621
621
|
columnType: "PgText";
|
|
622
|
-
data: "error" | "
|
|
622
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
623
623
|
driverParam: string;
|
|
624
624
|
notNull: true;
|
|
625
625
|
hasDefault: true;
|
|
@@ -631,7 +631,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
631
631
|
identity: undefined;
|
|
632
632
|
generated: undefined;
|
|
633
633
|
}, {}, {
|
|
634
|
-
$type: "error" | "
|
|
634
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
635
635
|
}>;
|
|
636
636
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
637
637
|
name: "install_order";
|
|
@@ -720,18 +720,18 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
720
720
|
}, {}, {}>;
|
|
721
721
|
}, "single", Record<"plugins", "not-null">, false, "where" | "orderBy", {
|
|
722
722
|
id: string;
|
|
723
|
-
status: "error" | "installed" | "ready" | "disabled" | "upgrade_pending" | "uninstalled";
|
|
724
|
-
updatedAt: Date;
|
|
725
|
-
lastError: string | null;
|
|
726
|
-
version: string;
|
|
727
723
|
pluginKey: string;
|
|
724
|
+
packageName: string;
|
|
725
|
+
version: string;
|
|
728
726
|
apiVersion: number;
|
|
729
727
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
730
|
-
packageName: string;
|
|
731
|
-
packagePath: string | null;
|
|
732
728
|
manifestJson: PaperclipPluginManifestV1;
|
|
729
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
733
730
|
installOrder: number | null;
|
|
731
|
+
packagePath: string | null;
|
|
732
|
+
lastError: string | null;
|
|
734
733
|
installedAt: Date;
|
|
734
|
+
updatedAt: Date;
|
|
735
735
|
}[], {
|
|
736
736
|
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
737
737
|
name: "id";
|
|
@@ -861,7 +861,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
861
861
|
tableName: "plugins";
|
|
862
862
|
dataType: "string";
|
|
863
863
|
columnType: "PgText";
|
|
864
|
-
data: "error" | "
|
|
864
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
865
865
|
driverParam: string;
|
|
866
866
|
notNull: true;
|
|
867
867
|
hasDefault: true;
|
|
@@ -873,7 +873,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
873
873
|
identity: undefined;
|
|
874
874
|
generated: undefined;
|
|
875
875
|
}, {}, {
|
|
876
|
-
$type: "error" | "
|
|
876
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
877
877
|
}>;
|
|
878
878
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
879
879
|
name: "install_order";
|
|
@@ -1091,7 +1091,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1091
1091
|
tableName: "plugins";
|
|
1092
1092
|
dataType: "string";
|
|
1093
1093
|
columnType: "PgText";
|
|
1094
|
-
data: "error" | "
|
|
1094
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1095
1095
|
driverParam: string;
|
|
1096
1096
|
notNull: true;
|
|
1097
1097
|
hasDefault: true;
|
|
@@ -1103,7 +1103,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1103
1103
|
identity: undefined;
|
|
1104
1104
|
generated: undefined;
|
|
1105
1105
|
}, {}, {
|
|
1106
|
-
$type: "error" | "
|
|
1106
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1107
1107
|
}>;
|
|
1108
1108
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
1109
1109
|
name: "install_order";
|
|
@@ -1192,18 +1192,18 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1192
1192
|
}, {}, {}>;
|
|
1193
1193
|
}, "single", Record<"plugins", "not-null">, false, "where" | "orderBy", {
|
|
1194
1194
|
id: string;
|
|
1195
|
-
status: "error" | "installed" | "ready" | "disabled" | "upgrade_pending" | "uninstalled";
|
|
1196
|
-
updatedAt: Date;
|
|
1197
|
-
lastError: string | null;
|
|
1198
|
-
version: string;
|
|
1199
1195
|
pluginKey: string;
|
|
1196
|
+
packageName: string;
|
|
1197
|
+
version: string;
|
|
1200
1198
|
apiVersion: number;
|
|
1201
1199
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
1202
|
-
packageName: string;
|
|
1203
|
-
packagePath: string | null;
|
|
1204
1200
|
manifestJson: PaperclipPluginManifestV1;
|
|
1201
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1205
1202
|
installOrder: number | null;
|
|
1203
|
+
packagePath: string | null;
|
|
1204
|
+
lastError: string | null;
|
|
1206
1205
|
installedAt: Date;
|
|
1206
|
+
updatedAt: Date;
|
|
1207
1207
|
}[], {
|
|
1208
1208
|
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
1209
1209
|
name: "id";
|
|
@@ -1333,7 +1333,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1333
1333
|
tableName: "plugins";
|
|
1334
1334
|
dataType: "string";
|
|
1335
1335
|
columnType: "PgText";
|
|
1336
|
-
data: "error" | "
|
|
1336
|
+
data: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1337
1337
|
driverParam: string;
|
|
1338
1338
|
notNull: true;
|
|
1339
1339
|
hasDefault: true;
|
|
@@ -1345,7 +1345,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1345
1345
|
identity: undefined;
|
|
1346
1346
|
generated: undefined;
|
|
1347
1347
|
}, {}, {
|
|
1348
|
-
$type: "error" | "
|
|
1348
|
+
$type: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1349
1349
|
}>;
|
|
1350
1350
|
installOrder: import("drizzle-orm/pg-core").PgColumn<{
|
|
1351
1351
|
name: "install_order";
|
|
@@ -1436,34 +1436,34 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1436
1436
|
/** Get a single plugin by primary key. */
|
|
1437
1437
|
getById: (id: string) => Promise<{
|
|
1438
1438
|
id: string;
|
|
1439
|
-
status: "error" | "installed" | "ready" | "disabled" | "upgrade_pending" | "uninstalled";
|
|
1440
|
-
updatedAt: Date;
|
|
1441
|
-
lastError: string | null;
|
|
1442
|
-
version: string;
|
|
1443
1439
|
pluginKey: string;
|
|
1440
|
+
packageName: string;
|
|
1441
|
+
version: string;
|
|
1444
1442
|
apiVersion: number;
|
|
1445
1443
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
1446
|
-
packageName: string;
|
|
1447
|
-
packagePath: string | null;
|
|
1448
1444
|
manifestJson: PaperclipPluginManifestV1;
|
|
1445
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1449
1446
|
installOrder: number | null;
|
|
1447
|
+
packagePath: string | null;
|
|
1448
|
+
lastError: string | null;
|
|
1450
1449
|
installedAt: Date;
|
|
1450
|
+
updatedAt: Date;
|
|
1451
1451
|
}>;
|
|
1452
1452
|
/** Get a single plugin by its unique `pluginKey`. */
|
|
1453
1453
|
getByKey: (pluginKey: string) => Promise<{
|
|
1454
1454
|
id: string;
|
|
1455
|
-
status: "error" | "installed" | "ready" | "disabled" | "upgrade_pending" | "uninstalled";
|
|
1456
|
-
updatedAt: Date;
|
|
1457
|
-
lastError: string | null;
|
|
1458
|
-
version: string;
|
|
1459
1455
|
pluginKey: string;
|
|
1456
|
+
packageName: string;
|
|
1457
|
+
version: string;
|
|
1460
1458
|
apiVersion: number;
|
|
1461
1459
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
1462
|
-
packageName: string;
|
|
1463
|
-
packagePath: string | null;
|
|
1464
1460
|
manifestJson: PaperclipPluginManifestV1;
|
|
1461
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1465
1462
|
installOrder: number | null;
|
|
1463
|
+
packagePath: string | null;
|
|
1464
|
+
lastError: string | null;
|
|
1466
1465
|
installedAt: Date;
|
|
1466
|
+
updatedAt: Date;
|
|
1467
1467
|
}>;
|
|
1468
1468
|
/**
|
|
1469
1469
|
* Register (install) a new plugin.
|
|
@@ -1474,7 +1474,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1474
1474
|
*/
|
|
1475
1475
|
install: (input: InstallPlugin, manifest: PaperclipPluginManifestV1) => Promise<{
|
|
1476
1476
|
id: string;
|
|
1477
|
-
status: "error" | "
|
|
1477
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1478
1478
|
updatedAt: Date;
|
|
1479
1479
|
lastError: string | null;
|
|
1480
1480
|
version: string;
|
|
@@ -1503,7 +1503,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1503
1503
|
apiVersion: number;
|
|
1504
1504
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
1505
1505
|
manifestJson: PaperclipPluginManifestV1;
|
|
1506
|
-
status: "error" | "
|
|
1506
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1507
1507
|
installOrder: number | null;
|
|
1508
1508
|
packagePath: string | null;
|
|
1509
1509
|
lastError: string | null;
|
|
@@ -1519,7 +1519,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1519
1519
|
apiVersion: number;
|
|
1520
1520
|
categories: ("automation" | "connector" | "workspace" | "ui")[];
|
|
1521
1521
|
manifestJson: PaperclipPluginManifestV1;
|
|
1522
|
-
status: "error" | "
|
|
1522
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1523
1523
|
installOrder: number | null;
|
|
1524
1524
|
packagePath: string | null;
|
|
1525
1525
|
lastError: string | null;
|
|
@@ -1535,7 +1535,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1535
1535
|
*/
|
|
1536
1536
|
uninstall: (id: string, removeData?: boolean) => Promise<{
|
|
1537
1537
|
id: string;
|
|
1538
|
-
status: "error" | "
|
|
1538
|
+
status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled";
|
|
1539
1539
|
updatedAt: Date;
|
|
1540
1540
|
lastError: string | null;
|
|
1541
1541
|
version: string;
|
|
@@ -1551,11 +1551,11 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1551
1551
|
/** Retrieve a plugin's instance configuration. */
|
|
1552
1552
|
getConfig: (pluginId: string) => Promise<{
|
|
1553
1553
|
id: string;
|
|
1554
|
+
pluginId: string;
|
|
1555
|
+
configJson: Record<string, unknown>;
|
|
1556
|
+
lastError: string | null;
|
|
1554
1557
|
createdAt: Date;
|
|
1555
1558
|
updatedAt: Date;
|
|
1556
|
-
lastError: string | null;
|
|
1557
|
-
configJson: Record<string, unknown>;
|
|
1558
|
-
pluginId: string;
|
|
1559
1559
|
}>;
|
|
1560
1560
|
/**
|
|
1561
1561
|
* Create or fully replace a plugin's instance configuration.
|
|
@@ -1675,7 +1675,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1675
1675
|
tableName: "plugin_entities";
|
|
1676
1676
|
dataType: "string";
|
|
1677
1677
|
columnType: "PgText";
|
|
1678
|
-
data: "agent" | "company" | "project" | "issue" | "
|
|
1678
|
+
data: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
1679
1679
|
driverParam: string;
|
|
1680
1680
|
notNull: true;
|
|
1681
1681
|
hasDefault: false;
|
|
@@ -1687,7 +1687,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1687
1687
|
identity: undefined;
|
|
1688
1688
|
generated: undefined;
|
|
1689
1689
|
}, {}, {
|
|
1690
|
-
$type: "agent" | "company" | "project" | "issue" | "
|
|
1690
|
+
$type: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
1691
1691
|
}>;
|
|
1692
1692
|
scopeId: import("drizzle-orm/pg-core").PgColumn<{
|
|
1693
1693
|
name: "scope_id";
|
|
@@ -1812,16 +1812,16 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1812
1812
|
}, {}, {}>;
|
|
1813
1813
|
}, "single", Record<"plugin_entities", "not-null">, false, "limit" | "offset" | "where" | "orderBy", {
|
|
1814
1814
|
id: string;
|
|
1815
|
-
|
|
1815
|
+
pluginId: string;
|
|
1816
|
+
entityType: string;
|
|
1817
|
+
scopeKind: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
1818
|
+
scopeId: string | null;
|
|
1819
|
+
externalId: string | null;
|
|
1820
|
+
title: string | null;
|
|
1816
1821
|
status: string | null;
|
|
1822
|
+
data: Record<string, unknown>;
|
|
1817
1823
|
createdAt: Date;
|
|
1818
1824
|
updatedAt: Date;
|
|
1819
|
-
title: string | null;
|
|
1820
|
-
scopeId: string | null;
|
|
1821
|
-
externalId: string | null;
|
|
1822
|
-
scopeKind: "agent" | "company" | "project" | "issue" | "goal" | "run" | "instance" | "project_workspace";
|
|
1823
|
-
pluginId: string;
|
|
1824
|
-
entityType: string;
|
|
1825
1825
|
}[], {
|
|
1826
1826
|
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
1827
1827
|
name: "id";
|
|
@@ -1879,7 +1879,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1879
1879
|
tableName: "plugin_entities";
|
|
1880
1880
|
dataType: "string";
|
|
1881
1881
|
columnType: "PgText";
|
|
1882
|
-
data: "agent" | "company" | "project" | "issue" | "
|
|
1882
|
+
data: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
1883
1883
|
driverParam: string;
|
|
1884
1884
|
notNull: true;
|
|
1885
1885
|
hasDefault: false;
|
|
@@ -1891,7 +1891,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
1891
1891
|
identity: undefined;
|
|
1892
1892
|
generated: undefined;
|
|
1893
1893
|
}, {}, {
|
|
1894
|
-
$type: "agent" | "company" | "project" | "issue" | "
|
|
1894
|
+
$type: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
1895
1895
|
}>;
|
|
1896
1896
|
scopeId: import("drizzle-orm/pg-core").PgColumn<{
|
|
1897
1897
|
name: "scope_id";
|
|
@@ -2025,16 +2025,16 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
2025
2025
|
*/
|
|
2026
2026
|
getEntityByExternalId: (pluginId: string, entityType: string, externalId: string) => Promise<{
|
|
2027
2027
|
id: string;
|
|
2028
|
-
|
|
2028
|
+
pluginId: string;
|
|
2029
|
+
entityType: string;
|
|
2030
|
+
scopeKind: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
2031
|
+
scopeId: string | null;
|
|
2032
|
+
externalId: string | null;
|
|
2033
|
+
title: string | null;
|
|
2029
2034
|
status: string | null;
|
|
2035
|
+
data: Record<string, unknown>;
|
|
2030
2036
|
createdAt: Date;
|
|
2031
2037
|
updatedAt: Date;
|
|
2032
|
-
title: string | null;
|
|
2033
|
-
scopeId: string | null;
|
|
2034
|
-
externalId: string | null;
|
|
2035
|
-
scopeKind: "agent" | "company" | "project" | "issue" | "goal" | "run" | "instance" | "project_workspace";
|
|
2036
|
-
pluginId: string;
|
|
2037
|
-
entityType: string;
|
|
2038
2038
|
}>;
|
|
2039
2039
|
/**
|
|
2040
2040
|
* Create or update a persistent mapping between a Paperclip object and an
|
|
@@ -2053,7 +2053,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
2053
2053
|
title: string | null;
|
|
2054
2054
|
scopeId: string | null;
|
|
2055
2055
|
externalId: string | null;
|
|
2056
|
-
scopeKind: "agent" | "company" | "project" | "issue" | "
|
|
2056
|
+
scopeKind: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
2057
2057
|
pluginId: string;
|
|
2058
2058
|
entityType: string;
|
|
2059
2059
|
}>;
|
|
@@ -2072,7 +2072,7 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
2072
2072
|
title: string | null;
|
|
2073
2073
|
scopeId: string | null;
|
|
2074
2074
|
externalId: string | null;
|
|
2075
|
-
scopeKind: "agent" | "company" | "project" | "issue" | "
|
|
2075
|
+
scopeKind: "agent" | "company" | "project" | "issue" | "run" | "goal" | "instance" | "project_workspace";
|
|
2076
2076
|
pluginId: string;
|
|
2077
2077
|
entityType: string;
|
|
2078
2078
|
}>;
|
|
@@ -2240,14 +2240,14 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
2240
2240
|
}, {}, {}>;
|
|
2241
2241
|
}, "single", Record<"plugin_jobs", "not-null">, false, "where" | "orderBy", {
|
|
2242
2242
|
id: string;
|
|
2243
|
+
pluginId: string;
|
|
2244
|
+
jobKey: string;
|
|
2245
|
+
schedule: string;
|
|
2243
2246
|
status: "active" | "paused" | "failed";
|
|
2247
|
+
lastRunAt: Date | null;
|
|
2248
|
+
nextRunAt: Date | null;
|
|
2244
2249
|
createdAt: Date;
|
|
2245
2250
|
updatedAt: Date;
|
|
2246
|
-
schedule: string;
|
|
2247
|
-
nextRunAt: Date | null;
|
|
2248
|
-
jobKey: string;
|
|
2249
|
-
pluginId: string;
|
|
2250
|
-
lastRunAt: Date | null;
|
|
2251
2251
|
}[], {
|
|
2252
2252
|
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
2253
2253
|
name: "id";
|
|
@@ -2414,14 +2414,14 @@ export declare function pluginRegistryService(db: Db): {
|
|
|
2414
2414
|
*/
|
|
2415
2415
|
getJobByKey: (pluginId: string, jobKey: string) => Promise<{
|
|
2416
2416
|
id: string;
|
|
2417
|
+
pluginId: string;
|
|
2418
|
+
jobKey: string;
|
|
2419
|
+
schedule: string;
|
|
2417
2420
|
status: "active" | "paused" | "failed";
|
|
2421
|
+
lastRunAt: Date | null;
|
|
2422
|
+
nextRunAt: Date | null;
|
|
2418
2423
|
createdAt: Date;
|
|
2419
2424
|
updatedAt: Date;
|
|
2420
|
-
schedule: string;
|
|
2421
|
-
nextRunAt: Date | null;
|
|
2422
|
-
jobKey: string;
|
|
2423
|
-
pluginId: string;
|
|
2424
|
-
lastRunAt: Date | null;
|
|
2425
2425
|
}>;
|
|
2426
2426
|
/**
|
|
2427
2427
|
* Register or update a scheduled job for a plugin.
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
* @see services/secrets.ts — secretService used by agent env bindings
|
|
34
34
|
*/
|
|
35
35
|
import type { Db } from "@penclipai/db";
|
|
36
|
+
export declare const PLUGIN_SECRET_REFS_DISABLED_MESSAGE = "Plugin secret references are disabled until company-scoped plugin config lands";
|
|
36
37
|
/**
|
|
37
38
|
* Extract secret reference UUIDs from a plugin's configJson, scoped to only
|
|
38
39
|
* the fields annotated with `format: "secret-ref"` in the schema.
|
|
@@ -41,6 +42,7 @@ import type { Db } from "@penclipai/db";
|
|
|
41
42
|
* (backwards-compatible for plugins without a declared instanceConfigSchema).
|
|
42
43
|
*/
|
|
43
44
|
export declare function extractSecretRefsFromConfig(configJson: unknown, schema?: Record<string, unknown> | null): Set<string>;
|
|
45
|
+
export declare function extractSecretRefPathsFromConfig(configJson: unknown, schema?: Record<string, unknown> | null): Map<string, Set<string>>;
|
|
44
46
|
/**
|
|
45
47
|
* Input shape for the `secrets.resolve` handler.
|
|
46
48
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-secrets-handler.d.ts","sourceRoot":"","sources":["../../src/services/plugin-secrets-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"plugin-secrets-handler.d.ts","sourceRoot":"","sources":["../../src/services/plugin-secrets-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAOxC,eAAO,MAAM,mCAAmC,mFACkC,CAAC;AAgBnF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,GAAG,CAAC,MAAM,CAAC,CAEb;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAqC1B;AAMD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,2BAA2B;IAC3B,EAAE,EAAE,EAAE,CAAC;IACP;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AA0CD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAqCtB"}
|
|
@@ -32,28 +32,11 @@
|
|
|
32
32
|
* @see host-client-factory.ts — capability gating
|
|
33
33
|
* @see services/secrets.ts — secretService used by agent env bindings
|
|
34
34
|
*/
|
|
35
|
-
import { eq, and } from "drizzle-orm";
|
|
36
|
-
import { companySecrets, companySecretVersions, pluginConfig } from "@penclipai/db";
|
|
37
|
-
import { getSecretProvider } from "../secrets/provider-registry.js";
|
|
38
|
-
import { pluginRegistryService } from "./plugin-registry.js";
|
|
39
35
|
import { collectSecretRefPaths, isUuidSecretRef, readConfigValueAtPath, } from "./json-schema-secret-refs.js";
|
|
36
|
+
export const PLUGIN_SECRET_REFS_DISABLED_MESSAGE = "Plugin secret references are disabled until company-scoped plugin config lands";
|
|
40
37
|
// ---------------------------------------------------------------------------
|
|
41
38
|
// Error helpers
|
|
42
39
|
// ---------------------------------------------------------------------------
|
|
43
|
-
/**
|
|
44
|
-
* Create a sanitised error that never leaks secret material.
|
|
45
|
-
* Only the ref identifier is included; never the resolved value.
|
|
46
|
-
*/
|
|
47
|
-
function secretNotFound(secretRef) {
|
|
48
|
-
const err = new Error(`Secret not found: ${secretRef}`);
|
|
49
|
-
err.name = "SecretNotFoundError";
|
|
50
|
-
return err;
|
|
51
|
-
}
|
|
52
|
-
function secretVersionNotFound(secretRef) {
|
|
53
|
-
const err = new Error(`No version found for secret: ${secretRef}`);
|
|
54
|
-
err.name = "SecretVersionNotFoundError";
|
|
55
|
-
return err;
|
|
56
|
-
}
|
|
57
40
|
function invalidSecretRef(secretRef) {
|
|
58
41
|
const err = new Error(`Invalid secret reference: ${secretRef}`);
|
|
59
42
|
err.name = "InvalidSecretRefError";
|
|
@@ -70,16 +53,24 @@ function invalidSecretRef(secretRef) {
|
|
|
70
53
|
* (backwards-compatible for plugins without a declared instanceConfigSchema).
|
|
71
54
|
*/
|
|
72
55
|
export function extractSecretRefsFromConfig(configJson, schema) {
|
|
73
|
-
|
|
56
|
+
return new Set(extractSecretRefPathsFromConfig(configJson, schema).keys());
|
|
57
|
+
}
|
|
58
|
+
export function extractSecretRefPathsFromConfig(configJson, schema) {
|
|
59
|
+
const refs = new Map();
|
|
60
|
+
const addRef = (secretRef, path) => {
|
|
61
|
+
const existing = refs.get(secretRef) ?? new Set();
|
|
62
|
+
existing.add(path);
|
|
63
|
+
refs.set(secretRef, existing);
|
|
64
|
+
};
|
|
74
65
|
if (configJson == null || typeof configJson !== "object")
|
|
75
|
-
return
|
|
66
|
+
return new Map();
|
|
76
67
|
const secretPaths = collectSecretRefPaths(schema);
|
|
77
68
|
// If schema declares secret-ref paths, extract only those values.
|
|
78
69
|
if (secretPaths.size > 0) {
|
|
79
70
|
for (const dotPath of secretPaths) {
|
|
80
71
|
const current = readConfigValueAtPath(configJson, dotPath);
|
|
81
72
|
if (typeof current === "string" && isUuidSecretRef(current)) {
|
|
82
|
-
|
|
73
|
+
addRef(current, dotPath);
|
|
83
74
|
}
|
|
84
75
|
}
|
|
85
76
|
return refs;
|
|
@@ -90,7 +81,7 @@ export function extractSecretRefsFromConfig(configJson, schema) {
|
|
|
90
81
|
function walkAll(value) {
|
|
91
82
|
if (typeof value === "string") {
|
|
92
83
|
if (isUuidSecretRef(value))
|
|
93
|
-
|
|
84
|
+
addRef(value, "$");
|
|
94
85
|
}
|
|
95
86
|
else if (Array.isArray(value)) {
|
|
96
87
|
for (const item of value)
|
|
@@ -144,13 +135,9 @@ function createRateLimiter(maxAttempts, windowMs) {
|
|
|
144
135
|
};
|
|
145
136
|
}
|
|
146
137
|
export function createPluginSecretsHandler(options) {
|
|
147
|
-
const {
|
|
148
|
-
const registry = pluginRegistryService(db);
|
|
138
|
+
const { pluginId } = options;
|
|
149
139
|
// Rate limit: max 30 resolution attempts per plugin per minute
|
|
150
140
|
const rateLimiter = createRateLimiter(30, 60_000);
|
|
151
|
-
let cachedAllowedRefs = null;
|
|
152
|
-
let cachedAllowedRefsExpiry = 0;
|
|
153
|
-
const CONFIG_CACHE_TTL_MS = 30_000; // 30 seconds, matches event bus TTL
|
|
154
141
|
return {
|
|
155
142
|
async resolve(params) {
|
|
156
143
|
const { secretRef } = params;
|
|
@@ -172,59 +159,9 @@ export function createPluginSecretsHandler(options) {
|
|
|
172
159
|
if (!isUuidSecretRef(trimmedRef)) {
|
|
173
160
|
throw invalidSecretRef(trimmedRef);
|
|
174
161
|
}
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
const now = Date.now();
|
|
179
|
-
if (!cachedAllowedRefs || now > cachedAllowedRefsExpiry) {
|
|
180
|
-
const [configRow, plugin] = await Promise.all([
|
|
181
|
-
db
|
|
182
|
-
.select()
|
|
183
|
-
.from(pluginConfig)
|
|
184
|
-
.where(eq(pluginConfig.pluginId, pluginId))
|
|
185
|
-
.then((rows) => rows[0] ?? null),
|
|
186
|
-
registry.getById(pluginId),
|
|
187
|
-
]);
|
|
188
|
-
const schema = plugin?.manifestJson
|
|
189
|
-
?.instanceConfigSchema;
|
|
190
|
-
cachedAllowedRefs = extractSecretRefsFromConfig(configRow?.configJson, schema);
|
|
191
|
-
cachedAllowedRefsExpiry = now + CONFIG_CACHE_TTL_MS;
|
|
192
|
-
}
|
|
193
|
-
if (!cachedAllowedRefs.has(trimmedRef)) {
|
|
194
|
-
// Return "not found" to avoid leaking whether the secret exists
|
|
195
|
-
throw secretNotFound(trimmedRef);
|
|
196
|
-
}
|
|
197
|
-
// ---------------------------------------------------------------
|
|
198
|
-
// 2. Look up the secret record by UUID
|
|
199
|
-
// ---------------------------------------------------------------
|
|
200
|
-
const secret = await db
|
|
201
|
-
.select()
|
|
202
|
-
.from(companySecrets)
|
|
203
|
-
.where(eq(companySecrets.id, trimmedRef))
|
|
204
|
-
.then((rows) => rows[0] ?? null);
|
|
205
|
-
if (!secret) {
|
|
206
|
-
throw secretNotFound(trimmedRef);
|
|
207
|
-
}
|
|
208
|
-
// ---------------------------------------------------------------
|
|
209
|
-
// 3. Fetch the latest version's material
|
|
210
|
-
// ---------------------------------------------------------------
|
|
211
|
-
const versionRow = await db
|
|
212
|
-
.select()
|
|
213
|
-
.from(companySecretVersions)
|
|
214
|
-
.where(and(eq(companySecretVersions.secretId, secret.id), eq(companySecretVersions.version, secret.latestVersion)))
|
|
215
|
-
.then((rows) => rows[0] ?? null);
|
|
216
|
-
if (!versionRow) {
|
|
217
|
-
throw secretVersionNotFound(trimmedRef);
|
|
218
|
-
}
|
|
219
|
-
// ---------------------------------------------------------------
|
|
220
|
-
// 4. Resolve through the appropriate secret provider
|
|
221
|
-
// ---------------------------------------------------------------
|
|
222
|
-
const provider = getSecretProvider(secret.provider);
|
|
223
|
-
const resolved = await provider.resolveVersion({
|
|
224
|
-
material: versionRow.material,
|
|
225
|
-
externalRef: secret.externalRef,
|
|
226
|
-
});
|
|
227
|
-
return resolved;
|
|
162
|
+
// Fail closed until plugin config and worker runtime both carry an
|
|
163
|
+
// explicit company scope for secret bindings and resolution.
|
|
164
|
+
throw new Error(PLUGIN_SECRET_REFS_DISABLED_MESSAGE);
|
|
228
165
|
},
|
|
229
166
|
};
|
|
230
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-secrets-handler.js","sourceRoot":"","sources":["../../src/services/plugin-secrets-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"plugin-secrets-handler.js","sourceRoot":"","sources":["../../src/services/plugin-secrets-handler.ts"],"names":[],"mappings":"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"}
|