@octo-cyber/ai 0.5.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 (134) hide show
  1. package/dist/ai.module.d.ts +3 -0
  2. package/dist/ai.module.d.ts.map +1 -0
  3. package/dist/ai.module.js +40 -0
  4. package/dist/ai.module.js.map +1 -0
  5. package/dist/cli/adapters/antigravity.adapter.d.ts +29 -0
  6. package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -0
  7. package/dist/cli/adapters/antigravity.adapter.js +170 -0
  8. package/dist/cli/adapters/antigravity.adapter.js.map +1 -0
  9. package/dist/cli/adapters/claude-cli.adapter.d.ts +23 -0
  10. package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
  11. package/dist/cli/adapters/claude-cli.adapter.js +79 -0
  12. package/dist/cli/adapters/claude-cli.adapter.js.map +1 -0
  13. package/dist/cli/adapters/codex-cli.adapter.d.ts +22 -0
  14. package/dist/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
  15. package/dist/cli/adapters/codex-cli.adapter.js +76 -0
  16. package/dist/cli/adapters/codex-cli.adapter.js.map +1 -0
  17. package/dist/cli/adapters/detect-cli.d.ts +11 -0
  18. package/dist/cli/adapters/detect-cli.d.ts.map +1 -0
  19. package/dist/cli/adapters/detect-cli.js +40 -0
  20. package/dist/cli/adapters/detect-cli.js.map +1 -0
  21. package/dist/cli/adapters/gemini-cli.adapter.d.ts +21 -0
  22. package/dist/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
  23. package/dist/cli/adapters/gemini-cli.adapter.js +72 -0
  24. package/dist/cli/adapters/gemini-cli.adapter.js.map +1 -0
  25. package/dist/cli/adapters/index.d.ts +4 -0
  26. package/dist/cli/adapters/index.d.ts.map +1 -0
  27. package/dist/cli/adapters/index.js +10 -0
  28. package/dist/cli/adapters/index.js.map +1 -0
  29. package/dist/cli/cli-executor.service.d.ts +23 -0
  30. package/dist/cli/cli-executor.service.d.ts.map +1 -0
  31. package/dist/cli/cli-executor.service.js +150 -0
  32. package/dist/cli/cli-executor.service.js.map +1 -0
  33. package/dist/cli/cli-registry.service.d.ts +38 -0
  34. package/dist/cli/cli-registry.service.d.ts.map +1 -0
  35. package/dist/cli/cli-registry.service.js +112 -0
  36. package/dist/cli/cli-registry.service.js.map +1 -0
  37. package/dist/cli/controllers/ai-cli.controller.d.ts +36 -0
  38. package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -0
  39. package/dist/cli/controllers/ai-cli.controller.js +179 -0
  40. package/dist/cli/controllers/ai-cli.controller.js.map +1 -0
  41. package/dist/cli/index.d.ts +8 -0
  42. package/dist/cli/index.d.ts.map +1 -0
  43. package/dist/cli/index.js +17 -0
  44. package/dist/cli/index.js.map +1 -0
  45. package/dist/cli/types.d.ts +131 -0
  46. package/dist/cli/types.d.ts.map +1 -0
  47. package/dist/cli/types.js +9 -0
  48. package/dist/cli/types.js.map +1 -0
  49. package/dist/cli/workspace.service.d.ts +34 -0
  50. package/dist/cli/workspace.service.d.ts.map +1 -0
  51. package/dist/cli/workspace.service.js +194 -0
  52. package/dist/cli/workspace.service.js.map +1 -0
  53. package/dist/controllers/agent.controller.d.ts +13 -0
  54. package/dist/controllers/agent.controller.d.ts.map +1 -0
  55. package/dist/controllers/agent.controller.js +117 -0
  56. package/dist/controllers/agent.controller.js.map +1 -0
  57. package/dist/controllers/capability.controller.d.ts +16 -0
  58. package/dist/controllers/capability.controller.d.ts.map +1 -0
  59. package/dist/controllers/capability.controller.js +108 -0
  60. package/dist/controllers/capability.controller.js.map +1 -0
  61. package/dist/controllers/client.controller.d.ts +10 -0
  62. package/dist/controllers/client.controller.d.ts.map +1 -0
  63. package/dist/controllers/client.controller.js +79 -0
  64. package/dist/controllers/client.controller.js.map +1 -0
  65. package/dist/controllers/execution.controller.d.ts +11 -0
  66. package/dist/controllers/execution.controller.d.ts.map +1 -0
  67. package/dist/controllers/execution.controller.js +50 -0
  68. package/dist/controllers/execution.controller.js.map +1 -0
  69. package/dist/controllers/index.d.ts +5 -0
  70. package/dist/controllers/index.d.ts.map +1 -0
  71. package/dist/controllers/index.js +12 -0
  72. package/dist/controllers/index.js.map +1 -0
  73. package/dist/entities/agent-binding.entity.d.ts +17 -0
  74. package/dist/entities/agent-binding.entity.d.ts.map +1 -0
  75. package/dist/entities/agent-binding.entity.js +64 -0
  76. package/dist/entities/agent-binding.entity.js.map +1 -0
  77. package/dist/entities/agent-definition.entity.d.ts +17 -0
  78. package/dist/entities/agent-definition.entity.d.ts.map +1 -0
  79. package/dist/entities/agent-definition.entity.js +70 -0
  80. package/dist/entities/agent-definition.entity.js.map +1 -0
  81. package/dist/entities/agent-execution.entity.d.ts +23 -0
  82. package/dist/entities/agent-execution.entity.d.ts.map +1 -0
  83. package/dist/entities/agent-execution.entity.js +93 -0
  84. package/dist/entities/agent-execution.entity.js.map +1 -0
  85. package/dist/entities/agent-instance.entity.d.ts +19 -0
  86. package/dist/entities/agent-instance.entity.d.ts.map +1 -0
  87. package/dist/entities/agent-instance.entity.js +76 -0
  88. package/dist/entities/agent-instance.entity.js.map +1 -0
  89. package/dist/entities/capability-definition.entity.d.ts +20 -0
  90. package/dist/entities/capability-definition.entity.d.ts.map +1 -0
  91. package/dist/entities/capability-definition.entity.js +77 -0
  92. package/dist/entities/capability-definition.entity.js.map +1 -0
  93. package/dist/entities/client-registration.entity.d.ts +19 -0
  94. package/dist/entities/client-registration.entity.d.ts.map +1 -0
  95. package/dist/entities/client-registration.entity.js +79 -0
  96. package/dist/entities/client-registration.entity.js.map +1 -0
  97. package/dist/entities/index.d.ts +7 -0
  98. package/dist/entities/index.d.ts.map +1 -0
  99. package/dist/entities/index.js +16 -0
  100. package/dist/entities/index.js.map +1 -0
  101. package/dist/index.d.ts +4 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +16 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/services/agent.service.d.ts +23 -0
  106. package/dist/services/agent.service.d.ts.map +1 -0
  107. package/dist/services/agent.service.js +76 -0
  108. package/dist/services/agent.service.js.map +1 -0
  109. package/dist/services/capability-router.service.d.ts +45 -0
  110. package/dist/services/capability-router.service.d.ts.map +1 -0
  111. package/dist/services/capability-router.service.js +120 -0
  112. package/dist/services/capability-router.service.js.map +1 -0
  113. package/dist/services/client-registration.service.d.ts +27 -0
  114. package/dist/services/client-registration.service.d.ts.map +1 -0
  115. package/dist/services/client-registration.service.js +83 -0
  116. package/dist/services/client-registration.service.js.map +1 -0
  117. package/dist/services/index.d.ts +5 -0
  118. package/dist/services/index.d.ts.map +1 -0
  119. package/dist/services/index.js +12 -0
  120. package/dist/services/index.js.map +1 -0
  121. package/dist/services/sync-bridge.service.d.ts +41 -0
  122. package/dist/services/sync-bridge.service.d.ts.map +1 -0
  123. package/dist/services/sync-bridge.service.js +118 -0
  124. package/dist/services/sync-bridge.service.js.map +1 -0
  125. package/package.json +94 -0
  126. package/web/components/CliTestDialog.tsx +158 -0
  127. package/web/index.ts +19 -0
  128. package/web/manifest.ts +14 -0
  129. package/web/messages/en-US.json +81 -0
  130. package/web/messages/zh-CN.json +81 -0
  131. package/web/pages/AiCliToolsPage.tsx +223 -0
  132. package/web/pages/WorkspaceSection.tsx +260 -0
  133. package/web/pages/WorkspacesPage.tsx +397 -0
  134. package/web/services/ai-cli-service.ts +129 -0
