@portel/photon 1.26.0 → 1.27.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/auto-ui/beam/routes/api-daemon.d.ts +1 -0
- package/dist/auto-ui/beam/routes/api-daemon.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-daemon.js +35 -1
- package/dist/auto-ui/beam/routes/api-daemon.js.map +1 -1
- package/dist/beam-form.bundle.js +41 -1
- package/dist/beam-form.bundle.js.map +2 -2
- package/dist/beam.bundle.js +1661 -252
- package/dist/beam.bundle.js.map +4 -4
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +157 -0
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/daemon/client.d.ts +1 -0
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +110 -23
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/in-process-bridge.d.ts +29 -0
- package/dist/daemon/in-process-bridge.d.ts.map +1 -0
- package/dist/daemon/in-process-bridge.js +26 -0
- package/dist/daemon/in-process-bridge.js.map +1 -0
- package/dist/daemon/manager.d.ts +103 -1
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +313 -92
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/protocol.d.ts +1 -1
- package/dist/daemon/protocol.d.ts.map +1 -1
- package/dist/daemon/protocol.js +1 -0
- package/dist/daemon/protocol.js.map +1 -1
- package/dist/daemon/server.js +832 -37
- package/dist/daemon/server.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +11 -0
- package/dist/loader.js.map +1 -1
- package/package.json +1 -1
- package/templates/cloudflare/worker.ts.template +94 -22
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* POST /api/daemon/schedules/disable – body: { photon, method }
|
|
12
12
|
* POST /api/daemon/schedules/pause – body: { photon, method }
|
|
13
13
|
* POST /api/daemon/schedules/resume – body: { photon, method }
|
|
14
|
+
* POST /api/daemon/schedules/add – body: { photon, method, cron } (manual schedule, no @scheduled tag required)
|
|
14
15
|
* GET /api/daemon/history?photon=&method=&limit=&sinceTs=
|
|
15
16
|
*/
|
|
16
17
|
import type { RouteHandler } from '../types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-daemon.d.ts","sourceRoot":"","sources":["../../../../src/auto-ui/beam/routes/api-daemon.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-daemon.d.ts","sourceRoot":"","sources":["../../../../src/auto-ui/beam/routes/api-daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA2BhD,eAAO,MAAM,kBAAkB,EAAE,YA0GhC,CAAC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* POST /api/daemon/schedules/disable – body: { photon, method }
|
|
12
12
|
* POST /api/daemon/schedules/pause – body: { photon, method }
|
|
13
13
|
* POST /api/daemon/schedules/resume – body: { photon, method }
|
|
14
|
+
* POST /api/daemon/schedules/add – body: { photon, method, cron } (manual schedule, no @scheduled tag required)
|
|
14
15
|
* GET /api/daemon/history?photon=&method=&limit=&sinceTs=
|
|
15
16
|
*/
|
|
16
17
|
import { readBody } from '../../../shared/security.js';
|
|
@@ -82,10 +83,43 @@ export const handleDaemonRoutes = async (req, res, url) => {
|
|
|
82
83
|
}
|
|
83
84
|
if (url.pathname.startsWith('/api/daemon/schedules/') && (req.method === 'POST' || !req.method)) {
|
|
84
85
|
const action = url.pathname.slice('/api/daemon/schedules/'.length);
|
|
85
|
-
if (!['enable', 'disable', 'pause', 'resume'].includes(action)) {
|
|
86
|
+
if (!['enable', 'disable', 'pause', 'resume', 'add'].includes(action)) {
|
|
86
87
|
writeJson(res, 404, { error: `Unknown schedule action "${action}"` });
|
|
87
88
|
return true;
|
|
88
89
|
}
|
|
90
|
+
if (action === 'add') {
|
|
91
|
+
const raw = await readBody(req);
|
|
92
|
+
let parsed;
|
|
93
|
+
try {
|
|
94
|
+
parsed = raw ? JSON.parse(raw) : {};
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
writeJson(res, 400, { error: 'Invalid JSON body' });
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
const body = parsed;
|
|
101
|
+
if (typeof body.photon !== 'string' || !body.photon.trim()) {
|
|
102
|
+
writeJson(res, 400, { error: 'Missing or invalid "photon"' });
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
if (typeof body.method !== 'string' || !body.method.trim()) {
|
|
106
|
+
writeJson(res, 400, { error: 'Missing or invalid "method"' });
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (typeof body.cron !== 'string' || !body.cron.trim()) {
|
|
110
|
+
writeJson(res, 400, { error: 'Missing or invalid "cron"' });
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
const client = await import('../../../daemon/client.js');
|
|
115
|
+
const result = await client.addManualSchedule(body.photon, body.method, body.cron);
|
|
116
|
+
writeJson(res, 200, { ok: true, result });
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
writeJson(res, 500, { error: getErrorMessage(err) });
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
89
123
|
const parsed = await readAction(req);
|
|
90
124
|
if ('error' in parsed) {
|
|
91
125
|
writeJson(res, 400, { error: parsed.error });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-daemon.js","sourceRoot":"","sources":["../../../../src/auto-ui/beam/routes/api-daemon.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-daemon.js","sourceRoot":"","sources":["../../../../src/auto-ui/beam/routes/api-daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/beam-form.bundle.js
CHANGED
|
@@ -1815,6 +1815,21 @@ function formatLabel(name) {
|
|
|
1815
1815
|
spaced = spaced.replace(/[_-]+/g, " ");
|
|
1816
1816
|
let result = spaced.split(/\s+/).map((word) => {
|
|
1817
1817
|
if (!word) return "";
|
|
1818
|
+
const lower = word.toLowerCase();
|
|
1819
|
+
const mixedCase = {
|
|
1820
|
+
oauth: "OAuth",
|
|
1821
|
+
whatsapp: "WhatsApp",
|
|
1822
|
+
github: "GitHub",
|
|
1823
|
+
gitlab: "GitLab",
|
|
1824
|
+
bitbucket: "Bitbucket",
|
|
1825
|
+
macos: "macOS",
|
|
1826
|
+
ios: "iOS",
|
|
1827
|
+
ipad: "iPad",
|
|
1828
|
+
iphone: "iPhone",
|
|
1829
|
+
npm: "npm",
|
|
1830
|
+
npx: "npx"
|
|
1831
|
+
};
|
|
1832
|
+
if (lower in mixedCase) return mixedCase[lower];
|
|
1818
1833
|
const upper = word.toUpperCase();
|
|
1819
1834
|
if ([
|
|
1820
1835
|
"AI",
|
|
@@ -1843,7 +1858,32 @@ function formatLabel(name) {
|
|
|
1843
1858
|
"OS",
|
|
1844
1859
|
"DB",
|
|
1845
1860
|
"IO",
|
|
1846
|
-
"GIT"
|
|
1861
|
+
"GIT",
|
|
1862
|
+
"CPU",
|
|
1863
|
+
"GPU",
|
|
1864
|
+
"RAM",
|
|
1865
|
+
"RPC",
|
|
1866
|
+
"TCP",
|
|
1867
|
+
"UDP",
|
|
1868
|
+
"DNS",
|
|
1869
|
+
"JWT",
|
|
1870
|
+
"TLS",
|
|
1871
|
+
"SSL",
|
|
1872
|
+
"CDN",
|
|
1873
|
+
"SVG",
|
|
1874
|
+
"PNG",
|
|
1875
|
+
"JPG",
|
|
1876
|
+
"PDF",
|
|
1877
|
+
"YAML",
|
|
1878
|
+
"TOML",
|
|
1879
|
+
"CSV",
|
|
1880
|
+
"TSV",
|
|
1881
|
+
"UUID",
|
|
1882
|
+
"CRUD",
|
|
1883
|
+
"REST",
|
|
1884
|
+
"GRPC",
|
|
1885
|
+
"MIME",
|
|
1886
|
+
"PATH"
|
|
1847
1887
|
].includes(upper)) {
|
|
1848
1888
|
if (upper === "IDS") return "IDs";
|
|
1849
1889
|
return upper;
|