{
"cli.capabilities.marked_failed": "capability marked failed: {}",
"cli.capabilities.marked_ready": "capability marked ready: {}",
"cli.capabilities.none_requiring_setup": "no capabilities requiring setup found",
"cli.capabilities.outcome.error": "error: {}",
"cli.capabilities.outcome.raw": "raw:\n{}",
"cli.capabilities.outcome.success": "success: {}",
"cli.common.answer_yes_no": "please answer y or n",
"cli.common.failed": "failed",
"cli.common.ok": "ok",
"cli.common.success": "success",
"cli.demo.debug.after_encode": "[demo] after encode output:\n{}",
"cli.demo.debug.after_encode_serialize_failed": "[demo] after encode output: failed to serialize output: {}",
"cli.demo.debug.after_render_plan": "[demo] after render_plan output:\n{}",
"cli.demo.debug.after_render_plan_serialize_failed": "[demo] after render_plan output: failed to serialize output: {}",
"cli.demo.debug.after_send_payload": "[demo] after send_payload output:\n{}",
"cli.demo.debug.after_send_payload_serialize_failed": "[demo] after send_payload output: failed to serialize output: {}",
"cli.demo.debug.before_envelope": "[demo] before {} envelope:\n{}",
"cli.demo.debug.before_envelope_serialize_failed": "[demo] before {} envelope: failed to serialize envelope: {}",
"cli.demo.debug.encode_input": "[demo] encode input:\n{}",
"cli.demo.debug.encode_input_serialize_failed": "[demo] encode input: failed to serialize input: {}",
"cli.demo_new.created_scaffold": "created demo bundle scaffold at {}",
"cli.demo_send.debug_invalid_json_output": "[demo] after send_payload output: invalid JSON output",
"cli.demo_send.debug_parse_send_payload_failed": "[demo] after send_payload output: failed to parse SendPayloadOutV1\n{}",
"cli.demo_send.flow_error": "Flow error: {}",
"cli.demo_send.flow_result": "Flow result: {}",
"cli.demo_send.missing_secret_uris": "missing secret URIs:\n{}",
"cli.domain.best_effort_flows_failed": "Best-effort: {} flow(s) failed.",
"cli.domain.best_effort_skipped_missing_setup": "Best-effort: skipped {} pack(s) missing {}.",
"cli.domain.no_provider_packs_matched": "No provider packs matched. Try --provider <pack_id>.",
"cli.domain.no_provider_packs_matched_or_project_root": "No provider packs matched. Try --provider <pack_id> or --project-root.",
"cli.domain.plan_header": "Plan:",
"cli.domain.plan_item": " {} -> {}",
"cli.domain.warn_skip_missing_packs": "[warn] skip setup domain={} missing packs: {}",
"cli.ingress.dlq_log_location": "DLQ log location: {}",
"cli.ingress.http_body": " body: {}",
"cli.ingress.http_body_base64": " body (base64): {}",
"cli.ingress.http_header": " {}: {}",
"cli.ingress.http_out_status": "HTTP OUT: status {}",
"cli.list_flows.header": "flows declared by pack {} ({}):",
"cli.list_flows.item": " - {}",
"cli.list_packs.for_applications": "packs for applications:",
"cli.list_packs.for_domain": "packs for {}:",
"cli.list_packs.none_for_domain": "no packs found for domain {}",
"cli.plan.item_result_error": "{} {} -> {}",
"cli.plan.item_result_error_with_summary": "{} {} -> {} ({})",
"cli.plan.item_result_ok": "{} {} -> {}",
"cli.plan.warn_skip_missing_secrets": "[warn] skip setup domain={} tenant={} provider={}: missing secrets:\n{}",
"cli.plan.warn_skip_secrets_check_failed": "[warn] skip setup domain={} tenant={} provider={}: secrets check failed: {}",
"cli.qa.add_item_prompt": "Add item #{}? [y/N]:",
"cli.qa.at_least_one_item": "at least one item is required",
"cli.qa.choice.access_mode.all_selected_get_all_packs": "All tenants and teams get access to all packs",
"cli.qa.choice.access_mode.per_pack_matrix": "Fine-grained access control",
"cli.qa.choice.access_scope.all_tenants": "all tenant",
"cli.qa.choice.access_scope.specific_team": "specific team for a specific tenant",
"cli.qa.choice.access_scope.tenant_all_teams": "all teams from a specific tenant",
"cli.qa.invalid_choice": "invalid choice",
"cli.qa.list_finish_hint": "Press Enter on 'Add item?' to finish.",
"cli.qa.pack_refs.add_prompt": "Do you want to add an application pack? [Y,n]",
"cli.qa.providers.add_prompt": "Do you want to add providers (e.g. messaging, events, etc)? [Y,n]",
"cli.qa.select_number_or_value": "Select number or value:",
"cli.qa.value_required": "value is required",
"cli.qa.yes_no_suffix_default_no": "[y,N]",
"cli.qa.yes_no_suffix_default_yes": "[Y,n]",
"cli.run.enter_interactive": "Entering interactive mode (type @help for commands).",
"cli.run.summary_flow": " flow: {}",
"cli.run.summary_header": "Run summary:",
"cli.run.summary_input": " input: {}",
"cli.run.summary_pack": " pack: {} ({})",
"cli.run.summary_tenant_team": " tenant: {} team: {}",
"cli.secrets.hint_setup_or_add_key": "hint: run `greentic-operator setup` or add the key to {}",
"cli.secrets.key": " key: {}",
"cli.secrets.not_found": "Secret not found:",
"cli.secrets.store": " store: {}",
"cli.secrets.uri": " uri: {}",
"cli.start.events_timer_scheduler_ready": "events timer scheduler ready",
"cli.start.http_ingress_ready": "HTTP ingress ready at http://{}:{}",
"cli.start.public_url_setup_domains": "Public URL (cloudflared setup domains={}): {}",
"cli.start.warn_events_timer_scheduler_disabled": "Warning: events timer scheduler disabled: {}",
"cli.start.warn_failed_stop_earlier_target": "Warning: failed to stop earlier target tenant={} team={} : {}",
"cli.start.warn_http_ingress_disabled": "Warning: HTTP ingress disabled: {}",
"cli.start.warn_legacy_nats": "Warning: '--nats=on' uses the legacy GSM NATS stack; switch to embedded mode when possible.",
"cli.subscriptions.deleted": "deleted {}",
"cli.subscriptions.none": "no subscriptions found",
"cli.subscriptions.renewed": "renewed {}",
"cli.subscriptions.renewed_eligible": "renewed eligible subscriptions",
"cli.wizard.answers_output_prompt": "Answers output file [answers.json]:",
"cli.wizard.bundle": "bundle:",
"cli.wizard.execution_aborted": "wizard execution aborted by user",
"cli.wizard.noop_steps": "no-op steps:",
"cli.wizard.plan_header": "wizard plan:",
"cli.wizard.saved_answers": "saved wizard answers:",
"cli.wizard.skip_setup_remove": "skip setup for remove mode",
"cli.wizard.warning": "warning: {}",
"demo.build.warn_copying_pack_directory": "Warning: copying pack directory into demo bundle (not portable): {}",
"demo.card.action": "action",
"demo.card.action_line": " - {} (id={}: type={})",
"demo.card.actions": " actions:",
"demo.card.adaptive_card": "Adaptive card",
"demo.card.body": " body:",
"demo.card.hint": "Hint: @input <field>=<value> to set inputs, @click <action_id> to submit, @show to revisit the card, @json to view raw payload.",
"demo.card.input": "input",
"demo.card.input_line": " - {} (id={}: type={})",
"demo.card.inputs": " inputs:",
"demo.card.placeholder": " placeholder: {}",
"demo.card.received": "Card received: {}",
"demo.repl.already_earliest_state": "Already at the earliest blocked state.",
"demo.repl.finished_with_output": "Flow finished with output:",
"demo.repl.help": "Available commands:\n @show ─ display the last adaptive card summary\n @json ─ emit the raw JSON value received from the flow\n @back ─ revert to the previous blocked card/inputs\n @input <k>=<v> ─ set or override an input field\n @click <action_id> ─ submit the card with the provided action\n @help ─ print this help text\n @quit ─ exit the REPL",
"demo.repl.no_card": "No adaptive card to show.",
"demo.repl.no_output": "No output available.",
"demo.repl.restored_previous_state": "Restored previous blocked state.",
"demo.repl.set_input": "Set {}={}",
"demo.repl.unknown_action": "Unknown action '{}'. Available actions: {}",
"demo.repl.unknown_command": "Unknown command. See @help.",
"demo.repl.unknown_input": "Unknown input '{}'. Available inputs: {}",
"demo.repl.waiting_for_input": "Waiting for input: {}",
"demo.repl.waiting_no_card": "Flow is waiting for input (no adaptive card detected).",
"demo.runtime.events_in_process": "events: handled in-process (HTTP ingress + timer scheduler)",
"demo.runtime.messaging_embedded": "messaging: running embedded runner (no gsm gateway/egress)",
"demo.runtime.no_services_to_stop": "No services to stop.",
"demo.runtime.none_running": "none running",
"demo.runtime.public_url_cloudflared": "Public URL (service=cloudflared): {}",
"demo.runtime.public_url_cloudflared_domains": "Public URL (service=cloudflared domains={}): {}",
"demo.runtime.service_already_running": "{}: already running (pid={})",
"demo.runtime.service_started": "{}: started (pid={})",
"demo.runtime.started_services": "Started services:",
"demo.runtime.status_running": "running",
"demo.runtime.status_stopped": "stopped",
"demo.runtime.stopped_all_under": "Stopped all services under {}",
"wizard.create.access_mode": "Access mode",
"wizard.create.bundle_name": "Bundle name",
"wizard.create.bundle_path": "Bundle output path",
"wizard.create.execution_mode": "Execution mode",
"wizard.create.locale": "Locale",
"wizard.create.pack_refs": "Pack references",
"wizard.create.providers": "Providers",
"wizard.create.targets": "Tenants and teams",
"wizard.remove.bundle_path": "Bundle path",
"wizard.remove.execution_mode": "Execution mode",
"wizard.remove.targets": "Remove targets",
"wizard.update.bundle_path": "Bundle path",
"wizard.update.execution_mode": "Execution mode",
"wizard.update.ops": "Update operations",
"cli.main.requires_subcommand": "error: 'greentic-start' requires a subcommand but one was not provided",
"cli.main.subcommands": "subcommands",
"cli.main.more_info": "For more information, try '--help'.",
"cli.main.usage_label": "Usage:",
"cli.qa.pack_ref_field_title": "Pack reference (e.g. /path/to/app.gtpack, file://..., oci://ghcr.io/..., repo://..., store://...)",
"cli.qa.custom_provider_refs.add_prompt": "Do you want to add a non-well-known provider by pack reference? [y,N]",
"cli.main.help.tagline": "Greentic start runtime tooling",
"cli.main.help.usage_label": "Usage:",
"cli.main.help.commands_header": "Commands:",
"cli.main.help.command_demo": "",
"cli.main.help.command_wizard": "Alias of demo wizard. Plan/create a demo bundle with pack refs and allow rules.",
"cli.main.help.command_help": "Print this message or the help of the given subcommand(s)",
"cli.main.help.options_header": "Options:",
"cli.main.help.option_locale": "CLI locale (for translated output).",
"cli.main.help.option_help": "Print help",
"cli.main.help.option_version": "Print version",
"cli.qa.pack_ref.access_scope_title": "Who can access this application?",
"cli.qa.pack_ref.tenant_id_title": "What is the tenant id who can access this application?",
"cli.qa.pack_ref.team_id_title": "What is the team id who can access this application?",
"cli.qa.pack_ref.make_default_pack_title": "Is this pack the default pack when no pack is specified?",
"cli.wizard.step.resolve_packs": "Resolve selected pack refs via distributor client",
"cli.wizard.step.create_bundle": "Create demo bundle scaffold using existing conventions",
"cli.wizard.step.copy_packs": "Copy fetched packs into bundle/packs",
"cli.wizard.step.apply_pack_setup": "Apply pack-declared setup outputs through internal setup hooks",
"cli.wizard.step.write_gmap": "Write tenant/team allow rules to gmap",
"cli.wizard.step.run_resolver_create": "Run resolver pipeline (same as demo allow)",
"cli.wizard.step.copy_resolved": "Copy state/resolved manifests into resolved/ for demo start",
"cli.wizard.step.validate_bundle": "Validate bundle is loadable by internal demo pipeline",
"cli.demo.help.usage_label": "Usage:",
"cli.demo.help.commands_header": "Commands:",
"cli.demo.help.command.build": "Build a portable demo bundle.",
"cli.demo.help.command.start": "Start demo services from a bundle.",
"cli.demo.help.command.setup": "Run provider setup flows against a demo bundle.",
"cli.demo.help.command.send": "Send a demo message via a provider pack.",
"cli.demo.help.command.ingress": "Send a synthetic HTTP request through the messaging ingress pipeline",
"cli.demo.help.command.new": "Create a new demo bundle scaffold.",
"cli.demo.help.command.status": "Show demo service status using runtime state.",
"cli.demo.help.command.logs": "Show demo logs produced by the operator and services.",
"cli.demo.help.command.doctor": "Run demo doctor validation from a bundle.",
"cli.demo.help.command.allow": "Allow a tenant/team access to a pack/flow/node",
"cli.demo.help.command.forbid": "Forbid a tenant/team access to a pack/flow/node",
"cli.demo.help.command.subscriptions": "Manage demo subscriptions via provider components",
"cli.demo.help.command.capability": "Manage capability resolution/invocation in demo bundles",
"cli.demo.help.command.run": "Run a pack/flow with inline input",
"cli.demo.help.command.list_packs": "List resolved packs from a bundle",
"cli.demo.help.command.list_flows": "List flows declared by a pack",
"cli.demo.help.command.wizard": "Alias of wizard. Plan or create a demo bundle from pack refs and allow rules",
"cli.demo.help.command.help": "Print this message or the help of the given subcommand(s)",
"cli.demo.help.options_header": "Options:",
"cli.demo.help.option_debug": "",
"cli.demo.help.option_locale": "CLI locale (for translated output).",
"cli.demo.help.option_help": "Print help",
"cli.wizard.help.long_about": "Builds a deterministic wizard plan first. Execution reuses the same gmap + resolver + resolved-copy lifecycle as demo allow.",
"cli.wizard.help.usage_label": "Usage:",
"cli.wizard.help.options_header": "Options:",
"cli.wizard.help.option_mode": "[default: create]",
"cli.wizard.help.option_mode_values": "[possible values: create, update, remove]",
"cli.wizard.help.option_bundle": "Path to the demo bundle to create.",
"cli.wizard.help.option_answers": "AnswerDocument JSON/YAML (or legacy raw wizard answers).",
"cli.wizard.help.option_emit_answers": "Write merged answers as AnswerDocument JSON.",
"cli.wizard.help.option_schema_version": "Schema version to embed in emitted AnswerDocument.",
"cli.wizard.help.option_migrate": "Allow migrating AnswerDocument schema version when needed.",
"cli.wizard.help.option_validate": "Validate/plan only (no side effects).",
"cli.wizard.help.option_apply": "Apply side effects (alias of --execute).",
"cli.wizard.help.option_qa_answers": "Optional JSON/YAML answers emitted by greentic-qa.",
"cli.wizard.help.option_catalog_pack": "Catalog pack id to include (repeatable).",
"cli.wizard.help.option_catalog_file": "Optional catalog JSON/YAML file.",
"cli.wizard.help.option_pack_ref": "Custom pack ref (oci://, repo://, store://); repeatable.",
"cli.wizard.help.option_provider_registry": "Provider registry override (file://<path> or local path).",
"cli.wizard.help.option_tenant": "Tenant for allow rules.",
"cli.wizard.help.option_tenant_default": "[default: demo]",
"cli.wizard.help.option_team": "Optional team for allow rules.",
"cli.wizard.help.option_target": "Tenant target in tenant[:team] form; repeatable.",
"cli.wizard.help.option_allow": "Allow path PACK[/FLOW[/NODE]] for tenant/team; repeatable.",
"cli.wizard.help.option_execute": "Execute the plan. Without this, only prints plan.",
"cli.wizard.help.option_dry_run": "Force plan-only mode (dry-run).",
"cli.wizard.help.option_offline": "Resolve packs in offline mode (cache-only).",
"cli.wizard.help.option_locale": "Locale tag for wizard QA rendering.",
"cli.wizard.help.option_verbose": "Print detailed plan step fields.",
"cli.wizard.help.option_run_setup": "Run existing provider setup flows after execution.",
"cli.wizard.help.option_setup_input": "Optional JSON/YAML setup-input passed to setup runner.",
"cli.wizard.help.option_help": "Print help (see a summary with '-h')",
"cli.wizard.help.main_options_header": "Main options:",
"cli.wizard.help.main_options_mode": " --mode <create|update|remove>",
"cli.wizard.help.main_options_bundle": " --bundle <DIR> (or provide in --answers/--qa-answers)",
"cli.wizard.help.optional_options_header": "Optional options:",
"cli.wizard.help.optional_options.answers": " --answers <PATH>",
"cli.wizard.help.optional_options.qa_answers": " --qa-answers <PATH> (legacy alias)",
"cli.wizard.help.optional_options.emit_answers": " --emit-answers <PATH>",
"cli.wizard.help.optional_options.schema_version": " --schema-version <VER>",
"cli.wizard.help.optional_options.migrate": " --migrate",
"cli.wizard.help.optional_options.validate": " --validate",
"cli.wizard.help.optional_options.apply": " --apply",
"cli.wizard.help.optional_options.catalog_pack": " --catalog-pack <ID> (repeatable)",
"cli.wizard.help.optional_options.pack_ref": " --pack-ref <REF> (repeatable, oci://|repo://|store://)",
"cli.wizard.help.optional_options.provider_registry": " --provider-registry <REF>",
"cli.wizard.help.optional_options.locale": " --locale <TAG> (default: detected from system locale)",
"cli.wizard.help.optional_options.tenant": " --tenant <TENANT> (default: demo)",
"cli.wizard.help.optional_options.team": " --team <TEAM>",
"cli.wizard.help.optional_options.target": " --target <tenant[:team]> (repeatable)",
"cli.wizard.help.optional_options.allow": " --allow <PACK[/FLOW[/NODE]]> (repeatable)",
"cli.wizard.help.optional_options.execute": " --execute",
"cli.wizard.help.optional_options.dry_run": " --dry-run",
"cli.wizard.help.optional_options.offline": " --offline",
"cli.wizard.help.optional_options.verbose": " --verbose",
"cli.wizard.help.optional_options.run_setup": " --run-setup",
"cli.tunnel.prompt": "Tunnel service (for external provider webhooks):",
"cli.tunnel.option_none": "No tunnel (local only)",
"cli.tunnel.option_cloudflared": "Cloudflare Tunnel (cloudflared)",
"cli.tunnel.option_ngrok": "ngrok",
"cli.tunnel.invalid_selection": "Invalid selection. Running without tunnel.",
"cli.tunnel.selected_none": "Running without tunnel."
}