Faits :
A.
A._, ressortissant portugais, arrêté le 18 mars 2014, se trouve en détention provisoire, sous la prévention de violation grave de la LStup (<ref-law>). Il lui est reproché d'avoir acquis pour son compte à Genève, en l'espace d'à peu près une année, l'équivalent de 4 kg 150 d'héroïne et d'en avoir fait revendre par B._ environ 1 kg. Le prénommé nie les faits.
Par ordonnance du 21 mars 2014, le Tribunal des mesures de contrainte du canton du Valais (Tmc) a ordonné la détention de A._ pour une durée de trois mois. Par la suite, la détention a été régulièrement prolongée, en dernier lieu jusqu'au 29 décembre 2014, par ordonnance du 29 septembre 2014 du Tmc. A._ a recouru contre cette ordonnance auprès de la Chambre des recours pénale du Tribunal cantonal du canton du Valais (ci-après: le Tribunal cantonal), qui a rejeté ce recours par ordonnance du 29 octobre 2014. Le Tribunal cantonal a considéré en substance qu'il existait de forts soupçons de culpabilité ainsi qu'un risque concret de fuite. Il a en outre jugé que le principe de la célérité était respecté, tout en constatant un "fléchissement dans l'avancement de la cause durant l'été".
B.
Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral d'annuler l'ordonnance attaquée et d'ordonner sa libération immédiate. A titre subsidiaire, il requiert sa libération assortie de différentes mesures de substitution (obligation de se présenter à la police cantonale, saisie de sa carte d'identité, assignation à résidence - horaires de travail exceptés -, obligation d'avoir un travail régulier, obligation de continuer son traitement médical, interdiction d'entretenir des relations avec toute personne touchée par la présente procédure). Il conclut très subsidiairement au renvoi de la cause à la juridiction cantonale pour détermination des mesures de substitution applicables. Il requiert en outre l'assistance judiciaire.
Invitée à se déterminer, la cour cantonale se réfère aux considérants de son ordonnance. Le procureur en charge de la cause ne s'est pas déterminé.

