@procedures/mark 0.28.0 → 0.29.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 2,
3
- "fingerprint": "fe2fcaa47fc0cb5a9205fb102bba589876d31593b7033c117a59703ea5c266ab",
4
- "generatedAt": "2026-10-25T12:24:13.515Z",
3
+ "fingerprint": "f4ee5d7edadc093a517435d8dbc5750856b7221401389223834eb6876196d1dd",
4
+ "generatedAt": "2026-10-25T18:21:36.166Z",
5
5
  "commands": [
6
6
  {
7
7
  "path": [
@@ -7004,12 +7004,17 @@
7004
7004
  "pattern": "^[A-Za-z0-9=;,+-]+$"
7005
7005
  },
7006
7006
  "exdates": {
7007
- "description": "The dates (YYYY-MM-DD) that the recurrence skips",
7007
+ "description": "The dates (YYYY-MM-DD) that the recurrence skips, in the zone of tzid",
7008
7008
  "type": "array",
7009
7009
  "items": {
7010
7010
  "type": "string",
7011
7011
  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
7012
7012
  }
7013
+ },
7014
+ "tzid": {
7015
+ "description": "The IANA zone of the event. The writer writes each EXDATE in this zone",
7016
+ "type": "string",
7017
+ "minLength": 1
7013
7018
  }
7014
7019
  },
7015
7020
  "required": [
@@ -7277,7 +7282,7 @@
7277
7282
  "kind": "string"
7278
7283
  },
7279
7284
  "required": false,
7280
- "description": "The name of the environment variable that holds the password. The password is never an input, so no log records it.",
7285
+ "description": "The name of the environment variable that holds the password: IMAP_ or MAIL_ and more (default: IMAP_PASSWORD). Another name is deprecated. The password is never an input, so no log records it.",
7281
7286
  "defaultValue": "IMAP_PASSWORD"
7282
7287
  },
7283
7288
  {
@@ -7348,7 +7353,7 @@
7348
7353
  },
7349
7354
  "passwordEnv": {
7350
7355
  "default": "IMAP_PASSWORD",
7351
- "description": "The name of the environment variable that holds the password. The password is never an input, so no log records it.",
7356
+ "description": "The name of the environment variable that holds the password: IMAP_ or MAIL_ and more (default: IMAP_PASSWORD). Another name is deprecated. The password is never an input, so no log records it.",
7352
7357
  "type": "string",
7353
7358
  "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7354
7359
  },
@@ -7891,7 +7896,7 @@
7891
7896
  "kind": "string"
7892
7897
  },
7893
7898
  "required": false,
7894
- "description": "Another Open-Meteo server (default: the public server)"
7899
+ "description": "Another Open-Meteo server (default: the public server). The host policy refuses a loopback, private or link-local address."
7895
7900
  },
7896
7901
  {
7897
7902
  "name": "timeoutMs",
@@ -7941,7 +7946,7 @@
7941
7946
  "type": "boolean"
7942
7947
  },
7943
7948
  "baseUrl": {
7944
- "description": "Another Open-Meteo server (default: the public server)",
7949
+ "description": "Another Open-Meteo server (default: the public server). The host policy refuses a loopback, private or link-local address.",
7945
7950
  "type": "string",
7946
7951
  "format": "uri"
7947
7952
  },
@@ -37544,7 +37549,7 @@
37544
37549
  "kind": "string"
37545
37550
  },
37546
37551
  "required": false,
37547
- "description": "The name of the environment variable with the access token of a protected topic. The token is never an input."
37552
+ "description": "The name of the environment variable with the access token of a protected topic: NTFY_ or NOTIFY_ and more. Another name is deprecated. The token is never an input."
37548
37553
  },
37549
37554
  {
37550
37555
  "name": "timeoutMs",
@@ -37608,7 +37613,7 @@
37608
37613
  "format": "uri"
37609
37614
  },
37610
37615
  "tokenEnv": {
37611
- "description": "The name of the environment variable with the access token of a protected topic. The token is never an input.",
37616
+ "description": "The name of the environment variable with the access token of a protected topic: NTFY_ or NOTIFY_ and more. Another name is deprecated. The token is never an input.",
37612
37617
  "type": "string",
37613
37618
  "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
37614
37619
  },
