@indexnetwork/protocol 0.1.0 → 0.2.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.
- package/README.md +113 -0
- package/dist/agents/chat.agent.js +2 -2
- package/dist/agents/chat.agent.js.map +1 -1
- package/dist/agents/chat.prompt.d.ts.map +1 -1
- package/dist/agents/chat.prompt.js +44 -32
- package/dist/agents/chat.prompt.js.map +1 -1
- package/dist/agents/chat.prompt.modules.js +16 -16
- package/dist/agents/chat.prompt.modules.js.map +1 -1
- package/dist/agents/negotiation.proposer.d.ts +1 -1
- package/dist/agents/negotiation.proposer.d.ts.map +1 -1
- package/dist/agents/negotiation.responder.d.ts +1 -1
- package/dist/agents/negotiation.responder.d.ts.map +1 -1
- package/dist/agents/opportunity.evaluator.d.ts +1 -1
- package/dist/agents/opportunity.evaluator.d.ts.map +1 -1
- package/dist/agents/opportunity.evaluator.js +2 -2
- package/dist/agents/opportunity.evaluator.js.map +1 -1
- package/dist/agents/opportunity.presenter.js +1 -1
- package/dist/agents/opportunity.presenter.js.map +1 -1
- package/dist/graphs/chat.graph.d.ts +9 -9
- package/dist/graphs/chat.graph.d.ts.map +1 -1
- package/dist/graphs/chat.graph.js +2 -2
- package/dist/graphs/chat.graph.js.map +1 -1
- package/dist/graphs/home.graph.d.ts +5 -5
- package/dist/graphs/home.graph.d.ts.map +1 -1
- package/dist/graphs/home.graph.js +2 -2
- package/dist/graphs/home.graph.js.map +1 -1
- package/dist/graphs/intent.graph.d.ts +21 -21
- package/dist/graphs/intent.graph.d.ts.map +1 -1
- package/dist/graphs/intent.graph.js +8 -8
- package/dist/graphs/intent.graph.js.map +1 -1
- package/dist/graphs/intent_network.graph.d.ts +398 -0
- package/dist/graphs/intent_network.graph.d.ts.map +1 -0
- package/dist/graphs/intent_network.graph.js +345 -0
- package/dist/graphs/intent_network.graph.js.map +1 -0
- package/dist/graphs/negotiation.graph.d.ts +27 -27
- package/dist/graphs/negotiation.graph.d.ts.map +1 -1
- package/dist/graphs/negotiation.graph.js +2 -2
- package/dist/graphs/negotiation.graph.js.map +1 -1
- package/dist/graphs/network.graph.d.ts +620 -0
- package/dist/graphs/network.graph.d.ts.map +1 -0
- package/dist/graphs/network.graph.js +226 -0
- package/dist/graphs/network.graph.js.map +1 -0
- package/dist/graphs/network_membership.graph.d.ts +250 -0
- package/dist/graphs/network_membership.graph.d.ts.map +1 -0
- package/dist/graphs/network_membership.graph.js +204 -0
- package/dist/graphs/network_membership.graph.js.map +1 -0
- package/dist/graphs/opportunity.graph.d.ts +33 -33
- package/dist/graphs/opportunity.graph.d.ts.map +1 -1
- package/dist/graphs/opportunity.graph.js +161 -144
- package/dist/graphs/opportunity.graph.js.map +1 -1
- package/dist/graphs/profile.graph.js +4 -4
- package/dist/graphs/profile.graph.js.map +1 -1
- package/dist/graphs/tests/chat.graph.mocks.d.ts +14 -14
- package/dist/graphs/tests/chat.graph.mocks.d.ts.map +1 -1
- package/dist/graphs/tests/chat.graph.mocks.js +23 -23
- package/dist/graphs/tests/chat.graph.mocks.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/database.interface.d.ts +111 -111
- package/dist/interfaces/database.interface.d.ts.map +1 -1
- package/dist/interfaces/embedder.interface.d.ts +1 -1
- package/dist/interfaces/embedder.interface.d.ts.map +1 -1
- package/dist/mcp/mcp.server.js +1 -1
- package/dist/mcp/mcp.server.js.map +1 -1
- package/dist/states/chat.state.d.ts +2 -2
- package/dist/states/chat.state.js +2 -2
- package/dist/states/chat.state.js.map +1 -1
- package/dist/states/home.state.d.ts +1 -1
- package/dist/states/home.state.js +1 -1
- package/dist/states/home.state.js.map +1 -1
- package/dist/states/intent.state.d.ts +4 -4
- package/dist/states/intent.state.d.ts.map +1 -1
- package/dist/states/intent.state.js +1 -1
- package/dist/states/intent.state.js.map +1 -1
- package/dist/states/intent_network.state.d.ts +148 -0
- package/dist/states/intent_network.state.d.ts.map +1 -0
- package/dist/states/intent_network.state.js +100 -0
- package/dist/states/intent_network.state.js.map +1 -0
- package/dist/states/negotiation.state.d.ts +4 -4
- package/dist/states/negotiation.state.d.ts.map +1 -1
- package/dist/states/negotiation.state.js +1 -1
- package/dist/states/negotiation.state.js.map +1 -1
- package/dist/states/network.state.d.ts +179 -0
- package/dist/states/network.state.d.ts.map +1 -0
- package/dist/states/network.state.js +56 -0
- package/dist/states/network.state.js.map +1 -0
- package/dist/states/network_membership.state.d.ts +77 -0
- package/dist/states/network_membership.state.d.ts.map +1 -0
- package/dist/states/network_membership.state.js +43 -0
- package/dist/states/network_membership.state.js.map +1 -0
- package/dist/states/opportunity.state.d.ts +15 -15
- package/dist/states/opportunity.state.d.ts.map +1 -1
- package/dist/states/opportunity.state.js +6 -6
- package/dist/states/opportunity.state.js.map +1 -1
- package/dist/streamers/chat.streamer.d.ts +2 -2
- package/dist/streamers/chat.streamer.d.ts.map +1 -1
- package/dist/streamers/chat.streamer.js +6 -6
- package/dist/streamers/chat.streamer.js.map +1 -1
- package/dist/support/opportunity.discover.js +2 -2
- package/dist/support/opportunity.discover.js.map +1 -1
- package/dist/support/opportunity.enricher.js +2 -2
- package/dist/support/opportunity.enricher.js.map +1 -1
- package/dist/support/protocol.logger.d.ts +1 -1
- package/dist/support/protocol.logger.d.ts.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +21 -17
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/intent.tools.js +67 -67
- package/dist/tools/intent.tools.js.map +1 -1
- package/dist/tools/network.tools.d.ts +3 -0
- package/dist/tools/network.tools.d.ts.map +1 -0
- package/dist/tools/network.tools.js +423 -0
- package/dist/tools/network.tools.js.map +1 -0
- package/dist/tools/opportunity.tools.d.ts.map +1 -1
- package/dist/tools/opportunity.tools.js +51 -44
- package/dist/tools/opportunity.tools.js.map +1 -1
- package/dist/tools/profile.tools.js +21 -21
- package/dist/tools/profile.tools.js.map +1 -1
- package/dist/tools/tool.helpers.d.ts +10 -10
- package/dist/tools/tool.helpers.d.ts.map +1 -1
- package/dist/tools/tool.helpers.js +16 -16
- package/dist/tools/tool.helpers.js.map +1 -1
- package/dist/tools/tool.registry.js +3 -3
- package/dist/tools/tool.registry.js.map +1 -1
- package/dist/tools/utility.tools.js +3 -3
- package/package.json +4 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { ModelConfig } from "../agents/model.config.js";
|
|
3
3
|
import type { ProfileDocument } from "../agents/profile.generator.js";
|
|
4
|
-
import type { ChatGraphCompositeDatabase,
|
|
4
|
+
import type { ChatGraphCompositeDatabase, NetworkMembership, UserRecord, UserDatabase, SystemDatabase, NegotiationDatabase } from "../interfaces/database.interface.js";
|
|
5
5
|
import type { Scraper } from "../interfaces/scraper.interface.js";
|
|
6
6
|
import type { Cache, HydeCache } from "../interfaces/cache.interface.js";
|
|
7
7
|
import type { CompiledOpportunityGraph } from "../support/opportunity.discover.js";
|
|
@@ -26,13 +26,13 @@ export interface ResolvedToolContext {
|
|
|
26
26
|
userId: string;
|
|
27
27
|
userName: string;
|
|
28
28
|
userEmail: string;
|
|
29
|
-
|
|
29
|
+
networkId?: string;
|
|
30
30
|
indexName?: string;
|
|
31
31
|
/** True when chat is index-scoped and the user owns the index. */
|
|
32
32
|
isOwner?: boolean;
|
|
33
33
|
user: UserRecord;
|
|
34
34
|
userProfile: ProfileContext;
|
|
35
|
-
|
|
35
|
+
userNetworks: NetworkMembership[];
|
|
36
36
|
scopedIndex?: {
|
|
37
37
|
id: string;
|
|
38
38
|
title: string;
|
|
@@ -64,7 +64,7 @@ export interface ToolContext {
|
|
|
64
64
|
embedder: Embedder;
|
|
65
65
|
scraper: Scraper;
|
|
66
66
|
/** When set, chat is scoped to this index; tools use it as default for read_intents and create_intent. */
|
|
67
|
-
|
|
67
|
+
networkId?: string;
|
|
68
68
|
/** Chat session ID when creating tools for a chat; enables draft opportunities with context.conversationId. */
|
|
69
69
|
sessionId?: string;
|
|
70
70
|
/** General-purpose cache (e.g. for tool results). */
|
|
@@ -119,9 +119,9 @@ export declare class ChatContextAccessError extends Error {
|
|
|
119
119
|
* This preloads user identity, profile, index memberships, and scoped index role.
|
|
120
120
|
*/
|
|
121
121
|
export declare function resolveChatContext(params: {
|
|
122
|
-
database: Pick<ChatGraphCompositeDatabase, "getUser" | "getProfile" | "
|
|
122
|
+
database: Pick<ChatGraphCompositeDatabase, "getUser" | "getProfile" | "getNetworkMemberships" | "getNetworkMembership" | "getIndex" | "isIndexOwner" | "isNetworkMember">;
|
|
123
123
|
userId: string;
|
|
124
|
-
|
|
124
|
+
networkId?: string;
|
|
125
125
|
/** Chat session ID for draft opportunities (stored as context.conversationId). */
|
|
126
126
|
sessionId?: string;
|
|
127
127
|
}): Promise<ResolvedToolContext>;
|
|
@@ -184,7 +184,7 @@ export interface ToolDeps {
|
|
|
184
184
|
profile: CompiledGraph;
|
|
185
185
|
intent: CompiledGraph;
|
|
186
186
|
index: CompiledGraph;
|
|
187
|
-
|
|
187
|
+
networkMembership: CompiledGraph;
|
|
188
188
|
intentIndex: CompiledGraph;
|
|
189
189
|
opportunity: CompiledOpportunityGraph;
|
|
190
190
|
};
|
|
@@ -203,15 +203,15 @@ export declare function needsClarification(params: {
|
|
|
203
203
|
/** UUID v4 format: 8-4-4-4-12 hex chars (e.g. c2505011-2e45-426e-81dd-b9abb9b72023) */
|
|
204
204
|
export declare const UUID_REGEX: RegExp;
|
|
205
205
|
/**
|
|
206
|
-
* Resolves an array of
|
|
207
|
-
* Skips any IDs that don't resolve (deleted or invalid
|
|
206
|
+
* Resolves an array of network IDs to their display titles.
|
|
207
|
+
* Skips any IDs that don't resolve (deleted or invalid networks).
|
|
208
208
|
*/
|
|
209
209
|
export declare function resolveIndexNames(database: {
|
|
210
210
|
getIndex(id: string): Promise<{
|
|
211
211
|
id: string;
|
|
212
212
|
title: string;
|
|
213
213
|
} | null>;
|
|
214
|
-
},
|
|
214
|
+
}, networkIds: string[]): Promise<string[]>;
|
|
215
215
|
/**
|
|
216
216
|
* Normalize a URL string: if it lacks a protocol, prepend "https://".
|
|
217
217
|
* Returns the normalized URL or null if the result is not a valid URL.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.helpers.d.ts","sourceRoot":"","sources":["../../src/tools/tool.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EACV,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"tool.helpers.d.ts","sourceRoot":"","sources":["../../src/tools/tool.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,11 @@ export class ChatContextAccessError extends Error {
|
|
|
15
15
|
* This preloads user identity, profile, index memberships, and scoped index role.
|
|
16
16
|
*/
|
|
17
17
|
export async function resolveChatContext(params) {
|
|
18
|
-
const { database, userId,
|
|
19
|
-
const [user, rawProfile,
|
|
18
|
+
const { database, userId, networkId, sessionId } = params;
|
|
19
|
+
const [user, rawProfile, userNetworks] = await Promise.all([
|
|
20
20
|
database.getUser(userId),
|
|
21
21
|
database.getProfile(userId),
|
|
22
|
-
database.
|
|
22
|
+
database.getNetworkMemberships(userId),
|
|
23
23
|
]);
|
|
24
24
|
// Omit embedding from profile so resolved context stays lean (embedding is for search only).
|
|
25
25
|
let userProfile = null;
|
|
@@ -34,11 +34,11 @@ export async function resolveChatContext(params) {
|
|
|
34
34
|
let scopedMembershipRole = undefined;
|
|
35
35
|
let isOwner = false;
|
|
36
36
|
let indexName;
|
|
37
|
-
if (
|
|
37
|
+
if (networkId) {
|
|
38
38
|
const [index, isMember, owner] = await Promise.all([
|
|
39
|
-
database.getIndex(
|
|
40
|
-
database.
|
|
41
|
-
database.isIndexOwner(
|
|
39
|
+
database.getIndex(networkId),
|
|
40
|
+
database.isNetworkMember(networkId, userId),
|
|
41
|
+
database.isIndexOwner(networkId, userId),
|
|
42
42
|
]);
|
|
43
43
|
if (!index) {
|
|
44
44
|
throw new ChatContextAccessError("Index not found", 404, "INDEX_NOT_FOUND");
|
|
@@ -46,9 +46,9 @@ export async function resolveChatContext(params) {
|
|
|
46
46
|
if (!isMember) {
|
|
47
47
|
throw new ChatContextAccessError("You are not a member of this index", 403, "INDEX_MEMBERSHIP_REQUIRED");
|
|
48
48
|
}
|
|
49
|
-
let membership =
|
|
49
|
+
let membership = userNetworks.find((m) => m.networkId === index.id);
|
|
50
50
|
if (membership === undefined) {
|
|
51
|
-
membership = (await database.
|
|
51
|
+
membership = (await database.getNetworkMembership(index.id, userId)) ?? undefined;
|
|
52
52
|
}
|
|
53
53
|
scopedIndex = {
|
|
54
54
|
id: index.id,
|
|
@@ -66,12 +66,12 @@ export async function resolveChatContext(params) {
|
|
|
66
66
|
userId,
|
|
67
67
|
userName,
|
|
68
68
|
userEmail,
|
|
69
|
-
|
|
69
|
+
networkId,
|
|
70
70
|
indexName,
|
|
71
71
|
isOwner,
|
|
72
72
|
user,
|
|
73
73
|
userProfile,
|
|
74
|
-
|
|
74
|
+
userNetworks,
|
|
75
75
|
scopedIndex,
|
|
76
76
|
scopedMembershipRole,
|
|
77
77
|
isOnboarding: !(user.onboarding?.completedAt),
|
|
@@ -114,13 +114,13 @@ const BARE_URL_REGEX = /(?<!\w:\/\/)(?<![/\w])(?:www\.)?[a-z0-9](?:[a-z0-9-]*[a-
|
|
|
114
114
|
/** UUID v4 format: 8-4-4-4-12 hex chars (e.g. c2505011-2e45-426e-81dd-b9abb9b72023) */
|
|
115
115
|
export const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
116
116
|
/**
|
|
117
|
-
* Resolves an array of
|
|
118
|
-
* Skips any IDs that don't resolve (deleted or invalid
|
|
117
|
+
* Resolves an array of network IDs to their display titles.
|
|
118
|
+
* Skips any IDs that don't resolve (deleted or invalid networks).
|
|
119
119
|
*/
|
|
120
|
-
export async function resolveIndexNames(database,
|
|
121
|
-
if (
|
|
120
|
+
export async function resolveIndexNames(database, networkIds) {
|
|
121
|
+
if (networkIds.length === 0)
|
|
122
122
|
return [];
|
|
123
|
-
const results = await Promise.all(
|
|
123
|
+
const results = await Promise.all(networkIds.map(id => database.getIndex(id)));
|
|
124
124
|
return results.filter(Boolean).map(idx => idx.title);
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.helpers.js","sourceRoot":"","sources":["../../src/tools/tool.helpers.ts"],"names":[],"mappings":"AAoIA;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YACE,OAAe,EACC,UAAkB,EAClB,IAAwE;QAExF,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAoE;QAGxF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MASxC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"tool.helpers.js","sourceRoot":"","sources":["../../src/tools/tool.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createProfileTools } from './profile.tools.js';
|
|
2
2
|
import { createIntentTools } from './intent.tools.js';
|
|
3
|
-
import {
|
|
3
|
+
import { createNetworkTools } from './network.tools.js';
|
|
4
4
|
import { createOpportunityTools } from './opportunity.tools.js';
|
|
5
5
|
import { createUtilityTools } from './utility.tools.js';
|
|
6
6
|
import { createIntegrationTools } from './integration.tools.js';
|
|
@@ -27,7 +27,7 @@ export function createToolRegistry(deps) {
|
|
|
27
27
|
schema: opts.querySchema,
|
|
28
28
|
handler: async (input) => {
|
|
29
29
|
logger.verbose(`Tool: ${opts.name}`, {
|
|
30
|
-
context: { userId: input.context.userId,
|
|
30
|
+
context: { userId: input.context.userId, networkId: input.context.networkId },
|
|
31
31
|
query: input.query,
|
|
32
32
|
});
|
|
33
33
|
try {
|
|
@@ -51,7 +51,7 @@ export function createToolRegistry(deps) {
|
|
|
51
51
|
const dt = defineTool;
|
|
52
52
|
createProfileTools(dt, deps);
|
|
53
53
|
createIntentTools(dt, deps);
|
|
54
|
-
|
|
54
|
+
createNetworkTools(dt, deps);
|
|
55
55
|
createOpportunityTools(dt, deps);
|
|
56
56
|
createUtilityTools(dt, deps);
|
|
57
57
|
createIntegrationTools(dt, deps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.registry.js","sourceRoot":"","sources":["../../src/tools/tool.registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool.registry.js","sourceRoot":"","sources":["../../src/tools/tool.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,8 +45,8 @@ export function createUtilityTools(defineTool, deps) {
|
|
|
45
45
|
- **Profiles**: A user's identity — bio, skills, interests, location, social links. Generated from account data or social URLs. Has a vector embedding for semantic matching.
|
|
46
46
|
- **Indexes**: Communities or groups. Each has a title, optional prompt (purpose description), and a join policy (anyone or invite_only). Users join indexes as members; the creator is the owner.
|
|
47
47
|
- **Index Members**: Junction between Users and Indexes. Tracks permissions, join date, auto-assign setting, and optional member prompt.
|
|
48
|
-
- **Intents**: What a user is looking for — wants, needs, and priorities. Each has a description (payload), summary, confidence score, and vector embedding. Intents belong to a user but are linked to
|
|
49
|
-
- **
|
|
48
|
+
- **Intents**: What a user is looking for — wants, needs, and priorities. Each has a description (payload), summary, confidence score, and vector embedding. Intents belong to a user but are linked to networks via IntentNetworks (many-to-many).
|
|
49
|
+
- **IntentNetworks**: Junction between Intents and Networks. An intent can be in multiple networks. When an intent is created, it is evaluated against network prompts and linked to relevant ones.
|
|
50
50
|
- **Opportunities**: Discovered connections between users based on intent overlap. Have roles (introducer, patient, agent, peer), status lifecycle, reasoning, and presentation data.
|
|
51
51
|
- **HyDE Documents**: Hypothetical Document Embeddings — generated synthetic documents used for semantic retrieval of intents and profiles`,
|
|
52
52
|
intents: `## Intent Lifecycle
|
|
@@ -54,7 +54,7 @@ export function createUtilityTools(defineTool, deps) {
|
|
|
54
54
|
1. **Creation**: User describes what they're looking for. The IntentClarifier checks if it's specific enough — vague intents get a refinement suggestion before persisting.
|
|
55
55
|
2. **Inference**: The intent graph extracts structured intents from free text. It can infer multiple intents from a single input and reconcile with existing ones (update if similar, create if new).
|
|
56
56
|
3. **Semantic Governance**: Each intent gets a confidence score, semantic entropy measure, speech act type (commissive, directive, assertive), referential anchor, and felicity conditions (sincerity, authority).
|
|
57
|
-
4. **Index Assignment**: After creation, the intent is evaluated against all indexes the user belongs to (using the index prompt as criteria). It's automatically linked to matching indexes via
|
|
57
|
+
4. **Index Assignment**: After creation, the intent is evaluated against all indexes the user belongs to (using the index prompt as criteria). It's automatically linked to matching indexes via IntentNetworks.
|
|
58
58
|
5. **Discovery**: Creating an intent triggers background opportunity detection — the system looks for other users in shared indexes whose intents complement this one.
|
|
59
59
|
6. **Update/Archive**: Intents can be updated (re-processed through the graph) or archived (soft delete).`,
|
|
60
60
|
opportunities: `## Opportunity Lifecycle
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indexnetwork/protocol",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts"
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
|
-
"files": [
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
14
16
|
"scripts": {
|
|
15
17
|
"build": "tsc",
|
|
16
18
|
"dev": "tsc --watch",
|