@devflow-tools/server 0.15.0 → 0.16.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.
Files changed (119) hide show
  1. package/README.md +3 -3
  2. package/bin/devflow-server.js +2 -0
  3. package/dist/app.module.d.ts.map +1 -1
  4. package/dist/app.module.js +4 -0
  5. package/dist/app.module.js.map +1 -1
  6. package/dist/auth/api-key.guard.d.ts.map +1 -1
  7. package/dist/auth/api-key.guard.js +11 -5
  8. package/dist/auth/api-key.guard.js.map +1 -1
  9. package/dist/benchmark/benchmark.controller.d.ts +7 -5
  10. package/dist/benchmark/benchmark.controller.d.ts.map +1 -1
  11. package/dist/benchmark/benchmark.controller.js +43 -4
  12. package/dist/benchmark/benchmark.controller.js.map +1 -1
  13. package/dist/benchmark/benchmark.service.d.ts +7 -9
  14. package/dist/benchmark/benchmark.service.d.ts.map +1 -1
  15. package/dist/benchmark/benchmark.service.js +27 -39
  16. package/dist/benchmark/benchmark.service.js.map +1 -1
  17. package/dist/common/dto.d.ts +0 -4
  18. package/dist/common/dto.d.ts.map +1 -1
  19. package/dist/common/http-exception.filter.d.ts.map +1 -1
  20. package/dist/common/http-exception.filter.js +4 -0
  21. package/dist/common/http-exception.filter.js.map +1 -1
  22. package/dist/context/context.controller.d.ts +2 -2
  23. package/dist/context/context.controller.d.ts.map +1 -1
  24. package/dist/context/context.controller.js +3 -0
  25. package/dist/context/context.controller.js.map +1 -1
  26. package/dist/context/context.controller.spec.js +2 -0
  27. package/dist/context/context.controller.spec.js.map +1 -1
  28. package/dist/context/context.service.d.ts +6 -13
  29. package/dist/context/context.service.d.ts.map +1 -1
  30. package/dist/context/context.service.js +30 -13
  31. package/dist/context/context.service.js.map +1 -1
  32. package/dist/database/database.module.d.ts.map +1 -1
  33. package/dist/database/database.module.js +2 -7
  34. package/dist/database/database.module.js.map +1 -1
  35. package/dist/governance/governance.controller.d.ts +16 -0
  36. package/dist/governance/governance.controller.d.ts.map +1 -0
  37. package/dist/governance/governance.controller.js +76 -0
  38. package/dist/governance/governance.controller.js.map +1 -0
  39. package/dist/governance/governance.module.d.ts +3 -0
  40. package/dist/governance/governance.module.d.ts.map +1 -0
  41. package/dist/governance/governance.module.js +16 -0
  42. package/dist/governance/governance.module.js.map +1 -0
  43. package/dist/governance/governance.service.d.ts +19 -0
  44. package/dist/governance/governance.service.d.ts.map +1 -0
  45. package/dist/governance/governance.service.js +169 -0
  46. package/dist/governance/governance.service.js.map +1 -0
  47. package/dist/knowledge/knowledge.controller.d.ts +6 -0
  48. package/dist/knowledge/knowledge.controller.d.ts.map +1 -1
  49. package/dist/knowledge/knowledge.controller.js +14 -0
  50. package/dist/knowledge/knowledge.controller.js.map +1 -1
  51. package/dist/knowledge/knowledge.service.d.ts +3 -1
  52. package/dist/knowledge/knowledge.service.d.ts.map +1 -1
  53. package/dist/knowledge/knowledge.service.js +7 -1
  54. package/dist/knowledge/knowledge.service.js.map +1 -1
  55. package/dist/live/live.controller.d.ts +5 -0
  56. package/dist/live/live.controller.d.ts.map +1 -0
  57. package/dist/live/live.controller.js +52 -0
  58. package/dist/live/live.controller.js.map +1 -0
  59. package/dist/live/live.controller.spec.d.ts +2 -0
  60. package/dist/live/live.controller.spec.d.ts.map +1 -0
  61. package/dist/live/live.controller.spec.js +25 -0
  62. package/dist/live/live.controller.spec.js.map +1 -0
  63. package/dist/live/live.module.d.ts +3 -0
  64. package/dist/live/live.module.d.ts.map +1 -0
  65. package/dist/live/live.module.js +15 -0
  66. package/dist/live/live.module.js.map +1 -0
  67. package/dist/main.d.ts.map +1 -1
  68. package/dist/main.js +25 -3
  69. package/dist/main.js.map +1 -1
  70. package/dist/memory/memory.controller.d.ts +13 -28
  71. package/dist/memory/memory.controller.d.ts.map +1 -1
  72. package/dist/memory/memory.controller.js +85 -24
  73. package/dist/memory/memory.controller.js.map +1 -1
  74. package/dist/memory/memory.service.d.ts +8 -32
  75. package/dist/memory/memory.service.d.ts.map +1 -1
  76. package/dist/memory/memory.service.js +41 -45
  77. package/dist/memory/memory.service.js.map +1 -1
  78. package/dist/projects/projects.controller.d.ts +9 -2
  79. package/dist/projects/projects.controller.d.ts.map +1 -1
  80. package/dist/projects/projects.controller.js +42 -10
  81. package/dist/projects/projects.controller.js.map +1 -1
  82. package/dist/projects/projects.controller.spec.js +59 -16
  83. package/dist/projects/projects.controller.spec.js.map +1 -1
  84. package/dist/projects/projects.module.d.ts.map +1 -1
  85. package/dist/projects/projects.module.js +10 -2
  86. package/dist/projects/projects.module.js.map +1 -1
  87. package/dist/projects/projects.service.d.ts +7 -39
  88. package/dist/projects/projects.service.d.ts.map +1 -1
  89. package/dist/projects/projects.service.js +39 -19
  90. package/dist/projects/projects.service.js.map +1 -1
  91. package/dist/projects/projects.service.spec.d.ts +2 -0
  92. package/dist/projects/projects.service.spec.d.ts.map +1 -0
  93. package/dist/projects/projects.service.spec.js +99 -0
  94. package/dist/projects/projects.service.spec.js.map +1 -0
  95. package/dist/retrieval-contract.spec.d.ts +2 -0
  96. package/dist/retrieval-contract.spec.d.ts.map +1 -0
  97. package/dist/retrieval-contract.spec.js +53 -0
  98. package/dist/retrieval-contract.spec.js.map +1 -0
  99. package/dist/telemetry/telemetry.controller.d.ts +1 -5
  100. package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
  101. package/dist/telemetry/telemetry.controller.js +3 -14
  102. package/dist/telemetry/telemetry.controller.js.map +1 -1
  103. package/dist/telemetry/telemetry.controller.spec.js +8 -2
  104. package/dist/telemetry/telemetry.controller.spec.js.map +1 -1
  105. package/dist/telemetry/telemetry.service.d.ts +1 -0
  106. package/dist/telemetry/telemetry.service.d.ts.map +1 -1
  107. package/dist/telemetry/telemetry.service.js +17 -48
  108. package/dist/telemetry/telemetry.service.js.map +1 -1
  109. package/dist/workflow/workflow.controller.d.ts +10 -4
  110. package/dist/workflow/workflow.controller.d.ts.map +1 -1
  111. package/dist/workflow/workflow.service.d.ts +10 -4
  112. package/dist/workflow/workflow.service.d.ts.map +1 -1
  113. package/dist/workflow/workflow.service.js +13 -5
  114. package/dist/workflow/workflow.service.js.map +1 -1
  115. package/package.json +16 -12
  116. package/dist/common/root-path.decorator.d.ts +0 -2
  117. package/dist/common/root-path.decorator.d.ts.map +0 -1
  118. package/dist/common/root-path.decorator.js +0 -6
  119. package/dist/common/root-path.decorator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"context.service.js","sourceRoot":"","sources":["../../src/context/context.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.service.js","sourceRoot":"","sources":["../../src/context/context.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.module.d.ts","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":"AAaA,qBAKa,cAAc;CAAG"}
1
+ {"version":3,"file":"database.module.d.ts","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":"AAQA,qBAKa,cAAc;CAAG"}
@@ -5,15 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Global, Module } from "@nestjs/common";
8
- import { DevFlowDatabase } from "@devflow-tools/database";
9
- import { join } from "path";
10
- import { homedir } from "os";
8
+ import { openGlobalDevFlowDatabase } from "@devflow-tools/database";
11
9
  const databaseProvider = {
12
10
  provide: 'DATABASE',
13
- useFactory: () => {
14
- const stateDir = process.env.DEVFLOW_STATE_DIR ?? join(homedir(), '.devflow', 'global');
15
- return new DevFlowDatabase(homedir(), { dbPath: join(stateDir, 'devflow.db') });
16
- },
11
+ useFactory: () => openGlobalDevFlowDatabase(),
17
12
  };
