@wowyuarm/dsh-agent-team 0.1.6 → 0.1.8
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/README.md +11 -5
- package/README.zh.md +11 -5
- package/package.json +44 -42
- package/packages/agent-team/README.md +2 -0
- package/packages/agent-team/README.zh.md +2 -0
- package/packages/agent-team/core-skills/member-skill-manager/SKILL.md +2 -0
- package/packages/agent-team/lib/index.js +140 -204
- package/packages/agent-team/lib/ledger.js +436 -25
- package/packages/agent-team/lib/member-context.js +6 -2
- package/packages/agent-team/lib/member-runtime.js +229 -0
- package/packages/agent-team/lib/preset-roster.js +1 -0
- package/packages/agent-team/lib/progress-nudge.js +320 -0
- package/packages/agent-team/lib/spec.js +30 -1
- package/packages/agent-team/lib/typert.host.js +250 -70
- package/packages/agent-team/lib/typert.remote-client.d.ts +5 -1
- package/packages/agent-team/lib/typert.remote-client.d.ts.map +1 -1
- package/packages/agent-team/lib/typert.remote-client.js +168 -38
- package/packages/agent-team/lib/types/entities.js +1 -0
- package/packages/agent-team/lib/types/index.d.ts +28 -44
- package/packages/agent-team/lib/types/index.d.ts.map +1 -1
- package/packages/agent-team/lib/types/ledger.d.ts +60 -2
- package/packages/agent-team/lib/types/ledger.d.ts.map +1 -1
- package/packages/agent-team/lib/types/member-context.d.ts.map +1 -1
- package/packages/agent-team/lib/types/member-runtime.d.ts +108 -0
- package/packages/agent-team/lib/types/member-runtime.d.ts.map +1 -0
- package/packages/agent-team/lib/types/operations.js +1 -0
- package/packages/agent-team/lib/types/preset-roster.d.ts.map +1 -1
- package/packages/agent-team/lib/types/progress-nudge.d.ts +136 -0
- package/packages/agent-team/lib/types/progress-nudge.d.ts.map +1 -0
- package/packages/agent-team/lib/types/requests-results.js +1 -0
- package/packages/agent-team/lib/types/spec.d.ts.map +1 -1
- package/packages/agent-team/lib/types/types/entities.d.ts +357 -0
- package/packages/agent-team/lib/types/types/entities.d.ts.map +1 -0
- package/packages/agent-team/lib/types/types/operations.d.ts +303 -0
- package/packages/agent-team/lib/types/types/operations.d.ts.map +1 -0
- package/packages/agent-team/lib/types/types/requests-results.d.ts +529 -0
- package/packages/agent-team/lib/types/types/requests-results.d.ts.map +1 -0
- package/packages/agent-team/lib/types/types.d.ts +10 -1070
- package/packages/agent-team/lib/types/types.d.ts.map +1 -1
- package/packages/agent-team/preset/team-member/agent.cordis.yml +6 -4
- package/packages/client-agent-team/README.md +3 -1
- package/packages/client-agent-team/README.zh.md +3 -1
- package/packages/client-agent-team/lib/client.js +773 -733
- package/packages/client-agent-team/lib/client.js.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.d.ts +3 -2
- package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.js +30 -7
- package/packages/client-agent-team/lib/types/client/TeamChannelPage.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/TeamChannelPage.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamChannelPage.js +5 -9
- package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.d.ts +2 -1
- package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.js +31 -5
- package/packages/client-agent-team/lib/types/client/TeamComposer.d.ts +3 -1
- package/packages/client-agent-team/lib/types/client/TeamComposer.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamComposer.js +39 -28
- package/packages/client-agent-team/lib/types/client/TeamConversation.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/TeamConversation.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamConversation.js +2 -2
- package/packages/client-agent-team/lib/types/client/TeamMemberAvatar.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamMemberAvatar.js +3 -2
- package/packages/client-agent-team/lib/types/client/TeamMessage.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamMessage.js +15 -3
- package/packages/client-agent-team/lib/types/client/TeamPresenceDot.d.ts +2 -2
- package/packages/client-agent-team/lib/types/client/TeamPresenceDot.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamPresenceDot.js +4 -6
- package/packages/client-agent-team/lib/types/client/TeamStateDot.d.ts +14 -0
- package/packages/client-agent-team/lib/types/client/TeamStateDot.d.ts.map +1 -0
- package/packages/client-agent-team/lib/types/client/TeamStateDot.js +15 -0
- package/packages/client-agent-team/lib/types/client/TeamThreadPage.d.ts +2 -1
- package/packages/client-agent-team/lib/types/client/TeamThreadPage.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamThreadPage.js +41 -16
- package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.js +2 -2
- package/packages/client-agent-team/lib/types/client/TeamWorkspaceRow.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/TeamWorkspaceRow.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/index.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/index.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/index.js +9 -77
- package/packages/client-agent-team/lib/types/client/locales.d.ts +26 -0
- package/packages/client-agent-team/lib/types/client/locales.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/locales.js +26 -0
- package/packages/client-agent-team/lib/types/client/navigation.d.ts +2 -1
- package/packages/client-agent-team/lib/types/client/navigation.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/sidebar-drag.d.ts +1 -2
- package/packages/client-agent-team/lib/types/client/sidebar-drag.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/sidebar-order.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/sidebar-order.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/sidebar-sections.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/sidebar-sections.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/slots.d.ts +5 -1
- package/packages/client-agent-team/lib/types/client/slots.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/task-refs.d.ts +7 -1
- package/packages/client-agent-team/lib/types/client/task-refs.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/task-refs.js +25 -3
- package/packages/client-agent-team/lib/types/client/team-formatters.d.ts +11 -10
- package/packages/client-agent-team/lib/types/client/team-formatters.d.ts.map +1 -1
- package/packages/client-agent-team/lib/types/client/team-formatters.js +14 -11
- package/packages/client-agent-team/lib/types/client/team-membership.d.ts +1 -1
- package/packages/client-agent-team/lib/types/client/team-membership.d.ts.map +1 -1
- package/packages/tool-agent-team/lib/index.js +9 -9
- package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.d.ts +0 -17
- package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.d.ts.map +0 -1
- package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.js +0 -135
- package/packages/client-agent-team/lib/types/client/member-session-input.d.ts +0 -22
- package/packages/client-agent-team/lib/types/client/member-session-input.d.ts.map +0 -1
- package/packages/client-agent-team/lib/types/client/member-session-input.js +0 -98
|
@@ -7,7 +7,7 @@ window.__ModuleLoader__.load({
|
|
|
7
7
|
let react = require("react");
|
|
8
8
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
-
//#region
|
|
10
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js
|
|
11
11
|
var _a$1;
|
|
12
12
|
function $constructor(name, initializer, params) {
|
|
13
13
|
function init(inst, def) {
|
|
@@ -66,7 +66,7 @@ window.__ModuleLoader__.load({
|
|
|
66
66
|
return globalConfig;
|
|
67
67
|
}
|
|
68
68
|
//#endregion
|
|
69
|
-
//#region
|
|
69
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js
|
|
70
70
|
function getEnumValues(entries) {
|
|
71
71
|
const numericValues = Object.values(entries).filter((v) => typeof v === "number");
|
|
72
72
|
return Object.entries(entries).filter(([k, _]) => numericValues.indexOf(+k) === -1).map(([_, v]) => v);
|
|
@@ -378,7 +378,7 @@ window.__ModuleLoader__.load({
|
|
|
378
378
|
return { ...iss };
|
|
379
379
|
}
|
|
380
380
|
//#endregion
|
|
381
|
-
//#region
|
|
381
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js
|
|
382
382
|
const initializer$1 = (inst, def) => {
|
|
383
383
|
inst.name = "$ZodError";
|
|
384
384
|
Object.defineProperty(inst, "_zod", {
|
|
@@ -438,7 +438,7 @@ window.__ModuleLoader__.load({
|
|
|
438
438
|
return fieldErrors;
|
|
439
439
|
}
|
|
440
440
|
//#endregion
|
|
441
|
-
//#region
|
|
441
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js
|
|
442
442
|
const _parse = (_Err) => (schema, value, _ctx, _params) => {
|
|
443
443
|
const ctx = _ctx ? {
|
|
444
444
|
..._ctx,
|
|
@@ -552,7 +552,7 @@ window.__ModuleLoader__.load({
|
|
|
552
552
|
return _safeParseAsync(_Err)(schema, value, _ctx);
|
|
553
553
|
};
|
|
554
554
|
//#endregion
|
|
555
|
-
//#region
|
|
555
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js
|
|
556
556
|
/**
|
|
557
557
|
* @deprecated CUID v1 is deprecated by its authors due to information leakage
|
|
558
558
|
* (timestamps embedded in the id). Use {@link cuid2} instead.
|
|
@@ -617,7 +617,7 @@ window.__ModuleLoader__.load({
|
|
|
617
617
|
const lowercase = /^[^A-Z]*$/;
|
|
618
618
|
const uppercase = /^[^a-z]*$/;
|
|
619
619
|
//#endregion
|
|
620
|
-
//#region
|
|
620
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js
|
|
621
621
|
const $ZodCheck = /*@__PURE__*/ $constructor("$ZodCheck", (inst, def) => {
|
|
622
622
|
var _a;
|
|
623
623
|
inst._zod ?? (inst._zod = {});
|
|
@@ -975,7 +975,7 @@ window.__ModuleLoader__.load({
|
|
|
975
975
|
};
|
|
976
976
|
});
|
|
977
977
|
//#endregion
|
|
978
|
-
//#region
|
|
978
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js
|
|
979
979
|
var Doc = class {
|
|
980
980
|
constructor(args = []) {
|
|
981
981
|
this.content = [];
|
|
@@ -1006,14 +1006,14 @@ window.__ModuleLoader__.load({
|
|
|
1006
1006
|
}
|
|
1007
1007
|
};
|
|
1008
1008
|
//#endregion
|
|
1009
|
-
//#region
|
|
1009
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js
|
|
1010
1010
|
const version$1 = {
|
|
1011
1011
|
major: 4,
|
|
1012
1012
|
minor: 4,
|
|
1013
1013
|
patch: 3
|
|
1014
1014
|
};
|
|
1015
1015
|
//#endregion
|
|
1016
|
-
//#region
|
|
1016
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js
|
|
1017
1017
|
const $ZodType = /*@__PURE__*/ $constructor("$ZodType", (inst, def) => {
|
|
1018
1018
|
var _a;
|
|
1019
1019
|
inst ?? (inst = {});
|
|
@@ -2150,7 +2150,7 @@ window.__ModuleLoader__.load({
|
|
|
2150
2150
|
}
|
|
2151
2151
|
}
|
|
2152
2152
|
//#endregion
|
|
2153
|
-
//#region
|
|
2153
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.js
|
|
2154
2154
|
var _a;
|
|
2155
2155
|
var $ZodRegistry = class {
|
|
2156
2156
|
constructor() {
|
|
@@ -2197,7 +2197,7 @@ window.__ModuleLoader__.load({
|
|
|
2197
2197
|
(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
|
|
2198
2198
|
const globalRegistry = globalThis.__zod_globalRegistry;
|
|
2199
2199
|
//#endregion
|
|
2200
|
-
//#region
|
|
2200
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js
|
|
2201
2201
|
// @__NO_SIDE_EFFECTS__
|
|
2202
2202
|
function _string(Class, params) {
|
|
2203
2203
|
return new Class({
|
|
@@ -2709,7 +2709,7 @@ window.__ModuleLoader__.load({
|
|
|
2709
2709
|
return ch;
|
|
2710
2710
|
}
|
|
2711
2711
|
//#endregion
|
|
2712
|
-
//#region
|
|
2712
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js
|
|
2713
2713
|
function initializeContext(params) {
|
|
2714
2714
|
let target = params?.target ?? "draft-2020-12";
|
|
2715
2715
|
if (target === "draft-4") target = "draft-04";
|
|
@@ -3002,7 +3002,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
3002
3002
|
return finalize(ctx, schema);
|
|
3003
3003
|
};
|
|
3004
3004
|
//#endregion
|
|
3005
|
-
//#region
|
|
3005
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js
|
|
3006
3006
|
const formatMap = {
|
|
3007
3007
|
guid: "uuid",
|
|
3008
3008
|
url: "uri",
|
|
@@ -3234,7 +3234,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
3234
3234
|
seen.ref = def.innerType;
|
|
3235
3235
|
};
|
|
3236
3236
|
//#endregion
|
|
3237
|
-
//#region
|
|
3237
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js
|
|
3238
3238
|
const ZodISODateTime = /*@__PURE__*/ $constructor("ZodISODateTime", (inst, def) => {
|
|
3239
3239
|
$ZodISODateTime.init(inst, def);
|
|
3240
3240
|
ZodStringFormat.init(inst, def);
|
|
@@ -3264,7 +3264,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
3264
3264
|
return /* @__PURE__ */ _isoDuration(ZodISODuration, params);
|
|
3265
3265
|
}
|
|
3266
3266
|
//#endregion
|
|
3267
|
-
//#region
|
|
3267
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js
|
|
3268
3268
|
const initializer = (inst, issues) => {
|
|
3269
3269
|
$ZodError.init(inst, issues);
|
|
3270
3270
|
inst.name = "ZodError";
|
|
@@ -3286,7 +3286,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
3286
3286
|
};
|
|
3287
3287
|
const ZodRealError = /*@__PURE__*/ $constructor("ZodError", initializer, { Parent: Error });
|
|
3288
3288
|
//#endregion
|
|
3289
|
-
//#region
|
|
3289
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js
|
|
3290
3290
|
const parse = /* @__PURE__ */ _parse(ZodRealError);
|
|
3291
3291
|
const parseAsync = /* @__PURE__ */ _parseAsync(ZodRealError);
|
|
3292
3292
|
const safeParse = /* @__PURE__ */ _safeParse(ZodRealError);
|
|
@@ -3300,7 +3300,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
3300
3300
|
const safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
|
|
3301
3301
|
const safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
|
|
3302
3302
|
//#endregion
|
|
3303
|
-
//#region
|
|
3303
|
+
//#region ../../../dsh-agent-team/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js
|
|
3304
3304
|
const _installedGroups = /* @__PURE__ */ new WeakMap();
|
|
3305
3305
|
function _installLazyMethods(inst, group, methods) {
|
|
3306
3306
|
const proto = Object.getPrototypeOf(inst);
|
|
@@ -4125,12 +4125,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4125
4125
|
"state": union([
|
|
4126
4126
|
literal("enabled"),
|
|
4127
4127
|
literal("suspended"),
|
|
4128
|
-
literal("inactive")
|
|
4128
|
+
literal("inactive"),
|
|
4129
|
+
literal("archived")
|
|
4129
4130
|
]).readonly()
|
|
4130
4131
|
}).readonly(),
|
|
4131
4132
|
"availability": union([
|
|
4132
4133
|
literal("suspended"),
|
|
4133
4134
|
literal("inactive"),
|
|
4135
|
+
literal("archived"),
|
|
4134
4136
|
literal("active"),
|
|
4135
4137
|
literal("unavailable")
|
|
4136
4138
|
]).readonly(),
|
|
@@ -4147,6 +4149,91 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4147
4149
|
}))]).readonly().optional()
|
|
4148
4150
|
}).readonly()
|
|
4149
4151
|
});
|
|
4152
|
+
const _wowyuarm_dsh_agent_team_agentTeam_archiveChannel_parameter_0$schema = object({
|
|
4153
|
+
"requestId": intersection(string(), unknown()).readonly(),
|
|
4154
|
+
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
4155
|
+
"channelRef": intersection(string(), unknown()).readonly()
|
|
4156
|
+
});
|
|
4157
|
+
const _wowyuarm_dsh_agent_team_agentTeam_archiveChannel_result$schema = object({
|
|
4158
|
+
"receipt": object({
|
|
4159
|
+
"operationId": intersection(string(), unknown()).readonly(),
|
|
4160
|
+
"requestId": intersection(string(), unknown()).readonly(),
|
|
4161
|
+
"sequence": number().readonly()
|
|
4162
|
+
}).readonly(),
|
|
4163
|
+
"channel": object({
|
|
4164
|
+
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4165
|
+
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
4166
|
+
"name": string().readonly(),
|
|
4167
|
+
"description": string().readonly(),
|
|
4168
|
+
"createdAtSequence": number().readonly(),
|
|
4169
|
+
"state": union([literal("archived"), literal("active")]).readonly()
|
|
4170
|
+
}).readonly(),
|
|
4171
|
+
"releasedClaims": array(object({
|
|
4172
|
+
"claimRef": intersection(string(), unknown()).readonly(),
|
|
4173
|
+
"taskRef": intersection(string(), unknown()).readonly(),
|
|
4174
|
+
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4175
|
+
"owner": intersection(string(), unknown()).readonly(),
|
|
4176
|
+
"direction": string().readonly(),
|
|
4177
|
+
"normalizedDirection": string().readonly(),
|
|
4178
|
+
"state": union([
|
|
4179
|
+
literal("active"),
|
|
4180
|
+
literal("done"),
|
|
4181
|
+
literal("released")
|
|
4182
|
+
]).readonly()
|
|
4183
|
+
})).readonly()
|
|
4184
|
+
});
|
|
4185
|
+
const _wowyuarm_dsh_agent_team_agentTeam_archiveMember_parameter_0$schema = object({
|
|
4186
|
+
"requestId": intersection(string(), unknown()).readonly(),
|
|
4187
|
+
"memberId": intersection(string(), unknown()).readonly()
|
|
4188
|
+
});
|
|
4189
|
+
const _wowyuarm_dsh_agent_team_agentTeam_archiveMember_result$schema = object({
|
|
4190
|
+
"receipt": object({
|
|
4191
|
+
"operationId": intersection(string(), unknown()).readonly(),
|
|
4192
|
+
"requestId": intersection(string(), unknown()).readonly(),
|
|
4193
|
+
"sequence": number().readonly()
|
|
4194
|
+
}).readonly(),
|
|
4195
|
+
"member": object({
|
|
4196
|
+
"memberId": intersection(string(), unknown()).readonly(),
|
|
4197
|
+
"sessionId": intersection(string(), unknown()).readonly(),
|
|
4198
|
+
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
4199
|
+
"handle": string().readonly(),
|
|
4200
|
+
"description": string().readonly(),
|
|
4201
|
+
"presetId": string().readonly(),
|
|
4202
|
+
"model": union([_undefined(), object({
|
|
4203
|
+
"provider": string().readonly(),
|
|
4204
|
+
"model": string().readonly(),
|
|
4205
|
+
"reasoningEffort": intersection(string(), unknown()).readonly().optional()
|
|
4206
|
+
})]).readonly().optional(),
|
|
4207
|
+
"capabilities": union([_undefined(), object({
|
|
4208
|
+
"tools": union([_undefined(), object({ "allow": array(string()).readonly().optional() })]).readonly().optional(),
|
|
4209
|
+
"skills": union([_undefined(), object({ "allow": array(string()).readonly().optional() })]).readonly().optional()
|
|
4210
|
+
})]).readonly().optional(),
|
|
4211
|
+
"privateMemoryPath": string().readonly(),
|
|
4212
|
+
"state": union([
|
|
4213
|
+
literal("enabled"),
|
|
4214
|
+
literal("suspended"),
|
|
4215
|
+
literal("inactive"),
|
|
4216
|
+
literal("archived")
|
|
4217
|
+
]).readonly()
|
|
4218
|
+
}).readonly(),
|
|
4219
|
+
"releasedClaims": array(object({
|
|
4220
|
+
"claimRef": intersection(string(), unknown()).readonly(),
|
|
4221
|
+
"taskRef": intersection(string(), unknown()).readonly(),
|
|
4222
|
+
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4223
|
+
"owner": intersection(string(), unknown()).readonly(),
|
|
4224
|
+
"direction": string().readonly(),
|
|
4225
|
+
"normalizedDirection": string().readonly(),
|
|
4226
|
+
"state": union([
|
|
4227
|
+
literal("active"),
|
|
4228
|
+
literal("done"),
|
|
4229
|
+
literal("released")
|
|
4230
|
+
]).readonly()
|
|
4231
|
+
})).readonly(),
|
|
4232
|
+
"removedAttention": array(object({
|
|
4233
|
+
"memberId": intersection(string(), unknown()).readonly(),
|
|
4234
|
+
"threadRef": intersection(string(), unknown()).readonly()
|
|
4235
|
+
})).readonly()
|
|
4236
|
+
});
|
|
4150
4237
|
const _wowyuarm_dsh_agent_team_agentTeam_changeAttention_parameter_0$schema = object({
|
|
4151
4238
|
"requestId": intersection(string(), unknown()).readonly(),
|
|
4152
4239
|
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
@@ -4165,10 +4252,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4165
4252
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4166
4253
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4167
4254
|
"status": union([
|
|
4255
|
+
literal("done"),
|
|
4168
4256
|
literal("todo"),
|
|
4169
4257
|
literal("in_progress"),
|
|
4170
4258
|
literal("in_review"),
|
|
4171
|
-
literal("done"),
|
|
4172
4259
|
literal("closed")
|
|
4173
4260
|
]).readonly(),
|
|
4174
4261
|
"resolution": union([
|
|
@@ -4246,10 +4333,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4246
4333
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4247
4334
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4248
4335
|
"status": union([
|
|
4336
|
+
literal("done"),
|
|
4249
4337
|
literal("todo"),
|
|
4250
4338
|
literal("in_progress"),
|
|
4251
4339
|
literal("in_review"),
|
|
4252
|
-
literal("done"),
|
|
4253
4340
|
literal("closed")
|
|
4254
4341
|
]).readonly(),
|
|
4255
4342
|
"resolution": union([
|
|
@@ -4325,12 +4412,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4325
4412
|
"state": union([
|
|
4326
4413
|
literal("enabled"),
|
|
4327
4414
|
literal("suspended"),
|
|
4328
|
-
literal("inactive")
|
|
4415
|
+
literal("inactive"),
|
|
4416
|
+
literal("archived")
|
|
4329
4417
|
]).readonly()
|
|
4330
4418
|
}).readonly(),
|
|
4331
4419
|
"availability": union([
|
|
4332
4420
|
literal("suspended"),
|
|
4333
4421
|
literal("inactive"),
|
|
4422
|
+
literal("archived"),
|
|
4334
4423
|
literal("active"),
|
|
4335
4424
|
literal("unavailable")
|
|
4336
4425
|
]).readonly(),
|
|
@@ -4365,7 +4454,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4365
4454
|
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
4366
4455
|
"name": string().readonly(),
|
|
4367
4456
|
"description": string().readonly(),
|
|
4368
|
-
"createdAtSequence": number().readonly()
|
|
4457
|
+
"createdAtSequence": number().readonly(),
|
|
4458
|
+
"state": union([literal("archived"), literal("active")]).readonly()
|
|
4369
4459
|
}).readonly(),
|
|
4370
4460
|
"memberIds": array(intersection(string(), unknown())).readonly()
|
|
4371
4461
|
});
|
|
@@ -4388,10 +4478,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4388
4478
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4389
4479
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4390
4480
|
"status": union([
|
|
4481
|
+
literal("done"),
|
|
4391
4482
|
literal("todo"),
|
|
4392
4483
|
literal("in_progress"),
|
|
4393
4484
|
literal("in_review"),
|
|
4394
|
-
literal("done"),
|
|
4395
4485
|
literal("closed")
|
|
4396
4486
|
]).readonly(),
|
|
4397
4487
|
"resolution": union([
|
|
@@ -4454,12 +4544,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4454
4544
|
"state": union([
|
|
4455
4545
|
literal("enabled"),
|
|
4456
4546
|
literal("suspended"),
|
|
4457
|
-
literal("inactive")
|
|
4547
|
+
literal("inactive"),
|
|
4548
|
+
literal("archived")
|
|
4458
4549
|
]).readonly()
|
|
4459
4550
|
}).readonly(),
|
|
4460
4551
|
"availability": union([
|
|
4461
4552
|
literal("suspended"),
|
|
4462
4553
|
literal("inactive"),
|
|
4554
|
+
literal("archived"),
|
|
4463
4555
|
literal("active"),
|
|
4464
4556
|
literal("unavailable")
|
|
4465
4557
|
]).readonly(),
|
|
@@ -4524,10 +4616,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4524
4616
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4525
4617
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4526
4618
|
"status": union([
|
|
4619
|
+
literal("done"),
|
|
4527
4620
|
literal("todo"),
|
|
4528
4621
|
literal("in_progress"),
|
|
4529
4622
|
literal("in_review"),
|
|
4530
|
-
literal("done"),
|
|
4531
4623
|
literal("closed")
|
|
4532
4624
|
]).readonly(),
|
|
4533
4625
|
"resolution": union([
|
|
@@ -4574,10 +4666,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4574
4666
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4575
4667
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4576
4668
|
"status": union([
|
|
4669
|
+
literal("done"),
|
|
4577
4670
|
literal("todo"),
|
|
4578
4671
|
literal("in_progress"),
|
|
4579
4672
|
literal("in_review"),
|
|
4580
|
-
literal("done"),
|
|
4581
4673
|
literal("closed")
|
|
4582
4674
|
]).readonly(),
|
|
4583
4675
|
"resolution": union([
|
|
@@ -4731,12 +4823,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4731
4823
|
"state": union([
|
|
4732
4824
|
literal("enabled"),
|
|
4733
4825
|
literal("suspended"),
|
|
4734
|
-
literal("inactive")
|
|
4826
|
+
literal("inactive"),
|
|
4827
|
+
literal("archived")
|
|
4735
4828
|
]).readonly()
|
|
4736
4829
|
}).readonly(),
|
|
4737
4830
|
"availability": union([
|
|
4738
4831
|
literal("suspended"),
|
|
4739
4832
|
literal("inactive"),
|
|
4833
|
+
literal("archived"),
|
|
4740
4834
|
literal("active"),
|
|
4741
4835
|
literal("unavailable")
|
|
4742
4836
|
]).readonly(),
|
|
@@ -4860,10 +4954,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4860
4954
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4861
4955
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4862
4956
|
"status": union([
|
|
4957
|
+
literal("done"),
|
|
4863
4958
|
literal("todo"),
|
|
4864
4959
|
literal("in_progress"),
|
|
4865
4960
|
literal("in_review"),
|
|
4866
|
-
literal("done"),
|
|
4867
4961
|
literal("closed")
|
|
4868
4962
|
]).readonly(),
|
|
4869
4963
|
"resolution": union([
|
|
@@ -4942,10 +5036,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4942
5036
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
4943
5037
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
4944
5038
|
"status": union([
|
|
5039
|
+
literal("done"),
|
|
4945
5040
|
literal("todo"),
|
|
4946
5041
|
literal("in_progress"),
|
|
4947
5042
|
literal("in_review"),
|
|
4948
|
-
literal("done"),
|
|
4949
5043
|
literal("closed")
|
|
4950
5044
|
]).readonly(),
|
|
4951
5045
|
"resolution": union([
|
|
@@ -5005,10 +5099,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5005
5099
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
5006
5100
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
5007
5101
|
"status": union([
|
|
5102
|
+
literal("done"),
|
|
5008
5103
|
literal("todo"),
|
|
5009
5104
|
literal("in_progress"),
|
|
5010
5105
|
literal("in_review"),
|
|
5011
|
-
literal("done"),
|
|
5012
5106
|
literal("closed")
|
|
5013
5107
|
]).readonly(),
|
|
5014
5108
|
"resolution": union([
|
|
@@ -5126,13 +5220,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5126
5220
|
"taskRef": intersection(string(), unknown()).readonly().optional(),
|
|
5127
5221
|
"limit": number().readonly().optional()
|
|
5128
5222
|
});
|
|
5129
|
-
const _wowyuarm_dsh_agent_team_agentTeam_threadObservations_result$schema = object({
|
|
5130
|
-
"
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5223
|
+
const _wowyuarm_dsh_agent_team_agentTeam_threadObservations_result$schema = object({
|
|
5224
|
+
"items": array(object({
|
|
5225
|
+
"sequence": number().readonly(),
|
|
5226
|
+
"threadRef": intersection(string(), unknown()).readonly(),
|
|
5227
|
+
"taskRef": intersection(string(), unknown()).readonly().optional(),
|
|
5228
|
+
"memberId": intersection(string(), unknown()).readonly(),
|
|
5229
|
+
"action": union([literal("follow"), literal("unfollow")]).readonly()
|
|
5230
|
+
})).readonly(),
|
|
5231
|
+
"followers": array(intersection(string(), unknown())).readonly()
|
|
5232
|
+
});
|
|
5136
5233
|
const _wowyuarm_dsh_agent_team_agentTeam_updateChannel_parameter_0$schema = object({
|
|
5137
5234
|
"requestId": intersection(string(), unknown()).readonly(),
|
|
5138
5235
|
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
@@ -5151,7 +5248,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5151
5248
|
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
5152
5249
|
"name": string().readonly(),
|
|
5153
5250
|
"description": string().readonly(),
|
|
5154
|
-
"createdAtSequence": number().readonly()
|
|
5251
|
+
"createdAtSequence": number().readonly(),
|
|
5252
|
+
"state": union([literal("archived"), literal("active")]).readonly()
|
|
5155
5253
|
}).readonly()
|
|
5156
5254
|
});
|
|
5157
5255
|
const _wowyuarm_dsh_agent_team_agentTeam_updateMember_parameter_0$schema = object({
|
|
@@ -5196,12 +5294,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5196
5294
|
"state": union([
|
|
5197
5295
|
literal("enabled"),
|
|
5198
5296
|
literal("suspended"),
|
|
5199
|
-
literal("inactive")
|
|
5297
|
+
literal("inactive"),
|
|
5298
|
+
literal("archived")
|
|
5200
5299
|
]).readonly()
|
|
5201
5300
|
}).readonly(),
|
|
5202
5301
|
"availability": union([
|
|
5203
5302
|
literal("suspended"),
|
|
5204
5303
|
literal("inactive"),
|
|
5304
|
+
literal("archived"),
|
|
5205
5305
|
literal("active"),
|
|
5206
5306
|
literal("unavailable")
|
|
5207
5307
|
]).readonly(),
|
|
@@ -5235,7 +5335,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5235
5335
|
"workspaceId": intersection(string(), unknown()).readonly(),
|
|
5236
5336
|
"name": string().readonly(),
|
|
5237
5337
|
"description": string().readonly(),
|
|
5238
|
-
"createdAtSequence": number().readonly()
|
|
5338
|
+
"createdAtSequence": number().readonly(),
|
|
5339
|
+
"state": union([literal("archived"), literal("active")]).readonly()
|
|
5239
5340
|
})).readonly(),
|
|
5240
5341
|
"members": array(object({
|
|
5241
5342
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
@@ -5246,10 +5347,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5246
5347
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
5247
5348
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
5248
5349
|
"status": union([
|
|
5350
|
+
literal("done"),
|
|
5249
5351
|
literal("todo"),
|
|
5250
5352
|
literal("in_progress"),
|
|
5251
5353
|
literal("in_review"),
|
|
5252
|
-
literal("done"),
|
|
5253
5354
|
literal("closed")
|
|
5254
5355
|
]).readonly(),
|
|
5255
5356
|
"resolution": union([
|
|
@@ -5291,10 +5392,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5291
5392
|
"channelRef": intersection(string(), unknown()).readonly(),
|
|
5292
5393
|
"threadRef": intersection(string(), unknown()).readonly(),
|
|
5293
5394
|
"status": union([
|
|
5395
|
+
literal("done"),
|
|
5294
5396
|
literal("todo"),
|
|
5295
5397
|
literal("in_progress"),
|
|
5296
5398
|
literal("in_review"),
|
|
5297
|
-
literal("done"),
|
|
5298
5399
|
literal("closed")
|
|
5299
5400
|
]).readonly(),
|
|
5300
5401
|
"resolution": union([
|
|
@@ -5392,7 +5493,61 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5392
5493
|
},
|
|
5393
5494
|
sourceLocation: {
|
|
5394
5495
|
"file": "packages/agent-team/src/index.ts",
|
|
5395
|
-
"line":
|
|
5496
|
+
"line": 475,
|
|
5497
|
+
"column": 9
|
|
5498
|
+
}
|
|
5499
|
+
},
|
|
5500
|
+
{
|
|
5501
|
+
id: "@wowyuarm/dsh-agent-team#agentTeam/archiveChannel",
|
|
5502
|
+
service: "agentTeam",
|
|
5503
|
+
namespace: "agentTeam",
|
|
5504
|
+
method: "archiveChannel",
|
|
5505
|
+
invocation: { kind: "direct" },
|
|
5506
|
+
parameters: [{
|
|
5507
|
+
name: "request",
|
|
5508
|
+
wire: "request",
|
|
5509
|
+
source: "json",
|
|
5510
|
+
codec: {
|
|
5511
|
+
mode: "strict",
|
|
5512
|
+
typeSymbol: "@wowyuarm/dsh-agent-team/types#AgentTeamArchiveChannelRequest",
|
|
5513
|
+
schema: _wowyuarm_dsh_agent_team_agentTeam_archiveChannel_parameter_0$schema
|
|
5514
|
+
}
|
|
5515
|
+
}],
|
|
5516
|
+
result: {
|
|
5517
|
+
mode: "strict",
|
|
5518
|
+
typeSymbol: "@wowyuarm/dsh-agent-team/types#AgentTeamArchiveChannelResult",
|
|
5519
|
+
schema: _wowyuarm_dsh_agent_team_agentTeam_archiveChannel_result$schema
|
|
5520
|
+
},
|
|
5521
|
+
sourceLocation: {
|
|
5522
|
+
"file": "packages/agent-team/src/index.ts",
|
|
5523
|
+
"line": 465,
|
|
5524
|
+
"column": 9
|
|
5525
|
+
}
|
|
5526
|
+
},
|
|
5527
|
+
{
|
|
5528
|
+
id: "@wowyuarm/dsh-agent-team#agentTeam/archiveMember",
|
|
5529
|
+
service: "agentTeam",
|
|
5530
|
+
namespace: "agentTeam",
|
|
5531
|
+
method: "archiveMember",
|
|
5532
|
+
invocation: { kind: "direct" },
|
|
5533
|
+
parameters: [{
|
|
5534
|
+
name: "request",
|
|
5535
|
+
wire: "request",
|
|
5536
|
+
source: "json",
|
|
5537
|
+
codec: {
|
|
5538
|
+
mode: "strict",
|
|
5539
|
+
typeSymbol: "@wowyuarm/dsh-agent-team/types#AgentTeamArchiveMemberRequest",
|
|
5540
|
+
schema: _wowyuarm_dsh_agent_team_agentTeam_archiveMember_parameter_0$schema
|
|
5541
|
+
}
|
|
5542
|
+
}],
|
|
5543
|
+
result: {
|
|
5544
|
+
mode: "strict",
|
|
5545
|
+
typeSymbol: "@wowyuarm/dsh-agent-team/types#AgentTeamArchiveMemberResult",
|
|
5546
|
+
schema: _wowyuarm_dsh_agent_team_agentTeam_archiveMember_result$schema
|
|
5547
|
+
},
|
|
5548
|
+
sourceLocation: {
|
|
5549
|
+
"file": "packages/agent-team/src/index.ts",
|
|
5550
|
+
"line": 745,
|
|
5396
5551
|
"column": 9
|
|
5397
5552
|
}
|
|
5398
5553
|
},
|
|
@@ -5419,7 +5574,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5419
5574
|
},
|
|
5420
5575
|
sourceLocation: {
|
|
5421
5576
|
"file": "packages/agent-team/src/index.ts",
|
|
5422
|
-
"line":
|
|
5577
|
+
"line": 867,
|
|
5423
5578
|
"column": 9
|
|
5424
5579
|
}
|
|
5425
5580
|
},
|
|
@@ -5474,7 +5629,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5474
5629
|
},
|
|
5475
5630
|
sourceLocation: {
|
|
5476
5631
|
"file": "packages/agent-team/src/index.ts",
|
|
5477
|
-
"line":
|
|
5632
|
+
"line": 757,
|
|
5478
5633
|
"column": 9
|
|
5479
5634
|
}
|
|
5480
5635
|
},
|
|
@@ -5501,7 +5656,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5501
5656
|
},
|
|
5502
5657
|
sourceLocation: {
|
|
5503
5658
|
"file": "packages/agent-team/src/index.ts",
|
|
5504
|
-
"line":
|
|
5659
|
+
"line": 568,
|
|
5505
5660
|
"column": 9
|
|
5506
5661
|
}
|
|
5507
5662
|
},
|
|
@@ -5555,7 +5710,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5555
5710
|
},
|
|
5556
5711
|
sourceLocation: {
|
|
5557
5712
|
"file": "packages/agent-team/src/index.ts",
|
|
5558
|
-
"line":
|
|
5713
|
+
"line": 853,
|
|
5559
5714
|
"column": 9
|
|
5560
5715
|
}
|
|
5561
5716
|
},
|
|
@@ -5582,7 +5737,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5582
5737
|
},
|
|
5583
5738
|
sourceLocation: {
|
|
5584
5739
|
"file": "packages/agent-team/src/index.ts",
|
|
5585
|
-
"line":
|
|
5740
|
+
"line": 876,
|
|
5586
5741
|
"column": 3
|
|
5587
5742
|
}
|
|
5588
5743
|
},
|
|
@@ -5609,7 +5764,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5609
5764
|
},
|
|
5610
5765
|
sourceLocation: {
|
|
5611
5766
|
"file": "packages/agent-team/src/index.ts",
|
|
5612
|
-
"line":
|
|
5767
|
+
"line": 777,
|
|
5613
5768
|
"column": 9
|
|
5614
5769
|
}
|
|
5615
5770
|
},
|
|
@@ -5664,7 +5819,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5664
5819
|
},
|
|
5665
5820
|
sourceLocation: {
|
|
5666
5821
|
"file": "packages/agent-team/src/index.ts",
|
|
5667
|
-
"line":
|
|
5822
|
+
"line": 767,
|
|
5668
5823
|
"column": 9
|
|
5669
5824
|
}
|
|
5670
5825
|
},
|
|
@@ -5691,7 +5846,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5691
5846
|
},
|
|
5692
5847
|
sourceLocation: {
|
|
5693
5848
|
"file": "packages/agent-team/src/index.ts",
|
|
5694
|
-
"line":
|
|
5849
|
+
"line": 840,
|
|
5695
5850
|
"column": 9
|
|
5696
5851
|
}
|
|
5697
5852
|
},
|
|
@@ -5718,7 +5873,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5718
5873
|
},
|
|
5719
5874
|
sourceLocation: {
|
|
5720
5875
|
"file": "packages/agent-team/src/index.ts",
|
|
5721
|
-
"line":
|
|
5876
|
+
"line": 883,
|
|
5722
5877
|
"column": 9
|
|
5723
5878
|
}
|
|
5724
5879
|
},
|
|
@@ -5745,7 +5900,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5745
5900
|
},
|
|
5746
5901
|
sourceLocation: {
|
|
5747
5902
|
"file": "packages/agent-team/src/index.ts",
|
|
5748
|
-
"line":
|
|
5903
|
+
"line": 529,
|
|
5749
5904
|
"column": 9
|
|
5750
5905
|
}
|
|
5751
5906
|
},
|
|
@@ -5772,7 +5927,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5772
5927
|
},
|
|
5773
5928
|
sourceLocation: {
|
|
5774
5929
|
"file": "packages/agent-team/src/index.ts",
|
|
5775
|
-
"line":
|
|
5930
|
+
"line": 788,
|
|
5776
5931
|
"column": 9
|
|
5777
5932
|
}
|
|
5778
5933
|
},
|
|
@@ -5799,7 +5954,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5799
5954
|
},
|
|
5800
5955
|
sourceLocation: {
|
|
5801
5956
|
"file": "packages/agent-team/src/index.ts",
|
|
5802
|
-
"line":
|
|
5957
|
+
"line": 861,
|
|
5803
5958
|
"column": 9
|
|
5804
5959
|
}
|
|
5805
5960
|
},
|
|
@@ -5853,7 +6008,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5853
6008
|
},
|
|
5854
6009
|
sourceLocation: {
|
|
5855
6010
|
"file": "packages/agent-team/src/index.ts",
|
|
5856
|
-
"line":
|
|
6011
|
+
"line": 797,
|
|
5857
6012
|
"column": 9
|
|
5858
6013
|
}
|
|
5859
6014
|
},
|
|
@@ -5880,7 +6035,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5880
6035
|
},
|
|
5881
6036
|
sourceLocation: {
|
|
5882
6037
|
"file": "packages/agent-team/src/index.ts",
|
|
5883
|
-
"line":
|
|
6038
|
+
"line": 899,
|
|
5884
6039
|
"column": 3
|
|
5885
6040
|
}
|
|
5886
6041
|
},
|
|
@@ -5907,7 +6062,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5907
6062
|
},
|
|
5908
6063
|
sourceLocation: {
|
|
5909
6064
|
"file": "packages/agent-team/src/index.ts",
|
|
5910
|
-
"line":
|
|
6065
|
+
"line": 892,
|
|
5911
6066
|
"column": 3
|
|
5912
6067
|
}
|
|
5913
6068
|
},
|
|
@@ -5961,7 +6116,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5961
6116
|
},
|
|
5962
6117
|
sourceLocation: {
|
|
5963
6118
|
"file": "packages/agent-team/src/index.ts",
|
|
5964
|
-
"line":
|
|
6119
|
+
"line": 685,
|
|
5965
6120
|
"column": 9
|
|
5966
6121
|
}
|
|
5967
6122
|
},
|
|
@@ -5988,7 +6143,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5988
6143
|
},
|
|
5989
6144
|
sourceLocation: {
|
|
5990
6145
|
"file": "packages/agent-team/src/index.ts",
|
|
5991
|
-
"line":
|
|
6146
|
+
"line": 906,
|
|
5992
6147
|
"column": 3
|
|
5993
6148
|
}
|
|
5994
6149
|
}
|
|
@@ -6360,22 +6515,22 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6360
6515
|
}
|
|
6361
6516
|
};
|
|
6362
6517
|
//#endregion
|
|
6363
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
6364
|
-
const css$
|
|
6365
|
-
const tagId$
|
|
6366
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
6518
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/team.module.css.mjs
|
|
6519
|
+
const css$9 = "._2DPuGW_footerStack{flex:none;width:100%;height:42px;margin:8px 0 0;display:flex}._2DPuGW_footerAction,._2DPuGW_settingsAction{box-sizing:border-box;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;width:calc(100% + 4px);height:42px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}._2DPuGW_footerAction{margin:0 -2px}._2DPuGW_settingsAction{margin:4px -2px}._2DPuGW_footerAction:hover,._2DPuGW_footerAction:focus-visible,._2DPuGW_settingsAction:hover,._2DPuGW_settingsAction:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}._2DPuGW_footerAction._2DPuGW_rail,._2DPuGW_settingsAction._2DPuGW_rail{border-radius:50%;justify-content:center;width:36px;height:36px;padding:0}._2DPuGW_footerAction._2DPuGW_rail{margin:0}._2DPuGW_settingsAction._2DPuGW_rail{margin:8px 0 10px}._2DPuGW_railStack{align-items:center;width:36px;height:36px;margin:0}";
|
|
6520
|
+
const tagId$9 = "@wowyuarm/dsh-agent-team/team.module.css";
|
|
6521
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$9) + "]") === null) {
|
|
6367
6522
|
const tag = document.createElement("style");
|
|
6368
6523
|
tag.dataset.plugin = "@wowyuarm/dsh-agent-team";
|
|
6369
|
-
tag.dataset.pluginCss = tagId$
|
|
6370
|
-
tag.textContent = css$
|
|
6524
|
+
tag.dataset.pluginCss = tagId$9;
|
|
6525
|
+
tag.textContent = css$9;
|
|
6371
6526
|
document.head.appendChild(tag);
|
|
6372
6527
|
}
|
|
6373
6528
|
var team_module_css_default = {
|
|
6374
|
-
"footerAction": "
|
|
6375
|
-
"footerStack": "
|
|
6376
|
-
"rail": "
|
|
6377
|
-
"railStack": "
|
|
6378
|
-
"settingsAction": "
|
|
6529
|
+
"footerAction": "_2DPuGW_footerAction",
|
|
6530
|
+
"footerStack": "_2DPuGW_footerStack",
|
|
6531
|
+
"rail": "_2DPuGW_rail",
|
|
6532
|
+
"railStack": "_2DPuGW_railStack",
|
|
6533
|
+
"settingsAction": "_2DPuGW_settingsAction"
|
|
6379
6534
|
};
|
|
6380
6535
|
//#endregion
|
|
6381
6536
|
//#region src/client/TeamFooterAction.tsx
|
|
@@ -6410,8 +6565,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6410
6565
|
}) });
|
|
6411
6566
|
}
|
|
6412
6567
|
//#endregion
|
|
6413
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
6414
|
-
const css$
|
|
6568
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/state-dot.module.css.mjs
|
|
6569
|
+
const css$8 = "._0Md7GW_quiet{border-radius:50%;flex:none;display:inline-block;position:relative}._0Md7GW_quiet[data-variant=todo]{border:1px solid var(--dsw-alias-label-tertiary)}._0Md7GW_quiet[data-variant=quiet]{color:var(--dsw-alias-label-tertiary)}._0Md7GW_quiet[data-variant=quiet]:before{content:\"\";opacity:.1;background:currentColor;border-radius:50%;position:absolute;inset:0}._0Md7GW_quiet[data-variant=quiet]:after{content:\"\";background:currentColor;border-radius:50%;position:absolute;inset:20%}";
|
|
6570
|
+
const tagId$8 = "@wowyuarm/dsh-agent-team/state-dot.module.css";
|
|
6571
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$8) + "]") === null) {
|
|
6572
|
+
const tag = document.createElement("style");
|
|
6573
|
+
tag.dataset.plugin = "@wowyuarm/dsh-agent-team";
|
|
6574
|
+
tag.dataset.pluginCss = tagId$8;
|
|
6575
|
+
tag.textContent = css$8;
|
|
6576
|
+
document.head.appendChild(tag);
|
|
6577
|
+
}
|
|
6578
|
+
var state_dot_module_css_default = { "quiet": "_0Md7GW_quiet" };
|
|
6579
|
+
//#endregion
|
|
6580
|
+
//#region src/client/TeamStateDot.tsx
|
|
6581
|
+
/**
|
|
6582
|
+
* Render the one shared Team status indicator. Native StateDot states pass
|
|
6583
|
+
* through; the quiet statuses mirror StateDot geometry locally so every
|
|
6584
|
+
* surface renders the same shape — todo a hollow ring (not started), quiet a
|
|
6585
|
+
* solid tertiary dot with the same 10% halo (closed, unavailable).
|
|
6586
|
+
*/
|
|
6587
|
+
function TeamStateDot({ state, size = 10 }) {
|
|
6588
|
+
if (state === "todo" || state === "quiet") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
6589
|
+
className: state_dot_module_css_default.quiet,
|
|
6590
|
+
"data-variant": state,
|
|
6591
|
+
style: {
|
|
6592
|
+
width: size,
|
|
6593
|
+
height: size
|
|
6594
|
+
},
|
|
6595
|
+
"aria-hidden": "true"
|
|
6596
|
+
});
|
|
6597
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
6598
|
+
state,
|
|
6599
|
+
size
|
|
6600
|
+
});
|
|
6601
|
+
}
|
|
6602
|
+
//#endregion
|
|
6603
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/presence.module.css.mjs
|
|
6604
|
+
const css$7 = "._3bLURW_target{flex:0 0 14px;justify-content:center;align-items:center;display:inline-flex}";
|
|
6415
6605
|
const tagId$7 = "@wowyuarm/dsh-agent-team/presence.module.css";
|
|
6416
6606
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
|
|
6417
6607
|
const tag = document.createElement("style");
|
|
@@ -6420,10 +6610,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6420
6610
|
tag.textContent = css$7;
|
|
6421
6611
|
document.head.appendChild(tag);
|
|
6422
6612
|
}
|
|
6423
|
-
var presence_module_css_default = {
|
|
6424
|
-
"target": "-6lQ-q_target",
|
|
6425
|
-
"unavailableDot": "-6lQ-q_unavailableDot"
|
|
6426
|
-
};
|
|
6613
|
+
var presence_module_css_default = { "target": "_3bLURW_target" };
|
|
6427
6614
|
//#endregion
|
|
6428
6615
|
//#region src/client/TeamPresenceDot.tsx
|
|
6429
6616
|
function presenceLabel(status, t) {
|
|
@@ -6432,11 +6619,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6432
6619
|
}
|
|
6433
6620
|
/** Shared presence → indicator mapping for dots and avatar badges. */
|
|
6434
6621
|
function presenceDotState(presence) {
|
|
6435
|
-
return presence === "available" ? "done" : presence === "working" ? "ongoing" : presence === "error" ? "error" : "
|
|
6622
|
+
return presence === "available" ? "done" : presence === "working" ? "ongoing" : presence === "error" ? "error" : "quiet";
|
|
6436
6623
|
}
|
|
6437
6624
|
function TeamPresenceDot({ status, t }) {
|
|
6438
6625
|
const label = presenceLabel(status, t);
|
|
6439
|
-
const state = presenceDotState(status.presence);
|
|
6440
6626
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
6441
6627
|
label,
|
|
6442
6628
|
delayMs: 300,
|
|
@@ -6444,16 +6630,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6444
6630
|
className: presence_module_css_default.target,
|
|
6445
6631
|
role: "img",
|
|
6446
6632
|
"aria-label": label,
|
|
6447
|
-
children:
|
|
6448
|
-
className: presence_module_css_default.unavailableDot,
|
|
6449
|
-
"aria-hidden": "true"
|
|
6450
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state })
|
|
6633
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamStateDot, { state: presenceDotState(status.presence) })
|
|
6451
6634
|
})
|
|
6452
6635
|
});
|
|
6453
6636
|
}
|
|
6454
6637
|
//#endregion
|
|
6455
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
6456
|
-
const css$6 = ".
|
|
6638
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/members.module.css.mjs
|
|
6639
|
+
const css$6 = "._5nHZqG_body{max-height:min(65vh,560px);overflow-y:auto}._5nHZqG_content{outline:none;gap:12px;display:grid}._5nHZqG_group{gap:3px;display:grid}._5nHZqG_group+._5nHZqG_group{border-top:1px solid var(--dsw-alias-border-l2);padding-top:10px}._5nHZqG_group h3{color:var(--dsw-alias-label-secondary);margin:0 0 3px;font-size:12px;font-weight:600;line-height:18px}._5nHZqG_member{border-radius:6px;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:0 8px;min-height:36px;padding:4px 6px;display:grid}._5nHZqG_member:hover{background:var(--dsw-alias-interactive-bg-hover)}._5nHZqG_copy{min-width:0;display:grid}._5nHZqG_copy strong{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:18px;overflow:hidden}._5nHZqG_copy small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:14px;overflow:hidden}._5nHZqG_state,._5nHZqG_error{margin:0;padding:6px 0;font-size:12px;line-height:18px}._5nHZqG_state{color:var(--dsw-alias-label-tertiary)}._5nHZqG_error{color:var(--dsw-alias-state-error-primary)}@media (width<=600px){._5nHZqG_body{max-height:calc(100vh - 160px)}}";
|
|
6457
6640
|
const tagId$6 = "@wowyuarm/dsh-agent-team/members.module.css";
|
|
6458
6641
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
|
|
6459
6642
|
const tag = document.createElement("style");
|
|
@@ -6463,13 +6646,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6463
6646
|
document.head.appendChild(tag);
|
|
6464
6647
|
}
|
|
6465
6648
|
var members_module_css_default = {
|
|
6466
|
-
"body": "
|
|
6467
|
-
"content": "
|
|
6468
|
-
"copy": "
|
|
6469
|
-
"error": "
|
|
6470
|
-
"group": "
|
|
6471
|
-
"member": "
|
|
6472
|
-
"state": "
|
|
6649
|
+
"body": "_5nHZqG_body",
|
|
6650
|
+
"content": "_5nHZqG_content",
|
|
6651
|
+
"copy": "_5nHZqG_copy",
|
|
6652
|
+
"error": "_5nHZqG_error",
|
|
6653
|
+
"group": "_5nHZqG_group",
|
|
6654
|
+
"member": "_5nHZqG_member",
|
|
6655
|
+
"state": "_5nHZqG_state"
|
|
6473
6656
|
};
|
|
6474
6657
|
//#endregion
|
|
6475
6658
|
//#region src/client/TeamMembersAction.tsx
|
|
@@ -6607,8 +6790,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6607
6790
|
/** Fresh idempotency identity for one Client-initiated durable request. */
|
|
6608
6791
|
const mintRequestId = () => crypto.randomUUID();
|
|
6609
6792
|
//#endregion
|
|
6610
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
6611
|
-
const css$5 = ".
|
|
6793
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/composer.module.css.mjs
|
|
6794
|
+
const css$5 = ".wh0I9G_root{padding:0 var(--dsh-composer-side-clearance,16px) 8px;flex-direction:column;align-items:center;display:flex}.wh0I9G_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width,780px);border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major,var(--dsw-alias-bg-layer-1));box-shadow:var(--dsw-shadow-lv2);border-radius:22px;flex-direction:column;gap:6px;padding:10px 0 0;display:flex;position:relative}.wh0I9G_inputArea{min-height:28px;position:relative}.wh0I9G_inputArea textarea{box-sizing:border-box;resize:none;width:100%;min-height:28px;max-height:336px;color:var(--dsw-alias-label-primary,var(--dsw-alias-label-primary));font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;outline:0;padding:4px 12px 0 16px;font-size:15px;line-height:24px;display:block;overflow-y:auto}.wh0I9G_inputArea textarea::placeholder{color:var(--dsw-alias-label-caption,var(--dsw-alias-label-tertiary))}.wh0I9G_inputArea textarea:disabled{cursor:not-allowed;opacity:.55}.wh0I9G_mentionMenu{z-index:10;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);max-height:min(320px,40vh);box-shadow:var(--dsw-shadow-lv3);border-radius:12px;padding:4px;position:absolute;bottom:calc(100% + 12px);left:0;right:0;overflow-y:auto}.wh0I9G_mentionOption{width:100%;min-height:40px;color:var(--dsw-alias-label-primary,var(--dsw-alias-label-primary));cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:16px minmax(0,auto) minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:14px;line-height:22px;display:grid}.wh0I9G_mentionOption:hover,.wh0I9G_mentionOption[aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover)}.wh0I9G_mentionName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wh0I9G_mentionAllDot{background:var(--dsw-alias-label-primary);border-radius:50%;justify-self:center;width:8px;height:8px}.wh0I9G_mentionDescription{min-width:0;color:var(--dsw-alias-label-tertiary,var(--dsw-alias-label-tertiary));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wh0I9G_toolbar{justify-content:flex-end;align-items:center;gap:6px;min-height:34px;padding:2px 8px 6px;display:flex}.wh0I9G_asTaskOn[aria-pressed=true],.wh0I9G_asTaskOn[aria-pressed=true]:hover:not(:disabled){background:var(--dsw-alias-button-primary-fill);border-color:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.wh0I9G_attachButton{background:var(--dsw-specific-selector);color:var(--dsw-alias-label-primary);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;margin-right:auto;display:grid}.wh0I9G_attachButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.wh0I9G_attachButton:disabled{cursor:default;opacity:.5}.wh0I9G_attachButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,var(--dsw-specific-selector));outline-offset:1px}.wh0I9G_fileInput{display:none}.wh0I9G_fileChips{flex-wrap:wrap;gap:4px;margin:0;padding:4px 8px 0;list-style:none;display:flex}.wh0I9G_fileChip{background:var(--dsw-alias-interactive-bg-hover);border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;display:inline-flex}.wh0I9G_fileChipSize{color:var(--dsw-alias-label-tertiary);margin-left:6px}.wh0I9G_imageChip{align-items:center;display:flex}.wh0I9G_imageChipPreview{border:1px solid var(--dsw-alias-border-l2);object-fit:cover;border-radius:4px;width:56px;height:40px}.wh0I9G_fileChipName{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:11px;line-height:16px;overflow:hidden}.wh0I9G_fileChipRemove{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:12px;display:inline-flex}.wh0I9G_fileChipRemove:hover,.wh0I9G_fileChipRemove:focus-visible{color:var(--dsw-alias-label-primary);outline:none}.wh0I9G_sendButton{background:var(--dsw-alias-button-info-fill,var(--dsw-alias-button-primary-fill));color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .1s,opacity .1s;display:inline-flex}.wh0I9G_sendButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover,var(--dsw-alias-button-primary-hover))}.wh0I9G_sendButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.wh0I9G_sendButton:disabled{cursor:not-allowed;opacity:.4}.wh0I9G_confirmation{color:var(--dsw-alias-label-tertiary);align-self:stretch;margin:0;padding:0 16px;font-size:12px;line-height:18px}.wh0I9G_notifyRow{color:var(--dsw-alias-label-tertiary,var(--dsw-alias-label-tertiary));overflow-wrap:anywhere;margin:0;padding:0 16px;font-size:12px;line-height:18px}.wh0I9G_error{color:var(--dsw-alias-state-error-primary);align-self:stretch;margin:0;padding:0 4px 2px;font-size:12px;line-height:18px}@media (width<=600px){.wh0I9G_mentionOption{grid-template-columns:16px minmax(0,1fr);min-height:36px;padding-block:6px}.wh0I9G_mentionDescription{display:none}}@media (prefers-reduced-motion:reduce){.wh0I9G_sendButton{transition:none}}";
|
|
6612
6795
|
const tagId$5 = "@wowyuarm/dsh-agent-team/composer.module.css";
|
|
6613
6796
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
|
|
6614
6797
|
const tag = document.createElement("style");
|
|
@@ -6618,35 +6801,29 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6618
6801
|
document.head.appendChild(tag);
|
|
6619
6802
|
}
|
|
6620
6803
|
var composer_module_css_default = {
|
|
6621
|
-
"asTaskOn": "
|
|
6622
|
-
"attachButton": "
|
|
6623
|
-
"card": "
|
|
6624
|
-
"confirmation": "
|
|
6625
|
-
"error": "
|
|
6626
|
-
"fileChip": "
|
|
6627
|
-
"fileChipName": "
|
|
6628
|
-
"fileChipRemove": "
|
|
6629
|
-
"fileChipSize": "
|
|
6630
|
-
"fileChips": "
|
|
6631
|
-
"fileInput": "
|
|
6632
|
-
"imageChip": "
|
|
6633
|
-
"imageChipPreview": "
|
|
6634
|
-
"inputArea": "
|
|
6635
|
-
"
|
|
6636
|
-
"
|
|
6637
|
-
"
|
|
6638
|
-
"
|
|
6639
|
-
"
|
|
6640
|
-
"
|
|
6641
|
-
"
|
|
6642
|
-
"
|
|
6643
|
-
"
|
|
6644
|
-
"mentionName": "x9jGQq_mentionName",
|
|
6645
|
-
"mentionOption": "x9jGQq_mentionOption",
|
|
6646
|
-
"notifyRow": "x9jGQq_notifyRow",
|
|
6647
|
-
"root": "x9jGQq_root",
|
|
6648
|
-
"sendButton": "x9jGQq_sendButton",
|
|
6649
|
-
"toolbar": "x9jGQq_toolbar"
|
|
6804
|
+
"asTaskOn": "wh0I9G_asTaskOn",
|
|
6805
|
+
"attachButton": "wh0I9G_attachButton",
|
|
6806
|
+
"card": "wh0I9G_card",
|
|
6807
|
+
"confirmation": "wh0I9G_confirmation",
|
|
6808
|
+
"error": "wh0I9G_error",
|
|
6809
|
+
"fileChip": "wh0I9G_fileChip",
|
|
6810
|
+
"fileChipName": "wh0I9G_fileChipName",
|
|
6811
|
+
"fileChipRemove": "wh0I9G_fileChipRemove",
|
|
6812
|
+
"fileChipSize": "wh0I9G_fileChipSize",
|
|
6813
|
+
"fileChips": "wh0I9G_fileChips",
|
|
6814
|
+
"fileInput": "wh0I9G_fileInput",
|
|
6815
|
+
"imageChip": "wh0I9G_imageChip",
|
|
6816
|
+
"imageChipPreview": "wh0I9G_imageChipPreview",
|
|
6817
|
+
"inputArea": "wh0I9G_inputArea",
|
|
6818
|
+
"mentionAllDot": "wh0I9G_mentionAllDot",
|
|
6819
|
+
"mentionDescription": "wh0I9G_mentionDescription",
|
|
6820
|
+
"mentionMenu": "wh0I9G_mentionMenu",
|
|
6821
|
+
"mentionName": "wh0I9G_mentionName",
|
|
6822
|
+
"mentionOption": "wh0I9G_mentionOption",
|
|
6823
|
+
"notifyRow": "wh0I9G_notifyRow",
|
|
6824
|
+
"root": "wh0I9G_root",
|
|
6825
|
+
"sendButton": "wh0I9G_sendButton",
|
|
6826
|
+
"toolbar": "wh0I9G_toolbar"
|
|
6650
6827
|
};
|
|
6651
6828
|
//#endregion
|
|
6652
6829
|
//#region src/client/TeamComposer.tsx
|
|
@@ -6672,11 +6849,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6672
6849
|
}
|
|
6673
6850
|
function mentionCandidates(members, query) {
|
|
6674
6851
|
const normalized = query.toLocaleLowerCase();
|
|
6675
|
-
return members.filter((status) => status.presence !== "unavailable" && status.member.state !== "inactive" && status.member.handle.toLocaleLowerCase().startsWith(normalized));
|
|
6852
|
+
return members.filter((status) => status.presence !== "unavailable" && status.member.state !== "inactive" && status.member.state !== "archived" && status.member.handle.toLocaleLowerCase().startsWith(normalized));
|
|
6853
|
+
}
|
|
6854
|
+
/** Thread followers rank first: mentioning them delivers directly, while a non-follower enters the two-send invite flow. */
|
|
6855
|
+
function rankMentionCandidates(candidates, followers) {
|
|
6856
|
+
if (followers === void 0 || followers.size === 0) return candidates;
|
|
6857
|
+
return [...candidates].sort((left, right) => Number(followers.has(right.member.memberId)) - Number(followers.has(left.member.memberId)));
|
|
6676
6858
|
}
|
|
6677
6859
|
/** Every member a manual handle pick could reach: the @all expansion snapshot. */
|
|
6678
6860
|
function allMentionMembers(members) {
|
|
6679
|
-
return members.filter((status) => status.presence !== "unavailable" && status.member.state !== "inactive");
|
|
6861
|
+
return members.filter((status) => status.presence !== "unavailable" && status.member.state !== "inactive" && status.member.state !== "archived");
|
|
6680
6862
|
}
|
|
6681
6863
|
function containsAllMention(draft) {
|
|
6682
6864
|
return /(?:^|[^\p{L}\p{N}_])@all(?=$|[^\p{L}\p{N}_])/u.test(draft);
|
|
@@ -6692,15 +6874,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6692
6874
|
}
|
|
6693
6875
|
return url;
|
|
6694
6876
|
}
|
|
6695
|
-
function TeamComposer({ members, recipients, draft, pending, confirmation, error, onDraftChange, onRecipientsChange, onSubmit, placeholder, pendingFiles, onFilesChange, asTask, onAsTaskChange, t }) {
|
|
6877
|
+
function TeamComposer({ members, followerMemberIds, recipients, draft, pending, confirmation, error, onDraftChange, onRecipientsChange, onSubmit, placeholder, pendingFiles, onFilesChange, asTask, onAsTaskChange, t }) {
|
|
6696
6878
|
const inputRef = (0, react.useRef)(null);
|
|
6697
6879
|
const fileInputRef = (0, react.useRef)(null);
|
|
6698
6880
|
const rootRef = (0, react.useRef)(null);
|
|
6699
6881
|
const menuRef = (0, react.useRef)(null);
|
|
6882
|
+
const activeOptionRef = (0, react.useRef)(null);
|
|
6700
6883
|
const composingRef = (0, react.useRef)(false);
|
|
6701
6884
|
const [mention, setMention] = (0, react.useState)();
|
|
6702
6885
|
const [highlight, setHighlight] = (0, react.useState)(0);
|
|
6703
|
-
const memberCandidates = mention === void 0 ? [] : mentionCandidates(members, mention.query);
|
|
6886
|
+
const memberCandidates = mention === void 0 ? [] : rankMentionCandidates(mentionCandidates(members, mention.query), followerMemberIds);
|
|
6704
6887
|
const options = mention !== void 0 && "all".startsWith(mention.query.toLocaleLowerCase()) ? [{ kind: "all" }, ...memberCandidates.map((status) => ({
|
|
6705
6888
|
kind: "member",
|
|
6706
6889
|
status
|
|
@@ -6710,6 +6893,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6710
6893
|
}));
|
|
6711
6894
|
const menuOpen = mention !== void 0 && options.length > 0;
|
|
6712
6895
|
const activeOption = options[highlight];
|
|
6896
|
+
const activeOptionKey = activeOption === void 0 ? void 0 : activeOption.kind === "all" ? "all" : activeOption.status.member.memberId;
|
|
6713
6897
|
const allCount = allMentionMembers(members).length;
|
|
6714
6898
|
const listId = "team-mention-suggestions";
|
|
6715
6899
|
const menuMaxHeight = (0, _deepseek_ai_dsh_client_ui_primitives.useAnchoredMaxHeight)(menuRef, 320, menuOpen ? draft : null);
|
|
@@ -6729,6 +6913,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6729
6913
|
}
|
|
6730
6914
|
setHighlight((current) => Math.min(current, options.length - 1));
|
|
6731
6915
|
}, [mention, options.length]);
|
|
6916
|
+
(0, react.useLayoutEffect)(() => {
|
|
6917
|
+
if (!menuOpen) return;
|
|
6918
|
+
activeOptionRef.current?.scrollIntoView?.({ block: "nearest" });
|
|
6919
|
+
}, [
|
|
6920
|
+
menuOpen,
|
|
6921
|
+
highlight,
|
|
6922
|
+
activeOptionKey
|
|
6923
|
+
]);
|
|
6732
6924
|
(0, react.useEffect)(() => {
|
|
6733
6925
|
const active = document.activeElement;
|
|
6734
6926
|
if (active !== document.body && active?.closest("[aria-current=\"page\"]") === null) return;
|
|
@@ -6766,6 +6958,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6766
6958
|
pruneRecipients(nextDraft);
|
|
6767
6959
|
updateMention(nextDraft, event.target.selectionStart ?? nextDraft.length);
|
|
6768
6960
|
};
|
|
6961
|
+
const commitMention = (nextDraft, nextCaret, nextRecipients) => {
|
|
6962
|
+
onDraftChange(nextDraft);
|
|
6963
|
+
onRecipientsChange(nextRecipients);
|
|
6964
|
+
setMention(void 0);
|
|
6965
|
+
setHighlight(0);
|
|
6966
|
+
requestAnimationFrame(() => {
|
|
6967
|
+
const input = inputRef.current;
|
|
6968
|
+
if (input === null) return;
|
|
6969
|
+
input.focus({ preventScroll: true });
|
|
6970
|
+
input.setSelectionRange(nextCaret, nextCaret);
|
|
6971
|
+
});
|
|
6972
|
+
};
|
|
6769
6973
|
const selectOption = (option) => {
|
|
6770
6974
|
if (mention === void 0) return;
|
|
6771
6975
|
if (option.kind === "all") {
|
|
@@ -6773,33 +6977,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6773
6977
|
const nextCaret = mention.start + 5;
|
|
6774
6978
|
const nextRecipients = new Set(recipients);
|
|
6775
6979
|
for (const status of allMentionMembers(members)) nextRecipients.add(status.member.memberId);
|
|
6776
|
-
|
|
6777
|
-
onRecipientsChange(nextRecipients);
|
|
6778
|
-
setMention(void 0);
|
|
6779
|
-
setHighlight(0);
|
|
6780
|
-
requestAnimationFrame(() => {
|
|
6781
|
-
const input = inputRef.current;
|
|
6782
|
-
if (input === null) return;
|
|
6783
|
-
input.focus({ preventScroll: true });
|
|
6784
|
-
input.setSelectionRange(nextCaret, nextCaret);
|
|
6785
|
-
});
|
|
6980
|
+
commitMention(nextDraft, nextCaret, nextRecipients);
|
|
6786
6981
|
return;
|
|
6787
6982
|
}
|
|
6788
6983
|
const member = option.status;
|
|
6789
6984
|
const inserted = `@${member.member.handle} `;
|
|
6790
|
-
|
|
6791
|
-
const nextCaret = mention.start + inserted.length;
|
|
6792
|
-
const nextRecipients = new Set(recipients).add(member.member.memberId);
|
|
6793
|
-
onDraftChange(nextDraft);
|
|
6794
|
-
onRecipientsChange(nextRecipients);
|
|
6795
|
-
setMention(void 0);
|
|
6796
|
-
setHighlight(0);
|
|
6797
|
-
requestAnimationFrame(() => {
|
|
6798
|
-
const input = inputRef.current;
|
|
6799
|
-
if (input === null) return;
|
|
6800
|
-
input.focus({ preventScroll: true });
|
|
6801
|
-
input.setSelectionRange(nextCaret, nextCaret);
|
|
6802
|
-
});
|
|
6985
|
+
commitMention(`${draft.slice(0, mention.start)}${inserted}${draft.slice(mention.end)}`, mention.start + inserted.length, new Set(recipients).add(member.member.memberId));
|
|
6803
6986
|
};
|
|
6804
6987
|
const onPaste = (event) => {
|
|
6805
6988
|
if (pending || onFilesChange === void 0 || pendingFiles === void 0) return;
|
|
@@ -6873,6 +7056,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6873
7056
|
role: "option",
|
|
6874
7057
|
"aria-selected": selected,
|
|
6875
7058
|
className: composer_module_css_default.mentionOption,
|
|
7059
|
+
ref: selected ? activeOptionRef : void 0,
|
|
6876
7060
|
onMouseDown: (event) => {
|
|
6877
7061
|
event.preventDefault();
|
|
6878
7062
|
},
|
|
@@ -6899,6 +7083,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6899
7083
|
role: "option",
|
|
6900
7084
|
"aria-selected": selected,
|
|
6901
7085
|
className: composer_module_css_default.mentionOption,
|
|
7086
|
+
ref: selected ? activeOptionRef : void 0,
|
|
6902
7087
|
onMouseDown: (event) => {
|
|
6903
7088
|
event.preventDefault();
|
|
6904
7089
|
},
|
|
@@ -7077,15 +7262,36 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7077
7262
|
pending.delete(entry.taskRef);
|
|
7078
7263
|
emit();
|
|
7079
7264
|
};
|
|
7080
|
-
/**
|
|
7265
|
+
/** Compare refs by branded prefix plus hyphen-stripped UUID, so abbreviated spellings line up with their full form. */
|
|
7266
|
+
function refKeyOf(ref) {
|
|
7267
|
+
return ref.toLowerCase().replaceAll("-", "");
|
|
7268
|
+
}
|
|
7269
|
+
/**
|
|
7270
|
+
* Click-path Host lookup: remember every resolved entry and hand them back
|
|
7271
|
+
* for immediate navigation. The Host keeps `resolved` in the same order as
|
|
7272
|
+
* the input `taskRefs` (one entry per resolvable input, unknowns omitted);
|
|
7273
|
+
* the pairing walk below relies on that contract, so it must be preserved
|
|
7274
|
+
* together with this implementation.
|
|
7275
|
+
*/
|
|
7081
7276
|
const hostTaskRefLookup = (resolveTaskRefs, workspaceId) => async (taskRefs) => {
|
|
7082
7277
|
const result = await resolveTaskRefs({
|
|
7083
7278
|
workspaceId,
|
|
7084
7279
|
taskRefs
|
|
7085
7280
|
});
|
|
7086
7281
|
if (!result.ok) return [];
|
|
7087
|
-
|
|
7088
|
-
|
|
7282
|
+
const entries = result.value.resolved;
|
|
7283
|
+
let entryIndex = 0;
|
|
7284
|
+
for (const requested of taskRefs) {
|
|
7285
|
+
const entry = entries[entryIndex];
|
|
7286
|
+
if (entry === void 0 || !refKeyOf(entry.taskRef).startsWith(refKeyOf(requested))) continue;
|
|
7287
|
+
if (entry.taskRef !== requested) rememberResolvedTaskRef({
|
|
7288
|
+
...entry,
|
|
7289
|
+
taskRef: requested
|
|
7290
|
+
});
|
|
7291
|
+
rememberResolvedTaskRef(entry);
|
|
7292
|
+
entryIndex += 1;
|
|
7293
|
+
}
|
|
7294
|
+
return entries;
|
|
7089
7295
|
};
|
|
7090
7296
|
/** Resolve one Task ref through the Host and jump to its home Channel Thread. */
|
|
7091
7297
|
const jumpToTaskThread = (resolveTaskRefs, workspaceId, taskRef, selectThread) => {
|
|
@@ -7138,10 +7344,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7138
7344
|
}[state]);
|
|
7139
7345
|
}
|
|
7140
7346
|
/**
|
|
7141
|
-
* Status indicator
|
|
7142
|
-
* variants; every status renders a dot so
|
|
7143
|
-
* language — todo is a hollow ring (not started), closed a
|
|
7144
|
-
* (archived).
|
|
7347
|
+
* Status indicator for a Task status, the dot every Task surface renders.
|
|
7348
|
+
* Active states map to StateDot variants; every status renders a dot so they
|
|
7349
|
+
* share one shape language — todo is a hollow ring (not started), closed a
|
|
7350
|
+
* quiet gray dot (archived).
|
|
7145
7351
|
*/
|
|
7146
7352
|
function taskStatusDot(status) {
|
|
7147
7353
|
return {
|
|
@@ -7149,7 +7355,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7149
7355
|
in_progress: "ongoing",
|
|
7150
7356
|
in_review: "warning",
|
|
7151
7357
|
done: "done",
|
|
7152
|
-
closed: "
|
|
7358
|
+
closed: "quiet"
|
|
7153
7359
|
}[status];
|
|
7154
7360
|
}
|
|
7155
7361
|
/** One-line title snippet derived from the Task's root Message body. */
|
|
@@ -7163,7 +7369,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7163
7369
|
for (let index = 0; index < memberId.length; index += 1) hash = (hash * 31 + memberId.charCodeAt(index)) % 360;
|
|
7164
7370
|
return hash;
|
|
7165
7371
|
}
|
|
7166
|
-
const BRANDED_REF_PATTERN = /\b(task|channel|thread):{1,2}[0-9a-f]{
|
|
7372
|
+
const BRANDED_REF_PATTERN = /\b(task|channel|thread):{1,2}[0-9a-f]{6,}(?:-[0-9a-f]{1,})*\b/gi;
|
|
7167
7373
|
/**
|
|
7168
7374
|
* Canonical form of one matched ref: models occasionally double the colon or
|
|
7169
7375
|
* uppercase the UUID when citing a ref in prose, while Host lookups and
|
|
@@ -7174,11 +7380,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7174
7380
|
}
|
|
7175
7381
|
/**
|
|
7176
7382
|
* Split a literal text run into plain and branded-ref segments. The pattern
|
|
7177
|
-
* anchors on the fixed ref prefixes plus
|
|
7178
|
-
* containing a colon never linkifies; a doubled colon from
|
|
7179
|
-
* tolerated. Segment refs are always canonical, so resolution
|
|
7180
|
-
* work regardless of how the ref was spelled; text without any
|
|
7181
|
-
* back as one untouched segment.
|
|
7383
|
+
* anchors on the fixed ref prefixes plus a UUID shape (full or abbreviated),
|
|
7384
|
+
* so ordinary prose containing a colon never linkifies; a doubled colon from
|
|
7385
|
+
* model output is tolerated. Segment refs are always canonical, so resolution
|
|
7386
|
+
* and navigation work regardless of how the ref was spelled; text without any
|
|
7387
|
+
* ref comes back as one untouched segment.
|
|
7182
7388
|
*/
|
|
7183
7389
|
function splitBrandedRefs(text) {
|
|
7184
7390
|
const segments = [];
|
|
@@ -7346,8 +7552,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7346
7552
|
};
|
|
7347
7553
|
}
|
|
7348
7554
|
//#endregion
|
|
7349
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
7350
|
-
const css$4 = ".
|
|
7555
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/conversation.module.css.mjs
|
|
7556
|
+
const css$4 = ".pVzKIW_surface{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.pVzKIW_surfaceHeader{border-bottom:1px solid var(--dsw-alias-border-l2);min-width:0;padding:14px clamp(18px,3vw,36px) 12px}.pVzKIW_headerRow{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;max-width:880px;margin:0 auto;display:flex}.pVzKIW_headerCopy{min-width:0}.pVzKIW_headerCopy h1{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:600;line-height:28px}.pVzKIW_headerCopy p{color:var(--dsw-alias-label-secondary);margin:3px 0 0;font-size:13px;line-height:20px}.pVzKIW_headerActions{flex:none;align-items:center;gap:6px;display:flex}.pVzKIW_backRow{max-width:880px;margin:0 auto 8px}.pVzKIW_timeline{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:12px clamp(18px,3vw,36px) 24px;overflow:hidden auto}.pVzKIW_timelineContent{flex-direction:column;min-width:0;max-width:880px;min-height:100%;margin:0 auto;display:flex}.pVzKIW_emptySurface{margin:auto;padding:32px 0}.pVzKIW_emptySurface .pVzKIW_emptyState{text-align:center;justify-items:center}.pVzKIW_timelineAction{justify-content:center;padding:2px 0 8px;display:flex}.pVzKIW_messageRow{gap:10px;padding:10px 0;display:flex}.pVzKIW_messageRow[data-grouped]{padding-top:2px}.pVzKIW_messageRow[data-grouped] .pVzKIW_messageBody>:first-child,.pVzKIW_messageRow[data-grouped] .pVzKIW_messageBody>:first-child>:first-child{margin-top:0}.pVzKIW_messageIdentity{background:hsl(var(--team-avatar-hue,212) 42% 46%);color:#fff;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;height:28px;font-size:12px;font-weight:600;display:flex}.pVzKIW_messageRow[data-human] .pVzKIW_messageIdentity{background:var(--dsw-alias-state-business-primary)}.pVzKIW_messageRow[data-grouped] .pVzKIW_messageIdentity{visibility:hidden}.pVzKIW_messageBody{min-width:0}.pVzKIW_nameRow{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pVzKIW_nameRow strong{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600;line-height:20px}.pVzKIW_messageTime{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:20px}.pVzKIW_messageText{white-space:pre-wrap;word-break:break-word;margin:6px 0;font-size:14px;line-height:22px}.pVzKIW_messageClamp{max-height:176px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,#0000 100%);mask-image:linear-gradient(#000 72%,#0000 100%)}.pVzKIW_messageExpand{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;width:fit-content;margin-top:4px;padding:0;font-size:12px;line-height:20px;display:block}.pVzKIW_messageExpand:hover,.pVzKIW_messageExpand:focus-visible{color:var(--dsw-alias-label-primary);text-underline-offset:2px;outline:none;text-decoration:underline}.pVzKIW_messageBody .pVzKIW_messageMarkdown{font-size:14px;line-height:22px}.pVzKIW_messageBody .pVzKIW_messageMarkdown>div:first-child{color:var(--dsw-alias-label-primary);font:inherit}.pVzKIW_messageBody .pVzKIW_messageMarkdown p{margin:6px 0}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(ul,ol){margin:6px 0;padding-left:22px}.pVzKIW_messageBody .pVzKIW_messageMarkdown li+li{margin-top:2px}.pVzKIW_messageBody .pVzKIW_messageMarkdown strong{font-weight:600}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(h1,h2,h3,h4,h5,h6){margin:12px 0 4px}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(h1){font-size:17px;line-height:26px}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(h2){font-size:16px;line-height:24px}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(h3,h4,h5,h6){font-size:15px;line-height:22px}.pVzKIW_messageBody .pVzKIW_messageMarkdown pre{margin:8px 0;padding:10px 12px;font-size:13px}.pVzKIW_messageBody .pVzKIW_messageMarkdown blockquote{margin:6px 0}.pVzKIW_messageBody .pVzKIW_messageMarkdown :where(th,td){padding-block:5px}.pVzKIW_emptyState,.pVzKIW_loadingState{color:var(--dsw-alias-label-tertiary);margin:0;padding:14px 0;font-size:13px;line-height:20px}.pVzKIW_emptyState{gap:3px;display:grid}.pVzKIW_emptyState strong{color:var(--dsw-alias-label-secondary);font-weight:500}.pVzKIW_emptyState span{font-size:12px}.pVzKIW_loadingState{align-items:center;gap:8px;display:flex}.pVzKIW_loadingMark{background:var(--dsw-alias-bg-skeleton);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pVzKIW_pulse}.pVzKIW_error,.pVzKIW_errorState{color:var(--dsw-alias-state-error-primary);max-width:880px;margin:0 auto;padding-top:6px;font-size:12px;line-height:18px}.pVzKIW_errorState{justify-content:space-between;align-items:center;gap:8px;display:flex}.pVzKIW_welcomeSurface{justify-content:center;align-items:center;min-width:0;height:100%;padding:32px;display:flex}.pVzKIW_welcome{text-align:center;max-width:420px}.pVzKIW_welcomeEyebrow{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;font-size:12px;line-height:18px}.pVzKIW_welcome h1{color:var(--dsw-alias-label-primary);margin:8px 0;font-size:24px;font-weight:600;line-height:32px}.pVzKIW_welcome p{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;line-height:20px}@keyframes pVzKIW_pulse{0%,to{opacity:.35}50%{opacity:1}}@media (width<=600px){.pVzKIW_surfaceHeader{padding:12px 12px 10px}.pVzKIW_headerRow{flex-direction:column;align-items:stretch;gap:8px}.pVzKIW_headerActions{flex-wrap:wrap}.pVzKIW_backRow{margin-bottom:6px}.pVzKIW_timeline{scrollbar-gutter:auto;padding:8px 12px 16px}.pVzKIW_messageRow{padding:8px 0}}@media (prefers-reduced-motion:reduce){.pVzKIW_loadingMark{animation:none}}.pVzKIW_messageRun{margin:2px 0;padding:3px 0}.pVzKIW_messageRow[data-grouped]:has(.pVzKIW_messageBody>button:not([data-message-expand])){margin-top:3px;padding-top:7px;position:relative}.pVzKIW_messageRow[data-grouped]:has(.pVzKIW_messageBody>button:not([data-message-expand])):before{background:var(--dsw-alias-border-l2);content:\"\";height:1px;position:absolute;inset:0 0 auto 38px}.pVzKIW_runDivider{border-top:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);margin:2px 0 0 38px;padding:5px 0 0;font-size:11px;line-height:16px}.pVzKIW_runDivider+.pVzKIW_messageRow[data-grouped]:has(.pVzKIW_messageBody>button:not([data-message-expand])){margin-top:0}.pVzKIW_runDivider+.pVzKIW_messageRow[data-grouped]:has(.pVzKIW_messageBody>button:not([data-message-expand])):before{content:none}.pVzKIW_mention{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 12%, transparent);color:var(--dsw-alias-state-business-primary);border-radius:5px;padding:0 4px;font-weight:500;box-shadow:0 1px 2px #00000014}.pVzKIW_mentionsRow{gap:4px;width:fit-content;margin-top:3px;font-size:.85em;display:flex}.pVzKIW_attachmentStrip{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.pVzKIW_attachmentThumb{cursor:zoom-in;border:0;border-radius:8px;padding:0}.pVzKIW_attachmentThumb img{object-fit:cover;border-radius:8px;width:128px;height:96px;display:block}.pVzKIW_attachmentThumb:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,currentColor);outline-offset:1px}.pVzKIW_confirmBody{margin:0 0 8px}.pVzKIW_confirmList{gap:6px;margin:0;padding-left:18px;display:grid}.pVzKIW_refLink{color:var(--dsw-alias-state-business-primary);cursor:pointer;font:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:none;border-radius:4px;padding:0;text-decoration:underline}.pVzKIW_refLink:hover{text-decoration-thickness:2px}.pVzKIW_refLink:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.pVzKIW_attachmentModal{width:min(1100px,92vw)}.pVzKIW_attachmentZoom{object-fit:contain;border-radius:12px;max-width:100%;max-height:78vh;margin:0 auto;display:block}.pVzKIW_attachmentChip{background:var(--dsw-alias-interactive-bg-hover);border-radius:6px;align-items:baseline;gap:6px;max-width:100%;padding:3px 8px;display:inline-flex}.pVzKIW_attachmentChipName{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:17px;overflow:hidden}.pVzKIW_attachmentChipSize{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px;line-height:17px}";
|
|
7351
7557
|
const tagId$4 = "@wowyuarm/dsh-agent-team/conversation.module.css";
|
|
7352
7558
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
7353
7559
|
const tag = document.createElement("style");
|
|
@@ -7357,48 +7563,48 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7357
7563
|
document.head.appendChild(tag);
|
|
7358
7564
|
}
|
|
7359
7565
|
var conversation_module_css_default = {
|
|
7360
|
-
"attachmentChip": "
|
|
7361
|
-
"attachmentChipName": "
|
|
7362
|
-
"attachmentChipSize": "
|
|
7363
|
-
"attachmentModal": "
|
|
7364
|
-
"attachmentStrip": "
|
|
7365
|
-
"attachmentThumb": "
|
|
7366
|
-
"attachmentZoom": "
|
|
7367
|
-
"backRow": "
|
|
7368
|
-
"confirmBody": "
|
|
7369
|
-
"confirmList": "
|
|
7370
|
-
"emptyState": "
|
|
7371
|
-
"emptySurface": "
|
|
7372
|
-
"error": "
|
|
7373
|
-
"errorState": "
|
|
7374
|
-
"headerActions": "
|
|
7375
|
-
"headerCopy": "
|
|
7376
|
-
"headerRow": "
|
|
7377
|
-
"loadingMark": "
|
|
7378
|
-
"loadingState": "
|
|
7379
|
-
"mention": "
|
|
7380
|
-
"mentionsRow": "
|
|
7381
|
-
"messageBody": "
|
|
7382
|
-
"messageClamp": "
|
|
7383
|
-
"messageExpand": "
|
|
7384
|
-
"messageIdentity": "
|
|
7385
|
-
"messageMarkdown": "
|
|
7386
|
-
"messageRow": "
|
|
7387
|
-
"messageRun": "
|
|
7388
|
-
"messageText": "
|
|
7389
|
-
"messageTime": "
|
|
7390
|
-
"nameRow": "
|
|
7391
|
-
"pulse": "
|
|
7392
|
-
"refLink": "
|
|
7393
|
-
"runDivider": "
|
|
7394
|
-
"surface": "
|
|
7395
|
-
"surfaceHeader": "
|
|
7396
|
-
"timeline": "
|
|
7397
|
-
"timelineAction": "
|
|
7398
|
-
"timelineContent": "
|
|
7399
|
-
"welcome": "
|
|
7400
|
-
"welcomeEyebrow": "
|
|
7401
|
-
"welcomeSurface": "
|
|
7566
|
+
"attachmentChip": "pVzKIW_attachmentChip",
|
|
7567
|
+
"attachmentChipName": "pVzKIW_attachmentChipName",
|
|
7568
|
+
"attachmentChipSize": "pVzKIW_attachmentChipSize",
|
|
7569
|
+
"attachmentModal": "pVzKIW_attachmentModal",
|
|
7570
|
+
"attachmentStrip": "pVzKIW_attachmentStrip",
|
|
7571
|
+
"attachmentThumb": "pVzKIW_attachmentThumb",
|
|
7572
|
+
"attachmentZoom": "pVzKIW_attachmentZoom",
|
|
7573
|
+
"backRow": "pVzKIW_backRow",
|
|
7574
|
+
"confirmBody": "pVzKIW_confirmBody",
|
|
7575
|
+
"confirmList": "pVzKIW_confirmList",
|
|
7576
|
+
"emptyState": "pVzKIW_emptyState",
|
|
7577
|
+
"emptySurface": "pVzKIW_emptySurface",
|
|
7578
|
+
"error": "pVzKIW_error",
|
|
7579
|
+
"errorState": "pVzKIW_errorState",
|
|
7580
|
+
"headerActions": "pVzKIW_headerActions",
|
|
7581
|
+
"headerCopy": "pVzKIW_headerCopy",
|
|
7582
|
+
"headerRow": "pVzKIW_headerRow",
|
|
7583
|
+
"loadingMark": "pVzKIW_loadingMark",
|
|
7584
|
+
"loadingState": "pVzKIW_loadingState",
|
|
7585
|
+
"mention": "pVzKIW_mention",
|
|
7586
|
+
"mentionsRow": "pVzKIW_mentionsRow",
|
|
7587
|
+
"messageBody": "pVzKIW_messageBody",
|
|
7588
|
+
"messageClamp": "pVzKIW_messageClamp",
|
|
7589
|
+
"messageExpand": "pVzKIW_messageExpand",
|
|
7590
|
+
"messageIdentity": "pVzKIW_messageIdentity",
|
|
7591
|
+
"messageMarkdown": "pVzKIW_messageMarkdown",
|
|
7592
|
+
"messageRow": "pVzKIW_messageRow",
|
|
7593
|
+
"messageRun": "pVzKIW_messageRun",
|
|
7594
|
+
"messageText": "pVzKIW_messageText",
|
|
7595
|
+
"messageTime": "pVzKIW_messageTime",
|
|
7596
|
+
"nameRow": "pVzKIW_nameRow",
|
|
7597
|
+
"pulse": "pVzKIW_pulse",
|
|
7598
|
+
"refLink": "pVzKIW_refLink",
|
|
7599
|
+
"runDivider": "pVzKIW_runDivider",
|
|
7600
|
+
"surface": "pVzKIW_surface",
|
|
7601
|
+
"surfaceHeader": "pVzKIW_surfaceHeader",
|
|
7602
|
+
"timeline": "pVzKIW_timeline",
|
|
7603
|
+
"timelineAction": "pVzKIW_timelineAction",
|
|
7604
|
+
"timelineContent": "pVzKIW_timelineContent",
|
|
7605
|
+
"welcome": "pVzKIW_welcome",
|
|
7606
|
+
"welcomeEyebrow": "pVzKIW_welcomeEyebrow",
|
|
7607
|
+
"welcomeSurface": "pVzKIW_welcomeSurface"
|
|
7402
7608
|
};
|
|
7403
7609
|
//#endregion
|
|
7404
7610
|
//#region src/client/TeamMessage.tsx
|
|
@@ -7425,6 +7631,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7425
7631
|
]);
|
|
7426
7632
|
const taskLabel = (0, react.useCallback)((taskNumber) => t?.("taskLabel", { number: taskNumber }) ?? `Task #${taskNumber}`, [t]);
|
|
7427
7633
|
const refLabel = (0, react.useCallback)((ref) => ref.startsWith("thread:") ? t?.("threadLabel") ?? "Thread" : ref.startsWith("channel:") ? t?.("channels") ?? "Channels" : ref, [t]);
|
|
7634
|
+
const markdownLabels = (0, react.useMemo)(() => ({
|
|
7635
|
+
code: {
|
|
7636
|
+
copyLabel: t?.("copyCode") ?? "Copy",
|
|
7637
|
+
copiedLabel: t?.("copiedCode") ?? "Copied"
|
|
7638
|
+
},
|
|
7639
|
+
footnotes: t?.("markdownFootnotes") ?? "Footnotes"
|
|
7640
|
+
}), [t]);
|
|
7428
7641
|
const [expanded, setExpanded] = (0, react.useState)(false);
|
|
7429
7642
|
const clampable = shouldClampMessage(displayBody);
|
|
7430
7643
|
const clamped = clampable && !expanded;
|
|
@@ -7480,7 +7693,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7480
7693
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7481
7694
|
ref: markdownRef,
|
|
7482
7695
|
className: conversation_module_css_default.messageMarkdown,
|
|
7483
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
|
|
7696
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
|
|
7697
|
+
text: displayBody,
|
|
7698
|
+
labels: markdownLabels
|
|
7699
|
+
}, `${displayBody}:${onOpenRef === void 0 ? "literal" : "refs"}`)
|
|
7484
7700
|
});
|
|
7485
7701
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("article", {
|
|
7486
7702
|
className: conversation_module_css_default.messageRow,
|
|
@@ -7645,6 +7861,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7645
7861
|
return splitBrandedRefs(text).map((segment, index) => {
|
|
7646
7862
|
if (segment.ref === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: segment.text }, index);
|
|
7647
7863
|
const resolved = cachedResolvedTaskRef(segment.ref);
|
|
7864
|
+
if (segment.ref.startsWith("task:") && resolved === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: segment.text }, index);
|
|
7648
7865
|
const label = resolved !== void 0 && segment.ref.startsWith("task:") ? taskLabel(resolved.taskNumber) : refLabel(segment.ref);
|
|
7649
7866
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7650
7867
|
type: "button",
|
|
@@ -7671,6 +7888,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7671
7888
|
open: true,
|
|
7672
7889
|
...conversation_module_css_default.attachmentModal === void 0 ? {} : { className: conversation_module_css_default.attachmentModal },
|
|
7673
7890
|
title: zoomed.name,
|
|
7891
|
+
closeLabel: t?.("close") ?? "Close",
|
|
7674
7892
|
onClose: () => {
|
|
7675
7893
|
setZoomed(void 0);
|
|
7676
7894
|
},
|
|
@@ -7905,8 +8123,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7905
8123
|
return blocks;
|
|
7906
8124
|
}
|
|
7907
8125
|
//#endregion
|
|
7908
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
7909
|
-
const css$3 = ".
|
|
8126
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/channel.module.css.mjs
|
|
8127
|
+
const css$3 = ".rVidsG_headerMeta{color:var(--dsw-alias-label-tertiary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:12px;line-height:18px;display:flex}.rVidsG_headerMeta span+span:before{content:\"·\";margin-right:6px}.rVidsG_taskFooter{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin:6px 0 0;padding:2px 10px;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.rVidsG_taskFooter:hover,.rVidsG_taskFooter:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3);color:var(--dsw-alias-label-primary)}.rVidsG_taskFooter:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.rVidsG_taskNumber{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600;line-height:18px}.rVidsG_taskStatus,.rVidsG_taskCount{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:18px}.rVidsG_taskDot{flex:none;align-items:center;width:8px;display:inline-flex}.rVidsG_taskArrow{color:var(--dsw-alias-label-tertiary);align-items:center;transition:transform .12s;display:inline-flex}.rVidsG_taskFooter:hover .rVidsG_taskArrow,.rVidsG_taskFooter:focus-visible .rVidsG_taskArrow{transform:translate(2px)}.rVidsG_memberList{gap:3px;display:grid}.rVidsG_memberRow{border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:0 8px;min-height:40px;padding:4px 6px;display:grid}.rVidsG_memberRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.rVidsG_memberCopy{min-width:0;display:grid}.rVidsG_memberCopy strong{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:18px;overflow:hidden}.rVidsG_memberCopy small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:14px;overflow:hidden}.rVidsG_memberAction{min-width:60px}.rVidsG_memberError{color:var(--dsw-alias-state-error-primary);grid-column:2/-1;margin:2px 0;font-size:11px;line-height:16px}.rVidsG_modalBody{max-height:min(65vh,520px);overflow-y:auto}@media (width<=600px){.rVidsG_memberRow{grid-template-columns:14px minmax(0,1fr)}.rVidsG_memberAction{grid-column:2;justify-self:start;margin-top:3px}}@media (prefers-reduced-motion:reduce){.rVidsG_taskFooter,.rVidsG_taskArrow{transition:none}.rVidsG_taskFooter:hover .rVidsG_taskArrow,.rVidsG_taskFooter:focus-visible .rVidsG_taskArrow{transform:none}}";
|
|
7910
8128
|
const tagId$3 = "@wowyuarm/dsh-agent-team/channel.module.css";
|
|
7911
8129
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
7912
8130
|
const tag = document.createElement("style");
|
|
@@ -7916,24 +8134,23 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7916
8134
|
document.head.appendChild(tag);
|
|
7917
8135
|
}
|
|
7918
8136
|
var channel_module_css_default = {
|
|
7919
|
-
"headerMeta": "
|
|
7920
|
-
"memberAction": "
|
|
7921
|
-
"memberCopy": "
|
|
7922
|
-
"memberError": "
|
|
7923
|
-
"memberList": "
|
|
7924
|
-
"memberRow": "
|
|
7925
|
-
"modalBody": "
|
|
7926
|
-
"taskArrow": "
|
|
7927
|
-
"taskCount": "
|
|
7928
|
-
"taskDot": "
|
|
7929
|
-
"
|
|
7930
|
-
"
|
|
7931
|
-
"
|
|
7932
|
-
"taskStatus": "MYaRJa_taskStatus"
|
|
8137
|
+
"headerMeta": "rVidsG_headerMeta",
|
|
8138
|
+
"memberAction": "rVidsG_memberAction",
|
|
8139
|
+
"memberCopy": "rVidsG_memberCopy",
|
|
8140
|
+
"memberError": "rVidsG_memberError",
|
|
8141
|
+
"memberList": "rVidsG_memberList",
|
|
8142
|
+
"memberRow": "rVidsG_memberRow",
|
|
8143
|
+
"modalBody": "rVidsG_modalBody",
|
|
8144
|
+
"taskArrow": "rVidsG_taskArrow",
|
|
8145
|
+
"taskCount": "rVidsG_taskCount",
|
|
8146
|
+
"taskDot": "rVidsG_taskDot",
|
|
8147
|
+
"taskFooter": "rVidsG_taskFooter",
|
|
8148
|
+
"taskNumber": "rVidsG_taskNumber",
|
|
8149
|
+
"taskStatus": "rVidsG_taskStatus"
|
|
7933
8150
|
};
|
|
7934
8151
|
//#endregion
|
|
7935
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
7936
|
-
const css$2 = "
|
|
8152
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/thread.module.css.mjs
|
|
8153
|
+
const css$2 = ".QyE3bW_titleLine{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.QyE3bW_titleLine h1{margin:0}.QyE3bW_workSection{border-top:1px solid var(--dsw-alias-border-l2);max-width:880px;margin:12px auto 0;padding-top:8px}.QyE3bW_riskSection{border-top:1px solid var(--dsw-alias-border-l2);max-width:880px;margin:12px auto 0;padding-top:10px}.QyE3bW_riskSection h2{color:var(--dsw-alias-state-error-primary);margin:0 0 5px;font-size:12px;font-weight:600;line-height:18px}.QyE3bW_riskRow{color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;margin:3px 0;font-size:12px;line-height:18px;display:flex}.QyE3bW_claimList{gap:4px;padding:4px 0 2px 22px;display:grid}.QyE3bW_claimRow{border-radius:6px;grid-template-columns:14px minmax(96px,auto) minmax(0,1fr) auto auto;align-items:center;gap:4px 8px;min-height:36px;padding:4px 6px;display:grid}.QyE3bW_claimRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.QyE3bW_claimOwner{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;line-height:18px;overflow:hidden}.QyE3bW_claimDirection{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:18px}.QyE3bW_claimState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px;line-height:18px}.QyE3bW_emptyClaims{color:var(--dsw-alias-label-tertiary);margin:0;padding:5px 6px;font-size:11px;line-height:18px}.QyE3bW_activityRow{color:var(--dsw-alias-label-tertiary);text-align:center;justify-content:center;align-items:center;gap:8px;max-width:100%;margin:4px auto;padding:5px 12px;font-size:11px;line-height:18px;display:flex}.QyE3bW_activityText{overflow-wrap:anywhere;min-width:0}.QyE3bW_activityMark{background:var(--dsw-alias-border-l3);border-radius:50%;flex:0 0 5px;width:5px;height:5px}.QyE3bW_activityRow:has(+.QyE3bW_activityRow),.QyE3bW_activityRow+.QyE3bW_activityRow{text-align:left;justify-content:flex-start;padding-left:38px}.QyE3bW_historySection{border-bottom:1px solid var(--dsw-alias-border-l2);max-width:100%;margin:0 auto 12px;padding-bottom:10px}.QyE3bW_historySection h2{color:var(--dsw-alias-label-tertiary);letter-spacing:.02em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:600;line-height:16px}.QyE3bW_publicSection{min-width:0}.QyE3bW_unreadBoundary{color:var(--dsw-alias-label-tertiary);align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:16px;display:flex}.QyE3bW_unreadBoundary:before,.QyE3bW_unreadBoundary:after{background:var(--dsw-alias-border-l3);content:\"\";flex:1;height:1px}.QyE3bW_unreadBoundary span{flex:none}.QyE3bW_daySeparator{color:var(--dsw-alias-label-tertiary);letter-spacing:.02em;align-items:center;gap:10px;margin:12px 0 4px;font-size:11px;line-height:16px;display:flex}.QyE3bW_daySeparator:before,.QyE3bW_daySeparator:after{background:var(--dsw-alias-border-l2);content:\"\";flex:1;height:1px}.QyE3bW_daySeparator span{flex:none}.QyE3bW_newUpdates{background:var(--dsw-specific-input-major,var(--dsw-alias-bg-layer-1));border:1px solid var(--dsw-alias-border-l2-darkmode-thin);box-shadow:var(--dsw-shadow-lv2);z-index:2;border-radius:999px;justify-content:center;align-items:center;width:fit-content;margin:8px auto;padding:4px 12px;font-size:12px;line-height:18px;display:flex;position:sticky;bottom:8px}.QyE3bW_newUpdatesJump{color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;line-height:inherit;background:0 0;border:0;padding:0}.QyE3bW_newUpdatesJump:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px;border-radius:6px}.QyE3bW_taskTitle{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;line-height:20px;display:-webkit-box;overflow:hidden}.QyE3bW_closedBar{flex-direction:column;align-items:center;display:flex}.QyE3bW_closedNotice{color:var(--dsw-alias-label-tertiary);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:10px 16px 14px;font-size:13px;line-height:20px;display:flex}@media (width<=600px){.QyE3bW_claimRow{grid-template-columns:14px minmax(0,1fr) auto;align-items:start}.QyE3bW_claimState{grid-area:1/3;justify-self:end}.QyE3bW_claimDirection{grid-column:2/-1}.QyE3bW_activityRow{padding-inline:0}.QyE3bW_newUpdates{max-width:calc(100% - 16px)}}";
|
|
7937
8154
|
const tagId$2 = "@wowyuarm/dsh-agent-team/thread.module.css";
|
|
7938
8155
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
7939
8156
|
const tag = document.createElement("style");
|
|
@@ -7943,28 +8160,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7943
8160
|
document.head.appendChild(tag);
|
|
7944
8161
|
}
|
|
7945
8162
|
var thread_module_css_default = {
|
|
7946
|
-
"activityMark": "
|
|
7947
|
-
"activityRow": "
|
|
7948
|
-
"activityText": "
|
|
7949
|
-
"claimDirection": "
|
|
7950
|
-
"claimList": "
|
|
7951
|
-
"claimOwner": "
|
|
7952
|
-
"claimRow": "
|
|
7953
|
-
"claimState": "
|
|
7954
|
-
"closedBar": "
|
|
7955
|
-
"closedNotice": "
|
|
7956
|
-
"daySeparator": "
|
|
7957
|
-
"emptyClaims": "
|
|
7958
|
-
"historySection": "
|
|
7959
|
-
"newUpdates": "
|
|
7960
|
-
"newUpdatesJump": "
|
|
7961
|
-
"publicSection": "
|
|
7962
|
-
"riskRow": "
|
|
7963
|
-
"riskSection": "
|
|
7964
|
-
"taskTitle": "
|
|
7965
|
-
"titleLine": "
|
|
7966
|
-
"unreadBoundary": "
|
|
7967
|
-
"workSection": "
|
|
8163
|
+
"activityMark": "QyE3bW_activityMark",
|
|
8164
|
+
"activityRow": "QyE3bW_activityRow",
|
|
8165
|
+
"activityText": "QyE3bW_activityText",
|
|
8166
|
+
"claimDirection": "QyE3bW_claimDirection",
|
|
8167
|
+
"claimList": "QyE3bW_claimList",
|
|
8168
|
+
"claimOwner": "QyE3bW_claimOwner",
|
|
8169
|
+
"claimRow": "QyE3bW_claimRow",
|
|
8170
|
+
"claimState": "QyE3bW_claimState",
|
|
8171
|
+
"closedBar": "QyE3bW_closedBar",
|
|
8172
|
+
"closedNotice": "QyE3bW_closedNotice",
|
|
8173
|
+
"daySeparator": "QyE3bW_daySeparator",
|
|
8174
|
+
"emptyClaims": "QyE3bW_emptyClaims",
|
|
8175
|
+
"historySection": "QyE3bW_historySection",
|
|
8176
|
+
"newUpdates": "QyE3bW_newUpdates",
|
|
8177
|
+
"newUpdatesJump": "QyE3bW_newUpdatesJump",
|
|
8178
|
+
"publicSection": "QyE3bW_publicSection",
|
|
8179
|
+
"riskRow": "QyE3bW_riskRow",
|
|
8180
|
+
"riskSection": "QyE3bW_riskSection",
|
|
8181
|
+
"taskTitle": "QyE3bW_taskTitle",
|
|
8182
|
+
"titleLine": "QyE3bW_titleLine",
|
|
8183
|
+
"unreadBoundary": "QyE3bW_unreadBoundary",
|
|
8184
|
+
"workSection": "QyE3bW_workSection"
|
|
7968
8185
|
};
|
|
7969
8186
|
//#endregion
|
|
7970
8187
|
//#region src/client/TeamChannelPage.tsx
|
|
@@ -8039,7 +8256,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8039
8256
|
const timeline = useTimelineScroll(`${view?.items.length ?? 0}:${channelLastItem?.message.messageRef ?? ""}`);
|
|
8040
8257
|
const channel = view?.channels.find((item) => item.channelRef === channelRef);
|
|
8041
8258
|
const channelMemberIds = new Set(view?.members.filter((item) => item.channelRef === channelRef).map((item) => item.memberId) ?? []);
|
|
8042
|
-
const channelMembers = members.filter((status) => channelMemberIds.has(status.member.memberId) && status.member.state !== "inactive");
|
|
8259
|
+
const channelMembers = members.filter((status) => channelMemberIds.has(status.member.memberId) && status.member.state !== "inactive" && status.member.state !== "archived");
|
|
8043
8260
|
const onlineCount = channelMembers.filter((status) => status.presence === "available" || status.presence === "working").length;
|
|
8044
8261
|
const messageSender = (item) => item.message.sender;
|
|
8045
8262
|
const mentionHandlesMap = new Map(members.map((status) => [status.member.memberId, status.member.handle.replace(/^@/, "")]));
|
|
@@ -8268,7 +8485,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8268
8485
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8269
8486
|
ref: memberListRef,
|
|
8270
8487
|
className: channel_module_css_default.memberList,
|
|
8271
|
-
children: members.filter((status) => status.member.state !== "inactive").map((status) => {
|
|
8488
|
+
children: members.filter((status) => status.member.state !== "inactive" && status.member.state !== "archived").map((status) => {
|
|
8272
8489
|
const joined = channelMemberIds.has(status.member.memberId);
|
|
8273
8490
|
const rowPending = membership.pending.has(status.member.memberId);
|
|
8274
8491
|
const disabled = rowPending || !joined && status.presence === "unavailable";
|
|
@@ -8398,16 +8615,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8398
8615
|
children: [
|
|
8399
8616
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8400
8617
|
className: channel_module_css_default.taskDot,
|
|
8401
|
-
children: ((
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
state: dot
|
|
8406
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8407
|
-
className: channel_module_css_default.taskDotQuiet,
|
|
8408
|
-
"data-variant": dot
|
|
8409
|
-
});
|
|
8410
|
-
})()
|
|
8618
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamStateDot, {
|
|
8619
|
+
size: 8,
|
|
8620
|
+
state: taskStatusDot(item.task.status)
|
|
8621
|
+
})
|
|
8411
8622
|
}),
|
|
8412
8623
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8413
8624
|
className: channel_module_css_default.taskNumber,
|
|
@@ -8508,7 +8719,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8508
8719
|
return new Map(facts.map((fact) => [factKey(fact.fact), fact]));
|
|
8509
8720
|
}
|
|
8510
8721
|
function TeamThreadPage(props) {
|
|
8511
|
-
const { workspaceId, channelRef, taskRef, threadRef, taskNumber, backToWorkspace, selectChannel, selectThread, resolveTaskRefs, putAttachment, loadChannels, readThread, loadThreadHistory, subscribeChanges, loadMembers, drafts, getAttachment, reply, changeTask, promoteThread, t } = props;
|
|
8722
|
+
const { workspaceId, channelRef, taskRef, threadRef, taskNumber, backToWorkspace, selectChannel, selectThread, resolveTaskRefs, putAttachment, loadChannels, readThread, loadThreadHistory, threadObservations, subscribeChanges, loadMembers, drafts, getAttachment, reply, changeTask, promoteThread, t } = props;
|
|
8512
8723
|
const threadRequest = {
|
|
8513
8724
|
threadRef,
|
|
8514
8725
|
...taskRef === void 0 ? {} : { taskRef }
|
|
@@ -8516,6 +8727,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8516
8727
|
const [projection, setProjection] = (0, react.useState)();
|
|
8517
8728
|
const [channelView, setChannelView] = (0, react.useState)();
|
|
8518
8729
|
const [members, setMembers] = (0, react.useState)([]);
|
|
8730
|
+
const [followerIds, setFollowerIds] = (0, react.useState)(() => /* @__PURE__ */ new Set());
|
|
8519
8731
|
const [currentFacts, setCurrentFacts] = (0, react.useState)([]);
|
|
8520
8732
|
const [olderFacts, setOlderFacts] = (0, react.useState)([]);
|
|
8521
8733
|
const [readFacts, setReadFacts] = (0, react.useState)([]);
|
|
@@ -8644,10 +8856,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8644
8856
|
});
|
|
8645
8857
|
if (additions.length === 0) return;
|
|
8646
8858
|
if (!timeline.isPinned()) setNewFactsCount((current) => current + additions.length);
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8859
|
+
await readCurrent(true);
|
|
8860
|
+
} catch {}
|
|
8861
|
+
};
|
|
8862
|
+
const refreshFollowers = async () => {
|
|
8863
|
+
try {
|
|
8864
|
+
const result = await threadObservations({
|
|
8865
|
+
workspaceId,
|
|
8866
|
+
...threadRequest
|
|
8867
|
+
});
|
|
8868
|
+
if (!mountedRef.current || !result.ok) return;
|
|
8869
|
+
setFollowerIds(new Set(result.value.followers));
|
|
8651
8870
|
} catch {}
|
|
8652
8871
|
};
|
|
8653
8872
|
(0, react.useEffect)(() => {
|
|
@@ -8656,6 +8875,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8656
8875
|
setProjection(void 0);
|
|
8657
8876
|
setChannelView(void 0);
|
|
8658
8877
|
setMembers([]);
|
|
8878
|
+
setFollowerIds(/* @__PURE__ */ new Set());
|
|
8659
8879
|
setCurrentFacts([]);
|
|
8660
8880
|
currentFactsRef.current = [];
|
|
8661
8881
|
setOlderFacts([]);
|
|
@@ -8670,15 +8890,22 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8670
8890
|
sequenceRef.current = sequence;
|
|
8671
8891
|
setLoading(true);
|
|
8672
8892
|
(async () => {
|
|
8673
|
-
const [read, history] = await Promise.all([
|
|
8674
|
-
|
|
8675
|
-
|
|
8676
|
-
|
|
8677
|
-
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
8893
|
+
const [read, history, observations] = await Promise.all([
|
|
8894
|
+
readThread({
|
|
8895
|
+
requestId: readRequestIdRef.current,
|
|
8896
|
+
workspaceId,
|
|
8897
|
+
...threadRequest
|
|
8898
|
+
}),
|
|
8899
|
+
loadThreadHistory({
|
|
8900
|
+
workspaceId,
|
|
8901
|
+
...threadRequest,
|
|
8902
|
+
limit: 20
|
|
8903
|
+
}).catch(() => void 0),
|
|
8904
|
+
threadObservations({
|
|
8905
|
+
workspaceId,
|
|
8906
|
+
...threadRequest
|
|
8907
|
+
}).catch(() => void 0)
|
|
8908
|
+
]);
|
|
8682
8909
|
if (!mountedRef.current || sequence !== sequenceRef.current) return;
|
|
8683
8910
|
if (!read.ok) {
|
|
8684
8911
|
setError(read.error.message);
|
|
@@ -8696,6 +8923,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8696
8923
|
setHistoryCursor(history.value.cursor);
|
|
8697
8924
|
setHistoryHasMore(history.value.hasMore);
|
|
8698
8925
|
}
|
|
8926
|
+
if (observations !== void 0 && observations.ok) setFollowerIds(new Set(observations.value.followers));
|
|
8699
8927
|
setError(void 0);
|
|
8700
8928
|
setLoading(false);
|
|
8701
8929
|
await drainUnread();
|
|
@@ -8711,6 +8939,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8711
8939
|
return;
|
|
8712
8940
|
}
|
|
8713
8941
|
refreshPassiveFacts();
|
|
8942
|
+
refreshFollowers();
|
|
8714
8943
|
}), subscribeChanges({
|
|
8715
8944
|
kind: "workspace",
|
|
8716
8945
|
workspaceId
|
|
@@ -8740,6 +8969,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8740
8969
|
olderFacts,
|
|
8741
8970
|
timeline
|
|
8742
8971
|
]);
|
|
8972
|
+
const handleTimelineScroll = () => {
|
|
8973
|
+
timeline.onScroll();
|
|
8974
|
+
if (timeline.isPinned()) setNewFactsCount(0);
|
|
8975
|
+
};
|
|
8743
8976
|
const loadOlder = async () => {
|
|
8744
8977
|
if (historyHasMore === false && historyCursor === void 0) return;
|
|
8745
8978
|
const beforeSequence = historyCursor ?? minSequence(currentFactsRef.current);
|
|
@@ -9132,7 +9365,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9132
9365
|
className: conversation_module_css_default.headerCopy,
|
|
9133
9366
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9134
9367
|
className: thread_module_css_default.titleLine,
|
|
9135
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h1", { children: task === void 0 ? t("threadLabel") : t("taskLabel", { number: resolvedTaskNumber ?? "…" }) }), task !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.
|
|
9368
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h1", { children: task === void 0 ? t("threadLabel") : t("taskLabel", { number: resolvedTaskNumber ?? "…" }) }), task !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_deepseek_ai_dsh_client_ui_primitives.Pill, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamStateDot, {
|
|
9369
|
+
size: 8,
|
|
9370
|
+
state: taskStatusDot(task.status)
|
|
9371
|
+
}), formatTaskStatus(task.status, t)] })]
|
|
9136
9372
|
}), taskTitle !== void 0 && taskTitle !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
9137
9373
|
className: thread_module_css_default.taskTitle,
|
|
9138
9374
|
title: taskTitle,
|
|
@@ -9290,7 +9526,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9290
9526
|
}),
|
|
9291
9527
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("section", {
|
|
9292
9528
|
ref: timeline.ref,
|
|
9293
|
-
onScroll:
|
|
9529
|
+
onScroll: handleTimelineScroll,
|
|
9294
9530
|
className: conversation_module_css_default.timeline,
|
|
9295
9531
|
"aria-label": t("timelineLabel"),
|
|
9296
9532
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -9356,7 +9592,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9356
9592
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9357
9593
|
type: "button",
|
|
9358
9594
|
className: thread_module_css_default.newUpdatesJump,
|
|
9359
|
-
onClick:
|
|
9595
|
+
onClick: () => {
|
|
9596
|
+
setNewFactsCount(0);
|
|
9597
|
+
timeline.scrollToBottom();
|
|
9598
|
+
},
|
|
9360
9599
|
children: t("newUpdatesJump", { count: newFactsCount })
|
|
9361
9600
|
})
|
|
9362
9601
|
})
|
|
@@ -9384,6 +9623,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9384
9623
|
})]
|
|
9385
9624
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamComposer, {
|
|
9386
9625
|
members: channelMembers,
|
|
9626
|
+
followerMemberIds: followerIds,
|
|
9387
9627
|
recipients,
|
|
9388
9628
|
draft,
|
|
9389
9629
|
pending,
|
|
@@ -9414,7 +9654,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9414
9654
|
}
|
|
9415
9655
|
//#endregion
|
|
9416
9656
|
//#region src/client/TeamConversation.tsx
|
|
9417
|
-
function TeamConversation({ t, useWorkspaces, navigation, drafts, putAttachment, getAttachment, loadChannels, readThread, loadThreadHistory, subscribeChanges, loadMembers, sendMessage, joinChannel, removeChannelMember, reply, changeTask, promoteThread, selectThread, selectChannel, backToWorkspace, backToChannels, resolveTaskRefs }) {
|
|
9657
|
+
function TeamConversation({ t, useWorkspaces, navigation, drafts, putAttachment, getAttachment, loadChannels, readThread, loadThreadHistory, threadObservations, subscribeChanges, loadMembers, sendMessage, joinChannel, removeChannelMember, reply, changeTask, promoteThread, selectThread, selectChannel, backToWorkspace, backToChannels, resolveTaskRefs }) {
|
|
9418
9658
|
const navigationState = (0, react.useSyncExternalStore)(navigation.subscribe, navigation.getSnapshot, navigation.getSnapshot);
|
|
9419
9659
|
const current = useWorkspaces((state) => state.items).find((workspace) => workspace.workspaceId === navigationState.workspaceId);
|
|
9420
9660
|
if (current !== void 0 && navigationState.threadRef !== void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamThreadPage, {
|
|
@@ -9433,6 +9673,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9433
9673
|
readThread,
|
|
9434
9674
|
loadChannels,
|
|
9435
9675
|
loadThreadHistory,
|
|
9676
|
+
threadObservations,
|
|
9436
9677
|
subscribeChanges,
|
|
9437
9678
|
loadMembers,
|
|
9438
9679
|
reply,
|
|
@@ -9484,8 +9725,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9484
9725
|
});
|
|
9485
9726
|
}
|
|
9486
9727
|
//#endregion
|
|
9487
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
9488
|
-
const css$1 = "html[data-agent-team-mode=team] button[class*=newSession]{display:none}.
|
|
9728
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/sidebar.module.css.mjs
|
|
9729
|
+
const css$1 = "html[data-agent-team-mode=team] button[class*=newSession]{display:none}.Xvc-qG_workspaceBrowser{flex-direction:column;height:100%;min-height:0;padding:0 8px 8px;display:flex}.Xvc-qG_railButton{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.Xvc-qG_railButton:hover,.Xvc-qG_railButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);outline:none}.Xvc-qG_workspaceList{flex-direction:column;gap:2px;padding-bottom:2px;display:flex}.Xvc-qG_workspaceRow{color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;width:100%;height:34px;padding:0 8px;display:flex}.Xvc-qG_workspaceRow:hover,.Xvc-qG_workspaceRow:focus-visible,.Xvc-qG_workspaceRow[aria-current=page]{background:var(--dsw-alias-interactive-bg-hover);outline:none}.Xvc-qG_workspaceRow:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l3)}.Xvc-qG_workspaceIcon{color:var(--dsw-alias-label-tertiary);flex:0 0 16px;justify-content:center;align-items:center;height:20px;display:inline-flex}.Xvc-qG_workspaceRow[data-selected] .Xvc-qG_workspaceIcon{color:var(--dsw-alias-state-business-primary)}.Xvc-qG_workspaceCopy{min-width:0;display:flex}.Xvc-qG_workspaceCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:20px;overflow:hidden}.Xvc-qG_emptyState{color:var(--dsw-alias-label-tertiary);margin:8px;font-size:12px;line-height:18px}.Xvc-qG_railWorkspace{flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.Xvc-qG_railButton{border-radius:50%;width:36px;height:36px}.Xvc-qG_railButton[data-active]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Xvc-qG_workspaceSection{flex-direction:column;flex:1;gap:4px;min-height:0;margin-top:2px;display:flex;overflow-y:auto}.Xvc-qG_section{flex-direction:column;display:flex}.Xvc-qG_sectionHeader{align-items:center;min-height:26px;padding-right:2px;display:flex}.Xvc-qG_sectionToggle{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;min-width:0;min-height:24px;padding:0 6px;font-size:12px;line-height:18px;display:inline-flex}.Xvc-qG_sectionToggle:focus-visible{outline:none}.Xvc-qG_sectionToggle:hover .Xvc-qG_sectionChevron,.Xvc-qG_sectionToggle:focus-visible .Xvc-qG_sectionChevron{color:var(--dsw-alias-label-primary)}.Xvc-qG_sectionChevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .12s,color .12s}.Xvc-qG_sectionToggle[aria-expanded=false] .Xvc-qG_sectionChevron{transform:rotate(-90deg)}.Xvc-qG_sectionTitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Xvc-qG_sectionActions{align-items:center;margin-left:auto;display:inline-flex}.Xvc-qG_panel{flex-direction:column;display:flex}.Xvc-qG_iconButton{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.Xvc-qG_iconButton:hover,.Xvc-qG_iconButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);outline:none}.Xvc-qG_textButton{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 5px;font-size:11px;line-height:18px}.Xvc-qG_textButton:hover,.Xvc-qG_textButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);outline:none}.Xvc-qG_textButton:disabled{cursor:not-allowed;opacity:.4}.Xvc-qG_channelList,.Xvc-qG_agentList{flex-direction:column;gap:1px;padding:0 4px 4px;display:flex}.Xvc-qG_sidebarRowDragging{opacity:.5}.Xvc-qG_sidebarRowDropBefore,.Xvc-qG_sidebarRowDropAfter{position:relative}.Xvc-qG_sidebarRowDropBefore:before,.Xvc-qG_sidebarRowDropAfter:after{content:\"\";z-index:1;background:linear-gradient(55deg, transparent calc(50% - 1px), var(--dsw-alias-state-business-primary) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) 0 0 / 5px 7px no-repeat, linear-gradient(125deg, transparent calc(50% - 1px), var(--dsw-alias-state-business-primary) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) 0 5px / 5px 7px no-repeat, linear-gradient(var(--dsw-alias-state-business-primary) 0 0) 4px 5px / calc(100% - 4px) 2px no-repeat;pointer-events:none;height:12px;position:absolute;left:0;right:4px}.Xvc-qG_sidebarRowDropBefore:before{top:-7px}.Xvc-qG_sidebarRowDropAfter:after{bottom:-7px}.Xvc-qG_channelRow{color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;min-height:30px;display:flex;position:relative}.Xvc-qG_channelSelect{box-sizing:border-box;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;min-width:0;min-height:30px;padding:3px 4px 3px 8px;display:flex}.Xvc-qG_channelSelect:focus-visible{outline:none}.Xvc-qG_channelName{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:18px;overflow:hidden}.Xvc-qG_agentRow{color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;min-height:38px;display:flex;position:relative}.Xvc-qG_agentSelect{box-sizing:border-box;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:0 8px;min-width:0;min-height:38px;padding:3px 4px 3px 8px;display:grid}.Xvc-qG_agentSelect:focus-visible{outline:none}.Xvc-qG_agentSelect[aria-current=page]{background:var(--dsw-alias-interactive-bg-hover);border-radius:8px}.Xvc-qG_agentRow:hover .Xvc-qG_agentSelect[aria-current=page],.Xvc-qG_agentRow:focus-within .Xvc-qG_agentSelect[aria-current=page],.Xvc-qG_agentRow[data-menu-open] .Xvc-qG_agentSelect[aria-current=page]{background:0 0}.Xvc-qG_agentAvatar{background:hsl(var(--team-avatar-hue,212) 42% 46%);color:#fff;cursor:default;border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.Xvc-qG_agentAvatarBadge{background:var(--dsw-specific-sidebar-fill);box-shadow:0 0 0 1px var(--dsw-specific-sidebar-fill);border-radius:50%;justify-content:center;align-items:center;width:12px;height:12px;padding:1px;line-height:0;display:inline-flex;position:absolute;bottom:-3px;right:-3px}.Xvc-qG_agentCopy{flex-direction:column;min-width:0;display:flex}.Xvc-qG_agentCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:17px;overflow:hidden}.Xvc-qG_agentCopy small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:13px;overflow:hidden}.Xvc-qG_unavailableDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;width:7px;height:7px;display:inline-block}.Xvc-qG_rowMenu{flex:none;align-items:center;padding-right:4px;display:none}.Xvc-qG_channelRow:hover .Xvc-qG_rowMenu,.Xvc-qG_channelRow:focus-within .Xvc-qG_rowMenu,.Xvc-qG_channelRow[data-menu-open] .Xvc-qG_rowMenu,.Xvc-qG_agentRow:hover .Xvc-qG_rowMenu,.Xvc-qG_agentRow:focus-within .Xvc-qG_rowMenu,.Xvc-qG_agentRow[data-menu-open] .Xvc-qG_rowMenu{display:inline-flex}.Xvc-qG_channelRow[data-menu-open],.Xvc-qG_agentRow[data-menu-open],.Xvc-qG_channelRow:hover,.Xvc-qG_agentRow:hover,.Xvc-qG_channelRow:focus-within,.Xvc-qG_agentRow:focus-within,.Xvc-qG_channelRow[aria-current=page]{background:var(--dsw-alias-interactive-bg-hover)}.Xvc-qG_rowMenuButton{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.Xvc-qG_rowMenuButton:hover,.Xvc-qG_rowMenuButton:focus-visible{color:var(--dsw-alias-label-primary);outline:none}.Xvc-qG_retryError{color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px;font-size:11px;display:flex}.Xvc-qG_rowAlert{color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;padding:2px 8px 6px;font-size:11px}.Xvc-qG_editDescription{color:var(--dsw-alias-label-secondary);margin:0 0 10px;font-size:12px;line-height:18px}.Xvc-qG_editMemberList{gap:3px;display:grid}.Xvc-qG_editMemberRow{border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:0 8px;min-height:40px;padding:3px 6px;display:grid}.Xvc-qG_editMemberRowChannels{grid-template-columns:minmax(0,1fr) auto}.Xvc-qG_editMemberRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.Xvc-qG_editMemberCopy{min-width:0;display:grid}.Xvc-qG_editMemberCopy strong{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:18px;overflow:hidden}.Xvc-qG_editMemberCopy small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:14px;overflow:hidden}.Xvc-qG_editChannelName{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:18px;overflow:hidden}.Xvc-qG_editMemberRow button{min-width:60px}.Xvc-qG_editHint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:16px}.Xvc-qG_menuHint{color:var(--dsw-alias-label-tertiary);margin-left:4px;font-size:10px;line-height:14px}.Xvc-qG_rowError{color:var(--dsw-alias-state-error-primary);grid-column:1/-1;margin:2px 0;font-size:11px;line-height:16px}";
|
|
9489
9730
|
const tagId$1 = "@wowyuarm/dsh-agent-team/sidebar.module.css";
|
|
9490
9731
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
9491
9732
|
const tag = document.createElement("style");
|
|
@@ -9495,51 +9736,51 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9495
9736
|
document.head.appendChild(tag);
|
|
9496
9737
|
}
|
|
9497
9738
|
var sidebar_module_css_default = {
|
|
9498
|
-
"agentAvatar": "
|
|
9499
|
-
"agentAvatarBadge": "
|
|
9500
|
-
"agentCopy": "
|
|
9501
|
-
"agentList": "
|
|
9502
|
-
"agentRow": "
|
|
9503
|
-
"agentSelect": "
|
|
9504
|
-
"channelList": "
|
|
9505
|
-
"channelName": "
|
|
9506
|
-
"channelRow": "
|
|
9507
|
-
"channelSelect": "
|
|
9508
|
-
"editChannelName": "
|
|
9509
|
-
"editDescription": "
|
|
9510
|
-
"editHint": "
|
|
9511
|
-
"editMemberCopy": "
|
|
9512
|
-
"editMemberList": "
|
|
9513
|
-
"editMemberRow": "
|
|
9514
|
-
"editMemberRowChannels": "
|
|
9515
|
-
"emptyState": "
|
|
9516
|
-
"iconButton": "
|
|
9517
|
-
"menuHint": "
|
|
9518
|
-
"panel": "
|
|
9519
|
-
"railButton": "
|
|
9520
|
-
"railWorkspace": "
|
|
9521
|
-
"retryError": "
|
|
9522
|
-
"rowAlert": "
|
|
9523
|
-
"rowError": "
|
|
9524
|
-
"rowMenu": "
|
|
9525
|
-
"rowMenuButton": "
|
|
9526
|
-
"section": "
|
|
9527
|
-
"sectionActions": "
|
|
9528
|
-
"sectionChevron": "
|
|
9529
|
-
"sectionHeader": "
|
|
9530
|
-
"sectionTitle": "
|
|
9531
|
-
"sectionToggle": "
|
|
9532
|
-
"sidebarRowDragging": "
|
|
9533
|
-
"sidebarRowDropAfter": "
|
|
9534
|
-
"sidebarRowDropBefore": "
|
|
9535
|
-
"textButton": "
|
|
9536
|
-
"unavailableDot": "
|
|
9537
|
-
"workspaceBrowser": "
|
|
9538
|
-
"workspaceCopy": "
|
|
9539
|
-
"workspaceIcon": "
|
|
9540
|
-
"workspaceList": "
|
|
9541
|
-
"workspaceRow": "
|
|
9542
|
-
"workspaceSection": "
|
|
9739
|
+
"agentAvatar": "Xvc-qG_agentAvatar",
|
|
9740
|
+
"agentAvatarBadge": "Xvc-qG_agentAvatarBadge",
|
|
9741
|
+
"agentCopy": "Xvc-qG_agentCopy",
|
|
9742
|
+
"agentList": "Xvc-qG_agentList",
|
|
9743
|
+
"agentRow": "Xvc-qG_agentRow",
|
|
9744
|
+
"agentSelect": "Xvc-qG_agentSelect",
|
|
9745
|
+
"channelList": "Xvc-qG_channelList",
|
|
9746
|
+
"channelName": "Xvc-qG_channelName",
|
|
9747
|
+
"channelRow": "Xvc-qG_channelRow",
|
|
9748
|
+
"channelSelect": "Xvc-qG_channelSelect",
|
|
9749
|
+
"editChannelName": "Xvc-qG_editChannelName",
|
|
9750
|
+
"editDescription": "Xvc-qG_editDescription",
|
|
9751
|
+
"editHint": "Xvc-qG_editHint",
|
|
9752
|
+
"editMemberCopy": "Xvc-qG_editMemberCopy",
|
|
9753
|
+
"editMemberList": "Xvc-qG_editMemberList",
|
|
9754
|
+
"editMemberRow": "Xvc-qG_editMemberRow",
|
|
9755
|
+
"editMemberRowChannels": "Xvc-qG_editMemberRowChannels",
|
|
9756
|
+
"emptyState": "Xvc-qG_emptyState",
|
|
9757
|
+
"iconButton": "Xvc-qG_iconButton",
|
|
9758
|
+
"menuHint": "Xvc-qG_menuHint",
|
|
9759
|
+
"panel": "Xvc-qG_panel",
|
|
9760
|
+
"railButton": "Xvc-qG_railButton",
|
|
9761
|
+
"railWorkspace": "Xvc-qG_railWorkspace",
|
|
9762
|
+
"retryError": "Xvc-qG_retryError",
|
|
9763
|
+
"rowAlert": "Xvc-qG_rowAlert",
|
|
9764
|
+
"rowError": "Xvc-qG_rowError",
|
|
9765
|
+
"rowMenu": "Xvc-qG_rowMenu",
|
|
9766
|
+
"rowMenuButton": "Xvc-qG_rowMenuButton",
|
|
9767
|
+
"section": "Xvc-qG_section",
|
|
9768
|
+
"sectionActions": "Xvc-qG_sectionActions",
|
|
9769
|
+
"sectionChevron": "Xvc-qG_sectionChevron",
|
|
9770
|
+
"sectionHeader": "Xvc-qG_sectionHeader",
|
|
9771
|
+
"sectionTitle": "Xvc-qG_sectionTitle",
|
|
9772
|
+
"sectionToggle": "Xvc-qG_sectionToggle",
|
|
9773
|
+
"sidebarRowDragging": "Xvc-qG_sidebarRowDragging",
|
|
9774
|
+
"sidebarRowDropAfter": "Xvc-qG_sidebarRowDropAfter",
|
|
9775
|
+
"sidebarRowDropBefore": "Xvc-qG_sidebarRowDropBefore",
|
|
9776
|
+
"textButton": "Xvc-qG_textButton",
|
|
9777
|
+
"unavailableDot": "Xvc-qG_unavailableDot",
|
|
9778
|
+
"workspaceBrowser": "Xvc-qG_workspaceBrowser",
|
|
9779
|
+
"workspaceCopy": "Xvc-qG_workspaceCopy",
|
|
9780
|
+
"workspaceIcon": "Xvc-qG_workspaceIcon",
|
|
9781
|
+
"workspaceList": "Xvc-qG_workspaceList",
|
|
9782
|
+
"workspaceRow": "Xvc-qG_workspaceRow",
|
|
9783
|
+
"workspaceSection": "Xvc-qG_workspaceSection"
|
|
9543
9784
|
};
|
|
9544
9785
|
//#endregion
|
|
9545
9786
|
//#region src/client/TeamWorkspaceRow.tsx
|
|
@@ -9696,10 +9937,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9696
9937
|
children: [status.member.handle.replace("@", "").slice(0, 1).toUpperCase(), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9697
9938
|
className: sidebar_module_css_default.agentAvatarBadge,
|
|
9698
9939
|
"aria-hidden": "true",
|
|
9699
|
-
children:
|
|
9700
|
-
state,
|
|
9701
|
-
size: 8
|
|
9702
|
-
})
|
|
9940
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamStateDot, { state })
|
|
9703
9941
|
})]
|
|
9704
9942
|
})
|
|
9705
9943
|
});
|
|
@@ -9979,8 +10217,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9979
10217
|
});
|
|
9980
10218
|
}
|
|
9981
10219
|
//#endregion
|
|
9982
|
-
//#region \0dsh-css:/home/yu/projects/
|
|
9983
|
-
const css = ".
|
|
10220
|
+
//#region \0dsh-css:/home/yu/projects/release-018/packages/client-agent-team/src/client/create.module.css.mjs
|
|
10221
|
+
const css = ".vkPzUW_form{gap:16px;display:grid}.vkPzUW_field{color:var(--dsw-alias-label-secondary);gap:6px;font-size:12px;line-height:18px;display:grid}.vkPzUW_input{box-sizing:border-box;width:100%}.vkPzUW_menuCap{max-height:min(320px,56vh)}.vkPzUW_selectTrigger{background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);box-sizing:border-box;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:4px 10px;font-size:14px;line-height:22px;display:flex}.vkPzUW_selectTrigger:disabled{cursor:default;opacity:.6}.vkPzUW_selectTrigger:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.vkPzUW_selectValue{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vkPzUW_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .12s;display:inline-flex}.vkPzUW_chevronOpen{transform:rotate(180deg)}.vkPzUW_memberPicker{border:0;gap:4px;max-height:220px;margin:0;padding:0;display:grid;overflow-y:auto}.vkPzUW_memberPicker legend{color:var(--dsw-alias-label-secondary);padding:0 0 6px;font-size:12px;line-height:18px}.vkPzUW_memberOption{color:var(--dsw-alias-label-primary);border-radius:6px;grid-template-columns:auto 14px minmax(0,1fr);align-items:center;gap:0 7px;min-height:32px;padding:3px 6px;display:grid}.vkPzUW_memberOption:hover{background:var(--dsw-alias-interactive-bg-hover)}.vkPzUW_memberOption input{margin:0}.vkPzUW_memberOption small{color:var(--dsw-alias-label-tertiary);grid-column:3;font-size:10px;line-height:14px}.vkPzUW_unavailableDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;justify-self:center;width:7px;height:7px;display:inline-block}.vkPzUW_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:18px}.vkPzUW_dialogContent{max-height:min(70vh,560px);overflow-y:auto}@media (width<=600px){.vkPzUW_dialogContent{max-height:calc(100vh - 180px)}.vkPzUW_memberPicker{max-height:180px}}";
|
|
9984
10222
|
const tagId = "@wowyuarm/dsh-agent-team/create.module.css";
|
|
9985
10223
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
9986
10224
|
const tag = document.createElement("style");
|
|
@@ -9990,19 +10228,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9990
10228
|
document.head.appendChild(tag);
|
|
9991
10229
|
}
|
|
9992
10230
|
var create_module_css_default = {
|
|
9993
|
-
"chevron": "
|
|
9994
|
-
"chevronOpen": "
|
|
9995
|
-
"dialogContent": "
|
|
9996
|
-
"error": "
|
|
9997
|
-
"field": "
|
|
9998
|
-
"form": "
|
|
9999
|
-
"input": "
|
|
10000
|
-
"memberOption": "
|
|
10001
|
-
"memberPicker": "
|
|
10002
|
-
"menuCap": "
|
|
10003
|
-
"selectTrigger": "
|
|
10004
|
-
"selectValue": "
|
|
10005
|
-
"unavailableDot": "
|
|
10231
|
+
"chevron": "vkPzUW_chevron",
|
|
10232
|
+
"chevronOpen": "vkPzUW_chevronOpen",
|
|
10233
|
+
"dialogContent": "vkPzUW_dialogContent",
|
|
10234
|
+
"error": "vkPzUW_error",
|
|
10235
|
+
"field": "vkPzUW_field",
|
|
10236
|
+
"form": "vkPzUW_form",
|
|
10237
|
+
"input": "vkPzUW_input",
|
|
10238
|
+
"memberOption": "vkPzUW_memberOption",
|
|
10239
|
+
"memberPicker": "vkPzUW_memberPicker",
|
|
10240
|
+
"menuCap": "vkPzUW_menuCap",
|
|
10241
|
+
"selectTrigger": "vkPzUW_selectTrigger",
|
|
10242
|
+
"selectValue": "vkPzUW_selectValue",
|
|
10243
|
+
"unavailableDot": "vkPzUW_unavailableDot"
|
|
10006
10244
|
};
|
|
10007
10245
|
//#endregion
|
|
10008
10246
|
//#region src/client/TeamMemberEditor.tsx
|
|
@@ -10287,7 +10525,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10287
10525
|
}
|
|
10288
10526
|
//#endregion
|
|
10289
10527
|
//#region src/client/TeamAgentsPanel.tsx
|
|
10290
|
-
function TeamAgentsPanel({ workspaceId, loadMembers, subscribeChanges, addMember, updateMember, recoverMember, clearMemberContext, loadModels, memberSessionId, openMemberSession, onCreatingChange, t }) {
|
|
10528
|
+
function TeamAgentsPanel({ workspaceId, loadMembers, subscribeChanges, addMember, updateMember, recoverMember, clearMemberContext, archiveMember, loadModels, memberSessionId, openMemberSession, onCreatingChange, t }) {
|
|
10291
10529
|
const [members, setMembers] = (0, react.useState)([]);
|
|
10292
10530
|
const [loading, setLoading] = (0, react.useState)(true);
|
|
10293
10531
|
const [error, setError] = (0, react.useState)();
|
|
@@ -10315,7 +10553,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10315
10553
|
setLoading(true);
|
|
10316
10554
|
const result = await loadMembers({ workspaceId });
|
|
10317
10555
|
if (result.ok) {
|
|
10318
|
-
setMembers(result.value);
|
|
10556
|
+
setMembers(result.value.filter((status) => status.member.state !== "inactive" && status.member.state !== "archived"));
|
|
10319
10557
|
setError(void 0);
|
|
10320
10558
|
} else setError(result.error.message);
|
|
10321
10559
|
setLoading(false);
|
|
@@ -10353,7 +10591,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10353
10591
|
const result = await addMember(request);
|
|
10354
10592
|
if (result.ok) {
|
|
10355
10593
|
setMembers((current) => {
|
|
10356
|
-
|
|
10594
|
+
const retained = current.filter((status) => status.member.memberId !== result.value.status.member.memberId);
|
|
10595
|
+
return result.value.status.member.state === "inactive" || result.value.status.member.state === "archived" ? retained : [...retained, result.value.status];
|
|
10357
10596
|
});
|
|
10358
10597
|
setHandle("");
|
|
10359
10598
|
setDescription("");
|
|
@@ -10501,6 +10740,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10501
10740
|
updateMember,
|
|
10502
10741
|
recoverMember,
|
|
10503
10742
|
clearMemberContext,
|
|
10743
|
+
archiveMember,
|
|
10504
10744
|
loadModels,
|
|
10505
10745
|
openMemberSession,
|
|
10506
10746
|
onUpdated: () => {
|
|
@@ -10533,10 +10773,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10533
10773
|
* conversation page, the avatar carries identity plus the presence badge, and
|
|
10534
10774
|
* the row menu opens the editor.
|
|
10535
10775
|
*/
|
|
10536
|
-
function AgentRow({ status, current, updateMember, recoverMember, clearMemberContext, loadModels, openMemberSession, onUpdated, t }) {
|
|
10776
|
+
function AgentRow({ status, current, updateMember, recoverMember, clearMemberContext, archiveMember, loadModels, openMemberSession, onUpdated, t }) {
|
|
10537
10777
|
const [menuOpen, setMenuOpen] = (0, react.useState)(false);
|
|
10538
10778
|
const [editing, setEditing] = (0, react.useState)(false);
|
|
10539
10779
|
const [clearing, setClearing] = (0, react.useState)(false);
|
|
10780
|
+
const [archiving, setArchiving] = (0, react.useState)(false);
|
|
10540
10781
|
const [rowAlert, setRowAlert] = (0, react.useState)();
|
|
10541
10782
|
const recover = async () => {
|
|
10542
10783
|
try {
|
|
@@ -10579,6 +10820,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10579
10820
|
}
|
|
10580
10821
|
};
|
|
10581
10822
|
const contextClearable = status.presence === "available" || status.presence === "error";
|
|
10823
|
+
const archive = async () => {
|
|
10824
|
+
try {
|
|
10825
|
+
const result = await archiveMember({
|
|
10826
|
+
requestId: mintRequestId(),
|
|
10827
|
+
memberId: status.member.memberId
|
|
10828
|
+
});
|
|
10829
|
+
await onUpdated();
|
|
10830
|
+
if (!result.ok) setRowAlert(t("archiveAgentFailed", { message: result.error.message }));
|
|
10831
|
+
} catch (cause) {
|
|
10832
|
+
setRowAlert(t("archiveAgentFailed", { message: cause instanceof Error ? cause.message : String(cause) }));
|
|
10833
|
+
}
|
|
10834
|
+
};
|
|
10582
10835
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
10583
10836
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10584
10837
|
className: sidebar_module_css_default.agentRow,
|
|
@@ -10630,11 +10883,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10630
10883
|
type: "label",
|
|
10631
10884
|
id: "clear-context-reason",
|
|
10632
10885
|
text: status.presence === "working" ? t("clearContextWorkingReason") : t("clearContextUnavailableReason")
|
|
10633
|
-
}] : []
|
|
10886
|
+
}] : [],
|
|
10887
|
+
{
|
|
10888
|
+
id: "archive",
|
|
10889
|
+
label: t("archiveAgent"),
|
|
10890
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconArchiveOutline20, { size: 16 }),
|
|
10891
|
+
danger: true
|
|
10892
|
+
}
|
|
10634
10893
|
],
|
|
10635
10894
|
onSelect: (id) => {
|
|
10636
10895
|
if (id === "edit") setEditing(true);
|
|
10637
10896
|
else if (id === "clear-context") setClearing(true);
|
|
10897
|
+
else if (id === "archive") setArchiving(true);
|
|
10638
10898
|
else recover();
|
|
10639
10899
|
},
|
|
10640
10900
|
onOpenChange: setMenuOpen
|
|
@@ -10673,6 +10933,33 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10673
10933
|
children: t("clearContextNotice", { name: status.member.handle })
|
|
10674
10934
|
})
|
|
10675
10935
|
}),
|
|
10936
|
+
archiving && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
10937
|
+
open: true,
|
|
10938
|
+
onClose: () => {
|
|
10939
|
+
setArchiving(false);
|
|
10940
|
+
},
|
|
10941
|
+
title: t("archiveAgentTitle", { name: status.member.handle }),
|
|
10942
|
+
closeLabel: t("close"),
|
|
10943
|
+
contentClassName: create_module_css_default.dialogContent,
|
|
10944
|
+
footer: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
10945
|
+
variant: "outline",
|
|
10946
|
+
onClick: () => {
|
|
10947
|
+
setArchiving(false);
|
|
10948
|
+
},
|
|
10949
|
+
children: t("cancel")
|
|
10950
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
10951
|
+
variant: "primary",
|
|
10952
|
+
onClick: () => {
|
|
10953
|
+
setArchiving(false);
|
|
10954
|
+
archive();
|
|
10955
|
+
},
|
|
10956
|
+
children: t("archiveAgentConfirm")
|
|
10957
|
+
})] }),
|
|
10958
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
10959
|
+
className: create_module_css_default.error,
|
|
10960
|
+
children: t("archiveAgentNotice", { name: status.member.handle })
|
|
10961
|
+
})
|
|
10962
|
+
}),
|
|
10676
10963
|
editing && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AgentEditorDialog, {
|
|
10677
10964
|
status,
|
|
10678
10965
|
updateMember,
|
|
@@ -10785,7 +11072,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10785
11072
|
}), loadMembers({ workspaceId })]);
|
|
10786
11073
|
if (channelResult.ok && memberResult.ok) {
|
|
10787
11074
|
setView(channelResult.value);
|
|
10788
|
-
const visibleMembers = memberResult.value.filter((status) => status.member.state !== "inactive");
|
|
11075
|
+
const visibleMembers = memberResult.value.filter((status) => status.member.state !== "inactive" && status.member.state !== "archived");
|
|
10789
11076
|
setMembers(visibleMembers);
|
|
10790
11077
|
const selectable = new Set(visibleMembers.filter((status) => status.presence !== "unavailable").map((status) => status.member.memberId));
|
|
10791
11078
|
setSelected((current) => new Set([...current].filter((memberId) => selectable.has(memberId))));
|
|
@@ -11010,6 +11297,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11010
11297
|
joinedIds: joined,
|
|
11011
11298
|
selected: selectedChannelRef === channel.channelRef,
|
|
11012
11299
|
updateChannel,
|
|
11300
|
+
archiveChannel: props.archiveChannel,
|
|
11013
11301
|
joinChannel: props.joinChannel,
|
|
11014
11302
|
removeChannelMember: props.removeChannelMember,
|
|
11015
11303
|
onCommitted: () => {
|
|
@@ -11035,52 +11323,108 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11035
11323
|
* One sidebar Channel row: the select button keeps the `#` identity while the
|
|
11036
11324
|
* row menu carries the entry point; editing covers display facts and membership.
|
|
11037
11325
|
*/
|
|
11038
|
-
function ChannelRow({ channel, members, joinedIds, selected, updateChannel, joinChannel, removeChannelMember, onCommitted, selectChannel, t }) {
|
|
11326
|
+
function ChannelRow({ channel, members, joinedIds, selected, updateChannel, archiveChannel, joinChannel, removeChannelMember, onCommitted, selectChannel, t }) {
|
|
11039
11327
|
const [menuOpen, setMenuOpen] = (0, react.useState)(false);
|
|
11040
11328
|
const [editing, setEditing] = (0, react.useState)(false);
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
|
|
11047
|
-
|
|
11048
|
-
|
|
11049
|
-
|
|
11050
|
-
|
|
11329
|
+
const [archiving, setArchiving] = (0, react.useState)(false);
|
|
11330
|
+
const [rowAlert, setRowAlert] = (0, react.useState)();
|
|
11331
|
+
const archive = async () => {
|
|
11332
|
+
try {
|
|
11333
|
+
const result = await archiveChannel({
|
|
11334
|
+
requestId: mintRequestId(),
|
|
11335
|
+
workspaceId: channel.workspaceId,
|
|
11336
|
+
channelRef: channel.channelRef
|
|
11337
|
+
});
|
|
11338
|
+
await onCommitted();
|
|
11339
|
+
if (!result.ok) setRowAlert(t("archiveChannelFailed", { message: result.error.message }));
|
|
11340
|
+
} catch (cause) {
|
|
11341
|
+
setRowAlert(t("archiveChannelFailed", { message: cause instanceof Error ? cause.message : String(cause) }));
|
|
11342
|
+
}
|
|
11343
|
+
};
|
|
11344
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
11345
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("article", {
|
|
11346
|
+
className: sidebar_module_css_default.channelRow,
|
|
11347
|
+
"data-menu-open": menuOpen || void 0,
|
|
11348
|
+
"aria-current": selected ? "page" : void 0,
|
|
11349
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
11350
|
+
type: "button",
|
|
11351
|
+
className: sidebar_module_css_default.channelSelect,
|
|
11352
|
+
"aria-label": `# ${channel.name}`,
|
|
11353
|
+
onClick: () => {
|
|
11354
|
+
selectChannel(channel.channelRef);
|
|
11355
|
+
},
|
|
11356
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("strong", {
|
|
11357
|
+
className: sidebar_module_css_default.channelName,
|
|
11358
|
+
children: ["# ", channel.name]
|
|
11359
|
+
})
|
|
11360
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
11361
|
+
className: sidebar_module_css_default.rowMenu,
|
|
11362
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TeamRowMenu, {
|
|
11363
|
+
label: t("actionsChannel", { name: channel.name }),
|
|
11364
|
+
items: [{
|
|
11365
|
+
id: "edit",
|
|
11366
|
+
label: t("editChannel"),
|
|
11367
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutline16, {})
|
|
11368
|
+
}, {
|
|
11369
|
+
id: "archive",
|
|
11370
|
+
label: t("archiveChannel"),
|
|
11371
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconArchiveOutline20, { size: 16 }),
|
|
11372
|
+
danger: true
|
|
11373
|
+
}],
|
|
11374
|
+
onSelect: (id) => {
|
|
11375
|
+
if (id === "edit") setEditing(true);
|
|
11376
|
+
else setArchiving(true);
|
|
11377
|
+
},
|
|
11378
|
+
onOpenChange: setMenuOpen
|
|
11379
|
+
})
|
|
11380
|
+
})]
|
|
11381
|
+
}),
|
|
11382
|
+
rowAlert !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11383
|
+
className: sidebar_module_css_default.rowAlert,
|
|
11384
|
+
role: "alert",
|
|
11385
|
+
children: rowAlert
|
|
11386
|
+
}),
|
|
11387
|
+
archiving && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
11388
|
+
open: true,
|
|
11389
|
+
onClose: () => {
|
|
11390
|
+
setArchiving(false);
|
|
11051
11391
|
},
|
|
11052
|
-
|
|
11053
|
-
|
|
11054
|
-
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
setEditing(true);
|
|
11392
|
+
title: t("archiveChannelTitle", { name: channel.name }),
|
|
11393
|
+
closeLabel: t("close"),
|
|
11394
|
+
contentClassName: create_module_css_default.dialogContent,
|
|
11395
|
+
footer: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
11396
|
+
variant: "outline",
|
|
11397
|
+
onClick: () => {
|
|
11398
|
+
setArchiving(false);
|
|
11399
|
+
},
|
|
11400
|
+
children: t("cancel")
|
|
11401
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
11402
|
+
variant: "primary",
|
|
11403
|
+
onClick: () => {
|
|
11404
|
+
setArchiving(false);
|
|
11405
|
+
archive();
|
|
11067
11406
|
},
|
|
11068
|
-
|
|
11407
|
+
children: t("archiveChannelConfirm")
|
|
11408
|
+
})] }),
|
|
11409
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
11410
|
+
className: create_module_css_default.error,
|
|
11411
|
+
children: t("archiveChannelNotice", { name: channel.name })
|
|
11069
11412
|
})
|
|
11070
|
-
})
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11413
|
+
}),
|
|
11414
|
+
editing && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelEditorDialog, {
|
|
11415
|
+
channel,
|
|
11416
|
+
members,
|
|
11417
|
+
joinedIds,
|
|
11418
|
+
updateChannel,
|
|
11419
|
+
joinChannel,
|
|
11420
|
+
removeChannelMember,
|
|
11421
|
+
onCommitted,
|
|
11422
|
+
onClose: () => {
|
|
11423
|
+
setEditing(false);
|
|
11424
|
+
},
|
|
11425
|
+
t
|
|
11426
|
+
})
|
|
11427
|
+
] });
|
|
11084
11428
|
}
|
|
11085
11429
|
/**
|
|
11086
11430
|
* Channel editor: name and description commit through one durable update;
|
|
@@ -11232,7 +11576,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11232
11576
|
}
|
|
11233
11577
|
//#endregion
|
|
11234
11578
|
//#region src/client/TeamWorkspaceBrowser.tsx
|
|
11235
|
-
function TeamWorkspaceBrowser({ wide, expandSidebar, navigation, selectWorkspace, selectChannel, t, useWorkspaces, loadMembers, subscribeChanges, addMember, loadChannels, createChannel, updateChannel, updateMember, recoverMember, clearMemberContext, joinChannel, removeChannelMember, loadModels, openMemberSession }) {
|
|
11579
|
+
function TeamWorkspaceBrowser({ wide, expandSidebar, navigation, selectWorkspace, selectChannel, t, useWorkspaces, loadMembers, subscribeChanges, addMember, loadChannels, createChannel, updateChannel, archiveChannel, updateMember, recoverMember, clearMemberContext, archiveMember, joinChannel, removeChannelMember, loadModels, openMemberSession }) {
|
|
11236
11580
|
const navigationState = (0, react.useSyncExternalStore)(navigation.subscribe, navigation.getSnapshot, navigation.getSnapshot);
|
|
11237
11581
|
const workspaces = useWorkspaces((state) => state.items);
|
|
11238
11582
|
const selected = navigationState.workspaceId;
|
|
@@ -11324,6 +11668,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11324
11668
|
subscribeChanges,
|
|
11325
11669
|
createChannel,
|
|
11326
11670
|
updateChannel,
|
|
11671
|
+
archiveChannel,
|
|
11327
11672
|
joinChannel,
|
|
11328
11673
|
removeChannelMember,
|
|
11329
11674
|
creatingAgents: creatingAgents.filter((request) => request.workspaceId === selectedId),
|
|
@@ -11341,6 +11686,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11341
11686
|
updateMember,
|
|
11342
11687
|
recoverMember,
|
|
11343
11688
|
clearMemberContext,
|
|
11689
|
+
archiveMember,
|
|
11344
11690
|
loadModels,
|
|
11345
11691
|
...navigationState.memberSessionId === void 0 ? {} : { memberSessionId: navigationState.memberSessionId },
|
|
11346
11692
|
openMemberSession,
|
|
@@ -11354,271 +11700,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11354
11700
|
});
|
|
11355
11701
|
}
|
|
11356
11702
|
//#endregion
|
|
11357
|
-
//#region src/client/member-session-input.ts
|
|
11358
|
-
const TEAM_COMMAND_SOURCE = "agent-team-command";
|
|
11359
|
-
const TEAM_MEMBER_SOURCE = "agent-team-member";
|
|
11360
|
-
/** Preserve the public Session command admission contract, not handler outcome. */
|
|
11361
|
-
async function admitTeamCompact(session) {
|
|
11362
|
-
const result = await session.command("/compact");
|
|
11363
|
-
if (!result.ok) throw new Error(`session.command failed: ${result.error.message}`);
|
|
11364
|
-
return result.value.matched ? { kind: "success" } : {
|
|
11365
|
-
kind: "error",
|
|
11366
|
-
text: "unknown command: /compact"
|
|
11367
|
-
};
|
|
11368
|
-
}
|
|
11369
|
-
/**
|
|
11370
|
-
* The two Team-only sources live in the shared public registry, but their
|
|
11371
|
-
* candidate plane is inert for every ordinary Session. The member source owns
|
|
11372
|
-
* its stable ref→label cache so serialization never falls back to guessing a
|
|
11373
|
-
* handle from plain text.
|
|
11374
|
-
*/
|
|
11375
|
-
function createTeamMemberSessionSources(options) {
|
|
11376
|
-
const labels = /* @__PURE__ */ new Map();
|
|
11377
|
-
return [{
|
|
11378
|
-
trigger: "/",
|
|
11379
|
-
name: TEAM_COMMAND_SOURCE,
|
|
11380
|
-
showGroupTitle: false,
|
|
11381
|
-
async candidates(session, { query }) {
|
|
11382
|
-
if (!options.isEmbeddedMemberSession(session.sessionId) || !"compact".startsWith(query.toLocaleLowerCase())) return [];
|
|
11383
|
-
return [{
|
|
11384
|
-
name: "/compact",
|
|
11385
|
-
description: "压缩当前 Session 上下文",
|
|
11386
|
-
value: "compact"
|
|
11387
|
-
}];
|
|
11388
|
-
},
|
|
11389
|
-
onPick({ candidate, session }) {
|
|
11390
|
-
if (candidate.value !== "compact" || !options.isEmbeddedMemberSession(session.sessionId)) return void 0;
|
|
11391
|
-
return { claim: {
|
|
11392
|
-
token: "/compact",
|
|
11393
|
-
submit: async () => options.executeCompact(session.sessionId)
|
|
11394
|
-
} };
|
|
11395
|
-
}
|
|
11396
|
-
}, {
|
|
11397
|
-
trigger: "@",
|
|
11398
|
-
name: TEAM_MEMBER_SOURCE,
|
|
11399
|
-
showGroupTitle: false,
|
|
11400
|
-
async candidates(session, { query, signal }) {
|
|
11401
|
-
if (!options.isEmbeddedMemberSession(session.sessionId)) return [];
|
|
11402
|
-
const normalized = query.toLocaleLowerCase();
|
|
11403
|
-
const members = await options.members();
|
|
11404
|
-
if (signal.aborted) return [];
|
|
11405
|
-
return members.filter((status) => status.member.sessionId !== session.sessionId && status.member.state !== "inactive").filter((status) => status.member.handle.toLocaleLowerCase().startsWith(normalized)).map((status) => {
|
|
11406
|
-
labels.set(status.member.memberId, `@${status.member.handle}`);
|
|
11407
|
-
return {
|
|
11408
|
-
name: `@${status.member.handle}`,
|
|
11409
|
-
description: "引用成员 · 不会通知",
|
|
11410
|
-
value: String(status.member.memberId)
|
|
11411
|
-
};
|
|
11412
|
-
});
|
|
11413
|
-
},
|
|
11414
|
-
onPick({ candidate, session }) {
|
|
11415
|
-
if (!options.isEmbeddedMemberSession(session.sessionId) || candidate.value === void 0) return void 0;
|
|
11416
|
-
const ref = candidate.value;
|
|
11417
|
-
const label = labels.get(ref);
|
|
11418
|
-
if (label === void 0) return void 0;
|
|
11419
|
-
return { insert: {
|
|
11420
|
-
source: TEAM_MEMBER_SOURCE,
|
|
11421
|
-
label: label.slice(1),
|
|
11422
|
-
ref,
|
|
11423
|
-
clipboardText: label
|
|
11424
|
-
} };
|
|
11425
|
-
},
|
|
11426
|
-
codec: {
|
|
11427
|
-
clipboardText: (ref) => labels.get(ref) ?? `@${String(ref)}`,
|
|
11428
|
-
serialize: async (ref) => {
|
|
11429
|
-
const stable = String(ref);
|
|
11430
|
-
const label = labels.get(ref) ?? "";
|
|
11431
|
-
return `<team-member ref="${escapeAttribute(stable)}">${escapeText(label)}</team-member>`;
|
|
11432
|
-
}
|
|
11433
|
-
}
|
|
11434
|
-
}];
|
|
11435
|
-
}
|
|
11436
|
-
/** Unknown leading slash must never fall into the shipped global palette. */
|
|
11437
|
-
function allowsMemberSessionSubmit(draft, claimToken) {
|
|
11438
|
-
return !draft.trimStart().startsWith("/") || claimToken === "/compact";
|
|
11439
|
-
}
|
|
11440
|
-
function escapeText(value) {
|
|
11441
|
-
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
11442
|
-
}
|
|
11443
|
-
function escapeAttribute(value) {
|
|
11444
|
-
return escapeText(value).replaceAll("\"", """).replaceAll("'", "'");
|
|
11445
|
-
}
|
|
11446
|
-
//#endregion
|
|
11447
|
-
//#region src/client/TeamMemberSessionComposer.tsx
|
|
11448
|
-
/**
|
|
11449
|
-
* Narrow, Team-owned member-session composer. It deliberately uses the public
|
|
11450
|
-
* input state/actions and trigger controller rather than the shipped InputBar;
|
|
11451
|
-
* owner-provided overlay remains inside the card so the shared menu renders.
|
|
11452
|
-
*/
|
|
11453
|
-
function TeamMemberSessionComposer({ controller, inputActions, overlay, placeholder, disabled, blocked, stop, submitInput, useInput, useSession }) {
|
|
11454
|
-
const input = useInput((state) => state);
|
|
11455
|
-
const session = useSession((state) => state);
|
|
11456
|
-
const textarea = (0, react.useRef)(null);
|
|
11457
|
-
const editedByHuman = (0, react.useRef)(void 0);
|
|
11458
|
-
const compactWasSubmitting = (0, react.useRef)(false);
|
|
11459
|
-
const composing = (0, react.useRef)(false);
|
|
11460
|
-
const [submissionNotice, setSubmissionNotice] = (0, react.useState)();
|
|
11461
|
-
const draft = input?.draft ?? "";
|
|
11462
|
-
const isLocked = disabled === true || blocked !== void 0 || inputActions === void 0 || input === void 0;
|
|
11463
|
-
(0, react.useEffect)(() => {
|
|
11464
|
-
if (isLocked) return;
|
|
11465
|
-
const active = document.activeElement;
|
|
11466
|
-
if (active !== document.body && active?.closest("[aria-current=\"page\"]") === null) return;
|
|
11467
|
-
textarea.current?.focus({ preventScroll: true });
|
|
11468
|
-
}, [isLocked]);
|
|
11469
|
-
(0, react.useLayoutEffect)(() => {
|
|
11470
|
-
const element = textarea.current;
|
|
11471
|
-
if (element === null) return;
|
|
11472
|
-
element.style.height = "auto";
|
|
11473
|
-
element.style.height = `${Math.min(element.scrollHeight, 336)}px`;
|
|
11474
|
-
}, [draft]);
|
|
11475
|
-
(0, react.useEffect)(() => {
|
|
11476
|
-
if (input === void 0) return;
|
|
11477
|
-
if (input.phase === "submitting" && input.claim?.token === "/compact") {
|
|
11478
|
-
compactWasSubmitting.current = true;
|
|
11479
|
-
return;
|
|
11480
|
-
}
|
|
11481
|
-
if (input.phase === "claimed" && input.claim?.token === "/compact" && compactWasSubmitting.current) {
|
|
11482
|
-
compactWasSubmitting.current = false;
|
|
11483
|
-
setSubmissionNotice("Compact 未执行,请重试。");
|
|
11484
|
-
return;
|
|
11485
|
-
}
|
|
11486
|
-
if (input.phase === "plain") {
|
|
11487
|
-
if (compactWasSubmitting.current) setSubmissionNotice(void 0);
|
|
11488
|
-
compactWasSubmitting.current = false;
|
|
11489
|
-
}
|
|
11490
|
-
}, [input?.claim?.token, input?.phase]);
|
|
11491
|
-
(0, react.useEffect)(() => {
|
|
11492
|
-
if (input === void 0) return;
|
|
11493
|
-
const edit = editedByHuman.current;
|
|
11494
|
-
if (edit === void 0 || edit.draft !== input.draft) return;
|
|
11495
|
-
editedByHuman.current = void 0;
|
|
11496
|
-
const hit = triggerHit(input.draft, edit.caret, input.draftRev);
|
|
11497
|
-
controller.dismiss();
|
|
11498
|
-
if (hit !== void 0) controller.toggleSource(hit.trigger === "/" ? TEAM_COMMAND_SOURCE : TEAM_MEMBER_SOURCE, hit);
|
|
11499
|
-
}, [
|
|
11500
|
-
controller,
|
|
11501
|
-
input?.draft,
|
|
11502
|
-
input?.draftRev
|
|
11503
|
-
]);
|
|
11504
|
-
const onChange = (event) => {
|
|
11505
|
-
const caret = event.currentTarget.selectionStart;
|
|
11506
|
-
editedByHuman.current = {
|
|
11507
|
-
draft: event.currentTarget.value,
|
|
11508
|
-
caret
|
|
11509
|
-
};
|
|
11510
|
-
setSubmissionNotice(void 0);
|
|
11511
|
-
inputActions?.setDraft(event.currentTarget.value);
|
|
11512
|
-
};
|
|
11513
|
-
const submit = () => {
|
|
11514
|
-
if (input === void 0 || inputActions === void 0) return;
|
|
11515
|
-
if (!allowsMemberSessionSubmit(input.draft, input.claim?.token)) {
|
|
11516
|
-
setSubmissionNotice("此 Member Session 仅支持 /compact 命令。");
|
|
11517
|
-
return;
|
|
11518
|
-
}
|
|
11519
|
-
setSubmissionNotice(void 0);
|
|
11520
|
-
submitInput(running ? "steer" : "queue");
|
|
11521
|
-
};
|
|
11522
|
-
const onKeyDown = (event) => {
|
|
11523
|
-
if (event.key === "Enter" && event.shiftKey) return;
|
|
11524
|
-
if (event.repeat || composing.current || event.nativeEvent.isComposing || event.nativeEvent.keyCode === 229) return;
|
|
11525
|
-
if (event.key === "Tab" && !event.shiftKey) {
|
|
11526
|
-
const highlight = controller.menu.getSnapshot().highlight;
|
|
11527
|
-
if (highlight !== null) {
|
|
11528
|
-
event.preventDefault();
|
|
11529
|
-
controller.pick(highlight.source, highlight.index);
|
|
11530
|
-
}
|
|
11531
|
-
return;
|
|
11532
|
-
}
|
|
11533
|
-
const key = event.key === "ArrowUp" ? "up" : event.key === "ArrowDown" ? "down" : event.key === "Escape" ? "escape" : event.key === "Enter" ? "enter" : void 0;
|
|
11534
|
-
if (key !== void 0) {
|
|
11535
|
-
if (controller.arbitrate(key, false) !== "pass") {
|
|
11536
|
-
event.preventDefault();
|
|
11537
|
-
return;
|
|
11538
|
-
}
|
|
11539
|
-
}
|
|
11540
|
-
if (event.key === "Enter") {
|
|
11541
|
-
event.preventDefault();
|
|
11542
|
-
submit();
|
|
11543
|
-
}
|
|
11544
|
-
};
|
|
11545
|
-
const running = session?.running ?? false;
|
|
11546
|
-
const promptError = session?.promptError;
|
|
11547
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
11548
|
-
className: `${composer_module_css_default.root} ${composer_module_css_default.memberSessionRoot}`,
|
|
11549
|
-
"data-team-member-composer": "true",
|
|
11550
|
-
children: [(submissionNotice !== void 0 || promptError !== null && promptError !== void 0) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
11551
|
-
className: composer_module_css_default.memberSessionStatus,
|
|
11552
|
-
role: "alert",
|
|
11553
|
-
children: submissionNotice ?? promptError?.error.message
|
|
11554
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
11555
|
-
className: `${composer_module_css_default.card} ${composer_module_css_default.memberSessionCard}`,
|
|
11556
|
-
"data-composer-card": "true",
|
|
11557
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
11558
|
-
className: `${composer_module_css_default.inputArea} ${composer_module_css_default.memberSessionInputArea}`,
|
|
11559
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
11560
|
-
ref: textarea,
|
|
11561
|
-
value: draft,
|
|
11562
|
-
disabled: isLocked,
|
|
11563
|
-
placeholder: blocked?.reason ?? placeholder ?? "给成员发送直接消息",
|
|
11564
|
-
onChange,
|
|
11565
|
-
onKeyDown,
|
|
11566
|
-
onCompositionStart: () => {
|
|
11567
|
-
composing.current = true;
|
|
11568
|
-
},
|
|
11569
|
-
onCompositionEnd: () => {
|
|
11570
|
-
composing.current = false;
|
|
11571
|
-
}
|
|
11572
|
-
}), overlay]
|
|
11573
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11574
|
-
className: `${composer_module_css_default.toolbar} ${composer_module_css_default.memberSessionToolbar}`,
|
|
11575
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
11576
|
-
className: `${composer_module_css_default.sendButton} ${composer_module_css_default.memberSessionPrimary}`,
|
|
11577
|
-
type: "button",
|
|
11578
|
-
"aria-label": running ? "停止生成" : "发送消息",
|
|
11579
|
-
disabled: isLocked || !running && draft.trim() === "",
|
|
11580
|
-
onClick: () => {
|
|
11581
|
-
if (running) stop?.();
|
|
11582
|
-
else submit();
|
|
11583
|
-
},
|
|
11584
|
-
children: running ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconStopFill16, { size: 16 }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSendOutline16, { size: 16 })
|
|
11585
|
-
})
|
|
11586
|
-
})]
|
|
11587
|
-
})]
|
|
11588
|
-
});
|
|
11589
|
-
}
|
|
11590
|
-
function triggerHit(draft, caret, draftRev) {
|
|
11591
|
-
const before = draft.slice(0, caret);
|
|
11592
|
-
const leading = before.match(/^\s*\/([^\s]*)$/u);
|
|
11593
|
-
if (leading !== null) {
|
|
11594
|
-
const start = before.indexOf("/");
|
|
11595
|
-
return {
|
|
11596
|
-
trigger: "/",
|
|
11597
|
-
query: leading[1],
|
|
11598
|
-
quoted: false,
|
|
11599
|
-
position: "leading",
|
|
11600
|
-
span: {
|
|
11601
|
-
start,
|
|
11602
|
-
end: caret,
|
|
11603
|
-
draftRev
|
|
11604
|
-
}
|
|
11605
|
-
};
|
|
11606
|
-
}
|
|
11607
|
-
const at = before.lastIndexOf("@");
|
|
11608
|
-
if (at < 0 || /[\p{L}\p{N}_]/u.test(before[at - 1] ?? "") || /\s/u.test(before.slice(at + 1))) return void 0;
|
|
11609
|
-
return {
|
|
11610
|
-
trigger: "@",
|
|
11611
|
-
query: before.slice(at + 1),
|
|
11612
|
-
quoted: false,
|
|
11613
|
-
position: "inline",
|
|
11614
|
-
span: {
|
|
11615
|
-
start: at,
|
|
11616
|
-
end: caret,
|
|
11617
|
-
draftRev
|
|
11618
|
-
}
|
|
11619
|
-
};
|
|
11620
|
-
}
|
|
11621
|
-
//#endregion
|
|
11622
11703
|
//#region src/client/locales.ts
|
|
11623
11704
|
const zh = {
|
|
11624
11705
|
team: "团队",
|
|
@@ -11634,6 +11715,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11634
11715
|
addAgent: "添加 Agent",
|
|
11635
11716
|
cancel: "取消",
|
|
11636
11717
|
close: "关闭",
|
|
11718
|
+
copyCode: "复制",
|
|
11719
|
+
copiedCode: "已复制",
|
|
11720
|
+
markdownFootnotes: "脚注",
|
|
11637
11721
|
retry: "重试",
|
|
11638
11722
|
agentName: "名称",
|
|
11639
11723
|
agentDescription: "说明",
|
|
@@ -11667,6 +11751,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11667
11751
|
clearContextNotice: "将结束 {name} 当前的会话上下文并从空白开始:旧对话会归档保留在会话记录中。{name} 的身份、私有记忆与 notes、频道和会话绑定都保持不变,后续协作从新上下文继续累积。",
|
|
11668
11752
|
clearContextConfirm: "开始全新上下文",
|
|
11669
11753
|
clearContextFailed: "清空上下文失败:{message}",
|
|
11754
|
+
archiveAgent: "归档",
|
|
11755
|
+
archiveAgentTitle: "归档 Agent:{name}",
|
|
11756
|
+
archiveAgentNotice: "将把 {name} 从所有列表收起:会话与私有记忆保留在磁盘上、活跃 Claim 会释放,但暂无恢复入口。",
|
|
11757
|
+
archiveAgentConfirm: "归档",
|
|
11758
|
+
archiveAgentFailed: "归档失败:{message}",
|
|
11759
|
+
archiveChannel: "归档频道",
|
|
11760
|
+
archiveChannelTitle: "归档频道:{name}",
|
|
11761
|
+
archiveChannelNotice: "将把 {name} 及其全部讨论从所有列表收起:数据保留、所有成员在此频道的活跃 Claim 会释放,但暂无恢复入口。",
|
|
11762
|
+
archiveChannelConfirm: "归档频道",
|
|
11763
|
+
archiveChannelFailed: "归档频道失败:{message}",
|
|
11670
11764
|
optionalSuffix: "(可选)",
|
|
11671
11765
|
agentDescriptionPlaceholder: "留空则暂无描述",
|
|
11672
11766
|
membersPickerEmpty: "选择初始成员",
|
|
@@ -11776,6 +11870,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11776
11870
|
addAgent: "Add Agent",
|
|
11777
11871
|
cancel: "Cancel",
|
|
11778
11872
|
close: "Close",
|
|
11873
|
+
copyCode: "Copy",
|
|
11874
|
+
copiedCode: "Copied",
|
|
11875
|
+
markdownFootnotes: "Footnotes",
|
|
11779
11876
|
retry: "Retry",
|
|
11780
11877
|
agentName: "Name",
|
|
11781
11878
|
agentDescription: "Description",
|
|
@@ -11809,6 +11906,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11809
11906
|
clearContextNotice: "This ends {name}'s current session context and starts blank: the previous conversation is archived and stays in the session history. {name}'s identity, private memory and notes, channel and session bindings are untouched, and future collaboration accumulates from the new context.",
|
|
11810
11907
|
clearContextConfirm: "Start from new context",
|
|
11811
11908
|
clearContextFailed: "Failed to clear context: {message}",
|
|
11909
|
+
archiveAgent: "Archive",
|
|
11910
|
+
archiveAgentTitle: "Archive Agent: {name}",
|
|
11911
|
+
archiveAgentNotice: "This hides {name} from every list: the session log and private memory stay on disk and active Claims release, but there is no restore entry point yet.",
|
|
11912
|
+
archiveAgentConfirm: "Archive",
|
|
11913
|
+
archiveAgentFailed: "Failed to archive: {message}",
|
|
11914
|
+
archiveChannel: "Archive Channel",
|
|
11915
|
+
archiveChannelTitle: "Archive Channel: {name}",
|
|
11916
|
+
archiveChannelNotice: "This hides {name} and all of its discussions from every list: the data stays, every Member's active Claims in this Channel release, but there is no restore entry point yet.",
|
|
11917
|
+
archiveChannelConfirm: "Archive Channel",
|
|
11918
|
+
archiveChannelFailed: "Failed to archive Channel: {message}",
|
|
11812
11919
|
optionalSuffix: " (optional)",
|
|
11813
11920
|
agentDescriptionPlaceholder: "Leave empty if not needed",
|
|
11814
11921
|
membersPickerEmpty: "Choose initial members",
|
|
@@ -11912,10 +12019,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11912
12019
|
"workspaces",
|
|
11913
12020
|
"locale",
|
|
11914
12021
|
"remote",
|
|
12022
|
+
"remote.session",
|
|
11915
12023
|
"sessions",
|
|
11916
12024
|
"connection",
|
|
11917
|
-
"conversation"
|
|
11918
|
-
"inputTriggers"
|
|
12025
|
+
"conversation"
|
|
11919
12026
|
];
|
|
11920
12027
|
function registerModeShadow(ctx, navigation, changes, drafts, name, component, extraInject) {
|
|
11921
12028
|
const openMemberSessionImpl = (sessionId) => {
|
|
@@ -11934,12 +12041,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11934
12041
|
joinChannel: (request) => ctx.remote.agentTeam.joinChannel(request),
|
|
11935
12042
|
removeChannelMember: (request) => ctx.remote.agentTeam.removeChannelMember(request),
|
|
11936
12043
|
updateChannel: (request) => ctx.remote.agentTeam.updateChannel(request),
|
|
12044
|
+
archiveChannel: (request) => ctx.remote.agentTeam.archiveChannel(request),
|
|
11937
12045
|
updateMember: (request) => ctx.remote.agentTeam.updateMember(request),
|
|
11938
12046
|
recoverMember: (request) => ctx.remote.agentTeam.recoverMember(request),
|
|
11939
12047
|
clearMemberContext: (request) => ctx.remote.agentTeam.clearMemberContext(request),
|
|
11940
|
-
|
|
11941
|
-
|
|
11942
|
-
},
|
|
12048
|
+
archiveMember: (request) => ctx.remote.agentTeam.archiveMember(request),
|
|
12049
|
+
loadModels: () => ctx.remote.session.modelCatalog(),
|
|
11943
12050
|
openMemberSession: openMemberSessionImpl
|
|
11944
12051
|
};
|
|
11945
12052
|
ctx.slots.inject(name, () => {
|
|
@@ -11959,6 +12066,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11959
12066
|
...name === "conversation" ? {
|
|
11960
12067
|
readThread: (request) => ctx.remote.agentTeam.readThread(request),
|
|
11961
12068
|
loadThreadHistory: (request) => ctx.remote.agentTeam.threadHistory(request),
|
|
12069
|
+
threadObservations: (request) => ctx.remote.agentTeam.threadObservations(request),
|
|
11962
12070
|
sendMessage: (request) => ctx.remote.agentTeam.sendMessage(request),
|
|
11963
12071
|
putAttachment: (request) => ctx.remote.agentTeam.putAttachment(request),
|
|
11964
12072
|
getAttachment: (request) => ctx.remote.agentTeam.getAttachment(request),
|
|
@@ -11987,47 +12095,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
11987
12095
|
};
|
|
11988
12096
|
});
|
|
11989
12097
|
}
|
|
11990
|
-
function registerMemberSessionComposer(ctx, navigation) {
|
|
11991
|
-
ctx.slots.inject("conversation.composer.bar", () => {
|
|
11992
|
-
let dispose;
|
|
11993
|
-
let registeredSessionId;
|
|
11994
|
-
const reconcile = () => {
|
|
11995
|
-
const memberSessionId = navigation.getSnapshot().memberSessionId;
|
|
11996
|
-
const active = navigation.getSnapshot().mode === "team" && memberSessionId !== void 0;
|
|
11997
|
-
if (dispose !== void 0 && (!active || registeredSessionId !== memberSessionId)) {
|
|
11998
|
-
dispose();
|
|
11999
|
-
dispose = void 0;
|
|
12000
|
-
registeredSessionId = void 0;
|
|
12001
|
-
}
|
|
12002
|
-
if (active && dispose === void 0) {
|
|
12003
|
-
registeredSessionId = memberSessionId;
|
|
12004
|
-
dispose = ctx.slots.register({
|
|
12005
|
-
name: "conversation.composer.bar",
|
|
12006
|
-
priority: -100,
|
|
12007
|
-
select: () => ctx.sessions.list.getSnapshot().current === memberSessionId ? {} : null,
|
|
12008
|
-
inject: (sessionId) => {
|
|
12009
|
-
const actx = ctx.sessions.scope(sessionId);
|
|
12010
|
-
if (actx === void 0) throw new Error(`agent-team: Member session ${String(sessionId)} has no client scope`);
|
|
12011
|
-
const sessions = ctx.sessions;
|
|
12012
|
-
return {
|
|
12013
|
-
controller: ctx.get("inputTriggers").sessionOf(actx),
|
|
12014
|
-
stop: () => {
|
|
12015
|
-
sessions.sessionOf(actx)?.cancel();
|
|
12016
|
-
},
|
|
12017
|
-
submitInput: (mode) => ctx.conversation.input.for(actx).submit(mode)
|
|
12018
|
-
};
|
|
12019
|
-
}
|
|
12020
|
-
}, TeamMemberSessionComposer);
|
|
12021
|
-
}
|
|
12022
|
-
};
|
|
12023
|
-
const offNavigation = navigation.subscribe(reconcile);
|
|
12024
|
-
reconcile();
|
|
12025
|
-
return () => {
|
|
12026
|
-
offNavigation();
|
|
12027
|
-
dispose?.();
|
|
12028
|
-
};
|
|
12029
|
-
});
|
|
12030
|
-
}
|
|
12031
12098
|
function applyUi(ctx) {
|
|
12032
12099
|
ctx.effect(() => ctx.locale.register(NS, {
|
|
12033
12100
|
zh,
|
|
@@ -12044,42 +12111,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
12044
12111
|
disposeDrafts();
|
|
12045
12112
|
}, "agent-team: navigation service");
|
|
12046
12113
|
const changes = new TeamChangeStream((request, signal) => ctx.remote.agentTeam.changes(request, signal));
|
|
12047
|
-
const triggerSources = createTeamMemberSessionSources({
|
|
12048
|
-
isEmbeddedMemberSession: (sessionId) => {
|
|
12049
|
-
const snapshot = navigation.getSnapshot();
|
|
12050
|
-
return snapshot.mode === "team" && snapshot.memberSessionId === sessionId && snapshot.workspaceId !== void 0;
|
|
12051
|
-
},
|
|
12052
|
-
members: async () => {
|
|
12053
|
-
const workspaceId = navigation.getSnapshot().workspaceId;
|
|
12054
|
-
if (workspaceId === void 0) return [];
|
|
12055
|
-
const result = await ctx.remote.agentTeam.members({ workspaceId });
|
|
12056
|
-
return result.ok ? result.value : [];
|
|
12057
|
-
},
|
|
12058
|
-
executeCompact: async (sessionId) => {
|
|
12059
|
-
const actx = ctx.sessions.scope(sessionId);
|
|
12060
|
-
const session = actx === void 0 ? void 0 : ctx.sessions.sessionOf(actx);
|
|
12061
|
-
return session === void 0 ? {
|
|
12062
|
-
kind: "error",
|
|
12063
|
-
text: "current Member Session is unavailable"
|
|
12064
|
-
} : admitTeamCompact(session);
|
|
12065
|
-
}
|
|
12066
|
-
});
|
|
12067
|
-
const inputTriggers = ctx.get("inputTriggers");
|
|
12068
|
-
ctx.effect(() => {
|
|
12069
|
-
const disposers = triggerSources.map((source) => inputTriggers.registerSource(source));
|
|
12070
|
-
return () => {
|
|
12071
|
-
for (const dispose of disposers) dispose();
|
|
12072
|
-
};
|
|
12073
|
-
}, "agent-team: Member session trigger sources");
|
|
12074
12114
|
const loadMemberGroups = async () => {
|
|
12075
12115
|
const workspaces = ctx.workspaces.list.getSnapshot().items;
|
|
12076
12116
|
return (await Promise.all(workspaces.map(async (workspace) => {
|
|
12077
12117
|
const result = await ctx.remote.agentTeam.members({ workspaceId: workspace.workspaceId });
|
|
12078
12118
|
if (!result.ok) throw new Error(result.error.message);
|
|
12119
|
+
const members = result.value.filter((status) => status.member.state !== "inactive" && status.member.state !== "archived");
|
|
12079
12120
|
return {
|
|
12080
12121
|
workspaceId: workspace.workspaceId,
|
|
12081
12122
|
workspaceTitle: workspace.title,
|
|
12082
|
-
members
|
|
12123
|
+
members
|
|
12083
12124
|
};
|
|
12084
12125
|
}))).filter((group) => group.members.length > 0);
|
|
12085
12126
|
};
|
|
@@ -12107,7 +12148,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
12107
12148
|
}, TeamFooterAction));
|
|
12108
12149
|
registerModeShadow(ctx, navigation, changes, drafts, "sidebar.workspaces", TeamWorkspaceBrowser);
|
|
12109
12150
|
registerModeShadow(ctx, navigation, changes, drafts, "conversation", TeamConversation);
|
|
12110
|
-
registerMemberSessionComposer(ctx, navigation);
|
|
12111
12151
|
registerModeShadow(ctx, navigation, changes, drafts, "sidebar.settings", TeamSettings, () => ({ loadMemberGroups }));
|
|
12112
12152
|
}
|
|
12113
12153
|
async function apply(ctx) {
|