agents-can-communicate 0.11.0 → 0.11.1

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.
Files changed (42) hide show
  1. package/bin/entrypoints/acc-antigravity-relay.mjs +2 -2
  2. package/bin/entrypoints/acc-hook.mjs +4 -24
  3. package/bin/entrypoints/acc-mcp.mjs +8 -6
  4. package/bin/entrypoints/acc.mjs +22 -11
  5. package/bin/entrypoints/antigravity-relay-binding.mjs +1 -1
  6. package/docs/STATUS_INDICATOR.md +8 -3
  7. package/docs/TROUBLESHOOTING.md +2 -2
  8. package/node_modules/@agents-can-communicate/adapter-antigravity/package.json +1 -1
  9. package/node_modules/@agents-can-communicate/adapter-antigravity/plugin/plugin.json +1 -1
  10. package/node_modules/@agents-can-communicate/adapter-claude-code/package.json +1 -1
  11. package/node_modules/@agents-can-communicate/adapter-claude-code/plugin/hooks/indicator.mjs +29 -13
  12. package/node_modules/@agents-can-communicate/adapter-codex/package.json +1 -1
  13. package/node_modules/@agents-can-communicate/adapter-gemini-cli/extension/gemini-extension.json +1 -1
  14. package/node_modules/@agents-can-communicate/adapter-gemini-cli/package.json +1 -1
  15. package/node_modules/@agents-can-communicate/adapter-grok/package.json +1 -1
  16. package/node_modules/@agents-can-communicate/adapter-kimi/package.json +1 -1
  17. package/node_modules/@agents-can-communicate/adapter-sdk/package.json +1 -1
  18. package/node_modules/@agents-can-communicate/adapter-sdk/src/native-attempt-writer.mjs +1 -1
  19. package/node_modules/@agents-can-communicate/adapter-sdk/src/process-table.mjs +40 -27
  20. package/node_modules/@agents-can-communicate/cli/package.json +7 -1
  21. package/node_modules/@agents-can-communicate/cli/src/adapter-catalog.mjs +33 -0
  22. package/node_modules/@agents-can-communicate/cli/src/help.mjs +2 -3
  23. package/node_modules/@agents-can-communicate/cli/src/indicator-command.mjs +2 -2
  24. package/node_modules/@agents-can-communicate/cli/src/indicator.mjs +4 -4
  25. package/node_modules/@agents-can-communicate/cli/src/main.mjs +38 -60
  26. package/node_modules/@agents-can-communicate/cli/src/native-session-diagnostics.mjs +1 -1
  27. package/node_modules/@agents-can-communicate/cli/src/recorded-text.mjs +32 -0
  28. package/node_modules/@agents-can-communicate/core/package.json +1 -1
  29. package/node_modules/@agents-can-communicate/core/src/next-turn-delivery.mjs +2 -1
  30. package/node_modules/@agents-can-communicate/core/src/sessions.mjs +5 -2
  31. package/node_modules/@agents-can-communicate/core/src/sync.mjs +2 -1
  32. package/node_modules/@agents-can-communicate/delivery-router/package.json +1 -1
  33. package/node_modules/@agents-can-communicate/delivery-router/src/router.mjs +5 -2
  34. package/node_modules/@agents-can-communicate/hook-runner/package.json +1 -1
  35. package/node_modules/@agents-can-communicate/hook-runner/src/client-pid.mjs +23 -11
  36. package/node_modules/@agents-can-communicate/hook-runner/src/runner.mjs +66 -26
  37. package/node_modules/@agents-can-communicate/installer/package.json +3 -2
  38. package/node_modules/@agents-can-communicate/mcp-server/package.json +1 -1
  39. package/node_modules/@agents-can-communicate/protocol/package.json +1 -1
  40. package/node_modules/@agents-can-communicate/storage-filesystem/package.json +3 -2
  41. package/node_modules/@agents-can-communicate/storage-filesystem/src/state-reads.mjs +24 -7
  42. package/package.json +1 -1
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@agents-can-communicate/storage-filesystem",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
7
- ".": "./src/index.mjs"
7
+ ".": "./src/index.mjs",
8
+ "./writer-mutex": "./src/writer-mutex.mjs"
8
9
  },
9
10
  "files": [
10
11
  "src/"
@@ -19,14 +19,31 @@ export async function readStateEnvelope(paths, { root, workspaceId }, kind, id)
19
19
  return envelope;
20
20
  }
21
21
 
22
+ // How many records of one kind are read at once. One at a time, a turn spent
23
+ // 0.4 s reading a workspace of a few thousand records; sixteen read it in 0.15 s
24
+ // on the same Mac (#298). The order of the listing is kept.
25
+ const LIST_READS = 16;
26
+
22
27
  export async function listState(paths, root, kind, deadlineAt) {
23
- const envelopes = [];
24
- for (const filePath of await listJsonFiles(path.join(paths.state, kind), { root })) {
25
- assertPublicationDeadline(deadlineAt);
26
- const envelope = await readStateEnvelope(paths, { root }, kind, path.basename(filePath, ".json"));
27
- if (envelope !== null) envelopes.push(envelope);
28
- }
29
- return envelopes;
28
+ const files = await listJsonFiles(path.join(paths.state, kind), { root });
29
+ const envelopes = new Array(files.length).fill(null);
30
+ let next = 0;
31
+ let failed = false;
32
+ const reader = async () => {
33
+ while (!failed && next < files.length) {
34
+ const index = next++;
35
+ try {
36
+ assertPublicationDeadline(deadlineAt);
37
+ envelopes[index] = await readStateEnvelope(paths, { root }, kind,
38
+ path.basename(files[index], ".json"));
39
+ } catch (error) {
40
+ failed = true;
41
+ throw error;
42
+ }
43
+ }
44
+ };
45
+ await Promise.all(Array.from({ length: Math.min(LIST_READS, files.length) }, reader));
46
+ return envelopes.filter(envelope => envelope !== null);
30
47
  }
31
48
 
32
49
  export async function loadStateEnvelopes(paths, { root, deadlineAt }, wanted = null) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agents-can-communicate",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "accManagedUpdateProtocol": 2,
5
5
  "accStoreVersion": 7,
6
6
  "type": "module",