@scemoon/cdh 1.0.8 → 1.0.9-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-dlc-skill/SKILL.md +106 -0
- package/ai-dlc-skill/architecture/project-structure.md +78 -0
- package/ai-dlc-skill/brownfield/README.md +36 -0
- package/ai-dlc-skill/brownfield/entry.md +45 -0
- package/ai-dlc-skill/brownfield/generate-context.sh +64 -0
- package/ai-dlc-skill/brownfield/scripts/deps.sh +27 -0
- package/ai-dlc-skill/brownfield/scripts/discover.sh +34 -0
- package/ai-dlc-skill/brownfield/scripts/extract-api.sh +45 -0
- package/ai-dlc-skill/components/backend.md +47 -0
- package/ai-dlc-skill/components/desktop.md +63 -0
- package/ai-dlc-skill/components/mya.md +219 -0
- package/ai-dlc-skill/components/native.md +73 -0
- package/ai-dlc-skill/components/tta.md +235 -0
- package/ai-dlc-skill/components/web.md +77 -0
- package/ai-dlc-skill/components/wxa.md +219 -0
- package/ai-dlc-skill/contracts/README.md +25 -0
- package/ai-dlc-skill/core/adaptive-flow.md +107 -0
- package/ai-dlc-skill/core/security.md +29 -0
- package/ai-dlc-skill/core/task-registry.md +153 -0
- package/ai-dlc-skill/cross-tool/README.md +20 -0
- package/ai-dlc-skill/cross-tool/cline/export.sh +38 -0
- package/ai-dlc-skill/cross-tool/copilot/export.sh +41 -0
- package/ai-dlc-skill/cross-tool/cursor/export.sh +53 -0
- package/ai-dlc-skill/cross-tool/onecode/export.sh +27 -0
- package/ai-dlc-skill/cross-tool/opencode/export.sh +38 -0
- package/ai-dlc-skill/phases/debug/entry.md +48 -0
- package/ai-dlc-skill/phases/debug/lifecycle.md +284 -0
- package/ai-dlc-skill/phases/deliver/entry.md +35 -0
- package/ai-dlc-skill/phases/deliver/lifecycle.md +185 -0
- package/ai-dlc-skill/phases/deliver/prompt.md +54 -0
- package/ai-dlc-skill/phases/deliver/rules.md +61 -0
- package/ai-dlc-skill/phases/plan/design_system/accessibility.md +268 -0
- package/ai-dlc-skill/phases/plan/design_system/atomic_design.md +341 -0
- package/ai-dlc-skill/phases/plan/design_system/component_spec.md +398 -0
- package/ai-dlc-skill/phases/plan/design_system/design_tokens.md +190 -0
- package/ai-dlc-skill/phases/plan/design_system/iconography.md +299 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/desktop.md +318 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/mya.md +354 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/native.md +328 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/tta.md +394 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/web.md +287 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/wxa.md +374 -0
- package/ai-dlc-skill/phases/plan/design_system/theme_system.md +318 -0
- package/ai-dlc-skill/phases/plan/entry.md +33 -0
- package/ai-dlc-skill/phases/plan/lifecycle.md +260 -0
- package/ai-dlc-skill/phases/plan/prompt.md +75 -0
- package/ai-dlc-skill/phases/plan/rules.md +60 -0
- package/ai-dlc-skill/phases/understand/entry.md +36 -0
- package/ai-dlc-skill/phases/understand/lifecycle.md +184 -0
- package/ai-dlc-skill/phases/understand/prompt.md +58 -0
- package/ai-dlc-skill/phases/understand/rules.md +49 -0
- package/ai-dlc-skill/phases/verify/config/base_url.md +65 -0
- package/ai-dlc-skill/phases/verify/entry.md +59 -0
- package/ai-dlc-skill/phases/verify/gates/browser_e2e.md +96 -0
- package/ai-dlc-skill/phases/verify/lifecycle.md +217 -0
- package/ai-dlc-skill/phases/verify/prompt.md +73 -0
- package/ai-dlc-skill/phases/verify/rules.md +91 -0
- package/ai-dlc-skill/phases/verify/runners/playwright_local.md +103 -0
- package/ai-dlc-skill/practices/bdd.md +119 -0
- package/ai-dlc-skill/practices/sdd.md +84 -0
- package/ai-dlc-skill/practices/tdd.md +128 -0
- package/ai-dlc-skill/providers/README.md +114 -0
- package/ai-dlc-skill/providers/aliyun/SKILL.md +204 -0
- package/ai-dlc-skill/providers/aliyun/api/rest-api.md +214 -0
- package/ai-dlc-skill/providers/aliyun/api/sdk.md +307 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/database-design.md +363 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/function-design.md +424 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/troubleshooting.md +258 -0
- package/ai-dlc-skill/providers/aliyun/cli/database.md +263 -0
- package/ai-dlc-skill/providers/aliyun/cli/functions.md +263 -0
- package/ai-dlc-skill/providers/aliyun/cli/hosting.md +226 -0
- package/ai-dlc-skill/providers/aliyun/cli/setup.md +235 -0
- package/ai-dlc-skill/providers/aliyun/cli/storage.md +315 -0
- package/ai-dlc-skill/providers/aliyun/deployment.yaml +66 -0
- package/ai-dlc-skill/providers/aliyun/integration/ci-cd.md +288 -0
- package/ai-dlc-skill/providers/aliyun/preview.yaml +84 -0
- package/ai-dlc-skill/providers/aliyun/provider.yaml +160 -0
- package/ai-dlc-skill/providers/aliyun/security/authentication.md +254 -0
- package/ai-dlc-skill/providers/aliyun/services/cdn-hosting.md +220 -0
- package/ai-dlc-skill/providers/aliyun/services/database.md +319 -0
- package/ai-dlc-skill/providers/aliyun/services/function-compute.md +273 -0
- package/ai-dlc-skill/providers/aliyun/services/overview.md +163 -0
- package/ai-dlc-skill/providers/aliyun/services/serverless-app-engine.md +266 -0
- package/ai-dlc-skill/providers/aliyun/services/storage.md +269 -0
- package/ai-dlc-skill/providers/tcb/SKILL.md +208 -0
- package/ai-dlc-skill/providers/tcb/api/rest-api.md +338 -0
- package/ai-dlc-skill/providers/tcb/api/sdk.md +288 -0
- package/ai-dlc-skill/providers/tcb/best-practices/database-design.md +452 -0
- package/ai-dlc-skill/providers/tcb/best-practices/function-design.md +502 -0
- package/ai-dlc-skill/providers/tcb/best-practices/troubleshooting.md +462 -0
- package/ai-dlc-skill/providers/tcb/cli/cls.md +133 -0
- package/ai-dlc-skill/providers/tcb/cli/database.md +230 -0
- package/ai-dlc-skill/providers/tcb/cli/env.md +207 -0
- package/ai-dlc-skill/providers/tcb/cli/functions.md +276 -0
- package/ai-dlc-skill/providers/tcb/cli/hosting.md +219 -0
- package/ai-dlc-skill/providers/tcb/cli/setup.md +218 -0
- package/ai-dlc-skill/providers/tcb/cli/storage.md +233 -0
- package/ai-dlc-skill/providers/tcb/deployment.yaml +111 -0
- package/ai-dlc-skill/providers/tcb/integration/ci-cd.md +309 -0
- package/ai-dlc-skill/providers/tcb/integration/mcp-server.md +371 -0
- package/ai-dlc-skill/providers/tcb/preview.yaml +83 -0
- package/ai-dlc-skill/providers/tcb/provider.yaml +172 -0
- package/ai-dlc-skill/providers/tcb/security/authentication.md +241 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-database.md +299 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-functions.md +265 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-hosting.md +264 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-run.md +285 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-storage.md +245 -0
- package/ai-dlc-skill/providers/tcb/services/overview.md +174 -0
- package/ai-dlc-skill/pybdd/README.md +41 -0
- package/ai-dlc-skill/pybdd/conftest.py +17 -0
- package/ai-dlc-skill/pybdd/example/auth/login.feature +32 -0
- package/ai-dlc-skill/pybdd/pytest.ini +5 -0
- package/ai-dlc-skill/pybdd/steps/.gitkeep +1 -0
- package/ai-dlc-skill/pybdd/steps/test_example_steps.py +65 -0
- package/ai-dlc-skill/requirements.md +140 -0
- package/ai-dlc-skill/skill.yaml +135 -0
- package/ai-dlc-skill/templates/brownfield/context.md +78 -0
- package/ai-dlc-skill/templates/integration/CHANGELOG.md +41 -0
- package/ai-dlc-skill/templates/integration/asyncapi.yaml +43 -0
- package/ai-dlc-skill/templates/integration/contract-diff.md +63 -0
- package/ai-dlc-skill/templates/integration/contract-spec.md +49 -0
- package/ai-dlc-skill/templates/integration/openapi.yaml +18 -0
- package/ai-dlc-skill/templates/integration/runtime-contract.yaml +36 -0
- package/ai-dlc-skill/templates/plan/design.md +49 -0
- package/ai-dlc-skill/templates/plan/task-list.md +32 -0
- package/ai-dlc-skill/templates/project/README.md +126 -0
- package/ai-dlc-skill/templates/project/template.md +119 -0
- package/ai-dlc-skill/templates/understand/feature.feature +30 -0
- package/ai-dlc-skill/templates/understand/intent.md +29 -0
- package/ai-dlc-skill/templates/understand/spec-delta.md +47 -0
- package/ai-dlc-skill/templates/verify/test-unit.py +27 -0
- package/ai-dlc-skill/walkthrough/collect.sh +50 -0
- package/ai-dlc-skill/walkthrough/template.md +54 -0
- package/cdh/__init__.py +0 -0
- package/cdh/__main__.py +4 -0
- package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
- package/cdh/__pycache__/cli_logging.cpython-314.pyc +0 -0
- package/cdh/__pycache__/config.cpython-314.pyc +0 -0
- package/cdh/__pycache__/project_loader.cpython-314.pyc +0 -0
- package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
- package/cdh/__pycache__/session_store.cpython-314.pyc +0 -0
- package/cdh/cdh_session_aggregator.py +258 -0
- package/cdh/cli.py +3000 -0
- package/cdh/cli_logging.py +45 -0
- package/cdh/config.py +28 -0
- package/cdh/event_loop/__init__.py +7 -0
- package/cdh/event_loop/bus.py +123 -0
- package/cdh/event_loop/events.py +25 -0
- package/cdh/event_loop/runner.py +28 -0
- package/cdh/event_loop/scheduler.py +158 -0
- package/cdh/generators/__init__.py +35 -0
- package/cdh/generators/_runtime.py +176 -0
- package/cdh/generators/ada/MANIFEST.toml +14 -0
- package/cdh/generators/ada/template.ads.tmpl +7 -0
- package/cdh/generators/bash/MANIFEST.toml +14 -0
- package/cdh/generators/bash/template.sh.tmpl +16 -0
- package/cdh/generators/builtin_index.json +590 -0
- package/cdh/generators/c/MANIFEST.toml +14 -0
- package/cdh/generators/c/template.h.tmpl +20 -0
- package/cdh/generators/cli.py +379 -0
- package/cdh/generators/clojure/MANIFEST.toml +14 -0
- package/cdh/generators/clojure/template.clj.tmpl +13 -0
- package/cdh/generators/cobol/MANIFEST.toml +14 -0
- package/cdh/generators/cobol/template.cbl.tmpl +14 -0
- package/cdh/generators/cpp/MANIFEST.toml +14 -0
- package/cdh/generators/cpp/template.hpp.tmpl +32 -0
- package/cdh/generators/crystal/MANIFEST.toml +14 -0
- package/cdh/generators/crystal/template.cr.tmpl +11 -0
- package/cdh/generators/csharp/MANIFEST.toml +23 -0
- package/cdh/generators/csharp/template.cs.tmpl +14 -0
- package/cdh/generators/cython/MANIFEST.toml +14 -0
- package/cdh/generators/cython/template.pyx.tmpl +17 -0
- package/cdh/generators/d/MANIFEST.toml +14 -0
- package/cdh/generators/d/template.d.tmpl +24 -0
- package/cdh/generators/dart/MANIFEST.toml +17 -0
- package/cdh/generators/dart/template.dart.tmpl +27 -0
- package/cdh/generators/elixir/MANIFEST.toml +17 -0
- package/cdh/generators/elixir/template.ex.tmpl +27 -0
- package/cdh/generators/elm/MANIFEST.toml +14 -0
- package/cdh/generators/elm/template.elm.tmpl +20 -0
- package/cdh/generators/erlang/MANIFEST.toml +14 -0
- package/cdh/generators/erlang/template.erl.tmpl +18 -0
- package/cdh/generators/fortran/MANIFEST.toml +14 -0
- package/cdh/generators/fortran/template.f90.tmpl +24 -0
- package/cdh/generators/fsharp/MANIFEST.toml +14 -0
- package/cdh/generators/fsharp/template.fs.tmpl +17 -0
- package/cdh/generators/go/MANIFEST.toml +18 -0
- package/cdh/generators/go/imports.go.tmpl +3 -0
- package/cdh/generators/go/template.go.tmpl +9 -0
- package/cdh/generators/graphql-schema/MANIFEST.toml +18 -0
- package/cdh/generators/graphql-schema/template.graphqls.tmpl +12 -0
- package/cdh/generators/groovy/MANIFEST.toml +14 -0
- package/cdh/generators/groovy/template.groovy.tmpl +28 -0
- package/cdh/generators/hack/MANIFEST.toml +14 -0
- package/cdh/generators/hack/template.hh.tmpl +24 -0
- package/cdh/generators/haskell/MANIFEST.toml +14 -0
- package/cdh/generators/haskell/template.hs.tmpl +20 -0
- package/cdh/generators/haxe/MANIFEST.toml +14 -0
- package/cdh/generators/haxe/template.hx.tmpl +20 -0
- package/cdh/generators/idris/MANIFEST.toml +14 -0
- package/cdh/generators/idris/template.idr.tmpl +22 -0
- package/cdh/generators/java/MANIFEST.toml +18 -0
- package/cdh/generators/java/template.java.tmpl +13 -0
- package/cdh/generators/julia/MANIFEST.toml +14 -0
- package/cdh/generators/julia/template.jl.tmpl +27 -0
- package/cdh/generators/kotlin/MANIFEST.toml +18 -0
- package/cdh/generators/kotlin/template.kt.tmpl +12 -0
- package/cdh/generators/lua/MANIFEST.toml +14 -0
- package/cdh/generators/lua/template.lua.tmpl +27 -0
- package/cdh/generators/matlab/MANIFEST.toml +14 -0
- package/cdh/generators/matlab/template.m.tmpl +26 -0
- package/cdh/generators/nim/MANIFEST.toml +14 -0
- package/cdh/generators/nim/template.nim.tmpl +12 -0
- package/cdh/generators/nix/MANIFEST.toml +14 -0
- package/cdh/generators/nix/template.nix.tmpl +8 -0
- package/cdh/generators/objective-c/MANIFEST.toml +14 -0
- package/cdh/generators/objective-c/template.m.tmpl +31 -0
- package/cdh/generators/ocaml/MANIFEST.toml +14 -0
- package/cdh/generators/ocaml/template.ml.tmpl +13 -0
- package/cdh/generators/pascal/MANIFEST.toml +14 -0
- package/cdh/generators/pascal/template.pas.tmpl +5 -0
- package/cdh/generators/perl/MANIFEST.toml +14 -0
- package/cdh/generators/perl/template.pm.tmpl +27 -0
- package/cdh/generators/php/MANIFEST.toml +17 -0
- package/cdh/generators/php/template.php.tmpl +31 -0
- package/cdh/generators/powershell/MANIFEST.toml +14 -0
- package/cdh/generators/powershell/template.ps1.tmpl +20 -0
- package/cdh/generators/protobuf/MANIFEST.toml +18 -0
- package/cdh/generators/protobuf/template.proto.tmpl +13 -0
- package/cdh/generators/python/MANIFEST.toml +18 -0
- package/cdh/generators/python/template.py.tmpl +12 -0
- package/cdh/generators/r/MANIFEST.toml +14 -0
- package/cdh/generators/r/template.R.tmpl +29 -0
- package/cdh/generators/racket/MANIFEST.toml +14 -0
- package/cdh/generators/racket/template.rkt.tmpl +15 -0
- package/cdh/generators/registry.py +211 -0
- package/cdh/generators/ruby/MANIFEST.toml +17 -0
- package/cdh/generators/ruby/template.rb.tmpl +27 -0
- package/cdh/generators/rust/MANIFEST.toml +18 -0
- package/cdh/generators/rust/template.rs.tmpl +16 -0
- package/cdh/generators/scala/MANIFEST.toml +20 -0
- package/cdh/generators/scala/template.scala.tmpl +13 -0
- package/cdh/generators/scheme/MANIFEST.toml +14 -0
- package/cdh/generators/scheme/template.scm.tmpl +16 -0
- package/cdh/generators/solidity/MANIFEST.toml +14 -0
- package/cdh/generators/solidity/template.sol.tmpl +24 -0
- package/cdh/generators/swift/MANIFEST.toml +18 -0
- package/cdh/generators/swift/template.swift.tmpl +10 -0
- package/cdh/generators/typescript/MANIFEST.toml +18 -0
- package/cdh/generators/typescript/template.ts.tmpl +7 -0
- package/cdh/generators/version.py +214 -0
- package/cdh/generators/zig/MANIFEST.toml +14 -0
- package/cdh/generators/zig/template.zig.tmpl +20 -0
- package/cdh/logging.py +314 -0
- package/cdh/optimizer/__init__.py +7 -0
- package/cdh/optimizer/loop.py +201 -0
- package/cdh/optimizer/mutation.py +85 -0
- package/cdh/optimizer/reward.py +51 -0
- package/cdh/optimizer/tracker.py +118 -0
- package/cdh/project_loader.py +1022 -0
- package/cdh/rules/patterns.yaml +132 -0
- package/cdh/rules/spectral.yaml +301 -0
- package/cdh/scaffold.py +1436 -0
- package/cdh/session_store.py +221 -0
- package/cdh/state_schema.py +127 -0
- package/cdh/tools/__init__.py +57 -0
- package/cdh/tools/cls_search.py +406 -0
- package/cdh/tools/contract_diff.py +644 -0
- package/cdh/tools/deploy_stack.py +590 -0
- package/cdh/tools/generate_shared.py +300 -0
- package/cdh/tools/iac_gen.py +224 -0
- package/cdh/tools/otel_export.py +125 -0
- package/cdh/tools/pattern_detect.py +451 -0
- package/cdh/tools/retrofit_labels.py +505 -0
- package/cdh/trace/__init__.py +101 -0
- package/cdh/trace/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/trace/dashboard/__init__.py +61 -0
- package/cdh/trace/dashboard/api.py +1032 -0
- package/cdh/trace/dashboard/app.html +1321 -0
- package/cdh/trace/dashboard/server.py +310 -0
- package/cdh/trace/otel_exporter.py +462 -0
- package/cdh/trace/otel_tracer.py +281 -0
- package/cdh/tui.py +1084 -0
- package/cdh/validators/__init__.py +16 -0
- package/cdh/validators/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/bdd.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/dag.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/ears.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/fr_namespace.cpython-314.pyc +0 -0
- package/cdh/validators/bdd.py +144 -0
- package/cdh/validators/dag.py +179 -0
- package/cdh/validators/ears.py +452 -0
- package/cdh/validators/fr_namespace.py +143 -0
- package/cdh/validators/spectral.py +475 -0
- package/cdh/verification/__init__.py +3 -0
- package/cdh/verification/aggregation.py +53 -0
- package/cdh/verification/gates/__init__.py +5 -0
- package/cdh/verification/gates/base.py +18 -0
- package/cdh/verification/gates/lint_gate.py +37 -0
- package/cdh/verification/gates/test_gate.py +41 -0
- package/cdh/verification/loop.py +93 -0
- package/cdh/verification/policy.py +24 -0
- package/onecode/__init__.py +1 -0
- package/onecode/__main__.py +4 -0
- package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
- package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
- package/onecode/__pycache__/config.cpython-314.pyc +0 -0
- package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
- package/onecode/agent/__init__.py +0 -0
- package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/checkpoint.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/turn_record.cpython-314.pyc +0 -0
- package/onecode/agent/agents/__init__.py +29 -0
- package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
- package/onecode/agent/agents/prompts/build-agent.md +50 -0
- package/onecode/agent/agents/prompts/compaction-instructions.md +12 -0
- package/onecode/agent/agents/prompts/explore-agent.md +42 -0
- package/onecode/agent/agents/prompts/plan-agent.md +44 -0
- package/onecode/agent/agents/prompts/plan-gate-hard.md +4 -0
- package/onecode/agent/agents/prompts/plan-gate-soft.md +3 -0
- package/onecode/agent/agents/prompts/solo-agent.md +57 -0
- package/onecode/agent/agents/prompts/subagent-constraints.md +10 -0
- package/onecode/agent/agents/prompts/summary-instructions.md +7 -0
- package/onecode/agent/agents/prompts/title-instructions.md +3 -0
- package/onecode/agent/agents/prompts/tool-descriptions.md +129 -0
- package/onecode/agent/agents/types.py +786 -0
- package/onecode/agent/attachments.py +112 -0
- package/onecode/agent/cdh_loader.py +3 -0
- package/onecode/agent/checkpoint.py +285 -0
- package/onecode/agent/context.py +465 -0
- package/onecode/agent/engine.py +3547 -0
- package/onecode/agent/event_bridge.py +75 -0
- package/onecode/agent/hooks.py +86 -0
- package/onecode/agent/onecode_agent_acp.py +2993 -0
- package/onecode/agent/permissions.py +150 -0
- package/onecode/agent/permissions_store.py +73 -0
- package/onecode/agent/project_doc.py +19 -0
- package/onecode/agent/question_detect.py +230 -0
- package/onecode/agent/session.py +3 -0
- package/onecode/agent/snapshot.py +144 -0
- package/onecode/agent/tools/__init__.py +17 -0
- package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/agent_tools.py +128 -0
- package/onecode/agent/tools/apply_patch_tool.py +138 -0
- package/onecode/agent/tools/bash_tool.py +121 -0
- package/onecode/agent/tools/communication_tools.py +154 -0
- package/onecode/agent/tools/config_tool.py +130 -0
- package/onecode/agent/tools/cron_tools.py +178 -0
- package/onecode/agent/tools/errors.py +17 -0
- package/onecode/agent/tools/file_ops.py +221 -0
- package/onecode/agent/tools/file_tools.py +225 -0
- package/onecode/agent/tools/git_tools.py +88 -0
- package/onecode/agent/tools/lsp_tools.py +404 -0
- package/onecode/agent/tools/mcp_tools.py +211 -0
- package/onecode/agent/tools/permission_handler.py +46 -0
- package/onecode/agent/tools/permissions.py +77 -0
- package/onecode/agent/tools/protocol.py +20 -0
- package/onecode/agent/tools/registry.py +210 -0
- package/onecode/agent/tools/sandbox.py +460 -0
- package/onecode/agent/tools/schema_validation.py +100 -0
- package/onecode/agent/tools/skill_tools.py +52 -0
- package/onecode/agent/tools/todo_tools.py +208 -0
- package/onecode/agent/tools/web_tools.py +530 -0
- package/onecode/agent/turn_record.py +28 -0
- package/onecode/builtin_skills/agent-browser/SKILL.md +212 -0
- package/onecode/builtin_skills/agent-browser/skill.yaml +8 -0
- package/onecode/builtin_skills/cloudbase/SKILL.md +162 -0
- package/onecode/builtin_skills/cloudbase/skill.yaml +7 -0
- package/onecode/builtin_skills/git/SKILL.md +64 -0
- package/onecode/builtin_skills/git/skill.yaml +7 -0
- package/onecode/builtin_skills/shell/SKILL.md +58 -0
- package/onecode/builtin_skills/shell/skill.yaml +8 -0
- package/onecode/builtin_skills/skill-creator/SKILL.md +106 -0
- package/onecode/builtin_skills/skill-creator/skill.yaml +8 -0
- package/onecode/cli.py +1325 -0
- package/onecode/codebase/__init__.py +69 -0
- package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
- package/onecode/codebase/chunker.py +125 -0
- package/onecode/codebase/indexer.py +154 -0
- package/onecode/codebase/retriever.py +240 -0
- package/onecode/codebase/storage.py +153 -0
- package/onecode/codebase/tools.py +59 -0
- package/onecode/commands.py +673 -0
- package/onecode/config.py +539 -0
- package/onecode/config_screen.py +486 -0
- package/onecode/cron/__init__.py +3 -0
- package/onecode/lsp/__init__.py +3 -0
- package/onecode/mcp/__init__.py +11 -0
- package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/cloudbase.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/config.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/oauth.cpython-314.pyc +0 -0
- package/onecode/mcp/client.py +305 -0
- package/onecode/mcp/cloudbase.py +188 -0
- package/onecode/mcp/config.py +363 -0
- package/onecode/mcp/manager.py +603 -0
- package/onecode/mcp/oauth.py +199 -0
- package/onecode/memory/__init__.py +106 -0
- package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
- package/onecode/memory/backend.py +179 -0
- package/onecode/memory/pyramid.py +145 -0
- package/onecode/memory/recall.py +322 -0
- package/onecode/migrate.py +122 -0
- package/onecode/models/__init__.py +4 -0
- package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/ollama_manager.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
- package/onecode/models/errors.py +104 -0
- package/onecode/models/messages.py +750 -0
- package/onecode/models/ollama_manager.py +167 -0
- package/onecode/models/provider.py +730 -0
- package/onecode/models/providers/__init__.py +17 -0
- package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/anthropic_provider.py +286 -0
- package/onecode/models/providers/deepseek_provider.py +221 -0
- package/onecode/models/providers/glm_provider.py +219 -0
- package/onecode/models/providers/minimax_provider.py +182 -0
- package/onecode/models/providers/minimaxi_provider.py +426 -0
- package/onecode/models/providers/ollama_provider.py +183 -0
- package/onecode/models/providers/openai_provider.py +234 -0
- package/onecode/models/registry.py +349 -0
- package/onecode/server/__init__.py +3 -0
- package/onecode/server/app.py +251 -0
- package/onecode/skills/__init__.py +11 -0
- package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
- package/onecode/skills/argument_substitution.py +38 -0
- package/onecode/skills/bootstrap.py +37 -0
- package/onecode/skills/create.py +56 -0
- package/onecode/skills/frontmatter.py +33 -0
- package/onecode/skills/loader.py +215 -0
- package/onecode/skills/manager.py +75 -0
- package/onecode/skills/model.py +43 -0
- package/onecode/storage/__init__.py +0 -0
- package/onecode/storage/activity.py +63 -0
- package/onecode/storage/project.py +54 -0
- package/onecode/storage/session.py +112 -0
- package/onecode/tasks/__init__.py +26 -0
- package/onecode/tasks/manager.py +232 -0
- package/onecode/tasks/models.py +240 -0
- package/onecode/trace/__init__.py +0 -0
- package/onecode/trace/tracer.py +173 -0
- package/onecode/utils/__init__.py +0 -0
- package/onecode/utils/helpers.py +20 -0
- package/onecode/verification/__init__.py +5 -0
- package/onecode/verification/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/aggregation.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/loop.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/policy.cpython-314.pyc +0 -0
- package/onecode/verification/aggregation.py +53 -0
- package/onecode/verification/gates/__init__.py +6 -0
- package/onecode/verification/gates/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/base.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/lint_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/test_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/type_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/base.py +20 -0
- package/onecode/verification/gates/lint_gate.py +45 -0
- package/onecode/verification/gates/test_gate.py +62 -0
- package/onecode/verification/gates/type_gate.py +46 -0
- package/onecode/verification/loop.py +95 -0
- package/onecode/verification/policy.py +29 -0
- package/package.json +2 -2
- package/pyproject.toml +84 -0
- package/tui/__init__.py +46 -0
- package/tui/__main__.py +4 -0
- package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
- package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
- package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
- package/tui/__pycache__/agent.cpython-314.pyc +0 -0
- package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
- package/tui/__pycache__/agents.cpython-314.pyc +0 -0
- package/tui/__pycache__/answer.cpython-314.pyc +0 -0
- package/tui/__pycache__/app.cpython-314.pyc +0 -0
- package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
- package/tui/__pycache__/complete.cpython-314.pyc +0 -0
- package/tui/__pycache__/constants.cpython-314.pyc +0 -0
- package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
- package/tui/__pycache__/db.cpython-314.pyc +0 -0
- package/tui/__pycache__/dec.cpython-314.pyc +0 -0
- package/tui/__pycache__/directory.cpython-314.pyc +0 -0
- package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
- package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
- package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
- package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
- package/tui/__pycache__/history.cpython-314.pyc +0 -0
- package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
- package/tui/__pycache__/menus.cpython-314.pyc +0 -0
- package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
- package/tui/__pycache__/messages.cpython-314.pyc +0 -0
- package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
- package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
- package/tui/__pycache__/paths.cpython-314.pyc +0 -0
- package/tui/__pycache__/pill.cpython-314.pyc +0 -0
- package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
- package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
- package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
- package/tui/__pycache__/settings.cpython-314.pyc +0 -0
- package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
- package/tui/__pycache__/shell.cpython-314.pyc +0 -0
- package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
- package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
- package/tui/__pycache__/version.cpython-314.pyc +0 -0
- package/tui/_loop.py +86 -0
- package/tui/_path_fuzzy_search.py +48 -0
- package/tui/_path_match.py +141 -0
- package/tui/about.py +95 -0
- package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/event_tap.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
- package/tui/acp/agent.py +1212 -0
- package/tui/acp/api.py +79 -0
- package/tui/acp/encode_tool_call_id.py +12 -0
- package/tui/acp/event_tap.py +107 -0
- package/tui/acp/messages.py +222 -0
- package/tui/acp/prompt.py +53 -0
- package/tui/acp/protocol.py +551 -0
- package/tui/agent.py +70 -0
- package/tui/agent_schema.py +76 -0
- package/tui/agents.py +46 -0
- package/tui/ansi/__init__.py +1 -0
- package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
- package/tui/ansi/_ansi.py +1689 -0
- package/tui/ansi/_ansi_colors.py +264 -0
- package/tui/ansi/_control_codes.py +37 -0
- package/tui/ansi/_keys.py +251 -0
- package/tui/ansi/_sgr_styles.py +64 -0
- package/tui/ansi/_stream_parser.py +418 -0
- package/tui/answer.py +12 -0
- package/tui/app.py +1195 -0
- package/tui/atomic.py +37 -0
- package/tui/cli.py +208 -0
- package/tui/code_analyze.py +27 -0
- package/tui/complete.py +38 -0
- package/tui/constants.py +61 -0
- package/tui/conversation_markdown.py +30 -0
- package/tui/danger.py +372 -0
- package/tui/data/agents/ampcode.com.toml +52 -0
- package/tui/data/agents/augmentcode.com.toml +41 -0
- package/tui/data/agents/cdh.cloud-dev-harness.toml +23 -0
- package/tui/data/agents/claude.com.toml +41 -0
- package/tui/data/agents/copilot.github.com.toml +29 -0
- package/tui/data/agents/crowai.dev.toml +36 -0
- package/tui/data/agents/cursor.com.toml +38 -0
- package/tui/data/agents/deepagents.langchain.com +34 -0
- package/tui/data/agents/docker.com.toml +60 -0
- package/tui/data/agents/geminicli.com.toml +28 -0
- package/tui/data/agents/goose.ai.toml +52 -0
- package/tui/data/agents/inference.huggingface.co.toml +41 -0
- package/tui/data/agents/kimi.com.toml +35 -0
- package/tui/data/agents/kiro.dev.toml +43 -0
- package/tui/data/agents/onecode.dev.toml +22 -0
- package/tui/data/agents/openai.com.toml +53 -0
- package/tui/data/agents/openclaw.ai.toml +37 -0
- package/tui/data/agents/opencode.ai.toml +39 -0
- package/tui/data/agents/openhands.dev.toml +46 -0
- package/tui/data/agents/stakpak.dev.toml +62 -0
- package/tui/data/agents/vibe.mistral.ai.toml +31 -0
- package/tui/data/agents/vtcode.dev.toml +63 -0
- package/tui/data/images/frog.png +0 -0
- package/tui/data/sounds/question.wav +0 -0
- package/tui/data/sounds/turn-over.wav +0 -0
- package/tui/db.py +213 -0
- package/tui/dec.py +332 -0
- package/tui/diff_utils.py +131 -0
- package/tui/directory.py +234 -0
- package/tui/directory_suggester.py +93 -0
- package/tui/directory_watcher.py +231 -0
- package/tui/format_path.py +25 -0
- package/tui/fuzzy.py +140 -0
- package/tui/fuzzy_index.py +275 -0
- package/tui/gist.py +33 -0
- package/tui/history.py +138 -0
- package/tui/jsonrpc.py +599 -0
- package/tui/menus.py +14 -0
- package/tui/message_log.py +69 -0
- package/tui/messages.py +144 -0
- package/tui/option_content.py +51 -0
- package/tui/os.py +0 -0
- package/tui/path_complete.py +217 -0
- package/tui/path_filter.py +124 -0
- package/tui/paths.py +87 -0
- package/tui/pill.py +23 -0
- package/tui/platform_commands.py +52 -0
- package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
- package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
- package/tui/prompt/extract.py +19 -0
- package/tui/prompt/resource.py +68 -0
- package/tui/protocol.py +28 -0
- package/tui/screens/__init__.py +0 -0
- package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
- package/tui/screens/action_modal.py +94 -0
- package/tui/screens/agent_modal.py +175 -0
- package/tui/screens/command_edit_modal.py +74 -0
- package/tui/screens/diff_explorer_screen.py +419 -0
- package/tui/screens/diff_screen.py +84 -0
- package/tui/screens/ide_screen.py +461 -0
- package/tui/screens/main.py +397 -0
- package/tui/screens/main.tcss +662 -0
- package/tui/screens/permissions.py +404 -0
- package/tui/screens/permissions.tcss +72 -0
- package/tui/screens/projects.tcss +84 -0
- package/tui/screens/projects_app.py +341 -0
- package/tui/screens/projects_screen.py +277 -0
- package/tui/screens/session_resume_modal.py +172 -0
- package/tui/screens/session_resume_modal.tcss +35 -0
- package/tui/screens/sessions.py +171 -0
- package/tui/screens/sessions.tcss +119 -0
- package/tui/screens/settings.py +293 -0
- package/tui/screens/settings.tcss +113 -0
- package/tui/screens/store.py +502 -0
- package/tui/screens/store.tcss +274 -0
- package/tui/screens/tool_content_screen.py +59 -0
- package/tui/screens/trace.py +317 -0
- package/tui/session_tracker.py +123 -0
- package/tui/settings.py +353 -0
- package/tui/settings_schema.py +467 -0
- package/tui/shell.py +304 -0
- package/tui/shell_read.py +42 -0
- package/tui/slash_command.py +34 -0
- package/tui/tui.tcss +246 -0
- package/tui/twitter.py +38 -0
- package/tui/version.py +80 -0
- package/tui/visuals/__init__.py +0 -0
- package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
- package/tui/visuals/columns.py +272 -0
- package/tui/widgets/__init__.py +0 -0
- package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/aidlc.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/pending_prompts.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
- package/tui/widgets/acp_content.py +70 -0
- package/tui/widgets/agent_response.py +76 -0
- package/tui/widgets/agent_thought.py +167 -0
- package/tui/widgets/aidlc.py +334 -0
- package/tui/widgets/ask_user.py +604 -0
- package/tui/widgets/command_pane.py +223 -0
- package/tui/widgets/condensed_path.py +115 -0
- package/tui/widgets/context_stats.py +66 -0
- package/tui/widgets/conversation.py +3235 -0
- package/tui/widgets/danger_warning.py +65 -0
- package/tui/widgets/diff_view.py +69 -0
- package/tui/widgets/directory_input.py +8 -0
- package/tui/widgets/edit_field.py +206 -0
- package/tui/widgets/flash.py +81 -0
- package/tui/widgets/future_text.py +126 -0
- package/tui/widgets/grid_select.py +234 -0
- package/tui/widgets/highlighted_textarea.py +183 -0
- package/tui/widgets/load_more.py +24 -0
- package/tui/widgets/mandelbrot.py +294 -0
- package/tui/widgets/markdown_note.py +13 -0
- package/tui/widgets/menu.py +147 -0
- package/tui/widgets/model_status.py +230 -0
- package/tui/widgets/modified_files.py +315 -0
- package/tui/widgets/non_selectable_label.py +5 -0
- package/tui/widgets/note.py +18 -0
- package/tui/widgets/path_search.py +492 -0
- package/tui/widgets/pending_prompts.py +36 -0
- package/tui/widgets/plan.py +285 -0
- package/tui/widgets/project_directory_tree.py +102 -0
- package/tui/widgets/project_grid_select.py +68 -0
- package/tui/widgets/project_summary.py +33 -0
- package/tui/widgets/prompt.py +935 -0
- package/tui/widgets/question.py +360 -0
- package/tui/widgets/session_grid_select.py +230 -0
- package/tui/widgets/session_summary.py +115 -0
- package/tui/widgets/session_tabs.py +194 -0
- package/tui/widgets/shell_result.py +35 -0
- package/tui/widgets/shell_terminal.py +40 -0
- package/tui/widgets/side_bar.py +124 -0
- package/tui/widgets/slash_complete.py +235 -0
- package/tui/widgets/strike_text.py +70 -0
- package/tui/widgets/subagent.py +287 -0
- package/tui/widgets/subagent_screen.py +715 -0
- package/tui/widgets/terminal.py +576 -0
- package/tui/widgets/terminal_tool.py +360 -0
- package/tui/widgets/throbber.py +100 -0
- package/tui/widgets/tool_call.py +432 -0
- package/tui/widgets/user_input.py +23 -0
- package/tui/widgets/version.py +5 -0
- package/tui/widgets/welcome.py +31 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# TCB CLI: Database Management
|
|
2
|
+
|
|
3
|
+
## When to Use Database Commands
|
|
4
|
+
|
|
5
|
+
| Goal | Command | Notes |
|
|
6
|
+
|------|---------|-------|
|
|
7
|
+
| List collections | `tcb db list` | DocDB only |
|
|
8
|
+
| Query documents | `tcb db query` | DocDB (Mongoose-like syntax) |
|
|
9
|
+
| Run migrations | `tcb db migrate` | SQL migrations (MySQL) |
|
|
10
|
+
| Import data | `tcb db import` | JSON import to DocDB |
|
|
11
|
+
| Export data | `tcb db export` | DocDB to JSON |
|
|
12
|
+
|
|
13
|
+
## Decision Tree for Database Operations
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Need to work with database?
|
|
17
|
+
├── DocDB (NoSQL)
|
|
18
|
+
│ ├── List collections → tcb db list
|
|
19
|
+
│ ├── Query data → tcb db query
|
|
20
|
+
│ ├── Import/Export → tcb db import/export
|
|
21
|
+
│ └── Complex operations → Use SDK or REST API
|
|
22
|
+
├── MySQL (RDBMS)
|
|
23
|
+
│ ├── Run migrations → tcb db migrate
|
|
24
|
+
│ ├── Admin queries → tcb db query (use carefully)
|
|
25
|
+
│ └── Application queries → MySQL client in functions
|
|
26
|
+
└── Schema changes → Migration files (see ci-cd.md)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## DocDB Operations
|
|
30
|
+
|
|
31
|
+
### List Collections
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
tcb db list --env $TCB_ENV_ID
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Output:
|
|
38
|
+
```
|
|
39
|
+
┌─────────────────┬────────────┬──────────────────┐
|
|
40
|
+
│ Collection │ Documents │ Indexes │
|
|
41
|
+
├─────────────────┼────────────┼──────────────────┤
|
|
42
|
+
│ users │ 1,234 │ 2 │
|
|
43
|
+
│ orders │ 5,678 │ 3 │
|
|
44
|
+
│ products │ 890 │ 1 │
|
|
45
|
+
└─────────────────┴────────────┴──────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Query Documents
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
tcb db query "SELECT * FROM users WHERE status = 'active'" --env $TCB_ENV_ID
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Query Syntax Reference
|
|
55
|
+
|
|
56
|
+
| SQL-like | Description |
|
|
57
|
+
|----------|-------------|
|
|
58
|
+
| `SELECT * FROM collection` | Get all documents |
|
|
59
|
+
| `WHERE field = 'value'` | Equality filter |
|
|
60
|
+
| `WHERE field > 10` | Comparison |
|
|
61
|
+
| `WHERE field IN ('a','b')` | In list |
|
|
62
|
+
| `WHERE field LIKE '%pattern%'` | Regex ( DocDB uses `LIKE` with regex) |
|
|
63
|
+
| `ORDER BY field ASC/DESC` | Sort |
|
|
64
|
+
| `LIMIT n SKIP m` | Pagination |
|
|
65
|
+
| `SELECT field1, field2` | Project specific fields |
|
|
66
|
+
|
|
67
|
+
#### Query Examples
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Simple query
|
|
71
|
+
tcb db query "SELECT * FROM users" --env $TCB_ENV_ID
|
|
72
|
+
|
|
73
|
+
# With filter
|
|
74
|
+
tcb db query "SELECT * FROM users WHERE status = 'active'" --env $TCB_ENV_ID
|
|
75
|
+
|
|
76
|
+
# With comparison
|
|
77
|
+
tcb db query "SELECT * FROM orders WHERE amount > 100" --env $TCB_ENV_ID
|
|
78
|
+
|
|
79
|
+
# With pagination
|
|
80
|
+
tcb db query "SELECT * FROM users LIMIT 20 SKIP 40" --env $TCB_ENV_ID
|
|
81
|
+
|
|
82
|
+
# Ordered
|
|
83
|
+
tcb db query "SELECT * FROM users ORDER BY createdAt DESC" --env $TCB_ENV_ID
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Import Data
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
tcb db import --collection users --file ./users.json --env $TCB_ENV_ID
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Format: JSON array of documents
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
[
|
|
96
|
+
{ "name": "Alice", "email": "alice@example.com" },
|
|
97
|
+
{ "name": "Bob", "email": "bob@example.com" }
|
|
98
|
+
]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Export Data
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
tcb db export --collection users --file ./backup.json --env $TCB_ENV_ID
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## MySQL Operations
|
|
108
|
+
|
|
109
|
+
### Run Migrations
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
tcb db migrate --env $TCB_ENV_ID
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Migrations run SQL files in `migrations/` directory.
|
|
116
|
+
|
|
117
|
+
### Migration File Structure
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
migrations/
|
|
121
|
+
├── 001_create_users.sql
|
|
122
|
+
├── 002_add_index.sql
|
|
123
|
+
└── 003_alter_orders.sql
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Migration File Example
|
|
127
|
+
|
|
128
|
+
```sql
|
|
129
|
+
-- migrations/001_create_users.sql
|
|
130
|
+
|
|
131
|
+
-- UP migration
|
|
132
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
133
|
+
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
134
|
+
openid VARCHAR(64) UNIQUE NOT NULL,
|
|
135
|
+
nickname VARCHAR(128),
|
|
136
|
+
status TINYINT DEFAULT 1,
|
|
137
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
-- DOWN migration (for rollback)
|
|
141
|
+
-- DROP TABLE users;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Run Specific Migration
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
tcb db migrate --up --name 001_create_users --env $TCB_ENV_ID
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Rollback Last Migration
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
tcb db migrate --down --env $TCB_ENV_ID
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Check Migration Status
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
tcb db migrate --status --env $TCB_ENV_ID
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Output:
|
|
163
|
+
```
|
|
164
|
+
┌──────┬────────────────────────────────┬──────────┐
|
|
165
|
+
│ File │ Name │ Status │
|
|
166
|
+
├──────┼────────────────────────────────┼──────────┤
|
|
167
|
+
│ 001 │ create_users │ applied │
|
|
168
|
+
│ 002 │ add_index │ applied │
|
|
169
|
+
│ 003 │ alter_orders │ pending │
|
|
170
|
+
└──────┴────────────────────────────────┴──────────┘
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Agent Workflows
|
|
174
|
+
|
|
175
|
+
### Workflow: Query DocDB from Agent
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# List available collections first
|
|
179
|
+
tcb db list --env $TCB_ENV_ID
|
|
180
|
+
|
|
181
|
+
# Query specific collection
|
|
182
|
+
tcb db query "SELECT * FROM users WHERE status = 'active'" --env $TCB_ENV_ID
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
For complex queries, use SDK in a function:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Create debug function
|
|
189
|
+
tcb fn invoke --name db-debug --params '{"query": "SELECT * FROM users"}' --env $TCB_ENV_ID
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Workflow: Data Migration
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# 1. Create migration file
|
|
196
|
+
cat > migrations/004_add_email_index.sql << 'EOF'
|
|
197
|
+
CREATE INDEX idx_email ON users(email);
|
|
198
|
+
EOF
|
|
199
|
+
|
|
200
|
+
# 2. Run migration
|
|
201
|
+
tcb db migrate --env staging
|
|
202
|
+
|
|
203
|
+
# 3. Verify
|
|
204
|
+
tcb db query "SELECT * FROM __migrations" --env staging
|
|
205
|
+
|
|
206
|
+
# 4. Deploy to production (via deploy_stack)
|
|
207
|
+
deploy_stack --env production --provider tcb
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Workflow: Backup and Restore
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Backup
|
|
214
|
+
tcb db export --collection users --file ./backup/users_$(date +%Y%m%d).json --env $TCB_ENV_ID
|
|
215
|
+
|
|
216
|
+
# Restore (careful!)
|
|
217
|
+
tcb db import --collection users --file ./backup/users_latest.json --env $TCB_ENV_ID
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Troubleshooting
|
|
221
|
+
|
|
222
|
+
| Issue | Cause | Solution |
|
|
223
|
+
|-------|-------|----------|
|
|
224
|
+
| `Collection not found` | Wrong name | `tcb db list` to see collections |
|
|
225
|
+
| `Query syntax error` | Invalid query syntax | Check DocDB query syntax |
|
|
226
|
+
| `Import failed` | Invalid JSON format | Verify JSON array format |
|
|
227
|
+
| `Migration failed` | SQL error | Check migration file syntax |
|
|
228
|
+
| `Permission denied` | No write access | Check environment permissions |
|
|
229
|
+
|
|
230
|
+
For detailed troubleshooting → `../best-practices/troubleshooting.md`
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# TCB Environment Management
|
|
2
|
+
|
|
3
|
+
## What is a TCB Environment
|
|
4
|
+
|
|
5
|
+
A TCB Environment is an isolated namespace containing:
|
|
6
|
+
- CloudBase Functions
|
|
7
|
+
- CloudBase Database (DocDB)
|
|
8
|
+
- MySQL instance
|
|
9
|
+
- COS storage bucket
|
|
10
|
+
- CloudBase Hosting
|
|
11
|
+
- CloudBase Run services
|
|
12
|
+
|
|
13
|
+
**Each environment has a unique `envId`** (e.g., `env-8a9b6c5d`) used to scope all operations.
|
|
14
|
+
|
|
15
|
+
## When to Create Environments
|
|
16
|
+
|
|
17
|
+
| Scenario | Action |
|
|
18
|
+
|----------|--------|
|
|
19
|
+
| New project | Create dev environment first |
|
|
20
|
+
| Team member onboarding | Each developer gets personal dev sandbox |
|
|
21
|
+
| Feature branch testing | Deploy to preview environment |
|
|
22
|
+
| Pre-production validation | Use staging environment |
|
|
23
|
+
| Production release | Use production environment |
|
|
24
|
+
|
|
25
|
+
## Environment Strategy
|
|
26
|
+
|
|
27
|
+
### Recommended Structure
|
|
28
|
+
|
|
29
|
+
| Environment | Purpose | Access | Per-Component Deploy |
|
|
30
|
+
|-------------|---------|--------|---------------------|
|
|
31
|
+
| `dev-{username}` | Personal dev | Developer only | Allowed |
|
|
32
|
+
| `preview` | Integration testing | Team | Stack deploy only |
|
|
33
|
+
| `staging` | Pre-production | Team | Stack deploy only |
|
|
34
|
+
| `production` | Live traffic | Public | Stack deploy + approval |
|
|
35
|
+
|
|
36
|
+
## CLI Commands
|
|
37
|
+
|
|
38
|
+
### List Environments
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
tcb env list
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Output:
|
|
45
|
+
```
|
|
46
|
+
┌──────────────┬────────────────┬─────────────┐
|
|
47
|
+
│ Environment │ Region │ Status │
|
|
48
|
+
├──────────────┼────────────────┼─────────────┤
|
|
49
|
+
│ env-xxxxx │ ap-shanghai │ running │
|
|
50
|
+
│ env-yyyyy │ ap-beijing │ running │
|
|
51
|
+
│ dev-sandbox │ ap-shanghai │ running │
|
|
52
|
+
└──────────────┴────────────────┴─────────────┘
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Create Environment
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
tcb env create dev-test --region ap-shanghai
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Note:** Environment creation takes 1-2 minutes.
|
|
62
|
+
|
|
63
|
+
### Switch Environment
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
tcb env use env-xxxxx
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Sets as default for subsequent commands.
|
|
70
|
+
|
|
71
|
+
### View Environment Info
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
tcb env info
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Shows:
|
|
78
|
+
- Environment ID
|
|
79
|
+
- Region
|
|
80
|
+
- Status
|
|
81
|
+
- Created time
|
|
82
|
+
- Service quotas
|
|
83
|
+
|
|
84
|
+
### Delete Environment
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
tcb env delete env-xxxxx
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Warning:** Deletes all resources in the environment. Cannot be undone.
|
|
91
|
+
|
|
92
|
+
## Environment Variables in Commands
|
|
93
|
+
|
|
94
|
+
Most CLI commands accept `--env <envId>` or `-e <envId>`:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
tcb fn list --env env-xxxxx
|
|
98
|
+
tcb hosting deploy --env env-xxxxx --dir ./dist
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Or set default via `cloudbaserc.json`:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"envId": "env-xxxxx"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Agent Decision Guide
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Need to deploy to a shared environment?
|
|
113
|
+
├── No (personal dev) → dev-{username} (per-component allowed)
|
|
114
|
+
└── Yes (team/shared) → preview/staging/production (stack deploy only)
|
|
115
|
+
|
|
116
|
+
Deploy command decision:
|
|
117
|
+
├── Single function update → tcb fn deploy (per-component OK for dev)
|
|
118
|
+
├── Database schema change → tcb db migrate
|
|
119
|
+
├── Full stack update → deploy_stack --preview --provider tcb
|
|
120
|
+
└── Anything to shared env → deploy_stack (not individual commands)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Personal Dev Sandbox
|
|
124
|
+
|
|
125
|
+
### Create Personal Sandbox
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
tcb env create dev-$USER --region ap-shanghai
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Per-Component Workflow
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Work on a single function
|
|
135
|
+
tcb fn deploy --name hello --dir ./functions --env dev-$USER
|
|
136
|
+
|
|
137
|
+
# Work on hosting
|
|
138
|
+
tcb hosting deploy --env dev-$USER --dir ./dist
|
|
139
|
+
|
|
140
|
+
# Test with local frontend
|
|
141
|
+
# Frontend points to preview stack URL
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Cleanup
|
|
145
|
+
|
|
146
|
+
When done with personal sandbox:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Option 1: Keep for later use (costs money)
|
|
150
|
+
# Option 2: Delete to save money
|
|
151
|
+
tcb env delete dev-$USER
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Shared Environment Workflow
|
|
155
|
+
|
|
156
|
+
### Preview Environment
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Deploy full stack to preview
|
|
160
|
+
deploy_stack --preview --provider tcb
|
|
161
|
+
|
|
162
|
+
# Result:
|
|
163
|
+
# STACK_URL=https://{env-id}.tcb-preview.com
|
|
164
|
+
# WEB_URL=https://{env-id}-{project}.tcb-preview.com
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Staging Environment
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Deploy after PR merge
|
|
171
|
+
deploy_stack --env staging --provider tcb
|
|
172
|
+
|
|
173
|
+
# Run e2e tests
|
|
174
|
+
pytest aidlc/tests/cross-stack/ --stack-url $STACK_URL
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Production Environment
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Deploy with human approval
|
|
181
|
+
deploy_stack --env production --provider tcb
|
|
182
|
+
|
|
183
|
+
# After validation
|
|
184
|
+
# Smoke test + BVT
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Environment Quotas
|
|
188
|
+
|
|
189
|
+
| Resource | Limit per Environment |
|
|
190
|
+
|----------|----------------------|
|
|
191
|
+
| Functions | 100 |
|
|
192
|
+
| Collections (DocDB) | 100 |
|
|
193
|
+
| Storage (COS) | 50GB |
|
|
194
|
+
| Database (DocDB) | 2GB |
|
|
195
|
+
| Database (MySQL) | 20GB |
|
|
196
|
+
| CloudBase Run | 10 services |
|
|
197
|
+
|
|
198
|
+
## Troubleshooting
|
|
199
|
+
|
|
200
|
+
| Issue | Cause | Solution |
|
|
201
|
+
|-------|-------|----------|
|
|
202
|
+
| `Environment not found` | Wrong env ID | `tcb env list` to see valid IDs |
|
|
203
|
+
| `Permission denied` | No access to environment | Request access from environment owner |
|
|
204
|
+
| `Environment creating` | Creation in progress | Wait 1-2 minutes |
|
|
205
|
+
| `Resource quota exceeded` | Hit environment limits | Delete unused resources or create new env |
|
|
206
|
+
|
|
207
|
+
For detailed troubleshooting → `../best-practices/troubleshooting.md`
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# TCB CLI: Functions Management
|
|
2
|
+
|
|
3
|
+
## When to Use Function Commands
|
|
4
|
+
|
|
5
|
+
| Goal | Command | Per-Component Allowed |
|
|
6
|
+
|------|---------|----------------------|
|
|
7
|
+
| Deploy a function | `tcb fn deploy` | dev sandbox only |
|
|
8
|
+
| Invoke a function | `tcb fn invoke` | any env |
|
|
9
|
+
| View logs | `tcb fn logs` | any env |
|
|
10
|
+
| List functions | `tcb fn list` | any env |
|
|
11
|
+
| Create trigger | `tcb fn trigger` | dev sandbox only |
|
|
12
|
+
| Delete function | `tcb fn delete` | dev sandbox only |
|
|
13
|
+
|
|
14
|
+
**For shared environments (preview/staging/production), always use `deploy_stack` instead.**
|
|
15
|
+
|
|
16
|
+
## Decision Tree for Function Operations
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Need to work with functions?
|
|
20
|
+
├── Deploying to shared env → deploy_stack --preview --provider tcb
|
|
21
|
+
├── Deploying to personal dev → tcb fn deploy
|
|
22
|
+
├── Testing/debugging function → tcb fn invoke
|
|
23
|
+
├── Viewing logs → tcb fn logs
|
|
24
|
+
├── Checking status → tcb fn list
|
|
25
|
+
└── Deleting function → tcb fn delete (dev only)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Deploy Functions
|
|
29
|
+
|
|
30
|
+
### Standard Deployment
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
tcb fn deploy --name hello --dir ./functions --env $TCB_ENV_ID
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Requirements:
|
|
37
|
+
- Directory must contain `cloudbaserc.json` or `package.json`
|
|
38
|
+
- Entry point must export `main` function
|
|
39
|
+
|
|
40
|
+
### Deploy All Functions
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
tcb fn deploy --all --env $TCB_ENV_ID
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Deploys all functions defined in `cloudbaserc.json`.
|
|
47
|
+
|
|
48
|
+
### HTTP Function
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
tcb fn deploy --name api --httpFn --env $TCB_ENV_ID
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Makes function accessible via HTTP.
|
|
55
|
+
|
|
56
|
+
### With WebSocket
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
tcb fn deploy --name ws-handler --httpFn --ws --env $TCB_ENV_ID
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Options
|
|
63
|
+
|
|
64
|
+
| Option | Description |
|
|
65
|
+
|--------|-------------|
|
|
66
|
+
| `--name <name>` | Function name |
|
|
67
|
+
| `--dir <path>` | Function directory |
|
|
68
|
+
| `--env <envId>` | Target environment |
|
|
69
|
+
| `--httpFn` | Deploy as HTTP function |
|
|
70
|
+
| `--ws` | Enable WebSocket |
|
|
71
|
+
| `--deployMode <mode>` | Upload mode: `cos` (default), `zip`, `image` |
|
|
72
|
+
| `--force` | Overwrite existing |
|
|
73
|
+
| `--yes` | Skip confirmation |
|
|
74
|
+
|
|
75
|
+
## Invoke Functions
|
|
76
|
+
|
|
77
|
+
### Sync Invocation
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
tcb fn invoke --name hello --params '{}' --env $TCB_ENV_ID
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Returns function output directly.
|
|
84
|
+
|
|
85
|
+
### With Parameters
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
tcb fn invoke --name hello \
|
|
89
|
+
--params '{"userId": "123", "action": "getProfile"}' \
|
|
90
|
+
--env $TCB_ENV_ID
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Async Invocation (background)
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
tcb fn invoke --name hello --params '{}' --async --env $TCB_ENV_ID
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Returns immediately without waiting for result.
|
|
100
|
+
|
|
101
|
+
## View Logs
|
|
102
|
+
|
|
103
|
+
### Recent Logs
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
tcb fn logs --name hello --env $TCB_ENV_ID
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Logs with Limit
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
tcb fn logs --name hello --limit 100 --env $TCB_ENV_ID
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Logs with Filter
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
tcb fn logs --name hello --keyword error --env $TCB_ENV_ID
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Follow Logs (tail -f)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
tcb fn logs --name hello --tail --env $TCB_ENV_ID
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## List Functions
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
tcb fn list --env $TCB_ENV_ID
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Output:
|
|
134
|
+
```
|
|
135
|
+
┌──────────────┬────────────┬─────────┬───────────────┐
|
|
136
|
+
│ Name │ Runtime │ Status │ Modified │
|
|
137
|
+
├──────────────┼────────────┼─────────┼───────────────┤
|
|
138
|
+
│ hello │ Nodejs16.13│ active │ 2024-01-15 │
|
|
139
|
+
│ api-users │ Nodejs16.13│ active │ 2024-01-14 │
|
|
140
|
+
│ ws-handler │ Nodejs16.13│ active │ 2024-01-13 │
|
|
141
|
+
└──────────────┴────────────┴─────────┴───────────────┘
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Function Details
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
tcb fn detail --name hello --env $TCB_ENV_ID
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Shows:
|
|
151
|
+
- Runtime version
|
|
152
|
+
- Memory limit
|
|
153
|
+
- Timeout
|
|
154
|
+
- Trigger configuration
|
|
155
|
+
- Environment variables
|
|
156
|
+
- Last deployment time
|
|
157
|
+
|
|
158
|
+
## Delete Function
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
tcb fn delete --name hello --env $TCB_ENV_ID
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Warning:** Deletes function and all associated triggers. Cannot be undone.
|
|
165
|
+
|
|
166
|
+
## Triggers
|
|
167
|
+
|
|
168
|
+
### Create Timer Trigger
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
tcb fn trigger create \
|
|
172
|
+
--name hello \
|
|
173
|
+
--trigger cron-daily \
|
|
174
|
+
--type timer \
|
|
175
|
+
--config "0 0 * * * *" \
|
|
176
|
+
--env $TCB_ENV_ID
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Create COS Trigger
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
tcb fn trigger create \
|
|
183
|
+
--name process-image \
|
|
184
|
+
--trigger image-upload \
|
|
185
|
+
--type cos \
|
|
186
|
+
--config '{"bucket":"my-bucket","filter":{"prefix":"images/"}}' \
|
|
187
|
+
--env $TCB_ENV_ID
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### List Triggers
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
tcb fn trigger list --name hello --env $TCB_ENV_ID
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Delete Trigger
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
tcb fn trigger delete --name hello --trigger cron-daily --env $TCB_ENV_ID
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Common Workflows
|
|
203
|
+
|
|
204
|
+
### Workflow: Deploy New Function
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# 1. Create function directory
|
|
208
|
+
mkdir -p functions/hello
|
|
209
|
+
cd functions/hello
|
|
210
|
+
|
|
211
|
+
# 2. Create entry point
|
|
212
|
+
cat > index.js << 'EOF'
|
|
213
|
+
exports.main = async (event, context) => {
|
|
214
|
+
return { message: "Hello, World!" };
|
|
215
|
+
};
|
|
216
|
+
EOF
|
|
217
|
+
|
|
218
|
+
# 3. Create package.json
|
|
219
|
+
cat > package.json << 'EOF'
|
|
220
|
+
{ "name": "hello", "version": "1.0.0" }
|
|
221
|
+
EOF
|
|
222
|
+
|
|
223
|
+
# 4. Create function config
|
|
224
|
+
cat > cloudbaserc.json << 'EOF'
|
|
225
|
+
{
|
|
226
|
+
"functions": [{
|
|
227
|
+
"name": "hello",
|
|
228
|
+
"timeout": 10,
|
|
229
|
+
"memory": 256
|
|
230
|
+
}]
|
|
231
|
+
}
|
|
232
|
+
EOF
|
|
233
|
+
|
|
234
|
+
# 5. Deploy
|
|
235
|
+
tcb fn deploy --name hello --dir . --env $TCB_ENV_ID
|
|
236
|
+
|
|
237
|
+
# 6. Test
|
|
238
|
+
tcb fn invoke --name hello --params '{}' --env $TCB_ENV_ID
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Workflow: Update Production Function
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# NEVER update directly in production
|
|
245
|
+
# Always use deploy_stack
|
|
246
|
+
|
|
247
|
+
deploy_stack --env production --provider tcb
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Workflow: Debug Function Error
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# 1. Get recent logs
|
|
254
|
+
tcb fn logs --name hello --limit 50 --env $TCB_ENV_ID
|
|
255
|
+
|
|
256
|
+
# 2. Invoke with test params
|
|
257
|
+
tcb fn invoke --name hello --params '{"debug": true}' --env $TCB_ENV_ID
|
|
258
|
+
|
|
259
|
+
# 3. Check detailed logs
|
|
260
|
+
tcb fn logs --name hello --keyword error --env $TCB_ENV_ID
|
|
261
|
+
|
|
262
|
+
# 4. View function config
|
|
263
|
+
tcb fn detail --name hello --env $TCB_ENV_ID
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Troubleshooting
|
|
267
|
+
|
|
268
|
+
| Issue | Cause | Solution |
|
|
269
|
+
|-------|-------|----------|
|
|
270
|
+
| `Function not found` | Wrong name or env | `tcb fn list` to verify |
|
|
271
|
+
| `Deploy failed: timeout` | Slow upload | Check network, reduce package size |
|
|
272
|
+
| `Invoke failed: timeout` | Function taking too long | Increase timeout, optimize function |
|
|
273
|
+
| `Memory exceeded` | Memory limit too low | Increase memory in cloudbaserc.json |
|
|
274
|
+
| `Trigger not firing` | Wrong trigger config | Verify cron expression, check logs |
|
|
275
|
+
|
|
276
|
+
For detailed troubleshooting → `../best-practices/troubleshooting.md`
|