@zimtsui/typechat 0.0.125 → 0.0.127

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 (119) hide show
  1. package/build/adaptor.d.ts +0 -10
  2. package/build/adaptor.js +0 -32
  3. package/build/adaptor.js.map +1 -1
  4. package/build/engine/exceptions.d.ts +7 -7
  5. package/build/engine/exceptions.js.map +1 -1
  6. package/build/engine/message-validator.d.ts +9 -0
  7. package/build/engine/message-validator.js +28 -0
  8. package/build/engine/message-validator.js.map +1 -0
  9. package/build/engine/message.d.ts +33 -31
  10. package/build/engine/message.js +26 -75
  11. package/build/engine/message.js.map +1 -1
  12. package/build/engine/middleware.d.ts +2 -2
  13. package/build/engine/session.d.ts +4 -4
  14. package/build/engine/tool-choice-validator.d.ts +2 -2
  15. package/build/engine/tool-choice-validator.js +18 -21
  16. package/build/engine/tool-choice-validator.js.map +1 -1
  17. package/build/engine/transport.d.ts +2 -2
  18. package/build/engine.d.ts +11 -11
  19. package/build/engine.js +29 -56
  20. package/build/engine.js.map +1 -1
  21. package/build/engines/anthropic/message-codec.d.ts +9 -5
  22. package/build/engines/anthropic/message-codec.js +37 -35
  23. package/build/engines/anthropic/message-codec.js.map +1 -1
  24. package/build/engines/anthropic/tool-codec.d.ts +3 -3
  25. package/build/engines/anthropic/tool-codec.js +45 -14
  26. package/build/engines/anthropic/tool-codec.js.map +1 -1
  27. package/build/engines/anthropic/transport.d.ts +1 -2
  28. package/build/engines/anthropic/transport.js +5 -2
  29. package/build/engines/anthropic/transport.js.map +1 -1
  30. package/build/engines/anthropic.d.ts +0 -3
  31. package/build/engines/anthropic.js +1 -8
  32. package/build/engines/anthropic.js.map +1 -1
  33. package/build/engines/google/message-codec.d.ts +10 -7
  34. package/build/engines/google/message-codec.js +50 -70
  35. package/build/engines/google/message-codec.js.map +1 -1
  36. package/build/engines/google/tool-codec.d.ts +2 -3
  37. package/build/engines/google/tool-codec.js +51 -22
  38. package/build/engines/google/tool-codec.js.map +1 -1
  39. package/build/engines/google/transport.d.ts +1 -8
  40. package/build/engines/google/transport.js +1 -13
  41. package/build/engines/google/transport.js.map +1 -1
  42. package/build/engines/google.d.ts +3 -25
  43. package/build/engines/google.js +1 -124
  44. package/build/engines/google.js.map +1 -1
  45. package/build/engines/openai-chatcompletions/message-codec.d.ts +11 -7
  46. package/build/engines/openai-chatcompletions/message-codec.js +45 -45
  47. package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
  48. package/build/engines/openai-chatcompletions/tool-codec.d.ts +3 -3
  49. package/build/engines/openai-chatcompletions/tool-codec.js +31 -31
  50. package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -1
  51. package/build/engines/openai-chatcompletions/transport.d.ts +2 -2
  52. package/build/engines/openai-chatcompletions/transport.js +16 -13
  53. package/build/engines/openai-chatcompletions/transport.js.map +1 -1
  54. package/build/engines/openai-chatcompletions.d.ts +0 -3
  55. package/build/engines/openai-chatcompletions.js +1 -8
  56. package/build/engines/openai-chatcompletions.js.map +1 -1
  57. package/build/engines/openai-compatible/message-codec.d.ts +14 -5
  58. package/build/engines/openai-compatible/message-codec.js +72 -71
  59. package/build/engines/openai-compatible/message-codec.js.map +1 -1
  60. package/build/engines/openai-compatible/transport.d.ts +3 -6
  61. package/build/engines/openai-compatible/transport.js +10 -8
  62. package/build/engines/openai-compatible/transport.js.map +1 -1
  63. package/build/engines/openai-compatible.d.ts +0 -3
  64. package/build/engines/openai-compatible.js +1 -8
  65. package/build/engines/openai-compatible.js.map +1 -1
  66. package/build/engines/openai-responses/message-codec.d.ts +12 -5
  67. package/build/engines/openai-responses/message-codec.js +72 -88
  68. package/build/engines/openai-responses/message-codec.js.map +1 -1
  69. package/build/engines/openai-responses/tool-codec.d.ts +5 -3
  70. package/build/engines/openai-responses/tool-codec.js +43 -28
  71. package/build/engines/openai-responses/tool-codec.js.map +1 -1
  72. package/build/engines/openai-responses/transport.d.ts +2 -6
  73. package/build/engines/openai-responses/transport.js +5 -8
  74. package/build/engines/openai-responses/transport.js.map +1 -1
  75. package/build/engines/openai-responses.d.ts +3 -24
  76. package/build/engines/openai-responses.js +1 -111
  77. package/build/engines/openai-responses.js.map +1 -1
  78. package/build/exports/xml.d.ts +2 -2
  79. package/build/exports/xml.js +2 -2
  80. package/build/exports/xml.js.map +1 -1
  81. package/build/exports.d.ts +1 -5
  82. package/build/exports.js +1 -5
  83. package/build/exports.js.map +1 -1
  84. package/build/function.d.ts +4 -2
  85. package/build/function.js +2 -2
  86. package/build/function.js.map +1 -1
  87. package/build/media.d.ts +2 -2
  88. package/build/media.js +5 -5
  89. package/build/media.js.map +1 -1
  90. package/build/text.d.ts +8 -0
  91. package/build/text.js +11 -0
  92. package/build/text.js.map +1 -0
  93. package/build/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +3 -3
  95. package/DEVELOPMENT.md +0 -11
  96. package/build/engine/parts-validator.d.ts +0 -8
  97. package/build/engine/parts-validator.js +0 -12
  98. package/build/engine/parts-validator.js.map +0 -1
  99. package/build/engines/anthropic/message.d.ts +0 -19
  100. package/build/engines/anthropic/message.js +0 -20
  101. package/build/engines/anthropic/message.js.map +0 -1
  102. package/build/engines/google/message.d.ts +0 -36
  103. package/build/engines/google/message.js +0 -58
  104. package/build/engines/google/message.js.map +0 -1
  105. package/build/engines/openai-chatcompletions/message.d.ts +0 -19
  106. package/build/engines/openai-chatcompletions/message.js +0 -20
  107. package/build/engines/openai-chatcompletions/message.js.map +0 -1
  108. package/build/engines/openai-compatible/message.d.ts +0 -19
  109. package/build/engines/openai-compatible/message.js +0 -20
  110. package/build/engines/openai-compatible/message.js.map +0 -1
  111. package/build/engines/openai-responses/message.d.ts +0 -22
  112. package/build/engines/openai-responses/message.js +0 -38
  113. package/build/engines/openai-responses/message.js.map +0 -1
  114. package/build/engines/openai-responses/tool-choice-validator.d.ts +0 -11
  115. package/build/engines/openai-responses/tool-choice-validator.js +0 -50
  116. package/build/engines/openai-responses/tool-choice-validator.js.map +0 -1
  117. package/build/engines/openai-responses/tool.d.ts +0 -53
  118. package/build/engines/openai-responses/tool.js +0 -24
  119. package/build/engines/openai-responses/tool.js.map +0 -1
