@m3r/sdk 0.5.0

Identidade e runtime

extensionId, organização, ambiente, executionId e ctx.runtime — só leitura, vêm da credencial RUN.

Esses campos não se atribuem. O host preenche a partir da credencial RUN / BUILD. Sobrescrever no código não muda o tenant.

src/index.ts
ctx.logger.info("ctx", {
  extensionId: ctx.extensionId,
  organizationId: ctx.organizationId,
  environmentId: ctx.environmentId,
  executionId: ctx.executionId,
  runtime: ctx.runtime
});

Campos

CampoTipoOrigemPode mudar?
extensionIdstringm3r.json → idNão.
organizationIdstring?org da sessão developerNão.
environmentIdstring?ambiente selecionado no editorNão.
executionIdstringgerado a cada activate (exec_…)Não. Use para correlacionar log.
runtime.sdkVersionstringbuild de @m3r/sdk (hoje 0.5.0)Não.
runtime.mode"cli" | "test" | "sandbox"quem criou o ctxNão.

runtime.mode

ValorQuem criaTransport
clim3r run / VS Code Run ExtensionHTTP da credencial RUN
testtestes da SDKmock
sandboxreservado—

Não use mode para autorizar. Autorização é scope + tenant no Core.

Validação

  • Não existe setter. Não existe ctx.organizationId = "…".
  • Não leia process.env.M3R_RUN_TOKEN. O transport já autentica.
  • executionId muda a cada start — não persista como chave de negócio.