@dxos/assistant-toolkit 0.10.0 → 0.11.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.
- package/dist/lib/chunk-Chat.mjs +144 -0
- package/dist/lib/chunk-Chat.mjs.map +1 -0
- package/dist/lib/chunk-Memory.mjs +19 -0
- package/dist/lib/chunk-Memory.mjs.map +1 -0
- package/dist/lib/{neutral/agent-rules-KWCBKJ5W.mjs → chunk-agent-rules.mjs} +8 -15
- package/dist/lib/chunk-agent-rules.mjs.map +1 -0
- package/dist/lib/chunk-agent.mjs +45 -0
- package/dist/lib/chunk-agent.mjs.map +1 -0
- package/dist/lib/chunk-artifact-add.mjs +31 -0
- package/dist/lib/chunk-artifact-add.mjs.map +1 -0
- package/dist/lib/chunk-artifact-list.mjs +23 -0
- package/dist/lib/chunk-artifact-list.mjs.map +1 -0
- package/dist/lib/chunk-context-add.mjs +16 -0
- package/dist/lib/chunk-context-add.mjs.map +1 -0
- package/dist/lib/chunk-context-remove.mjs +16 -0
- package/dist/lib/chunk-context-remove.mjs.map +1 -0
- package/dist/lib/chunk-create-agent.mjs +23 -0
- package/dist/lib/chunk-create-agent.mjs.map +1 -0
- package/dist/lib/chunk-definitions.mjs +52 -0
- package/dist/lib/chunk-definitions.mjs.map +1 -0
- package/dist/lib/chunk-definitions2.mjs +56 -0
- package/dist/lib/chunk-definitions2.mjs.map +1 -0
- package/dist/lib/chunk-definitions3.mjs +24 -0
- package/dist/lib/chunk-definitions3.mjs.map +1 -0
- package/dist/lib/chunk-delete.mjs +14 -0
- package/dist/lib/chunk-delete.mjs.map +1 -0
- package/dist/lib/chunk-enable-skills.mjs +39 -0
- package/dist/lib/chunk-enable-skills.mjs.map +1 -0
- package/dist/lib/chunk-fetch-messages.mjs +113 -0
- package/dist/lib/chunk-fetch-messages.mjs.map +1 -0
- package/dist/lib/chunk-fetch.mjs +20 -0
- package/dist/lib/chunk-fetch.mjs.map +1 -0
- package/dist/lib/chunk-get-context.mjs +55 -0
- package/dist/lib/chunk-get-context.mjs.map +1 -0
- package/dist/lib/chunk-get-current-date.mjs +17 -0
- package/dist/lib/chunk-get-current-date.mjs.map +1 -0
- package/dist/lib/chunk-load.mjs +13 -0
- package/dist/lib/chunk-load.mjs.map +1 -0
- package/dist/lib/chunk-object-create.mjs +42 -0
- package/dist/lib/chunk-object-create.mjs.map +1 -0
- package/dist/lib/chunk-object-delete.mjs +14 -0
- package/dist/lib/chunk-object-delete.mjs.map +1 -0
- package/dist/lib/chunk-object-update.mjs +19 -0
- package/dist/lib/chunk-object-update.mjs.map +1 -0
- package/dist/lib/chunk-operations.mjs +714 -0
- package/dist/lib/chunk-operations.mjs.map +1 -0
- package/dist/lib/chunk-plan-reminder.mjs +80 -0
- package/dist/lib/chunk-plan-reminder.mjs.map +1 -0
- package/dist/lib/chunk-query-skills.mjs +12 -0
- package/dist/lib/chunk-query-skills.mjs.map +1 -0
- package/dist/lib/chunk-query.mjs +36 -0
- package/dist/lib/chunk-query.mjs.map +1 -0
- package/dist/lib/chunk-query2.mjs +18 -0
- package/dist/lib/chunk-query2.mjs.map +1 -0
- package/dist/lib/chunk-relation-create.mjs +41 -0
- package/dist/lib/chunk-relation-create.mjs.map +1 -0
- package/dist/lib/chunk-relation-delete.mjs +14 -0
- package/dist/lib/chunk-relation-delete.mjs.map +1 -0
- package/dist/lib/chunk-relay.mjs +76 -0
- package/dist/lib/chunk-relay.mjs.map +1 -0
- package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
- package/dist/lib/chunk-run-instructions.mjs +145 -0
- package/dist/lib/chunk-run-instructions.mjs.map +1 -0
- package/dist/lib/chunk-save.mjs +17 -0
- package/dist/lib/chunk-save.mjs.map +1 -0
- package/dist/lib/chunk-schema-add.mjs +19 -0
- package/dist/lib/chunk-schema-add.mjs.map +1 -0
- package/dist/lib/chunk-schema-list.mjs +29 -0
- package/dist/lib/chunk-schema-list.mjs.map +1 -0
- package/dist/lib/chunk-set-alarm.mjs +55 -0
- package/dist/lib/chunk-set-alarm.mjs.map +1 -0
- package/dist/lib/chunk-sync-automation.mjs +130 -0
- package/dist/lib/chunk-sync-automation.mjs.map +1 -0
- package/dist/lib/chunk-sync-issues.mjs +127 -0
- package/dist/lib/chunk-sync-issues.mjs.map +1 -0
- package/dist/lib/chunk-sync.mjs +91 -0
- package/dist/lib/chunk-sync.mjs.map +1 -0
- package/dist/lib/chunk-tag-add.mjs +14 -0
- package/dist/lib/chunk-tag-add.mjs.map +1 -0
- package/dist/lib/chunk-tag-remove.mjs +14 -0
- package/dist/lib/chunk-tag-remove.mjs.map +1 -0
- package/dist/lib/chunk-types.mjs +198 -0
- package/dist/lib/chunk-types.mjs.map +1 -0
- package/dist/lib/chunk-update-tasks.mjs +34 -0
- package/dist/lib/chunk-update-tasks.mjs.map +1 -0
- package/dist/lib/index.mjs +614 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/testing.mjs +102 -0
- package/dist/lib/testing.mjs.map +1 -0
- package/dist/types/src/skills/agent/operations/definitions.d.ts +16 -46
- package/dist/types/src/skills/agent/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/skills/agent/operations/get-context.test.d.ts +2 -0
- package/dist/types/src/skills/agent/operations/get-context.test.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/index.d.ts.map +1 -1
- package/dist/types/src/skills/agent/operations/relay.d.ts +11 -0
- package/dist/types/src/skills/agent/operations/relay.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/relay.test.d.ts +2 -0
- package/dist/types/src/skills/agent/operations/relay.test.d.ts.map +1 -0
- package/dist/types/src/skills/agent/skill.d.ts.map +1 -1
- package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts +4 -1
- package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/skills/agent-wizard/operations/sync-automation.d.ts +26 -0
- package/dist/types/src/skills/agent-wizard/operations/sync-automation.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/sync-automation.test.d.ts +2 -0
- package/dist/types/src/skills/agent-wizard/operations/sync-automation.test.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/skill.d.ts.map +1 -1
- package/dist/types/src/skills/database/operations/context-add.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/context-add.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/context-remove.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/context-remove.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/definitions.d.ts +7 -2
- package/dist/types/src/skills/database/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/skills/database/operations/load.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/load.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-create.d.ts +4 -1
- package/dist/types/src/skills/database/operations/object-create.d.ts.map +1 -1
- package/dist/types/src/skills/database/operations/object-create.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/object-create.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-delete.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/object-delete.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-update.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/object-update.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/query.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/query.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/relation-create.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/relation-create.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/schema-add.d.ts +3 -1
- package/dist/types/src/skills/database/operations/schema-add.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/schema-add.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/schema-list.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/schema-list.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/tag-add.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/tag-add.test.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/tag-remove.test.d.ts +2 -0
- package/dist/types/src/skills/database/operations/tag-remove.test.d.ts.map +1 -0
- package/dist/types/src/skills/delegation/operations/delegate-task.d.ts +6 -5
- package/dist/types/src/skills/delegation/operations/delegate-task.d.ts.map +1 -1
- package/dist/types/src/skills/index.d.ts +1 -0
- package/dist/types/src/skills/index.d.ts.map +1 -1
- package/dist/types/src/skills/linear/operations/sync-issues.d.ts.map +1 -1
- package/dist/types/src/skills/memory/operations/delete.test.d.ts +2 -0
- package/dist/types/src/skills/memory/operations/delete.test.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/query.test.d.ts +2 -0
- package/dist/types/src/skills/memory/operations/query.test.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/save.test.d.ts +2 -0
- package/dist/types/src/skills/memory/operations/save.test.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/definitions.d.ts +1 -3
- package/dist/types/src/skills/planning/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/skills/planning/operations/plan-reminder.d.ts +7 -6
- package/dist/types/src/skills/planning/operations/plan-reminder.d.ts.map +1 -1
- package/dist/types/src/skills/planning/operations/plan-reminder.test.d.ts +2 -0
- package/dist/types/src/skills/planning/operations/plan-reminder.test.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/update-tasks.d.ts +3 -1
- package/dist/types/src/skills/planning/operations/update-tasks.d.ts.map +1 -1
- package/dist/types/src/skills/project/index.d.ts +3 -0
- package/dist/types/src/skills/project/index.d.ts.map +1 -0
- package/dist/types/src/skills/project/operations/artifact-add.d.ts +5 -0
- package/dist/types/src/skills/project/operations/artifact-add.d.ts.map +1 -0
- package/dist/types/src/skills/project/operations/artifact-list.d.ts +5 -0
- package/dist/types/src/skills/project/operations/artifact-list.d.ts.map +1 -0
- package/dist/types/src/skills/project/operations/definitions.d.ts +23 -0
- package/dist/types/src/skills/project/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/project/operations/index.d.ts +4 -0
- package/dist/types/src/skills/project/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/project/skill.d.ts +4 -0
- package/dist/types/src/skills/project/skill.d.ts.map +1 -0
- package/dist/types/src/skills/project/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/skill.d.ts.map +1 -1
- package/dist/types/src/supervisor/delegation-strategy.d.ts +5 -5
- package/dist/types/src/supervisor/delegation-strategy.d.ts.map +1 -1
- package/dist/types/src/supervisor/delegation-strategy.test.d.ts +2 -0
- package/dist/types/src/supervisor/delegation-strategy.test.d.ts.map +1 -0
- package/dist/types/src/sync/sync.test.d.ts +2 -0
- package/dist/types/src/sync/sync.test.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/operations.d.ts +7 -0
- package/dist/types/src/testing/operations.d.ts.map +1 -0
- package/dist/types/src/types/Agent.d.ts +28 -31
- package/dist/types/src/types/Agent.d.ts.map +1 -1
- package/dist/types/src/types/Chat.d.ts +28 -14
- package/dist/types/src/types/Chat.d.ts.map +1 -1
- package/dist/types/src/types/Chat.test.d.ts +2 -0
- package/dist/types/src/types/Chat.test.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +30 -29
- package/src/operations/run-instructions.test.ts +26 -34
- package/src/operations/skill-resolution.test.ts +6 -1
- package/src/skills/agent/operations/definitions.ts +18 -62
- package/src/skills/agent/operations/get-context.test.ts +81 -0
- package/src/skills/agent/operations/get-context.ts +9 -36
- package/src/skills/agent/operations/index.ts +1 -3
- package/src/skills/agent/operations/relay.test.ts +63 -0
- package/src/skills/agent/operations/relay.ts +124 -0
- package/src/skills/agent/skill.ts +3 -15
- package/src/skills/agent-wizard/operations/create-agent.ts +3 -3
- package/src/skills/agent-wizard/operations/definitions.ts +19 -4
- package/src/skills/agent-wizard/operations/index.ts +1 -1
- package/src/skills/agent-wizard/operations/sync-automation.test.ts +103 -0
- package/src/skills/agent-wizard/operations/sync-automation.ts +205 -0
- package/src/skills/agent-wizard/skill.ts +9 -10
- package/src/skills/alarm/skill.test.ts +2 -2
- package/src/skills/browser/skill.test.ts +4 -4
- package/src/skills/database/operations/context-add.test.ts +46 -0
- package/src/skills/database/operations/context-remove.test.ts +46 -0
- package/src/skills/database/operations/definitions.ts +23 -7
- package/src/skills/database/operations/load.test.ts +38 -0
- package/src/skills/database/operations/object-create.test.ts +116 -0
- package/src/skills/database/operations/object-create.ts +13 -2
- package/src/skills/database/operations/object-delete.test.ts +37 -0
- package/src/skills/database/operations/object-update.test.ts +39 -0
- package/src/skills/database/operations/query.test.ts +128 -0
- package/src/skills/database/operations/relation-create.test.ts +46 -0
- package/src/skills/database/operations/schema-add.test.ts +79 -0
- package/src/skills/database/operations/schema-list.test.ts +42 -0
- package/src/skills/database/operations/tag-add.test.ts +41 -0
- package/src/skills/database/operations/tag-remove.test.ts +43 -0
- package/src/skills/delegation/operations/delegate-task.test.ts +51 -36
- package/src/skills/delegation/operations/delegate-task.ts +31 -48
- package/src/skills/discord/operations/fetch-messages.test.ts +2 -2
- package/src/skills/github/operations/fetch-prs.ts +1 -1
- package/src/skills/index.ts +1 -0
- package/src/skills/linear/operations/linear.test.ts +1 -1
- package/src/skills/linear/operations/sync-issues.ts +6 -23
- package/src/skills/memory/operations/delete.test.ts +37 -0
- package/src/skills/memory/operations/query.test.ts +76 -0
- package/src/skills/memory/operations/save.test.ts +43 -0
- package/src/skills/planning/operations/definitions.ts +9 -6
- package/src/skills/planning/operations/plan-reminder.test.ts +123 -0
- package/src/skills/planning/operations/plan-reminder.ts +49 -31
- package/src/skills/planning/operations/update-tasks.md +23 -22
- package/src/skills/planning/operations/update-tasks.test.ts +31 -17
- package/src/skills/planning/operations/update-tasks.ts +17 -25
- package/src/skills/project/index.ts +6 -0
- package/src/skills/project/operations/artifact-add.ts +47 -0
- package/src/skills/project/operations/artifact-list.ts +41 -0
- package/src/skills/project/operations/definitions.ts +63 -0
- package/src/skills/project/operations/index.ts +12 -0
- package/src/skills/project/skill.test.ts +78 -0
- package/src/skills/project/skill.ts +42 -0
- package/src/skills/skill-manager/operations/definitions.ts +1 -1
- package/src/skills/skill-manager/skill.test.ts +1 -1
- package/src/skills/skill-manager/skill.ts +7 -5
- package/src/skills/websearch/skill.test.ts +2 -2
- package/src/supervisor/delegation-strategy.test.ts +129 -0
- package/src/supervisor/delegation-strategy.ts +92 -56
- package/src/sync/sync.test.ts +95 -0
- package/src/sync/sync.ts +5 -3
- package/src/testing/index.ts +1 -0
- package/src/testing/operations.ts +65 -0
- package/src/types/Agent.test.ts +36 -66
- package/src/types/Agent.ts +108 -137
- package/src/types/Chat.test.ts +234 -0
- package/src/types/Chat.ts +80 -26
- package/src/types/index.ts +1 -2
- package/dist/lib/neutral/add-artifact-5JNUYLCA.mjs +0 -24
- package/dist/lib/neutral/add-artifact-5JNUYLCA.mjs.map +0 -7
- package/dist/lib/neutral/agent-BFAYIBJI.mjs +0 -65
- package/dist/lib/neutral/agent-BFAYIBJI.mjs.map +0 -7
- package/dist/lib/neutral/agent-rules-KWCBKJ5W.mjs.map +0 -7
- package/dist/lib/neutral/chunk-3KA66YBF.mjs +0 -62
- package/dist/lib/neutral/chunk-3KA66YBF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6SGNFL6I.mjs +0 -85
- package/dist/lib/neutral/chunk-6SGNFL6I.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BDTGFPM7.mjs +0 -113
- package/dist/lib/neutral/chunk-BDTGFPM7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EPQCDGIV.mjs +0 -27
- package/dist/lib/neutral/chunk-EPQCDGIV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-H4W22FFJ.mjs +0 -232
- package/dist/lib/neutral/chunk-H4W22FFJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JBTXZQ5G.mjs +0 -60
- package/dist/lib/neutral/chunk-JBTXZQ5G.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JKOOA5OS.mjs +0 -97
- package/dist/lib/neutral/chunk-JKOOA5OS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JTEBE7KA.mjs +0 -66
- package/dist/lib/neutral/chunk-JTEBE7KA.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KLFXJ2Z3.mjs +0 -36
- package/dist/lib/neutral/chunk-KLFXJ2Z3.mjs.map +0 -7
- package/dist/lib/neutral/chunk-LBA5UOLF.mjs +0 -87
- package/dist/lib/neutral/chunk-LBA5UOLF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-LL3MOQUZ.mjs +0 -120
- package/dist/lib/neutral/chunk-LL3MOQUZ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MFVIGJBW.mjs +0 -68
- package/dist/lib/neutral/chunk-MFVIGJBW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-PBARVBNJ.mjs +0 -86
- package/dist/lib/neutral/chunk-PBARVBNJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VJ5QBYM5.mjs +0 -61
- package/dist/lib/neutral/chunk-VJ5QBYM5.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YQSQRSXG.mjs +0 -367
- package/dist/lib/neutral/chunk-YQSQRSXG.mjs.map +0 -7
- package/dist/lib/neutral/chunk-Z2HFOZXK.mjs +0 -191
- package/dist/lib/neutral/chunk-Z2HFOZXK.mjs.map +0 -7
- package/dist/lib/neutral/context-add-DZTPB3FK.mjs +0 -22
- package/dist/lib/neutral/context-add-DZTPB3FK.mjs.map +0 -7
- package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs +0 -22
- package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs.map +0 -7
- package/dist/lib/neutral/create-agent-5WTOFIEK.mjs +0 -35
- package/dist/lib/neutral/create-agent-5WTOFIEK.mjs.map +0 -7
- package/dist/lib/neutral/definitions-VRR5OGXI.mjs +0 -17
- package/dist/lib/neutral/definitions-VRR5OGXI.mjs.map +0 -7
- package/dist/lib/neutral/delegate-task-UX64NK4M.mjs +0 -13
- package/dist/lib/neutral/delegate-task-UX64NK4M.mjs.map +0 -7
- package/dist/lib/neutral/delete-IU7HPU3K.mjs +0 -19
- package/dist/lib/neutral/delete-IU7HPU3K.mjs.map +0 -7
- package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs +0 -47
- package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs.map +0 -7
- package/dist/lib/neutral/fetch-5LY25EBR.mjs +0 -24
- package/dist/lib/neutral/fetch-5LY25EBR.mjs.map +0 -7
- package/dist/lib/neutral/fetch-messages-CQMDI36G.mjs +0 -139
- package/dist/lib/neutral/fetch-messages-CQMDI36G.mjs.map +0 -7
- package/dist/lib/neutral/get-context-Q4YY6DRV.mjs +0 -77
- package/dist/lib/neutral/get-context-Q4YY6DRV.mjs.map +0 -7
- package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs +0 -17
- package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -875
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/load-S6HC5TGX.mjs +0 -17
- package/dist/lib/neutral/load-S6HC5TGX.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/object-create-PVDQ62CG.mjs +0 -32
- package/dist/lib/neutral/object-create-PVDQ62CG.mjs.map +0 -7
- package/dist/lib/neutral/object-delete-3CSL6XI6.mjs +0 -18
- package/dist/lib/neutral/object-delete-3CSL6XI6.mjs.map +0 -7
- package/dist/lib/neutral/object-update-NIGMZINM.mjs +0 -28
- package/dist/lib/neutral/object-update-NIGMZINM.mjs.map +0 -7
- package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs +0 -88
- package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs.map +0 -7
- package/dist/lib/neutral/qualifier-5CIRZYX5.mjs +0 -91
- package/dist/lib/neutral/qualifier-5CIRZYX5.mjs.map +0 -7
- package/dist/lib/neutral/query-K4R7UHLU.mjs +0 -32
- package/dist/lib/neutral/query-K4R7UHLU.mjs.map +0 -7
- package/dist/lib/neutral/query-NCTCRYTD.mjs +0 -59
- package/dist/lib/neutral/query-NCTCRYTD.mjs.map +0 -7
- package/dist/lib/neutral/query-skills-7GQFSU4V.mjs +0 -17
- package/dist/lib/neutral/query-skills-7GQFSU4V.mjs.map +0 -7
- package/dist/lib/neutral/relation-create-QKXHTL7G.mjs +0 -34
- package/dist/lib/neutral/relation-create-QKXHTL7G.mjs.map +0 -7
- package/dist/lib/neutral/relation-delete-PDIWT2JX.mjs +0 -18
- package/dist/lib/neutral/relation-delete-PDIWT2JX.mjs.map +0 -7
- package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs +0 -165
- package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs.map +0 -7
- package/dist/lib/neutral/save-UYVRA4RS.mjs +0 -23
- package/dist/lib/neutral/save-UYVRA4RS.mjs.map +0 -7
- package/dist/lib/neutral/schema-add-5NOK2RWE.mjs +0 -25
- package/dist/lib/neutral/schema-add-5NOK2RWE.mjs.map +0 -7
- package/dist/lib/neutral/schema-list-BZUR5KMX.mjs +0 -37
- package/dist/lib/neutral/schema-list-BZUR5KMX.mjs.map +0 -7
- package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs +0 -65
- package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs.map +0 -7
- package/dist/lib/neutral/sync-issues-O76MCMD3.mjs +0 -166
- package/dist/lib/neutral/sync-issues-O76MCMD3.mjs.map +0 -7
- package/dist/lib/neutral/sync-triggers-YBTLPCUB.mjs +0 -138
- package/dist/lib/neutral/sync-triggers-YBTLPCUB.mjs.map +0 -7
- package/dist/lib/neutral/tag-add-L5WNOBYY.mjs +0 -18
- package/dist/lib/neutral/tag-add-L5WNOBYY.mjs.map +0 -7
- package/dist/lib/neutral/tag-remove-WV5RPE5W.mjs +0 -18
- package/dist/lib/neutral/tag-remove-WV5RPE5W.mjs.map +0 -7
- package/dist/lib/neutral/testing/index.mjs +0 -65
- package/dist/lib/neutral/testing/index.mjs.map +0 -7
- package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs +0 -46
- package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs.map +0 -7
- package/dist/types/src/skills/agent/operations/add-artifact.d.ts +0 -4
- package/dist/types/src/skills/agent/operations/add-artifact.d.ts.map +0 -1
- package/dist/types/src/skills/agent/operations/agent.d.ts +0 -4
- package/dist/types/src/skills/agent/operations/agent.d.ts.map +0 -1
- package/dist/types/src/skills/agent/operations/qualifier.d.ts +0 -5
- package/dist/types/src/skills/agent/operations/qualifier.d.ts.map +0 -1
- package/dist/types/src/skills/agent/skill.test.d.ts.map +0 -1
- package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts +0 -8
- package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts.map +0 -1
- package/dist/types/src/skills/database/skill.test.d.ts +0 -2
- package/dist/types/src/skills/database/skill.test.d.ts.map +0 -1
- package/dist/types/src/skills/memory/skill.test.d.ts +0 -2
- package/dist/types/src/skills/memory/skill.test.d.ts.map +0 -1
- package/dist/types/src/skills/planning/skill.test.d.ts +0 -2
- package/dist/types/src/skills/planning/skill.test.d.ts.map +0 -1
- package/dist/types/src/types/Plan.d.ts +0 -80
- package/dist/types/src/types/Plan.d.ts.map +0 -1
- package/src/operations/run-instructions.conversations.json +0 -1
- package/src/skills/agent/operations/add-artifact.ts +0 -20
- package/src/skills/agent/operations/agent.ts +0 -69
- package/src/skills/agent/operations/qualifier.ts +0 -97
- package/src/skills/agent/skill.conversations.json +0 -1
- package/src/skills/agent/skill.test.ts +0 -728
- package/src/skills/agent-wizard/operations/sync-triggers.ts +0 -169
- package/src/skills/database/skill.conversations.json +0 -1
- package/src/skills/database/skill.test.ts +0 -531
- package/src/skills/memory/skill.conversations.json +0 -1
- package/src/skills/memory/skill.test.ts +0 -138
- package/src/skills/planning/skill.conversations.json +0 -1
- package/src/skills/planning/skill.test.ts +0 -123
- package/src/types/Plan.ts +0 -123
- /package/dist/types/src/skills/{agent → project}/skill.test.d.ts +0 -0
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ContextRemove
|
|
3
|
-
} from "./chunk-YQSQRSXG.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/skills/database/operations/context-remove.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Harness } from "@dxos/assistant";
|
|
9
|
-
import { Operation } from "@dxos/compute";
|
|
10
|
-
var context_remove_default = ContextRemove.pipe(Operation.withHandler(Effect.fn(function* ({ obj }) {
|
|
11
|
-
const sessionBinder = yield* Harness.binder;
|
|
12
|
-
yield* Effect.promise(() => sessionBinder.unbind({
|
|
13
|
-
skills: [],
|
|
14
|
-
objects: [
|
|
15
|
-
obj
|
|
16
|
-
]
|
|
17
|
-
}));
|
|
18
|
-
})));
|
|
19
|
-
export {
|
|
20
|
-
context_remove_default as default
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=context-remove-XSBOM4VJ.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/database/operations/context-remove.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\n\nimport { ContextRemove } from './definitions';\n\nexport default ContextRemove.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj }) {\n const sessionBinder = yield* Harness.binder;\n yield* Effect.promise(() =>\n sessionBinder.unbind({\n skills: [],\n objects: [obj],\n }),\n );\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAI1B,IAAA,yBAAeC,cAAcC,KAC3BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAG,GAAE;AAC1B,QAAMC,gBAAgB,OAAOC,QAAQC;AACrC,SAAcC,eAAQ,MACpBH,cAAcI,OAAO;IACnBC,QAAQ,CAAA;IACRC,SAAS;MAACP;;EACZ,CAAA,CAAA;AAEJ,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Harness", "Operation", "ContextRemove", "pipe", "Operation", "withHandler", "fn", "obj", "sessionBinder", "Harness", "binder", "promise", "unbind", "skills", "objects"]
|
|
7
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
skill_default
|
|
3
|
-
} from "./chunk-MFVIGJBW.mjs";
|
|
4
|
-
import {
|
|
5
|
-
CreateAgent,
|
|
6
|
-
SyncTriggers
|
|
7
|
-
} from "./chunk-PBARVBNJ.mjs";
|
|
8
|
-
import "./chunk-BDTGFPM7.mjs";
|
|
9
|
-
import {
|
|
10
|
-
Agent_exports
|
|
11
|
-
} from "./chunk-H4W22FFJ.mjs";
|
|
12
|
-
import "./chunk-Z2HFOZXK.mjs";
|
|
13
|
-
import "./chunk-EPQCDGIV.mjs";
|
|
14
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
15
|
-
|
|
16
|
-
// src/skills/agent-wizard/operations/create-agent.ts
|
|
17
|
-
import * as Effect from "effect/Effect";
|
|
18
|
-
import { Operation, Skill } from "@dxos/compute";
|
|
19
|
-
import { Obj, Ref } from "@dxos/echo";
|
|
20
|
-
var create_agent_default = CreateAgent.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ name, instructions, skills, subscriptions }) {
|
|
21
|
-
const agent = yield* Agent_exports.makeInitialized({
|
|
22
|
-
name,
|
|
23
|
-
instructions,
|
|
24
|
-
skills: yield* Effect.forEach(skills, (key) => Skill.upsert(key).pipe(Effect.map(Ref.make), Effect.orDie)),
|
|
25
|
-
subscriptions
|
|
26
|
-
}, Obj.clone(skill_default.make()));
|
|
27
|
-
yield* Operation.invoke(SyncTriggers, {
|
|
28
|
-
agent: Ref.make(agent)
|
|
29
|
-
});
|
|
30
|
-
return agent;
|
|
31
|
-
})));
|
|
32
|
-
export {
|
|
33
|
-
create_agent_default as default
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=create-agent-5WTOFIEK.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/agent-wizard/operations/create-agent.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation, Skill } from '@dxos/compute';\nimport { Obj, Ref } from '@dxos/echo';\n\nimport { Agent } from '../../../types';\nimport { AgentSkill } from '../../agent';\nimport { CreateAgent, SyncTriggers } from './definitions';\n\nexport default CreateAgent.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ name, instructions, skills, subscriptions }) {\n const agent = yield* Agent.makeInitialized(\n {\n name,\n instructions,\n skills: yield* Effect.forEach(skills, (key) => Skill.upsert(key).pipe(Effect.map(Ref.make), Effect.orDie)),\n subscriptions,\n },\n Obj.clone(AgentSkill.make()),\n );\n yield* Operation.invoke(SyncTriggers, { agent: Ref.make(agent) });\n return agent;\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,aAAa;AACjC,SAASC,KAAKC,WAAW;AAMzB,IAAA,uBAAeC,YAAYC,KACzBC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAMC,cAAcC,QAAQC,cAAa,GAAE;AACxE,QAAMC,QAAQ,OAAOC,cAAMC,gBACzB;IACEN;IACAC;IACAC,QAAQ,OAAcK,eAAQL,QAAQ,CAACM,QAAQC,MAAMC,OAAOF,GAAAA,EAAKZ,KAAYe,WAAIC,IAAIC,IAAI,GAAUC,YAAK,CAAA;IACxGX;EACF,GACAY,IAAIC,MAAMC,cAAWJ,KAAI,CAAA,CAAA;AAE3B,SAAOhB,UAAUqB,OAAOC,cAAc;IAAEf,OAAOQ,IAAIC,KAAKT,KAAAA;EAAO,CAAA;AAC/D,SAAOA;AACT,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Operation", "Skill", "Obj", "Ref", "CreateAgent", "pipe", "Operation", "withHandler", "fnUntraced", "name", "instructions", "skills", "subscriptions", "agent", "Agent", "makeInitialized", "forEach", "key", "Skill", "upsert", "map", "Ref", "make", "orDie", "Obj", "clone", "AgentSkill", "invoke", "SyncTriggers"]
|
|
7
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AddArtifact,
|
|
3
|
-
AgentWorker,
|
|
4
|
-
GetContext,
|
|
5
|
-
Qualifier
|
|
6
|
-
} from "./chunk-BDTGFPM7.mjs";
|
|
7
|
-
import "./chunk-H4W22FFJ.mjs";
|
|
8
|
-
import "./chunk-Z2HFOZXK.mjs";
|
|
9
|
-
import "./chunk-EPQCDGIV.mjs";
|
|
10
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
11
|
-
export {
|
|
12
|
-
AddArtifact,
|
|
13
|
-
AgentWorker,
|
|
14
|
-
GetContext,
|
|
15
|
-
Qualifier
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=definitions-VRR5OGXI.mjs.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DelegateTask,
|
|
3
|
-
delegate_task_default
|
|
4
|
-
} from "./chunk-JKOOA5OS.mjs";
|
|
5
|
-
import "./chunk-H4W22FFJ.mjs";
|
|
6
|
-
import "./chunk-Z2HFOZXK.mjs";
|
|
7
|
-
import "./chunk-EPQCDGIV.mjs";
|
|
8
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
9
|
-
export {
|
|
10
|
-
DelegateTask,
|
|
11
|
-
delegate_task_default as default
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=delegate-task-UX64NK4M.mjs.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DeleteMemory
|
|
3
|
-
} from "./chunk-LBA5UOLF.mjs";
|
|
4
|
-
import "./chunk-EPQCDGIV.mjs";
|
|
5
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
6
|
-
|
|
7
|
-
// src/skills/memory/operations/delete.ts
|
|
8
|
-
import * as Effect from "effect/Effect";
|
|
9
|
-
import { Operation } from "@dxos/compute";
|
|
10
|
-
import { Database } from "@dxos/echo";
|
|
11
|
-
var delete_default = DeleteMemory.pipe(Operation.withHandler(Effect.fn(function* ({ memory }) {
|
|
12
|
-
const memoryObj = yield* Database.load(memory);
|
|
13
|
-
yield* Database.remove(memoryObj);
|
|
14
|
-
yield* Database.flush();
|
|
15
|
-
})));
|
|
16
|
-
export {
|
|
17
|
-
delete_default as default
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=delete-IU7HPU3K.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/memory/operations/delete.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nimport { DeleteMemory } from './definitions';\n\nexport default DeleteMemory.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ memory }) {\n const memoryObj = yield* Database.load(memory);\n yield* Database.remove(memoryObj);\n yield* Database.flush();\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAA,iBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,OAAM,GAAE;AAC7B,QAAMC,YAAY,OAAOC,SAASC,KAAKH,MAAAA;AACvC,SAAOE,SAASE,OAAOH,SAAAA;AACvB,SAAOC,SAASG,MAAK;AACvB,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Operation", "Database", "DeleteMemory", "pipe", "Operation", "withHandler", "fn", "memory", "memoryObj", "Database", "load", "remove", "flush"]
|
|
7
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EnableSkills
|
|
3
|
-
} from "./chunk-JTEBE7KA.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/skills/skill-manager/operations/enable-skills.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import * as Either from "effect/Either";
|
|
9
|
-
import { Harness } from "@dxos/assistant";
|
|
10
|
-
import { Operation, Skill } from "@dxos/compute";
|
|
11
|
-
import { Ref } from "@dxos/echo";
|
|
12
|
-
var enable_skills_default = EnableSkills.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ keys }) {
|
|
13
|
-
const enabled = [];
|
|
14
|
-
const rejected = [];
|
|
15
|
-
for (const key of keys) {
|
|
16
|
-
const result = yield* Skill.resolve(key).pipe(Effect.mapError(() => ({
|
|
17
|
-
key,
|
|
18
|
-
reason: "Skill not found in registry."
|
|
19
|
-
})), Effect.either);
|
|
20
|
-
if (Either.isLeft(result)) {
|
|
21
|
-
rejected.push(result.left);
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
if (!result.right.agentCanEnable) {
|
|
25
|
-
rejected.push({
|
|
26
|
-
key,
|
|
27
|
-
reason: "Skill does not allow agent auto-enable (agentCanEnable is not set)."
|
|
28
|
-
});
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
const dbSkill = yield* Skill.upsert(key).pipe(Effect.orDie);
|
|
32
|
-
enabled.push(dbSkill);
|
|
33
|
-
}
|
|
34
|
-
if (enabled.length > 0) {
|
|
35
|
-
yield* Harness.bindContext({
|
|
36
|
-
skills: enabled.map(Ref.make)
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
enabled,
|
|
41
|
-
rejected
|
|
42
|
-
};
|
|
43
|
-
})));
|
|
44
|
-
export {
|
|
45
|
-
enable_skills_default as default
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=enable-skills-FHEJXQVB.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/skill-manager/operations/enable-skills.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Either from 'effect/Either';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation, Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\n\nimport { EnableSkills } from './definitions';\n\nexport default EnableSkills.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ keys }) {\n const enabled: Skill.Skill[] = [];\n const rejected: { key: string; reason: string }[] = [];\n\n for (const key of keys) {\n const result = yield* Skill.resolve(key).pipe(\n Effect.mapError(() => ({ key, reason: 'Skill not found in registry.' })),\n Effect.either,\n );\n if (Either.isLeft(result)) {\n rejected.push(result.left);\n continue;\n }\n if (!result.right.agentCanEnable) {\n rejected.push({ key, reason: 'Skill does not allow agent auto-enable (agentCanEnable is not set).' });\n continue;\n }\n const dbSkill = yield* Skill.upsert(key).pipe(Effect.orDie);\n enabled.push(dbSkill);\n }\n\n if (enabled.length > 0) {\n yield* Harness.bindContext({\n skills: enabled.map(Ref.make),\n });\n }\n\n return { enabled, rejected };\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,eAAe;AACxB,SAASC,WAAWC,aAAa;AACjC,SAASC,WAAW;AAIpB,IAAA,wBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,KAAI,GAAE;AACnC,QAAMC,UAAyB,CAAA;AAC/B,QAAMC,WAA8C,CAAA;AAEpD,aAAWC,OAAOH,MAAM;AACtB,UAAMI,SAAS,OAAOC,MAAMC,QAAQH,GAAAA,EAAKP,KAChCW,gBAAS,OAAO;MAAEJ;MAAKK,QAAQ;IAA+B,EAAA,GAC9DC,aAAM;AAEf,QAAWC,cAAON,MAAAA,GAAS;AACzBF,eAASS,KAAKP,OAAOQ,IAAI;AACzB;IACF;AACA,QAAI,CAACR,OAAOS,MAAMC,gBAAgB;AAChCZ,eAASS,KAAK;QAAER;QAAKK,QAAQ;MAAsE,CAAA;AACnG;IACF;AACA,UAAMO,UAAU,OAAOV,MAAMW,OAAOb,GAAAA,EAAKP,KAAYqB,YAAK;AAC1DhB,YAAQU,KAAKI,OAAAA;EACf;AAEA,MAAId,QAAQiB,SAAS,GAAG;AACtB,WAAOC,QAAQC,YAAY;MACzBC,QAAQpB,QAAQqB,IAAIC,IAAIC,IAAI;IAC9B,CAAA;EACF;AAEA,SAAO;IAAEvB;IAASC;EAAS;AAC7B,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Either", "Harness", "Operation", "Skill", "Ref", "EnableSkills", "pipe", "Operation", "withHandler", "fnUntraced", "keys", "enabled", "rejected", "key", "result", "Skill", "resolve", "mapError", "reason", "either", "isLeft", "push", "left", "right", "agentCanEnable", "dbSkill", "upsert", "orDie", "length", "Harness", "bindContext", "skills", "map", "Ref", "make"]
|
|
7
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Fetch
|
|
3
|
-
} from "./chunk-KLFXJ2Z3.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/skills/websearch/operations/fetch.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Operation } from "@dxos/compute";
|
|
9
|
-
import { proxyFetchLegacy } from "@dxos/edge-client/cors-proxy";
|
|
10
|
-
var fetch_default = Fetch.pipe(Operation.withHandler(Effect.fn(function* ({ url }) {
|
|
11
|
-
const response = yield* Effect.tryPromise({
|
|
12
|
-
try: () => proxyFetchLegacy(new URL(url)),
|
|
13
|
-
catch: (cause) => new Error(`Fetch failed: ${String(cause)}`)
|
|
14
|
-
});
|
|
15
|
-
if (!response.ok) {
|
|
16
|
-
const body = yield* Effect.promise(() => response.text());
|
|
17
|
-
return yield* Effect.fail(new Error(`Fetch failed with status ${response.status}: ${body.slice(0, 256)}`));
|
|
18
|
-
}
|
|
19
|
-
return yield* Effect.promise(() => response.text());
|
|
20
|
-
})));
|
|
21
|
-
export {
|
|
22
|
-
fetch_default as default
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=fetch-5LY25EBR.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/websearch/operations/fetch.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { proxyFetchLegacy } from '@dxos/edge-client/cors-proxy';\n\nimport { Fetch } from './definitions';\n\nexport default Fetch.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ url }) {\n const response = yield* Effect.tryPromise({\n try: () => proxyFetchLegacy(new URL(url)),\n catch: (cause) => new Error(`Fetch failed: ${String(cause)}`),\n });\n // TODO(dmaretskyi): Use browser rendering API.\n if (!response.ok) {\n const body = yield* Effect.promise(() => response.text());\n return yield* Effect.fail(new Error(`Fetch failed with status ${response.status}: ${body.slice(0, 256)}`));\n }\n return yield* Effect.promise(() => response.text());\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,wBAAwB;AAIjC,IAAA,gBAAeC,MAAMC,KACnBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAG,GAAE;AAC1B,QAAMC,WAAW,OAAcC,kBAAW;IACxCC,KAAK,MAAMC,iBAAiB,IAAIC,IAAIL,GAAAA,CAAAA;IACpCM,OAAO,CAACC,UAAU,IAAIC,MAAM,iBAAiBC,OAAOF,KAAAA,CAAAA,EAAQ;EAC9D,CAAA;AAEA,MAAI,CAACN,SAASS,IAAI;AAChB,UAAMC,OAAO,OAAcC,eAAQ,MAAMX,SAASY,KAAI,CAAA;AACtD,WAAO,OAAcC,YAAK,IAAIN,MAAM,4BAA4BP,SAASc,MAAM,KAAKJ,KAAKK,MAAM,GAAG,GAAA,CAAA,EAAM,CAAA;EAC1G;AACA,SAAO,OAAcJ,eAAQ,MAAMX,SAASY,KAAI,CAAA;AAClD,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Operation", "proxyFetchLegacy", "Fetch", "pipe", "Operation", "withHandler", "fn", "url", "response", "tryPromise", "try", "proxyFetchLegacy", "URL", "catch", "cause", "Error", "String", "ok", "body", "promise", "text", "fail", "status", "slice"]
|
|
7
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FetchMessages,
|
|
3
|
-
TimeRange
|
|
4
|
-
} from "./chunk-6SGNFL6I.mjs";
|
|
5
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
6
|
-
|
|
7
|
-
// src/skills/discord/operations/fetch-messages.ts
|
|
8
|
-
import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
|
|
9
|
-
import { DiscordConfig, DiscordREST, DiscordRESTMemoryLive } from "dfx";
|
|
10
|
-
import * as Array from "effect/Array";
|
|
11
|
-
import * as Effect from "effect/Effect";
|
|
12
|
-
import * as Function from "effect/Function";
|
|
13
|
-
import * as Layer from "effect/Layer";
|
|
14
|
-
import * as Option from "effect/Option";
|
|
15
|
-
import { Credential, Operation, Trace } from "@dxos/compute";
|
|
16
|
-
import { Obj } from "@dxos/echo";
|
|
17
|
-
import { log } from "@dxos/log";
|
|
18
|
-
import { Message } from "@dxos/types";
|
|
19
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/skills/discord/operations/fetch-messages.ts";
|
|
20
|
-
var DiscordConfigFromCredential = Layer.unwrapEffect(Effect.gen(function* () {
|
|
21
|
-
return DiscordConfig.layer({
|
|
22
|
-
token: yield* Credential.CredentialsService.getApiKey({
|
|
23
|
-
service: "discord.com"
|
|
24
|
-
}),
|
|
25
|
-
rest: {
|
|
26
|
-
baseUrl: "https://api-proxy.dxos.workers.dev/discord.com/api/v10"
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}));
|
|
30
|
-
var DEFAULT_AFTER = 1704067200;
|
|
31
|
-
var DEFAULT_LIMIT = 500;
|
|
32
|
-
var DEFAULT_IGNORE_USERNAMES = [
|
|
33
|
-
"GitHub",
|
|
34
|
-
"Needle"
|
|
35
|
-
];
|
|
36
|
-
var fetch_messages_default = FetchMessages.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ serverId, channelId, after, last, pageSize = 100, limit = DEFAULT_LIMIT, ignoreUsernames = DEFAULT_IGNORE_USERNAMES }) {
|
|
37
|
-
if (!after && !last) {
|
|
38
|
-
throw new Error("cannot specify both `after` and `last`");
|
|
39
|
-
}
|
|
40
|
-
const afterTs = last ? Date.now() / 1e3 - TimeRange.toSeconds(last) : after ?? DEFAULT_AFTER;
|
|
41
|
-
const rest = yield* DiscordREST;
|
|
42
|
-
let channels = [];
|
|
43
|
-
channels.push(...yield* rest.listGuildChannels(serverId));
|
|
44
|
-
const { threads: guildThreads } = yield* rest.getActiveGuildThreads(serverId);
|
|
45
|
-
channels.push(...guildThreads);
|
|
46
|
-
if (channelId) {
|
|
47
|
-
channels = channels.filter((channel) => channel.id === channelId);
|
|
48
|
-
}
|
|
49
|
-
if (channels.length === 0) {
|
|
50
|
-
throw new Error("no channels found");
|
|
51
|
-
}
|
|
52
|
-
for (const channel of channels) {
|
|
53
|
-
log.info("channel", {
|
|
54
|
-
id: channel.id,
|
|
55
|
-
name: "name" in channel ? channel.name : void 0
|
|
56
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 49, S: this });
|
|
57
|
-
}
|
|
58
|
-
yield* Trace.emitStatus(`Will fetch from channels: ${channels.length}`);
|
|
59
|
-
const threads = yield* Effect.forEach(channels, Effect.fnUntraced(function* (channel) {
|
|
60
|
-
const allMessages = [];
|
|
61
|
-
let lastMessage = Option.none();
|
|
62
|
-
while (true) {
|
|
63
|
-
const { id: lastId = void 0 } = Function.pipe(lastMessage, Option.map(Obj.getKeys("discord.com")), Option.flatMap(Option.fromIterable), Option.getOrElse(() => ({
|
|
64
|
-
id: void 0
|
|
65
|
-
})));
|
|
66
|
-
const options = {
|
|
67
|
-
after: !lastId ? `${generateSnowflake(afterTs)}` : lastId,
|
|
68
|
-
limit: pageSize
|
|
69
|
-
};
|
|
70
|
-
log.info("fetching messages", {
|
|
71
|
-
lastId,
|
|
72
|
-
afterTs,
|
|
73
|
-
afterSnowflake: options.after,
|
|
74
|
-
after: parseSnowflake(options.after),
|
|
75
|
-
limit: options.limit
|
|
76
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 66, S: this });
|
|
77
|
-
const messages = yield* rest.listMessages(channel.id, options).pipe(Effect.map(Array.map(makeMessage)), Effect.map(Array.reverse), Effect.catchTag("ErrorResponse", (err) => err.cause.code === 50001 ? Effect.succeed([]) : Effect.fail(err)));
|
|
78
|
-
if (messages.length > 0) {
|
|
79
|
-
lastMessage = Option.fromNullable(messages.at(-1));
|
|
80
|
-
allMessages.push(...messages);
|
|
81
|
-
} else {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
yield* Trace.emitStatus(`Fetched messages: ${allMessages.length}`);
|
|
85
|
-
if (allMessages.length >= limit) {
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
discordChannelId: channel.id,
|
|
91
|
-
name: "name" in channel ? channel.name ?? void 0 : void 0,
|
|
92
|
-
messages: allMessages.filter((message) => !message.sender.name || !ignoreUsernames.includes(message.sender.name)).filter((message) => message.blocks.some((block) => block._tag === "text" && block.text.trim().length > 0))
|
|
93
|
-
};
|
|
94
|
-
}), {
|
|
95
|
-
concurrency: 10
|
|
96
|
-
});
|
|
97
|
-
return threads.filter((thread) => thread.messages.length > 0).map(serializeThread).join("\n");
|
|
98
|
-
}, Effect.provide(DiscordRESTMemoryLive.pipe(Layer.provideMerge(DiscordConfigFromCredential)).pipe(Layer.provide(FetchHttpClient.layer))), Effect.orDie)));
|
|
99
|
-
var generateSnowflake = (unixTimestamp) => {
|
|
100
|
-
const discordEpoch = 1420070400000n;
|
|
101
|
-
return BigInt(unixTimestamp * 1e3) - discordEpoch << 22n;
|
|
102
|
-
};
|
|
103
|
-
var parseSnowflake = (snowflake) => {
|
|
104
|
-
const discordEpoch = 1420070400000n;
|
|
105
|
-
return new Date(Number((BigInt(snowflake) >> 22n) + discordEpoch));
|
|
106
|
-
};
|
|
107
|
-
var makeMessage = (message) => Obj.make(Message.Message, {
|
|
108
|
-
[Obj.Meta]: {
|
|
109
|
-
keys: [
|
|
110
|
-
{
|
|
111
|
-
id: message.id,
|
|
112
|
-
source: "discord.com"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
id: message.channel_id,
|
|
116
|
-
source: "discord.com/thread"
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
},
|
|
120
|
-
sender: {
|
|
121
|
-
name: message.author.username
|
|
122
|
-
},
|
|
123
|
-
created: message.timestamp,
|
|
124
|
-
blocks: [
|
|
125
|
-
{
|
|
126
|
-
_tag: "text",
|
|
127
|
-
text: message.content
|
|
128
|
-
}
|
|
129
|
-
]
|
|
130
|
-
});
|
|
131
|
-
var serializeThread = (thread) => {
|
|
132
|
-
return `<thread id=${thread.discordChannelId} name=${thread.name ?? ""}>
|
|
133
|
-
${thread.messages.map((message) => ` ${message.sender.name}: ${message.blocks.filter((block) => block._tag === "text").map((block) => block.text).join(" ")}`).join("\n")}
|
|
134
|
-
</thread>`;
|
|
135
|
-
};
|
|
136
|
-
export {
|
|
137
|
-
fetch_messages_default as default
|
|
138
|
-
};
|
|
139
|
-
//# sourceMappingURL=fetch-messages-CQMDI36G.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/discord/operations/fetch-messages.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport { DiscordConfig, DiscordREST, DiscordRESTMemoryLive } from 'dfx';\nimport type {\n GuildChannelResponse,\n MessageResponse,\n PrivateChannelResponse,\n PrivateGroupChannelResponse,\n ThreadResponse,\n} from 'dfx/types';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\n\nimport { Credential, Operation, Trace } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { Message } from '@dxos/types';\n\nimport { FetchMessages, TimeRange } from './definitions';\n\nconst DiscordConfigFromCredential = Layer.unwrapEffect(\n Effect.gen(function* () {\n return DiscordConfig.layer({\n token: yield* Credential.CredentialsService.getApiKey({ service: 'discord.com' }),\n rest: {\n baseUrl: 'https://api-proxy.dxos.workers.dev/discord.com/api/v10',\n },\n });\n }),\n);\n\ntype DiscordChannel = GuildChannelResponse | PrivateChannelResponse | PrivateGroupChannelResponse | ThreadResponse;\n\nconst DEFAULT_AFTER = 1704067200; // 2024-01-01\nconst DEFAULT_LIMIT = 500;\nconst DEFAULT_IGNORE_USERNAMES = ['GitHub', 'Needle'];\n\n// TODO(dmaretskyi): Align with standard thread type.\ntype Thread = {\n discordChannelId: string;\n name?: string;\n messages: Message.Message[];\n};\n\nexport default FetchMessages.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({\n serverId,\n channelId,\n after,\n last,\n pageSize = 100,\n limit = DEFAULT_LIMIT,\n ignoreUsernames = DEFAULT_IGNORE_USERNAMES,\n }) {\n if (!after && !last) {\n throw new Error('cannot specify both `after` and `last`');\n }\n const afterTs = last ? Date.now() / 1000 - TimeRange.toSeconds(last) : (after ?? DEFAULT_AFTER);\n\n const rest = yield* DiscordREST;\n\n let channels: DiscordChannel[] = [];\n channels.push(...(yield* rest.listGuildChannels(serverId)));\n const { threads: guildThreads } = yield* rest.getActiveGuildThreads(serverId);\n channels.push(...guildThreads);\n if (channelId) {\n channels = channels.filter((channel) => channel.id === channelId);\n }\n if (channels.length === 0) {\n throw new Error('no channels found');\n }\n for (const channel of channels) {\n log.info('channel', { id: channel.id, name: 'name' in channel ? channel.name : undefined });\n }\n\n yield* Trace.emitStatus(`Will fetch from channels: ${channels.length}`);\n\n const threads = yield* Effect.forEach(\n channels,\n Effect.fnUntraced(function* (channel) {\n const allMessages: Message.Message[] = [];\n\n let lastMessage: Option.Option<Message.Message> = Option.none();\n while (true) {\n const { id: lastId = undefined } = Function.pipe(\n lastMessage,\n Option.map(Obj.getKeys('discord.com')),\n Option.flatMap(Option.fromIterable),\n Option.getOrElse(() => ({ id: undefined })),\n );\n\n const options = {\n after: !lastId ? `${generateSnowflake(afterTs)}` : lastId,\n limit: pageSize,\n };\n log.info('fetching messages', {\n lastId,\n afterTs,\n afterSnowflake: options.after,\n after: parseSnowflake(options.after),\n limit: options.limit,\n });\n const messages = yield* rest.listMessages(channel.id, options).pipe(\n Effect.map(Array.map(makeMessage)),\n Effect.map(Array.reverse),\n Effect.catchTag('ErrorResponse', (err) =>\n err.cause.code === 50001 ? Effect.succeed([]) : Effect.fail(err),\n ),\n );\n if (messages.length > 0) {\n lastMessage = Option.fromNullable(messages.at(-1));\n allMessages.push(...messages);\n } else {\n break;\n }\n yield* Trace.emitStatus(`Fetched messages: ${allMessages.length}`);\n if (allMessages.length >= limit) {\n break;\n }\n }\n\n return {\n discordChannelId: channel.id,\n name: 'name' in channel ? (channel.name ?? undefined) : undefined,\n messages: allMessages\n .filter((message) => !message.sender.name || !ignoreUsernames.includes(message.sender.name))\n .filter((message) =>\n message.blocks.some((block: any) => block._tag === 'text' && block.text.trim().length > 0),\n ),\n } satisfies Thread;\n }),\n { concurrency: 10 },\n );\n\n return threads\n .filter((thread) => thread.messages.length > 0)\n .map(serializeThread)\n .join('\\n');\n },\n Effect.provide(\n DiscordRESTMemoryLive.pipe(Layer.provideMerge(DiscordConfigFromCredential)).pipe(\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n Effect.orDie,\n ),\n ),\n);\n\n/**\n * @param unixTimestamp in seconds\n */\nconst generateSnowflake = (unixTimestamp: number): bigint => {\n const discordEpoch = 1420070400000n; // Discord Epoch (ms)\n return (BigInt(unixTimestamp * 1000) - discordEpoch) << 22n;\n};\n\nconst parseSnowflake = (snowflake: string): Date => {\n const discordEpoch = 1420070400000n; // Discord Epoch (ms)\n return new Date(Number((BigInt(snowflake) >> 22n) + discordEpoch));\n};\n\n// TODO(burdon): Move to @dxos/types.\nconst makeMessage = (message: MessageResponse): Message.Message =>\n Obj.make(Message.Message, {\n [Obj.Meta]: {\n keys: [\n { id: message.id, source: 'discord.com' },\n { id: message.channel_id, source: 'discord.com/thread' },\n ],\n },\n sender: { name: message.author.username },\n created: message.timestamp,\n blocks: [{ _tag: 'text', text: message.content }],\n });\n\n/**\n * Standard JSON serialization is to verbose for large amounts of data.\n */\nconst serializeThread = (thread: Thread): string => {\n return `<thread id=${thread.discordChannelId} name=${thread.name ?? ''}>\\n${thread.messages\n .map(\n (message) =>\n ` ${message.sender.name}: ${message.blocks\n .filter((block: any) => block._tag === 'text')\n .map((block: any) => block.text)\n .join(' ')}`,\n )\n .join('\\n')}\\n</thread>`;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["FetchHttpClient", "DiscordConfig", "DiscordREST", "DiscordRESTMemoryLive", "Array", "Effect", "Function", "Layer", "Option", "Credential", "Operation", "Trace", "Obj", "log", "Message", "DiscordConfigFromCredential", "CredentialsService", "rest", "DEFAULT_IGNORE_USERNAMES", "afterTs", "last", "toSeconds", "channels", "threads", "push", "guildThreads", "channelId", "filter", "length", "channel", "id", "name", "Trace", "emitStatus", "allMessages", "lastMessage", "none", "undefined", "options", "after", "limit", "pageSize", "info", "afterSnowflake", "messages", "Option", "fromNullable", "concurrency", "Effect", "unixTimestamp", "discordEpoch", "parseSnowflake", "snowflake", "Number", "sender", "created", "message", "timestamp", "blocks", "_tag"]
|
|
7
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
GetContext
|
|
3
|
-
} from "./chunk-BDTGFPM7.mjs";
|
|
4
|
-
import {
|
|
5
|
-
Agent_exports
|
|
6
|
-
} from "./chunk-H4W22FFJ.mjs";
|
|
7
|
-
import {
|
|
8
|
-
Chat_exports,
|
|
9
|
-
HarnessContextError,
|
|
10
|
-
Plan_exports
|
|
11
|
-
} from "./chunk-Z2HFOZXK.mjs";
|
|
12
|
-
import "./chunk-EPQCDGIV.mjs";
|
|
13
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
14
|
-
|
|
15
|
-
// src/skills/agent/operations/get-context.ts
|
|
16
|
-
import * as Effect from "effect/Effect";
|
|
17
|
-
import { Harness } from "@dxos/assistant";
|
|
18
|
-
import { Operation } from "@dxos/compute";
|
|
19
|
-
import { Database, Filter, Obj } from "@dxos/echo";
|
|
20
|
-
import { invariant } from "@dxos/invariant";
|
|
21
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/skills/agent/operations/get-context.ts";
|
|
22
|
-
var formatPlan = (chat) => chat.plan ? chat.plan.pipe(Database.load).pipe(Effect.map(Plan_exports.formatPlan), Effect.catchTag("EntityNotFoundError", () => Effect.succeed("No plan found."))) : Effect.succeed("No plan found.");
|
|
23
|
-
var get_context_default = GetContext.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
|
|
24
|
-
const agents = yield* Harness.queryContext(Filter.type(Agent_exports.Agent));
|
|
25
|
-
const chats = yield* Harness.queryContext(Filter.type(Chat_exports.Chat));
|
|
26
|
-
if (agents.length === 0 && chats.length === 0) {
|
|
27
|
-
return {
|
|
28
|
-
id: "",
|
|
29
|
-
name: "",
|
|
30
|
-
instructions: "No agent context.",
|
|
31
|
-
plan: "No plan found.",
|
|
32
|
-
artifacts: []
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
if (agents.length > 1) {
|
|
36
|
-
return yield* Effect.fail(new HarnessContextError({
|
|
37
|
-
type: "agent",
|
|
38
|
-
count: agents.length
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
if (chats.length > 1) {
|
|
42
|
-
return yield* Effect.fail(new HarnessContextError({
|
|
43
|
-
type: "chat",
|
|
44
|
-
count: chats.length
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
const directChat = chats.length === 1 ? chats[0] : void 0;
|
|
48
|
-
const chat = directChat ?? (agents.length > 0 && agents[0].chat ? yield* agents[0].chat.pipe(Database.load).pipe(Effect.catchTag("EntityNotFoundError", () => Effect.succeed(void 0))) : void 0);
|
|
49
|
-
if (agents.length === 0) {
|
|
50
|
-
invariant(chat, "Expected a bound chat when no agent is in context.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 41, S: this, A: ["chat", "'Expected a bound chat when no agent is in context.'"] });
|
|
51
|
-
return {
|
|
52
|
-
id: chat.id,
|
|
53
|
-
name: chat.name ?? "",
|
|
54
|
-
instructions: "No agent context.",
|
|
55
|
-
plan: yield* formatPlan(chat),
|
|
56
|
-
artifacts: []
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
const agent = agents[0];
|
|
60
|
-
return {
|
|
61
|
-
id: agent.id,
|
|
62
|
-
name: agent.name,
|
|
63
|
-
instructions: yield* agent.instructions.pipe(Database.load).pipe(Effect.map((_) => _.content), Effect.catchTag("EntityNotFoundError", () => Effect.succeed("No instructions found."))),
|
|
64
|
-
plan: yield* chat ? formatPlan(chat) : Effect.succeed("No plan found."),
|
|
65
|
-
artifacts: yield* Effect.forEach(agent.artifacts, (artifact) => Effect.gen(function* () {
|
|
66
|
-
return {
|
|
67
|
-
name: artifact.name,
|
|
68
|
-
type: yield* Database.load(artifact.data).pipe(Effect.map(Obj.getTypename), Effect.catchTag("EntityNotFoundError", () => Effect.succeed("Artifact not found."))),
|
|
69
|
-
dxn: artifact.data.uri
|
|
70
|
-
};
|
|
71
|
-
}))
|
|
72
|
-
};
|
|
73
|
-
})), Operation.opaqueHandler);
|
|
74
|
-
export {
|
|
75
|
-
get_context_default as default
|
|
76
|
-
};
|
|
77
|
-
//# sourceMappingURL=get-context-Q4YY6DRV.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/agent/operations/get-context.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\nimport { Database, Filter, Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { HarnessContextError } from '../../../errors';\nimport { Agent, Chat, Plan } from '../../../types';\nimport { GetContext } from './definitions';\n\nconst formatPlan = (chat: Chat.Chat) =>\n chat.plan\n ? chat.plan.pipe(Database.load).pipe(\n Effect.map(Plan.formatPlan),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed('No plan found.')),\n )\n : Effect.succeed('No plan found.');\n\nexport default GetContext.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n const agents = yield* Harness.queryContext(Filter.type(Agent.Agent));\n const chats = yield* Harness.queryContext(Filter.type(Chat.Chat));\n\n if (agents.length === 0 && chats.length === 0) {\n return { id: '', name: '', instructions: 'No agent context.', plan: 'No plan found.', artifacts: [] };\n }\n if (agents.length > 1) {\n return yield* Effect.fail(new HarnessContextError({ type: 'agent', count: agents.length }));\n }\n if (chats.length > 1) {\n return yield* Effect.fail(new HarnessContextError({ type: 'chat', count: chats.length }));\n }\n\n // Prefer the directly bound chat; fall back to the agent's own chat ref when no chat is bound.\n const directChat = chats.length === 1 ? chats[0] : undefined;\n const chat =\n directChat ??\n (agents.length > 0 && agents[0].chat\n ? yield* agents[0].chat\n .pipe(Database.load)\n .pipe(Effect.catchTag('EntityNotFoundError', () => Effect.succeed(undefined)))\n : undefined);\n\n if (agents.length === 0) {\n invariant(chat, 'Expected a bound chat when no agent is in context.');\n return {\n id: chat.id,\n name: chat.name ?? '',\n instructions: 'No agent context.',\n plan: yield* formatPlan(chat),\n artifacts: [],\n };\n }\n\n const agent = agents[0];\n\n return {\n id: agent.id,\n name: agent.name,\n instructions: yield* agent.instructions.pipe(Database.load).pipe(\n Effect.map((_) => _.content),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed('No instructions found.')),\n ),\n plan: yield* chat ? formatPlan(chat) : Effect.succeed('No plan found.'),\n artifacts: yield* Effect.forEach(agent.artifacts, (artifact) =>\n Effect.gen(function* () {\n return {\n name: artifact.name,\n type: yield* Database.load(artifact.data).pipe(\n Effect.map(Obj.getTypename),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed('Artifact not found.')),\n ),\n dxn: artifact.data.uri,\n };\n }),\n ),\n };\n }) as any,\n ),\n Operation.opaqueHandler,\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,WAAW;AACtC,SAASC,iBAAiB;AAM1B,IAAA,eAAMC;IAWA,aAAe,CAAA,SAAOC,KAAAA,OAAQC,KAAAA,KAAaC,KAAOC,SAAKC,IAAMA,EAAAA,KAAK,WAAA,aAAA,UAAA,GAAA,gBAAA,uBAAA,MAAA,eAAA,gBAAA,CAAA,CAAA,IAAA,eAAA,gBAAA;IAClE,sBAAMC,WAAeL,KAAAA,UAAQC,YAAyBK,kBAAS,aAAA;AAE/D,QAAIC,SAAOC,OAAW,QAAKH,aAAY,OAAQ,KAAA,cAAA,KAAA,CAAA;QAC7C,QAAO,OAAA,QAAA,aAAA,OAAA,KAAA,aAAA,IAAA,CAAA;aAAEI,WAAI,KAAA,MAAA,WAAA,GAAA;WAAIC;MAAUC,IAAAA;MAAmCC,MAAM;MAAkBC,cAAa;MAAC,MAAA;MACtG,WAAA,CAAA;IACIN;;aACkDJ,SAAM,GAAA;WAASW,OAAcN,YAAM,IAAA,oBAAA;MAAC,MAAA;MAC1F,OAAA,OAAA;IACIH,CAAAA,CAAAA;;YACkDF,SAAM,GAAA;WAAQW,OAAaN,YAAM,IAAA,oBAAA;MAAC,MAAA;MACxF,OAAA,MAAA;IAEA,CAAA,CAAA;EACA;AASA,QAAID,aAAa,MAAQ,WAAA,IAAA,MAAA,CAAA,IAAA;QACvBQ,OAAAA,eAAgB,OAAA,SAAA,KAAA,OAAA,CAAA,EAAA,OAAA,OAAA,OAAA,CAAA,EAAA,KAAA,KAAA,SAAA,IAAA,EAAA,KAAA,gBAAA,uBAAA,MAAA,eAAA,MAAA,CAAA,CAAA,IAAA;MAChB,OAAO,WAAA,GAAA;cACDC,MAAO,sDAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,QAAA,sDAAA,EAAA,CAAA;WACXN;MACAC,IAAAA,KAAAA;MACAC,MAAM,KAAA,QAAOb;MACbc,cAAa;MACf,MAAA,OAAA,WAAA,IAAA;MACF,WAAA,CAAA;IAEA;EAEA;QACEJ,QAAUA,OAAE,CAAA;SACZC;IACAC,IAAAA,MAAAA;IAIAC,MAAM,MAAA;IACNC,cAAW,OAAOI,MAAOC,aAAcL,KAAAA,SAAYM,IAAAA,EAAAA,KACvC,WAAC,CAAA,MAAA,EAAA,OAAA,GAAA,gBAAA,uBAAA,MAAA,eAAA,wBAAA,CAAA,CAAA;iBACT,OAAO,WAAA,IAAA,IAAA,eAAA,gBAAA;sBACCA,eAAa,MAAA,WAAA,CAAA,aAAA,WAAA,aAAA;aACnBhB;QAIAiB,MAAKD,SAASE;QAChB,MAAA,OAAA,SAAA,KAAA,SAAA,IAAA,EAAA,KAAA,WAAA,IAAA,WAAA,GAAA,gBAAA,uBAAA,MAAA,eAAA,qBAAA,CAAA,CAAA;QACF,KAAA,SAAA,KAAA;MAEJ;IAGJC,CAAAA,CAAAA;;;",
|
|
6
|
-
"names": ["Effect", "Harness", "Operation", "Database", "Filter", "Obj", "invariant", "formatPlan", "Harness", "queryContext", "Filter", "type", "Agent", "chats", "Chat", "agents", "length", "id", "name", "instructions", "plan", "artifacts", "count", "invariant", "chat", "Effect", "forEach", "artifact", "dxn", "data", "Operation"]
|
|
7
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
GetCurrentDate
|
|
3
|
-
} from "./chunk-JBTXZQ5G.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/skills/alarm/operations/get-current-date.ts
|
|
7
|
-
import * as Clock from "effect/Clock";
|
|
8
|
-
import * as Effect from "effect/Effect";
|
|
9
|
-
import { Operation } from "@dxos/compute";
|
|
10
|
-
var get_current_date_default = GetCurrentDate.pipe(Operation.withHandler(Effect.fn(function* () {
|
|
11
|
-
const now = yield* Clock.currentTimeMillis;
|
|
12
|
-
return new Date(now).toISOString();
|
|
13
|
-
})));
|
|
14
|
-
export {
|
|
15
|
-
get_current_date_default as default
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=get-current-date-JR5F7ZS3.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/skills/alarm/operations/get-current-date.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Clock from 'effect/Clock';\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\n\nimport { GetCurrentDate } from './definitions';\n\n/**\n * Reports the current time from the ambient Effect clock as an ISO-8601 string, so it stays\n * consistent with alarm scheduling (and honors a TestClock under tests).\n */\nexport default GetCurrentDate.pipe(\n Operation.withHandler(\n Effect.fn(function* () {\n const now = yield* Clock.currentTimeMillis;\n return new Date(now).toISOString();\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,WAAW;AACvB,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAQ1B,IAAA,2BAAeC,eAAeC,KAC5BC,UAAUC,YACDC,UAAG,aAAA;AACR,QAAMC,MAAM,OAAaC;AACzB,SAAO,IAAIC,KAAKF,GAAAA,EAAKG,YAAW;AAClC,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Clock", "Effect", "Operation", "GetCurrentDate", "pipe", "Operation", "withHandler", "fn", "now", "currentTimeMillis", "Date", "toISOString"]
|
|
7
|
-
}
|