opentasks 0.0.7 → 0.0.9
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/daemon/entire-linker.d.ts.map +1 -1
- package/dist/daemon/entire-linker.js +42 -48
- package/dist/daemon/entire-linker.js.map +1 -1
- package/dist/daemon/entire-watcher.d.ts +0 -11
- package/dist/daemon/entire-watcher.d.ts.map +1 -1
- package/dist/daemon/entire-watcher.js +1 -32
- package/dist/daemon/entire-watcher.js.map +1 -1
- package/dist/graph/query.js +3 -3
- package/dist/graph/query.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/entire.d.ts +0 -10
- package/dist/providers/entire.d.ts.map +1 -1
- package/dist/providers/entire.js +0 -13
- package/dist/providers/entire.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/map-connector.d.ts +87 -0
- package/dist/providers/map-connector.d.ts.map +1 -0
- package/dist/providers/map-connector.js +159 -0
- package/dist/providers/map-connector.js.map +1 -0
- package/dist/storage/interface.d.ts +6 -0
- package/dist/storage/interface.d.ts.map +1 -1
- package/dist/storage/interface.js.map +1 -1
- package/dist/storage/sqlite.d.ts +1 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +11 -0
- package/dist/storage/sqlite.js.map +1 -1
- package/package.json +2 -2
- package/dist/__tests__/cli-tools.test.d.ts +0 -8
- package/dist/__tests__/cli-tools.test.d.ts.map +0 -1
- package/dist/__tests__/cli-tools.test.js +0 -546
- package/dist/__tests__/cli-tools.test.js.map +0 -1
- package/dist/__tests__/cli.test.d.ts +0 -5
- package/dist/__tests__/cli.test.d.ts.map +0 -1
- package/dist/__tests__/cli.test.js +0 -77
- package/dist/__tests__/cli.test.js.map +0 -1
- package/dist/__tests__/p1-p3-gaps.test.d.ts +0 -2
- package/dist/__tests__/p1-p3-gaps.test.d.ts.map +0 -1
- package/dist/__tests__/p1-p3-gaps.test.js +0 -463
- package/dist/__tests__/p1-p3-gaps.test.js.map +0 -1
- package/dist/client/__tests__/client-crud.test.d.ts +0 -7
- package/dist/client/__tests__/client-crud.test.d.ts.map +0 -1
- package/dist/client/__tests__/client-crud.test.js +0 -404
- package/dist/client/__tests__/client-crud.test.js.map +0 -1
- package/dist/client/__tests__/client.test.d.ts +0 -5
- package/dist/client/__tests__/client.test.d.ts.map +0 -1
- package/dist/client/__tests__/client.test.js +0 -518
- package/dist/client/__tests__/client.test.js.map +0 -1
- package/dist/config/__tests__/defaults.test.d.ts +0 -2
- package/dist/config/__tests__/defaults.test.d.ts.map +0 -1
- package/dist/config/__tests__/defaults.test.js +0 -57
- package/dist/config/__tests__/defaults.test.js.map +0 -1
- package/dist/config/__tests__/env.test.d.ts +0 -2
- package/dist/config/__tests__/env.test.d.ts.map +0 -1
- package/dist/config/__tests__/env.test.js +0 -136
- package/dist/config/__tests__/env.test.js.map +0 -1
- package/dist/config/__tests__/index.test.d.ts +0 -2
- package/dist/config/__tests__/index.test.d.ts.map +0 -1
- package/dist/config/__tests__/index.test.js +0 -113
- package/dist/config/__tests__/index.test.js.map +0 -1
- package/dist/config/__tests__/loader.test.d.ts +0 -2
- package/dist/config/__tests__/loader.test.d.ts.map +0 -1
- package/dist/config/__tests__/loader.test.js +0 -128
- package/dist/config/__tests__/loader.test.js.map +0 -1
- package/dist/config/__tests__/merge.test.d.ts +0 -2
- package/dist/config/__tests__/merge.test.d.ts.map +0 -1
- package/dist/config/__tests__/merge.test.js +0 -79
- package/dist/config/__tests__/merge.test.js.map +0 -1
- package/dist/config/__tests__/schema.test.d.ts +0 -2
- package/dist/config/__tests__/schema.test.d.ts.map +0 -1
- package/dist/config/__tests__/schema.test.js +0 -300
- package/dist/config/__tests__/schema.test.js.map +0 -1
- package/dist/core/__tests__/conditional-redirects.test.d.ts +0 -2
- package/dist/core/__tests__/conditional-redirects.test.d.ts.map +0 -1
- package/dist/core/__tests__/conditional-redirects.test.js +0 -83
- package/dist/core/__tests__/conditional-redirects.test.js.map +0 -1
- package/dist/core/__tests__/connections.test.d.ts +0 -2
- package/dist/core/__tests__/connections.test.d.ts.map +0 -1
- package/dist/core/__tests__/connections.test.js +0 -158
- package/dist/core/__tests__/connections.test.js.map +0 -1
- package/dist/core/__tests__/hash.test.d.ts +0 -2
- package/dist/core/__tests__/hash.test.d.ts.map +0 -1
- package/dist/core/__tests__/hash.test.js +0 -139
- package/dist/core/__tests__/hash.test.js.map +0 -1
- package/dist/core/__tests__/id.test.d.ts +0 -2
- package/dist/core/__tests__/id.test.d.ts.map +0 -1
- package/dist/core/__tests__/id.test.js +0 -142
- package/dist/core/__tests__/id.test.js.map +0 -1
- package/dist/core/__tests__/location.test.d.ts +0 -2
- package/dist/core/__tests__/location.test.d.ts.map +0 -1
- package/dist/core/__tests__/location.test.js +0 -77
- package/dist/core/__tests__/location.test.js.map +0 -1
- package/dist/core/__tests__/merge-driver.test.d.ts +0 -2
- package/dist/core/__tests__/merge-driver.test.d.ts.map +0 -1
- package/dist/core/__tests__/merge-driver.test.js +0 -218
- package/dist/core/__tests__/merge-driver.test.js.map +0 -1
- package/dist/core/__tests__/redirects.test.d.ts +0 -2
- package/dist/core/__tests__/redirects.test.d.ts.map +0 -1
- package/dist/core/__tests__/redirects.test.js +0 -123
- package/dist/core/__tests__/redirects.test.js.map +0 -1
- package/dist/core/__tests__/resolve-location-target.test.d.ts +0 -8
- package/dist/core/__tests__/resolve-location-target.test.d.ts.map +0 -1
- package/dist/core/__tests__/resolve-location-target.test.js +0 -303
- package/dist/core/__tests__/resolve-location-target.test.js.map +0 -1
- package/dist/core/__tests__/uri.test.d.ts +0 -2
- package/dist/core/__tests__/uri.test.d.ts.map +0 -1
- package/dist/core/__tests__/uri.test.js +0 -159
- package/dist/core/__tests__/uri.test.js.map +0 -1
- package/dist/core/__tests__/worktree.test.d.ts +0 -2
- package/dist/core/__tests__/worktree.test.d.ts.map +0 -1
- package/dist/core/__tests__/worktree.test.js +0 -120
- package/dist/core/__tests__/worktree.test.js.map +0 -1
- package/dist/daemon/__tests__/flush.test.d.ts +0 -5
- package/dist/daemon/__tests__/flush.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/flush.test.js +0 -213
- package/dist/daemon/__tests__/flush.test.js.map +0 -1
- package/dist/daemon/__tests__/integration.test.d.ts +0 -7
- package/dist/daemon/__tests__/integration.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/integration.test.js +0 -276
- package/dist/daemon/__tests__/integration.test.js.map +0 -1
- package/dist/daemon/__tests__/ipc.test.d.ts +0 -5
- package/dist/daemon/__tests__/ipc.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/ipc.test.js +0 -314
- package/dist/daemon/__tests__/ipc.test.js.map +0 -1
- package/dist/daemon/__tests__/lifecycle.test.d.ts +0 -5
- package/dist/daemon/__tests__/lifecycle.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/lifecycle.test.js +0 -301
- package/dist/daemon/__tests__/lifecycle.test.js.map +0 -1
- package/dist/daemon/__tests__/lock.test.d.ts +0 -5
- package/dist/daemon/__tests__/lock.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/lock.test.js +0 -192
- package/dist/daemon/__tests__/lock.test.js.map +0 -1
- package/dist/daemon/__tests__/methods/graph.test.d.ts +0 -5
- package/dist/daemon/__tests__/methods/graph.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/methods/graph.test.js +0 -309
- package/dist/daemon/__tests__/methods/graph.test.js.map +0 -1
- package/dist/daemon/__tests__/methods/provider.test.d.ts +0 -7
- package/dist/daemon/__tests__/methods/provider.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/methods/provider.test.js +0 -181
- package/dist/daemon/__tests__/methods/provider.test.js.map +0 -1
- package/dist/daemon/__tests__/methods/tools.test.d.ts +0 -5
- package/dist/daemon/__tests__/methods/tools.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/methods/tools.test.js +0 -587
- package/dist/daemon/__tests__/methods/tools.test.js.map +0 -1
- package/dist/daemon/__tests__/multi-location.test.d.ts +0 -8
- package/dist/daemon/__tests__/multi-location.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/multi-location.test.js +0 -669
- package/dist/daemon/__tests__/multi-location.test.js.map +0 -1
- package/dist/daemon/__tests__/registry.test.d.ts +0 -5
- package/dist/daemon/__tests__/registry.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/registry.test.js +0 -208
- package/dist/daemon/__tests__/registry.test.js.map +0 -1
- package/dist/daemon/__tests__/watcher.test.d.ts +0 -5
- package/dist/daemon/__tests__/watcher.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/watcher.test.js +0 -234
- package/dist/daemon/__tests__/watcher.test.js.map +0 -1
- package/dist/daemon/methods/__tests__/graph.test.d.ts +0 -5
- package/dist/daemon/methods/__tests__/graph.test.d.ts.map +0 -1
- package/dist/daemon/methods/__tests__/graph.test.js +0 -274
- package/dist/daemon/methods/__tests__/graph.test.js.map +0 -1
- package/dist/daemon/methods/__tests__/provider.test.d.ts +0 -5
- package/dist/daemon/methods/__tests__/provider.test.d.ts.map +0 -1
- package/dist/daemon/methods/__tests__/provider.test.js +0 -184
- package/dist/daemon/methods/__tests__/provider.test.js.map +0 -1
- package/dist/daemon/methods/__tests__/tools.test.d.ts +0 -5
- package/dist/daemon/methods/__tests__/tools.test.d.ts.map +0 -1
- package/dist/daemon/methods/__tests__/tools.test.js +0 -295
- package/dist/daemon/methods/__tests__/tools.test.js.map +0 -1
- package/dist/entire/agent/agents/claude-code.d.ts +0 -76
- package/dist/entire/agent/agents/claude-code.d.ts.map +0 -1
- package/dist/entire/agent/agents/claude-code.js +0 -759
- package/dist/entire/agent/agents/claude-code.js.map +0 -1
- package/dist/entire/agent/agents/cursor.d.ts +0 -35
- package/dist/entire/agent/agents/cursor.d.ts.map +0 -1
- package/dist/entire/agent/agents/cursor.js +0 -294
- package/dist/entire/agent/agents/cursor.js.map +0 -1
- package/dist/entire/agent/agents/gemini-cli.d.ts +0 -62
- package/dist/entire/agent/agents/gemini-cli.d.ts.map +0 -1
- package/dist/entire/agent/agents/gemini-cli.js +0 -462
- package/dist/entire/agent/agents/gemini-cli.js.map +0 -1
- package/dist/entire/agent/agents/opencode.d.ts +0 -100
- package/dist/entire/agent/agents/opencode.d.ts.map +0 -1
- package/dist/entire/agent/agents/opencode.js +0 -423
- package/dist/entire/agent/agents/opencode.js.map +0 -1
- package/dist/entire/agent/registry.d.ts +0 -54
- package/dist/entire/agent/registry.d.ts.map +0 -1
- package/dist/entire/agent/registry.js +0 -123
- package/dist/entire/agent/registry.js.map +0 -1
- package/dist/entire/agent/session-types.d.ts +0 -45
- package/dist/entire/agent/session-types.d.ts.map +0 -1
- package/dist/entire/agent/session-types.js +0 -50
- package/dist/entire/agent/session-types.js.map +0 -1
- package/dist/entire/agent/types.d.ts +0 -126
- package/dist/entire/agent/types.d.ts.map +0 -1
- package/dist/entire/agent/types.js +0 -39
- package/dist/entire/agent/types.js.map +0 -1
- package/dist/entire/commands/clean.d.ts +0 -30
- package/dist/entire/commands/clean.d.ts.map +0 -1
- package/dist/entire/commands/clean.js +0 -99
- package/dist/entire/commands/clean.js.map +0 -1
- package/dist/entire/commands/disable.d.ts +0 -23
- package/dist/entire/commands/disable.d.ts.map +0 -1
- package/dist/entire/commands/disable.js +0 -57
- package/dist/entire/commands/disable.js.map +0 -1
- package/dist/entire/commands/doctor.d.ts +0 -43
- package/dist/entire/commands/doctor.d.ts.map +0 -1
- package/dist/entire/commands/doctor.js +0 -97
- package/dist/entire/commands/doctor.js.map +0 -1
- package/dist/entire/commands/enable.d.ts +0 -29
- package/dist/entire/commands/enable.d.ts.map +0 -1
- package/dist/entire/commands/enable.js +0 -102
- package/dist/entire/commands/enable.js.map +0 -1
- package/dist/entire/commands/explain.d.ts +0 -68
- package/dist/entire/commands/explain.d.ts.map +0 -1
- package/dist/entire/commands/explain.js +0 -182
- package/dist/entire/commands/explain.js.map +0 -1
- package/dist/entire/commands/reset.d.ts +0 -23
- package/dist/entire/commands/reset.d.ts.map +0 -1
- package/dist/entire/commands/reset.js +0 -68
- package/dist/entire/commands/reset.js.map +0 -1
- package/dist/entire/commands/resume.d.ts +0 -42
- package/dist/entire/commands/resume.d.ts.map +0 -1
- package/dist/entire/commands/resume.js +0 -134
- package/dist/entire/commands/resume.js.map +0 -1
- package/dist/entire/commands/rewind.d.ts +0 -34
- package/dist/entire/commands/rewind.d.ts.map +0 -1
- package/dist/entire/commands/rewind.js +0 -155
- package/dist/entire/commands/rewind.js.map +0 -1
- package/dist/entire/commands/status.d.ts +0 -51
- package/dist/entire/commands/status.d.ts.map +0 -1
- package/dist/entire/commands/status.js +0 -94
- package/dist/entire/commands/status.js.map +0 -1
- package/dist/entire/config.d.ts +0 -40
- package/dist/entire/config.d.ts.map +0 -1
- package/dist/entire/config.js +0 -126
- package/dist/entire/config.js.map +0 -1
- package/dist/entire/git-operations.d.ts +0 -170
- package/dist/entire/git-operations.d.ts.map +0 -1
- package/dist/entire/git-operations.js +0 -395
- package/dist/entire/git-operations.js.map +0 -1
- package/dist/entire/hooks/git-hooks.d.ts +0 -22
- package/dist/entire/hooks/git-hooks.d.ts.map +0 -1
- package/dist/entire/hooks/git-hooks.js +0 -145
- package/dist/entire/hooks/git-hooks.js.map +0 -1
- package/dist/entire/hooks/lifecycle.d.ts +0 -21
- package/dist/entire/hooks/lifecycle.d.ts.map +0 -1
- package/dist/entire/hooks/lifecycle.js +0 -179
- package/dist/entire/hooks/lifecycle.js.map +0 -1
- package/dist/entire/index.d.ts +0 -69
- package/dist/entire/index.d.ts.map +0 -1
- package/dist/entire/index.js +0 -152
- package/dist/entire/index.js.map +0 -1
- package/dist/entire/security/redaction.d.ts +0 -35
- package/dist/entire/security/redaction.d.ts.map +0 -1
- package/dist/entire/security/redaction.js +0 -221
- package/dist/entire/security/redaction.js.map +0 -1
- package/dist/entire/session/state-machine.d.ts +0 -90
- package/dist/entire/session/state-machine.d.ts.map +0 -1
- package/dist/entire/session/state-machine.js +0 -347
- package/dist/entire/session/state-machine.js.map +0 -1
- package/dist/entire/store/checkpoint-store.d.ts +0 -47
- package/dist/entire/store/checkpoint-store.d.ts.map +0 -1
- package/dist/entire/store/checkpoint-store.js +0 -307
- package/dist/entire/store/checkpoint-store.js.map +0 -1
- package/dist/entire/store/native-store.d.ts +0 -14
- package/dist/entire/store/native-store.d.ts.map +0 -1
- package/dist/entire/store/native-store.js +0 -159
- package/dist/entire/store/native-store.js.map +0 -1
- package/dist/entire/store/provider-types.d.ts +0 -78
- package/dist/entire/store/provider-types.d.ts.map +0 -1
- package/dist/entire/store/provider-types.js +0 -12
- package/dist/entire/store/provider-types.js.map +0 -1
- package/dist/entire/store/session-store.d.ts +0 -28
- package/dist/entire/store/session-store.d.ts.map +0 -1
- package/dist/entire/store/session-store.js +0 -187
- package/dist/entire/store/session-store.js.map +0 -1
- package/dist/entire/strategy/attribution.d.ts +0 -39
- package/dist/entire/strategy/attribution.d.ts.map +0 -1
- package/dist/entire/strategy/attribution.js +0 -227
- package/dist/entire/strategy/attribution.js.map +0 -1
- package/dist/entire/strategy/common.d.ts +0 -57
- package/dist/entire/strategy/common.d.ts.map +0 -1
- package/dist/entire/strategy/common.js +0 -156
- package/dist/entire/strategy/common.js.map +0 -1
- package/dist/entire/strategy/content-overlap.d.ts +0 -33
- package/dist/entire/strategy/content-overlap.d.ts.map +0 -1
- package/dist/entire/strategy/content-overlap.js +0 -168
- package/dist/entire/strategy/content-overlap.js.map +0 -1
- package/dist/entire/strategy/manual-commit.d.ts +0 -31
- package/dist/entire/strategy/manual-commit.d.ts.map +0 -1
- package/dist/entire/strategy/manual-commit.js +0 -730
- package/dist/entire/strategy/manual-commit.js.map +0 -1
- package/dist/entire/strategy/types.d.ts +0 -163
- package/dist/entire/strategy/types.d.ts.map +0 -1
- package/dist/entire/strategy/types.js +0 -49
- package/dist/entire/strategy/types.js.map +0 -1
- package/dist/entire/summarize/claude-generator.d.ts +0 -25
- package/dist/entire/summarize/claude-generator.d.ts.map +0 -1
- package/dist/entire/summarize/claude-generator.js +0 -87
- package/dist/entire/summarize/claude-generator.js.map +0 -1
- package/dist/entire/summarize/summarize.d.ts +0 -52
- package/dist/entire/summarize/summarize.d.ts.map +0 -1
- package/dist/entire/summarize/summarize.js +0 -335
- package/dist/entire/summarize/summarize.js.map +0 -1
- package/dist/entire/types.d.ts +0 -288
- package/dist/entire/types.d.ts.map +0 -1
- package/dist/entire/types.js +0 -94
- package/dist/entire/types.js.map +0 -1
- package/dist/entire/utils/chunk-files.d.ts +0 -25
- package/dist/entire/utils/chunk-files.d.ts.map +0 -1
- package/dist/entire/utils/chunk-files.js +0 -47
- package/dist/entire/utils/chunk-files.js.map +0 -1
- package/dist/entire/utils/commit-message.d.ts +0 -11
- package/dist/entire/utils/commit-message.d.ts.map +0 -1
- package/dist/entire/utils/commit-message.js +0 -54
- package/dist/entire/utils/commit-message.js.map +0 -1
- package/dist/entire/utils/detect-agent.d.ts +0 -19
- package/dist/entire/utils/detect-agent.d.ts.map +0 -1
- package/dist/entire/utils/detect-agent.js +0 -34
- package/dist/entire/utils/detect-agent.js.map +0 -1
- package/dist/entire/utils/hook-managers.d.ts +0 -24
- package/dist/entire/utils/hook-managers.d.ts.map +0 -1
- package/dist/entire/utils/hook-managers.js +0 -87
- package/dist/entire/utils/hook-managers.js.map +0 -1
- package/dist/entire/utils/ide-tags.d.ts +0 -12
- package/dist/entire/utils/ide-tags.d.ts.map +0 -1
- package/dist/entire/utils/ide-tags.js +0 -30
- package/dist/entire/utils/ide-tags.js.map +0 -1
- package/dist/entire/utils/paths.d.ts +0 -32
- package/dist/entire/utils/paths.d.ts.map +0 -1
- package/dist/entire/utils/paths.js +0 -55
- package/dist/entire/utils/paths.js.map +0 -1
- package/dist/entire/utils/preview-rewind.d.ts +0 -23
- package/dist/entire/utils/preview-rewind.d.ts.map +0 -1
- package/dist/entire/utils/preview-rewind.js +0 -63
- package/dist/entire/utils/preview-rewind.js.map +0 -1
- package/dist/entire/utils/rewind-conflict.d.ts +0 -52
- package/dist/entire/utils/rewind-conflict.d.ts.map +0 -1
- package/dist/entire/utils/rewind-conflict.js +0 -79
- package/dist/entire/utils/rewind-conflict.js.map +0 -1
- package/dist/entire/utils/shadow-branch.d.ts +0 -44
- package/dist/entire/utils/shadow-branch.d.ts.map +0 -1
- package/dist/entire/utils/shadow-branch.js +0 -93
- package/dist/entire/utils/shadow-branch.js.map +0 -1
- package/dist/entire/utils/string-utils.d.ts +0 -24
- package/dist/entire/utils/string-utils.d.ts.map +0 -1
- package/dist/entire/utils/string-utils.js +0 -47
- package/dist/entire/utils/string-utils.js.map +0 -1
- package/dist/entire/utils/todo-extract.d.ts +0 -52
- package/dist/entire/utils/todo-extract.d.ts.map +0 -1
- package/dist/entire/utils/todo-extract.js +0 -167
- package/dist/entire/utils/todo-extract.js.map +0 -1
- package/dist/entire/utils/trailers.d.ts +0 -36
- package/dist/entire/utils/trailers.d.ts.map +0 -1
- package/dist/entire/utils/trailers.js +0 -149
- package/dist/entire/utils/trailers.js.map +0 -1
- package/dist/entire/utils/transcript-parse.d.ts +0 -57
- package/dist/entire/utils/transcript-parse.d.ts.map +0 -1
- package/dist/entire/utils/transcript-parse.js +0 -126
- package/dist/entire/utils/transcript-parse.js.map +0 -1
- package/dist/entire/utils/transcript-timestamp.d.ts +0 -22
- package/dist/entire/utils/transcript-timestamp.d.ts.map +0 -1
- package/dist/entire/utils/transcript-timestamp.js +0 -56
- package/dist/entire/utils/transcript-timestamp.js.map +0 -1
- package/dist/entire/utils/tree-ops.d.ts +0 -47
- package/dist/entire/utils/tree-ops.d.ts.map +0 -1
- package/dist/entire/utils/tree-ops.js +0 -145
- package/dist/entire/utils/tree-ops.js.map +0 -1
- package/dist/entire/utils/tty.d.ts +0 -25
- package/dist/entire/utils/tty.d.ts.map +0 -1
- package/dist/entire/utils/tty.js +0 -70
- package/dist/entire/utils/tty.js.map +0 -1
- package/dist/entire/utils/validation.d.ts +0 -31
- package/dist/entire/utils/validation.d.ts.map +0 -1
- package/dist/entire/utils/validation.js +0 -59
- package/dist/entire/utils/validation.js.map +0 -1
- package/dist/entire/utils/worktree.d.ts +0 -16
- package/dist/entire/utils/worktree.d.ts.map +0 -1
- package/dist/entire/utils/worktree.js +0 -50
- package/dist/entire/utils/worktree.js.map +0 -1
- package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts +0 -2
- package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts.map +0 -1
- package/dist/graph/__tests__/EdgeTypeRegistry.test.js +0 -212
- package/dist/graph/__tests__/EdgeTypeRegistry.test.js.map +0 -1
- package/dist/graph/__tests__/FederatedGraph.test.d.ts +0 -2
- package/dist/graph/__tests__/FederatedGraph.test.d.ts.map +0 -1
- package/dist/graph/__tests__/FederatedGraph.test.js +0 -661
- package/dist/graph/__tests__/FederatedGraph.test.js.map +0 -1
- package/dist/graph/__tests__/GraphologyAdapter.test.d.ts +0 -2
- package/dist/graph/__tests__/GraphologyAdapter.test.d.ts.map +0 -1
- package/dist/graph/__tests__/GraphologyAdapter.test.js +0 -326
- package/dist/graph/__tests__/GraphologyAdapter.test.js.map +0 -1
- package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts +0 -2
- package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts.map +0 -1
- package/dist/graph/__tests__/HydratingFederatedGraph.test.js +0 -587
- package/dist/graph/__tests__/HydratingFederatedGraph.test.js.map +0 -1
- package/dist/graph/__tests__/debounce.test.d.ts +0 -5
- package/dist/graph/__tests__/debounce.test.d.ts.map +0 -1
- package/dist/graph/__tests__/debounce.test.js +0 -195
- package/dist/graph/__tests__/debounce.test.js.map +0 -1
- package/dist/graph/__tests__/edge-cases.test.d.ts +0 -8
- package/dist/graph/__tests__/edge-cases.test.d.ts.map +0 -1
- package/dist/graph/__tests__/edge-cases.test.js +0 -472
- package/dist/graph/__tests__/edge-cases.test.js.map +0 -1
- package/dist/graph/__tests__/expansion.test.d.ts +0 -2
- package/dist/graph/__tests__/expansion.test.d.ts.map +0 -1
- package/dist/graph/__tests__/expansion.test.js +0 -105
- package/dist/graph/__tests__/expansion.test.js.map +0 -1
- package/dist/graph/__tests__/provider-store.test.d.ts +0 -5
- package/dist/graph/__tests__/provider-store.test.d.ts.map +0 -1
- package/dist/graph/__tests__/provider-store.test.js +0 -791
- package/dist/graph/__tests__/provider-store.test.js.map +0 -1
- package/dist/graph/__tests__/query.test.d.ts +0 -5
- package/dist/graph/__tests__/query.test.d.ts.map +0 -1
- package/dist/graph/__tests__/query.test.js +0 -774
- package/dist/graph/__tests__/query.test.js.map +0 -1
- package/dist/graph/__tests__/store.test.d.ts +0 -5
- package/dist/graph/__tests__/store.test.d.ts.map +0 -1
- package/dist/graph/__tests__/store.test.js +0 -489
- package/dist/graph/__tests__/store.test.js.map +0 -1
- package/dist/graph/__tests__/sync.test.d.ts +0 -5
- package/dist/graph/__tests__/sync.test.d.ts.map +0 -1
- package/dist/graph/__tests__/sync.test.js +0 -129
- package/dist/graph/__tests__/sync.test.js.map +0 -1
- package/dist/graph/__tests__/validation.test.d.ts +0 -2
- package/dist/graph/__tests__/validation.test.d.ts.map +0 -1
- package/dist/graph/__tests__/validation.test.js +0 -521
- package/dist/graph/__tests__/validation.test.js.map +0 -1
- package/dist/providers/__tests__/beads.test.d.ts +0 -5
- package/dist/providers/__tests__/beads.test.d.ts.map +0 -1
- package/dist/providers/__tests__/beads.test.js +0 -591
- package/dist/providers/__tests__/beads.test.js.map +0 -1
- package/dist/providers/__tests__/claude-tasks.test.d.ts +0 -5
- package/dist/providers/__tests__/claude-tasks.test.d.ts.map +0 -1
- package/dist/providers/__tests__/claude-tasks.test.js +0 -392
- package/dist/providers/__tests__/claude-tasks.test.js.map +0 -1
- package/dist/providers/__tests__/from-config.test.d.ts +0 -5
- package/dist/providers/__tests__/from-config.test.d.ts.map +0 -1
- package/dist/providers/__tests__/from-config.test.js +0 -152
- package/dist/providers/__tests__/from-config.test.js.map +0 -1
- package/dist/providers/__tests__/materialization.test.d.ts +0 -5
- package/dist/providers/__tests__/materialization.test.d.ts.map +0 -1
- package/dist/providers/__tests__/materialization.test.js +0 -407
- package/dist/providers/__tests__/materialization.test.js.map +0 -1
- package/dist/providers/__tests__/native.test.d.ts +0 -5
- package/dist/providers/__tests__/native.test.d.ts.map +0 -1
- package/dist/providers/__tests__/native.test.js +0 -566
- package/dist/providers/__tests__/native.test.js.map +0 -1
- package/dist/providers/__tests__/registry.test.d.ts +0 -5
- package/dist/providers/__tests__/registry.test.d.ts.map +0 -1
- package/dist/providers/__tests__/registry.test.js +0 -183
- package/dist/providers/__tests__/registry.test.js.map +0 -1
- package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts +0 -2
- package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts.map +0 -1
- package/dist/providers/traits/__tests__/RelationshipQueryable.test.js +0 -169
- package/dist/providers/traits/__tests__/RelationshipQueryable.test.js.map +0 -1
- package/dist/providers/traits/__tests__/TaskManageable.test.d.ts +0 -2
- package/dist/providers/traits/__tests__/TaskManageable.test.d.ts.map +0 -1
- package/dist/providers/traits/__tests__/TaskManageable.test.js +0 -172
- package/dist/providers/traits/__tests__/TaskManageable.test.js.map +0 -1
- package/dist/schema/__tests__/validation.test.d.ts +0 -2
- package/dist/schema/__tests__/validation.test.d.ts.map +0 -1
- package/dist/schema/__tests__/validation.test.js +0 -241
- package/dist/schema/__tests__/validation.test.js.map +0 -1
- package/dist/storage/__tests__/atomic-write.test.d.ts +0 -5
- package/dist/storage/__tests__/atomic-write.test.d.ts.map +0 -1
- package/dist/storage/__tests__/atomic-write.test.js +0 -170
- package/dist/storage/__tests__/atomic-write.test.js.map +0 -1
- package/dist/storage/__tests__/file-lock.test.d.ts +0 -2
- package/dist/storage/__tests__/file-lock.test.d.ts.map +0 -1
- package/dist/storage/__tests__/file-lock.test.js +0 -89
- package/dist/storage/__tests__/file-lock.test.js.map +0 -1
- package/dist/storage/__tests__/jsonl.test.d.ts +0 -2
- package/dist/storage/__tests__/jsonl.test.d.ts.map +0 -1
- package/dist/storage/__tests__/jsonl.test.js +0 -228
- package/dist/storage/__tests__/jsonl.test.js.map +0 -1
- package/dist/storage/__tests__/locked-writer.test.d.ts +0 -2
- package/dist/storage/__tests__/locked-writer.test.d.ts.map +0 -1
- package/dist/storage/__tests__/locked-writer.test.js +0 -109
- package/dist/storage/__tests__/locked-writer.test.js.map +0 -1
- package/dist/storage/__tests__/sqlite.test.d.ts +0 -2
- package/dist/storage/__tests__/sqlite.test.d.ts.map +0 -1
- package/dist/storage/__tests__/sqlite.test.js +0 -470
- package/dist/storage/__tests__/sqlite.test.js.map +0 -1
- package/dist/tools/__tests__/annotate.test.d.ts +0 -5
- package/dist/tools/__tests__/annotate.test.d.ts.map +0 -1
- package/dist/tools/__tests__/annotate.test.js +0 -314
- package/dist/tools/__tests__/annotate.test.js.map +0 -1
- package/dist/tools/__tests__/link.test.d.ts +0 -5
- package/dist/tools/__tests__/link.test.d.ts.map +0 -1
- package/dist/tools/__tests__/link.test.js +0 -245
- package/dist/tools/__tests__/link.test.js.map +0 -1
- package/dist/tools/__tests__/query.test.d.ts +0 -5
- package/dist/tools/__tests__/query.test.d.ts.map +0 -1
- package/dist/tools/__tests__/query.test.js +0 -288
- package/dist/tools/__tests__/query.test.js.map +0 -1
- package/dist/tools/__tests__/task.test.d.ts +0 -5
- package/dist/tools/__tests__/task.test.d.ts.map +0 -1
- package/dist/tools/__tests__/task.test.js +0 -178
- package/dist/tools/__tests__/task.test.js.map +0 -1
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { OpenTasksConfigSchema, StorageConfigSchema, DaemonConfigSchema, BeadsProviderConfigSchema, ClaudeTasksProviderConfigSchema, ProvidersConfigSchema, LoggingConfigSchema, validateConfig, parseConfig, } from '../schema.js';
|
|
3
|
-
describe('Config Schema', () => {
|
|
4
|
-
describe('StorageConfigSchema', () => {
|
|
5
|
-
it('returns defaults for empty object', () => {
|
|
6
|
-
const result = StorageConfigSchema.parse({});
|
|
7
|
-
expect(result).toEqual({
|
|
8
|
-
jsonlPath: 'graph.jsonl',
|
|
9
|
-
sqlitePath: 'cache.db',
|
|
10
|
-
autoCompactRatio: 2.0,
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
it('accepts valid values', () => {
|
|
14
|
-
const result = StorageConfigSchema.parse({
|
|
15
|
-
jsonlPath: 'custom.jsonl',
|
|
16
|
-
sqlitePath: 'custom.db',
|
|
17
|
-
autoCompactRatio: 3.5,
|
|
18
|
-
});
|
|
19
|
-
expect(result.jsonlPath).toBe('custom.jsonl');
|
|
20
|
-
expect(result.sqlitePath).toBe('custom.db');
|
|
21
|
-
expect(result.autoCompactRatio).toBe(3.5);
|
|
22
|
-
});
|
|
23
|
-
it('rejects autoCompactRatio < 1', () => {
|
|
24
|
-
expect(() => StorageConfigSchema.parse({ autoCompactRatio: 0.5 })).toThrow('autoCompactRatio must be >= 1');
|
|
25
|
-
});
|
|
26
|
-
it('accepts autoCompactRatio = 1', () => {
|
|
27
|
-
const result = StorageConfigSchema.parse({ autoCompactRatio: 1 });
|
|
28
|
-
expect(result.autoCompactRatio).toBe(1);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe('DaemonConfigSchema', () => {
|
|
32
|
-
it('returns defaults for empty object', () => {
|
|
33
|
-
const result = DaemonConfigSchema.parse({});
|
|
34
|
-
expect(result).toEqual({
|
|
35
|
-
socketPath: 'daemon.sock',
|
|
36
|
-
autoStart: true,
|
|
37
|
-
flushInterval: 1000,
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
it('accepts valid values', () => {
|
|
41
|
-
const result = DaemonConfigSchema.parse({
|
|
42
|
-
socketPath: 'custom.sock',
|
|
43
|
-
autoStart: false,
|
|
44
|
-
flushInterval: 500,
|
|
45
|
-
});
|
|
46
|
-
expect(result.socketPath).toBe('custom.sock');
|
|
47
|
-
expect(result.autoStart).toBe(false);
|
|
48
|
-
expect(result.flushInterval).toBe(500);
|
|
49
|
-
});
|
|
50
|
-
it('rejects flushInterval < 100', () => {
|
|
51
|
-
expect(() => DaemonConfigSchema.parse({ flushInterval: 50 })).toThrow('flushInterval must be >= 100ms');
|
|
52
|
-
});
|
|
53
|
-
it('accepts flushInterval = 100', () => {
|
|
54
|
-
const result = DaemonConfigSchema.parse({ flushInterval: 100 });
|
|
55
|
-
expect(result.flushInterval).toBe(100);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('BeadsProviderConfigSchema', () => {
|
|
59
|
-
it('returns defaults for empty object', () => {
|
|
60
|
-
const result = BeadsProviderConfigSchema.parse({});
|
|
61
|
-
expect(result).toEqual({
|
|
62
|
-
enabled: true,
|
|
63
|
-
executable: 'bd',
|
|
64
|
-
timeout: 30000,
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
it('accepts valid values', () => {
|
|
68
|
-
const result = BeadsProviderConfigSchema.parse({
|
|
69
|
-
enabled: false,
|
|
70
|
-
executable: '/usr/local/bin/bd',
|
|
71
|
-
timeout: 60000,
|
|
72
|
-
});
|
|
73
|
-
expect(result.enabled).toBe(false);
|
|
74
|
-
expect(result.executable).toBe('/usr/local/bin/bd');
|
|
75
|
-
expect(result.timeout).toBe(60000);
|
|
76
|
-
});
|
|
77
|
-
it('rejects timeout < 1000', () => {
|
|
78
|
-
expect(() => BeadsProviderConfigSchema.parse({ timeout: 500 })).toThrow('timeout must be >= 1000ms');
|
|
79
|
-
});
|
|
80
|
-
it('accepts timeout = 1000', () => {
|
|
81
|
-
const result = BeadsProviderConfigSchema.parse({ timeout: 1000 });
|
|
82
|
-
expect(result.timeout).toBe(1000);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('ClaudeTasksProviderConfigSchema', () => {
|
|
86
|
-
it('returns defaults for empty object', () => {
|
|
87
|
-
const result = ClaudeTasksProviderConfigSchema.parse({});
|
|
88
|
-
expect(result).toEqual({
|
|
89
|
-
enabled: true,
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
it('accepts enabled = false', () => {
|
|
93
|
-
const result = ClaudeTasksProviderConfigSchema.parse({ enabled: false });
|
|
94
|
-
expect(result.enabled).toBe(false);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
describe('ProvidersConfigSchema', () => {
|
|
98
|
-
it('returns defaults for empty object', () => {
|
|
99
|
-
const result = ProvidersConfigSchema.parse({});
|
|
100
|
-
expect(result).toEqual({
|
|
101
|
-
beads: {
|
|
102
|
-
enabled: true,
|
|
103
|
-
executable: 'bd',
|
|
104
|
-
timeout: 30000,
|
|
105
|
-
},
|
|
106
|
-
claudeTasks: {
|
|
107
|
-
enabled: true,
|
|
108
|
-
},
|
|
109
|
-
sudocode: {
|
|
110
|
-
enabled: true,
|
|
111
|
-
executable: 'sudocode',
|
|
112
|
-
timeout: 30000,
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
it('accepts partial provider configs', () => {
|
|
117
|
-
const result = ProvidersConfigSchema.parse({
|
|
118
|
-
beads: { enabled: false },
|
|
119
|
-
});
|
|
120
|
-
expect(result.beads.enabled).toBe(false);
|
|
121
|
-
expect(result.beads.executable).toBe('bd'); // default
|
|
122
|
-
expect(result.claudeTasks.enabled).toBe(true); // default
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
describe('LoggingConfigSchema', () => {
|
|
126
|
-
it('returns defaults for empty object', () => {
|
|
127
|
-
const result = LoggingConfigSchema.parse({});
|
|
128
|
-
expect(result).toEqual({
|
|
129
|
-
level: 'info',
|
|
130
|
-
file: null,
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
it('accepts valid log levels', () => {
|
|
134
|
-
for (const level of ['debug', 'info', 'warn', 'error']) {
|
|
135
|
-
const result = LoggingConfigSchema.parse({ level });
|
|
136
|
-
expect(result.level).toBe(level);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
it('rejects invalid log level', () => {
|
|
140
|
-
expect(() => LoggingConfigSchema.parse({ level: 'verbose' })).toThrow();
|
|
141
|
-
});
|
|
142
|
-
it('accepts string file path', () => {
|
|
143
|
-
const result = LoggingConfigSchema.parse({ file: 'logs/app.log' });
|
|
144
|
-
expect(result.file).toBe('logs/app.log');
|
|
145
|
-
});
|
|
146
|
-
it('accepts null file', () => {
|
|
147
|
-
const result = LoggingConfigSchema.parse({ file: null });
|
|
148
|
-
expect(result.file).toBeNull();
|
|
149
|
-
});
|
|
150
|
-
it('accepts explicit null file', () => {
|
|
151
|
-
const result = LoggingConfigSchema.parse({ file: null });
|
|
152
|
-
expect(result.file).toBe(null);
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
describe('OpenTasksConfigSchema', () => {
|
|
156
|
-
it('returns full defaults for empty object', () => {
|
|
157
|
-
const result = OpenTasksConfigSchema.parse({});
|
|
158
|
-
expect(result).toEqual({
|
|
159
|
-
version: '1.0',
|
|
160
|
-
storage: {
|
|
161
|
-
jsonlPath: 'graph.jsonl',
|
|
162
|
-
sqlitePath: 'cache.db',
|
|
163
|
-
autoCompactRatio: 2.0,
|
|
164
|
-
},
|
|
165
|
-
daemon: {
|
|
166
|
-
socketPath: 'daemon.sock',
|
|
167
|
-
autoStart: true,
|
|
168
|
-
flushInterval: 1000,
|
|
169
|
-
},
|
|
170
|
-
providers: {
|
|
171
|
-
beads: {
|
|
172
|
-
enabled: true,
|
|
173
|
-
executable: 'bd',
|
|
174
|
-
timeout: 30000,
|
|
175
|
-
},
|
|
176
|
-
claudeTasks: {
|
|
177
|
-
enabled: true,
|
|
178
|
-
},
|
|
179
|
-
sudocode: {
|
|
180
|
-
enabled: true,
|
|
181
|
-
executable: 'sudocode',
|
|
182
|
-
timeout: 30000,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
logging: {
|
|
186
|
-
level: 'info',
|
|
187
|
-
file: null,
|
|
188
|
-
},
|
|
189
|
-
location: undefined,
|
|
190
|
-
connections: [],
|
|
191
|
-
role: 'standalone',
|
|
192
|
-
redirects: [],
|
|
193
|
-
defaultProvider: 'native',
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
it('accepts partial config and fills defaults', () => {
|
|
197
|
-
const result = OpenTasksConfigSchema.parse({
|
|
198
|
-
storage: { jsonlPath: 'custom.jsonl' },
|
|
199
|
-
logging: { level: 'debug' },
|
|
200
|
-
});
|
|
201
|
-
expect(result.storage.jsonlPath).toBe('custom.jsonl');
|
|
202
|
-
expect(result.storage.sqlitePath).toBe('cache.db'); // default
|
|
203
|
-
expect(result.logging.level).toBe('debug');
|
|
204
|
-
expect(result.daemon.autoStart).toBe(true); // default
|
|
205
|
-
});
|
|
206
|
-
it('preserves all provided values', () => {
|
|
207
|
-
const config = {
|
|
208
|
-
version: '1.0',
|
|
209
|
-
storage: {
|
|
210
|
-
jsonlPath: 'data.jsonl',
|
|
211
|
-
sqlitePath: 'data.db',
|
|
212
|
-
autoCompactRatio: 1.5,
|
|
213
|
-
},
|
|
214
|
-
daemon: {
|
|
215
|
-
socketPath: 'app.sock',
|
|
216
|
-
autoStart: false,
|
|
217
|
-
flushInterval: 2000,
|
|
218
|
-
},
|
|
219
|
-
providers: {
|
|
220
|
-
beads: {
|
|
221
|
-
enabled: false,
|
|
222
|
-
executable: '/opt/bd',
|
|
223
|
-
timeout: 45000,
|
|
224
|
-
},
|
|
225
|
-
claudeTasks: {
|
|
226
|
-
enabled: false,
|
|
227
|
-
},
|
|
228
|
-
sudocode: {
|
|
229
|
-
enabled: false,
|
|
230
|
-
executable: '/opt/sudocode',
|
|
231
|
-
timeout: 45000,
|
|
232
|
-
},
|
|
233
|
-
},
|
|
234
|
-
logging: {
|
|
235
|
-
level: 'error',
|
|
236
|
-
file: 'logs/error.log',
|
|
237
|
-
},
|
|
238
|
-
location: undefined,
|
|
239
|
-
connections: [],
|
|
240
|
-
role: 'standalone',
|
|
241
|
-
redirects: [],
|
|
242
|
-
defaultProvider: 'native',
|
|
243
|
-
};
|
|
244
|
-
const result = OpenTasksConfigSchema.parse(config);
|
|
245
|
-
expect(result).toEqual(config);
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
describe('validateConfig', () => {
|
|
249
|
-
it('returns success for valid config', () => {
|
|
250
|
-
const result = validateConfig({});
|
|
251
|
-
expect(result.success).toBe(true);
|
|
252
|
-
expect(result.data).toBeDefined();
|
|
253
|
-
expect(result.errors).toBeUndefined();
|
|
254
|
-
});
|
|
255
|
-
it('returns success with parsed data', () => {
|
|
256
|
-
const result = validateConfig({ logging: { level: 'debug' } });
|
|
257
|
-
expect(result.success).toBe(true);
|
|
258
|
-
expect(result.data?.logging.level).toBe('debug');
|
|
259
|
-
});
|
|
260
|
-
it('returns errors for invalid config', () => {
|
|
261
|
-
const result = validateConfig({
|
|
262
|
-
storage: { autoCompactRatio: 0 },
|
|
263
|
-
});
|
|
264
|
-
expect(result.success).toBe(false);
|
|
265
|
-
expect(result.errors).toBeDefined();
|
|
266
|
-
expect(result.errors?.length).toBeGreaterThan(0);
|
|
267
|
-
expect(result.errors?.[0].path).toBe('storage.autoCompactRatio');
|
|
268
|
-
expect(result.errors?.[0].message).toContain('autoCompactRatio must be >= 1');
|
|
269
|
-
});
|
|
270
|
-
it('returns multiple errors', () => {
|
|
271
|
-
const result = validateConfig({
|
|
272
|
-
storage: { autoCompactRatio: 0 },
|
|
273
|
-
daemon: { flushInterval: 10 },
|
|
274
|
-
});
|
|
275
|
-
expect(result.success).toBe(false);
|
|
276
|
-
expect(result.errors?.length).toBe(2);
|
|
277
|
-
});
|
|
278
|
-
it('provides clear error paths', () => {
|
|
279
|
-
const result = validateConfig({
|
|
280
|
-
providers: {
|
|
281
|
-
beads: { timeout: 100 },
|
|
282
|
-
},
|
|
283
|
-
});
|
|
284
|
-
expect(result.success).toBe(false);
|
|
285
|
-
expect(result.errors?.[0].path).toBe('providers.beads.timeout');
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
|
-
describe('parseConfig', () => {
|
|
289
|
-
it('returns parsed config for valid input', () => {
|
|
290
|
-
const result = parseConfig({});
|
|
291
|
-
expect(result.storage.jsonlPath).toBe('graph.jsonl');
|
|
292
|
-
});
|
|
293
|
-
it('throws for invalid input', () => {
|
|
294
|
-
expect(() => parseConfig({
|
|
295
|
-
logging: { level: 'invalid' },
|
|
296
|
-
})).toThrow();
|
|
297
|
-
});
|
|
298
|
-
});
|
|
299
|
-
});
|
|
300
|
-
//# sourceMappingURL=schema.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-redirects.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/conditional-redirects.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { evaluateConditions, findConditionalRedirectRule, } from '../conditional-redirects.js';
|
|
3
|
-
describe('evaluateConditions', () => {
|
|
4
|
-
it('returns true for no conditions', () => {
|
|
5
|
-
expect(evaluateConditions(undefined, { role: 'worker' })).toBe(true);
|
|
6
|
-
});
|
|
7
|
-
it('returns true for empty conditions', () => {
|
|
8
|
-
expect(evaluateConditions({}, { role: 'worker' })).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
it('matches role condition', () => {
|
|
11
|
-
expect(evaluateConditions({ role: 'worker' }, { role: 'worker' })).toBe(true);
|
|
12
|
-
expect(evaluateConditions({ role: 'worker' }, { role: 'manager' })).toBe(false);
|
|
13
|
-
});
|
|
14
|
-
it('matches branch condition', () => {
|
|
15
|
-
expect(evaluateConditions({ branch: 'feature-*' }, { role: 'worker', branch: 'feature-auth' })).toBe(true);
|
|
16
|
-
expect(evaluateConditions({ branch: 'feature-*' }, { role: 'worker', branch: 'main' })).toBe(false);
|
|
17
|
-
});
|
|
18
|
-
it('matches exact branch', () => {
|
|
19
|
-
expect(evaluateConditions({ branch: 'main' }, { role: 'worker', branch: 'main' })).toBe(true);
|
|
20
|
-
expect(evaluateConditions({ branch: 'main' }, { role: 'worker', branch: 'develop' })).toBe(false);
|
|
21
|
-
});
|
|
22
|
-
it('returns false when branch condition set but no branch in context', () => {
|
|
23
|
-
expect(evaluateConditions({ branch: 'main' }, { role: 'worker' })).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it('matches combined role + branch', () => {
|
|
26
|
-
expect(evaluateConditions({ role: 'worker', branch: 'feature-*' }, { role: 'worker', branch: 'feature-auth' })).toBe(true);
|
|
27
|
-
expect(evaluateConditions({ role: 'worker', branch: 'feature-*' }, { role: 'manager', branch: 'feature-auth' })).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('findConditionalRedirectRule', () => {
|
|
31
|
-
const rules = [
|
|
32
|
-
{
|
|
33
|
-
operations: ['write'],
|
|
34
|
-
pattern: 's-*',
|
|
35
|
-
target: 'opentasks://specs/',
|
|
36
|
-
priority: 50,
|
|
37
|
-
fallback: 'error',
|
|
38
|
-
when: { role: 'worker' },
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
operations: ['read'],
|
|
42
|
-
pattern: '*',
|
|
43
|
-
target: 'opentasks://main/',
|
|
44
|
-
priority: 100,
|
|
45
|
-
fallback: 'local',
|
|
46
|
-
when: { branch: 'feature-*' },
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
operations: ['read', 'write'],
|
|
50
|
-
pattern: '*',
|
|
51
|
-
target: 'opentasks://default/',
|
|
52
|
-
priority: 200,
|
|
53
|
-
fallback: 'local',
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
it('matches rule with role condition', () => {
|
|
57
|
-
const ctx = { role: 'worker', branch: 'main' };
|
|
58
|
-
const rule = findConditionalRedirectRule('write', 's-abc', rules, ctx);
|
|
59
|
-
expect(rule?.target).toBe('opentasks://specs/');
|
|
60
|
-
});
|
|
61
|
-
it('skips rule when role doesnt match', () => {
|
|
62
|
-
const ctx = { role: 'manager', branch: 'main' };
|
|
63
|
-
const rule = findConditionalRedirectRule('write', 's-abc', rules, ctx);
|
|
64
|
-
// Should fall through to the default rule
|
|
65
|
-
expect(rule?.target).toBe('opentasks://default/');
|
|
66
|
-
});
|
|
67
|
-
it('matches rule with branch condition', () => {
|
|
68
|
-
const ctx = { role: 'standalone', branch: 'feature-auth' };
|
|
69
|
-
const rule = findConditionalRedirectRule('read', 'i-abc', rules, ctx);
|
|
70
|
-
expect(rule?.target).toBe('opentasks://main/');
|
|
71
|
-
});
|
|
72
|
-
it('skips branch rule when branch doesnt match', () => {
|
|
73
|
-
const ctx = { role: 'standalone', branch: 'main' };
|
|
74
|
-
const rule = findConditionalRedirectRule('read', 'i-abc', rules, ctx);
|
|
75
|
-
expect(rule?.target).toBe('opentasks://default/');
|
|
76
|
-
});
|
|
77
|
-
it('matches unconditional fallback', () => {
|
|
78
|
-
const ctx = { role: 'standalone' };
|
|
79
|
-
const rule = findConditionalRedirectRule('read', 'i-abc', rules, ctx);
|
|
80
|
-
expect(rule?.target).toBe('opentasks://default/');
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=conditional-redirects.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-redirects.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/conditional-redirects.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EACL,kBAAkB,EAClB,2BAA2B,GAG5B,MAAM,6BAA6B,CAAA;AAEpC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7E,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAChF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAC9E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAC3D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,kBAAkB,CAChB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAC3C,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CACJ,kBAAkB,CAChB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EACvC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAC5C,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,KAAK,GAA8B;QACvC;YACE,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,oBAAoB;YAC5B,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzB;QACD;YACE,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;SAC9B;QACD;YACE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC7B,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,sBAAsB;YAC9B,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,OAAO;SAClB;KACF,CAAA;IAED,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC/D,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACtE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAChE,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACtE,0CAA0C;QAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAC3E,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACrE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QACnE,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACrE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACnD,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACrE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connections.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/connections.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import * as fs from 'node:fs';
|
|
3
|
-
import * as path from 'node:path';
|
|
4
|
-
import * as os from 'node:os';
|
|
5
|
-
import { createConnection, checkConnectionHealth, addConnection, removeConnection, findConnection, checkAllConnectionHealth, } from '../connections.js';
|
|
6
|
-
let tmpDir;
|
|
7
|
-
function setupLocation(name, hash) {
|
|
8
|
-
const dir = path.join(tmpDir, name, '.opentasks');
|
|
9
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
10
|
-
fs.writeFileSync(path.join(dir, 'config.json'), JSON.stringify({
|
|
11
|
-
version: '1.0',
|
|
12
|
-
location: {
|
|
13
|
-
hash,
|
|
14
|
-
uuid: '550e8400-e29b-41d4-a716-446655440000',
|
|
15
|
-
name,
|
|
16
|
-
},
|
|
17
|
-
}));
|
|
18
|
-
return dir;
|
|
19
|
-
}
|
|
20
|
-
beforeEach(() => {
|
|
21
|
-
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'opentasks-test-'));
|
|
22
|
-
});
|
|
23
|
-
afterEach(() => {
|
|
24
|
-
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
25
|
-
});
|
|
26
|
-
describe('createConnection', () => {
|
|
27
|
-
it('reads target config and creates connection', () => {
|
|
28
|
-
const targetDir = setupLocation('other-repo', 'k7m2x9p4');
|
|
29
|
-
const baseDir = path.join(tmpDir, 'my-repo', '.opentasks');
|
|
30
|
-
fs.mkdirSync(baseDir, { recursive: true });
|
|
31
|
-
const connection = createConnection(targetDir, 'peer', baseDir);
|
|
32
|
-
expect(connection.hash).toBe('k7m2x9p4');
|
|
33
|
-
expect(connection.name).toBe('other-repo');
|
|
34
|
-
expect(connection.role).toBe('peer');
|
|
35
|
-
});
|
|
36
|
-
it('throws on non-existent target', () => {
|
|
37
|
-
expect(() => createConnection('/nonexistent/.opentasks')).toThrow('Cannot read config');
|
|
38
|
-
});
|
|
39
|
-
it('throws on target without location identity', () => {
|
|
40
|
-
const dir = path.join(tmpDir, 'bad', '.opentasks');
|
|
41
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
42
|
-
fs.writeFileSync(path.join(dir, 'config.json'), JSON.stringify({}));
|
|
43
|
-
expect(() => createConnection(dir)).toThrow('No valid location identity');
|
|
44
|
-
});
|
|
45
|
-
it('uses absolute path when no basePath provided', () => {
|
|
46
|
-
const targetDir = setupLocation('target', 'abc12345');
|
|
47
|
-
const connection = createConnection(targetDir);
|
|
48
|
-
expect(path.isAbsolute(connection.path)).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe('checkConnectionHealth', () => {
|
|
52
|
-
it('returns reachable for valid connection', () => {
|
|
53
|
-
const targetDir = setupLocation('target', 'abc12345');
|
|
54
|
-
const connection = {
|
|
55
|
-
hash: 'abc12345',
|
|
56
|
-
path: targetDir,
|
|
57
|
-
role: 'peer',
|
|
58
|
-
name: 'target',
|
|
59
|
-
};
|
|
60
|
-
const status = checkConnectionHealth(connection);
|
|
61
|
-
expect(status.health).toBe('reachable');
|
|
62
|
-
expect(status.error).toBeUndefined();
|
|
63
|
-
});
|
|
64
|
-
it('returns unreachable for non-existent path', () => {
|
|
65
|
-
const connection = {
|
|
66
|
-
hash: 'abc12345',
|
|
67
|
-
path: '/nonexistent/.opentasks',
|
|
68
|
-
role: 'peer',
|
|
69
|
-
name: 'missing',
|
|
70
|
-
};
|
|
71
|
-
const status = checkConnectionHealth(connection);
|
|
72
|
-
expect(status.health).toBe('unreachable');
|
|
73
|
-
expect(status.error).toContain('does not exist');
|
|
74
|
-
});
|
|
75
|
-
it('returns hash-mismatch when hash changed', () => {
|
|
76
|
-
const targetDir = setupLocation('target', 'different');
|
|
77
|
-
const connection = {
|
|
78
|
-
hash: 'abc12345',
|
|
79
|
-
path: targetDir,
|
|
80
|
-
role: 'peer',
|
|
81
|
-
name: 'target',
|
|
82
|
-
};
|
|
83
|
-
const status = checkConnectionHealth(connection);
|
|
84
|
-
expect(status.health).toBe('hash-mismatch');
|
|
85
|
-
expect(status.error).toContain('Expected hash abc12345');
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
describe('addConnection', () => {
|
|
89
|
-
it('adds a new connection', () => {
|
|
90
|
-
const existing = [];
|
|
91
|
-
const newConn = {
|
|
92
|
-
hash: 'abc12345',
|
|
93
|
-
path: '/some/path',
|
|
94
|
-
role: 'peer',
|
|
95
|
-
name: 'new',
|
|
96
|
-
};
|
|
97
|
-
const result = addConnection(existing, newConn);
|
|
98
|
-
expect(result).toHaveLength(1);
|
|
99
|
-
expect(result[0]).toEqual(newConn);
|
|
100
|
-
});
|
|
101
|
-
it('replaces existing connection with same hash', () => {
|
|
102
|
-
const existing = [
|
|
103
|
-
{ hash: 'abc12345', path: '/old/path', role: 'peer', name: 'old' },
|
|
104
|
-
];
|
|
105
|
-
const newConn = {
|
|
106
|
-
hash: 'abc12345',
|
|
107
|
-
path: '/new/path',
|
|
108
|
-
role: 'parent',
|
|
109
|
-
name: 'updated',
|
|
110
|
-
};
|
|
111
|
-
const result = addConnection(existing, newConn);
|
|
112
|
-
expect(result).toHaveLength(1);
|
|
113
|
-
expect(result[0].path).toBe('/new/path');
|
|
114
|
-
expect(result[0].role).toBe('parent');
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('removeConnection', () => {
|
|
118
|
-
it('removes by hash', () => {
|
|
119
|
-
const connections = [
|
|
120
|
-
{ hash: 'aaa11111', path: '/a', role: 'peer', name: 'a' },
|
|
121
|
-
{ hash: 'bbb22222', path: '/b', role: 'peer', name: 'b' },
|
|
122
|
-
];
|
|
123
|
-
const result = removeConnection(connections, 'aaa11111');
|
|
124
|
-
expect(result).toHaveLength(1);
|
|
125
|
-
expect(result[0].hash).toBe('bbb22222');
|
|
126
|
-
});
|
|
127
|
-
it('returns unchanged list if hash not found', () => {
|
|
128
|
-
const connections = [
|
|
129
|
-
{ hash: 'aaa11111', path: '/a', role: 'peer', name: 'a' },
|
|
130
|
-
];
|
|
131
|
-
const result = removeConnection(connections, 'notfound');
|
|
132
|
-
expect(result).toHaveLength(1);
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
describe('findConnection', () => {
|
|
136
|
-
it('finds by hash', () => {
|
|
137
|
-
const connections = [
|
|
138
|
-
{ hash: 'aaa11111', path: '/a', role: 'peer', name: 'a' },
|
|
139
|
-
{ hash: 'bbb22222', path: '/b', role: 'peer', name: 'b' },
|
|
140
|
-
];
|
|
141
|
-
expect(findConnection(connections, 'bbb22222')?.name).toBe('b');
|
|
142
|
-
expect(findConnection(connections, 'notfound')).toBeUndefined();
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
describe('checkAllConnectionHealth', () => {
|
|
146
|
-
it('returns status for all connections', () => {
|
|
147
|
-
const targetDir = setupLocation('target', 'abc12345');
|
|
148
|
-
const connections = [
|
|
149
|
-
{ hash: 'abc12345', path: targetDir, role: 'peer', name: 'target' },
|
|
150
|
-
{ hash: 'xyz99999', path: '/nonexistent', role: 'peer', name: 'missing' },
|
|
151
|
-
];
|
|
152
|
-
const statuses = checkAllConnectionHealth(connections);
|
|
153
|
-
expect(statuses).toHaveLength(2);
|
|
154
|
-
expect(statuses[0].health).toBe('reachable');
|
|
155
|
-
expect(statuses[1].health).toBe('unreachable');
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
//# sourceMappingURL=connections.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connections.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/connections.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/hash.test.ts"],"names":[],"mappings":""}
|