56 lines · 1.4 KB · TypeScript
RawDownload
import { createExecutor } from "@executor/platform-sdk"; import { createSqliteExecutorBackend } from "./sqlite-backend"; const databasePath = process.env.DATABASE_PATH  ?? new URL("../.data/executor.sqlite", import.meta.url).pathname; const executor = await createExecutor({  backend: createSqliteExecutorBackend({    databasePath,    scopeName: "SQLite Example Workspace",    scopeRoot: process.cwd(),  }),}); try {  const installation = await executor.local.installation();   const policy = await executor.policies.create({    resourcePattern: "math.add",    effect: "allow",    approvalMode: "auto",  });   const secret = await executor.secrets.create({    name: "demo-api-key",    value: "secret-value",  });   const execution = await executor.executions.create({    code: "return 20 + 22;",  });   const sources = await executor.sources.list();  const secrets = await executor.secrets.list();  const policies = await executor.policies.list();   console.log(JSON.stringify({    databasePath,    installation,    createdPolicyId: policy.id,    createdSecretId: secret.id,    execution: {      id: execution.execution.id,      status: execution.execution.status,      resultJson: execution.execution.resultJson,    },    counts: {      sources: sources.length,      secrets: secrets.length,      policies: policies.length,    },  }, null, 2));} finally {  await executor.close();}