@tomflow/proflow-platform-host 0.1.14 → 0.1.16

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.
@@ -6,7 +6,7 @@ export declare const behaviorAdapter: {
6
6
  ok: true;
7
7
  status: "SUCCEEDED";
8
8
  moduleRef: "platform-host";
9
- moduleVersion: "0.1.14";
9
+ moduleVersion: "0.1.16";
10
10
  data: {
11
11
  endpoint: string;
12
12
  stateRoot: string;
@@ -24,7 +24,7 @@ export declare const behaviorAdapter: {
24
24
  readonly ok: true;
25
25
  readonly status: "SUCCEEDED";
26
26
  readonly moduleRef: "platform-host";
27
- readonly moduleVersion: "0.1.14";
27
+ readonly moduleVersion: "0.1.16";
28
28
  };
29
29
  observedEffects: string[];
30
30
  }>;
@@ -34,7 +34,7 @@ export declare const behaviorAdapter: {
34
34
  ok: true;
35
35
  status: "SUCCEEDED";
36
36
  moduleRef: "platform-host";
37
- moduleVersion: "0.1.14";
37
+ moduleVersion: "0.1.16";
38
38
  data: {
39
39
  setupStatus: "READY";
40
40
  runtimeStatus: "RUNNING" | "STOPPED";
@@ -55,7 +55,7 @@ export declare const behaviorAdapter: {
55
55
  ok: true;
56
56
  status: "SUCCEEDED";
57
57
  moduleRef: "platform-host";
58
- moduleVersion: "0.1.14";
58
+ moduleVersion: "0.1.16";
59
59
  data: {
60
60
  endpoint: string;
61
61
  stateRoot: string;
@@ -73,7 +73,7 @@ export declare const behaviorAdapter: {
73
73
  ok: true;
74
74
  status: "SUCCEEDED";
75
75
  moduleRef: "platform-host";
76
- moduleVersion: "0.1.14";
76
+ moduleVersion: "0.1.16";
77
77
  data: {
78
78
  docs: string;
79
79
  };
@@ -86,7 +86,7 @@ export declare const behaviorAdapter: {
86
86
  ok: true;
87
87
  status: "SUCCEEDED";
88
88
  moduleRef: "platform-host";
89
- moduleVersion: "0.1.14";
89
+ moduleVersion: "0.1.16";
90
90
  data: {
91
91
  host: string;
92
92
  port: number;
@@ -97,7 +97,7 @@ export declare const behaviorAdapter: {
97
97
  result: {
98
98
  contract: "deployment.result.v1";
99
99
  moduleRef: "platform-host";
100
- moduleVersion: "0.1.14";
100
+ moduleVersion: "0.1.16";
101
101
  ok: false;
102
102
  status: "FAILED";
103
103
  error: {
@@ -114,7 +114,7 @@ export declare const behaviorAdapter: {
114
114
  readonly ok: true;
115
115
  readonly status: "SUCCEEDED";
116
116
  readonly moduleRef: "platform-host";
117
- readonly moduleVersion: "0.1.14";
117
+ readonly moduleVersion: "0.1.16";
118
118
  };
119
119
  observedEffects: string[];
120
120
  } | {
@@ -123,11 +123,11 @@ export declare const behaviorAdapter: {
123
123
  readonly ok: true;
124
124
  readonly status: "SUCCEEDED";
125
125
  readonly moduleRef: "platform-host";
126
- readonly moduleVersion: "0.1.14";
126
+ readonly moduleVersion: "0.1.16";
127
127
  } | {
128
128
  contract: "deployment.result.v1";
129
129
  moduleRef: "platform-host";
130
- moduleVersion: "0.1.14";
130
+ moduleVersion: "0.1.16";
131
131
  ok: false;
132
132
  status: "FAILED";
133
133
  error: {
@@ -3,7 +3,7 @@ export declare const descriptor: {
3
3
  readonly contractVersion: "1.0.0";
4
4
  readonly moduleRef: "platform-host";
5
5
  readonly packageName: "@tomflow/proflow-platform-host";
6
- readonly moduleVersion: "0.1.14";
6
+ readonly moduleVersion: "0.1.16";
7
7
  readonly kind: "service";
8
8
  readonly templateVersion: "1.0.0";
9
9
  readonly platformCompatibility: ">=1.0.0 <2.0.0";
@@ -3,7 +3,7 @@ export const descriptor = {
3
3
  contractVersion: "1.0.0",
4
4
  moduleRef: "platform-host",
5
5
  packageName: "@tomflow/proflow-platform-host",
6
- moduleVersion: "0.1.14",
6
+ moduleVersion: "0.1.16",
7
7
  kind: "service",
8
8
  templateVersion: "1.0.0",
9
9
  platformCompatibility: ">=1.0.0 <2.0.0",
@@ -208,18 +208,6 @@ export type PlatformHostTaskDriverPorts = {
208
208
  workerRef: string | null;
209
209
  };
210
210
  }>;
211
- startTask(input: {
212
- taskId: string;
213
- expectedTaskVersion: number;
214
- idempotencyKey: string;
215
- }): Promise<unknown>;
216
- startNode(input: {
217
- taskId: string;
218
- nodeId: string;
219
- expectedTaskVersion: number;
220
- expectedNodeVersion: number;
221
- idempotencyKey: string;
222
- }): Promise<unknown>;
223
211
  };
224
212
  export type PlatformHostAgentIdentityPorts = {
225
213
  getRegisteredRole(roleRef: string): Promise<{
package/dist/src/index.js CHANGED
@@ -11,6 +11,9 @@ import { taskMigrations } from "@tomflow/proflow-task-store-sqlite/migrations";
11
11
  import { z } from "zod";
12
12
  import { roleOperations, rolePackageRefs, } from "./role-operations.js";
13
13
  const loopbackHosts = new Set(["localhost", "127.0.0.1", "::1", "[::1]"]);
14
+ // Business owner calls are Promise-driven. This is only a last-resort transport
15
+ // watchdog for a hung local call, not a normal workflow deadline.
16
+ const OWNER_INVOKE_WATCHDOG_MS = 120_000;
14
17
  const systemObserverReasonResultSchema = z
15
18
  .object({
16
19
  scope: z.string().min(1).max(240).optional(),
@@ -305,7 +308,7 @@ function createOwnerHttpClient(owner, baseUrl, credential) {
305
308
  body: JSON.stringify(requestBody),
306
309
  }
307
310
  : {}),
308
- signal: AbortSignal.timeout(45_000),
311
+ signal: AbortSignal.timeout(OWNER_INVOKE_WATCHDOG_MS),
309
312
  }));
310
313
  },
311
314
  });
@@ -637,6 +640,7 @@ async function constructGraph(config, executionCredential, modelCredential) {
637
640
  const taskOperation = taskOperations.get(operationId);
638
641
  if (taskOperation) {
639
642
  let actorRef = authenticatedRoleRef;
643
+ let canonicalWorkerRef;
640
644
  if (typeof input.taskId === "string") {
641
645
  const workerRef = await admitTaskParticipant(input.taskId, authenticatedRoleRef, typeof input.workerRef === "string" ? input.workerRef : undefined);
642
646
  if (taskMutationOperations.has(operationId))
@@ -645,7 +649,8 @@ async function constructGraph(config, executionCredential, modelCredential) {
645
649
  taskId: input.taskId,
646
650
  workerRef,
647
651
  });
648
- actorRef = workerRef;
652
+ canonicalWorkerRef = workerRef;
653
+ actorRef = `worker:${workerRef}`;
649
654
  }
650
655
  let canonicalTaskInput = input;
651
656
  if (context?.fileMaterializationInputs !== undefined) {
@@ -662,8 +667,8 @@ async function constructGraph(config, executionCredential, modelCredential) {
662
667
  ? { taskId: input.taskId }
663
668
  : {}),
664
669
  roleRef: authenticatedRoleRef,
665
- ...(typeof input.taskId === "string"
666
- ? { workerRef: actorRef }
670
+ ...(canonicalWorkerRef !== undefined
671
+ ? { workerRef: canonicalWorkerRef }
667
672
  : {}),
668
673
  files: context.fileMaterializationInputs,
669
674
  }), "carrier file materialization result");
@@ -805,8 +810,7 @@ async function constructGraph(config, executionCredential, modelCredential) {
805
810
  request.capability === "worker.restore" ||
806
811
  request.capability === "worker.wake" ||
807
812
  request.capability === "collaboration.deliver";
808
- const internalBrowserCaller = request.callerRef === "platform-host:task-observer" ||
809
- request.callerRef === "platform-host:carrier-controller" ||
813
+ const internalBrowserCaller = request.callerRef === "platform-host:carrier-controller" ||
810
814
  request.callerRef === "extension:task-observer" ||
811
815
  request.callerRef === "extension:collaboration-carrier";
812
816
  if (!internalBrowserCaller)
@@ -897,18 +901,6 @@ async function constructGraph(config, executionCredential, modelCredential) {
897
901
  async getTaskDriveProjection(taskId) {
898
902
  return unwrap(task.queries.getTaskDriveProjection({ taskId }));
899
903
  },
900
- async startTask(input) {
901
- return unwrap(task.commands.startTask({
902
- ...input,
903
- actorRef: "platform-host:task-observer",
904
- }));
905
- },
906
- async startNode(input) {
907
- return unwrap(task.commands.startNode({
908
- ...input,
909
- actorRef: "platform-host:task-observer",
910
- }));
911
- },
912
904
  });
913
905
  const agentIdentityPorts = Object.freeze({
914
906
  async getRegisteredRole(roleRef) {
@@ -1196,7 +1188,7 @@ async function constructGraph(config, executionCredential, modelCredential) {
1196
1188
  const underlyingRef = typeof value.underlyingRef === "string"
1197
1189
  ? value.underlyingRef
1198
1190
  : "none";
1199
- return execution.invoke("executeCapability", {
1191
+ const wakeExecution = object(await execution.invoke("executeCapability", {
1200
1192
  contract: "execution",
1201
1193
  contractVersion: "1.0.0",
1202
1194
  idempotencyKey: `task-observer-wake:${taskId}:${nodeId}:${runNo}:${trigger}:${underlyingRef}`,
@@ -1217,7 +1209,11 @@ async function constructGraph(config, executionCredential, modelCredential) {
1217
1209
  trigger,
1218
1210
  fingerprint: `wake:${taskId}:${nodeId}:${runNo}:${trigger}:${underlyingRef}`,
1219
1211
  },
1220
- });
1212
+ }), "task wake execution");
1213
+ if (wakeExecution.status !== "SUCCEEDED" ||
1214
+ wakeExecution.sideEffectState !== "APPLIED")
1215
+ throw new Error(`TASK_WAKE_NOT_CONFIRMED:${String(wakeExecution.status)}:${String(wakeExecution.sideEffectState)}`);
1216
+ return wakeExecution;
1221
1217
  }
1222
1218
  if (operation === "task.diagnostic") {
1223
1219
  const response = object(await model.invoke("infer", {
@@ -1578,16 +1574,6 @@ export function createPlatformHost(input) {
1578
1574
  throw new Error("PLATFORM_HOST_NOT_RUNNING");
1579
1575
  return graph.taskDriverPorts.getNodeContext(taskId, nodeId);
1580
1576
  },
1581
- async startTask(input) {
1582
- if (!graph)
1583
- throw new Error("PLATFORM_HOST_NOT_RUNNING");
1584
- return graph.taskDriverPorts.startTask(input);
1585
- },
1586
- async startNode(input) {
1587
- if (!graph)
1588
- throw new Error("PLATFORM_HOST_NOT_RUNNING");
1589
- return graph.taskDriverPorts.startNode(input);
1590
- },
1591
1577
  });
1592
1578
  const agentIdentityPorts = Object.freeze({
1593
1579
  async getRegisteredRole(roleRef) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomflow/proflow-platform-host",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -24,19 +24,19 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "zod": "4.1.12",
27
+ "@tomflow/proflow-agent-runtime": "^0.1.13",
27
28
  "@tomflow/proflow-module-contract": "^0.1.13",
28
- "@tomflow/proflow-execution-browser-extension": "^0.1.14",
29
- "@tomflow/proflow-task-store-sqlite": "^0.1.11",
30
- "@tomflow/proflow-agent-runtime": "^0.1.10",
31
- "@tomflow/proflow-task-orchestration": "^0.1.9",
29
+ "@tomflow/proflow-execution-contracts": "^0.1.10",
30
+ "@tomflow/proflow-task-orchestration": "^0.1.10",
32
31
  "@tomflow/proflow-task-migration-runner": "^0.1.11",
33
- "@tomflow/proflow-execution-contracts": "^0.1.10"
32
+ "@tomflow/proflow-execution-browser-extension": "^0.1.32",
33
+ "@tomflow/proflow-task-store-sqlite": "^0.1.11"
34
34
  },
35
35
  "devDependencies": {
36
- "@tomflow/proflow-deployment-conformance": "^0.1.12",
37
- "@tomflow/proflow-model-runtime": "^0.1.16",
38
- "@tomflow/proflow-agent-gateway": "^0.1.14",
39
- "@tomflow/proflow-execution-runtime": "^0.1.15"
36
+ "@tomflow/proflow-agent-gateway": "^0.1.15",
37
+ "@tomflow/proflow-deployment-conformance": "^0.1.13",
38
+ "@tomflow/proflow-model-runtime": "^0.1.21",
39
+ "@tomflow/proflow-execution-runtime": "^0.1.16"
40
40
  },
41
41
  "description": "Provides the ProFlow local application composition root that binds Task, Agent, Execution and Model owner transports.",
42
42
  "keywords": [
@@ -3,7 +3,7 @@
3
3
  "contractVersion": "1.0.0",
4
4
  "moduleRef": "platform-host",
5
5
  "packageName": "@tomflow/proflow-platform-host",
6
- "moduleVersion": "0.1.14",
6
+ "moduleVersion": "0.1.16",
7
7
  "kind": "service",
8
8
  "templateVersion": "1.0.0",
9
9
  "platformCompatibility": ">=1.0.0 <2.0.0",
package/CHANGELOG.md DELETED
@@ -1,49 +0,0 @@
1
- # @tomflow/proflow-platform-host
2
-
3
- ## 0.1.14
4
-
5
- ### Patch Changes
6
-
7
- - Retire the obsolete Carrier package and Browser standalone management CLI, make Platform setup/status preserve owner and dependency semantics, and enforce read-only status observation across the final Real-3 deployment closeout.
8
-
9
- ## 0.1.13
10
-
11
- ### Patch Changes
12
-
13
- - Ship the Phase 3 browser, tunnel, model automation, platform readiness, and documentation closure as one verifiable platform snapshot.
14
-
15
- ## 0.1.12
16
-
17
- ### Patch Changes
18
-
19
- - Distinguish dependency blocking from verified failure, expose Module-owned status diagnostics, remove automatic docs paging, consolidate start checks, add contextual help, and clarify uninstall output.
20
-
21
- ## 0.1.11
22
-
23
- ### Patch Changes
24
-
25
- - Upgrade the ProFlow terminal experience, stream Registry and package-manager progress, publish structured Chinese Module documentation, and provide numbered package-owned Setup assistants.
26
-
27
- ## 0.1.10
28
-
29
- ### Patch Changes
30
-
31
- - Improve terminal progress and localized status output, publish readable Chinese module docs, and add guided setup assistants for external resources.
32
-
33
- ## 0.1.9
34
-
35
- ### Patch Changes
36
-
37
- - Resolve DOCS.md from both source and built deployment adapters, prove all 24 built adapters return the published body, and announce package synchronization before the package manager blocks.
38
-
39
- ## 0.1.8
40
-
41
- ### Patch Changes
42
-
43
- - Replace JSON terminal protocols with typed CLI outcomes, add real-time Chinese progress and lifecycle summaries, publish DOCS content, standardize executable setup plans and package-owned setup commands, and preserve only user-owned pnpm policy during uninstall.
44
-
45
- ## 0.1.7
46
-
47
- ### Patch Changes
48
-
49
- - Align all Modules to the seven-command setup contract with executable package-owned setup guidance and full Platform setup aggregation.