toolcraft 0.0.355 → 0.0.356

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/composition.json CHANGED
@@ -98,7 +98,7 @@
98
98
  },
99
99
  {
100
100
  "name": "tiny-http-mcp-server",
101
- "version": "0.1.87",
101
+ "version": "0.1.88",
102
102
  "license": "MIT"
103
103
  },
104
104
  {
@@ -113,7 +113,7 @@
113
113
  },
114
114
  {
115
115
  "name": "toolcraft",
116
- "version": "0.0.355",
116
+ "version": "0.0.356",
117
117
  "license": "MIT"
118
118
  },
119
119
  {
@@ -123,7 +123,7 @@
123
123
  },
124
124
  {
125
125
  "name": "toolcraft-schema",
126
- "version": "0.0.355",
126
+ "version": "0.0.356",
127
127
  "license": "MIT"
128
128
  },
129
129
  {
@@ -98,7 +98,7 @@
98
98
  },
99
99
  {
100
100
  "name": "tiny-http-mcp-server",
101
- "version": "0.1.87",
101
+ "version": "0.1.88",
102
102
  "license": "MIT"
103
103
  },
104
104
  {
@@ -113,7 +113,7 @@
113
113
  },
114
114
  {
115
115
  "name": "toolcraft",
116
- "version": "0.0.355",
116
+ "version": "0.0.356",
117
117
  "license": "MIT"
118
118
  },
119
119
  {
@@ -123,7 +123,7 @@
123
123
  },
124
124
  {
125
125
  "name": "toolcraft-schema",
126
- "version": "0.0.355",
126
+ "version": "0.0.356",
127
127
  "license": "MIT"
128
128
  },
129
129
  {
@@ -35,7 +35,8 @@ instances and processes serialize the same encrypted file or Keychain
35
35
  service/account; unrelated identities proceed independently. The default
36
36
  acquisition timeout is 30 seconds. Cancellation during acquisition does not
37
37
  release the active owner's lock. Each acquisition retains its original signal
38
- and timeout before path checks wait; replacing the caller's option handles cannot
38
+ and timeout before path checks wait, including nonenumerable declared options;
39
+ replacing the caller's option handles cannot
39
40
  bypass original cancellation or introduce another signal's cancellation. Individual `get`, `set` and `delete` calls do
40
41
  not implicitly acquire it.
41
42
 
@@ -81,7 +81,7 @@ export class EncryptedFileStore {
81
81
  }
82
82
  }
