@ycodium-ai/plugin-team 0.0.0-stage → 0.2.3054

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.
@@ -0,0 +1,147 @@
1
+ {
2
+ "tab": { "title": "Teams (preview)" },
3
+ "board": {
4
+ "title": "Project board",
5
+ "newItem": "New work item",
6
+ "itemTitle": "Title",
7
+ "description": "Description (optional)",
8
+ "assignee": "Assign to (optional)",
9
+ "create": "Create work item",
10
+ "retryCreate": "Retry creation",
11
+ "saving": "Saving…",
12
+ "moveTo": "Move to…",
13
+ "moveItem": "Move work item #{{number}}",
14
+ "moveItemTo": "Move work item #{{number}} to {{state}}",
15
+ "assignTo": "Assign to…",
16
+ "assignItem": "Assign work item #{{number}}",
17
+ "assignItemTo": "Assign work item #{{number}} to {{name}}",
18
+ "unassign": "Unassign",
19
+ "unassignItem": "Unassign work item #{{number}}",
20
+ "dragItem": "Drag work item #{{number}} to another state",
21
+ "untitled": "(Untitled)",
22
+ "other": "Other",
23
+ "unassigned": "Unassigned",
24
+ "blockedBy": "Blocked by {{count}} work items",
25
+ "goalRequired": "Start a goal above before assigning work to members.",
26
+ "loading": "Loading board…",
27
+ "loadFailed": "The board could not be loaded. Try reloading it.",
28
+ "watchFailed": "Live board updates are unavailable. Reload to reconnect.",
29
+ "createFailed": "The work item could not be created. Retry with the same request.",
30
+ "updateFailed": "The work item could not be changed. Reloading the board.",
31
+ "staleVersion": "The work item was changed elsewhere. Your change was rolled back and the board is being reloaded.",
32
+ "notAMember": "This conversation is not a member of the current goal. Choose a current member.",
33
+ "invalidTitle": "Enter a title for the work item.",
34
+ "reload": "Reload board",
35
+ "truncated": "Showing the first 500 work items in this project."
36
+ },
37
+ "detail": {
38
+ "title": "Work item details",
39
+ "open": "Details",
40
+ "openItem": "Open details for work item #{{number}}",
41
+ "close": "Close",
42
+ "via": "via {{source}}",
43
+ "description": "Description",
44
+ "noDescription": "(No description)",
45
+ "blockedBy": "Blocked by these work items",
46
+ "blocking": "Blocking these work items",
47
+ "dependency": "#{{number}} {{title}} · {{state}}",
48
+ "comments": "Comments",
49
+ "noComments": "No comments yet.",
50
+ "deletedComment": "(This comment has been deleted)",
51
+ "commentsTruncated": "Showing the latest 200 comments, including replies.",
52
+ "reply": "Reply",
53
+ "replyTo": "Reply to comment {{number}}",
54
+ "newComment": "Post a comment",
55
+ "send": "Send",
56
+ "sendComment": "Send comment",
57
+ "sendReply": "Send reply to comment {{number}}",
58
+ "sending": "Sending…",
59
+ "retry": "Retry",
60
+ "retryComment": "Retry comment",
61
+ "retryReply": "Retry reply to comment {{number}}",
62
+ "invalidBody": "The comment must be 1–8000 characters after trimming spaces.",
63
+ "commentFailed": "The comment couldn't be posted. Try again.",
64
+ "loading": "Loading work item details…",
65
+ "loadFailed": "The work item details could not be loaded. Try reloading them.",
66
+ "reload": "Reload details",
67
+ "notFound": "This work item was not found in this project.",
68
+ "actor": {
69
+ "human": "A person",
70
+ "otherAgent": "Other agent",
71
+ "team": "Team plugin",
72
+ "plugin": "Plugin {{pluginId}}",
73
+ "localCli": "Local command line",
74
+ "system": "System"
75
+ },
76
+ "history": {
77
+ "title": "Activity history",
78
+ "empty": "No activity yet.",
79
+ "truncated": "Showing the latest 200 activities.",
80
+ "deletedState": "(Deleted state)",
81
+ "created": "{{author}} created this work item",
82
+ "createdAssigned": "{{author}} created this work item and assigned it to {{names}}",
83
+ "stateChanged": "{{author}} changed the state from {{old}} to {{new}}",
84
+ "assigned": "{{author}} assigned this work item to {{names}}",
85
+ "unassigned": "{{author}} removed the assignment",
86
+ "titleChanged": "{{author}} changed the title",
87
+ "descriptionChanged": "{{author}} changed the description",
88
+ "claimed": "{{author}} claimed this work item",
89
+ "commented": "{{author}} posted a comment",
90
+ "relationAdded": "{{author}} added a dependency",
91
+ "relationRemoved": "{{author}} removed a dependency"
92
+ }
93
+ },
94
+ "goal": {
95
+ "current": "Current goal: {{goal}}",
96
+ "lead": "Lead: {{name}}",
97
+ "unknownLead": "Member no longer in the roster",
98
+ "openLead": "Open lead conversation",
99
+ "label": "Goal for the lead",
100
+ "rosterRequired": "Save the roster and choose a lead first.",
101
+ "start": "Start",
102
+ "startNew": "Start a new goal",
103
+ "starting": "Starting…",
104
+ "retry": "Retry",
105
+ "reload": "Reload goal",
106
+ "loading": "Loading goal…",
107
+ "confirmTitle": "Start a new goal?",
108
+ "confirmDescription": "Conversations for the previous goal will keep running and remain in the conversation list.",
109
+ "confirmStart": "Start new goal",
110
+ "cancel": "Cancel",
111
+ "noRoster": "No saved roster was found. Save the roster and choose a lead first.",
112
+ "invalidPayload": "Check the goal fields and try again.",
113
+ "invalidGoal": "The goal must be 1–4000 characters after trimming spaces.",
114
+ "invalidRequestId": "The request ID must be 1–64 letters, numbers, underscores, or hyphens.",
115
+ "loadFailed": "The current goal could not be loaded. Try reloading it.",
116
+ "startFailed": "The goal could not be fully started. Retry to finish creating the conversations and sending the lead's brief."
117
+ },
118
+ "roster": {
119
+ "title": "Roster",
120
+ "members": "Members",
121
+ "memberName": "Member {{number}} name",
122
+ "lead": "Lead",
123
+ "leadFor": "Make member {{number}} the lead",
124
+ "remove": "Remove member {{number}}",
125
+ "add": "Add member",
126
+ "save": "Save",
127
+ "saving": "Saving…",
128
+ "saved": "Roster saved",
129
+ "loading": "Loading roster…",
130
+ "retry": "Reload roster",
131
+ "emptyTitle": "No team roster yet",
132
+ "emptyDescription": "Add members and choose a lead for this project.",
133
+ "toolsHint": "Keep the board and project memory on for this project so members can pick up work and record what they learn.",
134
+ "toolkitsOff": "The lead needs the board and project memory. Turn on both switches above.",
135
+ "toolkitsOn": "The board and project memory are on for this project.",
136
+ "staleRevision": "The roster was changed elsewhere and has been reloaded.",
137
+ "loadFailed": "The roster could not be loaded. Try reloading it.",
138
+ "saveFailed": "The roster could not be saved. Try again.",
139
+ "invalidPayload": "Check the roster fields and try again.",
140
+ "memberCount": "A team needs between 1 and 8 members.",
141
+ "invalidMemberId": "Member IDs must be 1–64 letters, numbers, underscores, or hyphens.",
142
+ "invalidName": "Member names must be 1–40 characters after trimming spaces.",
143
+ "duplicateMemberId": "Each member needs a different ID.",
144
+ "duplicateName": "Member names must be different, ignoring capitalization and surrounding spaces.",
145
+ "leadNotMember": "Choose a lead from the members."
146
+ }
147
+ }
@@ -0,0 +1,147 @@
1
+ {
2
+ "tab": { "title": "团队(预览)" },
3
+ "board": {
4
+ "title": "项目看板",
5
+ "newItem": "新建工作项",
6
+ "itemTitle": "标题",
7
+ "description": "说明(可选)",
8
+ "assignee": "指派给(可选)",
9
+ "create": "创建工作项",
10
+ "retryCreate": "重试创建",
11
+ "saving": "保存中…",
12
+ "moveTo": "移到…",
13
+ "moveItem": "移动工作项 #{{number}}",
14
+ "moveItemTo": "将工作项 #{{number}} 移到 {{state}}",
15
+ "assignTo": "指派给…",
16
+ "assignItem": "指派工作项 #{{number}}",
17
+ "assignItemTo": "将工作项 #{{number}} 指派给 {{name}}",
18
+ "unassign": "取消指派",
19
+ "unassignItem": "取消工作项 #{{number}} 的指派",
20
+ "dragItem": "将工作项 #{{number}} 拖到其他状态",
21
+ "untitled": "(无标题)",
22
+ "other": "其他",
23
+ "unassigned": "未指派",
24
+ "blockedBy": "被 {{count}} 件挡着",
25
+ "goalRequired": "先在上面开始一个目标,成员才能被指派",
26
+ "loading": "正在载入看板…",
27
+ "loadFailed": "未能载入看板,请重新载入。",
28
+ "watchFailed": "看板实时更新暂不可用,请重新载入以恢复订阅。",
29
+ "createFailed": "未能创建工作项,请用同一个请求重试。",
30
+ "updateFailed": "未能修改工作项,正在重新读取看板。",
31
+ "staleVersion": "工作项已被别处改过,本次修改已退回,正在重新载入看板。",
32
+ "notAMember": "这个会话不是当前目标的成员,请选择当前成员。",
33
+ "invalidTitle": "请填写工作项标题。",
34
+ "reload": "重新载入看板",
35
+ "truncated": "当前只显示这个项目的前 500 件工作项。"
36
+ },
37
+ "detail": {
38
+ "title": "工作项详情",
39
+ "open": "详情",
40
+ "openItem": "打开工作项 #{{number}} 的详情",
41
+ "close": "关闭",
42
+ "via": "经{{source}}",
43
+ "description": "说明",
44
+ "noDescription": "(没有说明)",
45
+ "blockedBy": "被这些挡着",
46
+ "blocking": "挡着这些",
47
+ "dependency": "#{{number}} {{title}} · {{state}}",
48
+ "comments": "评论",
49
+ "noComments": "还没有评论",
50
+ "deletedComment": "(这条评论已删除)",
51
+ "commentsTruncated": "只显示最近 200 条评论(含回复)。",
52
+ "reply": "回复",
53
+ "replyTo": "回复第 {{number}} 条评论",
54
+ "newComment": "发表评论",
55
+ "send": "发送",
56
+ "sendComment": "发送评论",
57
+ "sendReply": "发送第 {{number}} 条评论的回复",
58
+ "sending": "发送中…",
59
+ "retry": "重试",
60
+ "retryComment": "重试评论",
61
+ "retryReply": "重试第 {{number}} 条评论的回复",
62
+ "invalidBody": "评论去掉首尾空白后需为 1 到 8000 个字符。",
63
+ "commentFailed": "评论没发出去,可以重试。",
64
+ "loading": "正在载入工作项详情…",
65
+ "loadFailed": "未能载入工作项详情,请重新载入。",
66
+ "reload": "重新载入详情",
67
+ "notFound": "这个项目中找不到这件工作项。",
68
+ "actor": {
69
+ "human": "人",
70
+ "otherAgent": "其他 agent",
71
+ "team": "团队插件",
72
+ "plugin": "插件 {{pluginId}}",
73
+ "localCli": "本机命令行",
74
+ "system": "系统"
75
+ },
76
+ "history": {
77
+ "title": "活动历史",
78
+ "empty": "还没有活动历史",
79
+ "truncated": "只显示最近 200 条活动。",
80
+ "deletedState": "(已删除的状态)",
81
+ "created": "{{author}} 建了这件活",
82
+ "createdAssigned": "{{author}} 建了这件活,指派给 {{names}}",
83
+ "stateChanged": "{{author}} 把状态从 {{old}} 改成 {{new}}",
84
+ "assigned": "{{author}} 指派给 {{names}}",
85
+ "unassigned": "{{author}} 取消了指派",
86
+ "titleChanged": "{{author}} 改了标题",
87
+ "descriptionChanged": "{{author}} 改了说明",
88
+ "claimed": "{{author}} 领了这件活",
89
+ "commented": "{{author}} 发了一条评论",
90
+ "relationAdded": "{{author}} 加了一条依赖",
91
+ "relationRemoved": "{{author}} 去掉了一条依赖"
92
+ }
93
+ },
94
+ "goal": {
95
+ "current": "当前目标:{{goal}}",
96
+ "lead": "负责人:{{name}}",
97
+ "unknownLead": "成员已不在名单中",
98
+ "openLead": "打开负责人会话",
99
+ "label": "对负责人说一个目标",
100
+ "rosterRequired": "先保存名单并选一名负责人",
101
+ "start": "开始",
102
+ "startNew": "开始新目标",
103
+ "starting": "正在开始…",
104
+ "retry": "重试",
105
+ "reload": "重新载入目标",
106
+ "loading": "正在载入目标…",
107
+ "confirmTitle": "确定要开始新目标吗?",
108
+ "confirmDescription": "旧目标的会话不会停,会留在会话列表里。",
109
+ "confirmStart": "开始新目标",
110
+ "cancel": "取消",
111
+ "noRoster": "没有已保存的名单,请先保存名单并选一名负责人。",
112
+ "invalidPayload": "请检查目标字段后重试。",
113
+ "invalidGoal": "目标去掉首尾空白后需为 1 到 4000 个字符。",
114
+ "invalidRequestId": "请求 ID 需为 1 到 64 个字母、数字、下划线或连字符。",
115
+ "loadFailed": "未能载入当前目标,请重新载入。",
116
+ "startFailed": "目标未能全部开始,请重试以补齐会话并给负责人发话。"
117
+ },
118
+ "roster": {
119
+ "title": "名单",
120
+ "members": "成员",
121
+ "memberName": "成员 {{number}} 的名字",
122
+ "lead": "负责人",
123
+ "leadFor": "将成员 {{number}} 设为负责人",
124
+ "remove": "删除成员 {{number}}",
125
+ "add": "添加成员",
126
+ "save": "保存",
127
+ "saving": "保存中…",
128
+ "saved": "名单已保存",
129
+ "loading": "正在载入名单…",
130
+ "retry": "重新载入名单",
131
+ "emptyTitle": "还没有团队名单",
132
+ "emptyDescription": "为这个项目添加成员并选择负责人。",
133
+ "toolsHint": "这个项目要开着看板与项目记忆,成员才能领活与记经验。",
134
+ "toolkitsOff": "负责人要用看板和项目记忆,先打开上面两只开关。",
135
+ "toolkitsOn": "已为这个项目打开看板与项目记忆。",
136
+ "staleRevision": "名单已被别处改过,已重新载入",
137
+ "loadFailed": "未能载入名单,请重新载入。",
138
+ "saveFailed": "未能保存名单,请重试。",
139
+ "invalidPayload": "请检查名单字段后重试。",
140
+ "memberCount": "团队需要 1 到 8 名成员。",
141
+ "invalidMemberId": "成员 ID 需为 1 到 64 个字母、数字、下划线或连字符。",
142
+ "invalidName": "成员名字去掉首尾空白后需为 1 到 40 个字符。",
143
+ "duplicateMemberId": "每名成员的 ID 必须不同。",
144
+ "duplicateName": "成员名字不能重复,大小写不同或首尾有空白也算重复。",
145
+ "leadNotMember": "请从名单中选择一名负责人。"
146
+ }
147
+ }
package/package.json CHANGED
@@ -1,6 +1,83 @@
1
1
  {
2
2
  "name": "@ycodium-ai/plugin-team",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.2.3054",
4
+ "description": "A project team roster with members, a lead, and goals.",
5
+ "keywords": [
6
+ "teams",
7
+ "ycodium",
8
+ "ycodium-plugin"
9
+ ],
10
+ "license": "UNLICENSED",
11
+ "files": [
12
+ "dist",
13
+ "assets",
14
+ "locales",
15
+ "README.md"
16
+ ],
17
+ "type": "module",
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "devDependencies": {
22
+ "@dnd-kit/core": "^6.3.1",
23
+ "@dnd-kit/utilities": "^3.2.2",
24
+ "@effect/vitest": "4.0.0-beta.103",
25
+ "@tailwindcss/node": "^4.3.0",
26
+ "@tailwindcss/oxide": "^4.3.0",
27
+ "@types/react": "~19.2.14",
28
+ "@types/react-dom": "^19.2.3",
29
+ "effect": "4.0.0-beta.103",
30
+ "esbuild": "0.28.1",
31
+ "lucide-react": "^0.564.0",
32
+ "react": "19.2.6",
33
+ "react-dom": "19.2.6",
34
+ "tailwindcss": "^4.0.0",
35
+ "typescript": "~6.0.3",
36
+ "vite-plus": "0.2.2",
37
+ "@ycodium-ai/plugin-api": "0.2.3054"
38
+ },
39
+ "ycodium": {
40
+ "plugin": "./dist/index.js",
41
+ "displayName": "Teams (preview)",
42
+ "icon": "users",
43
+ "permissions": [
44
+ {
45
+ "kind": "commands.dispatch",
46
+ "commands": [
47
+ "thread.create",
48
+ "thread.turn.start",
49
+ "work.item.create",
50
+ "work.item.update",
51
+ "work.comment.post"
52
+ ]
53
+ },
54
+ {
55
+ "kind": "work.read"
56
+ },
57
+ {
58
+ "kind": "work.writeAsPerson"
59
+ },
60
+ {
61
+ "kind": "communication.read"
62
+ },
63
+ {
64
+ "kind": "memory.read"
65
+ },
66
+ {
67
+ "kind": "ui.seats",
68
+ "seats": [
69
+ "project.workbench.tab"
70
+ ]
71
+ }
72
+ ],
73
+ "ui": {
74
+ "assets": "./assets",
75
+ "entry": "ui.js"
76
+ }
77
+ },
78
+ "scripts": {
79
+ "build": "node build.mjs",
80
+ "typecheck": "tsgo --noEmit && tsgo --noEmit -p tsconfig.ui.json",
81
+ "test": "vp test run"
82
+ }
6
83
  }