18
13
  let DatabaseModule = class DatabaseModule {
19
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE;QACf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxF,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;CACF,CAAC;AAOK,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,EAAE;IACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC5B,CAAC;GACW,cAAc,CAAG"}
1
+ {"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE;CAC9C,CAAC;AAOK,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,EAAE;IACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC5B,CAAC;GACW,cAAc,CAAG"}
@@ -0,0 +1,16 @@
1
+ import { GovernanceService } from "./governance.service.js";
2
+ export declare class GovernanceController {
3
+ private readonly service;
4
+ constructor(service: GovernanceService);
5
+ listRules(): Promise<import("@devflow-tools/database").GovernanceRuleRecord[]>;
6
+ createRule(body: unknown): Promise<import("@devflow-tools/database").GovernanceRuleRecord>;
7
+ updateRule(id: string, body: unknown): Promise<import("@devflow-tools/database").GovernanceRuleRecord>;
8
+ deleteRule(id: string): Promise<{
9
+ deleted: true;
10
+ }>;
11
+ listAudit(limit?: string, offset?: string): {
12
+ items: import("@devflow-tools/database").GovernanceAuditRecord[];
13
+ total: number;
14
+ };
15
+ }
16
+ //# sourceMappingURL=governance.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.controller.d.ts","sourceRoot":"","sources":["../../src/governance/governance.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,iBAAiB;IAGvD,SAAS;IAKT,UAAU,CAAS,IAAI,EAAE,OAAO;IAKhC,UAAU,CAAc,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO;IAKzD,UAAU,CAAc,EAAE,EAAE,MAAM;;;IAKlC,SAAS,CAAiB,KAAK,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;CAG3E"}
@@ -0,0 +1,76 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Body, Controller, Delete, Get, Param, Post, Put, Query } from "@nestjs/common";
14
+ import { GovernanceService } from "./governance.service.js";
15
+ let GovernanceController = class GovernanceController {
16
+ constructor(service) {
17
+ this.service = service;
18
+ }
19
+ listRules() {
20
+ return this.service.listRules();
21
+ }
22
+ createRule(body) {
23
+ return this.service.saveRule(body);
24
+ }
25
+ updateRule(id, body) {
26
+ return this.service.saveRule(body, id);
27
+ }
28
+ deleteRule(id) {
29
+ return this.service.deleteRule(id);
30
+ }
31
+ listAudit(limit, offset) {
32
+ return this.service.listAudit(Number(limit) || 100, Number(offset) || 0);
33
+ }
34
+ };
35
+ __decorate([
36
+ Get("rules"),
37
+ __metadata("design:type", Function),
38
+ __metadata("design:paramtypes", []),
39
+ __metadata("design:returntype", void 0)
40
+ ], GovernanceController.prototype, "listRules", null);
41
+ __decorate([
42
+ Post("rules"),
43
+ __param(0, Body()),
44
+ __metadata("design:type", Function),
45
+ __metadata("design:paramtypes", [Object]),
46
+ __metadata("design:returntype", void 0)
47
+ ], GovernanceController.prototype, "createRule", null);
48
+ __decorate([
49
+ Put("rules/:id"),
50
+ __param(0, Param("id")),
51
+ __param(1, Body()),
52
+ __metadata("design:type", Function),
53
+ __metadata("design:paramtypes", [String, Object]),
54
+ __metadata("design:returntype", void 0)
55
+ ], GovernanceController.prototype, "updateRule", null);
56
+ __decorate([
57
+ Delete("rules/:id"),
58
+ __param(0, Param("id")),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [String]),
61
+ __metadata("design:returntype", void 0)
62
+ ], GovernanceController.prototype, "deleteRule", null);
63
+ __decorate([
64
+ Get("audit-chain"),
65
+ __param(0, Query("limit")),
66
+ __param(1, Query("offset")),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [String, String]),
69
+ __metadata("design:returntype", void 0)
70
+ ], GovernanceController.prototype, "listAudit", null);
71
+ GovernanceController = __decorate([
72
+ Controller("governance"),
73
+ __metadata("design:paramtypes", [GovernanceService])
74
+ ], GovernanceController);
75
+ export { GovernanceController };
76
+ //# sourceMappingURL=governance.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.controller.js","sourceRoot":"","sources":["../../src/governance/governance.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGrD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAG3D,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAGD,UAAU,CAAS,IAAa;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAGD,UAAU,CAAc,EAAU,EAAU,IAAa;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAGD,UAAU,CAAc,EAAU;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAGD,SAAS,CAAiB,KAAc,EAAmB,MAAe;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AAvBC;IADC,GAAG,CAAC,OAAO,CAAC;;;;qDAGZ;AAGD;IADC,IAAI,CAAC,OAAO,CAAC;IACF,WAAA,IAAI,EAAE,CAAA;;;;sDAEjB;AAGD;IADC,GAAG,CAAC,WAAW,CAAC;IACL,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAI,EAAE,CAAA;;;;sDAE1C;AAGD;IADC,MAAM,CAAC,WAAW,CAAC;IACR,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAEtB;AAGD;IADC,GAAG,CAAC,aAAa,CAAC;IACR,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;qDAEzD;AA1BU,oBAAoB;IADhC,UAAU,CAAC,YAAY,CAAC;qCAEe,iBAAiB;GAD5C,oBAAoB,CA2BhC"}
@@ -0,0 +1,3 @@
1
+ export declare class GovernanceModule {
2
+ }
3
+ //# sourceMappingURL=governance.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.module.d.ts","sourceRoot":"","sources":["../../src/governance/governance.module.ts"],"names":[],"mappings":"AAIA,qBACa,gBAAgB;CAAG"}
@@ -0,0 +1,16 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from "@nestjs/common";
8
+ import { GovernanceController } from "./governance.controller.js";
9
+ import { GovernanceService } from "./governance.service.js";
10
+ let GovernanceModule = class GovernanceModule {
11
+ };
12
+ GovernanceModule = __decorate([
13
+ Module({ controllers: [GovernanceController], providers: [GovernanceService] })
14
+ ], GovernanceModule);
15
+ export { GovernanceModule };
16
+ //# sourceMappingURL=governance.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.module.js","sourceRoot":"","sources":["../../src/governance/governance.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGrD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,gBAAgB;IAD5B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;GACnE,gBAAgB,CAAG"}
@@ -0,0 +1,19 @@
1
+ import type { DevFlowDatabase, GovernanceRuleRecord } from "@devflow-tools/database";
2
+ export declare class GovernanceService {
3
+ private readonly database;
4
+ private seedPromise;
5
+ constructor(database: DevFlowDatabase);
6
+ private ensureSeeded;
7
+ listRules(): Promise<GovernanceRuleRecord[]>;
8
+ saveRule(input: unknown, pathId?: string): Promise<GovernanceRuleRecord>;
9
+ deleteRule(id: string): Promise<{
10
+ deleted: true;
11
+ }>;
12
+ listAudit(limit?: number, offset?: number): {
13
+ items: import("@devflow-tools/database").GovernanceAuditRecord[];
14
+ total: number;
15
+ };
16
+ private validateRule;
17
+ private validateCondition;
18
+ }
19
+ //# sourceMappingURL=governance.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.service.d.ts","sourceRoot":"","sources":["../../src/governance/governance.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAwBrF,qBACa,iBAAiB;IAGI,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFzD,OAAO,CAAC,WAAW,CAA8B;gBAEA,QAAQ,EAAE,eAAe;YAE5D,YAAY;IAQpB,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAK5C,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAMxE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAWxD,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;IAIzC,OAAO,CAAC,YAAY;IAyDpB,OAAO,CAAC,iBAAiB;CAoC1B"}
@@ -0,0 +1,169 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { BadRequestException, Inject, Injectable, NotFoundException } from "@nestjs/common";
14
+ import { DEFAULT_ENFORCER_RULES, LocalDataProvider, seedDefaultEnforcerRules, } from "@devflow-tools/sdk";
15
+ const RULE_ID_PATTERN = /^[A-Z][A-Z0-9_-]{1,31}$/i;
16
+ const LEVELS = new Set(["constitutional", "project", "session"]);
17
+ const ACTIONS = new Set(["deny", "warn", "allow"]);
18
+ const CONDITION_KEYS = new Set([
19
+ "tools",
20
+ "toolPatterns",
21
+ "paramPatterns",
22
+ "requireFields",
23
+ "forbidPatterns",
24
+ "maxCallsPerMinute",
25
+ "maxNumericFields",
26
+ "requirePriorTools",
27
+ "requiresContextWarning",
28
+ "requiresPreviousFailure",
29
+ ]);
30
+ let GovernanceService = class GovernanceService {
31
+ constructor(database) {
32
+ this.database = database;
33
+ this.seedPromise = null;
34
+ }
35
+ async ensureSeeded() {
36
+ if (!this.seedPromise) {
37
+ const provider = new LocalDataProvider(process.cwd());
38
+ this.seedPromise = seedDefaultEnforcerRules(provider).finally(() => provider.close());
39
+ }
40
+ await this.seedPromise;
41
+ }
42
+ async listRules() {
43
+ await this.ensureSeeded();
44
+ return this.database.listGovernanceRules(true);
45
+ }
46
+ async saveRule(input, pathId) {
47
+ await this.ensureSeeded();
48
+ const rule = this.validateRule(input, pathId);
49
+ return this.database.upsertGovernanceRule(rule);
50
+ }
51
+ async deleteRule(id) {
52
+ await this.ensureSeeded();
53
+ if (DEFAULT_ENFORCER_RULES.some((rule) => rule.id === id)) {
54
+ throw new BadRequestException("Canonical rules can be edited or disabled, but not deleted");
55
+ }
56
+ if (!this.database.deleteGovernanceRule(id)) {
57
+ throw new NotFoundException(`Rule ${id} was not found`);
58
+ }
59
+ return { deleted: true };
60
+ }
61
+ listAudit(limit, offset) {
62
+ return this.database.listGovernanceAudit(limit, offset);
63
+ }
64
+ validateRule(input, pathId) {
65
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
66
+ throw new BadRequestException("Rule body must be an object");
67
+ }
68
+ const value = input;
69
+ const id = pathId ?? value.id;
70
+ if (typeof id !== "string" || !RULE_ID_PATTERN.test(id)) {
71
+ throw new BadRequestException("Rule id must contain 2-32 letters, digits, '_' or '-'");
72
+ }
73
+ if (value.id !== undefined && value.id !== id) {
74
+ throw new BadRequestException("Rule id cannot be changed");
75
+ }
76
+ if (typeof value.name !== "string" || !value.name.trim()) {
77
+ throw new BadRequestException("Rule name is required");
78
+ }
79
+ if (![1, 2, 3, 4].includes(Number(value.gate))) {
80
+ throw new BadRequestException("Rule gate must be 1, 2, 3 or 4");
81
+ }
82
+ if (typeof value.level !== "string" || !LEVELS.has(value.level)) {
83
+ throw new BadRequestException("Invalid rule level");
84
+ }
85
+ if (typeof value.action !== "string" || !ACTIONS.has(value.action)) {
86
+ throw new BadRequestException("Invalid rule action");
87
+ }
88
+ if (typeof value.message !== "string" || !value.message.trim()) {
89
+ throw new BadRequestException("Rule message is required");
90
+ }
91
+ if (!value.condition || typeof value.condition !== "object" || Array.isArray(value.condition)) {
92
+ throw new BadRequestException("Rule condition must be an object");
93
+ }
94
+ const condition = value.condition;
95
+ for (const key of Object.keys(condition)) {
96
+ if (!CONDITION_KEYS.has(key))
97
+ throw new BadRequestException(`Unsupported condition field: ${key}`);
98
+ }
99
+ this.validateCondition(condition);
100
+ if (value.enabled !== undefined && typeof value.enabled !== "boolean") {
101
+ throw new BadRequestException("Rule enabled must be a boolean");
102
+ }
103
+ const existing = this.database.getGovernanceRule(id);
104
+ const rule = {
105
+ id,
106
+ name: value.name.trim(),
107
+ gate: Number(value.gate),
108
+ level: value.level,
109
+ condition: condition,
110
+ action: value.action,
111
+ message: value.message.trim(),
112
+ enabled: value.enabled !== false,
113
+ createdAt: existing?.createdAt,
114
+ };
115
+ return {
116
+ ...rule,
117
+ condition: rule.condition,
118
+ };
119
+ }
120
+ validateCondition(condition) {
121
+ for (const key of ["tools", "toolPatterns", "requireFields", "forbidPatterns", "requirePriorTools"]) {
122
+ const field = condition[key];
123
+ if (field !== undefined && (!Array.isArray(field) || field.some((entry) => typeof entry !== "string"))) {
124
+ throw new BadRequestException(`${key} must be an array of strings`);
125
+ }
126
+ }
127
+ for (const key of ["paramPatterns", "maxNumericFields"]) {
128
+ const field = condition[key];
129
+ if (field !== undefined && (!field || typeof field !== "object" || Array.isArray(field))) {
130
+ throw new BadRequestException(`${key} must be an object`);
131
+ }
132
+ }
133
+ for (const key of ["requiresContextWarning", "requiresPreviousFailure"]) {
134
+ if (condition[key] !== undefined && typeof condition[key] !== "boolean") {
135
+ throw new BadRequestException(`${key} must be a boolean`);
136
+ }
137
+ }
138
+ if (condition.maxCallsPerMinute !== undefined
139
+ && (typeof condition.maxCallsPerMinute !== "number" || condition.maxCallsPerMinute <= 0)) {
140
+ throw new BadRequestException("maxCallsPerMinute must be a positive number");
141
+ }
142
+ const numericFields = condition.maxNumericFields;
143
+ if (numericFields && Object.values(numericFields).some((entry) => typeof entry !== "number" || entry < 0)) {
144
+ throw new BadRequestException("maxNumericFields values must be non-negative numbers");
145
+ }
146
+ const patterns = [
147
+ ...(condition.toolPatterns ?? []),
148
+ ...(condition.forbidPatterns ?? []),
149
+ ...Object.values(condition.paramPatterns ?? {}),
150
+ ];
151
+ for (const pattern of patterns) {
152
+ if (typeof pattern !== "string")
153
+ throw new BadRequestException("Regex patterns must be strings");
154
+ try {
155
+ new RegExp(pattern);
156
+ }
157
+ catch {
158
+ throw new BadRequestException(`Invalid regex pattern: ${pattern}`);
159
+ }
160
+ }
161
+ }
162
+ };
163
+ GovernanceService = __decorate([
164
+ Injectable(),
165
+ __param(0, Inject("DATABASE")),
166
+ __metadata("design:paramtypes", [Function])
167
+ ], GovernanceService);
168
+ export { GovernanceService };
169
+ //# sourceMappingURL=governance.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.service.js","sourceRoot":"","sources":["../../src/governance/governance.service.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export declare class KnowledgeController {
6
6
  constructor(service: KnowledgeService, projects: ProjectsService);