83
83
  async withLock(operation, options = {}) {
84
- options = { ...options };
84
+ options = { ...options, signal: options.signal, timeoutMs: options.timeoutMs };
85
85
  await this.assertCredentialPathHasNoSymbolicLinks(`${this.filePath}.lock`);
86
86
  if (this.fs.readdir === undefined)
87
87
  throw new Error("Secret-store transaction locks require filesystem readdir support");
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import { hasOwnErrorCode } from "./error-codes.js";
4
4
  /** Filesystem bakery lock: unique claims allow dead-owner cleanup without deleting a replacement owner's lock. */
5
5
  export async function withSecretStoreFileLock(fs, lockDirectory, operation, options = {}) {
6
- options = { ...options };
6
+ options = { ...options, signal: options.signal, timeoutMs: options.timeoutMs };
7
7
  const timeoutMs = options.timeoutMs ?? 30_000;
8
8
  if (!Number.isFinite(timeoutMs) || timeoutMs < 0 || timeoutMs > 2_147_483_647)
9
9
  throw new Error("Invalid secret-store transaction lock timeout");
@@ -18,7 +18,7 @@
18
18
  },
19
19
  {
20
20
  "name": "tiny-http-mcp-server",
21
- "version": "0.1.87",
21
+ "version": "0.1.88",
22
22
  "license": "MIT"
23
23
  },
24
24
  {
@@ -170,8 +170,8 @@ corrupt or undecryptable records without reading their old contents. It atomical
170
170
  retires the identity's grant and registrations and writes a marker that suppresses
171
171
  stale initial grants. The default lock wait is 30 seconds. Other names/profiles
172
172
  are untouched, and symlink paths are still refused. Native reset, import and
173
- transaction callbacks retain their original signal while locks or reconciliation
174
- wait; replacing a caller handle cannot change subsequent cancellation checks.
173
+ transaction callbacks retain their original signal and acquisition limit, including
174
+ nonenumerable declared options, while locks or reconciliation wait; replacing a caller handle cannot change subsequent cancellation checks.
175
175
  Cancellation after a completed identity write prevents the transaction callback
176
176
  from running and retains that already persisted identity.
177
177
 
@@ -52,7 +52,7 @@ export function createResourceBoundOAuthStores(options, namespace, identity) {
52
52
  }
53
53
  };
54
54
  async function replace(record, options) {
55
- options = { ...options };
55
+ options = { ...options, signal: options.signal, timeoutMs: options.timeoutMs };
56
56
  options.signal?.throwIfAborted();
57
57
  const timeoutMs = options.timeoutMs ?? 30_000;
58
58
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2_147_483_647)
@@ -126,7 +126,7 @@ export function createResourceBoundOAuthStores(options, namespace, identity) {
126
126
  }
127
127
  result.sessionStore = {
128
128
  async withLock(resource, operation, options) {
129
- options = { ...options };
129
+ options = { ...options, signal: options?.signal, timeoutMs: options?.timeoutMs };
130
130
  if (store.withLock === undefined)
131
131
  throw new Error("OAuth resource identity backend must support transaction locks");
132
132
  return store.withLock(async () => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-http-mcp-server",
3
- "version": "0.1.87",
3
+ "version": "0.1.88",
4
4
  "description": "Minimal MCP server over HTTP built on tiny-stdio-mcp-server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3985,7 +3985,7 @@ function hasOwnErrorCode(error, code) {
3985
3985
  import { randomUUID } from "node:crypto";
3986
3986
  import path from "node:path";
3987
3987
  async function withSecretStoreFileLock(fs2, lockDirectory, operation, options = {}) {
3988
- options = { ...options };
3988
+ options = { ...options, signal: options.signal, timeoutMs: options.timeoutMs };
3989
3989
  const timeoutMs = options.timeoutMs ?? 3e4;
3990
3990
  if (!Number.isFinite(timeoutMs) || timeoutMs < 0 || timeoutMs > 2147483647)
3991
3991
  throw new Error("Invalid secret-store transaction lock timeout");
@@ -4205,7 +4205,7 @@ var EncryptedFileStore = class {
4205
4205
  }
4206
4206
  }
4207
4207
  async withLock(operation, options = {}) {
4208
- options = { ...options };
4208
+ options = { ...options, signal: options.signal, timeoutMs: options.timeoutMs };
4209
4209
  await this.assertCredentialPathHasNoSymbolicLinks(`${this.filePath}.lock`);
4210
4210
  if (this.fs.readdir === void 0)
4211
4211
  throw new Error("Secret-store transaction locks require filesystem readdir support");
@@ -4867,7 +4867,7 @@ function createResourceBoundOAuthStores(options, namespace, identity) {
4867
4867
  }
4868
4868
  };
4869
4869
  async function replace(record2, options2) {
4870
- options2 = { ...options2 };
4870
+ options2 = { ...options2, signal: options2.signal, timeoutMs: options2.timeoutMs };
4871
4871
  options2.signal?.throwIfAborted();
4872
4872
  const timeoutMs = options2.timeoutMs ?? 3e4;
4873
4873
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2147483647)
@@ -4933,7 +4933,7 @@ function createResourceBoundOAuthStores(options, namespace, identity) {
4933
4933
  }
4934
4934
  result.sessionStore = {
4935
4935
  async withLock(resource, operation, options2) {
4936
- options2 = { ...options2 };
4936
+ options2 = { ...options2, signal: options2?.signal, timeoutMs: options2?.timeoutMs };
4937
4937
  if (store.withLock === void 0)
4938
4938
  throw new Error("OAuth resource identity backend must support transaction locks");
4939
4939
  return store.withLock(async () => {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  {
10
10
  "name": "toolcraft-schema",
11
- "version": "0.0.355",
11
+ "version": "0.0.356",
12
12
  "license": "MIT"
13
13
  }
14
14
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toolcraft-schema",
3
- "version": "0.0.355",
3
+ "version": "0.0.356",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toolcraft",
3
- "version": "0.0.355",
3
+ "version": "0.0.356",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -158,7 +158,7 @@
158
158
  "yaml"
159
159
  ],
160
160
  "optionalDependencies": {
161
- "toolcraft-schema": "0.0.355",
161
+ "toolcraft-schema": "0.0.356",
162
162
  "toolcraft-design": "*",
163
163
  "@poe-code/frontmatter": "*",
164
164
  "@poe-code/agent-mcp-config": "*",