@wayai/cli 0.2.20 → 0.2.22
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/dist/commands/conversations.d.ts +9 -0
- package/dist/commands/conversations.js +79 -0
- package/dist/commands/conversations.js.map +1 -0
- package/dist/commands/send-message.d.ts +11 -0
- package/dist/commands/send-message.js +61 -0
- package/dist/commands/send-message.js.map +1 -0
- package/dist/commands/sync-skills.d.ts +10 -0
- package/dist/commands/sync-skills.js +48 -0
- package/dist/commands/sync-skills.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +55 -1
- package/dist/lib/api-client.js +31 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/types.d.ts +14 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai conversations — list conversations or show conversation detail
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* wayai conversations # list conversations
|
|
6
|
+
* wayai conversations <conversation_id> # show detail + messages
|
|
7
|
+
* wayai conversations --status ended # filter by status
|
|
8
|
+
*/
|
|
9
|
+
export declare function conversationsCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai conversations — list conversations or show conversation detail
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* wayai conversations # list conversations
|
|
6
|
+
* wayai conversations <conversation_id> # show detail + messages
|
|
7
|
+
* wayai conversations --status ended # filter by status
|
|
8
|
+
*/
|
|
9
|
+
import { requireAuth } from '../lib/auth.js';
|
|
10
|
+
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
11
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
12
|
+
export async function conversationsCommand(args) {
|
|
13
|
+
const { config, accessToken } = await requireAuth();
|
|
14
|
+
const repoConfig = requireRepoConfig();
|
|
15
|
+
// Parse args
|
|
16
|
+
let status;
|
|
17
|
+
let conversationId;
|
|
18
|
+
let limit;
|
|
19
|
+
let offset;
|
|
20
|
+
for (let i = 0; i < args.length; i++) {
|
|
21
|
+
const arg = args[i];
|
|
22
|
+
if (arg === '--status') {
|
|
23
|
+
const val = args[++i];
|
|
24
|
+
if (val === 'agent' || val === 'team' || val === 'ended') {
|
|
25
|
+
status = val;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.error(`Invalid status: ${val}. Must be 'agent', 'team', or 'ended'.`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (arg === '--limit') {
|
|
33
|
+
limit = parseInt(args[++i], 10);
|
|
34
|
+
}
|
|
35
|
+
else if (arg === '--offset') {
|
|
36
|
+
offset = parseInt(args[++i], 10);
|
|
37
|
+
}
|
|
38
|
+
else if (!arg.startsWith('-')) {
|
|
39
|
+
conversationId = arg;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
43
|
+
if (conversationId) {
|
|
44
|
+
// Show detail
|
|
45
|
+
const result = await client.getConversation(repoConfig.hub_id, conversationId, { limit, offset });
|
|
46
|
+
console.log(`Conversation: ${result.conversation.conversation_id}`);
|
|
47
|
+
console.log(`Status: ${result.conversation.conversation_status}`);
|
|
48
|
+
if (result.conversation.kanban_status) {
|
|
49
|
+
console.log(`Kanban: ${result.conversation.kanban_status}`);
|
|
50
|
+
}
|
|
51
|
+
const user = result.conversation.user_name || result.conversation.user_email;
|
|
52
|
+
if (user) {
|
|
53
|
+
console.log(`User: ${user}`);
|
|
54
|
+
}
|
|
55
|
+
console.log(`Messages: ${result.total_messages}`);
|
|
56
|
+
console.log('');
|
|
57
|
+
for (const msg of result.messages) {
|
|
58
|
+
const time = new Date(msg.created_at).toLocaleString();
|
|
59
|
+
console.log(`[${msg.sender_type}] (${time})`);
|
|
60
|
+
console.log(msg.message_text || '(no text)');
|
|
61
|
+
console.log('');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// List conversations
|
|
66
|
+
const result = await client.getConversations(repoConfig.hub_id, { status, limit, offset });
|
|
67
|
+
if (result.conversations.length === 0) {
|
|
68
|
+
console.log('No conversations found.');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
console.log(`Conversations (${result.conversations.length} of ${result.total}):\n`);
|
|
72
|
+
for (const conv of result.conversations) {
|
|
73
|
+
const user = conv.user_name || conv.user_email || 'unknown';
|
|
74
|
+
const updated = conv.updated_at ? new Date(conv.updated_at).toLocaleString() : '-';
|
|
75
|
+
console.log(` ${conv.conversation_id.slice(0, 8)}... ${conv.conversation_status.padEnd(7)} ${user.padEnd(20)} ${updated}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=conversations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/commands/conversations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai send-message — send a test message to a preview hub and get the agent reply
|
|
3
|
+
*
|
|
4
|
+
* Chat hubs: automatically continues the active conversation (or creates one).
|
|
5
|
+
* Task hubs: creates a new conversation by default. Use -c to continue an existing one.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* wayai send-message "Hello, I need help" # send message
|
|
9
|
+
* wayai send-message -c <conversation_id> "Follow up" # continue conversation
|
|
10
|
+
*/
|
|
11
|
+
export declare function sendMessageCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai send-message — send a test message to a preview hub and get the agent reply
|
|
3
|
+
*
|
|
4
|
+
* Chat hubs: automatically continues the active conversation (or creates one).
|
|
5
|
+
* Task hubs: creates a new conversation by default. Use -c to continue an existing one.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* wayai send-message "Hello, I need help" # send message
|
|
9
|
+
* wayai send-message -c <conversation_id> "Follow up" # continue conversation
|
|
10
|
+
*/
|
|
11
|
+
import { requireAuth } from '../lib/auth.js';
|
|
12
|
+
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
13
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
14
|
+
export async function sendMessageCommand(args) {
|
|
15
|
+
const { config, accessToken } = await requireAuth();
|
|
16
|
+
const repoConfig = requireRepoConfig();
|
|
17
|
+
// Parse args
|
|
18
|
+
let conversationId;
|
|
19
|
+
let message;
|
|
20
|
+
for (let i = 0; i < args.length; i++) {
|
|
21
|
+
const arg = args[i];
|
|
22
|
+
if (arg === '-c' || arg === '--conversation') {
|
|
23
|
+
conversationId = args[++i];
|
|
24
|
+
}
|
|
25
|
+
else if (!arg.startsWith('-')) {
|
|
26
|
+
message = arg;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (!message) {
|
|
30
|
+
console.error('Usage: wayai send-message [options] "message text"');
|
|
31
|
+
console.error('');
|
|
32
|
+
console.error('Options:');
|
|
33
|
+
console.error(' -c, --conversation <id> Continue an existing conversation');
|
|
34
|
+
console.error('');
|
|
35
|
+
console.error('The hub type (chat/task) is determined automatically from the hub.');
|
|
36
|
+
console.error('Chat hubs auto-continue the active conversation (or create one).');
|
|
37
|
+
console.error('Task hubs create a new conversation unless -c is provided.');
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
41
|
+
const result = await client.sendMessage(repoConfig.hub_id, message, {
|
|
42
|
+
conversationId,
|
|
43
|
+
});
|
|
44
|
+
// Print result
|
|
45
|
+
console.log(`Conversation: ${result.conversation_id}`);
|
|
46
|
+
console.log(`Status: ${result.status}`);
|
|
47
|
+
if (result.status_reason) {
|
|
48
|
+
console.log(`Reason: ${result.status_reason}`);
|
|
49
|
+
}
|
|
50
|
+
if (result.agent_reply) {
|
|
51
|
+
console.log('');
|
|
52
|
+
console.log(result.agent_reply.message_text);
|
|
53
|
+
}
|
|
54
|
+
else if (result.status === 'skipped') {
|
|
55
|
+
console.log('(Agent did not respond)');
|
|
56
|
+
}
|
|
57
|
+
else if (result.status === 'error') {
|
|
58
|
+
console.log('(Agent processing failed — user message was stored)');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=send-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/commands/send-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,aAAa;IACb,IAAI,cAAkC,CAAC;IACvC,IAAI,OAA2B,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7C,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE;QAClE,cAAc;KACf,CAAC,CAAC;IAEH,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai sync-skills [--connection-id <uuid>] — sync skills to Anthropic provider connections
|
|
3
|
+
*
|
|
4
|
+
* Triggers provider-side skill sync for the hub specified in .wayai.yaml.
|
|
5
|
+
* Useful after `wayai push` when the hub uses Anthropic native skill integration.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseArgs(args: string[]): {
|
|
8
|
+
connectionId: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare function syncSkillsCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai sync-skills [--connection-id <uuid>] — sync skills to Anthropic provider connections
|
|
3
|
+
*
|
|
4
|
+
* Triggers provider-side skill sync for the hub specified in .wayai.yaml.
|
|
5
|
+
* Useful after `wayai push` when the hub uses Anthropic native skill integration.
|
|
6
|
+
*/
|
|
7
|
+
import { requireAuth } from '../lib/auth.js';
|
|
8
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
9
|
+
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
10
|
+
export function parseArgs(args) {
|
|
11
|
+
let connectionId;
|
|
12
|
+
const idx = args.indexOf('--connection-id');
|
|
13
|
+
if (idx !== -1 && args[idx + 1]) {
|
|
14
|
+
connectionId = args[idx + 1];
|
|
15
|
+
}
|
|
16
|
+
return { connectionId };
|
|
17
|
+
}
|
|
18
|
+
function printSyncResults(response) {
|
|
19
|
+
console.log(response.message);
|
|
20
|
+
for (const item of response.results) {
|
|
21
|
+
const parts = [`${item.connection_name}:`];
|
|
22
|
+
if (item.uploaded > 0)
|
|
23
|
+
parts.push(`${item.uploaded} uploaded`);
|
|
24
|
+
if (item.failed > 0)
|
|
25
|
+
parts.push(`${item.failed} failed`);
|
|
26
|
+
if (item.uploaded === 0 && item.failed === 0)
|
|
27
|
+
parts.push('no changes');
|
|
28
|
+
console.log(` ${parts.join(' ')}`);
|
|
29
|
+
for (const err of item.errors) {
|
|
30
|
+
console.log(` \x1b[33m! ${err}\x1b[0m`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export async function syncSkillsCommand(args) {
|
|
35
|
+
const { connectionId } = parseArgs(args);
|
|
36
|
+
const { config, accessToken } = await requireAuth();
|
|
37
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
38
|
+
const repoConfig = requireRepoConfig();
|
|
39
|
+
const { hub_id: hubId } = repoConfig;
|
|
40
|
+
console.log('Syncing skills...');
|
|
41
|
+
const response = await client.syncSkills(hubId, connectionId);
|
|
42
|
+
printSyncResults(response);
|
|
43
|
+
const hasFailed = response.results.some((r) => r.failed > 0);
|
|
44
|
+
if (hasFailed) {
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sync-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-skills.js","sourceRoot":"","sources":["../../src/commands/sync-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,IAAI,YAAgC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;QAChC,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAc;IACpD,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* wayai init — set up .wayai.yaml (pick org/project/hub)
|
|
11
11
|
* wayai pull — fetch hub config and write local files
|
|
12
12
|
* wayai push — parse local files, diff, and sync to preview
|
|
13
|
+
* wayai sync-skills — sync skills to Anthropic provider connections
|
|
13
14
|
* wayai update — update CLI to the latest version
|
|
14
15
|
*/
|
|
15
16
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* wayai init — set up .wayai.yaml (pick org/project/hub)
|
|
11
11
|
* wayai pull — fetch hub config and write local files
|
|
12
12
|
* wayai push — parse local files, diff, and sync to preview
|
|
13
|
+
* wayai sync-skills — sync skills to Anthropic provider connections
|
|
13
14
|
* wayai update — update CLI to the latest version
|
|
14
15
|
*/
|
|
15
16
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
@@ -55,6 +56,21 @@ async function main() {
|
|
|
55
56
|
await pushCommand(args);
|
|
56
57
|
break;
|
|
57
58
|
}
|
|
59
|
+
case 'send-message': {
|
|
60
|
+
const { sendMessageCommand } = await import('./commands/send-message.js');
|
|
61
|
+
await sendMessageCommand(args);
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case 'conversations': {
|
|
65
|
+
const { conversationsCommand } = await import('./commands/conversations.js');
|
|
66
|
+
await conversationsCommand(args);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case 'sync-skills': {
|
|
70
|
+
const { syncSkillsCommand } = await import('./commands/sync-skills.js');
|
|
71
|
+
await syncSkillsCommand(args);
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
58
74
|
case 'update':
|
|
59
75
|
await updateCommand();
|
|
60
76
|
break;
|
|
@@ -89,12 +105,16 @@ Commands:
|
|
|
89
105
|
init Set up .wayai.yaml (pick org/project/hub)
|
|
90
106
|
pull Fetch hub config and write local files
|
|
91
107
|
push Parse local files, show diff, sync to preview
|
|
108
|
+
send-message Send a test message to a preview hub
|
|
109
|
+
conversations List or inspect conversations
|
|
110
|
+
sync-skills Sync skills to Anthropic provider connections
|
|
92
111
|
update Update CLI to the latest version
|
|
93
112
|
|
|
94
113
|
Flags:
|
|
95
|
-
--yes, -y
|
|
96
|
-
--hub <uuid>
|
|
97
|
-
--
|
|
114
|
+
--yes, -y Skip confirmation prompts (useful for CI and scripting)
|
|
115
|
+
--hub <uuid> Set hub directly in init (for agents/scripting)
|
|
116
|
+
--connection-id <uuid> Limit sync-skills to a specific connection
|
|
117
|
+
--version, -v Show CLI version
|
|
98
118
|
|
|
99
119
|
Hub-scoped mode:
|
|
100
120
|
Each repository is scoped to a single hub via .wayai.yaml.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API client — authenticated requests to the WayAI backend
|
|
3
3
|
*/
|
|
4
|
-
import type { HubAsCodePayload, CiDiffResponse, CiLookupResponse, CiSyncResponse, CiOrganizationsResponse, CiHubListResponse } from './types.js';
|
|
4
|
+
import type { HubAsCodePayload, CiDiffResponse, CiLookupResponse, CiSyncResponse, CiOrganizationsResponse, CiHubListResponse, SyncSkillsResponse } from './types.js';
|
|
5
5
|
export interface ApiClientOptions {
|
|
6
6
|
apiUrl: string;
|
|
7
7
|
accessToken: string;
|
|
@@ -19,6 +19,60 @@ export declare class ApiClient {
|
|
|
19
19
|
projectId?: string;
|
|
20
20
|
}): Promise<CiLookupResponse>;
|
|
21
21
|
organizations(): Promise<CiOrganizationsResponse>;
|
|
22
|
+
syncSkills(hubId: string, connectionId?: string): Promise<SyncSkillsResponse>;
|
|
22
23
|
listHubs(organizationId: string, projectId?: string): Promise<CiHubListResponse>;
|
|
24
|
+
sendMessage(hubId: string, message: string, opts?: {
|
|
25
|
+
conversationId?: string;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
conversation_id: string;
|
|
28
|
+
hub_type: string;
|
|
29
|
+
user_message_id: string;
|
|
30
|
+
agent_reply: {
|
|
31
|
+
message_id: string;
|
|
32
|
+
message_text: string;
|
|
33
|
+
} | null;
|
|
34
|
+
status: string;
|
|
35
|
+
status_reason?: string;
|
|
36
|
+
}>;
|
|
37
|
+
getConversations(hubId: string, opts?: {
|
|
38
|
+
status?: string;
|
|
39
|
+
limit?: number;
|
|
40
|
+
offset?: number;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
conversations: Array<{
|
|
43
|
+
conversation_id: string;
|
|
44
|
+
conversation_status: string;
|
|
45
|
+
current_responder_type: string | null;
|
|
46
|
+
kanban_status: string | null;
|
|
47
|
+
created_at: string;
|
|
48
|
+
updated_at: string | null;
|
|
49
|
+
user_name: string | null;
|
|
50
|
+
user_email: string | null;
|
|
51
|
+
}>;
|
|
52
|
+
total: number;
|
|
53
|
+
}>;
|
|
54
|
+
getConversation(hubId: string, conversationId: string, opts?: {
|
|
55
|
+
limit?: number;
|
|
56
|
+
offset?: number;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
conversation: {
|
|
59
|
+
conversation_id: string;
|
|
60
|
+
conversation_status: string;
|
|
61
|
+
current_responder_type: string | null;
|
|
62
|
+
kanban_status: string | null;
|
|
63
|
+
created_at: string;
|
|
64
|
+
updated_at: string | null;
|
|
65
|
+
user_name: string | null;
|
|
66
|
+
user_email: string | null;
|
|
67
|
+
};
|
|
68
|
+
messages: Array<{
|
|
69
|
+
message_id: string;
|
|
70
|
+
message_text: string | null;
|
|
71
|
+
sender_type: string;
|
|
72
|
+
receiver_type: string | null;
|
|
73
|
+
created_at: string;
|
|
74
|
+
}>;
|
|
75
|
+
total_messages: number;
|
|
76
|
+
}>;
|
|
23
77
|
private request;
|
|
24
78
|
}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -47,12 +47,43 @@ export class ApiClient {
|
|
|
47
47
|
async organizations() {
|
|
48
48
|
return this.request('GET', '/api/ci/organizations');
|
|
49
49
|
}
|
|
50
|
+
async syncSkills(hubId, connectionId) {
|
|
51
|
+
return this.request('POST', '/api/setup/resources/sync-skills', {
|
|
52
|
+
hub_fk: hubId,
|
|
53
|
+
...(connectionId && { connection_id: connectionId }),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
50
56
|
async listHubs(organizationId, projectId) {
|
|
51
57
|
const params = new URLSearchParams({ organization_id: organizationId });
|
|
52
58
|
if (projectId)
|
|
53
59
|
params.set('project_id', projectId);
|
|
54
60
|
return this.request('GET', `/api/ci/hubs?${params.toString()}`);
|
|
55
61
|
}
|
|
62
|
+
async sendMessage(hubId, message, opts) {
|
|
63
|
+
return this.request('POST', '/api/conversations/send-message', {
|
|
64
|
+
hub_id: hubId,
|
|
65
|
+
message,
|
|
66
|
+
...(opts?.conversationId && { conversation_id: opts.conversationId }),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async getConversations(hubId, opts) {
|
|
70
|
+
const params = new URLSearchParams({ hub_id: hubId });
|
|
71
|
+
if (opts?.status)
|
|
72
|
+
params.set('status', opts.status);
|
|
73
|
+
if (opts?.limit)
|
|
74
|
+
params.set('limit', String(opts.limit));
|
|
75
|
+
if (opts?.offset)
|
|
76
|
+
params.set('offset', String(opts.offset));
|
|
77
|
+
return this.request('GET', `/api/conversations/?${params.toString()}`);
|
|
78
|
+
}
|
|
79
|
+
async getConversation(hubId, conversationId, opts) {
|
|
80
|
+
const params = new URLSearchParams({ hub_id: hubId });
|
|
81
|
+
if (opts?.limit)
|
|
82
|
+
params.set('limit', String(opts.limit));
|
|
83
|
+
if (opts?.offset)
|
|
84
|
+
params.set('offset', String(opts.offset));
|
|
85
|
+
return this.request('GET', `/api/conversations/${conversationId}/detail?${params.toString()}`);
|
|
86
|
+
}
|
|
56
87
|
async request(method, path, body) {
|
|
57
88
|
addApiBreadcrumb(method, path);
|
|
58
89
|
const url = `${this.apiUrl}${path}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -2,3 +2,17 @@
|
|
|
2
2
|
* Shared types for the CLI — imported from @wayai/shared/contracts
|
|
3
3
|
*/
|
|
4
4
|
export type { HubAsCodeKanbanFollowup, HubAsCodeKanbanStatus, HubAsCodePayload, HubAsCodeAgent, HubAsCodeCustomTool, HubAsCodeState, HubAsCodeTeam, HubAsCodeResource, HubAsCodeResourceFile, HubAsCodeAgentResource, HubAsCodeOutboundContact, HubAsCodeOutboundList, HubAsCodeOutboundSchedule, CiDiffResponse, CiLookupResponse, CiOrganizationsResponse, CiHubListItem, CiHubListResponse, CiSyncResponse, } from '@wayai/shared/contracts/ci';
|
|
5
|
+
/** Mirrors SyncSkillsResultItem from @wayai/shared/contracts/setup/resources */
|
|
6
|
+
export interface SyncSkillsResultItem {
|
|
7
|
+
connection_id: string;
|
|
8
|
+
connection_name: string;
|
|
9
|
+
uploaded: number;
|
|
10
|
+
failed: number;
|
|
11
|
+
errors: string[];
|
|
12
|
+
}
|
|
13
|
+
/** Mirrors SyncSkillsResponse from @wayai/shared/contracts/setup/resources */
|
|
14
|
+
export interface SyncSkillsResponse {
|
|
15
|
+
success: true;
|
|
16
|
+
message: string;
|
|
17
|
+
results: SyncSkillsResultItem[];
|
|
18
|
+
}
|