@omercnet/paseo-agent-crew 0.2.3 → 0.3.0-next.84.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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,18 @@
10
10
  - add an explicit pending-permission modal with Allow and Deny actions
11
11
  - pin Paseo plugin packages to `0.8.0-beta.1`
12
12
 
13
+ ## [0.3.0](https://github.com/omercnet/paseo-plugins/compare/agent-crew-v0.2.3...agent-crew-v0.3.0) (2026-09-18)
14
+
15
+
16
+ ### Features
17
+
18
+ * **release:** publish plugins to npm ([#80](https://github.com/omercnet/paseo-plugins/issues/80)) ([3c93048](https://github.com/omercnet/paseo-plugins/commit/3c93048cfefda97d8c2bc1631e3428fb64bdad09))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **agent-crew:** support Paseo 0.9 beta ([#90](https://github.com/omercnet/paseo-plugins/issues/90)) ([d2d3114](https://github.com/omercnet/paseo-plugins/commit/d2d3114bfcca63e0c184e9be4843a941a1fb56b6))
24
+
13
25
  ## [0.2.3](https://github.com/omercnet/paseo-plugins/compare/agent-crew-v0.2.2...agent-crew-v0.2.3) (2026-09-10)
14
26
 
15
27
 
package/README.md CHANGED
@@ -58,7 +58,7 @@ shown without hiding the failure.
58
58
 
59
59
  `usePaseo().agents.list()` and `usePaseo().workspaces.list()` page the selected daemon directory at
60
60
  200 entries per page, up to 10 pages. Parent relationships come from the first-class
61
- `parentAgentId` field when the public 0.8 SDK exposes it, with a legacy label fallback for older
61
+ `parentAgentId` field when the public SDK exposes it, with a legacy label fallback for older
62
62
  snapshots. The workspace crew contains local agents, their managed descendants, and only the foreign
63
63
  ancestor paths needed to explain local membership. Archived agents are omitted, malformed parent
64
64
  cycles are bounded, and siblings are ordered by actionable state, creation time, then ID.
@@ -93,18 +93,31 @@ Agent Crew intentionally stays inside the public Paseo plugin SDK.
93
93
 
94
94
  Paseo plugins are trusted, unsandboxed code. Review the source before installing it.
95
95
 
96
+ From npm:
97
+
98
+ ```bash
99
+ paseo plugin install npm:@omercnet/paseo-agent-crew
100
+ ```
101
+
96
102
  From GitHub:
97
103
 
98
104
  ```bash
99
105
  paseo plugin add omercnet/paseo-plugins:agent-crew
100
106
  ```
101
107
 
102
- From a local checkout on the Paseo daemon host:
108
+ Update a Git installation on either version, or an npm installation on Paseo 0.9, after reviewing
109
+ the proposed revision:
110
+
111
+ ```bash
112
+ paseo plugin update agent-crew
113
+ ```
114
+
115
+ From a local checkout on the Paseo daemon host, on Paseo 0.8 or 0.9:
103
116
 
104
117
  ```bash
105
118
  git clone https://github.com/omercnet/paseo-plugins.git
106
119
  cd paseo-plugins/agent-crew
107
- bun install --frozen-lockfile
120
+ npm ci
108
121
  paseo plugin install "$PWD"
109
122
  ```
110
123
 
@@ -114,18 +127,19 @@ Command Center action opens it directly.
114
127
  ## Develop
115
128
 
116
129
  ```bash
117
- bun install
118
- bun run check
119
- bun test
120
- bun run test:coverage
121
- bun run typecheck
130
+ npm ci
131
+ npm run check
132
+ npm test
133
+ npm run test:coverage
134
+ npm run typecheck
122
135
  paseo plugin install /absolute/path/to/paseo-agent-crew
123
136
  paseo plugin reload agent-crew
124
137
  ```
125
138
 
126
- The manifest requires Paseo `^0.8.0`, which accepts Paseo 0.8.x including compatible prereleases.
127
- The project pins `@getpaseo/cli`, `@getpaseo/client`, `@getpaseo/plugin`, and
128
- `@getpaseo/protocol` to stable `0.8.0`. React 19.1 and React Native 0.81 match the host.
139
+ The manifest supports Paseo 0.8.x and the 0.9 beta line with
140
+ `^0.8.0 || ^0.9.0-beta.1`. The project pins `@getpaseo/cli`, `@getpaseo/client`,
141
+ `@getpaseo/plugin`, and `@getpaseo/protocol` to `0.9.0-beta.1` for development. React 19.1 and
142
+ React Native 0.81 match the host.
129
143
 
130
144
  Release Please maintains versions, changelog entries, component tags, and GitHub releases from
131
145
  Conventional Commits in the monorepo.
package/client/crew.ts CHANGED
@@ -5,6 +5,15 @@ export type PaseoWorkspace = Awaited<ReturnType<PaseoApi["workspaces"]["list"]>>
5
5
  export type AgentEntry = Awaited<ReturnType<PaseoApi["agents"]["list"]>>["entries"][number];
6
6
  type AgentSnapshot = AgentEntry["agent"];
7
7
 
8
+ export function listenToCrewDirectory(paseo: PaseoApi, invalidate: () => void): () => void {
9
+ const unsubscribeAgents = paseo.agents.subscribe(invalidate);
10
+ const unsubscribeWorkspaces = paseo.workspaces.subscribe(invalidate);
11
+ return () => {
12
+ unsubscribeAgents();
13
+ unsubscribeWorkspaces();
14
+ };
15
+ }
16
+
8
17
  const LEGACY_PARENT_AGENT_ID_LABEL = "paseo.parent-agent-id";
9
18
 
10
19
  export type CrewState = "needs-input" | "failed" | "working" | "ready" | "idle" | "closed";
package/client/main.tsx CHANGED
@@ -24,6 +24,7 @@ import {
24
24
  crewState,
25
25
  formatAge,
26
26
  isWorking,
27
+ listenToCrewDirectory,
27
28
  type PaseoApi,
28
29
  type PaseoWorkspace,
29
30
  parentAgentId,
@@ -216,12 +217,10 @@ export function AgentCrew({
216
217
  void queryClient.invalidateQueries({ queryKey });
217
218
  }, REFRESH_DEBOUNCE_MS);
218
219
  };
219
- const unsubscribeAgents = paseo.agents.subscribe(invalidate);
220
- const unsubscribeWorkspaces = paseo.workspaces.subscribe(invalidate);
220
+ const unsubscribeDirectory = listenToCrewDirectory(paseo, invalidate);
221
221
  return () => {
222
222
  clearTimeout(debounce);
223
- unsubscribeAgents();
224
- unsubscribeWorkspaces();
223
+ unsubscribeDirectory();
225
224
  };
226
225
  }, [paseo, queryClient, queryKey]);
