@devflow-tools/sdk 0.1.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 (97) hide show
  1. package/dist/data/LocalDataProvider.d.ts +42 -0
  2. package/dist/data/LocalDataProvider.d.ts.map +1 -0
  3. package/dist/data/LocalDataProvider.js +123 -0
  4. package/dist/data/LocalDataProvider.js.map +1 -0
  5. package/dist/data/LocalDataProvider.test.d.ts +2 -0
  6. package/dist/data/LocalDataProvider.test.d.ts.map +1 -0
  7. package/dist/data/LocalDataProvider.test.js +125 -0
  8. package/dist/data/LocalDataProvider.test.js.map +1 -0
  9. package/dist/errors/DevFlowError.d.ts +6 -0
  10. package/dist/errors/DevFlowError.d.ts.map +1 -0
  11. package/dist/errors/DevFlowError.js +11 -0
  12. package/dist/errors/DevFlowError.js.map +1 -0
  13. package/dist/index.d.ts +9 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +9 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/interfaces/IDataProvider.d.ts +46 -0
  18. package/dist/interfaces/IDataProvider.d.ts.map +1 -0
  19. package/dist/interfaces/IDataProvider.js +2 -0
  20. package/dist/interfaces/IDataProvider.js.map +1 -0
  21. package/dist/interfaces/IDataProvider.test.d.ts +2 -0
  22. package/dist/interfaces/IDataProvider.test.d.ts.map +1 -0
  23. package/dist/interfaces/IDataProvider.test.js +20 -0
  24. package/dist/interfaces/IDataProvider.test.js.map +1 -0
  25. package/dist/interfaces/IGraphEngine.d.ts +22 -0
  26. package/dist/interfaces/IGraphEngine.d.ts.map +1 -0
  27. package/dist/interfaces/IGraphEngine.js +2 -0
  28. package/dist/interfaces/IGraphEngine.js.map +1 -0
  29. package/dist/interfaces/IIndexer.d.ts +18 -0
  30. package/dist/interfaces/IIndexer.d.ts.map +1 -0
  31. package/dist/interfaces/IIndexer.js +2 -0
  32. package/dist/interfaces/IIndexer.js.map +1 -0
  33. package/dist/interfaces/IKnowledgeEngine.d.ts +10 -0
  34. package/dist/interfaces/IKnowledgeEngine.d.ts.map +1 -0
  35. package/dist/interfaces/IKnowledgeEngine.js +2 -0
  36. package/dist/interfaces/IKnowledgeEngine.js.map +1 -0
  37. package/dist/interfaces/IMemoryEngine.d.ts +25 -0
  38. package/dist/interfaces/IMemoryEngine.d.ts.map +1 -0
  39. package/dist/interfaces/IMemoryEngine.js +2 -0
  40. package/dist/interfaces/IMemoryEngine.js.map +1 -0
  41. package/dist/interfaces/index.d.ts +6 -0
  42. package/dist/interfaces/index.d.ts.map +1 -0
  43. package/dist/interfaces/index.js +6 -0
  44. package/dist/interfaces/index.js.map +1 -0
  45. package/dist/types/benchmark.d.ts +44 -0
  46. package/dist/types/benchmark.d.ts.map +1 -0
  47. package/dist/types/benchmark.js +2 -0
  48. package/dist/types/benchmark.js.map +1 -0
  49. package/dist/types/context.d.ts +71 -0
  50. package/dist/types/context.d.ts.map +1 -0
  51. package/dist/types/context.js +2 -0
  52. package/dist/types/context.js.map +1 -0
  53. package/dist/types/graph.d.ts +93 -0
  54. package/dist/types/graph.d.ts.map +1 -0
  55. package/dist/types/graph.js +2 -0
  56. package/dist/types/graph.js.map +1 -0
  57. package/dist/types/index.d.ts +9 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/index.js +9 -0
  60. package/dist/types/index.js.map +1 -0
  61. package/dist/types/knowledge.d.ts +19 -0
  62. package/dist/types/knowledge.d.ts.map +1 -0
  63. package/dist/types/knowledge.js +2 -0
  64. package/dist/types/knowledge.js.map +1 -0
  65. package/dist/types/memory.d.ts +35 -0
  66. package/dist/types/memory.d.ts.map +1 -0
  67. package/dist/types/memory.js +2 -0
  68. package/dist/types/memory.js.map +1 -0
  69. package/dist/types/plugin.d.ts +66 -0
  70. package/dist/types/plugin.d.ts.map +1 -0
  71. package/dist/types/plugin.js +2 -0
  72. package/dist/types/plugin.js.map +1 -0
  73. package/dist/types/telemetry.d.ts +53 -0
  74. package/dist/types/telemetry.d.ts.map +1 -0
  75. package/dist/types/telemetry.js +2 -0
  76. package/dist/types/telemetry.js.map +1 -0
  77. package/dist/types/workflow.d.ts +66 -0
  78. package/dist/types/workflow.d.ts.map +1 -0
  79. package/dist/types/workflow.js +2 -0
  80. package/dist/types/workflow.js.map +1 -0
  81. package/dist/utils/config.d.ts +9 -0
  82. package/dist/utils/config.d.ts.map +1 -0
  83. package/dist/utils/config.js +26 -0
  84. package/dist/utils/config.js.map +1 -0
  85. package/dist/utils/logger.d.ts +10 -0
  86. package/dist/utils/logger.d.ts.map +1 -0
  87. package/dist/utils/logger.js +24 -0
  88. package/dist/utils/logger.js.map +1 -0
  89. package/dist/utils/paths.d.ts +5 -0
  90. package/dist/utils/paths.d.ts.map +1 -0
  91. package/dist/utils/paths.js +15 -0
  92. package/dist/utils/paths.js.map +1 -0
  93. package/dist/utils/token-counter.d.ts +3 -0
  94. package/dist/utils/token-counter.d.ts.map +1 -0
  95. package/dist/utils/token-counter.js +13 -0
  96. package/dist/utils/token-counter.js.map +1 -0
  97. package/package.json +32 -0