@@ -39261,7 +39266,7 @@
39261
39266
  "kind": "string"
39262
39267
  },
39263
39268
  "required": false,
39264
- "description": "The restic program (default: RESTIC_EXE of the environment, then restic)"
39269
+ "description": "Deprecated: give executable to createResticModule(), or set RESTIC_EXE. The restic program (default: RESTIC_EXE of the environment, then restic)"
39265
39270
  },
39266
39271
  {
39267
39272
  "name": "cwd",
@@ -39338,7 +39343,7 @@
39338
39343
  "type": "boolean"
39339
39344
  },
39340
39345
  "executable": {
39341
- "description": "The restic program (default: RESTIC_EXE of the environment, then restic)",
39346
+ "description": "Deprecated: give executable to createResticModule(), or set RESTIC_EXE. The restic program (default: RESTIC_EXE of the environment, then restic)",
39342
39347
  "type": "string",
39343
39348
  "minLength": 1
39344
39349
  },
@@ -40356,7 +40361,7 @@
40356
40361
  "kind": "string"
40357
40362
  },
40358
40363
  "required": false,
40359
- "description": "The tailscale program (default: TAILSCALE_EXE, then the install folder, then tailscale)"
40364
+ "description": "Deprecated: give executable to createTailscaleModule(), or set TAILSCALE_EXE. The tailscale program (default: TAILSCALE_EXE, then the install folder, then tailscale)"
40360
40365
  },
40361
40366
  {
40362
40367
  "name": "timeout",
@@ -40420,7 +40425,7 @@
40420
40425
  "type": "boolean"
40421
40426
  },
40422
40427
  "executable": {
40423
- "description": "The tailscale program (default: TAILSCALE_EXE, then the install folder, then tailscale)",
40428
+ "description": "Deprecated: give executable to createTailscaleModule(), or set TAILSCALE_EXE. The tailscale program (default: TAILSCALE_EXE, then the install folder, then tailscale)",
40424
40429
  "type": "string",
40425
40430
  "minLength": 1
40426
40431
  },
