crewly 1.20.134 → 1.20.136

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 (74) hide show
  1. package/config/skills/agent/core/block-task/SKILL.md +16 -3
  2. package/dist/backend/backend/src/constants.d.ts +4 -0
  3. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  4. package/dist/backend/backend/src/constants.js +4 -0
  5. package/dist/backend/backend/src/constants.js.map +1 -1
  6. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +6 -1
  7. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  8. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +9 -2
  9. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  10. package/dist/backend/backend/src/index.d.ts.map +1 -1
  11. package/dist/backend/backend/src/index.js +21 -0
  12. package/dist/backend/backend/src/index.js.map +1 -1
  13. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +43 -7
  14. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  15. package/dist/backend/backend/src/services/agent/agent-registration.service.js +158 -51
  16. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  17. package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
  18. package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
  19. package/dist/backend/backend/src/services/agent/registration-flow-registry.js +121 -0
  20. package/dist/backend/backend/src/services/agent/registration-flow-registry.js.map +1 -0
  21. package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
  22. package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
  23. package/dist/backend/backend/src/services/agent/resumed-kickoff.js +72 -0
  24. package/dist/backend/backend/src/services/agent/resumed-kickoff.js.map +1 -0
  25. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +9 -1
  27. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  28. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +8 -0
  30. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  31. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +14 -0
  32. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +53 -1
  34. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
  36. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +60 -1
  38. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  39. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +37 -0
  40. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  41. package/dist/backend/backend/src/types/v2/work-item.types.js +33 -0
  42. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  43. package/dist/backend/build-info.json +2 -2
  44. package/dist/cli/backend/src/constants.d.ts +4 -0
  45. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  46. package/dist/cli/backend/src/constants.js +4 -0
  47. package/dist/cli/backend/src/constants.js.map +1 -1
  48. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +43 -7
  49. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  50. package/dist/cli/backend/src/services/agent/agent-registration.service.js +158 -51
  51. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  52. package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
  53. package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
  54. package/dist/cli/backend/src/services/agent/registration-flow-registry.js +121 -0
  55. package/dist/cli/backend/src/services/agent/registration-flow-registry.js.map +1 -0
  56. package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
  57. package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
  58. package/dist/cli/backend/src/services/agent/resumed-kickoff.js +72 -0
  59. package/dist/cli/backend/src/services/agent/resumed-kickoff.js.map +1 -0
  60. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +14 -0
  61. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  62. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +53 -1
  63. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  64. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
  65. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  66. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +60 -1
  67. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  68. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +37 -0
  69. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  70. package/dist/cli/backend/src/types/v2/work-item.types.js +33 -0
  71. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  72. package/frontend/dist/assets/{index-97bb17d4.js → index-2c7ee4a6.js} +30 -30
  73. package/frontend/dist/index.html +1 -1
  74. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Registration flow registry: at most one live registration/kickoff flow per