@@ -0,0 +1,10 @@
1
+ type LogLevel = "debug" | "info" | "warn" | "error";
2
+ export declare function setLogLevel(level: LogLevel): void;
3
+ export declare const logger: {
4
+ debug: (msg: string, data?: Record<string, unknown>) => void;
5
+ info: (msg: string, data?: Record<string, unknown>) => void;
6
+ warn: (msg: string, data?: Record<string, unknown>) => void;
7
+ error: (msg: string, data?: Record<string, unknown>) => void;
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAMpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEjD;AAcD,eAAO,MAAM,MAAM;iBACJ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBACvC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACpD,CAAC"}
@@ -0,0 +1,24 @@
1
+ const LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
2
+ let currentLevel = "info";
3
+ export function setLogLevel(level) {
4
+ currentLevel = level;
5
+ }
6
+ function log(level, message, data) {
7
+ if (LEVELS[level] < LEVELS[currentLevel])
8
+ return;
9
+ const timestamp = new Date().toISOString();
10
+ const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
11
+ if (data) {
12
+ console.error(`${prefix} ${message}`, JSON.stringify(data));
13
+ }
14
+ else {
15
+ console.error(`${prefix} ${message}`);
16
+ }
17
+ }
18
+ export const logger = {
19
+ debug: (msg, data) => log("debug", msg, data),
20
+ info: (msg, data) => log("info", msg, data),
21
+ warn: (msg, data) => log("warn", msg, data),
22
+ error: (msg, data) => log("error", msg, data),
23
+ };
24
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAElF,IAAI,YAAY,GAAa,MAAM,CAAC;AAEpC,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,SAAS,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,IAA8B;IAC3E,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO;IACjD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IAEzD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;IAC/E,IAAI,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAC7E,IAAI,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAC7E,KAAK,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;CAChF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getDevFlowDir(projectRoot: string): string;
2
+ export declare function getIndexDir(projectRoot: string): string;
3
+ export declare function getSkillsDir(projectRoot: string): string;
4
+ export declare function getUserMemoryPath(): string;
5
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C"}
@@ -0,0 +1,15 @@
1
+ import { join } from "node:path";
2
+ export function getDevFlowDir(projectRoot) {
3
+ return join(projectRoot, ".devflow");
4
+ }
5
+ export function getIndexDir(projectRoot) {
6
+ return join(projectRoot, ".devflow", "index");
7
+ }
8
+ export function getSkillsDir(projectRoot) {
9
+ return join(projectRoot, ".devflow", "skills");
10
+ }
11
+ export function getUserMemoryPath() {
12
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? "~";
13
+ return join(home, ".devflow", "user-memory.db");
14
+ }
15
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;IAChE,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function countTokens(text: string): number;
2
+ export declare function truncateToTokenLimit(text: string, maxTokens: number): string;
3
+ //# sourceMappingURL=token-counter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK5E"}
@@ -0,0 +1,13 @@
1
+ import { encoding_for_model } from "tiktoken";
2
+ const enc = encoding_for_model("gpt-4");
3
+ export function countTokens(text) {
4
+ return enc.encode(text).length;
5
+ }
6
+ export function truncateToTokenLimit(text, maxTokens) {
7
+ const tokens = enc.encode(text);
8
+ if (tokens.length <= maxTokens)
9
+ return text;
10
+ const truncated = tokens.slice(0, maxTokens);
11
+ return new TextDecoder().decode(enc.decode(truncated));
12
+ }
13
+ //# sourceMappingURL=token-counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAiB;IAClE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@devflow-tools/sdk",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/index.js",
10
+ "types": "./dist/index.d.ts"
11
+ }
12
+ },
13
+ "scripts": {
14
+ "build": "tsc -b",
15
+ "test": "cgnode ../../node_modules/.bin/vitest run",
16
+ "typecheck": "tsc --noEmit",
17
+ "clean": "rm -rf dist"
18
+ },
19
+ "dependencies": {
20
+ "better-sqlite3": "^12.11.1",
21
+ "tiktoken": "^1.0.0"
22
+ },
23
+ "devDependencies": {
24
+ "@types/better-sqlite3": "^7.6.13",
25
+ "typescript": "^5.5.0",
26
+ "vitest": "^2.0.0"
27
+ },
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "gitHead": "4cede97fc7fc673f929427fac169acab100ca8ed"
32
+ }