@elizaos/plugin-goals 2.0.0-alpha.9 → 2.0.3-beta.2
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/LICENSE +21 -0
- package/README.md +89 -0
- package/assets/hero.svg +69 -0
- package/package.json +72 -110
- package/dist/__tests__/e2e/goals-plugin.d.ts +0 -3
- package/dist/__tests__/e2e/goals-plugin.d.ts.map +0 -1
- package/dist/actions/cancelGoal.d.ts +0 -4
- package/dist/actions/cancelGoal.d.ts.map +0 -1
- package/dist/actions/completeGoal.d.ts +0 -4
- package/dist/actions/completeGoal.d.ts.map +0 -1
- package/dist/actions/confirmGoal.d.ts +0 -4
- package/dist/actions/confirmGoal.d.ts.map +0 -1
- package/dist/actions/createGoal.d.ts +0 -4
- package/dist/actions/createGoal.d.ts.map +0 -1
- package/dist/actions/updateGoal.d.ts +0 -4
- package/dist/actions/updateGoal.d.ts.map +0 -1
- package/dist/apis.d.ts +0 -4
- package/dist/apis.d.ts.map +0 -1
- package/dist/build.d.ts +0 -3
- package/dist/build.d.ts.map +0 -1
- package/dist/frontend/utils.d.ts +0 -3
- package/dist/frontend/utils.d.ts.map +0 -1
- package/dist/generated/prompts/typescript/prompts.d.ts +0 -22
- package/dist/generated/prompts/typescript/prompts.d.ts.map +0 -1
- package/dist/generated/specs/spec-helpers.d.ts +0 -49
- package/dist/generated/specs/spec-helpers.d.ts.map +0 -1
- package/dist/generated/specs/specs.d.ts +0 -113
- package/dist/generated/specs/specs.d.ts.map +0 -1
- package/dist/index.browser.d.ts +0 -4
- package/dist/index.browser.d.ts.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/node/index.node.js +0 -5876
- package/dist/node/index.node.js.map +0 -103
- package/dist/providers/goals.d.ts +0 -4
- package/dist/providers/goals.d.ts.map +0 -1
- package/dist/schema.d.ts +0 -825
- package/dist/schema.d.ts.map +0 -1
- package/dist/services/goalDataService.d.ts +0 -68
- package/dist/services/goalDataService.d.ts.map +0 -1
- package/dist/tests.d.ts +0 -6
- package/dist/tests.d.ts.map +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Shaw Walters and elizaOS Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# @elizaos/plugin-goals
|
|
2
|
+
|
|
3
|
+
Life direction plugin for elizaOS: owner-set long-horizon goals, recurring
|
|
4
|
+
routines, reminders, alarms, daily check-ins, and a self-care / mood / journal
|
|
5
|
+
panel.
|
|
6
|
+
|
|
7
|
+
Decomposed out of `@elizaos/plugin-personal-assistant`. During the migration phase three
|
|
8
|
+
of the four action handlers (`OWNER_ROUTINES`, `OWNER_REMINDERS`, `OWNER_ALARMS`) are
|
|
9
|
+
scaffold stubs that point back to their LifeOps source via `TODO(migrate)` comments.
|
|
10
|
+
`OWNER_GOALS` is fully implemented via `GoalsService`. The plugin registers cleanly,
|
|
11
|
+
compiles standalone, and serves a real (if minimal) view.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bun add @elizaos/plugin-goals
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Add the plugin to your agent's plugin list. `@elizaos/plugin-sql` must be
|
|
20
|
+
loaded before it (declared as a peer dep + `dependencies: ["@elizaos/plugin-sql"]`
|
|
21
|
+
on the plugin object).
|
|
22
|
+
|
|
23
|
+
## Plugin surface
|
|
24
|
+
|
|
25
|
+
- Actions: `OWNER_GOALS` (real — CRUD via GoalsService), `OWNER_ROUTINES`, `OWNER_REMINDERS`, `OWNER_ALARMS` (scaffold stubs)
|
|
26
|
+
- Back-end: `GoalsService` (`src/goals-service.ts`) — goal CRUD, dedup, similarity scoring
|
|
27
|
+
- Service: `GoalsCheckinService` (daily check-in engine, stub)
|
|
28
|
+
- View: `goals` (`/goals`) — three sections (Life Goals / Routines / Today)
|
|
29
|
+
plus a self-care / mood / journal panel
|
|
30
|
+
- Schema: `pgSchema('app_goals')` with tables `goals`, `routines`,
|
|
31
|
+
`reminders`, `alarms`, `checkins`
|
|
32
|
+
|
|
33
|
+
## Migration mapping (`plugin-lifeops` -> `plugin-goals`)
|
|
34
|
+
|
|
35
|
+
| LifeOps source | Plugin-goals target |
|
|
36
|
+
|--------------------------------------------------------------------------------------|--------------------------------------|
|
|
37
|
+
| `src/actions/owner-surfaces.ts` (`OWNER_GOALS`) | `src/actions/goals.ts` |
|
|
38
|
+
| `src/actions/owner-surfaces.ts` (`OWNER_ROUTINES`) | `src/actions/routines.ts` |
|
|
39
|
+
| `src/actions/owner-surfaces.ts` (`OWNER_REMINDERS`) | `src/actions/reminders.ts` |
|
|
40
|
+
| `src/actions/owner-surfaces.ts` (`OWNER_ALARMS`) | `src/actions/alarms.ts` |
|
|
41
|
+
| `src/lifeops/checkin/checkin-service.ts` + `schedule-resolver.ts` + `types.ts` | `src/services/checkin.ts` |
|
|
42
|
+
| `src/followup/followup-tracker.ts` + `src/followup/actions/` | `src/followup/` (added in phase 2) |
|
|
43
|
+
| `src/default-packs/{daily-rhythm,habit-starters,followup-starter}.ts` | `src/default-packs/` (phase 2) |
|
|
44
|
+
| `src/lifeops/schema.ts` (`app_goals` namespace tables) | `src/db/schema.ts` |
|
|
45
|
+
|
|
46
|
+
## Status
|
|
47
|
+
|
|
48
|
+
`OWNER_GOALS` is fully implemented (goal CRUD via `GoalsService`). The remaining
|
|
49
|
+
three owner actions (`OWNER_ROUTINES`, `OWNER_REMINDERS`, `OWNER_ALARMS`) are scaffold
|
|
50
|
+
stubs: handlers return `success: false` with a `scaffold_stub` reason and include a
|
|
51
|
+
`TODO(migrate)` pointer back to the LifeOps source. The follow-up phase migrates the
|
|
52
|
+
real handler bodies + default packs + check-in implementation from `plugin-lifeops`.
|
|
53
|
+
|
|
54
|
+
## Layout
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
src/
|
|
58
|
+
index.ts Public barrel
|
|
59
|
+
plugin.ts goalsPlugin (actions, service, schema, views)
|
|
60
|
+
types.ts Action enums + scope + log prefix
|
|
61
|
+
goals-service.ts GoalsService (goal CRUD + dedup + scoring)
|
|
62
|
+
goals-runtime.ts createOwnerGoalsService + owner-scope hooks
|
|
63
|
+
goal-normalize.ts GoalsServiceError + input normalizers
|
|
64
|
+
goal-grounding.ts Goal grounding / semantic-review metadata helpers
|
|
65
|
+
goal-semantic-evaluator.ts evaluateGoalProgressWithLlm (LLM goal review)
|
|
66
|
+
actions/{goals,routines,reminders,alarms}.ts
|
|
67
|
+
services/checkin.ts GoalsCheckinService (stub)
|
|
68
|
+
db/
|
|
69
|
+
index.ts Re-exports schema
|
|
70
|
+
schema.ts Drizzle pgSchema('app_goals')
|
|
71
|
+
sql.ts Self-contained raw-SQL helpers
|
|
72
|
+
goals-repository.ts GoalsRepository (raw SQL over app_lifeops.life_goal_*)
|
|
73
|
+
components/goals/
|
|
74
|
+
GoalsView.tsx React view
|
|
75
|
+
goals-view-bundle.ts Vite view-bundle entry
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Commands
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
bun run --cwd plugins/plugin-goals typecheck
|
|
82
|
+
bun run --cwd plugins/plugin-goals lint
|
|
83
|
+
bun run --cwd plugins/plugin-goals test
|
|
84
|
+
bun run --cwd plugins/plugin-goals build
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
MIT — see the repo root `LICENSE`.
|
package/assets/hero.svg
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024" role="img" aria-label="Goals">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg-goals" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#282115"/>
|
|
5
|
+
<stop offset="1" stop-color="#19170b"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<radialGradient id="blobA-goals" cx="0.5" cy="0.5" r="0.5">
|
|
8
|
+
<stop offset="0" stop-color="#da9b2f" stop-opacity="0.55"/>
|
|
9
|
+
<stop offset="1" stop-color="#da9b2f" stop-opacity="0"/>
|
|
10
|
+
</radialGradient>
|
|
11
|
+
<radialGradient id="blobB-goals" cx="0.5" cy="0.5" r="0.5">
|
|
12
|
+
<stop offset="0" stop-color="#b3c328" stop-opacity="0.5"/>
|
|
13
|
+
<stop offset="1" stop-color="#b3c328" stop-opacity="0"/>
|
|
14
|
+
</radialGradient>
|
|
15
|
+
<radialGradient id="vig-goals" cx="0.5" cy="0.42" r="0.75">
|
|
16
|
+
<stop offset="0" stop-color="#000000" stop-opacity="0"/>
|
|
17
|
+
<stop offset="0.72" stop-color="#000000" stop-opacity="0"/>
|
|
18
|
+
<stop offset="1" stop-color="#000000" stop-opacity="0.5"/>
|
|
19
|
+
</radialGradient>
|
|
20
|
+
<linearGradient id="label-goals" x1="0" y1="0" x2="0" y2="1">
|
|
21
|
+
<stop offset="0" stop-color="#000000" stop-opacity="0"/>
|
|
22
|
+
<stop offset="1" stop-color="#000000" stop-opacity="0.55"/>
|
|
23
|
+
</linearGradient>
|
|
24
|
+
<filter id="soft-goals" x="-30%" y="-30%" width="160%" height="160%">
|
|
25
|
+
<feGaussianBlur stdDeviation="46"/>
|
|
26
|
+
</filter>
|
|
27
|
+
<filter id="iglow-goals" x="-40%" y="-40%" width="180%" height="180%">
|
|
28
|
+
<feDropShadow dx="0" dy="0" stdDeviation="14" flood-color="#edaf45" flood-opacity="0.45"/>
|
|
29
|
+
</filter>
|
|
30
|
+
</defs>
|
|
31
|
+
|
|
32
|
+
<rect width="1024" height="1024" fill="url(#bg-goals)"/>
|
|
33
|
+
|
|
34
|
+
<g opacity="0.9">
|
|
35
|
+
<circle cx="232" cy="220" r="300" fill="url(#blobA-goals)" filter="url(#soft-goals)"/>
|
|
36
|
+
<circle cx="840" cy="800" r="340" fill="url(#blobB-goals)" filter="url(#soft-goals)"/>
|
|
37
|
+
</g>
|
|
38
|
+
|
|
39
|
+
<g stroke="#eae3d7" stroke-width="1.4" opacity="0.06">
|
|
40
|
+
<line x1="0" y1="256" x2="1024" y2="256"/>
|
|
41
|
+
<line x1="0" y1="512" x2="1024" y2="512"/>
|
|
42
|
+
<line x1="0" y1="768" x2="1024" y2="768"/>
|
|
43
|
+
<line x1="256" y1="0" x2="256" y2="1024"/>
|
|
44
|
+
<line x1="512" y1="0" x2="512" y2="1024"/>
|
|
45
|
+
<line x1="768" y1="0" x2="768" y2="1024"/>
|
|
46
|
+
</g>
|
|
47
|
+
|
|
48
|
+
<g opacity="0.5">
|
|
49
|
+
<path d="M120 470 A 400 400 0 0 1 904 470" fill="none" stroke="#edaf45" stroke-width="3" opacity="0.35"/>
|
|
50
|
+
</g>
|
|
51
|
+
|
|
52
|
+
<g transform="translate(512 432)" filter="url(#iglow-goals)"
|
|
53
|
+
color="#eae3d7" stroke="#eae3d7" stroke-width="20"
|
|
54
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none">
|
|
55
|
+
<circle cx="0" cy="0" r="150"/>
|
|
56
|
+
<circle cx="0" cy="0" r="92"/>
|
|
57
|
+
<circle cx="0" cy="0" r="34"/>
|
|
58
|
+
<circle cx="0" cy="0" r="9" stroke-width="0" fill="currentColor"/>
|
|
59
|
+
</g>
|
|
60
|
+
|
|
61
|
+
<rect x="0" y="784" width="1024" height="240" fill="url(#label-goals)"/>
|
|
62
|
+
<text x="512" y="892" text-anchor="middle"
|
|
63
|
+
font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
|
64
|
+
font-size="76" font-weight="600" letter-spacing="0.5"
|
|
65
|
+
fill="#eae3d7">Goals</text>
|
|
66
|
+
<rect x="460" y="924" width="104" height="6" rx="3" fill="#edaf45"/>
|
|
67
|
+
|
|
68
|
+
<rect width="1024" height="1024" fill="url(#vig-goals)"/>
|
|
69
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,131 +1,93 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-goals",
|
|
3
|
-
"
|
|
4
|
-
"version": "2.0.0-alpha.9",
|
|
3
|
+
"version": "2.0.3-beta.2",
|
|
5
4
|
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"plugin",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"objectives",
|
|
18
|
-
"task-management"
|
|
19
|
-
],
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "https://github.com/elizaos/elizaos"
|
|
5
|
+
"description": "Life direction plugin: owner-set long-horizon goals, recurring routines, reminders, alarms, daily check-ins, plus a self-care/mood/journal panel.",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
9
|
+
"lint": "bunx @biomejs/biome check src/",
|
|
10
|
+
"test": "bunx vitest run --config ./vitest.config.ts",
|
|
11
|
+
"build": "bun run build:js && bun run build:views && bun run build:types",
|
|
12
|
+
"clean": "rm -rf dist",
|
|
13
|
+
"build:js": "tsup --config ../tsup.plugin-packages.shared.ts",
|
|
14
|
+
"build:views": "bunx --bun vite build --config vite.config.views.ts",
|
|
15
|
+
"build:types": "tsc --noCheck -p tsconfig.build.json"
|
|
23
16
|
},
|
|
24
|
-
"homepage": "https://elizaos.ai",
|
|
25
17
|
"exports": {
|
|
26
18
|
"./package.json": "./package.json",
|
|
27
19
|
".": {
|
|
28
20
|
"types": "./dist/index.d.ts",
|
|
29
|
-
"
|
|
30
|
-
"types": "./
|
|
31
|
-
"import": "./
|
|
32
|
-
"default": "./
|
|
21
|
+
"eliza-source": {
|
|
22
|
+
"types": "./src/index.ts",
|
|
23
|
+
"import": "./src/index.ts",
|
|
24
|
+
"default": "./src/index.ts"
|
|
33
25
|
},
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
"import": "./dist/index.js",
|
|
27
|
+
"default": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./plugin": {
|
|
30
|
+
"types": "./dist/plugin.d.ts",
|
|
31
|
+
"eliza-source": {
|
|
32
|
+
"types": "./src/plugin.ts",
|
|
33
|
+
"import": "./src/plugin.ts",
|
|
34
|
+
"default": "./src/plugin.ts"
|
|
35
|
+
},
|
|
36
|
+
"import": "./dist/plugin.js",
|
|
37
|
+
"default": "./dist/plugin.js"
|
|
38
|
+
},
|
|
39
|
+
"./*.css": "./dist/*.css",
|
|
40
|
+
"./*": {
|
|
41
|
+
"types": "./dist/*.d.ts",
|
|
42
|
+
"eliza-source": {
|
|
43
|
+
"types": "./src/*.ts",
|
|
44
|
+
"import": "./src/*.ts",
|
|
45
|
+
"default": "./src/*.ts"
|
|
37
46
|
},
|
|
38
|
-
"
|
|
47
|
+
"import": "./dist/*.js",
|
|
48
|
+
"default": "./dist/*.js"
|
|
39
49
|
}
|
|
40
50
|
},
|
|
41
|
-
"files": [
|
|
42
|
-
"dist",
|
|
43
|
-
"README.md"
|
|
44
|
-
],
|
|
45
|
-
"sideEffects": false,
|
|
46
51
|
"dependencies": {
|
|
47
|
-
"@elizaos/
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
52
|
+
"@elizaos/agent": "2.0.3-beta.2",
|
|
53
|
+
"@elizaos/app-core": "2.0.3-beta.2",
|
|
54
|
+
"@elizaos/core": "2.0.3-beta.2",
|
|
55
|
+
"@elizaos/shared": "2.0.3-beta.2",
|
|
56
|
+
"@elizaos/ui": "2.0.3-beta.2",
|
|
57
|
+
"drizzle-orm": "0.45.2",
|
|
58
|
+
"lucide-react": "^1.0.0"
|
|
59
|
+
},
|
|
60
|
+
"peerDependencies": {
|
|
61
|
+
"@elizaos/plugin-sql": "2.0.3-beta.2",
|
|
62
|
+
"react": "^19.0.0",
|
|
63
|
+
"react-dom": "^19.0.0"
|
|
55
64
|
},
|
|
56
65
|
"devDependencies": {
|
|
57
|
-
"@biomejs/biome": "^2.
|
|
58
|
-
"@types/
|
|
59
|
-
"@types/
|
|
60
|
-
"
|
|
66
|
+
"@biomejs/biome": "^2.4.14",
|
|
67
|
+
"@types/node": "^25.0.6",
|
|
68
|
+
"@types/react": "^19.0.0",
|
|
69
|
+
"@types/react-dom": "^19.0.0",
|
|
70
|
+
"react": "^19.0.0",
|
|
71
|
+
"react-dom": "^19.0.0",
|
|
72
|
+
"tsup": "^8.5.1",
|
|
73
|
+
"typescript": "^6.0.3",
|
|
74
|
+
"vite": "^8.0.0",
|
|
75
|
+
"vitest": "^4.0.17"
|
|
61
76
|
},
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"test": "vitest run --config vitest.config.ts --passWithNoTests",
|
|
69
|
-
"test:unit": "vitest run --config vitest.config.ts --passWithNoTests",
|
|
70
|
-
"test:integration": "vitest run tests/e2e*.test.ts --config vitest.config.ts --passWithNoTests",
|
|
71
|
-
"test:watch": "vitest",
|
|
72
|
-
"lint": "bunx @biomejs/biome check --write --unsafe .",
|
|
73
|
-
"lint:check": "bunx @biomejs/biome check .",
|
|
74
|
-
"build": "bun run build.ts",
|
|
75
|
-
"build:ts": "bun run build.ts"
|
|
77
|
+
"elizaos": {
|
|
78
|
+
"app": {
|
|
79
|
+
"displayName": "Goals",
|
|
80
|
+
"category": "personal",
|
|
81
|
+
"heroImage": "assets/hero.png"
|
|
82
|
+
}
|
|
76
83
|
},
|
|
77
84
|
"publishConfig": {
|
|
78
85
|
"access": "public"
|
|
79
86
|
},
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"required": false,
|
|
87
|
-
"sensitive": false
|
|
88
|
-
},
|
|
89
|
-
"GOAL_BATCH_SIZE": {
|
|
90
|
-
"type": "number",
|
|
91
|
-
"description": "Batch processing size",
|
|
92
|
-
"required": false,
|
|
93
|
-
"sensitive": false
|
|
94
|
-
},
|
|
95
|
-
"GOAL_MAX_CONCURRENT": {
|
|
96
|
-
"type": "number",
|
|
97
|
-
"description": "Maximum concurrent operations",
|
|
98
|
-
"required": false,
|
|
99
|
-
"sensitive": false
|
|
100
|
-
},
|
|
101
|
-
"GOAL_REMINDER_COOLDOWN": {
|
|
102
|
-
"type": "number",
|
|
103
|
-
"description": "Cooldown period",
|
|
104
|
-
"required": false,
|
|
105
|
-
"sensitive": false
|
|
106
|
-
},
|
|
107
|
-
"GOAL_ENABLE_SMART_REMINDERS": {
|
|
108
|
-
"type": "boolean",
|
|
109
|
-
"description": "Enable smart reminder features",
|
|
110
|
-
"required": false,
|
|
111
|
-
"sensitive": false
|
|
112
|
-
},
|
|
113
|
-
"GOAL_ENABLE_MONITORING": {
|
|
114
|
-
"type": "boolean",
|
|
115
|
-
"description": "Enable monitoring",
|
|
116
|
-
"required": false,
|
|
117
|
-
"sensitive": false
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
"description": "Goals management plugin for tracking and achieving objectives"
|
|
121
|
-
},
|
|
122
|
-
"milady": {
|
|
123
|
-
"platforms": [
|
|
124
|
-
"node"
|
|
125
|
-
],
|
|
126
|
-
"runtime": "node",
|
|
127
|
-
"platformDetails": {
|
|
128
|
-
"node": "Node.js only (platform: node)"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
87
|
+
"types": "./dist/index.d.ts",
|
|
88
|
+
"files": [
|
|
89
|
+
"assets",
|
|
90
|
+
"dist"
|
|
91
|
+
],
|
|
92
|
+
"gitHead": "82fe0f44215954c2417328203f5bd6510985c1fc"
|
|
131
93
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"goals-plugin.d.ts","sourceRoot":"","sources":["../../../__tests__/e2e/goals-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,uBAAuB,EAAE,SAqNrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cancelGoal.d.ts","sourceRoot":"","sources":["../../actions/cancelGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAcZ,MAAM,eAAe,CAAC;AAmEvB,eAAO,MAAM,gBAAgB,EAAE,MAgK9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completeGoal.d.ts","sourceRoot":"","sources":["../../actions/completeGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EASZ,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,kBAAkB,EAAE,MA6NhC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"confirmGoal.d.ts","sourceRoot":"","sources":["../../actions/confirmGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAcZ,MAAM,eAAe,CAAC;AAkFvB,eAAO,MAAM,iBAAiB,EAAE,MAsM/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createGoal.d.ts","sourceRoot":"","sources":["../../actions/createGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAeZ,MAAM,eAAe,CAAC;AAqHvB,eAAO,MAAM,gBAAgB,EAAE,MAuJ9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateGoal.d.ts","sourceRoot":"","sources":["../../actions/updateGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAaZ,MAAM,eAAe,CAAC;AAsHvB,eAAO,MAAM,gBAAgB,EAAE,MAgL9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/dist/apis.d.ts
DELETED
package/dist/apis.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../apis.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,KAAK,EAKX,MAAM,eAAe,CAAC;AAuBvB,eAAO,MAAM,MAAM,EAAE,KAAK,EA8VzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/build.d.ts
DELETED
package/dist/build.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../build.ts"],"names":[],"mappings":""}
|
package/dist/frontend/utils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../frontend/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,OAEzC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-generated prompt templates
|
|
3
|
-
* DO NOT EDIT - Generated from ../../../../prompts/*.txt
|
|
4
|
-
*
|
|
5
|
-
* These prompts use Handlebars-style template syntax:
|
|
6
|
-
* - {{variableName}} for simple substitution
|
|
7
|
-
* - {{#each items}}...{{/each}} for iteration
|
|
8
|
-
* - {{#if condition}}...{{/if}} for conditionals
|
|
9
|
-
*/
|
|
10
|
-
export declare const checkSimilarityTemplate = "# Task: Check Goal Similarity\n\n## New Goal\nName: {{newGoalName}}\nDescription: {{newGoalDescription}}\n\n## Existing Goals\n{{existingGoals}}\n\n## Instructions\nDetermine if the new goal is similar to any existing goals.\nConsider goals similar if they have the same objective, even if worded differently.\n\nReturn an XML object:\n<response>\n <hasSimilar>true or false</hasSimilar>\n <similarGoalName>Name of the similar goal if found</similarGoalName>\n <confidence>0-100 indicating confidence in similarity</confidence>\n</response>\n\n## Example\nNew Goal: \"Get better at public speaking\"\nExisting Goal: \"Improve presentation skills\"\nThese are similar (confidence: 85)";
|
|
11
|
-
export declare const CHECK_SIMILARITY_TEMPLATE = "# Task: Check Goal Similarity\n\n## New Goal\nName: {{newGoalName}}\nDescription: {{newGoalDescription}}\n\n## Existing Goals\n{{existingGoals}}\n\n## Instructions\nDetermine if the new goal is similar to any existing goals.\nConsider goals similar if they have the same objective, even if worded differently.\n\nReturn an XML object:\n<response>\n <hasSimilar>true or false</hasSimilar>\n <similarGoalName>Name of the similar goal if found</similarGoalName>\n <confidence>0-100 indicating confidence in similarity</confidence>\n</response>\n\n## Example\nNew Goal: \"Get better at public speaking\"\nExisting Goal: \"Improve presentation skills\"\nThese are similar (confidence: 85)";
|
|
12
|
-
export declare const extractCancellationTemplate = "# Task: Extract Task Cancellation Information\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Available Tasks\n{{availableTasks}}\n\n## Instructions\nParse the user's message to identify which task they want to cancel or delete.\nMatch against the list of available tasks by name or description.\nIf multiple tasks have similar names, choose the closest match.\n\nReturn an XML object with:\n<response>\n <taskId>ID of the task being cancelled, or 'null' if not found</taskId>\n <taskName>Name of the task being cancelled, or 'null' if not found</taskName>\n <isFound>'true' or 'false' indicating if a matching task was found</isFound>\n</response>\n\n## Example Output Format\n<response>\n <taskId>123e4567-e89b-12d3-a456-426614174000</taskId>\n <taskName>Finish report</taskName>\n <isFound>true</isFound>\n</response>\n\nIf no matching task was found:\n<response>\n <taskId>null</taskId>\n <taskName>null</taskName>\n <isFound>false</isFound>\n</response>";
|
|
13
|
-
export declare const EXTRACT_CANCELLATION_TEMPLATE = "# Task: Extract Task Cancellation Information\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Available Tasks\n{{availableTasks}}\n\n## Instructions\nParse the user's message to identify which task they want to cancel or delete.\nMatch against the list of available tasks by name or description.\nIf multiple tasks have similar names, choose the closest match.\n\nReturn an XML object with:\n<response>\n <taskId>ID of the task being cancelled, or 'null' if not found</taskId>\n <taskName>Name of the task being cancelled, or 'null' if not found</taskName>\n <isFound>'true' or 'false' indicating if a matching task was found</isFound>\n</response>\n\n## Example Output Format\n<response>\n <taskId>123e4567-e89b-12d3-a456-426614174000</taskId>\n <taskName>Finish report</taskName>\n <isFound>true</isFound>\n</response>\n\nIf no matching task was found:\n<response>\n <taskId>null</taskId>\n <taskName>null</taskName>\n <isFound>false</isFound>\n</response>";
|
|
14
|
-
export declare const extractConfirmationTemplate = "# Task: Extract Confirmation Intent\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Pending Task Details\n{{pendingTask}}\n\n## Instructions\nDetermine if the user is confirming, rejecting, or modifying the pending task creation.\nLook for:\n- Affirmative responses (yes, confirm, ok, do it, go ahead, etc.)\n- Negative responses (no, cancel, nevermind, stop, etc.)\n- Modification requests (change X to Y, make it priority 1, etc.)\n\nReturn an XML object with:\n<response>\n <isConfirmation>true/false - whether this is a response to the pending task</isConfirmation>\n <shouldProceed>true/false - whether to create the task</shouldProceed>\n <modifications>Any requested changes to the task, or 'none'</modifications>\n</response>\n\n## Example Output\n<response>\n <isConfirmation>true</isConfirmation>\n <shouldProceed>true</shouldProceed>\n <modifications>none</modifications>\n</response>";
|
|
15
|
-
export declare const EXTRACT_CONFIRMATION_TEMPLATE = "# Task: Extract Confirmation Intent\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Pending Task Details\n{{pendingTask}}\n\n## Instructions\nDetermine if the user is confirming, rejecting, or modifying the pending task creation.\nLook for:\n- Affirmative responses (yes, confirm, ok, do it, go ahead, etc.)\n- Negative responses (no, cancel, nevermind, stop, etc.)\n- Modification requests (change X to Y, make it priority 1, etc.)\n\nReturn an XML object with:\n<response>\n <isConfirmation>true/false - whether this is a response to the pending task</isConfirmation>\n <shouldProceed>true/false - whether to create the task</shouldProceed>\n <modifications>Any requested changes to the task, or 'none'</modifications>\n</response>\n\n## Example Output\n<response>\n <isConfirmation>true</isConfirmation>\n <shouldProceed>true</shouldProceed>\n <modifications>none</modifications>\n</response>";
|
|
16
|
-
export declare const extractGoalSelectionTemplate = "# Task: Extract Goal Selection Information\n\n## User Message\n{{text}}\n\n## Available Goals\n{{availableGoals}}\n\n## Instructions\nParse the user's message to identify which goal they want to update or modify.\nMatch against the list of available goals by name or description.\nIf multiple goals have similar names, choose the closest match.\n\nReturn an XML object with:\n<response>\n <goalId>ID of the goal being updated, or 'null' if not found</goalId>\n <goalName>Name of the goal being updated, or 'null' if not found</goalName>\n <isFound>'true' or 'false' indicating if a matching goal was found</isFound>\n</response>\n\n## Example Output Format\n<response>\n <goalId>123e4567-e89b-12d3-a456-426614174000</goalId>\n <goalName>Learn French fluently</goalName>\n <isFound>true</isFound>\n</response>\n\nIf no matching goal was found:\n<response>\n <goalId>null</goalId>\n <goalName>null</goalName>\n <isFound>false</isFound>\n</response>";
|
|
17
|
-
export declare const EXTRACT_GOAL_SELECTION_TEMPLATE = "# Task: Extract Goal Selection Information\n\n## User Message\n{{text}}\n\n## Available Goals\n{{availableGoals}}\n\n## Instructions\nParse the user's message to identify which goal they want to update or modify.\nMatch against the list of available goals by name or description.\nIf multiple goals have similar names, choose the closest match.\n\nReturn an XML object with:\n<response>\n <goalId>ID of the goal being updated, or 'null' if not found</goalId>\n <goalName>Name of the goal being updated, or 'null' if not found</goalName>\n <isFound>'true' or 'false' indicating if a matching goal was found</isFound>\n</response>\n\n## Example Output Format\n<response>\n <goalId>123e4567-e89b-12d3-a456-426614174000</goalId>\n <goalName>Learn French fluently</goalName>\n <isFound>true</isFound>\n</response>\n\nIf no matching goal was found:\n<response>\n <goalId>null</goalId>\n <goalName>null</goalName>\n <isFound>false</isFound>\n</response>";
|
|
18
|
-
export declare const extractGoalTemplate = "# Task: Extract Goal Information\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Instructions\nParse the user's message to extract information for creating a new goal.\nDetermine if this goal is for the agent itself or for tracking a user's goal.\n\nGoals should be long-term achievable objectives, not short-term tasks.\n\nReturn an XML object with these fields:\n<response>\n <name>A clear, concise name for the goal</name>\n <description>Optional detailed description</description>\n <ownerType>Either \"agent\" (for agent's own goals) or \"entity\" (for user's goals)</ownerType>\n</response>\n\nIf the message doesn't clearly indicate a goal to create, return empty response.\n\n## Example Output Format\n<response>\n <name>Learn Spanish fluently</name>\n <description>Achieve conversational fluency in Spanish within 6 months</description>\n <ownerType>entity</ownerType>\n</response>";
|
|
19
|
-
export declare const EXTRACT_GOAL_TEMPLATE = "# Task: Extract Goal Information\n\n## User Message\n{{text}}\n\n## Message History\n{{messageHistory}}\n\n## Instructions\nParse the user's message to extract information for creating a new goal.\nDetermine if this goal is for the agent itself or for tracking a user's goal.\n\nGoals should be long-term achievable objectives, not short-term tasks.\n\nReturn an XML object with these fields:\n<response>\n <name>A clear, concise name for the goal</name>\n <description>Optional detailed description</description>\n <ownerType>Either \"agent\" (for agent's own goals) or \"entity\" (for user's goals)</ownerType>\n</response>\n\nIf the message doesn't clearly indicate a goal to create, return empty response.\n\n## Example Output Format\n<response>\n <name>Learn Spanish fluently</name>\n <description>Achieve conversational fluency in Spanish within 6 months</description>\n <ownerType>entity</ownerType>\n</response>";
|
|
20
|
-
export declare const extractGoalUpdateTemplate = "# Task: Extract Goal Update Information\n\n## User Message\n{{text}}\n\n## Current Goal Details\n{{goalDetails}}\n\n## Instructions\nParse the user's message to determine what changes they want to make to the goal.\nOnly name and description can be updated.\n\nReturn an XML object with these potential fields (only include fields that should be changed):\n<response>\n <name>New name for the goal</name>\n <description>New description for the goal</description>\n</response>\n\n## Example Output Format\n<response>\n <name>Learn Spanish fluently</name>\n <description>Achieve conversational fluency in Spanish within 12 months</description>\n</response>";
|
|
21
|
-
export declare const EXTRACT_GOAL_UPDATE_TEMPLATE = "# Task: Extract Goal Update Information\n\n## User Message\n{{text}}\n\n## Current Goal Details\n{{goalDetails}}\n\n## Instructions\nParse the user's message to determine what changes they want to make to the goal.\nOnly name and description can be updated.\n\nReturn an XML object with these potential fields (only include fields that should be changed):\n<response>\n <name>New name for the goal</name>\n <description>New description for the goal</description>\n</response>\n\n## Example Output Format\n<response>\n <name>Learn Spanish fluently</name>\n <description>Achieve conversational fluency in Spanish within 12 months</description>\n</response>";
|
|
22
|
-
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../generated/prompts/typescript/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,uBAAuB,mrBAuBD,CAAC;AAEpC,eAAO,MAAM,yBAAyB,mrBAA0B,CAAC;AAEjE,eAAO,MAAM,2BAA2B,y+BAmC5B,CAAC;AAEb,eAAO,MAAM,6BAA6B,y+BAA8B,CAAC;AAEzE,eAAO,MAAM,2BAA2B,u6BA8B5B,CAAC;AAEb,eAAO,MAAM,6BAA6B,u6BAA8B,CAAC;AAEzE,eAAO,MAAM,4BAA4B,g8BAgC7B,CAAC;AAEb,eAAO,MAAM,+BAA+B,g8BAA+B,CAAC;AAE5E,eAAO,MAAM,mBAAmB,k6BA4BpB,CAAC;AAEb,eAAO,MAAM,qBAAqB,k6BAAsB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,upBAsB1B,CAAC;AAEb,eAAO,MAAM,4BAA4B,upBAA4B,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helper functions to lookup action/provider/evaluator specs by name.
|
|
3
|
-
* These allow language-specific implementations to import their text content
|
|
4
|
-
* (description, similes, examples) from the centralized specs.
|
|
5
|
-
*
|
|
6
|
-
* DO NOT EDIT the spec data - update prompts/actions.json, prompts/providers.json, prompts/evaluators.json and regenerate.
|
|
7
|
-
*/
|
|
8
|
-
import { type ActionDoc, type EvaluatorDoc, type ProviderDoc } from "./specs";
|
|
9
|
-
/**
|
|
10
|
-
* Get an action spec by name from the core specs.
|
|
11
|
-
* @param name - The action name
|
|
12
|
-
* @returns The action spec or undefined if not found
|
|
13
|
-
*/
|
|
14
|
-
export declare function getActionSpec(name: string): ActionDoc | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* Get an action spec by name, throwing if not found.
|
|
17
|
-
* @param name - The action name
|
|
18
|
-
* @returns The action spec
|
|
19
|
-
* @throws Error if the action is not found
|
|
20
|
-
*/
|
|
21
|
-
export declare function requireActionSpec(name: string): ActionDoc;
|
|
22
|
-
/**
|
|
23
|
-
* Get a provider spec by name from the core specs.
|
|
24
|
-
* @param name - The provider name
|
|
25
|
-
* @returns The provider spec or undefined if not found
|
|
26
|
-
*/
|
|
27
|
-
export declare function getProviderSpec(name: string): ProviderDoc | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* Get a provider spec by name, throwing if not found.
|
|
30
|
-
* @param name - The provider name
|
|
31
|
-
* @returns The provider spec
|
|
32
|
-
* @throws Error if the provider is not found
|
|
33
|
-
*/
|
|
34
|
-
export declare function requireProviderSpec(name: string): ProviderDoc;
|
|
35
|
-
/**
|
|
36
|
-
* Get an evaluator spec by name from the core specs.
|
|
37
|
-
* @param name - The evaluator name
|
|
38
|
-
* @returns The evaluator spec or undefined if not found
|
|
39
|
-
*/
|
|
40
|
-
export declare function getEvaluatorSpec(name: string): EvaluatorDoc | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Get an evaluator spec by name, throwing if not found.
|
|
43
|
-
* @param name - The evaluator name
|
|
44
|
-
* @returns The evaluator spec
|
|
45
|
-
* @throws Error if the evaluator is not found
|
|
46
|
-
*/
|
|
47
|
-
export declare function requireEvaluatorSpec(name: string): EvaluatorDoc;
|
|
48
|
-
export type { ActionDoc, ProviderDoc, EvaluatorDoc };
|
|
49
|
-
//# sourceMappingURL=spec-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec-helpers.d.ts","sourceRoot":"","sources":["../../../generated/specs/spec-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,SAAS,EAOd,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAgBjB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAM/D;AAGD,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC"}
|