SignalWire
view release on metacpan or search on metacpan
examples/datasphere_serverless_env.pl view on Meta::CPAN
sub require_env {
my ($name) = @_;
my $val = $ENV{$name};
unless ($val) {
die "Error: Required environment variable $name is not set.\n";
}
return $val;
}
my $document_id = require_env('DATASPHERE_DOCUMENT_ID');
my $count = $ENV{DATASPHERE_COUNT} // 3;
my $distance = $ENV{DATASPHERE_DISTANCE} // 4.0;
my $agent = SignalWire::Agent::AgentBase->new(
name => 'DataSphere Serverless Env',
route => '/datasphere-env',
);
$agent->add_language(name => 'English', code => 'en-US', voice => 'inworld.Mark');
$agent->set_params({ ai_model => 'gpt-4.1-nano' });
examples/datasphere_webhook_env_demo.pl view on Meta::CPAN
sub require_env {
my ($name) = @_;
my $val = $ENV{$name};
unless ($val) {
die "Error: Required environment variable $name is not set.\n";
}
return $val;
}
my $document_id = require_env('DATASPHERE_DOCUMENT_ID');
my $count = $ENV{DATASPHERE_COUNT} // 3;
my $distance = $ENV{DATASPHERE_DISTANCE} // 4.0;
my $agent = SignalWire::Agent::AgentBase->new(
name => 'DataSphere Webhook Env',
route => '/datasphere-webhook',
);
$agent->add_language(name => 'English', code => 'en-US', voice => 'inworld.Mark');
$agent->set_params({ ai_model => 'gpt-4.1-nano' });
porting-sdk/scripts/extract_relay_schemas.py view on Meta::CPAN
if field.nullable:
# JSON-Schema 2020-12: type can be array including "null"
if isinstance(sub.get("type"), str):
sub = dict(sub)
sub["type"] = [sub["type"], "null"]
properties[field.json_name] = sub
if field.required_always:
required.append(field.json_name)
schema: dict[str, Any] = {"type": "object", "properties": properties}
if required:
schema["required"] = required
# We allow additional fields â many params are forward-compat.
schema["additionalProperties"] = True
return schema
def _root_schema(
title: str,
description: str,
payload_schema: dict[str, Any],
extra_meta: dict[str, Any] | None = None,
porting-sdk/tests/audit_coverage_smoke.py view on Meta::CPAN
"signalwire.rest._base",
"signalwire.rest.client",
"signalwire.rest.namespaces.calling",
"signalwire.rest.namespaces.fabric",
"signalwire.rest.namespaces.phone_numbers",
"signalwire.relay.client",
"signalwire.relay.call",
"signalwire.relay.message",
"signalwire.relay.event",
}
missing = required - modules
assert not missing, f"audit missing target modules: {sorted(missing)}"
# ---------------------------------------------------------------------------
# Test 6: report renders without error
# ---------------------------------------------------------------------------
def test_render_report_produces_markdown() -> None:
md = audit.render_report(COVERAGE, SCAN, LOG)
( run in 0.566 second using v1.01-cache-2.11-cpan-71847e10f99 )