drift-it 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 (138) hide show
  1. package/README.md +90 -0
  2. package/dist/commands/agent/create.d.ts +3 -0
  3. package/dist/commands/agent/create.d.ts.map +1 -0
  4. package/dist/commands/agent/create.js +30 -0
  5. package/dist/commands/agent/create.js.map +1 -0
  6. package/dist/commands/agent/delete.d.ts +3 -0
  7. package/dist/commands/agent/delete.d.ts.map +1 -0
  8. package/dist/commands/agent/delete.js +34 -0
  9. package/dist/commands/agent/delete.js.map +1 -0
  10. package/dist/commands/agent/index.d.ts +3 -0
  11. package/dist/commands/agent/index.d.ts.map +1 -0
  12. package/dist/commands/agent/index.js +20 -0
  13. package/dist/commands/agent/index.js.map +1 -0
  14. package/dist/commands/agent/list.d.ts +3 -0
  15. package/dist/commands/agent/list.d.ts.map +1 -0
  16. package/dist/commands/agent/list.js +31 -0
  17. package/dist/commands/agent/list.js.map +1 -0
  18. package/dist/commands/agent/rename.d.ts +3 -0
  19. package/dist/commands/agent/rename.d.ts.map +1 -0
  20. package/dist/commands/agent/rename.js +19 -0
  21. package/dist/commands/agent/rename.js.map +1 -0
  22. package/dist/commands/agent/run.d.ts +3 -0
  23. package/dist/commands/agent/run.d.ts.map +1 -0
  24. package/dist/commands/agent/run.js +28 -0
  25. package/dist/commands/agent/run.js.map +1 -0
  26. package/dist/commands/agent/update.d.ts +3 -0
  27. package/dist/commands/agent/update.d.ts.map +1 -0
  28. package/dist/commands/agent/update.js +32 -0
  29. package/dist/commands/agent/update.js.map +1 -0
  30. package/dist/commands/agent/view.d.ts +3 -0
  31. package/dist/commands/agent/view.d.ts.map +1 -0
  32. package/dist/commands/agent/view.js +24 -0
  33. package/dist/commands/agent/view.js.map +1 -0
  34. package/dist/commands/config/index.d.ts +3 -0
  35. package/dist/commands/config/index.d.ts.map +1 -0
  36. package/dist/commands/config/index.js +12 -0
  37. package/dist/commands/config/index.js.map +1 -0
  38. package/dist/commands/config/reset.d.ts +3 -0
  39. package/dist/commands/config/reset.d.ts.map +1 -0
  40. package/dist/commands/config/reset.js +31 -0
  41. package/dist/commands/config/reset.js.map +1 -0
  42. package/dist/commands/config/setProvider.d.ts +3 -0
  43. package/dist/commands/config/setProvider.d.ts.map +1 -0
  44. package/dist/commands/config/setProvider.js +25 -0
  45. package/dist/commands/config/setProvider.js.map +1 -0
  46. package/dist/commands/config/view.d.ts +3 -0
  47. package/dist/commands/config/view.d.ts.map +1 -0
  48. package/dist/commands/config/view.js +24 -0
  49. package/dist/commands/config/view.js.map +1 -0
  50. package/dist/commands/doctor.d.ts +3 -0
  51. package/dist/commands/doctor.d.ts.map +1 -0
  52. package/dist/commands/doctor.js +68 -0
  53. package/dist/commands/doctor.js.map +1 -0
  54. package/dist/commands/init.d.ts +3 -0
  55. package/dist/commands/init.d.ts.map +1 -0
  56. package/dist/commands/init.js +83 -0
  57. package/dist/commands/init.js.map +1 -0
  58. package/dist/commands/pipeline/create.d.ts +3 -0
  59. package/dist/commands/pipeline/create.d.ts.map +1 -0
  60. package/dist/commands/pipeline/create.js +34 -0
  61. package/dist/commands/pipeline/create.js.map +1 -0
  62. package/dist/commands/pipeline/delete.d.ts +3 -0
  63. package/dist/commands/pipeline/delete.d.ts.map +1 -0
  64. package/dist/commands/pipeline/delete.js +31 -0
  65. package/dist/commands/pipeline/delete.js.map +1 -0
  66. package/dist/commands/pipeline/index.d.ts +3 -0
  67. package/dist/commands/pipeline/index.d.ts.map +1 -0
  68. package/dist/commands/pipeline/index.js +20 -0
  69. package/dist/commands/pipeline/index.js.map +1 -0
  70. package/dist/commands/pipeline/list.d.ts +3 -0
  71. package/dist/commands/pipeline/list.d.ts.map +1 -0
  72. package/dist/commands/pipeline/list.js +30 -0
  73. package/dist/commands/pipeline/list.js.map +1 -0
  74. package/dist/commands/pipeline/rename.d.ts +3 -0
  75. package/dist/commands/pipeline/rename.d.ts.map +1 -0
  76. package/dist/commands/pipeline/rename.js +18 -0
  77. package/dist/commands/pipeline/rename.js.map +1 -0
  78. package/dist/commands/pipeline/run.d.ts +3 -0
  79. package/dist/commands/pipeline/run.d.ts.map +1 -0
  80. package/dist/commands/pipeline/run.js +42 -0
  81. package/dist/commands/pipeline/run.js.map +1 -0
  82. package/dist/commands/pipeline/update.d.ts +3 -0
  83. package/dist/commands/pipeline/update.d.ts.map +1 -0
  84. package/dist/commands/pipeline/update.js +39 -0
  85. package/dist/commands/pipeline/update.js.map +1 -0
  86. package/dist/commands/pipeline/view.d.ts +3 -0
  87. package/dist/commands/pipeline/view.d.ts.map +1 -0
  88. package/dist/commands/pipeline/view.js +26 -0
  89. package/dist/commands/pipeline/view.js.map +1 -0
  90. package/dist/core/agentManager.d.ts +13 -0
  91. package/dist/core/agentManager.d.ts.map +1 -0
  92. package/dist/core/agentManager.js +118 -0
  93. package/dist/core/agentManager.js.map +1 -0
  94. package/dist/core/executor.d.ts +6 -0
  95. package/dist/core/executor.d.ts.map +1 -0
  96. package/dist/core/executor.js +31 -0
  97. package/dist/core/executor.js.map +1 -0
  98. package/dist/core/pipelineManager.d.ts +11 -0
  99. package/dist/core/pipelineManager.d.ts.map +1 -0
  100. package/dist/core/pipelineManager.js +99 -0
  101. package/dist/core/pipelineManager.js.map +1 -0
  102. package/dist/core/providers/AIProvider.d.ts +5 -0
  103. package/dist/core/providers/AIProvider.d.ts.map +1 -0
  104. package/dist/core/providers/AIProvider.js +2 -0
  105. package/dist/core/providers/AIProvider.js.map +1 -0
  106. package/dist/core/providers/clipboardProvider.d.ts +6 -0
  107. package/dist/core/providers/clipboardProvider.d.ts.map +1 -0
  108. package/dist/core/providers/clipboardProvider.js +24 -0
  109. package/dist/core/providers/clipboardProvider.js.map +1 -0
  110. package/dist/core/providers/ollamaProvider.d.ts +9 -0
  111. package/dist/core/providers/ollamaProvider.d.ts.map +1 -0
  112. package/dist/core/providers/ollamaProvider.js +35 -0
  113. package/dist/core/providers/ollamaProvider.js.map +1 -0
  114. package/dist/index.d.ts +3 -0
  115. package/dist/index.d.ts.map +1 -0
  116. package/dist/index.js +19 -0
  117. package/dist/index.js.map +1 -0
  118. package/dist/utils/fileLoader.d.ts +22 -0
  119. package/dist/utils/fileLoader.d.ts.map +1 -0
  120. package/dist/utils/fileLoader.js +85 -0
  121. package/dist/utils/fileLoader.js.map +1 -0
  122. package/dist/utils/logger.d.ts +10 -0
  123. package/dist/utils/logger.d.ts.map +1 -0
  124. package/dist/utils/logger.js +25 -0
  125. package/dist/utils/logger.js.map +1 -0
  126. package/dist/utils/promptBuilder.d.ts +2 -0
  127. package/dist/utils/promptBuilder.d.ts.map +1 -0
  128. package/dist/utils/promptBuilder.js +4 -0
  129. package/dist/utils/promptBuilder.js.map +1 -0
  130. package/dist/utils/suggestions.d.ts +6 -0
  131. package/dist/utils/suggestions.d.ts.map +1 -0
  132. package/dist/utils/suggestions.js +40 -0
  133. package/dist/utils/suggestions.js.map +1 -0
  134. package/dist/utils/validator.d.ts +3 -0
  135. package/dist/utils/validator.d.ts.map +1 -0
  136. package/dist/utils/validator.js +20 -0
  137. package/dist/utils/validator.js.map +1 -0
  138. package/package.json +43 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Suggest similar names from a list of known names.
