@amigo-ai/platform-sdk 0.1.0

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.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +330 -0
  3. package/dist/core/auth.js +32 -0
  4. package/dist/core/auth.js.map +1 -0
  5. package/dist/core/branded-types.js +22 -0
  6. package/dist/core/branded-types.js.map +1 -0
  7. package/dist/core/errors.js +168 -0
  8. package/dist/core/errors.js.map +1 -0
  9. package/dist/core/openapi-client.js +66 -0
  10. package/dist/core/openapi-client.js.map +1 -0
  11. package/dist/core/retry.js +48 -0
  12. package/dist/core/retry.js.map +1 -0
  13. package/dist/core/utils.js +35 -0
  14. package/dist/core/utils.js.map +1 -0
  15. package/dist/index.cjs +1005 -0
  16. package/dist/index.cjs.map +7 -0
  17. package/dist/index.js +111 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/index.mjs +982 -0
  20. package/dist/index.mjs.map +7 -0
  21. package/dist/resources/agents.js +49 -0
  22. package/dist/resources/agents.js.map +1 -0
  23. package/dist/resources/analytics.js +54 -0
  24. package/dist/resources/analytics.js.map +1 -0
  25. package/dist/resources/api-keys.js +45 -0
  26. package/dist/resources/api-keys.js.map +1 -0
  27. package/dist/resources/base.js +50 -0
  28. package/dist/resources/base.js.map +1 -0
  29. package/dist/resources/billing.js +15 -0
  30. package/dist/resources/billing.js.map +1 -0
  31. package/dist/resources/calls.js +28 -0
  32. package/dist/resources/calls.js.map +1 -0
  33. package/dist/resources/context-graphs.js +44 -0
  34. package/dist/resources/context-graphs.js.map +1 -0
  35. package/dist/resources/data-sources.js +29 -0
  36. package/dist/resources/data-sources.js.map +1 -0
  37. package/dist/resources/integrations.js +45 -0
  38. package/dist/resources/integrations.js.map +1 -0
  39. package/dist/resources/memory.js +31 -0
  40. package/dist/resources/memory.js.map +1 -0
  41. package/dist/resources/phone-numbers.js +38 -0
  42. package/dist/resources/phone-numbers.js.map +1 -0
  43. package/dist/resources/services.js +30 -0
  44. package/dist/resources/services.js.map +1 -0
  45. package/dist/resources/settings.js +47 -0
  46. package/dist/resources/settings.js.map +1 -0
  47. package/dist/resources/simulations.js +50 -0
  48. package/dist/resources/simulations.js.map +1 -0
  49. package/dist/resources/skills.js +44 -0
  50. package/dist/resources/skills.js.map +1 -0
  51. package/dist/resources/workspaces.js +57 -0
  52. package/dist/resources/workspaces.js.map +1 -0
  53. package/dist/resources/world.js +131 -0
  54. package/dist/resources/world.js.map +1 -0
  55. package/dist/types/api.js +12 -0
  56. package/dist/types/api.js.map +1 -0
  57. package/dist/types/core/auth.d.ts +20 -0
  58. package/dist/types/core/auth.d.ts.map +1 -0
  59. package/dist/types/core/branded-types.d.ts +50 -0
  60. package/dist/types/core/branded-types.d.ts.map +1 -0
  61. package/dist/types/core/errors.d.ts +76 -0
  62. package/dist/types/core/errors.d.ts.map +1 -0
  63. package/dist/types/core/openapi-client.d.ts +14 -0
  64. package/dist/types/core/openapi-client.d.ts.map +1 -0
  65. package/dist/types/core/retry.d.ts +21 -0
  66. package/dist/types/core/retry.d.ts.map +1 -0
  67. package/dist/types/core/utils.d.ts +39 -0
  68. package/dist/types/core/utils.d.ts.map +1 -0
  69. package/dist/types/index.d.ts +114 -0
  70. package/dist/types/index.d.ts.map +1 -0
  71. package/dist/types/resources/agents.d.ts +32 -0
  72. package/dist/types/resources/agents.d.ts.map +1 -0
  73. package/dist/types/resources/analytics.d.ts +146 -0
  74. package/dist/types/resources/analytics.d.ts.map +1 -0
  75. package/dist/types/resources/api-keys.d.ts +28 -0
  76. package/dist/types/resources/api-keys.d.ts.map +1 -0
  77. package/dist/types/resources/base.d.ts +18 -0
  78. package/dist/types/resources/base.d.ts.map +1 -0
  79. package/dist/types/resources/billing.d.ts +19 -0
  80. package/dist/types/resources/billing.d.ts.map +1 -0
  81. package/dist/types/resources/calls.d.ts +50 -0
  82. package/dist/types/resources/calls.d.ts.map +1 -0
  83. package/dist/types/resources/context-graphs.d.ts +32 -0
  84. package/dist/types/resources/context-graphs.d.ts.map +1 -0
  85. package/dist/types/resources/data-sources.d.ts +24 -0
  86. package/dist/types/resources/data-sources.d.ts.map +1 -0
  87. package/dist/types/resources/integrations.d.ts +38 -0
  88. package/dist/types/resources/integrations.d.ts.map +1 -0
  89. package/dist/types/resources/memory.d.ts +99 -0
  90. package/dist/types/resources/memory.d.ts.map +1 -0
  91. package/dist/types/resources/phone-numbers.d.ts +26 -0
  92. package/dist/types/resources/phone-numbers.d.ts.map +1 -0
  93. package/dist/types/resources/services.d.ts +21 -0
  94. package/dist/types/resources/services.d.ts.map +1 -0
  95. package/dist/types/resources/settings.d.ts +102 -0
  96. package/dist/types/resources/settings.d.ts.map +1 -0
  97. package/dist/types/resources/simulations.d.ts +39 -0
  98. package/dist/types/resources/simulations.d.ts.map +1 -0
  99. package/dist/types/resources/skills.d.ts +31 -0
  100. package/dist/types/resources/skills.d.ts.map +1 -0
  101. package/dist/types/resources/workspaces.d.ts +28 -0
  102. package/dist/types/resources/workspaces.d.ts.map +1 -0
  103. package/dist/types/resources/world.d.ts +177 -0
  104. package/dist/types/resources/world.d.ts.map +1 -0
  105. package/dist/types/types/api.d.ts +739 -0
  106. package/dist/types/types/api.d.ts.map +1 -0
  107. package/package.json +82 -0
