@skillcdn/console 0.4.0 → 0.4.2

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 (308) hide show
  1. package/README.md +20 -2
  2. package/SKILLCDN.md +7 -5
  3. package/dist/api.d.ts +5 -4
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +5 -4
  6. package/dist/api.js.map +1 -1
  7. package/dist/cli/cli.d.ts.map +1 -1
  8. package/dist/cli/cli.js +579 -45
  9. package/dist/cli/cli.js.map +1 -1
  10. package/dist/cli/format.d.ts +34 -3
  11. package/dist/cli/format.d.ts.map +1 -1
  12. package/dist/cli/format.js +277 -6
  13. package/dist/cli/format.js.map +1 -1
  14. package/dist/cli/help.d.ts.map +1 -1
  15. package/dist/cli/help.js +60 -7
  16. package/dist/cli/help.js.map +1 -1
  17. package/dist/cli/plugin-check.d.ts +21 -0
  18. package/dist/cli/plugin-check.d.ts.map +1 -0
  19. package/dist/cli/plugin-check.js +374 -0
  20. package/dist/cli/plugin-check.js.map +1 -0
  21. package/dist/cli/plugin-cli.d.ts +20 -0
  22. package/dist/cli/plugin-cli.d.ts.map +1 -0
  23. package/dist/cli/plugin-cli.js +123 -0
  24. package/dist/cli/plugin-cli.js.map +1 -0
  25. package/dist/cli/plugin-init.d.ts +20 -0
  26. package/dist/cli/plugin-init.d.ts.map +1 -0
  27. package/dist/cli/plugin-init.js +74 -0
  28. package/dist/cli/plugin-init.js.map +1 -0
  29. package/dist/cli/plugin-main.d.ts +3 -0
  30. package/dist/cli/plugin-main.d.ts.map +1 -0
  31. package/dist/cli/plugin-main.js +28 -0
  32. package/dist/cli/plugin-main.js.map +1 -0
  33. package/dist/client.d.ts +109 -2
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +67 -2
  36. package/dist/client.js.map +1 -1
  37. package/dist/compat.d.ts +1 -1
  38. package/dist/compat.js +2 -2
  39. package/dist/components/board.d.ts +8 -0
  40. package/dist/components/board.d.ts.map +1 -1
  41. package/dist/components/board.js +59 -15
  42. package/dist/components/board.js.map +1 -1
  43. package/dist/components/event-feed.d.ts +1 -1
  44. package/dist/components/event-feed.d.ts.map +1 -1
  45. package/dist/components/event-feed.js +33 -1
  46. package/dist/components/event-feed.js.map +1 -1
  47. package/dist/components/markdown.d.ts.map +1 -1
  48. package/dist/components/markdown.js +6 -3
  49. package/dist/components/markdown.js.map +1 -1
  50. package/dist/components/pack-connect.d.ts +3 -1
  51. package/dist/components/pack-connect.d.ts.map +1 -1
  52. package/dist/components/pack-connect.js +4 -4
  53. package/dist/components/pack-connect.js.map +1 -1
  54. package/dist/components/pack-token.d.ts +3 -1
  55. package/dist/components/pack-token.d.ts.map +1 -1
  56. package/dist/components/pack-token.js +1 -1
  57. package/dist/components/pack-token.js.map +1 -1
  58. package/dist/components/people.d.ts.map +1 -1
  59. package/dist/components/people.js +14 -3
  60. package/dist/components/people.js.map +1 -1
  61. package/dist/components/plugin-frame.d.ts +52 -0
  62. package/dist/components/plugin-frame.d.ts.map +1 -0
  63. package/dist/components/plugin-frame.js +314 -0
  64. package/dist/components/plugin-frame.js.map +1 -0
  65. package/dist/components/plugin-settings.d.ts +38 -0
  66. package/dist/components/plugin-settings.d.ts.map +1 -0
  67. package/dist/components/plugin-settings.js +348 -0
  68. package/dist/components/plugin-settings.js.map +1 -0
  69. package/dist/components/remote-pictures.d.ts +6 -0
  70. package/dist/components/remote-pictures.d.ts.map +1 -0
  71. package/dist/components/remote-pictures.js +8 -0
  72. package/dist/components/remote-pictures.js.map +1 -0
  73. package/dist/components/shell.d.ts +2 -0
  74. package/dist/components/shell.d.ts.map +1 -1
  75. package/dist/components/shell.js +26 -1
  76. package/dist/components/shell.js.map +1 -1
  77. package/dist/components/sign-in.d.ts.map +1 -1
  78. package/dist/components/sign-in.js +49 -2
  79. package/dist/components/sign-in.js.map +1 -1
  80. package/dist/components/ui.d.ts +3 -2
  81. package/dist/components/ui.d.ts.map +1 -1
  82. package/dist/components/ui.js +6 -3
  83. package/dist/components/ui.js.map +1 -1
  84. package/dist/components/workspace.d.ts +7 -1
  85. package/dist/components/workspace.d.ts.map +1 -1
  86. package/dist/components/workspace.js +1 -1
  87. package/dist/components/workspace.js.map +1 -1
  88. package/dist/console.css +384 -5
  89. package/dist/console.d.ts.map +1 -1
  90. package/dist/console.js +146 -29
  91. package/dist/console.js.map +1 -1
  92. package/dist/data.d.ts +11 -2
  93. package/dist/data.d.ts.map +1 -1
  94. package/dist/data.js +35 -21
  95. package/dist/data.js.map +1 -1
  96. package/dist/i18n/en.d.ts +163 -1
  97. package/dist/i18n/en.d.ts.map +1 -1
  98. package/dist/i18n/en.js +174 -1
  99. package/dist/i18n/en.js.map +1 -1
  100. package/dist/i18n/ko.d.ts.map +1 -1
  101. package/dist/i18n/ko.js +154 -1
  102. package/dist/i18n/ko.js.map +1 -1
  103. package/dist/index.d.ts +3 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +3 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/limits.d.ts +14 -0
  108. package/dist/limits.d.ts.map +1 -1
  109. package/dist/limits.js +14 -0
  110. package/dist/limits.js.map +1 -1
  111. package/dist/plugin/args.d.ts +148 -0
  112. package/dist/plugin/args.d.ts.map +1 -0
  113. package/dist/plugin/args.js +369 -0
  114. package/dist/plugin/args.js.map +1 -0
  115. package/dist/plugin/bridge.d.ts +146 -0
  116. package/dist/plugin/bridge.d.ts.map +1 -0
  117. package/dist/plugin/bridge.js +125 -0
  118. package/dist/plugin/bridge.js.map +1 -0
  119. package/dist/plugin/capabilities.d.ts +20 -0
  120. package/dist/plugin/capabilities.d.ts.map +1 -0
  121. package/dist/plugin/capabilities.js +133 -0
  122. package/dist/plugin/capabilities.js.map +1 -0
  123. package/dist/plugin/context.d.ts +374 -0
  124. package/dist/plugin/context.d.ts.map +1 -0
  125. package/dist/plugin/context.js +2 -0
  126. package/dist/plugin/context.js.map +1 -0
  127. package/dist/plugin/define.d.ts +208 -0
  128. package/dist/plugin/define.d.ts.map +1 -0
  129. package/dist/plugin/define.js +482 -0
  130. package/dist/plugin/define.js.map +1 -0
  131. package/dist/plugin/definition-error.d.ts +11 -0
  132. package/dist/plugin/definition-error.d.ts.map +1 -0
  133. package/dist/plugin/definition-error.js +17 -0
  134. package/dist/plugin/definition-error.js.map +1 -0
  135. package/dist/plugin/limits.d.ts +67 -0
  136. package/dist/plugin/limits.d.ts.map +1 -0
  137. package/dist/plugin/limits.js +70 -0
  138. package/dist/plugin/limits.js.map +1 -0
  139. package/dist/plugin/load-worker.d.ts +7 -0
  140. package/dist/plugin/load-worker.d.ts.map +1 -0
  141. package/dist/plugin/load-worker.js +41 -0
  142. package/dist/plugin/load-worker.js.map +1 -0
  143. package/dist/plugin/load.d.ts +18 -0
  144. package/dist/plugin/load.d.ts.map +1 -0
  145. package/dist/plugin/load.js +62 -0
  146. package/dist/plugin/load.js.map +1 -0
  147. package/dist/plugin/manifest.d.ts +237 -0
  148. package/dist/plugin/manifest.d.ts.map +1 -0
  149. package/dist/plugin/manifest.js +411 -0
  150. package/dist/plugin/manifest.js.map +1 -0
  151. package/dist/plugin/refusals.d.ts +49 -0
  152. package/dist/plugin/refusals.d.ts.map +1 -0
  153. package/dist/plugin/refusals.js +79 -0
  154. package/dist/plugin/refusals.js.map +1 -0
  155. package/dist/plugin/rest-schemas.d.ts +556 -0
  156. package/dist/plugin/rest-schemas.d.ts.map +1 -0
  157. package/dist/plugin/rest-schemas.js +262 -0
  158. package/dist/plugin/rest-schemas.js.map +1 -0
  159. package/dist/plugin/sandbox.d.ts +23 -0
  160. package/dist/plugin/sandbox.d.ts.map +1 -0
  161. package/dist/plugin/sandbox.js +99 -0
  162. package/dist/plugin/sandbox.js.map +1 -0
  163. package/dist/plugin/testing.d.ts +45 -0
  164. package/dist/plugin/testing.d.ts.map +1 -0
  165. package/dist/plugin/testing.js +420 -0
  166. package/dist/plugin/testing.js.map +1 -0
  167. package/dist/plugin/web-react.d.ts +11 -0
  168. package/dist/plugin/web-react.d.ts.map +1 -0
  169. package/dist/plugin/web-react.js +34 -0
  170. package/dist/plugin/web-react.js.map +1 -0
  171. package/dist/plugin/web.d.ts +95 -0
  172. package/dist/plugin/web.d.ts.map +1 -0
  173. package/dist/plugin/web.js +245 -0
  174. package/dist/plugin/web.js.map +1 -0
  175. package/dist/plugin-nav.d.ts +29 -0
  176. package/dist/plugin-nav.d.ts.map +1 -0
  177. package/dist/plugin-nav.js +92 -0
  178. package/dist/plugin-nav.js.map +1 -0
  179. package/dist/plugin-testing.d.ts +2 -0
  180. package/dist/plugin-testing.d.ts.map +1 -0
  181. package/dist/plugin-testing.js +4 -0
  182. package/dist/plugin-testing.js.map +1 -0
  183. package/dist/plugin-web-react.d.ts +3 -0
  184. package/dist/plugin-web-react.d.ts.map +1 -0
  185. package/dist/plugin-web-react.js +3 -0
  186. package/dist/plugin-web-react.js.map +1 -0
  187. package/dist/plugin-web.d.ts +4 -0
  188. package/dist/plugin-web.d.ts.map +1 -0
  189. package/dist/plugin-web.js +5 -0
  190. package/dist/plugin-web.js.map +1 -0
  191. package/dist/plugin.d.ts +11 -0
  192. package/dist/plugin.d.ts.map +1 -0
  193. package/dist/plugin.js +15 -0
  194. package/dist/plugin.js.map +1 -0
  195. package/dist/router.d.ts +28 -0
  196. package/dist/router.d.ts.map +1 -1
  197. package/dist/router.js +47 -0
  198. package/dist/router.js.map +1 -1
  199. package/dist/routes.d.ts +6 -0
  200. package/dist/routes.d.ts.map +1 -1
  201. package/dist/routes.js +8 -0
  202. package/dist/routes.js.map +1 -1
  203. package/dist/schemas.d.ts +147 -1
  204. package/dist/schemas.d.ts.map +1 -1
  205. package/dist/schemas.js +55 -5
  206. package/dist/schemas.js.map +1 -1
  207. package/dist/tokens.d.ts +2 -0
  208. package/dist/tokens.d.ts.map +1 -0
  209. package/dist/tokens.js +101 -0
  210. package/dist/tokens.js.map +1 -0
  211. package/dist/vocabulary.d.ts +11 -1
  212. package/dist/vocabulary.d.ts.map +1 -1
  213. package/dist/vocabulary.js +24 -0
  214. package/dist/vocabulary.js.map +1 -1
  215. package/dist/web.d.ts.map +1 -1
  216. package/dist/web.js +5 -2
  217. package/dist/web.js.map +1 -1
  218. package/docs/specs/cli.md +16 -9
  219. package/docs/specs/plugins.md +487 -0
  220. package/docs/specs/rest.md +25 -13
  221. package/package.json +21 -3
  222. package/skills/building-a-console/SKILL.md +25 -26
  223. package/skills/building-a-console/references/configuring.md +40 -0
  224. package/skills/building-a-console/references/the-default-console.md +1 -1
  225. package/skills/building-a-console/references/the-look-from-a-website.md +5 -5
  226. package/skills/building-a-plugin/SKILL.md +137 -0
  227. package/skills/deploying-a-console/SKILL.md +24 -26
  228. package/skills/deploying-a-console/references/access.md +13 -9
  229. package/skills/deploying-a-console/references/resources.md +25 -10
  230. package/skills/deploying-a-console/references/running-it-again.md +15 -0
  231. package/skills/deploying-a-console/references/sizing.md +2 -0
  232. package/skills/planning-the-board/SKILL.md +96 -0
  233. package/skills/planning-the-board/references/a-task.md +36 -0
  234. package/skills/planning-the-board/references/setting-up.md +44 -0
  235. package/skills/working-the-board/SKILL.md +43 -34
  236. package/skills/working-the-board/references/the-pack.md +19 -0
  237. package/src/api.ts +16 -0
  238. package/src/cli/cli.ts +736 -45
  239. package/src/cli/format.ts +356 -9
  240. package/src/cli/help.ts +71 -6
  241. package/src/cli/plugin-check.ts +470 -0
  242. package/src/cli/plugin-cli.ts +148 -0
  243. package/src/cli/plugin-init.ts +90 -0
  244. package/src/cli/plugin-main.ts +30 -0
  245. package/src/client.ts +324 -1
  246. package/src/compat.ts +2 -2
  247. package/src/components/board.tsx +62 -14
  248. package/src/components/event-feed.tsx +42 -1
  249. package/src/components/markdown.tsx +6 -3
  250. package/src/components/pack-connect.tsx +10 -7
  251. package/src/components/pack-token.tsx +4 -1
  252. package/src/components/people.tsx +17 -7
  253. package/src/components/plugin-frame.tsx +437 -0
  254. package/src/components/plugin-settings.tsx +1111 -0
  255. package/src/components/remote-pictures.ts +19 -0
  256. package/src/components/shell.tsx +82 -14
  257. package/src/components/sign-in.tsx +114 -13
  258. package/src/components/ui.tsx +6 -3
  259. package/src/components/workspace.tsx +18 -0
  260. package/src/console.tsx +309 -23
  261. package/src/data.ts +47 -22
  262. package/src/i18n/en.ts +183 -1
  263. package/src/i18n/ko.ts +159 -1
  264. package/src/index.ts +12 -0
  265. package/src/limits.ts +14 -0
  266. package/src/plugin/args.ts +526 -0
  267. package/src/plugin/bridge.ts +314 -0
  268. package/src/plugin/capabilities.ts +150 -0
  269. package/src/plugin/context.ts +416 -0
  270. package/src/plugin/define.ts +792 -0
  271. package/src/plugin/definition-error.ts +19 -0
  272. package/src/plugin/limits.ts +70 -0
  273. package/src/plugin/load-worker.ts +50 -0
  274. package/src/plugin/load.ts +82 -0
  275. package/src/plugin/manifest.ts +561 -0
  276. package/src/plugin/refusals.ts +94 -0
  277. package/src/plugin/rest-schemas.ts +354 -0
  278. package/src/plugin/sandbox.ts +123 -0
  279. package/src/plugin/testing.ts +612 -0
  280. package/src/plugin/web-react.ts +45 -0
  281. package/src/plugin/web.ts +403 -0
  282. package/src/plugin-nav.ts +132 -0
  283. package/src/plugin-testing.ts +10 -0
  284. package/src/plugin-web-react.ts +4 -0
  285. package/src/plugin-web.ts +35 -0
  286. package/src/plugin.ts +126 -0
  287. package/src/router.ts +73 -0
  288. package/src/routes.ts +9 -0
  289. package/src/schemas.ts +60 -4
  290. package/src/styles/console.css +384 -5
  291. package/src/tokens.ts +101 -0
  292. package/src/vocabulary.ts +30 -0
  293. package/src/web.ts +5 -2
  294. package/template/plugin/.gitignore +2 -0
  295. package/template/plugin/README.md +26 -0
  296. package/template/plugin/SKILLCDN.md +13 -0
  297. package/template/plugin/build.mjs +40 -0
  298. package/template/plugin/console-plugin.json +50 -0
  299. package/template/plugin/package.json +27 -0
  300. package/template/plugin/skills/__key__/SKILL.md +23 -0
  301. package/template/plugin/src/check.test.ts +34 -0
  302. package/template/plugin/src/server/index.test.ts +41 -0
  303. package/template/plugin/src/server/index.ts +72 -0
  304. package/template/plugin/src/web/index.css +51 -0
  305. package/template/plugin/src/web/index.ts +115 -0
  306. package/template/plugin/tsconfig.json +17 -0
  307. package/skills/working-the-board/references/setting-up.md +0 -3
  308. /package/skills/{working-the-board → planning-the-board}/references/project-rules.md +0 -0
