@paperclipai/server 0.2.6 → 0.3.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/LICENSE +21 -0
- package/dist/adapters/cursor-models.d.ts +13 -0
- package/dist/adapters/cursor-models.d.ts.map +1 -0
- package/dist/adapters/cursor-models.js +148 -0
- package/dist/adapters/cursor-models.js.map +1 -0
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +55 -9
- package/dist/adapters/registry.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +5 -1
- package/dist/app.js.map +1 -1
- package/dist/auth/better-auth.d.ts +2 -1
- package/dist/auth/better-auth.d.ts.map +1 -1
- package/dist/auth/better-auth.js +29 -1
- package/dist/auth/better-auth.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +42 -2
- package/dist/config.js.map +1 -1
- package/dist/home-paths.d.ts +1 -0
- package/dist/home-paths.d.ts.map +1 -1
- package/dist/home-paths.js +3 -0
- package/dist/home-paths.js.map +1 -1
- package/dist/index.js +66 -4
- package/dist/index.js.map +1 -1
- package/dist/middleware/error-handler.d.ts +14 -0
- package/dist/middleware/error-handler.d.ts.map +1 -1
- package/dist/middleware/error-handler.js +19 -4
- package/dist/middleware/error-handler.js.map +1 -1
- package/dist/middleware/logger.d.ts.map +1 -1
- package/dist/middleware/logger.js +52 -3
- package/dist/middleware/logger.js.map +1 -1
- package/dist/realtime/live-events-ws.d.ts +20 -2
- package/dist/realtime/live-events-ws.d.ts.map +1 -1
- package/dist/realtime/live-events-ws.js +3 -1
- package/dist/realtime/live-events-ws.js.map +1 -1
- package/dist/routes/access.d.ts +47 -0
- package/dist/routes/access.d.ts.map +1 -1
- package/dist/routes/access.js +1340 -193
- package/dist/routes/access.js.map +1 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +106 -17
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/companies.d.ts.map +1 -1
- package/dist/routes/companies.js +6 -0
- package/dist/routes/companies.js.map +1 -1
- package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
- package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
- package/dist/routes/issues-checkout-wakeup.js +12 -0
- package/dist/routes/issues-checkout-wakeup.js.map +1 -0
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +122 -15
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/sidebar-badges.d.ts.map +1 -1
- package/dist/routes/sidebar-badges.js +12 -11
- package/dist/routes/sidebar-badges.js.map +1 -1
- package/dist/services/agents.d.ts +13 -1
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/agents.js +65 -5
- package/dist/services/agents.js.map +1 -1
- package/dist/services/approvals.d.ts.map +1 -1
- package/dist/services/approvals.js +14 -1
- package/dist/services/approvals.js.map +1 -1
- package/dist/services/company-portability.d.ts.map +1 -1
- package/dist/services/company-portability.js +16 -4
- package/dist/services/company-portability.js.map +1 -1
- package/dist/services/heartbeat.d.ts +24 -0
- package/dist/services/heartbeat.d.ts.map +1 -1
- package/dist/services/heartbeat.js +152 -9
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/hire-hook.d.ts +14 -0
- package/dist/services/hire-hook.d.ts.map +1 -0
- package/dist/services/hire-hook.js +85 -0
- package/dist/services/hire-hook.js.map +1 -0
- package/dist/services/index.d.ts +2 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/issues.d.ts +37 -0
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.js +199 -2
- package/dist/services/issues.js.map +1 -1
- package/dist/services/projects.d.ts +8 -0
- package/dist/services/projects.d.ts.map +1 -1
- package/dist/services/projects.js +45 -0
- package/dist/services/projects.js.map +1 -1
- package/dist/services/run-log-store.d.ts.map +1 -1
- package/dist/services/run-log-store.js +4 -7
- package/dist/services/run-log-store.js.map +1 -1
- package/dist/services/secrets.d.ts +6 -2
- package/dist/services/secrets.d.ts.map +1 -1
- package/dist/services/secrets.js +9 -5
- package/dist/services/secrets.js.map +1 -1
- package/dist/services/sidebar-badges.d.ts +1 -1
- package/dist/services/sidebar-badges.d.ts.map +1 -1
- package/dist/services/sidebar-badges.js +2 -2
- package/dist/services/sidebar-badges.js.map +1 -1
- package/dist/startup-banner.d.ts +4 -0
- package/dist/startup-banner.d.ts.map +1 -1
- package/dist/startup-banner.js +5 -0
- package/dist/startup-banner.js.map +1 -1
- package/package.json +14 -10
- package/skills/paperclip/SKILL.md +88 -10
- package/skills/paperclip/references/api-reference.md +25 -4
- package/skills/release/SKILL.md +247 -0
- package/skills/release-changelog/SKILL.md +140 -0
- package/ui-dist/assets/_basePickBy-DbPWXwT5.js +1 -0
- package/ui-dist/assets/_baseUniq-1WjFABqv.js +1 -0
- package/ui-dist/assets/arc-DfTyZVA6.js +1 -0
- package/ui-dist/assets/architectureDiagram-VXUJARFQ-XiORuPbc.js +36 -0
- package/ui-dist/assets/blockDiagram-VD42YOAC-BeDrkZ2i.js +122 -0
- package/ui-dist/assets/c4Diagram-YG6GDRKO-BxDixmer.js +10 -0
- package/ui-dist/assets/channel-DAiZB_XR.js +1 -0
- package/ui-dist/assets/chunk-4BX2VUAB-BVfwg_Zf.js +1 -0
- package/ui-dist/assets/chunk-55IACEB6-Cwfy_CY5.js +1 -0
- package/ui-dist/assets/chunk-B4BG7PRW-C0ywKxUe.js +165 -0
- package/ui-dist/assets/chunk-DI55MBZ5-BCWSPoyh.js +220 -0
- package/ui-dist/assets/chunk-FMBD7UC4-COydX_nh.js +15 -0
- package/ui-dist/assets/chunk-QN33PNHL-BDI0jToz.js +1 -0
- package/ui-dist/assets/chunk-QZHKN3VN-DMAiaLy4.js +1 -0
- package/ui-dist/assets/chunk-TZMSLE5B-P8WLF2z_.js +1 -0
- package/ui-dist/assets/classDiagram-2ON5EDUG-BN4OSalh.js +1 -0
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-BN4OSalh.js +1 -0
- package/ui-dist/assets/clone-DKS01RgS.js +1 -0
- package/ui-dist/assets/cose-bilkent-S5V4N54A-CBpbZyL4.js +1 -0
- package/ui-dist/assets/cytoscape.esm-BQaXIfA_.js +331 -0
- package/ui-dist/assets/dagre-6UL2VRFP-ClDa7ZIn.js +4 -0
- package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/ui-dist/assets/diagram-PSM6KHXK-BUwJ_9ps.js +24 -0
- package/ui-dist/assets/diagram-QEK2KX5R-BArWxVPU.js +43 -0
- package/ui-dist/assets/diagram-S2PKOQOG-V__pvm7x.js +24 -0
- package/ui-dist/assets/erDiagram-Q2GNP2WA-7qp9hnrD.js +60 -0
- package/ui-dist/assets/flowDiagram-NV44I4VS-Buz5N2MI.js +162 -0
- package/ui-dist/assets/ganttDiagram-JELNMOA3-CvBsT_Jg.js +267 -0
- package/ui-dist/assets/gitGraphDiagram-V2S2FVAM-y40RBT-R.js +65 -0
- package/ui-dist/assets/graph-BlqaRGoB.js +1 -0
- package/ui-dist/assets/{index-DWQXbuog.js → index-31upBCkg.js} +2 -2
- package/ui-dist/assets/{index-BO1f7tXb.js → index-4hipepqv.js} +1 -1
- package/ui-dist/assets/{index-D6hplTiT.js → index-BWH12Qsc.js} +1 -1
- package/ui-dist/assets/{index-WgytcSxP.js → index-BcAgyj7E.js} +1 -1
- package/ui-dist/assets/{index-DjVA9sNG.js → index-Bm7CHKkq.js} +1 -1
- package/ui-dist/assets/{index-q3FDV08c.js → index-Bso6E5sK.js} +1 -1
- package/ui-dist/assets/{index-Bu_mSzdo.js → index-C5_fgO4k.js} +1 -1
- package/ui-dist/assets/{index-DLOEShXw.js → index-CJxZ7c9f.js} +5 -5
- package/ui-dist/assets/{index-vd8vTg9y.js → index-CQ7k_dk9.js} +1 -1
- package/ui-dist/assets/{index-BEMuI8M5.js → index-CZEu9VZU.js} +1 -1
- package/ui-dist/assets/index-CZNY1bgF.js +900 -0
- package/ui-dist/assets/{index-oqPcx6xl.js → index-CaGtle2b.js} +1 -1
- package/ui-dist/assets/{index-D2ePBvbp.js → index-Ci4iBpQz.js} +2 -2
- package/ui-dist/assets/index-CjsDzyZQ.js +1 -0
- package/ui-dist/assets/{index-DsE_dmbp.js → index-ClIaOgYc.js} +1 -1
- package/ui-dist/assets/{index-DX4_5XJS.js → index-DA-phx7K.js} +1 -1
- package/ui-dist/assets/{index-DYDNDnEW.js → index-DSw71P6w.js} +1 -1
- package/ui-dist/assets/{index-CPMrn6B_.js → index-DTN1NFmB.js} +1 -1
- package/ui-dist/assets/{index-B2dK2ySs.js → index-DVeYee_y.js} +1 -1
- package/ui-dist/assets/{index-CiTr7s1M.js → index-DeLXXFma.js} +1 -1
- package/ui-dist/assets/{index-CGaEmHQp.js → index-Jjjxrd52.js} +1 -1
- package/ui-dist/assets/{index-DZGJY7BE.js → index-Q0zxPI6U.js} +1 -1
- package/ui-dist/assets/index-nfAtmpEH.css +1 -0
- package/ui-dist/assets/{index-Cbiiu7n-.js → index-wxMG6bVa.js} +1 -1
- package/ui-dist/assets/infoDiagram-HS3SLOUP-D9lXBDPr.js +2 -0
- package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
- package/ui-dist/assets/journeyDiagram-XKPGCS4Q-B8D4eslx.js +139 -0
- package/ui-dist/assets/kanban-definition-3W4ZIXB7-BCbSojpf.js +89 -0
- package/ui-dist/assets/katex-O9d3_IXG.js +261 -0
- package/ui-dist/assets/layout-_2TkYRof.js +1 -0
- package/ui-dist/assets/linear-1ckql-8I.js +1 -0
- package/ui-dist/assets/mermaid.core-CslLhNpi.js +256 -0
- package/ui-dist/assets/mindmap-definition-VGOIOE7T-DxXTNXmG.js +68 -0
- package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/ui-dist/assets/pieDiagram-ADFJNKIX-LuB1tJX4.js +30 -0
- package/ui-dist/assets/quadrantDiagram-AYHSOK5B-DNTU1QHl.js +7 -0
- package/ui-dist/assets/requirementDiagram-UZGBJVZJ-BxnlbBoc.js +64 -0
- package/ui-dist/assets/sankeyDiagram-TZEHDZUN-Cgq3OIvx.js +10 -0
- package/ui-dist/assets/sequenceDiagram-WL72ISMW-BJ_IIoIY.js +145 -0
- package/ui-dist/assets/stateDiagram-FKZM4ZOC-DmjpReeN.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-C7H53jO2.js +1 -0
- package/ui-dist/assets/timeline-definition-IT6M3QCI-z4xCIOF2.js +61 -0
- package/ui-dist/assets/treemap-GDKQZRPO-87O0nuC4.js +162 -0
- package/ui-dist/assets/xychartDiagram-PRI3JC2R-m7dxwIOJ.js +7 -0
- package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
- package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
- package/ui-dist/index.html +2 -2
- package/ui-dist/site.webmanifest +15 -4
- package/ui-dist/sw.js +42 -0
- package/ui-dist/assets/index-BGLYk1vA.css +0 -1
- package/ui-dist/assets/index-D-wHRcSa.js +0 -1
- package/ui-dist/assets/index-DkA0X4Hn.js +0 -856
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Paperclip AI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AdapterModel } from "./types.js";
|
|
2
|
+
type CursorModelsCommandResult = {
|
|
3
|
+
status: number | null;
|
|
4
|
+
stdout: string;
|
|
5
|
+
stderr: string;
|
|
6
|
+
hasError: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function parseCursorModelsOutput(stdout: string, stderr: string): AdapterModel[];
|
|
9
|
+
export declare function listCursorModels(): Promise<AdapterModel[]>;
|
|
10
|
+
export declare function resetCursorModelsCacheForTests(): void;
|
|
11
|
+
export declare function setCursorModelsRunnerForTests(runner: (() => CursorModelsCommandResult) | null): void;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=cursor-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-models.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor-models.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,KAAK,yBAAyB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAsDF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAoCtF;AAmCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBhE;AAED,wBAAgB,8BAA8B,SAE7C;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,CAAC,MAAM,yBAAyB,CAAC,GAAG,IAAI,QAE7F"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { models as cursorFallbackModels } from "@paperclipai/adapter-cursor-local";
|
|
3
|
+
const CURSOR_MODELS_TIMEOUT_MS = 5_000;
|
|
4
|
+
const CURSOR_MODELS_CACHE_TTL_MS = 60_000;
|
|
5
|
+
const MAX_BUFFER_BYTES = 512 * 1024;
|
|
6
|
+
let cached = null;
|
|
7
|
+
function dedupeModels(models) {
|
|
8
|
+
const seen = new Set();
|
|
9
|
+
const deduped = [];
|
|
10
|
+
for (const model of models) {
|
|
11
|
+
const id = model.id.trim();
|
|
12
|
+
if (!id || seen.has(id))
|
|
13
|
+
continue;
|
|
14
|
+
seen.add(id);
|
|
15
|
+
deduped.push({ id, label: model.label.trim() || id });
|
|
16
|
+
}
|
|
17
|
+
return deduped;
|
|
18
|
+
}
|
|
19
|
+
function sanitizeModelId(raw) {
|
|
20
|
+
return raw
|
|
21
|
+
.trim()
|
|
22
|
+
.replace(/^["'`]+|["'`]+$/g, "")
|
|
23
|
+
.replace(/\(.*\)\s*$/g, "")
|
|
24
|
+
.trim();
|
|
25
|
+
}
|
|
26
|
+
function isLikelyModelId(raw) {
|
|
27
|
+
const value = sanitizeModelId(raw);
|
|
28
|
+
if (!value)
|
|
29
|
+
return false;
|
|
30
|
+
return /^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(value);
|
|
31
|
+
}
|
|
32
|
+
function pushModelId(target, raw) {
|
|
33
|
+
const id = sanitizeModelId(raw);
|
|
34
|
+
if (!isLikelyModelId(id))
|
|
35
|
+
return;
|
|
36
|
+
target.push({ id, label: id });
|
|
37
|
+
}
|
|
38
|
+
function collectFromJsonValue(value, target) {
|
|
39
|
+
if (typeof value === "string") {
|
|
40
|
+
pushModelId(target, value);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!Array.isArray(value))
|
|
44
|
+
return;
|
|
45
|
+
for (const item of value) {
|
|
46
|
+
if (typeof item === "string") {
|
|
47
|
+
pushModelId(target, item);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (typeof item !== "object" || item === null)
|
|
51
|
+
continue;
|
|
52
|
+
const id = item.id;
|
|
53
|
+
if (typeof id === "string") {
|
|
54
|
+
pushModelId(target, id);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function parseCursorModelsOutput(stdout, stderr) {
|
|
59
|
+
const models = [];
|
|
60
|
+
const combined = `${stdout}\n${stderr}`;
|
|
61
|
+
const trimmedStdout = stdout.trim();
|
|
62
|
+
if (trimmedStdout.startsWith("{") || trimmedStdout.startsWith("[")) {
|
|
63
|
+
try {
|
|
64
|
+
const parsed = JSON.parse(trimmedStdout);
|
|
65
|
+
if (Array.isArray(parsed)) {
|
|
66
|
+
collectFromJsonValue(parsed, models);
|
|
67
|
+
}
|
|
68
|
+
else if (typeof parsed === "object" && parsed !== null) {
|
|
69
|
+
const rec = parsed;
|
|
70
|
+
collectFromJsonValue(rec.models, models);
|
|
71
|
+
collectFromJsonValue(rec.data, models);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Ignore malformed JSON and continue parsing plain text formats.
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (const match of combined.matchAll(/available models?:\s*([^\n]+)/gi)) {
|
|
79
|
+
const list = match[1] ?? "";
|
|
80
|
+
for (const token of list.split(",")) {
|
|
81
|
+
pushModelId(models, token);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
for (const lineRaw of combined.split(/\r?\n/)) {
|
|
85
|
+
const line = lineRaw.trim();
|
|
86
|
+
if (!line)
|
|
87
|
+
continue;
|
|
88
|
+
const bullet = line.replace(/^[-*]\s+/, "").trim();
|
|
89
|
+
if (!bullet || bullet.includes(" "))
|
|
90
|
+
continue;
|
|
91
|
+
pushModelId(models, bullet);
|
|
92
|
+
}
|
|
93
|
+
return dedupeModels(models);
|
|
94
|
+
}
|
|
95
|
+
function mergedWithFallback(models) {
|
|
96
|
+
return dedupeModels([...models, ...cursorFallbackModels]);
|
|
97
|
+
}
|
|
98
|
+
function defaultCursorModelsRunner() {
|
|
99
|
+
const result = spawnSync("agent", ["models"], {
|
|
100
|
+
encoding: "utf8",
|
|
101
|
+
timeout: CURSOR_MODELS_TIMEOUT_MS,
|
|
102
|
+
maxBuffer: MAX_BUFFER_BYTES,
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
status: result.status,
|
|
106
|
+
stdout: typeof result.stdout === "string" ? result.stdout : "",
|
|
107
|
+
stderr: typeof result.stderr === "string" ? result.stderr : "",
|
|
108
|
+
hasError: Boolean(result.error),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
let cursorModelsRunner = defaultCursorModelsRunner;
|
|
112
|
+
function fetchCursorModelsFromCli() {
|
|
113
|
+
const result = cursorModelsRunner();
|
|
114
|
+
const { stdout, stderr } = result;
|
|
115
|
+
if (result.hasError && stdout.trim().length === 0 && stderr.trim().length === 0) {
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
if ((result.status ?? 1) !== 0 && !/available models?:/i.test(`${stdout}\n${stderr}`)) {
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
return parseCursorModelsOutput(stdout, stderr);
|
|
122
|
+
}
|
|
123
|
+
export async function listCursorModels() {
|
|
124
|
+
const now = Date.now();
|
|
125
|
+
if (cached && cached.expiresAt > now) {
|
|
126
|
+
return cached.models;
|
|
127
|
+
}
|
|
128
|
+
const discovered = fetchCursorModelsFromCli();
|
|
129
|
+
if (discovered.length > 0) {
|
|
130
|
+
const merged = mergedWithFallback(discovered);
|
|
131
|
+
cached = {
|
|
132
|
+
expiresAt: now + CURSOR_MODELS_CACHE_TTL_MS,
|
|
133
|
+
models: merged,
|
|
134
|
+
};
|
|
135
|
+
return merged;
|
|
136
|
+
}
|
|
137
|
+
if (cached && cached.models.length > 0) {
|
|
138
|
+
return cached.models;
|
|
139
|
+
}
|
|
140
|
+
return dedupeModels(cursorFallbackModels);
|
|
141
|
+
}
|
|
142
|
+
export function resetCursorModelsCacheForTests() {
|
|
143
|
+
cached = null;
|
|
144
|
+
}
|
|
145
|
+
export function setCursorModelsRunnerForTests(runner) {
|
|
146
|
+
cursorModelsRunner = runner ?? defaultCursorModelsRunner;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=cursor-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-models.js","sourceRoot":"","sources":["../../src/adapters/cursor-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA8HtD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAOlE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAQ9F;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAE1E"}
|
|
@@ -2,9 +2,16 @@ import { execute as claudeExecute, testEnvironment as claudeTestEnvironment, ses
|
|
|
2
2
|
import { agentConfigurationDoc as claudeAgentConfigurationDoc, models as claudeModels } from "@paperclipai/adapter-claude-local";
|
|
3
3
|
import { execute as codexExecute, testEnvironment as codexTestEnvironment, sessionCodec as codexSessionCodec, } from "@paperclipai/adapter-codex-local/server";
|
|
4
4
|
import { agentConfigurationDoc as codexAgentConfigurationDoc, models as codexModels } from "@paperclipai/adapter-codex-local";
|
|
5
|
-
import { execute as
|
|
6
|
-
import { agentConfigurationDoc as
|
|
5
|
+
import { execute as cursorExecute, testEnvironment as cursorTestEnvironment, sessionCodec as cursorSessionCodec, } from "@paperclipai/adapter-cursor-local/server";
|
|
6
|
+
import { agentConfigurationDoc as cursorAgentConfigurationDoc, models as cursorModels } from "@paperclipai/adapter-cursor-local";
|
|
7
|
+
import { execute as openCodeExecute, testEnvironment as openCodeTestEnvironment, sessionCodec as openCodeSessionCodec, listOpenCodeModels, } from "@paperclipai/adapter-opencode-local/server";
|
|
8
|
+
import { agentConfigurationDoc as openCodeAgentConfigurationDoc, } from "@paperclipai/adapter-opencode-local";
|
|
9
|
+
import { execute as openclawGatewayExecute, testEnvironment as openclawGatewayTestEnvironment, } from "@paperclipai/adapter-openclaw-gateway/server";
|
|
10
|
+
import { agentConfigurationDoc as openclawGatewayAgentConfigurationDoc, models as openclawGatewayModels, } from "@paperclipai/adapter-openclaw-gateway";
|
|
7
11
|
import { listCodexModels } from "./codex-models.js";
|
|
12
|
+
import { listCursorModels } from "./cursor-models.js";
|
|
13
|
+
import { execute as piExecute, testEnvironment as piTestEnvironment, sessionCodec as piSessionCodec, listPiModels, } from "@paperclipai/adapter-pi-local/server";
|
|
14
|
+
import { agentConfigurationDoc as piAgentConfigurationDoc, } from "@paperclipai/adapter-pi-local";
|
|
8
15
|
import { processAdapter } from "./process/index.js";
|
|
9
16
|
import { httpAdapter } from "./http/index.js";
|
|
10
17
|
const claudeLocalAdapter = {
|
|
@@ -26,15 +33,54 @@ const codexLocalAdapter = {
|
|
|
26
33
|
supportsLocalAgentJwt: true,
|
|
27
34
|
agentConfigurationDoc: codexAgentConfigurationDoc,
|
|
28
35
|
};
|
|
29
|
-
const
|
|
30
|
-
type: "
|
|
31
|
-
execute:
|
|
32
|
-
testEnvironment:
|
|
33
|
-
|
|
36
|
+
const cursorLocalAdapter = {
|
|
37
|
+
type: "cursor",
|
|
38
|
+
execute: cursorExecute,
|
|
39
|
+
testEnvironment: cursorTestEnvironment,
|
|
40
|
+
sessionCodec: cursorSessionCodec,
|
|
41
|
+
models: cursorModels,
|
|
42
|
+
listModels: listCursorModels,
|
|
43
|
+
supportsLocalAgentJwt: true,
|
|
44
|
+
agentConfigurationDoc: cursorAgentConfigurationDoc,
|
|
45
|
+
};
|
|
46
|
+
const openclawGatewayAdapter = {
|
|
47
|
+
type: "openclaw_gateway",
|
|
48
|
+
execute: openclawGatewayExecute,
|
|
49
|
+
testEnvironment: openclawGatewayTestEnvironment,
|
|
50
|
+
models: openclawGatewayModels,
|
|
34
51
|
supportsLocalAgentJwt: false,
|
|
35
|
-
agentConfigurationDoc:
|
|
52
|
+
agentConfigurationDoc: openclawGatewayAgentConfigurationDoc,
|
|
53
|
+
};
|
|
54
|
+
const openCodeLocalAdapter = {
|
|
55
|
+
type: "opencode_local",
|
|
56
|
+
execute: openCodeExecute,
|
|
57
|
+
testEnvironment: openCodeTestEnvironment,
|
|
58
|
+
sessionCodec: openCodeSessionCodec,
|
|
59
|
+
models: [],
|
|
60
|
+
listModels: listOpenCodeModels,
|
|
61
|
+
supportsLocalAgentJwt: true,
|
|
62
|
+
agentConfigurationDoc: openCodeAgentConfigurationDoc,
|
|
63
|
+
};
|
|
64
|
+
const piLocalAdapter = {
|
|
65
|
+
type: "pi_local",
|
|
66
|
+
execute: piExecute,
|
|
67
|
+
testEnvironment: piTestEnvironment,
|
|
68
|
+
sessionCodec: piSessionCodec,
|
|
69
|
+
models: [],
|
|
70
|
+
listModels: listPiModels,
|
|
71
|
+
supportsLocalAgentJwt: true,
|
|
72
|
+
agentConfigurationDoc: piAgentConfigurationDoc,
|
|
36
73
|
};
|
|
37
|
-
const adaptersByType = new Map([
|
|
74
|
+
const adaptersByType = new Map([
|
|
75
|
+
claudeLocalAdapter,
|
|
76
|
+
codexLocalAdapter,
|
|
77
|
+
openCodeLocalAdapter,
|
|
78
|
+
piLocalAdapter,
|
|
79
|
+
cursorLocalAdapter,
|
|
80
|
+
openclawGatewayAdapter,
|
|
81
|
+
processAdapter,
|
|
82
|
+
httpAdapter,
|
|
83
|
+
].map((a) => [a.type, a]));
|
|
38
84
|
export function getServerAdapter(type) {
|
|
39
85
|
const adapter = adaptersByType.get(type);
|
|
40
86
|
if (!adapter) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,eAAe,IAAI,qBAAqB,EACxC,YAAY,IAAI,kBAAkB,GACnC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,qBAAqB,IAAI,2BAA2B,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjI,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,eAAe,IAAI,oBAAoB,EACvC,YAAY,IAAI,iBAAiB,GAClC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,qBAAqB,IAAI,0BAA0B,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC9H,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,eAAe,IAAI,uBAAuB,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"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"}
|
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,EAAE,MAAM,SAAS,CAAC;AAI1E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoBzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,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,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CACnF,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAU,KAAK,OAAO,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAI1E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoBzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,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,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CACnF,wDAmIF"}
|
package/dist/app.js
CHANGED
|
@@ -88,6 +88,9 @@ export async function createApp(db, opts) {
|
|
|
88
88
|
allowedHostnames: opts.allowedHostnames,
|
|
89
89
|
}));
|
|
90
90
|
app.use("/api", api);
|
|
91
|
+
app.use("/api", (_req, res) => {
|
|
92
|
+
res.status(404).json({ error: "API route not found" });
|
|
93
|
+
});
|
|
91
94
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
92
95
|
if (opts.uiMode === "static") {
|
|
93
96
|
// Try published location first (server/ui-dist/), then monorepo dev location (../../ui/dist)
|
|
@@ -97,9 +100,10 @@ export async function createApp(db, opts) {
|
|
|
97
100
|
];
|
|
98
101
|
const uiDist = candidates.find((p) => fs.existsSync(path.join(p, "index.html")));
|
|
99
102
|
if (uiDist) {
|
|
103
|
+
const indexHtml = fs.readFileSync(path.join(uiDist, "index.html"), "utf-8");
|
|
100
104
|
app.use(express.static(uiDist));
|
|
101
105
|
app.get(/.*/, (_req, res) => {
|
|
102
|
-
res.
|
|
106
|
+
res.status(200).set("Content-Type", "text/html").end(indexHtml);
|
|
103
107
|
});
|
|
104
108
|
}
|
|
105
109
|
else {
|
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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"}
|
|
@@ -15,7 +15,8 @@ export type BetterAuthSessionResult = {
|
|
|
15
15
|
user: BetterAuthSessionUser | null;
|
|
16
16
|
};
|
|
17
17
|
type BetterAuthInstance = ReturnType<typeof betterAuth>;
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function deriveAuthTrustedOrigins(config: Config): string[];
|
|
19
|
+
export declare function createBetterAuthInstance(db: Db, config: Config, trustedOrigins?: string[]): BetterAuthInstance;
|
|
19
20
|
export declare function createBetterAuthHandler(auth: BetterAuthInstance): RequestHandler;
|
|
20
21
|
export declare function resolveBetterAuthSessionFromHeaders(auth: BetterAuthInstance, headers: Headers): Promise<BetterAuthSessionResult | null>;
|
|
21
22
|
export declare function resolveBetterAuthSession(auth: BetterAuthInstance, req: Request): Promise<BetterAuthSessionResult | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../../src/auth/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAO1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAmBxD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../../src/auth/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAO1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAmBxD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBjE;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAkC9G;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAKhF;AAED,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CA0BzC;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAEzC"}
|
package/dist/auth/better-auth.js
CHANGED
|
@@ -19,12 +19,38 @@ function headersFromNodeHeaders(rawHeaders) {
|
|
|
19
19
|
function headersFromExpressRequest(req) {
|
|
20
20
|
return headersFromNodeHeaders(req.headers);
|
|
21
21
|
}
|
|
22
|
-
export function
|
|
22
|
+
export function deriveAuthTrustedOrigins(config) {
|
|
23
|
+
const baseUrl = config.authBaseUrlMode === "explicit" ? config.authPublicBaseUrl : undefined;
|
|
24
|
+
const trustedOrigins = new Set();
|
|
25
|
+
if (baseUrl) {
|
|
26
|
+
try {
|
|
27
|
+
trustedOrigins.add(new URL(baseUrl).origin);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Better Auth will surface invalid base URL separately.
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (config.deploymentMode === "authenticated") {
|
|
34
|
+
for (const hostname of config.allowedHostnames) {
|
|
35
|
+
const trimmed = hostname.trim().toLowerCase();
|
|
36
|
+
if (!trimmed)
|
|
37
|
+
continue;
|
|
38
|
+
trustedOrigins.add(`https://${trimmed}`);
|
|
39
|
+
trustedOrigins.add(`http://${trimmed}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return Array.from(trustedOrigins);
|
|
43
|
+
}
|
|
44
|
+
export function createBetterAuthInstance(db, config, trustedOrigins) {
|
|
23
45
|
const baseUrl = config.authBaseUrlMode === "explicit" ? config.authPublicBaseUrl : undefined;
|
|
24
46
|
const secret = process.env.BETTER_AUTH_SECRET ?? process.env.PAPERCLIP_AGENT_JWT_SECRET ?? "paperclip-dev-secret";
|
|
47
|
+
const effectiveTrustedOrigins = trustedOrigins ?? deriveAuthTrustedOrigins(config);
|
|
48
|
+
const publicUrl = process.env.PAPERCLIP_PUBLIC_URL ?? baseUrl;
|
|
49
|
+
const isHttpOnly = publicUrl ? publicUrl.startsWith("http://") : false;
|
|
25
50
|
const authConfig = {
|
|
26
51
|
baseURL: baseUrl,
|
|
27
52
|
secret,
|
|
53
|
+
trustedOrigins: effectiveTrustedOrigins,
|
|
28
54
|
database: drizzleAdapter(db, {
|
|
29
55
|
provider: "pg",
|
|
30
56
|
schema: {
|
|
@@ -37,7 +63,9 @@ export function createBetterAuthInstance(db, config) {
|
|
|
37
63
|
emailAndPassword: {
|
|
38
64
|
enabled: true,
|
|
39
65
|
requireEmailVerification: false,
|
|
66
|
+
disableSignUp: config.authDisableSignUp,
|
|
40
67
|
},
|
|
68
|
+
...(isHttpOnly ? { advanced: { useSecureCookies: false } } : {}),
|
|
41
69
|
};
|
|
42
70
|
if (!baseUrl) {
|
|
43
71
|
delete authConfig.baseURL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.js","sourceRoot":"","sources":["../../src/auth/better-auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAgBzB,SAAS,sBAAsB,CAAC,UAA+B;IAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,GAAG;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAY;IAC7C,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAM,EAAE,MAAc;
|
|
1
|
+
{"version":3,"file":"better-auth.js","sourceRoot":"","sources":["../../src/auth/better-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -8,10 +8,15 @@ export interface Config {
|
|
|
8
8
|
allowedHostnames: string[];
|
|
9
9
|
authBaseUrlMode: AuthBaseUrlMode;
|
|
10
10
|
authPublicBaseUrl: string | undefined;
|
|
11
|
+
authDisableSignUp: boolean;
|
|
11
12
|
databaseMode: DatabaseMode;
|
|
12
13
|
databaseUrl: string | undefined;
|
|
13
14
|
embeddedPostgresDataDir: string;
|
|
14
15
|
embeddedPostgresPort: number;
|
|
16
|
+
databaseBackupEnabled: boolean;
|
|
17
|
+
databaseBackupIntervalMinutes: number;
|
|
18
|
+
databaseBackupRetentionDays: number;
|
|
19
|
+
databaseBackupDir: string;
|
|
15
20
|
serveUi: boolean;
|
|
16
21
|
uiDevMiddleware: boolean;
|
|
17
22
|
secretsProvider: SecretProvider;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAc7B,KAAK,YAAY,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,MAAM;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,MAAM,CAAC;IACrC,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAqLnC"}
|
package/dist/config.js
CHANGED
|
@@ -3,7 +3,7 @@ import { existsSync } from "node:fs";
|
|
|
3
3
|
import { config as loadDotenv } from "dotenv";
|
|
4
4
|
import { resolvePaperclipEnvPath } from "./paths.js";
|
|
5
5
|
import { AUTH_BASE_URL_MODES, DEPLOYMENT_EXPOSURES, DEPLOYMENT_MODES, SECRET_PROVIDERS, STORAGE_PROVIDERS, } from "@paperclipai/shared";
|
|
6
|
-
import { resolveDefaultEmbeddedPostgresDir, resolveDefaultSecretsKeyFilePath, resolveDefaultStorageDir, resolveHomeAwarePath, } from "./home-paths.js";
|
|
6
|
+
import { resolveDefaultBackupDir, resolveDefaultEmbeddedPostgresDir, resolveDefaultSecretsKeyFilePath, resolveDefaultStorageDir, resolveHomeAwarePath, } from "./home-paths.js";
|
|
7
7
|
const PAPERCLIP_ENV_FILE_PATH = resolvePaperclipEnvPath();
|
|
8
8
|
if (existsSync(PAPERCLIP_ENV_FILE_PATH)) {
|
|
9
9
|
loadDotenv({ path: PAPERCLIP_ENV_FILE_PATH, override: false, quiet: true });
|
|
@@ -14,6 +14,7 @@ export function loadConfig() {
|
|
|
14
14
|
const fileDbUrl = fileDatabaseMode === "postgres"
|
|
15
15
|
? fileConfig?.database.connectionString
|
|
16
16
|
: undefined;
|
|
17
|
+
const fileDatabaseBackup = fileConfig?.database.backup;
|
|
17
18
|
const fileSecrets = fileConfig?.secrets;
|
|
18
19
|
const fileStorage = fileConfig?.storage;
|
|
19
20
|
const strictModeFromEnv = process.env.PAPERCLIP_SECRETS_STRICT_MODE;
|
|
@@ -59,13 +60,20 @@ export function loadConfig() {
|
|
|
59
60
|
AUTH_BASE_URL_MODES.includes(authBaseUrlModeFromEnvRaw)
|
|
60
61
|
? authBaseUrlModeFromEnvRaw
|
|
61
62
|
: null;
|
|
63
|
+
const publicUrlFromEnv = process.env.PAPERCLIP_PUBLIC_URL;
|
|
62
64
|
const authPublicBaseUrlRaw = process.env.PAPERCLIP_AUTH_PUBLIC_BASE_URL ??
|
|
63
65
|
process.env.BETTER_AUTH_URL ??
|
|
66
|
+
process.env.BETTER_AUTH_BASE_URL ??
|
|
67
|
+
publicUrlFromEnv ??
|
|
64
68
|
fileConfig?.auth?.publicBaseUrl;
|
|
65
69
|
const authPublicBaseUrl = authPublicBaseUrlRaw?.trim() || undefined;
|
|
66
70
|
const authBaseUrlMode = authBaseUrlModeFromEnv ??
|
|
67
71
|
fileConfig?.auth?.baseUrlMode ??
|
|
68
72
|
(authPublicBaseUrl ? "explicit" : "auto");
|
|
73
|
+
const disableSignUpFromEnv = process.env.PAPERCLIP_AUTH_DISABLE_SIGN_UP;
|
|
74
|
+
const authDisableSignUp = disableSignUpFromEnv !== undefined
|
|
75
|
+
? disableSignUpFromEnv === "true"
|
|
76
|
+
: (fileConfig?.auth?.disableSignUp ?? false);
|
|
69
77
|
const allowedHostnamesFromEnvRaw = process.env.PAPERCLIP_ALLOWED_HOSTNAMES;
|
|
70
78
|
const allowedHostnamesFromEnv = allowedHostnamesFromEnvRaw
|
|
71
79
|
? allowedHostnamesFromEnvRaw
|
|
@@ -73,11 +81,38 @@ export function loadConfig() {
|
|
|
73
81
|
.map((value) => value.trim().toLowerCase())
|
|
74
82
|
.filter((value) => value.length > 0)
|
|
75
83
|
: null;
|
|
76
|
-
const
|
|
84
|
+
const publicUrlHostname = authPublicBaseUrl
|
|
85
|
+
? (() => {
|
|
86
|
+
try {
|
|
87
|
+
return new URL(authPublicBaseUrl).hostname.trim().toLowerCase();
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
})()
|
|
93
|
+
: null;
|
|
94
|
+
const allowedHostnames = Array.from(new Set([
|
|
95
|
+
...(allowedHostnamesFromEnv ?? fileConfig?.server.allowedHostnames ?? []),
|
|
96
|
+
...(publicUrlHostname ? [publicUrlHostname] : []),
|
|
97
|
+
]
|
|
98
|
+
.map((value) => value.trim().toLowerCase())
|
|
99
|
+
.filter(Boolean)));
|
|
77
100
|
const companyDeletionEnvRaw = process.env.PAPERCLIP_ENABLE_COMPANY_DELETION;
|
|
78
101
|
const companyDeletionEnabled = companyDeletionEnvRaw !== undefined
|
|
79
102
|
? companyDeletionEnvRaw === "true"
|
|
80
103
|
: deploymentMode === "local_trusted";
|
|
104
|
+
const databaseBackupEnabled = process.env.PAPERCLIP_DB_BACKUP_ENABLED !== undefined
|
|
105
|
+
? process.env.PAPERCLIP_DB_BACKUP_ENABLED === "true"
|
|
106
|
+
: (fileDatabaseBackup?.enabled ?? true);
|
|
107
|
+
const databaseBackupIntervalMinutes = Math.max(1, Number(process.env.PAPERCLIP_DB_BACKUP_INTERVAL_MINUTES) ||
|
|
108
|
+
fileDatabaseBackup?.intervalMinutes ||
|
|
109
|
+
60);
|
|
110
|
+
const databaseBackupRetentionDays = Math.max(1, Number(process.env.PAPERCLIP_DB_BACKUP_RETENTION_DAYS) ||
|
|
111
|
+
fileDatabaseBackup?.retentionDays ||
|
|
112
|
+
30);
|
|
113
|
+
const databaseBackupDir = resolveHomeAwarePath(process.env.PAPERCLIP_DB_BACKUP_DIR ??
|
|
114
|
+
fileDatabaseBackup?.dir ??
|
|
115
|
+
resolveDefaultBackupDir());
|
|
81
116
|
return {
|
|
82
117
|
deploymentMode,
|
|
83
118
|
deploymentExposure,
|
|
@@ -86,10 +121,15 @@ export function loadConfig() {
|
|
|
86
121
|
allowedHostnames,
|
|
87
122
|
authBaseUrlMode,
|
|
88
123
|
authPublicBaseUrl,
|
|
124
|
+
authDisableSignUp,
|
|
89
125
|
databaseMode: fileDatabaseMode,
|
|
90
126
|
databaseUrl: process.env.DATABASE_URL ?? fileDbUrl,
|
|
91
127
|
embeddedPostgresDataDir: resolveHomeAwarePath(fileConfig?.database.embeddedPostgresDataDir ?? resolveDefaultEmbeddedPostgresDir()),
|
|
92
128
|
embeddedPostgresPort: fileConfig?.database.embeddedPostgresPort ?? 54329,
|
|
129
|
+
databaseBackupEnabled,
|
|
130
|
+
databaseBackupIntervalMinutes,
|
|
131
|
+
databaseBackupRetentionDays,
|
|
132
|
+
databaseBackupDir,
|
|
93
133
|
serveUi: process.env.SERVE_UI !== undefined
|
|
94
134
|
? process.env.SERVE_UI === "true"
|
|
95
135
|
: fileConfig?.server.serveUi ?? true,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;AAC1D,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/home-paths.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare function resolveDefaultEmbeddedPostgresDir(): string;
|
|
|
6
6
|
export declare function resolveDefaultLogsDir(): string;
|
|
7
7
|
export declare function resolveDefaultSecretsKeyFilePath(): string;
|
|
8
8
|
export declare function resolveDefaultStorageDir(): string;
|
|
9
|
+
export declare function resolveDefaultBackupDir(): string;
|
|
9
10
|
export declare function resolveDefaultAgentWorkspaceDir(agentId: string): string;
|
|
10
11
|
export declare function resolveHomeAwarePath(value: string): string;
|
|
11
12
|
//# sourceMappingURL=home-paths.d.ts.map
|
package/dist/home-paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-paths.d.ts","sourceRoot":"","sources":["../src/home-paths.ts"],"names":[],"mappings":"AAaA,wBAAgB,uBAAuB,IAAI,MAAM,CAIhD;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAMnD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
1
|
+
{"version":3,"file":"home-paths.d.ts","sourceRoot":"","sources":["../src/home-paths.ts"],"names":[],"mappings":"AAaA,wBAAgB,uBAAuB,IAAI,MAAM,CAIhD;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAMnD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
package/dist/home-paths.js
CHANGED
|
@@ -41,6 +41,9 @@ export function resolveDefaultSecretsKeyFilePath() {
|
|
|
41
41
|
export function resolveDefaultStorageDir() {
|
|
42
42
|
return path.resolve(resolvePaperclipInstanceRoot(), "data", "storage");
|
|
43
43
|
}
|
|
44
|
+
export function resolveDefaultBackupDir() {
|
|
45
|
+
return path.resolve(resolvePaperclipInstanceRoot(), "data", "backups");
|
|
46
|
+
}
|
|
44
47
|
export function resolveDefaultAgentWorkspaceDir(agentId) {
|
|
45
48
|
const trimmed = agentId.trim();
|
|
46
49
|
if (!PATH_SEGMENT_RE.test(trimmed)) {
|