@@ -1,14 +1,8 @@
1
1
  import { Engine } from "../engine.js";
2
- import { Function } from "../function.js";
3
2
  import { MessageCodec } from "./openai-responses/message-codec.js";
4
3
  import { ToolCodec } from "./openai-responses/tool-codec.js";
5
4
  import { Billing } from "./openai-responses/billing.js";
6
- import { ToolChoiceValidator } from "./openai-responses/tool-choice-validator.js";
7
5
  import * as TransportModule from "./openai-responses/transport.js";
8
- import * as MessageModule from "./openai-responses/message.js";
9
- import * as ToolModule from "./openai-responses/tool.js";
10
- import { Media } from "../media.js";
11
- import * as XmlCodec from "../xml.js";
12
6
  export var OpenAIResponsesEngine;
13
7
  (function (OpenAIResponsesEngine) {
14
8
  class Instance extends Engine.Instance {
@@ -17,15 +11,13 @@ export var OpenAIResponsesEngine;
17
11
  messageCodec;
18
12
  billing;
19
13
  transport;
20
- toolChoiceValidator;
21
- applyPatch;
22
14
  constructor(options) {
23
15
  super(options);
24
16
  this.options = options;
25
- this.applyPatch = options.applyPatch ?? false;
26
17
  this.toolCodec = new ToolCodec({ fdm: this.fdm });
27
18
  this.messageCodec = new MessageCodec({
28
19
  toolCodec: this.toolCodec,
20
+ messageValidator: this.messageValidator,
29
21
  });
30
22
  this.billing = new Billing({ pricing: this.pricing });
31
23
  this.transport = new OpenAIResponsesEngine.Transport({
@@ -34,110 +26,10 @@ export var OpenAIResponsesEngine;
34
26
  fdm: this.fdm,
35
27
  throttle: this.throttle,
36
28
  toolChoice: this.toolChoice,
37
- applyPatch: this.applyPatch,
38
29
  messageCodec: this.messageCodec,
39
30
  toolCodec: this.toolCodec,
40
31
  billing: this.billing,
41
32
  });
42
- this.toolChoiceValidator = new ToolChoiceValidator({ toolChoice: this.toolChoice });
43
- }
44
- clone() {
45
- const engine = new OpenAIResponsesEngine.Instance(this.options);
46
- engine.middlewaresStateless = [...this.middlewaresStateless];
47
- engine.middlewaresStateful = [...this.middlewaresStateful];
48
- return engine;
49
- }
50
- async infer(wfctx, session) {
51
- return await super.infer(wfctx, session);
52
- }
53
- async stateless(wfctx, session) {
54
- return await super.stateless(wfctx, session);
55
- }
56
- async stateful(wfctx, session) {
57
- return await super.stateful(wfctx, session);
58
- }
59
- useStateless(middleware) {
60
- return super.useStateless(middleware);
61
- }
62
- useStateful(middleware) {
63
- return super.useStateful(middleware);
64
- }
65
- /**
66
- * @param session mutable
67
- */
68
- async *agentloop(wfctx, session, fnm, limit = Number.POSITIVE_INFINITY, applyPatch) {
69
- for (let i = 0; i < limit; i++) {
70
- const response = await this.stateful(wfctx, session);
71
- if (response.allText())
72
- return response.getText();
73
- const frs = [];
74
- const images = [];
75
- const aprs = [];
76
- for (const part of response.getParts()) {
77
- if (part instanceof Engine.RoleMessage.Part.Text) {
78
- yield part.text;
79
- }
80
- else if (part instanceof Function.Call) {
81
- const fc = part;
82
- const f = fnm[fc.name];
83
- try {
84
- const rawfr = await f.call(fnm, fc.args, fc);
85
- if (typeof rawfr === 'string') {
86
- const fr = Function.Response.Successful.of({
87
- id: fc.id,
88
- name: fc.name,
89
- text: rawfr,
90
- });
91
- frs.push(fr);
92
- }
93
- else if (rawfr instanceof Media.Image) {
94
- const fr = Function.Response.Successful.of({
95
- id: fc.id,
96
- name: fc.name,
97
- text: XmlCodec.System.encode('The image will be loaded in next LLM user-role message.'),
98
- });
99
- frs.push(fr);
100
- images.push(rawfr);
101
- }
102
- else if (rawfr instanceof Media.Text) {
103
- const fr = Function.Response.Successful.of({
104
- id: fc.id,
105
- name: fc.name,
106
- text: rawfr.quote(),
107
- });
108
- frs.push(fr);
109
- }
110
- else
111
- throw new Error('Unsupported function response type');
112
- }
113
- catch (e) {
114
- if (e instanceof Function.Error) { }
115
- else
116
- throw e;
117
- const fr = Function.Response.Failed.of({
118
- id: fc.id,
119
- name: fc.name,
120
- error: e.message,
121
- });
122
- frs.push(fr);
123
- }
124
- }
125
- else if (part instanceof OpenAIResponsesEngine.Tool.ApplyPatch.Call) {
126
- if (applyPatch) { }
127
- else
128
- throw new Error('Apply patch handler missing.');
129
- const apr = new OpenAIResponsesEngine.Tool.ApplyPatch.Response({
130
- id: part.raw.call_id,
131
- failure: await applyPatch(part.raw.operation),
132
- });
133
- aprs.push(apr);
134
- }
135
- else
136
- throw new Error();
137
- }
138
- session.chatMessages.push(new OpenAIResponsesEngine.RoleMessage.User([...frs, ...aprs, ...images]));
139
- }
140
- throw new Engine.FunctionCallLimitExceeded('Function call limit exceeded.');
141
33
  }
142
34
  }
143
35
  OpenAIResponsesEngine.Instance = Instance;
@@ -157,8 +49,6 @@ export var OpenAIResponsesEngine;
157
49
  });
