@phreshos/core 0.1.9 → 0.1.10

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
@@ -308,6 +308,7 @@ export default defineConfig({
308
308
  icon: "./icon.png",
309
309
  server: {
310
310
  location: "./dist/server",
311
+ serviceable: true,
311
312
  startCommand: "node main.js",
312
313
  development: {
313
314
  startCommand: "node --watch --import tsx source/server/main.ts"
@@ -329,6 +330,13 @@ description for each mode. The optional `icon` field names a single PNG
329
330
  source — packaging and installation normalize it to `icon.png`, while hosting
330
331
  derives the system's fixed presentation sizes.
331
332
 
333
+ Every Server and Client declaration may opt into public Service exposure with
334
+ `serviceable: true`. It defaults to false. This declares only that the Endpoint
335
+ is permitted to call `current.enableService()`; the Service name,
336
+ documentation, and live binding remain runtime facts. The resolved
337
+ `program.server.serviceable` and `program.client.serviceable` values are always
338
+ booleans.
339
+
332
340
  Every Program also exposes its guaranteed icon without revealing hosting or
333
341
  filesystem details:
334
342
 
package/dist/config.d.ts CHANGED
@@ -17,6 +17,8 @@ export type ServerConfig = Readonly<{
17
17
  location: string;
18
18
  /** Whether a default Process starts its Server. Defaults to `true`. */
19
19
  start?: boolean;
20
+ /** Whether this Server may expose its Channel as a public Service. Defaults to `false`. */
21
+ serviceable?: boolean;
20
22
  /** Optional preparation command run from {@link location} while installing. */
21
23
  installCommand?: string;
22
24
  /** Command that starts the production Server from {@link location}. */
@@ -30,6 +32,8 @@ export type ClientConfig = Readonly<{
30
32
  location: string;
31
33
  /** Whether a default Process starts its Client. Defaults to `true`. */
32
34
  start?: boolean;
35
+ /** Whether this Client may expose its Channel as a public Service. Defaults to `false`. */
36
+ serviceable?: boolean;
33
37
  /** Initial Window title. Defaults to the Program name. */
34
38
  title?: string;
35
39
  /** Initial Window size. */
package/dist/program.d.ts CHANGED
@@ -9,6 +9,8 @@ export type ProgramIconSize = "small" | "medium" | "large";
9
9
  export type EndpointDeclaration = Readonly<{
10
10
  /** Whether a default Process starts this declared Endpoint. */
11
11
  start: boolean;
12
+ /** Whether this Endpoint may expose its Channel as a public Service. */
13
+ serviceable: boolean;
12
14
  }>;
13
15
  /** Resolved Client declaration and its default Window state. */
14
16
  export type ClientDeclaration = EndpointDeclaration & Readonly<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phreshos/core",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Environment-neutral contracts and domain objects for PhreshOS Programs.",
5
5
  "type": "module",
6
6
  "sideEffects": false,