golem-wait-for-external-input-ts

Suspend a TypeScript Golem agent until an external promise completes.

Updated May 17, 2026
One-click install
npx skills add https://github.com/Rust-soham/golem-claw --skill golem-wait-for-external-input-ts-rust-soham
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golem-wait-for-external-input-ts
Source: https://github.com/Rust-soham/golem-claw/tree/main/packages/golem/.agents/skills/golem-wait-for-external-input-ts
Command: npx skills add https://github.com/Rust-soham/golem-claw --skill golem-wait-for-external-input-ts-rust-soham

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps developers suspend a TypeScript Golem agent until an external system produces an answer, avoiding busy-waiting and enabling reliable human-in-the-loop or callback-driven workflows.

Core Features & Use Cases

  • Durable promise suspension: Create a promise, pass its ID externally, and have the agent wait efficiently until the promise is completed.
  • External completion with raw bytes: Complete promises from another agent or an HTTP-triggered integration by sending raw Uint8Array data.
  • Human-in-the-loop workflows: Pause execution for approvals, reviews, or decisions triggered outside the agent runtime.

Quick Start

Ask the agent to create a promise with createPromise, send the promiseId to your external workflow or UI, and resume the agent by awaiting awaitPromise after your callback calls completePromise.

Frequently Asked Questions about golem-wait-for-external-input-ts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pause a TypeScript agent for human approval before resuming execution?

You can pause a TypeScript agent for human approval by creating a durable promise, sharing its PromiseId externally, and having the agent await that promise until the external review process completes it.

How do I handle webhook callbacks in a Golem TypeScript async workflow?

Handle webhook callbacks in a Golem TypeScript async workflow by creating a promise, sending its PromiseId to your external integration, and resuming the agent by calling completePromise with raw Uint8Array data when the HTTP-triggered event arrives.

What is durable promise suspension and when do I need it for agent coordination?

Durable promise suspension is an execution pattern that freezes an agent without busy-waiting until an external system signals completion. You need it for reliable inter-agent coordination, external data ingestion, and human-in-the-loop workflows.

How do I complete a promise from another agent or external HTTP integration?

Complete a promise from another agent or external HTTP integration by calling completePromise with the specific PromiseId and sending raw Uint8Array data as the payload to trigger the awaiting agent's resumption.

Does this Golem Skill require external dependencies to manage external input?

No, this Golem Skill requires no external dependencies to manage external input. It relies entirely on internal functions like createPromise, awaitPromise, and completePromise using a PromiseId referenced via agentId and oplogIdx.

Why does my agent stay suspended instead of resuming after an external callback?

If your agent stays suspended after an external callback, verify that the PromiseId used in completePromise matches the one generated by createPromise, as mismatched IDs or missing raw Uint8Array data payloads will prevent the awaitPromise function from triggering.