158
50
  }
159
51
  OpenAIResponsesEngine.createEngine = createEngine;
160
- OpenAIResponsesEngine.Tool = ToolModule.Tool;
161
- OpenAIResponsesEngine.RoleMessage = MessageModule.RoleMessage;
162
52
  OpenAIResponsesEngine.Transport = TransportModule.Transport;
163
53
  })(OpenAIResponsesEngine || (OpenAIResponsesEngine = {}));
164
54
  //# sourceMappingURL=openai-responses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/engines/openai-responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/engines/openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,iCAAiC,CAAC;AAMnE,MAAM,KAAW,qBAAqB,CAoDrC;AApDD,WAAiB,qBAAqB;IAClC,MAAa,QAEX,SAAQ,MAAM,CAAC,QAAa;QAMG;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAoB;QAChC,OAAO,CAAU;QACR,SAAS,CAAiB;QAE7C,YAA6B,OAA4B;YACrD,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAAqB;YAGrD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAA,SAAS,CAAC;gBAC3B,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;QACP,CAAC;KACJ;IA5BY,8BAAQ,WA4BpB,CAAA;IAED,SAAgB,MAAM,CAEpB,OAA4B;QAC1B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAJe,4BAAM,SAIrB,CAAA;IAED,YAAoC,CAAC;IACrC,SAAgB,YAAY,CAE1B,OAA4B;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAChB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,cAAc;SACzC,CAAC,CAAC;IACP,CAAC;IAXe,kCAAY,eAW3B,CAAA;IAEa,+BAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AACxD,CAAC,EApDgB,qBAAqB,KAArB,qBAAqB,QAoDrC"}
