@stigmer/protos 1.0.4 → 2.0.1

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.
Files changed (135) hide show
  1. package/ai/stigmer/activity/v1/io_pb.d.ts +109 -0
  2. package/ai/stigmer/activity/v1/io_pb.js +25 -0
  3. package/ai/stigmer/activity/v1/io_pb.js.map +1 -0
  4. package/ai/stigmer/activity/v1/query_connect.d.ts +39 -0
  5. package/ai/stigmer/activity/v1/query_connect.js +46 -0
  6. package/ai/stigmer/activity/v1/query_connect.js.map +1 -0
  7. package/ai/stigmer/activity/v1/query_pb.d.ts +41 -0
  8. package/ai/stigmer/activity/v1/query_pb.js +28 -0
  9. package/ai/stigmer/activity/v1/query_pb.js.map +1 -0
  10. package/ai/stigmer/agentic/agent/v1/version_pb.d.ts +214 -0
  11. package/ai/stigmer/agentic/agent/v1/version_pb.js +43 -0
  12. package/ai/stigmer/agentic/agent/v1/version_pb.js.map +1 -0
  13. package/ai/stigmer/agentic/agentexecution/v1/api_pb.d.ts +20 -15
  14. package/ai/stigmer/agentic/agentexecution/v1/api_pb.js +2 -1
  15. package/ai/stigmer/agentic/agentexecution/v1/api_pb.js.map +1 -1
  16. package/ai/stigmer/agentic/agentexecution/v1/io_pb.d.ts +14 -0
  17. package/ai/stigmer/agentic/agentexecution/v1/io_pb.js +1 -1
  18. package/ai/stigmer/agentic/agentexecution/v1/io_pb.js.map +1 -1
  19. package/ai/stigmer/agentic/agentexecution/v1/spec_pb.d.ts +50 -9
  20. package/ai/stigmer/agentic/agentexecution/v1/spec_pb.js +2 -1
  21. package/ai/stigmer/agentic/agentexecution/v1/spec_pb.js.map +1 -1
  22. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.d.ts +26 -7
  23. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.js +4 -4
  24. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.js.map +1 -1
  25. package/ai/stigmer/agentic/agentinstance/v1/command_connect.d.ts +27 -0
  26. package/ai/stigmer/agentic/agentinstance/v1/command_connect.js +28 -0
  27. package/ai/stigmer/agentic/agentinstance/v1/command_connect.js.map +1 -1
  28. package/ai/stigmer/agentic/agentinstance/v1/command_pb.d.ts +27 -0
  29. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js +2 -1
  30. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js.map +1 -1
  31. package/ai/stigmer/agentic/executioncontext/v1/spec_pb.d.ts +3 -1
  32. package/ai/stigmer/agentic/executioncontext/v1/spec_pb.js +1 -1
  33. package/ai/stigmer/agentic/executioncontext/v1/spec_pb.js.map +1 -1
  34. package/ai/stigmer/agentic/session/v1/enum_pb.d.ts +50 -0
  35. package/ai/stigmer/agentic/session/v1/enum_pb.js +53 -2
  36. package/ai/stigmer/agentic/session/v1/enum_pb.js.map +1 -1
  37. package/ai/stigmer/agentic/session/v1/spec_pb.d.ts +37 -35
  38. package/ai/stigmer/agentic/session/v1/spec_pb.js +1 -1
  39. package/ai/stigmer/agentic/session/v1/spec_pb.js.map +1 -1
  40. package/ai/stigmer/agentic/workflow/v1/command_connect.d.ts +44 -0
  41. package/ai/stigmer/agentic/workflow/v1/command_connect.js +46 -0
  42. package/ai/stigmer/agentic/workflow/v1/command_connect.js.map +1 -1
  43. package/ai/stigmer/agentic/workflow/v1/command_pb.d.ts +44 -0
  44. package/ai/stigmer/agentic/workflow/v1/command_pb.js +3 -1
  45. package/ai/stigmer/agentic/workflow/v1/command_pb.js.map +1 -1
  46. package/ai/stigmer/agentic/workflow/v1/query_connect.d.ts +46 -2
  47. package/ai/stigmer/agentic/workflow/v1/query_connect.js +47 -2
  48. package/ai/stigmer/agentic/workflow/v1/query_connect.js.map +1 -1
  49. package/ai/stigmer/agentic/workflow/v1/query_pb.d.ts +45 -2
  50. package/ai/stigmer/agentic/workflow/v1/query_pb.js +2 -1
  51. package/ai/stigmer/agentic/workflow/v1/query_pb.js.map +1 -1
  52. package/ai/stigmer/agentic/workflow/v1/status_pb.d.ts +22 -0
  53. package/ai/stigmer/agentic/workflow/v1/status_pb.js +1 -1
  54. package/ai/stigmer/agentic/workflow/v1/status_pb.js.map +1 -1
  55. package/ai/stigmer/agentic/workflow/v1/version_pb.d.ts +281 -0
  56. package/ai/stigmer/agentic/workflow/v1/version_pb.js +42 -0
  57. package/ai/stigmer/agentic/workflow/v1/version_pb.js.map +1 -0
  58. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.d.ts +32 -4
  59. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.js +1 -1
  60. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.js.map +1 -1
  61. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.d.ts +44 -25
  62. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.js +44 -25
  63. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.js.map +1 -1
  64. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.d.ts +44 -25
  65. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js.map +1 -1
  66. package/ai/stigmer/agentic/workflowexecution/v1/enum_pb.d.ts +2 -0
  67. package/ai/stigmer/agentic/workflowexecution/v1/enum_pb.js +2 -0
  68. package/ai/stigmer/agentic/workflowexecution/v1/enum_pb.js.map +1 -1
  69. package/ai/stigmer/agentic/workflowexecution/v1/event_pb.d.ts +83 -5
  70. package/ai/stigmer/agentic/workflowexecution/v1/event_pb.js +13 -8
  71. package/ai/stigmer/agentic/workflowexecution/v1/event_pb.js.map +1 -1
  72. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.d.ts +234 -4
  73. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.js +61 -10
  74. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.js.map +1 -1
  75. package/ai/stigmer/agentic/workflowexecution/v1/spec_pb.d.ts +21 -0
  76. package/ai/stigmer/agentic/workflowexecution/v1/spec_pb.js +2 -1
  77. package/ai/stigmer/agentic/workflowexecution/v1/spec_pb.js.map +1 -1
  78. package/ai/stigmer/agentic/workflowinstance/v1/command_connect.d.ts +28 -0
  79. package/ai/stigmer/agentic/workflowinstance/v1/command_connect.js +29 -0
  80. package/ai/stigmer/agentic/workflowinstance/v1/command_connect.js.map +1 -1
  81. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.d.ts +28 -0
  82. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js +2 -1
  83. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js.map +1 -1
  84. package/ai/stigmer/billing/v1/enum_pb.d.ts +35 -0
  85. package/ai/stigmer/billing/v1/enum_pb.js +43 -7
  86. package/ai/stigmer/billing/v1/enum_pb.js.map +1 -1
  87. package/ai/stigmer/billing/v1/io_pb.d.ts +13 -1
  88. package/ai/stigmer/billing/v1/io_pb.js +1 -1
  89. package/ai/stigmer/billing/v1/io_pb.js.map +1 -1
  90. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +0 -6
  91. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +1 -7
  92. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  93. package/ai/stigmer/commons/apiresource/enum_pb.d.ts +21 -3
  94. package/ai/stigmer/commons/apiresource/enum_pb.js +21 -3
  95. package/ai/stigmer/commons/apiresource/enum_pb.js.map +1 -1
  96. package/ai/stigmer/commons/apiresource/io_pb.d.ts +17 -6
  97. package/ai/stigmer/commons/apiresource/io_pb.js +1 -1
  98. package/ai/stigmer/commons/apiresource/io_pb.js.map +1 -1
  99. package/ai/stigmer/commons/apiresource/metadata_pb.d.ts +24 -0
  100. package/ai/stigmer/commons/apiresource/metadata_pb.js +1 -1
  101. package/ai/stigmer/commons/apiresource/metadata_pb.js.map +1 -1
  102. package/ai/stigmer/iam/invitation/v1/query_connect.d.ts +2 -2
  103. package/ai/stigmer/iam/invitation/v1/query_connect.js +2 -2
  104. package/ai/stigmer/iam/invitation/v1/query_pb.d.ts +2 -2
  105. package/ai/stigmer/iam/invitation/v1/query_pb.js +1 -1
  106. package/ai/stigmer/tenancy/organization/v1/api_pb.js +1 -1
  107. package/ai/stigmer/tenancy/organization/v1/api_pb.js.map +1 -1
  108. package/buf/validate/validate_pb.d.ts +217 -156
  109. package/buf/validate/validate_pb.js +3 -3
  110. package/buf/validate/validate_pb.js.map +1 -1
  111. package/package.json +3 -2
  112. package/ai/stigmer/agentic/runner/v1/api_pb.d.ts +0 -247
  113. package/ai/stigmer/agentic/runner/v1/api_pb.js +0 -30
  114. package/ai/stigmer/agentic/runner/v1/api_pb.js.map +0 -1
  115. package/ai/stigmer/agentic/runner/v1/command_connect.d.ts +0 -198
  116. package/ai/stigmer/agentic/runner/v1/command_connect.js +0 -206
  117. package/ai/stigmer/agentic/runner/v1/command_connect.js.map +0 -1
  118. package/ai/stigmer/agentic/runner/v1/command_pb.d.ts +0 -193
  119. package/ai/stigmer/agentic/runner/v1/command_pb.js +0 -34
  120. package/ai/stigmer/agentic/runner/v1/command_pb.js.map +0 -1
  121. package/ai/stigmer/agentic/runner/v1/enum_pb.d.ts +0 -83
  122. package/ai/stigmer/agentic/runner/v1/enum_pb.js +0 -88
  123. package/ai/stigmer/agentic/runner/v1/enum_pb.js.map +0 -1
  124. package/ai/stigmer/agentic/runner/v1/io_pb.d.ts +0 -640
  125. package/ai/stigmer/agentic/runner/v1/io_pb.js +0 -114
  126. package/ai/stigmer/agentic/runner/v1/io_pb.js.map +0 -1
  127. package/ai/stigmer/agentic/runner/v1/query_connect.d.ts +0 -64
  128. package/ai/stigmer/agentic/runner/v1/query_connect.js +0 -73
  129. package/ai/stigmer/agentic/runner/v1/query_connect.js.map +0 -1
  130. package/ai/stigmer/agentic/runner/v1/query_pb.d.ts +0 -66
  131. package/ai/stigmer/agentic/runner/v1/query_pb.js +0 -24
  132. package/ai/stigmer/agentic/runner/v1/query_pb.js.map +0 -1
  133. package/ai/stigmer/agentic/runner/v1/spec_pb.d.ts +0 -36
  134. package/ai/stigmer/agentic/runner/v1/spec_pb.js +0 -14
  135. package/ai/stigmer/agentic/runner/v1/spec_pb.js.map +0 -1