@@ -0,0 +1,45 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * Manage integrations — connections to external systems (EHRs, CRMs, etc.).
4
+ * Integrations power connector data acquisition and skill tool calls.
5
+ */
6
+ export class IntegrationsResource extends WorkspaceScopedResource {
7
+ /** Create a new integration */
8
+ async create(body) {
9
+ return this.fetch('/integrations', {
10
+ method: 'POST',
11
+ body: JSON.stringify(body),
12
+ });
13
+ }
14
+ /** List integrations */
15
+ async list(params) {
16
+ return this.fetch(`/integrations${buildQuery(params)}`);
17
+ }
18
+ /** Get a single integration */
19
+ async get(integrationId) {
20
+ return this.fetch(`/integrations/${integrationId}`);
21
+ }
22
+ /** Update integration configuration */
23
+ async update(integrationId, body) {
24
+ return this.fetch(`/integrations/${integrationId}`, {
25
+ method: 'PUT',
26
+ body: JSON.stringify(body),
27
+ });
28
+ }
29
+ /** Delete an integration */
30
+ async delete(integrationId) {
31
+ return this.fetch(`/integrations/${integrationId}`, { method: 'DELETE' });
32
+ }
33
+ /**
34
+ * Test a specific endpoint on an integration with given params.
35
+ * Used in the developer console to validate integration config.
36
+ */
37
+ async testEndpoint(integrationId, endpointName, params) {
38
+ return this.fetch(`/integrations/${integrationId}/endpoints/${endpointName}/test`, { method: 'POST', body: JSON.stringify({ params }) });
39
+ }
40
+ /** Check health of all integrations in the workspace */
41
+ async getHealthCheck() {
42
+ return this.fetch('/integrations/health-check');
43
+ }
44
+ }
45
+ //# sourceMappingURL=integrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/resources/integrations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAe/D;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IAC/D,+BAA+B;IAC/B,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,OAAO,IAAI,CAAC,KAAK,CAAc,eAAe,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,IAAI,CAAC,MAA+B;QACxC,OAAO,IAAI,CAAC,KAAK,CAAiC,gBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,GAAG,CAAC,aAAqC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAc,iBAAiB,aAAa,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,IAA8B;QAChF,OAAO,IAAI,CAAC,KAAK,CAAc,iBAAiB,aAAa,EAAE,EAAE;YAC/D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,MAAM,CAAC,aAAqC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAO,iBAAiB,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACjF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,aAAqC,EACrC,YAAoB,EACpB,MAA+B;QAE/B,OAAO,IAAI,CAAC,KAAK,CACf,iBAAiB,aAAa,cAAc,YAAY,OAAO,EAC/D,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CACrD,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,KAAK,CAA0B,4BAA4B,CAAC,CAAA;IAC1E,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * Agent Memory — structured long-term memory for entities.
4
+ *
5
+ * Memory is organised into dimensions (e.g. "preferences", "health_history").
6
+ * Each dimension accumulates facts extracted from calls and events over time.
7
+ * This powers the "Agent Memory" view in the console.
8
+ */
9
+ export class MemoryResource extends WorkspaceScopedResource {
10
+ /**
11
+ * Get all memory dimension scores for an entity.
12
+ * Scores reflect how complete and confident each dimension's facts are.
13
+ */
14
+ async getEntityDimensions(entityId) {
15
+ return this.fetch(`/memory/${entityId}/dimensions`);
16
+ }
17
+ /**
18
+ * Get individual memory facts for an entity, optionally filtered by dimension.
19
+ */
20
+ async getEntityFacts(entityId, params) {
21
+ return this.fetch(`/memory/${entityId}/facts${buildQuery(params)}`);
22
+ }
23
+ /**
24
+ * Get workspace-level memory analytics — coverage rates, dimension health,
25
+ * and fact ingestion trends.
26
+ */
27
+ async getAnalytics() {
28
+ return this.fetch('/memory/analytics');
29
+ }
30
+ }
31
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/resources/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAqE/D;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IACzD;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAA2B;QACnD,OAAO,IAAI,CAAC,KAAK,CAA2B,WAAW,QAAQ,aAAa,CAAC,CAAA;IAC/E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,QAA2B,EAC3B,MAA+C;QAE/C,OAAO,IAAI,CAAC,KAAK,CAAsB,WAAW,QAAQ,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,KAAK,CAA0B,mBAAmB,CAAC,CAAA;IACjE,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * Manage phone numbers — provision, configure, and release Twilio numbers
4
+ * that are attached to agents for inbound/outbound calling.
5
+ */
6
+ export class PhoneNumbersResource extends WorkspaceScopedResource {
7
+ /** Provision a new phone number (area code or specific number) */
8
+ async provision(body) {
9
+ return this.fetch('/phone-numbers', {
10
+ method: 'POST',
11
+ body: JSON.stringify(body),
12
+ });
13
+ }
14
+ /** List phone numbers in the workspace */
15
+ async list(params) {
16
+ return this.fetch(`/phone-numbers${buildQuery(params)}`);
17
+ }
18
+ /** Get a phone number */
19
+ async get(phoneNumberId) {
20
+ return this.fetch(`/phone-numbers/${phoneNumberId}`);
21
+ }
22
+ /** Update a phone number (assign to agent, rename) */
23
+ async update(phoneNumberId, body) {
24
+ return this.fetch(`/phone-numbers/${phoneNumberId}`, {
25
+ method: 'PUT',
26
+ body: JSON.stringify(body),
27
+ });
28
+ }
29
+ /** Release a phone number back to the carrier */
30
+ async release(phoneNumberId) {
31
+ return this.fetch(`/phone-numbers/${phoneNumberId}`, { method: 'DELETE' });
32
+ }
33
+ /** Send a test call to a phone number to verify it's working */
34
+ async test(phoneNumberId) {
35
+ return this.fetch(`/phone-numbers/${phoneNumberId}/test`, { method: 'POST' });
36
+ }
37
+ }
38
+ //# sourceMappingURL=phone-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-numbers.js","sourceRoot":"","sources":["../../src/resources/phone-numbers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAG/D;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IAC/D,kEAAkE;IAClE,KAAK,CAAC,SAAS,CAAC,IAAiC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAc,gBAAgB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAiC,iBAAiB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,GAAG,CAAC,aAAqC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAc,kBAAkB,aAAa,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,IAA8B;QAChF,OAAO,IAAI,CAAC,KAAK,CAAc,kBAAkB,aAAa,EAAE,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,OAAO,CAAC,aAAqC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAO,kBAAkB,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,IAAI,CAAC,aAAqC;QAC9C,OAAO,IAAI,CAAC,KAAK,CACf,kBAAkB,aAAa,OAAO,EACtC,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * Manage services — external service configurations that agents can call.
4
+ * Services represent integrations like scheduling systems, EHRs, or CRMs
5
+ * that skills can interact with via their tool definitions.
6
+ */
7
+ export class ServicesResource extends WorkspaceScopedResource {
8
+ async create(body) {
9
+ return this.fetch('/services', {
10
+ method: 'POST',
11
+ body: JSON.stringify(body),
12
+ });
13
+ }
14
+ async list(params) {
15
+ return this.fetch(`/services${buildQuery(params)}`);
16
+ }
17
+ async get(serviceId) {
18
+ return this.fetch(`/services/${serviceId}`);
19
+ }
20
+ async update(serviceId, body) {
21
+ return this.fetch(`/services/${serviceId}`, {
22
+ method: 'PUT',
23
+ body: JSON.stringify(body),
24
+ });
25
+ }
26
+ async delete(serviceId) {
27
+ return this.fetch(`/services/${serviceId}`, { method: 'DELETE' });
28
+ }
29
+ }
30
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/resources/services.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQ/D;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,uBAAuB;IAC3D,KAAK,CAAC,MAAM,CAAC,IAA0B;QACrC,OAAO,IAAI,CAAC,KAAK,CAAU,WAAW,EAAE;YACtC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA2B;QACpC,OAAO,IAAI,CAAC,KAAK,CAA6B,YAAY,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAA6B;QACrC,OAAO,IAAI,CAAC,KAAK,CAAU,aAAa,SAAS,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAA6B,EAAE,IAA0B;QACpE,OAAO,IAAI,CAAC,KAAK,CAAU,aAAa,SAAS,EAAE,EAAE;YACnD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAA6B;QACxC,OAAO,IAAI,CAAC,KAAK,CAAO,aAAa,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACzE,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import { WorkspaceScopedResource } from './base.js';
2
+ /**
3
+ * Workspace-level settings — configure voice behavior, branding, security
4
+ * policies, data retention, outreach rules, and more.
5
+ *
6
+ * Each sub-resource has `get()` and `update()`.
7
+ */
8
+ export class SettingsResource extends WorkspaceScopedResource {
9
+ async getSettings(key) {
10
+ return this.fetch(`/settings/${key}`);
11
+ }
12
+ async updateSettings(key, body) {
13
+ return this.fetch(`/settings/${key}`, {
14
+ method: 'PUT',
15
+ body: JSON.stringify(body),
16
+ });
17
+ }
18
+ voice = {
19
+ get: () => this.getSettings('voice'),
20
+ update: (body) => this.updateSettings('voice', body),
21
+ };
22
+ branding = {
23
+ get: () => this.getSettings('branding'),
24
+ update: (body) => this.updateSettings('branding', body),
25
+ };
26
+ outreach = {
27
+ get: () => this.getSettings('outreach'),
28
+ update: (body) => this.updateSettings('outreach', body),
29
+ };
30
+ memory = {
31
+ get: () => this.getSettings('memory'),
32
+ update: (body) => this.updateSettings('memory', body),
33
+ };
34
+ security = {
35
+ get: () => this.getSettings('security'),
36
+ update: (body) => this.updateSettings('security', body),
37
+ };
38
+ retention = {
39
+ get: () => this.getSettings('retention'),
40
+ update: (body) => this.updateSettings('retention', body),
41
+ };
42
+ workflows = {
43
+ get: () => this.getSettings('workflows'),
44
+ update: (body) => this.updateSettings('workflows', body),
45
+ };
46
+ }
47
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAuGnD;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,uBAAuB;IACnD,KAAK,CAAC,WAAW,CAAI,GAAW;QACtC,OAAO,IAAI,CAAC,KAAK,CAAI,aAAa,GAAG,EAAE,CAAC,CAAA;IAC1C,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,GAAW,EAAE,IAAgB;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAI,aAAa,GAAG,EAAE,EAAE;YACvC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAEQ,KAAK,GAAG;QACf,GAAG,EAAE,GAA2B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC5D,MAAM,EAAE,CAAC,IAA4B,EAA0B,EAAE,CAC/D,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;KACrC,CAAA;IAEQ,QAAQ,GAAG;QAClB,GAAG,EAAE,GAA8B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAClE,MAAM,EAAE,CAAC,IAA+B,EAA6B,EAAE,CACrE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;KACxC,CAAA;IAEQ,QAAQ,GAAG;QAClB,GAAG,EAAE,GAA8B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAClE,MAAM,EAAE,CAAC,IAA+B,EAA6B,EAAE,CACrE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;KACxC,CAAA;IAEQ,MAAM,GAAG;QAChB,GAAG,EAAE,GAA4B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC9D,MAAM,EAAE,CAAC,IAA6B,EAA2B,EAAE,CACjE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;KACtC,CAAA;IAEQ,QAAQ,GAAG;QAClB,GAAG,EAAE,GAA8B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAClE,MAAM,EAAE,CAAC,IAA+B,EAA6B,EAAE,CACrE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;KACxC,CAAA;IAEQ,SAAS,GAAG;QACnB,GAAG,EAAE,GAA+B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACpE,MAAM,EAAE,CAAC,IAAgC,EAA8B,EAAE,CACvE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC;KACzC,CAAA;IAEQ,SAAS,GAAG;QACnB,GAAG,EAAE,GAA8B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACnE,MAAM,EAAE,CAAC,IAA+B,EAA6B,EAAE,CACrE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC;KACzC,CAAA;CACF"}
@@ -0,0 +1,50 @@
1
+ import { WorkspaceScopedResource } from './base.js';
2
+ /**
3
+ * Simulations — interactive agent testing via the Playground.
4
+ *
5
+ * Create a session to get the agent's greeting, then step through the
6
+ * conversation turn by turn. Get LLM-generated caller suggestions to
7
+ * guide exploratory testing.
8
+ */
9
+ export class SimulationsResource extends WorkspaceScopedResource {
10
+ /** Start a simulation session — returns the agent's greeting and initial snapshot */
11
+ async createSession(body) {
12
+ return this.fetch('/simulations/sessions', {
13
+ method: 'POST',
14
+ body: JSON.stringify(body),
15
+ });
16
+ }
17
+ /** Get the current snapshot of a session */
18
+ async getSession(sessionId) {
19
+ return this.fetch(`/simulations/sessions/${sessionId}`);
20
+ }
21
+ /** Delete a simulation session */
22
+ async deleteSession(sessionId) {
23
+ return this.fetch(`/simulations/sessions/${sessionId}`, { method: 'DELETE' });
24
+ }
25
+ /**
26
+ * Send a caller utterance and advance the session by one turn.
27
+ * Returns the agent's response observation and updated snapshot.
28
+ */
29
+ async step(body) {
30
+ return this.fetch('/simulations/sessions/step', {
31
+ method: 'POST',
32
+ body: JSON.stringify(body),
33
+ });
34
+ }
35
+ /**
36
+ * Get LLM-generated caller message suggestions for the current session state.
37
+ * Helps exploratory testing by suggesting realistic next caller turns.
38
+ */
39
+ async recommend(sessionId, n) {
40
+ return this.fetch('/simulations/sessions/recommend', {
41
+ method: 'POST',
42
+ body: JSON.stringify({ session_id: sessionId, n }),
43
+ });
44
+ }
45
+ /** Get AI-generated call intelligence for a completed session */
46
+ async getIntelligence(sessionId) {
47
+ return this.fetch(`/simulations/sessions/${sessionId}/intelligence`);
48
+ }
49
+ }
50
+ //# sourceMappingURL=simulations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulations.js","sourceRoot":"","sources":["../../src/resources/simulations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAOnD;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IAC9D,qFAAqF;IACrF,KAAK,CAAC,aAAa,CAAC,IAAoC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAoB,uBAAuB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,UAAU,CAAC,SAAuC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAoB,yBAAyB,SAAS,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,aAAa,CAAC,SAAuC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAqB,yBAAyB,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACnG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAkC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAyB,4BAA4B,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,SAAuC,EAAE,CAAU;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;SACnD,CAAC,CAAA;IACJ,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,eAAe,CAAC,SAAuC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAyB,yBAAyB,SAAS,eAAe,CAAC,CAAA;IAC9F,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * Manage skills — reusable AI capabilities that agents can call.
4
+ * Skills define a structured input/output schema and an execution tier.
5
+ */
6
+ export class SkillsResource extends WorkspaceScopedResource {
7
+ /** Create a new skill */
8
+ async create(body) {
9
+ return this.fetch('/skills', {
10
+ method: 'POST',
11
+ body: JSON.stringify(body),
12
+ });
13
+ }
14
+ /** List skills in the workspace */
15
+ async list(params) {
16
+ return this.fetch(`/skills${buildQuery(params)}`);
17
+ }
18
+ /** Get a single skill */
19
+ async get(skillId) {
20
+ return this.fetch(`/skills/${skillId}`);
21
+ }
22
+ /** Update a skill */
23
+ async update(skillId, body) {
24
+ return this.fetch(`/skills/${skillId}`, {
25
+ method: 'PUT',
26
+ body: JSON.stringify(body),
27
+ });
28
+ }
29
+ /** Delete a skill */
30
+ async delete(skillId) {
31
+ return this.fetch(`/skills/${skillId}`, { method: 'DELETE' });
32
+ }
33
+ /**
34
+ * Test a skill with a sample input.
35
+ * Executes the skill in a sandbox and returns the result.
36
+ */
37
+ async test(skillId, body) {
38
+ return this.fetch(`/skills/${skillId}/test`, {
39
+ method: 'POST',
40
+ body: JSON.stringify(body),
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/resources/skills.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAS/D;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IACzD,yBAAyB;IACzB,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAQ,SAAS,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,IAAI,CAAC,MAAyB;QAClC,OAAO,IAAI,CAAC,KAAK,CAA2B,UAAU,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,GAAG,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAQ,WAAW,OAAO,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,MAAM,CAAC,OAAyB,EAAE,IAAwB;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAQ,WAAW,OAAO,EAAE,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,MAAM,CAAC,OAAyB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAO,WAAW,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,OAAyB,EAAE,IAAsB;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAoB,WAAW,OAAO,OAAO,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ import { createApiError } from '../core/errors.js';
2
+ import { buildQuery } from './base.js';
3
+ /**
4
+ * Manage Amigo Platform workspaces.
5
+ * Workspaces are the top-level tenancy boundary for all resources.
6
+ */
7
+ export class WorkspacesResource {
8
+ config;
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ get headers() {
13
+ return {
14
+ Authorization: `Bearer ${this.config.apiKey}`,
15
+ 'Content-Type': 'application/json',
16
+ };
17
+ }
18
+ async request(path, init = {}) {
19
+ const url = `${this.config.baseUrl}/v1/workspaces${path}`;
20
+ const response = await globalThis.fetch(url, {
21
+ ...init,
22
+ headers: { ...this.headers, ...init.headers },
23
+ });
24
+ if (!response.ok)
25
+ throw await createApiError(response);
26
+ if (response.status === 204)
27
+ return undefined;
28
+ return response.json();
29
+ }
30
+ /** Create a new workspace */
31
+ async create(body) {
32
+ return this.request('', {
33
+ method: 'POST',
34
+ body: JSON.stringify(body),
35
+ });
36
+ }
37
+ /** List workspaces accessible to the current API key */
38
+ async list(params) {
39
+ return this.request(buildQuery(params));
40
+ }
41
+ /** Get a single workspace by ID */
42
+ async get(id) {
43
+ return this.request(`/${id}`);
44
+ }
45
+ /** Update workspace metadata */
46
+ async update(id, body) {
47
+ return this.request(`/${id}`, {
48
+ method: 'PUT',
49
+ body: JSON.stringify(body),
50
+ });
51
+ }
52
+ /** Archive (soft-delete) a workspace */
53
+ async delete(id) {
54
+ return this.request(`/${id}`, { method: 'DELETE' });
55
+ }
56
+ }
57
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/resources/workspaces.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQtC;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD,IAAY,OAAO;QACjB,OAAO;YACL,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7C,cAAc,EAAE,kBAAkB;SACnC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,OAAoB,EAAE;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,iBAAiB,IAAI,EAAE,CAAA;QACzD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3C,GAAG,IAAI;YACP,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAI,IAAI,CAAC,OAA8C,EAAE;SACtF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,SAAc,CAAA;QAClD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;IACtC,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,MAAM,CAAC,IAA4B;QACvC,OAAO,IAAI,CAAC,OAAO,CAAY,EAAE,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAA+B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,GAAG,CAAC,EAAwB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAY,IAAI,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,MAAM,CAAC,EAAwB,EAAE,IAA4B;QACjE,OAAO,IAAI,CAAC,OAAO,CAAY,IAAI,EAAE,EAAE,EAAE;YACvC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,MAAM,CAAC,EAAwB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAO,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;CACF"}
@@ -0,0 +1,131 @@
1
+ import { WorkspaceScopedResource, buildQuery } from './base.js';
2
+ /**
3
+ * World Model — entities, events, relationships, and the entity timeline.
4
+ *
5
+ * The world model is the core knowledge graph of the platform. Entities
6
+ * represent real-world objects (patients, contacts, calls). Events record
7
+ * observations about entities over time.
8
+ */
9
+ export class WorldResource extends WorkspaceScopedResource {
10
+ // ---- Entities ----
11
+ /** Create a new entity */
12
+ async createEntity(body) {
13
+ return this.fetch('/world/entities', {
14
+ method: 'POST',
15
+ body: JSON.stringify(body),
16
+ });
17
+ }
18
+ /** List entities with optional filtering */
19
+ async listEntities(params) {
20
+ return this.fetch(`/world/entities${buildQuery(params)}`);
21
+ }
22
+ /** Get a single entity */
23
+ async getEntity(entityId) {
24
+ return this.fetch(`/world/entities/${entityId}`);
25
+ }
26
+ /** Update entity properties */
27
+ async updateEntity(entityId, body) {
28
+ return this.fetch(`/world/entities/${entityId}`, {
29
+ method: 'PUT',
30
+ body: JSON.stringify(body),
31
+ });
32
+ }
33
+ /** Get all relationships for an entity */
34
+ async getRelationships(entityId) {
35
+ return this.fetch(`/world/entities/${entityId}/relationships`);
36
+ }
37
+ /** Get the knowledge graph centered on an entity (entity + neighbors + edges) */
38
+ async getGraph(entityId) {
39
+ return this.fetch(`/world/entities/${entityId}/graph`);
40
+ }
41
+ /** Get provenance — which source systems contributed data for an entity */
42
+ async getProvenance(entityId) {
43
+ return this.fetch(`/world/entities/${entityId}/provenance`);
44
+ }
45
+ /** Get lineage — merge history and canonical identity for an entity */
46
+ async getLineage(entityId) {
47
+ return this.fetch(`/world/entities/${entityId}/lineage`);
48
+ }
49
+ /** Get merged entities for a canonical entity */
50
+ async getMerged(entityId) {
51
+ return this.fetch(`/world/entities/${entityId}/merged`);
52
+ }
53
+ // ---- Entity Types ----
54
+ /** List registered entity types with counts and schemas */
55
+ async listEntityTypes() {
56
+ return this.fetch('/world/entity-types');
57
+ }
58
+ // ---- Duplicate Detection ----
59
+ /** List potential duplicate entity pairs for review or merging */
60
+ async listDuplicates(params) {
61
+ return this.fetch(`/world/entities/duplicates${buildQuery(params)}`);
62
+ }
63
+ // ---- Semantic Search ----
64
+ /** Semantic (vector) search over entities */
65
+ async search(params) {
66
+ return this.fetch(`/world/search${buildQuery(params)}`);
67
+ }
68
+ // ---- Events ----
69
+ /**
70
+ * Emit an event for an entity.
71
+ * Events flow to Delta via ZeroBus for downstream analytics.
72
+ */
73
+ async emitEvent(body) {
74
+ return this.fetch('/world/events', {
75
+ method: 'POST',
76
+ body: JSON.stringify(body),
77
+ });
78
+ }
79
+ // ---- Timeline ----
80
+ /** Get the event timeline for an entity (reverse-chronological) */
81
+ async getTimeline(entityId, params) {
82
+ return this.fetch(`/world/timeline/${entityId}${buildQuery(params)}`);
83
+ }
84
+ // ---- Intelligence ----
85
+ /** Get AI-derived intelligence for an entity */
86
+ async getIntelligence(entityId) {
87
+ return this.fetch(`/world/intelligence/${entityId}`);
88
+ }
89
+ /** Find entities similar to a given entity using vector similarity */
90
+ async getSimilar(entityId, limit) {
91
+ return this.fetch(`/world/similar/${entityId}${buildQuery({ limit })}`);
92
+ }
93
+ /** Merge multiple entities into one canonical entity */
94
+ async merge(body) {
95
+ return this.fetch('/world/merge', {
96
+ method: 'POST',
97
+ body: JSON.stringify(body),
98
+ });
99
+ }
100
+ // ---- Sync ----
101
+ /** Get sync status grouped by sink (Lakebase, Delta, etc.) */
102
+ async getSyncStatusBySink() {
103
+ return this.fetch('/world/sync/by-sink');
104
+ }
105
+ /** List sync events with status filtering */
106
+ async listSyncEvents(params) {
107
+ return this.fetch(`/world/sync/events${buildQuery(params)}`);
108
+ }
109
+ /** Get current sync queue depth */
110
+ async getSyncQueueDepth() {
111
+ return this.fetch('/world/sync/queue');
112
+ }
113
+ /** Retry a single failed sync event */
114
+ async retrySyncEvent(eventId) {
115
+ return this.fetch(`/world/sync/retry/${eventId}`, { method: 'POST' });
116
+ }
117
+ /** Retry all failed sync events */
118
+ async retryAllSyncEvents() {
119
+ return this.fetch('/world/sync/retry-all', { method: 'POST' });
120
+ }
121
+ // ---- Statistics ----
122
+ /** Get aggregate entity and event statistics */
123
+ async getStats() {
124
+ return this.fetch('/world/entity-stats');
125
+ }
126
+ /** Get entity counts broken down by source system */
127
+ async getSourceBreakdown() {
128
+ return this.fetch('/world/source-breakdown');
129
+ }
130
+ }
131
+ //# sourceMappingURL=world.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/resources/world.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AA4G/D;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,uBAAuB;IACxD,qBAAqB;IAErB,0BAA0B;IAC1B,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAS,iBAAiB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC5C,OAAO,IAAI,CAAC,KAAK,CAA4B,kBAAkB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,SAAS,CAAC,QAA2B;QACzC,OAAO,IAAI,CAAC,KAAK,CAAS,mBAAmB,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,YAAY,CAAC,QAA2B,EAAE,IAAyB;QACvE,OAAO,IAAI,CAAC,KAAK,CAAS,mBAAmB,QAAQ,EAAE,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,gBAAgB,CAAC,QAA2B;QAChD,OAAO,IAAI,CAAC,KAAK,CAAuB,mBAAmB,QAAQ,gBAAgB,CAAC,CAAA;IACtF,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,QAAQ,CAAC,QAA2B;QACxC,OAAO,IAAI,CAAC,KAAK,CAAc,mBAAmB,QAAQ,QAAQ,CAAC,CAAA;IACrE,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAa,CAAC,QAA2B;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAmB,mBAAmB,QAAQ,aAAa,CAAC,CAAA;IAC/E,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,UAAU,CAAC,QAA2B;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAgB,mBAAmB,QAAQ,UAAU,CAAC,CAAA;IACzE,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,SAAS,CAAC,QAA2B;QACzC,OAAO,IAAI,CAAC,KAAK,CAAW,mBAAmB,QAAQ,SAAS,CAAC,CAAA;IACnE,CAAC;IAED,yBAAyB;IAEzB,2DAA2D;IAC3D,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,KAAK,CAAgB,qBAAqB,CAAC,CAAA;IACzD,CAAC;IAED,gCAAgC;IAEhC,kEAAkE;IAClE,KAAK,CAAC,cAAc,CAAC,MAAyB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,4BAA4B;IAE5B,6CAA6C;IAC7C,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,mBAAmB;IAEnB;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAsB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAa,eAAe,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB;IAErB,mEAAmE;IACnE,KAAK,CAAC,WAAW,CACf,QAA2B,EAC3B,MAAuB;QAEvB,OAAO,IAAI,CAAC,KAAK,CAAkB,mBAAmB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,yBAAyB;IAEzB,gDAAgD;IAChD,KAAK,CAAC,eAAe,CAAC,QAA2B;QAC/C,OAAO,IAAI,CAAC,KAAK,CAA0B,uBAAuB,QAAQ,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,UAAU,CAAC,QAA2B,EAAE,KAAc;QAC1D,OAAO,IAAI,CAAC,KAAK,CAA0B,kBAAkB,QAAQ,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,IAA0B;QACpC,OAAO,IAAI,CAAC,KAAK,CAAS,cAAc,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB;IAEjB,8DAA8D;IAC9D,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAqB,qBAAqB,CAAC,CAAA;IAC9D,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,cAAc,CAAC,MAA6B;QAChD,OAAO,IAAI,CAAC,KAAK,CAA+B,qBAAqB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACxC,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,KAAK,CAAY,qBAAqB,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,uBAAuB;IAEvB,gDAAgD;IAChD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAc,qBAAqB,CAAC,CAAA;IACvD,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAoB,yBAAyB,CAAC,CAAA;IACjE,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Amigo Platform API types.
3
+ *
4
+ * These types define the shape of all API requests and responses.
5
+ * They are organized to match the platform-api OpenAPI schema at:
6
+ * GET https://api.platform.amigo.ai/v1/openapi.json
7
+ *
8
+ * TODO: Auto-generate this file by running:
9
+ * npx openapi-typescript https://api.platform.amigo.ai/v1/openapi.json -o src/types/api.ts
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Auth middleware for the Amigo Platform SDK.
3
+ *
4
+ * The platform-api accepts Bearer tokens in two forms:
5
+ * 1. RS256 JWT issued by the Identity service
6
+ * 2. Legacy API keys (created via POST /v1/{workspace_id}/api-keys)
7
+ *
8
+ * This SDK accepts an API key string and attaches it directly as
9
+ * `Authorization: Bearer {apiKey}`. No token exchange is required.
10
+ */
11
+ import type { Middleware } from 'openapi-fetch';
12
+ export interface AuthConfig {
13
+ apiKey: string;
14
+ }
15
+ /**
16
+ * Creates openapi-fetch middleware that attaches the Bearer token
17
+ * to every outgoing request and converts 401 responses to AuthenticationError.
18
+ */
19
+ export declare function createAuthMiddleware(config: AuthConfig): Middleware;
20
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAgBnE"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Branded types provide compile-time type safety for string IDs.
3
+ * At runtime they are plain strings, but the type system prevents mixing them.
4
+ */
5
+ declare const brand: unique symbol;
6
+ type Brand<T, B> = T & {
7
+ readonly [brand]: B;
8
+ };
9
+ export type WorkspaceId = Brand<string, 'WorkspaceId'>;
10
+ export type ApiKeyId = Brand<string, 'ApiKeyId'>;
11
+ export type AgentId = Brand<string, 'AgentId'>;
12
+ export type PersonaId = Brand<string, 'PersonaId'>;
13
+ export type SkillId = Brand<string, 'SkillId'>;
14
+ export type ServiceId = Brand<string, 'ServiceId'>;
15
+ export type ContextGraphId = Brand<string, 'ContextGraphId'>;
16
+ export type CallId = Brand<string, 'CallId'>;
17
+ export type PhoneNumberId = Brand<string, 'PhoneNumberId'>;
18
+ export type IntegrationId = Brand<string, 'IntegrationId'>;
19
+ export type EntityId = Brand<string, 'EntityId'>;
20
+ export type EventId = Brand<string, 'EventId'>;
21
+ export type SurfaceId = Brand<string, 'SurfaceId'>;
22
+ export type OperatorId = Brand<string, 'OperatorId'>;
23
+ export type TriggerId = Brand<string, 'TriggerId'>;
24
+ export type SimulationRunId = Brand<string, 'SimulationRunId'>;
25
+ export type SimulationSessionId = Brand<string, 'SimulationSessionId'>;
26
+ export type ScribeSessionId = Brand<string, 'ScribeSessionId'>;
27
+ export type FunctionId = Brand<string, 'FunctionId'>;
28
+ export type DataSourceId = Brand<string, 'DataSourceId'>;
29
+ export declare const workspaceId: (id: string) => WorkspaceId;
30
+ export declare const apiKeyId: (id: string) => ApiKeyId;
31
+ export declare const agentId: (id: string) => AgentId;
32
+ export declare const personaId: (id: string) => PersonaId;
33
+ export declare const skillId: (id: string) => SkillId;
34
+ export declare const serviceId: (id: string) => ServiceId;
35
+ export declare const contextGraphId: (id: string) => ContextGraphId;
36
+ export declare const callId: (id: string) => CallId;
37
+ export declare const phoneNumberId: (id: string) => PhoneNumberId;
38
+ export declare const integrationId: (id: string) => IntegrationId;
39
+ export declare const entityId: (id: string) => EntityId;
40
+ export declare const eventId: (id: string) => EventId;
41
+ export declare const surfaceId: (id: string) => SurfaceId;
42
+ export declare const operatorId: (id: string) => OperatorId;
43
+ export declare const triggerId: (id: string) => TriggerId;
44
+ export declare const simulationRunId: (id: string) => SimulationRunId;
45
+ export declare const simulationSessionId: (id: string) => SimulationSessionId;
46
+ export declare const scribeSessionId: (id: string) => ScribeSessionId;
47
+ export declare const functionId: (id: string) => FunctionId;
48
+ export declare const dataSourceId: (id: string) => DataSourceId;
49
+ export {};
50
+ //# sourceMappingURL=branded-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branded-types.d.ts","sourceRoot":"","sources":["../../../src/core/branded-types.ts"],"names":[],"mappings":"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"}