@datalayer/agent-runtimes 1.5.11 â 1.5.12
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/examples/AgentA2ATeamExample.js +2 -2
- package/lib/specs/actions.js +1 -0
- package/lib/specs/apps.d.ts +11 -11
- package/lib/specs/apps.js +93 -80
- package/lib/specs/scenes.js +2 -2
- package/lib/specs/teams/teams.js +4 -4
- package/package.json +1 -1
package/lib/specs/apps.js
CHANGED
|
@@ -667,10 +667,10 @@ export const CROP_MONITORING_APP_0_0_1 = {
|
|
|
667
667
|
banner: '',
|
|
668
668
|
setup: ["The agent 'worker-crop-monitoring:0.0.1' is not enabled."],
|
|
669
669
|
};
|
|
670
|
-
export const
|
|
670
|
+
export const CUSTOMER_INTERVIEW_APP_0_0_2 = {
|
|
671
671
|
schema: 'loop.app/v1',
|
|
672
672
|
id: 'customer-interview',
|
|
673
|
-
version: '0.0.
|
|
673
|
+
version: '0.0.2',
|
|
674
674
|
name: 'Customer Interview',
|
|
675
675
|
kind: 'chat',
|
|
676
676
|
description: 'Interviews a customer about what you want to learn, without leading questions, and turns the conversation into insights that each cite what was said.',
|
|
@@ -907,10 +907,10 @@ export const CUSTOMER_INTERVIEW_APP_0_0_1 = {
|
|
|
907
907
|
banner: '',
|
|
908
908
|
setup: [],
|
|
909
909
|
};
|
|
910
|
-
export const
|
|
910
|
+
export const DATA_QUALITY_APP_0_0_2 = {
|
|
911
911
|
schema: 'loop.app/v1',
|
|
912
912
|
id: 'data-quality',
|
|
913
|
-
version: '0.0.
|
|
913
|
+
version: '0.0.2',
|
|
914
914
|
name: 'Data Quality Investigation',
|
|
915
915
|
kind: 'decision',
|
|
916
916
|
description: 'Which anomalies in this dataset should we fix first? For a data team, before a dataset is used for a decision.',
|
|
@@ -1484,13 +1484,13 @@ export const ERRAND_RUNNER_APP_0_0_1 = {
|
|
|
1484
1484
|
},
|
|
1485
1485
|
],
|
|
1486
1486
|
verified: {
|
|
1487
|
-
live: [
|
|
1487
|
+
live: [
|
|
1488
|
+
"Drilled as a pair on r1 on 13 October 2026, its clone and Guest Desk's joined as the Studio joins them, the business shipped at its own domain: asked as itself, the business named nobody; once the person signed in at the business by device code and granted profile:read, asked for them, it named the person by their Datalayer account, with a verified receipt.",
|
|
1489
|
+
],
|
|
1488
1490
|
recorded: [
|
|
1489
1491
|
"The PACT journey is the developers' example (examples/protocols/pact/personal_agent.py) against its local Provider, run in its own tests.",
|
|
1490
1492
|
],
|
|
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
|
-
],
|
|
1493
|
+
unverified: [],
|
|
1494
1494
|
},
|
|
1495
1495
|
},
|
|
1496
1496
|
record: {
|
|
@@ -1519,8 +1519,8 @@ export const ERRAND_RUNNER_APP_0_0_1 = {
|
|
|
1519
1519
|
documents: [],
|
|
1520
1520
|
alternatives: [],
|
|
1521
1521
|
},
|
|
1522
|
-
enabled:
|
|
1523
|
-
unavailable_because: '
|
|
1522
|
+
enabled: true,
|
|
1523
|
+
unavailable_because: '',
|
|
1524
1524
|
tags: ['example', 'companies'],
|
|
1525
1525
|
icon: 'apps',
|
|
1526
1526
|
emoji: 'đ',
|
|
@@ -1528,10 +1528,10 @@ export const ERRAND_RUNNER_APP_0_0_1 = {
|
|
|
1528
1528
|
banner: '',
|
|
1529
1529
|
setup: [],
|
|
1530
1530
|
};
|
|
1531
|
-
export const
|
|
1531
|
+
export const EVENT_RESPONSE_APP_0_0_2 = {
|
|
1532
1532
|
schema: 'loop.app/v1',
|
|
1533
1533
|
id: 'event-response',
|
|
1534
|
-
version: '0.0.
|
|
1534
|
+
version: '0.0.2',
|
|
1535
1535
|
name: 'Event response',
|
|
1536
1536
|
kind: 'chat',
|
|
1537
1537
|
description: 'Takes word of a live event â a flood, a fire, a storm â asks Disaster assessment for the area affected and the damage and Change detection for what changed on the ground, each over A2A, and reports what they answered, adding no figure of its own.',
|
|
@@ -1669,17 +1669,17 @@ export const EVENT_RESPONSE_APP_0_0_1 = {
|
|
|
1669
1669
|
banner: '',
|
|
1670
1670
|
setup: ["The agent 'worker-event-response:0.0.1' is not enabled."],
|
|
1671
1671
|
};
|
|
1672
|
-
export const
|
|
1672
|
+
export const EXCHANGE_DESK_APP_0_0_2 = {
|
|
1673
1673
|
schema: 'loop.app/v1',
|
|
1674
1674
|
id: 'exchange-desk',
|
|
1675
|
-
version: '0.0.
|
|
1675
|
+
version: '0.0.2',
|
|
1676
1676
|
name: 'Exchange Desk',
|
|
1677
1677
|
kind: 'chat',
|
|
1678
1678
|
description: "Answers people's own agents about their orders and exchanges them, each exchange proposed with its exact terms and done once the person approves.",
|
|
1679
1679
|
owner: 'Datalayer <info@datalayer.io>',
|
|
1680
1680
|
agent: 'cog-crawler:0.0.1',
|
|
1681
1681
|
team: '',
|
|
1682
|
-
instructions: "You are
|
|
1682
|
+
instructions: "You are the desk of the shop Manzanita Outfitters for people's own agents. Answer what anybody may ask before they sign in, and say nothing of an order you were not told. When a person signed in asks to exchange an order for another size, call exchange_order with that order and size at once: the call is shown to them with its exact terms and done only once they approve; the shop checks the order as it is done and says when it cannot be. Never exchange for somebody who has not signed in.",
|
|
1683
1683
|
model: '',
|
|
1684
1684
|
skills: [],
|
|
1685
1685
|
backendTools: [],
|
|
@@ -1688,7 +1688,6 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1688
1688
|
name: 'exchange_order',
|
|
1689
1689
|
description: 'Exchanges an order for another size, once the person approved it.',
|
|
1690
1690
|
parameters: {
|
|
1691
|
-
type: 'object',
|
|
1692
1691
|
properties: {
|
|
1693
1692
|
order_id: {
|
|
1694
1693
|
type: 'string',
|
|
@@ -1698,6 +1697,7 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1698
1697
|
},
|
|
1699
1698
|
},
|
|
1700
1699
|
required: ['order_id', 'size'],
|
|
1700
|
+
type: 'object',
|
|
1701
1701
|
},
|
|
1702
1702
|
does: ['write'],
|
|
1703
1703
|
},
|
|
@@ -1780,9 +1780,11 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1780
1780
|
],
|
|
1781
1781
|
verified: {
|
|
1782
1782
|
live: [],
|
|
1783
|
-
recorded: [
|
|
1783
|
+
recorded: [
|
|
1784
|
+
"Its exchange_order runs in process in Datalayer's own tests against a stand-in for Manzanita's back office: one exchange per confirmed operation, a retry answered as already done.",
|
|
1785
|
+
],
|
|
1784
1786
|
unverified: [
|
|
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
|
|
1787
|
+
'Drilled on r1 on 13 October 2026, twice: 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. The second time it knew who had signed in, but asked to exchange, it looked for the order first and proposed nothing; it now proposes the exchange at once, and Manzanita checks the order when it is done. Not drilled since.',
|
|
1786
1788
|
],
|
|
1787
1789
|
},
|
|
1788
1790
|
},
|
|
@@ -1813,8 +1815,8 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1813
1815
|
alternatives: [],
|
|
1814
1816
|
},
|
|
1815
1817
|
enabled: false,
|
|
1816
|
-
unavailable_because: 'Its exchange_order
|
|
1817
|
-
tags: ['example', 'companies'],
|
|
1818
|
+
unavailable_because: 'Its exchange_order is written against the hosted Manzanita and has not been drilled live yet.',
|
|
1819
|
+
tags: ['example', 'companies', 'python'],
|
|
1818
1820
|
icon: 'apps',
|
|
1819
1821
|
emoji: 'đĒ',
|
|
1820
1822
|
avatar: '',
|
|
@@ -1831,7 +1833,7 @@ export const GUEST_DESK_APP_0_0_1 = {
|
|
|
1831
1833
|
owner: 'Datalayer <info@datalayer.io>',
|
|
1832
1834
|
agent: 'cog-crawler:0.0.1',
|
|
1833
1835
|
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 â
|
|
1836
|
+
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 â their handle and name, as the request names them â only when the request says they granted profile:read; otherwise say they need to sign in first. Never more than the request carries: no email, which the business is never told.",
|
|
1835
1837
|
model: '',
|
|
1836
1838
|
skills: [],
|
|
1837
1839
|
backendTools: [],
|
|
@@ -1920,13 +1922,13 @@ export const GUEST_DESK_APP_0_0_1 = {
|
|
|
1920
1922
|
},
|
|
1921
1923
|
],
|
|
1922
1924
|
verified: {
|
|
1923
|
-
live: [
|
|
1925
|
+
live: [
|
|
1926
|
+
"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; asked by Errand Runner's clone as itself, it named nobody; once the person signed in by device code and granted profile:read, it named them by their Datalayer account, with a verified receipt.",
|
|
1927
|
+
],
|
|
1924
1928
|
recorded: [
|
|
1925
1929
|
'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
1930
|
],
|
|
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
|
-
],
|
|
1931
|
+
unverified: [],
|
|
1930
1932
|
},
|
|
1931
1933
|
},
|
|
1932
1934
|
record: {
|
|
@@ -1955,8 +1957,8 @@ export const GUEST_DESK_APP_0_0_1 = {
|
|
|
1955
1957
|
documents: [],
|
|
1956
1958
|
alternatives: [],
|
|
1957
1959
|
},
|
|
1958
|
-
enabled:
|
|
1959
|
-
unavailable_because: '
|
|
1960
|
+
enabled: true,
|
|
1961
|
+
unavailable_because: '',
|
|
1960
1962
|
tags: ['example', 'companies'],
|
|
1961
1963
|
icon: 'apps',
|
|
1962
1964
|
emoji: 'đ¨',
|
|
@@ -2325,10 +2327,10 @@ export const LIVE_SHOP_CHAT_APP_0_0_1 = {
|
|
|
2325
2327
|
banner: '',
|
|
2326
2328
|
setup: [],
|
|
2327
2329
|
};
|
|
2328
|
-
export const
|
|
2330
|
+
export const MODEL_CHOICE_APP_0_0_2 = {
|
|
2329
2331
|
schema: 'loop.app/v1',
|
|
2330
2332
|
id: 'model-choice',
|
|
2331
|
-
version: '0.0.
|
|
2333
|
+
version: '0.0.2',
|
|
2332
2334
|
name: 'Model Choice',
|
|
2333
2335
|
kind: 'decision',
|
|
2334
2336
|
description: 'Which chat model should this use case run on? For a team choosing a model for one job â a summarizer, a classifier, an agent â from what a benchmark run measured and what a decision model reads in the answers.',
|
|
@@ -3026,7 +3028,7 @@ export const ORDER_TRACKER_APP_0_0_1 = {
|
|
|
3026
3028
|
],
|
|
3027
3029
|
verified: {
|
|
3028
3030
|
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
|
|
3031
|
+
"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 clone (Can read cannot disconnect).",
|
|
3030
3032
|
],
|
|
3031
3033
|
recorded: [
|
|
3032
3034
|
"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.",
|
|
@@ -3368,10 +3370,10 @@ export const PIPELINE_REPORT_APP_0_0_1 = {
|
|
|
3368
3370
|
banner: '',
|
|
3369
3371
|
setup: ["The agent 'cog-sales-pipeline-board-report:0.0.1' is not enabled."],
|
|
3370
3372
|
};
|
|
3371
|
-
export const
|
|
3373
|
+
export const QUOTE_CALCULATOR_APP_0_0_5 = {
|
|
3372
3374
|
schema: 'loop.app/v1',
|
|
3373
3375
|
id: 'quote-calculator',
|
|
3374
|
-
version: '0.0.
|
|
3376
|
+
version: '0.0.5',
|
|
3375
3377
|
name: 'Quote Calculator',
|
|
3376
3378
|
kind: 'widget',
|
|
3377
3379
|
description: 'Computes a quote from a number of seats, a plan and a term, and shows how the total is made.',
|
|
@@ -3641,10 +3643,10 @@ export const QUOTE_CALCULATOR_APP_0_0_1 = {
|
|
|
3641
3643
|
banner: '',
|
|
3642
3644
|
setup: [],
|
|
3643
3645
|
};
|
|
3644
|
-
export const
|
|
3646
|
+
export const REPORT_FROM_A_FILE_APP_0_0_4 = {
|
|
3645
3647
|
schema: 'loop.app/v1',
|
|
3646
3648
|
id: 'report-from-a-file',
|
|
3647
|
-
version: '0.0.
|
|
3649
|
+
version: '0.0.4',
|
|
3648
3650
|
name: 'Report from a File',
|
|
3649
3651
|
kind: 'widget',
|
|
3650
3652
|
description: 'Takes a CSV file, analyses it in the sandbox, and gives back a report: what the data holds, what stands out, and what is missing.',
|
|
@@ -3928,7 +3930,7 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
3928
3930
|
owner: 'Datalayer <info@datalayer.io>',
|
|
3929
3931
|
agent: 'cog-crawler:0.0.1',
|
|
3930
3932
|
team: '',
|
|
3931
|
-
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person
|
|
3933
|
+
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person. Ask the shop for a return or a repair through its API, with pap_propose; the shop proposes each one with its terms: show them, word for word, and never confirm on your own; the person approves it on Waiting for you.',
|
|
3932
3934
|
model: '',
|
|
3933
3935
|
skills: [],
|
|
3934
3936
|
backendTools: [],
|
|
@@ -3947,7 +3949,7 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
3947
3949
|
access: 'write',
|
|
3948
3950
|
as: 'user',
|
|
3949
3951
|
scopes: ['orders:read', 'orders:write'],
|
|
3950
|
-
interfaces: ['agent'],
|
|
3952
|
+
interfaces: ['agent', 'openapi'],
|
|
3951
3953
|
signIn: ['direct', 'device'],
|
|
3952
3954
|
extensions: ['operations'],
|
|
3953
3955
|
},
|
|
@@ -4082,7 +4084,7 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
4082
4084
|
alternatives: [],
|
|
4083
4085
|
},
|
|
4084
4086
|
enabled: false,
|
|
4085
|
-
unavailable_because:
|
|
4087
|
+
unavailable_because: "It asks the test company Manzanita for returns and repairs through its API, which Datalayer's gateway does not reach yet, so neither can be shown live yet.",
|
|
4086
4088
|
tags: ['example', 'companies'],
|
|
4087
4089
|
icon: 'apps',
|
|
4088
4090
|
emoji: 'âŠī¸',
|
|
@@ -4090,10 +4092,10 @@ export const RETURNS_DESK_APP_0_0_1 = {
|
|
|
4090
4092
|
banner: '',
|
|
4091
4093
|
setup: [],
|
|
4092
4094
|
};
|
|
4093
|
-
export const
|
|
4095
|
+
export const SALES_APP_0_0_2 = {
|
|
4094
4096
|
schema: 'loop.app/v1',
|
|
4095
4097
|
id: 'sales',
|
|
4096
|
-
version: '0.0.
|
|
4098
|
+
version: '0.0.2',
|
|
4097
4099
|
name: 'Sales',
|
|
4098
4100
|
kind: 'chat',
|
|
4099
4101
|
description: "Takes a request for a financial report, such as revenue for a period, open invoices or a customer's balance, asks the Accounting application for it over A2A and hands over what Accounting answered, without adding a figure of its own.",
|
|
@@ -4226,10 +4228,10 @@ export const SALES_APP_0_0_1 = {
|
|
|
4226
4228
|
"The agent 'worker-sales-pipeline-board-report:0.0.1' is not enabled.",
|
|
4227
4229
|
],
|
|
4228
4230
|
};
|
|
4229
|
-
export const
|
|
4231
|
+
export const SHIP_OR_FIX_APP_0_0_2 = {
|
|
4230
4232
|
schema: 'loop.app/v1',
|
|
4231
4233
|
id: 'ship-or-fix',
|
|
4232
|
-
version: '0.0.
|
|
4234
|
+
version: '0.0.2',
|
|
4233
4235
|
name: 'Ship or Fix',
|
|
4234
4236
|
kind: 'decision',
|
|
4235
4237
|
description: 'Which agent configuration should we ship, on the evidence of a benchmark run? For an AI platform team, after every run.',
|
|
@@ -4598,7 +4600,7 @@ export const SHOP_CONCIERGE_APP_0_0_1 = {
|
|
|
4598
4600
|
alternatives: [],
|
|
4599
4601
|
},
|
|
4600
4602
|
enabled: false,
|
|
4601
|
-
unavailable_because: "
|
|
4603
|
+
unavailable_because: "The test company Manzanita's staff, who take a conversation handed to them, are not on duty at the hosted shop yet, so asking for one of its people cannot be shown live yet.",
|
|
4602
4604
|
tags: ['example', 'companies'],
|
|
4603
4605
|
icon: 'apps',
|
|
4604
4606
|
emoji: 'đī¸',
|
|
@@ -5035,7 +5037,7 @@ export const SIGNED_READER_APP_0_0_1 = {
|
|
|
5035
5037
|
"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
5038
|
],
|
|
5037
5039
|
recorded: [
|
|
5038
|
-
"Example Verifier's checks are the counterparts service's own tests (a request signed with
|
|
5040
|
+
"Example Verifier's checks are the counterparts service's own tests (a request signed with Datalayer's open-source signer verified, an unsigned or tampered one answered the page anyone gets).",
|
|
5039
5041
|
],
|
|
5040
5042
|
unverified: [
|
|
5041
5043
|
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
@@ -5077,10 +5079,10 @@ export const SIGNED_READER_APP_0_0_1 = {
|
|
|
5077
5079
|
banner: '',
|
|
5078
5080
|
setup: [],
|
|
5079
5081
|
};
|
|
5080
|
-
export const
|
|
5082
|
+
export const SUPPLIER_COMPARISON_APP_0_0_2 = {
|
|
5081
5083
|
schema: 'loop.app/v1',
|
|
5082
5084
|
id: 'supplier-comparison',
|
|
5083
|
-
version: '0.0.
|
|
5085
|
+
version: '0.0.2',
|
|
5084
5086
|
name: 'Supplier Comparison',
|
|
5085
5087
|
kind: 'decision',
|
|
5086
5088
|
description: 'Which supplier should we choose for these orders? For an operations or procurement lead, at each sourcing round.',
|
|
@@ -5282,10 +5284,10 @@ export const SUPPLIER_COMPARISON_APP_0_0_1 = {
|
|
|
5282
5284
|
banner: '',
|
|
5283
5285
|
setup: [],
|
|
5284
5286
|
};
|
|
5285
|
-
export const
|
|
5287
|
+
export const SUPPORT_DESK_APP_0_0_4 = {
|
|
5286
5288
|
schema: 'loop.app/v1',
|
|
5287
5289
|
id: 'support-desk',
|
|
5288
|
-
version: '0.0.
|
|
5290
|
+
version: '0.0.4',
|
|
5289
5291
|
name: 'Support Desk',
|
|
5290
5292
|
kind: 'chat',
|
|
5291
5293
|
description: 'Answers product questions from the documentation it was given, cites the passage, and says when the documentation does not hold the answer.',
|
|
@@ -5904,32 +5906,32 @@ export const APP_CATALOGUE = {
|
|
|
5904
5906
|
'bookkeeping-desk': BOOKKEEPING_DESK_APP_0_0_1,
|
|
5905
5907
|
'change-detection': CHANGE_DETECTION_APP_0_0_1,
|
|
5906
5908
|
'crop-monitoring': CROP_MONITORING_APP_0_0_1,
|
|
5907
|
-
'customer-interview':
|
|
5908
|
-
'data-quality':
|
|
5909
|
+
'customer-interview': CUSTOMER_INTERVIEW_APP_0_0_2,
|
|
5910
|
+
'data-quality': DATA_QUALITY_APP_0_0_2,
|
|
5909
5911
|
decide: DECIDE_APP_0_0_1,
|
|
5910
5912
|
'disaster-assessment': DISASTER_ASSESSMENT_APP_0_0_1,
|
|
5911
5913
|
'errand-runner': ERRAND_RUNNER_APP_0_0_1,
|
|
5912
|
-
'event-response':
|
|
5913
|
-
'exchange-desk':
|
|
5914
|
+
'event-response': EVENT_RESPONSE_APP_0_0_2,
|
|
5915
|
+
'exchange-desk': EXCHANGE_DESK_APP_0_0_2,
|
|
5914
5916
|
'guest-desk': GUEST_DESK_APP_0_0_1,
|
|
5915
5917
|
'inbox-triage': INBOX_TRIAGE_APP_0_0_1,
|
|
5916
5918
|
'live-shop-chat': LIVE_SHOP_CHAT_APP_0_0_1,
|
|
5917
|
-
'model-choice':
|
|
5919
|
+
'model-choice': MODEL_CHOICE_APP_0_0_2,
|
|
5918
5920
|
'month-end-close': MONTH_END_CLOSE_APP_0_0_1,
|
|
5919
5921
|
'order-desk': ORDER_DESK_APP_0_0_1,
|
|
5920
5922
|
'order-tracker': ORDER_TRACKER_APP_0_0_1,
|
|
5921
5923
|
'pipeline-report': PIPELINE_REPORT_APP_0_0_1,
|
|
5922
|
-
'quote-calculator':
|
|
5923
|
-
'report-from-a-file':
|
|
5924
|
+
'quote-calculator': QUOTE_CALCULATOR_APP_0_0_5,
|
|
5925
|
+
'report-from-a-file': REPORT_FROM_A_FILE_APP_0_0_4,
|
|
5924
5926
|
'returns-desk': RETURNS_DESK_APP_0_0_1,
|
|
5925
|
-
sales:
|
|
5926
|
-
'ship-or-fix':
|
|
5927
|
+
sales: SALES_APP_0_0_2,
|
|
5928
|
+
'ship-or-fix': SHIP_OR_FIX_APP_0_0_2,
|
|
5927
5929
|
'shop-concierge': SHOP_CONCIERGE_APP_0_0_1,
|
|
5928
5930
|
'shopping-desk': SHOPPING_DESK_APP_0_0_1,
|
|
5929
5931
|
'sign-in-desk': SIGN_IN_DESK_APP_0_0_1,
|
|
5930
5932
|
'signed-reader': SIGNED_READER_APP_0_0_1,
|
|
5931
|
-
'supplier-comparison':
|
|
5932
|
-
'support-desk':
|
|
5933
|
+
'supplier-comparison': SUPPLIER_COMPARISON_APP_0_0_2,
|
|
5934
|
+
'support-desk': SUPPORT_DESK_APP_0_0_4,
|
|
5933
5935
|
'travel-desk': TRAVEL_DESK_APP_0_0_1,
|
|
5934
5936
|
'web-research': WEB_RESEARCH_APP_0_0_1,
|
|
5935
5937
|
};
|
|
@@ -6355,6 +6357,7 @@ export const APP_SOURCES = {
|
|
|
6355
6357
|
'customer-interview': {
|
|
6356
6358
|
schema: 'loop.app/v1',
|
|
6357
6359
|
id: 'customer-interview',
|
|
6360
|
+
version: '0.0.2',
|
|
6358
6361
|
name: 'Customer Interview',
|
|
6359
6362
|
kind: 'chat',
|
|
6360
6363
|
description: 'Interviews a customer about what you want to learn, without leading questions, and turns the conversation into insights that each cite what was said.',
|
|
@@ -6530,6 +6533,7 @@ export const APP_SOURCES = {
|
|
|
6530
6533
|
'data-quality': {
|
|
6531
6534
|
schema: 'loop.app/v1',
|
|
6532
6535
|
id: 'data-quality',
|
|
6536
|
+
version: '0.0.2',
|
|
6533
6537
|
name: 'Data Quality Investigation',
|
|
6534
6538
|
kind: 'decision',
|
|
6535
6539
|
description: 'Which anomalies in this dataset should we fix first? For a data team, before a dataset is used for a decision.',
|
|
@@ -6857,12 +6861,12 @@ export const APP_SOURCES = {
|
|
|
6857
6861
|
},
|
|
6858
6862
|
],
|
|
6859
6863
|
verified: {
|
|
6864
|
+
live: [
|
|
6865
|
+
"Drilled as a pair on r1 on 13 October 2026, its clone and Guest Desk's joined as the Studio joins them, the business shipped at its own domain: asked as itself, the business named nobody; once the person signed in at the business by device code and granted profile:read, asked for them, it named the person by their Datalayer account, with a verified receipt.",
|
|
6866
|
+
],
|
|
6860
6867
|
recorded: [
|
|
6861
6868
|
"The PACT journey is the developers' example (examples/protocols/pact/personal_agent.py) against its local Provider, run in its own tests.",
|
|
6862
6869
|
],
|
|
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
6870
|
},
|
|
6867
6871
|
},
|
|
6868
6872
|
record: {
|
|
@@ -6872,14 +6876,13 @@ export const APP_SOURCES = {
|
|
|
6872
6876
|
deployment: {
|
|
6873
6877
|
hosted: {},
|
|
6874
6878
|
},
|
|
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
6879
|
tags: ['example', 'companies'],
|
|
6878
6880
|
emoji: 'đ',
|
|
6879
6881
|
},
|
|
6880
6882
|
'event-response': {
|
|
6881
6883
|
schema: 'loop.app/v1',
|
|
6882
6884
|
id: 'event-response',
|
|
6885
|
+
version: '0.0.2',
|
|
6883
6886
|
name: 'Event response',
|
|
6884
6887
|
kind: 'chat',
|
|
6885
6888
|
description: 'Takes word of a live event â a flood, a fire, a storm â asks Disaster assessment for the area affected and the damage and Change detection for what changed on the ground, each over A2A, and reports what they answered, adding no figure of its own.',
|
|
@@ -6956,18 +6959,18 @@ export const APP_SOURCES = {
|
|
|
6956
6959
|
'exchange-desk': {
|
|
6957
6960
|
schema: 'loop.app/v1',
|
|
6958
6961
|
id: 'exchange-desk',
|
|
6962
|
+
version: '0.0.2',
|
|
6959
6963
|
name: 'Exchange Desk',
|
|
6960
6964
|
kind: 'chat',
|
|
6961
6965
|
description: "Answers people's own agents about their orders and exchanges them, each exchange proposed with its exact terms and done once the person approves.",
|
|
6962
6966
|
owner: 'Datalayer <info@datalayer.io>',
|
|
6963
6967
|
agent: 'cog-crawler:0.0.1',
|
|
6964
|
-
instructions: "You are
|
|
6968
|
+
instructions: "You are the desk of the shop Manzanita Outfitters for people's own agents. Answer what anybody may ask before they sign in, and say nothing of an order you were not told. When a person signed in asks to exchange an order for another size, call exchange_order with that order and size at once: the call is shown to them with its exact terms and done only once they approve; the shop checks the order as it is done and says when it cannot be. Never exchange for somebody who has not signed in.",
|
|
6965
6969
|
tools: [
|
|
6966
6970
|
{
|
|
6967
6971
|
name: 'exchange_order',
|
|
6968
6972
|
description: 'Exchanges an order for another size, once the person approved it.',
|
|
6969
6973
|
parameters: {
|
|
6970
|
-
type: 'object',
|
|
6971
6974
|
properties: {
|
|
6972
6975
|
order_id: {
|
|
6973
6976
|
type: 'string',
|
|
@@ -6977,6 +6980,7 @@ export const APP_SOURCES = {
|
|
|
6977
6980
|
},
|
|
6978
6981
|
},
|
|
6979
6982
|
required: ['order_id', 'size'],
|
|
6983
|
+
type: 'object',
|
|
6980
6984
|
},
|
|
6981
6985
|
does: ['write'],
|
|
6982
6986
|
},
|
|
@@ -7021,8 +7025,11 @@ export const APP_SOURCES = {
|
|
|
7021
7025
|
},
|
|
7022
7026
|
],
|
|
7023
7027
|
verified: {
|
|
7028
|
+
recorded: [
|
|
7029
|
+
"Its exchange_order runs in process in Datalayer's own tests against a stand-in for Manzanita's back office: one exchange per confirmed operation, a retry answered as already done.",
|
|
7030
|
+
],
|
|
7024
7031
|
unverified: [
|
|
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
|
|
7032
|
+
'Drilled on r1 on 13 October 2026, twice: 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. The second time it knew who had signed in, but asked to exchange, it looked for the order first and proposed nothing; it now proposes the exchange at once, and Manzanita checks the order when it is done. Not drilled since.',
|
|
7026
7033
|
],
|
|
7027
7034
|
},
|
|
7028
7035
|
},
|
|
@@ -7034,8 +7041,8 @@ export const APP_SOURCES = {
|
|
|
7034
7041
|
hosted: {},
|
|
7035
7042
|
},
|
|
7036
7043
|
enabled: false,
|
|
7037
|
-
unavailable_because: 'Its exchange_order
|
|
7038
|
-
tags: ['example', 'companies'],
|
|
7044
|
+
unavailable_because: 'Its exchange_order is written against the hosted Manzanita and has not been drilled live yet.',
|
|
7045
|
+
tags: ['example', 'companies', 'python'],
|
|
7039
7046
|
emoji: 'đĒ',
|
|
7040
7047
|
},
|
|
7041
7048
|
'guest-desk': {
|
|
@@ -7046,7 +7053,7 @@ export const APP_SOURCES = {
|
|
|
7046
7053
|
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
7054
|
owner: 'Datalayer <info@datalayer.io>',
|
|
7048
7055
|
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 â
|
|
7056
|
+
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 â their handle and name, as the request names them â only when the request says they granted profile:read; otherwise say they need to sign in first. Never more than the request carries: no email, which the business is never told.",
|
|
7050
7057
|
protocols: ['pact'],
|
|
7051
7058
|
pact: {
|
|
7052
7059
|
business: {
|
|
@@ -7096,12 +7103,12 @@ export const APP_SOURCES = {
|
|
|
7096
7103
|
},
|
|
7097
7104
|
],
|
|
7098
7105
|
verified: {
|
|
7106
|
+
live: [
|
|
7107
|
+
"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; asked by Errand Runner's clone as itself, it named nobody; once the person signed in by device code and granted profile:read, it named them by their Datalayer account, with a verified receipt.",
|
|
7108
|
+
],
|
|
7099
7109
|
recorded: [
|
|
7100
7110
|
'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
7111
|
],
|
|
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
7112
|
},
|
|
7106
7113
|
},
|
|
7107
7114
|
record: {
|
|
@@ -7111,8 +7118,6 @@ export const APP_SOURCES = {
|
|
|
7111
7118
|
deployment: {
|
|
7112
7119
|
hosted: {},
|
|
7113
7120
|
},
|
|
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
7121
|
tags: ['example', 'companies'],
|
|
7117
7122
|
emoji: 'đ¨',
|
|
7118
7123
|
},
|
|
@@ -7344,6 +7349,7 @@ export const APP_SOURCES = {
|
|
|
7344
7349
|
'model-choice': {
|
|
7345
7350
|
schema: 'loop.app/v1',
|
|
7346
7351
|
id: 'model-choice',
|
|
7352
|
+
version: '0.0.2',
|
|
7347
7353
|
name: 'Model Choice',
|
|
7348
7354
|
kind: 'decision',
|
|
7349
7355
|
description: 'Which chat model should this use case run on? For a team choosing a model for one job â a summarizer, a classifier, an agent â from what a benchmark run measured and what a decision model reads in the answers.',
|
|
@@ -7769,7 +7775,7 @@ export const APP_SOURCES = {
|
|
|
7769
7775
|
],
|
|
7770
7776
|
verified: {
|
|
7771
7777
|
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
|
|
7778
|
+
"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 clone (Can read cannot disconnect).",
|
|
7773
7779
|
],
|
|
7774
7780
|
recorded: [
|
|
7775
7781
|
"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.",
|
|
@@ -8035,6 +8041,7 @@ export const APP_SOURCES = {
|
|
|
8035
8041
|
'quote-calculator': {
|
|
8036
8042
|
schema: 'loop.app/v1',
|
|
8037
8043
|
id: 'quote-calculator',
|
|
8044
|
+
version: '0.0.5',
|
|
8038
8045
|
name: 'Quote Calculator',
|
|
8039
8046
|
kind: 'widget',
|
|
8040
8047
|
description: 'Computes a quote from a number of seats, a plan and a term, and shows how the total is made.',
|
|
@@ -8243,6 +8250,7 @@ export const APP_SOURCES = {
|
|
|
8243
8250
|
'report-from-a-file': {
|
|
8244
8251
|
schema: 'loop.app/v1',
|
|
8245
8252
|
id: 'report-from-a-file',
|
|
8253
|
+
version: '0.0.4',
|
|
8246
8254
|
name: 'Report from a File',
|
|
8247
8255
|
kind: 'widget',
|
|
8248
8256
|
description: 'Takes a CSV file, analyses it in the sandbox, and gives back a report: what the data holds, what stands out, and what is missing.',
|
|
@@ -8456,7 +8464,7 @@ export const APP_SOURCES = {
|
|
|
8456
8464
|
description: 'Arranges returns and repairs at a shop for you, each one done exactly as you approved it, and only once.',
|
|
8457
8465
|
owner: 'Datalayer <info@datalayer.io>',
|
|
8458
8466
|
agent: 'cog-crawler:0.0.1',
|
|
8459
|
-
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person
|
|
8467
|
+
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person. Ask the shop for a return or a repair through its API, with pap_propose; the shop proposes each one with its terms: show them, word for word, and never confirm on your own; the person approves it on Waiting for you.',
|
|
8460
8468
|
protocols: ['pap'],
|
|
8461
8469
|
pap: {
|
|
8462
8470
|
profile: 'draft-01',
|
|
@@ -8466,6 +8474,7 @@ export const APP_SOURCES = {
|
|
|
8466
8474
|
company: 'manzanita.examples.datalayer.run',
|
|
8467
8475
|
access: 'write',
|
|
8468
8476
|
scopes: ['orders:read', 'orders:write'],
|
|
8477
|
+
interfaces: ['agent', 'openapi'],
|
|
8469
8478
|
extensions: ['operations'],
|
|
8470
8479
|
},
|
|
8471
8480
|
],
|
|
@@ -8542,13 +8551,14 @@ export const APP_SOURCES = {
|
|
|
8542
8551
|
hosted: {},
|
|
8543
8552
|
},
|
|
8544
8553
|
enabled: false,
|
|
8545
|
-
unavailable_because:
|
|
8554
|
+
unavailable_because: "It asks the test company Manzanita for returns and repairs through its API, which Datalayer's gateway does not reach yet, so neither can be shown live yet.",
|
|
8546
8555
|
tags: ['example', 'companies'],
|
|
8547
8556
|
emoji: 'âŠī¸',
|
|
8548
8557
|
},
|
|
8549
8558
|
sales: {
|
|
8550
8559
|
schema: 'loop.app/v1',
|
|
8551
8560
|
id: 'sales',
|
|
8561
|
+
version: '0.0.2',
|
|
8552
8562
|
name: 'Sales',
|
|
8553
8563
|
kind: 'chat',
|
|
8554
8564
|
description: "Takes a request for a financial report, such as revenue for a period, open invoices or a customer's balance, asks the Accounting application for it over A2A and hands over what Accounting answered, without adding a figure of its own.",
|
|
@@ -8618,6 +8628,7 @@ export const APP_SOURCES = {
|
|
|
8618
8628
|
'ship-or-fix': {
|
|
8619
8629
|
schema: 'loop.app/v1',
|
|
8620
8630
|
id: 'ship-or-fix',
|
|
8631
|
+
version: '0.0.2',
|
|
8621
8632
|
name: 'Ship or Fix',
|
|
8622
8633
|
kind: 'decision',
|
|
8623
8634
|
description: 'Which agent configuration should we ship, on the evidence of a benchmark run? For an AI platform team, after every run.',
|
|
@@ -8837,7 +8848,7 @@ export const APP_SOURCES = {
|
|
|
8837
8848
|
hosted: {},
|
|
8838
8849
|
},
|
|
8839
8850
|
enabled: false,
|
|
8840
|
-
unavailable_because: "
|
|
8851
|
+
unavailable_because: "The test company Manzanita's staff, who take a conversation handed to them, are not on duty at the hosted shop yet, so asking for one of its people cannot be shown live yet.",
|
|
8841
8852
|
tags: ['example', 'companies'],
|
|
8842
8853
|
emoji: 'đī¸',
|
|
8843
8854
|
},
|
|
@@ -9095,7 +9106,7 @@ export const APP_SOURCES = {
|
|
|
9095
9106
|
"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
9107
|
],
|
|
9097
9108
|
recorded: [
|
|
9098
|
-
"Example Verifier's checks are the counterparts service's own tests (a request signed with
|
|
9109
|
+
"Example Verifier's checks are the counterparts service's own tests (a request signed with Datalayer's open-source signer verified, an unsigned or tampered one answered the page anyone gets).",
|
|
9099
9110
|
],
|
|
9100
9111
|
unverified: [
|
|
9101
9112
|
"A model's turns in the Studio's Preview were not watched in that drill.",
|
|
@@ -9115,6 +9126,7 @@ export const APP_SOURCES = {
|
|
|
9115
9126
|
'supplier-comparison': {
|
|
9116
9127
|
schema: 'loop.app/v1',
|
|
9117
9128
|
id: 'supplier-comparison',
|
|
9129
|
+
version: '0.0.2',
|
|
9118
9130
|
name: 'Supplier Comparison',
|
|
9119
9131
|
kind: 'decision',
|
|
9120
9132
|
description: 'Which supplier should we choose for these orders? For an operations or procurement lead, at each sourcing round.',
|
|
@@ -9238,6 +9250,7 @@ export const APP_SOURCES = {
|
|
|
9238
9250
|
'support-desk': {
|
|
9239
9251
|
schema: 'loop.app/v1',
|
|
9240
9252
|
id: 'support-desk',
|
|
9253
|
+
version: '0.0.4',
|
|
9241
9254
|
name: 'Support Desk',
|
|
9242
9255
|
kind: 'chat',
|
|
9243
9256
|
description: 'Answers product questions from the documentation it was given, cites the passage, and says when the documentation does not hold the answer.',
|
|
@@ -9666,7 +9679,7 @@ export const APP_BUILT = {
|
|
|
9666
9679
|
'disaster-assessment': 'written',
|
|
9667
9680
|
'errand-runner': 'written',
|
|
9668
9681
|
'event-response': 'written',
|
|
9669
|
-
'exchange-desk': '
|
|
9682
|
+
'exchange-desk': 'python',
|
|
9670
9683
|
'guest-desk': 'written',
|
|
9671
9684
|
'inbox-triage': 'written',
|
|
9672
9685
|
'live-shop-chat': 'written',
|
package/lib/specs/scenes.js
CHANGED
|
@@ -330,7 +330,7 @@ export const DISASTER_ASSESSMENT_SCENE_0_0_1 = {
|
|
|
330
330
|
cast: [
|
|
331
331
|
{
|
|
332
332
|
member: 'event-response',
|
|
333
|
-
app: 'event-response:0.0.
|
|
333
|
+
app: 'event-response:0.0.2',
|
|
334
334
|
ref: '',
|
|
335
335
|
server: '',
|
|
336
336
|
role: 'initiator',
|
|
@@ -1912,7 +1912,7 @@ export const SALES_AND_ACCOUNTING_SCENE_0_0_1 = {
|
|
|
1912
1912
|
cast: [
|
|
1913
1913
|
{
|
|
1914
1914
|
member: 'sales',
|
|
1915
|
-
app: 'sales:0.0.
|
|
1915
|
+
app: 'sales:0.0.2',
|
|
1916
1916
|
ref: '',
|
|
1917
1917
|
server: '',
|
|
1918
1918
|
role: 'initiator',
|