crewly 1.20.144 → 1.20.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/config/roles/orchestrator/prompt.md +9 -0
  2. package/config/skills/orchestrator/harness-login/SKILL.md +88 -0
  3. package/config/skills/orchestrator/harness-login/execute.sh +75 -0
  4. package/config/skills/orchestrator/harness-login/execute.test.sh +72 -0
  5. package/dist/backend/backend/src/constants.d.ts +12 -0
  6. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  7. package/dist/backend/backend/src/constants.js +12 -0
  8. package/dist/backend/backend/src/constants.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts +1 -0
  10. package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/harness/harness.routes.js +3 -0
  12. package/dist/backend/backend/src/controllers/harness/harness.routes.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts +61 -0
  14. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts.map +1 -0
  15. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +133 -0
  16. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js.map +1 -0
  17. package/dist/backend/backend/src/index.d.ts.map +1 -1
  18. package/dist/backend/backend/src/index.js +4 -1
  19. package/dist/backend/backend/src/index.js.map +1 -1
  20. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/agent/agent-registration.service.js +23 -1
  22. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +11 -1
  24. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +18 -0
  26. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  27. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +12 -0
  28. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +18 -3
  30. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  31. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +29 -0
  32. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +48 -0
  34. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  35. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -1
  37. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  38. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +147 -5
  39. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +210 -20
  41. package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  42. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts +87 -0
  43. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts.map +1 -0
  44. package/dist/backend/backend/src/services/harness/owner-login-request.js +191 -0
  45. package/dist/backend/backend/src/services/harness/owner-login-request.js.map +1 -0
  46. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts +68 -9
  47. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js +121 -11
  49. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js.map +1 -1
  50. package/dist/backend/backend/src/utils/agent-reply-filter.utils.d.ts +75 -0
  51. package/dist/backend/backend/src/utils/agent-reply-filter.utils.d.ts.map +1 -0
  52. package/dist/backend/backend/src/utils/agent-reply-filter.utils.js +127 -0
  53. package/dist/backend/backend/src/utils/agent-reply-filter.utils.js.map +1 -0
  54. package/dist/backend/build-info.json +2 -2
  55. package/dist/cli/backend/src/constants.d.ts +12 -0
  56. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  57. package/dist/cli/backend/src/constants.js +12 -0
  58. package/dist/cli/backend/src/constants.js.map +1 -1
  59. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  60. package/dist/cli/backend/src/services/agent/agent-registration.service.js +23 -1
  61. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  62. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +11 -1
  63. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/agent/codex-runtime.service.js +18 -0
  65. package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  66. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +12 -0
  67. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  68. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +18 -3
  69. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  70. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +29 -0
  71. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  72. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +48 -0
  73. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  74. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -1
  76. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  77. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +147 -5
  78. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  79. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +210 -20
  80. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  81. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts +87 -0
  82. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts.map +1 -0
  83. package/dist/cli/backend/src/services/harness/owner-login-request.js +191 -0
  84. package/dist/cli/backend/src/services/harness/owner-login-request.js.map +1 -0
  85. package/dist/cli/backend/src/utils/agent-reply-filter.utils.d.ts +75 -0
  86. package/dist/cli/backend/src/utils/agent-reply-filter.utils.d.ts.map +1 -0
  87. package/dist/cli/backend/src/utils/agent-reply-filter.utils.js +127 -0
  88. package/dist/cli/backend/src/utils/agent-reply-filter.utils.js.map +1 -0
  89. package/package.json +1 -1
  90. package/packages/crewly-agent/src/runtime/agent-runner.service.test.ts +39 -0
  91. package/packages/crewly-agent/src/runtime/agent-runner.service.ts +17 -17
  92. package/packages/crewly-agent/src/runtime/interactive-login-guard.test.ts +60 -0
  93. package/packages/crewly-agent/src/runtime/interactive-login-guard.ts +76 -0
  94. package/packages/crewly-agent/src/runtime/reply-tool-calls.test.ts +53 -0
  95. package/packages/crewly-agent/src/runtime/reply-tool-calls.ts +76 -0
  96. package/packages/crewly-agent/src/runtime/tool-registry.test.ts +8 -0
  97. package/packages/crewly-agent/src/runtime/tool-registry.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"harness-relogin.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-relogin.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-relogin.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-relogin.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Owner login requests — recognising "log harness X in" in plain words.