@@ -4,13 +4,14 @@
4
4
  import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
5
  import { file_ai_stigmer_agentic_workflow_v1_api } from "./api_pb.js";
6
6
  import { file_ai_stigmer_agentic_workflow_v1_io } from "./io_pb.js";
7
+ import { file_ai_stigmer_agentic_workflow_v1_version } from "./version_pb.js";
7
8
  import { file_ai_stigmer_commons_apiresource_io } from "../../../commons/apiresource/io_pb.js";
8
9
  import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb.js";
9
10
  import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb.js";
10
11
  /**
11
12
  * Describes the file ai/stigmer/agentic/workflow/v1/query.proto.
12
13
  */
13
- export const file_ai_stigmer_agentic_workflow_v1_query = /*@__PURE__*/ fileDesc("CiphaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvcXVlcnkucHJvdG8SHmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MTKkAgoXV29ya2Zsb3dRdWVyeUNvbnRyb2xsZXISigEKA2dldBIqLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd0lkGiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93Ii3CuBgpCAEQMiIFdmFsdWUqHHVuYXV0aG9yaXplZCB0byBnZXQgd29ya2Zsb3cSdgoOZ2V0QnlSZWZlcmVuY2USNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2UaKC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3ciBNC4GAEaBKD/KzJiBnByb3RvMw", [file_ai_stigmer_agentic_workflow_v1_api, file_ai_stigmer_agentic_workflow_v1_io, file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options]);
14
+ export const file_ai_stigmer_agentic_workflow_v1_query = /*@__PURE__*/ fileDesc("CiphaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvcXVlcnkucHJvdG8SHmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MTLvBAoXV29ya2Zsb3dRdWVyeUNvbnRyb2xsZXISigEKA2dldBIqLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd0lkGiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93Ii3CuBgpCAEQMiIFdmFsdWUqHHVuYXV0aG9yaXplZCB0byBnZXQgd29ya2Zsb3cSdgoOZ2V0QnlSZWZlcmVuY2USNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2UaKC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3ciBNC4GAESjQEKDGxpc3RWZXJzaW9ucxI5LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5MaXN0V29ya2Zsb3dWZXJzaW9uc0lucHV0GjwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLkxpc3RXb3JrZmxvd1ZlcnNpb25zUmVzcG9uc2UiBNC4GAESuAEKCmdldFZlcnNpb24SNy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuR2V0V29ya2Zsb3dWZXJzaW9uSW5wdXQaNC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3dWZXJzaW9uRW50cnkiO8K4GDcIARAyIgt3b3JrZmxvd19pZCokdW5hdXRob3JpemVkIHRvIGdldCB3b3JrZmxvdyB2ZXJzaW9uGgSg/ysyYgZwcm90bzM", [file_ai_stigmer_agentic_workflow_v1_api, file_ai_stigmer_agentic_workflow_v1_io, file_ai_stigmer_agentic_workflow_v1_version, file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options]);
14
15
  /**
15
16
  * WorkflowQueryController handles read operations for workflows.
16
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflow/v1/query_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,0HAA0H;AAC1H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAY,aAAa,CAC7E,QAAQ,CAAC,4fAA4f,EAAE,CAAC,uCAAuC,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAEzuB;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GA0B/B,aAAa,CAChB,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflow/v1/query_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,0HAA0H;AAC1H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,2CAA2C,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAY,aAAa,CAC7E,QAAQ,CAAC,q7BAAq7B,EAAE,CAAC,uCAAuC,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAE/sC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAoE/B,aAAa,CAChB,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC"}
@@ -40,6 +40,28 @@ export type WorkflowStatus = Message<"ai.stigmer.agentic.workflow.v1.WorkflowSta
40
40
  * @generated from field: ai.stigmer.agentic.workflow.v1.serverless.ServerlessWorkflowValidation serverless_workflow_validation = 2;
41
41
  */
