@amaster.ai/pi-teamwork 0.1.8 → 0.1.9
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/README.md +2 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -186
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -29
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/adapters/amaster.d.ts +0 -39
- package/dist/adapters/amaster.d.ts.map +0 -1
- package/dist/adapters/amaster.js +0 -452
- package/dist/adapters/amaster.js.map +0 -1
package/README.md
CHANGED
|
@@ -7,7 +7,6 @@ Pi extension for team collaboration and project management. Provides LLM-callabl
|
|
|
7
7
|
## Supported Providers
|
|
8
8
|
|
|
9
9
|
- **Multica** — CLI-based adapter via [multica](https://github.com/multica-ai/multica)
|
|
10
|
-
- **AMaster Employee** — CLI-based adapter via managed `amaster-employee` and optional `amaster-runtime`
|
|
11
10
|
|
|
12
11
|
## Configuration
|
|
13
12
|
|
|
@@ -78,39 +77,16 @@ For CI or non-interactive environments where you can't run `multica setup`. The
|
|
|
78
77
|
|
|
79
78
|
> ⚠️ `token` is a credential. Keep it out of version control — put it in a local-only settings file or inject via env-substituted config.
|
|
80
79
|
|
|
81
|
-
### Mode 4 — AMaster Employee managed CLI
|
|
82
|
-
|
|
83
|
-
For Pi Agent / AMaster Employee integration, configure the provider explicitly. The extension shells out to the stable managed command names; do not point settings at a local `cli/dist/amaster.js` build artifact.
|
|
84
|
-
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"pi-teamwork": {
|
|
88
|
-
"enabled": true,
|
|
89
|
-
"provider": "amaster",
|
|
90
|
-
"amaster": {
|
|
91
|
-
"apiBase": "https://amaster.example.com"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Pi Agent may pass a browser-session board credential through `session_start.amasterEmployee.apiKey`. The extension uses it only in memory for child CLI execution and does not save it to settings.
|
|
98
|
-
|
|
99
|
-
For the AMaster provider, the LUI-facing `workspaceId` parameter maps to an AMaster company id. The adapter passes that value to the AMaster Employee CLI as `-C <companyId>`. `workspace_list` is a discovery/switch helper, not a hard prerequisite for every tool call: when the account has exactly one company, the adapter falls back to that company automatically; when multiple companies are available and no `workspaceId` is provided, the tool fails clearly and asks the caller to pass a canonical id from `workspace_list`. The adapter does not keep a global "active company" state.
|
|
100
|
-
|
|
101
80
|
| Field | Description |
|
|
102
81
|
|-------|-------------|
|
|
103
82
|
| `enabled` | Enable/disable the extension |
|
|
104
|
-
| `provider` | Provider name (`multica`
|
|
83
|
+
| `provider` | Provider name (`multica`) |
|
|
105
84
|
| `multica.binary` | Path to multica binary (default: `multica`) |
|
|
106
85
|
| `multica.workspace` | Workspace ID override; leave empty to use multica's default |
|
|
107
86
|
| `multica.token` | Headless-login token. Omit when multica is already logged in on the machine |
|
|
108
87
|
| `multica.serverUrl` | Self-hosted server API URL. Triggers `multica setup self-host --server-url` on start |
|
|
109
88
|
| `multica.appUrl` | Self-hosted server frontend URL. Required when `serverUrl` is a remote address |
|
|
110
89
|
| `multica.autoInstall` | Deprecated compatibility flag; no installer is executed (default: `false`) |
|
|
111
|
-
| `amaster.apiBase` | AMaster Employee API base passed to the CLI as `--api-base` |
|
|
112
|
-
| `amaster.companyId` | Optional AMaster canonical company id override passed to the CLI as `-C` |
|
|
113
|
-
| `amaster.context` / `profile` / `authStore` | Optional CLI context/profile/auth-store overrides |
|
|
114
90
|
|
|
115
91
|
## Tools
|
|
116
92
|
|
|
@@ -122,7 +98,6 @@ For the AMaster provider, the LUI-facing `workspaceId` parameter maps to an AMas
|
|
|
122
98
|
| `issue_update` | Update an existing issue (title, description, status, priority, assignee) |
|
|
123
99
|
| `issue_comment` | Add a comment to an issue |
|
|
124
100
|
| `project_list` | List all projects in the workspace |
|
|
125
|
-
| `user_directory_list` | List assignable AMaster users or members (AMaster provider only) |
|
|
126
101
|
| `teamwork_status` | Check provider/daemon status |
|
|
127
102
|
|
|
128
103
|
## Commands
|
|
@@ -136,8 +111,7 @@ src/
|
|
|
136
111
|
├── index.ts # Generic tool layer (provider-agnostic)
|
|
137
112
|
├── types.ts # TeamworkProvider interface + shared types
|
|
138
113
|
└── adapters/
|
|
139
|
-
|
|
140
|
-
└── amaster.ts # AMaster Employee CLI adapter
|
|
114
|
+
└── multica.ts # Multica CLI adapter + initialization
|
|
141
115
|
```
|
|
142
116
|
|
|
143
117
|
The extension uses a provider pattern — `index.ts` registers tools that delegate to a `TeamworkProvider` interface. Adding a new provider (Linear, Jira, etc.) only requires implementing the interface and adding a factory branch in `session_start`.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAwChF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAgIlE"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
2
1
|
import { isProjectTrusted, loadPiSettings } from '@amaster.ai/pi-shared/settings';
|
|
3
2
|
import { defineTool } from '@earendil-works/pi-coding-agent';
|
|
4
3
|
import { Type } from 'typebox';
|
|
5
|
-
import { initAmasterProvider } from './adapters/amaster.js';
|
|
6
4
|
import { initMulticaProvider } from './adapters/multica.js';
|
|
7
5
|
const SETTINGS_KEY = 'pi-teamwork';
|
|
8
6
|
const STATUS_KEY = 'pi-teamwork';
|
|
@@ -14,7 +12,6 @@ const TEAMWORK_TOOL_ORDER = [
|
|
|
14
12
|
'issue_update',
|
|
15
13
|
'issue_comment',
|
|
16
14
|
'project_list',
|
|
17
|
-
'user_directory_list',
|
|
18
15
|
'teamwork_status',
|
|
19
16
|
];
|
|
20
17
|
const TEAMWORK_TOOL_NAMES = new Set(TEAMWORK_TOOL_ORDER);
|
|
@@ -31,6 +28,9 @@ const TEAMWORK_GUIDANCE = [
|
|
|
31
28
|
'The tracker is for cross-collaborator coordination, not for tracking your own session-local TODOs. Do not file an issue just to remind yourself of something within the current conversation.',
|
|
32
29
|
'</teamwork-guidance>',
|
|
33
30
|
].join('\n');
|
|
31
|
+
const WORKSPACE_ID_PARAM = Type.Optional(Type.String({
|
|
32
|
+
description: 'Workspace ID from workspace_list. Optional when the account has exactly one workspace.',
|
|
33
|
+
}));
|
|
34
34
|
export default function piTeamworkExtension(pi) {
|
|
35
35
|
let provider;
|
|
36
36
|
let readyPromise;
|
|
@@ -50,16 +50,14 @@ export default function piTeamworkExtension(pi) {
|
|
|
50
50
|
return provider;
|
|
51
51
|
}
|
|
52
52
|
const teamworkTools = createTeamworkTools(ensureReady, getProvider);
|
|
53
|
-
function registerProviderTools(
|
|
54
|
-
const supportedToolNames = supportedToolNamesForProvider(adapter);
|
|
53
|
+
function registerProviderTools() {
|
|
55
54
|
for (const tool of teamworkTools) {
|
|
56
|
-
if (
|
|
55
|
+
if (registeredToolNames.has(tool.name))
|
|
57
56
|
continue;
|
|
58
|
-
}
|
|
59
57
|
pi.registerTool(tool);
|
|
60
58
|
registeredToolNames.add(tool.name);
|
|
61
59
|
}
|
|
62
|
-
alignActiveTeamworkTools(pi,
|
|
60
|
+
alignActiveTeamworkTools(pi, TEAMWORK_TOOL_NAMES, suspendedToolNames);
|
|
63
61
|
}
|
|
64
62
|
function suspendTeamworkTools() {
|
|
65
63
|
alignActiveTeamworkTools(pi, new Set(), suspendedToolNames);
|
|
@@ -74,39 +72,25 @@ export default function piTeamworkExtension(pi) {
|
|
|
74
72
|
ctx.ui.setStatus(STATUS_KEY, 'teamwork: disabled');
|
|
75
73
|
return;
|
|
76
74
|
}
|
|
77
|
-
const exec = async (command, args, options) => {
|
|
78
|
-
if (options?.env && Object.keys(options.env).length > 0) {
|
|
79
|
-
return execWithEnv(command, args, options.env, ctx.cwd);
|
|
80
|
-
}
|
|
81
|
-
const result = await pi.exec(command, args, { cwd: ctx.cwd });
|
|
82
|
-
return { stdout: result.stdout, stderr: result.stderr, code: result.code };
|
|
83
|
-
};
|
|
84
75
|
const providerName = config.provider ?? 'multica';
|
|
85
|
-
if (providerName === 'amaster') {
|
|
86
|
-
const amasterConfig = { ...(config.amaster ?? {}) };
|
|
87
|
-
applyAmasterRuntimeAuth(amasterConfig, _event);
|
|
88
|
-
const adapter = await initAmasterProvider(amasterConfig, exec);
|
|
89
|
-
if (generation !== sessionGeneration)
|
|
90
|
-
return;
|
|
91
|
-
provider = adapter;
|
|
92
|
-
registerProviderTools(adapter);
|
|
93
|
-
ctx.ui.setStatus(STATUS_KEY, 'teamwork: amaster');
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
76
|
if (providerName !== 'multica') {
|
|
97
77
|
suspendTeamworkTools();
|
|
98
78
|
ctx.ui.setStatus(STATUS_KEY, `teamwork: unknown provider "${providerName}"`);
|
|
99
79
|
return;
|
|
100
80
|
}
|
|
81
|
+
const exec = async (command, args) => {
|
|
82
|
+
const result = await pi.exec(command, args, { cwd: ctx.cwd });
|
|
83
|
+
return { stdout: result.stdout, stderr: result.stderr, code: result.code };
|
|
84
|
+
};
|
|
101
85
|
readyPromise = (async () => {
|
|
102
86
|
const { adapter, installResult } = await initMulticaProvider(config.multica ?? {}, exec);
|
|
103
87
|
if (generation !== sessionGeneration)
|
|
104
88
|
return;
|
|
105
89
|
provider = adapter;
|
|
106
|
-
registerProviderTools(
|
|
90
|
+
registerProviderTools();
|
|
107
91
|
if (!installResult.installed) {
|
|
108
92
|
ctx.ui.notify(`multica CLI is unavailable: ${installResult.error ?? 'unknown error'}. Run "multica setup" after installing it.`, 'warning');
|
|
109
|
-
ctx.ui.setStatus(STATUS_KEY,
|
|
93
|
+
ctx.ui.setStatus(STATUS_KEY, `teamwork: ${adapter.name} (not installed)`);
|
|
110
94
|
return;
|
|
111
95
|
}
|
|
112
96
|
if (!config.multica?.token && !config.multica?.serverUrl) {
|
|
@@ -115,7 +99,7 @@ export default function piTeamworkExtension(pi) {
|
|
|
115
99
|
if (config.multica?.serverUrl && !config.multica?.appUrl) {
|
|
116
100
|
ctx.ui.notify('multica serverUrl is set but appUrl is missing. Remote servers require both.', 'warning');
|
|
117
101
|
}
|
|
118
|
-
ctx.ui.setStatus(STATUS_KEY,
|
|
102
|
+
ctx.ui.setStatus(STATUS_KEY, `teamwork: ${adapter.name}`);
|
|
119
103
|
})().catch((err) => {
|
|
120
104
|
if (generation !== sessionGeneration)
|
|
121
105
|
return;
|
|
@@ -162,7 +146,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
162
146
|
defineTool({
|
|
163
147
|
name: 'workspace_list',
|
|
164
148
|
label: 'Teamwork',
|
|
165
|
-
description: 'List all workspaces you belong to. Use this to discover or switch workspaces.
|
|
149
|
+
description: 'List all workspaces you belong to. Use this to discover or switch workspaces.',
|
|
166
150
|
promptSnippet: 'List workspaces in the shared project tracker.',
|
|
167
151
|
parameters: Type.Object({}),
|
|
168
152
|
async execute() {
|
|
@@ -186,9 +170,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
186
170
|
description: 'List issues from a shared project tracker. Issues are work items that humans or other agents collaborate on. Supports filtering by status, assignee, and project.',
|
|
187
171
|
promptSnippet: 'List issues from a shared project tracker where humans and agents collaborate.',
|
|
188
172
|
parameters: Type.Object({
|
|
189
|
-
workspaceId:
|
|
190
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
191
|
-
})),
|
|
173
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
192
174
|
status: Type.Optional(Type.String({ description: 'Filter by status (e.g. todo, in_progress, done, blocked).' })),
|
|
193
175
|
assignee: Type.Optional(Type.String({ description: 'Filter by assignee name.' })),
|
|
194
176
|
project: Type.Optional(Type.String({ description: 'Filter by project ID.' })),
|
|
@@ -214,9 +196,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
214
196
|
label: 'Teamwork',
|
|
215
197
|
description: 'Get detailed information about a specific issue (a work item in the shared project tracker).',
|
|
216
198
|
parameters: Type.Object({
|
|
217
|
-
workspaceId:
|
|
218
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
219
|
-
})),
|
|
199
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
220
200
|
id: Type.String({ description: 'The issue ID.' }),
|
|
221
201
|
}),
|
|
222
202
|
async execute(_toolCallId, params) {
|
|
@@ -240,9 +220,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
240
220
|
description: 'Create a new issue (a work item / ticket) in the shared project tracker. Use this to file work for humans or other agents to pick up.',
|
|
241
221
|
promptSnippet: 'Create issues / tickets in a shared project tracker for humans or agents to collaborate on.',
|
|
242
222
|
parameters: Type.Object({
|
|
243
|
-
workspaceId:
|
|
244
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
245
|
-
})),
|
|
223
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
246
224
|
title: Type.String({ description: 'Issue title.' }),
|
|
247
225
|
description: Type.Optional(Type.String({ description: 'Issue description.' })),
|
|
248
226
|
priority: Type.Optional(Type.String({ description: 'Priority (e.g. low, medium, high, urgent).' })),
|
|
@@ -267,9 +245,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
267
245
|
label: 'Teamwork',
|
|
268
246
|
description: 'Update an existing issue in the shared project tracker. Can change title, description, status, priority, or assignee.',
|
|
269
247
|
parameters: Type.Object({
|
|
270
|
-
workspaceId:
|
|
271
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
272
|
-
})),
|
|
248
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
273
249
|
id: Type.String({ description: 'The issue ID to update.' }),
|
|
274
250
|
title: Type.Optional(Type.String({ description: 'New title.' })),
|
|
275
251
|
description: Type.Optional(Type.String({ description: 'New description.' })),
|
|
@@ -300,14 +276,10 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
300
276
|
label: 'Teamwork',
|
|
301
277
|
description: 'Add a comment to an issue in the shared project tracker. Use for progress updates, questions, or blockers visible to other collaborators (humans or agents).',
|
|
302
278
|
parameters: Type.Object({
|
|
303
|
-
workspaceId:
|
|
304
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
305
|
-
})),
|
|
279
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
306
280
|
issueId: Type.String({ description: 'The issue ID to comment on.' }),
|
|
307
281
|
content: Type.String({ description: 'Comment content.' }),
|
|
308
|
-
parentId: Type.Optional(Type.String({
|
|
309
|
-
description: 'Optional provider-specific parent comment ID. The AMaster provider currently creates top-level comments.',
|
|
310
|
-
})),
|
|
282
|
+
parentId: Type.Optional(Type.String({ description: 'Optional parent comment ID for threaded replies.' })),
|
|
311
283
|
}),
|
|
312
284
|
async execute(_toolCallId, params) {
|
|
313
285
|
const err = await ensureReady();
|
|
@@ -327,9 +299,7 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
327
299
|
label: 'Teamwork',
|
|
328
300
|
description: 'List all projects in a workspace.',
|
|
329
301
|
parameters: Type.Object({
|
|
330
|
-
workspaceId:
|
|
331
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
332
|
-
})),
|
|
302
|
+
workspaceId: WORKSPACE_ID_PARAM,
|
|
333
303
|
}),
|
|
334
304
|
async execute(_toolCallId, params) {
|
|
335
305
|
const err = await ensureReady();
|
|
@@ -346,36 +316,6 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
346
316
|
}
|
|
347
317
|
},
|
|
348
318
|
}),
|
|
349
|
-
defineTool({
|
|
350
|
-
name: 'user_directory_list',
|
|
351
|
-
label: 'Teamwork',
|
|
352
|
-
description: 'List assignable AMaster users or members in the current teamwork workspace. This is read-only and helps choose assignees.',
|
|
353
|
-
parameters: Type.Object({
|
|
354
|
-
workspaceId: Type.Optional(Type.String({
|
|
355
|
-
description: 'Workspace ID. For AMaster provider this is the canonical companyId from workspace_list and is passed to the CLI as -C. Optional when the account has exactly one workspace.',
|
|
356
|
-
})),
|
|
357
|
-
q: Type.Optional(Type.String({ description: 'Optional search text.' })),
|
|
358
|
-
limit: Type.Optional(Type.Number({ description: 'Max number of results.' })),
|
|
359
|
-
}),
|
|
360
|
-
async execute(_toolCallId, params) {
|
|
361
|
-
const err = await ensureReady();
|
|
362
|
-
if (err)
|
|
363
|
-
return textResult(err);
|
|
364
|
-
const activeProvider = getProvider();
|
|
365
|
-
if (!activeProvider.listUserDirectory) {
|
|
366
|
-
return textResult('The current teamwork provider does not support user_directory_list.');
|
|
367
|
-
}
|
|
368
|
-
try {
|
|
369
|
-
const users = await activeProvider.listUserDirectory(params);
|
|
370
|
-
if (users.length === 0)
|
|
371
|
-
return textResult('No assignable users found.');
|
|
372
|
-
return textResult(JSON.stringify(users, null, 2));
|
|
373
|
-
}
|
|
374
|
-
catch (error) {
|
|
375
|
-
return textResult(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
}),
|
|
379
319
|
defineTool({
|
|
380
320
|
name: 'teamwork_status',
|
|
381
321
|
label: 'Teamwork',
|
|
@@ -396,12 +336,6 @@ function createTeamworkTools(ensureReady, getProvider) {
|
|
|
396
336
|
}),
|
|
397
337
|
];
|
|
398
338
|
}
|
|
399
|
-
function supportedToolNamesForProvider(provider) {
|
|
400
|
-
const supportedToolNames = new Set(TEAMWORK_TOOL_ORDER);
|
|
401
|
-
if (!provider.listUserDirectory)
|
|
402
|
-
supportedToolNames.delete('user_directory_list');
|
|
403
|
-
return supportedToolNames;
|
|
404
|
-
}
|
|
405
339
|
function alignActiveTeamworkTools(pi, supportedToolNames, suspendedToolNames) {
|
|
406
340
|
try {
|
|
407
341
|
const activeToolNames = pi.getActiveTools();
|
|
@@ -434,105 +368,6 @@ function alignActiveTeamworkTools(pi, supportedToolNames, suspendedToolNames) {
|
|
|
434
368
|
function textResult(text) {
|
|
435
369
|
return { content: [{ type: 'text', text }], details: undefined };
|
|
436
370
|
}
|
|
437
|
-
function execWithEnv(command, args, env, cwd) {
|
|
438
|
-
return new Promise((resolve) => {
|
|
439
|
-
const child = spawn(command, args, {
|
|
440
|
-
cwd,
|
|
441
|
-
shell: false,
|
|
442
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
443
|
-
env: { ...process.env, ...env },
|
|
444
|
-
});
|
|
445
|
-
let stdout = '';
|
|
446
|
-
let stderr = '';
|
|
447
|
-
let settled = false;
|
|
448
|
-
const finish = (result) => {
|
|
449
|
-
if (settled)
|
|
450
|
-
return;
|
|
451
|
-
settled = true;
|
|
452
|
-
resolve(result);
|
|
453
|
-
};
|
|
454
|
-
child.stdout?.on('data', (chunk) => {
|
|
455
|
-
stdout += String(chunk);
|
|
456
|
-
});
|
|
457
|
-
child.stderr?.on('data', (chunk) => {
|
|
458
|
-
stderr += String(chunk);
|
|
459
|
-
});
|
|
460
|
-
child.on('error', (error) => {
|
|
461
|
-
finish({ stdout, stderr: error.message, code: 1 });
|
|
462
|
-
});
|
|
463
|
-
child.on('close', (code) => {
|
|
464
|
-
finish({ stdout, stderr, code: code ?? 0 });
|
|
465
|
-
});
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
function applyAmasterRuntimeAuth(config, event) {
|
|
469
|
-
const paperclipApiKey = process.env.PAPERCLIP_API_KEY?.trim();
|
|
470
|
-
if (paperclipApiKey) {
|
|
471
|
-
const paperclipApiBase = process.env.PAPERCLIP_API_URL?.trim();
|
|
472
|
-
if (paperclipApiBase)
|
|
473
|
-
config.apiBase = paperclipApiBase;
|
|
474
|
-
const paperclipCompanyId = process.env.PAPERCLIP_COMPANY_ID?.trim();
|
|
475
|
-
if (paperclipCompanyId)
|
|
476
|
-
config.companyId = paperclipCompanyId;
|
|
477
|
-
delete config.apiKey;
|
|
478
|
-
config.authMode = 'agent_run';
|
|
479
|
-
config.authEnv = {
|
|
480
|
-
PAPERCLIP_API_KEY: paperclipApiKey,
|
|
481
|
-
AMASTER_BOARD_API_KEY: '',
|
|
482
|
-
...optionalEnvValue('PAPERCLIP_RUN_ID', process.env.PAPERCLIP_RUN_ID),
|
|
483
|
-
...optionalEnvValue('PAPERCLIP_API_URL', process.env.PAPERCLIP_API_URL),
|
|
484
|
-
...optionalEnvValue('PAPERCLIP_COMPANY_ID', process.env.PAPERCLIP_COMPANY_ID),
|
|
485
|
-
};
|
|
486
|
-
return;
|
|
487
|
-
}
|
|
488
|
-
const sessionAuth = amasterAuthFromSessionStart(event);
|
|
489
|
-
const apiKey = sessionAuth.apiKey ?? process.env.AMASTER_BOARD_API_KEY?.trim() ?? config.apiKey?.trim();
|
|
490
|
-
if (apiKey) {
|
|
491
|
-
config.apiKey = apiKey;
|
|
492
|
-
config.authMode = 'board';
|
|
493
|
-
config.authEnv = {
|
|
494
|
-
AMASTER_BOARD_API_KEY: apiKey,
|
|
495
|
-
PAPERCLIP_API_KEY: '',
|
|
496
|
-
PAPERCLIP_RUN_ID: '',
|
|
497
|
-
PAPERCLIP_API_URL: '',
|
|
498
|
-
PAPERCLIP_COMPANY_ID: '',
|
|
499
|
-
};
|
|
500
|
-
}
|
|
501
|
-
else {
|
|
502
|
-
config.authMode = 'none';
|
|
503
|
-
delete config.authEnv;
|
|
504
|
-
}
|
|
505
|
-
const apiBase = sessionAuth.apiBase ?? process.env.AMASTER_EMPLOYEE_API_BASE?.trim();
|
|
506
|
-
if (apiBase)
|
|
507
|
-
config.apiBase = apiBase;
|
|
508
|
-
const companyId = sessionAuth.companyId ?? process.env.AMASTER_EMPLOYEE_COMPANY_ID?.trim();
|
|
509
|
-
if (companyId)
|
|
510
|
-
config.companyId = companyId;
|
|
511
|
-
}
|
|
512
|
-
function optionalEnvValue(key, value) {
|
|
513
|
-
const trimmed = value?.trim();
|
|
514
|
-
return trimmed ? { [key]: trimmed } : {};
|
|
515
|
-
}
|
|
516
|
-
function amasterAuthFromSessionStart(event) {
|
|
517
|
-
if (!event || typeof event !== 'object' || Array.isArray(event))
|
|
518
|
-
return {};
|
|
519
|
-
const amasterEmployee = event.amasterEmployee;
|
|
520
|
-
if (!amasterEmployee || typeof amasterEmployee !== 'object' || Array.isArray(amasterEmployee)) {
|
|
521
|
-
return {};
|
|
522
|
-
}
|
|
523
|
-
const record = amasterEmployee;
|
|
524
|
-
return {
|
|
525
|
-
...optionalTrimmed('apiKey', record.apiKey),
|
|
526
|
-
...optionalTrimmed('apiBase', record.apiBase),
|
|
527
|
-
...optionalTrimmed('companyId', record.companyId),
|
|
528
|
-
};
|
|
529
|
-
}
|
|
530
|
-
function optionalTrimmed(key, value) {
|
|
531
|
-
if (typeof value !== 'string')
|
|
532
|
-
return {};
|
|
533
|
-
const trimmed = value.trim();
|
|
534
|
-
return trimmed ? { [key]: trimmed } : {};
|
|
535
|
-
}
|
|
536
371
|
function loadConfig(cwd, projectTrusted = false) {
|
|
537
372
|
try {
|
|
538
373
|
const config = loadPiSettings(SETTINGS_KEY, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -51,14 +51,6 @@ export type Workspace = {
|
|
|
51
51
|
id: string;
|
|
52
52
|
name: string;
|
|
53
53
|
};
|
|
54
|
-
export type UserDirectoryEntry = {
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
email?: string;
|
|
58
|
-
role?: string;
|
|
59
|
-
type?: string;
|
|
60
|
-
status?: string;
|
|
61
|
-
};
|
|
62
54
|
export interface TeamworkProvider {
|
|
63
55
|
name: string;
|
|
64
56
|
listWorkspaces(): Promise<Workspace[]>;
|
|
@@ -69,22 +61,13 @@ export interface TeamworkProvider {
|
|
|
69
61
|
addComment(issueId: string, content: string, parentId?: string, workspaceId?: string): Promise<Comment>;
|
|
70
62
|
listComments(issueId: string, workspaceId?: string): Promise<Comment[]>;
|
|
71
63
|
listProjects(workspaceId?: string): Promise<Project[]>;
|
|
72
|
-
listUserDirectory?(filter?: {
|
|
73
|
-
workspaceId?: string;
|
|
74
|
-
q?: string;
|
|
75
|
-
limit?: number;
|
|
76
|
-
}): Promise<UserDirectoryEntry[]>;
|
|
77
64
|
status(): Promise<Record<string, unknown>>;
|
|
78
65
|
}
|
|
79
|
-
export type
|
|
80
|
-
env?: Record<string, string>;
|
|
81
|
-
};
|
|
82
|
-
export type ExecFn = (command: string, args: string[], options?: ExecOptions) => Promise<{
|
|
66
|
+
export type ExecFn = (command: string, args: string[]) => Promise<{
|
|
83
67
|
stdout: string;
|
|
84
68
|
stderr: string;
|
|
85
69
|
code: number;
|
|
86
70
|
}>;
|
|
87
|
-
export type AmasterAuthMode = 'agent_run' | 'board' | 'none';
|
|
88
71
|
export type MulticaAdapterConfig = {
|
|
89
72
|
binary?: string;
|
|
90
73
|
workspace?: string;
|
|
@@ -93,20 +76,9 @@ export type MulticaAdapterConfig = {
|
|
|
93
76
|
serverUrl?: string;
|
|
94
77
|
appUrl?: string;
|
|
95
78
|
};
|
|
96
|
-
export type AmasterAdapterConfig = {
|
|
97
|
-
apiBase?: string;
|
|
98
|
-
context?: string;
|
|
99
|
-
profile?: string;
|
|
100
|
-
authStore?: string;
|
|
101
|
-
companyId?: string;
|
|
102
|
-
apiKey?: string;
|
|
103
|
-
authMode?: AmasterAuthMode;
|
|
104
|
-
authEnv?: Record<string, string>;
|
|
105
|
-
};
|
|
106
79
|
export type TeamworkConfig = {
|
|
107
80
|
enabled?: boolean;
|
|
108
81
|
provider?: string;
|
|
109
82
|
multica?: MulticaAdapterConfig;
|
|
110
|
-
amaster?: AmasterAdapterConfig;
|
|
111
83
|
};
|
|
112
84
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amaster.ai/pi-teamwork",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "Pi extension for team collaboration and issue management via Multica",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"directory": "packages/pi-teamwork"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@amaster.ai/pi-shared": "0.1.
|
|
48
|
+
"@amaster.ai/pi-shared": "0.1.9"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"@earendil-works/pi-coding-agent": ">=0.79.1",
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { AmasterAdapterConfig, Comment, ExecFn, Issue, IssueCreateInput, IssueListFilter, IssueUpdateInput, Project, TeamworkProvider, UserDirectoryEntry, Workspace } from '../types.js';
|
|
2
|
-
export declare function initAmasterProvider(config: AmasterAdapterConfig, exec: ExecFn): Promise<TeamworkProvider>;
|
|
3
|
-
export declare class AmasterAdapter implements TeamworkProvider {
|
|
4
|
-
private readonly exec;
|
|
5
|
-
readonly name = "amaster";
|
|
6
|
-
private readonly binary;
|
|
7
|
-
private readonly runtimeBinary;
|
|
8
|
-
private readonly apiKey?;
|
|
9
|
-
private readonly authMode;
|
|
10
|
-
private readonly authEnv;
|
|
11
|
-
private readonly commonArgs;
|
|
12
|
-
private readonly defaultCompanyId?;
|
|
13
|
-
private discoveredCompanyId;
|
|
14
|
-
private workspaceDiscoveryPromise;
|
|
15
|
-
constructor(config: AmasterAdapterConfig, exec: ExecFn);
|
|
16
|
-
listWorkspaces(): Promise<Workspace[]>;
|
|
17
|
-
listIssues(filter?: IssueListFilter): Promise<Issue[]>;
|
|
18
|
-
getIssue(id: string, workspaceId?: string): Promise<Issue | undefined>;
|
|
19
|
-
createIssue(input: IssueCreateInput): Promise<Issue>;
|
|
20
|
-
updateIssue(id: string, input: IssueUpdateInput, workspaceId?: string): Promise<Issue | undefined>;
|
|
21
|
-
addComment(issueId: string, content: string, _parentId?: string, workspaceId?: string): Promise<Comment>;
|
|
22
|
-
listComments(issueId: string, workspaceId?: string): Promise<Comment[]>;
|
|
23
|
-
listProjects(workspaceId?: string): Promise<Project[]>;
|
|
24
|
-
listUserDirectory(filter?: {
|
|
25
|
-
workspaceId?: string;
|
|
26
|
-
q?: string;
|
|
27
|
-
limit?: number;
|
|
28
|
-
}): Promise<UserDirectoryEntry[]>;
|
|
29
|
-
status(): Promise<Record<string, unknown>>;
|
|
30
|
-
private runAmaster;
|
|
31
|
-
private runOptional;
|
|
32
|
-
private buildArgs;
|
|
33
|
-
private buildArgsSync;
|
|
34
|
-
private resolveDefaultCompanyId;
|
|
35
|
-
private discoverSingleCompanyId;
|
|
36
|
-
private amasterExecOptions;
|
|
37
|
-
private primeDefaultCompanyCache;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=amaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amaster.d.ts","sourceRoot":"","sources":["../../src/adapters/amaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,MAAM,EAEN,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACV,MAAM,aAAa,CAAC;AAKrB,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED,qBAAa,cAAe,YAAW,gBAAgB;IAcnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbvB,QAAQ,CAAC,IAAI,aAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,yBAAyB,CAA0C;gBAGzE,MAAM,EAAE,oBAAoB,EACX,IAAI,EAAE,MAAM;IAczB,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAUtC,UAAU,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAWtD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAUtE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBpD,WAAW,CACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAcvB,UAAU,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAqBb,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAevE,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkBtD,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoB3B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAoBlC,UAAU;YAQV,WAAW;YAgBX,SAAS;IAavB,OAAO,CAAC,aAAa;YAQP,uBAAuB;YAevB,uBAAuB;IASrC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,wBAAwB;CAWjC"}
|
package/dist/adapters/amaster.js
DELETED
|
@@ -1,452 +0,0 @@
|
|
|
1
|
-
export async function initAmasterProvider(config, exec) {
|
|
2
|
-
return new AmasterAdapter(config, exec);
|
|
3
|
-
}
|
|
4
|
-
export class AmasterAdapter {
|
|
5
|
-
exec;
|
|
6
|
-
name = 'amaster';
|
|
7
|
-
binary = 'amaster-employee';
|
|
8
|
-
runtimeBinary = 'amaster-runtime';
|
|
9
|
-
apiKey;
|
|
10
|
-
authMode;
|
|
11
|
-
authEnv;
|
|
12
|
-
commonArgs;
|
|
13
|
-
defaultCompanyId;
|
|
14
|
-
discoveredCompanyId;
|
|
15
|
-
workspaceDiscoveryPromise;
|
|
16
|
-
constructor(config, exec) {
|
|
17
|
-
this.exec = exec;
|
|
18
|
-
const apiKey = config.apiKey?.trim();
|
|
19
|
-
if (apiKey)
|
|
20
|
-
this.apiKey = apiKey;
|
|
21
|
-
this.authMode = config.authMode ?? (this.apiKey ? 'board' : 'none');
|
|
22
|
-
this.authEnv = normalizeAuthEnv(config.authEnv);
|
|
23
|
-
this.commonArgs = [];
|
|
24
|
-
if (config.apiBase?.trim())
|
|
25
|
-
this.commonArgs.push('--api-base', config.apiBase.trim());
|
|
26
|
-
if (config.context?.trim())
|
|
27
|
-
this.commonArgs.push('--context', config.context.trim());
|
|
28
|
-
if (config.profile?.trim())
|
|
29
|
-
this.commonArgs.push('--profile', config.profile.trim());
|
|
30
|
-
if (config.authStore?.trim())
|
|
31
|
-
this.commonArgs.push('--auth-store', config.authStore.trim());
|
|
32
|
-
if (config.companyId?.trim())
|
|
33
|
-
this.defaultCompanyId = config.companyId.trim();
|
|
34
|
-
}
|
|
35
|
-
async listWorkspaces() {
|
|
36
|
-
const data = parseRequiredJsonArray(await this.runAmaster(withJson(await this.buildArgs(['company', 'list'], undefined, false))), 'AMaster company list');
|
|
37
|
-
const workspaces = data.map(mapWorkspace);
|
|
38
|
-
this.primeDefaultCompanyCache(workspaces);
|
|
39
|
-
return workspaces;
|
|
40
|
-
}
|
|
41
|
-
async listIssues(filter) {
|
|
42
|
-
const args = await this.buildArgs(['issue', 'list'], filter?.workspaceId);
|
|
43
|
-
if (filter?.status)
|
|
44
|
-
args.push('--status', filter.status);
|
|
45
|
-
if (filter?.assignee)
|
|
46
|
-
args.push('--assignee', filter.assignee);
|
|
47
|
-
if (filter?.project)
|
|
48
|
-
args.push('--project', filter.project);
|
|
49
|
-
if (filter?.limit)
|
|
50
|
-
args.push('--limit', String(filter.limit));
|
|
51
|
-
args.push('--json');
|
|
52
|
-
const data = parseRequiredJsonArray(await this.runAmaster(args), 'AMaster issue list');
|
|
53
|
-
return data.map(mapIssue);
|
|
54
|
-
}
|
|
55
|
-
async getIssue(id, workspaceId) {
|
|
56
|
-
const data = parseRequiredJson(await this.runAmaster(withJson(await this.buildArgs(['issue', 'get', id], workspaceId))), 'AMaster issue get');
|
|
57
|
-
const issue = unwrapIssue(data);
|
|
58
|
-
if (!isIssueRecord(issue))
|
|
59
|
-
return undefined;
|
|
60
|
-
return mapIssue(issue);
|
|
61
|
-
}
|
|
62
|
-
async createIssue(input) {
|
|
63
|
-
const args = await this.buildArgs(['issue', 'create', '--title', input.title], input.workspaceId);
|
|
64
|
-
if (input.description)
|
|
65
|
-
args.push('--description', input.description);
|
|
66
|
-
if (input.priority)
|
|
67
|
-
args.push('--priority', input.priority);
|
|
68
|
-
if (input.assignee)
|
|
69
|
-
args.push('--assignee', input.assignee);
|
|
70
|
-
if (input.project)
|
|
71
|
-
args.push('--project', input.project);
|
|
72
|
-
args.push('--json');
|
|
73
|
-
const data = parseRequiredJson(await this.runAmaster(args), 'AMaster issue create');
|
|
74
|
-
const issue = unwrapIssue(data);
|
|
75
|
-
if (isIssueRecord(issue))
|
|
76
|
-
return mapIssue(issue);
|
|
77
|
-
throw new Error('AMaster issue create did not return a created issue.');
|
|
78
|
-
}
|
|
79
|
-
async updateIssue(id, input, workspaceId) {
|
|
80
|
-
const args = await this.buildArgs(['issue', 'update', id], workspaceId);
|
|
81
|
-
if (input.title)
|
|
82
|
-
args.push('--title', input.title);
|
|
83
|
-
if (input.description)
|
|
84
|
-
args.push('--description', input.description);
|
|
85
|
-
if (input.status)
|
|
86
|
-
args.push('--status', input.status);
|
|
87
|
-
if (input.priority)
|
|
88
|
-
args.push('--priority', input.priority);
|
|
89
|
-
if (input.assignee)
|
|
90
|
-
args.push('--assignee', input.assignee);
|
|
91
|
-
args.push('--json');
|
|
92
|
-
const data = parseRequiredJson(await this.runAmaster(args), 'AMaster issue update');
|
|
93
|
-
const issue = unwrapIssue(data);
|
|
94
|
-
if (isIssueRecord(issue))
|
|
95
|
-
return mapIssue(issue);
|
|
96
|
-
return this.getIssue(id, workspaceId);
|
|
97
|
-
}
|
|
98
|
-
async addComment(issueId, content, _parentId, workspaceId) {
|
|
99
|
-
const args = ['issue', 'comment', issueId, '--content', content];
|
|
100
|
-
const data = parseRequiredJson(await this.runAmaster(withJson(await this.buildArgs(args, workspaceId))), 'AMaster issue comment');
|
|
101
|
-
if (data && typeof data === 'object' && !Array.isArray(data)) {
|
|
102
|
-
const item = data;
|
|
103
|
-
const id = stringValue(item.id ?? item.commentId);
|
|
104
|
-
if (!id)
|
|
105
|
-
throw new Error('AMaster issue comment did not return a created comment.');
|
|
106
|
-
return {
|
|
107
|
-
id,
|
|
108
|
-
issueId,
|
|
109
|
-
content: String(item.content ?? item.body ?? content),
|
|
110
|
-
...optionalString('author', item.author ?? item.authorName),
|
|
111
|
-
...optionalString('createdAt', item.createdAt ?? item.created_at),
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
throw new Error('AMaster issue comment did not return a created comment.');
|
|
115
|
-
}
|
|
116
|
-
async listComments(issueId, workspaceId) {
|
|
117
|
-
const summary = await this.getIssue(issueId, workspaceId);
|
|
118
|
-
const comments = collectCommentRecords(summary?.metadata);
|
|
119
|
-
return comments.map((item) => {
|
|
120
|
-
const record = item;
|
|
121
|
-
return {
|
|
122
|
-
id: String(record.id ?? record.commentId ?? ''),
|
|
123
|
-
issueId,
|
|
124
|
-
content: String(record.content ?? record.body ?? ''),
|
|
125
|
-
...optionalString('author', record.author ?? record.authorName),
|
|
126
|
-
...optionalString('createdAt', record.createdAt ?? record.created_at),
|
|
127
|
-
};
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
async listProjects(workspaceId) {
|
|
131
|
-
const data = parseRequiredJsonArray(await this.runAmaster(withJson(await this.buildArgs(['project', 'list'], workspaceId))), 'AMaster project list');
|
|
132
|
-
return data.map((item) => {
|
|
133
|
-
const record = item;
|
|
134
|
-
const id = requiredString(record.id);
|
|
135
|
-
return {
|
|
136
|
-
id,
|
|
137
|
-
title: String(record.title ?? record.name ?? id),
|
|
138
|
-
...optionalString('description', record.description),
|
|
139
|
-
...optionalString('status', record.status),
|
|
140
|
-
...optionalString('lead', record.lead),
|
|
141
|
-
};
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
async listUserDirectory(filter) {
|
|
145
|
-
const args = await this.buildArgs(['user-directory', 'list'], filter?.workspaceId);
|
|
146
|
-
if (filter?.q)
|
|
147
|
-
args.push('--q', filter.q);
|
|
148
|
-
if (filter?.limit)
|
|
149
|
-
args.push('--limit', String(filter.limit));
|
|
150
|
-
args.push('--json');
|
|
151
|
-
const data = parseRequiredJsonArray(await this.runAmaster(args), 'AMaster user-directory list');
|
|
152
|
-
return data.map((item) => {
|
|
153
|
-
const record = item;
|
|
154
|
-
const id = requiredString(record.id);
|
|
155
|
-
return {
|
|
156
|
-
id,
|
|
157
|
-
name: String(record.name ?? record.displayName ?? record.label ?? record.email ?? id),
|
|
158
|
-
...optionalString('email', record.email),
|
|
159
|
-
...optionalString('role', record.role),
|
|
160
|
-
...optionalString('type', record.type ?? record.kind),
|
|
161
|
-
...optionalString('status', record.status),
|
|
162
|
-
};
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
async status() {
|
|
166
|
-
const execOptions = this.amasterExecOptions();
|
|
167
|
-
const [teamwork, runtime] = await Promise.all([
|
|
168
|
-
this.runOptional(this.binary, withJson(this.buildArgsSync(['status'])), execOptions),
|
|
169
|
-
this.runOptional(this.runtimeBinary, ['daemon', 'status']),
|
|
170
|
-
]);
|
|
171
|
-
return {
|
|
172
|
-
provider: 'amaster',
|
|
173
|
-
teamwork: parseJsonOrRaw(teamwork.stdout),
|
|
174
|
-
runtime: parseJsonOrRaw(runtime.stdout),
|
|
175
|
-
ok: teamwork.code === 0,
|
|
176
|
-
runtimeOk: runtime.code === 0,
|
|
177
|
-
authenticated: teamwork.code === 0,
|
|
178
|
-
authMode: this.authMode,
|
|
179
|
-
localRuntimeAttached: runtime.code === 0 && /running|ready|attached/i.test(runtime.stdout),
|
|
180
|
-
...(teamwork.code !== 0 ? { error: classifyAmasterFailure('employee', teamwork) } : {}),
|
|
181
|
-
...(runtime.code !== 0 ? { runtimeError: classifyAmasterFailure('runtime', runtime) } : {}),
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
async runAmaster(args) {
|
|
185
|
-
const result = await this.exec(this.binary, args, this.amasterExecOptions());
|
|
186
|
-
if (result.code !== 0) {
|
|
187
|
-
throw new Error(`amaster ${args[0]} failed: ${classifyAmasterFailure('employee', result)}`);
|
|
188
|
-
}
|
|
189
|
-
return result.stdout;
|
|
190
|
-
}
|
|
191
|
-
async runOptional(command, args, options) {
|
|
192
|
-
try {
|
|
193
|
-
return await this.exec(command, args, options);
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
return {
|
|
197
|
-
stdout: '',
|
|
198
|
-
stderr: redactText(error instanceof Error ? error.message : String(error)),
|
|
199
|
-
code: 1,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
async buildArgs(args, workspaceId, useDefaultCompany = true) {
|
|
204
|
-
const next = [...args, ...this.commonArgs];
|
|
205
|
-
const companyId = normalizeWorkspaceId(workspaceId) ??
|
|
206
|
-
(useDefaultCompany ? await this.resolveDefaultCompanyId() : undefined);
|
|
207
|
-
if (companyId)
|
|
208
|
-
next.push('-C', companyId);
|
|
209
|
-
return next;
|
|
210
|
-
}
|
|
211
|
-
buildArgsSync(args, workspaceId, useDefaultCompany = true) {
|
|
212
|
-
const next = [...args, ...this.commonArgs];
|
|
213
|
-
const companyId = normalizeWorkspaceId(workspaceId) ?? (useDefaultCompany ? this.defaultCompanyId : undefined);
|
|
214
|
-
if (companyId)
|
|
215
|
-
next.push('-C', companyId);
|
|
216
|
-
return next;
|
|
217
|
-
}
|
|
218
|
-
async resolveDefaultCompanyId() {
|
|
219
|
-
if (this.defaultCompanyId)
|
|
220
|
-
return this.defaultCompanyId;
|
|
221
|
-
if (this.discoveredCompanyId)
|
|
222
|
-
return this.discoveredCompanyId;
|
|
223
|
-
if (!this.workspaceDiscoveryPromise) {
|
|
224
|
-
this.workspaceDiscoveryPromise = this.discoverSingleCompanyId();
|
|
225
|
-
}
|
|
226
|
-
try {
|
|
227
|
-
this.discoveredCompanyId = await this.workspaceDiscoveryPromise;
|
|
228
|
-
return this.discoveredCompanyId;
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
this.workspaceDiscoveryPromise = undefined;
|
|
232
|
-
throw error;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
async discoverSingleCompanyId() {
|
|
236
|
-
const workspaces = await this.listWorkspaces();
|
|
237
|
-
if (workspaces.length === 0)
|
|
238
|
-
return undefined;
|
|
239
|
-
if (workspaces.length === 1)
|
|
240
|
-
return workspaces[0].id;
|
|
241
|
-
throw new Error('Multiple AMaster workspaces are available; pass workspaceId from workspace_list.');
|
|
242
|
-
}
|
|
243
|
-
amasterExecOptions() {
|
|
244
|
-
if (this.authEnv && Object.keys(this.authEnv).length > 0)
|
|
245
|
-
return { env: this.authEnv };
|
|
246
|
-
if (this.apiKey)
|
|
247
|
-
return { env: { AMASTER_BOARD_API_KEY: this.apiKey } };
|
|
248
|
-
return undefined;
|
|
249
|
-
}
|
|
250
|
-
primeDefaultCompanyCache(workspaces) {
|
|
251
|
-
if (this.defaultCompanyId)
|
|
252
|
-
return;
|
|
253
|
-
if (workspaces.length === 1) {
|
|
254
|
-
const id = workspaces[0].id;
|
|
255
|
-
this.discoveredCompanyId = id;
|
|
256
|
-
this.workspaceDiscoveryPromise = Promise.resolve(id);
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
this.discoveredCompanyId = undefined;
|
|
260
|
-
this.workspaceDiscoveryPromise = undefined;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
function normalizeAuthEnv(env) {
|
|
264
|
-
if (!env)
|
|
265
|
-
return undefined;
|
|
266
|
-
const normalized = {};
|
|
267
|
-
for (const [key, value] of Object.entries(env)) {
|
|
268
|
-
if (value === '') {
|
|
269
|
-
normalized[key] = value;
|
|
270
|
-
continue;
|
|
271
|
-
}
|
|
272
|
-
const trimmed = value.trim();
|
|
273
|
-
if (trimmed)
|
|
274
|
-
normalized[key] = trimmed;
|
|
275
|
-
}
|
|
276
|
-
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
277
|
-
}
|
|
278
|
-
function parseJson(text) {
|
|
279
|
-
try {
|
|
280
|
-
return sanitizeValue(JSON.parse(text.trim()));
|
|
281
|
-
}
|
|
282
|
-
catch {
|
|
283
|
-
return undefined;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
function parseRequiredJson(text, label) {
|
|
287
|
-
const parsed = parseJson(text);
|
|
288
|
-
if (parsed === undefined)
|
|
289
|
-
throw new Error(`${label} did not return valid JSON.`);
|
|
290
|
-
return parsed;
|
|
291
|
-
}
|
|
292
|
-
function parseRequiredJsonArray(text, label) {
|
|
293
|
-
const parsed = parseJson(text);
|
|
294
|
-
if (!Array.isArray(parsed))
|
|
295
|
-
throw new Error(`${label} did not return a JSON array.`);
|
|
296
|
-
return parsed;
|
|
297
|
-
}
|
|
298
|
-
function parseJsonOrRaw(text) {
|
|
299
|
-
const parsed = parseJson(text);
|
|
300
|
-
if (parsed !== undefined)
|
|
301
|
-
return parsed;
|
|
302
|
-
return redactText(text);
|
|
303
|
-
}
|
|
304
|
-
function mapWorkspace(raw) {
|
|
305
|
-
const item = asRecord(raw);
|
|
306
|
-
if (!item)
|
|
307
|
-
throw new Error('AMaster company list returned a malformed workspace.');
|
|
308
|
-
const id = requiredString(item.id ?? item.companyId);
|
|
309
|
-
return {
|
|
310
|
-
id,
|
|
311
|
-
name: String(item.name ?? item.title ?? item.urlKey ?? id),
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
function mapIssue(raw) {
|
|
315
|
-
const item = asRecord(raw);
|
|
316
|
-
if (!item)
|
|
317
|
-
throw new Error('AMaster issue response did not contain an issue object.');
|
|
318
|
-
const id = requiredString(item.id ?? item.identifier);
|
|
319
|
-
const metadata = buildIssueMetadata(item);
|
|
320
|
-
return {
|
|
321
|
-
id,
|
|
322
|
-
title: String(item.title ?? ''),
|
|
323
|
-
status: String(item.status ?? 'unknown'),
|
|
324
|
-
...optionalString('description', item.description),
|
|
325
|
-
...optionalString('priority', item.priority),
|
|
326
|
-
...optionalString('assignee', item.assignee ?? item.assigneeName),
|
|
327
|
-
...optionalString('project', item.project ?? item.projectId),
|
|
328
|
-
...optionalString('createdAt', item.createdAt ?? item.created_at),
|
|
329
|
-
...optionalString('updatedAt', item.updatedAt ?? item.updated_at),
|
|
330
|
-
...(Object.keys(metadata).length > 0 ? { metadata } : {}),
|
|
331
|
-
};
|
|
332
|
-
}
|
|
333
|
-
function buildIssueMetadata(item) {
|
|
334
|
-
const metadata = {};
|
|
335
|
-
for (const [key, value] of Object.entries(item)) {
|
|
336
|
-
if (ISSUE_TOP_LEVEL_FIELDS.has(key))
|
|
337
|
-
continue;
|
|
338
|
-
metadata[key] = sanitizeValue(value);
|
|
339
|
-
}
|
|
340
|
-
for (const key of ['identifier', 'projectId']) {
|
|
341
|
-
if (item[key] !== undefined)
|
|
342
|
-
metadata[key] = sanitizeValue(item[key]);
|
|
343
|
-
}
|
|
344
|
-
return metadata;
|
|
345
|
-
}
|
|
346
|
-
function collectCommentRecords(metadata) {
|
|
347
|
-
if (!metadata)
|
|
348
|
-
return [];
|
|
349
|
-
const comments = [];
|
|
350
|
-
if (Array.isArray(metadata.comments))
|
|
351
|
-
comments.push(...metadata.comments);
|
|
352
|
-
const nestedMetadata = asRecord(metadata.metadata);
|
|
353
|
-
if (Array.isArray(nestedMetadata?.comments))
|
|
354
|
-
comments.push(...nestedMetadata.comments);
|
|
355
|
-
return comments;
|
|
356
|
-
}
|
|
357
|
-
const ISSUE_TOP_LEVEL_FIELDS = new Set([
|
|
358
|
-
'id',
|
|
359
|
-
'title',
|
|
360
|
-
'status',
|
|
361
|
-
'description',
|
|
362
|
-
'priority',
|
|
363
|
-
'assignee',
|
|
364
|
-
'assigneeName',
|
|
365
|
-
'project',
|
|
366
|
-
'createdAt',
|
|
367
|
-
'created_at',
|
|
368
|
-
'updatedAt',
|
|
369
|
-
'updated_at',
|
|
370
|
-
]);
|
|
371
|
-
function unwrapIssue(raw) {
|
|
372
|
-
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
373
|
-
return raw;
|
|
374
|
-
const item = raw;
|
|
375
|
-
if (item.issue && typeof item.issue === 'object' && !Array.isArray(item.issue))
|
|
376
|
-
return item.issue;
|
|
377
|
-
return raw;
|
|
378
|
-
}
|
|
379
|
-
function sanitizeValue(value) {
|
|
380
|
-
if (Array.isArray(value))
|
|
381
|
-
return value.map(sanitizeValue);
|
|
382
|
-
if (!value || typeof value !== 'object')
|
|
383
|
-
return typeof value === 'string' ? redactText(value) : value;
|
|
384
|
-
const out = {};
|
|
385
|
-
for (const [key, raw] of Object.entries(value)) {
|
|
386
|
-
out[key] = isSensitiveKey(key) ? '[redacted]' : sanitizeValue(raw);
|
|
387
|
-
}
|
|
388
|
-
return out;
|
|
389
|
-
}
|
|
390
|
-
function classifyAmasterFailure(kind, result) {
|
|
391
|
-
const output = redactText(result.stderr || result.stdout || `Exit code ${result.code}`);
|
|
392
|
-
const lower = output.toLowerCase();
|
|
393
|
-
if (/enoent|not found|command not found|spawn .* no such file/i.test(output)) {
|
|
394
|
-
return kind === 'runtime'
|
|
395
|
-
? 'AMaster runtime managed CLI wrapper is missing; runtime executor lease is unavailable, but task list/create can still work.'
|
|
396
|
-
: 'AMaster Employee managed CLI wrapper is missing.';
|
|
397
|
-
}
|
|
398
|
-
if (/managed amaster employee cli|cli target|artifact|未安装|未构建/i.test(output)) {
|
|
399
|
-
return 'Managed AMaster Employee CLI artifact is missing or not built.';
|
|
400
|
-
}
|
|
401
|
-
if (/401|unauthorized|not authenticated/.test(lower)) {
|
|
402
|
-
return 'AMaster authentication failed. In Pi Agent LUI this means the login/session_start auth was not propagated; do not ask the user to paste tokens.';
|
|
403
|
-
}
|
|
404
|
-
if (kind === 'runtime') {
|
|
405
|
-
return `Runtime daemon unavailable; only local executor lease is affected. ${output}`.trim();
|
|
406
|
-
}
|
|
407
|
-
return output.trim() || `Exit code ${result.code}`;
|
|
408
|
-
}
|
|
409
|
-
function isSensitiveKey(key) {
|
|
410
|
-
return /api[_-]?key|access[_-]?token|refresh[_-]?token|connector[_-]?token|token|secret|password|authorization|cookie|database[_-]?url|db[_-]?url/i.test(key);
|
|
411
|
-
}
|
|
412
|
-
function redactText(text) {
|
|
413
|
-
return String(text ?? '')
|
|
414
|
-
.replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/gi, 'Bearer [redacted]')
|
|
415
|
-
.replace(/\bamrtc(?:_pair)?_[A-Za-z0-9._~+/=-]+/g, '[redacted]')
|
|
416
|
-
.replace(/(["']?(?:access_token|refresh_token|connectorToken|connector_token|apiKey|api_key|token|secret|password|authorization|cookie|databaseUrl|dbUrl)["']?\s*[:=]\s*["']?)[^"',\s}]+/gi, '$1[redacted]');
|
|
417
|
-
}
|
|
418
|
-
function stringValue(value) {
|
|
419
|
-
return value === undefined || value === null ? undefined : String(value);
|
|
420
|
-
}
|
|
421
|
-
function requiredString(value) {
|
|
422
|
-
const normalized = stringValue(value)?.trim();
|
|
423
|
-
if (!normalized)
|
|
424
|
-
throw new Error('AMaster response did not contain a required id.');
|
|
425
|
-
return normalized;
|
|
426
|
-
}
|
|
427
|
-
function normalizeWorkspaceId(workspaceId) {
|
|
428
|
-
const trimmed = workspaceId?.trim();
|
|
429
|
-
if (!trimmed)
|
|
430
|
-
return undefined;
|
|
431
|
-
return trimmed;
|
|
432
|
-
}
|
|
433
|
-
function withJson(args) {
|
|
434
|
-
return [...args, '--json'];
|
|
435
|
-
}
|
|
436
|
-
function asRecord(value) {
|
|
437
|
-
return value && typeof value === 'object' && !Array.isArray(value)
|
|
438
|
-
? value
|
|
439
|
-
: undefined;
|
|
440
|
-
}
|
|
441
|
-
function isIssueRecord(value) {
|
|
442
|
-
const item = asRecord(value);
|
|
443
|
-
if (!item)
|
|
444
|
-
return false;
|
|
445
|
-
const id = stringValue(item.id ?? item.identifier)?.trim();
|
|
446
|
-
return Boolean(id);
|
|
447
|
-
}
|
|
448
|
-
function optionalString(key, value) {
|
|
449
|
-
const normalized = stringValue(value);
|
|
450
|
-
return normalized === undefined ? {} : { [key]: normalized };
|
|
451
|
-
}
|
|
452
|
-
//# sourceMappingURL=amaster.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amaster.js","sourceRoot":"","sources":["../../src/adapters/amaster.ts"],"names":[],"mappings":"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"}
|