reviewflow 3.31.0 → 3.32.0
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/CHANGELOG.md +13 -0
- package/dist/main/routes.d.ts.map +1 -1
- package/dist/main/routes.js +3 -0
- package/dist/main/routes.js.map +1 -1
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.gateway.d.ts +8 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.gateway.js +2 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.gateway.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.guard.d.ts +8 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.guard.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.guard.js +4 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.guard.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.schema.d.ts +17 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.schema.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.schema.js +11 -0
- package/dist/modules/ember-chat/entities/emberMemory/emberMemory.schema.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.d.ts +2 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.d.ts.map +1 -1
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.js +7 -1
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.js.map +1 -1
- package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.d.ts +22 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.js +55 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.js.map +1 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.d.ts +2 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.d.ts.map +1 -1
- package/dist/modules/ember-chat/services/emberSystemPrompt.js +41 -8
- package/dist/modules/ember-chat/services/emberSystemPrompt.js.map +1 -1
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.d.ts +2 -0
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.d.ts.map +1 -1
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.js +32 -2
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.js.map +1 -1
- package/dist/modules/ember-chat/usecases/clearEmberMemory/clearEmberMemory.usecase.d.ts +7 -0
- package/dist/modules/ember-chat/usecases/clearEmberMemory/clearEmberMemory.usecase.d.ts.map +1 -0
- package/dist/modules/ember-chat/usecases/clearEmberMemory/clearEmberMemory.usecase.js +4 -0
- package/dist/modules/ember-chat/usecases/clearEmberMemory/clearEmberMemory.usecase.js.map +1 -0
- package/dist/tests/acceptance/190-ember-live-answers-subscription.acceptance.test.js +7 -0
- package/dist/tests/acceptance/190-ember-live-answers-subscription.acceptance.test.js.map +1 -1
- package/dist/tests/acceptance/192-ember-ondemand-grounding-and-memory.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/192-ember-ondemand-grounding-and-memory.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/192-ember-ondemand-grounding-and-memory.acceptance.test.js +261 -0
- package/dist/tests/acceptance/192-ember-ondemand-grounding-and-memory.acceptance.test.js.map +1 -0
- package/dist/tests/factories/emberMemory.factory.d.ts +8 -0
- package/dist/tests/factories/emberMemory.factory.d.ts.map +1 -0
- package/dist/tests/factories/emberMemory.factory.js +19 -0
- package/dist/tests/factories/emberMemory.factory.js.map +1 -0
- package/dist/tests/stubs/emberMemory.stub.d.ts +25 -0
- package/dist/tests/stubs/emberMemory.stub.d.ts.map +1 -0
- package/dist/tests/stubs/emberMemory.stub.js +61 -0
- package/dist/tests/stubs/emberMemory.stub.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.js +14 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.js.map +1 -1
- package/dist/tests/units/modules/ember-chat/entities/emberMemory.guard.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMemory.guard.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMemory.guard.test.js +51 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMemory.guard.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberMemory.fileSystem.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberMemory.fileSystem.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberMemory.fileSystem.gateway.test.js +82 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberMemory.fileSystem.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.js +74 -2
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.js.map +1 -1
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.js +56 -1
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.js.map +1 -1
- package/dist/tests/units/modules/ember-chat/usecases/clearEmberMemory.usecase.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/usecases/clearEmberMemory.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/usecases/clearEmberMemory.usecase.test.js +14 -0
- package/dist/tests/units/modules/ember-chat/usecases/clearEmberMemory.usecase.test.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.32.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.31.0...reviewflow-v3.32.0) (2026-05-30)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* **ember:** implement spec-192 on-demand grounding + per-project memory (Phase C) ([e02fa46](https://github.com/DGouron/review-flow/commit/e02fa469b8b8b66be20c08a4f79e957a183c5d8f))
|
|
14
|
+
* **ember:** spec-192 on-demand grounding + per-project memory (Phase C) ([c17eb53](https://github.com/DGouron/review-flow/commit/c17eb53c2a72eeac3ab77a73ee91b047618fa05f))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
* **ember:** correct stale read-only message and notebook extension (spec-192 self-review) ([9657ec7](https://github.com/DGouron/review-flow/commit/9657ec710908226bc85f4dfcb126c11daf65e83d))
|
|
20
|
+
|
|
8
21
|
## [3.31.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.30.0...reviewflow-v3.31.0) (2026-05-29)
|
|
9
22
|
|
|
10
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA+H3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAyZf"}
|
package/dist/main/routes.js
CHANGED
|
@@ -34,6 +34,7 @@ import { SetupStateFileSystemGateway } from '../modules/setup-wizard/interface-a
|
|
|
34
34
|
import { emberChatRoutes } from '../modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.js';
|
|
35
35
|
import { EmberAnswerTransportClaudeGateway } from '../modules/ember-chat/interface-adapters/gateways/emberAnswerTransport.claude.gateway.js';
|
|
36
36
|
import { EmberReadDataCompositeGateway } from '../modules/ember-chat/interface-adapters/gateways/emberReadData.composite.gateway.js';
|
|
37
|
+
import { EmberMemoryFileSystemGateway } from '../modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.js';
|
|
37
38
|
import { ClaudeSessionCliGateway } from '../modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js';
|
|
38
39
|
import { defaultProcessRunner } from '../frameworks/claude/claudeInvoker.js';
|
|
39
40
|
import { ProcessEnvironmentGateway } from '../modules/claude-invocation/interface-adapters/gateways/environment.process.gateway.js';
|
|
@@ -395,10 +396,12 @@ export async function registerRoutes(app, deps) {
|
|
|
395
396
|
worktreeGateway: deps.worktreeGateway,
|
|
396
397
|
});
|
|
397
398
|
const emberAnswerTransport = new EmberAnswerTransportClaudeGateway(new ClaudeSessionCliGateway(defaultProcessRunner()), { homeDir: homedir() });
|
|
399
|
+
const emberMemory = new EmberMemoryFileSystemGateway({ homeDir: homedir() });
|
|
398
400
|
await app.register(emberChatRoutes, {
|
|
399
401
|
transport: emberAnswerTransport,
|
|
400
402
|
environment: new ProcessEnvironmentGateway(),
|
|
401
403
|
readData: emberReadData,
|
|
404
|
+
memory: emberMemory,
|
|
402
405
|
projectPath: emberGroundingProjectPath,
|
|
403
406
|
logger: deps.logger,
|
|
404
407
|
});
|
package/dist/main/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EmberMemory, EmberMemoryTurn, EmberRecurringInsight } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.schema.js';
|
|
2
|
+
export interface EmberMemoryGateway {
|
|
3
|
+
load(projectPath: string): Promise<EmberMemory | null>;
|
|
4
|
+
appendTurn(projectPath: string, turn: EmberMemoryTurn): Promise<void>;
|
|
5
|
+
appendInsight(projectPath: string, insight: EmberRecurringInsight): Promise<void>;
|
|
6
|
+
clear(projectPath: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=emberMemory.gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,qBAAqB,EACtB,MAAM,iEAAiE,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.gateway.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.guard.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.guard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;EAAgD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createGuard } from '../../../../shared/foundation/guard.base.js';
|
|
2
|
+
import { emberMemorySchema } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.schema.js';
|
|
3
|
+
export const emberMemoryGuard = createGuard(emberMemorySchema, 'emberMemory');
|
|
4
|
+
//# sourceMappingURL=emberMemory.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.guard.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAC;AAEpG,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const emberMemoryTurnSchema: z.ZodObject<{
|
|
3
|
+
question: z.ZodString;
|
|
4
|
+
answer: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const emberRecurringInsightSchema: z.ZodString;
|
|
7
|
+
export declare const emberMemorySchema: z.ZodObject<{
|
|
8
|
+
turns: z.ZodArray<z.ZodObject<{
|
|
9
|
+
question: z.ZodString;
|
|
10
|
+
answer: z.ZodString;
|
|
11
|
+
}, z.core.$strip>>;
|
|
12
|
+
insights: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type EmberMemoryTurn = z.infer<typeof emberMemoryTurnSchema>;
|
|
15
|
+
export type EmberRecurringInsight = z.infer<typeof emberRecurringInsightSchema>;
|
|
16
|
+
export type EmberMemory = z.infer<typeof emberMemorySchema>;
|
|
17
|
+
//# sourceMappingURL=emberMemory.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.schema.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,2BAA2B,aAA2B,CAAC;AAEpE,eAAO,MAAM,iBAAiB;;;;;;iBAG5B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const emberMemoryTurnSchema = z.object({
|
|
3
|
+
question: z.string().trim().min(1),
|
|
4
|
+
answer: z.string().trim().min(1),
|
|
5
|
+
});
|
|
6
|
+
export const emberRecurringInsightSchema = z.string().trim().min(1);
|
|
7
|
+
export const emberMemorySchema = z.object({
|
|
8
|
+
turns: z.array(emberMemoryTurnSchema),
|
|
9
|
+
insights: z.array(emberRecurringInsightSchema).default([]),
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=emberMemory.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.schema.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/entities/emberMemory/emberMemory.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3D,CAAC,CAAC"}
|
|
@@ -2,11 +2,13 @@ import type { FastifyPluginAsync } from 'fastify';
|
|
|
2
2
|
import type { Logger } from 'pino';
|
|
3
3
|
import type { EmberAnswerTransportGateway } from '../../../../../modules/ember-chat/entities/emberAnswer/emberAnswerTransport.gateway.js';
|
|
4
4
|
import type { EmberReadDataGateway } from '../../../../../modules/ember-chat/entities/emberTool/emberTool.gateway.js';
|
|
5
|
+
import type { EmberMemoryGateway } from '../../../../../modules/ember-chat/entities/emberMemory/emberMemory.gateway.js';
|
|
5
6
|
import type { EnvironmentGateway } from '../../../../../modules/claude-invocation/entities/billingState/environment.gateway.js';
|
|
6
7
|
export interface EmberChatRoutesOptions {
|
|
7
8
|
transport: EmberAnswerTransportGateway;
|
|
8
9
|
environment: EnvironmentGateway;
|
|
9
10
|
readData: EmberReadDataGateway;
|
|
11
|
+
memory: EmberMemoryGateway;
|
|
10
12
|
projectPath: string;
|
|
11
13
|
logger: Logger;
|
|
12
14
|
}
|
package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emberChat.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"emberChat.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AAC7H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AAInH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,2BAA2B,CAAC;IACvC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,kBAAkB,CAAC,sBAAsB,CA2EtE,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { emberMessageGuard } from '../../../../../modules/ember-chat/entities/emberMessage/emberMessage.guard.js';
|
|
2
2
|
import { askEmber } from '../../../../../modules/ember-chat/usecases/askEmber/askEmber.usecase.js';
|
|
3
|
+
import { clearEmberMemory } from '../../../../../modules/ember-chat/usecases/clearEmberMemory/clearEmberMemory.usecase.js';
|
|
3
4
|
const UNAVAILABLE_MESSAGE = '// EMBER INDISPONIBLE — réessayer';
|
|
4
5
|
export const emberChatRoutes = async (fastify, options) => {
|
|
5
|
-
const { transport, environment, readData, projectPath, logger } = options;
|
|
6
|
+
const { transport, environment, readData, memory, projectPath, logger } = options;
|
|
7
|
+
fastify.post('/api/ember/memory/clear', async (_request, reply) => {
|
|
8
|
+
await clearEmberMemory({ memory, projectPath });
|
|
9
|
+
reply.code(200).send({ status: 'cleared' });
|
|
10
|
+
});
|
|
6
11
|
fastify.post('/api/ember/ask', async (request, reply) => {
|
|
7
12
|
const parsed = emberMessageGuard.safeParse(request.body);
|
|
8
13
|
if (!parsed.success) {
|
|
@@ -13,6 +18,7 @@ export const emberChatRoutes = async (fastify, options) => {
|
|
|
13
18
|
transport,
|
|
14
19
|
environment,
|
|
15
20
|
readData,
|
|
21
|
+
memory,
|
|
16
22
|
projectPath,
|
|
17
23
|
});
|
|
18
24
|
reply.hijack();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emberChat.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;
|
|
1
|
+
{"version":3,"file":"emberChat.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { EmberMemoryGateway } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.gateway.js';
|
|
2
|
+
import type { EmberMemory, EmberMemoryTurn, EmberRecurringInsight } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.schema.js';
|
|
3
|
+
export interface EmberMemoryFileSystemGatewayOptions {
|
|
4
|
+
homeDir: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Ember's private per-project notebook. One file per project under
|
|
8
|
+
* ~/.claude-review/ember-memory/<slug>.json — never inside the reviewed repo and
|
|
9
|
+
* never a write to project state (reviews, threads, config). A corrupted or
|
|
10
|
+
* unreadable notebook resolves to null so it can never block an answer.
|
|
11
|
+
*/
|
|
12
|
+
export declare class EmberMemoryFileSystemGateway implements EmberMemoryGateway {
|
|
13
|
+
private readonly directory;
|
|
14
|
+
constructor(options: EmberMemoryFileSystemGatewayOptions);
|
|
15
|
+
load(projectPath: string): Promise<EmberMemory | null>;
|
|
16
|
+
appendTurn(projectPath: string, turn: EmberMemoryTurn): Promise<void>;
|
|
17
|
+
appendInsight(projectPath: string, insight: EmberRecurringInsight): Promise<void>;
|
|
18
|
+
clear(projectPath: string): Promise<void>;
|
|
19
|
+
private write;
|
|
20
|
+
private notebookFor;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=emberMemory.fileSystem.gateway.d.ts.map
|
package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.fileSystem.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,qBAAqB,EACtB,MAAM,iEAAiE,CAAC;AAGzE,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,kBAAkB;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,mCAAmC;IAIlD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAetD,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjF,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { emberMemoryGuard } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.guard.js';
|
|
4
|
+
/**
|
|
5
|
+
* Ember's private per-project notebook. One file per project under
|
|
6
|
+
* ~/.claude-review/ember-memory/<slug>.json — never inside the reviewed repo and
|
|
7
|
+
* never a write to project state (reviews, threads, config). A corrupted or
|
|
8
|
+
* unreadable notebook resolves to null so it can never block an answer.
|
|
9
|
+
*/
|
|
10
|
+
export class EmberMemoryFileSystemGateway {
|
|
11
|
+
directory;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this.directory = join(options.homeDir, '.claude-review', 'ember-memory');
|
|
14
|
+
}
|
|
15
|
+
async load(projectPath) {
|
|
16
|
+
const path = this.notebookFor(projectPath);
|
|
17
|
+
if (!existsSync(path)) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const raw = readFileSync(path, 'utf-8');
|
|
22
|
+
const parsed = JSON.parse(raw);
|
|
23
|
+
const result = emberMemoryGuard.safeParse(parsed);
|
|
24
|
+
return result.success ? result.data : null;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async appendTurn(projectPath, turn) {
|
|
31
|
+
const current = (await this.load(projectPath)) ?? { turns: [], insights: [] };
|
|
32
|
+
this.write(projectPath, { turns: [...current.turns, turn], insights: current.insights });
|
|
33
|
+
}
|
|
34
|
+
async appendInsight(projectPath, insight) {
|
|
35
|
+
const current = (await this.load(projectPath)) ?? { turns: [], insights: [] };
|
|
36
|
+
this.write(projectPath, { turns: current.turns, insights: [...current.insights, insight] });
|
|
37
|
+
}
|
|
38
|
+
async clear(projectPath) {
|
|
39
|
+
const path = this.notebookFor(projectPath);
|
|
40
|
+
if (existsSync(path)) {
|
|
41
|
+
unlinkSync(path);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
write(projectPath, memory) {
|
|
45
|
+
if (!existsSync(this.directory)) {
|
|
46
|
+
mkdirSync(this.directory, { recursive: true });
|
|
47
|
+
}
|
|
48
|
+
writeFileSync(this.notebookFor(projectPath), JSON.stringify(memory), 'utf-8');
|
|
49
|
+
}
|
|
50
|
+
notebookFor(projectPath) {
|
|
51
|
+
const slug = projectPath.replace(/\//g, '-');
|
|
52
|
+
return join(this.directory, `${slug}.json`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=emberMemory.fileSystem.gateway.js.map
|
package/dist/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emberMemory.fileSystem.gateway.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@ import type { ProjectStats } from '../../../modules/statistics-insights/entities
|
|
|
2
2
|
import type { PersistedInsightsData } from '../../../modules/statistics-insights/entities/insight/persistedInsightsData.js';
|
|
3
3
|
import type { MrTrackingData } from '../../../modules/tracking/entities/tracking/mrTrackingData.js';
|
|
4
4
|
import type { WorktreeEntry } from '../../../modules/worktree-management/entities/worktree/worktree.schema.js';
|
|
5
|
+
import type { EmberMemory } from '../../../modules/ember-chat/entities/emberMemory/emberMemory.schema.js';
|
|
5
6
|
export interface EmberGrounding {
|
|
6
7
|
reviewScores: ProjectStats | null;
|
|
7
8
|
insights: PersistedInsightsData | null;
|
|
8
9
|
jobHistory: MrTrackingData | null;
|
|
9
10
|
worktrees: WorktreeEntry[];
|
|
11
|
+
memory: EmberMemory | null;
|
|
10
12
|
}
|
|
11
13
|
export declare function buildEmberSystemPrompt(grounding: EmberGrounding): string;
|
|
12
14
|
//# sourceMappingURL=emberSystemPrompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emberSystemPrompt.d.ts","sourceRoot":"","sources":["../../../../src/modules/ember-chat/services/emberSystemPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;
|
|
1
|
+
{"version":3,"file":"emberSystemPrompt.d.ts","sourceRoot":"","sources":["../../../../src/modules/ember-chat/services/emberSystemPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AA4ED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,CAqCxE"}
|
|
@@ -31,12 +31,38 @@ function boundInsights(insights) {
|
|
|
31
31
|
function mostRecent(items, limit) {
|
|
32
32
|
return items.slice(Math.max(0, items.length - limit));
|
|
33
33
|
}
|
|
34
|
+
function conversationMemorySection(memory) {
|
|
35
|
+
if (memory === null || memory.turns.length === 0) {
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
const turns = memory.turns
|
|
39
|
+
.map((turn, index) => `${index + 1}. Question : ${turn.question}\n Réponse : ${turn.answer}`)
|
|
40
|
+
.join('\n');
|
|
41
|
+
return [
|
|
42
|
+
'',
|
|
43
|
+
'MÉMOIRE — conversation précédente sur ce projet (tours antérieurs) :',
|
|
44
|
+
"Sers-t'en pour comprendre une question de suivi sans répéter le sujet.",
|
|
45
|
+
turns,
|
|
46
|
+
].join('\n');
|
|
47
|
+
}
|
|
48
|
+
function recurringInsightsSection(memory) {
|
|
49
|
+
if (memory === null || memory.insights.length === 0) {
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
const insights = memory.insights.map((insight) => `- ${insight}`).join('\n');
|
|
53
|
+
return [
|
|
54
|
+
'',
|
|
55
|
+
'CONSTATS RÉCURRENTS — déjà dérivés des données de review de ce projet :',
|
|
56
|
+
'Réutilise-les tels quels plutôt que de les recalculer.',
|
|
57
|
+
insights,
|
|
58
|
+
].join('\n');
|
|
59
|
+
}
|
|
34
60
|
function reviewCountSummary(stats) {
|
|
35
61
|
if (stats === null || stats.reviews.length <= MAX_RECENT_REVIEWS) {
|
|
36
62
|
return '';
|
|
37
63
|
}
|
|
38
64
|
const olderCount = stats.reviews.length - MAX_RECENT_REVIEWS;
|
|
39
|
-
return `… et ${olderCount} reviews plus anciennes
|
|
65
|
+
return `… et ${olderCount} reviews plus anciennes que tu peux lire à la demande dans les données du projet.`;
|
|
40
66
|
}
|
|
41
67
|
export function buildEmberSystemPrompt(grounding) {
|
|
42
68
|
const reviewScores = boundReviewScores(grounding.reviewScores);
|
|
@@ -44,10 +70,14 @@ export function buildEmberSystemPrompt(grounding) {
|
|
|
44
70
|
return [
|
|
45
71
|
"Tu es Ember, l'assistant conversationnel du tableau de bord ReviewFlow.",
|
|
46
72
|
'',
|
|
47
|
-
'
|
|
48
|
-
|
|
73
|
+
'Ces données de review du projet, fournies ci-dessous, sont ton point de départ :',
|
|
74
|
+
'un instantané des éléments les plus récents, fourni pour te faire gagner du temps.',
|
|
75
|
+
"Ce n'est PAS une limite. Tu peux lire à la demande les données de review du projet",
|
|
76
|
+
'sur disque pour répondre au sujet de n\'importe quel élément, récent ou ancien,',
|
|
77
|
+
'même au-delà de cet instantané. Ne refuse jamais une question au seul motif',
|
|
78
|
+
"qu'un élément se trouve hors de cet instantané récent.",
|
|
49
79
|
'',
|
|
50
|
-
'reviewScores (scores et statistiques de review) :',
|
|
80
|
+
'reviewScores (scores et statistiques de review, instantané récent) :',
|
|
51
81
|
JSON.stringify(reviewScores),
|
|
52
82
|
olderReviewsNote,
|
|
53
83
|
'',
|
|
@@ -59,14 +89,17 @@ export function buildEmberSystemPrompt(grounding) {
|
|
|
59
89
|
'',
|
|
60
90
|
'worktrees (état des worktrees) :',
|
|
61
91
|
JSON.stringify(mostRecent(grounding.worktrees, MAX_WORKTREES)),
|
|
92
|
+
recurringInsightsSection(grounding.memory),
|
|
93
|
+
conversationMemorySection(grounding.memory),
|
|
62
94
|
'',
|
|
63
|
-
'GROUNDING : réponds uniquement à partir
|
|
64
|
-
"
|
|
65
|
-
"
|
|
95
|
+
'GROUNDING : réponds uniquement à partir des données de review du projet,',
|
|
96
|
+
"qu'elles soient dans cet instantané ou lues à la demande sur disque.",
|
|
97
|
+
"Si la réponse ne se trouve dans aucune de ces données, dis que tu ne sais répondre",
|
|
98
|
+
"qu'à propos des reviews plutôt que d'inventer une réponse. N'invente jamais.",
|
|
66
99
|
'',
|
|
67
100
|
'LECTURE SEULE : tu ne modifies, ne crées et ne supprimes rien. Si on te demande',
|
|
68
101
|
"d'écrire, de créer ou de modifier quelque chose (par exemple un quality gate),",
|
|
69
|
-
"explique que
|
|
102
|
+
"explique que tu restes en lecture seule et n'effectue aucune écriture.",
|
|
70
103
|
].join('\n');
|
|
71
104
|
}
|
|
72
105
|
//# sourceMappingURL=emberSystemPrompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emberSystemPrompt.js","sourceRoot":"","sources":["../../../../src/modules/ember-chat/services/emberSystemPrompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emberSystemPrompt.js","sourceRoot":"","sources":["../../../../src/modules/ember-chat/services/emberSystemPrompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { EnvironmentGateway } from '../../../../modules/claude-invocation/entities/billingState/environment.gateway.js';
|
|
2
2
|
import type { EmberMessage } from '../../../../modules/ember-chat/entities/emberMessage/emberMessage.schema.js';
|
|
3
3
|
import type { EmberReadDataGateway } from '../../../../modules/ember-chat/entities/emberTool/emberTool.gateway.js';
|
|
4
|
+
import type { EmberMemoryGateway } from '../../../../modules/ember-chat/entities/emberMemory/emberMemory.gateway.js';
|
|
4
5
|
import type { EmberAnswerTransportGateway } from '../../../../modules/ember-chat/entities/emberAnswer/emberAnswerTransport.gateway.js';
|
|
5
6
|
import type { EmberStreamSubscriber } from '../../../../modules/ember-chat/usecases/askEmber/emberStream.js';
|
|
6
7
|
export type { EmberStatus, EmberStreamSubscriber } from '../../../../modules/ember-chat/usecases/askEmber/emberStream.js';
|
|
@@ -8,6 +9,7 @@ export interface AskEmberDependencies {
|
|
|
8
9
|
transport: EmberAnswerTransportGateway;
|
|
9
10
|
environment: EnvironmentGateway;
|
|
10
11
|
readData: EmberReadDataGateway;
|
|
12
|
+
memory: EmberMemoryGateway;
|
|
11
13
|
projectPath: string;
|
|
12
14
|
}
|
|
13
15
|
export type AskEmberResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askEmber.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/usecases/askEmber/askEmber.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mEAAmE,CAAC;AACtG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,KAAK,EAEV,2BAA2B,EAC5B,MAAM,2EAA2E,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAGnG,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAEhH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,2BAA2B,CAAC;IACvC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GACtB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACvD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"askEmber.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/usecases/askEmber/askEmber.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mEAAmE,CAAC;AACtG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAE3G,OAAO,KAAK,EAEV,2BAA2B,EAC5B,MAAM,2EAA2E,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAGnG,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAEhH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,2BAA2B,CAAC;IACvC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GACtB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACvD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,CAAC;AA4F/C,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC,CA+BzB"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { buildEmberSystemPrompt } from '../../../../modules/ember-chat/services/emberSystemPrompt.js';
|
|
2
2
|
class AnswerRelay {
|
|
3
|
+
onAnswered;
|
|
3
4
|
target = null;
|
|
4
5
|
bufferedChunks = [];
|
|
5
6
|
terminal = null;
|
|
7
|
+
answer = '';
|
|
8
|
+
constructor(onAnswered) {
|
|
9
|
+
this.onAnswered = onAnswered;
|
|
10
|
+
}
|
|
6
11
|
attach(subscriber) {
|
|
7
12
|
this.target = subscriber;
|
|
8
13
|
subscriber.onStatus('working');
|
|
@@ -15,6 +20,7 @@ class AnswerRelay {
|
|
|
15
20
|
}
|
|
16
21
|
}
|
|
17
22
|
onChunk(text) {
|
|
23
|
+
this.answer += text;
|
|
18
24
|
if (this.target === null) {
|
|
19
25
|
this.bufferedChunks.push(text);
|
|
20
26
|
return;
|
|
@@ -22,6 +28,7 @@ class AnswerRelay {
|
|
|
22
28
|
this.target.onChunk(text);
|
|
23
29
|
}
|
|
24
30
|
onDone() {
|
|
31
|
+
this.onAnswered(this.answer);
|
|
25
32
|
const terminal = { kind: 'done' };
|
|
26
33
|
if (this.target === null) {
|
|
27
34
|
this.terminal = terminal;
|
|
@@ -50,18 +57,41 @@ class AnswerRelay {
|
|
|
50
57
|
this.target.onError(terminal.message);
|
|
51
58
|
}
|
|
52
59
|
}
|
|
60
|
+
async function loadMemorySafely(memory, projectPath) {
|
|
61
|
+
try {
|
|
62
|
+
return await memory.load(projectPath);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// A corrupted or unreadable memory must never block an answer.
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function rememberTurn(memory, projectPath, question, answer) {
|
|
70
|
+
if (answer.trim().length === 0) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
await memory.appendTurn(projectPath, { question, answer });
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Best-effort: a memory write failure must never break answering.
|
|
78
|
+
}
|
|
79
|
+
}
|
|
53
80
|
export async function askEmber(message, dependencies) {
|
|
54
81
|
if (dependencies.environment.hasAnthropicApiKey()) {
|
|
55
82
|
return { status: 'billing-regression-prevented' };
|
|
56
83
|
}
|
|
57
|
-
const { readData, projectPath, transport } = dependencies;
|
|
84
|
+
const { readData, memory, projectPath, transport } = dependencies;
|
|
58
85
|
const systemPrompt = buildEmberSystemPrompt({
|
|
59
86
|
reviewScores: await readData.reviewScores(projectPath),
|
|
60
87
|
insights: await readData.insights(projectPath),
|
|
61
88
|
jobHistory: await readData.jobHistory(projectPath),
|
|
62
89
|
worktrees: await readData.worktrees(),
|
|
90
|
+
memory: await loadMemorySafely(memory, projectPath),
|
|
91
|
+
});
|
|
92
|
+
const relay = new AnswerRelay((answer) => {
|
|
93
|
+
void rememberTurn(memory, projectPath, message.question, answer);
|
|
63
94
|
});
|
|
64
|
-
const relay = new AnswerRelay();
|
|
65
95
|
const started = transport.start({ question: message.question, systemPrompt, projectPath }, relay);
|
|
66
96
|
if (started.status === 'failed') {
|
|
67
97
|
return { status: 'unavailable', reason: started.reason };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askEmber.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/usecases/askEmber/askEmber.usecase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"askEmber.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/ember-chat/usecases/askEmber/askEmber.usecase.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAqB5F,MAAM,WAAW;IAMc;IALrB,MAAM,GAAiC,IAAI,CAAC;IACnC,cAAc,GAAa,EAAE,CAAC;IACvC,QAAQ,GAAiE,IAAI,CAAC;IAC9E,MAAM,GAAG,EAAE,CAAC;IAEpB,YAA6B,UAAoC;QAApC,eAAU,GAAV,UAAU,CAA0B;IAAG,CAAC;IAErE,MAAM,CAAC,UAAiC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAW,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAW,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEO,aAAa,CAAC,QAA+D;QACnF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAA0B,EAC1B,WAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAA0B,EAC1B,WAAmB,EACnB,QAAgB,EAChB,MAAc;IAEd,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAqB,EACrB,YAAkC;IAElC,IAAI,YAAY,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAClD,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAClE,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC1C,YAAY,EAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC;QACtD,QAAQ,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,UAAU,EAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAClD,SAAS,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE;QACrC,MAAM,EAAE,MAAM,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE;QACvC,KAAK,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAC7B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EACzD,KAAK,CACN,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QACnD,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;KACnC,CAAC;AACJ,CAAC"}
|