agkan 2.9.0 → 2.10.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.
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +23 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/dist/models/Attachment.d.ts +0 -25
- package/dist/models/Attachment.d.ts.map +0 -1
- package/dist/models/Attachment.js +0 -7
- package/dist/models/Attachment.js.map +0 -1
- package/dist/services/AttachmentService.d.ts +0 -62
- package/dist/services/AttachmentService.d.ts.map +0 -1
- package/dist/services/AttachmentService.js +0 -95
- package/dist/services/AttachmentService.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BvD"}
|
|
@@ -10,8 +10,29 @@ exports.setupInitCommand = setupInitCommand;
|
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
12
|
const config_1 = require("../../db/config");
|
|
13
|
-
const DEFAULT_CONFIG_CONTENT = `# agkan configuration
|
|
14
|
-
|
|
13
|
+
const DEFAULT_CONFIG_CONTENT = `# agkan configuration file
|
|
14
|
+
#
|
|
15
|
+
# This file controls the behavior of agkan (Agent Kanban).
|
|
16
|
+
# Uncomment and modify the settings below to customize your agkan instance.
|
|
17
|
+
|
|
18
|
+
# Database path
|
|
19
|
+
# Location where agkan stores task data.
|
|
20
|
+
# Default: .agkan/data.db
|
|
21
|
+
# You can use absolute or relative paths (relative paths are resolved from current working directory)
|
|
22
|
+
# Example: path: /var/lib/agkan/data.db
|
|
23
|
+
# Example: path: ./custom/db/path/data.db
|
|
24
|
+
# path: .agkan/data.db
|
|
25
|
+
|
|
26
|
+
# Board server configuration
|
|
27
|
+
# Settings for the web-based board interface
|
|
28
|
+
# board:
|
|
29
|
+
# # Port number for the board server
|
|
30
|
+
# # Default: 3000
|
|
31
|
+
# # port: 3000
|
|
32
|
+
#
|
|
33
|
+
# # Title displayed in the board UI
|
|
34
|
+
# # Default: Agent Kanban
|
|
35
|
+
# # title: Agent Kanban
|
|
15
36
|
`;
|
|
16
37
|
function setupInitCommand(program) {
|
|
17
38
|
program
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAgCH,4CA2BC;AAxDD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAuE;AAEvE,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB9B,CAAC;AAEF,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAA,0BAAiB,GAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAA,0BAAiB,GAAE,CAAC;QACpC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,qBAAqB;QACrB,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,cAAc,iBAAiB,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,cAAc,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,4BAA4B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,aAAa,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attachment model
|
|
3
|
-
* Type definitions for attachments
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Complete attachment type definition
|
|
7
|
-
* Represents an attachment retrieved from the database
|
|
8
|
-
*/
|
|
9
|
-
export interface Attachment {
|
|
10
|
-
id: number;
|
|
11
|
-
task_id: number;
|
|
12
|
-
file_name: string;
|
|
13
|
-
file_path: string;
|
|
14
|
-
created_at: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Attachment creation input type
|
|
18
|
-
* Excludes id and created_at as they are auto-generated
|
|
19
|
-
*/
|
|
20
|
-
export interface CreateAttachmentInput {
|
|
21
|
-
task_id: number;
|
|
22
|
-
file_name: string;
|
|
23
|
-
file_path: string;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=Attachment.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../src/models/Attachment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../src/models/Attachment.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Attachment, CreateAttachmentInput } from '../models';
|
|
2
|
-
import Database from 'better-sqlite3';
|
|
3
|
-
/**
|
|
4
|
-
* Attachment Service
|
|
5
|
-
* Provides management of attachment records
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* **Future Feature**: This service is fully implemented but CLI commands are not yet available.
|
|
9
|
-
* See docs/planned-features.md for implementation timeline and planned CLI interface.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* const service = new AttachmentService();
|
|
14
|
-
* const attachment = service.createAttachment({
|
|
15
|
-
* task_id: 1,
|
|
16
|
-
* file_name: 'design.pdf',
|
|
17
|
-
* file_path: '/path/to/design.pdf'
|
|
18
|
-
* });
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare class AttachmentService {
|
|
22
|
-
private db;
|
|
23
|
-
constructor(db?: Database.Database);
|
|
24
|
-
/**
|
|
25
|
-
* Create a new attachment record
|
|
26
|
-
*
|
|
27
|
-
* @remarks
|
|
28
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
29
|
-
* Planned command: `agkan task attach add <task-id> <file-path>`
|
|
30
|
-
*
|
|
31
|
-
* @param input - Attachment creation input
|
|
32
|
-
* @returns Created attachment record
|
|
33
|
-
* @throws Will throw if task_id does not exist (foreign key constraint)
|
|
34
|
-
*/
|
|
35
|
-
createAttachment(input: CreateAttachmentInput): Attachment;
|
|
36
|
-
/**
|
|
37
|
-
* Get attachments for a specific task
|
|
38
|
-
*
|
|
39
|
-
* @remarks
|
|
40
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
41
|
-
* Planned command: `agkan task attach list <task-id>`
|
|
42
|
-
*
|
|
43
|
-
* @param taskId - Task ID
|
|
44
|
-
* @returns Array of attachments ordered by creation date (newest first)
|
|
45
|
-
*/
|
|
46
|
-
getAttachmentsByTaskId(taskId: number): Attachment[];
|
|
47
|
-
/**
|
|
48
|
-
* Delete an attachment record
|
|
49
|
-
*
|
|
50
|
-
* @remarks
|
|
51
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
52
|
-
* Planned command: `agkan task attach delete <attachment-id>`
|
|
53
|
-
*
|
|
54
|
-
* @param id - Attachment ID
|
|
55
|
-
* @returns True if deletion succeeded, false if not found
|
|
56
|
-
*
|
|
57
|
-
* @todo Implement file deletion from filesystem
|
|
58
|
-
* @todo Add --keep-file option to CLI command
|
|
59
|
-
*/
|
|
60
|
-
deleteAttachment(id: number): boolean;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=AttachmentService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentService.d.ts","sourceRoot":"","sources":["../../src/services/AttachmentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAIlC;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU;IAoB1D;;;;;;;;;OASG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAOpD;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAetC"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttachmentService = void 0;
|
|
4
|
-
const connection_1 = require("../db/connection");
|
|
5
|
-
/**
|
|
6
|
-
* Attachment Service
|
|
7
|
-
* Provides management of attachment records
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* **Future Feature**: This service is fully implemented but CLI commands are not yet available.
|
|
11
|
-
* See docs/planned-features.md for implementation timeline and planned CLI interface.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const service = new AttachmentService();
|
|
16
|
-
* const attachment = service.createAttachment({
|
|
17
|
-
* task_id: 1,
|
|
18
|
-
* file_name: 'design.pdf',
|
|
19
|
-
* file_path: '/path/to/design.pdf'
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
class AttachmentService {
|
|
24
|
-
constructor(db) {
|
|
25
|
-
this.db = db || (0, connection_1.getDatabase)();
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Create a new attachment record
|
|
29
|
-
*
|
|
30
|
-
* @remarks
|
|
31
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
32
|
-
* Planned command: `agkan task attach add <task-id> <file-path>`
|
|
33
|
-
*
|
|
34
|
-
* @param input - Attachment creation input
|
|
35
|
-
* @returns Created attachment record
|
|
36
|
-
* @throws Will throw if task_id does not exist (foreign key constraint)
|
|
37
|
-
*/
|
|
38
|
-
createAttachment(input) {
|
|
39
|
-
const db = this.db;
|
|
40
|
-
const now = new Date().toISOString();
|
|
41
|
-
const stmt = db.prepare(`
|
|
42
|
-
INSERT INTO attachments (task_id, file_name, file_path, created_at)
|
|
43
|
-
VALUES (?, ?, ?, ?)
|
|
44
|
-
`);
|
|
45
|
-
const result = stmt.run(input.task_id, input.file_name, input.file_path, now);
|
|
46
|
-
return {
|
|
47
|
-
id: result.lastInsertRowid,
|
|
48
|
-
task_id: input.task_id,
|
|
49
|
-
file_name: input.file_name,
|
|
50
|
-
file_path: input.file_path,
|
|
51
|
-
created_at: now,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Get attachments for a specific task
|
|
56
|
-
*
|
|
57
|
-
* @remarks
|
|
58
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
59
|
-
* Planned command: `agkan task attach list <task-id>`
|
|
60
|
-
*
|
|
61
|
-
* @param taskId - Task ID
|
|
62
|
-
* @returns Array of attachments ordered by creation date (newest first)
|
|
63
|
-
*/
|
|
64
|
-
getAttachmentsByTaskId(taskId) {
|
|
65
|
-
const db = this.db;
|
|
66
|
-
const stmt = db.prepare('SELECT * FROM attachments WHERE task_id = ? ORDER BY created_at DESC');
|
|
67
|
-
return stmt.all(taskId);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Delete an attachment record
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* **Future Feature**: CLI command not yet implemented.
|
|
74
|
-
* Planned command: `agkan task attach delete <attachment-id>`
|
|
75
|
-
*
|
|
76
|
-
* @param id - Attachment ID
|
|
77
|
-
* @returns True if deletion succeeded, false if not found
|
|
78
|
-
*
|
|
79
|
-
* @todo Implement file deletion from filesystem
|
|
80
|
-
* @todo Add --keep-file option to CLI command
|
|
81
|
-
*/
|
|
82
|
-
deleteAttachment(id) {
|
|
83
|
-
const db = this.db;
|
|
84
|
-
const stmt = db.prepare('SELECT * FROM attachments WHERE id = ?');
|
|
85
|
-
const attachment = stmt.get(id);
|
|
86
|
-
if (!attachment) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
const deleteStmt = db.prepare('DELETE FROM attachments WHERE id = ?');
|
|
90
|
-
deleteStmt.run(id);
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.AttachmentService = AttachmentService;
|
|
95
|
-
//# sourceMappingURL=AttachmentService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentService.js","sourceRoot":"","sources":["../../src/services/AttachmentService.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAG/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,iBAAiB;IAG5B,YAAY,EAAsB;QAChC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAA,wBAAW,GAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE9E,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,eAAyB;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,sBAAsB,CAAC,MAAc;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAiB,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAU;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACtE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnFD,8CAmFC"}
|