@zaalipro/dsh-workflows 0.1.0-rc.12

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 (229) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +224 -0
  3. package/README.i18n.yaml +4 -0
  4. package/README.md +111 -0
  5. package/README.zh.md +111 -0
  6. package/cordis.patch.yml +10 -0
  7. package/docs/architecture.i18n.yaml +4 -0
  8. package/docs/architecture.md +177 -0
  9. package/docs/architecture.zh.md +177 -0
  10. package/docs/testing.i18n.yaml +4 -0
  11. package/docs/testing.md +125 -0
  12. package/docs/testing.zh.md +125 -0
  13. package/docs/user-guide.i18n.yaml +4 -0
  14. package/docs/user-guide.md +351 -0
  15. package/docs/user-guide.zh.md +351 -0
  16. package/lib/client-types/WorkflowMemberInspector.d.ts +28 -0
  17. package/lib/client-types/WorkflowMemberInspector.d.ts.map +1 -0
  18. package/lib/client-types/WorkflowMemberInspector.js +181 -0
  19. package/lib/client-types/WorkflowMemberInspector.js.map +1 -0
  20. package/lib/client-types/WorkflowRunPanel.d.ts +43 -0
  21. package/lib/client-types/WorkflowRunPanel.d.ts.map +1 -0
  22. package/lib/client-types/WorkflowRunPanel.js +130 -0
  23. package/lib/client-types/WorkflowRunPanel.js.map +1 -0
  24. package/lib/client-types/WorkflowsDashboard.d.ts +49 -0
  25. package/lib/client-types/WorkflowsDashboard.d.ts.map +1 -0
  26. package/lib/client-types/WorkflowsDashboard.js +942 -0
  27. package/lib/client-types/WorkflowsDashboard.js.map +1 -0
  28. package/lib/client-types/adapter.d.ts +60 -0
  29. package/lib/client-types/adapter.d.ts.map +1 -0
  30. package/lib/client-types/adapter.js +117 -0
  31. package/lib/client-types/adapter.js.map +1 -0
  32. package/lib/client-types/chat-renderer.d.ts +10 -0
  33. package/lib/client-types/chat-renderer.d.ts.map +1 -0
  34. package/lib/client-types/chat-renderer.js +11 -0
  35. package/lib/client-types/chat-renderer.js.map +1 -0
  36. package/lib/client-types/contract.d.ts +210 -0
  37. package/lib/client-types/contract.d.ts.map +1 -0
  38. package/lib/client-types/contract.js +37 -0
  39. package/lib/client-types/contract.js.map +1 -0
  40. package/lib/client-types/controller.d.ts +83 -0
  41. package/lib/client-types/controller.d.ts.map +1 -0
  42. package/lib/client-types/controller.js +705 -0
  43. package/lib/client-types/controller.js.map +1 -0
  44. package/lib/client-types/index.d.ts +19 -0
  45. package/lib/client-types/index.d.ts.map +1 -0
  46. package/lib/client-types/index.js +731 -0
  47. package/lib/client-types/index.js.map +1 -0
  48. package/lib/client-types/locales.d.ts +257 -0
  49. package/lib/client-types/locales.d.ts.map +1 -0
  50. package/lib/client-types/locales.js +270 -0
  51. package/lib/client-types/locales.js.map +1 -0
  52. package/lib/client-types/slot-components.d.ts +38 -0
  53. package/lib/client-types/slot-components.d.ts.map +1 -0
  54. package/lib/client-types/slot-components.js +22 -0
  55. package/lib/client-types/slot-components.js.map +1 -0
  56. package/lib/client-types/store.d.ts +69 -0
  57. package/lib/client-types/store.d.ts.map +1 -0
  58. package/lib/client-types/store.js +135 -0
  59. package/lib/client-types/store.js.map +1 -0
  60. package/lib/client-types/workflow-definition.d.ts +52 -0
  61. package/lib/client-types/workflow-definition.d.ts.map +1 -0
  62. package/lib/client-types/workflow-definition.js +135 -0
  63. package/lib/client-types/workflow-definition.js.map +1 -0
  64. package/lib/client.js +11065 -0
  65. package/lib/client.js.map +1 -0
  66. package/lib/compat-engine/index.js +1926 -0
  67. package/lib/compat-engine/index.js.map +1 -0
  68. package/lib/compat-engine/worker.cjs +1500 -0
  69. package/lib/compat-engine/worker.cjs.map +1 -0
  70. package/lib/typert.host.d.ts +3 -0
  71. package/lib/typert.host.js +1709 -0
  72. package/lib/typert.remote-client.d.ts +57 -0
  73. package/lib/typert.remote-client.js +1662 -0
  74. package/lib/types/commands/aliases.d.ts +4 -0
  75. package/lib/types/commands/aliases.d.ts.map +1 -0
  76. package/lib/types/commands/aliases.js +25 -0
  77. package/lib/types/commands/aliases.js.map +1 -0
  78. package/lib/types/commands/index.d.ts +66 -0
  79. package/lib/types/commands/index.d.ts.map +1 -0
  80. package/lib/types/commands/index.js +550 -0
  81. package/lib/types/commands/index.js.map +1 -0
  82. package/lib/types/commands/parser.d.ts +17 -0
  83. package/lib/types/commands/parser.d.ts.map +1 -0
  84. package/lib/types/commands/parser.js +45 -0
  85. package/lib/types/commands/parser.js.map +1 -0
  86. package/lib/types/config.d.ts +71 -0
  87. package/lib/types/config.d.ts.map +1 -0
  88. package/lib/types/config.js +109 -0
  89. package/lib/types/config.js.map +1 -0
  90. package/lib/types/index.d.ts +41 -0
  91. package/lib/types/index.d.ts.map +1 -0
  92. package/lib/types/index.js +483 -0
  93. package/lib/types/index.js.map +1 -0
  94. package/lib/types/invariant.d.ts +21 -0
  95. package/lib/types/invariant.d.ts.map +1 -0
  96. package/lib/types/invariant.js +85 -0
  97. package/lib/types/invariant.js.map +1 -0
  98. package/lib/types/registry/definition.d.ts +24 -0
  99. package/lib/types/registry/definition.d.ts.map +1 -0
  100. package/lib/types/registry/definition.js +189 -0
  101. package/lib/types/registry/definition.js.map +1 -0
  102. package/lib/types/registry/index.d.ts +100 -0
  103. package/lib/types/registry/index.d.ts.map +1 -0
  104. package/lib/types/registry/index.js +899 -0
  105. package/lib/types/registry/index.js.map +1 -0
  106. package/lib/types/registry/names.d.ts +19 -0
  107. package/lib/types/registry/names.d.ts.map +1 -0
  108. package/lib/types/registry/names.js +69 -0
  109. package/lib/types/registry/names.js.map +1 -0
  110. package/lib/types/registry/remote.d.ts +15 -0
  111. package/lib/types/registry/remote.d.ts.map +1 -0
  112. package/lib/types/registry/remote.js +128 -0
  113. package/lib/types/registry/remote.js.map +1 -0
  114. package/lib/types/registry/roots.d.ts +44 -0
  115. package/lib/types/registry/roots.d.ts.map +1 -0
  116. package/lib/types/registry/roots.js +118 -0
  117. package/lib/types/registry/roots.js.map +1 -0
  118. package/lib/types/registry/types.d.ts +62 -0
  119. package/lib/types/registry/types.d.ts.map +1 -0
  120. package/lib/types/registry/types.js +2 -0
  121. package/lib/types/registry/types.js.map +1 -0
  122. package/lib/types/registry/watchers.d.ts +70 -0
  123. package/lib/types/registry/watchers.d.ts.map +1 -0
  124. package/lib/types/registry/watchers.js +152 -0
  125. package/lib/types/registry/watchers.js.map +1 -0
  126. package/lib/types/remote-events.d.ts +42 -0
  127. package/lib/types/remote-events.d.ts.map +1 -0
  128. package/lib/types/remote-events.js +21 -0
  129. package/lib/types/remote-events.js.map +1 -0
  130. package/lib/types/run-recorder.d.ts +44 -0
  131. package/lib/types/run-recorder.d.ts.map +1 -0
  132. package/lib/types/run-recorder.js +356 -0
  133. package/lib/types/run-recorder.js.map +1 -0
  134. package/lib/types/supervisor/canned-validate.d.ts +25 -0
  135. package/lib/types/supervisor/canned-validate.d.ts.map +1 -0
  136. package/lib/types/supervisor/canned-validate.js +122 -0
  137. package/lib/types/supervisor/canned-validate.js.map +1 -0
  138. package/lib/types/supervisor/completion-notice.d.ts +49 -0
  139. package/lib/types/supervisor/completion-notice.d.ts.map +1 -0
  140. package/lib/types/supervisor/completion-notice.js +281 -0
  141. package/lib/types/supervisor/completion-notice.js.map +1 -0
  142. package/lib/types/supervisor/cursors.d.ts +68 -0
  143. package/lib/types/supervisor/cursors.d.ts.map +1 -0
  144. package/lib/types/supervisor/cursors.js +158 -0
  145. package/lib/types/supervisor/cursors.js.map +1 -0
  146. package/lib/types/supervisor/engine-compat.d.ts +48 -0
  147. package/lib/types/supervisor/engine-compat.d.ts.map +1 -0
  148. package/lib/types/supervisor/engine-compat.js +116 -0
  149. package/lib/types/supervisor/engine-compat.js.map +1 -0
  150. package/lib/types/supervisor/index.d.ts +183 -0
  151. package/lib/types/supervisor/index.d.ts.map +1 -0
  152. package/lib/types/supervisor/index.js +2040 -0
  153. package/lib/types/supervisor/index.js.map +1 -0
  154. package/lib/types/supervisor/parallel-compat.d.ts +36 -0
  155. package/lib/types/supervisor/parallel-compat.d.ts.map +1 -0
  156. package/lib/types/supervisor/parallel-compat.js +180 -0
  157. package/lib/types/supervisor/parallel-compat.js.map +1 -0
  158. package/lib/types/supervisor/remote.d.ts +25 -0
  159. package/lib/types/supervisor/remote.d.ts.map +1 -0
  160. package/lib/types/supervisor/remote.js +478 -0
  161. package/lib/types/supervisor/remote.js.map +1 -0
  162. package/lib/types/supervisor/storage/bounded-file.d.ts +41 -0
  163. package/lib/types/supervisor/storage/bounded-file.d.ts.map +1 -0
  164. package/lib/types/supervisor/storage/bounded-file.js +186 -0
  165. package/lib/types/supervisor/storage/bounded-file.js.map +1 -0
  166. package/lib/types/supervisor/storage/details-codec.d.ts +14 -0
  167. package/lib/types/supervisor/storage/details-codec.d.ts.map +1 -0
  168. package/lib/types/supervisor/storage/details-codec.js +359 -0
  169. package/lib/types/supervisor/storage/details-codec.js.map +1 -0
  170. package/lib/types/supervisor/storage/index.d.ts +26 -0
  171. package/lib/types/supervisor/storage/index.d.ts.map +1 -0
  172. package/lib/types/supervisor/storage/index.js +100 -0
  173. package/lib/types/supervisor/storage/index.js.map +1 -0
  174. package/lib/types/supervisor/storage/lease.d.ts +34 -0
  175. package/lib/types/supervisor/storage/lease.d.ts.map +1 -0
  176. package/lib/types/supervisor/storage/lease.js +289 -0
  177. package/lib/types/supervisor/storage/lease.js.map +1 -0
  178. package/lib/types/supervisor/storage/manifest-codec.d.ts +10 -0
  179. package/lib/types/supervisor/storage/manifest-codec.d.ts.map +1 -0
  180. package/lib/types/supervisor/storage/manifest-codec.js +335 -0
  181. package/lib/types/supervisor/storage/manifest-codec.js.map +1 -0
  182. package/lib/types/supervisor/storage/manifest-store.d.ts +99 -0
  183. package/lib/types/supervisor/storage/manifest-store.d.ts.map +1 -0
  184. package/lib/types/supervisor/storage/manifest-store.js +1606 -0
  185. package/lib/types/supervisor/storage/manifest-store.js.map +1 -0
  186. package/lib/types/supervisor/storage/manifest-types.d.ts +269 -0
  187. package/lib/types/supervisor/storage/manifest-types.d.ts.map +1 -0
  188. package/lib/types/supervisor/storage/manifest-types.js +2 -0
  189. package/lib/types/supervisor/storage/manifest-types.js.map +1 -0
  190. package/lib/types/supervisor/storage/private-root.d.ts +143 -0
  191. package/lib/types/supervisor/storage/private-root.d.ts.map +1 -0
  192. package/lib/types/supervisor/storage/private-root.js +860 -0
  193. package/lib/types/supervisor/storage/private-root.js.map +1 -0
  194. package/lib/types/supervisor/storage/recovery.d.ts +14 -0
  195. package/lib/types/supervisor/storage/recovery.d.ts.map +1 -0
  196. package/lib/types/supervisor/storage/recovery.js +126 -0
  197. package/lib/types/supervisor/storage/recovery.js.map +1 -0
  198. package/lib/types/supervisor/storage/run-files.d.ts +67 -0
  199. package/lib/types/supervisor/storage/run-files.d.ts.map +1 -0
  200. package/lib/types/supervisor/storage/run-files.js +346 -0
  201. package/lib/types/supervisor/storage/run-files.js.map +1 -0
  202. package/lib/types/supervisor/types.d.ts +295 -0
  203. package/lib/types/supervisor/types.d.ts.map +1 -0
  204. package/lib/types/supervisor/types.js +3 -0
  205. package/lib/types/supervisor/types.js.map +1 -0
  206. package/lib/types/supervisor/value-view.d.ts +19 -0
  207. package/lib/types/supervisor/value-view.d.ts.map +1 -0
  208. package/lib/types/supervisor/value-view.js +183 -0
  209. package/lib/types/supervisor/value-view.js.map +1 -0
  210. package/lib/types/tool/index.d.ts +86 -0
  211. package/lib/types/tool/index.d.ts.map +1 -0
  212. package/lib/types/tool/index.js +810 -0
  213. package/lib/types/tool/index.js.map +1 -0
  214. package/lib/types/tool/schema.d.ts +158 -0
  215. package/lib/types/tool/schema.d.ts.map +1 -0
  216. package/lib/types/tool/schema.js +137 -0
  217. package/lib/types/tool/schema.js.map +1 -0
  218. package/lib/types/types.d.ts +9 -0
  219. package/lib/types/types.d.ts.map +1 -0
  220. package/lib/types/types.js +3 -0
  221. package/lib/types/types.js.map +1 -0
  222. package/lib/types/user-questions.d.ts +9 -0
  223. package/lib/types/user-questions.d.ts.map +1 -0
  224. package/lib/types/user-questions.js +91 -0
  225. package/lib/types/user-questions.js.map +1 -0
  226. package/package.json +291 -0
  227. package/skills/create-workflow/SKILL.md +166 -0
  228. package/vendor/workflow-engine/LICENSE +21 -0
  229. package/vendor/workflow-engine/README.md +1 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Zaali
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE.md ADDED
@@ -0,0 +1,224 @@
1
+ # @zaalipro/dsh-workflows notices
2
+
3
+ Copyright (c) 2026 Zaali. This package is licensed under the MIT License in
4
+ the adjacent `LICENSE` file.
5
+
6
+ ## workflow compatibility evaluator
7
+
8
+ The package includes an adapted workflow evaluator derived from the DeepSeek
9
+ Harness `workflow-worker-thread` implementation at behavioral reference commit
10
+ `391c829343`. The vendored source is Copyright (c) 2026 DeepSeek and licensed
11
+ under the MIT License. Its complete license and provenance summary are shipped
12
+ as `vendor/workflow-engine/LICENSE` and `vendor/workflow-engine/README.md`.
13
+
14
+ ## fs-native-extensions 1.5.0
15
+
16
+ This package includes `fs-native-extensions` version 1.5.0, from
17
+ <https://github.com/holepunchto/fs-native-extensions>.
18
+
19
+ The upstream package identifies Kasper Isager Dalsgarð as its author. Its
20
+ distributed license contains no separate project-specific NOTICE file or
21
+ filled-in copyright notice; the complete distributed Apache License 2.0 text,
22
+ including its copyright-holder template, follows.
23
+
24
+ Apache License
25
+ Version 2.0, January 2004
26
+ http://www.apache.org/licenses/
27
+
28
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
29
+
30
+ 1. Definitions.
31
+
32
+ "License" shall mean the terms and conditions for use, reproduction,
33
+ and distribution as defined by Sections 1 through 9 of this document.
34
+
35
+ "Licensor" shall mean the copyright owner or entity authorized by
36
+ the copyright owner that is granting the License.
37
+
38
+ "Legal Entity" shall mean the union of the acting entity and all
39
+ other entities that control, are controlled by, or are under common
40
+ control with that entity. For the purposes of this definition,
41
+ "control" means (i) the power, direct or indirect, to cause the
42
+ direction or management of such entity, whether by contract or
43
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
44
+ outstanding shares, or (iii) beneficial ownership of such entity.
45
+
46
+ "You" (or "Your") shall mean an individual or Legal Entity
47
+ exercising permissions granted by this License.
48
+
49
+ "Source" form shall mean the preferred form for making modifications,
50
+ including but not limited to software source code, documentation
51
+ source, and configuration files.
52
+
53
+ "Object" form shall mean any form resulting from mechanical
54
+ transformation or translation of a Source form, including but
55
+ not limited to compiled object code, generated documentation,
56
+ and conversions to other media types.
57
+
58
+ "Work" shall mean the work of authorship, whether in Source or
59
+ Object form, made available under the License, as indicated by a
60
+ copyright notice that is included in or attached to the work
61
+ (an example is provided in the Appendix below).
62
+
63
+ "Derivative Works" shall mean any work, whether in Source or Object
64
+ form, that is based on (or derived from) the Work and for which the
65
+ editorial revisions, annotations, elaborations, or other modifications
66
+ represent, as a whole, an original work of authorship. For the purposes
67
+ of this License, Derivative Works shall not include works that remain
68
+ separable from, or merely link (or bind by name) to the interfaces of,
69
+ the Work and Derivative Works thereof.
70
+
71
+ "Contribution" shall mean any work of authorship, including
72
+ the original version of the Work and any modifications or additions
73
+ to that Work or Derivative Works thereof, that is intentionally
74
+ submitted to Licensor for inclusion in the Work by the copyright owner
75
+ or by an individual or Legal Entity authorized to submit on behalf of
76
+ the copyright owner. For the purposes of this definition, "submitted"
77
+ means any form of electronic, verbal, or written communication sent
78
+ to the Licensor or its representatives, including but not limited to
79
+ communication on electronic mailing lists, source code control systems,
80
+ and issue tracking systems that are managed by, or on behalf of, the
81
+ Licensor for the purpose of discussing and improving the Work, but
82
+ excluding communication that is conspicuously marked or otherwise
83
+ designated in writing by the copyright owner as "Not a Contribution."
84
+
85
+ "Contributor" shall mean Licensor and any individual or Legal Entity
86
+ on behalf of whom a Contribution has been received by Licensor and
87
+ subsequently incorporated within the Work.
88
+
89
+ 2. Grant of Copyright License. Subject to the terms and conditions of
90
+ this License, each Contributor hereby grants to You a perpetual,
91
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
92
+ copyright license to reproduce, prepare Derivative Works of,
93
+ publicly display, publicly perform, sublicense, and distribute the
94
+ Work and such Derivative Works in Source or Object form.
95
+
96
+ 3. Grant of Patent License. Subject to the terms and conditions of
97
+ this License, each Contributor hereby grants to You a perpetual,
98
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
99
+ (except as stated in this section) patent license to make, have made,
100
+ use, offer to sell, sell, import, and otherwise transfer the Work,
101
+ where such license applies only to those patent claims licensable
102
+ by such Contributor that are necessarily infringed by their
103
+ Contribution(s) alone or by combination of their Contribution(s)
104
+ with the Work to which such Contribution(s) was submitted. If You
105
+ institute patent litigation against any entity (including a
106
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
107
+ or a Contribution incorporated within the Work constitutes direct
108
+ or contributory patent infringement, then any patent licenses
109
+ granted to You under this License for that Work shall terminate
110
+ as of the date such litigation is filed.
111
+
112
+ 4. Redistribution. You may reproduce and distribute copies of the
113
+ Work or Derivative Works thereof in any medium, with or without
114
+ modifications, and in Source or Object form, provided that You
115
+ meet the following conditions:
116
+
117
+ (a) You must give any other recipients of the Work or
118
+ Derivative Works a copy of this License; and
119
+
120
+ (b) You must cause any modified files to carry prominent notices
121
+ stating that You changed the files; and
122
+
123
+ (c) You must retain, in the Source form of any Derivative Works
124
+ that You distribute, all copyright, patent, trademark, and
125
+ attribution notices from the Source form of the Work,
126
+ excluding those notices that do not pertain to any part of
127
+ the Derivative Works; and
128
+
129
+ (d) If the Work includes a "NOTICE" text file as part of its
130
+ distribution, then any Derivative Works that You distribute must
131
+ include a readable copy of the attribution notices contained
132
+ within such NOTICE file, excluding those notices that do not
133
+ pertain to any part of the Derivative Works, in at least one
134
+ of the following places: within a NOTICE text file distributed
135
+ as part of the Derivative Works; within the Source form or
136
+ documentation, if provided along with the Derivative Works; or,
137
+ within a display generated by the Derivative Works, if and
138
+ wherever such third-party notices normally appear. The contents
139
+ of the NOTICE file are for informational purposes only and
140
+ do not modify the License. You may add Your own attribution
141
+ notices within Derivative Works that You distribute, alongside
142
+ or as an addendum to the NOTICE text from the Work, provided
143
+ that such additional attribution notices cannot be construed
144
+ as modifying the License.
145
+
146
+ You may add Your own copyright statement to Your modifications and
147
+ may provide additional or different license terms and conditions
148
+ for use, reproduction, or distribution of Your modifications, or
149
+ for any such Derivative Works as a whole, provided Your use,
150
+ reproduction, and distribution of the Work otherwise complies with
151
+ the conditions stated in this License.
152
+
153
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
154
+ any Contribution intentionally submitted for inclusion in the Work
155
+ by You to the Licensor shall be under the terms and conditions of
156
+ this License, without any additional terms or conditions.
157
+ Notwithstanding the above, nothing herein shall supersede or modify
158
+ the terms of any separate license agreement you may have executed
159
+ with Licensor regarding such Contributions.
160
+
161
+ 6. Trademarks. This License does not grant permission to use the trade
162
+ names, trademarks, service marks, or product names of the Licensor,
163
+ except as required for reasonable and customary use in describing the
164
+ origin of the Work and reproducing the content of the NOTICE file.
165
+
166
+ 7. Disclaimer of Warranty. Unless required by applicable law or
167
+ agreed to in writing, Licensor provides the Work (and each
168
+ Contributor provides its Contributions) on an "AS IS" BASIS,
169
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
170
+ implied, including, without limitation, any warranties or conditions
171
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
172
+ PARTICULAR PURPOSE. You are solely responsible for determining the
173
+ appropriateness of using or redistributing the Work and assume any
174
+ risks associated with Your exercise of permissions under this License.
175
+
176
+ 8. Limitation of Liability. In no event and under no legal theory,
177
+ whether in tort (including negligence), contract, or otherwise,
178
+ unless required by applicable law (such as deliberate and grossly
179
+ negligent acts) or agreed to in writing, shall any Contributor be
180
+ liable to You for damages, including any direct, indirect, special,
181
+ incidental, or consequential damages of any character arising as a
182
+ result of this License or out of the use or inability to use the
183
+ Work (including but not limited to damages for loss of goodwill,
184
+ work stoppage, computer failure or malfunction, or any and all
185
+ other commercial damages or losses), even if such Contributor
186
+ has been advised of the possibility of such damages.
187
+
188
+ 9. Accepting Warranty or Additional Liability. While redistributing
189
+ the Work or Derivative Works thereof, You may choose to offer,
190
+ and charge a fee for, acceptance of support, warranty, indemnity,
191
+ or other liability obligations and/or rights consistent with this
192
+ License. However, in accepting such obligations, You may act only
193
+ on Your own behalf and on Your sole responsibility, not on behalf
194
+ of any other Contributor, and only if You agree to indemnify,
195
+ defend, and hold each Contributor harmless for any liability
196
+ incurred by, or claims asserted against, such Contributor by reason
197
+ of your accepting any such warranty or additional liability.
198
+
199
+ END OF TERMS AND CONDITIONS
200
+
201
+ APPENDIX: How to apply the Apache License to your work.
202
+
203
+ To apply the Apache License to your work, attach the following
204
+ boilerplate notice, with the fields enclosed by brackets "[]"
205
+ replaced with your own identifying information. (Don't include
206
+ the brackets!) The text should be enclosed in the appropriate
207
+ comment syntax for the file format. We also recommend that a
208
+ file or class name and description of purpose be included on the
209
+ same "printed page" as the copyright notice for easier
210
+ identification within third-party archives.
211
+
212
+ Copyright [yyyy] [name of copyright owner]
213
+
214
+ Licensed under the Apache License, Version 2.0 (the "License");
215
+ you may not use this file except in compliance with the License.
216
+ You may obtain a copy of the License at
217
+
218
+ http://www.apache.org/licenses/LICENSE-2.0
219
+
220
+ Unless required by applicable law or agreed to in writing, software
221
+ distributed under the License is distributed on an "AS IS" BASIS,
222
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
223
+ See the License for the specific language governing permissions and
224
+ limitations under the License.
@@ -0,0 +1,4 @@
1
+ # Bilingual-pair consistency record: git blob hash of each side at the last
2
+ # confirmed-consistent state. Both languages carry equal authority.
3
+ README.md: 101a4c2bd8d6715cb1930bbb1d83b02dfd31c8fd
4
+ README.zh.md: 62385aded2693528e7530fedf14982de5d72c510
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # @zaalipro/dsh-workflows
2
+
3
+ English | [中文](README.zh.md)
4
+
5
+ `@zaalipro/dsh-workflows@0.1.0-rc.12` is one installable DeepSeek Harness bundle for saved JavaScript workflows, supervised background runs, retained inspection, slash commands, and the Web dashboard. It targets official DeepSeek Harness `0.1.6-alpha.1` and ships one package-owned MIT compatibility evaluator for replay-safe background execution; it contains no Grok CLI code, account, quota, binary, protocol, or runtime dependency, and no Rhai parser or evaluator.
6
+
7
+ ## Compatibility
8
+
9
+ The verified Host is official DeepSeek Harness **`0.1.6-alpha.1`**. Plugin `0.1.0-rc.12` is compiled and smoke-tested against that exact release, and its direct Harness peer dependencies are pinned to that exact version. Stock `0.1.0-rc.12` remains unsupported, and later Harness versions require a new verified plugin release.
10
+
11
+ This release enables the alpha Host’s `workflow-ptc` provider instead of the removed `workflow-worker-thread` provider. Supervised plugin runs still use the package-owned replay evaluator; this release does not change its isolation model or retained-run format. Keep plugin `0.1.0-rc.6` when running Harness `0.1.5-rc.1`.
12
+
13
+ The package requires Node `^22.19.0 || >=24.0.0`, uses `pnpm@11.7.0`, and is distributed under the [MIT license](LICENSE). Native-lock attribution is in [NOTICE.md](NOTICE.md).
14
+
15
+ ## Installation
16
+
17
+ Ensure `pnpm` is on the service user's `PATH`. Install the pinned release tag like any other profile plugin; it adds one dependency and one bundle layer named `@zaalipro/dsh-workflows`, with no manual profile patch or install-time build.
18
+
19
+ ```sh
20
+ dsh plugin --profile web add github:zaalipro/dsh-workflows#v0.1.0-rc.12
21
+ dsh plugin --profile headless add github:zaalipro/dsh-workflows#v0.1.0-rc.12
22
+ ```
23
+
24
+ For an exact tested tarball copied to a durable path (not `/tmp`):
25
+
26
+ ```sh
27
+ dsh plugin --profile web add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.12.tgz
28
+ dsh plugin --profile headless add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.12.tgz
29
+ ```
30
+
31
+ After `0.1.0-rc.12` is publicly published on npm, the equivalent registry install is:
32
+
33
+ ```sh
34
+ dsh plugin --profile web add @zaalipro/dsh-workflows@0.1.0-rc.12
35
+ dsh plugin --profile headless add @zaalipro/dsh-workflows@0.1.0-rc.12
36
+ ```
37
+
38
+ Web loads the Host product and browser Client; headless loads only the Host product and never evaluates browser code. The plugin leaves the stock `ctx.workflowEngine` untouched. Its supervisor privately uses the package-owned compatibility evaluator emitted as `lib/compat-engine/index.js` and `worker.cjs`.
39
+
40
+ ## Removal
41
+
42
+ Remove both the dependency and bundle entry, then restart the profile:
43
+
44
+ ```sh
45
+ dsh plugin --profile web remove @zaalipro/dsh-workflows
46
+ dsh plugin --profile headless remove @zaalipro/dsh-workflows
47
+ ```
48
+
49
+ The unmodified official profile boots after removal; the command does not rewrite an official profile file.
50
+
51
+ ## Saved definitions and authoring
52
+
53
+ Definitions and runs are different resources. A definition is a flat UTF-8 `<name>.workflow.json` file discovered from the first winning root in this order: a configured bundled root, the nearest Git project root's `.dsh/workflows` directory (or the Session cwd when no Git root exists), then `$DSH_HOME/workflows`. Missing roots are allowed; an unsafe, malformed, oversized, linked, or otherwise invalid matching file makes the complete observation fail instead of disappearing from the catalog.
54
+
55
+ Each file contains exactly metadata-as-data and one plain JavaScript body:
56
+
57
+ ```json
58
+ {
59
+ "meta": {
60
+ "name": "review-changes",
61
+ "description": "Review a change and verify the findings",
62
+ "whenToUse": "Before merge",
63
+ "phases": [
64
+ { "title": "Review" },
65
+ { "title": "Verify" }
66
+ ]
67
+ },
68
+ "script": "phase(\"Review\");\nconst review = await agent(\"Review the requested change. Return evidence.\", { label: \"reviewer\", phase: \"Review\" });\nif (review === null) complete({ ok: false, reason: \"review failed\" });\nphase(\"Verify\");\nconst verified = await agent(`Verify this review against the workspace:\\n${review}`, { label: \"verifier\", phase: \"Verify\" });\ncomplete({ ok: verified !== null, review, verified });"
69
+ }
70
+ ```
71
+
72
+ Names are lowercase kebab-case, start with a letter, use at most 64 UTF-16 code units, match the filename stem, and avoid command-reserved and Windows device names. Run `/create-workflow [detail]` for the installed authoring skill, which gathers intent and fan-out, writes JavaScript with metadata kept as JSON data, validates one representative args-selected path with canned agent results, and saves only after that smoke check succeeds. Its inline tool call defaults to `save_scope: "project"`, or uses `save_scope: "user"` for `$DSH_HOME/workflows`; user scope works without a Session cwd. See the installed [authoring skill](skills/create-workflow/SKILL.md) for the complete hook and quota reference.
73
+
74
+ Structured `agent()` schemas may put inclusive `minItems` and `maxItems` bounds on array nodes. Each bound must be a non-negative safe integer (not `-0`), `minItems` cannot exceed `maxItems`, and neither keyword may sit beside `oneOf`. The evaluator checks the declaration before launching a child and checks the returned value again; its stock-RC2 adaptation removes the two keywords only from the provider-facing schema copy.
75
+
76
+ ## Launch and operate
77
+
78
+ Launch a saved definition with `/workflow <name> [<json-args>]` or its generated `/<name> [<json-args>]` alias. An ordinary command keeps a colliding bare name; the workflow receives the first free repeatedly prefixed alias such as `/workflow-review-changes`, while `/workflow review-changes` always works. Launch returns immediately with `Started workflow "<display-name>" in the background. Open /workflows to watch it.`; later runs of the same metadata name use display handles such as `review-changes-2` without exposing internal ids.
79
+
80
+ In Web, bare `/workflow` opens the saved-definition picker and exact bare `/workflows` is a browser-only slash action that opens the dashboard without Host command lifecycle events or a model turn. Arguments and attachments are refused locally and remain in the composer. In headless, bare `/workflow` prints usage; `/workflows` is intentionally not a Host command because there is no dashboard surface. The dashboard lists saved definitions with Start, plus live and retained runs, phases, agent spend, member outcomes, logs, terminal results, and chunked scratch artifacts. Pause, Resume, Stop, and eligible Save actions are revision-checked; keyboard and narrow-screen drill-down remain available.
81
+
82
+ An eligible terminal run attempts one owner-visible completion notice. It prefers bounded `scratch/report.md`, otherwise uses a bounded result preview, and ends with `Open /workflows to inspect the run.` The notice is appended directly to the durable Session surface, so it becomes visible without waking the model or entering an Agent inbox. Delivery is at most once: a process failure may omit a notice but cannot retry a claimed, delivered, or abandoned notice.
83
+
84
+ ## Replay, recovery, and security
85
+
86
+ Pause and Resume are **same-process only**. After an attempt result settles and disposal drains admitted child and scratch work, the package evaluator's quiescent checkpoint is the only replay authority. Matching committed journal calls replay without spending another agent or repeating their committed effects; observer events are not authority. An external effect whose result did not commit can run again, so effectful prompts and verification steps must be idempotent.
87
+
88
+ `await_user()` resumes the same acknowledged attempt and commits that gate; `pause()` is uncommitted and re-fires on replay while its condition remains true. A `budget-limited` run cannot be resumed by a human control: the model tool must use the internal resume token with an absolute `agent_budget` greater than the old total and no greater than 1,024.
89
+
90
+ Process death converts every retained active row to non-resumable **Interrupted**, cancels its displayed running members, and restores inspection data only. No Agent, args, script authority, journal, checkpoint, gate, child reference, or effect claim is reconstructed across processes; Interrupted runs cannot Resume or Save.
91
+
92
+ The version-2 store lives under `$DSH_HOME/workflow-runs`. One permanent `.workflow-storage.lock` anchor holds a native advisory lease for the Host lifetime, and a second cooperating process fails with `workflow storage root is already owned by another live process`. Descriptor-rooted identity, owner, mode, type, and link checks fail closed. The lease coordinates cooperating same-user Hosts; it is not a defense against a malicious process running as the same OS user and ignoring the lease or replacing its anchor.
93
+
94
+ Workflow scripts have the same trust premise as existing model shell access. A worker and `node:vm` shape available APIs and contain the host event loop, but they are not a hostile-code security sandbox.
95
+
96
+ ## Limitations
97
+
98
+ - Workflow bodies are plain JavaScript with top-level `await`; there is no Rhai language path.
99
+ - Workflow scripts have no nested `workflow()` hook.
100
+ - Cross-process execution resume and exactly-once external effects are not provided.
101
+ - This package neither contacts nor reuses Grok CLI in any form.
102
+ - Validate-only compiles the full script but executes one args-selected path with canned outputs; it does not cover every branch, live tool, or possible agent response.
103
+
104
+ ## Documentation
105
+
106
+ - [User guide](docs/user-guide.md) — create, validate, launch, inspect, control, and troubleshoot workflows.
107
+ - [Architecture](docs/architecture.md) — Host/Client composition, lifecycle authority, storage, Remote paging, and package build.
108
+ - [Testing and release acceptance](docs/testing.md) — automated evidence and the final manual Web checklist.
109
+ - [Installed authoring skill](skills/create-workflow/SKILL.md) — JavaScript globals, schemas, budgets, scratch, and safe authoring patterns.
110
+ - [License](LICENSE) and [native dependency notice](NOTICE.md).
111
+ - Official Harness `0.1.6-alpha.1` supplies the Host, Agent, Session, provider, and Client services. The plugin compatibility evaluator owns its private deferred-start, journal, gate, scratch, and checkpoint protocol.
package/README.zh.md ADDED
@@ -0,0 +1,111 @@
1
+ # @zaalipro/dsh-workflows
2
+
3
+ [English](README.md) | 中文
4
+
5
+ `@zaalipro/dsh-workflows@0.1.0-rc.12` 是一个可安装的 DeepSeek Harness bundle,提供已保存的 JavaScript workflow、受监督的后台运行、保留记录检查、斜杠命令和 Web 仪表盘。它面向官方 DeepSeek Harness `0.1.6-alpha.1`,并附带一个由本包拥有、采用 MIT 许可的 compatibility evaluator,以提供 replay-safe background execution;它不包含任何 Grok CLI 代码、账户、配额、二进制文件、协议或运行时依赖,也不包含 Rhai 解析器或求值器。
6
+
7
+ ## 兼容性
8
+
9
+ 已验证的 Host 是官方 DeepSeek Harness **`0.1.6-alpha.1`**。Plugin `0.1.0-rc.12` 针对该精确版本编译并完成 smoke test,其直接 Harness peer dependency 也精确锁定在该版本。原版 `0.1.0-rc.12` 仍不受支持;更高 Harness 版本需要新的已验证 plugin release。
10
+
11
+ 本包要求 Node `^22.19.0 || >=24.0.0`,使用 `pnpm@11.7.0`,并按 [MIT license](LICENSE) 发布。原生锁依赖的归属信息见 [NOTICE.md](NOTICE.md)。
12
+
13
+ 此版本启用 alpha Host 的 `workflow-ptc` provider,替代已移除的 `workflow-worker-thread` provider。插件的受监督 run 仍使用 package-owned replay evaluator;本次发布不改变其隔离模型或 retained-run 格式。使用 Harness `0.1.5-rc.1` 时请保留插件 `0.1.0-rc.6`。
14
+
15
+ ## 安装
16
+
17
+ 先确保 service user 的 `PATH` 中有 `pnpm`。像其他 profile plugin 一样安装固定 release tag;它增加一个依赖和一个名为 `@zaalipro/dsh-workflows` 的 bundle 层,无需手动 profile patch 或 install-time build。
18
+
19
+ ```sh
20
+ dsh plugin --profile web add github:zaalipro/dsh-workflows#v0.1.0-rc.12
21
+ dsh plugin --profile headless add github:zaalipro/dsh-workflows#v0.1.0-rc.12
22
+ ```
23
+
24
+ 也可以把 exact tested tarball 复制到 durable path(不要使用 `/tmp`)后安装:
25
+
26
+ ```sh
27
+ dsh plugin --profile web add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.12.tgz
28
+ dsh plugin --profile headless add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.12.tgz
29
+ ```
30
+
31
+ `0.1.0-rc.12` 在 npm 公开发布后,可以使用等价的 registry install:
32
+
33
+ ```sh
34
+ dsh plugin --profile web add @zaalipro/dsh-workflows@0.1.0-rc.12
35
+ dsh plugin --profile headless add @zaalipro/dsh-workflows@0.1.0-rc.12
36
+ ```
37
+
38
+ Web 会加载 Host 产品和浏览器 Client;headless 只加载 Host 产品,绝不求值浏览器代码。Plugin 不修改 stock `ctx.workflowEngine`。Supervisor 私下使用本包拥有的 compatibility evaluator,其产物为 `lib/compat-engine/index.js` 与 `worker.cjs`。
39
+
40
+ ## 移除
41
+
42
+ 同时移除依赖和 bundle 条目,然后重启 profile:
43
+
44
+ ```sh
45
+ dsh plugin --profile web remove @zaalipro/dsh-workflows
46
+ dsh plugin --profile headless remove @zaalipro/dsh-workflows
47
+ ```
48
+
49
+ 移除后,未修改的官方 profile 可以启动;该命令不会就地改写官方 profile 文件。
50
+
51
+ ## 已保存定义与创作
52
+
53
+ 定义和运行是不同资源。定义是扁平的 UTF-8 `<name>.workflow.json` 文件,按以下顺序选择第一个胜出的根:已配置的 bundled 根、最近 Git 项目根的 `.dsh/workflows` 目录(没有 Git 根时使用 Session cwd),最后是 `$DSH_HOME/workflows`。根不存在是合法情况;已观察到的匹配文件若不安全、格式错误、过大、为链接或存在其他无效情况,整个观察会失败,而不是从目录中静默消失。
54
+
55
+ 每个文件只包含作为数据的 metadata 和一个纯 JavaScript body:
56
+
57
+ ```json
58
+ {
59
+ "meta": {
60
+ "name": "review-changes",
61
+ "description": "Review a change and verify the findings",
62
+ "whenToUse": "Before merge",
63
+ "phases": [
64
+ { "title": "Review" },
65
+ { "title": "Verify" }
66
+ ]
67
+ },
68
+ "script": "phase(\"Review\");\nconst review = await agent(\"Review the requested change. Return evidence.\", { label: \"reviewer\", phase: \"Review\" });\nif (review === null) complete({ ok: false, reason: \"review failed\" });\nphase(\"Verify\");\nconst verified = await agent(`Verify this review against the workspace:\\n${review}`, { label: \"verifier\", phase: \"Verify\" });\ncomplete({ ok: verified !== null, review, verified });"
69
+ }
70
+ ```
71
+
72
+ 名称采用小写 kebab-case,以字母开头,不超过 64 个 UTF-16 code unit,与文件名 stem 一致,并避开命令保留名和 Windows 设备名。运行 `/create-workflow [detail]` 可调用已安装的创作 skill;它会收集意图与 fan-out,用 JSON data 保存 metadata 并编写 JavaScript,使用 canned agent result 验证一个有代表性的 args-selected path,而且只在 smoke check 成功后保存。Inline tool call 默认使用 `save_scope: "project"`,也可用 `save_scope: "user"` 保存到 `$DSH_HOME/workflows`;user scope 不要求 Session cwd。完整 hook 与 quota 参考见已安装的[创作 skill](skills/create-workflow/SKILL.md)。
73
+
74
+ Structured `agent()` schema 可以在 array 节点上使用包含端点的 `minItems` 与 `maxItems` bound。每个 bound 必须是非负 safe integer(不能是 `-0`),`minItems` 不得超过 `maxItems`,且两个 keyword 都不能与 `oneOf` 并列。Evaluator 会在 child 启动前检查 declaration,并再次检查返回值;stock-RC2 adaptation 只会从 provider-facing schema 副本中移除这两个 keyword。
75
+
76
+ ## 启动与操作
77
+
78
+ 使用 `/workflow <name> [<json-args>]` 或生成的 `/<name> [<json-args>]` alias 启动已保存定义。普通命令会保留冲突的裸名称;workflow 会取得第一个可用的重复前缀 alias,例如 `/workflow-review-changes`,而 `/workflow review-changes` 始终可用。启动会立即返回 `Started workflow "<display-name>" in the background. Open /workflows to watch it.`;同一 metadata name 的后续运行使用 `review-changes-2` 等 display handle,不暴露内部 id。
79
+
80
+ 在 Web 中,裸 `/workflow` 打开已保存定义选择器;严格的裸 `/workflows` 是仅由浏览器处理的 slash action,它打开 dashboard,不产生 Host command lifecycle,也不会唤醒模型。参数和附件会在本地被拒绝并保留在 composer 中。在 headless 中,裸 `/workflow` 输出 usage;由于不存在 dashboard surface,`/workflows` 不注册为 Host command。仪表盘列出已保存 definition(可 Start),以及 live 与 retained run、phase、agent spend、member outcome、log、terminal result 和分块 scratch artifact。Pause、Resume、Stop 与符合条件的 Save action 都检查 revision;键盘操作和窄屏 drill-down 同样可用。
81
+
82
+ 符合条件的 terminal run 最多尝试一次 owner-visible completion notice。它优先使用有界的 `scratch/report.md`,否则使用有界 result preview,并以 `Open /workflows to inspect the run.` 结尾。Notice 会直接追加到 durable Session surface,因此无需唤醒模型或进入 Agent inbox 即可显示。Notice delivery 是 at most once:进程故障可能导致 notice 缺失,但不会重试已 claimed、delivered 或 abandoned 的 notice。
83
+
84
+ ## Replay、恢复与安全
85
+
86
+ Pause 和 Resume **仅限同一进程(same-process only)**。attempt result settle 且 disposal 排空已接纳的 child 与 scratch work 后,package evaluator 的 quiescent checkpoint 是唯一 replay authority。匹配且已提交的 journal call 会 replay,不再次消耗 agent,也不重复其已提交 effect;observer event 不是 authority。若外部 effect 的结果尚未提交,它可能再次执行,因此 effectful prompt 与 verification step 必须保持幂等。
87
+
88
+ `await_user()` 会继续同一个已确认 attempt 并提交该 gate;`pause()` 不提交,在 replay 后条件仍成立时会重新触发。`budget-limited` run 不能通过人工 control 恢复:model tool 必须使用内部 resume token,并提供比旧 total 更大且不超过 1,024 的绝对 `agent_budget`。
89
+
90
+ 进程退出会把每个 retained active row 转换为不可恢复的 **Interrupted**,取消界面上仍在运行的 member,并且只恢复 inspection data。系统不会跨进程重建 Agent、args、script authority、journal、checkpoint、gate、child reference 或 effect claim;Interrupted run 不能 Resume 或 Save。
91
+
92
+ version-2 store 位于 `$DSH_HOME/workflow-runs`。一个永久 `.workflow-storage.lock` anchor 在 Host 生命周期内持有 native advisory lease;第二个协作进程会收到 `workflow storage root is already owned by another live process`。descriptor-rooted identity、owner、mode、type 和 link 检查都会 fail closed。该 lease 只协调同一用户下相互协作的 Host;它不能防御以同一 OS 用户运行、忽略 lease 或替换 anchor 的恶意进程。
93
+
94
+ Workflow script 与现有 model shell access 具有相同的 trust premise。worker 和 `node:vm` 用于塑造可用 API 并隔离 host event loop,但不是 hostile-code security sandbox。
95
+
96
+ ## 限制
97
+
98
+ - Workflow body 是支持 top-level `await` 的纯 JavaScript;不存在 Rhai language path。
99
+ - Workflow script 不提供嵌套 `workflow()` hook。
100
+ - 不提供 cross-process execution resume 或 exactly-once external effect。
101
+ - 本包不会以任何形式联系或复用 Grok CLI。
102
+ - Validate-only 会编译完整 script,但只执行一个使用 canned output 的 args-selected path;它不覆盖所有 branch、live tool 或所有可能的 agent response。
103
+
104
+ ## 文档
105
+
106
+ - [用户指南](docs/user-guide.zh.md) — 创建、验证、启动、检查、控制 workflow 并排查故障。
107
+ - [架构](docs/architecture.zh.md) — Host/Client composition、lifecycle authority、storage、Remote paging 和 package build。
108
+ - [测试与发布验收](docs/testing.zh.md) — 自动化证据与最终人工 Web checklist。
109
+ - [已安装的创作 skill](skills/create-workflow/SKILL.md) — JavaScript global、schema、budget、scratch 和安全创作模式。
110
+ - [License](LICENSE) 与[原生依赖 notice](NOTICE.md)。
111
+ - 官方 Harness `0.1.6-alpha.1` 提供 Host、Agent、Session、provider 与 Client service。Plugin compatibility evaluator 私下拥有 deferred-start、journal、gate、scratch 与 checkpoint protocol。
@@ -0,0 +1,10 @@
1
+ - id: workflow-ptc
2
+ name: '@deepseek-ai/dsh-workflow-ptc'
3
+ disabled: false
4
+ config:
5
+ provider: spawn
6
+ - id: ui-workflow-run
7
+ disabled: true
8
+ - insert:
9
+ - id: zaalipro-workflows
10
+ name: '@zaalipro/dsh-workflows'
@@ -0,0 +1,4 @@
1
+ # Bilingual-pair consistency record: git blob hash of each side at the last
2
+ # confirmed-consistent state. Both languages carry equal authority.
3
+ architecture.md: 6562da5e6a64dd21701fe73c6a08924cdc9c5df7
4
+ architecture.zh.md: 7d8e5737c406be91d84e52124ccf84745ded4d78