driftseal 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/README.zh-CN.md +3 -0
- package/bin/driftseal.js +2 -0
- package/package.json +2 -1
- package/test/package-smoke.js +26 -9
package/README.md
CHANGED
|
@@ -47,6 +47,9 @@ npm install --global driftseal
|
|
|
47
47
|
driftseal --version
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
The package also installs `ds` as a short alias for `driftseal`. Both commands use
|
|
51
|
+
the same CLI; for example, `ds status` is equivalent to `driftseal status`.
|
|
52
|
+
|
|
50
53
|
From a source checkout:
|
|
51
54
|
|
|
52
55
|
```sh
|
package/README.zh-CN.md
CHANGED
package/bin/driftseal.js
CHANGED
|
@@ -6781,6 +6781,8 @@ const commands = {
|
|
|
6781
6781
|
|
|
6782
6782
|
Outcome-level write-ahead log for agent sessions.
|
|
6783
6783
|
|
|
6784
|
+
The ds command is an alias for driftseal; all commands and options are identical.
|
|
6785
|
+
|
|
6784
6786
|
usage:
|
|
6785
6787
|
driftseal begin "<outcome>" [--accept "<observable result>"] [--verify "<command>"]
|
|
6786
6788
|
[--decision <id>] [--force]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "driftseal",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Seal outcomes, verification, and decisions into an auditable workflow for agentic coding",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"driftseal",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"main": "index.js",
|
|
27
27
|
"bin": {
|
|
28
28
|
"driftseal": "bin/driftseal.js",
|
|
29
|
+
"ds": "bin/driftseal.js",
|
|
29
30
|
"driftseal-mcp": "bin/driftseal-mcp.js"
|
|
30
31
|
},
|
|
31
32
|
"directories": {
|
package/test/package-smoke.js
CHANGED
|
@@ -112,16 +112,32 @@ try {
|
|
|
112
112
|
DRIFTSEAL_HOME: home,
|
|
113
113
|
DRIFTSEAL_DECISION_HOME: path.join(home, 'madr'),
|
|
114
114
|
};
|
|
115
|
+
for (const name of ['driftseal', 'ds', 'driftseal-mcp']) {
|
|
116
|
+
const executable = process.platform === 'win32' ? `${name}.cmd` : name;
|
|
117
|
+
assert.equal(
|
|
118
|
+
fs.existsSync(path.join(consumer, 'node_modules', '.bin', executable)),
|
|
119
|
+
true,
|
|
120
|
+
`${name} is installed as an executable`
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
function runInstalled(name, args) {
|
|
124
|
+
return runNpm(['exec', '--offline', '--prefix', consumer, '--', name, ...args], {
|
|
125
|
+
cwd: sandbox,
|
|
126
|
+
env,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
const metadata = require(path.join(installed, 'package.json'));
|
|
130
|
+
for (const name of ['driftseal', 'ds']) {
|
|
131
|
+
assert.equal(runInstalled(name, ['--version']), `${metadata.version}\n`);
|
|
132
|
+
}
|
|
133
|
+
const help = runInstalled('driftseal', ['--help']);
|
|
134
|
+
assert.match(help, /The ds command is an alias for driftseal/);
|
|
135
|
+
assert.equal(runInstalled('ds', ['--help']), help);
|
|
136
|
+
|
|
115
137
|
const cli = path.join(installed, 'bin', 'driftseal.js');
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
120
|
-
run(
|
|
121
|
-
process.execPath,
|
|
122
|
-
[cli, 'end', '--status', 'abandoned', '--note', 'packaged smoke'],
|
|
123
|
-
{ cwd: sandbox, env }
|
|
124
|
-
);
|
|
138
|
+
runInstalled('ds', ['begin', 'packaged sqlite smoke']);
|
|
139
|
+
assert.match(runInstalled('driftseal', ['status']), /packaged sqlite smoke/);
|
|
140
|
+
runInstalled('driftseal', ['end', '--status', 'abandoned', '--note', 'packaged smoke']);
|
|
125
141
|
const logged = spawnSync(process.execPath, [cli, 'log', '--last', '1'], {
|
|
126
142
|
cwd: sandbox,
|
|
127
143
|
env,
|
|
@@ -130,6 +146,7 @@ try {
|
|
|
130
146
|
});
|
|
131
147
|
assert.equal(logged.status, 0, logged.stderr);
|
|
132
148
|
assert.match(logged.stdout, /packaged sqlite smoke/);
|
|
149
|
+
assert.equal(runInstalled('ds', ['log', '--last', '1']), logged.stdout);
|
|
133
150
|
assert.doesNotMatch(logged.stderr, /SQLite is an experimental feature/);
|
|
134
151
|
assert.equal(fs.existsSync(indexFile), true);
|
|
135
152
|
fs.writeFileSync(indexFile, 'corrupt package smoke index');
|