@cesarandreslopez/occ 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/src/cli.d.ts +21 -0
- package/dist/src/cli.js +76 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.d.ts +2 -1
- package/dist/src/code/build.js +6 -2
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/chunk.d.ts +2 -1
- package/dist/src/code/chunk.js +5 -3
- package/dist/src/code/chunk.js.map +1 -1
- package/dist/src/code/command.js +25 -2
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/output.d.ts +2 -0
- package/dist/src/code/output.js +20 -0
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/query.d.ts +23 -0
- package/dist/src/code/query.js +64 -0
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/doc/command.js +57 -0
- package/dist/src/doc/command.js.map +1 -1
- package/dist/src/doc/entities.d.ts +27 -0
- package/dist/src/doc/entities.js +102 -0
- package/dist/src/doc/entities.js.map +1 -0
- package/dist/src/doc/references.d.ts +20 -0
- package/dist/src/doc/references.js +112 -0
- package/dist/src/doc/references.js.map +1 -0
- package/dist/src/inspect/shared.js +2 -2
- package/dist/src/inspect/shared.js.map +1 -1
- package/dist/src/output/json.js +9 -0
- package/dist/src/output/json.js.map +1 -1
- package/dist/src/output/tabular.js +18 -10
- package/dist/src/output/tabular.js.map +1 -1
- package/dist/src/parsers/docx.js +5 -0
- package/dist/src/parsers/docx.js.map +1 -1
- package/dist/src/parsers/index.d.ts +1 -0
- package/dist/src/parsers/index.js +28 -3
- package/dist/src/parsers/index.js.map +1 -1
- package/dist/src/parsers/odf.js +15 -1
- package/dist/src/parsers/odf.js.map +1 -1
- package/dist/src/parsers/pdf.js +4 -0
- package/dist/src/parsers/pdf.js.map +1 -1
- package/dist/src/parsers/pptx.js +4 -0
- package/dist/src/parsers/pptx.js.map +1 -1
- package/dist/src/parsers/xlsx.js +5 -0
- package/dist/src/parsers/xlsx.js.map +1 -1
- package/dist/src/progress-event.d.ts +7 -0
- package/dist/src/progress-event.js +2 -0
- package/dist/src/progress-event.js.map +1 -0
- package/dist/src/stats.d.ts +4 -1
- package/dist/src/stats.js +18 -8
- package/dist/src/stats.js.map +1 -1
- package/dist/src/structure/extract.d.ts +2 -0
- package/dist/src/structure/extract.js +16 -0
- package/dist/src/structure/extract.js.map +1 -1
- package/dist/src/structure/index.d.ts +1 -1
- package/dist/src/structure/index.js +1 -1
- package/dist/src/structure/index.js.map +1 -1
- package/dist/src/structure/types.d.ts +2 -0
- package/dist/src/structure/types.js +4 -0
- package/dist/src/structure/types.js.map +1 -1
- package/dist/src/tokens.d.ts +16 -0
- package/dist/src/tokens.js +107 -0
- package/dist/src/tokens.js.map +1 -0
- package/dist/src/types.d.ts +10 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -1
- package/package.json +27 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language-aware token estimation — tokenx-inspired approach.
|
|
3
|
+
* Replaces the naive `chars / 4` heuristic with segment-level analysis.
|
|
4
|
+
*/
|
|
5
|
+
export interface LanguageConfig {
|
|
6
|
+
pattern: RegExp;
|
|
7
|
+
averageCharsPerToken: number;
|
|
8
|
+
}
|
|
9
|
+
export interface TokenEstimationOptions {
|
|
10
|
+
defaultCharsPerToken?: number;
|
|
11
|
+
languageConfigs?: LanguageConfig[];
|
|
12
|
+
}
|
|
13
|
+
/** Estimate token count using language-aware heuristics */
|
|
14
|
+
export declare function estimateTokenCount(text?: string | number, options?: TokenEstimationOptions): number;
|
|
15
|
+
/** Slice text by token positions (like Array.slice but for tokens) */
|
|
16
|
+
export declare function sliceByTokens(text: string, start?: number, end?: number, options?: TokenEstimationOptions): string;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language-aware token estimation — tokenx-inspired approach.
|
|
3
|
+
* Replaces the naive `chars / 4` heuristic with segment-level analysis.
|
|
4
|
+
*/
|
|
5
|
+
const PATTERNS = {
|
|
6
|
+
whitespace: /^\s+$/,
|
|
7
|
+
cjk: /[\u4E00-\u9FFF\u3400-\u4DBF\u3000-\u303F\uFF00-\uFFEF\u30A0-\u30FF\u2E80-\u2EFF\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uAC00-\uD7AF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uD7B0-\uD7FF]/,
|
|
8
|
+
numeric: /^\d+(?:[.,]\d+)*$/,
|
|
9
|
+
punctuation: /[.,!?;(){}[\]<>:/\\|@#$%^&*+=`~_-]/,
|
|
10
|
+
alphanumeric: /^[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$/,
|
|
11
|
+
};
|
|
12
|
+
const TOKEN_SPLIT_PATTERN = new RegExp(`(\\s+|${PATTERNS.punctuation.source}+)`);
|
|
13
|
+
const DEFAULT_CHARS_PER_TOKEN = 6;
|
|
14
|
+
const SHORT_TOKEN_THRESHOLD = 3;
|
|
15
|
+
const DEFAULT_LANGUAGE_CONFIGS = [
|
|
16
|
+
{ pattern: /[äöüßẞ]/i, averageCharsPerToken: 3 },
|
|
17
|
+
{ pattern: /[éèêëàâîïôûùüÿçœæáíóúñ]/i, averageCharsPerToken: 3 },
|
|
18
|
+
{ pattern: /[ąćęłńóśźżěščřžýůúďťň]/i, averageCharsPerToken: 3.5 },
|
|
19
|
+
];
|
|
20
|
+
function getLanguageSpecificCharsPerToken(segment, configs) {
|
|
21
|
+
for (const config of configs) {
|
|
22
|
+
if (config.pattern.test(segment)) {
|
|
23
|
+
return config.averageCharsPerToken;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
function getCharacterCount(text) {
|
|
29
|
+
return Array.from(text).length;
|
|
30
|
+
}
|
|
31
|
+
function estimateSegmentTokens(segment, languageConfigs, defaultCharsPerToken) {
|
|
32
|
+
if (PATTERNS.whitespace.test(segment))
|
|
33
|
+
return 0;
|
|
34
|
+
if (PATTERNS.cjk.test(segment))
|
|
35
|
+
return getCharacterCount(segment);
|
|
36
|
+
if (PATTERNS.numeric.test(segment))
|
|
37
|
+
return 1;
|
|
38
|
+
if (segment.length <= SHORT_TOKEN_THRESHOLD)
|
|
39
|
+
return 1;
|
|
40
|
+
if (PATTERNS.punctuation.test(segment))
|
|
41
|
+
return segment.length > 1 ? Math.ceil(segment.length / 2) : 1;
|
|
42
|
+
const charsPerToken = getLanguageSpecificCharsPerToken(segment, languageConfigs) ?? defaultCharsPerToken;
|
|
43
|
+
return Math.ceil(segment.length / charsPerToken);
|
|
44
|
+
}
|
|
45
|
+
/** Estimate token count using language-aware heuristics */
|
|
46
|
+
export function estimateTokenCount(text, options = {}) {
|
|
47
|
+
if (text == null)
|
|
48
|
+
return 0;
|
|
49
|
+
if (typeof text === 'number') {
|
|
50
|
+
// Fallback for numeric input (character count) — use default ratio
|
|
51
|
+
return Math.max(0, Math.ceil(text / (options.defaultCharsPerToken ?? DEFAULT_CHARS_PER_TOKEN)));
|
|
52
|
+
}
|
|
53
|
+
if (!text)
|
|
54
|
+
return 0;
|
|
55
|
+
const { defaultCharsPerToken = DEFAULT_CHARS_PER_TOKEN, languageConfigs = DEFAULT_LANGUAGE_CONFIGS, } = options;
|
|
56
|
+
const segments = text.split(TOKEN_SPLIT_PATTERN).filter(Boolean);
|
|
57
|
+
let tokenCount = 0;
|
|
58
|
+
for (const segment of segments) {
|
|
59
|
+
tokenCount += estimateSegmentTokens(segment, languageConfigs, defaultCharsPerToken);
|
|
60
|
+
}
|
|
61
|
+
return tokenCount;
|
|
62
|
+
}
|
|
63
|
+
/** Slice text by token positions (like Array.slice but for tokens) */
|
|
64
|
+
export function sliceByTokens(text, start = 0, end, options = {}) {
|
|
65
|
+
if (!text)
|
|
66
|
+
return '';
|
|
67
|
+
const { defaultCharsPerToken = DEFAULT_CHARS_PER_TOKEN, languageConfigs = DEFAULT_LANGUAGE_CONFIGS } = options;
|
|
68
|
+
let totalTokens = 0;
|
|
69
|
+
if (start < 0 || (end !== undefined && end < 0)) {
|
|
70
|
+
totalTokens = estimateTokenCount(text, options);
|
|
71
|
+
}
|
|
72
|
+
const normalizedStart = start < 0 ? Math.max(0, totalTokens + start) : Math.max(0, start);
|
|
73
|
+
const normalizedEnd = end === undefined ? Infinity : end < 0 ? Math.max(0, totalTokens + end) : end;
|
|
74
|
+
if (normalizedStart >= normalizedEnd)
|
|
75
|
+
return '';
|
|
76
|
+
const segments = text.split(TOKEN_SPLIT_PATTERN).filter(Boolean);
|
|
77
|
+
const parts = [];
|
|
78
|
+
let currentTokenPos = 0;
|
|
79
|
+
for (const segment of segments) {
|
|
80
|
+
if (currentTokenPos >= normalizedEnd)
|
|
81
|
+
break;
|
|
82
|
+
const tokenCount = estimateSegmentTokens(segment, languageConfigs, defaultCharsPerToken);
|
|
83
|
+
const segmentEnd = currentTokenPos + tokenCount;
|
|
84
|
+
if (segmentEnd > normalizedStart && currentTokenPos < normalizedEnd) {
|
|
85
|
+
if (tokenCount === 0) {
|
|
86
|
+
if (currentTokenPos >= normalizedStart && currentTokenPos < normalizedEnd) {
|
|
87
|
+
parts.push(segment);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const overlapStart = Math.max(0, normalizedStart - currentTokenPos);
|
|
92
|
+
const overlapEnd = Math.min(tokenCount, normalizedEnd - currentTokenPos);
|
|
93
|
+
if (overlapStart === 0 && overlapEnd === tokenCount) {
|
|
94
|
+
parts.push(segment);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const charStart = Math.floor((overlapStart / tokenCount) * segment.length);
|
|
98
|
+
const charEnd = Math.ceil((overlapEnd / tokenCount) * segment.length);
|
|
99
|
+
parts.push(segment.slice(charStart, charEnd));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
currentTokenPos += tokenCount;
|
|
104
|
+
}
|
|
105
|
+
return parts.join('');
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -13,13 +13,23 @@ export type SkippedEntry = z.infer<typeof SkippedEntrySchema>;
|
|
|
13
13
|
export declare const ParserOutputSchema: z.ZodObject<{
|
|
14
14
|
fileType: z.ZodString;
|
|
15
15
|
metrics: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
16
|
+
confidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
17
|
+
exact: "exact";
|
|
18
|
+
estimated: "estimated";
|
|
19
|
+
}>>>;
|
|
16
20
|
}, z.core.$strip>;
|
|
17
21
|
export type ParserOutput = z.infer<typeof ParserOutputSchema>;
|
|
22
|
+
export type ConfidenceLevel = 'exact' | 'estimated';
|
|
18
23
|
export declare const ParseResultSchema: z.ZodObject<{
|
|
19
24
|
filePath: z.ZodString;
|
|
20
25
|
size: z.ZodNumber;
|
|
21
26
|
success: z.ZodBoolean;
|
|
22
27
|
fileType: z.ZodString;
|
|
23
28
|
metrics: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
29
|
+
confidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
30
|
+
exact: "exact";
|
|
31
|
+
estimated: "estimated";
|
|
32
|
+
}>>>;
|
|
33
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
24
34
|
}, z.core.$strip>;
|
|
25
35
|
export type ParseResult = z.infer<typeof ParseResultSchema>;
|
package/dist/src/types.js
CHANGED
|
@@ -11,6 +11,7 @@ export const SkippedEntrySchema = z.object({
|
|
|
11
11
|
export const ParserOutputSchema = z.object({
|
|
12
12
|
fileType: z.string(),
|
|
13
13
|
metrics: z.record(z.string(), z.number()),
|
|
14
|
+
confidence: z.record(z.string(), z.enum(['exact', 'estimated'])).optional(),
|
|
14
15
|
});
|
|
15
16
|
export const ParseResultSchema = z.object({
|
|
16
17
|
filePath: z.string(),
|
|
@@ -18,5 +19,7 @@ export const ParseResultSchema = z.object({
|
|
|
18
19
|
success: z.boolean(),
|
|
19
20
|
fileType: z.string(),
|
|
20
21
|
metrics: z.record(z.string(), z.number()).nullable(),
|
|
22
|
+
confidence: z.record(z.string(), z.enum(['exact', 'estimated'])).optional(),
|
|
23
|
+
suggestion: z.string().optional(),
|
|
21
24
|
});
|
|
22
25
|
//# sourceMappingURL=types.js.map
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5E,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cesarandreslopez/occ",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Office Cloc and Count — scc-style summary tables for office documents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"pptx",
|
|
31
31
|
"pdf",
|
|
32
32
|
"scc",
|
|
33
|
-
"cli"
|
|
33
|
+
"cli",
|
|
34
|
+
"confidence"
|
|
34
35
|
],
|
|
35
36
|
"exports": {
|
|
36
37
|
".": {
|
|
@@ -104,6 +105,30 @@
|
|
|
104
105
|
"./table/inspect": {
|
|
105
106
|
"types": "./dist/src/table/inspect.d.ts",
|
|
106
107
|
"default": "./dist/src/table/inspect.js"
|
|
108
|
+
},
|
|
109
|
+
"./tokens": {
|
|
110
|
+
"types": "./dist/src/tokens.d.ts",
|
|
111
|
+
"default": "./dist/src/tokens.js"
|
|
112
|
+
},
|
|
113
|
+
"./doc/entities": {
|
|
114
|
+
"types": "./dist/src/doc/entities.d.ts",
|
|
115
|
+
"default": "./dist/src/doc/entities.js"
|
|
116
|
+
},
|
|
117
|
+
"./doc/references": {
|
|
118
|
+
"types": "./dist/src/doc/references.d.ts",
|
|
119
|
+
"default": "./dist/src/doc/references.js"
|
|
120
|
+
},
|
|
121
|
+
"./progress-event": {
|
|
122
|
+
"types": "./dist/src/progress-event.d.ts",
|
|
123
|
+
"default": "./dist/src/progress-event.js"
|
|
124
|
+
},
|
|
125
|
+
"./types": {
|
|
126
|
+
"types": "./dist/src/types.d.ts",
|
|
127
|
+
"default": "./dist/src/types.js"
|
|
128
|
+
},
|
|
129
|
+
"./stats": {
|
|
130
|
+
"types": "./dist/src/stats.d.ts",
|
|
131
|
+
"default": "./dist/src/stats.js"
|
|
107
132
|
}
|
|
108
133
|
},
|
|
109
134
|
"files": [
|