@adcp/sdk 6.10.0 → 6.12.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 (116) hide show
  1. package/bin/adcp-config.js +7 -1
  2. package/bin/adcp.js +191 -4
  3. package/dist/lib/adapters/index.d.ts +0 -2
  4. package/dist/lib/adapters/index.d.ts.map +1 -1
  5. package/dist/lib/adapters/index.js +1 -8
  6. package/dist/lib/adapters/index.js.map +1 -1
  7. package/dist/lib/index.d.ts +1 -1
  8. package/dist/lib/index.d.ts.map +1 -1
  9. package/dist/lib/index.js +2 -7
  10. package/dist/lib/index.js.map +1 -1
  11. package/dist/lib/mock-server/index.d.ts +2 -0
  12. package/dist/lib/mock-server/index.d.ts.map +1 -1
  13. package/dist/lib/mock-server/index.js +17 -0
  14. package/dist/lib/mock-server/index.js.map +1 -1
  15. package/dist/lib/mock-server/sales-guaranteed/recipe.d.ts +155 -0
  16. package/dist/lib/mock-server/sales-guaranteed/recipe.d.ts.map +1 -0
  17. package/dist/lib/mock-server/sales-guaranteed/recipe.js +107 -0
  18. package/dist/lib/mock-server/sales-guaranteed/recipe.js.map +1 -0
  19. package/dist/lib/mock-server/sales-guaranteed/server.d.ts.map +1 -1
  20. package/dist/lib/mock-server/sales-guaranteed/server.js +212 -0
  21. package/dist/lib/mock-server/sales-guaranteed/server.js.map +1 -1
  22. package/dist/lib/mock-server/sales-non-guaranteed/recipe.d.ts +123 -0
  23. package/dist/lib/mock-server/sales-non-guaranteed/recipe.d.ts.map +1 -0
  24. package/dist/lib/mock-server/sales-non-guaranteed/recipe.js +81 -0
  25. package/dist/lib/mock-server/sales-non-guaranteed/recipe.js.map +1 -0
  26. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  27. package/dist/lib/server/ctx-metadata/index.d.ts +1 -1
  28. package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -1
  29. package/dist/lib/server/ctx-metadata/index.js +3 -1
  30. package/dist/lib/server/ctx-metadata/index.js.map +1 -1
  31. package/dist/lib/server/ctx-metadata/wire-shape.d.ts +21 -0
  32. package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -1
  33. package/dist/lib/server/ctx-metadata/wire-shape.js +111 -0
  34. package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -1
  35. package/dist/lib/server/decisioning/async-outcome.d.ts +17 -0
  36. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -1
  37. package/dist/lib/server/decisioning/async-outcome.js +23 -18
  38. package/dist/lib/server/decisioning/async-outcome.js.map +1 -1
  39. package/dist/lib/server/decisioning/context.d.ts +27 -2
  40. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  41. package/dist/lib/server/decisioning/index.d.ts +4 -0
  42. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  43. package/dist/lib/server/decisioning/index.js +16 -1
  44. package/dist/lib/server/decisioning/index.js.map +1 -1
  45. package/dist/lib/server/decisioning/platform.d.ts +17 -0
  46. package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
  47. package/dist/lib/server/decisioning/platform.js.map +1 -1
  48. package/dist/lib/server/decisioning/proposal/dispatch.d.ts +203 -0
  49. package/dist/lib/server/decisioning/proposal/dispatch.d.ts.map +1 -0
  50. package/dist/lib/server/decisioning/proposal/dispatch.js +395 -0
  51. package/dist/lib/server/decisioning/proposal/dispatch.js.map +1 -0
  52. package/dist/lib/server/decisioning/proposal/index.d.ts +21 -0
  53. package/dist/lib/server/decisioning/proposal/index.d.ts.map +1 -0
  54. package/dist/lib/server/decisioning/proposal/index.js +37 -0
  55. package/dist/lib/server/decisioning/proposal/index.js.map +1 -0
  56. package/dist/lib/server/decisioning/proposal/lifecycle.d.ts +195 -0
  57. package/dist/lib/server/decisioning/proposal/lifecycle.d.ts.map +1 -0
  58. package/dist/lib/server/decisioning/proposal/lifecycle.js +366 -0
  59. package/dist/lib/server/decisioning/proposal/lifecycle.js.map +1 -0
  60. package/dist/lib/server/decisioning/proposal/mock-manager.d.ts +93 -0
  61. package/dist/lib/server/decisioning/proposal/mock-manager.d.ts.map +1 -0
  62. package/dist/lib/server/decisioning/proposal/mock-manager.js +109 -0
  63. package/dist/lib/server/decisioning/proposal/mock-manager.js.map +1 -0
  64. package/dist/lib/server/decisioning/proposal/store.d.ts +279 -0
  65. package/dist/lib/server/decisioning/proposal/store.d.ts.map +1 -0
  66. package/dist/lib/server/decisioning/proposal/store.js +291 -0
  67. package/dist/lib/server/decisioning/proposal/store.js.map +1 -0
  68. package/dist/lib/server/decisioning/proposal/types.d.ts +394 -0
  69. package/dist/lib/server/decisioning/proposal/types.d.ts.map +1 -0
  70. package/dist/lib/server/decisioning/proposal/types.js +58 -0
  71. package/dist/lib/server/decisioning/proposal/types.js.map +1 -0
  72. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +25 -0
  73. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
  74. package/dist/lib/server/decisioning/runtime/from-platform.js +204 -19
  75. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  76. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -1
  77. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +5 -2
  78. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -1
  79. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +5 -0
  80. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -1
  81. package/dist/lib/server/decisioning/runtime/task-registry.js +4 -1
  82. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -1
  83. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  84. package/dist/lib/server/decisioning/runtime/to-context.js +10 -2
  85. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  86. package/dist/lib/server/index.d.ts +1 -1
  87. package/dist/lib/server/index.d.ts.map +1 -1
  88. package/dist/lib/server/index.js +3 -1
  89. package/dist/lib/server/index.js.map +1 -1
  90. package/dist/lib/server/test-controller.d.ts +2 -0
  91. package/dist/lib/server/test-controller.d.ts.map +1 -1
  92. package/dist/lib/server/test-controller.js +6 -11
  93. package/dist/lib/server/test-controller.js.map +1 -1
  94. package/dist/lib/testing/client.d.ts.map +1 -1
  95. package/dist/lib/testing/client.js +7 -1
  96. package/dist/lib/testing/client.js.map +1 -1
  97. package/dist/lib/testing/comply-controller.d.ts +2 -0
  98. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  99. package/dist/lib/testing/comply-controller.js.map +1 -1
  100. package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -1
  101. package/dist/lib/testing/storyboard/task-map.js +1 -0
  102. package/dist/lib/testing/storyboard/task-map.js.map +1 -1
  103. package/dist/lib/testing/storyboard/test-kit.d.ts.map +1 -1
  104. package/dist/lib/testing/storyboard/test-kit.js +4 -0
  105. package/dist/lib/testing/storyboard/test-kit.js.map +1 -1
  106. package/dist/lib/testing/types.d.ts +10 -0
  107. package/dist/lib/testing/types.d.ts.map +1 -1
  108. package/dist/lib/version.d.ts +3 -3
  109. package/dist/lib/version.js +3 -3
  110. package/examples/hello_seller_adapter_guaranteed.ts +29 -2
  111. package/examples/hello_seller_adapter_proposal_mode.ts +575 -0
  112. package/package.json +1 -1
  113. package/dist/lib/adapters/proposal-manager.d.ts +0 -142
  114. package/dist/lib/adapters/proposal-manager.d.ts.map +0 -1
  115. package/dist/lib/adapters/proposal-manager.js +0 -184
  116. package/dist/lib/adapters/proposal-manager.js.map +0 -1