package/src/i18n/ko.ts CHANGED
@@ -8,6 +8,14 @@ export const ko: Messages = {
8
8
  label: "한국어",
9
9
 
10
10
  vocabulary: {
11
+ pluginState: {
12
+ installed: "설치됨",
13
+ enabled: "활성",
14
+ needs_consent: "동의 필요",
15
+ disabled: "비활성",
16
+ failed: "실패",
17
+ orphaned: "패키지 없음",
18
+ },
11
19
  state: {
12
20
  idea: "아이디어",
13
21
  ready: "준비됨",
@@ -105,6 +113,122 @@ export const ko: Messages = {
105
113
  skills: "스킬",
106
114
  members: "멤버",
107
115
  settings: "설정",
116
+ plugins: "플러그인",
117
+ pluginGroups: {
118
+ people: "사람",
119
+ customers: "고객",
120
+ money: "돈",
121
+ operations: "운영",
122
+ marketing: "마케팅",
123
+ engineering: "엔지니어링",
124
+ reports: "보고",
125
+ },
126
+ },
127
+
128
+ plugins: {
129
+ frame: (name) => `${name}, 플러그인 페이지`,
130
+ noPage: {
131
+ title: "여기엔 없습니다",
132
+ body: "이 플러그인에는 볼 수 있는 페이지가 없거나, 이 프로젝트에 올라가 있지 않습니다.",
133
+ },
134
+ settings: {
135
+ title: "플러그인",
136
+ empty: { title: "플러그인 없음", body: "이 콘솔의 이미지에 설치된 플러그인이 없습니다." },
137
+ none: "콘솔에 플러그인 디렉터리가 없어 설치할 수 없습니다.",
138
+ about: "개요",
139
+ problems: "실행할 수 없는 이유",
140
+ nothing: "없음",
141
+ capabilities: "권한",
142
+ board: "보드 프로젝트",
143
+ boardHint: "플러그인의 결정, 태스크, 문서가 가는 곳입니다.",
144
+ boardNone: "없음",
145
+ boardCreate: "새 프로젝트",
146
+ boardChoose: "기존 프로젝트",
147
+ boardKey: "키",
148
+ boardName: "이름",
149
+ boardDescription: "설명",
150
+ projects: "프로젝트",
151
+ projectsAll: "모든 프로젝트",
152
+ projectsSome: "일부 프로젝트",
153
+ settingsForm: "설정",
154
+ secretSet: (when) => `${when} 설정됨`,
155
+ secretUnset: "설정 안 됨",
156
+ secretNew: "새 값",
157
+ enable: "활성화",
158
+ disable: "비활성화",
159
+ roles: "역할",
160
+ rolesNone: "역할이 없어 모든 멤버가 쓸 수 있습니다.",
161
+ roleDefault: "기본",
162
+ everyMember: "모든 멤버",
163
+ grantEveryone: "모두",
164
+ grantMembersOf: (project) => `${project}의 멤버`,
165
+ grantPeople: "사람",
166
+ grantProjects: "프로젝트의 멤버",
167
+ grantWhom: "부여할 대상…",
168
+ grant: "부여",
169
+ revoke: "회수",
170
+ events: "일어난 일",
171
+ noEvents: "아직 없습니다.",
172
+ data: "데이터",
173
+ export: "내보내기",
174
+ exportHint: "레코드와 그 버전을 JSON Lines로 받습니다.",
175
+ exportLink: "내려받기",
176
+ purge: "삭제",
177
+ purgeHint: "콘솔에 있는 레코드, 파일, 역할, 비밀을 지웁니다. 보드에 남긴 것은 남습니다.",
178
+ purgeDisabledFirst: "삭제하려면 먼저 비활성화하세요.",
179
+ purgeConfirm: (key) => `${key} 입력`,
180
+ purged: "삭제했습니다.",
181
+ agentNote: "에이전트에게",
182
+ operations: "명령과 조회",
183
+ },
184
+ capability: {
185
+ files: { name: "파일", opens: "레코드에 파일을 붙입니다. 배포가 허용한 용량까지." },
186
+ "people:read": { name: "사람 읽기", opens: "보는 사람이 볼 수 있는 사람들을 읽습니다." },
187
+ "people:read:all": {
188
+ name: "모든 사람 읽기",
189
+ opens: "워크스페이스의 모든 사람을 읽습니다. 예약 실행과 훅에서도.",
190
+ },
191
+ "projects:read": {
192
+ name: "프로젝트 읽기",
193
+ opens: "보는 사람이 볼 수 있는 프로젝트와 멤버를 읽습니다.",
194
+ },
195
+ "projects:read:all": {
196
+ name: "모든 프로젝트 읽기",
197
+ opens: "모든 프로젝트와 멤버를 읽습니다.",
198
+ },
199
+ "board:read": {
200
+ name: "보드 읽기",
201
+ opens: "보드 프로젝트와 호출된 프로젝트의 태스크, 결정, 실행, 문서, 이벤트를 읽습니다.",
202
+ },
203
+ "board:tasks": {
204
+ name: "태스크",
205
+ opens: "자기 프로젝트에 태스크를 만들고, 만든 것을 바꾸고 닫고 댓글을 답니다.",
206
+ },
207
+ "board:decisions": { name: "결정", opens: "자기 프로젝트에 결정을 올리고 그 답을 읽습니다." },
208
+ "board:documents": { name: "문서", opens: "자기 프로젝트의 문서에 자기 폴더를 두고 씁니다." },
209
+ "events:console": {
210
+ name: "콘솔 이벤트",
211
+ opens: "보드 프로젝트에서 일어나는 일에 훅을 겁니다.",
212
+ },
213
+ "events:plugins": {
214
+ name: "다른 플러그인의 이벤트",
215
+ opens: "다른 플러그인이 내는 이벤트에 훅을 겁니다.",
216
+ },
217
+ jobs: { name: "예약 실행", opens: "정해진 시간에 실행됩니다." },
218
+ endpoints: {
219
+ name: "요청 받기",
220
+ opens: "자기 경로로 오는 요청을 받습니다. 사람의 요청이나 웹훅.",
221
+ },
222
+ "storage:sql": {
223
+ name: "전용 데이터베이스 스키마",
224
+ opens: "콘솔 데이터베이스에 전용 스키마와 로그인 역할을 갖습니다.",
225
+ },
226
+ outbound: (host) => ({ name: `${host}로 요청`, opens: `${host}에 https 요청을 보냅니다.` }),
227
+ plugins: (key) => ({
228
+ name: `플러그인 ${key} 호출`,
229
+ opens: `플러그인 ${key}의 API를 호출한 사람의 권한으로 호출합니다.`,
230
+ }),
231
+ },
108
232
  },
109
233
 
110
234
  shell: {
@@ -119,7 +243,13 @@ export const ko: Messages = {
119
243
 
120
244
  signIn: {
121
245
  lead: "AI 에이전트로 이뤄진 조직에 합류하세요.",
122
- continueWith: (provider) => `${provider}로 계속`,
246
+ signInWith: (provider) => `${provider}로 로그인`,
247
+ going: (provider) => `${provider}로 가는 중…`,
248
+ admits: {
249
+ organization: (name) => `GitHub 조직 ${name}의 멤버가 로그인할 수 있습니다.`,
250
+ domains: (domains) => `${domains} 계정이 로그인할 수 있습니다.`,
251
+ listed: "관리자가 추가한 사람이 로그인할 수 있습니다.",
252
+ },
123
253
  nobody: {
124
254
  title: "아직 아무도 로그인할 수 없습니다",
125
255
  body: "이 콘솔에는 로그인이 설정되어 있지 않습니다. 운영자가 deploy/README.md에 따라 설정합니다.",
@@ -138,6 +268,8 @@ export const ko: Messages = {
138
268
  empty: {
139
269
  title: "아직 프로젝트가 없습니다",
140
270
  body: "첫 프로젝트를 만드세요. 무엇을 위한 것인지, 누가 함께하는지. 또는 소유자에게 추가를 요청하세요.",
271
+ bodyMember:
272
+ "프로젝트는 관리자가 만듭니다. 관리자에게 첫 프로젝트를, 또는 소유자에게 추가를 요청하세요.",
141
273
  },
142
274
  list: "프로젝트",
143
275
  private: "비공개",
@@ -543,6 +675,8 @@ export const ko: Messages = {
543
675
  workspace: {
544
676
  title: "워크스페이스",
545
677
  aria: "워크스페이스 설정",
678
+ consoleVersion: "콘솔 버전",
679
+ consoleTakes: (range) => `받는 console 명령: ${range}`,
546
680
  peopleVisibility: "멤버 공개 범위",
547
681
  peopleVisibilityHint:
548
682
  "멤버가 사람들 페이지와 선택 목록에서 보는 범위: 워크스페이스의 모두, 또는 같은 프로젝트에 속한 사람만. 관리자는 언제나 모두를 보고, 워크스페이스에 공개된 프로젝트에는 모두가 속합니다.",
@@ -588,6 +722,16 @@ export const ko: Messages = {
588
722
  as: (agent) => `${agent}(으)로`,
589
723
  asTitle: "그 사람이 사용한 에이전트",
590
724
  aTask: "작업",
725
+ aPlugin: "플러그인",
726
+ throughPlugin: (plugin) => `플러그인 ${plugin}을(를) 통해`,
727
+ everyone: "모든 구성원",
728
+ membersOf: (project) => `${project}의 구성원`,
729
+ outcome: {
730
+ ok: "완료",
731
+ refused: "거절됨",
732
+ waiting: "결정 대기",
733
+ failed: "실패",
734
+ },
591
735
  aProject: "프로젝트",
592
736
  someone: "누군가",
593
737
  something: "무언가",
@@ -670,6 +814,18 @@ export const ko: Messages = {
670
814
  documentArchived: (page) => `${page}을(를) 보관했습니다`,
671
815
  documentRestored: (page) => `${page}을(를) 복원했습니다`,
672
816
  fileAttached: (label, page) => `${page}에 ${label}을(를) 첨부했습니다`,
817
+ pluginEnabled: (plugin) => `플러그인 ${plugin}을(를) 활성화했습니다`,
818
+ pluginDisabled: (plugin) => `플러그인 ${plugin}을(를) 비활성화했습니다`,
819
+ pluginConfigured: (fields, plugin) => `플러그인 ${plugin}의 ${fields}을(를) 바꿨습니다`,
820
+ pluginGranted: (role, who, plugin) =>
821
+ `${who}에게 플러그인 ${plugin}의 ${role} 역할을 주었습니다`,
822
+ pluginRevoked: (role, who, plugin) =>
823
+ `${who}에게서 플러그인 ${plugin}의 ${role} 역할을 거두었습니다`,
824
+ pluginUpgraded: (plugin, version) => `플러그인 ${plugin}을(를) ${version}으로 올렸습니다`,
825
+ pluginCommand: (command, plugin, outcome) =>
826
+ `플러그인 ${plugin}의 ${command}을(를) 실행했습니다: ${outcome}`,
827
+ pluginPurged: (plugin) => `플러그인 ${plugin}을(를) 완전히 지웠습니다`,
828
+ pluginFailed: (plugin, problem) => `플러그인 ${plugin}이(가) 실패했습니다: ${problem}`,
673
829
  },
674
830
  },
675
831
 
@@ -844,6 +1000,8 @@ export const ko: Messages = {
844
1000
  domain: "도메인의 계정",
845
1001
  listed: "관리자가 추가함",
846
1002
  },
1003
+ ofOrganization: (name) => `${name} 조직의 구성원`,
1004
+ ofDomain: (domain) => `${domain} 도메인의 계정`,
847
1005
  at: { gh: "GitHub", google: "Google" },
848
1006
  organization: (name) => `GitHub 조직 ${name}이(가) 구성원을 정합니다.`,
849
1007
  organizationRead: "마지막으로 읽음",
package/src/index.ts CHANGED
@@ -131,6 +131,15 @@ export {
131
131
  ZOOM_STEP,
132
132
  zoomAround,
133
133
  } from "./components/pictures.js";
134
+ export {
135
+ BridgeRefusal,
136
+ PluginFrame,
137
+ type PluginFrameProps,
138
+ PluginWidgets,
139
+ type PluginWidgetsProps,
140
+ performBridgeCall,
141
+ readTheme,
142
+ } from "./components/plugin-frame.js";
134
143
  export {
135
144
  keyOf,
136
145
  MemberList,
@@ -303,6 +312,8 @@ export {
303
312
  type ProjectPage,
304
313
  personAgentsHref,
305
314
  personWorkHref,
315
+ pluginHref,
316
+ pluginSettingsHref,
306
317
  projectHref,
307
318
  projectSettingsHref,
308
319
  type Route,
@@ -314,4 +325,5 @@ export {
314
325
  withoutSignInParam,
315
326
  workHref,
316
327
  } from "./router.js";
328
+ export { CONSOLE_TOKENS } from "./tokens.js";
317
329
  export { errorWords, useAction } from "./use-action.js";
package/src/limits.ts CHANGED
@@ -79,3 +79,17 @@ export const MAX_PROJECT_SYMBOL_LENGTH = 8;
79
79
  export const MAX_PROJECT_ICON_BYTES = 512 * 1024;
80
80
  /** How many items a listing answers with when none is asked for, and the most one may ask for. */
81
81
  export const DEFAULT_PAGE_LIMIT = 50;
82
+ /**
83
+ * How many projects one workspace holds, how many tasks, goals, decisions and pages one project
84
+ * holds, and how many runs one task carries, those put away included: bounds a runaway script
85
+ * meets and real work does not.
86
+ */
87
+ export const MAX_PROJECTS_PER_WORKSPACE = 500;
88
+ export const MAX_TASKS_PER_PROJECT = 20_000;
89
+ export const MAX_GOALS_PER_PROJECT = 1_000;
90
+ export const MAX_DECISIONS_PER_PROJECT = 20_000;
91
+ export const MAX_DOCUMENTS_PER_PROJECT = 5_000;
92
+ export const MAX_RUNS_PER_TASK = 500;
93
+ /** How many streams of the live feed one person holds at once, across their tabs, and how many one process of the console holds for everyone. */
94
+ export const MAX_STREAMS_PER_PERSON = 20;
95
+ export const MAX_STREAMS = 1_000;