@datalayer/agent-runtimes 1.5.11 → 1.5.13

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/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 CUSTOMER_INTERVIEW_APP_0_0_1 = {
670
+ export const CUSTOMER_INTERVIEW_APP_0_0_2 = {
671
671
  schema: 'loop.app/v1',
672
672
  id: 'customer-interview',
673
- version: '0.0.1',
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 DATA_QUALITY_APP_0_0_1 = {
910
+ export const DATA_QUALITY_APP_0_0_2 = {
911
911
  schema: 'loop.app/v1',
912
912
  id: 'data-quality',
913
- version: '0.0.1',
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: 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.',
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 EVENT_RESPONSE_APP_0_0_1 = {
1531
+ export const EVENT_RESPONSE_APP_0_0_2 = {
1532
1532
  schema: 'loop.app/v1',
1533
1533
  id: 'event-response',
1534
- version: '0.0.1',
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 EXCHANGE_DESK_APP_0_0_1 = {
1672
+ export const EXCHANGE_DESK_APP_0_0_2 = {
1673
1673
  schema: 'loop.app/v1',
1674
1674
  id: 'exchange-desk',
1675
- version: '0.0.1',
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 a shop's desk for people's own agents. Answer what anybody may ask before they sign in; read an order only for its signed-in owner. When an exchange is asked for, give its terms: the shop proposes it, the person approves it, and exchange_order does it.",
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; 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.',
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. Drilled a third time the same evening: signed in, asked to exchange, it said it could not — asked by a person's own agent, it was not given its exchange_order (fixed, not yet released).",
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 has no code yet, so it cannot exchange an order for a person.',
1817
- tags: ['example', 'companies'],
1818
+ unavailable_because: "Asked by a person's own agent, it is not given its exchange_order until a fix is released.",
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 — 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.",
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: 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
+ 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 MODEL_CHOICE_APP_0_0_1 = {
2330
+ export const MODEL_CHOICE_APP_0_0_2 = {
2329
2331
  schema: 'loop.app/v1',
2330
2332
  id: 'model-choice',
2331
- version: '0.0.1',
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 copy (Can read cannot disconnect).",
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 QUOTE_CALCULATOR_APP_0_0_1 = {
3373
+ export const QUOTE_CALCULATOR_APP_0_0_5 = {
3372
3374
  schema: 'loop.app/v1',
3373
3375
  id: 'quote-calculator',
3374
- version: '0.0.1',
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 REPORT_FROM_A_FILE_APP_0_0_1 = {
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.1',
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, through its tools. 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.',
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
  },
@@ -4046,12 +4048,14 @@ export const RETURNS_DESK_APP_0_0_1 = {
4046
4048
  },
4047
4049
  ],
4048
4050
  verified: {
4049
- live: [],
4051
+ live: [
4052
+ "Drilled on r1 on 13 October 2026 against the hosted Manzanita, as its Preview reaches the gateway's pap toolset (gateway 0.0.81): signed in by Device Sign-In with orders:read and orders:write; a return asked through the shop's API with pap_propose came back as the shop's operation (Return the Ridge Jacket (M) from order ord_7Hk2 for a refund of USD 180.00), approved by the person on Waiting for you, done once — the test shop's return fails as written, its label emailed and no money moved, which it said — and already confirmed the second time; a repair proposed the same way (a zip repair, free).",
4053
+ ],
4050
4054
  recorded: [
4051
4055
  "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.",
4052
4056
  ],
4053
4057
  unverified: [
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.',
4058
+ "A model's turns in the Studio's Preview were not watched in that drill.",
4055
4059
  ],
4056
4060
  },
4057
4061
  },
@@ -4081,8 +4085,8 @@ export const RETURNS_DESK_APP_0_0_1 = {
4081
4085
  documents: [],
4082
4086
  alternatives: [],
4083
4087
  },
4084
- enabled: false,
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.',
4088
+ enabled: true,
4089
+ unavailable_because: '',
4086
4090
  tags: ['example', 'companies'],
4087
4091
  icon: 'apps',
4088
4092
  emoji: 'â†Šī¸',
@@ -4090,10 +4094,10 @@ export const RETURNS_DESK_APP_0_0_1 = {
4090
4094
  banner: '',
4091
4095
  setup: [],
4092
4096
  };
4093
- export const SALES_APP_0_0_1 = {
4097
+ export const SALES_APP_0_0_2 = {
4094
4098
  schema: 'loop.app/v1',
4095
4099
  id: 'sales',
4096
- version: '0.0.1',
4100
+ version: '0.0.2',
4097
4101
  name: 'Sales',
4098
4102
  kind: 'chat',
4099
4103
  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 +4230,10 @@ export const SALES_APP_0_0_1 = {
4226
4230
  "The agent 'worker-sales-pipeline-board-report:0.0.1' is not enabled.",
4227
4231
  ],
4228
4232
  };
4229
- export const SHIP_OR_FIX_APP_0_0_1 = {
4233
+ export const SHIP_OR_FIX_APP_0_0_2 = {
4230
4234
  schema: 'loop.app/v1',
4231
4235
  id: 'ship-or-fix',
4232
- version: '0.0.1',
4236
+ version: '0.0.2',
4233
4237
  name: 'Ship or Fix',
4234
4238
  kind: 'decision',
4235
4239
  description: 'Which agent configuration should we ship, on the evidence of a benchmark run? For an AI platform team, after every run.',
@@ -4562,12 +4566,14 @@ export const SHOP_CONCIERGE_APP_0_0_1 = {
4562
4566
  },
4563
4567
  ],
4564
4568
  verified: {
4565
- live: [],
4569
+ live: [
4570
+ "Drilled on r1 on 13 October 2026 against the hosted Manzanita (counterparts 0.0.6), as its Preview reaches the gateway's pap toolset: asked signed out, signed in by Device Sign-In with orders:read, the person's latest order answered; asked for one of the shop's people, the conversation went to Marta, of Manzanita's staff (responder human), who answered in it.",
4571
+ ],
4566
4572
  recorded: [
4567
4573
  "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.",
4568
4574
  ],
4569
4575
  unverified: [
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.",
4576
+ "A model's turns in the Studio's Preview were not watched in that drill; Marta is a scripted member of the test shop's staff.",
4571
4577
  ],
4572
4578
  },
4573
4579
  },
@@ -4597,8 +4603,8 @@ export const SHOP_CONCIERGE_APP_0_0_1 = {
4597
4603
  documents: [],
4598
4604
  alternatives: [],
4599
4605
  },
4600
- enabled: false,
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.",
4606
+ enabled: true,
4607
+ unavailable_because: '',
4602
4608
  tags: ['example', 'companies'],
4603
4609
  icon: 'apps',
4604
4610
  emoji: 'đŸ›Žī¸',
@@ -5035,7 +5041,7 @@ export const SIGNED_READER_APP_0_0_1 = {
5035
5041
  "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
5042
  ],
5037
5043
  recorded: [
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).",
5044
+ "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
5045
  ],
5040
5046
  unverified: [
5041
5047
  "A model's turns in the Studio's Preview were not watched in that drill.",
@@ -5077,10 +5083,10 @@ export const SIGNED_READER_APP_0_0_1 = {
5077
5083
  banner: '',
5078
5084
  setup: [],
5079
5085
  };
5080
- export const SUPPLIER_COMPARISON_APP_0_0_1 = {
5086
+ export const SUPPLIER_COMPARISON_APP_0_0_2 = {
5081
5087
  schema: 'loop.app/v1',
5082
5088
  id: 'supplier-comparison',
5083
- version: '0.0.1',
5089
+ version: '0.0.2',
5084
5090
  name: 'Supplier Comparison',
5085
5091
  kind: 'decision',
5086
5092
  description: 'Which supplier should we choose for these orders? For an operations or procurement lead, at each sourcing round.',
@@ -5282,10 +5288,10 @@ export const SUPPLIER_COMPARISON_APP_0_0_1 = {
5282
5288
  banner: '',
5283
5289
  setup: [],
5284
5290
  };
5285
- export const SUPPORT_DESK_APP_0_0_1 = {
5291
+ export const SUPPORT_DESK_APP_0_0_4 = {
5286
5292
  schema: 'loop.app/v1',
5287
5293
  id: 'support-desk',
5288
- version: '0.0.1',
5294
+ version: '0.0.4',
5289
5295
  name: 'Support Desk',
5290
5296
  kind: 'chat',
5291
5297
  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 +5910,32 @@ export const APP_CATALOGUE = {
5904
5910
  'bookkeeping-desk': BOOKKEEPING_DESK_APP_0_0_1,
5905
5911
  'change-detection': CHANGE_DETECTION_APP_0_0_1,
5906
5912
  'crop-monitoring': CROP_MONITORING_APP_0_0_1,
5907
- 'customer-interview': CUSTOMER_INTERVIEW_APP_0_0_1,
5908
- 'data-quality': DATA_QUALITY_APP_0_0_1,
5913
+ 'customer-interview': CUSTOMER_INTERVIEW_APP_0_0_2,
5914
+ 'data-quality': DATA_QUALITY_APP_0_0_2,
5909
5915
  decide: DECIDE_APP_0_0_1,
5910
5916
  'disaster-assessment': DISASTER_ASSESSMENT_APP_0_0_1,
5911
5917
  'errand-runner': ERRAND_RUNNER_APP_0_0_1,
5912
- 'event-response': EVENT_RESPONSE_APP_0_0_1,
5913
- 'exchange-desk': EXCHANGE_DESK_APP_0_0_1,
5918
+ 'event-response': EVENT_RESPONSE_APP_0_0_2,
5919
+ 'exchange-desk': EXCHANGE_DESK_APP_0_0_2,
5914
5920
  'guest-desk': GUEST_DESK_APP_0_0_1,
5915
5921
  'inbox-triage': INBOX_TRIAGE_APP_0_0_1,
5916
5922
  'live-shop-chat': LIVE_SHOP_CHAT_APP_0_0_1,
5917
- 'model-choice': MODEL_CHOICE_APP_0_0_1,
5923
+ 'model-choice': MODEL_CHOICE_APP_0_0_2,
5918
5924
  'month-end-close': MONTH_END_CLOSE_APP_0_0_1,
5919
5925
  'order-desk': ORDER_DESK_APP_0_0_1,
5920
5926
  'order-tracker': ORDER_TRACKER_APP_0_0_1,
5921
5927
  'pipeline-report': PIPELINE_REPORT_APP_0_0_1,
5922
- 'quote-calculator': QUOTE_CALCULATOR_APP_0_0_1,
5923
- 'report-from-a-file': REPORT_FROM_A_FILE_APP_0_0_1,
5928
+ 'quote-calculator': QUOTE_CALCULATOR_APP_0_0_5,
5929
+ 'report-from-a-file': REPORT_FROM_A_FILE_APP_0_0_4,
5924
5930
  'returns-desk': RETURNS_DESK_APP_0_0_1,
5925
- sales: SALES_APP_0_0_1,
5926
- 'ship-or-fix': SHIP_OR_FIX_APP_0_0_1,
5931
+ sales: SALES_APP_0_0_2,
5932
+ 'ship-or-fix': SHIP_OR_FIX_APP_0_0_2,
5927
5933
  'shop-concierge': SHOP_CONCIERGE_APP_0_0_1,
5928
5934
  'shopping-desk': SHOPPING_DESK_APP_0_0_1,
5929
5935
  'sign-in-desk': SIGN_IN_DESK_APP_0_0_1,
5930
5936
  'signed-reader': SIGNED_READER_APP_0_0_1,
5931
- 'supplier-comparison': SUPPLIER_COMPARISON_APP_0_0_1,
5932
- 'support-desk': SUPPORT_DESK_APP_0_0_1,
5937
+ 'supplier-comparison': SUPPLIER_COMPARISON_APP_0_0_2,
5938
+ 'support-desk': SUPPORT_DESK_APP_0_0_4,
5933
5939
  'travel-desk': TRAVEL_DESK_APP_0_0_1,
5934
5940
  'web-research': WEB_RESEARCH_APP_0_0_1,
5935
5941
  };
@@ -6355,6 +6361,7 @@ export const APP_SOURCES = {
6355
6361
  'customer-interview': {
6356
6362
  schema: 'loop.app/v1',
6357
6363
  id: 'customer-interview',
6364
+ version: '0.0.2',
6358
6365
  name: 'Customer Interview',
6359
6366
  kind: 'chat',
6360
6367
  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 +6537,7 @@ export const APP_SOURCES = {
6530
6537
  'data-quality': {
6531
6538
  schema: 'loop.app/v1',
6532
6539
  id: 'data-quality',
6540
+ version: '0.0.2',
6533
6541
  name: 'Data Quality Investigation',
6534
6542
  kind: 'decision',
6535
6543
  description: 'Which anomalies in this dataset should we fix first? For a data team, before a dataset is used for a decision.',
@@ -6857,12 +6865,12 @@ export const APP_SOURCES = {
6857
6865
  },
6858
6866
  ],
6859
6867
  verified: {
6868
+ live: [
6869
+ "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.",
6870
+ ],
6860
6871
  recorded: [
6861
6872
  "The PACT journey is the developers' example (examples/protocols/pact/personal_agent.py) against its local Provider, run in its own tests.",
6862
6873
  ],
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
6874
  },
6867
6875
  },
6868
6876
  record: {
@@ -6872,14 +6880,13 @@ export const APP_SOURCES = {
6872
6880
  deployment: {
6873
6881
  hosted: {},
6874
6882
  },
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
6883
  tags: ['example', 'companies'],
6878
6884
  emoji: '🏃',
6879
6885
  },
6880
6886
  'event-response': {
6881
6887
  schema: 'loop.app/v1',
6882
6888
  id: 'event-response',
6889
+ version: '0.0.2',
6883
6890
  name: 'Event response',
6884
6891
  kind: 'chat',
6885
6892
  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 +6963,18 @@ export const APP_SOURCES = {
6956
6963
  'exchange-desk': {
6957
6964
  schema: 'loop.app/v1',
6958
6965
  id: 'exchange-desk',
6966
+ version: '0.0.2',
6959
6967
  name: 'Exchange Desk',
6960
6968
  kind: 'chat',
6961
6969
  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
6970
  owner: 'Datalayer <info@datalayer.io>',
6963
6971
  agent: 'cog-crawler:0.0.1',
6964
- instructions: "You are a shop's desk for people's own agents. Answer what anybody may ask before they sign in; read an order only for its signed-in owner. When an exchange is asked for, give its terms: the shop proposes it, the person approves it, and exchange_order does it.",
6972
+ 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
6973
  tools: [
6966
6974
  {
6967
6975
  name: 'exchange_order',
6968
6976
  description: 'Exchanges an order for another size, once the person approved it.',
6969
6977
  parameters: {
6970
- type: 'object',
6971
6978
  properties: {
6972
6979
  order_id: {
6973
6980
  type: 'string',
@@ -6977,6 +6984,7 @@ export const APP_SOURCES = {
6977
6984
  },
6978
6985
  },
6979
6986
  required: ['order_id', 'size'],
6987
+ type: 'object',
6980
6988
  },
6981
6989
  does: ['write'],
6982
6990
  },
@@ -7021,8 +7029,11 @@ export const APP_SOURCES = {
7021
7029
  },
7022
7030
  ],
7023
7031
  verified: {
7032
+ recorded: [
7033
+ "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.",
7034
+ ],
7024
7035
  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; 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.',
7036
+ "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. Drilled a third time the same evening: signed in, asked to exchange, it said it could not — asked by a person's own agent, it was not given its exchange_order (fixed, not yet released).",
7026
7037
  ],
7027
7038
  },
7028
7039
  },
@@ -7034,8 +7045,8 @@ export const APP_SOURCES = {
7034
7045
  hosted: {},
7035
7046
  },
7036
7047
  enabled: false,
7037
- unavailable_because: 'Its exchange_order has no code yet, so it cannot exchange an order for a person.',
7038
- tags: ['example', 'companies'],
7048
+ unavailable_because: "Asked by a person's own agent, it is not given its exchange_order until a fix is released.",
7049
+ tags: ['example', 'companies', 'python'],
7039
7050
  emoji: 'đŸĒ',
7040
7051
  },
7041
7052
  'guest-desk': {
@@ -7046,7 +7057,7 @@ export const APP_SOURCES = {
7046
7057
  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
7058
  owner: 'Datalayer <info@datalayer.io>',
7048
7059
  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.",
7060
+ 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
7061
  protocols: ['pact'],
7051
7062
  pact: {
7052
7063
  business: {
@@ -7096,12 +7107,12 @@ export const APP_SOURCES = {
7096
7107
  },
7097
7108
  ],
7098
7109
  verified: {
7110
+ live: [
7111
+ "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.",
7112
+ ],
7099
7113
  recorded: [
7100
7114
  '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
7115
  ],
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
7116
  },
7106
7117
  },
7107
7118
  record: {
@@ -7111,8 +7122,6 @@ export const APP_SOURCES = {
7111
7122
  deployment: {
7112
7123
  hosted: {},
7113
7124
  },
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
7125
  tags: ['example', 'companies'],
7117
7126
  emoji: '🏨',
7118
7127
  },
@@ -7344,6 +7353,7 @@ export const APP_SOURCES = {
7344
7353
  'model-choice': {
7345
7354
  schema: 'loop.app/v1',
7346
7355
  id: 'model-choice',
7356
+ version: '0.0.2',
7347
7357
  name: 'Model Choice',
7348
7358
  kind: 'decision',
7349
7359
  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 +7779,7 @@ export const APP_SOURCES = {
7769
7779
  ],
7770
7780
  verified: {
7771
7781
  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).",
7782
+ "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
7783
  ],
7774
7784
  recorded: [
7775
7785
  "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 +8045,7 @@ export const APP_SOURCES = {
8035
8045
  'quote-calculator': {
8036
8046
  schema: 'loop.app/v1',
8037
8047
  id: 'quote-calculator',
8048
+ version: '0.0.5',
8038
8049
  name: 'Quote Calculator',
8039
8050
  kind: 'widget',
8040
8051
  description: 'Computes a quote from a number of seats, a plan and a term, and shows how the total is made.',
@@ -8243,6 +8254,7 @@ export const APP_SOURCES = {
8243
8254
  'report-from-a-file': {
8244
8255
  schema: 'loop.app/v1',
8245
8256
  id: 'report-from-a-file',
8257
+ version: '0.0.4',
8246
8258
  name: 'Report from a File',
8247
8259
  kind: 'widget',
8248
8260
  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 +8468,7 @@ export const APP_SOURCES = {
8456
8468
  description: 'Arranges returns and repairs at a shop for you, each one done exactly as you approved it, and only once.',
8457
8469
  owner: 'Datalayer <info@datalayer.io>',
8458
8470
  agent: 'cog-crawler:0.0.1',
8459
- instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person, through its tools. 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.',
8471
+ 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
8472
  protocols: ['pap'],
8461
8473
  pap: {
8462
8474
  profile: 'draft-01',
@@ -8466,6 +8478,7 @@ export const APP_SOURCES = {
8466
8478
  company: 'manzanita.examples.datalayer.run',
8467
8479
  access: 'write',
8468
8480
  scopes: ['orders:read', 'orders:write'],
8481
+ interfaces: ['agent', 'openapi'],
8469
8482
  extensions: ['operations'],
8470
8483
  },
8471
8484
  ],
@@ -8526,11 +8539,14 @@ export const APP_SOURCES = {
8526
8539
  },
8527
8540
  ],
8528
8541
  verified: {
8542
+ live: [
8543
+ "Drilled on r1 on 13 October 2026 against the hosted Manzanita, as its Preview reaches the gateway's pap toolset (gateway 0.0.81): signed in by Device Sign-In with orders:read and orders:write; a return asked through the shop's API with pap_propose came back as the shop's operation (Return the Ridge Jacket (M) from order ord_7Hk2 for a refund of USD 180.00), approved by the person on Waiting for you, done once — the test shop's return fails as written, its label emailed and no money moved, which it said — and already confirmed the second time; a repair proposed the same way (a zip repair, free).",
8544
+ ],
8529
8545
  recorded: [
8530
8546
  "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.",
8531
8547
  ],
8532
8548
  unverified: [
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.',
8549
+ "A model's turns in the Studio's Preview were not watched in that drill.",
8534
8550
  ],
8535
8551
  },
8536
8552
  },
@@ -8541,14 +8557,13 @@ export const APP_SOURCES = {
8541
8557
  deployment: {
8542
8558
  hosted: {},
8543
8559
  },
8544
- enabled: false,
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.',
8546
8560
  tags: ['example', 'companies'],
8547
8561
  emoji: 'â†Šī¸',
8548
8562
  },
8549
8563
  sales: {
8550
8564
  schema: 'loop.app/v1',
8551
8565
  id: 'sales',
8566
+ version: '0.0.2',
8552
8567
  name: 'Sales',
8553
8568
  kind: 'chat',
8554
8569
  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 +8633,7 @@ export const APP_SOURCES = {
8618
8633
  'ship-or-fix': {
8619
8634
  schema: 'loop.app/v1',
8620
8635
  id: 'ship-or-fix',
8636
+ version: '0.0.2',
8621
8637
  name: 'Ship or Fix',
8622
8638
  kind: 'decision',
8623
8639
  description: 'Which agent configuration should we ship, on the evidence of a benchmark run? For an AI platform team, after every run.',
@@ -8821,11 +8837,14 @@ export const APP_SOURCES = {
8821
8837
  },
8822
8838
  ],
8823
8839
  verified: {
8840
+ live: [
8841
+ "Drilled on r1 on 13 October 2026 against the hosted Manzanita (counterparts 0.0.6), as its Preview reaches the gateway's pap toolset: asked signed out, signed in by Device Sign-In with orders:read, the person's latest order answered; asked for one of the shop's people, the conversation went to Marta, of Manzanita's staff (responder human), who answered in it.",
8842
+ ],
8824
8843
  recorded: [
8825
8844
  "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.",
8826
8845
  ],
8827
8846
  unverified: [
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.",
8847
+ "A model's turns in the Studio's Preview were not watched in that drill; Marta is a scripted member of the test shop's staff.",
8829
8848
  ],
8830
8849
  },
8831
8850
  },
@@ -8836,8 +8855,6 @@ export const APP_SOURCES = {
8836
8855
  deployment: {
8837
8856
  hosted: {},
8838
8857
  },
8839
- enabled: false,
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.",
8841
8858
  tags: ['example', 'companies'],
8842
8859
  emoji: 'đŸ›Žī¸',
8843
8860
  },
@@ -9095,7 +9112,7 @@ export const APP_SOURCES = {
9095
9112
  "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
9113
  ],
9097
9114
  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).",
9115
+ "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
9116
  ],
9100
9117
  unverified: [
9101
9118
  "A model's turns in the Studio's Preview were not watched in that drill.",
@@ -9115,6 +9132,7 @@ export const APP_SOURCES = {
9115
9132
  'supplier-comparison': {
9116
9133
  schema: 'loop.app/v1',
9117
9134
  id: 'supplier-comparison',
9135
+ version: '0.0.2',
9118
9136
  name: 'Supplier Comparison',
9119
9137
  kind: 'decision',
9120
9138
  description: 'Which supplier should we choose for these orders? For an operations or procurement lead, at each sourcing round.',
@@ -9238,6 +9256,7 @@ export const APP_SOURCES = {
9238
9256
  'support-desk': {
9239
9257
  schema: 'loop.app/v1',
9240
9258
  id: 'support-desk',
9259
+ version: '0.0.4',
9241
9260
  name: 'Support Desk',
9242
9261
  kind: 'chat',
9243
9262
  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 +9685,7 @@ export const APP_BUILT = {
9666
9685
  'disaster-assessment': 'written',
9667
9686
  'errand-runner': 'written',
9668
9687
  'event-response': 'written',
9669
- 'exchange-desk': 'written',
9688
+ 'exchange-desk': 'python',
9670
9689
  'guest-desk': 'written',
9671
9690
  'inbox-triage': 'written',
9672
9691
  'live-shop-chat': 'written',