3
+ *
4
+ * Two consumers:
5
+ * - {@link parseOwnerLoginRequest}: the Slack DM interceptor. An owner who
6
+ * writes 「重新登录 claude」, 「换个账号登录 claude」 or "relogin codex" in the
7
+ * orchestrator's DM gets the login flow directly, without the LLM. The
8
+ * match is deliberately strict — the whole message must be the request —
9
+ * so a sentence that merely mentions a login still goes to the orc.
10
+ * - {@link isOwnerLoginRequestEvidence}: the orchestrator's `harness-login`
11
+ * skill. The orc may start a login only when a real owner message asked for
12
+ * one; this is the evidence check over the owner's recent messages.
13
+ *
14
+ * Incident 2026-09-26: the orc ran `claude setup-token` in its one-shot bash
15
+ * tool (the process died with the call, every pasted code went stale) and
16
+ * then claimed several times that it had sent a new link. The broker-backed
17
+ * flow started from here keeps the login alive in its own PTY.
18
+ *
19
+ * @module services/harness/owner-login-request
20
+ */
21
+ import type { HarnessId } from './harness.types.js';
22
+ /** A recognised owner login request. */
23
+ export type OwnerLoginRequest =
24
+ /** A known harness (it may still have no broker login — Antigravity, Gemini). */
25
+ {
26
+ kind: 'harness';
27
+ harnessId: HarnessId;
28
+ switchAccount: boolean;
29
+ }
30
+ /** A login request without a harness Crewly knows; `name` is what was written, or null. */
31
+ | {
32
+ kind: 'unknown';
33
+ name: string | null;
34
+ switchAccount: boolean;
35
+ };
36
+ /**
37
+ * Normalise a DM for matching: drop Slack mention/link markup, collapse
38
+ * whitespace, lower-case, trim.
39
+ *
40
+ * @param text - Raw message text
41
+ * @returns Normalised text
42
+ */
43
+ export declare function normaliseLoginText(text: string): string;
44
+ /**
45
+ * Resolve a harness name or alias as written by a person.
46
+ *
47
+ * @param name - e.g. "claude code", "Claude", "agy", "codex cli"
48
+ * @returns The harness id, or null
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * resolveHarnessName('claude code'); // 'claude-code'
53
+ * ```
54
+ */
55
+ export declare function resolveHarnessName(name: string): HarnessId | null;
56
+ /**
57
+ * Recognise an owner's DM that asks Crewly to log a harness in (or switch
58
+ * its account). The whole message must be the request; anything longer or
59
+ * different returns null and is handled by the orchestrator as usual.
60
+ *
61
+ * @param text - Owner DM text
62
+ * @returns The request, or null when the message is not a login request
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * parseOwnerLoginRequest('换个账号登录 claude');
67
+ * // { kind: 'harness', harnessId: 'claude-code', switchAccount: true }
68
+ * parseOwnerLoginRequest('重新登录');
69
+ * // { kind: 'unknown', name: null, switchAccount: false }
70
+ * ```
71
+ */
72
+ export declare function parseOwnerLoginRequest(text: string): OwnerLoginRequest | null;
73
+ /**
74
+ * Whether one owner message asks for a (re-)login of a harness. Mirrors the
75
+ * install-skill approval check: the orchestrator's claim is not trusted, the
76
+ * owner's own words are.
77
+ *
78
+ * Counts a message with a login verb that either names this harness or names
79
+ * none (「不 我要重新登陆一个账号」 in a conversation about Claude). A message
80
+ * naming only other harnesses, or a status question, does not count.
81
+ *
82
+ * @param message - Owner message text
83
+ * @param harnessId - Harness the orchestrator wants to log in
84
+ * @returns True when the message is evidence for that login
85
+ */
86
+ export declare function isOwnerLoginRequestEvidence(message: string, harnessId: HarnessId): boolean;
87
+ //# sourceMappingURL=owner-login-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-login-request.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/owner-login-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wCAAwC;AACxC,MAAM,MAAM,iBAAiB;AAC5B,iFAAiF;AAC/E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE;AACnE,2FAA2F;GACzF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAAC;AAoEpE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMjE;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmB7E;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAO1F"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Owner login requests — recognising "log harness X in" in plain words.
3
+ *
4
+ * Two consumers:
5
+ * - {@link parseOwnerLoginRequest}: the Slack DM interceptor. An owner who
6
+ * writes 「重新登录 claude」, 「换个账号登录 claude」 or "relogin codex" in the
7
+ * orchestrator's DM gets the login flow directly, without the LLM. The
8
+ * match is deliberately strict — the whole message must be the request —
9
+ * so a sentence that merely mentions a login still goes to the orc.
10
+ * - {@link isOwnerLoginRequestEvidence}: the orchestrator's `harness-login`
11
+ * skill. The orc may start a login only when a real owner message asked for
12
+ * one; this is the evidence check over the owner's recent messages.
13
+ *
14
+ * Incident 2026-09-26: the orc ran `claude setup-token` in its one-shot bash
15
+ * tool (the process died with the call, every pasted code went stale) and
16
+ * then claimed several times that it had sent a new link. The broker-backed
17
+ * flow started from here keeps the login alive in its own PTY.
18
+ *
19
+ * @module services/harness/owner-login-request
20
+ */
21
+ import { HARNESS_CONSTANTS } from '../../constants.js';
22
+ /** Harness names and aliases → id, longest first so "claude code" wins over "claude". */
23
+ const HARNESS_NAME_PATTERNS = [
24
+ { re: /^claude[\s_-]*code$/, id: HARNESS_CONSTANTS.IDS.CLAUDE_CODE },
25
+ { re: /^claude$/, id: HARNESS_CONSTANTS.IDS.CLAUDE_CODE },
26
+ { re: /^codex(?:[\s_-]*cli)?$/, id: HARNESS_CONSTANTS.IDS.CODEX_CLI },
27
+ { re: /^antigravity(?:[\s_-]*cli)?$/, id: HARNESS_CONSTANTS.IDS.ANTIGRAVITY_CLI },
28
+ { re: /^agy$/, id: HARNESS_CONSTANTS.IDS.ANTIGRAVITY_CLI },
29
+ { re: /^gemini(?:[\s_-]*cli)?$/, id: HARNESS_CONSTANTS.IDS.GEMINI_CLI },
30
+ ];
31
+ /** Any harness mention inside a longer message (evidence check). */
32
+ const HARNESS_MENTIONS = [
33
+ { re: /claude/i, id: HARNESS_CONSTANTS.IDS.CLAUDE_CODE },
34
+ { re: /codex/i, id: HARNESS_CONSTANTS.IDS.CODEX_CLI },
35
+ { re: /antigravity|\bagy\b/i, id: HARNESS_CONSTANTS.IDS.ANTIGRAVITY_CLI },
36
+ { re: /gemini/i, id: HARNESS_CONSTANTS.IDS.GEMINI_CLI },
37
+ ];
38
+ /**
39
+ * Names that are coding assistants Crewly does not run. "登录 cursor" is
40
+ * answered with the supported list; any other unknown word after a login
41
+ * verb ("登录 gmail") is not a harness request and goes to the orc.
42
+ */
43
+ const OTHER_CODING_TOOLS = /^(?:cursor|copilot|github\s*copilot|aider|opencode|cline|windsurf|kimi(?:\s*cli)?|qwen(?:\s*code)?|amp|goose|kiro|trae)$/;
44
+ /** Generic words for "the coding assistant" — a request for a harness without naming one. */
45
+ const GENERIC_HARNESS_WORDS = /^(?:harness|编程助手|编码助手|代码助手|ai\s*harness|cli)$/;
46
+ /** Chinese login verbs. The account-switch forms come first so they win. */
47
+ const ZH_VERB = '(?:换(?:一)?个(?:新)?账号(?:重新)?登[录陆]|换(?:一)?个号(?:重新)?登[录陆]|换账号(?:重新)?登[录陆]|换号(?:重新)?登[录陆]|用(?:另|别)(?:一)?个账号(?:重新)?登[录陆]|切换账号|换(?:一)?个(?:新)?账号|换账号|换号|重新登[录陆入]|重登[录陆]?|再登[录陆]|登[录陆入])';
48
+ /** English login verbs. */
49
+ const EN_VERB = '(?:re-?log\\s*in(?:\\s+to)?|re-?login(?:\\s+to)?|log\\s*in(?:\\s+to)?|login(?:\\s+to)?|sign\\s*in(?:\\s+to)?|re-?auth(?:enticate)?|switch\\s+(?:the\\s+)?accounts?(?:\\s+(?:for|of|on))?)';
50
+ /** Polite lead-ins that do not change the request. */
51
+ const PREFIX = '(?:(?:please|pls|can\\s+you|could\\s+you)\\s+)?(?:帮我|帮忙|麻烦(?:你)?|请(?:你)?|给我|你)?\\s*(?:(?:把|给|帮)\\s*)?';
52
+ /** Harmless endings. No 吗/了: "登录 claude 了吗" asks about a login, it does not request one. */
53
+ const SUFFIX = '\\s*(?:一下|下|吧)?\\s*[.。!!~~]*';
54
+ /** A name after or before the verb: up to three ASCII words, fewest first ("claude code", not "claude account"). */
55
+ const NAME = '([a-z][a-z0-9_-]*(?:\\s+[a-z][a-z0-9_-]*){0,2}?|编程助手|编码助手|代码助手)';
56
+ /** Optional "account" noun after the name ("claude 的账号", "claude account"). */
57
+ const ACCOUNT_NOUN = '(?:\\s*(?:的)?(?:账号|帐号|account))?';
58
+ /** "登录 claude" / "relogin to codex" / "换个账号登录 claude code". */
59
+ const VERB_FIRST = new RegExp(`^${PREFIX}(${ZH_VERB}|${EN_VERB})\\s*(?:到\\s*)?${NAME}${ACCOUNT_NOUN}${SUFFIX}$`, 'i');
60
+ /** "claude 重新登录" / "codex login" / "把 claude 换个账号登录". */
61
+ const NAME_FIRST = new RegExp(`^${PREFIX}${NAME}${ACCOUNT_NOUN}\\s*(?:重新)?(${ZH_VERB}|${EN_VERB})${SUFFIX}$`, 'i');
62
+ /** "给 claude 换个账号" / "switch claude account" / "switch claude to another account". */
63
+ const SWITCH_NAME = new RegExp(`^${PREFIX}(?:switch|change)\\s+${NAME}\\s+(?:to\\s+(?:another|a\\s+different|a\\s+new)\\s+)?accounts?${SUFFIX}$`, 'i');
64
+ /** A bare verb ("重新登录", "login") — a request with no harness named. */
65
+ const BARE_VERB = new RegExp(`^${PREFIX}(${ZH_VERB}|${EN_VERB})${SUFFIX}$`, 'i');
66
+ /** Words that mark an account switch. */
67
+ const SWITCH_WORDS = /换|切换|switch|another\s+account|different\s+account|other\s+account|另一个账号|别的账号|其他账号/i;
68
+ /**
69
+ * Normalise a DM for matching: drop Slack mention/link markup, collapse
70
+ * whitespace, lower-case, trim.
71
+ *
72
+ * @param text - Raw message text
73
+ * @returns Normalised text
74
+ */
75
+ export function normaliseLoginText(text) {
76
+ return text
77
+ .replace(/<@[A-Z0-9]+>/g, ' ')
78
+ .replace(/<([^|>]+)\|([^>]+)>/g, '$2')
79
+ .replace(/[「」“”"'`]/g, ' ')
80
+ .replace(/\s+/g, ' ')
81
+ .trim()
82
+ .toLowerCase();
83
+ }
84
+ /**
85
+ * Resolve a harness name or alias as written by a person.
86
+ *
87
+ * @param name - e.g. "claude code", "Claude", "agy", "codex cli"
88
+ * @returns The harness id, or null
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * resolveHarnessName('claude code'); // 'claude-code'
93
+ * ```
94
+ */
95
+ export function resolveHarnessName(name) {
96
+ const key = name.trim().toLowerCase().replace(/\s+/g, ' ');
97
+ for (const { re, id } of HARNESS_NAME_PATTERNS) {
98
+ if (re.test(key))
99
+ return id;
100
+ }
101
+ return null;
102
+ }
103
+ /**
104
+ * Turn a matched name into a request, or null when the name is not about a
105
+ * coding assistant at all ("登录 gmail" is for the orc, not for us).
106
+ *
107
+ * @param rawName - Name as matched
108
+ * @param switchAccount - Whether the owner asked for a different account
109
+ * @returns The request or null
110
+ */
111
+ function requestForName(rawName, switchAccount) {
112
+ const name = rawName.trim();
113
+ const harnessId = resolveHarnessName(name);
114
+ if (harnessId)
115
+ return { kind: 'harness', harnessId, switchAccount };
116
+ if (GENERIC_HARNESS_WORDS.test(name))
117
+ return { kind: 'unknown', name: null, switchAccount };
118
+ if (OTHER_CODING_TOOLS.test(name))
119
+ return { kind: 'unknown', name, switchAccount };
120
+ return null;
121
+ }
122
+ /**
123
+ * Recognise an owner's DM that asks Crewly to log a harness in (or switch
124
+ * its account). The whole message must be the request; anything longer or
125
+ * different returns null and is handled by the orchestrator as usual.
126
+ *
127
+ * @param text - Owner DM text
128
+ * @returns The request, or null when the message is not a login request
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * parseOwnerLoginRequest('换个账号登录 claude');
133
+ * // { kind: 'harness', harnessId: 'claude-code', switchAccount: true }
134
+ * parseOwnerLoginRequest('重新登录');
135
+ * // { kind: 'unknown', name: null, switchAccount: false }
136
+ * ```
137
+ */
138
+ export function parseOwnerLoginRequest(text) {
139
+ if (typeof text !== 'string')
140
+ return null;
141
+ const normalised = normaliseLoginText(text);
142
+ if (!normalised || normalised.length > HARNESS_CONSTANTS.OWNER_LOGIN.MAX_TRIGGER_LENGTH)
143
+ return null;
144
+ const switchAccount = SWITCH_WORDS.test(normalised);
145
+ // Each form in turn; a form whose "name" is not a harness ("relogin" read
146
+ // as name "re" + verb "login") does not end the search.
147
+ const verbFirst = VERB_FIRST.exec(normalised);
148
+ const fromVerbFirst = verbFirst ? requestForName(verbFirst[2], switchAccount) : null;
149
+ if (fromVerbFirst)
150
+ return fromVerbFirst;
151
+ const nameFirst = NAME_FIRST.exec(normalised);
152
+ const fromNameFirst = nameFirst ? requestForName(nameFirst[1], switchAccount) : null;
153
+ if (fromNameFirst)
154
+ return fromNameFirst;
155
+ const switchName = SWITCH_NAME.exec(normalised);
156
+ const fromSwitch = switchName ? requestForName(switchName[1], true) : null;
157
+ if (fromSwitch)
158
+ return fromSwitch;
159
+ if (BARE_VERB.test(normalised))
160
+ return { kind: 'unknown', name: null, switchAccount };
161
+ return null;
162
+ }
163
+ /** A login verb anywhere in a message (evidence check; broader than the trigger). */
164
+ const LOGIN_MENTION = /登[录陆入]|重登|换(?:一)?个?账号|切换账号|换号|re-?log\s*in|re-?login|\blog\s*in\b|\blog\s+(?:\S+\s+){1,2}in\b|\blogin\b|sign\s*in|setup-token|\/login|switch\s+(?:the\s+)?accounts?|login\s+link|登[录陆]链接/i;
165
+ /** Status questions — asking whether it is logged in is not asking to log in. */
166
+ const STATUS_QUESTION = /登[录陆]了吗|登[录陆]状态|是否(?:已经)?登[录陆]|有没有登[录陆]|登[录陆]过期了吗|(?:is|are)\s+\S+\s+logged\s+in|login\s+status|still\s+logged\s+in/i;
167
+ /**
168
+ * Whether one owner message asks for a (re-)login of a harness. Mirrors the
169
+ * install-skill approval check: the orchestrator's claim is not trusted, the
170
+ * owner's own words are.
171
+ *
172
+ * Counts a message with a login verb that either names this harness or names
173
+ * none (「不 我要重新登陆一个账号」 in a conversation about Claude). A message
174
+ * naming only other harnesses, or a status question, does not count.
175
+ *
176
+ * @param message - Owner message text
177
+ * @param harnessId - Harness the orchestrator wants to log in
178
+ * @returns True when the message is evidence for that login
179
+ */
180
+ export function isOwnerLoginRequestEvidence(message, harnessId) {
181
+ if (typeof message !== 'string' || !message.trim())
182
+ return false;
183
+ const parsed = parseOwnerLoginRequest(message);
184
+ if (parsed?.kind === 'harness')
185
+ return parsed.harnessId === harnessId;
186
+ if (!LOGIN_MENTION.test(message) || STATUS_QUESTION.test(message))
187
+ return false;
188
+ const named = HARNESS_MENTIONS.filter(({ re }) => re.test(message)).map(({ id }) => id);
189
+ return named.length === 0 || named.includes(harnessId);
190
+ }
191
+ //# sourceMappingURL=owner-login-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-login-request.js","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/owner-login-request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Filter for an in-process agent's final turn text before it is posted to a
3
+ * person (chat, Slack DM).
4
+ *
5
+ * Incident 2026-09-26 (owner's Slack DM with the orchestrator): after each
6
+ * turn the owner got an English meta report — "I've sent the reply. Here's
7
+ * my status: *What the user asked* … *What I did* … *Next step* … *Note on
8
+ * the ticket instruction*". Several turns in a row had made no tool call at
9
+ * all and still said "I generated a fresh link and sent it via reply-chat":
10
+ * nothing had been sent. Both kinds of text are noise at best and false at
11
+ * worst, so they are not posted:
12
+ *
13
+ * - {@link isMetaStatusReport}: the text reports on the turn instead of
14
+ * answering ("Here's my status", or self-referential section headers such
15
+ * as "What I did" plus another report header).
16
+ * - {@link claimsSentReply} with no reply tool call in the turn: the text
17
+ * says a reply / link was sent to the person, but nothing sent one. Text
18
+ * that carries a URL itself is kept — posting it delivers what it claims.
19
+ *
20
+ * A genuine answer — even one mentioning "next steps" or "I sent the task
21
+ * to Joe" — passes.
22
+ *
23
+ * @module utils/agent-reply-filter
24
+ */
25
+ /** The slice of a tool call record the filter reads. */
26
+ export interface TurnToolCall {
27
+ toolName: string;
28
+ args?: Record<string, unknown>;
29
+ }
30
+ /** Why a turn's text was not posted. */
31
+ export type SuppressedReplyReason = 'meta_status_report' | 'unsent_reply_claim';
32
+ /** Result of {@link filterAgentTurnReply}. */
33
+ export interface FilteredTurnReply {
34
+ /** Text to post ('' when suppressed) */
35
+ text: string;
36
+ /** Why it was suppressed, or null when it passes */
37
+ suppressed: SuppressedReplyReason | null;
38
+ }
39
+ /**
40
+ * Whether a tool call sent a reply to a person.
41
+ *
42
+ * @param call - Tool call record
43
+ * @returns True for a reply tool, or a shell call that runs a reply skill
44
+ */
45
+ export declare function isReplyToolCall(call: TurnToolCall): boolean;
46
+ /**
47
+ * Whether a text is a report on the turn rather than an answer.
48
+ *
49
+ * @param text - Final turn text
50
+ * @returns True for "Here's my status" openers, or a self-report header plus
51
+ * at least one more report header
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * isMetaStatusReport("I've sent the reply. Here's my status:\n**What I did:** …"); // true
56
+ * isMetaStatusReport('部署好了:https://ce.example.com'); // false
57
+ * ```
58
+ */
59
+ export declare function isMetaStatusReport(text: string): boolean;
60
+ /**
61
+ * Whether a text claims a reply, link or message was sent to the person.
62
+ *
63
+ * @param text - Final turn text
64
+ * @returns True for "I've sent the link", "The link has been sent", 「链接已经发给你了」 …
65
+ */
66
+ export declare function claimsSentReply(text: string): boolean;
67
+ /**
68
+ * Decide whether an in-process agent's final text may be posted.
69
+ *
70
+ * @param text - Final turn text (already stripped of tool-call markup)
71
+ * @param toolCalls - The turn's tool calls
72
+ * @returns The text to post, or '' with the reason it was suppressed
73
+ */
74
+ export declare function filterAgentTurnReply(text: string, toolCalls: readonly TurnToolCall[] | undefined): FilteredTurnReply;
75
+ //# sourceMappingURL=agent-reply-filter.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-reply-filter.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/agent-reply-filter.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wCAAwC;AACxC,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEhF,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IACjC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC;AA2CD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAK3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWxD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,GAAG,iBAAiB,CAQpH"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Filter for an in-process agent's final turn text before it is posted to a
3
+ * person (chat, Slack DM).
4
+ *
5
+ * Incident 2026-09-26 (owner's Slack DM with the orchestrator): after each
6
+ * turn the owner got an English meta report — "I've sent the reply. Here's
7
+ * my status: *What the user asked* … *What I did* … *Next step* … *Note on
8
+ * the ticket instruction*". Several turns in a row had made no tool call at
9
+ * all and still said "I generated a fresh link and sent it via reply-chat":
10
+ * nothing had been sent. Both kinds of text are noise at best and false at
11
+ * worst, so they are not posted:
12
+ *
13
+ * - {@link isMetaStatusReport}: the text reports on the turn instead of
14
+ * answering ("Here's my status", or self-referential section headers such
15
+ * as "What I did" plus another report header).
16
+ * - {@link claimsSentReply} with no reply tool call in the turn: the text
17
+ * says a reply / link was sent to the person, but nothing sent one. Text
18
+ * that carries a URL itself is kept — posting it delivers what it claims.
19
+ *
20
+ * A genuine answer — even one mentioning "next steps" or "I sent the task
21
+ * to Joe" — passes.
22
+ *
23
+ * @module utils/agent-reply-filter
24
+ */
25
+ /** Tools that post a reply by themselves. */
26
+ const REPLY_TOOL_NAMES = new Set(['reply_slack', 'reply-slack', 'reply_chat', 'reply-chat', 'send_chat_response']);
27
+ /** Shell tools whose command can run a reply skill. */
28
+ const SHELL_TOOL_NAMES = new Set(['bash_exec', 'bash', 'Bash', 'shell']);
29
+ /** Reply skills run through the shell. */
30
+ const REPLY_SKILL_PATTERN = /\b(?:reply-chat|reply-slack|reply-gchat|reply-remote|reply-channel|send-chat-response)\b/;
31
+ /**
32
+ * Opening line of a turn report: "I've sent the reply. Here's my status:",
33
+ * "I've replied to the Slack DM. Here's what I found and did:",
34
+ * "The link has been sent. Here's my status:".
35
+ */
36
+ const REPORT_OPENER = /^[^\n]{0,160}?\bhere(?:'s| is)\s+(?:my\s+status|what\s+i\s+(?:found|did|have\s+done))\b/i;
37
+ /** A markdown-ish section header line; group 1 is the label. */
38
+ const HEADER_LINE = /^\s*(?:#{1,6}\s*)?(?:[-*>]\s+)?\*{0,2}_?([^\n::*]{2,80}?)\s*(?:\([^)\n]{0,80}\))?\s*_?\*{0,2}\s*[::]/gm;
39
+ /** Headers in which the agent reports on itself or on "the user" (strong signal). */
40
+ const SELF_REPORT_LABEL = /^(?:what\s+(?:the\s+)?(?:user|owner)\b|what\s+i\b|why\s+i\b|note\s+on\s+(?:the\s+)?ticket|correction\s+first|my\s+status\b|用户(?:问|要|说|想|的问题)|我(?:做了|完成了|检查了|验证了|发现)|我的状态)/i;
41
+ /** Other headers a turn report uses (weak alone). */
42
+ const REPORT_LABEL = /^(?:next\s+steps?|result|root\s+cause|investigation|caveats?(?:\s+i\s+flagged.*)?|status|summary|findings|verified|下一步|结果|原因|结论|总结)\b/i;
43
+ /** Claims that a reply / link / message went to the person. */
44
+ const SENT_REPLY_CLAIMS = [
45
+ /\bi(?:'ve|\s+have)?\s+(?:just\s+|now\s+|also\s+)?(?:re-?)?(?:sent|posted|shared|dm'?e?d|delivered)\s+(?:you\b|it\s+(?:to\s+you|to\s+the\s+(?:user|owner)|via\b|in\s+(?:the\s+)?(?:dm|thread|chat))|the\s+(?:(?:new|fresh|real|login|authorization|auth|interim)\s+)*(?:link|reply|url|message|code|answer)\b|a\s+(?:(?:new|fresh|short)\s+)?(?:link|reply|message)\b)/i,
46
+ /\bi(?:'ve|\s+have)\s+(?:just\s+)?replied\b/i,
47
+ /\b(?:link|reply|url|message|answer)\s+(?:has|have|was)\s+(?:just\s+)?(?:been\s+)?(?:sent|posted|delivered)\b/i,
48
+ /\b(?:sent|delivered|posted)\s+(?:it\s+|the\s+\w+\s+)?via\s+`?reply-(?:chat|slack)/i,
49
+ /(?:链接|回复|消息|验证码|登录链接|授权链接)(?:已经?|刚刚?|都)?(?:发|发送|发出)(?:给你|过去|出去|到)?了/,
50
+ /(?:已经?|刚刚?)(?:把[^。\n]{0,30})?(?:发给你|发送给你|私信给你|回复你|回复了你)/,
51
+ /发给你了/,
52
+ ];
53
+ /** A URL in the text: posting it delivers the link it talks about. */
54
+ const URL_PATTERN = /https?:\/\/\S+/i;
55
+ /**
56
+ * Whether a tool call sent a reply to a person.
57
+ *
58
+ * @param call - Tool call record
59
+ * @returns True for a reply tool, or a shell call that runs a reply skill
60
+ */
61
+ export function isReplyToolCall(call) {
62
+ if (REPLY_TOOL_NAMES.has(call.toolName))
63
+ return true;
64
+ if (!SHELL_TOOL_NAMES.has(call.toolName))
65
+ return false;
66
+ const command = call.args?.command;
67
+ return typeof command === 'string' && REPLY_SKILL_PATTERN.test(command);
68
+ }
69
+ /**
70
+ * Whether a text is a report on the turn rather than an answer.
71
+ *
72
+ * @param text - Final turn text
73
+ * @returns True for "Here's my status" openers, or a self-report header plus
74
+ * at least one more report header
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * isMetaStatusReport("I've sent the reply. Here's my status:\n**What I did:** …"); // true
79
+ * isMetaStatusReport('部署好了:https://ce.example.com'); // false
80
+ * ```
81
+ */
82
+ export function isMetaStatusReport(text) {
83
+ if (typeof text !== 'string' || !text.trim())
84
+ return false;
85
+ if (REPORT_OPENER.test(text.trim()))
86
+ return true;
87
+ let self = 0;
88
+ let other = 0;
89
+ for (const match of text.matchAll(HEADER_LINE)) {
90
+ const label = match[1].trim();
91
+ if (SELF_REPORT_LABEL.test(label))
92
+ self += 1;
93
+ else if (REPORT_LABEL.test(label))
94
+ other += 1;
95
+ }
96
+ return self >= 1 && self + other >= 2;
97
+ }
98
+ /**
99
+ * Whether a text claims a reply, link or message was sent to the person.
100
+ *
101
+ * @param text - Final turn text
102
+ * @returns True for "I've sent the link", "The link has been sent", 「链接已经发给你了」 …
103
+ */
104
+ export function claimsSentReply(text) {
105
+ if (typeof text !== 'string' || !text.trim())
106
+ return false;
107
+ return SENT_REPLY_CLAIMS.some((re) => re.test(text));
108
+ }
109
+ /**
110
+ * Decide whether an in-process agent's final text may be posted.
111
+ *
112
+ * @param text - Final turn text (already stripped of tool-call markup)
113
+ * @param toolCalls - The turn's tool calls
114
+ * @returns The text to post, or '' with the reason it was suppressed
115
+ */
116
+ export function filterAgentTurnReply(text, toolCalls) {
117
+ if (!text)
118
+ return { text: '', suppressed: null };
119
+ if (isMetaStatusReport(text))
120
+ return { text: '', suppressed: 'meta_status_report' };
121
+ const replied = (toolCalls ?? []).some(isReplyToolCall);
122
+ if (!replied && claimsSentReply(text) && !URL_PATTERN.test(text)) {
123
+ return { text: '', suppressed: 'unsent_reply_claim' };
124
+ }
125
+ return { text, suppressed: null };
126
+ }
127
+ //# sourceMappingURL=agent-reply-filter.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-reply-filter.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/agent-reply-filter.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crewly",
3
- "version": "1.20.144",
3
+ "version": "1.20.145",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
6
6
  "workspaces": [