@compforge/harness-common 0.5.12 → 0.5.14

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/README.md CHANGED
@@ -211,3 +211,20 @@ tool and an optional declared version/constraint. `Depot.bins` groups `Bin` decl
211
211
  repository-relative paths and `dependencies`, `output` or `cache` kinds. Metadata does not change
212
212
  Component identity, prove physical existence or authorize deletion. Discovery, preparation,
213
213
  usage protection and reclamation belong to consumers. See [the shared contract](../../../docs/component-depot.md).
214
+
215
+ ## Endpoint
216
+
217
+ `Endpoint` describes a network access address: optional lowercase `scheme`, `host`, explicit
218
+ `port`, and optional `secure`. It is independent of the Service, DataSource or resource behind
219
+ that address. IPv6 hosts are unbracketed. Credentials, paths, query parameters, execution
220
+ adapters and timeouts are not part of this contract.
221
+
222
+ Optional `id` and `description` identify and describe the dependency within its consumer.
223
+ Optional `workload` names the consumer Workload from which the address is accessed, not the
224
+ remote Service. Consumers resolve and validate that reference; a declaration does not discover
225
+ instances or grant access. Protocol probing can consume the address fields alone.
226
+
227
+ `secure: true` requires encrypted transport; the protocol determines whether it uses direct
228
+ TLS or protocol-specific negotiation. Omission makes no encryption requirement. HTTPS/WSS/TLS
229
+ endpoints require `secure: true`. This declaration does not assert connectivity, trust-policy
230
+ approval or authorization. Toolbox owns URL projection, validation and network probing.
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A network access address, independent of the Service, DataSource or resource behind it.
3
+ * @spec Endpoint contains no credentials, resource path, query or execution adapter.
4
+ * @spec secure requires encrypted transport; the scheme determines how it is established.
5
+ * It does not assert reachability, trust-policy approval or application authorization.
6
+ */
7
+ export interface Endpoint {
8
+ /** Optional identity within the declaring consumer; not a network address. */
9
+ readonly id?: string;
10
+ /** Human-readable description; never credentials or a signed resource URL. */
11
+ readonly description?: string;
12
+ /** Canonical consumer Workload name, not the remote Service or destination workload. */
13
+ readonly workload?: string;
14
+ /** Lowercase URI scheme without a colon; protocol metadata, not a health assertion. */
15
+ readonly scheme?: string;
16
+ /** Hostname or IP literal; IPv6 literals have no surrounding brackets. */
17
+ readonly host: string;
18
+ readonly port: number;
19
+ /** Omission makes no encryption requirement; HTTPS/WSS/TLS endpoints require true. */
20
+ readonly secure?: boolean;
21
+ }
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -22,3 +22,4 @@ export * from "./system/resource.js";
22
22
  export * from "./json.js";
23
23
  export * from "./summary.js";
24
24
  export * from "./value.js";
25
+ export type { Endpoint } from "./access/endpoint.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compforge/harness-common",
3
- "version": "0.5.12",
3
+ "version": "0.5.14",
4
4
  "description": "Execution-neutral client lifecycle and datasource contracts for harnesses",
5
5
  "type": "module",
6
6
  "scripts": {