@forgedevstack/ink 1.0.1 → 1.1.1

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 (134) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +78 -122
  3. package/dist/components/InkEditor/InkEditor.cjs +1 -1
  4. package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
  5. package/dist/components/InkEditor/InkEditor.js +524 -172
  6. package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -0
  7. package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts +11 -0
  8. package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts.map +1 -0
  9. package/dist/components/InkEditor/components/AiPanel/AiPanel.js +179 -0
  10. package/dist/components/InkEditor/components/AiPanel/index.d.ts +3 -0
  11. package/dist/components/InkEditor/components/AiPanel/index.d.ts.map +1 -0
  12. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.cjs +1 -0
  13. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts +9 -0
  14. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts.map +1 -0
  15. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.js +12 -0
  16. package/dist/components/InkEditor/components/BlockHandles/index.d.ts +3 -0
  17. package/dist/components/InkEditor/components/BlockHandles/index.d.ts.map +1 -0
  18. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.cjs +1 -0
  19. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts +11 -0
  20. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  21. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.js +61 -0
  22. package/dist/components/InkEditor/components/CommentsPanel/index.d.ts +3 -0
  23. package/dist/components/InkEditor/components/CommentsPanel/index.d.ts.map +1 -0
  24. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.cjs +1 -0
  25. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.d.ts +10 -0
  26. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.d.ts.map +1 -0
  27. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.js +20 -0
  28. package/dist/components/InkEditor/components/SlashMenu/index.d.ts +3 -0
  29. package/dist/components/InkEditor/components/SlashMenu/index.d.ts.map +1 -0
  30. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
  31. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +3 -2
  32. package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.cjs +1 -0
  33. package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.d.ts +11 -0
  34. package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.d.ts.map +1 -0
  35. package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.js +27 -0
  36. package/dist/components/InkEditor/components/TrackChangesBar/index.d.ts +3 -0
  37. package/dist/components/InkEditor/components/TrackChangesBar/index.d.ts.map +1 -0
  38. package/dist/components/InkEditor/components/index.d.ts +5 -0
  39. package/dist/components/InkEditor/components/index.d.ts.map +1 -1
  40. package/dist/constants/aiModels.const.cjs +1 -0
  41. package/dist/constants/aiModels.const.d.ts +5 -0
  42. package/dist/constants/aiModels.const.d.ts.map +1 -0
  43. package/dist/constants/aiModels.const.js +31 -0
  44. package/dist/constants/defaults.const.cjs +1 -1
  45. package/dist/constants/defaults.const.d.ts +32 -1
  46. package/dist/constants/defaults.const.d.ts.map +1 -1
  47. package/dist/constants/defaults.const.js +124 -20
  48. package/dist/constants/index.d.ts +2 -0
  49. package/dist/constants/index.d.ts.map +1 -1
  50. package/dist/constants/numbers.const.cjs +1 -1
  51. package/dist/constants/numbers.const.d.ts +13 -0
  52. package/dist/constants/numbers.const.d.ts.map +1 -1
  53. package/dist/constants/numbers.const.js +13 -3
  54. package/dist/constants/premium.const.cjs +1 -0
  55. package/dist/constants/premium.const.d.ts +8 -0
  56. package/dist/constants/premium.const.d.ts.map +1 -0
  57. package/dist/constants/premium.const.js +97 -0
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.d.ts +3 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +43 -11
  62. package/dist/plugins/ai/aiPlugin.cjs +1 -1
  63. package/dist/plugins/ai/aiPlugin.d.ts.map +1 -1
  64. package/dist/plugins/ai/aiPlugin.js +40 -18
  65. package/dist/plugins/ai/demoProvider.cjs +1 -0
  66. package/dist/plugins/ai/demoProvider.d.ts +3 -0
  67. package/dist/plugins/ai/demoProvider.d.ts.map +1 -0
  68. package/dist/plugins/ai/demoProvider.js +130 -0
  69. package/dist/plugins/ai/index.cjs +1 -1
  70. package/dist/plugins/ai/index.d.ts +4 -1
  71. package/dist/plugins/ai/index.d.ts.map +1 -1
  72. package/dist/plugins/ai/index.js +15 -3
  73. package/dist/plugins/ai/stubs.cjs +1 -0
  74. package/dist/plugins/ai/stubs.d.ts +7 -0
  75. package/dist/plugins/ai/stubs.d.ts.map +1 -0
  76. package/dist/plugins/ai/stubs.js +23 -0
  77. package/dist/styles.css +486 -19
  78. package/dist/types/ai.types.d.ts +111 -2
  79. package/dist/types/ai.types.d.ts.map +1 -1
  80. package/dist/types/comments.types.d.ts +17 -0
  81. package/dist/types/comments.types.d.ts.map +1 -0
  82. package/dist/types/features.types.d.ts +5 -0
  83. package/dist/types/features.types.d.ts.map +1 -0
  84. package/dist/types/index.d.ts +6 -2
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/types/ink.types.d.ts +33 -1
  87. package/dist/types/ink.types.d.ts.map +1 -1
  88. package/dist/types/premium.types.d.ts +30 -0
  89. package/dist/types/premium.types.d.ts.map +1 -0
  90. package/dist/types/trackChanges.types.d.ts +12 -0
  91. package/dist/types/trackChanges.types.d.ts.map +1 -0
  92. package/dist/utils/blocks.utils.cjs +1 -0
  93. package/dist/utils/blocks.utils.d.ts +4 -0
  94. package/dist/utils/blocks.utils.d.ts.map +1 -0
  95. package/dist/utils/blocks.utils.js +41 -0
  96. package/dist/utils/comments.utils.cjs +1 -0
  97. package/dist/utils/comments.utils.d.ts +5 -0
  98. package/dist/utils/comments.utils.d.ts.map +1 -0
  99. package/dist/utils/comments.utils.js +32 -0
  100. package/dist/utils/history.utils.cjs +1 -0
  101. package/dist/utils/history.utils.d.ts +13 -0
  102. package/dist/utils/history.utils.d.ts.map +1 -0
  103. package/dist/utils/history.utils.js +29 -0
  104. package/dist/utils/id.utils.cjs +1 -0
  105. package/dist/utils/id.utils.d.ts +2 -0
  106. package/dist/utils/id.utils.d.ts.map +1 -0
  107. package/dist/utils/id.utils.js +4 -0
  108. package/dist/utils/index.d.ts +10 -0
  109. package/dist/utils/index.d.ts.map +1 -1
  110. package/dist/utils/license.utils.cjs +1 -0
  111. package/dist/utils/license.utils.d.ts +2 -0
  112. package/dist/utils/license.utils.d.ts.map +1 -0
  113. package/dist/utils/license.utils.js +16 -0
  114. package/dist/utils/paste.utils.cjs +1 -0
  115. package/dist/utils/paste.utils.d.ts +4 -0
  116. package/dist/utils/paste.utils.d.ts.map +1 -0
  117. package/dist/utils/paste.utils.js +31 -0
  118. package/dist/utils/premium.utils.cjs +1 -0
  119. package/dist/utils/premium.utils.d.ts +6 -0
  120. package/dist/utils/premium.utils.d.ts.map +1 -0
  121. package/dist/utils/premium.utils.js +30 -0
  122. package/dist/utils/slash.utils.cjs +1 -0
  123. package/dist/utils/slash.utils.d.ts +4 -0
  124. package/dist/utils/slash.utils.d.ts.map +1 -0
  125. package/dist/utils/slash.utils.js +13 -0
  126. package/dist/utils/table.utils.cjs +1 -0
  127. package/dist/utils/table.utils.d.ts +2 -0
  128. package/dist/utils/table.utils.d.ts.map +1 -0
  129. package/dist/utils/table.utils.js +13 -0
  130. package/dist/utils/trackChanges.utils.cjs +1 -0
  131. package/dist/utils/trackChanges.utils.d.ts +7 -0
  132. package/dist/utils/trackChanges.utils.d.ts.map +1 -0
  133. package/dist/utils/trackChanges.utils.js +34 -0
  134. package/package.json +2 -2
