@knpkv/herdr-approvals 0.2.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/README.md +22 -0
- package/dist/activity-history.d.ts +36 -0
- package/dist/activity-history.d.ts.map +1 -0
- package/dist/activity-history.js +233 -0
- package/dist/activity-history.js.map +1 -0
- package/dist/approval-app-view.d.ts +26 -0
- package/dist/approval-app-view.d.ts.map +1 -0
- package/dist/approval-app-view.js +79 -0
- package/dist/approval-app-view.js.map +1 -0
- package/dist/approval-client.d.ts +2 -0
- package/dist/approval-client.d.ts.map +1 -0
- package/dist/approval-client.js +520 -0
- package/dist/approval-client.js.map +1 -0
- package/dist/approval-sw.js +28 -0
- package/dist/approval-sw.js.map +7 -0
- package/dist/approval-url.d.ts +37 -0
- package/dist/approval-url.d.ts.map +1 -0
- package/dist/approval-url.js +37 -0
- package/dist/approval-url.js.map +1 -0
- package/dist/approval.js +188 -0
- package/dist/approval.js.map +7 -0
- package/dist/auth.d.ts +10 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +14 -0
- package/dist/auth.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +47 -0
- package/dist/bin.js.map +1 -0
- package/dist/connect-entry.d.ts +2 -0
- package/dist/connect-entry.d.ts.map +1 -0
- package/dist/connect-entry.js +2 -0
- package/dist/connect-entry.js.map +1 -0
- package/dist/connect.js +188 -0
- package/dist/connect.js.map +7 -0
- package/dist/dashboard-model.d.ts +719 -0
- package/dist/dashboard-model.d.ts.map +1 -0
- package/dist/dashboard-model.js +83 -0
- package/dist/dashboard-model.js.map +1 -0
- package/dist/dashboard-view.d.ts +42 -0
- package/dist/dashboard-view.d.ts.map +1 -0
- package/dist/dashboard-view.js +194 -0
- package/dist/dashboard-view.js.map +1 -0
- package/dist/errors.d.ts +33 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +12 -0
- package/dist/errors.js.map +1 -0
- package/dist/fleetctl-submission.d.ts +68 -0
- package/dist/fleetctl-submission.d.ts.map +1 -0
- package/dist/fleetctl-submission.js +31 -0
- package/dist/fleetctl-submission.js.map +1 -0
- package/dist/fleetctl.d.ts +22 -0
- package/dist/fleetctl.d.ts.map +1 -0
- package/dist/fleetctl.js +264 -0
- package/dist/fleetctl.js.map +1 -0
- package/dist/geist-latin-wght-normal.woff2 +0 -0
- package/dist/geist-mono-latin-wght-normal.woff2 +0 -0
- package/dist/http.d.ts +1512 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +1653 -0
- package/dist/http.js.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +7 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/config-path.d.ts +3 -0
- package/dist/internal/config-path.d.ts.map +1 -0
- package/dist/internal/config-path.js +3 -0
- package/dist/internal/config-path.js.map +1 -0
- package/dist/internal/dashboard-pending-state.d.ts +49 -0
- package/dist/internal/dashboard-pending-state.d.ts.map +1 -0
- package/dist/internal/dashboard-pending-state.js +98 -0
- package/dist/internal/dashboard-pending-state.js.map +1 -0
- package/dist/internal/fleet-follow.d.ts +54 -0
- package/dist/internal/fleet-follow.d.ts.map +1 -0
- package/dist/internal/fleet-follow.js +10 -0
- package/dist/internal/fleet-follow.js.map +1 -0
- package/dist/internal/fleet-request.d.ts +4 -0
- package/dist/internal/fleet-request.d.ts.map +1 -0
- package/dist/internal/fleet-request.js +11 -0
- package/dist/internal/fleet-request.js.map +1 -0
- package/dist/internal/html.d.ts +3 -0
- package/dist/internal/html.d.ts.map +1 -0
- package/dist/internal/html.js +8 -0
- package/dist/internal/html.js.map +1 -0
- package/dist/internal/websocket.d.ts +4 -0
- package/dist/internal/websocket.d.ts.map +1 -0
- package/dist/internal/websocket.js +12 -0
- package/dist/internal/websocket.js.map +1 -0
- package/dist/model.d.ts +40 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +53 -0
- package/dist/model.js.map +1 -0
- package/dist/operations.d.ts +72 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +284 -0
- package/dist/operations.js.map +1 -0
- package/dist/push-policy.d.ts +3 -0
- package/dist/push-policy.d.ts.map +1 -0
- package/dist/push-policy.js +3 -0
- package/dist/push-policy.js.map +1 -0
- package/dist/push-sender.d.ts +18 -0
- package/dist/push-sender.d.ts.map +1 -0
- package/dist/push-sender.js +33 -0
- package/dist/push-sender.js.map +1 -0
- package/dist/push-subscription.d.ts +17 -0
- package/dist/push-subscription.d.ts.map +1 -0
- package/dist/push-subscription.js +62 -0
- package/dist/push-subscription.js.map +1 -0
- package/dist/push-worker.d.ts +20 -0
- package/dist/push-worker.d.ts.map +1 -0
- package/dist/push-worker.js +32 -0
- package/dist/push-worker.js.map +1 -0
- package/dist/pwa.d.ts +39 -0
- package/dist/pwa.d.ts.map +1 -0
- package/dist/pwa.js +51 -0
- package/dist/pwa.js.map +1 -0
- package/dist/shell-view.d.ts +20 -0
- package/dist/shell-view.d.ts.map +1 -0
- package/dist/shell-view.js +86 -0
- package/dist/shell-view.js.map +1 -0
- package/dist/store.d.ts +46 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +291 -0
- package/dist/store.js.map +1 -0
- package/dist/work-checkpoint.d.ts +107 -0
- package/dist/work-checkpoint.d.ts.map +1 -0
- package/dist/work-checkpoint.js +37 -0
- package/dist/work-checkpoint.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-checkpoint.d.ts","sourceRoot":"","sources":["../src/work-checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAA;AAEjF,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEvC,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAC1C,eAAO,MAAM,kBAAkB,yBAAyB,CAAA;AAExD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAkBjC,CAAA;AAkBF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAK5B,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAK1B,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FleetValidationError } from "@knpkv/herdr-fleet";
|
|
2
|
+
import { WorkGoalCheckpoint } from "@knpkv/herdr-work/model";
|
|
3
|
+
import { Effect, Schema } from "effect";
|
|
4
|
+
export const workSnapshotPath = "/v1/work";
|
|
5
|
+
export const workCheckpointPath = "/v1/work/checkpoints";
|
|
6
|
+
export const workCheckpointFromJson = Effect.fn("Fleetctl.workCheckpointFromJson")(function* (text) {
|
|
7
|
+
const input = yield* Effect.try({
|
|
8
|
+
try: () => JSON.parse(text),
|
|
9
|
+
catch: (cause) => new FleetValidationError({
|
|
10
|
+
detail: `invalid work checkpoint JSON: ${String(cause)}`
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
return yield* Schema.decodeUnknownEffect(WorkGoalCheckpoint, {
|
|
14
|
+
onExcessProperty: "error"
|
|
15
|
+
})(input).pipe(Effect.mapError((cause) => new FleetValidationError({
|
|
16
|
+
detail: `invalid work checkpoint: ${String(cause)}`
|
|
17
|
+
})));
|
|
18
|
+
});
|
|
19
|
+
const workLocalBaseUrl = Effect.fn("Fleetctl.workLocalBaseUrl")(function* (config, target) {
|
|
20
|
+
const known = config.machines.find(({ host }) => host.toLowerCase() === target.toLowerCase());
|
|
21
|
+
if (known === undefined) {
|
|
22
|
+
return yield* new FleetValidationError({ detail: `unknown host: ${target}` });
|
|
23
|
+
}
|
|
24
|
+
if (known.host.toLowerCase() !== config.host.toLowerCase()) {
|
|
25
|
+
return yield* new FleetValidationError({
|
|
26
|
+
detail: "work commands can only target the local host"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return `http://127.0.0.1:${config.localPort}`;
|
|
30
|
+
});
|
|
31
|
+
export const workCheckpointUrl = Effect.fn("Fleetctl.workCheckpointUrl")(function* (config, target) {
|
|
32
|
+
return `${yield* workLocalBaseUrl(config, target)}${workCheckpointPath}`;
|
|
33
|
+
});
|
|
34
|
+
export const workSnapshotUrl = Effect.fn("Fleetctl.workSnapshotUrl")(function* (config, target) {
|
|
35
|
+
return `${yield* workLocalBaseUrl(config, target)}${workSnapshotPath}`;
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=work-checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-checkpoint.js","sourceRoot":"","sources":["../src/work-checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,EAAC,IAAY;IACvG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC9B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,oBAAoB,CAAC;YACvB,MAAM,EAAE,iCAAiC,MAAM,CAAC,KAAK,CAAC,EAAE;SACzD,CAAC;KACL,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;QAC3D,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CACZ,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,oBAAoB,CAAC;QACvB,MAAM,EAAE,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE;KACpD,CAAC,CACL,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EACvE,MAAyB,EACzB,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,iBAAiB,MAAM,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC;YACrC,MAAM,EAAE,8CAA8C;SACvD,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,oBAAoB,MAAM,CAAC,SAAS,EAAE,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAChF,MAAyB,EACzB,MAAc;IAEd,OAAO,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAC5E,MAAyB,EACzB,MAAc;IAEd,OAAO,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAA;AACxE,CAAC,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@knpkv/herdr-approvals",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Authenticated fleet approvals, PWA, coordinator, and hostd runtime",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "knpkv",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/knpkv/npm.git",
|
|
10
|
+
"directory": "packages/herdr-approvals"
|
|
11
|
+
},
|
|
12
|
+
"type": "module",
|
|
13
|
+
"sideEffects": [
|
|
14
|
+
"*.css",
|
|
15
|
+
"**/*.css",
|
|
16
|
+
"./dist/bin.js",
|
|
17
|
+
"./dist/fleetctl.js"
|
|
18
|
+
],
|
|
19
|
+
"bin": {
|
|
20
|
+
"hostd": "./dist/bin.js",
|
|
21
|
+
"fleetctl": "./dist/fleetctl.js"
|
|
22
|
+
},
|
|
23
|
+
"main": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./fleetctl": {
|
|
31
|
+
"types": "./dist/fleetctl.d.ts",
|
|
32
|
+
"import": "./dist/fleetctl.js"
|
|
33
|
+
},
|
|
34
|
+
"./hostd": {
|
|
35
|
+
"types": "./dist/bin.d.ts",
|
|
36
|
+
"import": "./dist/bin.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist",
|
|
41
|
+
"README.md"
|
|
42
|
+
],
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=26"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@effect/atom-react": "4.0.0-rc.109",
|
|
51
|
+
"@effect/platform-browser": "4.0.0-rc.109",
|
|
52
|
+
"@effect/platform-node": "4.0.0-rc.109",
|
|
53
|
+
"effect": "4.0.0-rc.109",
|
|
54
|
+
"web-push": "3.6.7",
|
|
55
|
+
"ws": "8.21.3",
|
|
56
|
+
"@knpkv/herdr-connect": "^0.2.0",
|
|
57
|
+
"@knpkv/herdr-coordinator": "^0.2.0",
|
|
58
|
+
"@knpkv/herdr-fleet": "^0.2.0",
|
|
59
|
+
"@knpkv/herdr-tailscale": "^0.2.0",
|
|
60
|
+
"@knpkv/herdr-work": "^0.2.0",
|
|
61
|
+
"@knpkv/rly": "^0.4.1"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@effect/vitest": "4.0.0-rc.109",
|
|
65
|
+
"@types/node": "^26.2.0",
|
|
66
|
+
"@types/react": "^19.2.18",
|
|
67
|
+
"@types/react-dom": "^19.2.4",
|
|
68
|
+
"@types/web-push": "3.6.4",
|
|
69
|
+
"@types/ws": "8.18.1",
|
|
70
|
+
"esbuild": "0.28.2",
|
|
71
|
+
"react": "^19.2.8",
|
|
72
|
+
"react-dom": "^19.2.8",
|
|
73
|
+
"rimraf": "^6.1.3",
|
|
74
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
75
|
+
"vitest": "^4.1.10"
|
|
76
|
+
},
|
|
77
|
+
"peerDependencies": {
|
|
78
|
+
"react": "^19.2.8",
|
|
79
|
+
"react-dom": "^19.2.8"
|
|
80
|
+
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"build": "rimraf dist && tsc -b --force && node scripts/build-assets.mjs",
|
|
83
|
+
"check": "tsc -b tsconfig.json && tsc -p tsconfig.worker.json --noEmit",
|
|
84
|
+
"clean": "rimraf dist *.tsbuildinfo",
|
|
85
|
+
"lint": "eslint \"{src,test}/**/*.{ts,tsx}\"",
|
|
86
|
+
"pack:deterministic": "pnpm build && node ../../scripts/pack-herdr.mjs .",
|
|
87
|
+
"test": "vitest run",
|
|
88
|
+
"test:pack": "tsx scripts/test-packed-packages.ts"
|
|
89
|
+
}
|
|
90
|
+
}
|