@stacklink/sdk 0.3.10 → 0.3.14

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 (34) hide show
  1. package/compatibility.json +1 -1
  2. package/dist/src/domain/bot-contract.d.ts +671 -312
  3. package/dist/src/domain/bot-contract.d.ts.map +1 -1
  4. package/dist/src/domain/bot-contract.js +69 -1
  5. package/dist/src/domain/bot-contract.js.map +1 -1
  6. package/dist/src/domain/memory-contract.d.ts +117 -117
  7. package/dist/src/domain/platform-approval-contract.d.ts +119 -1
  8. package/dist/src/domain/platform-approval-contract.d.ts.map +1 -1
  9. package/dist/src/domain/platform-approval-contract.js +8 -0
  10. package/dist/src/domain/platform-approval-contract.js.map +1 -1
  11. package/dist/src/domain/provider-branding.d.ts.map +1 -1
  12. package/dist/src/domain/provider-branding.js +7 -0
  13. package/dist/src/domain/provider-branding.js.map +1 -1
  14. package/dist/src/domain/stacklink-meta-tools.d.ts +1 -1
  15. package/dist/src/domain/stacklink-meta-tools.d.ts.map +1 -1
  16. package/dist/src/domain/stacklink-meta-tools.js +2 -2
  17. package/dist/src/domain/stacklink-meta-tools.js.map +1 -1
  18. package/dist/src/sdk/index.d.ts +25 -2
  19. package/dist/src/sdk/index.d.ts.map +1 -1
  20. package/dist/src/sdk/index.js +9 -1
  21. package/dist/src/sdk/index.js.map +1 -1
  22. package/dist/src/sdk/vercel-ai.d.ts +2 -0
  23. package/dist/src/sdk/vercel-ai.d.ts.map +1 -1
  24. package/dist/src/sdk/vercel-ai.js +16 -2
  25. package/dist/src/sdk/vercel-ai.js.map +1 -1
  26. package/dist/src/services/content-normalization/content-type-capabilities.d.ts +15 -0
  27. package/dist/src/services/content-normalization/content-type-capabilities.d.ts.map +1 -0
  28. package/dist/src/services/content-normalization/content-type-capabilities.js +164 -0
  29. package/dist/src/services/content-normalization/content-type-capabilities.js.map +1 -0
  30. package/dist/src/services/content-normalization/normalized-content-artifact.d.ts +230 -0
  31. package/dist/src/services/content-normalization/normalized-content-artifact.d.ts.map +1 -0
  32. package/dist/src/services/content-normalization/normalized-content-artifact.js +147 -0
  33. package/dist/src/services/content-normalization/normalized-content-artifact.js.map +1 -0
  34. package/package.json +1 -1
@@ -8,10 +8,10 @@ export function createStacklinkVercelTools(session, options = {}) {
8
8
  description: entry.description,
9
9
  // Preserve optional/omitted fields and open provider objects. Strict
10
10
  // generation must not silently normalize these public contracts.
11
- strict: false,
11
+ strict: entry.name === 'STACKLINK_SEARCH_TOOLS',
12
12
  get inputSchema() {
13
13
  const parameters = options.inputSchema?.(entry.name, entry.parameters) ?? entry.parameters;
14
- return jsonSchema(parameters, { validate: value => validateFrameworkToolInput(entry.name, parameters, value) });
14
+ return jsonSchema(stacklinkGenerationSchema(entry.name, parameters), { validate: value => validateFrameworkToolInput(entry.name, parameters, value) });
15
15
  },
16
16
  outputSchema: jsonSchema(entry.outputSchema),
17
17
  execute: async (input, execution) => {
@@ -31,6 +31,20 @@ export function createStacklinkVercelTools(session, options = {}) {
31
31
  }),
32
32
  ]));
33
33
  }