42
42
  serverlessWorkflowValidation?: ServerlessWorkflowValidation;
43
+ /**
44
+ * SHA-256 hash of the generated CNCF YAML for the current valid version.
45
+ *
46
+ * @internal
47
+ * Updated only when validation produces state=VALID and the generated YAML
48
+ * differs from the previous version's hash. Empty for workflows that have
49
+ * never passed validation.
50
+ *
51
+ * This is the content-addressed version identifier for the workflow definition.
52
+ * The hash is computed from the `serverless_workflow_validation.yaml` string,
53
+ * ensuring that "same YAML = same hash = same execution behavior."
54
+ *
55
+ * Consumers:
56
+ * - Execution create pipeline reads this to pin executions to a specific version
57
+ * - getByReference resolves ApiResourceReference.version against this and audit entries
58
+ * - UI displays this as the current version identifier
59
+ *
60
+ * @since Workflow Versioning
61
+ *
62
+ * @generated from field: string version_hash = 3;
63
+ */
64
+ versionHash: string;
43
65
  };
44
66
  /**
45
67
  * Describes the message ai.stigmer.agentic.workflow.v1.WorkflowStatus.
@@ -7,7 +7,7 @@ import { file_ai_stigmer_commons_apiresource_status } from "../../../commons/api
7
7
  /**
8
8
  * Describes the file ai/stigmer/agentic/workflow/v1/status.proto.
9
9
  */