@@ -1,142 +0,0 @@
1
- /**
2
- * Proposal Manager
3
- *
4
- * Server-side adapter for managing media plan proposals in get_products.
5
- * Publishers use this to generate, store, and refine proposals based on
6
- * campaign briefs.
7
- *
8
- * This is a stub implementation that doesn't generate proposals.
9
- * Publishers should extend or replace this with their recommendation logic.
10
- */
11
- import type { Proposal, Product, ProductAllocation, BrandReference } from '../types/tools.generated';
12
- /**
13
- * Context for generating proposals
14
- */
15
- export interface ProposalContext {
16
- /** Original brief text */
17
- brief?: string;
18
- /** Available products to allocate */
19
- products: Product[];
20
- /** Brand reference if provided */
21
- brand?: BrandReference;
22
- /** Property list ID if filtering was applied */
23
- propertyListId?: string;
24
- /** Previous proposal being refined */
25
- previousProposal?: Proposal;
26
- }
27
- /**
28
- * Abstract interface for proposal managers.
29
- * Publishers implement this to provide their proposal generation logic.
30
- */
31
- export interface IProposalManager {
32
- /**
33
- * Check if proposal generation is supported by this server
34
- */
35
- isSupported(): boolean;
36
- /**
37
- * Generate proposals for a get_products request
38
- */
39
- generateProposals(context: ProposalContext): Promise<Proposal[]>;
40
- /**
41
- * Refine an existing proposal based on new instructions
42
- */
43
- refineProposal(proposalId: string, refinementBrief: string, context: ProposalContext): Promise<Proposal | null>;
44
- /**
45
- * Get a stored proposal by ID
46
- */
47
- getProposal(proposalId: string): Promise<Proposal | null>;
48
- /**
49
- * Store a proposal for later retrieval
50
- */
51
- storeProposal(proposal: Proposal): Promise<void>;
52
- /**
53
- * Clean up expired proposals
54
- */
55
- cleanupExpiredProposals(): Promise<number>;
56
- }
57
- /**
58
- * Error codes for proposal operations
59
- */
60
- export declare const ProposalErrorCodes: {
61
- readonly NOT_SUPPORTED: "UNSUPPORTED_FEATURE";
62
- readonly PROPOSAL_NOT_FOUND: "REFERENCE_NOT_FOUND";
63
- readonly PROPOSAL_EXPIRED: "PROPOSAL_EXPIRED";
64
- readonly INVALID_ALLOCATION: "INVALID_REQUEST";
65
- readonly GENERATION_FAILED: "SERVICE_UNAVAILABLE";
66
- };
67
- /**
68
- * Stub implementation of ProposalManager.
69
- * Uses in-memory storage and doesn't generate proposals.
70
- *
71
- * Publishers should extend this class or provide their own implementation
72
- * that integrates with their media planning systems or AI.
73
- */
74
- export declare class ProposalManager implements IProposalManager {
75
- private proposals;
76
- private nextId;
77
- /**
78
- * Check if proposal generation is supported.
79
- * Override this to return true when implementing real logic.
80
- */
81
- isSupported(): boolean;
82
- /**
83
- * Generate proposals for a get_products request.
84
- * Stub implementation returns empty array.
85
- *
86
- * Publishers should override this to implement:
87
- * - AI-powered media planning based on brief
88
- * - Rule-based allocation logic
89
- * - Historical performance-based recommendations
90
- */
91
- generateProposals(context: ProposalContext): Promise<Proposal[]>;
92
- /**
93
- * Refine an existing proposal based on new instructions.
94
- * Stub implementation returns null.
95
- *
96
- * Publishers should override this to implement:
97
- * - Parse refinement instructions (e.g., "more mobile", "increase German reach")
98
- * - Adjust allocations based on instructions
99
- * - Re-validate and return updated proposal
100
- */
101
- refineProposal(proposalId: string, refinementBrief: string, context: ProposalContext): Promise<Proposal | null>;
102
- /**
103
- * Get a stored proposal by ID.
104
- */
105
- getProposal(proposalId: string): Promise<Proposal | null>;
106
- /**
107
- * Store a proposal for later retrieval.
108
- */
109
- storeProposal(proposal: Proposal): Promise<void>;
110
- /**
111
- * Clean up expired proposals.
112
- * Returns the number of proposals removed.
113
- */
114
- cleanupExpiredProposals(): Promise<number>;
115
- /**
116
- * Generate a unique proposal ID.
117
- */
118
- protected generateProposalId(): string;
119
- /**
120
- * Helper to validate that allocations sum to 100%.
121
- */
122
- protected validateAllocations(allocations: ProductAllocation[]): boolean;
123
- /**
124
- * Helper to create a proposal with default expiration.
125
- */
126
- protected createProposal(name: string, description: string, allocations: [ProductAllocation, ...ProductAllocation[]], expirationHours?: number): Proposal;
127
- }
128
- /**
129
- * Example of an AI-powered proposal manager (stub).
130
- * Shows how publishers might extend the base class.
131
- */
132
- export declare class AIProposalManager extends ProposalManager {
133
- private aiEndpoint?;
134
- constructor(aiEndpoint?: string);
135
- isSupported(): boolean;
136
- generateProposals(context: ProposalContext): Promise<Proposal[]>;
137
- }
138
- /**
139
- * Default singleton instance for servers that don't need proposals
140
- */
141
- export declare const defaultProposalManager: ProposalManager;
142
- //# sourceMappingURL=proposal-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposal-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/proposal-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEjE;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAEhH;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE1D;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAAK;IAEnB;;;OAGG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;OAQG;IACG,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IActE;;;;;;;;OAQG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAmB3B;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAe/D;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAchD;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO;IAKxE;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC,EACxD,eAAe,GAAE,MAAW,GAC3B,QAAQ;CAYZ;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,UAAU,CAAC,EAAE,MAAM;IAK/B,WAAW,IAAI,OAAO;IAIhB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgBvE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAwB,CAAC"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- /**
3
- * Proposal Manager
4
- *
5
- * Server-side adapter for managing media plan proposals in get_products.
6
- * Publishers use this to generate, store, and refine proposals based on
7
- * campaign briefs.
8
- *
9
- * This is a stub implementation that doesn't generate proposals.
10
- * Publishers should extend or replace this with their recommendation logic.
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.defaultProposalManager = exports.AIProposalManager = exports.ProposalManager = exports.ProposalErrorCodes = void 0;
14
- /**
15
- * Error codes for proposal operations
16
- */
17
- exports.ProposalErrorCodes = {
18
- NOT_SUPPORTED: 'UNSUPPORTED_FEATURE',
19
- PROPOSAL_NOT_FOUND: 'REFERENCE_NOT_FOUND',
20
- PROPOSAL_EXPIRED: 'PROPOSAL_EXPIRED',
21
- INVALID_ALLOCATION: 'INVALID_REQUEST',
22
- GENERATION_FAILED: 'SERVICE_UNAVAILABLE',
23
- };
24
- /**
25
- * Stub implementation of ProposalManager.
26
- * Uses in-memory storage and doesn't generate proposals.
27
- *
28
- * Publishers should extend this class or provide their own implementation
29
- * that integrates with their media planning systems or AI.
30
- */
31
- class ProposalManager {
32
- proposals = new Map();
33
- nextId = 1;
34
- /**
35
- * Check if proposal generation is supported.
36
- * Override this to return true when implementing real logic.
37
- */
38
- isSupported() {
39
- return false;
40
- }
41
- /**
42
- * Generate proposals for a get_products request.
43
- * Stub implementation returns empty array.
44
- *
45
- * Publishers should override this to implement:
46
- * - AI-powered media planning based on brief
47
- * - Rule-based allocation logic
48
- * - Historical performance-based recommendations
49
- */
50
- async generateProposals(context) {
51
- if (!this.isSupported()) {
52
- return [];
53
- }
54
- // Override in subclass to implement actual proposal generation
55
- // Example implementation would:
56
- // 1. Parse the brief to understand campaign objectives
57
- // 2. Score products against the brief requirements
58
- // 3. Generate optimal budget allocations
59
- // 4. Create one or more proposal variants
60
- return [];
61
- }
62
- /**
63
- * Refine an existing proposal based on new instructions.
64
- * Stub implementation returns null.
65
- *
66
- * Publishers should override this to implement:
67
- * - Parse refinement instructions (e.g., "more mobile", "increase German reach")
68
- * - Adjust allocations based on instructions
69
- * - Re-validate and return updated proposal
70
- */
71
- async refineProposal(proposalId, refinementBrief, context) {
72
- if (!this.isSupported()) {
73
- return null;
74
- }
75
- const existing = await this.getProposal(proposalId);
76
- if (!existing) {
77
- return null;
78
- }
79
- // Check expiration
80
- if (existing.expires_at && new Date(existing.expires_at) < new Date()) {
81
- return null;
82
- }
83
- // Override in subclass to implement actual refinement logic
84
- return null;
85
- }
86
- /**
87
- * Get a stored proposal by ID.
88
- */
89
- async getProposal(proposalId) {
90
- const proposal = this.proposals.get(proposalId);
91
- if (!proposal) {
92
- return null;
93
- }
94
- // Check expiration
95
- if (proposal.expires_at && new Date(proposal.expires_at) < new Date()) {
96
- this.proposals.delete(proposalId);
97
- return null;
98
- }
99
- return proposal;
100
- }
101
- /**
102
- * Store a proposal for later retrieval.
103
- */
104
- async storeProposal(proposal) {
105
- this.proposals.set(proposal.proposal_id, proposal);
106
- }
107
- /**
108
- * Clean up expired proposals.
109
- * Returns the number of proposals removed.
110
- */
111
- async cleanupExpiredProposals() {
112
- const now = new Date();
113
- let removed = 0;
114
- for (const [id, proposal] of this.proposals) {
115
- if (proposal.expires_at && new Date(proposal.expires_at) < now) {
116
- this.proposals.delete(id);
117
- removed++;
118
- }
119
- }
120
- return removed;
121
- }
122
- /**
123
- * Generate a unique proposal ID.
124
- */
125
- generateProposalId() {
126
- return `prop_${this.nextId++}_${Date.now()}`;
127
- }
128
- /**
129
- * Helper to validate that allocations sum to 100%.
130
- */
131
- validateAllocations(allocations) {
132
- const sum = allocations.reduce((acc, a) => acc + a.allocation_percentage, 0);
133
- return Math.abs(sum - 100) < 0.01; // Allow small floating point errors
134
- }
135
- /**
136
- * Helper to create a proposal with default expiration.
137
- */
138
- createProposal(name, description, allocations, expirationHours = 24) {
139
- const expiresAt = new Date();
140
- expiresAt.setHours(expiresAt.getHours() + expirationHours);
141
- return {
142
- proposal_id: this.generateProposalId(),
143
- name,
144
- description,
145
- allocations,
146
- expires_at: expiresAt.toISOString(),
147
- };
148
- }
149
- }
150
- exports.ProposalManager = ProposalManager;
151
- /**
152
- * Example of an AI-powered proposal manager (stub).
153
- * Shows how publishers might extend the base class.
154
- */
155
- class AIProposalManager extends ProposalManager {
156
- aiEndpoint;
157
- constructor(aiEndpoint) {
158
- super();
159
- this.aiEndpoint = aiEndpoint;
160
- }
161
- isSupported() {
162
- return !!this.aiEndpoint;
163
- }
164
- async generateProposals(context) {
165
- if (!this.isSupported() || !context.brief) {
166
- return [];
167
- }
168
- // In a real implementation, this would call an AI service
169
- // to generate recommendations based on the brief and products
170
- //
171
- // Example flow:
172
- // 1. Send brief + product catalog to AI
173
- // 2. AI returns recommended allocations with rationale
174
- // 3. Validate allocations sum to 100%
175
- // 4. Store and return proposals
176
- return [];
177
- }
178
- }
179
- exports.AIProposalManager = AIProposalManager;
180
- /**
181
- * Default singleton instance for servers that don't need proposals
182
- */
183
- exports.defaultProposalManager = new ProposalManager();
184
- //# sourceMappingURL=proposal-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposal-manager.js","sourceRoot":"","sources":["../../../src/lib/adapters/proposal-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA8DH;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa,EAAE,qBAAqB;IACpC,kBAAkB,EAAE,qBAAqB;IACzC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,iBAAiB;IACrC,iBAAiB,EAAE,qBAAqB;CAChC,CAAC;AAEX;;;;;;GAMG;AACH,MAAa,eAAe;IAClB,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC7C,MAAM,GAAG,CAAC,CAAC;IAEnB;;;OAGG;IACH,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAwB;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,+DAA+D;QAC/D,gCAAgC;QAChC,uDAAuD;QACvD,mDAAmD;QACnD,yCAAyC;QACzC,0CAA0C;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,eAAuB,EACvB,OAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4DAA4D;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;YACtE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAkB;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,kBAAkB;QAC1B,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACO,mBAAmB,CAAC,WAAgC;QAC5D,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,oCAAoC;IACzE,CAAC;IAED;;OAEG;IACO,cAAc,CACtB,IAAY,EACZ,WAAmB,EACnB,WAAwD,EACxD,kBAA0B,EAAE;QAE5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAC;QAE3D,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACtC,IAAI;YACJ,WAAW;YACX,WAAW;YACX,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AAjJD,0CAiJC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,eAAe;IAC5C,UAAU,CAAU;IAE5B,YAAY,UAAmB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAwB;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,0DAA0D;QAC1D,8DAA8D;QAC9D,EAAE;QACF,gBAAgB;QAChB,wCAAwC;QACxC,uDAAuD;QACvD,sCAAsC;QACtC,gCAAgC;QAEhC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5BD,8CA4BC;AAED;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC"}