@@ -1,3 +1,3 @@
1
- import { Engine } from '../engine.ts';
1
+ import { Text } from '../text.ts';
2
2
  export * from '../xml.ts';
3
- export declare const instruction: Engine.RoleMessage.Part.Text;
3
+ export declare const instruction: Text;
@@ -1,5 +1,5 @@
1
- import { Engine } from "../engine.js";
2
1
  import Assets from "../assets.js";
2
+ import { Text } from "../text.js";
3
3
  export * from "../xml.js";
4
- export const instruction = Engine.RoleMessage.Part.Text.paragraph(Assets.Xml.instruction);
4
+ export const instruction = Text.paragraph(Assets.Xml.instruction);
5
5
  //# sourceMappingURL=xml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/exports/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,cAAc,WAAW,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/exports/xml.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,cAAc,WAAW,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC"}
@@ -6,9 +6,5 @@ export * from './inference-context.ts';
6
6
  export * from './endpoint-spec.ts';
7
7
  export * from './engine.ts';
8
8
  export * from './media.ts';
9
+ export * from './text.ts';
9
10
  export * from './tool-choice.ts';
10
- export * from './engines/google.ts';
11
- export * from './engines/openai-responses.ts';
12
- export * from './engines/openai-chatcompletions.ts';
13
- export * from './engines/anthropic.ts';
14
- export * from './engines/openai-compatible.ts';
package/build/exports.js CHANGED
@@ -6,10 +6,6 @@ export * from "./inference-context.js";
6
6
  export * from "./endpoint-spec.js";