10
- export const file_ai_stigmer_agentic_workflow_v1_status = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvc3RhdHVzLnByb3RvEh5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEi3wEKDldvcmtmbG93U3RhdHVzEj8KBWF1ZGl0GGMgASgLMjAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXQSGwoTZGVmYXVsdF9pbnN0YW5jZV9pZBgBIAEoCRJvCh5zZXJ2ZXJsZXNzX3dvcmtmbG93X3ZhbGlkYXRpb24YAiABKAsyRy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuc2VydmVybGVzcy5TZXJ2ZXJsZXNzV29ya2Zsb3dWYWxpZGF0aW9uYgZwcm90bzM", [file_ai_stigmer_agentic_workflow_v1_serverless_validation, file_ai_stigmer_commons_apiresource_status]);
10
+ export const file_ai_stigmer_agentic_workflow_v1_status = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvc3RhdHVzLnByb3RvEh5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEi9QEKDldvcmtmbG93U3RhdHVzEj8KBWF1ZGl0GGMgASgLMjAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXQSGwoTZGVmYXVsdF9pbnN0YW5jZV9pZBgBIAEoCRJvCh5zZXJ2ZXJsZXNzX3dvcmtmbG93X3ZhbGlkYXRpb24YAiABKAsyRy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuc2VydmVybGVzcy5TZXJ2ZXJsZXNzV29ya2Zsb3dWYWxpZGF0aW9uEhQKDHZlcnNpb25faGFzaBgDIAEoCWIGcHJvdG8z", [file_ai_stigmer_agentic_workflow_v1_serverless_validation, file_ai_stigmer_commons_apiresource_status]);
11
11
  /**
12
12
  * Describes the message ai.stigmer.agentic.workflow.v1.WorkflowStatus.
13
13
  * Use `create(WorkflowStatusSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"status_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflow/v1/status_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,2HAA2H;AAC3H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,yDAAyD,EAAE,MAAM,+BAA+B,CAAC;AAE1G,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAGvG;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,iaAAia,EAAE,CAAC,yDAAyD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAwCvhB;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"status_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflow/v1/status_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,2HAA2H;AAC3H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,yDAAyD,EAAE,MAAM,+BAA+B,CAAC;AAE1G,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAGvG;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,8bAA8b,EAAE,CAAC,yDAAyD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AA+DpjB;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,281 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
+ import type { ApiResourceAuditActor } from "../../../commons/apiresource/status_pb.js";
3
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file ai/stigmer/agentic/workflow/v1/version.proto.
7
+ */
8
+ export declare const file_ai_stigmer_agentic_workflow_v1_version: GenFile;
9
+ /**
10
+ * WorkflowVersionEntry represents a single historical version of a workflow.
11
+ *
12
+ * Each apply/update that changes the generated CNCF YAML (and passes validation)
13
+ * creates a new immutable version entry. The version is identified by its content
14
+ * hash (SHA-256 of the validated YAML).
15
+ *
16
+ * @internal
17
+ * Stored in the resource_audit table (OSS SQLite) or workflow_audit collection
18
+ * (Cloud MongoDB). Entries are immutable after creation — a version's content
19
+ * never changes, only its tag can be reassigned via tagVersion.
20
+ *
21
+ * @since Workflow Versioning
22
+ *
23
+ * @generated from message ai.stigmer.agentic.workflow.v1.WorkflowVersionEntry
24
+ */
25
+ export type WorkflowVersionEntry = Message<"ai.stigmer.agentic.workflow.v1.WorkflowVersionEntry"> & {
26
+ /**
27
+ * SHA-256 hash of the CNCF YAML — the immutable version identifier.
28
+ *
29
+ * @generated from field: string version_hash = 1;
30
+ */
31
+ versionHash: string;
32
+ /**
33
+ * When this version was created (the apply/update timestamp).
34
+ *
35
+ * @generated from field: google.protobuf.Timestamp applied_at = 2;
36
+ */
37
+ appliedAt?: Timestamp;
38
+ /**
39
+ * Who created this version (the actor who triggered the apply/update).
40
+ *
41
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceAuditActor applied_by = 3;
42
+ */
43
+ appliedBy?: ApiResourceAuditActor;
44
+ /**
45
+ * Tag assigned to this version at apply time or via tagVersion.
46
+ * May be empty if the version was applied without a tag.
47
+ * Examples: "stable", "v1.0", "production"
48
+ *
49
+ * @internal
50
+ * Tags are mutable pointers — calling tagVersion moves a tag to a different
51
+ * version. When resolving by tag, the system returns the most recent audit
52
+ * entry with that tag (ordered by applied_at DESC).
53
+ *
54
+ * @generated from field: string tag = 4;
55
+ */
56
+ tag: string;
57
+ /**
58
+ * Whether this is the currently active version of the workflow.
59
+ *
60
+ * @generated from field: bool is_current = 5;
61
+ */
62
+ isCurrent: boolean;
63
+ /**
64
+ * Human-readable message describing what changed in this version.
65
+ * Analogous to a git commit message.
66
+ *
67
+ * @generated from field: string message = 6;
68
+ */
69
+ message: string;
70
+ /**
71
+ * The generated CNCF Serverless Workflow DSL 1.0.0 YAML for this version.
72
+ *
73
+ * @internal
74
+ * Used by the runner (to execute the workflow) and the execution viewer
75
+ * (to render the graph for historical executions). This is the exact YAML
76
+ * that was validated at the time this version was created.
77
+ *
78
+ * @generated from field: string validated_yaml = 7;
79
+ */
80
+ validatedYaml: string;
81
+ /**
82
+ * Git provenance tracking where this version's definition originated.
83
+ * Absent when applied from a non-git directory or via the web editor.
84
+ *
85
+ * @internal
86
+ * Populated by CLI during apply when the working directory is within a
87
+ * git repository. Provides traceability and enables "view on GitHub" links.
88
+ *
89
+ * @generated from field: ai.stigmer.agentic.workflow.v1.GitProvenance git_provenance = 8;
90
+ */
91
+ gitProvenance?: GitProvenance;
92
+ };
93
+ /**
94
+ * Describes the message ai.stigmer.agentic.workflow.v1.WorkflowVersionEntry.
95
+ * Use `create(WorkflowVersionEntrySchema)` to create a new message.
96
+ */
97
+ export declare const WorkflowVersionEntrySchema: GenMessage<WorkflowVersionEntry>;
98
+ /**
99
+ * GitProvenance tracks the git origin of a workflow version.
100
+ *
101
+ * @internal
102
+ * Reuses the same structure as Skill's GitProvenance for consistency.
103
+ * Populated by the CLI during apply when the directory is a git repo.
104
+ *
105
+ * @since Workflow Versioning
106
+ *
107
+ * @generated from message ai.stigmer.agentic.workflow.v1.GitProvenance
108
+ */
109
+ export type GitProvenance = Message<"ai.stigmer.agentic.workflow.v1.GitProvenance"> & {
110
+ /**
111
+ * Git remote URL (e.g., "https://github.com/org/repo.git").
112
+ *
113
+ * @generated from field: string remote_url = 1;
114
+ */
115
+ remoteUrl: string;
116
+ /**
117
+ * Original git reference (branch or tag name, e.g., "main", "v1.0.0").
118
+ *
119
+ * @generated from field: string ref = 2;
120
+ */
121
+ ref: string;
122
+ /**
123
+ * Resolved commit SHA (full 40-character SHA).
124
+ *
125
+ * @generated from field: string commit = 3;
126
+ */
127
+ commit: string;
128
+ /**
129
+ * Subdirectory path relative to repo root. Empty if at root.
130
+ *
131
+ * @generated from field: string subdir = 4;
132
+ */
133
+ subdir: string;
134
+ };
135
+ /**
136
+ * Describes the message ai.stigmer.agentic.workflow.v1.GitProvenance.
137
+ * Use `create(GitProvenanceSchema)` to create a new message.
138
+ */
139
+ export declare const GitProvenanceSchema: GenMessage<GitProvenance>;
140
+ /**
141
+ * ListWorkflowVersionsInput requests the version history for a workflow.
142
+ *
143
+ * Returns all historical versions ordered by applied_at (newest first).
144
+ * Used by the Console, SDK, and CLI to render version timelines and
145
+ * enable version comparison.
146
+ *
147
+ * @since Workflow Versioning
148
+ *
149
+ * @generated from message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsInput
150
+ */
151
+ export type ListWorkflowVersionsInput = Message<"ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsInput"> & {
152
+ /**
153
+ * Organization that owns the workflow.
154
+ *
155
+ * @generated from field: string org = 1;
156
+ */
157
+ org: string;
158
+ /**
159
+ * Workflow slug (unique within the organization).
160
+ *
161
+ * @generated from field: string slug = 2;
162
+ */
163
+ slug: string;
164
+ /**
165
+ * Opaque token for cursor-based pagination.
166
+ * Empty string or omitted for the first page.
167
+ *
168
+ * @generated from field: string page_token = 3;
169
+ */
170
+ pageToken: string;
171
+ /**
172
+ * Maximum number of versions to return per page.
173
+ * Server may return fewer. Default is 50, max is 100.
174
+ *
175
+ * @generated from field: int32 page_size = 4;
176
+ */
177
+ pageSize: number;
178
+ };
179
+ /**
180
+ * Describes the message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsInput.
181
+ * Use `create(ListWorkflowVersionsInputSchema)` to create a new message.
182
+ */
183
+ export declare const ListWorkflowVersionsInputSchema: GenMessage<ListWorkflowVersionsInput>;
184
+ /**
185
+ * ListWorkflowVersionsResponse contains a page of workflow version history.
186
+ *
187
+ * @since Workflow Versioning
188
+ *
189
+ * @generated from message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsResponse
190
+ */
191
+ export type ListWorkflowVersionsResponse = Message<"ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsResponse"> & {
192
+ /**
193
+ * Ordered list of versions (newest first).
194
+ *
195
+ * @generated from field: repeated ai.stigmer.agentic.workflow.v1.WorkflowVersionEntry versions = 1;
196
+ */
197
+ versions: WorkflowVersionEntry[];
198
+ /**
199
+ * Token for fetching the next page. Empty when no more pages exist.
200
+ *
201
+ * @generated from field: string next_page_token = 2;
202
+ */
203
+ nextPageToken: string;
204
+ /**
205
+ * Total number of versions across all pages.
206
+ *
207
+ * @generated from field: int32 total_count = 3;
208
+ */
209
+ totalCount: number;
210
+ };
211
+ /**
212
+ * Describes the message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsResponse.
213
+ * Use `create(ListWorkflowVersionsResponseSchema)` to create a new message.
214
+ */
215
+ export declare const ListWorkflowVersionsResponseSchema: GenMessage<ListWorkflowVersionsResponse>;
216
+ /**
217
+ * GetWorkflowVersionInput requests a specific historical version of a workflow.
218
+ *
219
+ * Used by the runner (to hydrate execution from a pinned version) and the
220
+ * execution viewer (to render the graph for historical executions).
221
+ *
222
+ * @since Workflow Versioning
223
+ *
224
+ * @generated from message ai.stigmer.agentic.workflow.v1.GetWorkflowVersionInput
225
+ */
226
+ export type GetWorkflowVersionInput = Message<"ai.stigmer.agentic.workflow.v1.GetWorkflowVersionInput"> & {
227
+ /**
228
+ * ID of the workflow resource.
229
+ *
230
+ * @generated from field: string workflow_id = 1;
231
+ */
232
+ workflowId: string;
233
+ /**
234
+ * SHA-256 hash identifying the specific version to retrieve.
235
+ *
236
+ * @generated from field: string version_hash = 2;
237
+ */
238
+ versionHash: string;
239
+ };
240
+ /**
241
+ * Describes the message ai.stigmer.agentic.workflow.v1.GetWorkflowVersionInput.
242
+ * Use `create(GetWorkflowVersionInputSchema)` to create a new message.
243
+ */
244
+ export declare const GetWorkflowVersionInputSchema: GenMessage<GetWorkflowVersionInput>;
245
+ /**
246
+ * TagWorkflowVersionInput assigns or moves a tag to a specific workflow version.
247
+ *
248
+ * Tags are mutable pointers — calling tagVersion with an existing tag name
249
+ * moves it from the previous version to the specified version. A version can
250
+ * have at most one tag (set at apply time or via this RPC).
251
+ *
252
+ * @since Workflow Versioning
253
+ *
254
+ * @generated from message ai.stigmer.agentic.workflow.v1.TagWorkflowVersionInput
255
+ */
256
+ export type TagWorkflowVersionInput = Message<"ai.stigmer.agentic.workflow.v1.TagWorkflowVersionInput"> & {
257
+ /**
258
+ * ID of the workflow resource.
259
+ *
260
+ * @generated from field: string workflow_id = 1;
261
+ */
262
+ workflowId: string;
263
+ /**
264
+ * SHA-256 hash of the version to tag.
265
+ *
266
+ * @generated from field: string version_hash = 2;
267
+ */
268
+ versionHash: string;
269
+ /**
270
+ * Tag to assign. Must be a non-empty alphanumeric string with dots, hyphens,
271
+ * or underscores (same pattern as Skill tags).
272
+ *
273
+ * @generated from field: string tag = 3;
274
+ */
275
+ tag: string;
276
+ };
277
+ /**
278
+ * Describes the message ai.stigmer.agentic.workflow.v1.TagWorkflowVersionInput.
279
+ * Use `create(TagWorkflowVersionInputSchema)` to create a new message.
280
+ */
281
+ export declare const TagWorkflowVersionInputSchema: GenMessage<TagWorkflowVersionInput>;
@@ -0,0 +1,42 @@
1
+ // @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=js"
2
+ // @generated from file ai/stigmer/agentic/workflow/v1/version.proto (package ai.stigmer.agentic.workflow.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_ai_stigmer_commons_apiresource_status } from "../../../commons/apiresource/status_pb.js";
6
+ import { file_buf_validate_validate } from "../../../../../buf/validate/validate_pb.js";
7
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
8
+ /**
9
+ * Describes the file ai/stigmer/agentic/workflow/v1/version.proto.
10
+ */
11
+ export const file_ai_stigmer_agentic_workflow_v1_version = /*@__PURE__*/ fileDesc("CixhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdmVyc2lvbi5wcm90bxIeYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxIrgCChRXb3JrZmxvd1ZlcnNpb25FbnRyeRIUCgx2ZXJzaW9uX2hhc2gYASABKAkSLgoKYXBwbGllZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSQoKYXBwbGllZF9ieRgDIAEoCzI1LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0QWN0b3ISCwoDdGFnGAQgASgJEhIKCmlzX2N1cnJlbnQYBSABKAgSDwoHbWVzc2FnZRgGIAEoCRIWCg52YWxpZGF0ZWRfeWFtbBgHIAEoCRJFCg5naXRfcHJvdmVuYW5jZRgIIAEoCzItLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5HaXRQcm92ZW5hbmNlIlAKDUdpdFByb3ZlbmFuY2USEgoKcmVtb3RlX3VybBgBIAEoCRILCgNyZWYYAiABKAkSDgoGY29tbWl0GAMgASgJEg4KBnN1YmRpchgEIAEoCSJtChlMaXN0V29ya2Zsb3dWZXJzaW9uc0lucHV0EhMKA29yZxgBIAEoCUIGukgDyAEBEhQKBHNsdWcYAiABKAlCBrpIA8gBARISCgpwYWdlX3Rva2VuGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBSKUAQocTGlzdFdvcmtmbG93VmVyc2lvbnNSZXNwb25zZRJGCgh2ZXJzaW9ucxgBIAMoCzI0LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1ZlcnNpb25FbnRyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUiYwoXR2V0V29ya2Zsb3dWZXJzaW9uSW5wdXQSGwoLd29ya2Zsb3dfaWQYASABKAlCBrpIA8gBARIrCgx2ZXJzaW9uX2hhc2gYAiABKAlCFbpIEnIQMg5eW2EtZjAtOV17NjR9JCKMAQoXVGFnV29ya2Zsb3dWZXJzaW9uSW5wdXQSGwoLd29ya2Zsb3dfaWQYASABKAlCBrpIA8gBARIrCgx2ZXJzaW9uX2hhc2gYAiABKAlCFbpIEnIQMg5eW2EtZjAtOV17NjR9JBInCgN0YWcYAyABKAlCGrpIF3IVEAEyEV5bYS16QS1aMC05Ll8tXSskYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate, file_google_protobuf_timestamp]);
12
+ /**
13
+ * Describes the message ai.stigmer.agentic.workflow.v1.WorkflowVersionEntry.
14
+ * Use `create(WorkflowVersionEntrySchema)` to create a new message.
15
+ */
16
+ export const WorkflowVersionEntrySchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 0);
17
+ /**
18
+ * Describes the message ai.stigmer.agentic.workflow.v1.GitProvenance.
19
+ * Use `create(GitProvenanceSchema)` to create a new message.
20
+ */
21
+ export const GitProvenanceSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 1);
22
+ /**
23
+ * Describes the message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsInput.
24
+ * Use `create(ListWorkflowVersionsInputSchema)` to create a new message.
25
+ */
26
+ export const ListWorkflowVersionsInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 2);
27
+ /**
28
+ * Describes the message ai.stigmer.agentic.workflow.v1.ListWorkflowVersionsResponse.
29
+ * Use `create(ListWorkflowVersionsResponseSchema)` to create a new message.
30
+ */
31
+ export const ListWorkflowVersionsResponseSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 3);
32
+ /**
33
+ * Describes the message ai.stigmer.agentic.workflow.v1.GetWorkflowVersionInput.
34
+ * Use `create(GetWorkflowVersionInputSchema)` to create a new message.
35
+ */
36
+ export const GetWorkflowVersionInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 4);
37
+ /**
38
+ * Describes the message ai.stigmer.agentic.workflow.v1.TagWorkflowVersionInput.
39
+ * Use `create(TagWorkflowVersionInputSchema)` to create a new message.
40
+ */
41
+ export const TagWorkflowVersionInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflow_v1_version, 5);
42
+ //# sourceMappingURL=version_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflow/v1/version_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,4HAA4H;AAC5H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAY,aAAa,CAC/E,QAAQ,CAAC,yyCAAyyC,EAAE,CAAC,0CAA0C,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,CAAC,CAAC;AA8Fh6C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;AA2C9D;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,aAAa,CACzE,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;AA6C9D;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C,aAAa,CACjG,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;AAgC9D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;AA4B9D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;AAqC9D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC"}
@@ -325,11 +325,15 @@ export type WorkflowExecutionStatus = Message<"ai.stigmer.agentic.workflowexecut
325
325
  * EXECUTION_WAITING_FOR_APPROVAL phase. This surfaces all approval