@@ -0,0 +1,130 @@
1
+ import { INK_DEMO_AI_DELAY_MS as u } from "../../constants/numbers.const.js";
2
+ import { INK_AI_DEMO_MODEL_ID as d, INK_AI_DEMO_PROVIDER_ID as g } from "../../constants/aiModels.const.js";
3
+ import { createInkId as i } from "../../utils/id.utils.js";
4
+ const p = (t) => new Promise((o) => {
5
+ window.setTimeout(o, t);
6
+ }), a = (t) => t.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim(), n = (t) => `<p>${t}</p>`, f = async (t) => {
7
+ var c, l;
8
+ await p(u);
9
+ const o = t.selectionHtml || t.html || "", s = a(o) || "your content", m = ((c = t.prompt) == null ? void 0 : c.trim()) || "";
10
+ switch (t.capability) {
11
+ case "chat": {
12
+ const e = m ? `Demo assistant: regarding “${m.slice(0, 120)}”, here’s a concise take based on the current document (${s.slice(0, 80)}…). Connect your own LLM provider for production answers.` : `Demo assistant ready. Ask a question about: ${s.slice(0, 100)}…`;
13
+ return {
14
+ text: e,
15
+ turns: [
16
+ {
17
+ id: i("turn"),
18
+ role: "assistant",
19
+ content: e,
20
+ timestamp: Date.now(),
21
+ capability: "chat"
22
+ }
23
+ ],
24
+ meta: { provider: g, model: d }
25
+ };
26
+ }
27
+ case "summarize": {
28
+ const e = n(`Summary (demo): ${s.slice(0, 160)}${s.length > 160 ? "…" : ""}`);
29
+ return {
30
+ html: e,
31
+ text: a(e),
32
+ diff: {
33
+ id: i("diff"),
34
+ originalHtml: o,
35
+ suggestedHtml: e,
36
+ summary: "Demo summary of the selection"
37
+ }
38
+ };
39
+ }
40
+ case "expand": {
41
+ const e = n(
42
+ `${s} Additionally, this demo expansion adds clarifying context, examples, and a short closing sentence so you can preview apply/reject flows.`
43
+ );
44
+ return {
45
+ html: e,
46
+ diff: {
47
+ id: i("diff"),
48
+ originalHtml: o,
49
+ suggestedHtml: e,
50
+ summary: "Demo expansion"
51
+ }
52
+ };
53
+ }
54
+ case "tone": {
55
+ const e = n(`In a clearer, more professional tone: ${s}`);
56
+ return {
57
+ html: e,
58
+ diff: {
59
+ id: i("diff"),
60
+ originalHtml: o,
61
+ suggestedHtml: e,
62
+ summary: "Demo tone adjustment"
63
+ }
64
+ };
65
+ }
66
+ case "translate": {
67
+ const e = ((l = t.options) == null ? void 0 : l.language) || "Spanish", r = n(`[${e} demo] ${s}`);
68
+ return {
69
+ html: r,
70
+ text: a(r),
71
+ diff: {
72
+ id: i("diff"),
73
+ originalHtml: o,
74
+ suggestedHtml: r,
75
+ summary: `Demo translation to ${e}`
76
+ }
77
+ };
78
+ }
79
+ case "review":
80
+ return {
81
+ text: "Demo review complete",
82
+ reviewSuggestions: [
83
+ {
84
+ id: i("rev"),
85
+ message: "Consider shortening long sentences for clarity.",
86
+ severity: "info",
87
+ originalText: s.slice(0, 40),
88
+ suggestedText: s.slice(0, 40)
89
+ },
90
+ {
91
+ id: i("rev"),
92
+ message: "Possible passive voice — prefer active constructions.",
93
+ severity: "warning",
94
+ originalText: "was processed",
95
+ suggestedText: "the team processed"
96
+ }
97
+ ]
98
+ };
99
+ case "suggestDiff":
100
+ case "quickAction":
101
+ case "rewrite":
102
+ default: {
103
+ const e = n(`Rewritten (demo): ${s}`);
104
+ return {
105
+ html: e,
106
+ diff: {
107
+ id: i("diff"),
108
+ originalHtml: o,
109
+ suggestedHtml: e,
110
+ summary: "Demo rewrite suggestion"
111
+ }
112
+ };
113
+ }
114
+ }
115
+ }, h = () => ({
116
+ id: g,
117
+ name: "Ink Demo Provider",
118
+ models: [
119
+ {
120
+ id: d,
121
+ provider: "demo",
122
+ label: "Ink Demo (local)",
123
+ family: "Demo"
124
+ }
125
+ ],
126
+ run: f
127
+ });
128
+ export {
129
+ h as createDemoAiProvider
130
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./aiPlugin.cjs");exports.createInkAiPlugin=i.createInkAiPlugin;exports.inkAi=i.inkAi;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./aiPlugin.cjs"),t=require("./demoProvider.cjs"),e=require("./stubs.cjs"),o=require("../../constants/aiModels.const.cjs");exports.createInkAiPlugin=r.createInkAiPlugin;exports.inkAi=r.inkAi;exports.createDemoAiProvider=t.createDemoAiProvider;exports.createNoopCostControl=e.createNoopCostControl;exports.createNoopExternalKnowledge=e.createNoopExternalKnowledge;exports.createNoopModeration=e.createNoopModeration;exports.createNoopQualityEval=e.createNoopQualityEval;exports.createOpenPermissions=e.createOpenPermissions;exports.INK_AI_DEMO_MODEL_ID=o.INK_AI_DEMO_MODEL_ID;exports.INK_AI_DEMO_PROVIDER_ID=o.INK_AI_DEMO_PROVIDER_ID;exports.INK_AI_MODEL_CATALOG=o.INK_AI_MODEL_CATALOG;
@@ -1,3 +1,6 @@
1
1
  export { createInkAiPlugin, inkAi } from './aiPlugin';