3
+ * Returns at most `maxResults` names sorted by similarity.
4
+ */
5
+ export declare function suggestSimilar(input: string, known: string[], maxResults?: number): string[];
6
+ //# sourceMappingURL=suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.d.ts","sourceRoot":"","sources":["../../src/utils/suggestions.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,SAAI,GACb,MAAM,EAAE,CAYV"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Levenshtein distance between two strings
3
+ */
4
+ function levenshtein(a, b) {
5
+ const m = a.length;
6
+ const n = b.length;
7
+ const dp = Array.from({ length: m + 1 }, () => Array.from({ length: n + 1 }, () => 0));
8
+ for (let i = 0; i <= m; i++)
9
+ dp[i][0] = i;
10
+ for (let j = 0; j <= n; j++)
11
+ dp[0][j] = j;
12
+ for (let i = 1; i <= m; i++) {
13
+ for (let j = 1; j <= n; j++) {
14
+ if (a[i - 1] === b[j - 1]) {
15
+ dp[i][j] = dp[i - 1][j - 1];
16
+ }
17
+ else {
18
+ dp[i][j] = 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
19
+ }
20
+ }
21
+ }
22
+ return dp[m][n];
23
+ }
24
+ /**
25
+ * Suggest similar names from a list of known names.
26
+ * Returns at most `maxResults` names sorted by similarity.
27
+ */
28
+ export function suggestSimilar(input, known, maxResults = 3) {
29
+ if (known.length === 0)
30
+ return [];
31
+ const scored = known
32
+ .map((name) => ({
33
+ name,
34
+ distance: levenshtein(input.toLowerCase(), name.toLowerCase()),
35
+ }))
36
+ .filter((s) => s.distance <= Math.max(3, Math.floor(input.length / 2)))
37
+ .sort((a, b) => a.distance - b.distance);
38
+ return scored.slice(0, maxResults).map((s) => s.name);
39
+ }
40
+ //# sourceMappingURL=suggestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/utils/suggestions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,KAAe,EACf,UAAU,GAAG,CAAC;IAEd,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,KAAK;SACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;KAC/D,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACtE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function isValidName(name: string): boolean;
2
+ export declare function validateName(name: string): string | null;
3
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxD"}
@@ -0,0 +1,20 @@
1
+ const NAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;
2
+ export function isValidName(name) {
3
+ return NAME_REGEX.test(name) && name.length >= 2 && name.length <= 64;
4
+ }
5
+ export function validateName(name) {
6
+ if (!name || name.trim().length === 0) {
7
+ return "Name cannot be empty.";
8
+ }
9
+ if (name.length < 2) {
10
+ return "Name must be at least 2 characters.";
11
+ }
12
+ if (name.length > 64) {
13
+ return "Name must be at most 64 characters.";
14
+ }
15
+ if (!NAME_REGEX.test(name)) {
16
+ return "Name must start with a letter or number and contain only letters, numbers, hyphens, and underscores.";
17
+ }
18
+ return null;
19
+ }
20
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,sGAAsG,CAAC;IAChH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "drift-it",
3
+ "version": "0.1.0",
4
+ "description": "A developer-first CLI tool for creating and running custom AI agents and multi-agent pipelines locally",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "bin": {
8
+ "drift": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsx src/index.ts",
13
+ "start": "node dist/index.js"
14
+ },
15
+ "keywords": [
16
+ "ai",
17
+ "agent",
18
+ "cli",
19
+ "ollama",
20
+ "pipeline",
21
+ "local"
22
+ ],
23
+ "license": "MIT",
24
+ "files": [
25
+ "dist",
26
+ "README.md"
27
+ ],
28
+ "engines": {
29
+ "node": ">=20.0.0"
30
+ },
31
+ "dependencies": {
32
+ "chalk": "^5.6.2",
33
+ "clipboardy": "^5.3.1",
34
+ "commander": "^14.0.3",
35
+ "inquirer": "^13.3.2"
36
+ },
37
+ "devDependencies": {
38
+ "@types/inquirer": "^9.0.9",
39
+ "@types/node": "^25.5.0",
40
+ "tsx": "^4.21.0",
41
+ "typescript": "^5.9.3"
42
+ }
43
+ }