326
326
  * requests at the workflow level for UI visibility.
327
327
  *
328
- * Full-Replace Protocol:
329
- * The workflow-runner always sends the complete set of pending approvals
330
- * via UpdateStatus. The server replaces the stored list unconditionally:
328
+ * Guarded Update Protocol:
329
+ * This field is only modified when UpdateStatusInput.update_pending_approvals
330
+ * is explicitly set to true. Normal event emissions (which don't concern
331
+ * approvals) leave this field untouched, preventing race conditions between
332
+ * concurrent status writers.
333
+ *
334
+ * Only call-agent-status manages this field:
331
335
  * - Non-empty list: child agent(s) need approval
332
- * - Empty list: all approvals resolved, clear the field
336
+ * - Empty list + update_pending_approvals=true: all approvals resolved
333
337
  *
334
338
  * Parallel Agents:
335
339
  * When multiple child agents run in parallel, entries from different children
@@ -379,6 +383,30 @@ export type WorkflowExecutionStatus = Message<"ai.stigmer.agentic.workflowexecut
379
383
  * @generated from field: int64 total_output_tokens = 12;
380
384
  */
381
385
  totalOutputTokens: bigint;
386
+ /**
387
+ * SHA-256 hash identifying which workflow version was used for this execution.
388
+ *
389
+ * @internal
390
+ * Pinned at execution creation time from Workflow.status.version_hash.
391
+ * Immutable after creation — represents the exact workflow definition this
392
+ * execution ran (or will run, if still pending).
393
+ *
394
+ * Consumers:
395
+ * - Runner: fetches the version-specific CNCF YAML via getVersion() during
396
+ * hydration, ensuring the execution runs the intended definition even if
397
+ * the workflow has been updated since creation.
398
+ * - Execution viewer: fetches the version entry to render the correct graph
399
+ * for historical executions, eliminating the version mismatch problem.
400
+ *
401
+ * Empty for executions created before workflow versioning was introduced.
402
+ * In that case, consumers fall back to fetching the current workflow
403
+ * definition (legacy behavior with mismatch warning).
404
+ *
405
+ * @since Workflow Versioning
406
+ *
407
+ * @generated from field: string workflow_version_hash = 13;
408
+ */
409
+ workflowVersionHash: string;
382
410
  };
