aiag-cli 1.7.1 → 2.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/README.md +125 -88
  2. package/dist/api/client.d.ts +170 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +513 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/api/endpoints.d.ts +112 -0
  7. package/dist/api/endpoints.d.ts.map +1 -0
  8. package/dist/api/endpoints.js +150 -0
  9. package/dist/api/endpoints.js.map +1 -0
  10. package/dist/api/types.d.ts +395 -0
  11. package/dist/api/types.d.ts.map +1 -0
  12. package/dist/api/types.js +7 -0
  13. package/dist/api/types.js.map +1 -0
  14. package/dist/auth/credentials.d.ts +73 -0
  15. package/dist/auth/credentials.d.ts.map +1 -0
  16. package/dist/auth/credentials.js +150 -0
  17. package/dist/auth/credentials.js.map +1 -0
  18. package/dist/auth/device.d.ts +58 -0
  19. package/dist/auth/device.d.ts.map +1 -0
  20. package/dist/auth/device.js +235 -0
  21. package/dist/auth/device.js.map +1 -0
  22. package/dist/auth/token.d.ts +55 -0
  23. package/dist/auth/token.d.ts.map +1 -0
  24. package/dist/auth/token.js +153 -0
  25. package/dist/auth/token.js.map +1 -0
  26. package/dist/cli.js +51 -1
  27. package/dist/cli.js.map +1 -1
  28. package/dist/commands/auto.d.ts.map +1 -1
  29. package/dist/commands/auto.js +321 -236
  30. package/dist/commands/auto.js.map +1 -1
  31. package/dist/commands/complete.d.ts +1 -0
  32. package/dist/commands/complete.d.ts.map +1 -1
  33. package/dist/commands/complete.js +30 -0
  34. package/dist/commands/complete.js.map +1 -1
  35. package/dist/commands/connect.d.ts +25 -0
  36. package/dist/commands/connect.d.ts.map +1 -0
  37. package/dist/commands/connect.js +305 -0
  38. package/dist/commands/connect.js.map +1 -0
  39. package/dist/commands/init.d.ts.map +1 -1
  40. package/dist/commands/init.js +5 -1
  41. package/dist/commands/init.js.map +1 -1
  42. package/dist/commands/login.d.ts +19 -0
  43. package/dist/commands/login.d.ts.map +1 -0
  44. package/dist/commands/login.js +119 -0
  45. package/dist/commands/login.js.map +1 -0
  46. package/dist/commands/logout.d.ts +15 -0
  47. package/dist/commands/logout.d.ts.map +1 -0
  48. package/dist/commands/logout.js +50 -0
  49. package/dist/commands/logout.js.map +1 -0
  50. package/dist/commands/next.d.ts +1 -0
  51. package/dist/commands/next.d.ts.map +1 -1
  52. package/dist/commands/next.js +41 -2
  53. package/dist/commands/next.js.map +1 -1
  54. package/dist/commands/project.d.ts +13 -0
  55. package/dist/commands/project.d.ts.map +1 -0
  56. package/dist/commands/project.js +92 -0
  57. package/dist/commands/project.js.map +1 -0
  58. package/dist/commands/session.d.ts +10 -2
  59. package/dist/commands/session.d.ts.map +1 -1
  60. package/dist/commands/session.js +80 -3
  61. package/dist/commands/session.js.map +1 -1
  62. package/dist/commands/status.d.ts +1 -0
  63. package/dist/commands/status.d.ts.map +1 -1
  64. package/dist/commands/status.js +51 -0
  65. package/dist/commands/status.js.map +1 -1
  66. package/dist/commands/sync.d.ts +33 -0
  67. package/dist/commands/sync.d.ts.map +1 -0
  68. package/dist/commands/sync.js +555 -0
  69. package/dist/commands/sync.js.map +1 -0
  70. package/dist/commands/work.d.ts +1 -0
  71. package/dist/commands/work.d.ts.map +1 -1
  72. package/dist/commands/work.js +22 -1
  73. package/dist/commands/work.js.map +1 -1
  74. package/dist/config/global.d.ts +54 -0
  75. package/dist/config/global.d.ts.map +1 -0
  76. package/dist/config/global.js +110 -0
  77. package/dist/config/global.js.map +1 -0
  78. package/dist/prompts/coding.d.ts +31 -0
  79. package/dist/prompts/coding.d.ts.map +1 -0
  80. package/dist/prompts/coding.js +228 -0
  81. package/dist/prompts/coding.js.map +1 -0
  82. package/dist/prompts/index.d.ts +10 -0
  83. package/dist/prompts/index.d.ts.map +1 -0
  84. package/dist/prompts/index.js +10 -0
  85. package/dist/prompts/index.js.map +1 -0
  86. package/dist/prompts/initializer.d.ts +20 -0
  87. package/dist/prompts/initializer.d.ts.map +1 -0
  88. package/dist/prompts/initializer.js +147 -0
  89. package/dist/prompts/initializer.js.map +1 -0
  90. package/dist/sdk/client.d.ts +67 -0
  91. package/dist/sdk/client.d.ts.map +1 -0
  92. package/dist/sdk/client.js +196 -0
  93. package/dist/sdk/client.js.map +1 -0
  94. package/dist/sdk/index.d.ts +8 -0
  95. package/dist/sdk/index.d.ts.map +1 -0
  96. package/dist/sdk/index.js +8 -0
  97. package/dist/sdk/index.js.map +1 -0
  98. package/dist/sdk/security.d.ts +43 -0
  99. package/dist/sdk/security.d.ts.map +1 -0
  100. package/dist/sdk/security.js +214 -0
  101. package/dist/sdk/security.js.map +1 -0
  102. package/dist/types.d.ts +64 -0
  103. package/dist/types.d.ts.map +1 -1
  104. package/dist/utils/connection.d.ts +126 -0
  105. package/dist/utils/connection.d.ts.map +1 -0
  106. package/dist/utils/connection.js +226 -0
  107. package/dist/utils/connection.js.map +1 -0
  108. package/dist/utils/initializerAgent.d.ts +0 -5
  109. package/dist/utils/initializerAgent.d.ts.map +1 -1
  110. package/dist/utils/initializerAgent.js +112 -31
  111. package/dist/utils/initializerAgent.js.map +1 -1
  112. package/dist/utils/messages.d.ts +76 -0
  113. package/dist/utils/messages.d.ts.map +1 -1
  114. package/dist/utils/messages.js +87 -1
  115. package/dist/utils/messages.js.map +1 -1
  116. package/dist/utils/output.d.ts +10 -0
  117. package/dist/utils/output.d.ts.map +1 -1
  118. package/dist/utils/output.js +31 -0
  119. package/dist/utils/output.js.map +1 -1
  120. package/dist/utils/prompt.d.ts +10 -0
  121. package/dist/utils/prompt.d.ts.map +1 -0
  122. package/dist/utils/prompt.js +22 -0
  123. package/dist/utils/prompt.js.map +1 -0
  124. package/dist/utils/sseClient.d.ts +183 -0
  125. package/dist/utils/sseClient.d.ts.map +1 -0
  126. package/dist/utils/sseClient.js +391 -0
  127. package/dist/utils/sseClient.js.map +1 -0
  128. package/package.json +3 -2