@@ -0,0 +1,129 @@
1
+ import { api } from '@octo-cyber/ui/services/api-client'
2
+ import type { ApiResponse } from '@octo-cyber/ui/types/common'
3
+
4
+ export interface CliToolInfo {
5
+ name: string
6
+ displayName: string
7
+ available: boolean
8
+ version?: string
9
+ path?: string
10
+ models?: string[]
11
+ defaultModel?: string
12
+ }
13
+
14
+ export interface CliHealthInfo {
15
+ name: string
16
+ available: boolean
17
+ version?: string
18
+ path?: string
19
+ }
20
+
21
+ /** Map backend API response to frontend CliToolInfo */
22
+ function mapToolInfo(raw: Record<string, unknown>): CliToolInfo {
23
+ return {
24
+ name: raw.name as string,
25
+ displayName: raw.displayName as string,
26
+ available: (raw.isAvailable ?? raw.available) as boolean,
27
+ version: raw.version as string | undefined,
28
+ path: (raw.executablePath ?? raw.path) as string | undefined,
29
+ models: raw.models as string[] | undefined,
30
+ defaultModel: raw.defaultModel as string | undefined,
31
+ }
32
+ }
33
+
34
+ export interface CliExecuteRequest {
35
+ tool: string
36
+ prompt: string
37
+ model?: string
38
+ workingDir?: string
39
+ timeoutMs?: number
40
+ jsonOutput?: boolean
41
+ }
42
+
43
+ export interface CliExecuteResult {
44
+ output: string
45
+ error?: string
46
+ exitCode: number
47
+ durationMs: number
48
+ }
49
+
50
+ export interface WorkspaceInfo {
51
+ id: string
52
+ type: 'local' | 'github'
53
+ name: string
54
+ path: string
55
+ createdAt: string
56
+ localPath?: string
57
+ repoUrl?: string
58
+ branch?: string
59
+ }
60
+
61
+ export interface CreateWorkspaceRequest {
62
+ type: 'local' | 'github'
63
+ name: string
64
+ localPath?: string
65
+ repoUrl?: string
66
+ branch?: string
67
+ }
68
+
69
+ export const aiCliService = {
70
+ async getTools(): Promise<CliToolInfo[]> {
71
+ const res = await api.get<ApiResponse<Record<string, unknown>[]>>('/api/v1/ai-cli/tools')
72
+ return res.data.map(mapToolInfo)
73
+ },
74
+
75
+ async healthCheck(name: string): Promise<CliHealthInfo> {
76
+ const res = await api.get<ApiResponse<Record<string, unknown>>>(
77
+ `/api/v1/ai-cli/tools/${name}/health`,
78
+ )
79
+ const raw = res.data
80
+ return {
81
+ name: raw.name as string,
82
+ available: (raw.isAvailable ?? raw.available) as boolean,
83
+ version: raw.version as string | undefined,
84
+ path: (raw.executablePath ?? raw.path) as string | undefined,
85
+ }
86
+ },
87
+
88
+ async getModels(name: string): Promise<string[]> {
89
+ const res = await api.get<ApiResponse<string[]>>(
90
+ `/api/v1/ai-cli/tools/${name}/models`,
91
+ )
92
+ return res.data
93
+ },
94
+
95
+ async execute(request: CliExecuteRequest): Promise<CliExecuteResult> {
96
+ const res = await api.post<ApiResponse<CliExecuteResult>>(
97
+ '/api/v1/ai-cli/execute',
98
+ request,
99
+ )
100
+ return res.data
101
+ },
102
+
103
+ async getWorkspaces(): Promise<WorkspaceInfo[]> {
104
+ const res = await api.get<ApiResponse<WorkspaceInfo[]>>(
105
+ '/api/v1/ai-cli/workspaces',
106
+ )
107
+ return res.data
108
+ },
109
+
110
+ async createWorkspace(request: CreateWorkspaceRequest): Promise<WorkspaceInfo> {
111
+ const res = await api.post<ApiResponse<WorkspaceInfo>>(
112
+ '/api/v1/ai-cli/workspaces',
113
+ request,
114
+ )
115
+ return res.data
116
+ },
117
+
118
+ async pullWorkspace(id: string): Promise<void> {
119
+ await api.post<ApiResponse<null>>(
120
+ `/api/v1/ai-cli/workspaces/${id}/pull`,
121
+ )
122
+ },
123
+
124
+ async deleteWorkspace(id: string): Promise<void> {
125
+ await api.post<ApiResponse<null>>(
126
+ `/api/v1/ai-cli/workspaces/${id}/delete`,
127
+ )
128
+ },
129
+ }