@gencode/agents 0.0.9 → 0.0.11
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/builtin-provider-C0d7-NZt.js +66 -0
- package/dist/config/index.d.ts +2 -9
- package/dist/config/index.js +1 -9
- package/dist/config-DG3Q1aJ6.js +1 -0
- package/dist/{index-JD6Ye-N5.d.ts → index-BdfpRxFA.d.ts} +7 -8
- package/dist/index.d.ts +1603 -40
- package/dist/index.js +504 -35
- package/dist/provider-registry-rVbsCDN2.js +1 -0
- package/dist/rolldown-runtime-CNxR59P3.js +1 -0
- package/package.json +2 -2
- package/dist/bootstrap/bootstrap-layout.d.ts +0 -23
- package/dist/bootstrap/bootstrap-layout.d.ts.map +0 -1
- package/dist/bootstrap/bootstrap-layout.js +0 -151
- package/dist/bootstrap/bootstrap-layout.js.map +0 -1
- package/dist/bootstrap/bootstrap.d.ts +0 -36
- package/dist/bootstrap/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap/bootstrap.js +0 -136
- package/dist/bootstrap/bootstrap.js.map +0 -1
- package/dist/bootstrap/templates/AGENTS_MD.d.ts +0 -2
- package/dist/bootstrap/templates/AGENTS_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/AGENTS_MD.js +0 -223
- package/dist/bootstrap/templates/AGENTS_MD.js.map +0 -1
- package/dist/bootstrap/templates/BOOTSTRAP_MD.d.ts +0 -2
- package/dist/bootstrap/templates/BOOTSTRAP_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/BOOTSTRAP_MD.js +0 -66
- package/dist/bootstrap/templates/BOOTSTRAP_MD.js.map +0 -1
- package/dist/bootstrap/templates/HEARTBEAT_MD.d.ts +0 -2
- package/dist/bootstrap/templates/HEARTBEAT_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/HEARTBEAT_MD.js +0 -16
- package/dist/bootstrap/templates/HEARTBEAT_MD.js.map +0 -1
- package/dist/bootstrap/templates/IDENTITY_MD.d.ts +0 -2
- package/dist/bootstrap/templates/IDENTITY_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/IDENTITY_MD.js +0 -31
- package/dist/bootstrap/templates/IDENTITY_MD.js.map +0 -1
- package/dist/bootstrap/templates/SOUL_MD.d.ts +0 -2
- package/dist/bootstrap/templates/SOUL_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/SOUL_MD.js +0 -47
- package/dist/bootstrap/templates/SOUL_MD.js.map +0 -1
- package/dist/bootstrap/templates/TOOLS_MD.d.ts +0 -2
- package/dist/bootstrap/templates/TOOLS_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/TOOLS_MD.js +0 -51
- package/dist/bootstrap/templates/TOOLS_MD.js.map +0 -1
- package/dist/bootstrap/templates/USER_MD.d.ts +0 -2
- package/dist/bootstrap/templates/USER_MD.d.ts.map +0 -1
- package/dist/bootstrap/templates/USER_MD.js +0 -27
- package/dist/bootstrap/templates/USER_MD.js.map +0 -1
- package/dist/bootstrap/templates/index.d.ts +0 -3
- package/dist/bootstrap/templates/index.d.ts.map +0 -1
- package/dist/bootstrap/templates/index.js +0 -26
- package/dist/bootstrap/templates/index.js.map +0 -1
- package/dist/commands/compact.d.ts +0 -28
- package/dist/commands/compact.d.ts.map +0 -1
- package/dist/commands/compact.js +0 -57
- package/dist/commands/compact.js.map +0 -1
- package/dist/commands/help.d.ts +0 -3
- package/dist/commands/help.d.ts.map +0 -1
- package/dist/commands/help.js +0 -50
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/index.d.ts +0 -6
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -32
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/new.d.ts +0 -3
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js +0 -15
- package/dist/commands/new.js.map +0 -1
- package/dist/commands/registry.d.ts +0 -11
- package/dist/commands/registry.d.ts.map +0 -1
- package/dist/commands/registry.js +0 -122
- package/dist/commands/registry.js.map +0 -1
- package/dist/commands/reset.d.ts +0 -3
- package/dist/commands/reset.d.ts.map +0 -1
- package/dist/commands/reset.js +0 -4
- package/dist/commands/reset.js.map +0 -1
- package/dist/commands/skill.d.ts +0 -7
- package/dist/commands/skill.d.ts.map +0 -1
- package/dist/commands/skill.js +0 -23
- package/dist/commands/skill.js.map +0 -1
- package/dist/commands/types.d.ts +0 -57
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/types.js +0 -2
- package/dist/commands/types.js.map +0 -1
- package/dist/config/agents-config.d.ts +0 -85
- package/dist/config/agents-config.d.ts.map +0 -1
- package/dist/config/agents-config.js +0 -257
- package/dist/config/agents-config.js.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/types.d.ts +0 -87
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -6
- package/dist/config/types.js.map +0 -1
- package/dist/config-DJX-VM7S.js +0 -198
- package/dist/config-DJX-VM7S.js.map +0 -1
- package/dist/history/compaction.d.ts +0 -42
- package/dist/history/compaction.d.ts.map +0 -1
- package/dist/history/compaction.js +0 -135
- package/dist/history/compaction.js.map +0 -1
- package/dist/history/index.d.ts +0 -57
- package/dist/history/index.d.ts.map +0 -1
- package/dist/history/index.js +0 -145
- package/dist/history/index.js.map +0 -1
- package/dist/history/limit.d.ts +0 -13
- package/dist/history/limit.d.ts.map +0 -1
- package/dist/history/limit.js +0 -32
- package/dist/history/limit.js.map +0 -1
- package/dist/history/repair.d.ts +0 -13
- package/dist/history/repair.d.ts.map +0 -1
- package/dist/history/repair.js +0 -25
- package/dist/history/repair.js.map +0 -1
- package/dist/history/token-estimate.d.ts +0 -22
- package/dist/history/token-estimate.d.ts.map +0 -1
- package/dist/history/token-estimate.js +0 -38
- package/dist/history/token-estimate.js.map +0 -1
- package/dist/index-JD6Ye-N5.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/llm/client.d.ts +0 -53
- package/dist/llm/client.d.ts.map +0 -1
- package/dist/llm/client.js +0 -214
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/openai-completions-compat.d.ts +0 -23
- package/dist/llm/openai-completions-compat.d.ts.map +0 -1
- package/dist/llm/openai-completions-compat.js +0 -602
- package/dist/llm/openai-completions-compat.js.map +0 -1
- package/dist/llm/openai-stream-error.d.ts +0 -11
- package/dist/llm/openai-stream-error.d.ts.map +0 -1
- package/dist/llm/openai-stream-error.js +0 -77
- package/dist/llm/openai-stream-error.js.map +0 -1
- package/dist/loop-detection/session-state.d.ts +0 -5
- package/dist/loop-detection/session-state.d.ts.map +0 -1
- package/dist/loop-detection/session-state.js +0 -16
- package/dist/loop-detection/session-state.js.map +0 -1
- package/dist/loop-detection/tool-loop-detection.d.ts +0 -122
- package/dist/loop-detection/tool-loop-detection.d.ts.map +0 -1
- package/dist/loop-detection/tool-loop-detection.js +0 -516
- package/dist/loop-detection/tool-loop-detection.js.map +0 -1
- package/dist/manager-qXa-NP0p.js +0 -1651
- package/dist/manager-qXa-NP0p.js.map +0 -1
- package/dist/memory/builtin-provider.d.ts +0 -5
- package/dist/memory/builtin-provider.d.ts.map +0 -1
- package/dist/memory/builtin-provider.js +0 -42
- package/dist/memory/builtin-provider.js.map +0 -1
- package/dist/memory/config.d.ts +0 -50
- package/dist/memory/config.d.ts.map +0 -1
- package/dist/memory/config.js +0 -46
- package/dist/memory/config.js.map +0 -1
- package/dist/memory/embedding-registry.d.ts +0 -37
- package/dist/memory/embedding-registry.d.ts.map +0 -1
- package/dist/memory/embedding-registry.js +0 -56
- package/dist/memory/embedding-registry.js.map +0 -1
- package/dist/memory/embeddings.d.ts +0 -11
- package/dist/memory/embeddings.d.ts.map +0 -1
- package/dist/memory/embeddings.js +0 -40
- package/dist/memory/embeddings.js.map +0 -1
- package/dist/memory/fs-utils.d.ts +0 -12
- package/dist/memory/fs-utils.d.ts.map +0 -1
- package/dist/memory/fs-utils.js +0 -24
- package/dist/memory/fs-utils.js.map +0 -1
- package/dist/memory/hybrid.d.ts +0 -43
- package/dist/memory/hybrid.d.ts.map +0 -1
- package/dist/memory/hybrid.js +0 -80
- package/dist/memory/hybrid.js.map +0 -1
- package/dist/memory/internal.d.ts +0 -28
- package/dist/memory/internal.d.ts.map +0 -1
- package/dist/memory/internal.js +0 -270
- package/dist/memory/internal.js.map +0 -1
- package/dist/memory/manager-search.d.ts +0 -61
- package/dist/memory/manager-search.d.ts.map +0 -1
- package/dist/memory/manager-search.js +0 -106
- package/dist/memory/manager-search.js.map +0 -1
- package/dist/memory/manager.d.ts +0 -126
- package/dist/memory/manager.d.ts.map +0 -1
- package/dist/memory/manager.js +0 -1006
- package/dist/memory/manager.js.map +0 -1
- package/dist/memory/memory-schema.d.ts +0 -11
- package/dist/memory/memory-schema.d.ts.map +0 -1
- package/dist/memory/memory-schema.js +0 -78
- package/dist/memory/memory-schema.js.map +0 -1
- package/dist/memory/memory.d.ts +0 -46
- package/dist/memory/memory.d.ts.map +0 -1
- package/dist/memory/memory.js +0 -127
- package/dist/memory/memory.js.map +0 -1
- package/dist/memory/mmr.d.ts +0 -22
- package/dist/memory/mmr.d.ts.map +0 -1
- package/dist/memory/mmr.js +0 -112
- package/dist/memory/mmr.js.map +0 -1
- package/dist/memory/provider-registry.d.ts +0 -29
- package/dist/memory/provider-registry.d.ts.map +0 -1
- package/dist/memory/provider-registry.js +0 -58
- package/dist/memory/provider-registry.js.map +0 -1
- package/dist/memory/provider.d.ts +0 -40
- package/dist/memory/provider.d.ts.map +0 -1
- package/dist/memory/provider.js +0 -2
- package/dist/memory/provider.js.map +0 -1
- package/dist/memory/session-files.d.ts +0 -13
- package/dist/memory/session-files.d.ts.map +0 -1
- package/dist/memory/session-files.js +0 -116
- package/dist/memory/session-files.js.map +0 -1
- package/dist/memory/sqlite-vec.d.ts +0 -10
- package/dist/memory/sqlite-vec.d.ts.map +0 -1
- package/dist/memory/sqlite-vec.js +0 -20
- package/dist/memory/sqlite-vec.js.map +0 -1
- package/dist/memory/sqlite.d.ts +0 -2
- package/dist/memory/sqlite.d.ts.map +0 -1
- package/dist/memory/sqlite.js +0 -12
- package/dist/memory/sqlite.js.map +0 -1
- package/dist/memory/temporal-decay.d.ts +0 -26
- package/dist/memory/temporal-decay.d.ts.map +0 -1
- package/dist/memory/temporal-decay.js +0 -119
- package/dist/memory/temporal-decay.js.map +0 -1
- package/dist/memory/watch-bridge.d.ts +0 -20
- package/dist/memory/watch-bridge.d.ts.map +0 -1
- package/dist/memory/watch-bridge.js +0 -128
- package/dist/memory/watch-bridge.js.map +0 -1
- package/dist/message.d.ts +0 -11
- package/dist/message.d.ts.map +0 -1
- package/dist/message.js +0 -46
- package/dist/message.js.map +0 -1
- package/dist/plugins/boundary-file-read.d.ts +0 -13
- package/dist/plugins/boundary-file-read.d.ts.map +0 -1
- package/dist/plugins/boundary-file-read.js +0 -31
- package/dist/plugins/boundary-file-read.js.map +0 -1
- package/dist/plugins/config-state.d.ts +0 -35
- package/dist/plugins/config-state.d.ts.map +0 -1
- package/dist/plugins/config-state.js +0 -97
- package/dist/plugins/config-state.js.map +0 -1
- package/dist/plugins/discovery.d.ts +0 -21
- package/dist/plugins/discovery.d.ts.map +0 -1
- package/dist/plugins/discovery.js +0 -425
- package/dist/plugins/discovery.js.map +0 -1
- package/dist/plugins/hooks.d.ts +0 -133
- package/dist/plugins/hooks.d.ts.map +0 -1
- package/dist/plugins/hooks.js +0 -19
- package/dist/plugins/hooks.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -20
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -11
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/loader.d.ts +0 -60
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -224
- package/dist/plugins/loader.js.map +0 -1
- package/dist/plugins/manager.d.ts +0 -20
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -33
- package/dist/plugins/manager.js.map +0 -1
- package/dist/plugins/manifest-registry.d.ts +0 -15
- package/dist/plugins/manifest-registry.d.ts.map +0 -1
- package/dist/plugins/manifest-registry.js +0 -37
- package/dist/plugins/manifest-registry.js.map +0 -1
- package/dist/plugins/manifest.d.ts +0 -6
- package/dist/plugins/manifest.d.ts.map +0 -1
- package/dist/plugins/manifest.js +0 -80
- package/dist/plugins/manifest.js.map +0 -1
- package/dist/plugins/path-safety.d.ts +0 -6
- package/dist/plugins/path-safety.d.ts.map +0 -1
- package/dist/plugins/path-safety.js +0 -32
- package/dist/plugins/path-safety.js.map +0 -1
- package/dist/plugins/runtime-context.d.ts +0 -12
- package/dist/plugins/runtime-context.d.ts.map +0 -1
- package/dist/plugins/runtime-context.js +0 -2
- package/dist/plugins/runtime-context.js.map +0 -1
- package/dist/plugins/runtime.d.ts +0 -20
- package/dist/plugins/runtime.d.ts.map +0 -1
- package/dist/plugins/runtime.js +0 -33
- package/dist/plugins/runtime.js.map +0 -1
- package/dist/plugins/schema-validator.d.ts +0 -17
- package/dist/plugins/schema-validator.d.ts.map +0 -1
- package/dist/plugins/schema-validator.js +0 -26
- package/dist/plugins/schema-validator.js.map +0 -1
- package/dist/plugins/tool-hooks.d.ts +0 -4
- package/dist/plugins/tool-hooks.d.ts.map +0 -1
- package/dist/plugins/tool-hooks.js +0 -63
- package/dist/plugins/tool-hooks.js.map +0 -1
- package/dist/plugins/tools.d.ts +0 -20
- package/dist/plugins/tools.d.ts.map +0 -1
- package/dist/plugins/tools.js +0 -42
- package/dist/plugins/tools.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -61
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -2
- package/dist/plugins/types.js.map +0 -1
- package/dist/plugins/utils.d.ts +0 -4
- package/dist/plugins/utils.d.ts.map +0 -1
- package/dist/plugins/utils.js +0 -22
- package/dist/plugins/utils.js.map +0 -1
- package/dist/runner/agent-runtime.d.ts +0 -62
- package/dist/runner/agent-runtime.d.ts.map +0 -1
- package/dist/runner/agent-runtime.js +0 -186
- package/dist/runner/agent-runtime.js.map +0 -1
- package/dist/runner/announce-loop.d.ts +0 -41
- package/dist/runner/announce-loop.d.ts.map +0 -1
- package/dist/runner/announce-loop.js +0 -94
- package/dist/runner/announce-loop.js.map +0 -1
- package/dist/runner/event-dispatcher.d.ts +0 -12
- package/dist/runner/event-dispatcher.d.ts.map +0 -1
- package/dist/runner/event-dispatcher.js +0 -18
- package/dist/runner/event-dispatcher.js.map +0 -1
- package/dist/runner/finalizer.d.ts +0 -30
- package/dist/runner/finalizer.d.ts.map +0 -1
- package/dist/runner/finalizer.js +0 -75
- package/dist/runner/finalizer.js.map +0 -1
- package/dist/runner/invocation-resolver.d.ts +0 -67
- package/dist/runner/invocation-resolver.d.ts.map +0 -1
- package/dist/runner/invocation-resolver.js +0 -224
- package/dist/runner/invocation-resolver.js.map +0 -1
- package/dist/runner/plugin-context.d.ts +0 -18
- package/dist/runner/plugin-context.d.ts.map +0 -1
- package/dist/runner/plugin-context.js +0 -26
- package/dist/runner/plugin-context.js.map +0 -1
- package/dist/runner/run-context.d.ts +0 -38
- package/dist/runner/run-context.d.ts.map +0 -1
- package/dist/runner/run-context.js +0 -159
- package/dist/runner/run-context.js.map +0 -1
- package/dist/runner/runner-session.d.ts +0 -34
- package/dist/runner/runner-session.d.ts.map +0 -1
- package/dist/runner/runner-session.js +0 -61
- package/dist/runner/runner-session.js.map +0 -1
- package/dist/runner/runner.d.ts +0 -13
- package/dist/runner/runner.d.ts.map +0 -1
- package/dist/runner/runner.js +0 -234
- package/dist/runner/runner.js.map +0 -1
- package/dist/runner/runtime.d.ts +0 -7
- package/dist/runner/runtime.d.ts.map +0 -1
- package/dist/runner/runtime.js +0 -21
- package/dist/runner/runtime.js.map +0 -1
- package/dist/runner/session-lifecycle.d.ts +0 -31
- package/dist/runner/session-lifecycle.d.ts.map +0 -1
- package/dist/runner/session-lifecycle.js +0 -38
- package/dist/runner/session-lifecycle.js.map +0 -1
- package/dist/runner/skill-usage.d.ts +0 -29
- package/dist/runner/skill-usage.d.ts.map +0 -1
- package/dist/runner/skill-usage.js +0 -65
- package/dist/runner/skill-usage.js.map +0 -1
- package/dist/runner/title.d.ts +0 -3
- package/dist/runner/title.d.ts.map +0 -1
- package/dist/runner/title.js +0 -6
- package/dist/runner/title.js.map +0 -1
- package/dist/runner/turn-executor.d.ts +0 -51
- package/dist/runner/turn-executor.d.ts.map +0 -1
- package/dist/runner/turn-executor.js +0 -294
- package/dist/runner/turn-executor.js.map +0 -1
- package/dist/security/command-dangerous-rules.d.ts +0 -4
- package/dist/security/command-dangerous-rules.d.ts.map +0 -1
- package/dist/security/command-dangerous-rules.js +0 -26
- package/dist/security/command-dangerous-rules.js.map +0 -1
- package/dist/security/command-parser.d.ts +0 -3
- package/dist/security/command-parser.d.ts.map +0 -1
- package/dist/security/command-parser.js +0 -191
- package/dist/security/command-parser.js.map +0 -1
- package/dist/security/command-path-guard.d.ts +0 -10
- package/dist/security/command-path-guard.d.ts.map +0 -1
- package/dist/security/command-path-guard.js +0 -126
- package/dist/security/command-path-guard.js.map +0 -1
- package/dist/security/command-policy-config.d.ts +0 -5
- package/dist/security/command-policy-config.d.ts.map +0 -1
- package/dist/security/command-policy-config.js +0 -212
- package/dist/security/command-policy-config.js.map +0 -1
- package/dist/security/command-policy-engine.d.ts +0 -8
- package/dist/security/command-policy-engine.d.ts.map +0 -1
- package/dist/security/command-policy-engine.js +0 -122
- package/dist/security/command-policy-engine.js.map +0 -1
- package/dist/security/command-policy-types.d.ts +0 -67
- package/dist/security/command-policy-types.d.ts.map +0 -1
- package/dist/security/command-policy-types.js +0 -2
- package/dist/security/command-policy-types.js.map +0 -1
- package/dist/security/command-safe-bins.d.ts +0 -4
- package/dist/security/command-safe-bins.d.ts.map +0 -1
- package/dist/security/command-safe-bins.js +0 -84
- package/dist/security/command-safe-bins.js.map +0 -1
- package/dist/security/command-trusted-executables.d.ts +0 -6
- package/dist/security/command-trusted-executables.d.ts.map +0 -1
- package/dist/security/command-trusted-executables.js +0 -57
- package/dist/security/command-trusted-executables.js.map +0 -1
- package/dist/session/session.d.ts +0 -45
- package/dist/session/session.d.ts.map +0 -1
- package/dist/session/session.js +0 -167
- package/dist/session/session.js.map +0 -1
- package/dist/skills/skills.d.ts +0 -23
- package/dist/skills/skills.d.ts.map +0 -1
- package/dist/skills/skills.js +0 -109
- package/dist/skills/skills.js.map +0 -1
- package/dist/subagent/registry-persist.d.ts +0 -31
- package/dist/subagent/registry-persist.d.ts.map +0 -1
- package/dist/subagent/registry-persist.js +0 -115
- package/dist/subagent/registry-persist.js.map +0 -1
- package/dist/subagent/registry.d.ts +0 -52
- package/dist/subagent/registry.d.ts.map +0 -1
- package/dist/subagent/registry.js +0 -122
- package/dist/subagent/registry.js.map +0 -1
- package/dist/subagent/types.d.ts +0 -20
- package/dist/subagent/types.d.ts.map +0 -1
- package/dist/subagent/types.js +0 -2
- package/dist/subagent/types.js.map +0 -1
- package/dist/system-prompt/builder.d.ts +0 -50
- package/dist/system-prompt/builder.d.ts.map +0 -1
- package/dist/system-prompt/builder.js +0 -335
- package/dist/system-prompt/builder.js.map +0 -1
- package/dist/tools/apply-patch.d.ts +0 -15
- package/dist/tools/apply-patch.d.ts.map +0 -1
- package/dist/tools/apply-patch.js +0 -425
- package/dist/tools/apply-patch.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -11
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -13
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/cron.d.ts +0 -30
- package/dist/tools/cron.d.ts.map +0 -1
- package/dist/tools/cron.js +0 -57
- package/dist/tools/cron.js.map +0 -1
- package/dist/tools/exec.d.ts +0 -18
- package/dist/tools/exec.d.ts.map +0 -1
- package/dist/tools/exec.js +0 -144
- package/dist/tools/exec.js.map +0 -1
- package/dist/tools/files.d.ts +0 -37
- package/dist/tools/files.d.ts.map +0 -1
- package/dist/tools/files.js +0 -191
- package/dist/tools/files.js.map +0 -1
- package/dist/tools/image.d.ts +0 -14
- package/dist/tools/image.d.ts.map +0 -1
- package/dist/tools/image.js +0 -26
- package/dist/tools/image.js.map +0 -1
- package/dist/tools/index.d.ts +0 -36
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -53
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/memory.d.ts +0 -41
- package/dist/tools/memory.d.ts.map +0 -1
- package/dist/tools/memory.js +0 -114
- package/dist/tools/memory.js.map +0 -1
- package/dist/tools/process-registry.d.ts +0 -47
- package/dist/tools/process-registry.d.ts.map +0 -1
- package/dist/tools/process-registry.js +0 -262
- package/dist/tools/process-registry.js.map +0 -1
- package/dist/tools/process.d.ts +0 -17
- package/dist/tools/process.d.ts.map +0 -1
- package/dist/tools/process.js +0 -114
- package/dist/tools/process.js.map +0 -1
- package/dist/tools/subagent-spawn.d.ts +0 -44
- package/dist/tools/subagent-spawn.d.ts.map +0 -1
- package/dist/tools/subagent-spawn.js +0 -101
- package/dist/tools/subagent-spawn.js.map +0 -1
- package/dist/tools/subagents.d.ts +0 -30
- package/dist/tools/subagents.d.ts.map +0 -1
- package/dist/tools/subagents.js +0 -101
- package/dist/tools/subagents.js.map +0 -1
- package/dist/types.d.ts +0 -153
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -6
- package/dist/types.js.map +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { unwrapExecutable } from "./command-trusted-executables.js";
|
|
3
|
-
const DENIED_FLAGS = {
|
|
4
|
-
grep: ["-r", "-R", "--recursive", "--dereference-recursive", "-f", "--file"],
|
|
5
|
-
jq: ["-f", "--from-file", "--argfile", "--slurpfile", "--rawfile", "-L", "--library-path"],
|
|
6
|
-
sort: ["-o", "--output", "--compress-program", "--files0-from", "--random-source", "--temporary-directory", "-T"],
|
|
7
|
-
wc: ["--files0-from"],
|
|
8
|
-
};
|
|
9
|
-
function basename(value) {
|
|
10
|
-
if (!value) {
|
|
11
|
-
return "";
|
|
12
|
-
}
|
|
13
|
-
return path.posix.basename(value).toLowerCase();
|
|
14
|
-
}
|
|
15
|
-
function includesDeniedFlag(args, deniedFlags) {
|
|
16
|
-
for (let index = 0; index < args.length; index += 1) {
|
|
17
|
-
const arg = args[index];
|
|
18
|
-
for (const denied of deniedFlags) {
|
|
19
|
-
if (arg === denied || arg.startsWith(`${denied}=`) || (denied.length === 2 && arg.startsWith(denied) && arg.length > 2)) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
function countPositionals(args) {
|
|
27
|
-
const positionals = [];
|
|
28
|
-
let stopFlags = false;
|
|
29
|
-
for (const arg of args) {
|
|
30
|
-
if (stopFlags) {
|
|
31
|
-
positionals.push(arg);
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
if (arg === "--") {
|
|
35
|
-
stopFlags = true;
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if (arg.startsWith("-")) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
positionals.push(arg);
|
|
42
|
-
}
|
|
43
|
-
return positionals;
|
|
44
|
-
}
|
|
45
|
-
function validateSafeBinArgs(executable, args) {
|
|
46
|
-
if (includesDeniedFlag(args, DENIED_FLAGS[executable] ?? [])) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
const positionals = countPositionals(args);
|
|
50
|
-
switch (executable) {
|
|
51
|
-
case "jq":
|
|
52
|
-
return positionals.length <= 1;
|
|
53
|
-
case "head":
|
|
54
|
-
case "tail":
|
|
55
|
-
case "uniq":
|
|
56
|
-
case "tr":
|
|
57
|
-
case "wc":
|
|
58
|
-
case "cut":
|
|
59
|
-
return positionals.length === 0;
|
|
60
|
-
case "grep":
|
|
61
|
-
return positionals.length <= 1;
|
|
62
|
-
case "sort":
|
|
63
|
-
return positionals.length === 0;
|
|
64
|
-
default:
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
export function matchSafeBin(segment, safeBins, allowlist) {
|
|
69
|
-
if (!safeBins.enabled) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
const executable = basename(unwrapExecutable(segment, allowlist));
|
|
73
|
-
if (!executable) {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
if (!safeBins.bins.some((entry) => entry.toLowerCase() === executable)) {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
const args = basename(segment.executable) === "env"
|
|
80
|
-
? segment.argv.slice(segment.argv.findIndex((arg) => !/^[A-Za-z_][A-Za-z0-9_]*=/.test(arg) && arg !== "env") + 1)
|
|
81
|
-
: segment.argv.slice(1);
|
|
82
|
-
return validateSafeBinArgs(executable, args) ? executable : null;
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=command-safe-bins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-safe-bins.js","sourceRoot":"","sources":["../../src/security/command-safe-bins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { CommandAllowlistPolicy, CommandTrustedExecutablesPolicy, ParsedCommandSegment } from "./command-policy-types.js";
|
|
2
|
-
export declare function isAllowedWrapper(value: string | null, policy: CommandAllowlistPolicy): boolean;
|
|
3
|
-
export declare function unwrapExecutable(segment: ParsedCommandSegment, policy: CommandAllowlistPolicy): string | null;
|
|
4
|
-
export declare function matchTrustedExecutable(segment: ParsedCommandSegment, trustedExecutables: CommandTrustedExecutablesPolicy, allowlist: CommandAllowlistPolicy): string | null;
|
|
5
|
-
export declare function matchAllowlistExecutable(segment: ParsedCommandSegment, policy: CommandAllowlistPolicy): string | null;
|
|
6
|
-
//# sourceMappingURL=command-trusted-executables.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-trusted-executables.d.ts","sourceRoot":"","sources":["../../src/security/command-trusted-executables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AASnC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAG9F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAgB7G;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,kBAAkB,EAAE,+BAA+B,EACnD,SAAS,EAAE,sBAAsB,GAChC,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,sBAAsB,GAC7B,MAAM,GAAG,IAAI,CAaf"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
function basename(value) {
|
|
3
|
-
if (!value) {
|
|
4
|
-
return "";
|
|
5
|
-
}
|
|
6
|
-
return path.posix.basename(value).toLowerCase();
|
|
7
|
-
}
|
|
8
|
-
export function isAllowedWrapper(value, policy) {
|
|
9
|
-
const name = basename(value);
|
|
10
|
-
return policy.wrappers.some((entry) => entry.toLowerCase() === name);
|
|
11
|
-
}
|
|
12
|
-
export function unwrapExecutable(segment, policy) {
|
|
13
|
-
if (!segment.executable) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
if (!isAllowedWrapper(segment.executable, policy)) {
|
|
17
|
-
return segment.executable;
|
|
18
|
-
}
|
|
19
|
-
const wrapperName = basename(segment.executable);
|
|
20
|
-
if (wrapperName === "env") {
|
|
21
|
-
let index = 1;
|
|
22
|
-
while (index < segment.argv.length && /^[A-Za-z_][A-Za-z0-9_]*=/.test(segment.argv[index])) {
|
|
23
|
-
index += 1;
|
|
24
|
-
}
|
|
25
|
-
return segment.argv[index] ?? null;
|
|
26
|
-
}
|
|
27
|
-
return segment.argv[1] ?? null;
|
|
28
|
-
}
|
|
29
|
-
export function matchTrustedExecutable(segment, trustedExecutables, allowlist) {
|
|
30
|
-
const executable = unwrapExecutable(segment, allowlist);
|
|
31
|
-
const name = basename(executable);
|
|
32
|
-
if (!name || !trustedExecutables.enabled) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
for (const entry of trustedExecutables.executables) {
|
|
36
|
-
const entryName = basename(entry);
|
|
37
|
-
if (entryName === name) {
|
|
38
|
-
return entry;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
export function matchAllowlistExecutable(segment, policy) {
|
|
44
|
-
const executable = unwrapExecutable(segment, policy);
|
|
45
|
-
const name = basename(executable);
|
|
46
|
-
if (!name) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
for (const entry of policy.executables) {
|
|
50
|
-
const entryName = basename(entry);
|
|
51
|
-
if (entryName === name) {
|
|
52
|
-
return entry;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=command-trusted-executables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-trusted-executables.js","sourceRoot":"","sources":["../../src/security/command-trusted-executables.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,SAAS,QAAQ,CAAC,KAAoB;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,MAA8B;IACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA6B,EAAE,MAA8B;IAC5F,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;YAC5F,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAA6B,EAC7B,kBAAmD,EACnD,SAAiC;IAEjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA6B,EAC7B,MAA8B;IAE9B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { TranscriptEntry, Channel } from "../types.js";
|
|
2
|
-
import type { MemoryChangedHandler } from "../memory/provider.js";
|
|
3
|
-
export type SessionMetadata = {
|
|
4
|
-
id: string;
|
|
5
|
-
title: string;
|
|
6
|
-
channel: Channel;
|
|
7
|
-
createdAt: string;
|
|
8
|
-
updatedAt: string;
|
|
9
|
-
};
|
|
10
|
-
export type SessionSummary = {
|
|
11
|
-
id: string;
|
|
12
|
-
title: string;
|
|
13
|
-
channel: Channel;
|
|
14
|
-
createdAt: string;
|
|
15
|
-
updatedAt: string;
|
|
16
|
-
};
|
|
17
|
-
/** Resolves the sessions directory path within a data directory */
|
|
18
|
-
export declare function sessionsDir(dataDir: string): string;
|
|
19
|
-
/** Resolves the directory for a specific session */
|
|
20
|
-
export declare function sessionDir(dataDir: string, sessionId: string): string;
|
|
21
|
-
/** Resolves the transcript file path for a session */
|
|
22
|
-
export declare function transcriptPath(dataDir: string, sessionId: string): string;
|
|
23
|
-
/** Resolves the metadata file path for a session */
|
|
24
|
-
export declare function metadataPath(dataDir: string, sessionId: string): string;
|
|
25
|
-
/** Creates a new session with a generated ID */
|
|
26
|
-
export declare function createSession(dataDir: string, channel: Channel): Promise<string>;
|
|
27
|
-
/** Ensures a session directory exists (for resuming an existing session) */
|
|
28
|
-
export declare function ensureSession(dataDir: string, sessionId: string): Promise<void>;
|
|
29
|
-
/** Loads all transcript entries from a session */
|
|
30
|
-
export declare function loadTranscript(dataDir: string, sessionId: string): Promise<TranscriptEntry[]>;
|
|
31
|
-
/** Appends a single entry to the transcript file */
|
|
32
|
-
export declare function appendTranscriptEntry(dataDir: string, sessionId: string, entry: TranscriptEntry, options?: {
|
|
33
|
-
providerId?: string;
|
|
34
|
-
pluginId?: string;
|
|
35
|
-
onMemoryChanged?: MemoryChangedHandler;
|
|
36
|
-
}): Promise<void>;
|
|
37
|
-
/** Lists all session IDs within a data directory */
|
|
38
|
-
export declare function listSessions(dataDir: string): Promise<string[]>;
|
|
39
|
-
/** Saves session metadata to disk */
|
|
40
|
-
export declare function saveSessionMetadata(dataDir: string, metadata: SessionMetadata): Promise<void>;
|
|
41
|
-
/** Loads session metadata from disk; returns null if not found */
|
|
42
|
-
export declare function loadSessionMetadata(dataDir: string, sessionId: string): Promise<SessionMetadata | null>;
|
|
43
|
-
/** Lists all sessions with their metadata summaries, optionally filtered by channel */
|
|
44
|
-
export declare function listSessionSummaries(dataDir: string, channel?: Channel): Promise<SessionSummary[]>;
|
|
45
|
-
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,gDAAgD;AAChD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtF;AAED,4EAA4E;AAC5E,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF;AAED,kDAAkD;AAClD,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB5B;AAED,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,oBAAoB,CAAA;CAAE,GAC3F,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED,oDAAoD;AACpD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAerE;AAED,qCAAqC;AACrC,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAInG;AAED,kEAAkE;AAClE,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA4BjC;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAexG"}
|
package/dist/session/session.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { randomUUID } from "node:crypto";
|
|
4
|
-
/** Resolves the sessions directory path within a data directory */
|
|
5
|
-
export function sessionsDir(dataDir) {
|
|
6
|
-
return path.join(dataDir, ".aimax", "sessions");
|
|
7
|
-
}
|
|
8
|
-
/** Resolves the directory for a specific session */
|
|
9
|
-
export function sessionDir(dataDir, sessionId) {
|
|
10
|
-
return path.join(sessionsDir(dataDir), sessionId);
|
|
11
|
-
}
|
|
12
|
-
/** Resolves the transcript file path for a session */
|
|
13
|
-
export function transcriptPath(dataDir, sessionId) {
|
|
14
|
-
return path.join(sessionDir(dataDir, sessionId), "transcript.jsonl");
|
|
15
|
-
}
|
|
16
|
-
/** Resolves the metadata file path for a session */
|
|
17
|
-
export function metadataPath(dataDir, sessionId) {
|
|
18
|
-
return path.join(sessionDir(dataDir, sessionId), "session.json");
|
|
19
|
-
}
|
|
20
|
-
/** Creates a new session with a generated ID */
|
|
21
|
-
export async function createSession(dataDir, channel) {
|
|
22
|
-
const sessionId = randomUUID();
|
|
23
|
-
const dir = sessionDir(dataDir, sessionId);
|
|
24
|
-
await fs.mkdir(dir, { recursive: true });
|
|
25
|
-
// Store channel in a temporary file to be used later
|
|
26
|
-
const channelPath = path.join(dir, ".channel");
|
|
27
|
-
await fs.writeFile(channelPath, channel, "utf-8");
|
|
28
|
-
return sessionId;
|
|
29
|
-
}
|
|
30
|
-
/** Ensures a session directory exists (for resuming an existing session) */
|
|
31
|
-
export async function ensureSession(dataDir, sessionId) {
|
|
32
|
-
const dir = sessionDir(dataDir, sessionId);
|
|
33
|
-
await fs.mkdir(dir, { recursive: true });
|
|
34
|
-
}
|
|
35
|
-
/** Loads all transcript entries from a session */
|
|
36
|
-
export async function loadTranscript(dataDir, sessionId) {
|
|
37
|
-
const filePath = transcriptPath(dataDir, sessionId);
|
|
38
|
-
let content;
|
|
39
|
-
try {
|
|
40
|
-
content = await fs.readFile(filePath, "utf-8");
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
const code = err.code;
|
|
44
|
-
if (code === "ENOENT") {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
throw err;
|
|
48
|
-
}
|
|
49
|
-
const entries = [];
|
|
50
|
-
for (const line of content.split("\n")) {
|
|
51
|
-
const trimmed = line.trim();
|
|
52
|
-
if (!trimmed)
|
|
53
|
-
continue;
|
|
54
|
-
try {
|
|
55
|
-
entries.push(JSON.parse(trimmed));
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
// Skip malformed lines
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return entries;
|
|
62
|
-
}
|
|
63
|
-
/** Appends a single entry to the transcript file */
|
|
64
|
-
export async function appendTranscriptEntry(dataDir, sessionId, entry, options) {
|
|
65
|
-
await ensureSession(dataDir, sessionId);
|
|
66
|
-
const filePath = transcriptPath(dataDir, sessionId);
|
|
67
|
-
const line = JSON.stringify(entry) + "\n";
|
|
68
|
-
await fs.appendFile(filePath, line, "utf-8");
|
|
69
|
-
try {
|
|
70
|
-
const { resolveMemoryProvider } = await import("../memory/provider-registry.js");
|
|
71
|
-
const { createBuiltinMemoryProvider } = await import("../memory/builtin-provider.js");
|
|
72
|
-
const memoryRoot = path.join(dataDir, ".aimax");
|
|
73
|
-
const resolved = resolveMemoryProvider({
|
|
74
|
-
providerId: options?.providerId,
|
|
75
|
-
pluginId: options?.pluginId,
|
|
76
|
-
dataDir,
|
|
77
|
-
memoryDir: memoryRoot,
|
|
78
|
-
});
|
|
79
|
-
const provider = resolved?.provider ?? createBuiltinMemoryProvider({ dataDir, memoryDir: memoryRoot });
|
|
80
|
-
if (provider.noteSessionUpdate) {
|
|
81
|
-
provider.noteSessionUpdate(filePath);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
// Non-fatal: memory index may be unavailable.
|
|
86
|
-
}
|
|
87
|
-
if (options?.onMemoryChanged) {
|
|
88
|
-
await Promise.resolve(options.onMemoryChanged({
|
|
89
|
-
reason: "transcript-append",
|
|
90
|
-
files: [path.join("sessions", sessionId, "transcript.jsonl").replace(/\\/g, "/")],
|
|
91
|
-
source: "sessions",
|
|
92
|
-
sessionId,
|
|
93
|
-
providerId: options.providerId ?? options.pluginId,
|
|
94
|
-
timestamp: new Date().toISOString(),
|
|
95
|
-
})).catch(() => { });
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/** Lists all session IDs within a data directory */
|
|
99
|
-
export async function listSessions(dataDir) {
|
|
100
|
-
const dir = sessionsDir(dataDir);
|
|
101
|
-
try {
|
|
102
|
-
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
103
|
-
return entries
|
|
104
|
-
.filter((entry) => entry.isDirectory())
|
|
105
|
-
.map((entry) => entry.name)
|
|
106
|
-
.sort();
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
const code = err.code;
|
|
110
|
-
if (code === "ENOENT") {
|
|
111
|
-
return [];
|
|
112
|
-
}
|
|
113
|
-
throw err;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/** Saves session metadata to disk */
|
|
117
|
-
export async function saveSessionMetadata(dataDir, metadata) {
|
|
118
|
-
await ensureSession(dataDir, metadata.id);
|
|
119
|
-
const filePath = metadataPath(dataDir, metadata.id);
|
|
120
|
-
await fs.writeFile(filePath, JSON.stringify(metadata, null, 2), "utf-8");
|
|
121
|
-
}
|
|
122
|
-
/** Loads session metadata from disk; returns null if not found */
|
|
123
|
-
export async function loadSessionMetadata(dataDir, sessionId) {
|
|
124
|
-
const filePath = metadataPath(dataDir, sessionId);
|
|
125
|
-
try {
|
|
126
|
-
const content = await fs.readFile(filePath, "utf-8");
|
|
127
|
-
const meta = JSON.parse(content);
|
|
128
|
-
// If channel is not in metadata, try to read from .channel file for backward compatibility
|
|
129
|
-
if (!meta.channel) {
|
|
130
|
-
const channelPath = path.join(sessionDir(dataDir, sessionId), ".channel");
|
|
131
|
-
try {
|
|
132
|
-
const channelContent = await fs.readFile(channelPath, "utf-8");
|
|
133
|
-
meta.channel = channelContent.trim();
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
// Default to WEB if no channel info exists
|
|
137
|
-
meta.channel = "WEB";
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return meta;
|
|
141
|
-
}
|
|
142
|
-
catch (err) {
|
|
143
|
-
const code = err.code;
|
|
144
|
-
if (code === "ENOENT") {
|
|
145
|
-
// Metadata file doesn't exist, return null
|
|
146
|
-
// Note: The .channel file is only used when metadata exists but lacks channel
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
throw err;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/** Lists all sessions with their metadata summaries, optionally filtered by channel */
|
|
153
|
-
export async function listSessionSummaries(dataDir, channel) {
|
|
154
|
-
const ids = await listSessions(dataDir);
|
|
155
|
-
const summaries = await Promise.all(ids.map(async (id) => {
|
|
156
|
-
const meta = await loadSessionMetadata(dataDir, id);
|
|
157
|
-
return {
|
|
158
|
-
id,
|
|
159
|
-
title: meta?.title ?? id,
|
|
160
|
-
channel: meta?.channel ?? "WEB",
|
|
161
|
-
createdAt: meta?.createdAt ?? "",
|
|
162
|
-
updatedAt: meta?.updatedAt ?? "",
|
|
163
|
-
};
|
|
164
|
-
}));
|
|
165
|
-
return channel ? summaries.filter((s) => s.channel === channel) : summaries;
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
|
package/dist/skills/skills.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/** Resolves the skills directory path within a data directory */
|
|
2
|
-
export declare function skillsDir(dataDir: string): string;
|
|
3
|
-
/** Represents a loaded skill */
|
|
4
|
-
export type Skill = {
|
|
5
|
-
name: string;
|
|
6
|
-
description: string;
|
|
7
|
-
location: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Loads all installed skills from the skills directory.
|
|
11
|
-
* Each skill is a directory containing a SKILL.md file.
|
|
12
|
-
* Returns at most MAX_SKILLS_IN_PROMPT skills.
|
|
13
|
-
*/
|
|
14
|
-
export declare function loadSkills(dataDir: string): Promise<Skill[]>;
|
|
15
|
-
export declare function loadSkillsWithPluginDirs(dataDir: string, pluginDirs: string[]): Promise<Skill[]>;
|
|
16
|
-
export declare function loadSkillsFromDirs(dirs: string[]): Promise<Skill[]>;
|
|
17
|
-
/**
|
|
18
|
-
* Builds the skills section of the system prompt.
|
|
19
|
-
* Returns an empty string when no skills are available.
|
|
20
|
-
* Format matches openclaw's <available_skills> XML structure.
|
|
21
|
-
*/
|
|
22
|
-
export declare function buildSkillsPrompt(skills: Skill[]): string;
|
|
23
|
-
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/skills/skills.ts"],"names":[],"mappings":"AAGA,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,gCAAgC;AAChC,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiCF;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAElE;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,KAAK,EAAE,CAAC,CAGlB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA0CzE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAmBzD"}
|
package/dist/skills/skills.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
/** Resolves the skills directory path within a data directory */
|
|
4
|
-
export function skillsDir(dataDir) {
|
|
5
|
-
return path.join(dataDir, ".aimax", "skills");
|
|
6
|
-
}
|
|
7
|
-
/** Maximum characters allowed for a skill description in the prompt */
|
|
8
|
-
const MAX_SKILL_DESCRIPTION_CHARS = 500;
|
|
9
|
-
/** Maximum skills to include in the prompt */
|
|
10
|
-
const MAX_SKILLS_IN_PROMPT = 50;
|
|
11
|
-
/**
|
|
12
|
-
* Extracts the first non-empty line that could serve as a description
|
|
13
|
-
* from a SKILL.md content string.
|
|
14
|
-
* Looks for a line starting with "Description:" or the first paragraph text.
|
|
15
|
-
*/
|
|
16
|
-
function extractSkillDescription(content) {
|
|
17
|
-
const lines = content.split("\n").map((l) => l.trim());
|
|
18
|
-
// Look for an explicit "Description:" field
|
|
19
|
-
for (const line of lines) {
|
|
20
|
-
if (line.toLowerCase().startsWith("description:")) {
|
|
21
|
-
const desc = line.slice("description:".length).trim();
|
|
22
|
-
if (desc)
|
|
23
|
-
return desc.slice(0, MAX_SKILL_DESCRIPTION_CHARS);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// Fall back to first non-empty, non-heading line
|
|
27
|
-
for (const line of lines) {
|
|
28
|
-
if (line && !line.startsWith("#") && !line.startsWith("---")) {
|
|
29
|
-
return line.slice(0, MAX_SKILL_DESCRIPTION_CHARS);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return "";
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Loads all installed skills from the skills directory.
|
|
36
|
-
* Each skill is a directory containing a SKILL.md file.
|
|
37
|
-
* Returns at most MAX_SKILLS_IN_PROMPT skills.
|
|
38
|
-
*/
|
|
39
|
-
export async function loadSkills(dataDir) {
|
|
40
|
-
return loadSkillsFromDirs([skillsDir(dataDir)]);
|
|
41
|
-
}
|
|
42
|
-
export async function loadSkillsWithPluginDirs(dataDir, pluginDirs) {
|
|
43
|
-
const dirs = [skillsDir(dataDir), ...pluginDirs];
|
|
44
|
-
return loadSkillsFromDirs(dirs);
|
|
45
|
-
}
|
|
46
|
-
export async function loadSkillsFromDirs(dirs) {
|
|
47
|
-
const skills = [];
|
|
48
|
-
const seenNames = new Set();
|
|
49
|
-
for (const dir of dirs) {
|
|
50
|
-
let entries;
|
|
51
|
-
try {
|
|
52
|
-
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
const code = err.code;
|
|
56
|
-
if (code === "ENOENT") {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
throw err;
|
|
60
|
-
}
|
|
61
|
-
const skillDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
62
|
-
for (const skillName of skillDirs.sort()) {
|
|
63
|
-
if (skills.length >= MAX_SKILLS_IN_PROMPT)
|
|
64
|
-
break;
|
|
65
|
-
if (seenNames.has(skillName))
|
|
66
|
-
continue;
|
|
67
|
-
const skillMdPath = path.join(dir, skillName, "SKILL.md");
|
|
68
|
-
let content;
|
|
69
|
-
try {
|
|
70
|
-
content = await fs.readFile(skillMdPath, "utf-8");
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
const code = err.code;
|
|
74
|
-
if (code === "ENOENT")
|
|
75
|
-
continue; // no SKILL.md, skip
|
|
76
|
-
throw err;
|
|
77
|
-
}
|
|
78
|
-
const description = extractSkillDescription(content);
|
|
79
|
-
skills.push({
|
|
80
|
-
name: skillName,
|
|
81
|
-
description,
|
|
82
|
-
location: skillMdPath,
|
|
83
|
-
});
|
|
84
|
-
seenNames.add(skillName);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return skills;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Builds the skills section of the system prompt.
|
|
91
|
-
* Returns an empty string when no skills are available.
|
|
92
|
-
* Format matches openclaw's <available_skills> XML structure.
|
|
93
|
-
*/
|
|
94
|
-
export function buildSkillsPrompt(skills) {
|
|
95
|
-
if (skills.length === 0) {
|
|
96
|
-
return "";
|
|
97
|
-
}
|
|
98
|
-
const skillEntries = skills
|
|
99
|
-
.map((skill) => [
|
|
100
|
-
" <skill>",
|
|
101
|
-
` <name>${skill.name}</name>`,
|
|
102
|
-
` <description>${skill.description}</description>`,
|
|
103
|
-
` <location>${skill.location}</location>`,
|
|
104
|
-
" </skill>",
|
|
105
|
-
].join("\n"))
|
|
106
|
-
.join("\n");
|
|
107
|
-
return `<available_skills>\n${skillEntries}\n</available_skills>`;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=skills.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/skills/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Subagent registry persistence for AIMax.
|
|
3
|
-
* Handles saving/loading subagent run records to/from disk.
|
|
4
|
-
*/
|
|
5
|
-
import type { SubagentRunRecord } from "./types.js";
|
|
6
|
-
/** Persistable subagent run record (without AbortController) */
|
|
7
|
-
export type PersistedSubagentRunRecord = Omit<SubagentRunRecord, "abortController"> & {
|
|
8
|
-
version?: number;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Loads subagent run records from disk.
|
|
12
|
-
* Returns an empty map if the file doesn't exist or is invalid.
|
|
13
|
-
*/
|
|
14
|
-
export declare function loadSubagentRegistryFromDisk(dataDir: string): Promise<Map<string, SubagentRunRecord>>;
|
|
15
|
-
/**
|
|
16
|
-
* Saves subagent run records to disk.
|
|
17
|
-
* Only records with a valid endedAt timestamp are persisted
|
|
18
|
-
* (completed runs are kept for history, running runs are not persisted).
|
|
19
|
-
*/
|
|
20
|
-
export declare function saveSubagentRegistryToDisk(dataDir: string, runs: Map<string, SubagentRunRecord>): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Lists subagent runs for a specific parent session from disk.
|
|
23
|
-
* Useful for querying historical subagent runs.
|
|
24
|
-
*/
|
|
25
|
-
export declare function listSubagentRunsFromDisk(dataDir: string, parentSessionId: string): Promise<PersistedSubagentRunRecord[]>;
|
|
26
|
-
/**
|
|
27
|
-
* Cleans up old subagent records from disk.
|
|
28
|
-
* Removes records older than the specified number of days.
|
|
29
|
-
*/
|
|
30
|
-
export declare function cleanupOldSubagentRecords(dataDir: string, olderThanDays?: number): Promise<number>;
|
|
31
|
-
//# sourceMappingURL=registry-persist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-persist.d.ts","sourceRoot":"","sources":["../../src/subagent/registry-persist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,gEAAgE;AAChE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,iBAAiB,EACjB,iBAAiB,CAClB,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CA+CzC;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAYvC;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
|