background-agents 0.1.1

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 (83) hide show
  1. package/README.md +402 -0
  2. package/dist/debug.d.ts +7 -0
  3. package/dist/debug.d.ts.map +1 -0
  4. package/dist/debug.js +19 -0
  5. package/dist/debug.js.map +1 -0
  6. package/dist/factory.d.ts +31 -0
  7. package/dist/factory.d.ts.map +1 -0
  8. package/dist/factory.js +47 -0
  9. package/dist/factory.js.map +1 -0
  10. package/dist/index.d.ts +30 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +35 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/providers/base.d.ts +160 -0
  15. package/dist/providers/base.d.ts.map +1 -0
  16. package/dist/providers/base.js +656 -0
  17. package/dist/providers/base.js.map +1 -0
  18. package/dist/providers/claude.d.ts +14 -0
  19. package/dist/providers/claude.d.ts.map +1 -0
  20. package/dist/providers/claude.js +122 -0
  21. package/dist/providers/claude.js.map +1 -0
  22. package/dist/providers/codex.d.ts +14 -0
  23. package/dist/providers/codex.d.ts.map +1 -0
  24. package/dist/providers/codex.js +160 -0
  25. package/dist/providers/codex.js.map +1 -0
  26. package/dist/providers/gemini.d.ts +16 -0
  27. package/dist/providers/gemini.d.ts.map +1 -0
  28. package/dist/providers/gemini.js +91 -0
  29. package/dist/providers/gemini.js.map +1 -0
  30. package/dist/providers/index.d.ts +6 -0
  31. package/dist/providers/index.d.ts.map +1 -0
  32. package/dist/providers/index.js +6 -0
  33. package/dist/providers/index.js.map +1 -0
  34. package/dist/providers/opencode.d.ts +14 -0
  35. package/dist/providers/opencode.d.ts.map +1 -0
  36. package/dist/providers/opencode.js +100 -0
  37. package/dist/providers/opencode.js.map +1 -0
  38. package/dist/sandbox/daytona-ssh.d.ts +9 -0
  39. package/dist/sandbox/daytona-ssh.d.ts.map +1 -0
  40. package/dist/sandbox/daytona-ssh.js +113 -0
  41. package/dist/sandbox/daytona-ssh.js.map +1 -0
  42. package/dist/sandbox/daytona.d.ts +4 -0
  43. package/dist/sandbox/daytona.d.ts.map +1 -0
  44. package/dist/sandbox/daytona.js +238 -0
  45. package/dist/sandbox/daytona.js.map +1 -0
  46. package/dist/sandbox/index.d.ts +14 -0
  47. package/dist/sandbox/index.d.ts.map +1 -0
  48. package/dist/sandbox/index.js +15 -0
  49. package/dist/sandbox/index.js.map +1 -0
  50. package/dist/session.d.ts +64 -0
  51. package/dist/session.d.ts.map +1 -0
  52. package/dist/session.js +113 -0
  53. package/dist/session.js.map +1 -0
  54. package/dist/types/events.d.ts +114 -0
  55. package/dist/types/events.d.ts.map +1 -0
  56. package/dist/types/events.js +50 -0
  57. package/dist/types/events.js.map +1 -0
  58. package/dist/types/index.d.ts +3 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +3 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/types/provider.d.ts +124 -0
  63. package/dist/types/provider.d.ts.map +1 -0
  64. package/dist/types/provider.js +2 -0
  65. package/dist/types/provider.js.map +1 -0
  66. package/dist/utils/index.d.ts +4 -0
  67. package/dist/utils/index.d.ts.map +1 -0
  68. package/dist/utils/index.js +4 -0
  69. package/dist/utils/index.js.map +1 -0
  70. package/dist/utils/install.d.ts +27 -0
  71. package/dist/utils/install.d.ts.map +1 -0
  72. package/dist/utils/install.js +86 -0
  73. package/dist/utils/install.js.map +1 -0
  74. package/dist/utils/json.d.ts +8 -0
  75. package/dist/utils/json.d.ts.map +1 -0
  76. package/dist/utils/json.js +15 -0
  77. package/dist/utils/json.js.map +1 -0
  78. package/dist/utils/session.d.ts +17 -0
  79. package/dist/utils/session.d.ts.map +1 -0
  80. package/dist/utils/session.js +59 -0
  81. package/dist/utils/session.js.map +1 -0
  82. package/next.config.codeagentsdk.cjs +22 -0
  83. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStD"}