Considérant en droit :
1.
Le recours en matière pénale (<ref-law>) est en principe ouvert contre une décision relative au maintien en détention provisoire au sens des <ref-law>. Dès lors que l'acte de procédure litigieux ne met pas un terme à la procédure pénale (art. 90 s. LTF), il s'agit d'une décision incidente prise séparément au sens de l'<ref-law>. La décision ordonnant le maintien en détention provisoire du prévenu étant susceptible de lui causer un préjudice irréparable au sens de l'<ref-law>, elle peut faire l'objet d'un recours au Tribunal fédéral. Selon l'art. 81 al. 1 let. a et let. b ch. 1 LTF, l'accusé a qualité pour agir. Pour le surplus, le recours est formé en temps utile (<ref-law>) contre une décision rendue en dernière instance cantonale (<ref-law>) et les conclusions présentées sont recevables au regard de l'<ref-law>.
2.
Le recourant ne met pas en cause la base légale de sa détention. Il conteste cependant l'existence de forts soupçons à son encontre.
2.1. Une mesure de détention préventive n'est compatible avec la liberté personnelle garantie aux art. 10 al. 2 Cst. et 5 CEDH que si elle repose sur une base légale (art. 31 al. 1 et art. 36 al. 1 Cst.), soit en l'espèce l'<ref-law>. Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.). Pour que tel soit le cas, la privation de liberté doit être justifiée par les besoins de l'instruction, par un risque de fuite ou par un danger de collusion ou de réitération (art. 221 al. 1 let. a, b et c CPP).
Préalablement à ces conditions, il doit exister des charges suffisantes, soit de sérieux soupçons de culpabilité, à l'égard de l'intéressé (<ref-law>; art. 5 par. 1 let. c CEDH), c'est-à-dire des raisons plausibles de le soupçonner d'avoir commis une infraction. Il n'appartient cependant pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu. Il doit uniquement examiner s'il existe des indices sérieux de culpabilité justifiant une telle mesure. L'intensité des charges propres à motiver un maintien en détention préventive n'est pas la même aux divers stades de l'instruction pénale; si des soupçons, même encore peu précis, peuvent être suffisants dans les premiers temps de l'enquête, la perspective d'une condamnation doit apparaître vraisemblable après l'accomplissement des actes d'instruction envisageables (<ref-ruling> consid. 3.2 p. 126 s.).
2.2. En l'espèce, le recourant soutient qu'aucune explication cohérente permettrait de comprendre qu'un dealer acquière 4,5 kg pour lui-même mais en revende 1 kg pour le compte d'un tiers. Il avance encore que les moyens matériels saisis à son domicile sont congruents avec un consommateur mais ne permettraient pas de prouver un trafic important d'héroïne, ce d'autant moins qu'aucune trace d'héroïne et aucun matériel de conditionnement correspondant aux quantités incriminées n'ont été trouvés. Il prétend que le témoignage de l'amie de B._ a une force probante limitée. Enfin, le recourant, qui met en avant son casier judiciaire vierge, fait valoir que l'argent provenant de cet important trafic n'a pas été retrouvé non plus.
Partant, le recourant perd de vue qu'il n'appartient pas au juge de la détention provisoire d'examiner en détail ces considérations de fait, pas plus que de faire une appréciation complète des éléments à charge et à décharge; il lui incombe uniquement de vérifier, sous l'angle de la vraisemblance, que le maintien en détention avant jugement repose sur des indices de culpabilité suffisants. Or, le Tribunal cantonal a retenu comme soupçons de culpabilité les éléments suivants: B._ a fourni des indications permettant d'évaluer que le recourant avait acquis pour son compte à Genève en l'espace d'à peu près un an l'équivalent de 4 kg 150 d'héroïne et en avait revendu par son intermédiaire environ 1 kg; une personne a témoigné avoir acheté à deux reprises de l'héroïne auprès du recourant; la police a notamment découvert au domicile du recourant deux balances et dix pacsons destinés à renfermer de l'héroïne; l'amie de B._ a déclaré avoir constaté à quelques reprises que le recourant avait remis à son ami un paquet de cigarettes rempli de pacsons d'héroïne en vue de revente à l'extérieur, en contrepartie de quoi il percevait 5 pacsons.
Même si le faisceau d'indices retenu par le Tribunal cantonal est le même que celui qui prévalait dans les premiers temps de l'enquête et qu'à ce jour l'instruction n'a pas permis de renforcer ces soupçons, il peut encore être admis que ces éléments constituent des indices suffisants pour justifier un maintien en détention du recourant jusqu'à l'échéance de la prolongation de la détention provisoire, étant rappelé que c'est au juge du fond et non à celui de la détention qu'il incombera d'apprécier la culpabilité de l'intéressé ainsi que la valeur probante des différentes déclarations.
3.
Le recourant nie le danger de réitération mais ne conteste pas l'existence d'un risque de fuite. Il soutient cependant que la mise en oeuvre de mesures de substitution au sens de l'<ref-law> devrait suffire à pallier ce risque.
3.1. L'<ref-law> dispose que les mesures de contrainte ne peuvent être prises qu'à la condition que les buts poursuivis ne peuvent pas être atteints par des mesures moins sévères (let. c) et qu'elles apparaissent justifiées au regard de la gravité de l'infraction (let. d). Cette disposition est l'expression du principe de la proportionnalité (art. 36 al. 3 Cst.), lequel impose l'examen des possibilités de mettre en oeuvre d'autres solutions moins dommageables que la détention (règle de la nécessité); en outre, ce principe interdit toute limitation allant au-delà du but visé et il exige un rapport raisonnable entre celui-ci et les intérêts publics ou privés compromis (principe de la proportionnalité au sens étroit, impliquant une pesée des intérêts; <ref-ruling> consid. 5.2.2 p. 104 et les arrêts cités).
Cette exigence est concrétisée par l'<ref-law>, qui prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention si ces mesures permettent d'atteindre le même but que la détention. Selon l'<ref-law>, font notamment partie des mesures de substitution la saisie des documents d'identité (let. b), l'assignation à résidence ou l'interdiction de se rendre dans un certain lieu ou un certain immeuble (let. c), l'obligation de se présenter régulièrement à un service administratif (let. d), l'obligation d'avoir un travail régulier (let. e), l'obligation de se soumettre à un traitement médical ou à des contrôles (let. f), l'interdiction d'entretenir des relations avec certaines personnes (let. g).
3.2. En l'espèce, ainsi que l'a retenu l'instance précédente, les mesures de substitution proposées par le recourant paraissent insuffisantes. Il apparaît que l'obligation de se présenter à la police cantonale, la saisie de sa carte d'identité, l'assignation à résidence - horaires de travail exceptés -, l'obligation d'avoir un travail régulier, l'obligation de continuer son traitement médical, l'interdiction d'entretenir des relations avec toute personne touchée par la présente procédure ne sont pas de nature à empêcher une personne dans la situation du recourant de passer la frontière suisse. Ces mesures n'offrent aucune garantie particulière, faute de pouvoir exercer un contrôle efficace et sérieux quant à leur respect.
3.3. L'affirmation d'un risque de fuite dispense d'examiner s'il existe aussi un danger de réitération, au sens de l'art. 221 al. 1 let. c CPP.
4.
Le recourant se plaint implicitement d'une violation du principe de la célérité.
Sur ce point, il convient de rappeler que les autorités de poursuite ont l'obligation de mener à terme leurs procédures pénales sans retard injustifié (<ref-law>). En outre, lorsqu'un prévenu est placé en détention provisoire, la procédure doit être conduite en priorité (<ref-law>).
En l'occurrence, le rythme de l'enquête s'est fortement ralenti après les premières investigations. Le Tribunal cantonal a constaté, à juste titre, que hormis le rapport d'analyse du Service de la consommation et affaires vétérinaires du 24 juillet 2014 et le rapport de dénonciation de la police cantonale du 18 août 2014, aucun acte important d'instruction n'avait été exécuté depuis le 16 juin 2014, soit depuis six mois. Il a relevé un "fléchissement" de l'enquête durant l'été. A ce jour, le dernier acte du procureur en charge de la cause figurant au dossier remonte à trois mois: le 18 septembre 2014, dans sa demande de prolongation de détention provisoire, le procureur avait annoncé que la communication de fin d'enquête pourrait faire l'objet d'un prochain envoi au recourant afin que celui-ci puisse faire valoir ses éventuelles réquisitions de preuves complémentaires; il avait précisé qu'à "l'échéance du délai imparti, le prévenu serait entendu dans le cadre d'une audition finale, à l'issue de laquelle la mise en accusation devant le tribunal pourrait intervenir". Depuis lors, il ne figure au dossier transmis au Tribunal fédéral aucun acte du procureur, lequel a de surcroît renoncé à se déterminer devant la cour cantonale et devant le Tribunal fédéral. On ignore ainsi quand la clôture de l'instruction et la mise en accusation interviendront.
En définitive, l'enquête n'a pas progressé depuis six mois et le procureur ne donne aucune indication précise quant à la clôture de l'instruction et au renvoi en jugement. Dans ces conditions, il y a lieu de constater que le principe de la célérité est encore respecté jusqu'à l'échéance de la dernière prolongation de détention provisoire. Cependant, passé cette date, à défaut d'actes d'instruction complémentaires substantiels, la violation du principe de la célérité pourra être constatée et la question de la libération du prévenu pour ce motif se posera concrètement.
5.
Il s'ensuit que le recours doit être rejeté.
Dès lors que le recourant est dans le besoin et que ses conclusions ne paraissaient pas d'emblée vouées à l'échec, l'assistance judiciaire doit lui être accordée (<ref-law>). Le recourant requiert la désignation de Me Damien Hottelier en qualité d'avocat d'office. Il y a lieu de faire droit à cette requête et de fixer d'office les honoraires de l'avocat, qui seront supportés par la caisse du Tribunal fédéral (<ref-law>). Le recourant est en outre dispensé des frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est admise. Me Damien Hottelier est désigné comme avocat d'office du recourant et ses honoraires, supportés par la caisse du Tribunal fédéral, sont fixés à 1'500 francs.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué au mandataire du recourant, à l'Office régional du Ministère public du Valais central et au Tribunal cantonal du canton du Valais, Chambre pénale.
Lausanne, le 18 décembre 2014
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
La Greffière : Tornay Schaller