version: '3'

vars:
  DEFT_ROOT: '{{joinPath .TASKFILE_DIR ".."}}'

tasks:
  status:
    desc: "Show product-signal enable/consent/sink status (#2693). -- task product-signal:status"
    dir: '{{.USER_WORKING_DIR}}'
    deps:
      - task: :engine:_ts-build
    cmds:
      - task: :engine:invoke
        vars:
          ENGINE_CMD: 'product-signal status --project-root "{{.USER_WORKING_DIR}}" {{.CLI_ARGS}}'

  enable:
    desc: "Enable plan.policy.productSignal after capability-cost disclosure (#2693). -- task product-signal:enable -- [--confirm]"
    dir: '{{.USER_WORKING_DIR}}'
    deps:
      - task: :engine:_ts-build
    cmds:
      - task: :engine:invoke
        vars:
          ENGINE_CMD: 'product-signal enable --project-root "{{.USER_WORKING_DIR}}" {{.CLI_ARGS}}'

  consent:
    desc: "Grant or revoke install-level product-signal consent (#2693). -- task product-signal:consent -- --grant|--revoke"
    dir: '{{.USER_WORKING_DIR}}'
    deps:
      - task: :engine:_ts-build
    cmds:
      - task: :engine:invoke
        vars:
          ENGINE_CMD: 'product-signal consent {{.CLI_ARGS}}'

  submit:
    desc: "Submit pulse/portrait payload to private sink when gated (#2693). -- task product-signal:submit -- [--surface pulse|portrait] [--dry-run] [--json]"
    dir: '{{.USER_WORKING_DIR}}'
    deps:
      - task: :engine:_ts-build
    cmds:
      - task: :engine:invoke
        vars:
          ENGINE_CMD: 'product-signal submit --project-root "{{.USER_WORKING_DIR}}" {{.CLI_ARGS}}'

  bootstrap-sink:
    desc: "Create private deftai/product-signal repo and bootstrap D20 labels (#2693). -- task product-signal:bootstrap-sink [-- --dry-run]"
    dir: '{{.USER_WORKING_DIR}}'
    deps:
      - task: :engine:_ts-build
    cmds:
      - task: :engine:invoke
        vars:
          ENGINE_CMD: 'product-signal bootstrap-sink {{.CLI_ARGS}}'