7
7
  export * from "./engine.js";
8
8
  export * from "./media.js";
9
+ export * from "./text.js";
9
10
  export * from "./tool-choice.js";
10
- export * from "./engines/google.js";
11
- export * from "./engines/openai-responses.js";
12
- export * from "./engines/openai-chatcompletions.js";
13
- export * from "./engines/anthropic.js";
14
- export * from "./engines/openai-compatible.js";
15
11
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { type Static, type TObject, type TSchema } from 'typebox';
2
2
  import { Media } from './media.ts';
3
+ import { Text } from './text.ts';
3
4
  declare const NOMINAL: unique symbol;
4
5
  export interface Function<in out fd extends Function.Decl.Proto> {
5
- (params: Static<fd['parameters']>, fc: Function.Call<fd>): Promise<string | Media>;
6
+ (params: Static<fd['parameters']>, fc: Function.Call<fd>): Promise<Function.Response.Successful.Part[]>;
6
7
  }
7
8
  export declare namespace Function {
8
9
  namespace Name {
@@ -70,7 +71,7 @@ export declare namespace Function {
70
71
  type From<fdm extends Function.Decl.Map.Proto> = Function.Response.Of<Function.Decl.From<fdm>>;
71
72
  class Successful<in out fd extends Function.Decl.Proto> extends Function.Response<fd> {
72
73
  protected [NOMINAL]: never;
73
- text: string;
74
+ parts: Function.Response.Successful.Part[];
74
75
  protected constructor(fr: Function.Response.Successful.Options<fd>);
75
76
  static of<fdu extends Function.Decl.Proto>(fr: Function.Response.Successful.Options.Of<fdu>): Function.Response.Successful.Of<fdu>;
76
77
  }
@@ -82,6 +83,7 @@ export declare namespace Function {
82
83
  type Of<fdu extends Function.Decl.Proto> = fdu extends infer fd extends Function.Decl.Proto ? Options<fd> : never;
83
84
  type From<fdm extends Function.Decl.Map.Proto> = Function.Response.Successful.Options.Of<Function.Decl.From<fdm>>;
84
85
  }
86
+ type Part = Text | Media;
85
87
  }
86
88
  class Failed<in out fd extends Function.Decl.Proto> extends Function.Response<fd> {
87
89
  protected [NOMINAL]: never;
package/build/function.js CHANGED
@@ -26,10 +26,10 @@ export var Function;
26
26
  Function.Response = Response;
27
27
  (function (Response) {
28
28
  class Successful extends Function.Response {
29
- text;
29
+ parts;
30
30
  constructor(fr) {
31
31
  super(fr);
32
- this.text = fr.text;
32
+ this.parts = fr.parts;
33
33
  }
34
34
  static of(fr) {
35
35
  return new Function.Response.Successful(fr);
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAMzB,MAAM,KAAW,QAAQ,CAiNxB;AAjND,WAAiB,QAAQ;IAsFrB,MAAa,IAAI;QAEN,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAA2B;QACtC,YAAsB,EAAyB;YAC3C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,EAAE,CACZ,EAAiC;YAEjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAA0B,CAAC;QAC1D,CAAC;KAEJ;IAhBY,aAAI,OAgBhB,CAAA;IAqBD,MAAsB,QAAQ;QACnB,EAAE,CAAU;QACZ,IAAI,CAAa;QACxB,YAAsB,EAAsC;YACxD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;KACJ;IAPqB,iBAAQ,WAO7B,CAAA;IACD,WAAiB,QAAQ;QAQrB,MAAa,UAAkD,SAAQ,QAAQ,CAAC,QAAY;YAEjF,IAAI,CAAS;YACpB,YAAsB,EAA4C;gBAC9D,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACxB,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,EAAgD;gBAEhD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAyC,CAAC;YACxF,CAAC;SACJ;QAZY,mBAAU,aAYtB,CAAA;QAoBD,MAAa,MAA8C,SAAQ,QAAQ,CAAC,QAAY;YAE7E,KAAK,CAAS;YACrB,YAAsB,EAAwC;gBAC1D,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC1B,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,EAA4C;gBAE5C,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAqC,CAAC;YAChF,CAAC;SACJ;QAZY,eAAM,SAYlB,CAAA;IAmBL,CAAC,EAvEgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QAuExB;IAMD,MAAa,KAAM,SAAQ,UAAU,CAAC,KAAK;KAAG;IAAjC,cAAK,QAA4B,CAAA;AAClD,CAAC,EAjNgB,QAAQ,KAAR,QAAQ,QAiNxB"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAMzB,MAAM,KAAW,QAAQ,CAmNxB;AAnND,WAAiB,QAAQ;IAsFrB,MAAa,IAAI;QAEN,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAA2B;QACtC,YAAsB,EAAyB;YAC3C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,EAAE,CACZ,EAAiC;YAEjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAA0B,CAAC;QAC1D,CAAC;KAEJ;IAhBY,aAAI,OAgBhB,CAAA;IAqBD,MAAsB,QAAQ;QACnB,EAAE,CAAU;QACZ,IAAI,CAAa;QACxB,YAAsB,EAAsC;YACxD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;KACJ;IAPqB,iBAAQ,WAO7B,CAAA;IACD,WAAiB,QAAQ;QAQrB,MAAa,UAAkD,SAAQ,QAAQ,CAAC,QAAY;YAEjF,KAAK,CAAsC;YAClD,YAAsB,EAA4C;gBAC9D,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC1B,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,EAAgD;gBAEhD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAyC,CAAC;YACxF,CAAC;SACJ;QAZY,mBAAU,aAYtB,CAAA;QAsBD,MAAa,MAA8C,SAAQ,QAAQ,CAAC,QAAY;YAE7E,KAAK,CAAS;YACrB,YAAsB,EAAwC;gBAC1D,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC1B,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,EAA4C;gBAE5C,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAqC,CAAC;YAChF,CAAC;SACJ;QAZY,eAAM,SAYlB,CAAA;IAmBL,CAAC,EAzEgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QAyExB;IAMD,MAAa,KAAM,SAAQ,UAAU,CAAC,KAAK;KAAG;IAAjC,cAAK,QAA4B,CAAA;AAClD,CAAC,EAnNgB,QAAQ,KAAR,QAAQ,QAmNxB"}
package/build/media.d.ts CHANGED
@@ -18,9 +18,9 @@ export declare namespace Media {
18
18
  [Symbol.toPrimitive](hint: string): string;
19
19
  }
20
20
  class Text extends Media {
21
- text: string;
21
+ raw: string;
22
22
  mimeType: MIMEType;
23
- constructor(text: string, mimeType: MIMEType);
23
+ constructor(raw: string, mimeType: MIMEType);
24
24
  quote(): string;
25
25
  [Symbol.toPrimitive](hint: string): string;
26
26
  }
package/build/media.js CHANGED
@@ -37,22 +37,22 @@ export class Media {
37
37
  }
38
38
  Media.Pdf = Pdf;
39
39
  class Text extends Media {
40
- text;
40
+ raw;
41
41
  mimeType;
42
- constructor(text, mimeType) {
42
+ constructor(raw, mimeType) {
43
43
  super();
44
- this.text = text;
44
+ this.raw = raw;
45
45
  this.mimeType = mimeType;
46
46
  if (mimeType.type === 'text') { }
47
47
  else
48
48
  throw new TypeError('Major MIME type of text must be `text`.');
49
49
  }
50
50
  quote() {
51
- return XmlCodec.Quotation.encode(this.mimeType, this.text);
51
+ return XmlCodec.Quotation.encode(this.mimeType, this.raw);
52
52
  }
53
53
  [Symbol.toPrimitive](hint) {
54
54
  assert(hint === 'string');
55
- return this.text;
55
+ return this.raw;
56
56
  }
57
57
  }
58
58
  Media.Text = Text;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,OAAgB,KAAK;CAG1B;AAED,WAAiB,KAAK;IAClB,MAAa,KAAM,SAAQ,KAAK;QACF;QAAqC;QAA/D,YAA0B,MAAmB,EAAkB,QAAkB;YAC7E,KAAK,EAAE,CAAC;YADc,WAAM,GAAN,MAAM,CAAa;YAAkB,aAAQ,GAAR,QAAQ,CAAU;YAE7E,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA,CAAC;;gBAClC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACzE,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACJ;IAVY,WAAK,QAUjB,CAAA;IAED,MAAa,GAAI,SAAQ,KAAK;QAEA;QADV,QAAQ,CAAW;QACnC,YAA0B,MAAmB;YACzC,KAAK,EAAE,CAAC;YADc,WAAM,GAAN,MAAM,CAAa;YAEzC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACJ;IAVY,SAAG,MAUf,CAAA;IAED,MAAa,IAAK,SAAQ,KAAK;QACD;QAA8B;QAAxD,YAA0B,IAAY,EAAkB,QAAkB;YACtE,KAAK,EAAE,CAAC;YADc,SAAI,GAAJ,IAAI,CAAQ;YAAkB,aAAQ,GAAR,QAAQ,CAAU;YAEtE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAC5B,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACvE,CAAC;QACM,KAAK;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KACJ;IAbY,UAAI,OAahB,CAAA;AACL,CAAC,EAvCgB,KAAK,KAAL,KAAK,QAuCrB"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,OAAgB,KAAK;CAG1B;AAED,WAAiB,KAAK;IAClB,MAAa,KAAM,SAAQ,KAAK;QACF;QAAqC;QAA/D,YAA0B,MAAmB,EAAkB,QAAkB;YAC7E,KAAK,EAAE,CAAC;YADc,WAAM,GAAN,MAAM,CAAa;YAAkB,aAAQ,GAAR,QAAQ,CAAU;YAE7E,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA,CAAC;;gBAClC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACzE,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACJ;IAVY,WAAK,QAUjB,CAAA;IAED,MAAa,GAAI,SAAQ,KAAK;QAEA;QADV,QAAQ,CAAW;QACnC,YAA0B,MAAmB;YACzC,KAAK,EAAE,CAAC;YADc,WAAM,GAAN,MAAM,CAAa;YAEzC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACJ;IAVY,SAAG,MAUf,CAAA;IAED,MAAa,IAAK,SAAQ,KAAK;QACD;QAA6B;QAAvD,YAA0B,GAAW,EAAkB,QAAkB;YACrE,KAAK,EAAE,CAAC;YADc,QAAG,GAAH,GAAG,CAAQ;YAAkB,aAAQ,GAAR,QAAQ,CAAU;YAErE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAC5B,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACvE,CAAC;QACM,KAAK;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;QACM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;YACpC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;KACJ;IAbY,UAAI,OAahB,CAAA;AACL,CAAC,EAvCgB,KAAK,KAAL,KAAK,QAuCrB"}
@@ -0,0 +1,8 @@
1
+ declare const NOMINAL: unique symbol;
2
+ export declare class Text {
3
+ raw: string;
4
+ protected [NOMINAL]: never;
5
+ static paragraph(text: string): Text;
6
+ constructor(raw: string);
7
+ }
8
+ export {};
package/build/text.js ADDED
@@ -0,0 +1,11 @@
1
+ const NOMINAL = Symbol();
2
+ export class Text {
3
+ raw;
4
+ static paragraph(text) {
5
+ return new Text(text.trimEnd() + '\n\n');
6
+ }
7
+ constructor(raw) {
8
+ this.raw = raw;
9
+ }
10
+ }
11
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,OAAO,IAAI;IAMF;IAJJ,MAAM,CAAC,SAAS,CAAC,IAAY;QAChC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,YACW,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IACnB,CAAC;CACP"}