@orangemust/dify-cli 0.1.0

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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/bin/dify.js +2 -0
  4. package/dist/api/annotation.d.ts +43 -0
  5. package/dist/api/annotation.d.ts.map +1 -0
  6. package/dist/api/annotation.js +35 -0
  7. package/dist/api/annotation.js.map +1 -0
  8. package/dist/api/application.d.ts +60 -0
  9. package/dist/api/application.d.ts.map +1 -0
  10. package/dist/api/application.js +23 -0
  11. package/dist/api/application.js.map +1 -0
  12. package/dist/api/audio.d.ts +11 -0
  13. package/dist/api/audio.d.ts.map +1 -0
  14. package/dist/api/audio.js +60 -0
  15. package/dist/api/audio.js.map +1 -0
  16. package/dist/api/chat.d.ts +60 -0
  17. package/dist/api/chat.d.ts.map +1 -0
  18. package/dist/api/chat.js +26 -0
  19. package/dist/api/chat.js.map +1 -0
  20. package/dist/api/chatflow.d.ts +11 -0
  21. package/dist/api/chatflow.d.ts.map +1 -0
  22. package/dist/api/chatflow.js +23 -0
  23. package/dist/api/chatflow.js.map +1 -0
  24. package/dist/api/client.d.ts +20 -0
  25. package/dist/api/client.d.ts.map +1 -0
  26. package/dist/api/client.js +108 -0
  27. package/dist/api/client.js.map +1 -0
  28. package/dist/api/completion.d.ts +27 -0
  29. package/dist/api/completion.d.ts.map +1 -0
  30. package/dist/api/completion.js +20 -0
  31. package/dist/api/completion.js.map +1 -0
  32. package/dist/api/conversation.d.ts +65 -0
  33. package/dist/api/conversation.d.ts.map +1 -0
  34. package/dist/api/conversation.js +51 -0
  35. package/dist/api/conversation.js.map +1 -0
  36. package/dist/api/feedback.d.ts +8 -0
  37. package/dist/api/feedback.d.ts.map +1 -0
  38. package/dist/api/feedback.js +22 -0
  39. package/dist/api/feedback.js.map +1 -0
  40. package/dist/api/file.d.ts +17 -0
  41. package/dist/api/file.d.ts.map +1 -0
  42. package/dist/api/file.js +65 -0
  43. package/dist/api/file.js.map +1 -0
  44. package/dist/api/knowledge.d.ts +167 -0
  45. package/dist/api/knowledge.d.ts.map +1 -0
  46. package/dist/api/knowledge.js +82 -0
  47. package/dist/api/knowledge.js.map +1 -0
  48. package/dist/api/workflow.d.ts +77 -0
  49. package/dist/api/workflow.d.ts.map +1 -0
  50. package/dist/api/workflow.js +36 -0
  51. package/dist/api/workflow.js.map +1 -0
  52. package/dist/bundle.d.ts +5 -0
  53. package/dist/bundle.d.ts.map +1 -0
  54. package/dist/bundle.js +12 -0
  55. package/dist/bundle.js.map +1 -0
  56. package/dist/commands/annotation.d.ts +3 -0
  57. package/dist/commands/annotation.d.ts.map +1 -0
  58. package/dist/commands/annotation.js +114 -0
  59. package/dist/commands/annotation.js.map +1 -0
  60. package/dist/commands/audio.d.ts +3 -0
  61. package/dist/commands/audio.d.ts.map +1 -0
  62. package/dist/commands/audio.js +45 -0
  63. package/dist/commands/audio.js.map +1 -0
  64. package/dist/commands/chat.d.ts +3 -0
  65. package/dist/commands/chat.d.ts.map +1 -0
  66. package/dist/commands/chat.js +118 -0
  67. package/dist/commands/chat.js.map +1 -0
  68. package/dist/commands/chatflow.d.ts +3 -0
  69. package/dist/commands/chatflow.d.ts.map +1 -0
  70. package/dist/commands/chatflow.js +99 -0
  71. package/dist/commands/chatflow.js.map +1 -0
  72. package/dist/commands/completion.d.ts +3 -0
  73. package/dist/commands/completion.d.ts.map +1 -0
  74. package/dist/commands/completion.js +72 -0
  75. package/dist/commands/completion.js.map +1 -0
  76. package/dist/commands/config.d.ts +3 -0
  77. package/dist/commands/config.d.ts.map +1 -0
  78. package/dist/commands/config.js +58 -0
  79. package/dist/commands/config.js.map +1 -0
  80. package/dist/commands/conversation.d.ts +3 -0
  81. package/dist/commands/conversation.d.ts.map +1 -0
  82. package/dist/commands/conversation.js +110 -0
  83. package/dist/commands/conversation.js.map +1 -0
  84. package/dist/commands/feedback.d.ts +3 -0
  85. package/dist/commands/feedback.d.ts.map +1 -0
  86. package/dist/commands/feedback.js +33 -0
  87. package/dist/commands/feedback.js.map +1 -0
  88. package/dist/commands/file.d.ts +3 -0
  89. package/dist/commands/file.d.ts.map +1 -0
  90. package/dist/commands/file.js +44 -0
  91. package/dist/commands/file.js.map +1 -0
  92. package/dist/commands/index.d.ts +13 -0
  93. package/dist/commands/index.d.ts.map +1 -0
  94. package/dist/commands/index.js +28 -0
  95. package/dist/commands/index.js.map +1 -0
  96. package/dist/commands/info.d.ts +3 -0
  97. package/dist/commands/info.d.ts.map +1 -0
  98. package/dist/commands/info.js +73 -0
  99. package/dist/commands/info.js.map +1 -0
  100. package/dist/commands/knowledge.d.ts +3 -0
  101. package/dist/commands/knowledge.d.ts.map +1 -0
  102. package/dist/commands/knowledge.js +355 -0
  103. package/dist/commands/knowledge.js.map +1 -0
  104. package/dist/commands/workflow.d.ts +3 -0
  105. package/dist/commands/workflow.d.ts.map +1 -0
  106. package/dist/commands/workflow.js +101 -0
  107. package/dist/commands/workflow.js.map +1 -0
  108. package/dist/index.d.ts +2 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +7 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/program.d.ts +3 -0
  113. package/dist/program.d.ts.map +1 -0
  114. package/dist/program.js +29 -0
  115. package/dist/program.js.map +1 -0
  116. package/dist/utils/config.d.ts +14 -0
  117. package/dist/utils/config.d.ts.map +1 -0
  118. package/dist/utils/config.js +70 -0
  119. package/dist/utils/config.js.map +1 -0
  120. package/dist/utils/output.d.ts +2 -0
  121. package/dist/utils/output.d.ts.map +1 -0
  122. package/dist/utils/output.js +7 -0
  123. package/dist/utils/output.js.map +1 -0
  124. package/dist/utils/streaming.d.ts +7 -0
  125. package/dist/utils/streaming.d.ts.map +1 -0
  126. package/dist/utils/streaming.js +59 -0
  127. package/dist/utils/streaming.js.map +1 -0
  128. package/package.json +43 -0
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerChatflowCommands = registerChatflowCommands;
4
+ const client_1 = require("../api/client");
5
+ const chatflow_1 = require("../api/chatflow");
6
+ const output_1 = require("../utils/output");
7
+ const streaming_1 = require("../utils/streaming");
8
+ function registerChatflowCommands(program) {
9
+ const chatflow = program.command('chatflow').description('Chatflow App operations');
10
+ chatflow
11
+ .command('send [message]')
12
+ .description('Send a message to a Chatflow app')
13
+ .option('-m, --mode <mode>', 'Response mode: blocking or streaming', 'blocking')
14
+ .option('-c, --conversation <id>', 'Conversation ID to continue')
15
+ .option('--inputs <json>', 'Input variables as JSON string')
16
+ .option('--file <path>', 'Upload a file')
17
+ .option('--file-type <type>', 'File type: image, document, audio, video', 'document')
18
+ .option('--no-auto-name', 'Disable auto conversation naming')
19
+ .action(async (message, options, command) => {
20
+ const opts = command.optsWithGlobals();
21
+ const user = opts.user || 'cli-user';
22
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
23
+ const api = new chatflow_1.ChatflowAPI(client);
24
+ let query = message || '';
25
+ if (!message && !process.stdin.isTTY) {
26
+ const chunks = [];
27
+ for await (const chunk of process.stdin) {
28
+ chunks.push(chunk);
29
+ }
30
+ query = Buffer.concat(chunks).toString('utf-8').trim();
31
+ }
32
+ if (!query) {
33
+ console.error('Error: message argument is required');
34
+ process.exit(1);
35
+ }
36
+ const inputs = options.inputs ? JSON.parse(options.inputs) : {};
37
+ const files = options.file ? [{ type: options.fileType, transfer_method: 'local_file', url: options.file }] : undefined;
38
+ const params = {
39
+ inputs, query,
40
+ response_mode: options.mode,
41
+ user, conversation_id: options.conversation,
42
+ files: files,
43
+ auto_generate_name: options.autoName,
44
+ };
45
+ try {
46
+ if (options.mode === 'streaming') {
47
+ const response = await api.sendMessageStream(params);
48
+ for await (const event of (0, streaming_1.parseSSEStream)(response)) {
49
+ console.log((0, output_1.formatOutput)(event));
50
+ }
51
+ }
52
+ else {
53
+ const result = await api.sendMessage(params);
54
+ console.log((0, output_1.formatOutput)(result));
55
+ }
56
+ }
57
+ catch (err) {
58
+ console.error(err.message);
59
+ process.exit(1);
60
+ }
61
+ });
62
+ chatflow
63
+ .command('stop <task_id>')
64
+ .description('Stop message generation')
65
+ .action(async (taskId, _options, command) => {
66
+ const opts = command.optsWithGlobals();
67
+ const user = opts.user || 'cli-user';
68
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
69
+ const api = new chatflow_1.ChatflowAPI(client);
70
+ try {
71
+ const result = await api.stopMessage(taskId, user);
72
+ console.log((0, output_1.formatOutput)(result));
73
+ }
74
+ catch (err) {
75
+ console.error(err.message);
76
+ process.exit(1);
77
+ }
78
+ });
79
+ chatflow
80
+ .command('feedback <message_id>')
81
+ .description('Submit feedback for a message')
82
+ .requiredOption('-r, --rating <rating>', 'Rating: like or dislike')
83
+ .option('--content <text>', 'Feedback content')
84
+ .action(async (messageId, options, command) => {
85
+ const opts = command.optsWithGlobals();
86
+ const user = opts.user || 'cli-user';
87
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
88
+ const api = new chatflow_1.ChatflowAPI(client);
89
+ try {
90
+ const result = await api.submitFeedback(messageId, { rating: options.rating, user, content: options.content });
91
+ console.log((0, output_1.formatOutput)(result));
92
+ }
93
+ catch (err) {
94
+ console.error(err.message);
95
+ process.exit(1);
96
+ }
97
+ });
98
+ }
99
+ //# sourceMappingURL=chatflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatflow.js","sourceRoot":"","sources":["../../src/commands/chatflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCompletionCommands(program: Command): void;
3
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmEjE"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCompletionCommands = registerCompletionCommands;
4
+ const client_1 = require("../api/client");
5
+ const completion_1 = require("../api/completion");
6
+ const output_1 = require("../utils/output");
7
+ const streaming_1 = require("../utils/streaming");
8
+ function registerCompletionCommands(program) {
9
+ const completion = program.command('completion').description('Completion App operations');
10
+ completion
11
+ .command('send [message]')
12
+ .description('Send a message to a Completion app')
13
+ .option('-m, --mode <mode>', 'Response mode: blocking or streaming', 'blocking')
14
+ .option('--inputs <json>', 'Input variables as JSON string')
15
+ .option('--file <path>', 'Upload a file')
16
+ .option('--file-type <type>', 'File type: image, document, audio, video', 'document')
17
+ .action(async (message, options, command) => {
18
+ const opts = command.optsWithGlobals();
19
+ const user = opts.user || 'cli-user';
20
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
21
+ const api = new completion_1.CompletionAPI(client);
22
+ let query = message || '';
23
+ if (!message && !process.stdin.isTTY) {
24
+ const chunks = [];
25
+ for await (const chunk of process.stdin) {
26
+ chunks.push(chunk);
27
+ }
28
+ query = Buffer.concat(chunks).toString('utf-8').trim();
29
+ }
30
+ if (!query) {
31
+ console.error('Error: message argument is required');
32
+ process.exit(1);
33
+ }
34
+ const inputs = options.inputs ? JSON.parse(options.inputs) : {};
35
+ const files = options.file ? [{ type: options.fileType, transfer_method: 'local_file', url: options.file }] : undefined;
36
+ const params = { inputs, query, response_mode: options.mode, user, files: files };
37
+ try {
38
+ if (options.mode === 'streaming') {
39
+ const response = await api.sendMessageStream(params);
40
+ for await (const event of (0, streaming_1.parseSSEStream)(response)) {
41
+ console.log((0, output_1.formatOutput)(event));
42
+ }
43
+ }
44
+ else {
45
+ const result = await api.sendMessage(params);
46
+ console.log((0, output_1.formatOutput)(result));
47
+ }
48
+ }
49
+ catch (err) {
50
+ console.error(err.message);
51
+ process.exit(1);
52
+ }
53
+ });
54
+ completion
55
+ .command('stop <task_id>')
56
+ .description('Stop message generation')
57
+ .action(async (taskId, _options, command) => {
58
+ const opts = command.optsWithGlobals();
59
+ const user = opts.user || 'cli-user';
60
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
61
+ const api = new completion_1.CompletionAPI(client);
62
+ try {
63
+ const result = await api.stopMessage(taskId, user);
64
+ console.log((0, output_1.formatOutput)(result));
65
+ }
66
+ catch (err) {
67
+ console.error(err.message);
68
+ process.exit(1);
69
+ }
70
+ });
71
+ }
72
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerConfigCommands(program: Command): void;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD7D"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerConfigCommands = registerConfigCommands;
4
+ const config_1 = require("../utils/config");
5
+ const output_1 = require("../utils/output");
6
+ function registerConfigCommands(program) {
7
+ const config = program.command('config').description('Manage dify-cli configuration');
8
+ config
9
+ .command('init')
10
+ .description('Initialize dify-cli configuration')
11
+ .option('--api-key <key>', 'Dify API key')
12
+ .option('--base-url <url>', 'Dify API base URL (default: https://api.dify.ai/v1)')
13
+ .option('--default-user <user>', 'Default user identifier')
14
+ .action((options) => {
15
+ const cm = new config_1.ConfigManager();
16
+ const existing = cm.getAll();
17
+ cm.save({
18
+ apiKey: options.apiKey || existing.apiKey,
19
+ baseUrl: options.baseUrl || existing.baseUrl || 'https://api.dify.ai/v1',
20
+ defaultUser: options.defaultUser || existing.defaultUser || 'cli-user',
21
+ });
22
+ console.log((0, output_1.formatOutput)({ message: 'Configuration saved', path: process.env.HOME + '/.dify/config.json' }));
23
+ });
24
+ config
25
+ .command('set')
26
+ .description('Set a config value')
27
+ .argument('<key>', 'Config key (apiKey, baseUrl, defaultUser)')
28
+ .argument('<value>', 'Config value')
29
+ .action((key, value) => {
30
+ const cm = new config_1.ConfigManager();
31
+ const allowed = ['apiKey', 'baseUrl', 'defaultUser'];
32
+ if (!allowed.includes(key)) {
33
+ console.error(`Invalid key "${key}". Allowed: ${allowed.join(', ')}`);
34
+ process.exit(1);
35
+ }
36
+ cm.save({ [key]: value });
37
+ console.log((0, output_1.formatOutput)({ message: `Set ${key} successfully` }));
38
+ });
39
+ config
40
+ .command('get')
41
+ .description('Get config value(s)')
42
+ .argument('[key]', 'Config key (apiKey, baseUrl, defaultUser)')
43
+ .action((key) => {
44
+ const cm = new config_1.ConfigManager();
45
+ if (key) {
46
+ const val = cm.get(key);
47
+ if (val === undefined) {
48
+ console.error(`Config key "${key}" not found`);
49
+ process.exit(1);
50
+ }
51
+ console.log((0, output_1.formatOutput)({ [key]: val }));
52
+ }
53
+ else {
54
+ console.log((0, output_1.formatOutput)(cm.getAll()));
55
+ }
56
+ });
57
+ }
58
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerConversationCommands(program: Command): void;
3
+ //# sourceMappingURL=conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/commands/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsGnE"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerConversationCommands = registerConversationCommands;
4
+ const client_1 = require("../api/client");
5
+ const conversation_1 = require("../api/conversation");
6
+ const output_1 = require("../utils/output");
7
+ function registerConversationCommands(program) {
8
+ const conversation = program.command('conversation').description('Conversation management').alias('conv');
9
+ conversation
10
+ .command('list')
11
+ .description('List conversations')
12
+ .option('--page <n>', 'Page number')
13
+ .option('--limit <n>', 'Items per page')
14
+ .option('--sort-by <field>', 'Sort field (-updated_at, -created_at, etc.)')
15
+ .action(async (options, command) => {
16
+ const opts = command.optsWithGlobals();
17
+ const user = opts.user || 'cli-user';
18
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
19
+ const api = new conversation_1.ConversationAPI(client);
20
+ try {
21
+ const result = await api.list({
22
+ user,
23
+ page: options.page ? Number(options.page) : undefined,
24
+ limit: options.limit ? Number(options.limit) : undefined,
25
+ sort_by: options.sortBy,
26
+ });
27
+ console.log((0, output_1.formatOutput)(result));
28
+ }
29
+ catch (err) {
30
+ console.error(err.message);
31
+ process.exit(1);
32
+ }
33
+ });
34
+ conversation
35
+ .command('get <conversation_id>')
36
+ .description('Get messages in a conversation')
37
+ .option('--page <n>', 'Page number')
38
+ .option('--limit <n>', 'Items per page')
39
+ .action(async (conversationId, options, command) => {
40
+ const opts = command.optsWithGlobals();
41
+ const user = opts.user || 'cli-user';
42
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
43
+ const api = new conversation_1.ConversationAPI(client);
44
+ try {
45
+ const result = await api.getMessages(conversationId, {
46
+ user,
47
+ page: options.page ? Number(options.page) : undefined,
48
+ limit: options.limit ? Number(options.limit) : undefined,
49
+ });
50
+ console.log((0, output_1.formatOutput)(result));
51
+ }
52
+ catch (err) {
53
+ console.error(err.message);
54
+ process.exit(1);
55
+ }
56
+ });
57
+ conversation
58
+ .command('rename <conversation_id>')
59
+ .description('Rename a conversation')
60
+ .requiredOption('-n, --name <text>', 'New conversation name')
61
+ .action(async (conversationId, options, command) => {
62
+ const opts = command.optsWithGlobals();
63
+ const user = opts.user || 'cli-user';
64
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
65
+ const api = new conversation_1.ConversationAPI(client);
66
+ try {
67
+ const result = await api.rename(conversationId, options.name, user);
68
+ console.log((0, output_1.formatOutput)(result));
69
+ }
70
+ catch (err) {
71
+ console.error(err.message);
72
+ process.exit(1);
73
+ }
74
+ });
75
+ conversation
76
+ .command('delete <conversation_id>')
77
+ .description('Delete a conversation')
78
+ .action(async (conversationId, _options, command) => {
79
+ const opts = command.optsWithGlobals();
80
+ const user = opts.user || 'cli-user';
81
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
82
+ const api = new conversation_1.ConversationAPI(client);
83
+ try {
84
+ const result = await api.delete(conversationId, user);
85
+ console.log((0, output_1.formatOutput)(result));
86
+ }
87
+ catch (err) {
88
+ console.error(err.message);
89
+ process.exit(1);
90
+ }
91
+ });
92
+ conversation
93
+ .command('variables <conversation_id>')
94
+ .description('Get conversation variables')
95
+ .action(async (conversationId, _options, command) => {
96
+ const opts = command.optsWithGlobals();
97
+ const user = opts.user || 'cli-user';
98
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
99
+ const api = new conversation_1.ConversationAPI(client);
100
+ try {
101
+ const result = await api.getVariables(conversationId, user);
102
+ console.log((0, output_1.formatOutput)(result));
103
+ }
104
+ catch (err) {
105
+ console.error(err.message);
106
+ process.exit(1);
107
+ }
108
+ });
109
+ }
110
+ //# sourceMappingURL=conversation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/commands/conversation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerFeedbackCommands(program: Command): void;
3
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB/D"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFeedbackCommands = registerFeedbackCommands;
4
+ const client_1 = require("../api/client");
5
+ const feedback_1 = require("../api/feedback");
6
+ const output_1 = require("../utils/output");
7
+ function registerFeedbackCommands(program) {
8
+ const feedback = program.command('feedback').description('Feedback operations');
9
+ feedback
10
+ .command('list')
11
+ .description('List application feedbacks')
12
+ .option('--page <n>', 'Page number')
13
+ .option('--limit <n>', 'Items per page')
14
+ .option('--app-type <type>', 'App type: chat, advanced-chat, workflow, completion')
15
+ .action(async (options, command) => {
16
+ const opts = command.optsWithGlobals();
17
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
18
+ const api = new feedback_1.FeedbackAPI(client);
19
+ try {
20
+ const result = await api.list({
21
+ page: options.page ? Number(options.page) : undefined,
22
+ limit: options.limit ? Number(options.limit) : undefined,
23
+ app_type: options.appType,
24
+ });
25
+ console.log((0, output_1.formatOutput)(result));
26
+ }
27
+ catch (err) {
28
+ console.error(err.message);
29
+ process.exit(1);
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":";;AAKA,4DAyBC;AA7BD,0CAA2C;AAC3C,8CAA8C;AAC9C,4CAA+C;AAE/C,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEhF,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC;SACnC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxD,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerFileCommands(program: Command): void;
3
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/commands/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFileCommands = registerFileCommands;
4
+ const client_1 = require("../api/client");
5
+ const file_1 = require("../api/file");
6
+ const output_1 = require("../utils/output");
7
+ function registerFileCommands(program) {
8
+ const file = program.command('file').description('File operations');
9
+ file
10
+ .command('upload <file_path>')
11
+ .description('Upload a file')
12
+ .action(async (filePath, _options, command) => {
13
+ const opts = command.optsWithGlobals();
14
+ const user = opts.user || 'cli-user';
15
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
16
+ const api = new file_1.FileAPI(client);
17
+ try {
18
+ const result = await api.upload(filePath, user);
19
+ console.log((0, output_1.formatOutput)(result));
20
+ }
21
+ catch (err) {
22
+ console.error(err.message);
23
+ process.exit(1);
24
+ }
25
+ });
26
+ file
27
+ .command('preview <file_id>')
28
+ .description('Download/preview a file')
29
+ .action(async (fileId, _options, command) => {
30
+ const opts = command.optsWithGlobals();
31
+ const client = new client_1.DifyClient({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
32
+ const api = new file_1.FileAPI(client);
33
+ try {
34
+ const response = await api.preview(fileId);
35
+ const buffer = Buffer.from(await response.arrayBuffer());
36
+ process.stdout.write(buffer);
37
+ }
38
+ catch (err) {
39
+ console.error(err.message);
40
+ process.exit(1);
41
+ }
42
+ });
43
+ }
44
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/commands/file.ts"],"names":[],"mappings":";;AAKA,oDAoCC;AAxCD,0CAA2C;AAC3C,sCAAsC;AACtC,4CAA+C;AAE/C,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEpE,IAAI;SACD,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,cAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,cAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { registerConfigCommands } from './config';
2
+ export { registerInfoCommands } from './info';
3
+ export { registerChatCommands } from './chat';
4
+ export { registerCompletionCommands } from './completion';
5
+ export { registerChatflowCommands } from './chatflow';
6
+ export { registerWorkflowCommands } from './workflow';
7
+ export { registerKnowledgeCommands } from './knowledge';
8
+ export { registerConversationCommands } from './conversation';
9
+ export { registerFileCommands } from './file';
10
+ export { registerAudioCommands } from './audio';
11
+ export { registerFeedbackCommands } from './feedback';
12
+ export { registerAnnotationCommands } from './annotation';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerAnnotationCommands = exports.registerFeedbackCommands = exports.registerAudioCommands = exports.registerFileCommands = exports.registerConversationCommands = exports.registerKnowledgeCommands = exports.registerWorkflowCommands = exports.registerChatflowCommands = exports.registerCompletionCommands = exports.registerChatCommands = exports.registerInfoCommands = exports.registerConfigCommands = void 0;
4
+ var config_1 = require("./config");
5
+ Object.defineProperty(exports, "registerConfigCommands", { enumerable: true, get: function () { return config_1.registerConfigCommands; } });
6
+ var info_1 = require("./info");
7
+ Object.defineProperty(exports, "registerInfoCommands", { enumerable: true, get: function () { return info_1.registerInfoCommands; } });
8
+ var chat_1 = require("./chat");
9
+ Object.defineProperty(exports, "registerChatCommands", { enumerable: true, get: function () { return chat_1.registerChatCommands; } });
10
+ var completion_1 = require("./completion");
11
+ Object.defineProperty(exports, "registerCompletionCommands", { enumerable: true, get: function () { return completion_1.registerCompletionCommands; } });
12
+ var chatflow_1 = require("./chatflow");
13
+ Object.defineProperty(exports, "registerChatflowCommands", { enumerable: true, get: function () { return chatflow_1.registerChatflowCommands; } });
14
+ var workflow_1 = require("./workflow");
15
+ Object.defineProperty(exports, "registerWorkflowCommands", { enumerable: true, get: function () { return workflow_1.registerWorkflowCommands; } });
16
+ var knowledge_1 = require("./knowledge");
17
+ Object.defineProperty(exports, "registerKnowledgeCommands", { enumerable: true, get: function () { return knowledge_1.registerKnowledgeCommands; } });
18
+ var conversation_1 = require("./conversation");
19
+ Object.defineProperty(exports, "registerConversationCommands", { enumerable: true, get: function () { return conversation_1.registerConversationCommands; } });
20
+ var file_1 = require("./file");
21
+ Object.defineProperty(exports, "registerFileCommands", { enumerable: true, get: function () { return file_1.registerFileCommands; } });
22
+ var audio_1 = require("./audio");
23
+ Object.defineProperty(exports, "registerAudioCommands", { enumerable: true, get: function () { return audio_1.registerAudioCommands; } });
24
+ var feedback_1 = require("./feedback");
25
+ Object.defineProperty(exports, "registerFeedbackCommands", { enumerable: true, get: function () { return feedback_1.registerFeedbackCommands; } });
26
+ var annotation_1 = require("./annotation");
27
+ Object.defineProperty(exports, "registerAnnotationCommands", { enumerable: true, get: function () { return annotation_1.registerAnnotationCommands; } });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAAzC,gHAAA,sBAAsB,OAAA;AAC/B,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,2CAA0D;AAAjD,wHAAA,0BAA0B,OAAA;AACnC,uCAAsD;AAA7C,oHAAA,wBAAwB,OAAA;AACjC,uCAAsD;AAA7C,oHAAA,wBAAwB,OAAA;AACjC,yCAAwD;AAA/C,sHAAA,yBAAyB,OAAA;AAClC,+CAA8D;AAArD,4HAAA,4BAA4B,OAAA;AACrC,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,iCAAgD;AAAvC,8GAAA,qBAAqB,OAAA;AAC9B,uCAAsD;AAA7C,oHAAA,wBAAwB,OAAA;AACjC,2CAA0D;AAAjD,wHAAA,0BAA0B,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerInfoCommands(program: Command): void;
3
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgE3D"}