@dex-ai/core-extensions 0.1.5
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/README.md +53 -0
- package/package.json +51 -0
- package/src/ask.ts +16 -0
- package/src/index.ts +87 -0
- package/src/session.ts +5 -0
- package/src/skills.ts +8 -0
- package/src/tasks.ts +18 -0
- package/src/tools.ts +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# @dex-ai/core-extensions
|
|
2
|
+
|
|
3
|
+
The minimum extension set every Dex agent needs. Pure TypeScript, zero native dependencies.
|
|
4
|
+
|
|
5
|
+
## What's included
|
|
6
|
+
|
|
7
|
+
| Extension | Description |
|
|
8
|
+
| ----------- | ------------------------------------------------------------ |
|
|
9
|
+
| **tools** | File read/write/edit, search (grep + find), bash shell |
|
|
10
|
+
| **session** | File-based session persistence (JSONL) |
|
|
11
|
+
| **skills** | File-based skill loader (~/.dex/skills/) with get_skill tool |
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import {
|
|
17
|
+
allFsExtensions,
|
|
18
|
+
bashExtension,
|
|
19
|
+
sessionExtension,
|
|
20
|
+
skillsExtension,
|
|
21
|
+
} from "@dex-ai/core-extensions";
|
|
22
|
+
|
|
23
|
+
const agent = await Agent.create({
|
|
24
|
+
provider: "anthropic",
|
|
25
|
+
model: "claude-sonnet-4-20250514",
|
|
26
|
+
extensions: [
|
|
27
|
+
...allFsExtensions({ cwd: process.cwd() }),
|
|
28
|
+
bashExtension({ cwd: process.cwd() }),
|
|
29
|
+
sessionExtension({ dir: "~/.dex/sessions", sessionId: "abc-123" }),
|
|
30
|
+
skillsExtension(),
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Sub-path imports
|
|
36
|
+
|
|
37
|
+
For tree-shaking or clarity, you can import from specific sub-paths:
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import { allFsExtensions, bashExtension } from "@dex-ai/core-extensions/tools";
|
|
41
|
+
import { sessionExtension } from "@dex-ai/core-extensions/session";
|
|
42
|
+
import { skillsExtension, loadSkill } from "@dex-ai/core-extensions/skills";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Package architecture
|
|
46
|
+
|
|
47
|
+
This is a facade package that re-exports from the underlying implementation packages:
|
|
48
|
+
|
|
49
|
+
- `@dex-ai/tools-extension`
|
|
50
|
+
- `@dex-ai/session-extension`
|
|
51
|
+
- `@dex-ai/skills-extension`
|
|
52
|
+
|
|
53
|
+
The implementation packages remain available for internal use but consumers should prefer `@dex-ai/core-extensions` as the public API.
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dex-ai/core-extensions",
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"description": "Core extensions for @dex-ai/sdk — tools (read/write/edit/search/bash), session persistence, and skills loader. Always shipped.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./src/index.ts",
|
|
9
|
+
"default": "./src/index.ts"
|
|
10
|
+
},
|
|
11
|
+
"./tools": {
|
|
12
|
+
"types": "./src/tools.ts",
|
|
13
|
+
"default": "./src/tools.ts"
|
|
14
|
+
},
|
|
15
|
+
"./session": {
|
|
16
|
+
"types": "./src/session.ts",
|
|
17
|
+
"default": "./src/session.ts"
|
|
18
|
+
},
|
|
19
|
+
"./skills": {
|
|
20
|
+
"types": "./src/skills.ts",
|
|
21
|
+
"default": "./src/skills.ts"
|
|
22
|
+
},
|
|
23
|
+
"./tasks": {
|
|
24
|
+
"types": "./src/tasks.ts",
|
|
25
|
+
"default": "./src/tasks.ts"
|
|
26
|
+
},
|
|
27
|
+
"./ask": {
|
|
28
|
+
"types": "./src/ask.ts",
|
|
29
|
+
"default": "./src/ask.ts"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"src"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"typecheck": "tsc --noEmit",
|
|
37
|
+
"test": "echo \"(no tests — covered by sub-packages)\""
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@dex-ai/tools-extension": "^0.1.2",
|
|
41
|
+
"@dex-ai/session-extension": "^0.1.2",
|
|
42
|
+
"@dex-ai/skills-extension": "^0.2.2",
|
|
43
|
+
"@dex-ai/tasks-extension": "^0.1.0",
|
|
44
|
+
"@dex-ai/ask-extension": "^0.1.0"
|
|
45
|
+
},
|
|
46
|
+
"sideEffects": false,
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public",
|
|
49
|
+
"registry": "https://registry.npmjs.org/"
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/ask.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dex-ai/core-extensions/ask — direct sub-path for ask only.
|
|
3
|
+
*/
|
|
4
|
+
export { askExtension } from "@dex-ai/ask-extension";
|
|
5
|
+
export type {
|
|
6
|
+
AskOption,
|
|
7
|
+
AskTab,
|
|
8
|
+
AskRequest,
|
|
9
|
+
AskTabResult,
|
|
10
|
+
AskResult,
|
|
11
|
+
AskResultSubmit,
|
|
12
|
+
AskResultEject,
|
|
13
|
+
AskResultCancel,
|
|
14
|
+
AskExtensionOptions,
|
|
15
|
+
} from "@dex-ai/ask-extension";
|
|
16
|
+
export { ASK_REQUEST_KEY, ASK_RESULT_KEY } from "@dex-ai/ask-extension";
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dex-ai/core-extensions — the minimum every Dex agent needs.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports:
|
|
5
|
+
* - tools (read, write, edit, search, bash)
|
|
6
|
+
* - session persistence (file-based JSONL)
|
|
7
|
+
* - skills loader (file-based skill catalog)
|
|
8
|
+
*
|
|
9
|
+
* All pure TypeScript, zero native dependencies.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* import {
|
|
13
|
+
* allFsExtensions, bashExtension,
|
|
14
|
+
* sessionExtension,
|
|
15
|
+
* skillsExtension,
|
|
16
|
+
* } from '@dex-ai/core-extensions';
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// --- Tools ---
|
|
20
|
+
export {
|
|
21
|
+
readFileExtension,
|
|
22
|
+
writeFileExtension,
|
|
23
|
+
editFileExtension,
|
|
24
|
+
searchExtension,
|
|
25
|
+
bashExtension,
|
|
26
|
+
allFsExtensions,
|
|
27
|
+
resolveInCwd,
|
|
28
|
+
PathOutsideCwdError,
|
|
29
|
+
resolveCwd,
|
|
30
|
+
resolveRoots,
|
|
31
|
+
} from "@dex-ai/tools-extension";
|
|
32
|
+
export type {
|
|
33
|
+
ReadFileExtensionOptions,
|
|
34
|
+
WriteFileExtensionOptions,
|
|
35
|
+
EditFileExtensionOptions,
|
|
36
|
+
SearchExtensionOptions,
|
|
37
|
+
SearchMatch,
|
|
38
|
+
BashExtensionOptions,
|
|
39
|
+
AllFsExtensionOptions,
|
|
40
|
+
CwdProvider,
|
|
41
|
+
RootsProvider,
|
|
42
|
+
ResolveOptions,
|
|
43
|
+
} from "@dex-ai/tools-extension";
|
|
44
|
+
|
|
45
|
+
// --- Session ---
|
|
46
|
+
export { sessionExtension } from "@dex-ai/session-extension";
|
|
47
|
+
export type { SessionExtensionOptions } from "@dex-ai/session-extension";
|
|
48
|
+
|
|
49
|
+
// --- Skills ---
|
|
50
|
+
export { skillsExtension, loadSkill } from "@dex-ai/skills-extension";
|
|
51
|
+
export type {
|
|
52
|
+
SkillsExtensionOptions,
|
|
53
|
+
ParsedSkill,
|
|
54
|
+
} from "@dex-ai/skills-extension";
|
|
55
|
+
|
|
56
|
+
// --- Tasks ---
|
|
57
|
+
export { tasksExtension } from "@dex-ai/tasks-extension";
|
|
58
|
+
export type { Task, TaskStatus, TaskEvent } from "@dex-ai/tasks-extension";
|
|
59
|
+
export {
|
|
60
|
+
TASKS_STATE_KEY,
|
|
61
|
+
computeHeader,
|
|
62
|
+
computeVisibleItems,
|
|
63
|
+
statusIcon,
|
|
64
|
+
} from "@dex-ai/tasks-extension";
|
|
65
|
+
export type {
|
|
66
|
+
TaskPanelHeader,
|
|
67
|
+
TaskPanelItem,
|
|
68
|
+
TaskPanelList,
|
|
69
|
+
} from "@dex-ai/tasks-extension";
|
|
70
|
+
|
|
71
|
+
// --- Ask ---
|
|
72
|
+
export {
|
|
73
|
+
askExtension,
|
|
74
|
+
ASK_REQUEST_KEY,
|
|
75
|
+
ASK_RESULT_KEY,
|
|
76
|
+
} from "@dex-ai/ask-extension";
|
|
77
|
+
export type {
|
|
78
|
+
AskOption,
|
|
79
|
+
AskTab,
|
|
80
|
+
AskRequest,
|
|
81
|
+
AskTabResult,
|
|
82
|
+
AskResult,
|
|
83
|
+
AskResultSubmit,
|
|
84
|
+
AskResultEject,
|
|
85
|
+
AskResultCancel,
|
|
86
|
+
AskExtensionOptions,
|
|
87
|
+
} from "@dex-ai/ask-extension";
|
package/src/session.ts
ADDED
package/src/skills.ts
ADDED
package/src/tasks.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dex-ai/core-extensions/tasks — direct sub-path for tasks only.
|
|
3
|
+
*/
|
|
4
|
+
export { tasksExtension } from "@dex-ai/tasks-extension";
|
|
5
|
+
export type {
|
|
6
|
+
Task,
|
|
7
|
+
TaskStatus,
|
|
8
|
+
TaskEvent,
|
|
9
|
+
TaskPanelHeader,
|
|
10
|
+
TaskPanelItem,
|
|
11
|
+
TaskPanelList,
|
|
12
|
+
} from "@dex-ai/tasks-extension";
|
|
13
|
+
export {
|
|
14
|
+
TASKS_STATE_KEY,
|
|
15
|
+
computeHeader,
|
|
16
|
+
computeVisibleItems,
|
|
17
|
+
statusIcon,
|
|
18
|
+
} from "@dex-ai/tasks-extension";
|
package/src/tools.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dex-ai/core-extensions/tools — direct sub-path for tools only.
|
|
3
|
+
*/
|
|
4
|
+
export {
|
|
5
|
+
readFileExtension,
|
|
6
|
+
writeFileExtension,
|
|
7
|
+
editFileExtension,
|
|
8
|
+
searchExtension,
|
|
9
|
+
bashExtension,
|
|
10
|
+
allFsExtensions,
|
|
11
|
+
} from "@dex-ai/tools-extension";
|
|
12
|
+
export type {
|
|
13
|
+
ReadFileExtensionOptions,
|
|
14
|
+
WriteFileExtensionOptions,
|
|
15
|
+
EditFileExtensionOptions,
|
|
16
|
+
SearchExtensionOptions,
|
|
17
|
+
SearchMatch,
|
|
18
|
+
BashExtensionOptions,
|
|
19
|
+
AllFsExtensionOptions,
|
|
20
|
+
} from "@dex-ai/tools-extension";
|