@procedures/lib 0.4.0 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # @procedures/lib
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Patch Changes
6
+
7
+ - @procedures/client@0.6.0
8
+ - @procedures/dag@0.6.0
9
+ - @procedures/fs@0.6.0
10
+ - @procedures/git@0.6.0
11
+ - @procedures/pnpm@0.6.0
12
+ - @procedures/shell@0.6.0
13
+
14
+ ## 0.5.0
15
+
16
+ ### Minor Changes
17
+
18
+ - a47bee6: The hosts can confine the file procedures to a root (roadmap R33).
19
+
20
+ - `confineFsProcedures(registry, root)` of `@procedures/fs` replaces the handler of each `fs.*` procedure of a registry with the handler of `createFsModule({ root })`. It adds no procedure. A nested `fs.*` call of another procedure is confined too. The root must be a folder that exists.
21
+ - `mark --fs-root <folder>` confines the `fs.*` procedures of each mode and host of `mark`: a command, the REPL, `--server`, `serve` and `mcp`. Give the flag before the command.
22
+ - A `mark` command uses a CLI server only when the server has the same root. The lockfile of `@procedures/peer` has the new field `fsRoot`, and `findServer()` compares it.
23
+ - `procedure-server --fs-root <folder>` and `mark serve --fs-root <folder>` confine the procedures of the server.
24
+ - The MCP server reads `MCP_FS_ROOT`, and `mark mcp` has the flag `--fs-root`. `fs` is not a tool namespace, so the tools do not change.
25
+ - A path outside the root gives `FORBIDDEN` with the reason `outside-root`. A procedure that reads files with `node:fs`, or that starts a program, is not confined.
26
+ - `@procedures/lib/cli-flags` has the global flags `--fs-root` and `--events`, and the field `repeatable`.
27
+ - 64120d9: `lib.audit` reports each procedure without `metadata.effects`. A host with a capability refuses such a procedure.
28
+
29
+ - The output has the new list `procedureIssues`. Each issue has the kind `missing-effects`, the procedure path (for example `git.status`) and a message.
30
+ - The issues are warnings. They do not change `success`, so the audit step of CI does not fail for them. CI shows each one as a warning annotation.
31
+ - The audit examines the procedures of the registry of the host, as it does for `flagNotices`. It imports no package code, so its effects do not change.
32
+ - `mark` loads its registry from the built `./module` entry of each package. Thus the audit does not examine a package without a build.
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [0f75644]
37
+ - Updated dependencies [09e5566]
38
+ - Updated dependencies [ab77f75]
39
+ - Updated dependencies [01e5b1f]
40
+ - Updated dependencies [da56027]
41
+ - Updated dependencies [a47bee6]
42
+ - Updated dependencies [a47bee6]
43
+ - Updated dependencies [bc74091]
44
+ - @procedures/client@0.5.0
45
+ - @procedures/dag@0.5.0
46
+ - @procedures/git@0.5.0
47
+ - @procedures/fs@0.5.0
48
+ - @procedures/pnpm@0.5.0
49
+ - @procedures/shell@0.5.0
50
+
3
51
  ## 0.4.0
4
52
 
5
53
  ### Minor Changes
package/README.md CHANGED
@@ -70,6 +70,12 @@ Input: `rootPath` and `fix`. For each package, the output gives the files and th
70
70
 
71
71
  The output also has `flagNotices`: the procedure flags whose short form is also a global flag of `mark`. After the command path, the flag of the procedure wins (deep dive CLI-7).
72
72
 
73
+ The output also has `procedureIssues`. It has one issue of the kind `missing-effects` for each procedure without `metadata.effects`. A host with a capability refuses such a procedure. `procedure new` writes no effects, so the author writes them.
74
+
75
+ - The issues are warnings. They do not change `success`, so the audit step of CI does not fail for them.
76
+ - The audit examines the procedures of the registry of the host. It does not import the code of a package.
77
+ - `mark` loads its registry from the built `./module` entry of each package. Thus start `pnpm build` before the audit. The audit does not examine a package without a build.
78
+
73
79
  ## `lib.rename`
74
80
 
75
81
  Input: `oldName`, `newName`, `rootPath` and `dryRun`. The procedure changes the package name, the dependencies, the imports and the dynamic imports in the workspace. The output lists each change and gives a summary.