@@ -0,0 +1,59 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ /**
4
+ * Session management utilities
5
+ */
6
+ const DEFAULT_SESSION_DIR = ".coding-agents";
7
+ const DEFAULT_SESSION_FILE = "session";
8
+ /**
9
+ * Get the default session file path
10
+ */
11
+ export function getDefaultSessionPath(providerName) {
12
+ const homeDir = process.env.HOME || process.env.USERPROFILE || ".";
13
+ return path.join(homeDir, DEFAULT_SESSION_DIR, `${providerName}-${DEFAULT_SESSION_FILE}`);
14
+ }
15
+ /**
16
+ * Load a session ID from file
17
+ */
18
+ export function loadSession(filePath) {
19
+ try {
20
+ if (fs.existsSync(filePath)) {
21
+ return fs.readFileSync(filePath, "utf8").trim() || null;
22
+ }
23
+ return null;
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ /**
30
+ * Store a session ID to file
31
+ */
32
+ export function storeSession(filePath, sessionId) {
33
+ try {
34
+ const dir = path.dirname(filePath);
35
+ if (!fs.existsSync(dir)) {
36
+ fs.mkdirSync(dir, { recursive: true });
37
+ }
38
+ fs.writeFileSync(filePath, sessionId);
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ /**
46
+ * Clear a session file
47
+ */
48
+ export function clearSession(filePath) {
49
+ try {
50
+ if (fs.existsSync(filePath)) {
51
+ fs.unlinkSync(filePath);
52
+ }
53
+ return true;
54
+ }
55
+ catch {
56
+ return false;
57
+ }
58
+ }
59
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AAEH,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAC5C,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAEtC;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAA;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,YAAY,IAAI,oBAAoB,EAAE,CAAC,CAAA;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;QACzD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IAC9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Merge this into your Next.js config so the SDK's native deps (ssh2 / cpu-features)
3
+ * are not bundled by Webpack.
4
+ *
5
+ * Usage (next.config.js or next.config.mjs):
6
+ * import codeagentsdk from 'background-agents/next.config'
7
+ * export default { ...codeagentsdk, ...yourConfig }
8
+ *
9
+ * Or (next.config.cjs):
10
+ * const codeagentsdk = require('background-agents/next.config')
11
+ * module.exports = { ...codeagentsdk, ...yourConfig }
12
+ */
13
+ module.exports = {
14
+ serverExternalPackages: ['ssh2', 'cpu-features'],
15
+ webpack: (config) => {
16
+ config.module.rules.push({
17
+ test: /\.node$/,
18
+ type: 'asset/resource',
19
+ })
20
+ return config
21
+ },
22
+ }
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "background-agents",
3
+ "version": "0.1.1",
4
+ "description": "A TypeScript SDK for interacting with various AI coding agents (Claude, Codex, OpenCode, Gemini)",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "scripts": {
9
+ "build": "tsc",
10
+ "test": "vitest run",
11
+ "test:watch": "vitest",
12
+ "test:coverage": "vitest run --coverage",
13
+ "lint": "eslint src --ext .ts",
14
+ "clean": "rm -rf dist",
15
+ "prepublishOnly": "npm run build"
16
+ },
17
+ "keywords": [
18
+ "ai",
19
+ "coding-agent",
20
+ "claude",
21
+ "codex",
22
+ "opencode",
23
+ "gemini",
24
+ "sdk"
25
+ ],
26
+ "author": "",
27
+ "license": "MIT",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^20.10.0",
33
+ "@types/ssh2": "^1.15.5",
34
+ "typescript": "^5.3.0",
35
+ "vitest": "^1.0.0"
36
+ },
37
+ "engines": {
38
+ "node": ">=18.0.0"
39
+ },
40
+ "files": [
41
+ "dist",
42
+ "README.md",
43
+ "next.config.codeagentsdk.cjs"
44
+ ],
45
+ "exports": {
46
+ ".": {
47
+ "import": "./dist/index.js",
48
+ "types": "./dist/index.d.ts"
49
+ },
50
+ "./next.config": "./next.config.codeagentsdk.cjs"
51
+ },
52
+ "dependencies": {
53
+ "@daytonaio/sdk": "^0.150.0",
54
+ "dotenv": "^17.3.1",
55
+ "ssh2": "^1.17.0"
56
+ }
57
+ }