@@ -36,6 +36,11 @@ export interface ServerModeOptions {
36
36
  * the options of `run()`, for a test: a process port and a clock.
37
37
  */
38
38
  export declare function startServerMode(options: ServerModeOptions, run?: ProcedureHostRunConfig["run"]): Promise<void>;
39
+ /**
40
+ * The endpoint of the server in the lockfile. A host of all interfaces becomes `localhost`, and an
41
+ * IPv6 host gets brackets. (Before, `::1` gave `http://::1:3000/api`, which is not a URL: audit pass 2.)
42
+ */
43
+ export declare function serverEndpoint(host: string, port: number, transport?: string): string;
39
44
  /**
40
45
  * The port number of a `--port` value. An invalid port is an error (before, it became 3000:
41
46
  * deep dive CLI-16).
@@ -1 +1 @@
1
- {"version":3,"file":"server-mode.d.ts","sourceRoot":"","sources":["../src/server-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAMjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAuCD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FpH;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,YAAI,MAAM,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAExE;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAUzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAWzD"}
1
+ {"version":3,"file":"server-mode.d.ts","sourceRoot":"","sources":["../src/server-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAMjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAuCD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFpH;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,YAAI,MAAM,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAExE;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAUzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAWzD"}
@@ -77,8 +77,7 @@ export async function startServerMode(options, run) {
77
77
  const id = `peer-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
78
78
  // The lockfile for client discovery. A client uses this server only from the same folder,
79
79
  // with the same build of mark, and when host.info answers its token with this peer id.
80
- const shown = host === "0.0.0.0" ? "localhost" : host;
81
- const endpoint = options.transport === "websocket" ? `ws://${shown}:${port}/ws` : `http://${shown}:${port}/api`;
80
+ const endpoint = serverEndpoint(host, port, options.transport);
82
81
  const running = await runProcedureHost({
83
82
  name: "mark-server",
84
83
  mode: "background",
@@ -130,6 +129,14 @@ export async function startServerMode(options, run) {
130
129
  // A signal starts the stop in stages, and the runner ends the process (CLI-8)
131
130
  await running.life.done;
132
131
  }
132
+ /**
133
+ * The endpoint of the server in the lockfile. A host of all interfaces becomes `localhost`, and an
134
+ * IPv6 host gets brackets. (Before, `::1` gave `http://::1:3000/api`, which is not a URL: audit pass 2.)
135
+ */
136
+ export function serverEndpoint(host, port, transport) {
137
+ const shown = host === "0.0.0.0" || host === "::" ? "localhost" : host.includes(":") ? `[${host}]` : host;
138
+ return transport === "websocket" ? `ws://${shown}:${port}/ws` : `http://${shown}:${port}/api`;
139
+ }
133
140
  /**
134
141
  * The port number of a `--port` value. An invalid port is an error (before, it became 3000:
135
142
  * deep dive CLI-16).
@@ -1 +1 @@
1
- {"version":3,"file":"server-mode.js","sourceRoot":"","sources":["../src/server-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-mode.js","sourceRoot":"","sources":["../src/server-mode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/mark",
4
- "version": "0.28.0",
4
+ "version": "0.29.0",
5
5
  "description": "mark: one CLI for every procedure package. It finds the procedures, parses flags by their Zod types, runs local or through a fast warm server, and asks for missing arguments.",
6
6
  "keywords": [
7
7
  "cli",
@@ -53,16 +53,16 @@
53
53
  "dependencies": {
54
54
  "@clack/prompts": "^0.7.0",
55
55
  "@mark1russell7/service": "^0.5.8",
56
- "@procedures/cli-run": "0.28.0",
57
- "@procedures/client": "0.28.0",
58
- "@procedures/lib": "0.28.0",
59
- "@procedures/mcp-dev-tools": "0.28.0",
60
- "@procedures/peer": "0.28.0",
61
- "@procedures/pnpm": "0.28.0",
62
- "@procedures/procedure": "0.28.0",
63
- "@procedures/server": "0.28.0",
64
- "@procedures/shell": "0.28.0",
65
- "@procedures/vitest": "0.28.0",
56
+ "@procedures/cli-run": "0.29.0",
57
+ "@procedures/client": "0.29.0",
58
+ "@procedures/lib": "0.29.0",
59
+ "@procedures/mcp-dev-tools": "0.29.0",
60
+ "@procedures/peer": "0.29.0",
61
+ "@procedures/pnpm": "0.29.0",
62
+ "@procedures/procedure": "0.29.0",
63
+ "@procedures/server": "0.29.0",
64
+ "@procedures/shell": "0.29.0",
65
+ "@procedures/vitest": "0.29.0",
66
66
  "chalk": "^5.3.0",
67
67
  "cli-table3": "^0.6.5",
68
68
  "ora": "^8.0.0",
@@ -71,44 +71,44 @@
71
71
  },
72
72
  "devDependencies": {
73
73
  "@mark1russell7/cue": "^1.0.0",
74
- "@procedures/archive": "0.28.0",
75
- "@procedures/bundle-assistant": "0.28.0",
76
- "@procedures/bundle-dev": "0.28.0",
77
- "@procedures/bundle-mcp": "0.28.0",
78
- "@procedures/claude-cli": "0.28.0",
79
- "@procedures/compiler": "0.28.0",
80
- "@procedures/cue": "0.28.0",
81
- "@procedures/dag": "0.28.0",
82
- "@procedures/docker": "0.28.0",
83
- "@procedures/env": "0.28.0",
84
- "@procedures/exif": "0.28.0",
85
- "@procedures/fs": "0.28.0",
86
- "@procedures/geo": "0.28.0",
87
- "@procedures/gh": "0.28.0",
88
- "@procedures/git": "0.28.0",
89
- "@procedures/http": "0.28.0",
90
- "@procedures/ics": "0.28.0",
91
- "@procedures/ios-backup": "0.28.0",
92
- "@procedures/json": "0.28.0",
93
- "@procedures/llm": "0.28.0",
94
- "@procedures/mail": "0.28.0",
95
- "@procedures/mongo": "0.28.0",
96
- "@procedures/node": "0.28.0",
97
- "@procedures/notify": "0.28.0",
98
- "@procedures/npm": "0.28.0",
99
- "@procedures/pdf": "0.28.0",
100
- "@procedures/privacy-scan": "0.28.0",
101
- "@procedures/restic": "0.28.0",
102
- "@procedures/s3": "0.28.0",
103
- "@procedures/schedule": "0.28.0",
104
- "@procedures/snapshot": "0.28.0",
105
- "@procedures/splay": "0.28.0",
106
- "@procedures/sqlite": "0.28.0",
107
- "@procedures/store": "0.28.0",
108
- "@procedures/systems": "0.28.0",
109
- "@procedures/tailscale": "0.28.0",
110
- "@procedures/vite": "0.28.0",
111
- "@procedures/weather": "0.28.0",
74
+ "@procedures/archive": "0.29.0",
75
+ "@procedures/bundle-assistant": "0.29.0",
76
+ "@procedures/bundle-dev": "0.29.0",
77
+ "@procedures/bundle-mcp": "0.29.0",
78
+ "@procedures/claude-cli": "0.29.0",
79
+ "@procedures/compiler": "0.29.0",
80
+ "@procedures/cue": "0.29.0",
81
+ "@procedures/dag": "0.29.0",
82
+ "@procedures/docker": "0.29.0",
83
+ "@procedures/env": "0.29.0",
84
+ "@procedures/exif": "0.29.0",
85
+ "@procedures/fs": "0.29.0",
86
+ "@procedures/geo": "0.29.0",
87
+ "@procedures/gh": "0.29.0",
88
+ "@procedures/git": "0.29.0",
89
+ "@procedures/http": "0.29.0",
90
+ "@procedures/ics": "0.29.0",
91
+ "@procedures/ios-backup": "0.29.0",
92
+ "@procedures/json": "0.29.0",
93
+ "@procedures/llm": "0.29.0",
94
+ "@procedures/mail": "0.29.0",
95
+ "@procedures/mongo": "0.29.0",
96
+ "@procedures/node": "0.29.0",
97
+ "@procedures/notify": "0.29.0",
98
+ "@procedures/npm": "0.29.0",
99
+ "@procedures/pdf": "0.29.0",
100
+ "@procedures/privacy-scan": "0.29.0",
101
+ "@procedures/restic": "0.29.0",
102
+ "@procedures/s3": "0.29.0",
103
+ "@procedures/schedule": "0.29.0",
104
+ "@procedures/snapshot": "0.29.0",
105
+ "@procedures/splay": "0.29.0",
106
+ "@procedures/sqlite": "0.29.0",
107
+ "@procedures/store": "0.29.0",
108
+ "@procedures/systems": "0.29.0",
109
+ "@procedures/tailscale": "0.29.0",
110
+ "@procedures/vite": "0.29.0",
111
+ "@procedures/weather": "0.29.0",
112
112
  "@types/node": "^22.0.0",
113
113
  "fast-check": "^4.10.2",
114
114
  "typescript": "^7.0.2",
@@ -116,8 +116,7 @@ export async function startServerMode(options: ServerModeOptions, run?: Procedur
116
116
 
117
117
  // The lockfile for client discovery. A client uses this server only from the same folder,
118
118
  // with the same build of mark, and when host.info answers its token with this peer id.
119
- const shown = host === "0.0.0.0" ? "localhost" : host;
120
- const endpoint = options.transport === "websocket" ? `ws://${shown}:${port}/ws` : `http://${shown}:${port}/api`;
119
+ const endpoint = serverEndpoint(host, port, options.transport);
121
120
  const running = await runProcedureHost({
122
121
  name: "mark-server",
123
122
  mode: "background",
@@ -171,6 +170,15 @@ export async function startServerMode(options: ServerModeOptions, run?: Procedur
171
170
  await running.life.done;
172
171
  }
173
172
 
173
+ /**
174
+ * The endpoint of the server in the lockfile. A host of all interfaces becomes `localhost`, and an
175
+ * IPv6 host gets brackets. (Before, `::1` gave `http://::1:3000/api`, which is not a URL: audit pass 2.)
176
+ */
177
+ export function serverEndpoint(host: string, port: number, transport?: string): string {
178
+ const shown = host === "0.0.0.0" || host === "::" ? "localhost" : host.includes(":") ? `[${host}]` : host;
179
+ return transport === "websocket" ? `ws://${shown}:${port}/ws` : `http://${shown}:${port}/api`;
180
+ }
181
+
174
182
  /**
175
183
  * The port number of a `--port` value. An invalid port is an error (before, it became 3000:
176
184
  * deep dive CLI-16).