tis-opencode icon

OpenCode

Paquet d'installation silencieuse pour OpenCode

2.1.4-2
Development
Development

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-opencode
  • name: OpenCode
  • version: 2.1.4-2
  • categories: Development
  • maintainer: Tranquil IT, WAPT TEAM, Kevin Cherel
  • editor: Anomaly Innovations
  • licence: MIT
  • locale: all
  • target_os: darwin
  • impacted_process: OpenCode
  • architecture: x64
  • signature_date:
  • size: 290.81 Mo
  • homepage : https://opencode.ai/

package           : tis-opencode
version           : 2.1.4-2
architecture      : x64
section           : base
priority          : optional
name              : OpenCode
categories        : Development
maintainer        : Tranquil IT, WAPT TEAM, Kevin Cherel
description       : OpenCode is an open source AI coding agent that helps you write code in your terminal, IDE or desktop app.
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.3
sources           : https://opencode.ai/download
installed_size    : 
impacted_process  : OpenCode
description_fr    : OpenCode est un agent de codage IA open source qui vous aide à écrire du code dans votre terminal, votre IDE ou une application de bureau.
description_pl    : OpenCode to open source'owy agent AI do programowania, który pomaga pisać kod w terminalu, IDE lub aplikacji desktopowej.
description_de    : OpenCode ist ein quelloffener KI-Coding-Agent, der Ihnen hilft, Code in Ihrem Terminal, Ihrer IDE oder einer Desktop-Anwendung zu schreiben.
description_es    : OpenCode es un agente de programación con IA de código abierto que le ayuda a escribir código en su terminal, su IDE o una aplicación de escritorio.
description_pt    : OpenCode é um agente de programação com IA de código aberto que ajuda você a escrever código no terminal, no IDE ou em um aplicativo de desktop.
description_it    : OpenCode è un agente di programmazione IA open source che ti aiuta a scrivere codice nel terminale, nell'IDE o in un'applicazione desktop.
description_nl    : OpenCode is een open source AI-programmeeragent die u helpt code te schrijven in uw terminal, IDE of desktopapplicatie.
description_ru    : OpenCode представляет собой ИИ-агента для программирования с открытым исходным кодом, который помогает писать код в терминале, IDE или настольном приложении.
audit_schedule    : 
editor            : Anomaly Innovations
keywords          : opencode,ai,agent,coding,code,assistant,llm,terminal
licence           : MIT
homepage          : https://opencode.ai/
package_uuid      : d5695a33-28d4-445e-817f-2aa1cfa81a4f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://opencode.ai/changelog
min_os_version    : 12.0
max_os_version    : 
icon_sha256sum    : 2ef8d582e62e65a55adf11d09f0ef621d56592cd7e319178dff4c968aae27ba2
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-10-23T11:22:27.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : J0o7LNFnxcEPmqwxtn+EUSbknoMC1jAGq9uZ0iMzCdGQekPCtkJwkFcUOSd2tkcQ4unzmxokCeL18i36p9NpuN6W6tlSqHXCgerm78kST4V0nbOlIgSJm6uC5AE1YHoWZiMCU+T1v5N8ZnxJiZTGBUEglq3cLXO62NzGSSF5YiIqHV4K/odK9jdoBDQanFGS8OvAeiABzLLXMKeawmGQXB1TXJrURMxIpyU0tnUoIYsx4SMU6s2MH5IG4BxnxbW/pZwXqvCm15ic0XvQdsY1GW6VvKN6q2NSPL8d3GbsYpYG5wk6nIhwU+58uC8VtLZnt9/A3bCEDgd4lm0l9/WJ2A==

# -*- coding: utf-8 -*-
from setuphelpers import *

app_name = "OpenCode.app"


def install():
    bin_name = glob.glob("opencode-desktop-mac-x64.dmg")[0]

    install_dmg(
        bin_name,
        key=f"/Applications/{app_name}",
        min_version=control.get_software_version(),
    )


def uninstall():
    uninstall_app(app_name)

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences


def get_manifest(manifest_url, proxies):
    manifest = wgets(manifest_url, proxies=proxies)
    if isinstance(manifest, bytes):
        manifest = manifest.decode("utf-8")
    version = None
    files = []
    for line in manifest.splitlines():
        line = line.strip()
        if line.startswith("version:"):
            version = line.split(":", 1)[1].strip()
        elif line.startswith("- url:"):
            files.append(line.split(":", 1)[1].strip())
    return version, files


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    base_url = "https://opencode.ai/update/api/latest/desktop/opencode"
    update_dict = {
        "windows-x64": ("latest.yml", "-win-x64.exe"),
        "windows-arm64": ("latest.yml", "-win-arm64.exe"),
        "darwin-x64": ("latest-mac.yml", "-mac-x64.dmg"),
        "darwin-arm": ("latest-mac.yml", "-mac-arm64.dmg"),
        "debian-x64": ("latest-linux.yml", "-linux-amd64.deb"),
        "debian-arm64": ("latest-linux-arm64.yml", "-linux-arm64.deb"),
        "redhat_based-x64": ("latest-linux.yml", "-linux-x86_64.rpm"),
        "redhat_based-arm64": ("latest-linux-arm64.yml", "-linux-aarch64.rpm"),
    }
    os_type = control.target_os.split("(")[0] + "-" + ensure_list(control.architecture)[0]
    manifest_name, bin_suffix = update_dict[os_type]

    api_url = f"{base_url}/{manifest_name}"
    print("API used is: %s" % api_url)
    version, files = get_manifest(api_url, proxies)
    print(f"Latest {app_name} version is: {version}")

    for to_download in files:
        if to_download.endswith(bin_suffix):
            download_url = to_download
            latest_bin = download_url.rsplit("/", 1)[-1]
            latest_bin_extension = latest_bin.rsplit(".", 1)[-1]
            break

    if isfile(latest_bin):
        remove_file(latest_bin)
    print(f"Downloading: {latest_bin}")
    wget(download_url, latest_bin, proxies=proxies)

    if latest_bin_extension == "exe":
        expected_issuer = "Anomaly Innovations, Inc https://anoma.ly/"
        sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
        if sign_name != expected_issuer:
            error(f"Bad issuer {sign_name} != {expected_issuer}")

    # Deleting outdated binaries
    for f in glob.glob(f"*.{latest_bin_extension}"):
        if f != latest_bin:
            remove_file(f)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")
    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
874946005aefa257d025ed425b201f69615111ce5dfd44996a7c07df198c0239 : WAPT/control
2ef8d582e62e65a55adf11d09f0ef621d56592cd7e319178dff4c968aae27ba2 : WAPT/icon.png
e10de3f05c6c2b972a6ac71dae721ac2bcdad74ac18de222439074ffbe7f09fe : luti.json
832be97b0e013ecc8ed0e4d54d6266cc22b6ad8f00e79cab6919f9b76ebd319a : opencode-desktop-mac-x64.dmg
4c62e39c680d92e8134f7d0a322596ee9c97b4db1977f90c0e39aa71a0eff6af : setup.py
10bc1d8ab1e79493a0c0fe414adcb221132bec09c1f7c537047adca04e9549fd : update_package.py