atabey 0.0.18 → 0.0.19
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/bin/cli.js +14 -2
- package/dist/atabey/src/cli/commands/check.js +2 -3
- package/dist/atabey/src/cli/commands/check.js.map +1 -1
- package/dist/atabey/src/cli/commands/explorer.js.map +1 -1
- package/dist/atabey/src/cli/commands/index-codebase.js +13 -2
- package/dist/atabey/src/cli/commands/index-codebase.js.map +1 -1
- package/dist/atabey/src/cli/commands/init/scaffold-core.js +22 -0
- package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/atabey/src/cli/commands/orchestrate.d.ts +11 -10
- package/dist/atabey/src/cli/commands/orchestrate.js +49 -24
- package/dist/atabey/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/atabey/src/cli/index.js +7 -0
- package/dist/atabey/src/cli/index.js.map +1 -1
- package/dist/atabey/src/cli/utils/config-schema.d.ts +28 -0
- package/dist/atabey/src/cli/utils/config-schema.js +6 -1
- package/dist/atabey/src/cli/utils/config-schema.js.map +1 -1
- package/dist/atabey/src/cli/utils/memory.js +26 -0
- package/dist/atabey/src/cli/utils/memory.js.map +1 -1
- package/dist/atabey/src/cli/utils/quality.js +2 -7
- package/dist/atabey/src/cli/utils/quality.js.map +1 -1
- package/dist/atabey/src/cli/utils/schemas.d.ts +8 -8
- package/dist/atabey/src/contracts/tasks.d.ts +6 -6
- package/dist/atabey/src/modules/agents/definitions.js +9 -14
- package/dist/atabey/src/modules/agents/definitions.js.map +1 -1
- package/dist/atabey/src/modules/agents/registry/manager.js +1 -1
- package/dist/atabey/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/atabey/src/modules/engines/crud-governance.d.ts +4 -2
- package/dist/atabey/src/modules/engines/crud-governance.js +41 -6
- package/dist/atabey/src/modules/engines/crud-governance.js.map +1 -1
- package/dist/atabey/src/modules/skills/adapter-skills.d.ts +2 -0
- package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -1
- package/dist/atabey/src/shared/audit.d.ts +1 -105
- package/dist/atabey/src/shared/audit.js +1 -220
- package/dist/atabey/src/shared/audit.js.map +1 -1
- package/dist/atabey/src/shared/constants.d.ts +1 -120
- package/dist/atabey/src/shared/constants.js +1 -187
- package/dist/atabey/src/shared/constants.js.map +1 -1
- package/dist/atabey/src/shared/errors.d.ts +1 -46
- package/dist/atabey/src/shared/errors.js +1 -68
- package/dist/atabey/src/shared/errors.js.map +1 -1
- package/dist/atabey/src/shared/fs.d.ts +1 -9
- package/dist/atabey/src/shared/fs.js +1 -53
- package/dist/atabey/src/shared/fs.js.map +1 -1
- package/dist/atabey/src/shared/lock.d.ts +1 -82
- package/dist/atabey/src/shared/lock.js +1 -159
- package/dist/atabey/src/shared/lock.js.map +1 -1
- package/dist/atabey/src/shared/logger.d.ts +1 -30
- package/dist/atabey/src/shared/logger.js +1 -126
- package/dist/atabey/src/shared/logger.js.map +1 -1
- package/dist/atabey/src/shared/pii.d.ts +1 -69
- package/dist/atabey/src/shared/pii.js +1 -212
- package/dist/atabey/src/shared/pii.js.map +1 -1
- package/dist/atabey/src/shared/retention.d.ts +1 -63
- package/dist/atabey/src/shared/retention.js +1 -170
- package/dist/atabey/src/shared/retention.js.map +1 -1
- package/dist/atabey/src/shared/storage.js +7 -3
- package/dist/atabey/src/shared/storage.js.map +1 -1
- package/dist/atabey/src/shared/string.d.ts +1 -1
- package/dist/atabey/src/shared/string.js +1 -29
- package/dist/atabey/src/shared/string.js.map +1 -1
- package/dist/atabey/src/shared/types.d.ts +1 -27
- package/dist/atabey/src/shared/types.js +1 -16
- package/dist/atabey/src/shared/types.js.map +1 -1
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +1 -1
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +1 -1
- package/dist/atabey-mcp/src/shared/logger.d.ts +1 -30
- package/dist/atabey-mcp/src/shared/logger.js +1 -126
- package/dist/atabey-mcp/src/shared/logger.js.map +1 -1
- package/dist/atabey-mcp/src/shared/pii.d.ts +1 -69
- package/dist/atabey-mcp/src/shared/pii.js +1 -212
- package/dist/atabey-mcp/src/shared/pii.js.map +1 -1
- package/dist/atabey-mcp/src/shared/storage.js +3 -1
- package/dist/atabey-mcp/src/shared/storage.js.map +1 -1
- package/dist/atabey-mcp/src/shared/types.d.ts +1 -27
- package/dist/atabey-mcp/src/shared/types.js +1 -16
- package/dist/atabey-mcp/src/shared/types.js.map +1 -1
- package/dist/{src/shared → shared/src}/audit.js +8 -8
- package/dist/shared/src/audit.js.map +1 -0
- package/dist/shared/src/constants.js.map +1 -0
- package/dist/shared/src/database.d.ts +5 -0
- package/dist/shared/src/database.js +13 -0
- package/dist/shared/src/database.js.map +1 -0
- package/dist/shared/src/errors.js.map +1 -0
- package/dist/shared/src/fs.js.map +1 -0
- package/dist/shared/src/index.d.ts +11 -0
- package/dist/shared/src/index.js +12 -0
- package/dist/shared/src/index.js.map +1 -0
- package/dist/{src/shared → shared/src}/lock.js +22 -26
- package/dist/shared/src/lock.js.map +1 -0
- package/dist/shared/src/logger.js.map +1 -0
- package/dist/{src/shared → shared/src}/pii.js +4 -1
- package/dist/shared/src/pii.js.map +1 -0
- package/dist/{src/shared → shared/src}/retention.js +6 -6
- package/dist/shared/src/retention.js.map +1 -0
- package/dist/shared/src/string.js.map +1 -0
- package/dist/shared/src/types.js.map +1 -0
- package/package.json +7 -2
- package/dist/atabey-mcp/src/mcp/utils/quality.d.ts +0 -19
- package/dist/atabey-mcp/src/mcp/utils/quality.js +0 -125
- package/dist/atabey-mcp/src/mcp/utils/quality.js.map +0 -1
- package/dist/atabey-mcp/src/shared/fs.js.map +0 -1
- package/dist/src/cli/commands/approve.d.ts +0 -1
- package/dist/src/cli/commands/approve.js +0 -64
- package/dist/src/cli/commands/approve.js.map +0 -1
- package/dist/src/cli/commands/check.d.ts +0 -1
- package/dist/src/cli/commands/check.js +0 -197
- package/dist/src/cli/commands/check.js.map +0 -1
- package/dist/src/cli/commands/compliance.d.ts +0 -5
- package/dist/src/cli/commands/compliance.js +0 -43
- package/dist/src/cli/commands/compliance.js.map +0 -1
- package/dist/src/cli/commands/contract.d.ts +0 -10
- package/dist/src/cli/commands/contract.js +0 -52
- package/dist/src/cli/commands/contract.js.map +0 -1
- package/dist/src/cli/commands/coverage.d.ts +0 -1
- package/dist/src/cli/commands/coverage.js +0 -121
- package/dist/src/cli/commands/coverage.js.map +0 -1
- package/dist/src/cli/commands/dashboard.d.ts +0 -5
- package/dist/src/cli/commands/dashboard.js +0 -753
- package/dist/src/cli/commands/dashboard.js.map +0 -1
- package/dist/src/cli/commands/explorer.d.ts +0 -2
- package/dist/src/cli/commands/explorer.js +0 -44
- package/dist/src/cli/commands/explorer.js.map +0 -1
- package/dist/src/cli/commands/git.d.ts +0 -2
- package/dist/src/cli/commands/git.js +0 -40
- package/dist/src/cli/commands/git.js.map +0 -1
- package/dist/src/cli/commands/index-codebase.d.ts +0 -4
- package/dist/src/cli/commands/index-codebase.js +0 -52
- package/dist/src/cli/commands/index-codebase.js.map +0 -1
- package/dist/src/cli/commands/init/create-agent.d.ts +0 -4
- package/dist/src/cli/commands/init/create-agent.js +0 -59
- package/dist/src/cli/commands/init/create-agent.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +0 -13
- package/dist/src/cli/commands/init/scaffold-core.js +0 -129
- package/dist/src/cli/commands/init/scaffold-core.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-docs.d.ts +0 -4
- package/dist/src/cli/commands/init/scaffold-docs.js +0 -36
- package/dist/src/cli/commands/init/scaffold-docs.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-ops.d.ts +0 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +0 -81
- package/dist/src/cli/commands/init/scaffold-ops.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-standards.d.ts +0 -2
- package/dist/src/cli/commands/init/scaffold-standards.js +0 -84
- package/dist/src/cli/commands/init/scaffold-standards.js.map +0 -1
- package/dist/src/cli/commands/init.d.ts +0 -11
- package/dist/src/cli/commands/init.js +0 -362
- package/dist/src/cli/commands/init.js.map +0 -1
- package/dist/src/cli/commands/knowledge.d.ts +0 -2
- package/dist/src/cli/commands/knowledge.js +0 -16
- package/dist/src/cli/commands/knowledge.js.map +0 -1
- package/dist/src/cli/commands/lint.d.ts +0 -4
- package/dist/src/cli/commands/lint.js +0 -24
- package/dist/src/cli/commands/lint.js.map +0 -1
- package/dist/src/cli/commands/log.d.ts +0 -10
- package/dist/src/cli/commands/log.js +0 -14
- package/dist/src/cli/commands/log.js.map +0 -1
- package/dist/src/cli/commands/mcp.d.ts +0 -11
- package/dist/src/cli/commands/mcp.js +0 -132
- package/dist/src/cli/commands/mcp.js.map +0 -1
- package/dist/src/cli/commands/memory.d.ts +0 -1
- package/dist/src/cli/commands/memory.js +0 -5
- package/dist/src/cli/commands/memory.js.map +0 -1
- package/dist/src/cli/commands/orchestrate.d.ts +0 -61
- package/dist/src/cli/commands/orchestrate.js +0 -238
- package/dist/src/cli/commands/orchestrate.js.map +0 -1
- package/dist/src/cli/commands/plan.d.ts +0 -11
- package/dist/src/cli/commands/plan.js +0 -120
- package/dist/src/cli/commands/plan.js.map +0 -1
- package/dist/src/cli/commands/quickstart.d.ts +0 -9
- package/dist/src/cli/commands/quickstart.js +0 -60
- package/dist/src/cli/commands/quickstart.js.map +0 -1
- package/dist/src/cli/commands/script.d.ts +0 -1
- package/dist/src/cli/commands/script.js +0 -28
- package/dist/src/cli/commands/script.js.map +0 -1
- package/dist/src/cli/commands/security.d.ts +0 -1
- package/dist/src/cli/commands/security.js +0 -34
- package/dist/src/cli/commands/security.js.map +0 -1
- package/dist/src/cli/commands/status.d.ts +0 -4
- package/dist/src/cli/commands/status.js +0 -122
- package/dist/src/cli/commands/status.js.map +0 -1
- package/dist/src/cli/commands/trace.d.ts +0 -10
- package/dist/src/cli/commands/trace.js +0 -108
- package/dist/src/cli/commands/trace.js.map +0 -1
- package/dist/src/cli/index.d.ts +0 -2
- package/dist/src/cli/index.js +0 -282
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/platforms/core.d.ts +0 -12
- package/dist/src/cli/platforms/core.js +0 -73
- package/dist/src/cli/platforms/core.js.map +0 -1
- package/dist/src/cli/platforms/index.d.ts +0 -5
- package/dist/src/cli/platforms/index.js +0 -6
- package/dist/src/cli/platforms/index.js.map +0 -1
- package/dist/src/cli/platforms/paths.d.ts +0 -15
- package/dist/src/cli/platforms/paths.js +0 -102
- package/dist/src/cli/platforms/paths.js.map +0 -1
- package/dist/src/cli/platforms/scaffold.d.ts +0 -2
- package/dist/src/cli/platforms/scaffold.js +0 -73
- package/dist/src/cli/platforms/scaffold.js.map +0 -1
- package/dist/src/cli/platforms/utils.d.ts +0 -4
- package/dist/src/cli/platforms/utils.js +0 -76
- package/dist/src/cli/platforms/utils.js.map +0 -1
- package/dist/src/cli/shims.d.ts +0 -1
- package/dist/src/cli/shims.js +0 -67
- package/dist/src/cli/shims.js.map +0 -1
- package/dist/src/cli/utils/claude.d.ts +0 -8
- package/dist/src/cli/utils/claude.js +0 -58
- package/dist/src/cli/utils/claude.js.map +0 -1
- package/dist/src/cli/utils/compliance.d.ts +0 -42
- package/dist/src/cli/utils/compliance.js +0 -150
- package/dist/src/cli/utils/compliance.js.map +0 -1
- package/dist/src/cli/utils/config-schema.d.ts +0 -139
- package/dist/src/cli/utils/config-schema.js +0 -43
- package/dist/src/cli/utils/config-schema.js.map +0 -1
- package/dist/src/cli/utils/fs.d.ts +0 -10
- package/dist/src/cli/utils/fs.js +0 -139
- package/dist/src/cli/utils/fs.js.map +0 -1
- package/dist/src/cli/utils/i18n.d.ts +0 -21
- package/dist/src/cli/utils/i18n.js +0 -36
- package/dist/src/cli/utils/i18n.js.map +0 -1
- package/dist/src/cli/utils/memory.d.ts +0 -39
- package/dist/src/cli/utils/memory.js +0 -281
- package/dist/src/cli/utils/memory.js.map +0 -1
- package/dist/src/cli/utils/pkg.d.ts +0 -43
- package/dist/src/cli/utils/pkg.js +0 -283
- package/dist/src/cli/utils/pkg.js.map +0 -1
- package/dist/src/cli/utils/quality.d.ts +0 -8
- package/dist/src/cli/utils/quality.js +0 -8
- package/dist/src/cli/utils/quality.js.map +0 -1
- package/dist/src/cli/utils/schemas.d.ts +0 -49
- package/dist/src/cli/utils/schemas.js +0 -20
- package/dist/src/cli/utils/schemas.js.map +0 -1
- package/dist/src/cli/utils/string.d.ts +0 -7
- package/dist/src/cli/utils/string.js +0 -50
- package/dist/src/cli/utils/string.js.map +0 -1
- package/dist/src/cli/utils/time.d.ts +0 -2
- package/dist/src/cli/utils/time.js +0 -28
- package/dist/src/cli/utils/time.js.map +0 -1
- package/dist/src/cli/utils/ui.d.ts +0 -53
- package/dist/src/cli/utils/ui.js +0 -101
- package/dist/src/cli/utils/ui.js.map +0 -1
- package/dist/src/contracts/index.d.ts +0 -1
- package/dist/src/contracts/index.js +0 -2
- package/dist/src/contracts/index.js.map +0 -1
- package/dist/src/contracts/tasks.d.ts +0 -44
- package/dist/src/contracts/tasks.js +0 -21
- package/dist/src/contracts/tasks.js.map +0 -1
- package/dist/src/modules/agents/definitions.d.ts +0 -26
- package/dist/src/modules/agents/definitions.js +0 -564
- package/dist/src/modules/agents/definitions.js.map +0 -1
- package/dist/src/modules/agents/registry/analyst.d.ts +0 -2
- package/dist/src/modules/agents/registry/analyst.js +0 -40
- package/dist/src/modules/agents/registry/analyst.js.map +0 -1
- package/dist/src/modules/agents/registry/architect.d.ts +0 -2
- package/dist/src/modules/agents/registry/architect.js +0 -43
- package/dist/src/modules/agents/registry/architect.js.map +0 -1
- package/dist/src/modules/agents/registry/backend.d.ts +0 -2
- package/dist/src/modules/agents/registry/backend.js +0 -51
- package/dist/src/modules/agents/registry/backend.js.map +0 -1
- package/dist/src/modules/agents/registry/database.d.ts +0 -2
- package/dist/src/modules/agents/registry/database.js +0 -46
- package/dist/src/modules/agents/registry/database.js.map +0 -1
- package/dist/src/modules/agents/registry/devops.d.ts +0 -2
- package/dist/src/modules/agents/registry/devops.js +0 -46
- package/dist/src/modules/agents/registry/devops.js.map +0 -1
- package/dist/src/modules/agents/registry/explorer.d.ts +0 -2
- package/dist/src/modules/agents/registry/explorer.js +0 -38
- package/dist/src/modules/agents/registry/explorer.js.map +0 -1
- package/dist/src/modules/agents/registry/frontend.d.ts +0 -2
- package/dist/src/modules/agents/registry/frontend.js +0 -53
- package/dist/src/modules/agents/registry/frontend.js.map +0 -1
- package/dist/src/modules/agents/registry/git.d.ts +0 -2
- package/dist/src/modules/agents/registry/git.js +0 -37
- package/dist/src/modules/agents/registry/git.js.map +0 -1
- package/dist/src/modules/agents/registry/manager.d.ts +0 -2
- package/dist/src/modules/agents/registry/manager.js +0 -65
- package/dist/src/modules/agents/registry/manager.js.map +0 -1
- package/dist/src/modules/agents/registry/mobile.d.ts +0 -2
- package/dist/src/modules/agents/registry/mobile.js +0 -42
- package/dist/src/modules/agents/registry/mobile.js.map +0 -1
- package/dist/src/modules/agents/registry/native.d.ts +0 -2
- package/dist/src/modules/agents/registry/native.js +0 -42
- package/dist/src/modules/agents/registry/native.js.map +0 -1
- package/dist/src/modules/agents/registry/quality.d.ts +0 -2
- package/dist/src/modules/agents/registry/quality.js +0 -44
- package/dist/src/modules/agents/registry/quality.js.map +0 -1
- package/dist/src/modules/agents/registry/security.d.ts +0 -2
- package/dist/src/modules/agents/registry/security.js +0 -43
- package/dist/src/modules/agents/registry/security.js.map +0 -1
- package/dist/src/modules/agents/types.d.ts +0 -33
- package/dist/src/modules/agents/types.js +0 -2
- package/dist/src/modules/agents/types.js.map +0 -1
- package/dist/src/modules/contracts/api.d.ts +0 -178
- package/dist/src/modules/contracts/api.js +0 -56
- package/dist/src/modules/contracts/api.js.map +0 -1
- package/dist/src/modules/contracts/index.d.ts +0 -5
- package/dist/src/modules/contracts/index.js +0 -6
- package/dist/src/modules/contracts/index.js.map +0 -1
- package/dist/src/modules/engines/agent-executor.d.ts +0 -46
- package/dist/src/modules/engines/agent-executor.js +0 -241
- package/dist/src/modules/engines/agent-executor.js.map +0 -1
- package/dist/src/modules/engines/agent-loop.d.ts +0 -34
- package/dist/src/modules/engines/agent-loop.js +0 -102
- package/dist/src/modules/engines/agent-loop.js.map +0 -1
- package/dist/src/modules/engines/contract-engine.d.ts +0 -46
- package/dist/src/modules/engines/contract-engine.js +0 -116
- package/dist/src/modules/engines/contract-engine.js.map +0 -1
- package/dist/src/modules/engines/crud-governance.d.ts +0 -64
- package/dist/src/modules/engines/crud-governance.js +0 -184
- package/dist/src/modules/engines/crud-governance.js.map +0 -1
- package/dist/src/modules/engines/discovery-engine.d.ts +0 -42
- package/dist/src/modules/engines/discovery-engine.js +0 -161
- package/dist/src/modules/engines/discovery-engine.js.map +0 -1
- package/dist/src/modules/engines/evaluation-engine.d.ts +0 -18
- package/dist/src/modules/engines/evaluation-engine.js +0 -171
- package/dist/src/modules/engines/evaluation-engine.js.map +0 -1
- package/dist/src/modules/engines/file-lock.d.ts +0 -41
- package/dist/src/modules/engines/file-lock.js +0 -168
- package/dist/src/modules/engines/file-lock.js.map +0 -1
- package/dist/src/modules/engines/health-engine.d.ts +0 -22
- package/dist/src/modules/engines/health-engine.js +0 -127
- package/dist/src/modules/engines/health-engine.js.map +0 -1
- package/dist/src/modules/engines/phase-engine.d.ts +0 -82
- package/dist/src/modules/engines/phase-engine.js +0 -211
- package/dist/src/modules/engines/phase-engine.js.map +0 -1
- package/dist/src/modules/engines/planning-engine.d.ts +0 -25
- package/dist/src/modules/engines/planning-engine.js +0 -80
- package/dist/src/modules/engines/planning-engine.js.map +0 -1
- package/dist/src/modules/engines/policy-engine.d.ts +0 -63
- package/dist/src/modules/engines/policy-engine.js +0 -186
- package/dist/src/modules/engines/policy-engine.js.map +0 -1
- package/dist/src/modules/engines/quality-gate.d.ts +0 -31
- package/dist/src/modules/engines/quality-gate.js +0 -95
- package/dist/src/modules/engines/quality-gate.js.map +0 -1
- package/dist/src/modules/engines/risk-engine.d.ts +0 -34
- package/dist/src/modules/engines/risk-engine.js +0 -201
- package/dist/src/modules/engines/risk-engine.js.map +0 -1
- package/dist/src/modules/engines/routing-engine.d.ts +0 -96
- package/dist/src/modules/engines/routing-engine.js +0 -505
- package/dist/src/modules/engines/routing-engine.js.map +0 -1
- package/dist/src/modules/engines/session-engine.d.ts +0 -68
- package/dist/src/modules/engines/session-engine.js +0 -141
- package/dist/src/modules/engines/session-engine.js.map +0 -1
- package/dist/src/modules/engines/types.d.ts +0 -51
- package/dist/src/modules/engines/types.js +0 -2
- package/dist/src/modules/engines/types.js.map +0 -1
- package/dist/src/modules/memory/core.d.ts +0 -42
- package/dist/src/modules/memory/core.js +0 -100
- package/dist/src/modules/memory/core.js.map +0 -1
- package/dist/src/modules/memory/embedding.d.ts +0 -28
- package/dist/src/modules/memory/embedding.js +0 -131
- package/dist/src/modules/memory/embedding.js.map +0 -1
- package/dist/src/modules/memory/types.d.ts +0 -18
- package/dist/src/modules/memory/types.js +0 -2
- package/dist/src/modules/memory/types.js.map +0 -1
- package/dist/src/modules/memory/vector-store.d.ts +0 -13
- package/dist/src/modules/memory/vector-store.js +0 -75
- package/dist/src/modules/memory/vector-store.js.map +0 -1
- package/dist/src/modules/providers/definitions.d.ts +0 -9
- package/dist/src/modules/providers/definitions.js +0 -141
- package/dist/src/modules/providers/definitions.js.map +0 -1
- package/dist/src/modules/providers/llm-provider.d.ts +0 -87
- package/dist/src/modules/providers/llm-provider.js +0 -242
- package/dist/src/modules/providers/llm-provider.js.map +0 -1
- package/dist/src/modules/providers/registry.d.ts +0 -12
- package/dist/src/modules/providers/registry.js +0 -19
- package/dist/src/modules/providers/registry.js.map +0 -1
- package/dist/src/modules/providers/shared.d.ts +0 -1
- package/dist/src/modules/providers/shared.js +0 -104
- package/dist/src/modules/providers/shared.js.map +0 -1
- package/dist/src/modules/providers/types.d.ts +0 -14
- package/dist/src/modules/providers/types.js +0 -2
- package/dist/src/modules/providers/types.js.map +0 -1
- package/dist/src/modules/skills/adapter-skills.d.ts +0 -68
- package/dist/src/modules/skills/adapter-skills.js +0 -450
- package/dist/src/modules/skills/adapter-skills.js.map +0 -1
- package/dist/src/modules/skills/definitions.d.ts +0 -48
- package/dist/src/modules/skills/definitions.js +0 -71
- package/dist/src/modules/skills/definitions.js.map +0 -1
- package/dist/src/shared/audit.js.map +0 -1
- package/dist/src/shared/constants.js.map +0 -1
- package/dist/src/shared/errors.js.map +0 -1
- package/dist/src/shared/fs.d.ts +0 -9
- package/dist/src/shared/fs.js +0 -54
- package/dist/src/shared/fs.js.map +0 -1
- package/dist/src/shared/lock.js.map +0 -1
- package/dist/src/shared/logger.js.map +0 -1
- package/dist/src/shared/pii.js.map +0 -1
- package/dist/src/shared/retention.js.map +0 -1
- package/dist/src/shared/storage.d.ts +0 -141
- package/dist/src/shared/storage.js +0 -326
- package/dist/src/shared/storage.js.map +0 -1
- package/dist/src/shared/string.js.map +0 -1
- package/dist/src/shared/types.js.map +0 -1
- package/dist/tests/adapter.test.d.ts +0 -1
- package/dist/tests/adapter.test.js +0 -130
- package/dist/tests/adapter.test.js.map +0 -1
- package/dist/tests/adapters/paths.test.d.ts +0 -1
- package/dist/tests/adapters/paths.test.js +0 -63
- package/dist/tests/adapters/paths.test.js.map +0 -1
- package/dist/tests/agent-memory-v2.test.d.ts +0 -1
- package/dist/tests/agent-memory-v2.test.js +0 -68
- package/dist/tests/agent-memory-v2.test.js.map +0 -1
- package/dist/tests/agents-definitions.test.d.ts +0 -1
- package/dist/tests/agents-definitions.test.js +0 -103
- package/dist/tests/agents-definitions.test.js.map +0 -1
- package/dist/tests/approve.test.d.ts +0 -1
- package/dist/tests/approve.test.js +0 -52
- package/dist/tests/approve.test.js.map +0 -1
- package/dist/tests/cli/commands/check.test.d.ts +0 -1
- package/dist/tests/cli/commands/check.test.js +0 -9
- package/dist/tests/cli/commands/check.test.js.map +0 -1
- package/dist/tests/cli/commands/coverage.test.d.ts +0 -1
- package/dist/tests/cli/commands/coverage.test.js +0 -9
- package/dist/tests/cli/commands/coverage.test.js.map +0 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +0 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.js +0 -90
- package/dist/tests/cli/commands/dashboard-coverage.test.js.map +0 -1
- package/dist/tests/cli/commands/exports.test.d.ts +0 -1
- package/dist/tests/cli/commands/exports.test.js +0 -61
- package/dist/tests/cli/commands/exports.test.js.map +0 -1
- package/dist/tests/cli/commands/lint.test.d.ts +0 -1
- package/dist/tests/cli/commands/lint.test.js +0 -9
- package/dist/tests/cli/commands/lint.test.js.map +0 -1
- package/dist/tests/cli/init/adapter_init.test.d.ts +0 -1
- package/dist/tests/cli/init/adapter_init.test.js +0 -49
- package/dist/tests/cli/init/adapter_init.test.js.map +0 -1
- package/dist/tests/cli/init/unified_init.test.d.ts +0 -1
- package/dist/tests/cli/init/unified_init.test.js +0 -56
- package/dist/tests/cli/init/unified_init.test.js.map +0 -1
- package/dist/tests/core-memory.test.d.ts +0 -1
- package/dist/tests/core-memory.test.js +0 -78
- package/dist/tests/core-memory.test.js.map +0 -1
- package/dist/tests/embedding.test.d.ts +0 -1
- package/dist/tests/embedding.test.js +0 -82
- package/dist/tests/embedding.test.js.map +0 -1
- package/dist/tests/engines/evaluation-engine.test.d.ts +0 -1
- package/dist/tests/engines/evaluation-engine.test.js +0 -71
- package/dist/tests/engines/evaluation-engine.test.js.map +0 -1
- package/dist/tests/engines/planning-engine.test.d.ts +0 -1
- package/dist/tests/engines/planning-engine.test.js +0 -100
- package/dist/tests/engines/planning-engine.test.js.map +0 -1
- package/dist/tests/engines/quality-gate.test.d.ts +0 -1
- package/dist/tests/engines/quality-gate.test.js +0 -59
- package/dist/tests/engines/quality-gate.test.js.map +0 -1
- package/dist/tests/engines/risk-engine.test.d.ts +0 -1
- package/dist/tests/engines/risk-engine.test.js +0 -80
- package/dist/tests/engines/risk-engine.test.js.map +0 -1
- package/dist/tests/engines/routing-engine.test.d.ts +0 -1
- package/dist/tests/engines/routing-engine.test.js +0 -78
- package/dist/tests/engines/routing-engine.test.js.map +0 -1
- package/dist/tests/errors.test.d.ts +0 -1
- package/dist/tests/errors.test.js +0 -64
- package/dist/tests/errors.test.js.map +0 -1
- package/dist/tests/fs-utils.test.d.ts +0 -1
- package/dist/tests/fs-utils.test.js +0 -101
- package/dist/tests/fs-utils.test.js.map +0 -1
- package/dist/tests/integration/agent_flow.test.d.ts +0 -1
- package/dist/tests/integration/agent_flow.test.js +0 -69
- package/dist/tests/integration/agent_flow.test.js.map +0 -1
- package/dist/tests/integration/hermes_locking.test.d.ts +0 -1
- package/dist/tests/integration/hermes_locking.test.js +0 -62
- package/dist/tests/integration/hermes_locking.test.js.map +0 -1
- package/dist/tests/logger.test.d.ts +0 -1
- package/dist/tests/logger.test.js +0 -81
- package/dist/tests/logger.test.js.map +0 -1
- package/dist/tests/memory-utils.test.d.ts +0 -1
- package/dist/tests/memory-utils.test.js +0 -59
- package/dist/tests/memory-utils.test.js.map +0 -1
- package/dist/tests/modules/adapters/adapters.test.d.ts +0 -1
- package/dist/tests/modules/adapters/adapters.test.js +0 -30
- package/dist/tests/modules/adapters/adapters.test.js.map +0 -1
- package/dist/tests/modules/contracts/contracts.test.d.ts +0 -1
- package/dist/tests/modules/contracts/contracts.test.js +0 -73
- package/dist/tests/modules/contracts/contracts.test.js.map +0 -1
- package/dist/tests/modules/engines/agent-executor.test.d.ts +0 -1
- package/dist/tests/modules/engines/agent-executor.test.js +0 -61
- package/dist/tests/modules/engines/agent-executor.test.js.map +0 -1
- package/dist/tests/modules/engines/evaluation-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/evaluation-engine.test.js +0 -45
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/health-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/health-engine.test.js +0 -56
- package/dist/tests/modules/engines/health-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/planning-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/planning-engine.test.js +0 -75
- package/dist/tests/modules/engines/planning-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/risk-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/risk-engine.test.js +0 -61
- package/dist/tests/modules/engines/risk-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/routing-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/routing-engine.test.js +0 -56
- package/dist/tests/modules/engines/routing-engine.test.js.map +0 -1
- package/dist/tests/modules/memory/vector-store.test.d.ts +0 -1
- package/dist/tests/modules/memory/vector-store.test.js +0 -109
- package/dist/tests/modules/memory/vector-store.test.js.map +0 -1
- package/dist/tests/orchestrate.test.d.ts +0 -1
- package/dist/tests/orchestrate.test.js +0 -71
- package/dist/tests/orchestrate.test.js.map +0 -1
- package/dist/tests/orchestrator-dependencies.test.d.ts +0 -1
- package/dist/tests/orchestrator-dependencies.test.js +0 -70
- package/dist/tests/orchestrator-dependencies.test.js.map +0 -1
- package/dist/tests/plan.test.d.ts +0 -1
- package/dist/tests/plan.test.js +0 -63
- package/dist/tests/plan.test.js.map +0 -1
- package/dist/tests/shared/audit.test.d.ts +0 -1
- package/dist/tests/shared/audit.test.js +0 -53
- package/dist/tests/shared/audit.test.js.map +0 -1
- package/dist/tests/shared/constants.test.d.ts +0 -1
- package/dist/tests/shared/constants.test.js +0 -17
- package/dist/tests/shared/constants.test.js.map +0 -1
- package/dist/tests/shared/lock.test.d.ts +0 -1
- package/dist/tests/shared/lock.test.js +0 -95
- package/dist/tests/shared/lock.test.js.map +0 -1
- package/dist/tests/shared/pii.test.d.ts +0 -1
- package/dist/tests/shared/pii.test.js +0 -183
- package/dist/tests/shared/pii.test.js.map +0 -1
- package/dist/tests/skills-definitions.test.d.ts +0 -1
- package/dist/tests/skills-definitions.test.js +0 -34
- package/dist/tests/skills-definitions.test.js.map +0 -1
- package/dist/tests/status-cost.test.d.ts +0 -1
- package/dist/tests/status-cost.test.js +0 -47
- package/dist/tests/status-cost.test.js.map +0 -1
- package/dist/tests/status.test.d.ts +0 -1
- package/dist/tests/status.test.js +0 -49
- package/dist/tests/status.test.js.map +0 -1
- package/dist/tests/storage-operations.test.d.ts +0 -1
- package/dist/tests/storage-operations.test.js +0 -143
- package/dist/tests/storage-operations.test.js.map +0 -1
- package/dist/tests/string.test.d.ts +0 -1
- package/dist/tests/string.test.js +0 -89
- package/dist/tests/string.test.js.map +0 -1
- package/dist/tests/time.test.d.ts +0 -1
- package/dist/tests/time.test.js +0 -48
- package/dist/tests/time.test.js.map +0 -1
- package/dist/tests/trace-replay.test.d.ts +0 -1
- package/dist/tests/trace-replay.test.js +0 -59
- package/dist/tests/trace-replay.test.js.map +0 -1
- package/dist/tests/trace.test.d.ts +0 -1
- package/dist/tests/trace.test.js +0 -35
- package/dist/tests/trace.test.js.map +0 -1
- /package/dist/{src/shared → shared/src}/audit.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/constants.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/constants.js +0 -0
- /package/dist/{src/shared → shared/src}/errors.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/errors.js +0 -0
- /package/dist/{atabey-mcp/src/shared → shared/src}/fs.d.ts +0 -0
- /package/dist/{atabey-mcp/src/shared → shared/src}/fs.js +0 -0
- /package/dist/{src/shared → shared/src}/lock.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/logger.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/logger.js +0 -0
- /package/dist/{src/shared → shared/src}/pii.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/retention.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/string.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/string.js +0 -0
- /package/dist/{src/shared → shared/src}/types.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/types.js +0 -0
|
@@ -1,213 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* [PII] Personally Identifiable Information Masking Service
|
|
3
|
-
*
|
|
4
|
-
* Detects and masks sensitive data in compliance with KVKK/GDPR.
|
|
5
|
-
* Used in audit log, logger, storage layers, and MCP middleware.
|
|
6
|
-
*
|
|
7
|
-
* Supported patterns:
|
|
8
|
-
* - Email addresses
|
|
9
|
-
* - Phone numbers (international, Turkish, US, UK)
|
|
10
|
-
* - TC Identification number (11 digits)
|
|
11
|
-
* - API keys / tokens (OpenAI, Anthropic, Google, GitHub, generic)
|
|
12
|
-
* - Bearer tokens / JWTs
|
|
13
|
-
* - IP addresses (IPv4, IPv6)
|
|
14
|
-
* - Credit card numbers (AMEX, Visa, Mastercard, etc.)
|
|
15
|
-
* - Password / secret fields in structured data
|
|
16
|
-
* - Bank account / IBAN
|
|
17
|
-
* - Date of birth / full address patterns
|
|
18
|
-
* - Custom names (configurable)
|
|
19
|
-
*/
|
|
20
|
-
// Sensitive patterns to detect and mask
|
|
21
|
-
// IMPORTANT: More specific patterns MUST come before generic ones
|
|
22
|
-
const SENSITIVE_PATTERNS = [
|
|
23
|
-
// JWT tokens (complete JWT format) - must be before Bearer
|
|
24
|
-
{ pattern: /eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/g, replacement: "***-JWT-REDACTED-***" },
|
|
25
|
-
// Bearer tokens in Authorization headers
|
|
26
|
-
{ pattern: /Bearer\s+[a-zA-Z0-9._-]+/g, replacement: "Bearer ***-REDACTED-***" },
|
|
27
|
-
// Basic auth in Authorization headers
|
|
28
|
-
{ pattern: /Basic\s+[a-zA-Z0-9=+/]+/g, replacement: "Basic ***-REDACTED-***" },
|
|
29
|
-
// API keys (common formats) - must be before generic patterns
|
|
30
|
-
// Note: ghp_ tokens can contain digits that look like phone numbers, so we mask the entire prefix + suffix
|
|
31
|
-
{ pattern: /\b(sk-[a-zA-Z0-9]{20,}|pk-[a-zA-Z0-9]{20,}|xai-[a-zA-Z0-9]{20,}|AIza[0-9A-Za-z_-]{35}|ghp_[a-zA-Z0-9]{36,}|gho_[a-zA-Z0-9]{36,}|ghu_[a-zA-Z0-9]{36,}|ghb_[a-zA-Z0-9]{36,}|github_pat_[a-zA-Z0-9]{36,}|sk-[a-zA-Z0-9_-]{32,}|sk-[a-zA-Z0-9]{48,}|whsec_[a-zA-Z0-9]{16,})\b/g, replacement: "***-REDACTED-***" },
|
|
32
|
-
// Social Security Number (US SSN: XXX-XX-XXXX) - must be before generic phone
|
|
33
|
-
{ pattern: /\b(?!000|666|9[0-9]{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}\b/g, replacement: "***-**-****" },
|
|
34
|
-
// Date of birth patterns - must be before generic phone
|
|
35
|
-
{ pattern: /\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/g, replacement: "**/**/****" },
|
|
36
|
-
// IBAN (international bank account) - must be before generic alphanumeric patterns
|
|
37
|
-
// Only matches valid IBAN format: 2 letters + 2 digits + 4-30 alphanumeric chars
|
|
38
|
-
// More specific: requires minimum 8 chars total, starts with country code
|
|
39
|
-
{ pattern: /\b[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}\b/g, replacement: "****-IBAN-REDACTED-****" },
|
|
40
|
-
// TC Kimlik (11 digits starting with 1-9, isolated word boundary) - must be before phone
|
|
41
|
-
{ pattern: /\b[1-9][0-9]{10}\b/g, replacement: "***********" },
|
|
42
|
-
// Email
|
|
43
|
-
{ pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, replacement: "***@***" },
|
|
44
|
-
// Phone (Turkish: +90 5xx xxx xx xx) - specific before generic
|
|
45
|
-
{ pattern: /(\+90|0)?\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{2}\s?[0-9]{2}/g, replacement: "***-***-****" },
|
|
46
|
-
// Phone (international: +90, +1, +44, +49, +33, etc.) - generic, keep last among phones
|
|
47
|
-
{ pattern: /(\+\d{1,2}[\s-]?)?\(?\d{2,4}\)?[\s-]?\d{2,4}[\s-]?\d{2,4}[\s-]?\d{2,4}/g, replacement: "***-***-****" },
|
|
48
|
-
// IP addresses (IPv4)
|
|
49
|
-
{ pattern: /\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/g, replacement: "***.***.***.***" },
|
|
50
|
-
// IP addresses (IPv6 - simplified)
|
|
51
|
-
{ pattern: /\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, replacement: "****:****:****:****" },
|
|
52
|
-
// IPv6 compressed
|
|
53
|
-
{ pattern: /\b(?:[0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}\b/g, replacement: "****:****:****" },
|
|
54
|
-
// Credit card (16 digits, optional spaces/dashes)
|
|
55
|
-
{ pattern: /\b(?:\d[ -]*?){13,16}\b/g, replacement: "****-****-****-****" },
|
|
56
|
-
// AMEX (15 digits, starts with 34/37)
|
|
57
|
-
{ pattern: /\b3[47][0-9\s-]{13,14}\b/g, replacement: "****-****-***" },
|
|
58
|
-
// Password fields in JSON
|
|
59
|
-
{ pattern: /"(password|passwd|secret|api_key|apiKey|apikey|auth_token|refresh_token|access_token)"\s*:\s*"[^"]+"/gi, replacement: "\"$1\": \"***-REDACTED-***\"" },
|
|
60
|
-
// Turkish address patterns (optional - sokak, cadde, mahalle, no:)
|
|
61
|
-
{ pattern: /(?:no|no:|numara)[:\s]*\d+/gi, replacement: "no: ****" },
|
|
62
|
-
];
|
|
63
|
-
// Fields that are considered sensitive and should always be redacted in structured data
|
|
64
|
-
const SENSITIVE_FIELDS = [
|
|
65
|
-
"password", "passwd", "secret", "apiKey", "api_key", "apikey",
|
|
66
|
-
"token", "accessToken", "access_token", "refreshToken", "refresh_token", "authToken", "auth_token",
|
|
67
|
-
"authorization", "Authorization", "bearer",
|
|
68
|
-
"email", "e_mail", "eMail",
|
|
69
|
-
"phone", "phoneNumber", "phone_number", "telephone", "telephoneNumber", "mobile", "mobilePhone", "cellPhone",
|
|
70
|
-
"creditCard", "credit_card", "ccNumber", "cc_number", "ccn", "cvv", "cvv2", "cvc",
|
|
71
|
-
"ssn", "socialSecurity", "social_security",
|
|
72
|
-
"tcKimlik", "tc_kimlik", "identityNumber", "identity_number", "idNumber", "id_number", "nationalId",
|
|
73
|
-
"ipAddress", "ip_address", "ip",
|
|
74
|
-
"dob", "dateOfBirth", "date_of_birth", "birthDate", "birth_date",
|
|
75
|
-
"iban", "IBAN", "bankAccount", "bank_account",
|
|
76
|
-
"address", "homeAddress", "workAddress", "billingAddress", "shippingAddress",
|
|
77
|
-
"fullName", "firstName", "lastName", "surname", "middleName",
|
|
78
|
-
];
|
|
79
|
-
/**
|
|
80
|
-
* Mask sensitive data in a text string.
|
|
81
|
-
*/
|
|
82
|
-
export function maskText(text) {
|
|
83
|
-
if (!text || typeof text !== "string")
|
|
84
|
-
return text;
|
|
85
|
-
let masked = text;
|
|
86
|
-
for (const { pattern, replacement } of SENSITIVE_PATTERNS) {
|
|
87
|
-
masked = masked.replace(pattern, replacement);
|
|
88
|
-
}
|
|
89
|
-
return masked;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Recursively mask sensitive fields in an object.
|
|
93
|
-
* Returns a new object with sensitive values redacted.
|
|
94
|
-
* Strict mode: when true, also masks values in objects even if the key
|
|
95
|
-
* is not a known sensitive field name (catches data passed to unknown schemas).
|
|
96
|
-
*/
|
|
97
|
-
export function maskObject(obj, depth = 0, strictMode = false) {
|
|
98
|
-
if (depth > 10)
|
|
99
|
-
return obj; // Prevent infinite recursion
|
|
100
|
-
if (obj === null || obj === undefined)
|
|
101
|
-
return obj;
|
|
102
|
-
if (typeof obj === "string")
|
|
103
|
-
return maskText(obj);
|
|
104
|
-
if (typeof obj !== "object")
|
|
105
|
-
return obj;
|
|
106
|
-
if (Array.isArray(obj)) {
|
|
107
|
-
return obj.map(item => maskObject(item, depth + 1, strictMode));
|
|
108
|
-
}
|
|
109
|
-
const result = {};
|
|
110
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
111
|
-
// Check if the key itself is a sensitive field
|
|
112
|
-
if (SENSITIVE_FIELDS.includes(key)) {
|
|
113
|
-
result[key] = typeof value === "string" ? "***-REDACTED-***" : maskObject(value, depth + 1, strictMode);
|
|
114
|
-
}
|
|
115
|
-
else if (typeof value === "string") {
|
|
116
|
-
result[key] = maskText(value);
|
|
117
|
-
}
|
|
118
|
-
else if (typeof value === "object") {
|
|
119
|
-
result[key] = maskObject(value, depth + 1, strictMode);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
result[key] = value;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return result;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Check if a string contains potential PII.
|
|
129
|
-
* Useful for warning before sending data to external APIs.
|
|
130
|
-
*/
|
|
131
|
-
export function containsPII(text) {
|
|
132
|
-
for (const { pattern } of SENSITIVE_PATTERNS) {
|
|
133
|
-
if (pattern.test(text))
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Check if an object contains PII in any of its string values (recursive).
|
|
140
|
-
*/
|
|
141
|
-
export function containsPIIInObject(obj, depth = 0) {
|
|
142
|
-
if (depth > 10)
|
|
143
|
-
return false;
|
|
144
|
-
if (obj === null || obj === undefined)
|
|
145
|
-
return false;
|
|
146
|
-
if (typeof obj === "string")
|
|
147
|
-
return containsPII(obj);
|
|
148
|
-
if (typeof obj !== "object")
|
|
149
|
-
return false;
|
|
150
|
-
if (Array.isArray(obj)) {
|
|
151
|
-
return obj.some(item => containsPIIInObject(item, depth + 1));
|
|
152
|
-
}
|
|
153
|
-
for (const [, value] of Object.entries(obj)) {
|
|
154
|
-
if (typeof value === "string") {
|
|
155
|
-
if (containsPII(value))
|
|
156
|
-
return true;
|
|
157
|
-
}
|
|
158
|
-
else if (typeof value === "object") {
|
|
159
|
-
if (containsPIIInObject(value, depth + 1))
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Classify a piece of data based on content analysis.
|
|
167
|
-
*/
|
|
168
|
-
export function classifyData(text) {
|
|
169
|
-
if (!text)
|
|
170
|
-
return "public";
|
|
171
|
-
// Check for highly sensitive / critical data
|
|
172
|
-
if (/\b(sk-[a-zA-Z0-9]{20,}|Bearer\s+|eyJ[a-zA-Z0-9_-]+\.)/.test(text) ||
|
|
173
|
-
/\b[1-9][0-9]{10}\b/.test(text) ||
|
|
174
|
-
/"(password|secret|apiKey)"/i.test(text) ||
|
|
175
|
-
/\b[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}\b/.test(text) // IBAN
|
|
176
|
-
) {
|
|
177
|
-
return "restricted";
|
|
178
|
-
}
|
|
179
|
-
// Check for personally identifiable / confidential data
|
|
180
|
-
if (/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/.test(text) ||
|
|
181
|
-
/(\+90|0)?\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{2}\s?[0-9]{2}/.test(text) ||
|
|
182
|
-
/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/.test(text) ||
|
|
183
|
-
/\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/.test(text)) {
|
|
184
|
-
return "confidential";
|
|
185
|
-
}
|
|
186
|
-
return "internal";
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Mask the content field of an MCP tool result.
|
|
190
|
-
* This is used by the MCP middleware layer to automatically
|
|
191
|
-
* sanitize all tool outputs before they reach the AI.
|
|
192
|
-
*/
|
|
193
|
-
export function maskToolResult(result) {
|
|
194
|
-
if (!result || !result.content)
|
|
195
|
-
return result;
|
|
196
|
-
return {
|
|
197
|
-
...result,
|
|
198
|
-
content: result.content.map(block => ({
|
|
199
|
-
...block,
|
|
200
|
-
text: block.type === "text" ? maskText(block.text) : block.text,
|
|
201
|
-
})),
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Mask sensitive arguments in an MCP tool call.
|
|
206
|
-
* This is applied BEFORE the tool handler executes, ensuring
|
|
207
|
-
* PII never reaches any processing layer unnecessarily.
|
|
208
|
-
*/
|
|
209
|
-
export function maskToolArgs(args) {
|
|
210
|
-
const masked = maskObject(args, 0, true);
|
|
211
|
-
return masked;
|
|
212
|
-
}
|
|
1
|
+
export * from "atabey-shared/pii.js";
|
|
213
2
|
//# sourceMappingURL=pii.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../../../../src/shared/pii.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../../../../src/shared/pii.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,63 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Data retention categories and default durations (days)
|
|
3
|
-
*/
|
|
4
|
-
export declare const RETENTION_POLICIES: Record<string, number>;
|
|
5
|
-
/**
|
|
6
|
-
* [KVKK/GDPR] Data Retention Manager
|
|
7
|
-
*/
|
|
8
|
-
export declare class DataRetention {
|
|
9
|
-
private static cleanupInterval;
|
|
10
|
-
/**
|
|
11
|
-
* Initialize data retention with automatic cleanup.
|
|
12
|
-
* Starts a periodic cleanup job.
|
|
13
|
-
*
|
|
14
|
-
* @param intervalMs Cleanup interval in milliseconds (default: 1 hour)
|
|
15
|
-
*/
|
|
16
|
-
static initialize(intervalMs?: number): void;
|
|
17
|
-
/**
|
|
18
|
-
* Run cleanup for all data stores.
|
|
19
|
-
* Cleans audit logs, messages, and logs based on retention policies.
|
|
20
|
-
*/
|
|
21
|
-
static runCleanup(): {
|
|
22
|
-
audit: number;
|
|
23
|
-
messages: number;
|
|
24
|
-
logs: number;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* [KVKK Art. 7] "Right to Erasure" — Deletes all data for a given trace ID.
|
|
28
|
-
* Cleans audit records, messages, logs, and tasks.
|
|
29
|
-
*
|
|
30
|
-
* @param traceId Trace ID to erase
|
|
31
|
-
* @returns Total number of deleted records
|
|
32
|
-
*/
|
|
33
|
-
static eraseTraceData(traceId: string): number;
|
|
34
|
-
/**
|
|
35
|
-
* [KVKK Art. 11] Erases all data.
|
|
36
|
-
* Only works with the confirmation code.
|
|
37
|
-
*/
|
|
38
|
-
static eraseAllData(confirmationCode: string): number;
|
|
39
|
-
/**
|
|
40
|
-
* Get retention statistics.
|
|
41
|
-
*/
|
|
42
|
-
static getStats(): {
|
|
43
|
-
auditExpired: number;
|
|
44
|
-
messageCount: number;
|
|
45
|
-
logCount: number;
|
|
46
|
-
taskCount: number;
|
|
47
|
-
policies: Record<string, number>;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Stop the periodic cleanup job.
|
|
51
|
-
*/
|
|
52
|
-
static shutdown(): void;
|
|
53
|
-
/**
|
|
54
|
-
* Clean old messages from the Hermes queue.
|
|
55
|
-
* Messages older than 30 days are removed.
|
|
56
|
-
*/
|
|
57
|
-
private static cleanOldMessages;
|
|
58
|
-
/**
|
|
59
|
-
* Clean old logs.
|
|
60
|
-
* Logs older than 30 days are removed.
|
|
61
|
-
*/
|
|
62
|
-
private static cleanOldLogs;
|
|
63
|
-
}
|
|
1
|
+
export * from "atabey-shared/retention.js";
|
|
@@ -1,171 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* [KVKK/GDPR] Data Retention & Privacy Service
|
|
3
|
-
*
|
|
4
|
-
* KVKK Art. 4, 5, 7, 11 and GDPR Art. 5, 17 compliant data retention management.
|
|
5
|
-
*
|
|
6
|
-
* Features:
|
|
7
|
-
* - Automatic expired record cleanup
|
|
8
|
-
* - Data categorization (operational, user_data, api_call, security, compliance)
|
|
9
|
-
* - "Right to Erasure" support
|
|
10
|
-
* - Configurable retention policies
|
|
11
|
-
* - Periodic cleanup cron job
|
|
12
|
-
*/
|
|
13
|
-
import { Audit } from "./audit.js";
|
|
14
|
-
import { logger } from "./logger.js";
|
|
15
|
-
import { Storage } from "./storage.js";
|
|
16
|
-
/**
|
|
17
|
-
* Data retention categories and default durations (days)
|
|
18
|
-
*/
|
|
19
|
-
export const RETENTION_POLICIES = {
|
|
20
|
-
OPERATIONAL: 30, // Operational logs: 30 days
|
|
21
|
-
USER_DATA: 90, // User data: 90 days (KVKK Art. 5)
|
|
22
|
-
API_CALL: 180, // API call records: 180 days
|
|
23
|
-
SECURITY: 365, // Security logs: 1 year
|
|
24
|
-
COMPLIANCE: 730, // Compliance records: 2 years
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* [KVKK/GDPR] Data Retention Manager
|
|
28
|
-
*/
|
|
29
|
-
export class DataRetention {
|
|
30
|
-
static cleanupInterval = null;
|
|
31
|
-
/**
|
|
32
|
-
* Initialize data retention with automatic cleanup.
|
|
33
|
-
* Starts a periodic cleanup job.
|
|
34
|
-
*
|
|
35
|
-
* @param intervalMs Cleanup interval in milliseconds (default: 1 hour)
|
|
36
|
-
*/
|
|
37
|
-
static initialize(intervalMs = 3600000) {
|
|
38
|
-
// Run initial cleanup
|
|
39
|
-
this.runCleanup();
|
|
40
|
-
// Schedule periodic cleanup
|
|
41
|
-
if (this.cleanupInterval) {
|
|
42
|
-
clearInterval(this.cleanupInterval);
|
|
43
|
-
}
|
|
44
|
-
this.cleanupInterval = setInterval(() => this.runCleanup(), intervalMs);
|
|
45
|
-
logger.info("[RETENTION] Data retention initialized. " +
|
|
46
|
-
`Cleanup interval: ${intervalMs / 60000}min. ` +
|
|
47
|
-
`Policies: ${Object.entries(RETENTION_POLICIES).map(([k, v]) => `${k}=${v}d`).join(", ")}`);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Run cleanup for all data stores.
|
|
51
|
-
* Cleans audit logs, messages, and logs based on retention policies.
|
|
52
|
-
*/
|
|
53
|
-
static runCleanup() {
|
|
54
|
-
const result = { audit: 0, messages: 0, logs: 0 };
|
|
55
|
-
try {
|
|
56
|
-
// 1. Clean audit logs
|
|
57
|
-
result.audit = Audit.cleanExpired();
|
|
58
|
-
// 2. Clean old messages (Hermes message queue)
|
|
59
|
-
result.messages = this.cleanOldMessages();
|
|
60
|
-
// 3. Clean old logs
|
|
61
|
-
result.logs = this.cleanOldLogs();
|
|
62
|
-
if (result.audit > 0 || result.messages > 0 || result.logs > 0) {
|
|
63
|
-
logger.info("[RETENTION] Cleanup complete: " +
|
|
64
|
-
`${result.audit} audit, ${result.messages} messages, ${result.logs} logs`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
logger.error(`[RETENTION] Cleanup failed: ${error.message}`);
|
|
69
|
-
}
|
|
70
|
-
return result;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* [KVKK Art. 7] "Right to Erasure" — Deletes all data for a given trace ID.
|
|
74
|
-
* Cleans audit records, messages, logs, and tasks.
|
|
75
|
-
*
|
|
76
|
-
* @param traceId Trace ID to erase
|
|
77
|
-
* @returns Total number of deleted records
|
|
78
|
-
*/
|
|
79
|
-
static eraseTraceData(traceId) {
|
|
80
|
-
let total = 0;
|
|
81
|
-
// Audit logs
|
|
82
|
-
total += Audit.deleteByFilter({ traceId });
|
|
83
|
-
// Messages
|
|
84
|
-
const db = Storage.getDB();
|
|
85
|
-
const msgResult = db.prepare("DELETE FROM messages WHERE trace_id = ?").run(traceId);
|
|
86
|
-
total += msgResult.changes;
|
|
87
|
-
// Tasks
|
|
88
|
-
const taskResult = db.prepare("DELETE FROM tasks WHERE trace_id = ?").run(traceId);
|
|
89
|
-
total += taskResult.changes;
|
|
90
|
-
// Logs
|
|
91
|
-
const logResult = db.prepare("DELETE FROM logs WHERE trace_id = ?").run(traceId);
|
|
92
|
-
total += logResult.changes;
|
|
93
|
-
logger.info(`[RETENTION] Trace ${traceId} erased: ${total} records deleted (KVKK Article 7)`);
|
|
94
|
-
return total;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* [KVKK Art. 11] Erases all data.
|
|
98
|
-
* Only works with the confirmation code.
|
|
99
|
-
*/
|
|
100
|
-
static eraseAllData(confirmationCode) {
|
|
101
|
-
if (confirmationCode !== "KVKK-RIGHT-TO-ERASURE") {
|
|
102
|
-
throw new Error("[RETENTION] Invalid confirmation code. Use 'KVKK-RIGHT-TO-ERASURE'");
|
|
103
|
-
}
|
|
104
|
-
let total = 0;
|
|
105
|
-
const db = Storage.getDB();
|
|
106
|
-
total += Audit.clearAll(confirmationCode);
|
|
107
|
-
total += db.prepare("DELETE FROM messages").run().changes;
|
|
108
|
-
total += db.prepare("DELETE FROM tasks").run().changes;
|
|
109
|
-
total += db.prepare("DELETE FROM logs").run().changes;
|
|
110
|
-
total += db.prepare("DELETE FROM agents").run().changes;
|
|
111
|
-
total += db.prepare("DELETE FROM metadata").run().changes;
|
|
112
|
-
logger.warn(`[RETENTION] ALL DATA ERASED: ${total} records (KVKK Article 7 - Right to Erasure)`);
|
|
113
|
-
return total;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get retention statistics.
|
|
117
|
-
*/
|
|
118
|
-
static getStats() {
|
|
119
|
-
const db = Storage.getDB();
|
|
120
|
-
const auditExpired = db.prepare(`
|
|
121
|
-
SELECT COUNT(*) as count FROM audit_log
|
|
122
|
-
WHERE retentionDays IS NOT NULL
|
|
123
|
-
AND timestamp < datetime('now', '-' || retentionDays || ' days')
|
|
124
|
-
`).get().count;
|
|
125
|
-
const messageCount = db.prepare("SELECT COUNT(*) as count FROM messages").get().count;
|
|
126
|
-
const logCount = db.prepare("SELECT COUNT(*) as count FROM logs").get().count;
|
|
127
|
-
const taskCount = db.prepare("SELECT COUNT(*) as count FROM tasks").get().count;
|
|
128
|
-
return {
|
|
129
|
-
auditExpired,
|
|
130
|
-
messageCount,
|
|
131
|
-
logCount,
|
|
132
|
-
taskCount,
|
|
133
|
-
policies: { ...RETENTION_POLICIES },
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Stop the periodic cleanup job.
|
|
138
|
-
*/
|
|
139
|
-
static shutdown() {
|
|
140
|
-
if (this.cleanupInterval) {
|
|
141
|
-
clearInterval(this.cleanupInterval);
|
|
142
|
-
this.cleanupInterval = null;
|
|
143
|
-
logger.info("[RETENTION] Cleanup job stopped");
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Clean old messages from the Hermes queue.
|
|
148
|
-
* Messages older than 30 days are removed.
|
|
149
|
-
*/
|
|
150
|
-
static cleanOldMessages() {
|
|
151
|
-
const db = Storage.getDB();
|
|
152
|
-
const result = db.prepare(`
|
|
153
|
-
DELETE FROM messages
|
|
154
|
-
WHERE timestamp < datetime('now', '-30 days')
|
|
155
|
-
`).run();
|
|
156
|
-
return result.changes;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Clean old logs.
|
|
160
|
-
* Logs older than 30 days are removed.
|
|
161
|
-
*/
|
|
162
|
-
static cleanOldLogs() {
|
|
163
|
-
const db = Storage.getDB();
|
|
164
|
-
const result = db.prepare(`
|
|
165
|
-
DELETE FROM logs
|
|
166
|
-
WHERE timestamp < datetime('now', '-30 days')
|
|
167
|
-
`).run();
|
|
168
|
-
return result.changes;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
1
|
+
export * from "atabey-shared/retention.js";
|
|
171
2
|
//# sourceMappingURL=retention.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../../../../src/shared/retention.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../../../../src/shared/retention.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { getFrameworkDir } from "../cli/utils/memory.js";
|
|
|
6
6
|
import { logger } from "./logger.js";
|
|
7
7
|
import { maskText } from "./pii.js";
|
|
8
8
|
import { asAgentID, asLogID, asMessageID, asTaskID } from "./types.js";
|
|
9
|
+
import { databaseHolder } from "atabey-shared";
|
|
9
10
|
/**
|
|
10
11
|
* [DB] Atabey Storage Engine
|
|
11
12
|
* Central SQLite database for enterprise-scale agent state management.
|
|
@@ -21,6 +22,7 @@ export class AtabeyStorage {
|
|
|
21
22
|
const dbPath = path.join(frameworkDir, "atabey.db");
|
|
22
23
|
this.db = new Database(dbPath, { timeout: 5000 });
|
|
23
24
|
this.db.pragma("journal_mode = WAL");
|
|
25
|
+
databaseHolder.setDB(this.db);
|
|
24
26
|
this.initializeSchema();
|
|
25
27
|
}
|
|
26
28
|
return this.db;
|
|
@@ -121,7 +123,6 @@ export class AtabeyStorage {
|
|
|
121
123
|
const agent = log.agent.replace("@", "");
|
|
122
124
|
const maskedSummary = maskText(log.summary);
|
|
123
125
|
const maskedFindings = log.findings ? maskText(log.findings) : null;
|
|
124
|
-
// Get last log's hash
|
|
125
126
|
let prevHash = "GENESIS";
|
|
126
127
|
try {
|
|
127
128
|
const lastRow = db.prepare("SELECT hash FROM logs ORDER BY id DESC LIMIT 1").get();
|
|
@@ -129,7 +130,9 @@ export class AtabeyStorage {
|
|
|
129
130
|
prevHash = lastRow.hash;
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
|
-
catch {
|
|
133
|
+
catch (err) {
|
|
134
|
+
logger.debug(`Failed to get last log hash, using default: ${err.message}`);
|
|
135
|
+
}
|
|
133
136
|
// Compute hash
|
|
134
137
|
const dataToHash = `${prevHash}|${agent}|${log.action}|${log.trace_id || ""}|${log.status}|${maskedSummary}|${timestamp}`;
|
|
135
138
|
const hash = crypto.createHash("sha256").update(dataToHash).digest("hex");
|
|
@@ -259,12 +262,13 @@ export class AtabeyStorage {
|
|
|
259
262
|
rows = db.prepare("SELECT * FROM tasks").all();
|
|
260
263
|
}
|
|
261
264
|
return rows.map(r => {
|
|
262
|
-
let deps
|
|
265
|
+
let deps;
|
|
263
266
|
try {
|
|
264
267
|
const parsed = JSON.parse(r.dependencies || "[]");
|
|
265
268
|
deps = Array.isArray(parsed) ? parsed : JSON.parse(parsed);
|
|
266
269
|
}
|
|
267
270
|
catch (err) {
|
|
271
|
+
deps = [];
|
|
268
272
|
logger.warn("Failed to parse task dependencies, using empty array", err);
|
|
269
273
|
}
|
|
270
274
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/storage.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAA8C,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "atabey-shared/string.js";
|
|
@@ -1,30 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
// Regex to find markdown code blocks (```lang ... ```) and extract their content.
|
|
3
|
-
// Handles cases where LLMs might wrap JSON in such blocks.
|
|
4
|
-
const markdownCodeBlockRegex = /```(?:\w+)?\s*([\s\S]*?)\s*```/g;
|
|
5
|
-
// Attempt to extract content from a single markdown code block.
|
|
6
|
-
const cleanedText = text.replace(markdownCodeBlockRegex, "$1").trim();
|
|
7
|
-
// If after stripping, it looks like JSON, return it.
|
|
8
|
-
if ((cleanedText.startsWith("{") && cleanedText.endsWith("}")) || (cleanedText.startsWith("[") && cleanedText.endsWith("]"))) {
|
|
9
|
-
return cleanedText;
|
|
10
|
-
}
|
|
11
|
-
// Fallback: If the original text itself was valid JSON (without being in a code block)
|
|
12
|
-
// or if the stripping made it valid, this check helps.
|
|
13
|
-
try {
|
|
14
|
-
JSON.parse(text.trim());
|
|
15
|
-
return text.trim(); // Original text was valid JSON
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
// Continue if original text wasn't valid JSON
|
|
19
|
-
}
|
|
20
|
-
// Try a more specific JSON code block extraction if the generic one didn't yield valid JSON
|
|
21
|
-
const specificJsonCodeBlockRegex = /```json\s*(\{[\s\S]*?\}|\[[\s\S]*?\])\s*```/g;
|
|
22
|
-
const specificMatch = text.match(specificJsonCodeBlockRegex);
|
|
23
|
-
if (specificMatch && specificMatch[1]) {
|
|
24
|
-
return specificMatch[1].trim();
|
|
25
|
-
}
|
|
26
|
-
// If all else fails, return the most aggressively stripped version.
|
|
27
|
-
// JSON.parse will fail if it's not valid, which is the expected behavior.
|
|
28
|
-
return cleanedText;
|
|
29
|
-
}
|
|
1
|
+
export * from "atabey-shared/string.js";
|
|
30
2
|
//# sourceMappingURL=string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/shared/string.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/shared/string.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,27 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Agent Atabey Framework — Internal Branded Types
|
|
3
|
-
* Used to enforce absolute type safety within the core orchestration logic.
|
|
4
|
-
*/
|
|
5
|
-
export type Brand<K, T> = K & {
|
|
6
|
-
__brand: T;
|
|
7
|
-
};
|
|
8
|
-
export type TraceID = Brand<string, "TraceID">;
|
|
9
|
-
export type AgentID = Brand<string, "AgentID">;
|
|
10
|
-
export type PhaseID = Brand<string, "PhaseID">;
|
|
11
|
-
export type ProjectPath = Brand<string, "ProjectPath">;
|
|
12
|
-
export type MessageID = Brand<number, "MessageID">;
|
|
13
|
-
export type TaskID = Brand<string, "TaskID">;
|
|
14
|
-
export type LogID = Brand<number, "LogID">;
|
|
15
|
-
export type PlanID = Brand<string, "PlanID">;
|
|
16
|
-
/**
|
|
17
|
-
* Casts a raw string to a Branded Type.
|
|
18
|
-
* Use this only at the boundaries of the system.
|
|
19
|
-
*/
|
|
20
|
-
export declare function asTraceID(val: string): TraceID;
|
|
21
|
-
export declare function asAgentID(val: string): AgentID;
|
|
22
|
-
export declare function asPhaseID(val: string): PhaseID;
|
|
23
|
-
export declare function asProjectPath(val: string): ProjectPath;
|
|
24
|
-
export declare function asMessageID(val: number): MessageID;
|
|
25
|
-
export declare function asTaskID(val: string): TaskID;
|
|
26
|
-
export declare function asLogID(val: number): LogID;
|
|
27
|
-
export declare function asPlanID(val: string): PlanID;
|
|
1
|
+
export * from "atabey-shared/types.js";
|