7
7
  private resolveRootPath;
8
8
  search(rootPath?: string, q?: string, scope?: string, xProject?: string): Promise<import("@devflow-tools/sdk").KnowledgeEntry[]>;
9
+ query(body: {
10
+ rootPath?: string;
11
+ query?: string;
12
+ scope?: string;
13
+ budgetTokens?: number;
14
+ }, xProject?: string): Promise<import("@devflow-tools/sdk").GetKnowledgeResult>;
9
15
  sync(body: {
10
16
  rootPath?: string;
11
17
  pluginName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.controller.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,mBAAmB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADP,OAAO,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe;IAGrE,OAAO,CAAC,eAAe;IAOjB,MAAM,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAc,CAAC,CAAC,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAKpJ,IAAI,CAAS,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAK9G,UAAU,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;CAGvG"}
1
+ {"version":3,"file":"knowledge.controller.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,mBAAmB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADP,OAAO,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe;IAGrE,OAAO,CAAC,eAAe;IAOjB,MAAM,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAc,CAAC,CAAC,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAKpJ,KAAK,CACD,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5D,QAAQ,CAAC,EAAE,MAAM;IAc3C,IAAI,CAAS,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAK9G,UAAU,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;CAGvG"}
@@ -27,6 +27,12 @@ let KnowledgeController = class KnowledgeController {
27
27
  async search(rootPath, q, scope, xProject) {
28
28
  return this.service.search(this.resolveRootPath(rootPath, xProject), q ?? "", scope);
29
29
  }
30
+ async query(body, xProject) {
31
+ if (typeof body.query !== 'string' || body.query.trim() === '') {
32
+ throw new BadRequestException('query is required');
33
+ }
34
+ return this.service.query(this.resolveRootPath(body.rootPath, xProject), body.query, body.scope, body.budgetTokens);
35
+ }
30
36
  async sync(body, xProject) {
31
37
  return this.service.sync(this.resolveRootPath(body.rootPath, xProject), body.pluginName);
32
38
  }
@@ -44,6 +50,14 @@ __decorate([
44
50
  __metadata("design:paramtypes", [String, String, String, String]),
45
51
  __metadata("design:returntype", Promise)
46
52
  ], KnowledgeController.prototype, "search", null);
53
+ __decorate([
54
+ Post("query"),
55
+ __param(0, Body()),
56
+ __param(1, Headers("x-devflow-project")),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", [Object, String]),
59
+ __metadata("design:returntype", Promise)
60
+ ], KnowledgeController.prototype, "query", null);
47
61
  __decorate([
48
62
  Post("sync"),
49
63
  __param(0, Body()),
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.controller.js","sourceRoot":"","sources":["../../src/knowledge/knowledge.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAG3D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAC6C,OAAyB,EAC1B,QAAyB;QADxB,YAAO,GAAP,OAAO,CAAkB;QAC1B,aAAQ,GAAR,QAAQ,CAAiB;IAClE,CAAC;IAEI,eAAe,CAAC,QAAiB,EAAE,QAAiB;QAC1D,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC9E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,mBAAmB,CAAC,oDAAoD,CAAC,CAAC;QACnG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAoB,QAAiB,EAAc,CAAU,EAAkB,KAAc,EAAgC,QAAiB;QACxJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACvF,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAS,IAAgD,EAAgC,QAAiB;QAClH,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3F,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAoB,QAAiB,EAAgC,QAAiB;QACpG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AAbO;IADL,GAAG,CAAC,QAAQ,CAAC;IACA,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;IAAqB,WAAA,KAAK,CAAC,GAAG,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;iDAEvI;AAGK;IADL,IAAI,CAAC,MAAM,CAAC;IACD,WAAA,IAAI,EAAE,CAAA;IAAoD,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;+CAEjG;AAGK;IADL,GAAG,CAAC,SAAS,CAAC;IACG,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;IAAqB,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;qDAEnF;AAzBU,mBAAmB;IAD/B,UAAU,CAAC,WAAW,CAAC;IAGnB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAD4B,gBAAgB;QAChB,eAAe;GAH1D,mBAAmB,CA0B/B"}
1
+ {"version":3,"file":"knowledge.controller.js","sourceRoot":"","sources":["../../src/knowledge/knowledge.controller.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { OnModuleInit } from "@nestjs/common";
2
2
  import { ProjectsService } from "../projects/projects.service.js";
3
- import type { KnowledgeEntry, SyncResult, KnowledgeSourceStatus } from "@devflow-tools/sdk";
3
+ import type { GetKnowledgeResult, KnowledgeEntry, SyncResult, KnowledgeSourceStatus } from "@devflow-tools/sdk";
4
4
  export declare class KnowledgeService implements OnModuleInit {
5
5
  private readonly projectsService;
6
+ private readonly embedder;
6
7
  constructor(projectsService: ProjectsService);
7
8
  private getEngine;
8
9
  onModuleInit(): Promise<void>;
9
10
  private _initKnowledge;
10
11
  search(rootPath: string, query: string, scope?: string): Promise<KnowledgeEntry[]>;
12
+ query(rootPath: string, query: string, scope?: string, budgetTokens?: number): Promise<GetKnowledgeResult>;
11
13
  sync(rootPath: string, pluginName?: string): Promise<SyncResult[]>;
12
14
  getSources(rootPath: string): Promise<KnowledgeSourceStatus[]>;
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.service.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAE7G,qBACa,gBAAiB,YAAW,YAAY;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAEtF,OAAO,CAAC,SAAS;IAIX,YAAY;YAQJ,cAAc;IA4BtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMlF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGrE"}
1
+ {"version":3,"file":"knowledge.service.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKlE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAEjI,qBACa,gBAAiB,YAAW,YAAY;IAGd,OAAO,CAAC,QAAQ,CAAC,eAAe;IAFrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAEE,eAAe,EAAE,eAAe;IAEtF,OAAO,CAAC,SAAS;IAIX,YAAY;YAQJ,cAAc;IA4BtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMlF,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC;IAIxB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGrE"}
@@ -12,14 +12,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { Injectable, Inject } from "@nestjs/common";
14
14
  import { KnowledgeEngine } from "@devflow-tools/knowledge-engine";
15
+ import { getKnowledgeResult } from '@devflow-tools/context-engine';
16
+ import { EmbeddingProvider } from "@devflow-tools/memory-engine";
15
17
  import { loadPlugins } from "@devflow-tools/sdk";
16
18
  import { ProjectsService } from "../projects/projects.service.js";
17
19
  let KnowledgeService = class KnowledgeService {
18
20
  constructor(projectsService) {
19
21
  this.projectsService = projectsService;
22
+ this.embedder = new EmbeddingProvider();
20
23
  }
21
24
  getEngine(rootPath) {
22
- return new KnowledgeEngine({ projectRoot: rootPath });
25
+ return new KnowledgeEngine({ projectRoot: rootPath, embedder: this.embedder });
23
26
  }
24
27
  async onModuleInit() {
25
28
  // Fire-and-forget: don't block server startup on knowledge sync.
@@ -59,6 +62,9 @@ let KnowledgeService = class KnowledgeService {
59
62
  sources: scope && scope !== "all" ? [scope] : undefined,
60
63
  });
61
64
  }
65
+ async query(rootPath, query, scope, budgetTokens) {
66
+ return getKnowledgeResult(this.getEngine(rootPath), { query, scope, budgetTokens });
67
+ }
62
68
  async sync(rootPath, pluginName) {
63
69
  return this.getEngine(rootPath).syncDocs(pluginName ?? "");
64
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.service.js","sourceRoot":"","sources":["../../src/knowledge/knowledge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge.service.js","sourceRoot":"","sources":["../../src/knowledge/knowledge.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { FastifyReply } from "fastify";
2
+ export declare class LiveController {
3
+ stream(channels: string | undefined, reply: FastifyReply): void;
4
+ }
5
+ //# sourceMappingURL=live.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.controller.d.ts","sourceRoot":"","sources":["../../src/live/live.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,qBACa,cAAc;IAEzB,MAAM,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAS,KAAK,EAAE,YAAY,GAAG,IAAI;CAyB1F"}
@@ -0,0 +1,52 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Controller, Get, Query, Res } from "@nestjs/common";
14
+ const LIVE_CHANNELS = new Set(["timeline", "tool-metrics", "accuracy", "memory"]);
15
+ const REFRESH_INTERVAL_MS = 3_000;
16
+ let LiveController = class LiveController {
17
+ stream(channels, reply) {
18
+ const requested = (channels ?? "")
19
+ .split(",")
20
+ .map((channel) => channel.trim())
21
+ .filter((channel) => LIVE_CHANNELS.has(channel));
22
+ const activeChannels = requested.length > 0 ? [...new Set(requested)] : [...LIVE_CHANNELS];
23
+ reply.raw.writeHead(200, {
24
+ "Content-Type": "text/event-stream",
25
+ "Cache-Control": "no-cache, no-transform",
26
+ Connection: "keep-alive",
27
+ "X-Accel-Buffering": "no",
28
+ });
29
+ reply.raw.write(`event: ready\ndata: ${JSON.stringify({ channels: activeChannels })}\n\n`);
30
+ const interval = setInterval(() => {
31
+ const timestamp = Date.now();
32
+ for (const channel of activeChannels) {
33
+ reply.raw.write(`event: refresh\ndata: ${JSON.stringify({ channel, timestamp })}\n\n`);
34
+ }
35
+ }, REFRESH_INTERVAL_MS);
36
+ interval.unref();
37
+ reply.raw.on("close", () => clearInterval(interval));
38
+ }
39
+ };
40
+ __decorate([
41
+ Get("stream"),
42
+ __param(0, Query("channels")),
43
+ __param(1, Res()),
44
+ __metadata("design:type", Function),
45
+ __metadata("design:paramtypes", [Object, Object]),
46
+ __metadata("design:returntype", void 0)
47
+ ], LiveController.prototype, "stream", null);
48
+ LiveController = __decorate([
49
+ Controller("live")
50
+ ], LiveController);
51
+ export { LiveController };
52
+ //# sourceMappingURL=live.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.controller.js","sourceRoot":"","sources":["../../src/live/live.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAG7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClF,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAG3B,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB,MAAM,CAAoB,QAA4B,EAAS,KAAmB;QAChF,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;aAC/B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;QAE3F,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACvB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,wBAAwB;YACzC,UAAU,EAAE,YAAY;YACxB,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;QAE3F,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AAzBC;IADC,GAAG,CAAC,QAAQ,CAAC;IACN,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;IAAgC,WAAA,GAAG,EAAE,CAAA;;;;4CAwB7D;AA1BU,cAAc;IAD1B,UAAU,CAAC,MAAM,CAAC;GACN,cAAc,CA2B1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=live.controller.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.controller.spec.d.ts","sourceRoot":"","sources":["../../src/live/live.controller.spec.ts"],"names":[],"mappings":""}