227
226
 
@@ -636,7 +635,10 @@ export function AgentCrew({
636
635
  <Pressable
637
636
  accessibilityRole="button"
638
637
  accessibilityLabel={`Open ${agentTitle(item.entry)}`}
639
- onPress={() => navigation.openAgent({ agentId: agent.id })}
638
+ onPress={() => {
639
+ const target = { agentId: agent.id, serverId: host.id };
640
+ navigation.openAgent(target);
641
+ }}
640
642
  style={({ pressed }) => [panelStyles.rowBody, pressed && styles.pressed]}
641
643
  >
642
644
  {rowBody}
package/package.json CHANGED
@@ -1,15 +1,24 @@
1
1
  {
2
2
  "name": "@omercnet/paseo-agent-crew",
3
- "version": "0.2.3",
3
+ "version": "0.3.0-next.84.1",
4
4
  "type": "module",
5
5
  "description": "A Paseo Explorer panel for visualizing and controlling every managed agent crew in a workspace.",
6
6
  "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/omercnet/paseo-plugins.git",
10
+ "directory": "agent-crew"
11
+ },
12
+ "homepage": "https://github.com/omercnet/paseo-plugins/tree/main/agent-crew#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/omercnet/paseo-plugins/issues"
15
+ },
7
16
  "publishConfig": {
8
17
  "access": "public"
9
18
  },
10
- "packageManager": "bun@1.4.0",
19
+ "packageManager": "npm@11.19.1",
11
20
  "engines": {
12
- "bun": ">=1.4.0"
21
+ "node": ">=24"
13
22
  },
14
23
  "author": "Omer Cohen",
15
24
  "keywords": [
@@ -20,7 +29,6 @@
20
29
  "orchestration"
21
30
  ],
22
31
  "files": [
23
- "bun.lock",
24
32
  "CHANGELOG.md",
25
33
  "LICENSE",
26
34
  "README.md",
@@ -34,24 +42,26 @@
34
42
  "scripts": {
35
43
  "check": "biome check .",
36
44
  "check:write": "biome check --write .",
37
- "test": "bun test",
38
- "package:release": "bun scripts/package-release.ts",
39
- "test:coverage": "bun test --coverage",
45
+ "test": "vitest run",
46
+ "package:release": "node scripts/package-release.ts",
47
+ "test:coverage": "vitest run --coverage --coverage.reporter=text --coverage.reporter=lcov --coverage.thresholds.lines=90 --coverage.thresholds.functions=85",
40
48
  "typecheck": "tsc --noEmit"
41
49
  },
42
50
  "devDependencies": {
43
51
  "@biomejs/biome": "^2.5.10",
44
- "@getpaseo/cli": "0.8.0",
45
- "@getpaseo/client": "0.8.0",
46
- "@getpaseo/plugin": "0.8.0",
47
- "@getpaseo/protocol": "0.8.0",
52
+ "@getpaseo/cli": "0.9.0-beta.1",
53
+ "@getpaseo/client": "0.9.0-beta.1",
54
+ "@getpaseo/plugin": "0.9.0-beta.1",
55
+ "@getpaseo/protocol": "0.9.0-beta.1",
48
56
  "@tanstack/react-query": "^5.102.3",
49
- "@types/bun": "^1.4.0",
57
+ "@types/node": "^24.5.2",
50
58
  "@types/react": "~19.2.0",
59
+ "@vitest/coverage-v8": "^5.0.0",
51
60
  "fflate": "^0.8.3",
52
61
  "react": "19.1.0",
53
62
  "react-native": "0.81.5",
54
- "typescript": "^5.9.3",
63
+ "typescript": "^7.0.0",
64
+ "vitest": "^5.0.0",
55
65
  "zod": "^4.4.3"
56
66
  }
57
67
  }
package/paseo-plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "agent-crew",
3
3
  "requirements": {
4
- "paseo": "^0.8.0"
4
+ "paseo": "^0.8.0 || ^0.9.0-beta.1"
5
5
  }
6
6
  }
package/tsconfig.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES2020",
3
+ "target": "ES2024",
4
4
  "module": "ESNext",
5
5
  "moduleResolution": "Bundler",
6
- "lib": ["ES2023"],
6
+ "lib": ["ES2024"],
7
7
  "jsx": "react-jsx",
8
8
  "strict": true,
9
9
  "skipLibCheck": true,
10
10
  "noEmit": true,
11
11
  "esModuleInterop": true,
12
12
  "allowSyntheticDefaultImports": true,
13
- "types": ["bun"]
13
+ "types": ["node"]
14
14
  },
15
15
  "include": ["**/*.ts", "**/*.tsx"]
16
16
  }