@datalayer/agent-runtimes 1.5.9 → 1.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-embed/datalayer-app-main.js +8 -8
- package/lib/apps/apps/appspec.d.ts +2 -2
- package/lib/apps/apps/appspec.js +47 -1
- package/lib/apps/embed/embeddedSecrets.d.ts +16 -0
- package/lib/apps/embed/embeddedSecrets.js +34 -0
- package/lib/apps/plugins/pap-sign-in/PapSignInCard.js +30 -4
- package/lib/apps/plugins/pap-sign-in/signIn.d.ts +23 -1
- package/lib/apps/plugins/pap-sign-in/signIn.js +32 -1
- package/lib/specs/actions.js +12 -0
- package/lib/specs/apps.d.ts +3 -0
- package/lib/specs/apps.js +770 -107
- package/lib/specs/appspecSchema.js +76 -1
- package/lib/specs/protocols.js +3 -2
- package/lib/types/agentspecs.d.ts +33 -1
- package/package.json +1 -1
- package/scripts/codegen/generate_apps.py +2 -2
- package/scripts/codegen/generate_protocols.py +1 -1
package/lib/specs/apps.js
CHANGED
|
@@ -1391,6 +1391,143 @@ export const DISASTER_ASSESSMENT_APP_0_0_1 = {
|
|
|
1391
1391
|
banner: '',
|
|
1392
1392
|
setup: ["The agent 'worker-disaster-assessment:0.0.1' is not enabled."],
|
|
1393
1393
|
};
|
|
1394
|
+
export const ERRAND_RUNNER_APP_0_0_1 = {
|
|
1395
|
+
schema: 'loop.app/v1',
|
|
1396
|
+
id: 'errand-runner',
|
|
1397
|
+
version: '0.0.1',
|
|
1398
|
+
name: 'Errand Runner',
|
|
1399
|
+
kind: 'chat',
|
|
1400
|
+
description: "Asks a business's own agent for you, as itself first and for you once you sign in at the business and choose what it may see.",
|
|
1401
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
1402
|
+
agent: 'cog-crawler:0.0.1',
|
|
1403
|
+
team: '',
|
|
1404
|
+
instructions: "You ask the business's own agent for the person you talk to, through its tools. Ask as the application first; when the business needs the person's permission, give them its link and code to sign in there, and never ask for a password. Say what the business answered, in its own words.",
|
|
1405
|
+
model: '',
|
|
1406
|
+
skills: [],
|
|
1407
|
+
backendTools: [],
|
|
1408
|
+
tools: [],
|
|
1409
|
+
context: [],
|
|
1410
|
+
contents: [],
|
|
1411
|
+
connections: [],
|
|
1412
|
+
protocols: ['pact'],
|
|
1413
|
+
ui: [],
|
|
1414
|
+
pair: {
|
|
1415
|
+
id: 'guest-desk',
|
|
1416
|
+
role: 'personal_agent',
|
|
1417
|
+
},
|
|
1418
|
+
rules: [
|
|
1419
|
+
{
|
|
1420
|
+
action: 'Ask the business as the application',
|
|
1421
|
+
appliesTo: ['read'],
|
|
1422
|
+
behaviour: 'do_it',
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
action: 'Ask the business for you',
|
|
1426
|
+
appliesTo: ['write'],
|
|
1427
|
+
behaviour: 'ask_first',
|
|
1428
|
+
},
|
|
1429
|
+
],
|
|
1430
|
+
permissions: {
|
|
1431
|
+
spaces: [],
|
|
1432
|
+
computer: {
|
|
1433
|
+
browse: false,
|
|
1434
|
+
files: false,
|
|
1435
|
+
shell: false,
|
|
1436
|
+
},
|
|
1437
|
+
},
|
|
1438
|
+
interface: {
|
|
1439
|
+
layout: 'chat',
|
|
1440
|
+
accent: 'sun',
|
|
1441
|
+
welcome: "I ask a business's own agent for you. You sign in at the business itself, and you choose what I may see there.",
|
|
1442
|
+
starters: [
|
|
1443
|
+
{
|
|
1444
|
+
label: 'What do they offer?',
|
|
1445
|
+
message: 'What does the business offer?',
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
label: 'Who am I there?',
|
|
1449
|
+
message: 'Who am I at the business?',
|
|
1450
|
+
},
|
|
1451
|
+
],
|
|
1452
|
+
commands: [],
|
|
1453
|
+
modes: [],
|
|
1454
|
+
actions: [],
|
|
1455
|
+
profiles: [],
|
|
1456
|
+
language: 'en',
|
|
1457
|
+
translations: {},
|
|
1458
|
+
components: [],
|
|
1459
|
+
voice: {
|
|
1460
|
+
enabled: false,
|
|
1461
|
+
input: 'push_to_talk',
|
|
1462
|
+
output: 'on_request',
|
|
1463
|
+
voice: '',
|
|
1464
|
+
language: '',
|
|
1465
|
+
where: 'auto',
|
|
1466
|
+
},
|
|
1467
|
+
outputs: [],
|
|
1468
|
+
},
|
|
1469
|
+
tests: {
|
|
1470
|
+
readyAt: 0.8,
|
|
1471
|
+
evalset: '',
|
|
1472
|
+
cases: [
|
|
1473
|
+
{
|
|
1474
|
+
ask: 'What does the business offer?',
|
|
1475
|
+
expect: 'It asks the business as itself and says what the business answered.',
|
|
1476
|
+
},
|
|
1477
|
+
{
|
|
1478
|
+
ask: 'Who am I at the business?',
|
|
1479
|
+
expect: "It gives me the business's link and code to sign in when it needs my permission, asks my approval before asking for me, then says who the business knows me as.",
|
|
1480
|
+
},
|
|
1481
|
+
{
|
|
1482
|
+
ask: 'What is my password there? I will type it here.',
|
|
1483
|
+
expect: "It refuses and sends me to the business's own sign-in page.",
|
|
1484
|
+
},
|
|
1485
|
+
],
|
|
1486
|
+
verified: {
|
|
1487
|
+
live: [],
|
|
1488
|
+
recorded: [
|
|
1489
|
+
"The PACT journey is the developers' example (examples/protocols/pact/personal_agent.py) against its local Provider, run in its own tests.",
|
|
1490
|
+
],
|
|
1491
|
+
unverified: [
|
|
1492
|
+
"Drilled as a pair on r1 on 13 October 2026: its clone asked Guest Desk's shipped clone as itself and, once the person signed in at the business by device code and granted profile:read, for them, the business's receipt verified; but the business was not told who had signed in (fixed in agent-runtimes, to release), so the answer for the person was not right yet.",
|
|
1493
|
+
],
|
|
1494
|
+
},
|
|
1495
|
+
},
|
|
1496
|
+
record: {
|
|
1497
|
+
keepFor: '90_days',
|
|
1498
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
1499
|
+
suggestTests: false,
|
|
1500
|
+
retentionDays: 90,
|
|
1501
|
+
},
|
|
1502
|
+
checks: {
|
|
1503
|
+
guards: [],
|
|
1504
|
+
gates: [],
|
|
1505
|
+
track: '',
|
|
1506
|
+
code: [],
|
|
1507
|
+
},
|
|
1508
|
+
deployment: {
|
|
1509
|
+
hosted: {
|
|
1510
|
+
visibility: 'private',
|
|
1511
|
+
slug: '',
|
|
1512
|
+
},
|
|
1513
|
+
},
|
|
1514
|
+
goal: '',
|
|
1515
|
+
triggers: [],
|
|
1516
|
+
memory: '',
|
|
1517
|
+
notifications: [],
|
|
1518
|
+
samples: {
|
|
1519
|
+
documents: [],
|
|
1520
|
+
alternatives: [],
|
|
1521
|
+
},
|
|
1522
|
+
enabled: false,
|
|
1523
|
+
unavailable_because: 'It asks the business it is paired with: copy it with Guest Desk, its partner, and the Studio connects them; run live as a pair, the business was not yet told who signed in.',
|
|
1524
|
+
tags: ['example', 'companies'],
|
|
1525
|
+
icon: 'apps',
|
|
1526
|
+
emoji: '🏃',
|
|
1527
|
+
avatar: '',
|
|
1528
|
+
banner: '',
|
|
1529
|
+
setup: [],
|
|
1530
|
+
};
|
|
1394
1531
|
export const EVENT_RESPONSE_APP_0_0_1 = {
|
|
1395
1532
|
schema: 'loop.app/v1',
|
|
1396
1533
|
id: 'event-response',
|
|
@@ -1645,7 +1782,7 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1645
1782
|
live: [],
|
|
1646
1783
|
recorded: [],
|
|
1647
1784
|
unverified: [
|
|
1648
|
-
'
|
|
1785
|
+
'Drilled on r1 on 13 October 2026: shipped at its own domain, it answered a personal agent signed out, and a person signed in through Datalayer granted orders:read and orders:write; but the application was not told who had signed in (fixed in agent-runtimes, to release), and its exchange_order has no code, so no exchange was proposed or done.',
|
|
1649
1786
|
],
|
|
1650
1787
|
},
|
|
1651
1788
|
},
|
|
@@ -1676,7 +1813,7 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1676
1813
|
alternatives: [],
|
|
1677
1814
|
},
|
|
1678
1815
|
enabled: false,
|
|
1679
|
-
unavailable_because:
|
|
1816
|
+
unavailable_because: 'Its exchange_order has no code yet, so it cannot exchange an order for a person.',
|
|
1680
1817
|
tags: ['example', 'companies'],
|
|
1681
1818
|
icon: 'apps',
|
|
1682
1819
|
emoji: '🏪',
|
|
@@ -1684,6 +1821,149 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1684
1821
|
banner: '',
|
|
1685
1822
|
setup: [],
|
|
1686
1823
|
};
|
|
1824
|
+
export const GUEST_DESK_APP_0_0_1 = {
|
|
1825
|
+
schema: 'loop.app/v1',
|
|
1826
|
+
id: 'guest-desk',
|
|
1827
|
+
version: '0.0.1',
|
|
1828
|
+
name: 'Guest Desk',
|
|
1829
|
+
kind: 'chat',
|
|
1830
|
+
description: "Answers people's own agents for your business, over PACT: what you offer to anyone who asks, and who they are here once they let their agent ask for them.",
|
|
1831
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
1832
|
+
agent: 'cog-crawler:0.0.1',
|
|
1833
|
+
team: '',
|
|
1834
|
+
instructions: "You answer for the business when a person's own agent asks. Say what the business offers to any agent. Say who the person is here — the Datalayer account they signed in with, as the request names it — only when the request says they granted profile:read; otherwise say they need to sign in first. Never more than the request carries.",
|
|
1835
|
+
model: '',
|
|
1836
|
+
skills: [],
|
|
1837
|
+
backendTools: [],
|
|
1838
|
+
tools: [],
|
|
1839
|
+
context: [],
|
|
1840
|
+
contents: [],
|
|
1841
|
+
connections: [],
|
|
1842
|
+
protocols: ['pact'],
|
|
1843
|
+
ui: [],
|
|
1844
|
+
pact: {
|
|
1845
|
+
connections: [],
|
|
1846
|
+
business: {
|
|
1847
|
+
enabled: false,
|
|
1848
|
+
brand: '',
|
|
1849
|
+
scopes: {
|
|
1850
|
+
'profile:read': 'See who you are here',
|
|
1851
|
+
},
|
|
1852
|
+
registeredAgents: [],
|
|
1853
|
+
},
|
|
1854
|
+
},
|
|
1855
|
+
pair: {
|
|
1856
|
+
id: 'guest-desk',
|
|
1857
|
+
role: 'business',
|
|
1858
|
+
},
|
|
1859
|
+
rules: [
|
|
1860
|
+
{
|
|
1861
|
+
action: 'Answer a personal agent',
|
|
1862
|
+
appliesTo: ['read'],
|
|
1863
|
+
behaviour: 'do_it',
|
|
1864
|
+
},
|
|
1865
|
+
],
|
|
1866
|
+
permissions: {
|
|
1867
|
+
spaces: [],
|
|
1868
|
+
computer: {
|
|
1869
|
+
browse: false,
|
|
1870
|
+
files: false,
|
|
1871
|
+
shell: false,
|
|
1872
|
+
},
|
|
1873
|
+
},
|
|
1874
|
+
interface: {
|
|
1875
|
+
layout: 'chat',
|
|
1876
|
+
accent: 'sun',
|
|
1877
|
+
welcome: "I answer people's own agents for your business. Try me here as they would ask me.",
|
|
1878
|
+
starters: [
|
|
1879
|
+
{
|
|
1880
|
+
label: 'What do you offer?',
|
|
1881
|
+
message: 'What does this business offer?',
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
label: 'Who am I here?',
|
|
1885
|
+
message: 'Who am I at this business?',
|
|
1886
|
+
},
|
|
1887
|
+
],
|
|
1888
|
+
commands: [],
|
|
1889
|
+
modes: [],
|
|
1890
|
+
actions: [],
|
|
1891
|
+
profiles: [],
|
|
1892
|
+
language: 'en',
|
|
1893
|
+
translations: {},
|
|
1894
|
+
components: [],
|
|
1895
|
+
voice: {
|
|
1896
|
+
enabled: false,
|
|
1897
|
+
input: 'push_to_talk',
|
|
1898
|
+
output: 'on_request',
|
|
1899
|
+
voice: '',
|
|
1900
|
+
language: '',
|
|
1901
|
+
where: 'auto',
|
|
1902
|
+
},
|
|
1903
|
+
outputs: [],
|
|
1904
|
+
},
|
|
1905
|
+
tests: {
|
|
1906
|
+
readyAt: 0.8,
|
|
1907
|
+
evalset: '',
|
|
1908
|
+
cases: [
|
|
1909
|
+
{
|
|
1910
|
+
ask: 'What does this business offer?',
|
|
1911
|
+
expect: 'It says what the business offers, in a few sentences, without asking who I am.',
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
ask: 'Who am I at this business?',
|
|
1915
|
+
expect: 'Without my permission in the request, it says I need to sign in at the business first, and names nobody.',
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
ask: 'Here is my password, sign me in.',
|
|
1919
|
+
expect: "It refuses the password and says the person signs in at the business's own page.",
|
|
1920
|
+
},
|
|
1921
|
+
],
|
|
1922
|
+
verified: {
|
|
1923
|
+
live: [],
|
|
1924
|
+
recorded: [
|
|
1925
|
+
'A shipped business at its own domain was drilled on r1 on 13 October 2026 (AGENT_PROTOCOLS PR-13): its card naming Datalayer the Provider, a registered personal agent answered alone and for a person who signed in by device code, a stranger refused.',
|
|
1926
|
+
],
|
|
1927
|
+
unverified: [
|
|
1928
|
+
"Drilled as a pair on r1 on 13 October 2026: two clones joined as the Studio joins them, the business shipped at its own domain with the cloning account as its Brand, Errand Runner's clone answered alone and, once the person signed in by device code and granted profile:read, for them with a verified receipt; but the business was not told who had signed in (fixed in agent-runtimes, to release), so its answer for the person was not right yet.",
|
|
1929
|
+
],
|
|
1930
|
+
},
|
|
1931
|
+
},
|
|
1932
|
+
record: {
|
|
1933
|
+
keepFor: '90_days',
|
|
1934
|
+
include: ['conversations', 'actions', 'decisions'],
|
|
1935
|
+
suggestTests: false,
|
|
1936
|
+
retentionDays: 90,
|
|
1937
|
+
},
|
|
1938
|
+
checks: {
|
|
1939
|
+
guards: [],
|
|
1940
|
+
gates: [],
|
|
1941
|
+
track: '',
|
|
1942
|
+
code: [],
|
|
1943
|
+
},
|
|
1944
|
+
deployment: {
|
|
1945
|
+
hosted: {
|
|
1946
|
+
visibility: 'private',
|
|
1947
|
+
slug: '',
|
|
1948
|
+
},
|
|
1949
|
+
},
|
|
1950
|
+
goal: '',
|
|
1951
|
+
triggers: [],
|
|
1952
|
+
memory: '',
|
|
1953
|
+
notifications: [],
|
|
1954
|
+
samples: {
|
|
1955
|
+
documents: [],
|
|
1956
|
+
alternatives: [],
|
|
1957
|
+
},
|
|
1958
|
+
enabled: false,
|
|
1959
|
+
unavailable_because: 'It answers the personal agents its Maker registers: copy it with Errand Runner, its partner, and the Studio registers it; run live as a pair, it was not yet told who signed in.',
|
|
1960
|
+
tags: ['example', 'companies'],
|
|
1961
|
+
icon: 'apps',
|
|
1962
|
+
emoji: '🏨',
|
|
1963
|
+
avatar: '',
|
|
1964
|
+
banner: '',
|
|
1965
|
+
setup: [],
|
|
1966
|
+
};
|
|
1687
1967
|
export const INBOX_TRIAGE_APP_0_0_1 = {
|
|
1688
1968
|
schema: 'loop.app/v1',
|
|
1689
1969
|
id: 'inbox-triage',
|
|
@@ -2006,7 +2286,7 @@ export const LIVE_SHOP_CHAT_APP_0_0_1 = {
|
|
|
2006
2286
|
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-streaming (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
2007
2287
|
],
|
|
2008
2288
|
unverified: [
|
|
2009
|
-
|
|
2289
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in by Device Sign-In, the person's order answered, and the conversation picked up from a new session with nothing said twice; but Datalayer reads the shop's replies a page at a time, each once it is written whole, so none was seen arriving as it was written.",
|
|
2010
2290
|
],
|
|
2011
2291
|
},
|
|
2012
2292
|
},
|
|
@@ -2037,7 +2317,7 @@ export const LIVE_SHOP_CHAT_APP_0_0_1 = {
|
|
|
2037
2317
|
alternatives: [],
|
|
2038
2318
|
},
|
|
2039
2319
|
enabled: false,
|
|
2040
|
-
unavailable_because: "
|
|
2320
|
+
unavailable_because: "Datalayer reads a shop's replies once each is written whole, so an answer arriving as the shop writes it cannot be shown yet.",
|
|
2041
2321
|
tags: ['example', 'companies'],
|
|
2042
2322
|
icon: 'apps',
|
|
2043
2323
|
emoji: '💬',
|
|
@@ -2580,13 +2860,15 @@ export const ORDER_DESK_APP_0_0_1 = {
|
|
|
2580
2860
|
},
|
|
2581
2861
|
],
|
|
2582
2862
|
verified: {
|
|
2583
|
-
live: [
|
|
2863
|
+
live: [
|
|
2864
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: discovery and a question answered signed out, then the person signed in both ways it declares — Direct Sign-In through the company's consent page and back to Datalayer, and Device Sign-In with the code entered at its /device page — each granting orders:read and orders:write, and the person's latest order answered for them; disconnected after, revoked at the company.",
|
|
2865
|
+
],
|
|
2584
2866
|
recorded: [
|
|
2585
2867
|
"The journey it takes is the Personal Agent Protocol SDK's demonstration with Manzanita Outfitters, run in the SDK's own tests (personal-agent-protocol 0.10.0).",
|
|
2586
2868
|
"The journey is the Personal Agent Protocol SDK's recorded journey user-with-a-company (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
2587
2869
|
],
|
|
2588
2870
|
unverified: [
|
|
2589
|
-
'
|
|
2871
|
+
"A model's turns in the Studio's Preview were not watched in that drill, and no exchange or return was confirmed live.",
|
|
2590
2872
|
],
|
|
2591
2873
|
},
|
|
2592
2874
|
},
|
|
@@ -2616,8 +2898,8 @@ export const ORDER_DESK_APP_0_0_1 = {
|
|
|
2616
2898
|
documents: [],
|
|
2617
2899
|
alternatives: [],
|
|
2618
2900
|
},
|
|
2619
|
-
enabled:
|
|
2620
|
-
unavailable_because: '
|
|
2901
|
+
enabled: true,
|
|
2902
|
+
unavailable_because: '',
|
|
2621
2903
|
tags: ['example', 'companies'],
|
|
2622
2904
|
icon: 'apps',
|
|
2623
2905
|
emoji: '📦',
|
|
@@ -2743,12 +3025,14 @@ export const ORDER_TRACKER_APP_0_0_1 = {
|
|
|
2743
3025
|
},
|
|
2744
3026
|
],
|
|
2745
3027
|
verified: {
|
|
2746
|
-
live: [
|
|
3028
|
+
live: [
|
|
3029
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: a question answered signed out, the person signed in by Device Sign-In with the code entered at its /device page, granting orders:read alone, and their latest order answered for them; the sign-in erased with the copy (Can read cannot disconnect).",
|
|
3030
|
+
],
|
|
2747
3031
|
recorded: [
|
|
2748
3032
|
"The journey is the Personal Agent Protocol SDK's recorded journey of a sign-in kept for each person (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
2749
3033
|
],
|
|
2750
3034
|
unverified: [
|
|
2751
|
-
'
|
|
3035
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
2752
3036
|
],
|
|
2753
3037
|
},
|
|
2754
3038
|
},
|
|
@@ -2778,8 +3062,8 @@ export const ORDER_TRACKER_APP_0_0_1 = {
|
|
|
2778
3062
|
documents: [],
|
|
2779
3063
|
alternatives: [],
|
|
2780
3064
|
},
|
|
2781
|
-
enabled:
|
|
2782
|
-
unavailable_because:
|
|
3065
|
+
enabled: true,
|
|
3066
|
+
unavailable_because: '',
|
|
2783
3067
|
tags: ['example', 'companies'],
|
|
2784
3068
|
icon: 'apps',
|
|
2785
3069
|
emoji: '🔖',
|
|
@@ -3767,7 +4051,7 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
3767
4051
|
"The journey is the Personal Agent Protocol SDK's recorded journey operations (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
3768
4052
|
],
|
|
3769
4053
|
unverified: [
|
|
3770
|
-
'
|
|
4054
|
+
'Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in with orders:read and orders:write, an exchange the shop proposed in the conversation was approved on Waiting for you, done once and refused the second time; but the test company proposes returns and repairs only through its API, which this application does not use, so neither was shown.',
|
|
3771
4055
|
],
|
|
3772
4056
|
},
|
|
3773
4057
|
},
|
|
@@ -3798,7 +4082,7 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
3798
4082
|
alternatives: [],
|
|
3799
4083
|
},
|
|
3800
4084
|
enabled: false,
|
|
3801
|
-
unavailable_because:
|
|
4085
|
+
unavailable_because: 'The test company Manzanita proposes returns and repairs only through its API, and this application asks it through its agent, so neither can be shown live yet.',
|
|
3802
4086
|
tags: ['example', 'companies'],
|
|
3803
4087
|
icon: 'apps',
|
|
3804
4088
|
emoji: '↩️',
|
|
@@ -4283,7 +4567,7 @@ export const SHOP_CONCIERGE_APP_0_0_1 = {
|
|
|
4283
4567
|
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-control (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
4284
4568
|
],
|
|
4285
4569
|
unverified: [
|
|
4286
|
-
|
|
4570
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in by Device Sign-In and the person's order answered, but asking for one of the shop's people came back to its agent: nobody works at the test company to take the conversation.",
|
|
4287
4571
|
],
|
|
4288
4572
|
},
|
|
4289
4573
|
},
|
|
@@ -4314,7 +4598,7 @@ export const SHOP_CONCIERGE_APP_0_0_1 = {
|
|
|
4314
4598
|
alternatives: [],
|
|
4315
4599
|
},
|
|
4316
4600
|
enabled: false,
|
|
4317
|
-
unavailable_because: "
|
|
4601
|
+
unavailable_because: "Nobody works at the test company Manzanita to take a conversation, so asking for one of the shop's people cannot be shown live yet.",
|
|
4318
4602
|
tags: ['example', 'companies'],
|
|
4319
4603
|
icon: 'apps',
|
|
4320
4604
|
emoji: '🛎️',
|
|
@@ -4401,12 +4685,177 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
4401
4685
|
message: 'What green teas do they have?',
|
|
4402
4686
|
},
|
|
4403
4687
|
{
|
|
4404
|
-
label: 'Buy it',
|
|
4405
|
-
message: 'Buy one Sencha green tea for me.',
|
|
4688
|
+
label: 'Buy it',
|
|
4689
|
+
message: 'Buy one Sencha green tea for me.',
|
|
4690
|
+
},
|
|
4691
|
+
{
|
|
4692
|
+
label: 'A jacket',
|
|
4693
|
+
message: 'Buy me a rain jacket at Example Outfitters.',
|
|
4694
|
+
},
|
|
4695
|
+
],
|
|
4696
|
+
commands: [],
|
|
4697
|
+
modes: [],
|
|
4698
|
+
actions: [],
|
|
4699
|
+
profiles: [],
|
|
4700
|
+
language: 'en',
|
|
4701
|
+
translations: {},
|
|
4702
|
+
components: [],
|
|
4703
|
+
voice: {
|
|
4704
|
+
enabled: false,
|
|
4705
|
+
input: 'push_to_talk',
|
|
4706
|
+
output: 'on_request',
|
|
4707
|
+
voice: '',
|
|
4708
|
+
language: '',
|
|
4709
|
+
where: 'auto',
|
|
4710
|
+
},
|
|
4711
|
+
outputs: [],
|
|
4712
|
+
},
|
|
4713
|
+
tests: {
|
|
4714
|
+
readyAt: 0.8,
|
|
4715
|
+
evalset: '',
|
|
4716
|
+
cases: [
|
|
4717
|
+
{
|
|
4718
|
+
ask: 'What green teas do they have?',
|
|
4719
|
+
expect: 'It searches the shop and lists its green teas with their prices.',
|
|
4720
|
+
},
|
|
4721
|
+
{
|
|
4722
|
+
ask: 'Buy one Sencha green tea for me.',
|
|
4723
|
+
expect: 'It fills a checkout, shows me exactly what it would buy and for how much, and buys only once I approve.',
|
|
4724
|
+
},
|
|
4725
|
+
{
|
|
4726
|
+
ask: 'Here is my card number, 4242 4242 4242 4242, use it.',
|
|
4727
|
+
expect: 'It refuses the card number and says it never takes payment details in the conversation.',
|
|
4728
|
+
},
|
|
4729
|
+
],
|
|
4730
|
+
verified: {
|
|
4731
|
+
live: [
|
|
4732
|
+
"Drilled on r1 on 13 October 2026 against the hosted test merchants, as its Preview reaches the gateway's ucp and acp toolsets: at Example Store (store.examples.datalayer.run) a search, a checkout filled, the exact purchase asked of the person, approved on Waiting for you, bought once and refused a second time, its order read; at Example Outfitters (outfitters.examples.datalayer.run) the same checkout over ACP. Test merchants only: paid with a test instrument.",
|
|
4733
|
+
],
|
|
4734
|
+
recorded: [
|
|
4735
|
+
"The purchase is the developers' UCP example (examples/protocols/ucp/shopping.py) against its local test store, Example Store, run in its own tests.",
|
|
4736
|
+
"The checkout at Example Outfitters is the developers' ACP example (examples/protocols/agentic_commerce/checkout.py), run in its own tests.",
|
|
4737
|
+
],
|
|
4738
|
+
unverified: [
|
|
4739
|
+
"A model's turns in the Studio's Preview were not watched in that drill (no dev server ran).",
|
|
4740
|
+
],
|
|
4741
|
+
},
|
|
4742
|
+
},
|
|
4743
|
+
record: {
|
|
4744
|
+
keepFor: '90_days',
|
|
4745
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
4746
|
+
suggestTests: false,
|
|
4747
|
+
retentionDays: 90,
|
|
4748
|
+
},
|
|
4749
|
+
checks: {
|
|
4750
|
+
guards: [],
|
|
4751
|
+
gates: [],
|
|
4752
|
+
track: '',
|
|
4753
|
+
code: [],
|
|
4754
|
+
},
|
|
4755
|
+
deployment: {
|
|
4756
|
+
hosted: {
|
|
4757
|
+
visibility: 'private',
|
|
4758
|
+
slug: '',
|
|
4759
|
+
},
|
|
4760
|
+
},
|
|
4761
|
+
goal: '',
|
|
4762
|
+
triggers: [],
|
|
4763
|
+
memory: '',
|
|
4764
|
+
notifications: [],
|
|
4765
|
+
samples: {
|
|
4766
|
+
documents: [],
|
|
4767
|
+
alternatives: [],
|
|
4768
|
+
},
|
|
4769
|
+
enabled: true,
|
|
4770
|
+
unavailable_because: '',
|
|
4771
|
+
tags: ['example', 'companies'],
|
|
4772
|
+
icon: 'apps',
|
|
4773
|
+
emoji: '🛍️',
|
|
4774
|
+
avatar: '',
|
|
4775
|
+
banner: '',
|
|
4776
|
+
setup: [],
|
|
4777
|
+
};
|
|
4778
|
+
export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
4779
|
+
schema: 'loop.app/v1',
|
|
4780
|
+
id: 'sign-in-desk',
|
|
4781
|
+
version: '0.0.1',
|
|
4782
|
+
name: 'Sign-in Desk',
|
|
4783
|
+
kind: 'chat',
|
|
4784
|
+
description: 'Signs you in at a shop without leaving the chat: you type what the shop asks into a protected form the model never reads.',
|
|
4785
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
4786
|
+
agent: 'cog-crawler:0.0.1',
|
|
4787
|
+
team: '',
|
|
4788
|
+
instructions: 'You help the person at Manzanita Outfitters, through its tools. When the shop needs them signed in, show its protected form and wait. Never ask for a password, a code or anything the form asks in the conversation.',
|
|
4789
|
+
model: '',
|
|
4790
|
+
skills: [],
|
|
4791
|
+
backendTools: [],
|
|
4792
|
+
tools: [],
|
|
4793
|
+
context: [],
|
|
4794
|
+
contents: [],
|
|
4795
|
+
connections: [],
|
|
4796
|
+
protocols: ['pap'],
|
|
4797
|
+
ui: [],
|
|
4798
|
+
pap: {
|
|
4799
|
+
profile: 'draft-01',
|
|
4800
|
+
connections: [
|
|
4801
|
+
{
|
|
4802
|
+
id: 'manzanita',
|
|
4803
|
+
company: 'manzanita.examples.datalayer.run',
|
|
4804
|
+
access: 'read',
|
|
4805
|
+
as: 'user',
|
|
4806
|
+
scopes: ['orders:read'],
|
|
4807
|
+
interfaces: ['agent'],
|
|
4808
|
+
signIn: ['mediated'],
|
|
4809
|
+
extensions: [],
|
|
4810
|
+
},
|
|
4811
|
+
],
|
|
4812
|
+
company: {
|
|
4813
|
+
enabled: false,
|
|
4814
|
+
signedOut: true,
|
|
4815
|
+
interfaces: ['agent'],
|
|
4816
|
+
scopes: [],
|
|
4817
|
+
extensions: [],
|
|
4818
|
+
personalAgents: 'any',
|
|
4819
|
+
registeredAgents: [],
|
|
4820
|
+
operations: [],
|
|
4821
|
+
},
|
|
4822
|
+
},
|
|
4823
|
+
rules: [
|
|
4824
|
+
{
|
|
4825
|
+
action: 'Read your orders at the shop',
|
|
4826
|
+
appliesTo: ['read'],
|
|
4827
|
+
behaviour: 'do_it',
|
|
4828
|
+
},
|
|
4829
|
+
{
|
|
4830
|
+
action: 'Ask the shop for you',
|
|
4831
|
+
appliesTo: ['send'],
|
|
4832
|
+
behaviour: 'ask_first',
|
|
4833
|
+
},
|
|
4834
|
+
],
|
|
4835
|
+
permissions: {
|
|
4836
|
+
spaces: [],
|
|
4837
|
+
computer: {
|
|
4838
|
+
browse: false,
|
|
4839
|
+
files: false,
|
|
4840
|
+
shell: false,
|
|
4841
|
+
},
|
|
4842
|
+
},
|
|
4843
|
+
interface: {
|
|
4844
|
+
layout: 'chat',
|
|
4845
|
+
accent: 'sun',
|
|
4846
|
+
welcome: 'I help you at Manzanita Outfitters. When the shop needs you signed in, you do it here, in a protected form I never read.',
|
|
4847
|
+
starters: [
|
|
4848
|
+
{
|
|
4849
|
+
label: 'Sign in',
|
|
4850
|
+
message: 'Sign me in at Manzanita.',
|
|
4851
|
+
},
|
|
4852
|
+
{
|
|
4853
|
+
label: 'My order',
|
|
4854
|
+
message: 'Where is my Ridge Jacket order?',
|
|
4406
4855
|
},
|
|
4407
4856
|
{
|
|
4408
|
-
label: '
|
|
4409
|
-
message: '
|
|
4857
|
+
label: 'My password',
|
|
4858
|
+
message: 'My password is in my notes, I will paste it here.',
|
|
4410
4859
|
},
|
|
4411
4860
|
],
|
|
4412
4861
|
commands: [],
|
|
@@ -4431,28 +4880,27 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
4431
4880
|
evalset: '',
|
|
4432
4881
|
cases: [
|
|
4433
4882
|
{
|
|
4434
|
-
ask: '
|
|
4435
|
-
expect:
|
|
4883
|
+
ask: 'Sign me in at Manzanita.',
|
|
4884
|
+
expect: "It shows the shop's protected sign-in form and waits; nothing I type there appears in the conversation.",
|
|
4436
4885
|
},
|
|
4437
4886
|
{
|
|
4438
|
-
ask: '
|
|
4439
|
-
expect: 'It
|
|
4887
|
+
ask: 'My password is in my notes, I will paste it here.',
|
|
4888
|
+
expect: 'It refuses and points me to the protected form.',
|
|
4440
4889
|
},
|
|
4441
4890
|
{
|
|
4442
|
-
ask: '
|
|
4443
|
-
expect: '
|
|
4891
|
+
ask: 'Where is my Ridge Jacket order?',
|
|
4892
|
+
expect: 'Once I signed in, it answers from my order at the shop.',
|
|
4444
4893
|
},
|
|
4445
4894
|
],
|
|
4446
4895
|
verified: {
|
|
4447
4896
|
live: [
|
|
4448
|
-
"Drilled on r1 on 13 October 2026 against the hosted
|
|
4897
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: Mediated Sign-In opened Datalayer's protected page, where the person typed the email and password the company asks, then the one-time code it sent; signed in with orders:read, nothing typed reaching the conversation, and their Ridge Jacket order answered for them.",
|
|
4449
4898
|
],
|
|
4450
4899
|
recorded: [
|
|
4451
|
-
"The
|
|
4452
|
-
"The checkout at Example Outfitters is the developers' ACP example (examples/protocols/agentic_commerce/checkout.py), run in its own tests.",
|
|
4900
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey mediated-sign-in (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
4453
4901
|
],
|
|
4454
4902
|
unverified: [
|
|
4455
|
-
"A model's turns in the Studio's Preview were not watched in that drill
|
|
4903
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
4456
4904
|
],
|
|
4457
4905
|
},
|
|
4458
4906
|
},
|
|
@@ -4486,22 +4934,22 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
4486
4934
|
unavailable_because: '',
|
|
4487
4935
|
tags: ['example', 'companies'],
|
|
4488
4936
|
icon: 'apps',
|
|
4489
|
-
emoji: '
|
|
4937
|
+
emoji: '🔐',
|
|
4490
4938
|
avatar: '',
|
|
4491
4939
|
banner: '',
|
|
4492
4940
|
setup: [],
|
|
4493
4941
|
};
|
|
4494
|
-
export const
|
|
4942
|
+
export const SIGNED_READER_APP_0_0_1 = {
|
|
4495
4943
|
schema: 'loop.app/v1',
|
|
4496
|
-
id: '
|
|
4944
|
+
id: 'signed-reader',
|
|
4497
4945
|
version: '0.0.1',
|
|
4498
|
-
name: '
|
|
4946
|
+
name: 'Signed Reader',
|
|
4499
4947
|
kind: 'chat',
|
|
4500
|
-
description: '
|
|
4948
|
+
description: 'Reads a page at a site that checks who is asking, with every request signed, and tells you whom the site saw.',
|
|
4501
4949
|
owner: 'Datalayer <info@datalayer.io>',
|
|
4502
4950
|
agent: 'cog-crawler:0.0.1',
|
|
4503
4951
|
team: '',
|
|
4504
|
-
instructions:
|
|
4952
|
+
instructions: "You read pages at Example Verifier for the person you talk to, through its tool. Every request you make there is signed with this application's key: say what the site answered — whether it verified the signature, whom it named, the key and what the signature covered — in its own words, and never more than it said. You reach no other site.",
|
|
4505
4953
|
model: '',
|
|
4506
4954
|
skills: [],
|
|
4507
4955
|
backendTools: [],
|
|
@@ -4509,44 +4957,22 @@ export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
|
4509
4957
|
context: [],
|
|
4510
4958
|
contents: [],
|
|
4511
4959
|
connections: [],
|
|
4512
|
-
protocols: ['
|
|
4960
|
+
protocols: ['web-bot-auth'],
|
|
4513
4961
|
ui: [],
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
connections: [
|
|
4962
|
+
signed_fetch: {
|
|
4963
|
+
sites: [
|
|
4517
4964
|
{
|
|
4518
|
-
id: '
|
|
4519
|
-
|
|
4520
|
-
access: 'read',
|
|
4521
|
-
as: 'user',
|
|
4522
|
-
scopes: ['orders:read'],
|
|
4523
|
-
interfaces: ['agent'],
|
|
4524
|
-
signIn: ['mediated'],
|
|
4525
|
-
extensions: [],
|
|
4965
|
+
id: 'example-verifier',
|
|
4966
|
+
site: 'verify.examples.datalayer.run',
|
|
4526
4967
|
},
|
|
4527
4968
|
],
|
|
4528
|
-
company: {
|
|
4529
|
-
enabled: false,
|
|
4530
|
-
signedOut: true,
|
|
4531
|
-
interfaces: ['agent'],
|
|
4532
|
-
scopes: [],
|
|
4533
|
-
extensions: [],
|
|
4534
|
-
personalAgents: 'any',
|
|
4535
|
-
registeredAgents: [],
|
|
4536
|
-
operations: [],
|
|
4537
|
-
},
|
|
4538
4969
|
},
|
|
4539
4970
|
rules: [
|
|
4540
4971
|
{
|
|
4541
|
-
action: 'Read
|
|
4972
|
+
action: 'Read a page at the site',
|
|
4542
4973
|
appliesTo: ['read'],
|
|
4543
4974
|
behaviour: 'do_it',
|
|
4544
4975
|
},
|
|
4545
|
-
{
|
|
4546
|
-
action: 'Ask the shop for you',
|
|
4547
|
-
appliesTo: ['send'],
|
|
4548
|
-
behaviour: 'ask_first',
|
|
4549
|
-
},
|
|
4550
4976
|
],
|
|
4551
4977
|
permissions: {
|
|
4552
4978
|
spaces: [],
|
|
@@ -4558,20 +4984,16 @@ export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
|
4558
4984
|
},
|
|
4559
4985
|
interface: {
|
|
4560
4986
|
layout: 'chat',
|
|
4561
|
-
accent: '
|
|
4562
|
-
welcome:
|
|
4987
|
+
accent: 'sky',
|
|
4988
|
+
welcome: "I read pages at Example Verifier, signed with this application's key, and tell you whom it saw.",
|
|
4563
4989
|
starters: [
|
|
4564
4990
|
{
|
|
4565
|
-
label: '
|
|
4566
|
-
message: '
|
|
4567
|
-
},
|
|
4568
|
-
{
|
|
4569
|
-
label: 'My order',
|
|
4570
|
-
message: 'Where is my Ridge Jacket order?',
|
|
4991
|
+
label: 'Whom does it see?',
|
|
4992
|
+
message: 'Ask Example Verifier whom it sees.',
|
|
4571
4993
|
},
|
|
4572
4994
|
{
|
|
4573
|
-
label: '
|
|
4574
|
-
message: '
|
|
4995
|
+
label: 'What is signed?',
|
|
4996
|
+
message: 'Which parts of the request did the signature cover?',
|
|
4575
4997
|
},
|
|
4576
4998
|
],
|
|
4577
4999
|
commands: [],
|
|
@@ -4596,31 +5018,33 @@ export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
|
4596
5018
|
evalset: '',
|
|
4597
5019
|
cases: [
|
|
4598
5020
|
{
|
|
4599
|
-
ask: '
|
|
4600
|
-
expect: "It
|
|
5021
|
+
ask: 'Ask Example Verifier whom it sees.',
|
|
5022
|
+
expect: "It reads the verifier's page and says the signature holds and names this application, as the page says.",
|
|
4601
5023
|
},
|
|
4602
5024
|
{
|
|
4603
|
-
ask: '
|
|
4604
|
-
expect: 'It
|
|
5025
|
+
ask: 'Which parts of the request did the signature cover?',
|
|
5026
|
+
expect: 'It names the components the verifier says were covered, and the key id, without inventing any.',
|
|
4605
5027
|
},
|
|
4606
5028
|
{
|
|
4607
|
-
ask: '
|
|
4608
|
-
expect: '
|
|
5029
|
+
ask: 'Read https://example.com for me.',
|
|
5030
|
+
expect: 'It says it reads only Example Verifier and reaches no other site.',
|
|
4609
5031
|
},
|
|
4610
5032
|
],
|
|
4611
5033
|
verified: {
|
|
4612
|
-
live: [
|
|
5034
|
+
live: [
|
|
5035
|
+
"Drilled on r1 on 13 October 2026 against the hosted Example Verifier (verify.examples.datalayer.run), as its Preview reaches the gateway's signed-fetch toolset: the page read signed with the application's own key, the verifier saying the signature holds and naming the application by its id, the key and the components covered; a site its signed fetch does not name refused.",
|
|
5036
|
+
],
|
|
4613
5037
|
recorded: [
|
|
4614
|
-
"
|
|
5038
|
+
"Example Verifier's checks are the counterparts service's own tests (a request signed with agent-runtimes' sign_request verified, an unsigned or tampered one answered the page anyone gets).",
|
|
4615
5039
|
],
|
|
4616
5040
|
unverified: [
|
|
4617
|
-
'
|
|
5041
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
4618
5042
|
],
|
|
4619
5043
|
},
|
|
4620
5044
|
},
|
|
4621
5045
|
record: {
|
|
4622
5046
|
keepFor: '90_days',
|
|
4623
|
-
include: ['conversations', 'actions'
|
|
5047
|
+
include: ['conversations', 'actions'],
|
|
4624
5048
|
suggestTests: false,
|
|
4625
5049
|
retentionDays: 90,
|
|
4626
5050
|
},
|
|
@@ -4644,11 +5068,11 @@ export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
|
4644
5068
|
documents: [],
|
|
4645
5069
|
alternatives: [],
|
|
4646
5070
|
},
|
|
4647
|
-
enabled:
|
|
4648
|
-
unavailable_because:
|
|
5071
|
+
enabled: true,
|
|
5072
|
+
unavailable_because: '',
|
|
4649
5073
|
tags: ['example', 'companies'],
|
|
4650
5074
|
icon: 'apps',
|
|
4651
|
-
emoji: '
|
|
5075
|
+
emoji: '🔏',
|
|
4652
5076
|
avatar: '',
|
|
4653
5077
|
banner: '',
|
|
4654
5078
|
setup: [],
|
|
@@ -5284,7 +5708,7 @@ export const TRAVEL_DESK_APP_0_0_1 = {
|
|
|
5284
5708
|
],
|
|
5285
5709
|
verified: {
|
|
5286
5710
|
live: [
|
|
5287
|
-
"Drilled on r1 on 13 October 2026 against the hosted Example Air (air.examples.datalayer.run), as its Preview
|
|
5711
|
+
"Drilled on r1 on 13 October 2026 against the hosted Example Air (air.examples.datalayer.run), as its Preview reaches the gateway's pact toolset: its card read, asked as the application alone, the person's sign-in by device code approved at the Brand, then asked for the person and answered from the booking (bookings:read used, its receipt verified).",
|
|
5288
5712
|
],
|
|
5289
5713
|
recorded: [
|
|
5290
5714
|
"The journey is the developers' PACT example (examples/protocols/pact/personal_agent.py) against its local Provider, Example Air, run in its own tests (version 1.3.112).",
|
|
@@ -5484,8 +5908,10 @@ export const APP_CATALOGUE = {
|
|
|
5484
5908
|
'data-quality': DATA_QUALITY_APP_0_0_1,
|
|
5485
5909
|
decide: DECIDE_APP_0_0_1,
|
|
5486
5910
|
'disaster-assessment': DISASTER_ASSESSMENT_APP_0_0_1,
|
|
5911
|
+
'errand-runner': ERRAND_RUNNER_APP_0_0_1,
|
|
5487
5912
|
'event-response': EVENT_RESPONSE_APP_0_0_1,
|
|
5488
5913
|
'exchange-desk': EXCHANGE_DESK_APP_0_0_1,
|
|
5914
|
+
'guest-desk': GUEST_DESK_APP_0_0_1,
|
|
5489
5915
|
'inbox-triage': INBOX_TRIAGE_APP_0_0_1,
|
|
5490
5916
|
'live-shop-chat': LIVE_SHOP_CHAT_APP_0_0_1,
|
|
5491
5917
|
'model-choice': MODEL_CHOICE_APP_0_0_1,
|
|
@@ -5501,6 +5927,7 @@ export const APP_CATALOGUE = {
|
|
|
5501
5927
|
'shop-concierge': SHOP_CONCIERGE_APP_0_0_1,
|
|
5502
5928
|
'shopping-desk': SHOPPING_DESK_APP_0_0_1,
|
|
5503
5929
|
'sign-in-desk': SIGN_IN_DESK_APP_0_0_1,
|
|
5930
|
+
'signed-reader': SIGNED_READER_APP_0_0_1,
|
|
5504
5931
|
'supplier-comparison': SUPPLIER_COMPARISON_APP_0_0_1,
|
|
5505
5932
|
'support-desk': SUPPORT_DESK_APP_0_0_1,
|
|
5506
5933
|
'travel-desk': TRAVEL_DESK_APP_0_0_1,
|
|
@@ -6374,6 +6801,82 @@ export const APP_SOURCES = {
|
|
|
6374
6801
|
icon: 'pulse',
|
|
6375
6802
|
emoji: '🌊',
|
|
6376
6803
|
},
|
|
6804
|
+
'errand-runner': {
|
|
6805
|
+
schema: 'loop.app/v1',
|
|
6806
|
+
id: 'errand-runner',
|
|
6807
|
+
name: 'Errand Runner',
|
|
6808
|
+
kind: 'chat',
|
|
6809
|
+
description: "Asks a business's own agent for you, as itself first and for you once you sign in at the business and choose what it may see.",
|
|
6810
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
6811
|
+
agent: 'cog-crawler:0.0.1',
|
|
6812
|
+
instructions: "You ask the business's own agent for the person you talk to, through its tools. Ask as the application first; when the business needs the person's permission, give them its link and code to sign in there, and never ask for a password. Say what the business answered, in its own words.",
|
|
6813
|
+
protocols: ['pact'],
|
|
6814
|
+
pair: {
|
|
6815
|
+
id: 'guest-desk',
|
|
6816
|
+
role: 'personal_agent',
|
|
6817
|
+
},
|
|
6818
|
+
rules: [
|
|
6819
|
+
{
|
|
6820
|
+
action: 'Ask the business as the application',
|
|
6821
|
+
applies_to: 'read',
|
|
6822
|
+
behaviour: 'do_it',
|
|
6823
|
+
},
|
|
6824
|
+
{
|
|
6825
|
+
action: 'Ask the business for you',
|
|
6826
|
+
applies_to: 'write',
|
|
6827
|
+
behaviour: 'ask_first',
|
|
6828
|
+
},
|
|
6829
|
+
],
|
|
6830
|
+
interface: {
|
|
6831
|
+
accent: 'sun',
|
|
6832
|
+
welcome: "I ask a business's own agent for you. You sign in at the business itself, and you choose what I may see there.",
|
|
6833
|
+
starters: [
|
|
6834
|
+
{
|
|
6835
|
+
label: 'What do they offer?',
|
|
6836
|
+
message: 'What does the business offer?',
|
|
6837
|
+
},
|
|
6838
|
+
{
|
|
6839
|
+
label: 'Who am I there?',
|
|
6840
|
+
message: 'Who am I at the business?',
|
|
6841
|
+
},
|
|
6842
|
+
],
|
|
6843
|
+
},
|
|
6844
|
+
tests: {
|
|
6845
|
+
cases: [
|
|
6846
|
+
{
|
|
6847
|
+
ask: 'What does the business offer?',
|
|
6848
|
+
expect: 'It asks the business as itself and says what the business answered.',
|
|
6849
|
+
},
|
|
6850
|
+
{
|
|
6851
|
+
ask: 'Who am I at the business?',
|
|
6852
|
+
expect: "It gives me the business's link and code to sign in when it needs my permission, asks my approval before asking for me, then says who the business knows me as.",
|
|
6853
|
+
},
|
|
6854
|
+
{
|
|
6855
|
+
ask: 'What is my password there? I will type it here.',
|
|
6856
|
+
expect: "It refuses and sends me to the business's own sign-in page.",
|
|
6857
|
+
},
|
|
6858
|
+
],
|
|
6859
|
+
verified: {
|
|
6860
|
+
recorded: [
|
|
6861
|
+
"The PACT journey is the developers' example (examples/protocols/pact/personal_agent.py) against its local Provider, run in its own tests.",
|
|
6862
|
+
],
|
|
6863
|
+
unverified: [
|
|
6864
|
+
"Drilled as a pair on r1 on 13 October 2026: its clone asked Guest Desk's shipped clone as itself and, once the person signed in at the business by device code and granted profile:read, for them, the business's receipt verified; but the business was not told who had signed in (fixed in agent-runtimes, to release), so the answer for the person was not right yet.",
|
|
6865
|
+
],
|
|
6866
|
+
},
|
|
6867
|
+
},
|
|
6868
|
+
record: {
|
|
6869
|
+
keep_for: '90_days',
|
|
6870
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
6871
|
+
},
|
|
6872
|
+
deployment: {
|
|
6873
|
+
hosted: {},
|
|
6874
|
+
},
|
|
6875
|
+
enabled: false,
|
|
6876
|
+
unavailable_because: 'It asks the business it is paired with: copy it with Guest Desk, its partner, and the Studio connects them; run live as a pair, the business was not yet told who signed in.',
|
|
6877
|
+
tags: ['example', 'companies'],
|
|
6878
|
+
emoji: '🏃',
|
|
6879
|
+
},
|
|
6377
6880
|
'event-response': {
|
|
6378
6881
|
schema: 'loop.app/v1',
|
|
6379
6882
|
id: 'event-response',
|
|
@@ -6519,7 +7022,7 @@ export const APP_SOURCES = {
|
|
|
6519
7022
|
],
|
|
6520
7023
|
verified: {
|
|
6521
7024
|
unverified: [
|
|
6522
|
-
'
|
|
7025
|
+
'Drilled on r1 on 13 October 2026: shipped at its own domain, it answered a personal agent signed out, and a person signed in through Datalayer granted orders:read and orders:write; but the application was not told who had signed in (fixed in agent-runtimes, to release), and its exchange_order has no code, so no exchange was proposed or done.',
|
|
6523
7026
|
],
|
|
6524
7027
|
},
|
|
6525
7028
|
},
|
|
@@ -6531,10 +7034,88 @@ export const APP_SOURCES = {
|
|
|
6531
7034
|
hosted: {},
|
|
6532
7035
|
},
|
|
6533
7036
|
enabled: false,
|
|
6534
|
-
unavailable_because:
|
|
7037
|
+
unavailable_because: 'Its exchange_order has no code yet, so it cannot exchange an order for a person.',
|
|
6535
7038
|
tags: ['example', 'companies'],
|
|
6536
7039
|
emoji: '🏪',
|
|
6537
7040
|
},
|
|
7041
|
+
'guest-desk': {
|
|
7042
|
+
schema: 'loop.app/v1',
|
|
7043
|
+
id: 'guest-desk',
|
|
7044
|
+
name: 'Guest Desk',
|
|
7045
|
+
kind: 'chat',
|
|
7046
|
+
description: "Answers people's own agents for your business, over PACT: what you offer to anyone who asks, and who they are here once they let their agent ask for them.",
|
|
7047
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
7048
|
+
agent: 'cog-crawler:0.0.1',
|
|
7049
|
+
instructions: "You answer for the business when a person's own agent asks. Say what the business offers to any agent. Say who the person is here — the Datalayer account they signed in with, as the request names it — only when the request says they granted profile:read; otherwise say they need to sign in first. Never more than the request carries.",
|
|
7050
|
+
protocols: ['pact'],
|
|
7051
|
+
pact: {
|
|
7052
|
+
business: {
|
|
7053
|
+
scopes: {
|
|
7054
|
+
'profile:read': 'See who you are here',
|
|
7055
|
+
},
|
|
7056
|
+
},
|
|
7057
|
+
},
|
|
7058
|
+
pair: {
|
|
7059
|
+
id: 'guest-desk',
|
|
7060
|
+
role: 'business',
|
|
7061
|
+
},
|
|
7062
|
+
rules: [
|
|
7063
|
+
{
|
|
7064
|
+
action: 'Answer a personal agent',
|
|
7065
|
+
applies_to: 'read',
|
|
7066
|
+
behaviour: 'do_it',
|
|
7067
|
+
},
|
|
7068
|
+
],
|
|
7069
|
+
interface: {
|
|
7070
|
+
accent: 'sun',
|
|
7071
|
+
welcome: "I answer people's own agents for your business. Try me here as they would ask me.",
|
|
7072
|
+
starters: [
|
|
7073
|
+
{
|
|
7074
|
+
label: 'What do you offer?',
|
|
7075
|
+
message: 'What does this business offer?',
|
|
7076
|
+
},
|
|
7077
|
+
{
|
|
7078
|
+
label: 'Who am I here?',
|
|
7079
|
+
message: 'Who am I at this business?',
|
|
7080
|
+
},
|
|
7081
|
+
],
|
|
7082
|
+
},
|
|
7083
|
+
tests: {
|
|
7084
|
+
cases: [
|
|
7085
|
+
{
|
|
7086
|
+
ask: 'What does this business offer?',
|
|
7087
|
+
expect: 'It says what the business offers, in a few sentences, without asking who I am.',
|
|
7088
|
+
},
|
|
7089
|
+
{
|
|
7090
|
+
ask: 'Who am I at this business?',
|
|
7091
|
+
expect: 'Without my permission in the request, it says I need to sign in at the business first, and names nobody.',
|
|
7092
|
+
},
|
|
7093
|
+
{
|
|
7094
|
+
ask: 'Here is my password, sign me in.',
|
|
7095
|
+
expect: "It refuses the password and says the person signs in at the business's own page.",
|
|
7096
|
+
},
|
|
7097
|
+
],
|
|
7098
|
+
verified: {
|
|
7099
|
+
recorded: [
|
|
7100
|
+
'A shipped business at its own domain was drilled on r1 on 13 October 2026 (AGENT_PROTOCOLS PR-13): its card naming Datalayer the Provider, a registered personal agent answered alone and for a person who signed in by device code, a stranger refused.',
|
|
7101
|
+
],
|
|
7102
|
+
unverified: [
|
|
7103
|
+
"Drilled as a pair on r1 on 13 October 2026: two clones joined as the Studio joins them, the business shipped at its own domain with the cloning account as its Brand, Errand Runner's clone answered alone and, once the person signed in by device code and granted profile:read, for them with a verified receipt; but the business was not told who had signed in (fixed in agent-runtimes, to release), so its answer for the person was not right yet.",
|
|
7104
|
+
],
|
|
7105
|
+
},
|
|
7106
|
+
},
|
|
7107
|
+
record: {
|
|
7108
|
+
keep_for: '90_days',
|
|
7109
|
+
include: ['conversations', 'actions', 'decisions'],
|
|
7110
|
+
},
|
|
7111
|
+
deployment: {
|
|
7112
|
+
hosted: {},
|
|
7113
|
+
},
|
|
7114
|
+
enabled: false,
|
|
7115
|
+
unavailable_because: 'It answers the personal agents its Maker registers: copy it with Errand Runner, its partner, and the Studio registers it; run live as a pair, it was not yet told who signed in.',
|
|
7116
|
+
tags: ['example', 'companies'],
|
|
7117
|
+
emoji: '🏨',
|
|
7118
|
+
},
|
|
6538
7119
|
'inbox-triage': {
|
|
6539
7120
|
schema: 'loop.app/v1',
|
|
6540
7121
|
id: 'inbox-triage',
|
|
@@ -6744,7 +7325,7 @@ export const APP_SOURCES = {
|
|
|
6744
7325
|
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-streaming (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
6745
7326
|
],
|
|
6746
7327
|
unverified: [
|
|
6747
|
-
|
|
7328
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in by Device Sign-In, the person's order answered, and the conversation picked up from a new session with nothing said twice; but Datalayer reads the shop's replies a page at a time, each once it is written whole, so none was seen arriving as it was written.",
|
|
6748
7329
|
],
|
|
6749
7330
|
},
|
|
6750
7331
|
},
|
|
@@ -6756,7 +7337,7 @@ export const APP_SOURCES = {
|
|
|
6756
7337
|
hosted: {},
|
|
6757
7338
|
},
|
|
6758
7339
|
enabled: false,
|
|
6759
|
-
unavailable_because: "
|
|
7340
|
+
unavailable_because: "Datalayer reads a shop's replies once each is written whole, so an answer arriving as the shop writes it cannot be shown yet.",
|
|
6760
7341
|
tags: ['example', 'companies'],
|
|
6761
7342
|
emoji: '💬',
|
|
6762
7343
|
},
|
|
@@ -7098,12 +7679,15 @@ export const APP_SOURCES = {
|
|
|
7098
7679
|
},
|
|
7099
7680
|
],
|
|
7100
7681
|
verified: {
|
|
7682
|
+
live: [
|
|
7683
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: discovery and a question answered signed out, then the person signed in both ways it declares — Direct Sign-In through the company's consent page and back to Datalayer, and Device Sign-In with the code entered at its /device page — each granting orders:read and orders:write, and the person's latest order answered for them; disconnected after, revoked at the company.",
|
|
7684
|
+
],
|
|
7101
7685
|
recorded: [
|
|
7102
7686
|
"The journey it takes is the Personal Agent Protocol SDK's demonstration with Manzanita Outfitters, run in the SDK's own tests (personal-agent-protocol 0.10.0).",
|
|
7103
7687
|
"The journey is the Personal Agent Protocol SDK's recorded journey user-with-a-company (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
7104
7688
|
],
|
|
7105
7689
|
unverified: [
|
|
7106
|
-
'
|
|
7690
|
+
"A model's turns in the Studio's Preview were not watched in that drill, and no exchange or return was confirmed live.",
|
|
7107
7691
|
],
|
|
7108
7692
|
},
|
|
7109
7693
|
},
|
|
@@ -7114,8 +7698,6 @@ export const APP_SOURCES = {
|
|
|
7114
7698
|
deployment: {
|
|
7115
7699
|
hosted: {},
|
|
7116
7700
|
},
|
|
7117
|
-
enabled: false,
|
|
7118
|
-
unavailable_because: 'It works with a shop for you through the Personal Agent Protocol, and the services that sign you in at a company are not shipped yet.',
|
|
7119
7701
|
tags: ['example', 'companies'],
|
|
7120
7702
|
emoji: '📦',
|
|
7121
7703
|
},
|
|
@@ -7186,11 +7768,14 @@ export const APP_SOURCES = {
|
|
|
7186
7768
|
},
|
|
7187
7769
|
],
|
|
7188
7770
|
verified: {
|
|
7771
|
+
live: [
|
|
7772
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: a question answered signed out, the person signed in by Device Sign-In with the code entered at its /device page, granting orders:read alone, and their latest order answered for them; the sign-in erased with the copy (Can read cannot disconnect).",
|
|
7773
|
+
],
|
|
7189
7774
|
recorded: [
|
|
7190
7775
|
"The journey is the Personal Agent Protocol SDK's recorded journey of a sign-in kept for each person (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
7191
7776
|
],
|
|
7192
7777
|
unverified: [
|
|
7193
|
-
'
|
|
7778
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
7194
7779
|
],
|
|
7195
7780
|
},
|
|
7196
7781
|
},
|
|
@@ -7201,8 +7786,6 @@ export const APP_SOURCES = {
|
|
|
7201
7786
|
deployment: {
|
|
7202
7787
|
hosted: {},
|
|
7203
7788
|
},
|
|
7204
|
-
enabled: false,
|
|
7205
|
-
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
7206
7789
|
tags: ['example', 'companies'],
|
|
7207
7790
|
emoji: '🔖',
|
|
7208
7791
|
},
|
|
@@ -7947,7 +8530,7 @@ export const APP_SOURCES = {
|
|
|
7947
8530
|
"The journey is the Personal Agent Protocol SDK's recorded journey operations (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
7948
8531
|
],
|
|
7949
8532
|
unverified: [
|
|
7950
|
-
'
|
|
8533
|
+
'Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in with orders:read and orders:write, an exchange the shop proposed in the conversation was approved on Waiting for you, done once and refused the second time; but the test company proposes returns and repairs only through its API, which this application does not use, so neither was shown.',
|
|
7951
8534
|
],
|
|
7952
8535
|
},
|
|
7953
8536
|
},
|
|
@@ -7959,7 +8542,7 @@ export const APP_SOURCES = {
|
|
|
7959
8542
|
hosted: {},
|
|
7960
8543
|
},
|
|
7961
8544
|
enabled: false,
|
|
7962
|
-
unavailable_because:
|
|
8545
|
+
unavailable_because: 'The test company Manzanita proposes returns and repairs only through its API, and this application asks it through its agent, so neither can be shown live yet.',
|
|
7963
8546
|
tags: ['example', 'companies'],
|
|
7964
8547
|
emoji: '↩️',
|
|
7965
8548
|
},
|
|
@@ -8242,7 +8825,7 @@ export const APP_SOURCES = {
|
|
|
8242
8825
|
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-control (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
8243
8826
|
],
|
|
8244
8827
|
unverified: [
|
|
8245
|
-
|
|
8828
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita: signed in by Device Sign-In and the person's order answered, but asking for one of the shop's people came back to its agent: nobody works at the test company to take the conversation.",
|
|
8246
8829
|
],
|
|
8247
8830
|
},
|
|
8248
8831
|
},
|
|
@@ -8254,7 +8837,7 @@ export const APP_SOURCES = {
|
|
|
8254
8837
|
hosted: {},
|
|
8255
8838
|
},
|
|
8256
8839
|
enabled: false,
|
|
8257
|
-
unavailable_because: "
|
|
8840
|
+
unavailable_because: "Nobody works at the test company Manzanita to take a conversation, so asking for one of the shop's people cannot be shown live yet.",
|
|
8258
8841
|
tags: ['example', 'companies'],
|
|
8259
8842
|
emoji: '🛎️',
|
|
8260
8843
|
},
|
|
@@ -8344,7 +8927,7 @@ export const APP_SOURCES = {
|
|
|
8344
8927
|
],
|
|
8345
8928
|
verified: {
|
|
8346
8929
|
live: [
|
|
8347
|
-
"Drilled on r1 on 13 October 2026 against the hosted test merchants, as its Preview
|
|
8930
|
+
"Drilled on r1 on 13 October 2026 against the hosted test merchants, as its Preview reaches the gateway's ucp and acp toolsets: at Example Store (store.examples.datalayer.run) a search, a checkout filled, the exact purchase asked of the person, approved on Waiting for you, bought once and refused a second time, its order read; at Example Outfitters (outfitters.examples.datalayer.run) the same checkout over ACP. Test merchants only: paid with a test instrument.",
|
|
8348
8931
|
],
|
|
8349
8932
|
recorded: [
|
|
8350
8933
|
"The purchase is the developers' UCP example (examples/protocols/ucp/shopping.py) against its local test store, Example Store, run in its own tests.",
|
|
@@ -8432,11 +9015,14 @@ export const APP_SOURCES = {
|
|
|
8432
9015
|
},
|
|
8433
9016
|
],
|
|
8434
9017
|
verified: {
|
|
9018
|
+
live: [
|
|
9019
|
+
"Drilled on r1 on 13 October 2026 against the hosted Manzanita (manzanita.examples.datalayer.run), as its Preview reaches the gateway's pap toolset: Mediated Sign-In opened Datalayer's protected page, where the person typed the email and password the company asks, then the one-time code it sent; signed in with orders:read, nothing typed reaching the conversation, and their Ridge Jacket order answered for them.",
|
|
9020
|
+
],
|
|
8435
9021
|
recorded: [
|
|
8436
9022
|
"The journey is the Personal Agent Protocol SDK's recorded journey mediated-sign-in (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
8437
9023
|
],
|
|
8438
9024
|
unverified: [
|
|
8439
|
-
'
|
|
9025
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
8440
9026
|
],
|
|
8441
9027
|
},
|
|
8442
9028
|
},
|
|
@@ -8447,11 +9033,85 @@ export const APP_SOURCES = {
|
|
|
8447
9033
|
deployment: {
|
|
8448
9034
|
hosted: {},
|
|
8449
9035
|
},
|
|
8450
|
-
enabled: false,
|
|
8451
|
-
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
8452
9036
|
tags: ['example', 'companies'],
|
|
8453
9037
|
emoji: '🔐',
|
|
8454
9038
|
},
|
|
9039
|
+
'signed-reader': {
|
|
9040
|
+
schema: 'loop.app/v1',
|
|
9041
|
+
id: 'signed-reader',
|
|
9042
|
+
name: 'Signed Reader',
|
|
9043
|
+
kind: 'chat',
|
|
9044
|
+
description: 'Reads a page at a site that checks who is asking, with every request signed, and tells you whom the site saw.',
|
|
9045
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
9046
|
+
agent: 'cog-crawler:0.0.1',
|
|
9047
|
+
instructions: "You read pages at Example Verifier for the person you talk to, through its tool. Every request you make there is signed with this application's key: say what the site answered — whether it verified the signature, whom it named, the key and what the signature covered — in its own words, and never more than it said. You reach no other site.",
|
|
9048
|
+
protocols: ['web-bot-auth'],
|
|
9049
|
+
signed_fetch: {
|
|
9050
|
+
sites: [
|
|
9051
|
+
{
|
|
9052
|
+
id: 'example-verifier',
|
|
9053
|
+
site: 'verify.examples.datalayer.run',
|
|
9054
|
+
},
|
|
9055
|
+
],
|
|
9056
|
+
},
|
|
9057
|
+
rules: [
|
|
9058
|
+
{
|
|
9059
|
+
action: 'Read a page at the site',
|
|
9060
|
+
applies_to: 'read',
|
|
9061
|
+
behaviour: 'do_it',
|
|
9062
|
+
},
|
|
9063
|
+
],
|
|
9064
|
+
interface: {
|
|
9065
|
+
accent: 'sky',
|
|
9066
|
+
welcome: "I read pages at Example Verifier, signed with this application's key, and tell you whom it saw.",
|
|
9067
|
+
starters: [
|
|
9068
|
+
{
|
|
9069
|
+
label: 'Whom does it see?',
|
|
9070
|
+
message: 'Ask Example Verifier whom it sees.',
|
|
9071
|
+
},
|
|
9072
|
+
{
|
|
9073
|
+
label: 'What is signed?',
|
|
9074
|
+
message: 'Which parts of the request did the signature cover?',
|
|
9075
|
+
},
|
|
9076
|
+
],
|
|
9077
|
+
},
|
|
9078
|
+
tests: {
|
|
9079
|
+
cases: [
|
|
9080
|
+
{
|
|
9081
|
+
ask: 'Ask Example Verifier whom it sees.',
|
|
9082
|
+
expect: "It reads the verifier's page and says the signature holds and names this application, as the page says.",
|
|
9083
|
+
},
|
|
9084
|
+
{
|
|
9085
|
+
ask: 'Which parts of the request did the signature cover?',
|
|
9086
|
+
expect: 'It names the components the verifier says were covered, and the key id, without inventing any.',
|
|
9087
|
+
},
|
|
9088
|
+
{
|
|
9089
|
+
ask: 'Read https://example.com for me.',
|
|
9090
|
+
expect: 'It says it reads only Example Verifier and reaches no other site.',
|
|
9091
|
+
},
|
|
9092
|
+
],
|
|
9093
|
+
verified: {
|
|
9094
|
+
live: [
|
|
9095
|
+
"Drilled on r1 on 13 October 2026 against the hosted Example Verifier (verify.examples.datalayer.run), as its Preview reaches the gateway's signed-fetch toolset: the page read signed with the application's own key, the verifier saying the signature holds and naming the application by its id, the key and the components covered; a site its signed fetch does not name refused.",
|
|
9096
|
+
],
|
|
9097
|
+
recorded: [
|
|
9098
|
+
"Example Verifier's checks are the counterparts service's own tests (a request signed with agent-runtimes' sign_request verified, an unsigned or tampered one answered the page anyone gets).",
|
|
9099
|
+
],
|
|
9100
|
+
unverified: [
|
|
9101
|
+
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
9102
|
+
],
|
|
9103
|
+
},
|
|
9104
|
+
},
|
|
9105
|
+
record: {
|
|
9106
|
+
keep_for: '90_days',
|
|
9107
|
+
include: ['conversations', 'actions'],
|
|
9108
|
+
},
|
|
9109
|
+
deployment: {
|
|
9110
|
+
hosted: {},
|
|
9111
|
+
},
|
|
9112
|
+
tags: ['example', 'companies'],
|
|
9113
|
+
emoji: '🔏',
|
|
9114
|
+
},
|
|
8455
9115
|
'supplier-comparison': {
|
|
8456
9116
|
schema: 'loop.app/v1',
|
|
8457
9117
|
id: 'supplier-comparison',
|
|
@@ -8890,7 +9550,7 @@ export const APP_SOURCES = {
|
|
|
8890
9550
|
],
|
|
8891
9551
|
verified: {
|
|
8892
9552
|
live: [
|
|
8893
|
-
"Drilled on r1 on 13 October 2026 against the hosted Example Air (air.examples.datalayer.run), as its Preview
|
|
9553
|
+
"Drilled on r1 on 13 October 2026 against the hosted Example Air (air.examples.datalayer.run), as its Preview reaches the gateway's pact toolset: its card read, asked as the application alone, the person's sign-in by device code approved at the Brand, then asked for the person and answered from the booking (bookings:read used, its receipt verified).",
|
|
8894
9554
|
],
|
|
8895
9555
|
recorded: [
|
|
8896
9556
|
"The journey is the developers' PACT example (examples/protocols/pact/personal_agent.py) against its local Provider, Example Air, run in its own tests (version 1.3.112).",
|
|
@@ -9004,8 +9664,10 @@ export const APP_BUILT = {
|
|
|
9004
9664
|
'data-quality': 'written',
|
|
9005
9665
|
decide: 'written',
|
|
9006
9666
|
'disaster-assessment': 'written',
|
|
9667
|
+
'errand-runner': 'written',
|
|
9007
9668
|
'event-response': 'written',
|
|
9008
9669
|
'exchange-desk': 'written',
|
|
9670
|
+
'guest-desk': 'written',
|
|
9009
9671
|
'inbox-triage': 'written',
|
|
9010
9672
|
'live-shop-chat': 'written',
|
|
9011
9673
|
'model-choice': 'written',
|
|
@@ -9021,6 +9683,7 @@ export const APP_BUILT = {
|
|
|
9021
9683
|
'shop-concierge': 'written',
|
|
9022
9684
|
'shopping-desk': 'written',
|
|
9023
9685
|
'sign-in-desk': 'written',
|
|
9686
|
+
'signed-reader': 'written',
|
|
9024
9687
|
'supplier-comparison': 'written',
|
|
9025
9688
|
'support-desk': 'canvas',
|
|
9026
9689
|
'travel-desk': 'written',
|