@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.
- package/LICENSE +21 -0
- package/NOTICE.md +224 -0
- package/README.i18n.yaml +4 -0
- package/README.md +111 -0
- package/README.zh.md +111 -0
- package/cordis.patch.yml +10 -0
- package/docs/architecture.i18n.yaml +4 -0
- package/docs/architecture.md +177 -0
- package/docs/architecture.zh.md +177 -0
- package/docs/testing.i18n.yaml +4 -0
- package/docs/testing.md +125 -0
- package/docs/testing.zh.md +125 -0
- package/docs/user-guide.i18n.yaml +4 -0
- package/docs/user-guide.md +351 -0
- package/docs/user-guide.zh.md +351 -0
- package/lib/client-types/WorkflowMemberInspector.d.ts +28 -0
- package/lib/client-types/WorkflowMemberInspector.d.ts.map +1 -0
- package/lib/client-types/WorkflowMemberInspector.js +181 -0
- package/lib/client-types/WorkflowMemberInspector.js.map +1 -0
- package/lib/client-types/WorkflowRunPanel.d.ts +43 -0
- package/lib/client-types/WorkflowRunPanel.d.ts.map +1 -0
- package/lib/client-types/WorkflowRunPanel.js +130 -0
- package/lib/client-types/WorkflowRunPanel.js.map +1 -0
- package/lib/client-types/WorkflowsDashboard.d.ts +49 -0
- package/lib/client-types/WorkflowsDashboard.d.ts.map +1 -0
- package/lib/client-types/WorkflowsDashboard.js +942 -0
- package/lib/client-types/WorkflowsDashboard.js.map +1 -0
- package/lib/client-types/adapter.d.ts +60 -0
- package/lib/client-types/adapter.d.ts.map +1 -0
- package/lib/client-types/adapter.js +117 -0
- package/lib/client-types/adapter.js.map +1 -0
- package/lib/client-types/chat-renderer.d.ts +10 -0
- package/lib/client-types/chat-renderer.d.ts.map +1 -0
- package/lib/client-types/chat-renderer.js +11 -0
- package/lib/client-types/chat-renderer.js.map +1 -0
- package/lib/client-types/contract.d.ts +210 -0
- package/lib/client-types/contract.d.ts.map +1 -0
- package/lib/client-types/contract.js +37 -0
- package/lib/client-types/contract.js.map +1 -0
- package/lib/client-types/controller.d.ts +83 -0
- package/lib/client-types/controller.d.ts.map +1 -0
- package/lib/client-types/controller.js +705 -0
- package/lib/client-types/controller.js.map +1 -0
- package/lib/client-types/index.d.ts +19 -0
- package/lib/client-types/index.d.ts.map +1 -0
- package/lib/client-types/index.js +731 -0
- package/lib/client-types/index.js.map +1 -0
- package/lib/client-types/locales.d.ts +257 -0
- package/lib/client-types/locales.d.ts.map +1 -0
- package/lib/client-types/locales.js +270 -0
- package/lib/client-types/locales.js.map +1 -0
- package/lib/client-types/slot-components.d.ts +38 -0
- package/lib/client-types/slot-components.d.ts.map +1 -0
- package/lib/client-types/slot-components.js +22 -0
- package/lib/client-types/slot-components.js.map +1 -0
- package/lib/client-types/store.d.ts +69 -0
- package/lib/client-types/store.d.ts.map +1 -0
- package/lib/client-types/store.js +135 -0
- package/lib/client-types/store.js.map +1 -0
- package/lib/client-types/workflow-definition.d.ts +52 -0
- package/lib/client-types/workflow-definition.d.ts.map +1 -0
- package/lib/client-types/workflow-definition.js +135 -0
- package/lib/client-types/workflow-definition.js.map +1 -0
- package/lib/client.js +11065 -0
- package/lib/client.js.map +1 -0
- package/lib/compat-engine/index.js +1926 -0
- package/lib/compat-engine/index.js.map +1 -0
- package/lib/compat-engine/worker.cjs +1500 -0
- package/lib/compat-engine/worker.cjs.map +1 -0
- package/lib/typert.host.d.ts +3 -0
- package/lib/typert.host.js +1709 -0
- package/lib/typert.remote-client.d.ts +57 -0
- package/lib/typert.remote-client.js +1662 -0
- package/lib/types/commands/aliases.d.ts +4 -0
- package/lib/types/commands/aliases.d.ts.map +1 -0
- package/lib/types/commands/aliases.js +25 -0
- package/lib/types/commands/aliases.js.map +1 -0
- package/lib/types/commands/index.d.ts +66 -0
- package/lib/types/commands/index.d.ts.map +1 -0
- package/lib/types/commands/index.js +550 -0
- package/lib/types/commands/index.js.map +1 -0
- package/lib/types/commands/parser.d.ts +17 -0
- package/lib/types/commands/parser.d.ts.map +1 -0
- package/lib/types/commands/parser.js +45 -0
- package/lib/types/commands/parser.js.map +1 -0
- package/lib/types/config.d.ts +71 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/config.js +109 -0
- package/lib/types/config.js.map +1 -0
- package/lib/types/index.d.ts +41 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +483 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/invariant.d.ts +21 -0
- package/lib/types/invariant.d.ts.map +1 -0
- package/lib/types/invariant.js +85 -0
- package/lib/types/invariant.js.map +1 -0
- package/lib/types/registry/definition.d.ts +24 -0
- package/lib/types/registry/definition.d.ts.map +1 -0
- package/lib/types/registry/definition.js +189 -0
- package/lib/types/registry/definition.js.map +1 -0
- package/lib/types/registry/index.d.ts +100 -0
- package/lib/types/registry/index.d.ts.map +1 -0
- package/lib/types/registry/index.js +899 -0
- package/lib/types/registry/index.js.map +1 -0
- package/lib/types/registry/names.d.ts +19 -0
- package/lib/types/registry/names.d.ts.map +1 -0
- package/lib/types/registry/names.js +69 -0
- package/lib/types/registry/names.js.map +1 -0
- package/lib/types/registry/remote.d.ts +15 -0
- package/lib/types/registry/remote.d.ts.map +1 -0
- package/lib/types/registry/remote.js +128 -0
- package/lib/types/registry/remote.js.map +1 -0
- package/lib/types/registry/roots.d.ts +44 -0
- package/lib/types/registry/roots.d.ts.map +1 -0
- package/lib/types/registry/roots.js +118 -0
- package/lib/types/registry/roots.js.map +1 -0
- package/lib/types/registry/types.d.ts +62 -0
- package/lib/types/registry/types.d.ts.map +1 -0
- package/lib/types/registry/types.js +2 -0
- package/lib/types/registry/types.js.map +1 -0
- package/lib/types/registry/watchers.d.ts +70 -0
- package/lib/types/registry/watchers.d.ts.map +1 -0
- package/lib/types/registry/watchers.js +152 -0
- package/lib/types/registry/watchers.js.map +1 -0
- package/lib/types/remote-events.d.ts +42 -0
- package/lib/types/remote-events.d.ts.map +1 -0
- package/lib/types/remote-events.js +21 -0
- package/lib/types/remote-events.js.map +1 -0
- package/lib/types/run-recorder.d.ts +44 -0
- package/lib/types/run-recorder.d.ts.map +1 -0
- package/lib/types/run-recorder.js +356 -0
- package/lib/types/run-recorder.js.map +1 -0
- package/lib/types/supervisor/canned-validate.d.ts +25 -0
- package/lib/types/supervisor/canned-validate.d.ts.map +1 -0
- package/lib/types/supervisor/canned-validate.js +122 -0
- package/lib/types/supervisor/canned-validate.js.map +1 -0
- package/lib/types/supervisor/completion-notice.d.ts +49 -0
- package/lib/types/supervisor/completion-notice.d.ts.map +1 -0
- package/lib/types/supervisor/completion-notice.js +281 -0
- package/lib/types/supervisor/completion-notice.js.map +1 -0
- package/lib/types/supervisor/cursors.d.ts +68 -0
- package/lib/types/supervisor/cursors.d.ts.map +1 -0
- package/lib/types/supervisor/cursors.js +158 -0
- package/lib/types/supervisor/cursors.js.map +1 -0
- package/lib/types/supervisor/engine-compat.d.ts +48 -0
- package/lib/types/supervisor/engine-compat.d.ts.map +1 -0
- package/lib/types/supervisor/engine-compat.js +116 -0
- package/lib/types/supervisor/engine-compat.js.map +1 -0
- package/lib/types/supervisor/index.d.ts +183 -0
- package/lib/types/supervisor/index.d.ts.map +1 -0
- package/lib/types/supervisor/index.js +2040 -0
- package/lib/types/supervisor/index.js.map +1 -0
- package/lib/types/supervisor/parallel-compat.d.ts +36 -0
- package/lib/types/supervisor/parallel-compat.d.ts.map +1 -0
- package/lib/types/supervisor/parallel-compat.js +180 -0
- package/lib/types/supervisor/parallel-compat.js.map +1 -0
- package/lib/types/supervisor/remote.d.ts +25 -0
- package/lib/types/supervisor/remote.d.ts.map +1 -0
- package/lib/types/supervisor/remote.js +478 -0
- package/lib/types/supervisor/remote.js.map +1 -0
- package/lib/types/supervisor/storage/bounded-file.d.ts +41 -0
- package/lib/types/supervisor/storage/bounded-file.d.ts.map +1 -0
- package/lib/types/supervisor/storage/bounded-file.js +186 -0
- package/lib/types/supervisor/storage/bounded-file.js.map +1 -0
- package/lib/types/supervisor/storage/details-codec.d.ts +14 -0
- package/lib/types/supervisor/storage/details-codec.d.ts.map +1 -0
- package/lib/types/supervisor/storage/details-codec.js +359 -0
- package/lib/types/supervisor/storage/details-codec.js.map +1 -0
- package/lib/types/supervisor/storage/index.d.ts +26 -0
- package/lib/types/supervisor/storage/index.d.ts.map +1 -0
- package/lib/types/supervisor/storage/index.js +100 -0
- package/lib/types/supervisor/storage/index.js.map +1 -0
- package/lib/types/supervisor/storage/lease.d.ts +34 -0
- package/lib/types/supervisor/storage/lease.d.ts.map +1 -0
- package/lib/types/supervisor/storage/lease.js +289 -0
- package/lib/types/supervisor/storage/lease.js.map +1 -0
- package/lib/types/supervisor/storage/manifest-codec.d.ts +10 -0
- package/lib/types/supervisor/storage/manifest-codec.d.ts.map +1 -0
- package/lib/types/supervisor/storage/manifest-codec.js +335 -0
- package/lib/types/supervisor/storage/manifest-codec.js.map +1 -0
- package/lib/types/supervisor/storage/manifest-store.d.ts +99 -0
- package/lib/types/supervisor/storage/manifest-store.d.ts.map +1 -0
- package/lib/types/supervisor/storage/manifest-store.js +1606 -0
- package/lib/types/supervisor/storage/manifest-store.js.map +1 -0
- package/lib/types/supervisor/storage/manifest-types.d.ts +269 -0
- package/lib/types/supervisor/storage/manifest-types.d.ts.map +1 -0
- package/lib/types/supervisor/storage/manifest-types.js +2 -0
- package/lib/types/supervisor/storage/manifest-types.js.map +1 -0
- package/lib/types/supervisor/storage/private-root.d.ts +143 -0
- package/lib/types/supervisor/storage/private-root.d.ts.map +1 -0
- package/lib/types/supervisor/storage/private-root.js +860 -0
- package/lib/types/supervisor/storage/private-root.js.map +1 -0
- package/lib/types/supervisor/storage/recovery.d.ts +14 -0
- package/lib/types/supervisor/storage/recovery.d.ts.map +1 -0
- package/lib/types/supervisor/storage/recovery.js +126 -0
- package/lib/types/supervisor/storage/recovery.js.map +1 -0
- package/lib/types/supervisor/storage/run-files.d.ts +67 -0
- package/lib/types/supervisor/storage/run-files.d.ts.map +1 -0
- package/lib/types/supervisor/storage/run-files.js +346 -0
- package/lib/types/supervisor/storage/run-files.js.map +1 -0
- package/lib/types/supervisor/types.d.ts +295 -0
- package/lib/types/supervisor/types.d.ts.map +1 -0
- package/lib/types/supervisor/types.js +3 -0
- package/lib/types/supervisor/types.js.map +1 -0
- package/lib/types/supervisor/value-view.d.ts +19 -0
- package/lib/types/supervisor/value-view.d.ts.map +1 -0
- package/lib/types/supervisor/value-view.js +183 -0
- package/lib/types/supervisor/value-view.js.map +1 -0
- package/lib/types/tool/index.d.ts +86 -0
- package/lib/types/tool/index.d.ts.map +1 -0
- package/lib/types/tool/index.js +810 -0
- package/lib/types/tool/index.js.map +1 -0
- package/lib/types/tool/schema.d.ts +158 -0
- package/lib/types/tool/schema.d.ts.map +1 -0
- package/lib/types/tool/schema.js +137 -0
- package/lib/types/tool/schema.js.map +1 -0
- package/lib/types/types.d.ts +9 -0
- package/lib/types/types.d.ts.map +1 -0
- package/lib/types/types.js +3 -0
- package/lib/types/types.js.map +1 -0
- package/lib/types/user-questions.d.ts +9 -0
- package/lib/types/user-questions.d.ts.map +1 -0
- package/lib/types/user-questions.js +91 -0
- package/lib/types/user-questions.js.map +1 -0
- package/package.json +291 -0
- package/skills/create-workflow/SKILL.md +166 -0
- package/vendor/workflow-engine/LICENSE +21 -0
- 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.
|
package/README.i18n.yaml
ADDED
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。
|
package/cordis.patch.yml
ADDED