@tomflow/proflow-dev-tunnel 0.1.5 → 0.1.7

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.
@@ -3,16 +3,18 @@ export declare const descriptor: {
3
3
  readonly contractVersion: "1.0.0";
4
4
  readonly moduleRef: "dev-tunnel";
5
5
  readonly packageName: "@tomflow/proflow-dev-tunnel";
6
- readonly moduleVersion: "0.1.5";
6
+ readonly moduleVersion: "0.1.7";
7
7
  readonly kind: "external-resource";
8
8
  readonly templateVersion: "1.0.0";
9
9
  readonly platformCompatibility: ">=1.0.0 <2.0.0";
10
- readonly installClass: "core";
11
10
  readonly identity: {
12
11
  readonly domain: "deployment-governance";
13
12
  readonly summary: "Governs the Microsoft Dev Tunnel public HTTPS ingress resource and its managed local host process.";
14
13
  };
15
- readonly provides: readonly [];
14
+ readonly provides: readonly [{
15
+ readonly contractRef: "public-ingress";
16
+ readonly version: "1.0.0";
17
+ }];
16
18
  readonly requires: readonly [];
17
19
  readonly requirements: readonly [{
18
20
  readonly kind: "executable";
@@ -21,44 +23,7 @@ export declare const descriptor: {
21
23
  readonly kind: "human";
22
24
  readonly action: "Complete Microsoft Dev Tunnel login when required";
23
25
  }];
24
- readonly configSlots: readonly [{
25
- readonly key: "publicBaseUrl";
26
- readonly type: "url";
27
- readonly required: true;
28
- readonly description: "Public HTTPS URL supplied by the dev-tunnel resource";
29
- }, {
30
- readonly key: "tunnelId";
31
- readonly type: "string";
32
- readonly required: false;
33
- readonly description: "Persistent Microsoft Dev Tunnel identifier used when this adapter owns lifecycle start/stop";
34
- }, {
35
- readonly key: "verificationEvidenceFile";
36
- readonly type: "path";
37
- readonly required: false;
38
- readonly description: "JSON evidence for real file-relay and 429/5xx verification behind the configured public ingress";
39
- }];
40
- readonly lifecycle: {
41
- readonly supported: readonly ["describe", "preflight", "status", "verify", "doctor", "start", "stop", "restart", "uninstall"];
42
- };
43
- readonly verification: {
44
- readonly checks: readonly [{
45
- readonly id: "tunnel-status";
46
- readonly description: "dev-tunnel process reports a real running or stopped state";
47
- readonly lifecycle: "status";
48
- }, {
49
- readonly id: "tunnel-public-ingress";
50
- readonly description: "public HTTPS ingress passes the frozen TLS/port/size/latency contract";
51
- readonly lifecycle: "verify";
52
- }, {
53
- readonly id: "tunnel-file-relay";
54
- readonly description: "file relay behind the public ingress is reachable";
55
- readonly lifecycle: "verify";
56
- }, {
57
- readonly id: "tunnel-diagnostics";
58
- readonly description: "dev-tunnel configuration has actionable diagnostics";
59
- readonly lifecycle: "doctor";
60
- }];
61
- };
26
+ readonly configSlots: readonly [];
62
27
  readonly effects: readonly [{
63
28
  readonly kind: "process";
64
29
  readonly description: "Manage the dev-tunnel public ingress process";
@@ -72,9 +37,8 @@ export declare const descriptor: {
72
37
  readonly description: "Exposes the local platform via a public HTTPS tunnel";
73
38
  readonly retention: "preserve";
74
39
  }];
75
- readonly documentation: readonly [{
76
- readonly id: "overview";
77
- readonly path: "./README.md";
78
- readonly description: "Dev Tunnel module overview";
79
- }];
40
+ readonly documentation: {
41
+ readonly docs: "DOCS.md";
42
+ readonly setup: "SETUP.md";
43
+ };
80
44
  };
@@ -3,81 +3,32 @@ export const descriptor = {
3
3
  contractVersion: "1.0.0",
4
4
  moduleRef: "dev-tunnel",
5
5
  packageName: "@tomflow/proflow-dev-tunnel",
6
- moduleVersion: "0.1.5",
6
+ moduleVersion: "0.1.7",
7
7
  kind: "external-resource",
8
8
  templateVersion: "1.0.0",
9
9
  platformCompatibility: ">=1.0.0 <2.0.0",
10
- installClass: "core",
11
10
  identity: {
12
11
  domain: "deployment-governance",
13
12
  summary: "Governs the Microsoft Dev Tunnel public HTTPS ingress resource and its managed local host process.",
14
13
  },
15
- provides: [],
16
- requires: [],
17
- requirements: [
18
- { kind: "executable", command: "devtunnel" },
14
+ provides: [
19
15
  {
20
- kind: "human",
21
- action: "Complete Microsoft Dev Tunnel login when required",
16
+ contractRef: "public-ingress",
17
+ version: "1.0.0",
22
18
  },
23
19
  ],
24
- configSlots: [
25
- {
26
- key: "publicBaseUrl",
27
- type: "url",
28
- required: true,
29
- description: "Public HTTPS URL supplied by the dev-tunnel resource",
30
- },
20
+ requires: [],
21
+ requirements: [
31
22
  {
32
- key: "tunnelId",
33
- type: "string",
34
- required: false,
35
- description: "Persistent Microsoft Dev Tunnel identifier used when this adapter owns lifecycle start/stop",
23
+ kind: "executable",
24
+ command: "devtunnel",
36
25
  },
37
26
  {
38
- key: "verificationEvidenceFile",
39
- type: "path",
40
- required: false,
41
- description: "JSON evidence for real file-relay and 429/5xx verification behind the configured public ingress",
27
+ kind: "human",
28
+ action: "Complete Microsoft Dev Tunnel login when required",
42
29
  },
43
30
  ],
44
- lifecycle: {
45
- supported: [
46
- "describe",
47
- "preflight",
48
- "status",
49
- "verify",
50
- "doctor",
51
- "start",
52
- "stop",
53
- "restart",
54
- "uninstall",
55
- ],
56
- },
57
- verification: {
58
- checks: [
59
- {
60
- id: "tunnel-status",
61
- description: "dev-tunnel process reports a real running or stopped state",
62
- lifecycle: "status",
63
- },
64
- {
65
- id: "tunnel-public-ingress",
66
- description: "public HTTPS ingress passes the frozen TLS/port/size/latency contract",
67
- lifecycle: "verify",
68
- },
69
- {
70
- id: "tunnel-file-relay",
71
- description: "file relay behind the public ingress is reachable",
72
- lifecycle: "verify",
73
- },
74
- {
75
- id: "tunnel-diagnostics",
76
- description: "dev-tunnel configuration has actionable diagnostics",
77
- lifecycle: "doctor",
78
- },
79
- ],
80
- },
31
+ configSlots: [],
81
32
  effects: [
82
33
  {
83
34
  kind: "process",
@@ -95,11 +46,8 @@ export const descriptor = {
95
46
  retention: "preserve",
96
47
  },
97
48
  ],
98
- documentation: [
99
- {
100
- id: "overview",
101
- path: "./README.md",
102
- description: "Dev Tunnel module overview",
103
- },
104
- ],
49
+ documentation: {
50
+ docs: "DOCS.md",
51
+ setup: "SETUP.md",
52
+ },
105
53
  };
@@ -1,2 +1,2 @@
1
- export { behaviorAdapter, createBehaviorAdapter, } from "../deployment/adapter.ts";
1
+ export { behaviorAdapter } from "../deployment/adapter.ts";
2
2
  export { descriptor } from "../deployment/descriptor.ts";
package/dist/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { behaviorAdapter, createBehaviorAdapter, } from "../deployment/adapter.js";
1
+ export { behaviorAdapter } from "../deployment/adapter.js";
2
2
  export { descriptor } from "../deployment/descriptor.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomflow/proflow-dev-tunnel",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,13 +15,14 @@
15
15
  "proflow.module.json",
16
16
  "conformance.json",
17
17
  "README.md",
18
- "self-install.mjs"
18
+ "DOCS.md",
19
+ "SETUP.md"
19
20
  ],
20
21
  "dependencies": {
21
- "@tomflow/proflow-module-contract": "^0.1.1"
22
+ "@tomflow/proflow-module-contract": "^0.1.4"
22
23
  },
23
24
  "devDependencies": {
24
- "@tomflow/proflow-deployment-conformance": "^0.1.2"
25
+ "@tomflow/proflow-deployment-conformance": "^0.1.4"
25
26
  },
26
27
  "description": "Governs the Microsoft Dev Tunnel public HTTPS ingress resource and its managed local host process.",
27
28
  "keywords": [
@@ -31,16 +32,9 @@
31
32
  ],
32
33
  "proflow": {
33
34
  "module": true,
34
- "installClass": "core",
35
- "installRequires": [
36
- "@tomflow/proflow-module-contract"
37
- ],
38
35
  "descriptor": "./dist/deployment/descriptor.js",
39
36
  "manifest": "./proflow.module.json"
40
37
  },
41
- "bin": {
42
- "proflow-dev-tunnel": "./self-install.mjs"
43
- },
44
38
  "scripts": {
45
39
  "test": "node --test tests/**/*.test.ts",
46
40
  "typecheck": "tsc --noEmit"
@@ -3,16 +3,20 @@
3
3
  "contractVersion": "1.0.0",
4
4
  "moduleRef": "dev-tunnel",
5
5
  "packageName": "@tomflow/proflow-dev-tunnel",
6
- "moduleVersion": "0.1.5",
6
+ "moduleVersion": "0.1.7",
7
7
  "kind": "external-resource",
8
8
  "templateVersion": "1.0.0",
9
9
  "platformCompatibility": ">=1.0.0 <2.0.0",
10
- "installClass": "core",
11
10
  "identity": {
12
11
  "domain": "deployment-governance",
13
12
  "summary": "Governs the Microsoft Dev Tunnel public HTTPS ingress resource and its managed local host process."
14
13
  },
15
- "provides": [],
14
+ "provides": [
15
+ {
16
+ "contractRef": "public-ingress",
17
+ "version": "1.0.0"
18
+ }
19
+ ],
16
20
  "requires": [],
17
21
  "requirements": [
18
22
  {
@@ -24,63 +28,7 @@
24
28
  "action": "Complete Microsoft Dev Tunnel login when required"
25
29
  }
26
30
  ],
27
- "configSlots": [
28
- {
29
- "key": "publicBaseUrl",
30
- "type": "url",
31
- "required": true,
32
- "description": "Public HTTPS URL supplied by the dev-tunnel resource"
33
- },
34
- {
35
- "key": "tunnelId",
36
- "type": "string",
37
- "required": false,
38
- "description": "Persistent Microsoft Dev Tunnel identifier used when this adapter owns lifecycle start/stop"
39
- },
40
- {
41
- "key": "verificationEvidenceFile",
42
- "type": "path",
43
- "required": false,
44
- "description": "JSON evidence for real file-relay and 429/5xx verification behind the configured public ingress"
45
- }
46
- ],
47
- "lifecycle": {
48
- "supported": [
49
- "describe",
50
- "preflight",
51
- "status",
52
- "verify",
53
- "doctor",
54
- "start",
55
- "stop",
56
- "restart",
57
- "uninstall"
58
- ]
59
- },
60
- "verification": {
61
- "checks": [
62
- {
63
- "id": "tunnel-status",
64
- "description": "dev-tunnel process reports a real running or stopped state",
65
- "lifecycle": "status"
66
- },
67
- {
68
- "id": "tunnel-public-ingress",
69
- "description": "public HTTPS ingress passes the frozen TLS/port/size/latency contract",
70
- "lifecycle": "verify"
71
- },
72
- {
73
- "id": "tunnel-file-relay",
74
- "description": "file relay behind the public ingress is reachable",
75
- "lifecycle": "verify"
76
- },
77
- {
78
- "id": "tunnel-diagnostics",
79
- "description": "dev-tunnel configuration has actionable diagnostics",
80
- "lifecycle": "doctor"
81
- }
82
- ]
83
- },
31
+ "configSlots": [],
84
32
  "effects": [
85
33
  {
86
34
  "kind": "process",
@@ -98,11 +46,8 @@
98
46
  "retention": "preserve"
99
47
  }
100
48
  ],
101
- "documentation": [
102
- {
103
- "id": "overview",
104
- "path": "./README.md",
105
- "description": "Dev Tunnel module overview"
106
- }
107
- ]
49
+ "documentation": {
50
+ "docs": "DOCS.md",
51
+ "setup": "SETUP.md"
52
+ }
108
53
  }
package/CHANGELOG.md DELETED
@@ -1,31 +0,0 @@
1
- # @tomflow/proflow-dev-tunnel
2
-
3
- ## 0.1.5
4
-
5
- ### Patch Changes
6
-
7
- - Make managed dev-tunnel stop idempotent when no owned tunnel process remains, while preserving UNKNOWN for genuinely ambiguous stop failures.
8
-
9
- ## 0.1.4
10
-
11
- ### Patch Changes
12
-
13
- - Detach the managed dev-tunnel host from the short-lived Platform CLI process and persist an ownership-checked process record so later status/stop/restart invocations can manage the same tunnel without turning `platform start` into a daemon.
14
-
15
- ## 0.1.3
16
-
17
- ### Patch Changes
18
-
19
- - Bind production dev-tunnel verification to an explicit evidence file for the frozen file-relay and 429/5xx proofs, while retaining live HTTPS/TLS/latency/size checks.
20
-
21
- ## 0.1.2
22
-
23
- ### Patch Changes
24
-
25
- - Real-1 final remediation and black-box release closure
26
-
27
- ## 0.1.1
28
-
29
- ### Patch Changes
30
-
31
- - Close the Real-1 global Platform control-plane contract across every published ProFlow package. Platform CLI now owns one durable global Workspace binding with canonical identity, cross-process operation locking, cwd/`--workspace` install targeting, cross-directory instance commands, whole-instance uninstall/rebind, and deterministic npm/yarn/pnpm Workspace package-manager selection. Every package-owned install entry, including newly generated Module Template packages, delegates to the Shell-global `platform` command and fails closed when that global CLI is unavailable; Deployment Conformance and the formal test plans mechanically enforce the same rule across all 24 packages.
@@ -1,19 +0,0 @@
1
- export declare const verification: {
2
- readonly checks: readonly [{
3
- readonly id: "tunnel-status";
4
- readonly description: "dev-tunnel process reports a real running or stopped state";
5
- readonly lifecycle: "status";
6
- }, {
7
- readonly id: "tunnel-public-ingress";
8
- readonly description: "public HTTPS ingress passes the frozen TLS/port/size/latency contract";
9
- readonly lifecycle: "verify";
10
- }, {
11
- readonly id: "tunnel-file-relay";
12
- readonly description: "file relay behind the public ingress is reachable";
13
- readonly lifecycle: "verify";
14
- }, {
15
- readonly id: "tunnel-diagnostics";
16
- readonly description: "dev-tunnel configuration has actionable diagnostics";
17
- readonly lifecycle: "doctor";
18
- }];
19
- };
@@ -1,2 +0,0 @@
1
- import { descriptor } from "./descriptor.js";
2
- export const verification = descriptor.verification;
package/self-install.mjs DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env node
2
- import { spawnSync } from "node:child_process";
3
-
4
- const [command, ...rest] = process.argv.slice(2);
5
- const usage = "Usage: npx @tomflow/proflow-dev-tunnel install\n";
6
- if (command === "--help" || command === "-h") {
7
- process.stdout.write(usage);
8
- process.exit(0);
9
- }
10
- if (command !== "install" || rest.length > 0) {
11
- process.stderr.write(usage);
12
- process.exit(2);
13
- }
14
- const executable = process.platform === "win32" ? "platform.cmd" : "platform";
15
- const result = spawnSync(
16
- executable,
17
- ["install", "@tomflow/proflow-dev-tunnel", "--workspace", process.cwd()],
18
- { cwd: process.cwd(), env: process.env, stdio: "inherit" },
19
- );
20
- if (result.error) {
21
- if (result.error.code === "ENOENT") {
22
- process.stderr.write(
23
- "GLOBAL_PLATFORM_CLI_REQUIRED: install @tomflow/proflow-platform-cli globally before package-owned install\n",
24
- );
25
- process.exit(127);
26
- }
27
- throw result.error;
28
- }
29
- process.exit(result.status ?? 1);