@acid-cat/cli 0.3.0 → 0.4.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.
@@ -73,10 +73,50 @@ var fixture_acidcat_default = {
73
73
  "type": "object"
74
74
  }
75
75
  },
76
+ "fixture.held": {
77
+ "description": "Return the keys of the calls to fixture.hold that hold now.",
78
+ "audience": [
79
+ "app",
80
+ "mcp",
81
+ "cli",
82
+ "api"
83
+ ],
84
+ "output": {
85
+ "properties": { "keys": {
86
+ "items": { "type": "string" },
87
+ "type": "array"
88
+ } },
89
+ "required": ["keys"],
90
+ "type": "object"
91
+ },
92
+ "readOnly": true
93
+ },
76
94
  "fixture.hidden": {
77
95
  "description": "Only the app target can use this capability.",
78
96
  "audience": ["app"]
79
97
  },
98
+ "fixture.hold": {
99
+ "description": "Hold until fixture.release releases the key, then return the key. While the call holds, fixture.held gives the key. With a marker, the call writes a file at that path when it starts to hold.",
100
+ "audience": [
101
+ "app",
102
+ "mcp",
103
+ "cli",
104
+ "api"
105
+ ],
106
+ "input": {
107
+ "properties": {
108
+ "key": { "type": "string" },
109
+ "marker": { "type": "string" }
110
+ },
111
+ "required": ["key"],
112
+ "type": "object"
113
+ },
114
+ "output": {
115
+ "properties": { "key": { "type": "string" } },
116
+ "required": ["key"],
117
+ "type": "object"
118
+ }
119
+ },
80
120
  "fixture.refuse": {
81
121
  "description": "Always return the failure Refused.",
82
122
  "audience": [
@@ -97,8 +137,8 @@ var fixture_acidcat_default = {
97
137
  "type": "object"
98
138
  } }
99
139
  },
100
- "fixture.slow": {
101
- "description": "Wait for some milliseconds, then return null.",
140
+ "fixture.release": {
141
+ "description": "Release the calls to fixture.hold that hold the key.",
102
142
  "audience": [
103
143
  "app",
104
144
  "mcp",
@@ -106,8 +146,8 @@ var fixture_acidcat_default = {
106
146
  "api"
107
147
  ],
108
148
  "input": {
109
- "properties": { "milliseconds": { "type": "number" } },
110
- "required": ["milliseconds"],
149
+ "properties": { "key": { "type": "string" } },
150
+ "required": ["key"],
111
151
  "type": "object"
112
152
  }
113
153
  },
@@ -132,7 +172,11 @@ var fixture_acidcat_default = {
132
172
  "mcp",
133
173
  "cli",
134
174
  "api"
135
- ]
175
+ ],
176
+ "input": {
177
+ "properties": {},
178
+ "type": "object"
179
+ }
136
180
  }
137
181
  }
138
182
  };
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.3.0";
2
+ var version = "0.4.0";
3
3
  //#endregion
4
4
  export { version };
package/dist/main.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { check, viewOf } from "./catalog.js";
3
+ import { DEADLINE } from "./conform/check.js";
3
4
  import { conform } from "./conform/index.js";
4
5
  import { version } from "./json/package.json.js";
5
6
  import { canonicalText } from "@acid-cat/catalog";
@@ -68,7 +69,8 @@ const conformCommand = Command.make("conform", {
68
69
  http: url("http", "The base URL of the HTTP API, before /capabilities"),
69
70
  cli: url("cli", "The command that starts the command line, for example \"node fixture-cli.ts\""),
70
71
  webmcp: url("webmcp", "The URL of a web page that serves the app target. It runs in Chromium, through Playwright"),
71
- maximumBytes: Flag.Int("max-bytes").pipe(Flag.withDescription("The body limit of the remote bindings"), Flag.withDefault(1048576))
72
+ maximumBytes: Flag.Int("max-bytes").pipe(Flag.withDescription("The body limit of the remote bindings"), Flag.withDefault(1048576)),
73
+ deadline: Flag.Int("deadline").pipe(Flag.withDescription("The time, in milliseconds, that each check has to settle. A check that does not settle in this time fails"), Flag.withDefault(DEADLINE))
72
74
  }, Effect.fn(function* (options) {
73
75
  const value = (option) => Option.isSome(option) ? option.value : void 0;
74
76
  const command = value(options.cli)?.split(/\s+/).filter((word) => word !== "");
@@ -77,7 +79,8 @@ const conformCommand = Command.make("conform", {
77
79
  http: value(options.http),
78
80
  cli: command,
79
81
  webmcp: value(options.webmcp),
80
- maximumBytes: options.maximumBytes
82
+ maximumBytes: options.maximumBytes,
83
+ deadline: options.deadline
81
84
  }));
82
85
  if (results.length === 0) {
83
86
  yield* Console.error("Give at least one binding: --mcp, --http, --cli or --webmcp.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acid-cat/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "The AcidCat command line: check, format and view catalogs, and test implementations.",
5
5
  "keywords": [
6
6
  "acidcat",
@@ -37,12 +37,12 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@acid-cat/catalog": "0.3.0",
41
- "@acid-cat/spec-ts": "0.3.0",
42
- "@effect/platform-node": "4.0.4",
43
- "@effect/platform-node-shared": "4.0.4",
40
+ "@acid-cat/catalog": "0.4.0",
41
+ "@acid-cat/spec-ts": "0.4.0",
42
+ "@effect/platform-node": "4.0.5",
43
+ "@effect/platform-node-shared": "4.0.5",
44
44
  "@modelcontextprotocol/client": "2.3.1",
45
- "effect": "4.0.4",
45
+ "effect": "4.0.5",
46
46
  "fast-check": "4.10.2"
47
47
  },
48
48
  "peerDependencies": {