2
- export type { InkAiCapability, InkAiRequest, InkAiResponse, InkAiAgent, InkAiPlugin, } from '../../types';
2
+ export { createDemoAiProvider } from './demoProvider';
3
+ export { createNoopCostControl, createNoopModeration, createOpenPermissions, createNoopExternalKnowledge, createNoopQualityEval, } from './stubs';
4
+ export { INK_AI_MODEL_CATALOG, INK_AI_DEMO_PROVIDER_ID, INK_AI_DEMO_MODEL_ID } from '../../constants';
5
+ export type { InkAiCapability, InkAiRequest, InkAiResponse, InkAiAgent, InkAiPlugin, InkAiChatTurn, InkAiDiffSuggestion, InkAiReviewSuggestion, InkAiContextFile, InkAiDocumentSnapshot, InkAiModelCatalogEntry, InkAiProvider, InkAiCostControlHooks, InkAiModerationHook, InkAiPermissionsHook, InkAiExternalKnowledgeHook, InkAiQualityEvalHook, InkAiFallbackChain, InkAiUiTheme, InkAiConfig, } from '../../types';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtG,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC"}
@@ -1,5 +1,17 @@
1
- import { createInkAiPlugin as n, inkAi as r } from "./aiPlugin.js";
1
+ import { createInkAiPlugin as r, inkAi as t } from "./aiPlugin.js";
2
+ import { createDemoAiProvider as _ } from "./demoProvider.js";
3
+ import { createNoopCostControl as I, createNoopExternalKnowledge as n, createNoopModeration as p, createNoopQualityEval as A, createOpenPermissions as D } from "./stubs.js";
4
+ import { INK_AI_DEMO_MODEL_ID as E, INK_AI_DEMO_PROVIDER_ID as N, INK_AI_MODEL_CATALOG as O } from "../../constants/aiModels.const.js";
2
5
  export {
3
- n as createInkAiPlugin,
4
- r as inkAi
6
+ E as INK_AI_DEMO_MODEL_ID,
7
+ N as INK_AI_DEMO_PROVIDER_ID,
8
+ O as INK_AI_MODEL_CATALOG,
9
+ _ as createDemoAiProvider,
10
+ r as createInkAiPlugin,
11
+ I as createNoopCostControl,
12
+ n as createNoopExternalKnowledge,
13
+ p as createNoopModeration,
14
+ A as createNoopQualityEval,
15
+ D as createOpenPermissions,
16
+ t as inkAi
5
17
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=()=>({cacheGet:async()=>{},cacheSet:async()=>{},rateLimitCheck:async()=>!0,preferCheaperModel:(n,e)=>e}),t=()=>({screen:async()=>({allowed:!0})}),a=()=>({canUse:()=>!0}),r=()=>({retrieve:async()=>[]}),c=()=>({evaluate:async()=>({score:1,notes:"MVP stub — no remote eval suite"})});exports.createNoopCostControl=o;exports.createNoopExternalKnowledge=r;exports.createNoopModeration=t;exports.createNoopQualityEval=c;exports.createOpenPermissions=a;
@@ -0,0 +1,7 @@
1
+ import { InkAiCostControlHooks, InkAiExternalKnowledgeHook, InkAiModerationHook, InkAiPermissionsHook, InkAiQualityEvalHook } from '../../types';
2
+ export declare const createNoopCostControl: () => InkAiCostControlHooks;
3
+ export declare const createNoopModeration: () => InkAiModerationHook;
4
+ export declare const createOpenPermissions: () => InkAiPermissionsHook;
5
+ export declare const createNoopExternalKnowledge: () => InkAiExternalKnowledgeHook;
6
+ export declare const createNoopQualityEval: () => InkAiQualityEvalHook;
7
+ //# sourceMappingURL=stubs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../../../src/plugins/ai/stubs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qBAAqB,QAAO,qBAKvC,CAAC;AAEH,eAAO,MAAM,oBAAoB,QAAO,mBAEtC,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAAO,oBAEvC,CAAC;AAEH,eAAO,MAAM,2BAA2B,QAAO,0BAE7C,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAAO,oBAEvC,CAAC"}
@@ -0,0 +1,23 @@
1
+ const o = () => ({
2
+ cacheGet: async () => {
3
+ },
4
+ cacheSet: async () => {
5
+ },
6
+ rateLimitCheck: async () => !0,
7
+ preferCheaperModel: (t, e) => e
8
+ }), a = () => ({
9
+ screen: async () => ({ allowed: !0 })
10
+ }), c = () => ({
11
+ canUse: () => !0
12
+ }), r = () => ({
13
+ retrieve: async () => []
14
+ }), n = () => ({
15
+ evaluate: async () => ({ score: 1, notes: "MVP stub — no remote eval suite" })
16
+ });
17
+ export {
18
+ o as createNoopCostControl,
19
+ r as createNoopExternalKnowledge,
20
+ a as createNoopModeration,
21
+ n as createNoopQualityEval,
22
+ c as createOpenPermissions
23
+ };