383
411
  /**
384
412
  * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowExecutionStatus.
@@ -12,7 +12,7 @@ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
12
12
  /**
13
13
  * Describes the file ai/stigmer/agentic/workflowexecution/v1/api.proto.
14
14
  */
15
- export const file_ai_stigmer_agentic_workflowexecution_v1_api = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvYXBpLnByb3RvEidhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEi3QIKEVdvcmtmbG93RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiYKBGtpbmQYAiABKAlCGLpIFXITChFXb3JrZmxvd0V4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESTAoEc3BlYxgEIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvblNwZWMSUAoGc3RhdHVzGAUgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3RhdHVzIqMEChdXb3JrZmxvd0V4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ElAKBXBoYXNlGAEgASgOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlQgi6SAWCAQIQARJECgV0YXNrcxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2sSJwoGb3V0cHV0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVlcnJvchgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRIcChR0ZW1wb3JhbF93b3JrZmxvd19pZBgHIAEoCRJbChFwZW5kaW5nX2FwcHJvdmFscxgJIAMoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1BlbmRpbmdBcHByb3ZhbBIZChF0b3RhbF9jb3N0X21pY3JvcxgKIAEoAxIaChJ0b3RhbF9pbnB1dF90b2tlbnMYCyABKAMSGwoTdG90YWxfb3V0cHV0X3Rva2VucxgMIAEoAyKEAQoXV29ya2Zsb3dQZW5kaW5nQXBwcm92YWwSRwoIYXBwcm92YWwYASABKAsyNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuUGVuZGluZ0FwcHJvdmFsEiAKGGNoaWxkX2FnZW50X2V4ZWN1dGlvbl9pZBgCIAEoCSLuAwoMV29ya2Zsb3dUYXNrEg8KB3Rhc2tfaWQYASABKAkSEQoJdGFza19uYW1lGAIgASgJElYKCXRhc2tfdHlwZRgDIAEoDjI5LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2tUeXBlQgi6SAWCAQIQARImCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGb3V0cHV0GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJVCgZzdGF0dXMYBiABKA4yOy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dUYXNrU3RhdHVzQgi6SAWCAQIQARISCgpzdGFydGVkX2F0GAcgASgJEhQKDGNvbXBsZXRlZF9hdBgIIAEoCRINCgVlcnJvchgJIAEoCRIpCghtZXRhZGF0YRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMYXJ0aWZhY3RfaWRzGAsgAygJEhMKC2Nvc3RfbWljcm9zGAwgASgDEhQKDGlucHV0X3Rva2VucxgNIAEoAxIVCg1vdXRwdXRfdG9rZW5zGA4gASgDYgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_workflowexecution_v1_enum, file_ai_stigmer_agentic_workflowexecution_v1_spec, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate, file_google_protobuf_struct]);
15
+ export const file_ai_stigmer_agentic_workflowexecution_v1_api = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvYXBpLnByb3RvEidhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEi3QIKEVdvcmtmbG93RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiYKBGtpbmQYAiABKAlCGLpIFXITChFXb3JrZmxvd0V4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESTAoEc3BlYxgEIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvblNwZWMSUAoGc3RhdHVzGAUgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3RhdHVzIsIEChdXb3JrZmxvd0V4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ElAKBXBoYXNlGAEgASgOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlQgi6SAWCAQIQARJECgV0YXNrcxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2sSJwoGb3V0cHV0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVlcnJvchgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRIcChR0ZW1wb3JhbF93b3JrZmxvd19pZBgHIAEoCRJbChFwZW5kaW5nX2FwcHJvdmFscxgJIAMoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1BlbmRpbmdBcHByb3ZhbBIZChF0b3RhbF9jb3N0X21pY3JvcxgKIAEoAxIaChJ0b3RhbF9pbnB1dF90b2tlbnMYCyABKAMSGwoTdG90YWxfb3V0cHV0X3Rva2VucxgMIAEoAxIdChV3b3JrZmxvd192ZXJzaW9uX2hhc2gYDSABKAkihAEKF1dvcmtmbG93UGVuZGluZ0FwcHJvdmFsEkcKCGFwcHJvdmFsGAEgASgLMjUuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlBlbmRpbmdBcHByb3ZhbBIgChhjaGlsZF9hZ2VudF9leGVjdXRpb25faWQYAiABKAki7gMKDFdvcmtmbG93VGFzaxIPCgd0YXNrX2lkGAEgASgJEhEKCXRhc2tfbmFtZRgCIAEoCRJWCgl0YXNrX3R5cGUYAyABKA4yOS5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dUYXNrVHlwZUIIukgFggECEAESJgoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBm91dHB1dBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSVQoGc3RhdHVzGAYgASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93VGFza1N0YXR1c0IIukgFggECEAESEgoKc3RhcnRlZF9hdBgHIAEoCRIUCgxjb21wbGV0ZWRfYXQYCCABKAkSDQoFZXJyb3IYCSABKAkSKQoIbWV0YWRhdGEYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGFydGlmYWN0X2lkcxgLIAMoCRITCgtjb3N0X21pY3JvcxgMIAEoAxIUCgxpbnB1dF90b2tlbnMYDSABKAMSFQoNb3V0cHV0X3Rva2VucxgOIAEoA2IGcHJvdG8z", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_workflowexecution_v1_enum, file_ai_stigmer_agentic_workflowexecution_v1_spec, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate, file_google_protobuf_struct]);
16
16
  /**
17
17
  * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowExecution.
18
18
  * Use `create(WorkflowExecutionSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflowexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,0IAA0I;AAC1I,oBAAoB;AAYpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,wCAAwC,CAAC;AAE5G,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,4CAA4C,EAAE,MAAM,6CAA6C,CAAC;AAE3G,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,qoEAAqoE,EAAE,CAAC,kDAAkD,EAAE,iDAAiD,EAAE,iDAAiD,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAqJj8E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AA8OnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAmCnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAkOnE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflowexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,0IAA0I;AAC1I,oBAAoB;AAYpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,wCAAwC,CAAC;AAE5G,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,4CAA4C,EAAE,MAAM,6CAA6C,CAAC;AAE3G,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,8qEAA8qE,EAAE,CAAC,kDAAkD,EAAE,iDAAiD,EAAE,iDAAiD,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAqJ1+E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AA2QnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAmCnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAkOnE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
@@ -499,12 +499,12 @@ export declare const WorkflowExecutionCommandController: {
499
499
  *
500
500
  * Preconditions
501
501
  *
502
- * - Execution must be in EXECUTION_PENDING or EXECUTION_IN_PROGRESS phase
502
+ * - Execution must be in EXECUTION_PENDING, EXECUTION_IN_PROGRESS, or EXECUTION_PAUSED phase
503
503
  * - Cannot cancel already-terminal executions (COMPLETED, FAILED, CANCELLED, TERMINATED)
504
504
  *
505
505
  * State Transitions
506
506
  *
507
- * - status.phase: PENDING/IN_PROGRESS → CANCELLED
507
+ * - status.phase: PENDING/IN_PROGRESS/PAUSED → CANCELLED
508
508
  * - status.completed_at: Set to current timestamp
509
509
  * - In-progress tasks: May complete cleanup or be interrupted
510
510
  *
@@ -568,12 +568,12 @@ export declare const WorkflowExecutionCommandController: {
568
568
  *
569
569
  * Preconditions
570
570
  *
571
- * - Execution must be in EXECUTION_PENDING or EXECUTION_IN_PROGRESS phase
571
+ * - Execution must be in EXECUTION_PENDING, EXECUTION_IN_PROGRESS, or EXECUTION_PAUSED phase
572
572
  * - Cannot terminate already-terminal executions
573
573
  *
574
574
  * State Transitions
575
575
  *
576
- * - status.phase: PENDING/IN_PROGRESS → TERMINATED
576
+ * - status.phase: PENDING/IN_PROGRESS/PAUSED → TERMINATED
577
577
  * - status.completed_at: Set to current timestamp
578
578
  * - status.error: May contain termination reason
579
579
  * - In-progress tasks: Stopped abruptly (no cleanup)
@@ -628,23 +628,44 @@ export declare const WorkflowExecutionCommandController: {
628
628
  readonly kind: any;
629
629
  };
630
630
  /**
631
- * Recover a failed workflow execution from the last checkpoint.
631
+ * Recover a failed workflow execution.
632
632
  *
633
- * Resumes execution from the last successful point. Completed work is
634
- * preserved - successful tasks are NOT re-executed. This enables
635
- * "retry and resume" semantics without duplicating side effects.
633
+ * Terminates the existing (possibly stuck) Temporal orchestrator and child
634
+ * workflows, recreates the ExecutionContext with freshly resolved environment
635
+ * variables, and starts a new Temporal workflow with recovery mode enabled.
636
+ * The workflow engine reads completed task outputs from the persisted event
637
+ * log, skips those tasks, and resumes execution from the first incomplete or
638
+ * failed task — preserving all previously completed work.
636
639
  *
637
640
  * @internal
638
- * Temporal Equivalent: `temporal workflow reset --workflow-id <id> --type LastWorkflowTask`
641
+ * Temporal Equivalent: Terminates the existing orchestrator and child
642
+ * workflows, starts a fresh orchestrator with the same workflow ID and
643
+ * recoveryMode: true in the workflow input.
639
644
  *
640
645
  * Behavior
641
646
  *
642
647
  * 1. Validates execution is in FAILED phase (recoverable)
643
- * 2. Identifies the last successful checkpoint in workflow history
644
- * 3. Creates new Temporal run from that checkpoint via ResetWorkflow
645
- * 4. Execution transitions from FAILED to IN_PROGRESS phase
646
- * 5. Workflow continues from where it failed
647
- * 6. Returns updated WorkflowExecution with IN_PROGRESS phase
648
+ * 2. Terminates the existing Temporal orchestrator workflow and its child
649
+ * TS runner workflow (handles stuck Workflow-Task-Failed loops and
650
+ * already-completed workflows gracefully)
651
+ * 3. Recreates the ExecutionContext with freshly resolved environment
652
+ * variables from the current WorkflowInstance and Workflow configuration
653
+ * 4. Starts a fresh Temporal orchestrator workflow with recoveryMode flag;
654
+ * the engine loads completed task outputs from the event log, skips
655
+ * those tasks (emitting task_skipped events), and resumes from the
656
+ * first non-completed task
657
+ * 5. Event sequence continues from the persisted high-water mark (no
658
+ * duplicate keys, no gaps)
659
+ * 6. Execution transitions from FAILED to IN_PROGRESS phase
660
+ * 7. Returns updated WorkflowExecution with IN_PROGRESS phase
661
+ *
662
+ * Environment Resolution
663
+ *
664
+ * Environment variables are re-resolved from the current WorkflowInstance
665
+ * environment_refs and Workflow env declarations. This is desirable: if the
666
+ * user fixed an environment value (e.g., rotated an API key), recovery picks
667
+ * up the fix. Runtime env overrides (runtime_env) provided at original
668
+ * execution time are not preserved — they were stripped before persist.
648
669
  *
649
670
  * Preconditions
650
671
  *
@@ -658,17 +679,19 @@ export declare const WorkflowExecutionCommandController: {
658
679
  * - status.phase: FAILED → IN_PROGRESS
659
680
  * - status.completed_at: Cleared (execution is running again)
660
681
  * - status.error: Cleared (no longer failed)
661
- * - Completed tasks: Preserved (not re-executed)
662
- * - Failed tasks: Reset to pending, will be retried
682
+ * - Completed tasks: Skipped (outputs restored from event log into $context)
683
+ * - Failed/pending tasks: Re-executed from the failure point
663
684
  *
664
685
  * Recovery vs Restart
665
686
  *
666
687
  * | Aspect | recover | Create new execution |
667
688
  * |--------|---------|----------------------|
668
- * | Completed work | Preserved | Lost (re-executed) |
669
- * | Side effects | Not duplicated | May duplicate |
670
689
  * | Execution ID | Same | New ID |
671
- * | Use case | Resume after fix | Start fresh |
690
+ * | Environment | Re-resolved (current) | From request |
691
+ * | Completed tasks | Skipped (outputs preserved) | All tasks run fresh |
692
+ * | Failed task | Re-executed | All tasks run fresh |
693
+ * | Event history | Continues (appended) | Starts from 1 |
694
+ * | Use case | Fix config, then retry | Start fresh |
672
695
  *
673
696
  * Idempotency
674
697
  *
@@ -690,7 +713,7 @@ export declare const WorkflowExecutionCommandController: {
690
713
  *
691
714
  * {
692
715
  * "id": "wfx_abc123xyz456",
693
- * "reason": "Stripe API recovered, resuming payment processing"
716
+ * "reason": "Fixed API key in environment, retrying"
694
717
  * }
695
718
  *
696
719
  * Example Response
@@ -701,11 +724,7 @@ export declare const WorkflowExecutionCommandController: {
701
724
  * "metadata": { "id": "wfx_abc123xyz456" },
702
725
  * "status": {
703
726
  * "phase": 2, // EXECUTION_IN_PROGRESS
704
- * "started_at": "2026-02-07T10:00:00Z",
705
- * "tasks": [
706
- * { "task_id": "task-1", "status": 3 }, // COMPLETED (preserved)
707
- * { "task_id": "task-2", "status": 2 } // IN_PROGRESS (resumed)
708
- * ]
727
+ * "started_at": "2026-02-07T10:00:00Z"
709
728
  * }
710
729
  * }
711
730
  *