@@ -1,8 +1,11 @@
1
1
  import { updateLastUpdated } from '../utils/progress.js';
2
2
  import { getProgress, getNextFeature } from '../utils/featureList.js';
3
- import { printHeader, printSection, colors, icons, printInfo, printSuccess } from '../utils/output.js';
3
+ import { printHeader, printSection, colors, icons, printInfo, printSuccess, printWarning } from '../utils/output.js';
4
4
  import { clearSessionContext, hasInterruptedWork } from '../utils/sessionContext.js';
5
- export async function sessionStart(featureId) {
5
+ import { loadConnection, saveCurrentSession, loadCurrentSession, clearCurrentSession, } from '../utils/connection.js';
6
+ import { getApiClient } from '../api/client.js';
7
+ export async function sessionStart(featureId, options = {}) {
8
+ const baseDir = process.cwd();
6
9
  printHeader('Session Start');
7
10
  const progress = getProgress();
8
11
  const nextFeature = featureId ? null : getNextFeature();
@@ -17,6 +20,35 @@ export async function sessionStart(featureId) {
17
20
  printSection('Recommended Feature');
18
21
  console.log(` ${icons.arrow} ${nextFeature.id}: ${nextFeature.description}`);
19
22
  }
23
+ // 서버에 세션 시작 알림 (연결된 경우)
24
+ const connection = loadConnection(baseDir);
25
+ const client = getApiClient();
26
+ if (connection && client && !options.offline) {
27
+ try {
28
+ const sessionInfo = await client.startSession(connection.projectId, {
29
+ agentType: 'cli',
30
+ notes: options.notes,
31
+ });
32
+ // 현재 세션 정보 저장
33
+ saveCurrentSession({
34
+ id: sessionInfo.id,
35
+ projectId: sessionInfo.projectId,
36
+ startedAt: sessionInfo.startedAt,
37
+ agentType: 'cli',
38
+ }, baseDir);
39
+ printInfo(colors.dim(`세션 시작됨 (ID: ${sessionInfo.id.slice(0, 8)}...)`));
40
+ // 세션 시작 로그 전송
41
+ if (featureId) {
42
+ await client.sendLog(featureId, {
43
+ type: 'started',
44
+ message: `Session started for feature ${featureId}`,
45
+ });
46
+ }
47
+ }
48
+ catch (error) {
49
+ printWarning('서버 세션 등록 실패 (로컬 세션으로 계속)');
50
+ }
51
+ }
20
52
  // Checklist
21
53
  printSection('Session Start Checklist');
22
54
  console.log(` ${icons.checkbox.checked} pwd - Confirm directory`);
@@ -27,12 +59,16 @@ export async function sessionStart(featureId) {
27
59
  console.log(` ${icons.checkbox.unchecked} Identify next feature`);
28
60
  console.log('');
29
61
  printInfo('Session started. Remember: ONE feature at a time!');
62
+ if (connection) {
63
+ console.log(colors.dim(` 연결된 프로젝트: ${connection.projectName}`));
64
+ }
30
65
  console.log('');
31
66
  }
32
- export async function sessionEnd() {
67
+ export async function sessionEnd(options = {}) {
33
68
  const baseDir = process.cwd();
34
69
  printHeader('Session End');
35
70
  const progress = getProgress();
71
+ const startProgress = progress; // 세션 시작 시점의 진행률 (실제로는 저장해두어야 함)
36
72
  // Check if there's interrupted work and clear it
37
73
  const hadInterruptedWork = hasInterruptedWork(baseDir);
38
74
  if (hadInterruptedWork) {
@@ -44,6 +80,30 @@ export async function sessionEnd() {
44
80
  // Get session summary
45
81
  printSection('Session Summary');
46
82
  console.log(` Progress: ${progress.completed}/${progress.total} features (${progress.percentage}%)`);
83
+ // 서버에 세션 종료 알림 (연결된 경우)
84
+ const connection = loadConnection(baseDir);
85
+ const client = getApiClient();
86
+ const currentSession = loadCurrentSession(baseDir);
87
+ if (connection && client && currentSession && !options.offline) {
88
+ try {
89
+ const sessionDuration = Math.floor((Date.now() - new Date(currentSession.startedAt).getTime()) / 1000);
90
+ // 세션 요약 생성
91
+ const summary = {
92
+ workDone: [], // 실제로는 progress.md에서 파싱해야 함
93
+ commits: [], // git log에서 가져올 수 있음
94
+ nextSteps: [],
95
+ notes: [],
96
+ duration: sessionDuration,
97
+ };
98
+ await client.endSession(currentSession.id, summary);
99
+ printInfo(colors.dim(`세션 종료됨 (${formatDuration(sessionDuration)})`));
100
+ // 현재 세션 정보 삭제
101
+ clearCurrentSession(baseDir);
102
+ }
103
+ catch (error) {
104
+ printWarning('서버 세션 종료 알림 실패');
105
+ }
106
+ }
47
107
  // Checklist
48
108
  printSection('Session End Checklist');
49
109
  console.log(` ${icons.checkbox.unchecked} Feature complete OR clean state`);
@@ -72,4 +132,21 @@ export async function sessionEnd() {
72
132
  console.log(colors.dim('---'));
73
133
  console.log('');
74
134
  }
135
+ /**
136
+ * 시간 포맷팅
137
+ */
138
+ function formatDuration(seconds) {
139
+ const hours = Math.floor(seconds / 3600);
140
+ const minutes = Math.floor((seconds % 3600) / 60);
141
+ const secs = seconds % 60;
142
+ if (hours > 0) {
143
+ return `${hours}시간 ${minutes}분`;
144
+ }
145
+ else if (minutes > 0) {
146
+ return `${minutes}분 ${secs}초`;
147
+ }
148
+ else {
149
+ return `${secs}초`;
150
+ }
151
+ }
75
152
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  interface StatusOptions {
2
2
  json?: boolean;
3
3
  verbose?: boolean;
4
+ offline?: boolean;
4
5
  }
5
6
  export declare function status(options?: StatusOptions): Promise<void>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAgBA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EvE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAmBA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoIvE"}
@@ -1,5 +1,7 @@
1
1
  import { readFeatureList, getProgress, getRecentlyCompleted, getNextFeature, } from '../utils/featureList.js';
2
2
  import { printHeader, printSection, progressBar, colors, icons, printError, getPriorityColor, } from '../utils/output.js';
3
+ import { getConnectionStatus, getPendingSyncCount } from '../utils/connection.js';
4
+ import { getApiClient, isServerReachable } from '../api/client.js';
3
5
  export async function status(options = {}) {
4
6
  const data = readFeatureList();
5
7
  if (!data) {
@@ -51,6 +53,55 @@ export async function status(options = {}) {
51
53
  console.log(` ${icons.checkbox.unchecked} ${feature.id} [${priorityColor(feature.priority)}] ${feature.description}`);
52
54
  }
53
55
  }
56
+ // 서버 연결 상태 표시
57
+ const baseDir = process.cwd();
58
+ const connectionStatus = getConnectionStatus(baseDir);
59
+ if (connectionStatus.connected && !options.offline) {
60
+ printSection('Server Connection:');
61
+ const isOnline = await isServerReachable(connectionStatus.serverUrl);
62
+ const statusIcon = isOnline ? colors.success('●') : colors.warning('○');
63
+ const statusText = isOnline
64
+ ? colors.success('연결됨')
65
+ : colors.warning('오프라인');
66
+ console.log(` ${statusIcon} ${connectionStatus.projectName} - ${statusText}`);
67
+ console.log(` ${colors.dim('서버:')} ${connectionStatus.serverUrl}`);
68
+ if (connectionStatus.lastSyncAt) {
69
+ const lastSync = getRelativeTime(new Date(connectionStatus.lastSyncAt));
70
+ console.log(` ${colors.dim('마지막 동기화:')} ${lastSync}`);
71
+ }
72
+ // 미동기화 항목 표시
73
+ const pendingCount = getPendingSyncCount(baseDir);
74
+ if (pendingCount > 0) {
75
+ console.log(` ${colors.warning(`⚠ 미동기화 항목: ${pendingCount}개`)}`);
76
+ console.log(` ${colors.dim('동기화하려면: aiag sync')}`);
77
+ }
78
+ // 서버에서 추가 정보 조회 (온라인일 때만)
79
+ if (isOnline) {
80
+ const client = getApiClient();
81
+ if (client) {
82
+ try {
83
+ const context = await client.getProjectContext(connectionStatus.projectId);
84
+ if (context.activeAgents.length > 0) {
85
+ console.log('');
86
+ console.log(` ${colors.bold('활성 에이전트:')}`);
87
+ for (const agent of context.activeAgents) {
88
+ const agentIcon = agent.type === 'cli' ? '🖥️' : '🌙';
89
+ const agentStatus = agent.status === 'active'
90
+ ? colors.green('활성')
91
+ : colors.gray('유휴');
92
+ console.log(` ${agentIcon} ${agent.email ?? agent.id} - ${agentStatus}`);
93
+ if (agent.currentFeature) {
94
+ console.log(` 작업 중: ${colors.yellow(agent.currentFeature)}`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ catch {
100
+ // 상세 정보 조회 실패는 무시
101
+ }
102
+ }
103
+ }
104
+ }
54
105
  console.log('');
55
106
  }
56
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * sync 명령어
3
+ *
4
+ * aiag-adp 웹 플랫폼과 로컬 feature_list.json 양방향 동기화
5
+ *
6
+ * 사용법:
7
+ * aiag sync 기본 동기화 (로컬 → 서버)
8
+ * aiag sync --pull 서버 → 로컬 동기화
9
+ * aiag sync --force 충돌 시 로컬 우선
10
+ * aiag sync --watch 실시간 이벤트 스트리밍
11
+ * aiag sync --status 동기화 상태 확인
12
+ *
13
+ * 동기화 방향:
14
+ * - 기본: 로컬 변경사항을 서버에 반영
15
+ * - --pull: 서버 상태를 로컬에 반영
16
+ * - 양방향: 충돌 감지 및 해결 옵션 제공
17
+ */
18
+ /**
19
+ * sync 명령어 옵션
20
+ */
21
+ export interface SyncOptions {
22
+ pull?: boolean;
23
+ force?: boolean;
24
+ watch?: boolean;
25
+ status?: boolean;
26
+ dryRun?: boolean;
27
+ }
28
+ /**
29
+ * sync 명령어 실행
30
+ */
31
+ export declare function sync(options: SyncOptions): Promise<void>;
32
+ export default sync;
33
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkCH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA6BD;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9D;AAwkBD,eAAe,IAAI,CAAC"}