crewly 1.11.2 → 1.11.4
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/config/skills/agent/core/accept-task/SKILL.md +35 -7
- package/config/skills/agent/core/poll-tasks/execute.sh +44 -9
- package/config/skills/agent/core/poll-tasks/execute.test.sh +98 -0
- package/config/skills/agent/core/record-learning/execute.sh +92 -3
- package/config/skills/agent/core/register-self/SKILL.md +51 -8
- package/config/skills/agent/transcribe-audio/SKILL.md +110 -0
- package/config/skills/agent/transcribe-audio/execute.sh +223 -0
- package/config/skills/agent/transcribe-audio/instructions.md +92 -0
- package/config/skills/agent/transcribe-audio/skill.json +22 -0
- package/config/skills/orchestrator/assign-task/SKILL.md +40 -6
- package/config/skills/orchestrator/broadcast/SKILL.md +45 -8
- package/dist/backend/backend/src/constants.d.ts +0 -16
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +0 -16
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js +3 -10
- package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.js +24 -5
- package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +57 -2
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +2 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +124 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +0 -3
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +56 -20
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +2 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +79 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +118 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +1 -0
- package/dist/backend/backend/src/services/boot/boot-announce.service.d.ts +88 -0
- package/dist/backend/backend/src/services/boot/boot-announce.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/boot/boot-announce.service.js +119 -0
- package/dist/backend/backend/src/services/boot/boot-announce.service.js.map +1 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +14 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.js +0 -6
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +97 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.js +209 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +1 -0
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +78 -41
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +209 -127
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js +37 -9
- package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.d.ts +46 -0
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js +51 -0
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +29 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +9 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
- package/dist/backend/backend/src/services/session/runtime-pid-registry.service.d.ts +86 -0
- package/dist/backend/backend/src/services/session/runtime-pid-registry.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/session/runtime-pid-registry.service.js +214 -0
- package/dist/backend/backend/src/services/session/runtime-pid-registry.service.js.map +1 -0
- package/dist/backend/backend/src/services/sop/sop.service.d.ts +70 -2
- package/dist/backend/backend/src/services/sop/sop.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/sop/sop.service.js +93 -3
- package/dist/backend/backend/src/services/sop/sop.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/claim.service.d.ts +41 -0
- package/dist/backend/backend/src/services/task-pool/claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/claim.service.js +72 -0
- package/dist/backend/backend/src/services/task-pool/claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +16 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +20 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js +11 -0
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/telegram/telegram.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/telegram/telegram.service.js +24 -2
- package/dist/backend/backend/src/services/telegram/telegram.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-reminder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-reminder.service.js +18 -18
- package/dist/backend/backend/src/services/v3/mission-reminder.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +10 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +20 -12
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +12 -3
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +15 -5
- package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-query.service.js +31 -50
- package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +16 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-search.service.js +20 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +8 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +2 -0
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +23 -0
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +29 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +0 -16
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +0 -16
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +0 -6
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +78 -41
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +209 -127
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js +37 -9
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/claim.service.d.ts +41 -0
- package/dist/cli/backend/src/services/task-pool/claim.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/claim.service.js +72 -0
- package/dist/cli/backend/src/services/task-pool/claim.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +16 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +20 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts +57 -0
- package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/wiki/schema-loader.service.js +183 -0
- package/dist/cli/backend/src/services/wiki/schema-loader.service.js.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +100 -0
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js +212 -0
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-overlay.resolver.d.ts +43 -0
- package/dist/cli/backend/src/services/wiki/wiki-overlay.resolver.d.ts.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-overlay.resolver.js +67 -0
- package/dist/cli/backend/src/services/wiki/wiki-overlay.resolver.js.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts +166 -0
- package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki-search.service.js +379 -0
- package/dist/cli/backend/src/services/wiki/wiki-search.service.js.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki.types.d.ts +84 -0
- package/dist/cli/backend/src/services/wiki/wiki.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/wiki/wiki.types.js +10 -0
- package/dist/cli/backend/src/services/wiki/wiki.types.js.map +1 -0
- package/dist/cli/backend/src/types/settings.types.d.ts +8 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +2 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +23 -0
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +29 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/frontend/dist/assets/{index-44266b5d.css → index-8205ea5e.css} +1 -1
- package/frontend/dist/assets/{index-4099a91c.js → index-890d3f9d.js} +289 -289
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -16,6 +16,7 @@ export { ProjectReferenceModule } from './project-reference.module.js';
|
|
|
16
16
|
export { UserProfileReferenceModule } from './user-profile-reference.module.js';
|
|
17
17
|
export { LearningReferenceModule } from './learning-reference.module.js';
|
|
18
18
|
export { MissionContextModule } from './mission-context.module.js';
|
|
19
|
+
export { SOPNormDistinctionModule } from './sop-norm-distinction.module.js';
|
|
19
20
|
export { CommunicationModule } from './communication.module.js';
|
|
20
21
|
export { RecoveryModule } from './recovery.module.js';
|
|
21
22
|
export { LifecycleModule } from './lifecycle.module.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EAON,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,kBAAkB;AAClB,OAAO,EACN,6BAA6B,GAG7B,MAAM,gCAAgC,CAAC;AAExC,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EAON,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,kBAAkB;AAClB,OAAO,EACN,6BAA6B,GAG7B,MAAM,gCAAgC,CAAC;AAExC,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembly.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEnB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-assembly.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEnB,MAAM,8BAA8B,CAAC;AAiEtC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,WAAW,GAAE,MAA6B;IAMtD;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA4D9B;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;OAIG;IACH,UAAU,IAAI,YAAY,EAAE;IAI5B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IA8JzF;;;;;;OAMG;IACG,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;QACxD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,mBAAmB,EAAE,CAAC;KACjC,CAAC;IAUF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;CAkBnB"}
|
|
@@ -10,6 +10,7 @@ import { ProjectReferenceModule } from './project-reference.module.js';
|
|
|
10
10
|
import { UserProfileReferenceModule } from './user-profile-reference.module.js';
|
|
11
11
|
import { LearningReferenceModule } from './learning-reference.module.js';
|
|
12
12
|
import { MissionContextModule } from './mission-context.module.js';
|
|
13
|
+
import { SOPNormDistinctionModule } from './sop-norm-distinction.module.js';
|
|
13
14
|
import { CommunicationModule } from './communication.module.js';
|
|
14
15
|
import { RecoveryModule } from './recovery.module.js';
|
|
15
16
|
import { LifecycleModule } from './lifecycle.module.js';
|
|
@@ -145,6 +146,7 @@ export class PromptAssemblyService {
|
|
|
145
146
|
new UserProfileReferenceModule(),
|
|
146
147
|
new RiskPolicyModule(),
|
|
147
148
|
new LearningReferenceModule(),
|
|
149
|
+
new SOPNormDistinctionModule(),
|
|
148
150
|
new LifecycleModule(),
|
|
149
151
|
];
|
|
150
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembly.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-assembly.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* SOP-vs-Norm distinction module — teaches every agent how to differentiate
|
|
4
|
+
* procedural SOPs (step-by-step deliverable guides) from behavioral Norms
|
|
5
|
+
* (collaboration covenants applied as constraints), how to name and place
|
|
6
|
+
* new SOP / Norm docs, how to reconcile conflicting versions, and how to
|
|
7
|
+
* communicate with task owners (silent-by-default / outcomes-first /
|
|
8
|
+
* thread-scope-discipline).
|
|
9
|
+
*
|
|
10
|
+
* This module sits at v1.5 of the three-tier knowledge-reconciliation
|
|
11
|
+
* roadmap:
|
|
12
|
+
* - v1 (Mia, shipped): Karpathy-lite — `record-learning` entity-centric format.
|
|
13
|
+
* - v1.5 (this module): prompt-layer SOP/Norm classification + naming + reconciliation hint.
|
|
14
|
+
* - v2 (Archivist, deferred): full cross-artifact synthesis engine.
|
|
15
|
+
*
|
|
16
|
+
* Reconciliation is treated as a horizontal primitive across all knowledge
|
|
17
|
+
* artifacts. v1.5 is the prompt-layer hint only — it does NOT introduce a
|
|
18
|
+
* service. It teaches agents to recognise conflict and escalate to TL,
|
|
19
|
+
* never silently merge.
|
|
20
|
+
*
|
|
21
|
+
* Source of truth for SOP/Norm classification:
|
|
22
|
+
* YAML frontmatter `type: sop | norm | hybrid` on each doc file.
|
|
23
|
+
* Filename prefix (`sop-*` / `norm-*` / `hybrid-*`) is a secondary hint.
|
|
24
|
+
*
|
|
25
|
+
* Owner Communication Discipline (3 norms folded as one family):
|
|
26
|
+
* - Silent by default
|
|
27
|
+
* - Deliver outcomes, not narrate progress
|
|
28
|
+
* - Thread scope discipline
|
|
29
|
+
* The three propagate via this module's system-prompt injection so they
|
|
30
|
+
* apply to ALL agents, not just orchestrator agent memory.
|
|
31
|
+
*
|
|
32
|
+
* Spec source:
|
|
33
|
+
* `.crewly/tasks/autonomy_v1/follow-up/sop-norm-prompt-module.md`
|
|
34
|
+
* (orc relay 2026-04-26 evening; Steve directive on naming + placement +
|
|
35
|
+
* reconciliation rules + Owner Communication Discipline.)
|
|
36
|
+
*
|
|
37
|
+
* @module services/ai/prompt-modules/sop-norm-distinction.module
|
|
38
|
+
*/
|
|
39
|
+
export declare class SOPNormDistinctionModule implements PromptModule {
|
|
40
|
+
name: string;
|
|
41
|
+
/** Just after `learning_references` (priority 10) so the SOP/Norm lens is established before downstream behavioural sections. */
|
|
42
|
+
priority: number;
|
|
43
|
+
/**
|
|
44
|
+
* Soft cap. Note: the spec acceptance criterion lists "Token estimate < 450"
|
|
45
|
+
* but that estimate undercounts the verbatim skeleton — once all 6 required
|
|
46
|
+
* sections (Definitions, Reading rules, Naming + placement, Reconciliation,
|
|
47
|
+
* Owner Communication Discipline, Why this matters) plus their mandated
|
|
48
|
+
* sub-items are rendered, the actual content measures ~1009 tokens. The
|
|
49
|
+
* authoritative budget is therefore raised to 1100 (≈9% headroom). Module is
|
|
50
|
+
* `compactable = true` so the assembler still trims under budget pressure.
|
|
51
|
+
* Deviation logged in spec follow-up; spec's "Token estimate < 450" line is
|
|
52
|
+
* acknowledged as an undercount, not enforced.
|
|
53
|
+
*/
|
|
54
|
+
maxTokens: number;
|
|
55
|
+
compactable: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Always include — every agent (orchestrator, TL, executor) needs the
|
|
58
|
+
* SOP-vs-Norm lens and the Owner Communication Discipline guard rails.
|
|
59
|
+
*
|
|
60
|
+
* @param _config - unused; included for interface symmetry.
|
|
61
|
+
* @returns always `true`.
|
|
62
|
+
*/
|
|
63
|
+
shouldInclude(_config: ModuleConfig): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Build the SOP-vs-Norm distinction section as a markdown string.
|
|
66
|
+
* Output structure (6 sections, per spec acceptance criteria):
|
|
67
|
+
* 1. Definitions (SOP / Team Norm / Hybrid).
|
|
68
|
+
* 2. Reading rules (4 items).
|
|
69
|
+
* 3. Naming + placement rules (4 items).
|
|
70
|
+
* 4. Reconciliation rules (4 items, "extend not replace").
|
|
71
|
+
* 5. Owner Communication Discipline (3 norms as one family).
|
|
72
|
+
* 6. Why this matters.
|
|
73
|
+
*
|
|
74
|
+
* @param _config - unused; module content is static.
|
|
75
|
+
* @returns markdown section.
|
|
76
|
+
*/
|
|
77
|
+
build(_config: ModuleConfig): Promise<string>;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=sop-norm-distinction.module.d.ts.map
|
package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sop-norm-distinction.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/sop-norm-distinction.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC5D,IAAI,SAA0B;IAC9B,iIAAiI;IACjI,QAAQ,SAAM;IACd;;;;;;;;;;OAUG;IACH,SAAS,SAAQ;IACjB,WAAW,UAAQ;IAEnB;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCnD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SOP-vs-Norm distinction module — teaches every agent how to differentiate
|
|
3
|
+
* procedural SOPs (step-by-step deliverable guides) from behavioral Norms
|
|
4
|
+
* (collaboration covenants applied as constraints), how to name and place
|
|
5
|
+
* new SOP / Norm docs, how to reconcile conflicting versions, and how to
|
|
6
|
+
* communicate with task owners (silent-by-default / outcomes-first /
|
|
7
|
+
* thread-scope-discipline).
|
|
8
|
+
*
|
|
9
|
+
* This module sits at v1.5 of the three-tier knowledge-reconciliation
|
|
10
|
+
* roadmap:
|
|
11
|
+
* - v1 (Mia, shipped): Karpathy-lite — `record-learning` entity-centric format.
|
|
12
|
+
* - v1.5 (this module): prompt-layer SOP/Norm classification + naming + reconciliation hint.
|
|
13
|
+
* - v2 (Archivist, deferred): full cross-artifact synthesis engine.
|
|
14
|
+
*
|
|
15
|
+
* Reconciliation is treated as a horizontal primitive across all knowledge
|
|
16
|
+
* artifacts. v1.5 is the prompt-layer hint only — it does NOT introduce a
|
|
17
|
+
* service. It teaches agents to recognise conflict and escalate to TL,
|
|
18
|
+
* never silently merge.
|
|
19
|
+
*
|
|
20
|
+
* Source of truth for SOP/Norm classification:
|
|
21
|
+
* YAML frontmatter `type: sop | norm | hybrid` on each doc file.
|
|
22
|
+
* Filename prefix (`sop-*` / `norm-*` / `hybrid-*`) is a secondary hint.
|
|
23
|
+
*
|
|
24
|
+
* Owner Communication Discipline (3 norms folded as one family):
|
|
25
|
+
* - Silent by default
|
|
26
|
+
* - Deliver outcomes, not narrate progress
|
|
27
|
+
* - Thread scope discipline
|
|
28
|
+
* The three propagate via this module's system-prompt injection so they
|
|
29
|
+
* apply to ALL agents, not just orchestrator agent memory.
|
|
30
|
+
*
|
|
31
|
+
* Spec source:
|
|
32
|
+
* `.crewly/tasks/autonomy_v1/follow-up/sop-norm-prompt-module.md`
|
|
33
|
+
* (orc relay 2026-04-26 evening; Steve directive on naming + placement +
|
|
34
|
+
* reconciliation rules + Owner Communication Discipline.)
|
|
35
|
+
*
|
|
36
|
+
* @module services/ai/prompt-modules/sop-norm-distinction.module
|
|
37
|
+
*/
|
|
38
|
+
export class SOPNormDistinctionModule {
|
|
39
|
+
name = 'sop_norm_distinction';
|
|
40
|
+
/** Just after `learning_references` (priority 10) so the SOP/Norm lens is established before downstream behavioural sections. */
|
|
41
|
+
priority = 11;
|
|
42
|
+
/**
|
|
43
|
+
* Soft cap. Note: the spec acceptance criterion lists "Token estimate < 450"
|
|
44
|
+
* but that estimate undercounts the verbatim skeleton — once all 6 required
|
|
45
|
+
* sections (Definitions, Reading rules, Naming + placement, Reconciliation,
|
|
46
|
+
* Owner Communication Discipline, Why this matters) plus their mandated
|
|
47
|
+
* sub-items are rendered, the actual content measures ~1009 tokens. The
|
|
48
|
+
* authoritative budget is therefore raised to 1100 (≈9% headroom). Module is
|
|
49
|
+
* `compactable = true` so the assembler still trims under budget pressure.
|
|
50
|
+
* Deviation logged in spec follow-up; spec's "Token estimate < 450" line is
|
|
51
|
+
* acknowledged as an undercount, not enforced.
|
|
52
|
+
*/
|
|
53
|
+
maxTokens = 1100;
|
|
54
|
+
compactable = true;
|
|
55
|
+
/**
|
|
56
|
+
* Always include — every agent (orchestrator, TL, executor) needs the
|
|
57
|
+
* SOP-vs-Norm lens and the Owner Communication Discipline guard rails.
|
|
58
|
+
*
|
|
59
|
+
* @param _config - unused; included for interface symmetry.
|
|
60
|
+
* @returns always `true`.
|
|
61
|
+
*/
|
|
62
|
+
shouldInclude(_config) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Build the SOP-vs-Norm distinction section as a markdown string.
|
|
67
|
+
* Output structure (6 sections, per spec acceptance criteria):
|
|
68
|
+
* 1. Definitions (SOP / Team Norm / Hybrid).
|
|
69
|
+
* 2. Reading rules (4 items).
|
|
70
|
+
* 3. Naming + placement rules (4 items).
|
|
71
|
+
* 4. Reconciliation rules (4 items, "extend not replace").
|
|
72
|
+
* 5. Owner Communication Discipline (3 norms as one family).
|
|
73
|
+
* 6. Why this matters.
|
|
74
|
+
*
|
|
75
|
+
* @param _config - unused; module content is static.
|
|
76
|
+
* @returns markdown section.
|
|
77
|
+
*/
|
|
78
|
+
async build(_config) {
|
|
79
|
+
return `## SOP vs Team Norm — How to Read, Create, and Reconcile Procedure Docs
|
|
80
|
+
|
|
81
|
+
### Definitions
|
|
82
|
+
- **SOP** (Standard Operating Procedure): A step-by-step procedure to produce a specific deliverable. Follow it sequentially. Examples: code-commit-sop, content-production-pipeline.
|
|
83
|
+
- **Team Norm**: A behavioral / collaboration covenant with teammates. Apply it as a constraint on *how* you work, not as steps to execute. Examples: branch-guard rule, worktree-isolation pattern.
|
|
84
|
+
- **Hybrid**: A doc containing both. Identify which sections are procedural (follow steps) vs which are normative (apply as constraint).
|
|
85
|
+
|
|
86
|
+
### Reading rules
|
|
87
|
+
1. **Source of truth = YAML frontmatter \`type:\`** on the doc file (\`sop\` | \`norm\` | \`hybrid\`).
|
|
88
|
+
2. **Filename prefix** is secondary: \`sop-*.md\` → procedural, \`norm-*.md\` → behavioral.
|
|
89
|
+
3. **When you call \`get-sops\` skill**: returned docs declare their type in the response. Do NOT step-through a Norm.
|
|
90
|
+
4. **When in doubt**: ask the team-leader. Misreading a Norm as an SOP causes over-procedure; ignoring a Norm causes collaboration breakdown.
|
|
91
|
+
|
|
92
|
+
### Naming + placement rules (when you create a new SOP / Norm)
|
|
93
|
+
1. **Filename prefix:** \`sop-<name>.md\` for procedural, \`norm-<name>.md\` for behavioral, \`hybrid-<name>.md\` for mixed.
|
|
94
|
+
2. **YAML frontmatter:** Every doc MUST start with \`---\\ntype: sop|norm|hybrid\\n---\` block. The frontmatter \`type:\` is the contract — filename prefix is a secondary cue.
|
|
95
|
+
3. **Subdirectory:** place under \`sops/sops/\`, \`sops/norms/\`, or \`sops/hybrids/\` respectively.
|
|
96
|
+
4. **Hybrid docs** must have section-level \`<!-- type: sop -->\` / \`<!-- type: norm -->\` HTML comments inside the body so consumers can split.
|
|
97
|
+
|
|
98
|
+
### Reconciliation rules (when you encounter conflicting SOPs / Norms)
|
|
99
|
+
1. **Flag, don't merge.** If two docs disagree on the same procedure or covenant, do NOT silently merge. Open a conflict marker (write a note + escalate to TL).
|
|
100
|
+
2. **Escalate to team-leader.** TL owns reconciliation decisions. Only TL may declare which version is canonical.
|
|
101
|
+
3. **Multiple-version coexistence priority** (when no TL decision yet): \`mtime\` (newest wins for procedural drift) → \`version:\` frontmatter field (explicit semver wins) → explicit \`owner:\` frontmatter (owner-declared canonical wins).
|
|
102
|
+
4. **Never delete.** Conflicting docs stay on disk. Append \`status: deprecated\` to frontmatter of the losing version once TL decides; keep file for audit. Mirrors Norm v0.2 "extend not replace".
|
|
103
|
+
|
|
104
|
+
### Owner Communication Discipline
|
|
105
|
+
When you communicate with task owners (TL, PM, Steve, Orchestrator), apply these three norms together — they are one family: **owner attention discipline**.
|
|
106
|
+
|
|
107
|
+
1. **Silent by default.** Do not surface what should not be surfaced. If a status update doesn't change a decision, don't send it. Heartbeats / "still working" pings are noise; only surface progress when (a) a milestone landed, (b) you are blocked, or (c) the owner asked for an update.
|
|
108
|
+
2. **Deliver outcomes, not narrate progress.** When you do surface, lead with the conclusion + recommendation. Owners parse the first line; everything after is supporting evidence. Never bury the verdict at the bottom of a play-by-play.
|
|
109
|
+
3. **Thread Scope Discipline.** Each Slack thread / message-context has its own topic scope. Replies stay within that scope — no cross-thread sidebars. ("By the way, X thread is also progressing…" is noise to the X-thread owner.) Cross-thread routing is the orchestrator's job; topic owners do not need sidebar updates from peer threads. Exception: owner explicitly asked "also tell me about X".
|
|
110
|
+
|
|
111
|
+
### Why this matters
|
|
112
|
+
- An SOP says "do X then Y then Z to ship a PR". Follow exactly.
|
|
113
|
+
- A Norm says "always branch-guard before commit". Apply every time, not as a sequential step.
|
|
114
|
+
- Silent merging of conflicting docs erases team-decision history. Always surface conflict, never resolve it implicitly.
|
|
115
|
+
- Owner attention is finite. The three Owner Communication norms compound: silent-by-default reduces volume, outcomes-first reduces parse cost, thread-scope reduces context-switch cost.`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=sop-norm-distinction.module.js.map
|
package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sop-norm-distinction.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/sop-norm-distinction.module.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,wBAAwB;IACpC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,iIAAiI;IACjI,QAAQ,GAAG,EAAE,CAAC;IACd;;;;;;;;;;OAUG;IACH,SAAS,GAAG,IAAI,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IAEnB;;;;;;OAMG;IACH,aAAa,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0LAoCiL,CAAC;IAC1L,CAAC;CACD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boot Announce Service
|
|
3
|
+
*
|
|
4
|
+
* Posts a one-time "back online" message to the owner's channel after the
|
|
5
|
+
* backend restarts and the orchestrator is ready, so a restart is visible
|
|
6
|
+
* instead of silent. The message is deterministic (composed here, not by the
|
|
7
|
+
* orchestrator) and reports startup success + the running version, optionally
|
|
8
|
+
* enriched with how long the system was offline and how many queued messages
|
|
9
|
+
* were replayed.
|
|
10
|
+
*
|
|
11
|
+
* Design: the composer is PURE (unit-testable); sending takes injected
|
|
12
|
+
* dependencies (Slack connectivity + sender + logger) so the I/O is testable
|
|
13
|
+
* and the caller in index.ts stays thin. Sending is best-effort — any failure
|
|
14
|
+
* is swallowed and logged, never blocking boot.
|
|
15
|
+
*
|
|
16
|
+
* v1 targets Slack (the owner's primary channel). Posting to the web chat
|
|
17
|
+
* (chat-v2) can be layered on later via the same composer.
|
|
18
|
+
*
|
|
19
|
+
* @module services/boot/boot-announce.service
|
|
20
|
+
*/
|
|
21
|
+
/** Inputs describing the just-completed boot. */
|
|
22
|
+
export interface BootAnnounceInfo {
|
|
23
|
+
/** The running Crewly version, e.g. "1.11.3". */
|
|
24
|
+
version: string;
|
|
25
|
+
/** True on the first-ever boot (welcome) vs a restart (back-online). */
|
|
26
|
+
firstBoot?: boolean;
|
|
27
|
+
/** How long the system was offline before this boot, in ms (optional). */
|
|
28
|
+
offlineDurationMs?: number;
|
|
29
|
+
/** How many queued offline messages were replayed on boot (optional). */
|
|
30
|
+
replayedCount?: number;
|
|
31
|
+
}
|
|
32
|
+
/** A composed announcement ready to send. */
|
|
33
|
+
export interface BootAnnounceMessage {
|
|
34
|
+
/** Short title / headline. */
|
|
35
|
+
title: string;
|
|
36
|
+
/** Body text (one fact per line). */
|
|
37
|
+
message: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Composes the boot announcement text. Pure — no I/O.
|
|
41
|
+
*
|
|
42
|
+
* Always includes startup success + version. Adds an offline-duration line and
|
|
43
|
+
* a replayed-messages line only when those values are present and meaningful.
|
|
44
|
+
*
|
|
45
|
+
* @param info - The boot info (version required; offline/replayed optional).
|
|
46
|
+
* @returns The title + message to send.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* composeBootAnnouncement({ version: '1.11.3', offlineDurationMs: 720000, replayedCount: 3 })
|
|
50
|
+
* // → { title: '✅ Crewly 已重启上线', message: '• 版本: 1.11.3\n• 离线: 12 分钟\n• 已补处理: 3 条离线消息' }
|
|
51
|
+
*/
|
|
52
|
+
export declare function composeBootAnnouncement(info: BootAnnounceInfo): BootAnnounceMessage;
|
|
53
|
+
/** Injected dependencies for sending the announcement (keeps I/O testable). */
|
|
54
|
+
export interface BootAnnounceDeps {
|
|
55
|
+
/** Whether the Slack channel is currently connected. */
|
|
56
|
+
isSlackConnected: () => boolean;
|
|
57
|
+
/** Sends the composed announcement to Slack (e.g. via sendNotification). */
|
|
58
|
+
sendSlack: (msg: BootAnnounceMessage) => Promise<void>;
|
|
59
|
+
/** Minimal logger. */
|
|
60
|
+
logger: {
|
|
61
|
+
info: (message: string, meta?: Record<string, unknown>) => void;
|
|
62
|
+
warn: (message: string, meta?: Record<string, unknown>) => void;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Sends the boot announcement. Best-effort: skips silently when Slack is not
|
|
67
|
+
* connected, and swallows any send error (logged as a warning) so a failed
|
|
68
|
+
* announcement never affects startup.
|
|
69
|
+
*
|
|
70
|
+
* @param info - The boot info to announce.
|
|
71
|
+
* @param deps - Injected Slack connectivity + sender + logger.
|
|
72
|
+
*/
|
|
73
|
+
export declare function sendBootAnnouncement(info: BootAnnounceInfo, deps: BootAnnounceDeps): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Returns true if no boot marker exists yet — i.e. this is the first-ever boot.
|
|
76
|
+
*
|
|
77
|
+
* @param markerPath - Absolute path to the boot marker file.
|
|
78
|
+
* @returns True when the marker is absent.
|
|
79
|
+
*/
|
|
80
|
+
export declare function isFirstBoot(markerPath: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Persists the boot marker so subsequent boots are recognized as restarts.
|
|
83
|
+
* Best-effort: if the write fails, a future boot may re-show the welcome — harmless.
|
|
84
|
+
*
|
|
85
|
+
* @param markerPath - Absolute path to the boot marker file.
|
|
86
|
+
*/
|
|
87
|
+
export declare function markBooted(markerPath: string): void;
|
|
88
|
+
//# sourceMappingURL=boot-announce.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-announce.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/boot/boot-announce.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAqBnF;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,4EAA4E;IAC5E,SAAS,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,sBAAsB;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAChE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACjE,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMnD"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boot Announce Service
|
|
3
|
+
*
|
|
4
|
+
* Posts a one-time "back online" message to the owner's channel after the
|
|
5
|
+
* backend restarts and the orchestrator is ready, so a restart is visible
|
|
6
|
+
* instead of silent. The message is deterministic (composed here, not by the
|
|
7
|
+
* orchestrator) and reports startup success + the running version, optionally
|
|
8
|
+
* enriched with how long the system was offline and how many queued messages
|
|
9
|
+
* were replayed.
|
|
10
|
+
*
|
|
11
|
+
* Design: the composer is PURE (unit-testable); sending takes injected
|
|
12
|
+
* dependencies (Slack connectivity + sender + logger) so the I/O is testable
|
|
13
|
+
* and the caller in index.ts stays thin. Sending is best-effort — any failure
|
|
14
|
+
* is swallowed and logged, never blocking boot.
|
|
15
|
+
*
|
|
16
|
+
* v1 targets Slack (the owner's primary channel). Posting to the web chat
|
|
17
|
+
* (chat-v2) can be layered on later via the same composer.
|
|
18
|
+
*
|
|
19
|
+
* @module services/boot/boot-announce.service
|
|
20
|
+
*/
|
|
21
|
+
import { existsSync, writeFileSync } from 'fs';
|
|
22
|
+
/**
|
|
23
|
+
* Formats a millisecond duration as a short human-readable Chinese string.
|
|
24
|
+
*
|
|
25
|
+
* @param ms - Duration in milliseconds.
|
|
26
|
+
* @returns e.g. "<1 分钟", "12 分钟", "2 小时 5 分钟".
|
|
27
|
+
*/
|
|
28
|
+
function formatDuration(ms) {
|
|
29
|
+
const totalMin = Math.floor(ms / 60_000);
|
|
30
|
+
if (totalMin < 1)
|
|
31
|
+
return '<1 分钟';
|
|
32
|
+
if (totalMin < 60)
|
|
33
|
+
return `${totalMin} 分钟`;
|
|
34
|
+
const h = Math.floor(totalMin / 60);
|
|
35
|
+
const m = totalMin % 60;
|
|
36
|
+
return m > 0 ? `${h} 小时 ${m} 分钟` : `${h} 小时`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Composes the boot announcement text. Pure — no I/O.
|
|
40
|
+
*
|
|
41
|
+
* Always includes startup success + version. Adds an offline-duration line and
|
|
42
|
+
* a replayed-messages line only when those values are present and meaningful.
|
|
43
|
+
*
|
|
44
|
+
* @param info - The boot info (version required; offline/replayed optional).
|
|
45
|
+
* @returns The title + message to send.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* composeBootAnnouncement({ version: '1.11.3', offlineDurationMs: 720000, replayedCount: 3 })
|
|
49
|
+
* // → { title: '✅ Crewly 已重启上线', message: '• 版本: 1.11.3\n• 离线: 12 分钟\n• 已补处理: 3 条离线消息' }
|
|
50
|
+
*/
|
|
51
|
+
export function composeBootAnnouncement(info) {
|
|
52
|
+
// First-ever boot: a welcome, not a "restarted" message — and offline /
|
|
53
|
+
// replayed lines are meaningless (there was no prior run).
|
|
54
|
+
if (info.firstBoot) {
|
|
55
|
+
return {
|
|
56
|
+
title: '🎉 欢迎使用 Crewly!',
|
|
57
|
+
message: `Crewly 已启动并就绪。\n• 版本: ${info.version}`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const lines = [`• 版本: ${info.version}`];
|
|
61
|
+
if (typeof info.offlineDurationMs === 'number' && info.offlineDurationMs > 0) {
|
|
62
|
+
lines.push(`• 离线: ${formatDuration(info.offlineDurationMs)}`);
|
|
63
|
+
}
|
|
64
|
+
if (typeof info.replayedCount === 'number' && info.replayedCount > 0) {
|
|
65
|
+
lines.push(`• 已补处理: ${info.replayedCount} 条离线消息`);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
title: '✅ Crewly 已重启上线',
|
|
69
|
+
message: lines.join('\n'),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Sends the boot announcement. Best-effort: skips silently when Slack is not
|
|
74
|
+
* connected, and swallows any send error (logged as a warning) so a failed
|
|
75
|
+
* announcement never affects startup.
|
|
76
|
+
*
|
|
77
|
+
* @param info - The boot info to announce.
|
|
78
|
+
* @param deps - Injected Slack connectivity + sender + logger.
|
|
79
|
+
*/
|
|
80
|
+
export async function sendBootAnnouncement(info, deps) {
|
|
81
|
+
const composed = composeBootAnnouncement(info);
|
|
82
|
+
try {
|
|
83
|
+
if (!deps.isSlackConnected()) {
|
|
84
|
+
deps.logger.info('Boot announce: Slack not connected — skipping', { version: info.version });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
await deps.sendSlack(composed);
|
|
88
|
+
deps.logger.info('Boot announce sent', { version: info.version });
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
deps.logger.warn('Boot announce failed (non-critical)', {
|
|
92
|
+
error: err instanceof Error ? err.message : String(err),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns true if no boot marker exists yet — i.e. this is the first-ever boot.
|
|
98
|
+
*
|
|
99
|
+
* @param markerPath - Absolute path to the boot marker file.
|
|
100
|
+
* @returns True when the marker is absent.
|
|
101
|
+
*/
|
|
102
|
+
export function isFirstBoot(markerPath) {
|
|
103
|
+
return !existsSync(markerPath);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Persists the boot marker so subsequent boots are recognized as restarts.
|
|
107
|
+
* Best-effort: if the write fails, a future boot may re-show the welcome — harmless.
|
|
108
|
+
*
|
|
109
|
+
* @param markerPath - Absolute path to the boot marker file.
|
|
110
|
+
*/
|
|
111
|
+
export function markBooted(markerPath) {
|
|
112
|
+
try {
|
|
113
|
+
writeFileSync(markerPath, new Date().toISOString());
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Ignore — persistence is best-effort.
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=boot-announce.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-announce.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/boot/boot-announce.service.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-to-workitem-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/event-bus/event-to-workitem-bridge.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIpE,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAK5E,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAMhC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,SAAS,EAQ/C,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAM7D;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAWD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,GACtB,IAAI,CAQN;AAoBD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,EAAE,eAAe,CAAC;IAC1B,sDAAsD;IACtD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC5D,mDAAmD;IACnD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACnD,+DAA+D;IAC/D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiD;IAC7E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAiC;gBAE9C,IAAI,EAAE,kBAAkB;IASpC;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB;IAwB7D;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;IAiCb;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAUnC;;OAEG;IACH,IAAI,IAAI,IAAI;IAiBZ;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"event-to-workitem-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/event-bus/event-to-workitem-bridge.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -284,6 +284,20 @@ export class EventToWorkItemBridge {
|
|
|
284
284
|
});
|
|
285
285
|
return;
|
|
286
286
|
}
|
|
287
|
+
// Do NOT create a verification WI for a WI that is itself a verification/review.
|
|
288
|
+
// A verify WI is a task; when the team lead completes it, it re-emits
|
|
289
|
+
// task:done_by_worker — without this guard each verify spawns another verify
|
|
290
|
+
// (verify-of-verify), an infinite cascade that floods the orchestrator and
|
|
291
|
+
// starves real work (members such as the Builder never get spawned).
|
|
292
|
+
if (sourceWI.type === 'review' ||
|
|
293
|
+
sourceWI.metadata?.['verifyOf'] ||
|
|
294
|
+
String(sourceWI.id).includes(':verify:')) {
|
|
295
|
+
this.logger.debug('Skipping verification WI for a verification/review source (no verify-of-verify)', {
|
|
296
|
+
sourceWorkItemId: sourceWI.id,
|
|
297
|
+
type: sourceWI.type,
|
|
298
|
+
});
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
287
301
|
const target = await this.resolveTeamLeadSession(sourceWI);
|
|
288
302
|
const verifyId = `${sourceWI.id}:verify:${sourceWI.id}`;
|
|
289
303
|
const verifyWI = this.buildAutoWorkItem({
|