@unbrained/pm-web 2026.7.11 → 2026.7.13
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/CHANGELOG.md +13 -0
- package/README.md +26 -0
- package/dist/app.d.ts +1 -0
- package/dist/app.js +38 -2
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts +2 -1
- package/dist/auth.js +10 -0
- package/dist/auth.js.map +1 -1
- package/dist/db.js +17 -1
- package/dist/db.js.map +1 -1
- package/dist/ical.js.map +1 -1
- package/dist/index.d.ts +1 -22
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/oidc.d.ts +89 -0
- package/dist/oidc.js +305 -0
- package/dist/oidc.js.map +1 -0
- package/dist/routes/auth.js +3 -15
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/github.js +3 -3
- package/dist/routes/github.js.map +1 -1
- package/dist/routes/oidc.d.ts +4 -0
- package/dist/routes/oidc.js +147 -0
- package/dist/routes/oidc.js.map +1 -0
- package/dist/routes/pm.js +121 -107
- package/dist/routes/pm.js.map +1 -1
- package/dist/routes/projects.js +9 -2
- package/dist/routes/projects.js.map +1 -1
- package/dist/server.js +7 -2
- package/dist/server.js.map +1 -1
- package/dist/services/pm-runner.d.ts +11 -3
- package/dist/services/pm-runner.js +167 -54
- package/dist/services/pm-runner.js.map +1 -1
- package/dist/services/realtime-bus.d.ts +1 -0
- package/dist/services/realtime-bus.js +148 -0
- package/dist/services/realtime-bus.js.map +1 -0
- package/dist/services/sse.d.ts +3 -1
- package/dist/services/sse.js +83 -48
- package/dist/services/sse.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +11 -11
- package/public/cookie-consent.js +54 -39
- package/public/cookie-settings.html +7 -7
- package/public/index.html +2 -0
- package/public/legal-notice.html +10 -12
- package/public/privacy-policy.html +14 -24
- package/public/src/app.js +4 -4
- package/public/src/app.js.map +1 -1
- package/public/src/app.ts +4 -4
- package/public/src/components/toast.js.map +1 -1
- package/public/src/cookie-consent.ts +68 -0
- package/public/src/sw.ts +443 -0
- package/public/src/views/auth.js +22 -0
- package/public/src/views/auth.js.map +1 -1
- package/public/src/views/auth.ts +20 -0
- package/public/src/views/graph.js.map +1 -1
- package/public/styles.css +2 -0
- package/public/sw.js +320 -256
- package/public/terms.html +7 -9
- package/public/tsconfig.json +1 -1
- package/public/tsconfig.scripts.json +18 -0
- package/public/tsconfig.sw.json +18 -0
- package/sql/schema.sql +16 -0
package/public/terms.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="
|
|
2
|
+
<html lang="en" data-theme="auto" data-package-legal-template>
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
@@ -11,15 +11,13 @@
|
|
|
11
11
|
<body class="legal-shell">
|
|
12
12
|
<nav class="legal-nav"><a class="legal-brand" href="/">pm-web</a><div class="legal-links"><a href="/legal-notice">Legal Notice</a><a href="/privacy-policy">Privacy Policy</a><a href="/cookie-settings">Cookies</a></div></nav>
|
|
13
13
|
<main class="legal-main">
|
|
14
|
-
<p class="legal-kicker">
|
|
14
|
+
<p class="legal-kicker">Operator template — not service terms</p>
|
|
15
15
|
<h1>Terms</h1>
|
|
16
|
-
<p class="legal-updated">
|
|
17
|
-
<section class="legal-section"><h2>
|
|
18
|
-
<section class="legal-section"><h2>
|
|
19
|
-
<section class="legal-section"><h2>
|
|
20
|
-
<section class="legal-section"><h2>
|
|
21
|
-
<section class="legal-section"><h2>Haftung</h2><p>Eine Haftung besteht nur nach den gesetzlichen Bestimmungen. Fuer leichte Fahrlaessigkeit wird, soweit rechtlich zulaessig, nur bei Verletzung wesentlicher Vertragspflichten gehaftet.</p></section>
|
|
22
|
-
<section class="legal-section"><h2>Kontakt</h2><p>Fragen zu diesen Bedingungen bitte an <a href="mailto:stefan@preu.at">stefan@preu.at</a>.</p></section>
|
|
16
|
+
<p class="legal-updated">The package maintainer does not operate your deployment.</p>
|
|
17
|
+
<section class="legal-section"><h2>Operator action required</h2><p>Replace this placeholder with reviewed terms appropriate to the actual service, users, jurisdiction, and commercial model.</p></section>
|
|
18
|
+
<section class="legal-section"><h2>Topics to address</h2><p>Define eligibility, account security, acceptable use, user content, collaboration, service changes, availability, termination, support, fees, warranties, liability, dispute handling, governing law, and a monitored contact channel.</p></section>
|
|
19
|
+
<section class="legal-section"><h2>Open-source software</h2><p>The pm-web source-code license governs use of the software itself. It does not create terms between an independent deployment operator and that operator's users.</p></section>
|
|
20
|
+
<section class="legal-section"><h2>Private overlay</h2><p>Provide all reviewed legal pages through <code>PM_WEB_LEGAL_DIR</code>. Never commit deployment agreements or user data to the public package repository.</p></section>
|
|
23
21
|
</main>
|
|
24
22
|
<div class="cookie-consent" id="cookie-consent" hidden><div class="cookie-consent-text"><strong>Cookie Settings</strong><span>We only use technically necessary storage for sign-in, security, and preferences. No optional tracking cookies.</span></div><div class="cookie-consent-actions"><a href="/privacy-policy">Privacy Policy</a><button type="button" class="btn btn-secondary btn-sm" data-cookie-decline>Necessary only</button><button type="button" class="btn btn-primary btn-sm" data-cookie-accept>Got it</button></div></div>
|
|
25
23
|
<script src="/cookie-consent.js?v=1"></script>
|
package/public/tsconfig.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleDetection": "legacy",
|
|
6
|
+
"outDir": ".",
|
|
7
|
+
"rootDir": "src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"declaration": false,
|
|
13
|
+
"sourceMap": false,
|
|
14
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"]
|
|
15
|
+
},
|
|
16
|
+
"include": ["src/cookie-consent.ts"],
|
|
17
|
+
"exclude": ["node_modules"]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"outDir": ".",
|
|
7
|
+
"rootDir": "src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"declaration": false,
|
|
13
|
+
"sourceMap": false,
|
|
14
|
+
"lib": ["ES2022", "WebWorker"]
|
|
15
|
+
},
|
|
16
|
+
"include": ["src/sw.ts"],
|
|
17
|
+
"exclude": ["node_modules"]
|
|
18
|
+
}
|
package/sql/schema.sql
CHANGED
|
@@ -9,6 +9,22 @@ CREATE TABLE IF NOT EXISTS pm_users (
|
|
|
9
9
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
10
10
|
);
|
|
11
11
|
|
|
12
|
+
-- Stable mapping from an external OIDC subject to a local pm user. Provider
|
|
13
|
+
-- access tokens are never stored here; issuer + subject are the identity key.
|
|
14
|
+
CREATE TABLE IF NOT EXISTS pm_external_identities (
|
|
15
|
+
issuer TEXT NOT NULL,
|
|
16
|
+
subject TEXT NOT NULL,
|
|
17
|
+
user_id UUID NOT NULL REFERENCES pm_users(id) ON DELETE CASCADE,
|
|
18
|
+
email TEXT,
|
|
19
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
20
|
+
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
21
|
+
PRIMARY KEY(issuer, subject),
|
|
22
|
+
UNIQUE(issuer, user_id)
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
CREATE INDEX IF NOT EXISTS pm_external_identities_user_id
|
|
26
|
+
ON pm_external_identities(user_id);
|
|
27
|
+
|
|
12
28
|
CREATE TABLE IF NOT EXISTS pm_projects (
|
|
13
29
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
14
30
|
user_id UUID NOT NULL REFERENCES pm_users(id) ON DELETE CASCADE,
|