@shodocan/opencode-hindsight 1.0.0 → 1.0.3
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 +24 -0
- package/dist/config.d.ts +32 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/index.js +64 -24
- package/dist/services/client.d.ts.map +1 -1
- package/dist/services/tags.d.ts +5 -4
- package/dist/services/tags.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -540,6 +540,30 @@ This is useful when you want to:
|
|
|
540
540
|
- **Organize memories using your own naming scheme**
|
|
541
541
|
- **Integrate with existing Hindsight banks** from other tools
|
|
542
542
|
|
|
543
|
+
### Bank Names from Environment Variables
|
|
544
|
+
|
|
545
|
+
Bank fields can reference environment variables when the entire configured value is a variable reference. Supported forms are `$VAR` and `${VAR}`, where variable names use shell-style identifiers matching `[A-Za-z_][A-Za-z0-9_]*`:
|
|
546
|
+
|
|
547
|
+
```jsonc
|
|
548
|
+
{
|
|
549
|
+
"userBank": "$OPENCODE_USER_BANK",
|
|
550
|
+
"projectBank": "$OPENCODE_PROJECT_BANK",
|
|
551
|
+
"agentProjectBanks": {
|
|
552
|
+
"review-*": "$OPENCODE_REVIEW_BANK"
|
|
553
|
+
},
|
|
554
|
+
"runtimeProjectBanks": {
|
|
555
|
+
"reviews": "${OPENCODE_REVIEW_BANK}"
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
Rules:
|
|
561
|
+
|
|
562
|
+
- Only full-value references are expanded; unsupported or partial env-reference syntax remains literal. `"proj-$OPENCODE_REVIEW_BANK"` remains literal.
|
|
563
|
+
- Missing or empty environment variables are treated as unset.
|
|
564
|
+
- For `agentProjectBanks` and `runtimeProjectBanks`, entries with missing or empty env refs are dropped.
|
|
565
|
+
- Expansion happens when the plugin loads configuration, so restart OpenCode after changing these variables.
|
|
566
|
+
|
|
543
567
|
### Agent-Aware Project Bank Routing
|
|
544
568
|
|
|
545
569
|
Subagents can use different project banks without changing OpenCode core. Configure `agentProjectBanks` with exact names or `*` glob patterns:
|
package/dist/config.d.ts
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
1
|
+
interface HindsightConfig {
|
|
2
|
+
baseUrl?: string;
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
similarityThreshold?: number;
|
|
5
|
+
maxMemories?: number;
|
|
6
|
+
maxProjectMemories?: number;
|
|
7
|
+
maxProfileItems?: number;
|
|
8
|
+
injectProfile?: boolean;
|
|
9
|
+
bankPrefix?: string;
|
|
10
|
+
userBank?: string;
|
|
11
|
+
projectBank?: string;
|
|
12
|
+
maxTokens?: number;
|
|
13
|
+
budget?: 'low' | 'mid' | 'high';
|
|
14
|
+
keywordPatterns?: string[];
|
|
15
|
+
compactionThreshold?: number;
|
|
16
|
+
agentProjectBanks?: Record<string, string>;
|
|
17
|
+
runtimeProjectBanks?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
export declare function resolveBaseUrl(config?: Pick<HindsightConfig, "baseUrl">, env?: Record<string, string | undefined>): string;
|
|
20
|
+
export declare function resolveApiKey(config?: Pick<HindsightConfig, "apiKey">, env?: Record<string, string | undefined>): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Sanitize one configured bank value. Full-value environment references of
|
|
23
|
+
* the form `$VAR` and `${VAR}` are expanded from the plugin process env.
|
|
24
|
+
* Partial interpolation is intentionally unsupported and remains literal.
|
|
25
|
+
*/
|
|
26
|
+
export declare function sanitizeBankValue(value: unknown, env?: Record<string, string | undefined>): string | undefined;
|
|
1
27
|
/**
|
|
2
28
|
* Sanitize a bank-name map from config: reject arrays, drop entries with
|
|
3
|
-
* non-string keys/values,
|
|
4
|
-
* empty object when absent or not a
|
|
29
|
+
* non-string keys/values, strip leading/trailing whitespace, and expand
|
|
30
|
+
* full-value env refs in values. Returns an empty object when absent or not a
|
|
31
|
+
* plain object.
|
|
5
32
|
*/
|
|
6
|
-
export declare function sanitizeBankMap(map: Record<string, string
|
|
33
|
+
export declare function sanitizeBankMap(map: unknown, env?: Record<string, string | undefined>): Record<string, string>;
|
|
7
34
|
export declare const CONFIG: {
|
|
8
35
|
baseUrl: string;
|
|
36
|
+
apiKey: string | undefined;
|
|
9
37
|
similarityThreshold: number;
|
|
10
38
|
maxMemories: number;
|
|
11
39
|
maxProjectMemories: number;
|
|
@@ -22,4 +50,5 @@ export declare const CONFIG: {
|
|
|
22
50
|
runtimeProjectBanks: Record<string, string>;
|
|
23
51
|
};
|
|
24
52
|
export declare function isConfigured(): boolean;
|
|
53
|
+
export {};
|
|
25
54
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AA6ED,wBAAgB,cAAc,CAC5B,MAAM,GAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAc,EACrD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAcR;AAED,wBAAgB,aAAa,CAC3B,MAAM,GAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAc,EACpD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,GAAG,SAAS,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,GAAG,SAAS,CAYpB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;CAoBlB,CAAC;AAEF,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
package/dist/index.js
CHANGED
|
@@ -14049,34 +14049,69 @@ function loadConfig() {
|
|
|
14049
14049
|
return {};
|
|
14050
14050
|
}
|
|
14051
14051
|
var fileConfig = loadConfig();
|
|
14052
|
-
|
|
14053
|
-
|
|
14054
|
-
|
|
14055
|
-
if (
|
|
14056
|
-
return
|
|
14052
|
+
var ENV_REF_RE = /^\$(?:([A-Za-z_][A-Za-z0-9_]*)|\{([A-Za-z_][A-Za-z0-9_]*)\})$/;
|
|
14053
|
+
function resolveBaseUrl(config2 = fileConfig, env = process.env) {
|
|
14054
|
+
const apiUrl = env.HINDSIGHT_API_URL?.trim();
|
|
14055
|
+
if (apiUrl)
|
|
14056
|
+
return apiUrl;
|
|
14057
|
+
const baseUrl = env.HINDSIGHT_BASE_URL?.trim();
|
|
14058
|
+
if (baseUrl)
|
|
14059
|
+
return baseUrl;
|
|
14060
|
+
if (typeof config2.baseUrl === "string") {
|
|
14061
|
+
const configured = config2.baseUrl.trim();
|
|
14062
|
+
if (configured)
|
|
14063
|
+
return configured;
|
|
14064
|
+
}
|
|
14057
14065
|
return "http://localhost:8888";
|
|
14058
14066
|
}
|
|
14059
|
-
function
|
|
14067
|
+
function resolveApiKey(config2 = fileConfig, env = process.env) {
|
|
14068
|
+
const apiKey = env.HINDSIGHT_API_KEY?.trim();
|
|
14069
|
+
if (apiKey)
|
|
14070
|
+
return apiKey;
|
|
14071
|
+
const tenantApiKey = env.HINDSIGHT_API_TENANT_API_KEY?.trim();
|
|
14072
|
+
if (tenantApiKey)
|
|
14073
|
+
return tenantApiKey;
|
|
14074
|
+
return sanitizeBankValue(config2.apiKey, env);
|
|
14075
|
+
}
|
|
14076
|
+
function sanitizeBankValue(value, env = process.env) {
|
|
14077
|
+
if (typeof value !== "string")
|
|
14078
|
+
return;
|
|
14079
|
+
const trimmed = value.trim();
|
|
14080
|
+
if (!trimmed)
|
|
14081
|
+
return;
|
|
14082
|
+
const match = trimmed.match(ENV_REF_RE);
|
|
14083
|
+
if (!match)
|
|
14084
|
+
return trimmed;
|
|
14085
|
+
const envName = match[1] ?? match[2];
|
|
14086
|
+
if (!envName)
|
|
14087
|
+
return;
|
|
14088
|
+
const envValue = env[envName]?.trim();
|
|
14089
|
+
return envValue || undefined;
|
|
14090
|
+
}
|
|
14091
|
+
function sanitizeBankMap(map2, env = process.env) {
|
|
14060
14092
|
if (!map2 || typeof map2 !== "object" || Array.isArray(map2))
|
|
14061
14093
|
return {};
|
|
14062
14094
|
const out = {};
|
|
14063
14095
|
for (const [key, value] of Object.entries(map2)) {
|
|
14064
|
-
|
|
14065
|
-
|
|
14096
|
+
const cleanKey = key.trim();
|
|
14097
|
+
const cleanValue = sanitizeBankValue(value, env);
|
|
14098
|
+
if (cleanKey && cleanValue) {
|
|
14099
|
+
out[cleanKey] = cleanValue;
|
|
14066
14100
|
}
|
|
14067
14101
|
}
|
|
14068
14102
|
return out;
|
|
14069
14103
|
}
|
|
14070
14104
|
var CONFIG = {
|
|
14071
|
-
baseUrl:
|
|
14105
|
+
baseUrl: resolveBaseUrl(fileConfig),
|
|
14106
|
+
apiKey: resolveApiKey(fileConfig),
|
|
14072
14107
|
similarityThreshold: fileConfig.similarityThreshold ?? DEFAULTS.similarityThreshold,
|
|
14073
14108
|
maxMemories: fileConfig.maxMemories ?? DEFAULTS.maxMemories,
|
|
14074
14109
|
maxProjectMemories: fileConfig.maxProjectMemories ?? DEFAULTS.maxProjectMemories,
|
|
14075
14110
|
maxProfileItems: fileConfig.maxProfileItems ?? DEFAULTS.maxProfileItems,
|
|
14076
14111
|
injectProfile: fileConfig.injectProfile ?? DEFAULTS.injectProfile,
|
|
14077
14112
|
bankPrefix: fileConfig.bankPrefix ?? DEFAULTS.bankPrefix,
|
|
14078
|
-
userBank: fileConfig.userBank,
|
|
14079
|
-
projectBank: fileConfig.projectBank,
|
|
14113
|
+
userBank: sanitizeBankValue(fileConfig.userBank),
|
|
14114
|
+
projectBank: sanitizeBankValue(fileConfig.projectBank),
|
|
14080
14115
|
maxTokens: fileConfig.maxTokens ?? DEFAULTS.maxTokens,
|
|
14081
14116
|
budget: fileConfig.budget ?? DEFAULTS.budget,
|
|
14082
14117
|
keywordPatterns: [
|
|
@@ -14137,9 +14172,13 @@ class HindsightClientWrapper {
|
|
|
14137
14172
|
if (!isConfigured()) {
|
|
14138
14173
|
throw new Error("Hindsight baseUrl not configured");
|
|
14139
14174
|
}
|
|
14140
|
-
log("client: creating HindsightClient", {
|
|
14175
|
+
log("client: creating HindsightClient", {
|
|
14176
|
+
baseUrl: CONFIG.baseUrl,
|
|
14177
|
+
hasApiKey: !!CONFIG.apiKey
|
|
14178
|
+
});
|
|
14141
14179
|
this.client = new HindsightClient({
|
|
14142
|
-
baseUrl: CONFIG.baseUrl
|
|
14180
|
+
baseUrl: CONFIG.baseUrl,
|
|
14181
|
+
...CONFIG.apiKey ? { apiKey: CONFIG.apiKey } : {}
|
|
14143
14182
|
});
|
|
14144
14183
|
}
|
|
14145
14184
|
return this.client;
|
|
@@ -14232,7 +14271,10 @@ class HindsightClientWrapper {
|
|
|
14232
14271
|
log("deleteMemory: start", { bank, memoryId });
|
|
14233
14272
|
try {
|
|
14234
14273
|
const url2 = `${CONFIG.baseUrl}/v1/default/banks/${bank}/memories/${memoryId}/observations`;
|
|
14235
|
-
const response = await fetch(url2, {
|
|
14274
|
+
const response = await fetch(url2, {
|
|
14275
|
+
method: "DELETE",
|
|
14276
|
+
...CONFIG.apiKey ? { headers: { Authorization: `Bearer ${CONFIG.apiKey}` } } : {}
|
|
14277
|
+
});
|
|
14236
14278
|
if (!response.ok) {
|
|
14237
14279
|
const text = await response.text();
|
|
14238
14280
|
log("deleteMemory: http error", { status: response.status, body: text });
|
|
@@ -14458,9 +14500,16 @@ function resolveBanks(input, options = {}) {
|
|
|
14458
14500
|
let matchedAgent;
|
|
14459
14501
|
let matchedAlias;
|
|
14460
14502
|
let matchedAgentPattern;
|
|
14503
|
+
const agentMatch = matchAgentBank(input.agent, cfgAgentBanks);
|
|
14504
|
+
if (agentMatch !== undefined) {
|
|
14505
|
+
project = agentMatch.bank;
|
|
14506
|
+
projectSource = "agentProjectBanks";
|
|
14507
|
+
matchedAgent = input.agent;
|
|
14508
|
+
matchedAgentPattern = agentMatch.pattern;
|
|
14509
|
+
}
|
|
14461
14510
|
const alias = input.projectBankAlias?.trim() || undefined;
|
|
14462
14511
|
let runtimeAliasBank;
|
|
14463
|
-
if (alias !== undefined) {
|
|
14512
|
+
if (project === undefined && alias !== undefined) {
|
|
14464
14513
|
const hasAlias = Object.prototype.hasOwnProperty.call(cfgRuntimeBanks, alias);
|
|
14465
14514
|
const resolved = hasAlias ? cfgRuntimeBanks[alias] : undefined;
|
|
14466
14515
|
if (typeof resolved !== "string" || !resolved.trim()) {
|
|
@@ -14481,15 +14530,6 @@ function resolveBanks(input, options = {}) {
|
|
|
14481
14530
|
projectSource = "runtimeProjectBanks";
|
|
14482
14531
|
matchedAlias = alias;
|
|
14483
14532
|
}
|
|
14484
|
-
if (project === undefined) {
|
|
14485
|
-
const agentMatch = matchAgentBank(input.agent, cfgAgentBanks);
|
|
14486
|
-
if (agentMatch !== undefined) {
|
|
14487
|
-
project = agentMatch.bank;
|
|
14488
|
-
projectSource = "agentProjectBanks";
|
|
14489
|
-
matchedAgent = input.agent;
|
|
14490
|
-
matchedAgentPattern = agentMatch.pattern;
|
|
14491
|
-
}
|
|
14492
|
-
}
|
|
14493
14533
|
if (project === undefined && cfgProjectBank) {
|
|
14494
14534
|
project = cfgProjectBank;
|
|
14495
14535
|
projectSource = "config:projectBank";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/services/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAc3B,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/services/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAc3B,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,SAAS;IAiBX,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmB1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;;IAoBvC,SAAS,CACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACvE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;KACnC;IAoEG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;IAwB3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK;;;;;;;;;;;;;;;IA6BrC,kBAAkB,CACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;;;;;;;;;;;CA4EvD;AAED,eAAO,MAAM,eAAe,wBAA+B,CAAC"}
|
package/dist/services/tags.d.ts
CHANGED
|
@@ -72,11 +72,12 @@ export interface ResolvedBanks {
|
|
|
72
72
|
/**
|
|
73
73
|
* Pure per-call bank resolver implementing project bank precedence:
|
|
74
74
|
*
|
|
75
|
-
* 1. `
|
|
76
|
-
*
|
|
77
|
-
*
|
|
75
|
+
* 1. Exact / glob `agentProjectBanks` match for `agent`
|
|
76
|
+
* (matched agents are isolated from env and alias overrides)
|
|
77
|
+
* 2. `HINDSIGHT_PROJECT_BANK_ID` env var
|
|
78
|
+
* 3. `HINDSIGHT_BANK_ID` env var (legacy fallback)
|
|
79
|
+
* 4. Runtime project bank alias (`projectBankAlias` resolved against
|
|
78
80
|
* `runtimeProjectBanks`)
|
|
79
|
-
* 4. Exact / glob `agentProjectBanks` match for `agent`
|
|
80
81
|
* 5. `projectBank` from config (explicit fallback)
|
|
81
82
|
* 6. Generated `p_<project>_<hash>` fallback
|
|
82
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/services/tags.ts"],"names":[],"mappings":"AAQA,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAO3C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAapC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAG7E;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,+BAA+B,GAC/B,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,WAAW,CAAC;AAEhB,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,iBAAiB,CAAC;IACjC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyDD
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/services/tags.ts"],"names":[],"mappings":"AAQA,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAO3C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAapC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAG7E;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,+BAA+B,GAC/B,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,WAAW,CAAC;AAEhB,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,iBAAiB,CAAC;IACjC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,mBAAwB,GAChC,aAAa,CA2Ef"}
|