3
+ * agent session, bound to the PTY it was started for.
4
+ *
5
+ * Background (2026-09-25 startup-prompt loop): two launchers brought the same
6
+ * agent up at boot. The second one killed the first one's PTY and built a new
7
+ * one under the same session name, but the first one's background
8
+ * registration flow was never cancelled. It kept polling the session by name,
9
+ * found the replacement PTY, and typed its own kickoff into it, so the agent
10
+ * saw two kickoffs in one resumed conversation.
11
+ *
12
+ * A flow is therefore cancelled when:
13
+ * - a newer flow starts for the same session (it supersedes the old one),
14
+ * - the session is killed or recreated ({@link RegistrationFlowRegistry.cancel}), or
15
+ * - the PTY now registered under the session name is not the one the flow was
16
+ * started for. This catches kills from any code path, including ones that
17
+ * never call `cancel`.
18
+ *
19
+ * Senders must check {@link RegistrationFlowRegistry.isCancelled} right before
20
+ * every write to the terminal.
21
+ *
22
+ * @module services/agent/registration-flow-registry
23
+ */
24
+ /** A live registration flow for one session incarnation. */
25
+ export interface RegistrationFlow {
26
+ /** Session name the flow delivers into. */
27
+ readonly sessionName: string;
28
+ /** Monotonic per-session generation; a newer flow has a higher number. */
29
+ readonly generation: number;
30
+ /** Aborted when the flow is superseded, cancelled or its PTY is replaced. */
31
+ readonly signal: AbortSignal;
32
+ }
33
+ /** Why a flow was cancelled (logged by the caller). */
34
+ export type RegistrationFlowCancelReason = 'superseded' | 'session-killed' | 'session-replaced' | 'runtime-exited';
35
+ /**
36
+ * Tracks the single live registration flow per session.
37
+ *
38
+ * @typeParam TSession - Identity object of a live PTY (compared by reference)
39
+ */
40
+ export declare class RegistrationFlowRegistry<TSession extends object = object> {
41
+ private readonly current;
42
+ private readonly bySignal;
43
+ private readonly generations;
44
+ /**
45
+ * Start a flow for a session. Any earlier flow for the same session is
46
+ * aborted first: only the newest incarnation may deliver a kickoff.
47
+ *
48
+ * @param sessionName - Session the flow delivers into
49
+ * @param boundSession - The PTY currently registered under that name (undefined for in-process runtimes)
50
+ * @returns The new flow and whether an older one was superseded
51
+ */
52
+ begin(sessionName: string, boundSession: TSession | undefined): {
53
+ flow: RegistrationFlow;
54
+ superseded: boolean;
55
+ };
56
+ /**
57
+ * Abort the live flow for a session, if any.
58
+ *
59
+ * @param sessionName - Session whose flow to abort
60
+ * @param reason - Why (recorded on the abort signal)
61
+ * @returns True when a live flow was aborted
62
+ */
63
+ cancel(sessionName: string, reason: RegistrationFlowCancelReason): boolean;
64
+ /**
65
+ * Decide whether a flow may still write to its session. Aborts the flow
66
+ * (and says so) when the session's PTY has been replaced or removed since
67
+ * the flow started, or a newer flow took over.
68
+ *
69
+ * Signals the registry does not know are judged by `aborted` alone, so
70
+ * callers can pass any AbortSignal.
71
+ *
72
+ * @param signal - The flow's abort signal (undefined = not a guarded flow)
73
+ * @param currentSession - The PTY registered under the session name right now
74
+ * @returns True when the flow must not write anything further
75
+ */
76
+ isCancelled(signal: AbortSignal | undefined, currentSession: TSession | undefined): boolean;
77
+ /**
78
+ * Mark a flow finished. Only removes it while it is still the live flow,
79
+ * so a finishing old flow can never drop its successor's entry.
80
+ *
81
+ * @param flow - The finished flow
82
+ */
83
+ end(flow: RegistrationFlow): void;
84
+ /**
85
+ * Whether a session has a live (not yet finished or aborted) flow.
86
+ *
87
+ * @param sessionName - Session to check
88
+ * @returns True when a flow is in progress
89
+ */
90
+ has(sessionName: string): boolean;
91
+ }
92
+ //# sourceMappingURL=registration-flow-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration-flow-registry.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/registration-flow-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC7B;AAUD,uDAAuD;AACvD,MAAM,MAAM,4BAA4B,GACrC,YAAY,GACZ,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,wBAAwB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAC7E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAY/G;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,GAAG,OAAO;IAQ1E;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO;IAkB3F;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAKjC;;;;;OAKG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAGjC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Registration flow registry: at most one live registration/kickoff flow per
3
+ * agent session, bound to the PTY it was started for.
4
+ *
5
+ * Background (2026-09-25 startup-prompt loop): two launchers brought the same
6
+ * agent up at boot. The second one killed the first one's PTY and built a new
7
+ * one under the same session name, but the first one's background
8
+ * registration flow was never cancelled. It kept polling the session by name,
9
+ * found the replacement PTY, and typed its own kickoff into it, so the agent
10
+ * saw two kickoffs in one resumed conversation.
11
+ *
12
+ * A flow is therefore cancelled when:
13
+ * - a newer flow starts for the same session (it supersedes the old one),
14
+ * - the session is killed or recreated ({@link RegistrationFlowRegistry.cancel}), or
15
+ * - the PTY now registered under the session name is not the one the flow was
16
+ * started for. This catches kills from any code path, including ones that
17
+ * never call `cancel`.
18
+ *
19
+ * Senders must check {@link RegistrationFlowRegistry.isCancelled} right before
20
+ * every write to the terminal.
21
+ *
22
+ * @module services/agent/registration-flow-registry
23
+ */
24
+ /**
25
+ * Tracks the single live registration flow per session.
26
+ *
27
+ * @typeParam TSession - Identity object of a live PTY (compared by reference)
28
+ */
29
+ export class RegistrationFlowRegistry {
30
+ current = new Map();
31
+ bySignal = new WeakMap();
32
+ generations = new Map();
33
+ /**
34
+ * Start a flow for a session. Any earlier flow for the same session is
35
+ * aborted first: only the newest incarnation may deliver a kickoff.
36
+ *
37
+ * @param sessionName - Session the flow delivers into
38
+ * @param boundSession - The PTY currently registered under that name (undefined for in-process runtimes)
39
+ * @returns The new flow and whether an older one was superseded
40
+ */
41
+ begin(sessionName, boundSession) {
42
+ const superseded = this.cancel(sessionName, 'superseded');
43
+ const generation = (this.generations.get(sessionName) ?? 0) + 1;
44
+ this.generations.set(sessionName, generation);
45
+ const controller = new AbortController();
46
+ const flow = { sessionName, generation, signal: controller.signal };
47
+ const record = { flow, controller, boundSession };
48
+ this.current.set(sessionName, record);
49
+ this.bySignal.set(controller.signal, record);
50
+ return { flow, superseded };
51
+ }
52
+ /**
53
+ * Abort the live flow for a session, if any.
54
+ *
55
+ * @param sessionName - Session whose flow to abort
56
+ * @param reason - Why (recorded on the abort signal)
57
+ * @returns True when a live flow was aborted
58
+ */
59
+ cancel(sessionName, reason) {
60
+ const record = this.current.get(sessionName);
61
+ if (!record)
62
+ return false;
63
+ this.current.delete(sessionName);
64
+ if (!record.controller.signal.aborted)
65
+ record.controller.abort(reason);
66
+ return true;
67
+ }
68
+ /**
69
+ * Decide whether a flow may still write to its session. Aborts the flow
70
+ * (and says so) when the session's PTY has been replaced or removed since
71
+ * the flow started, or a newer flow took over.
72
+ *
73
+ * Signals the registry does not know are judged by `aborted` alone, so
74
+ * callers can pass any AbortSignal.
75
+ *
76
+ * @param signal - The flow's abort signal (undefined = not a guarded flow)
77
+ * @param currentSession - The PTY registered under the session name right now
78
+ * @returns True when the flow must not write anything further
79
+ */
80
+ isCancelled(signal, currentSession) {
81
+ if (!signal)
82
+ return false;
83
+ if (signal.aborted)
84
+ return true;
85
+ const record = this.bySignal.get(signal);
86
+ if (!record)
87
+ return false;
88
+ const { sessionName } = record.flow;
89
+ if (this.current.get(sessionName) !== record) {
90
+ record.controller.abort('superseded');
91
+ return true;
92
+ }
93
+ if (record.boundSession !== undefined && currentSession !== record.boundSession) {
94
+ this.current.delete(sessionName);
95
+ record.controller.abort('session-replaced');
96
+ return true;
97
+ }
98
+ return false;
99
+ }
100
+ /**
101
+ * Mark a flow finished. Only removes it while it is still the live flow,
102
+ * so a finishing old flow can never drop its successor's entry.
103
+ *
104
+ * @param flow - The finished flow
105
+ */
106
+ end(flow) {
107
+ const record = this.current.get(flow.sessionName);
108
+ if (record && record.flow === flow)
109
+ this.current.delete(flow.sessionName);
110
+ }
111
+ /**
112
+ * Whether a session has a live (not yet finished or aborted) flow.
113
+ *
114
+ * @param sessionName - Session to check
115
+ * @returns True when a flow is in progress
116
+ */
117
+ has(sessionName) {
118
+ return this.current.has(sessionName);
119
+ }
120
+ }
121
+ //# sourceMappingURL=registration-flow-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration-flow-registry.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/registration-flow-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Kickoff text for an agent whose runtime conversation was resumed
3
+ * (Claude Code `--resume`, Codex `resume`) at a Crewly restart.
4
+ *
5
+ * The full kickoff ("Begin your work now… Step 1, Step 2, Step 3
6
+ * (register-self)") typed into a resumed conversation reads, to the agent, as
7
+ * being started over from scratch. Every release restart used to do that, and
8
+ * agents re-announced themselves and redid their startup steps (2026-09-25
9
+ * startup-prompt loop). A resumed agent only needs to register again, since
10
+ * the backend's registration state did not survive the restart, and then carry on.
11
+ *
12
+ * @module services/agent/resumed-kickoff
13
+ */
14
+ /** Where the register-self skill lives, relative to the Crewly project root. */
15
+ export declare const REGISTER_SELF_SKILL_PATHS: {
16
+ /** Team members: config/skills/agent/core/register-self */
17
+ readonly AGENT: readonly ["config", "skills", "agent", "core", "register-self", "execute.sh"];
18
+ /** Orchestrator: config/skills/orchestrator/register-self */
19
+ readonly ORCHESTRATOR: readonly ["config", "skills", "orchestrator", "register-self", "execute.sh"];
20
+ };
21
+ /** Fixed wording of the resumed kickoff. */
22
+ export declare const RESUMED_KICKOFF_TEXT: {
23
+ readonly OPENING: "[Crewly restarted — this is your same conversation, resumed.";
24
+ readonly REGISTER: "Run register-self now (only that step):";
25
+ readonly CONTINUE: "— then continue exactly where you left off. Do not redo your startup steps or re-announce yourself.";
26
+ /** Only for runtimes whose instructions are not loaded as a system prompt. */
27
+ readonly CONTEXT_REFRESH: "If your instructions are no longer in your context, re-read";
28
+ readonly CLOSING: "]";
29
+ };
30
+ /**
31
+ * Marker that identifies a resumed kickoff, for tests and log checks.
32
+ */
33
+ export declare const RESUMED_KICKOFF_MARKER: "[Crewly restarted — this is your same conversation, resumed.";
34
+ /**
35
+ * Build the exact register-self command the agent's full prompt tells it to
36
+ * run, so a resumed agent registers the same way a fresh one does.
37
+ *
38
+ * @param projectRoot - Crewly project root (where `config/skills` lives)
39
+ * @param sessionName - The agent's session name
40
+ * @param role - The agent's role
41
+ * @returns A shell command line
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * buildRegisterSelfCommand('/opt/crewly', 'team-sam-1', 'developer');
46
+ * // bash /opt/crewly/config/skills/agent/core/register-self/execute.sh '{"role":"developer","sessionName":"team-sam-1"}'
47
+ * ```
48
+ */
49
+ export declare function buildRegisterSelfCommand(projectRoot: string, sessionName: string, role: string): string;
50
+ /**
51
+ * Build the short kickoff for a resumed conversation.
52
+ *
53
+ * @param args.projectRoot - Crewly project root
54
+ * @param args.sessionName - The agent's session name
55
+ * @param args.role - The agent's role
56
+ * @param args.promptFilePath - Init prompt file to point at for a context refresh.
57
+ * Omit for Claude Code, whose prompt is loaded as its agent definition.
58
+ * @returns The single-line message to type into the runtime
59
+ */
60
+ export declare function buildResumedKickoff(args: {
61
+ projectRoot: string;
62
+ sessionName: string;
63
+ role: string;
64
+ promptFilePath?: string;
65
+ }): string;
66
+ //# sourceMappingURL=resumed-kickoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resumed-kickoff.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resumed-kickoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,gFAAgF;AAChF,eAAO,MAAM,yBAAyB;IACrC,2DAA2D;;IAE3D,6DAA6D;;CAEpD,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,oBAAoB;;;;IAIhC,8EAA8E;;;CAGrE,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB,gEAA+B,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAOT"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Kickoff text for an agent whose runtime conversation was resumed
3
+ * (Claude Code `--resume`, Codex `resume`) at a Crewly restart.
4
+ *
5
+ * The full kickoff ("Begin your work now… Step 1, Step 2, Step 3
6
+ * (register-self)") typed into a resumed conversation reads, to the agent, as
7
+ * being started over from scratch. Every release restart used to do that, and
8
+ * agents re-announced themselves and redid their startup steps (2026-09-25
9
+ * startup-prompt loop). A resumed agent only needs to register again, since
10
+ * the backend's registration state did not survive the restart, and then carry on.
11
+ *
12
+ * @module services/agent/resumed-kickoff
13
+ */
14
+ import path from 'path';
15
+ import { ORCHESTRATOR_ROLE } from '../../constants.js';
16
+ /** Where the register-self skill lives, relative to the Crewly project root. */
17
+ export const REGISTER_SELF_SKILL_PATHS = {
18
+ /** Team members: config/skills/agent/core/register-self */
19
+ AGENT: ['config', 'skills', 'agent', 'core', 'register-self', 'execute.sh'],
20
+ /** Orchestrator: config/skills/orchestrator/register-self */
21
+ ORCHESTRATOR: ['config', 'skills', 'orchestrator', 'register-self', 'execute.sh'],
22
+ };
23
+ /** Fixed wording of the resumed kickoff. */
24
+ export const RESUMED_KICKOFF_TEXT = {
25
+ OPENING: '[Crewly restarted — this is your same conversation, resumed.',
26
+ REGISTER: 'Run register-self now (only that step):',
27
+ CONTINUE: '— then continue exactly where you left off. Do not redo your startup steps or re-announce yourself.',
28
+ /** Only for runtimes whose instructions are not loaded as a system prompt. */
29
+ CONTEXT_REFRESH: 'If your instructions are no longer in your context, re-read',
30
+ CLOSING: ']',
31
+ };
32
+ /**
33
+ * Marker that identifies a resumed kickoff, for tests and log checks.
34
+ */
35
+ export const RESUMED_KICKOFF_MARKER = RESUMED_KICKOFF_TEXT.OPENING;
36
+ /**
37
+ * Build the exact register-self command the agent's full prompt tells it to
38
+ * run, so a resumed agent registers the same way a fresh one does.
39
+ *
40
+ * @param projectRoot - Crewly project root (where `config/skills` lives)
41
+ * @param sessionName - The agent's session name
42
+ * @param role - The agent's role
43
+ * @returns A shell command line
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * buildRegisterSelfCommand('/opt/crewly', 'team-sam-1', 'developer');
48
+ * // bash /opt/crewly/config/skills/agent/core/register-self/execute.sh '{"role":"developer","sessionName":"team-sam-1"}'
49
+ * ```
50
+ */
51
+ export function buildRegisterSelfCommand(projectRoot, sessionName, role) {
52
+ const segments = role === ORCHESTRATOR_ROLE ? REGISTER_SELF_SKILL_PATHS.ORCHESTRATOR : REGISTER_SELF_SKILL_PATHS.AGENT;
53
+ const script = path.join(projectRoot, ...segments);
54
+ return `bash ${script} '${JSON.stringify({ role, sessionName })}'`;
55
+ }
56
+ /**
57
+ * Build the short kickoff for a resumed conversation.
58
+ *
59
+ * @param args.projectRoot - Crewly project root
60
+ * @param args.sessionName - The agent's session name
61
+ * @param args.role - The agent's role
62
+ * @param args.promptFilePath - Init prompt file to point at for a context refresh.
63
+ * Omit for Claude Code, whose prompt is loaded as its agent definition.
64
+ * @returns The single-line message to type into the runtime
65
+ */
66
+ export function buildResumedKickoff(args) {
67
+ const command = buildRegisterSelfCommand(args.projectRoot, args.sessionName, args.role);
68
+ const refresh = args.promptFilePath ? ` ${RESUMED_KICKOFF_TEXT.CONTEXT_REFRESH} ${args.promptFilePath}.` : '';
69
+ return (`${RESUMED_KICKOFF_TEXT.OPENING} ${RESUMED_KICKOFF_TEXT.REGISTER} ${command} ` +
70
+ `${RESUMED_KICKOFF_TEXT.CONTINUE}${refresh}${RESUMED_KICKOFF_TEXT.CLOSING}`);
71
+ }
72
+ //# sourceMappingURL=resumed-kickoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resumed-kickoff.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resumed-kickoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,2DAA2D;IAC3D,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC;IAC3E,6DAA6D;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC;CACxE,CAAC;AAEX,4CAA4C;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,OAAO,EAAE,8DAA8D;IACvE,QAAQ,EAAE,yCAAyC;IACnD,QAAQ,EAAE,qGAAqG;IAC/G,8EAA8E;IAC9E,eAAe,EAAE,6DAA6D;IAC9E,OAAO,EAAE,GAAG;CACH,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,WAAmB,EAAE,IAAY;IAC9F,MAAM,QAAQ,GAAG,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC;IACvH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IACnD,OAAO,QAAQ,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAKnC;IACA,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G,OAAO,CACN,GAAG,oBAAoB,CAAC,OAAO,IAAI,oBAAoB,CAAC,QAAQ,IAAI,OAAO,GAAG;QAC9E,GAAG,oBAAoB,CAAC,QAAQ,GAAG,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAC3E,CAAC;AACH,CAAC"}
@@ -162,6 +162,20 @@ export declare class SlackTypingPlaceholderService {
162
162
  * @returns The key of the owed reply, or null
163
163
  */
164
164
  findOwed(agentSession: string, slackChannelId: string): TypingKeyParts | null;
165
+ /**
166
+ * The agent finished its turn. Any placeholder it still owes (pending, or
167
+ * timed out into "still working") and is older than SETTLE_MIN_AGE_MS
168
+ * means it decided no reply was needed — an "ok"/"好"/"没关系", or another
169
+ * agent's acknowledgement. Take the placeholder down instead of leaving a
170
+ * promise that never comes: the owner read those "⏱ still working — the
171
+ * reply will follow" lines as unanswered messages (2026-09-25, 13 of them
172
+ * in two days). A reply that still arrives later posts as a new message.
173
+ *
174
+ * @param agentSession - Agent whose turn ended
175
+ * @param now - Clock (tests)
176
+ * @returns How many placeholders were removed
177
+ */
178
+ settleTurnWithoutReply(agentSession: string, now?: number): Promise<number>;
165
179
  /** Forget timed-out placeholders older than EXPIRED_KEEP_MS. */
166
180
  private pruneExpired;
167
181
  /** Number of placeholders still waiting for a reply (tests / diagnostics). */
@@ -1 +1 @@
1
- {"version":3,"file":"slack-typing-placeholder.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-typing-placeholder.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"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"}
@@ -140,7 +140,7 @@ export class SlackTypingPlaceholderService {
140
140
  };
141
141
  const timer = setTimer(() => void this.expire(k), this.deps.timeoutMs ?? SLACK_TYPING_CONSTANTS.TIMEOUT_MS);
142
142
  unref(timer);
143
- const entry = { placeholder, timer };
143
+ const entry = { placeholder, timer, startedAt: Date.now() };
144
144
  if (phase === 'waking') {
145
145
  // A cold start that drags on gets an honest note instead of a stale "waking up…".
146
146
  entry.slowTimer = setTimer(() => {
@@ -266,6 +266,58 @@ export class SlackTypingPlaceholderService {
266
266
  candidates.sort((a, b) => b.at - a.at);
267
267
  return candidates[0]?.key ?? null;
268
268
  }
269
+ /**
270
+ * The agent finished its turn. Any placeholder it still owes (pending, or
271
+ * timed out into "still working") and is older than SETTLE_MIN_AGE_MS
272
+ * means it decided no reply was needed — an "ok"/"好"/"没关系", or another
273
+ * agent's acknowledgement. Take the placeholder down instead of leaving a
274
+ * promise that never comes: the owner read those "⏱ still working — the
275
+ * reply will follow" lines as unanswered messages (2026-09-25, 13 of them
276
+ * in two days). A reply that still arrives later posts as a new message.
277
+ *
278
+ * @param agentSession - Agent whose turn ended
279
+ * @param now - Clock (tests)
280
+ * @returns How many placeholders were removed
281
+ */
282
+ async settleTurnWithoutReply(agentSession, now = Date.now()) {
283
+ const minAge = SLACK_TYPING_CONSTANTS.SETTLE_MIN_AGE_MS;
284
+ const victims = [];
285
+ for (const [k, entry] of [...this.pending]) {
286
+ if (!k.startsWith(`${agentSession}:`) || now - entry.startedAt < minAge)
287
+ continue;
288
+ if (this.inFlight.has(k))
289
+ continue;
290
+ const clear = this.deps.clearTimer ?? ((t) => clearTimeout(t));
291
+ clear(entry.timer);
292
+ if (entry.slowTimer)
293
+ clear(entry.slowTimer);
294
+ this.pending.delete(k);
295
+ victims.push(entry.placeholder);
296
+ }
297
+ for (const [k, { placeholder }] of [...this.expired]) {
298
+ if (!k.startsWith(`${agentSession}:`))
299
+ continue;
300
+ this.expired.delete(k);
301
+ victims.push(placeholder);
302
+ }
303
+ for (const placeholder of victims) {
304
+ try {
305
+ if (this.deps.slack.deleteMessage) {
306
+ await this.deps.slack.deleteMessage(placeholder.slackChannelId, placeholder.ts, placeholder.botToken);
307
+ }
308
+ else {
309
+ await this.deps.slack.updateMessage(placeholder.slackChannelId, placeholder.ts, SLACK_TYPING_CONSTANTS.SETTLED_TEXT.replace('{name}', placeholder.displayName), undefined, placeholder.botToken);
310
+ }
311
+ }
312
+ catch (err) {
313
+ this.logger.debug('Could not take down a settled placeholder', { error: err instanceof Error ? err.message : String(err) });
314
+ }
315
+ }
316
+ if (victims.length > 0) {
317
+ this.logger.info('Agent finished its turn without replying — placeholders taken down', { agentSession, count: victims.length });
318
+ }
319
+ return victims.length;
320
+ }
269
321
  /** Forget timed-out placeholders older than EXPIRED_KEEP_MS. */
270
322
  pruneExpired() {
271
323
  const cutoff = Date.now() - SLACK_TYPING_CONSTANTS.EXPIRED_KEEP_MS;
@@ -1 +1 @@
1
- {"version":3,"file":"slack-typing-placeholder.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-typing-placeholder.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"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"}
@@ -615,6 +615,38 @@ export declare class TaskPoolService {
615
615
  * @returns true when the verification path should fire
616
616
  */
617
617
  private requiresVerification;
618
+ /**
619
+ * Explicitly block a running WorkItem (the agent's `/block`, e.g. "waiting
620
+ * on the owner").
621
+ *
622
+ * The item becomes terminal-until-unblocked:
623
+ * - status `running → blocked`, with `blockedReason` and
624
+ * `blockSource: 'explicit'` written atomically with the flip;
625
+ * - the active claim is released (`blocked: <reason>`), which frees the
626
+ * agent's claim slot and leaves no lease for the reconciler to expire,
627
+ * revoke and redeliver;
628
+ * - the reconciler never re-queues an explicitly blocked item (see
629
+ * `detectRecoverableWorkItems` / `detectDependencyResolvedWorkItems`).
630
+ *
631
+ * Unblocking is explicit: {@link releaseBack} (POST
632
+ * `/task-pool/release/:id`, the release-claim skill) or any
633
+ * `blocked → queued` transition puts it back to `queued` and clears the
634
+ * marker. `target` is kept, so it returns to the same agent.
635
+ *
636
+ * Before this (2026-09-25, WI 92327d6d) `/block` kept the claim, and the
637
+ * reconciler flipped the item `blocked → queued` (`reconciler_requeue`)
638
+ * as soon as it saw the agent active, so it was re-claimed and
639
+ * re-dispatched every few minutes.
640
+ *
641
+ * @param workItemId - The running WorkItem to block
642
+ * @param options.agentId - Who blocked it (recorded in metadata)
643
+ * @param options.reason - Why (persisted on `blockedReason`)
644
+ * @throws Error if not found, or the item is not `running` (state machine)
645
+ */
646
+ blockItem(workItemId: string, options: {
647
+ agentId: string;
648
+ reason?: string;
649
+ }): Promise<void>;
618
650
  /**
619
651
  * Release the active claim on a WorkItem, if it has one.
620
652
  *
@@ -1 +1 @@
1
- {"version":3,"file":"task-pool.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-pool.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}