34
+ /** The three legal search forms preserve omitted fields without nullable coercion. */
35
+ export function stacklinkGenerationSchema(name, canonical) {
36
+ if (name !== 'STACKLINK_SEARCH_TOOLS')
37
+ return canonical;
38
+ const properties = canonical.properties;
39
+ const queries = properties.queries;
40
+ const item = queries.items;
41
+ const fields = item.properties;
42
+ return { ...canonical, properties: { ...properties, queries: { ...queries, items: {
43
+ anyOf: [['id', 'task'], ['id', 'task', 'providerHint'], ['id', 'task', 'providerRef']].map(keys => ({
44
+ type: 'object', additionalProperties: false, properties: Object.fromEntries(keys.map(key => [key, fields[key]])), required: keys,
45
+ })),
46
+ } } } };
47
+ }
34
48
  export function withStacklinkMemory(model, options) {
35
49
  const lifecycle = createStacklinkMemoryLifecycle(options);
36
50
  const wrapped = wrapLanguageModel({
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../../../../src/sdk/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAoC,MAAM,IAAI,CAAC;AAQ3F,OAAO,EACL,8BAA8B,GAM/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAkC,MAAM,sBAAsB,CAAC;AAY/H,MAAM,UAAU,0BAA0B,CACxC,OAAkC,EAClC,UAAuC,EAAE;IAEzC,OAAO,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5E,KAAK,CAAC,IAAI;QACV,IAAI,CAAC;YACH,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,EAAE,KAAK;YACb,IAAI,WAAW;gBACb,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC3F,OAAO,UAAU,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAClH,CAAC;YACD,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClC,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1I,IAAI,CAAC,UAAU,CAAC,OAAO;oBAAE,MAAM,UAAU,CAAC,KAAK,CAAC;gBAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;gBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY;oBACnC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC;wBACzB,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,KAAK,EAAE,MAAM;qBACd,CAAC;oBACJ,CAAC,CAAC,MAAM,CAAC;gBACX,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3G,CAAC;SACF,CAAC;KACH,CAAC,CAAC,CAAC;AACN,CAAC;AAaD,MAAM,UAAU,mBAAmB,CACjC,KAAqC,EACrC,OAAqC;IAErC,MAAM,SAAS,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,KAAK;QACL,UAAU,EAAE,+BAA+B,CAAC,OAAO,EAAE,SAAS,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE;KAC/C,CAAsD,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAqC,EACrC,iBAA4C;IAE5C,MAAM,SAAS,GAAG,iBAAiB,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,OAAO,EAAqD,CAAC;IACnF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsD,CAAC;IACnF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,0BAA0B,CAAC;IAE5E,OAAO;QACL,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClG,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,IAAI,KAAK,IAAI,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,oBAAoB,CAAC;4BACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;4BAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,SAAS,EAAE,eAAe;4BAC1B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE;yBAChC,CAAC,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACT,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK;oBAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,OAAO;oBACL,GAAG,MAAM;oBACT,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE;wBACzC,KAAK;wBACL,OAAO,EAAE,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;wBACvD,OAAO,EAAE,CAAC,kBAAkB,EAAE,EAAE;4BAC9B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACzB,IAAI,KAAK,IAAI,kBAAkB,KAAK,KAAK;gCAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACrE,CAAC;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,KAAK;oBAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAgC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,WAAW,CAAC,IAAgC;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAiD,EACjD,KAIC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,YAAqD,CAAC;IAC1D,IAAI,UAA8B,CAAC;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,IAAI,cAAc,CAA4B;QACnD,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;oBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;wBAAE,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC;oBAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,EAAE;wBAAE,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;oBACvE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC7D,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC3F,IAAI,CAAC;wBACH,IAAI,KAAK,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC;4BACtC,MAAM,KAAK,CAAC,OAAO,CAAC;gCAClB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;gCAC9B,aAAa;gCACb,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gCACtB,SAAS,EAAE,eAAe;gCAC1B,UAAU;6BACX,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,CAAC;gBACD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAkC;IACxD,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM;YAAE,SAAS;QACvC,OAAO,OAAO,CAAC,OAAO;aACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAA4C,EAC5C,OAAe,EACf,UAAkB;IAElB,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9E,OAAO;QACL,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;QAClC;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG,OAAO,OAAO,UAAU,EAAE;SACvC;QACD,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAiC;IACtD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAyC;IACzE,OAAO,YAAY,CAAC,OAAO,KAAK,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC;AACnF,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAkC;IACzE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzF,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;IACzF,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC7E,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAgD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../../../../src/sdk/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAoC,MAAM,IAAI,CAAC;AAQ3F,OAAO,EACL,8BAA8B,GAM/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAkC,MAAM,sBAAsB,CAAC;AAY/H,MAAM,UAAU,0BAA0B,CACxC,OAAkC,EAClC,UAAuC,EAAE;IAEzC,OAAO,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5E,KAAK,CAAC,IAAI;QACV,IAAI,CAAC;YACH,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,wBAAwB;YAC/C,IAAI,WAAW;gBACb,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC3F,OAAO,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACzJ,CAAC;YACD,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClC,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1I,IAAI,CAAC,UAAU,CAAC,OAAO;oBAAE,MAAM,UAAU,CAAC,KAAK,CAAC;gBAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;gBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY;oBACnC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC;wBACzB,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,KAAK,EAAE,MAAM;qBACd,CAAC;oBACJ,CAAC,CAAC,MAAM,CAAC;gBACX,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3G,CAAC;SACF,CAAC;KACH,CAAC,CAAC,CAAC;AACN,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,SAAkC;IACxF,IAAI,IAAI,KAAK,wBAAwB;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAqD,CAAC;IACnF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAQ,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAgC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAqC,CAAC;IAC1D,OAAO,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE;oBAChF,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClG,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI;qBACjI,CAAC,CAAC;iBACJ,EAAE,EAAE,EAAE,CAAC;AACV,CAAC;AAaD,MAAM,UAAU,mBAAmB,CACjC,KAAqC,EACrC,OAAqC;IAErC,MAAM,SAAS,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,KAAK;QACL,UAAU,EAAE,+BAA+B,CAAC,OAAO,EAAE,SAAS,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE;KAC/C,CAAsD,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAqC,EACrC,iBAA4C;IAE5C,MAAM,SAAS,GAAG,iBAAiB,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,OAAO,EAAqD,CAAC;IACnF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsD,CAAC;IACnF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,0BAA0B,CAAC;IAE5E,OAAO;QACL,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClG,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,IAAI,KAAK,IAAI,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,oBAAoB,CAAC;4BACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;4BAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,SAAS,EAAE,eAAe;4BAC1B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE;yBAChC,CAAC,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACT,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK;oBAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,OAAO;oBACL,GAAG,MAAM;oBACT,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE;wBACzC,KAAK;wBACL,OAAO,EAAE,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;wBACvD,OAAO,EAAE,CAAC,kBAAkB,EAAE,EAAE;4BAC9B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACzB,IAAI,KAAK,IAAI,kBAAkB,KAAK,KAAK;gCAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACrE,CAAC;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,KAAK;oBAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAgC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,WAAW,CAAC,IAAgC;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAiD,EACjD,KAIC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,YAAqD,CAAC;IAC1D,IAAI,UAA8B,CAAC;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,IAAI,cAAc,CAA4B;QACnD,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;oBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;wBAAE,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC;oBAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,EAAE;wBAAE,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;oBACvE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC7D,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC3F,IAAI,CAAC;wBACH,IAAI,KAAK,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC;4BACtC,MAAM,KAAK,CAAC,OAAO,CAAC;gCAClB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;gCAC9B,aAAa;gCACb,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gCACtB,SAAS,EAAE,eAAe;gCAC1B,UAAU;6BACX,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,CAAC;gBACD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAkC;IACxD,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM;YAAE,SAAS;QACvC,OAAO,OAAO,CAAC,OAAO;aACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAA4C,EAC5C,OAAe,EACf,UAAkB;IAElB,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9E,OAAO;QACL,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;QAClC;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG,OAAO,OAAO,UAAU,EAAE;SACvC;QACD,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAiC;IACtD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAyC;IACzE,OAAO,YAAY,CAAC,OAAO,KAAK,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC;AACnF,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAkC;IACzE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzF,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;IACzF,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC7E,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAgD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type ContentExtractionMode = 'plain_text' | 'html' | 'spreadsheet' | 'docx' | 'pdf' | 'pptx' | 'rtf' | 'eml' | 'image' | 'audio' | 'video' | 'zip_manifest' | 'unsupported';
2
+ export interface ContentFileCapability {
3
+ mode: ContentExtractionMode;
4
+ isTextLike: boolean;
5
+ canRenderPages: boolean;
6
+ canPreviewManifest: boolean;
7
+ supported: boolean;
8
+ reason?: string;
9
+ }
10
+ export declare function getFilenameExtension(filename: string): string;
11
+ export declare function getContentFileCapability(input: {
12
+ mediaType: string;
13
+ filename: string;
14
+ }): ContentFileCapability;
15
+ //# sourceMappingURL=content-type-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-capabilities.d.ts","sourceRoot":"","sources":["../../../../../../src/services/content-normalization/content-type-capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,MAAM,GACN,aAAa,GACb,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkFD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7D;AAQD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,qBAAqB,CA4FxB"}
@@ -0,0 +1,164 @@
1
+ const TEXT_EXTENSIONS = new Set([
2
+ 'txt',
3
+ 'csv',
4
+ 'json',
5
+ 'md',
6
+ 'markdown',
7
+ 'xml',
8
+ 'html',
9
+ 'htm',
10
+ 'css',
11
+ 'scss',
12
+ 'less',
13
+ 'js',
14
+ 'jsx',
15
+ 'ts',
16
+ 'tsx',
17
+ 'mjs',
18
+ 'cjs',
19
+ 'py',
20
+ 'java',
21
+ 'c',
22
+ 'cc',
23
+ 'cpp',
24
+ 'h',
25
+ 'hpp',
26
+ 'go',
27
+ 'rs',
28
+ 'rb',
29
+ 'php',
30
+ 'sql',
31
+ 'sh',
32
+ 'bash',
33
+ 'zsh',
34
+ 'fish',
35
+ 'ps1',
36
+ 'bat',
37
+ 'cmd',
38
+ 'yaml',
39
+ 'yml',
40
+ 'toml',
41
+ 'ini',
42
+ 'conf',
43
+ 'log',
44
+ ]);
45
+ const TEXT_FILENAMES = new Set([
46
+ '.env',
47
+ '.gitignore',
48
+ 'dockerfile',
49
+ 'makefile',
50
+ ]);
51
+ const SPREADSHEET_EXTENSIONS = new Set(['xlsx', 'xls', 'xlsm', 'csv']);
52
+ const DOCX_EXTENSIONS = new Set(['docx']);
53
+ const LEGACY_DOC_EXTENSIONS = new Set(['doc']);
54
+ const PDF_EXTENSIONS = new Set(['pdf']);
55
+ const PPTX_EXTENSIONS = new Set(['pptx']);
56
+ const RTF_EXTENSIONS = new Set(['rtf']);
57
+ const EML_EXTENSIONS = new Set(['eml']);
58
+ const ZIP_EXTENSIONS = new Set(['zip']);
59
+ const HTML_EXTENSIONS = new Set(['html', 'htm']);
60
+ const IMAGE_EXTENSIONS = new Set(['png', 'jpg', 'jpeg', 'webp', 'gif']);
61
+ const AUDIO_EXTENSIONS = new Set(['mp3', 'mpeg', 'mpga', 'm4a', 'wav', 'webm']);
62
+ const VIDEO_EXTENSIONS = new Set(['mp4', 'mpeg', 'webm']);
63
+ const IMAGE_MEDIA_TYPES = new Set(['image/png', 'image/jpeg', 'image/webp', 'image/gif']);
64
+ const AUDIO_MEDIA_TYPES = new Set([
65
+ 'audio/mpeg',
66
+ 'audio/mp4',
67
+ 'audio/mpga',
68
+ 'audio/x-m4a',
69
+ 'audio/wav',
70
+ 'audio/x-wav',
71
+ 'audio/webm',
72
+ ]);
73
+ const VIDEO_MEDIA_TYPES = new Set(['video/mp4', 'video/mpeg', 'video/webm']);
74
+ function lowerTrim(value) {
75
+ return (value ?? '').trim().toLowerCase();
76
+ }
77
+ export function getFilenameExtension(filename) {
78
+ const lower = lowerTrim(filename);
79
+ const slashIndex = Math.max(lower.lastIndexOf('/'), lower.lastIndexOf('\\'));
80
+ const basename = slashIndex >= 0 ? lower.slice(slashIndex + 1) : lower;
81
+ const dotIndex = basename.lastIndexOf('.');
82
+ if (dotIndex <= 0 || dotIndex === basename.length - 1) {
83
+ return '';
84
+ }
85
+ return basename.slice(dotIndex + 1);
86
+ }
87
+ function getBasename(filename) {
88
+ const lower = lowerTrim(filename);
89
+ const slashIndex = Math.max(lower.lastIndexOf('/'), lower.lastIndexOf('\\'));
90
+ return slashIndex >= 0 ? lower.slice(slashIndex + 1) : lower;
91
+ }
92
+ export function getContentFileCapability(input) {
93
+ const mediaType = lowerTrim(input.mediaType);
94
+ const basename = getBasename(input.filename);
95
+ const extension = getFilenameExtension(input.filename);
96
+ const hasTypedMedia = IMAGE_MEDIA_TYPES.has(mediaType)
97
+ || VIDEO_MEDIA_TYPES.has(mediaType)
98
+ || AUDIO_MEDIA_TYPES.has(mediaType);
99
+ if (mediaType === 'text/html' || HTML_EXTENSIONS.has(extension)) {
100
+ return { mode: 'html', isTextLike: true, canRenderPages: false, canPreviewManifest: false, supported: true };
101
+ }
102
+ if (IMAGE_MEDIA_TYPES.has(mediaType) || (!hasTypedMedia && IMAGE_EXTENSIONS.has(extension))) {
103
+ return { mode: 'image', isTextLike: false, canRenderPages: true, canPreviewManifest: false, supported: true };
104
+ }
105
+ if (VIDEO_MEDIA_TYPES.has(mediaType) || (!hasTypedMedia && VIDEO_EXTENSIONS.has(extension))) {
106
+ return { mode: 'video', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
107
+ }
108
+ if (AUDIO_MEDIA_TYPES.has(mediaType) || (!hasTypedMedia && AUDIO_EXTENSIONS.has(extension))) {
109
+ return { mode: 'audio', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
110
+ }
111
+ if (mediaType.includes('spreadsheet')
112
+ || mediaType.includes('excel')
113
+ || SPREADSHEET_EXTENSIONS.has(extension)) {
114
+ return { mode: 'spreadsheet', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
115
+ }
116
+ if (mediaType.includes('wordprocessingml') || DOCX_EXTENSIONS.has(extension)) {
117
+ return { mode: 'docx', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
118
+ }
119
+ if (mediaType === 'application/msword' || LEGACY_DOC_EXTENSIONS.has(extension)) {
120
+ return {
121
+ mode: 'unsupported',
122
+ isTextLike: false,
123
+ canRenderPages: false,
124
+ canPreviewManifest: false,
125
+ supported: false,
126
+ reason: 'Legacy .doc (Word 97-2003) is not supported. Convert it to .docx or PDF and re-upload.',
127
+ };
128
+ }
129
+ if (mediaType === 'application/pdf' || PDF_EXTENSIONS.has(extension)) {
130
+ return { mode: 'pdf', isTextLike: false, canRenderPages: true, canPreviewManifest: false, supported: true };
131
+ }
132
+ if (mediaType.includes('presentationml') || PPTX_EXTENSIONS.has(extension)) {
133
+ return { mode: 'pptx', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
134
+ }
135
+ if (mediaType === 'application/rtf' || mediaType === 'text/rtf' || RTF_EXTENSIONS.has(extension)) {
136
+ return { mode: 'rtf', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
137
+ }
138
+ if (mediaType === 'message/rfc822' || EML_EXTENSIONS.has(extension)) {
139
+ return { mode: 'eml', isTextLike: false, canRenderPages: false, canPreviewManifest: false, supported: true };
140
+ }
141
+ if (mediaType === 'application/zip'
142
+ || mediaType === 'application/x-zip-compressed'
143
+ || ZIP_EXTENSIONS.has(extension)) {
144
+ return { mode: 'zip_manifest', isTextLike: false, canRenderPages: false, canPreviewManifest: true, supported: true };
145
+ }
146
+ if (mediaType.startsWith('text/') || TEXT_EXTENSIONS.has(extension) || TEXT_FILENAMES.has(basename)) {
147
+ return { mode: 'plain_text', isTextLike: true, canRenderPages: false, canPreviewManifest: false, supported: true };
148
+ }
149
+ if (mediaType === 'application/json'
150
+ || mediaType === 'application/xml'
151
+ || mediaType === 'application/x-yaml'
152
+ || mediaType === 'application/yaml') {
153
+ return { mode: 'plain_text', isTextLike: true, canRenderPages: false, canPreviewManifest: false, supported: true };
154
+ }
155
+ return {
156
+ mode: 'unsupported',
157
+ isTextLike: false,
158
+ canRenderPages: false,
159
+ canPreviewManifest: false,
160
+ supported: false,
161
+ reason: `Unsupported file type for "${input.filename}" (mediaType="${input.mediaType}"). Upload text, HTML, PDF, DOCX, spreadsheet, presentation, image, audio, video, EML, or ZIP content.`,
162
+ };
163
+ }
164
+ //# sourceMappingURL=content-type-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-capabilities.js","sourceRoot":"","sources":["../../../../../../src/services/content-normalization/content-type-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import type { ContentExtractionMode } from './content-type-capabilities.js';
2
+ export declare const CONTENT_NORMALIZER_VERSION = "stacklink-content-v1";
3
+ export type NormalizedContentKind = ContentExtractionMode;
4
+ export type ContentLocator = {
5
+ kind: 'file';
6
+ } | {
7
+ kind: 'text_lines';
8
+ startLine: number;
9
+ endLine?: number;
10
+ } | {
11
+ kind: 'pdf_page';
12
+ pageNumber: number;
13
+ } | {
14
+ kind: 'pdf_pages';
15
+ startPage: number;
16
+ endPage: number;
17
+ } | {
18
+ kind: 'spreadsheet_sheet';
19
+ sheetName: string;
20
+ } | {
21
+ kind: 'spreadsheet_range';
22
+ sheetName: string;
23
+ startRow: number;
24
+ endRow?: number;
25
+ startColumn?: string;
26
+ endColumn?: string;
27
+ } | {
28
+ kind: 'docx_paragraph';
29
+ paragraphIndex: number;
30
+ } | {
31
+ kind: 'docx_table';
32
+ tableIndex: number;
33
+ } | {
34
+ kind: 'docx_section';
35
+ sectionIndex: number;
36
+ heading?: string;
37
+ } | {
38
+ kind: 'pptx_slide';
39
+ slideNumber: number;
40
+ } | {
41
+ kind: 'eml_part';
42
+ part: 'headers' | 'body' | 'attachment_manifest';
43
+ } | {
44
+ kind: 'html_section';
45
+ heading?: string;
46
+ sectionIndex: number;
47
+ } | {
48
+ kind: 'image_region';
49
+ pageNumber?: number;
50
+ description?: string;
51
+ } | {
52
+ kind: 'media_segment';
53
+ startSeconds: number;
54
+ endSeconds: number;
55
+ speaker?: string;
56
+ } | {
57
+ kind: 'zip_entry';
58
+ path: string;
59
+ };
60
+ export interface ContentNormalizationWarning {
61
+ code: string;
62
+ message: string;
63
+ locator?: ContentLocator;
64
+ }
65
+ export interface ContentLineSpan {
66
+ lineNumber: number;
67
+ startOffset: number;
68
+ endOffset: number;
69
+ }
70
+ export interface NormalizedPage {
71
+ pageNumber: number;
72
+ text: string;
73
+ charStart?: number;
74
+ charEnd?: number;
75
+ }
76
+ export interface NormalizedSpreadsheetSheet {
77
+ name: string;
78
+ rowCount?: number;
79
+ columnCount?: number;
80
+ range?: string;
81
+ previewStartRow?: number;
82
+ previewEndRow?: number;
83
+ previewStartColumn?: string;
84
+ previewEndColumn?: string;
85
+ previewCsv: string;
86
+ previewCells?: string[][];
87
+ truncatedRows: boolean;
88
+ charStart?: number;
89
+ charEnd?: number;
90
+ }
91
+ export interface NormalizedDocxParagraph {
92
+ paragraphIndex: number;
93
+ text: string;
94
+ charStart?: number;
95
+ charEnd?: number;
96
+ }
97
+ export interface NormalizedDocxTable {
98
+ tableIndex: number;
99
+ text: string;
100
+ }
101
+ export interface NormalizedDocxSection {
102
+ sectionIndex: number;
103
+ heading?: string;
104
+ text: string;
105
+ charStart?: number;
106
+ charEnd?: number;
107
+ }
108
+ export interface NormalizedPptxSlide {
109
+ slideNumber: number;
110
+ text: string;
111
+ notesText?: string;
112
+ charStart?: number;
113
+ charEnd?: number;
114
+ }
115
+ export interface NormalizedEmail {
116
+ headers: Record<string, string>;
117
+ bodyText: string;
118
+ attachmentManifest: string[];
119
+ }
120
+ export interface NormalizedZipEntry {
121
+ path: string;
122
+ directory: boolean;
123
+ uncompressedSize?: number;
124
+ }
125
+ export interface NormalizedHtmlSection {
126
+ sectionIndex: number;
127
+ heading?: string;
128
+ text: string;
129
+ charStart: number;
130
+ charEnd: number;
131
+ }
132
+ export interface NormalizedVisualContent {
133
+ pageNumber?: number;
134
+ text: string;
135
+ description?: string;
136
+ charStart?: number;
137
+ charEnd?: number;
138
+ }
139
+ export interface NormalizedMediaSegment {
140
+ startSeconds: number;
141
+ endSeconds: number;
142
+ text: string;
143
+ speaker?: string;
144
+ charStart?: number;
145
+ charEnd?: number;
146
+ }
147
+ export interface NormalizedContentArtifact {
148
+ kind: NormalizedContentKind;
149
+ filename: string;
150
+ mediaType: string;
151
+ extractorVersion: typeof CONTENT_NORMALIZER_VERSION;
152
+ plainText: string;
153
+ lineMap?: ContentLineSpan[];
154
+ pages?: NormalizedPage[];
155
+ sheets?: NormalizedSpreadsheetSheet[];
156
+ docx?: {
157
+ paragraphs: NormalizedDocxParagraph[];
158
+ tables: NormalizedDocxTable[];
159
+ sections: NormalizedDocxSection[];
160
+ };
161
+ slides?: NormalizedPptxSlide[];
162
+ email?: NormalizedEmail;
163
+ htmlSections?: NormalizedHtmlSection[];
164
+ visuals?: NormalizedVisualContent[];
165
+ mediaSegments?: NormalizedMediaSegment[];
166
+ durationSeconds?: number;
167
+ zipManifest?: NormalizedZipEntry[];
168
+ warnings: ContentNormalizationWarning[];
169
+ unsupportedReason?: string;
170
+ }
171
+ export declare function compactNormalizedContentStructure(artifact: NormalizedContentArtifact): {
172
+ kind: ContentExtractionMode;
173
+ pages: {
174
+ pageNumber: number;
175
+ charStart: number | null;
176
+ charEnd: number | null;
177
+ }[];
178
+ sheets: {
179
+ name: string;
180
+ range: string | null;
181
+ rowCount: number | null;
182
+ columnCount: number | null;
183
+ charStart: number | null;
184
+ charEnd: number | null;
185
+ previewStartRow: number | null;
186
+ previewEndRow: number | null;
187
+ previewStartColumn: string | null;
188
+ previewEndColumn: string | null;
189
+ }[];
190
+ docxParagraphs: {
191
+ paragraphIndex: number;
192
+ charStart: number | null;
193
+ charEnd: number | null;
194
+ }[];
195
+ docxSections: {
196
+ sectionIndex: number;
197
+ heading: string | null;
198
+ charStart: number | null;
199
+ charEnd: number | null;
200
+ }[];
201
+ slides: {
202
+ slideNumber: number;
203
+ charStart: number | null;
204
+ charEnd: number | null;
205
+ }[];
206
+ htmlSections: {
207
+ sectionIndex: number;
208
+ heading: string | null;
209
+ charStart: number;
210
+ charEnd: number;
211
+ }[];
212
+ mediaSegments: {
213
+ startSeconds: number;
214
+ endSeconds: number;
215
+ speaker: string | null;
216
+ charStart: number | null;
217
+ charEnd: number | null;
218
+ }[];
219
+ visuals: {
220
+ pageNumber: number | null;
221
+ description: string | null;
222
+ charStart: number | null;
223
+ charEnd: number | null;
224
+ }[];
225
+ durationSeconds: number | null;
226
+ warnings: ContentNormalizationWarning[];
227
+ };
228
+ export declare function buildContentLineMap(text: string): ContentLineSpan[];
229
+ export declare function formatContentLocator(locator: ContentLocator): string;
230
+ //# sourceMappingURL=normalized-content-artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalized-content-artifact.d.ts","sourceRoot":"","sources":["../../../../../../src/services/content-normalization/normalized-content-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,qBAAqB,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,0BAA0B,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACtC,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,uBAAuB,EAAE,CAAC;QACtC,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC9B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;KACnC,CAAC;IACF,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,QAAQ,EAAE,2BAA2B,EAAE,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DpF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAqCnE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAqDpE"}
@@ -0,0 +1,147 @@
1
+ export const CONTENT_NORMALIZER_VERSION = 'stacklink-content-v1';
2
+ export function compactNormalizedContentStructure(artifact) {
3
+ return {
4
+ kind: artifact.kind,
5
+ pages: artifact.pages?.map((page) => ({
6
+ pageNumber: page.pageNumber,
7
+ charStart: page.charStart ?? null,
8
+ charEnd: page.charEnd ?? null,
9
+ })) ?? [],
10
+ sheets: artifact.sheets?.map((sheet) => ({
11
+ name: sheet.name,
12
+ range: sheet.range ?? null,
13
+ rowCount: sheet.rowCount ?? null,
14
+ columnCount: sheet.columnCount ?? null,
15
+ charStart: sheet.charStart ?? null,
16
+ charEnd: sheet.charEnd ?? null,
17
+ previewStartRow: sheet.previewStartRow ?? null,
18
+ previewEndRow: sheet.previewEndRow ?? null,
19
+ previewStartColumn: sheet.previewStartColumn ?? null,
20
+ previewEndColumn: sheet.previewEndColumn ?? null,
21
+ })) ?? [],
22
+ docxParagraphs: artifact.docx?.paragraphs.map((paragraph) => ({
23
+ paragraphIndex: paragraph.paragraphIndex,
24
+ charStart: paragraph.charStart ?? null,
25
+ charEnd: paragraph.charEnd ?? null,
26
+ })) ?? [],
27
+ docxSections: artifact.docx?.sections.map((section) => ({
28
+ sectionIndex: section.sectionIndex,
29
+ heading: section.heading ?? null,
30
+ charStart: section.charStart ?? null,
31
+ charEnd: section.charEnd ?? null,
32
+ })) ?? [],
33
+ slides: artifact.slides?.map((slide) => ({
34
+ slideNumber: slide.slideNumber,
35
+ charStart: slide.charStart ?? null,
36
+ charEnd: slide.charEnd ?? null,
37
+ })) ?? [],
38
+ htmlSections: artifact.htmlSections?.map((section) => ({
39
+ sectionIndex: section.sectionIndex,
40
+ heading: section.heading ?? null,
41
+ charStart: section.charStart,
42
+ charEnd: section.charEnd,
43
+ })) ?? [],
44
+ mediaSegments: artifact.mediaSegments?.map((segment) => ({
45
+ startSeconds: segment.startSeconds,
46
+ endSeconds: segment.endSeconds,
47
+ speaker: segment.speaker ?? null,
48
+ charStart: segment.charStart ?? null,
49
+ charEnd: segment.charEnd ?? null,
50
+ })) ?? [],
51
+ visuals: artifact.visuals?.map((visual) => ({
52
+ pageNumber: visual.pageNumber ?? null,
53
+ description: visual.description ?? null,
54
+ charStart: visual.charStart ?? null,
55
+ charEnd: visual.charEnd ?? null,
56
+ })) ?? [],
57
+ durationSeconds: artifact.durationSeconds ?? null,
58
+ warnings: artifact.warnings,
59
+ };
60
+ }
61
+ export function buildContentLineMap(text) {
62
+ if (text.length === 0) {
63
+ return [];
64
+ }
65
+ const spans = [];
66
+ let lineNumber = 1;
67
+ let startOffset = 0;
68
+ for (let index = 0; index < text.length; index += 1) {
69
+ const char = text[index];
70
+ if (char !== '\n' && char !== '\r') {
71
+ continue;
72
+ }
73
+ spans.push({
74
+ lineNumber,
75
+ startOffset,
76
+ endOffset: index,
77
+ });
78
+ lineNumber += 1;
79
+ if (char === '\r' && text[index + 1] === '\n') {
80
+ index += 1;
81
+ }
82
+ startOffset = index + 1;
83
+ }
84
+ if (startOffset < text.length) {
85
+ spans.push({
86
+ lineNumber,
87
+ startOffset,
88
+ endOffset: text.length,
89
+ });
90
+ }
91
+ return spans;
92
+ }
93
+ export function formatContentLocator(locator) {
94
+ switch (locator.kind) {
95
+ case 'file':
96
+ return 'file';
97
+ case 'text_lines':
98
+ return locator.endLine && locator.endLine !== locator.startLine
99
+ ? `lines ${locator.startLine}-${locator.endLine}`
100
+ : `line ${locator.startLine}`;
101
+ case 'pdf_page':
102
+ return `page ${locator.pageNumber}`;
103
+ case 'pdf_pages':
104
+ return locator.startPage === locator.endPage
105
+ ? `page ${locator.startPage}`
106
+ : `pages ${locator.startPage}-${locator.endPage}`;
107
+ case 'spreadsheet_sheet':
108
+ return `sheet ${locator.sheetName}`;
109
+ case 'spreadsheet_range': {
110
+ const rows = locator.endRow && locator.endRow !== locator.startRow
111
+ ? `rows ${locator.startRow}-${locator.endRow}`
112
+ : `row ${locator.startRow}`;
113
+ if (!locator.startColumn) {
114
+ return `sheet ${locator.sheetName}, ${rows}`;
115
+ }
116
+ const columns = locator.endColumn && locator.endColumn !== locator.startColumn
117
+ ? `columns ${locator.startColumn}-${locator.endColumn}`
118
+ : `column ${locator.startColumn}`;
119
+ return `sheet ${locator.sheetName}, ${rows}, ${columns}`;
120
+ }
121
+ case 'docx_paragraph':
122
+ return `paragraph ${locator.paragraphIndex}`;
123
+ case 'docx_table':
124
+ return `table ${locator.tableIndex}`;
125
+ case 'docx_section':
126
+ return locator.heading
127
+ ? `section ${locator.sectionIndex}: ${locator.heading}`
128
+ : `section ${locator.sectionIndex}`;
129
+ case 'pptx_slide':
130
+ return `slide ${locator.slideNumber}`;
131
+ case 'eml_part':
132
+ return `email ${locator.part}`;
133
+ case 'html_section':
134
+ return locator.heading
135
+ ? `section ${locator.sectionIndex}: ${locator.heading}`
136
+ : `section ${locator.sectionIndex}`;
137
+ case 'image_region':
138
+ return locator.pageNumber ? `image on page ${locator.pageNumber}` : 'image';
139
+ case 'media_segment': {
140
+ const range = `${locator.startSeconds.toFixed(2)}s-${locator.endSeconds.toFixed(2)}s`;
141
+ return locator.speaker ? `${locator.speaker}, ${range}` : range;
142
+ }
143
+ case 'zip_entry':
144
+ return `zip entry ${locator.path}`;
145
+ }
146
+ }
147
+ //# sourceMappingURL=normalized-content-artifact.js.map